{"type":"api","title":"Retrieve providers","meta":{"id":"/apps/pubhub/media/crosswork-network-controller-7-1/f445c17e25a1120e8fbde4bd413083d0fd88b2b3/4ecd3a14-d0be-3ef0-ba5d-c3cd958217a7","info":{"title":"Crosswork Device Lifecycle Management (DLM) Inventory API","description":"Crosswork DLM Inventory APIs allow the user to perform CRUD operations on Crosswork Tags, Credentials, Providers and Nodes.","version":"1.0.0","contact":{"name":"Crosswork Team, Cisco","email":"support@cisco.com"},"license":{"name":"Cisco Software License Agreement","url":"https://www.cisco.com/public/sw-license-agreement.html"}},"security":[{"bearerAuth":[]}],"x-parser-conf":{"overview":{"markdownPath":"reference/INFRA/DLM/nodedbapi-overview.md"}},"swagger":"2.0","basePath":"/crosswork/inventory/v1","schemes":["http","https"],"securityDefinitions":{"bearerAuth":{"type":"apiKey","description":"bearer auth","name":"Authorization","in":"header"}}},"spec":{"summary":"Retrieve providers","description":"Retrieves a list of providers. This api returns KEY fields, host-name, providertype, lock state, liveness state, connectionprotocollist, ipaddress, port and deviceidformat. Various filters can be applied to retrieve specific sets of providers by specifying one or more fields to match. User can filter on combinations of supported fields. The exceptions and details of the filter structure are listed below. This api takes RobotProviderGetReq as input, in which the user can specify the limit(page size), next_from, filters (RobotProviderData) and sort_by (Not supported in this version, default sorting is done using uuid in ascending order).\n```\nOutput:\n RobotProviderDataGetResp\n - Contains one or more RobotProvideData, depending on client request\n - Topic field in RobotProviderDataGetResp is deprecated\n```\nDEPRECATED URL : post: /v1/dlm/invmgr/providers/get","operationId":"NodeDb_GetProviders","responses":{"200":{"description":"A successful response.","schema":{"type":"object","properties":{"return":{"type":"object","properties":{"code":{"type":"string","format":"int64","description":"Typically from an enum defined by the component."},"desc":{"type":"string","description":"Description of error. May not be filled for success error codes."}},"title":"Generic template for responses","$$ref":"#/definitions/robotapiRobotResponseInfo"},"data":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","title":"Internal key, mandatory field. Allocated internally on provider\ncreation. UUID is a generated value based on the name"},"name":{"type":"string","description":"User-defined key, mandatory field."},"type":{"type":"string","enum":["ROBOT_PROVIDER_NONE","ROBOT_PROVIDER_CFG_LOCAL","ROBOT_PROVIDER_CFG_GLOBAL","ROBOT_PROVIDER_INSTALL","ROBOT_PROVIDER_COMPUTE","ROBOT_PROVIDER_CFG_DIRECT","ROBOT_PROVIDER_INSTALL_DIRECT"],"default":"ROBOT_PROVIDER_NONE","title":"Provider types\nIf there is no provider for CFG_LOCAL, it drops down to configuring\ndirectly to the device","$$ref":"#/definitions/robotapiRobotProviderType"},"lock_state":{"type":"string","enum":["INVALID_STATE","UNLOCKED","LOCKED","ERRORED"],"default":"INVALID_STATE","description":"- ERRORED: Node is in error state. This would happen when LOCK\nowner does not renew or release the state within timeout","title":"Lock state for any entity","$$ref":"#/definitions/robotapiRobotEntityLockState"},"reachability_state":{"type":"string","enum":["CONN_STATE_INVALID","CONN_STATE_UNKNOWN","CONN_STATE_REACHABLE","CONN_STATE_UNREACHABLE","CONN_STATE_MAX","CONN_STATE_DEGRADED"],"default":"CONN_STATE_INVALID","title":"Derived reachability state for a device. Cannot be set by user","$$ref":"#/definitions/robotapiRobotEntityConnectivityState"},"connectivity_info":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Device connectivity type.","type":"string","enum":["ROBOT_MSVC_TRANS_NONE","ROBOT_MSVC_TRANS_TCP","ROBOT_MSVC_TRANS_UDP","ROBOT_MSVC_TRANS_HTTP","ROBOT_MSVC_TRANS_HTTPS","ROBOT_MSVC_TRANS_GRPC","ROBOT_MSVC_TRANS_SSH","ROBOT_MSVC_TRANS_NETCONF","ROBOT_MSVC_TRANS_TELNET","ROBOT_MSVC_TRANS_SNMP","ROBOT_MSVC_TRANS_TL1","ROBOT_MSVC_TRANS_TL1_SECURE","ROBOT_MSVC_TRANS_ICMP","ROBOT_MSVC_TRANS_KAFKA","ROBOT_MSVC_TRANS_NATS","ROBOT_MSVC_TRANS_GNMI","ROBOT_MSVC_TRANS_GNMI_SECURE"],"default":"ROBOT_MSVC_TRANS_NONE","title":"Transport types for robot micro-services","$$ref":"#/definitions/robotapiRobotTransportType"},"ipaddrs":{"type":"array","items":{"type":"object","properties":{"inet_af":{"type":"string","enum":["ROBOT_INET_ADDR_TYPE_NONE","ROBOT_INET_ADDR_TYPE_v4","ROBOT_INET_ADDR_TYPE_v6"],"default":"ROBOT_INET_ADDR_TYPE_NONE","title":"Robot Inet Address Family","$$ref":"#/definitions/robotapiRobotInetAddressFamily"},"inet_addr":{"type":"string"},"mask":{"type":"string"},"gateway":{"type":"string"}},"title":"Inet address","$$ref":"#/definitions/robotapiRobotInetAddr"},"title":"V4/V6 ip address for this connectivity type"},"port":{"type":"integer","format":"int64","title":"Port for this connectivity type"},"timeout":{"type":"string","format":"uint64","title":"Timeout for this connectivity type"},"reachability_state":{"title":"Reachability Status for Transport Connection","type":"string","enum":["CONN_STATE_INVALID","CONN_STATE_UNKNOWN","CONN_STATE_REACHABLE","CONN_STATE_UNREACHABLE","CONN_STATE_MAX","CONN_STATE_DEGRADED"],"default":"CONN_STATE_INVALID","$$ref":"#/definitions/robotapiRobotEntityConnectivityState"},"reachability_state_upd_time":{"type":"string","format":"int64","description":"Reachability timestamp. Time when the reach state was updated.\nUnix epoch time in seconds."},"error":{"type":"string"},"encoding_type":{"type":"string","enum":["UNKNOWN_ENCODING_TYPE","ASCII","BYTES","PROTO","JSON","JSON_IETF","XML","YANG"],"default":"UNKNOWN_ENCODING_TYPE","$$ref":"#/definitions/robotapiEncodingType"},"single_session":{"type":"boolean"},"primary_proxy":{"type":"string"},"secondary_proxy":{"type":"string"},"retries":{"type":"integer","format":"int64","title":"Deleted as it was a mistak\nstring snmpv3_engine_id = 12;"},"fqdn":{"title":"Fully qualified domain of the entity","type":"object","properties":{"host_name":{"type":"string","title":"host name"},"domain_name":{"type":"string","title":"Domain name"}},"$$ref":"#/definitions/robotapiFQDN"},"disable_trap_community_check":{"type":"boolean","title":"Flag for disabling community string validation for SNMPv2"},"ReachabilityErrorRetryCount":{"type":"integer","format":"int64","title":"Retry count for the connection type"}},"$$ref":"#/definitions/robotapiRobotTransport"},"description":"All supported transports allowed to connect to this provider."},"profile":{"type":"string","description":"Credential Profile applicable to this provider. Mandatory field."},"provider_device_key":{"type":"string","enum":["ROBOT_PROVDEVKEY_NONE","ROBOT_PROVDEVKEY_HOST_NAME","ROBOT_PROVDEVKEY_NODE_IP","ROBOT_PROVDEVKEY_INVENTORY_ID"],"default":"ROBOT_PROVDEVKEY_NONE","title":"Key types used for generating UUID for Provider","$$ref":"#/definitions/robotapiRobotProviderDeviceKey"},"last_upd_time":{"type":"string","format":"int64","description":"Last time this Provider Entry was Updated in DB.\nUnix time in seconds."},"last_reach_time":{"type":"string","format":"int64","description":"Last time this provider was determined to be reachable.\nUnix time in seconds."},"supported_models":{"type":"array","items":{"type":"object","properties":{"model_prefix":{"type":"string","title":"Yang model prefix e.g. Cisco-IOS-XR, Cisco-NX-OS, Cisco-IOS-XE"},"model_version":{"type":"string","title":"Yang model version"}},"$$ref":"#/definitions/robotapiSupportedModels"},"title":"provider models"},"family":{"description":"Provider Family. Not supoorted YET.","type":"string","enum":["ROBOT_PROVIDER_UNKNOWN","ROBOT_PROVIDER_EPNM","ROBOT_PROVIDER_NSO","ROBOT_PROVIDER_WAE","ROBOT_PROVIDER_CSM","ROBOT_PROVIDER_XTC","ROBOT_PROVIDER_SYSLOG_STORAGE","ROBOT_PROVIDER_SR_PCE","ROBOT_PROVIDER_ALERT","ROBOT_PROVIDER_DESTINATION","ROBOT_PROVIDER_OPTIMA","ROBOT_PROVIDER_PROXY","ROBOT_PROVIDER_ONC","ROBOT_PROVIDER_ACCEDIAN_PROXY"],"default":"ROBOT_PROVIDER_UNKNOWN","title":"Provider Family types","$$ref":"#/definitions/robotapiRobotProviderFamily"},"properties":{"type":"object","additionalProperties":{"type":"string"},"title":"map to configure provider specific properties as key, value pairs"},"cfs":{"type":"boolean","title":"Is CFS node"},"certificate_name":{"type":"string","title":"provider ceretificate name"},"sitelocation":{"type":"string","title":"active NSO site location, discovered/read-only parameter applicable only in geo deployments"}},"$$ref":"#/definitions/robotapiRobotProviderData"}},"total_count":{"type":"integer","format":"int32","title":"Number of total providers available at present"},"result_count":{"type":"integer","format":"int32"},"topic":{"type":"string"}},"example":{"data":[{"uuid":"d69c758c-35b8-4ed3-a4f5-e1b5c81dc559","name":"nso","reachability_state":"CONN_STATE_REACHABLE","connectivity_info":[{"type":"ROBOT_MSVC_TRANS_HTTPS","ipaddrs":[{"inet_af":"ROBOT_INET_ADDR_TYPE_v4","inet_addr":"10.104.127.58","mask":"32"}],"port":8888,"timeout":"30","reachability_state":"CONN_STATE_REACHABLE"}],"profile":"nso","last_upd_time":"1733909059","supported_models":[{"model_prefix":"Cisco-IOS-XR","model_version":"7.46"}],"family":"ROBOT_PROVIDER_NSO"}],"total_count":1,"result_count":1},"$$ref":"#/definitions/robotapiRobotProviderDataGetResp"}},"default":{"description":"An unexpected error response.","schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"type_url":{"type":"string"},"value":{"type":"string","format":"byte"}},"$$ref":"#/definitions/protobufAny"}}},"example":{"error":"string","code":0,"message":"string","details":[{"type_url":"string","value":"string"}]},"$$ref":"#/definitions/runtimeError"}}},"parameters":[{"name":"body","in":"body","description":"Retrieves a list of providers request","required":true,"schema":{"type":"object","properties":{"limit":{"type":"integer","format":"int64","description":"Number of providers requested in the response."},"sort_by_field":{"type":"string","description":"The field name in RobotProviderData to use for sorting. If this field\nis omitted, data is sorted by default on name."},"last_key":{"type":"string","description":"Ask for data beyond last_key per the sorted order."},"filter":{"type":"object","properties":{"uuid":{"type":"string","title":"Internal key, mandatory field. Allocated internally on provider\ncreation. UUID is a generated value based on the name"},"name":{"type":"string","description":"User-defined key, mandatory field."},"type":{"type":"string","enum":["ROBOT_PROVIDER_NONE","ROBOT_PROVIDER_CFG_LOCAL","ROBOT_PROVIDER_CFG_GLOBAL","ROBOT_PROVIDER_INSTALL","ROBOT_PROVIDER_COMPUTE","ROBOT_PROVIDER_CFG_DIRECT","ROBOT_PROVIDER_INSTALL_DIRECT"],"default":"ROBOT_PROVIDER_NONE","title":"Provider types\nIf there is no provider for CFG_LOCAL, it drops down to configuring\ndirectly to the device","$$ref":"#/definitions/robotapiRobotProviderType"},"lock_state":{"type":"string","enum":["INVALID_STATE","UNLOCKED","LOCKED","ERRORED"],"default":"INVALID_STATE","description":"- ERRORED: Node is in error state. This would happen when LOCK\nowner does not renew or release the state within timeout","title":"Lock state for any entity","$$ref":"#/definitions/robotapiRobotEntityLockState"},"reachability_state":{"type":"string","enum":["CONN_STATE_INVALID","CONN_STATE_UNKNOWN","CONN_STATE_REACHABLE","CONN_STATE_UNREACHABLE","CONN_STATE_MAX","CONN_STATE_DEGRADED"],"default":"CONN_STATE_INVALID","title":"Derived reachability state for a device. Cannot be set by user","$$ref":"#/definitions/robotapiRobotEntityConnectivityState"},"connectivity_info":{"type":"array","items":{"type":"object","properties":{"type":{"description":"Device connectivity type.","type":"string","enum":["ROBOT_MSVC_TRANS_NONE","ROBOT_MSVC_TRANS_TCP","ROBOT_MSVC_TRANS_UDP","ROBOT_MSVC_TRANS_HTTP","ROBOT_MSVC_TRANS_HTTPS","ROBOT_MSVC_TRANS_GRPC","ROBOT_MSVC_TRANS_SSH","ROBOT_MSVC_TRANS_NETCONF","ROBOT_MSVC_TRANS_TELNET","ROBOT_MSVC_TRANS_SNMP","ROBOT_MSVC_TRANS_TL1","ROBOT_MSVC_TRANS_TL1_SECURE","ROBOT_MSVC_TRANS_ICMP","ROBOT_MSVC_TRANS_KAFKA","ROBOT_MSVC_TRANS_NATS","ROBOT_MSVC_TRANS_GNMI","ROBOT_MSVC_TRANS_GNMI_SECURE"],"default":"ROBOT_MSVC_TRANS_NONE","title":"Transport types for robot micro-services","$$ref":"#/definitions/robotapiRobotTransportType"},"ipaddrs":{"type":"array","items":{"type":"object","properties":{"inet_af":{"type":"string","enum":["ROBOT_INET_ADDR_TYPE_NONE","ROBOT_INET_ADDR_TYPE_v4","ROBOT_INET_ADDR_TYPE_v6"],"default":"ROBOT_INET_ADDR_TYPE_NONE","title":"Robot Inet Address Family","$$ref":"#/definitions/robotapiRobotInetAddressFamily"},"inet_addr":{"type":"string"},"mask":{"type":"string"},"gateway":{"type":"string"}},"title":"Inet address","$$ref":"#/definitions/robotapiRobotInetAddr"},"title":"V4/V6 ip address for this connectivity type"},"port":{"type":"integer","format":"int64","title":"Port for this connectivity type"},"timeout":{"type":"string","format":"uint64","title":"Timeout for this connectivity type"},"reachability_state":{"title":"Reachability Status for Transport Connection","type":"string","enum":["CONN_STATE_INVALID","CONN_STATE_UNKNOWN","CONN_STATE_REACHABLE","CONN_STATE_UNREACHABLE","CONN_STATE_MAX","CONN_STATE_DEGRADED"],"default":"CONN_STATE_INVALID","$$ref":"#/definitions/robotapiRobotEntityConnectivityState"},"reachability_state_upd_time":{"type":"string","format":"int64","description":"Reachability timestamp. Time when the reach state was updated.\nUnix epoch time in seconds."},"error":{"type":"string"},"encoding_type":{"type":"string","enum":["UNKNOWN_ENCODING_TYPE","ASCII","BYTES","PROTO","JSON","JSON_IETF","XML","YANG"],"default":"UNKNOWN_ENCODING_TYPE","$$ref":"#/definitions/robotapiEncodingType"},"single_session":{"type":"boolean"},"primary_proxy":{"type":"string"},"secondary_proxy":{"type":"string"},"retries":{"type":"integer","format":"int64","title":"Deleted as it was a mistak\nstring snmpv3_engine_id = 12;"},"fqdn":{"title":"Fully qualified domain of the entity","type":"object","properties":{"host_name":{"type":"string","title":"host name"},"domain_name":{"type":"string","title":"Domain name"}},"$$ref":"#/definitions/robotapiFQDN"},"disable_trap_community_check":{"type":"boolean","title":"Flag for disabling community string validation for SNMPv2"},"ReachabilityErrorRetryCount":{"type":"integer","format":"int64","title":"Retry count for the connection type"}},"$$ref":"#/definitions/robotapiRobotTransport"},"description":"All supported transports allowed to connect to this provider."},"profile":{"type":"string","description":"Credential Profile applicable to this provider. Mandatory field."},"provider_device_key":{"type":"string","enum":["ROBOT_PROVDEVKEY_NONE","ROBOT_PROVDEVKEY_HOST_NAME","ROBOT_PROVDEVKEY_NODE_IP","ROBOT_PROVDEVKEY_INVENTORY_ID"],"default":"ROBOT_PROVDEVKEY_NONE","title":"Key types used for generating UUID for Provider","$$ref":"#/definitions/robotapiRobotProviderDeviceKey"},"last_upd_time":{"type":"string","format":"int64","description":"Last time this Provider Entry was Updated in DB.\nUnix time in seconds."},"last_reach_time":{"type":"string","format":"int64","description":"Last time this provider was determined to be reachable.\nUnix time in seconds."},"supported_models":{"type":"array","items":{"type":"object","properties":{"model_prefix":{"type":"string","title":"Yang model prefix e.g. Cisco-IOS-XR, Cisco-NX-OS, Cisco-IOS-XE"},"model_version":{"type":"string","title":"Yang model version"}},"$$ref":"#/definitions/robotapiSupportedModels"},"title":"provider models"},"family":{"description":"Provider Family. Not supoorted YET.","type":"string","enum":["ROBOT_PROVIDER_UNKNOWN","ROBOT_PROVIDER_EPNM","ROBOT_PROVIDER_NSO","ROBOT_PROVIDER_WAE","ROBOT_PROVIDER_CSM","ROBOT_PROVIDER_XTC","ROBOT_PROVIDER_SYSLOG_STORAGE","ROBOT_PROVIDER_SR_PCE","ROBOT_PROVIDER_ALERT","ROBOT_PROVIDER_DESTINATION","ROBOT_PROVIDER_OPTIMA","ROBOT_PROVIDER_PROXY","ROBOT_PROVIDER_ONC","ROBOT_PROVIDER_ACCEDIAN_PROXY"],"default":"ROBOT_PROVIDER_UNKNOWN","title":"Provider Family types","$$ref":"#/definitions/robotapiRobotProviderFamily"},"properties":{"type":"object","additionalProperties":{"type":"string"},"title":"map to configure provider specific properties as key, value pairs"},"cfs":{"type":"boolean","title":"Is CFS node"},"certificate_name":{"type":"string","title":"provider ceretificate name"},"sitelocation":{"type":"string","title":"active NSO site location, discovered/read-only parameter applicable only in geo deployments"}},"$$ref":"#/definitions/robotapiRobotProviderData","description":"Filter for the request. uuid, type, name, lock_state,\nreachability_state are supported. Combination of filters are also\nsupported."},"filterData":{"type":"object","properties":{"SortBy":{"type":"string"},"PageSize":{"type":"integer","format":"int64"},"PageNum":{"type":"integer","format":"int64"},"Descending":{"type":"boolean"},"MatchCase":{"type":"boolean"},"Criteria":{"type":"string"}},"$$ref":"#/definitions/robotapiRobotFilterData"}},"$$ref":"#/definitions/robotapiRobotProviderGetReq"}}],"tags":["NodeDb"],"__originalOperationId":"NodeDb_GetProviders","consumes":["application/json"],"produces":["application/json"],"security":[{"bearerAuth":[]}],"method":"post","path":"/providers/query"}}