{"type":"api","title":"Create Collection Job","meta":{"id":"/apps/pubhub/media/crosswork-network-controller-7-1/f445c17e25a1120e8fbde4bd413083d0fd88b2b3/b44e8ba1-6566-34bf-b4f1-d28c15d76254","info":{"title":"Crosswork Collection Service APIs","description":"Crosswork Collector Services APIs manage application intents for collection jobs across multiple devices and different collection types, including SNMP, CLI, TRAP, MDT, GNMI, and SYSLOG.","version":"1.0.0","contact":{"name":"Crosswork Team, Cisco","email":"support@cisco.com"},"license":{"name":"Cisco Software License Agreement","url":"http://www.cisco.com/public/sw-license-agreement.html"}},"x-parser-conf":{"overview":{"markdownPath":"reference/INFRA/COLLECTIONS/collection-service-overview.md"}},"swagger":"2.0","basePath":"/crosswork/collection/v1","schemes":["https","http"],"securityDefinitions":{"bearerAuth":{"type":"apiKey","description":"bearer auth","name":"Authorization","in":"header"}}},"spec":{"summary":"Create Collection Job","description":"Use the CreateCollectionJob API to a create a collection job for a set of devices. \nAn application sends a request for a list of sensor paths, where the path can be identified by a YANG model (that is, it could be a native YANG path for the device, such as “Cisco-IOS-XR-infra-statsd-oper:infra-statistics/interfaces/interface/latest/data-rate\\”, where the path identifies the device OS type and the YANG model on the device) or by an SNMP YANG path (such as \"SNMPv2-MIB:SNMPv2-MIB/system/sysName\" or “nOID:1.2.3.4”) or by a CLI command (such as \"show clock)\" or by a Trap YANG path (such as \"snmp-trap-raw-oper:traps/data\") or a Syslog path, or a nGNMI path, in addition to cadence for push or poll.\nThe cadence you specify in this request can be overwritten by another application and is open to optimization, if other applications also request the same path. \nCreateCollectionJob configures a set of sensor paths within the Collection Service, based on the application context, on a list of devices or on a single device group. \nThe ApplicationContext is expected to be globally unique. You can associate a given ApplicationContext with only one CollectType at a time. \nRecreating the ApplicationContext during the NOT_READY state, or during the TERMINATING or TERMINATION_FAILED phases, will result in failure. \nThe Collection Service tries its best meet the lowest common denominator for cadence on a requested path across all services. \nA collection job's CollectType and device set cannot be changed once the system accepts the request. \nSuccessive Create calls will result in updates to the devices unless you perform a DeleteCollectionJob first. \nYou are responsible for specifying the proper paths associated with the CollectType you specify. \nThe DeviceId is the UUID of the device as specified in the Crosswork Device Lifecycle Manager (DLM). \nThe DeviceGroup is the device tag(s) specified in DLM.","operationId":"CollectionService_CreateCollectionJob","responses":{"200":{"description":"OK. The request was successful. The result is contained in the response body","schema":{"type":"object","properties":{"result":{"description":"CollectionJobStatus represents the current status of the job.","type":"object","properties":{"request_result":{"description":"The result values indicates whether the request was accepted or rejected, not the outcome of the work itself.","type":"string","enum":["UNKNOWN_RESULT","REJECTED","ACCEPTED"],"default":"UNKNOWN_RESULT","$$ref":"#/definitions/collection_serviceRequestResult"},"error":{"description":"A text message describing the reason for rejection. It can be safely passed on to the operator through logs or the UI.","type":"object","properties":{"error":{"type":"string","description":"Message is a textual description of the reason for rejection. You can safely pass it on to the operator through logs or the UI."}},"title":"Error associated with an object","$$ref":"#/definitions/collection_serviceError"}},"$$ref":"#/definitions/collection_serviceResult"}},"example":{"result":{"request_result":"ACCEPTED","error":{"error":""}}},"$$ref":"#/definitions/collection_serviceCreateCollectionJobResponse"}},"default":{"description":"An unexpected error response.","schema":{"type":"object","properties":{"result":{"description":"CollectionJobStatus represents the current status of the job.","type":"object","properties":{"request_result":{"description":"The result values indicates whether the request was accepted or rejected, not the outcome of the work itself.","type":"string","enum":["UNKNOWN_RESULT","REJECTED","ACCEPTED"],"default":"UNKNOWN_RESULT","$$ref":"#/definitions/collection_serviceRequestResult"},"error":{"description":"A text message describing the reason for rejection. It can be safely passed on to the operator through logs or the UI.","type":"object","properties":{"error":{"type":"string","description":"Message is a textual description of the reason for rejection. You can safely pass it on to the operator through logs or the UI."}},"title":"Error associated with an object","$$ref":"#/definitions/collection_serviceError"}},"$$ref":"#/definitions/collection_serviceResult"}},"example":{"result":{"request_result":"REJECTED","error":{"error":"destination id 3c03423e-8295-4955-b3b0-45828150cb0d not found in inventory or invalid"}}},"$$ref":"#/definitions/createcollectionErrorResponse"}}},"parameters":[{"name":"body","in":"body","description":"Create Collection Job Request.","required":true,"schema":{"type":"object","properties":{"collection_job":{"title":"CollectionJobConfiguration, describing the collection job with the ApplicationContext as key","type":"object","properties":{"application_context":{"description":"The application_context is a handle that uniquely identifies your application's collection job. It serves as the key to the object on which CRUD operations are performed.\nThe combination of application_id and context_id should be unique globally.","type":"object","properties":{"application_id":{"type":"string","description":"The application_id is a unique ID that identifies your application. Crosswork applications always prefix the application_id with “cw“."},"context_id":{"type":"string","description":"The context_id is a unique ID that identifies your application subscription across all collection jobs. We recommend that you use the device UUID for the context_id."}},"$$ref":"#/definitions/collection_serviceApplicationContext"},"collection_mode":{"description":"The style of collection: persistent or non-persistent.\nNote that Recurrent and Transient jobs are not applicable to any collection that involves a device configuration change.","type":"object","properties":{"lifetime_type":{"title":"The lifetime of the job","type":"string","enum":["UNKNOWN_TEMPORAL_TYPE","APPLICATION_MANAGED","CALENDAR_MANAGED","AUTO_DELETE_AFTER_N_SAMPLES","APPLICATION_MANAGED_WITH_AUTO_DELETE_ON_DEVICE_DELETE"],"default":"UNKNOWN_TEMPORAL_TYPE","description":"- UNKNOWN_TEMPORAL_TYPE: Invalid Lifetime\n - APPLICATION_MANAGED: The application manages the creation and deletion of the collection job.\n - CALENDAR_MANAGED: A calendaring service tied to a calendar schedule manages the creation and deletion of the collection job.\nThis JobLifetimeType is currently not supported.\n - AUTO_DELETE_AFTER_N_SAMPLES: The collection job is automatically deleted after N collections.\n - APPLICATION_MANAGED_WITH_AUTO_DELETE_ON_DEVICE_DELETE: The application manages the creation and deletion of the collection job, but the job is deleted and cleaned up automatically if the associated device is deleted.","$$ref":"#/definitions/collection_serviceJobLifetimeType"},"collector_type":{"title":"Collection Type","type":"string","enum":["UNKNOWN_COLLECTOR","MDT_COLLECTOR","SNMP_COLLECTOR","CLI_COLLECTOR","TRAP_COLLECTOR","GNMI_COLLECTOR","SYSLOG_COLLECTOR"],"default":"UNKNOWN_COLLECTOR","$$ref":"#/definitions/common_collection_dataCollectionType"},"schedule_id":{"type":"string","description":"Calendar-ID: Calendar schedule to follow for CALENDAR_DRIVEN jobs. Currently NOT supported."},"n_collections":{"type":"integer","format":"int64","description":"The number of collections to run before auto-deletion.\nUsed only when lifetime_type is AUTO_DELETE_AFTER_N_SAMPLES.\nThe number of collections represents the cadence cycle of each collection, irrespective of the outcome (SUCCESS, FAILED).\nSupported only for collections where the collector intiates the connection to the device (that is, SNMP or CLI)."},"track_collect_n_job":{"type":"boolean","description":"Job response tracking flag, sets the tracking option to true or false. The default is false.\nThis flag is relevant only to transient collection jobs."}},"$$ref":"#/definitions/collection_serviceCollectionMode"},"job_device_set":{"title":"Job DeviceSet is a list of devices or device group","type":"object","properties":{"device_set":{"type":"object","properties":{"devices":{"description":"Devices or Routers identified as UUID's in Inventory in Crosswork.","type":"object","properties":{"device_ids":{"type":"array","items":{"type":"string"},"description":"Array of device_ids, refers to the UUIDs in Crosswork Inventory."}},"$$ref":"#/definitions/collection_serviceDevices"},"device_group":{"type":"string","title":"Device group id identified by device ‘tags’ in Crosswork.\nThe value needs to match exactly with how it's stored in Inventory's tags list"}},"description":"Device Grouping Object. For a given request, you must set either a list of devices or a device group, but not both.\nThe \"OneOf\" construct is enforced at runtime.","$$ref":"#/definitions/collection_serviceDeviceSet"}},"$$ref":"#/definitions/collection_serviceJobDeviceSet"},"sensor_input_configs":{"type":"array","items":{"type":"object","properties":{"sensor_data":{"title":"Path representing the sensor","type":"object","properties":{"snmp_sensor":{"type":"object","properties":{"snmp_mib":{"title":"Snmp mib","type":"object","properties":{"snmp_operation":{"title":"SNMP operation type","type":"string","enum":["UNKNOWN_SNMP_OPERATION","WALK","SCALAR","TABLE","COLUMN"],"default":"UNKNOWN_SNMP_OPERATION","$$ref":"#/definitions/common_collection_dataSnmpOperation"},"oids":{"type":"array","items":{"type":"string"},"description":"Input sensor path:\n - SCALAR/COLUMN: single oid or a list of oids\n - NON-SCALAR (TABLE/WALK): - single oid only."}},"$$ref":"#/definitions/common_collection_dataSnmpMib"},"device_package":{"title":"Total size is limited to 512 characters","type":"object","properties":{"device_package_name":{"type":"string","title":"XDE device package name"},"function_name":{"type":"string","title":"XDE function name within package"},"parameters":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"bytes_value":{"type":"string","format":"byte"},"string_value":{"type":"string"},"bool_value":{"type":"boolean"},"uint32_value":{"type":"integer","format":"int64"},"uint64_value":{"type":"string","format":"uint64"},"sint32_value":{"type":"integer","format":"int32"},"sint64_value":{"type":"string","format":"int64"},"double_value":{"type":"number","format":"double"},"float_value":{"type":"number","format":"float"},"null_value":{"type":"boolean"},"list_value":{"type":"object","properties":{"value":{"type":"array","items":{"type":"object","properties":{"bytes_value":{"type":"string","format":"byte"},"string_value":{"type":"string"},"bool_value":{"type":"boolean"},"uint32_value":{"type":"integer","format":"int64"},"uint64_value":{"type":"string","format":"uint64"},"sint32_value":{"type":"integer","format":"int32"},"sint64_value":{"type":"string","format":"int64"},"double_value":{"type":"number","format":"double"},"float_value":{"type":"number","format":"float"},"null_value":{"type":"boolean"}},"$$ref":"#/definitions/common_collection_dataValue"},"title":"list items must be of same type"}},"$$ref":"#/definitions/common_collection_datalist"}},"title":"Generic Key value message","$$ref":"#/definitions/common_collection_dataKeyValue"},"title":"Parameters for custom device packages"}},"$$ref":"#/definitions/common_collection_dataDevicePackage"}},"$$ref":"#/definitions/common_collection_dataSnmpSensor"},"snmp_yang_sensor":{"type":"object","properties":{"path":{"type":"string","title":"Example SNMPv2-MIB:SNMPv2-MIB/system"}},"$$ref":"#/definitions/common_collection_dataSnmpYangSensor"},"cli_yang_sensor":{"type":"object","properties":{"path":{"type":"string","title":"Example cli_xr_show_logging:syslog"}},"$$ref":"#/definitions/common_collection_dataCliYangSensor"},"cli_sensor":{"type":"object","properties":{"command":{"type":"string","title":"Example show clock"},"device_package":{"title":"Total size is limited to 512 characters","type":"object","properties":{"device_package_name":{"type":"string","title":"XDE device package name"},"function_name":{"type":"string","title":"XDE function name within package"},"parameters":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"bytes_value":{"type":"string","format":"byte"},"string_value":{"type":"string"},"bool_value":{"type":"boolean"},"uint32_value":{"type":"integer","format":"int64"},"uint64_value":{"type":"string","format":"uint64"},"sint32_value":{"type":"integer","format":"int32"},"sint64_value":{"type":"string","format":"int64"},"double_value":{"type":"number","format":"double"},"float_value":{"type":"number","format":"float"},"null_value":{"type":"boolean"},"list_value":{"type":"object","properties":{"value":{"type":"array","items":{"type":"object","properties":{"bytes_value":{"type":"string","format":"byte"},"string_value":{"type":"string"},"bool_value":{"type":"boolean"},"uint32_value":{"type":"integer","format":"int64"},"uint64_value":{"type":"string","format":"uint64"},"sint32_value":{"type":"integer","format":"int32"},"sint64_value":{"type":"string","format":"int64"},"double_value":{"type":"number","format":"double"},"float_value":{"type":"number","format":"float"},"null_value":{"type":"boolean"}},"$$ref":"#/definitions/common_collection_dataValue"},"title":"list items must be of same type"}},"$$ref":"#/definitions/common_collection_datalist"}},"title":"Generic Key value message","$$ref":"#/definitions/common_collection_dataKeyValue"},"title":"Parameters for custom device packages"}},"$$ref":"#/definitions/common_collection_dataDevicePackage"}},"$$ref":"#/definitions/common_collection_dataCliSensor"},"mdt_sensor":{"type":"object","properties":{"path":{"type":"string","title":"Example Cisco-IOS-XR-infra-statsd-oper:infra-statistics/interfaces/interface/latest/generic-counters"}},"$$ref":"#/definitions/common_collection_dataMDTSensor"},"trap_sensor":{"type":"object","properties":{"path":{"type":"string","title":"Example snmp-trap-oper:traps/notifications"}},"$$ref":"#/definitions/common_collection_dataTrapSensor"},"trap_yang_sensor":{"type":"object","properties":{"path":{"type":"string","title":"Example ISIS-MIB:notifications,SNMPv2-MIB:notifications,IF-MIB:notifications"}},"$$ref":"#/definitions/common_collection_dataTrapYangSensor"},"gnmi_sensor":{"type":"object","properties":{"path":{"title":"Gnmi path\nExample {\"origin\":\"syslog-oper\",\"elem\":[{\"name\":\"syslog\"},{\"name\":\"messages\"}]}","type":"object","properties":{"element":{"type":"array","items":{"type":"string"},"description":"Elements of the path are no longer encoded as a string, but rather within\nthe elem field as a PathElem message."},"origin":{"type":"string"},"elem":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"object","additionalProperties":{"type":"string"}}},"description":"PathElem encodes an element of a gNMI path, along with any attributes (keys)\nthat may be associated with it.\nReference: gNMI Specification Section 2.2.2.","$$ref":"#/definitions/gnmiPathElem"}},"target":{"type":"string"}},"description":"Path encodes a data tree path as a series of repeated strings, with\neach element of the path representing a data tree node name and the\nassociated attributes.\nReference: gNMI Specification Section 2.2.2.","$$ref":"#/definitions/gnmiPath"},"mode":{"description":"Subscription mode to be used.","type":"string","enum":["TARGET_DEFINED","ON_CHANGE","SAMPLE"],"default":"TARGET_DEFINED","title":"SubscriptionMode is the mode of the subscription, specifying how the\ntarget must return values in a subscription.\nReference: gNMI Specification Section 3.5.1.3","$$ref":"#/definitions/gnmiSubscriptionMode"},"device_setting":{"title":"Optional GNMI Device setting","type":"object","properties":{"suppress_redundant":{"type":"boolean"},"heartbeat_interval":{"type":"string","format":"uint64","description":"Specifies the maximum allowable silent period in nanoseconds when\nsuppress_redundant is in use. The target should send a value at least once\nin the period specified."},"qos":{"type":"object","properties":{"marking":{"type":"integer","format":"int64"}},"title":"QOSMarking specifies the DSCP value to be set on transmitted telemetry\nupdates from the target.\nReference: gNMI Specification Section 3.5.1.2","$$ref":"#/definitions/gnmiQOSMarking"},"allow_aggregation":{"type":"boolean"},"use_models":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"organization":{"type":"string"},"version":{"type":"string"}},"title":"ModelData is used to describe a set of schema modules. It can be used in a\nCapabilityResponse where a target reports the set of modules that it\nsupports, and within the SubscribeRequest and GetRequest messages to specify\nthe set of models from which data tree elements should be reported.\nReference: gNMI Specification Section 3.2.3","$$ref":"#/definitions/gnmiModelData"},"description":"The set of schemas that define the elements of the data tree that should\nbe sent by the target."},"updates_only":{"type":"boolean","description":"An optional field to specify that only updates to current state should be\nsent to a client. If set, the initial state is not sent to the client but\nrather only the sync message followed by any subsequent updates to the\ncurrent state. For ONCE and POLL modes, this causes the server to send only\nthe sync message (Sec. 3.5.2.3)."}},"$$ref":"#/definitions/common_collection_dataGNMIDeviceSetting"}},"description":"Reference: gNMI Specification Section 3.5.1.3\nOptimization based on collect once will be carried out per path basis\nNOTE: if multiple GnmiSensor's are part of a single collection job or\nspread across multiple jobs then it may be more efficient to condense\nall GnmiSensor's into a smaller set of GnmiStandardSensor's for device\nefficiency reasons. Please see comments on GnmiStandardSensor for more\ndetails.","$$ref":"#/definitions/common_collection_dataGnmiSensor"},"syslog_sensor":{"type":"object","properties":{"pris":{"title":"List of priority levels","type":"object","properties":{"facilities":{"type":"array","items":{"type":"integer","format":"int32"},"title":"Syslog Facility , valid numbers 0 to 23"},"severities":{"type":"array","items":{"type":"integer","format":"int32"},"title":"Syslog Severity , valid numbers 0 to 7"}},"$$ref":"#/definitions/SyslogSensorPRIs"},"filters":{"description":"Filters - one (or combination max=3) of the filter based on Regex, severity, facility or/and PRI\nEither PRIs can be specified or Filters can be specified not both.","type":"object","properties":{"filter":{"type":"array","items":{"type":"object","properties":{"syslog_filter":{"type":"object","properties":{"severity_facility":{"type":"object","properties":{"severity":{"type":"object","properties":{"value":{"type":"integer","format":"int64","title":"value to which operator is applied"},"op":{"type":"string","enum":["UNKNOWN","GREATER_THAN","LESSER_THAN","EQUALS","NOT_EQUALS","GREATER_OR_EQUALS","LESSER_OR_EQUALS"],"default":"UNKNOWN","$$ref":"#/definitions/NumericalFilterOPERATOR"}},"title":"Definition of Numerical Value Filter","$$ref":"#/definitions/common_collection_dataNumericalFilter"},"facility":{"type":"object","properties":{"value":{"type":"integer","format":"int64","title":"value to which operator is applied"},"op":{"type":"string","enum":["UNKNOWN","GREATER_THAN","LESSER_THAN","EQUALS","NOT_EQUALS","GREATER_OR_EQUALS","LESSER_OR_EQUALS"],"default":"UNKNOWN","$$ref":"#/definitions/NumericalFilterOPERATOR"}},"title":"Definition of Numerical Value Filter","$$ref":"#/definitions/common_collection_dataNumericalFilter"}},"title":"Filter messages based on Severity value or Facility value or Both","$$ref":"#/definitions/SyslogFilterSeverityFacilityFilter"},"pri_filter":{"type":"object","properties":{"value":{"type":"object","properties":{"value":{"type":"integer","format":"int64","title":"value to which operator is applied"},"op":{"type":"string","enum":["UNKNOWN","GREATER_THAN","LESSER_THAN","EQUALS","NOT_EQUALS","GREATER_OR_EQUALS","LESSER_OR_EQUALS"],"default":"UNKNOWN","$$ref":"#/definitions/NumericalFilterOPERATOR"}},"title":"Definition of Numerical Value Filter","$$ref":"#/definitions/common_collection_dataNumericalFilter"}},"title":"Filter messages based on PRI value","$$ref":"#/definitions/SyslogFilterPRIFilter"},"regex_filter":{"type":"object","properties":{"pattern":{"type":"string","title":"regex pattern"}},"title":"RegEx Filter","$$ref":"#/definitions/common_collection_dataRegexFilter"}},"title":"Used when the collection type is SYSLOG to filter messages sent to destination","$$ref":"#/definitions/common_collection_dataSyslogFilter"}},"title":"Filter config to be applied","$$ref":"#/definitions/common_collection_dataFilter"}},"operator":{"type":"string","enum":["UNKNOWN","AND","OR"],"default":"UNKNOWN","$$ref":"#/definitions/FiltersLOGICAL_OP"}},"$$ref":"#/definitions/common_collection_dataFilters"}},"title":"Refer https://www.paessler.com/it-explained/syslog,https://datatracker.ietf.org/doc/rfc5424/\nExample if PRI is (165,111) , application_name is (su,syslogd) all messages with PRI (165 or 111) and application\nname su or syslogd would be collected","$$ref":"#/definitions/common_collection_dataSyslogSensor"},"tl1_sensor":{"title":"Both Tl1Sensor and Tl1EventSensor must use w/ CLI_COLLECTOR type","type":"object","properties":{"command":{"type":"string","title":"Example RTRV-ATTR-ENV"},"device_package":{"title":"Total size is limited to 512 characters\nExample\n\t\t\"device_package_name\": \"optical_inventory_tl1_active_logins\",\n\t\t\"function_name\": \"rtrv-active-logins\"","type":"object","properties":{"device_package_name":{"type":"string","title":"XDE device package name"},"function_name":{"type":"string","title":"XDE function name within package"},"parameters":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"bytes_value":{"type":"string","format":"byte"},"string_value":{"type":"string"},"bool_value":{"type":"boolean"},"uint32_value":{"type":"integer","format":"int64"},"uint64_value":{"type":"string","format":"uint64"},"sint32_value":{"type":"integer","format":"int32"},"sint64_value":{"type":"string","format":"int64"},"double_value":{"type":"number","format":"double"},"float_value":{"type":"number","format":"float"},"null_value":{"type":"boolean"},"list_value":{"type":"object","properties":{"value":{"type":"array","items":{"type":"object","properties":{"bytes_value":{"type":"string","format":"byte"},"string_value":{"type":"string"},"bool_value":{"type":"boolean"},"uint32_value":{"type":"integer","format":"int64"},"uint64_value":{"type":"string","format":"uint64"},"sint32_value":{"type":"integer","format":"int32"},"sint64_value":{"type":"string","format":"int64"},"double_value":{"type":"number","format":"double"},"float_value":{"type":"number","format":"float"},"null_value":{"type":"boolean"}},"$$ref":"#/definitions/common_collection_dataValue"},"title":"list items must be of same type"}},"$$ref":"#/definitions/common_collection_datalist"}},"title":"Generic Key value message","$$ref":"#/definitions/common_collection_dataKeyValue"},"title":"Parameters for custom device packages"}},"$$ref":"#/definitions/common_collection_dataDevicePackage"}},"$$ref":"#/definitions/common_collection_dataTl1Sensor"},"tl1_event_sensor":{"type":"object","title":"Tl1EventSensor - Eventing sensor\nCadence needs to zero","$$ref":"#/definitions/common_collection_dataTl1EventSensor"},"grpc_sensor":{"title":"Both GRPCSensor and GnmiStandardSensor must be used w/GNMI_COLLECTOR type","type":"object","properties":{"action_json":{"type":"object","properties":{"req_args":{"title":"service gRPCExec {\n // Exec command\n rpc ActionJSON(ActionJSONArgs) returns(stream ActionJSONReply) {};\n}","type":"object","properties":{"ReqId":{"type":"string","format":"int64"},"yangpathjson":{"type":"string"}},"$$ref":"#/definitions/IOSXRExtensibleManagabilityServiceActionJSONArgs"}},"$$ref":"#/definitions/common_collection_datagRPCExecActionJson"}},"$$ref":"#/definitions/common_collection_dataGRPCSensor"},"gnmi_standard_sensor":{"type":"object","properties":{"Subscribe_request":{"title":"Gnmi SubscriptionList\nExample {\"origin\":\"syslog-oper\",\"elem\":[{\"name\":\"syslog\"},{\"name\":\"messages\"}]}","type":"object","properties":{"subscribe":{"type":"object","properties":{"prefix":{"type":"object","properties":{"element":{"type":"array","items":{"type":"string"},"description":"Elements of the path are no longer encoded as a string, but rather within\nthe elem field as a PathElem message."},"origin":{"type":"string"},"elem":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"object","additionalProperties":{"type":"string"}}},"description":"PathElem encodes an element of a gNMI path, along with any attributes (keys)\nthat may be associated with it.\nReference: gNMI Specification Section 2.2.2.","$$ref":"#/definitions/gnmiPathElem"}},"target":{"type":"string"}},"description":"Path encodes a data tree path as a series of repeated strings, with\neach element of the path representing a data tree node name and the\nassociated attributes.\nReference: gNMI Specification Section 2.2.2.","$$ref":"#/definitions/gnmiPath"},"subscription":{"type":"array","items":{"type":"object","properties":{"path":{"type":"object","properties":{"element":{"type":"array","items":{"type":"string"},"description":"Elements of the path are no longer encoded as a string, but rather within\nthe elem field as a PathElem message."},"origin":{"type":"string"},"elem":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"object","additionalProperties":{"type":"string"}}},"description":"PathElem encodes an element of a gNMI path, along with any attributes (keys)\nthat may be associated with it.\nReference: gNMI Specification Section 2.2.2.","$$ref":"#/definitions/gnmiPathElem"}},"target":{"type":"string"}},"description":"Path encodes a data tree path as a series of repeated strings, with\neach element of the path representing a data tree node name and the\nassociated attributes.\nReference: gNMI Specification Section 2.2.2.","$$ref":"#/definitions/gnmiPath"},"mode":{"type":"string","enum":["TARGET_DEFINED","ON_CHANGE","SAMPLE"],"default":"TARGET_DEFINED","title":"SubscriptionMode is the mode of the subscription, specifying how the\ntarget must return values in a subscription.\nReference: gNMI Specification Section 3.5.1.3","$$ref":"#/definitions/gnmiSubscriptionMode"},"sample_interval":{"type":"string","format":"uint64"},"suppress_redundant":{"type":"boolean","description":"Indicates whether values that have not changed should be sent in a SAMPLE\nsubscription."},"heartbeat_interval":{"type":"string","format":"uint64","description":"Specifies the maximum allowable silent period in nanoseconds when\nsuppress_redundant is in use. The target should send a value at least once\nin the period specified."}},"title":"Subscription is a single request within a SubscriptionList. The path\nspecified is interpreted (along with the prefix) as the elements of the data\ntree that the client is subscribing to. The mode determines how the target\nshould trigger updates to be sent.\nReference: gNMI Specification Section 3.5.1.3","$$ref":"#/definitions/gnmiSubscription"}},"qos":{"type":"object","properties":{"marking":{"type":"integer","format":"int64"}},"title":"QOSMarking specifies the DSCP value to be set on transmitted telemetry\nupdates from the target.\nReference: gNMI Specification Section 3.5.1.2","$$ref":"#/definitions/gnmiQOSMarking"},"mode":{"type":"string","enum":["STREAM","ONCE","POLL"],"default":"STREAM","description":"Mode of the subscription.","$$ref":"#/definitions/SubscriptionListMode"},"allow_aggregation":{"type":"boolean","description":"Whether elements of the schema that are marked as eligible for aggregation\nshould be aggregated or not."},"use_models":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"organization":{"type":"string"},"version":{"type":"string"}},"title":"ModelData is used to describe a set of schema modules. It can be used in a\nCapabilityResponse where a target reports the set of modules that it\nsupports, and within the SubscribeRequest and GetRequest messages to specify\nthe set of models from which data tree elements should be reported.\nReference: gNMI Specification Section 3.2.3","$$ref":"#/definitions/gnmiModelData"},"description":"The set of schemas that define the elements of the data tree that should\nbe sent by the target."},"encoding":{"description":"The encoding that the target should use within the Notifications generated\ncorresponding to the SubscriptionList.","type":"string","enum":["JSON","BYTES","PROTO","ASCII","JSON_IETF"],"default":"JSON","title":"Encoding defines the value encoding formats that are supported by the gNMI\nprotocol. These encodings are used by both the client (when sending Set\nmessages to modify the state of the target) and the target when serializing\ndata to be returned to the client (in both Subscribe and Get RPCs).\nReference: gNMI Specification Section 2.3","$$ref":"#/definitions/gnmiEncoding"},"updates_only":{"type":"boolean","description":"An optional field to specify that only updates to current state should be\nsent to a client. If set, the initial state is not sent to the client but\nrather only the sync message followed by any subsequent updates to the\ncurrent state. For ONCE and POLL modes, this causes the server to send only\nthe sync message (Sec. 3.5.2.3)."}},"title":"SubscriptionList is used within a Subscribe message to specify the list of\npaths that the client wishes to subscribe to. The message consists of a\nlist of (possibly prefixed) paths, and options that relate to the\nsubscription.\nReference: gNMI Specification Section 3.5.1.2","$$ref":"#/definitions/gnmiSubscriptionList"},"poll":{"type":"object","title":"Poll is sent within a SubscribeRequest to trigger the device to\nsend telemetry updates for the paths that are associated with the\nsubscription.\nReference: gNMI Specification Section Section 3.5.1.4","$$ref":"#/definitions/gnmiPoll"},"extension":{"type":"array","items":{"type":"object","properties":{"registered_ext":{"type":"object","properties":{"id":{"type":"string","enum":["EID_UNSET","EID_EXPERIMENTAL"],"default":"EID_UNSET","description":"RegisteredExtension is an enumeration acting as a registry for extensions\ndefined by external sources.\n\n - EID_EXPERIMENTAL: An experimental extension that may be used during prototyping of a new\nextension.","$$ref":"#/definitions/gnmi_extExtensionID"},"msg":{"type":"string","format":"byte"}},"description":"The RegisteredExtension message defines an extension which is defined outside\nof this file.","$$ref":"#/definitions/gnmi_extRegisteredExtension"},"master_arbitration":{"description":"Well known extensions.","type":"object","properties":{"role":{"type":"object","properties":{"id":{"type":"string"}},"description":"There can be one master for each role. The role is identified by its id.","$$ref":"#/definitions/gnmi_extRole"},"election_id":{"type":"object","properties":{"high":{"type":"string","format":"uint64"},"low":{"type":"string","format":"uint64"}},"description":"Representation of unsigned 128-bit integer.","$$ref":"#/definitions/gnmi_extUint128"}},"title":"MasterArbitration is used to select the master among multiple gNMI clients\nwith the same Roles. The client with the largest election_id is honored as\nthe master.\nThe document about gNMI master arbitration can be found at\nhttps://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-master-arbitration.md","$$ref":"#/definitions/gnmi_extMasterArbitration"},"history":{"type":"object","properties":{"snapshot_time":{"type":"string","format":"int64"},"range":{"type":"object","properties":{"start":{"type":"string","format":"int64"},"end":{"type":"string","format":"int64"}},"$$ref":"#/definitions/gnmi_extTimeRange"}},"title":"The History extension allows clients to request historical data. Its\nspec can be found at\nhttps://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-history.md","$$ref":"#/definitions/gnmi_extHistory"}},"description":"The Extension message contains a single gNMI extension.","$$ref":"#/definitions/gnmi_extExtension"},"description":"Extension messages associated with the SubscribeRequest. See the\ngNMI extension specification for further definition."}},"$$ref":"#/definitions/gnmiSubscribeRequest"}},"title":"Reference: gNMI Specification Section 3.5.1.3\nGNMI Subscription List takes in a list of paths in single subscription list\nThis typically used when we want to retrieve multiple leafs within same path.\n GNMI Subcription has cadence and encoding within the payload, so collect\nonce may not work.\nPoll and Alias Option is not be supported. Will be filtered out.\nNOTE: this is the preferred sensor data to use when collecting muliple gNMI\npaths as it will result in a reduced amount of device resources being used\nas compared to N GnmiSensor's. Mainly, this reduction in resources is with\nrespect to the device's gRPC mechanisms. Although, it also comes with some\nreductions in collection services as well.\nGnmiStandardSensor","$$ref":"#/definitions/common_collection_dataGnmiStandardSensor"},"snmp_virtual_sensor":{"type":"object","properties":{"virtual_path":{"type":"string","title":"Valid values for virtual_path:\n - CROSSWORK-LSP-STATS"}},"title":"Snmp virtual sensor to handle special subscription where a given device has a special tag that matches\npre-defined sensor redirection rules; collection request is re-directed as per redirection rules;\nIf device has no tag or its tag does not match any redirection rules, the subscription will be suppressed","$$ref":"#/definitions/common_collection_dataSnmpVirtualSensor"}},"$$ref":"#/definitions/common_collection_dataSensorData"},"cadence_in_millisec":{"type":"string","format":"uint64","title":"Push or Poll cadence"}},"description":"SensorInputConfig represents the device-side collection at a specified cadence.","$$ref":"#/definitions/collection_serviceSensorInputConfig"},"description":"SensorInputConfig is a group of sensors and their cadences."},"sensor_output_configs":{"type":"array","items":{"type":"object","properties":{"sensor_data":{"description":"The sensor path on the output side, Every sensor path on the input side needs to have one mapping on the output side.","type":"object","properties":{"snmp_sensor":{"type":"object","properties":{"snmp_mib":{"title":"Snmp mib","type":"object","properties":{"snmp_operation":{"title":"SNMP operation type","type":"string","enum":["UNKNOWN_SNMP_OPERATION","WALK","SCALAR","TABLE","COLUMN"],"default":"UNKNOWN_SNMP_OPERATION","$$ref":"#/definitions/common_collection_dataSnmpOperation"},"oids":{"type":"array","items":{"type":"string"},"description":"Input sensor path:\n - SCALAR/COLUMN: single oid or a list of oids\n - NON-SCALAR (TABLE/WALK): - single oid only."}},"$$ref":"#/definitions/common_collection_dataSnmpMib"},"device_package":{"title":"Total size is limited to 512 characters","type":"object","properties":{"device_package_name":{"type":"string","title":"XDE device package name"},"function_name":{"type":"string","title":"XDE function name within package"},"parameters":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"bytes_value":{"type":"string","format":"byte"},"string_value":{"type":"string"},"bool_value":{"type":"boolean"},"uint32_value":{"type":"integer","format":"int64"},"uint64_value":{"type":"string","format":"uint64"},"sint32_value":{"type":"integer","format":"int32"},"sint64_value":{"type":"string","format":"int64"},"double_value":{"type":"number","format":"double"},"float_value":{"type":"number","format":"float"},"null_value":{"type":"boolean"},"list_value":{"type":"object","properties":{"value":{"type":"array","items":{"type":"object","properties":{"bytes_value":{"type":"string","format":"byte"},"string_value":{"type":"string"},"bool_value":{"type":"boolean"},"uint32_value":{"type":"integer","format":"int64"},"uint64_value":{"type":"string","format":"uint64"},"sint32_value":{"type":"integer","format":"int32"},"sint64_value":{"type":"string","format":"int64"},"double_value":{"type":"number","format":"double"},"float_value":{"type":"number","format":"float"},"null_value":{"type":"boolean"}},"$$ref":"#/definitions/common_collection_dataValue"},"title":"list items must be of same type"}},"$$ref":"#/definitions/common_collection_datalist"}},"title":"Generic Key value message","$$ref":"#/definitions/common_collection_dataKeyValue"},"title":"Parameters for custom device packages"}},"$$ref":"#/definitions/common_collection_dataDevicePackage"}},"$$ref":"#/definitions/common_collection_dataSnmpSensor"},"snmp_yang_sensor":{"type":"object","properties":{"path":{"type":"string","title":"Example SNMPv2-MIB:SNMPv2-MIB/system"}},"$$ref":"#/definitions/common_collection_dataSnmpYangSensor"},"cli_yang_sensor":{"type":"object","properties":{"path":{"type":"string","title":"Example cli_xr_show_logging:syslog"}},"$$ref":"#/definitions/common_collection_dataCliYangSensor"},"cli_sensor":{"type":"object","properties":{"command":{"type":"string","title":"Example show clock"},"device_package":{"title":"Total size is limited to 512 characters","type":"object","properties":{"device_package_name":{"type":"string","title":"XDE device package name"},"function_name":{"type":"string","title":"XDE function name within package"},"parameters":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"bytes_value":{"type":"string","format":"byte"},"string_value":{"type":"string"},"bool_value":{"type":"boolean"},"uint32_value":{"type":"integer","format":"int64"},"uint64_value":{"type":"string","format":"uint64"},"sint32_value":{"type":"integer","format":"int32"},"sint64_value":{"type":"string","format":"int64"},"double_value":{"type":"number","format":"double"},"float_value":{"type":"number","format":"float"},"null_value":{"type":"boolean"},"list_value":{"type":"object","properties":{"value":{"type":"array","items":{"type":"object","properties":{"bytes_value":{"type":"string","format":"byte"},"string_value":{"type":"string"},"bool_value":{"type":"boolean"},"uint32_value":{"type":"integer","format":"int64"},"uint64_value":{"type":"string","format":"uint64"},"sint32_value":{"type":"integer","format":"int32"},"sint64_value":{"type":"string","format":"int64"},"double_value":{"type":"number","format":"double"},"float_value":{"type":"number","format":"float"},"null_value":{"type":"boolean"}},"$$ref":"#/definitions/common_collection_dataValue"},"title":"list items must be of same type"}},"$$ref":"#/definitions/common_collection_datalist"}},"title":"Generic Key value message","$$ref":"#/definitions/common_collection_dataKeyValue"},"title":"Parameters for custom device packages"}},"$$ref":"#/definitions/common_collection_dataDevicePackage"}},"$$ref":"#/definitions/common_collection_dataCliSensor"},"mdt_sensor":{"type":"object","properties":{"path":{"type":"string","title":"Example Cisco-IOS-XR-infra-statsd-oper:infra-statistics/interfaces/interface/latest/generic-counters"}},"$$ref":"#/definitions/common_collection_dataMDTSensor"},"trap_sensor":{"type":"object","properties":{"path":{"type":"string","title":"Example snmp-trap-oper:traps/notifications"}},"$$ref":"#/definitions/common_collection_dataTrapSensor"},"trap_yang_sensor":{"type":"object","properties":{"path":{"type":"string","title":"Example ISIS-MIB:notifications,SNMPv2-MIB:notifications,IF-MIB:notifications"}},"$$ref":"#/definitions/common_collection_dataTrapYangSensor"},"gnmi_sensor":{"type":"object","properties":{"path":{"title":"Gnmi path\nExample {\"origin\":\"syslog-oper\",\"elem\":[{\"name\":\"syslog\"},{\"name\":\"messages\"}]}","type":"object","properties":{"element":{"type":"array","items":{"type":"string"},"description":"Elements of the path are no longer encoded as a string, but rather within\nthe elem field as a PathElem message."},"origin":{"type":"string"},"elem":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"object","additionalProperties":{"type":"string"}}},"description":"PathElem encodes an element of a gNMI path, along with any attributes (keys)\nthat may be associated with it.\nReference: gNMI Specification Section 2.2.2.","$$ref":"#/definitions/gnmiPathElem"}},"target":{"type":"string"}},"description":"Path encodes a data tree path as a series of repeated strings, with\neach element of the path representing a data tree node name and the\nassociated attributes.\nReference: gNMI Specification Section 2.2.2.","$$ref":"#/definitions/gnmiPath"},"mode":{"description":"Subscription mode to be used.","type":"string","enum":["TARGET_DEFINED","ON_CHANGE","SAMPLE"],"default":"TARGET_DEFINED","title":"SubscriptionMode is the mode of the subscription, specifying how the\ntarget must return values in a subscription.\nReference: gNMI Specification Section 3.5.1.3","$$ref":"#/definitions/gnmiSubscriptionMode"},"device_setting":{"title":"Optional GNMI Device setting","type":"object","properties":{"suppress_redundant":{"type":"boolean"},"heartbeat_interval":{"type":"string","format":"uint64","description":"Specifies the maximum allowable silent period in nanoseconds when\nsuppress_redundant is in use. The target should send a value at least once\nin the period specified."},"qos":{"type":"object","properties":{"marking":{"type":"integer","format":"int64"}},"title":"QOSMarking specifies the DSCP value to be set on transmitted telemetry\nupdates from the target.\nReference: gNMI Specification Section 3.5.1.2","$$ref":"#/definitions/gnmiQOSMarking"},"allow_aggregation":{"type":"boolean"},"use_models":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"organization":{"type":"string"},"version":{"type":"string"}},"title":"ModelData is used to describe a set of schema modules. It can be used in a\nCapabilityResponse where a target reports the set of modules that it\nsupports, and within the SubscribeRequest and GetRequest messages to specify\nthe set of models from which data tree elements should be reported.\nReference: gNMI Specification Section 3.2.3","$$ref":"#/definitions/gnmiModelData"},"description":"The set of schemas that define the elements of the data tree that should\nbe sent by the target."},"updates_only":{"type":"boolean","description":"An optional field to specify that only updates to current state should be\nsent to a client. If set, the initial state is not sent to the client but\nrather only the sync message followed by any subsequent updates to the\ncurrent state. For ONCE and POLL modes, this causes the server to send only\nthe sync message (Sec. 3.5.2.3)."}},"$$ref":"#/definitions/common_collection_dataGNMIDeviceSetting"}},"description":"Reference: gNMI Specification Section 3.5.1.3\nOptimization based on collect once will be carried out per path basis\nNOTE: if multiple GnmiSensor's are part of a single collection job or\nspread across multiple jobs then it may be more efficient to condense\nall GnmiSensor's into a smaller set of GnmiStandardSensor's for device\nefficiency reasons. Please see comments on GnmiStandardSensor for more\ndetails.","$$ref":"#/definitions/common_collection_dataGnmiSensor"},"syslog_sensor":{"type":"object","properties":{"pris":{"title":"List of priority levels","type":"object","properties":{"facilities":{"type":"array","items":{"type":"integer","format":"int32"},"title":"Syslog Facility , valid numbers 0 to 23"},"severities":{"type":"array","items":{"type":"integer","format":"int32"},"title":"Syslog Severity , valid numbers 0 to 7"}},"$$ref":"#/definitions/SyslogSensorPRIs"},"filters":{"description":"Filters - one (or combination max=3) of the filter based on Regex, severity, facility or/and PRI\nEither PRIs can be specified or Filters can be specified not both.","type":"object","properties":{"filter":{"type":"array","items":{"type":"object","properties":{"syslog_filter":{"type":"object","properties":{"severity_facility":{"type":"object","properties":{"severity":{"type":"object","properties":{"value":{"type":"integer","format":"int64","title":"value to which operator is applied"},"op":{"type":"string","enum":["UNKNOWN","GREATER_THAN","LESSER_THAN","EQUALS","NOT_EQUALS","GREATER_OR_EQUALS","LESSER_OR_EQUALS"],"default":"UNKNOWN","$$ref":"#/definitions/NumericalFilterOPERATOR"}},"title":"Definition of Numerical Value Filter","$$ref":"#/definitions/common_collection_dataNumericalFilter"},"facility":{"type":"object","properties":{"value":{"type":"integer","format":"int64","title":"value to which operator is applied"},"op":{"type":"string","enum":["UNKNOWN","GREATER_THAN","LESSER_THAN","EQUALS","NOT_EQUALS","GREATER_OR_EQUALS","LESSER_OR_EQUALS"],"default":"UNKNOWN","$$ref":"#/definitions/NumericalFilterOPERATOR"}},"title":"Definition of Numerical Value Filter","$$ref":"#/definitions/common_collection_dataNumericalFilter"}},"title":"Filter messages based on Severity value or Facility value or Both","$$ref":"#/definitions/SyslogFilterSeverityFacilityFilter"},"pri_filter":{"type":"object","properties":{"value":{"type":"object","properties":{"value":{"type":"integer","format":"int64","title":"value to which operator is applied"},"op":{"type":"string","enum":["UNKNOWN","GREATER_THAN","LESSER_THAN","EQUALS","NOT_EQUALS","GREATER_OR_EQUALS","LESSER_OR_EQUALS"],"default":"UNKNOWN","$$ref":"#/definitions/NumericalFilterOPERATOR"}},"title":"Definition of Numerical Value Filter","$$ref":"#/definitions/common_collection_dataNumericalFilter"}},"title":"Filter messages based on PRI value","$$ref":"#/definitions/SyslogFilterPRIFilter"},"regex_filter":{"type":"object","properties":{"pattern":{"type":"string","title":"regex pattern"}},"title":"RegEx Filter","$$ref":"#/definitions/common_collection_dataRegexFilter"}},"title":"Used when the collection type is SYSLOG to filter messages sent to destination","$$ref":"#/definitions/common_collection_dataSyslogFilter"}},"title":"Filter config to be applied","$$ref":"#/definitions/common_collection_dataFilter"}},"operator":{"type":"string","enum":["UNKNOWN","AND","OR"],"default":"UNKNOWN","$$ref":"#/definitions/FiltersLOGICAL_OP"}},"$$ref":"#/definitions/common_collection_dataFilters"}},"title":"Refer https://www.paessler.com/it-explained/syslog,https://datatracker.ietf.org/doc/rfc5424/\nExample if PRI is (165,111) , application_name is (su,syslogd) all messages with PRI (165 or 111) and application\nname su or syslogd would be collected","$$ref":"#/definitions/common_collection_dataSyslogSensor"},"tl1_sensor":{"title":"Both Tl1Sensor and Tl1EventSensor must use w/ CLI_COLLECTOR type","type":"object","properties":{"command":{"type":"string","title":"Example RTRV-ATTR-ENV"},"device_package":{"title":"Total size is limited to 512 characters\nExample\n\t\t\"device_package_name\": \"optical_inventory_tl1_active_logins\",\n\t\t\"function_name\": \"rtrv-active-logins\"","type":"object","properties":{"device_package_name":{"type":"string","title":"XDE device package name"},"function_name":{"type":"string","title":"XDE function name within package"},"parameters":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"bytes_value":{"type":"string","format":"byte"},"string_value":{"type":"string"},"bool_value":{"type":"boolean"},"uint32_value":{"type":"integer","format":"int64"},"uint64_value":{"type":"string","format":"uint64"},"sint32_value":{"type":"integer","format":"int32"},"sint64_value":{"type":"string","format":"int64"},"double_value":{"type":"number","format":"double"},"float_value":{"type":"number","format":"float"},"null_value":{"type":"boolean"},"list_value":{"type":"object","properties":{"value":{"type":"array","items":{"type":"object","properties":{"bytes_value":{"type":"string","format":"byte"},"string_value":{"type":"string"},"bool_value":{"type":"boolean"},"uint32_value":{"type":"integer","format":"int64"},"uint64_value":{"type":"string","format":"uint64"},"sint32_value":{"type":"integer","format":"int32"},"sint64_value":{"type":"string","format":"int64"},"double_value":{"type":"number","format":"double"},"float_value":{"type":"number","format":"float"},"null_value":{"type":"boolean"}},"$$ref":"#/definitions/common_collection_dataValue"},"title":"list items must be of same type"}},"$$ref":"#/definitions/common_collection_datalist"}},"title":"Generic Key value message","$$ref":"#/definitions/common_collection_dataKeyValue"},"title":"Parameters for custom device packages"}},"$$ref":"#/definitions/common_collection_dataDevicePackage"}},"$$ref":"#/definitions/common_collection_dataTl1Sensor"},"tl1_event_sensor":{"type":"object","title":"Tl1EventSensor - Eventing sensor\nCadence needs to zero","$$ref":"#/definitions/common_collection_dataTl1EventSensor"},"grpc_sensor":{"title":"Both GRPCSensor and GnmiStandardSensor must be used w/GNMI_COLLECTOR type","type":"object","properties":{"action_json":{"type":"object","properties":{"req_args":{"title":"service gRPCExec {\n // Exec command\n rpc ActionJSON(ActionJSONArgs) returns(stream ActionJSONReply) {};\n}","type":"object","properties":{"ReqId":{"type":"string","format":"int64"},"yangpathjson":{"type":"string"}},"$$ref":"#/definitions/IOSXRExtensibleManagabilityServiceActionJSONArgs"}},"$$ref":"#/definitions/common_collection_datagRPCExecActionJson"}},"$$ref":"#/definitions/common_collection_dataGRPCSensor"},"gnmi_standard_sensor":{"type":"object","properties":{"Subscribe_request":{"title":"Gnmi SubscriptionList\nExample {\"origin\":\"syslog-oper\",\"elem\":[{\"name\":\"syslog\"},{\"name\":\"messages\"}]}","type":"object","properties":{"subscribe":{"type":"object","properties":{"prefix":{"type":"object","properties":{"element":{"type":"array","items":{"type":"string"},"description":"Elements of the path are no longer encoded as a string, but rather within\nthe elem field as a PathElem message."},"origin":{"type":"string"},"elem":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"object","additionalProperties":{"type":"string"}}},"description":"PathElem encodes an element of a gNMI path, along with any attributes (keys)\nthat may be associated with it.\nReference: gNMI Specification Section 2.2.2.","$$ref":"#/definitions/gnmiPathElem"}},"target":{"type":"string"}},"description":"Path encodes a data tree path as a series of repeated strings, with\neach element of the path representing a data tree node name and the\nassociated attributes.\nReference: gNMI Specification Section 2.2.2.","$$ref":"#/definitions/gnmiPath"},"subscription":{"type":"array","items":{"type":"object","properties":{"path":{"type":"object","properties":{"element":{"type":"array","items":{"type":"string"},"description":"Elements of the path are no longer encoded as a string, but rather within\nthe elem field as a PathElem message."},"origin":{"type":"string"},"elem":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"object","additionalProperties":{"type":"string"}}},"description":"PathElem encodes an element of a gNMI path, along with any attributes (keys)\nthat may be associated with it.\nReference: gNMI Specification Section 2.2.2.","$$ref":"#/definitions/gnmiPathElem"}},"target":{"type":"string"}},"description":"Path encodes a data tree path as a series of repeated strings, with\neach element of the path representing a data tree node name and the\nassociated attributes.\nReference: gNMI Specification Section 2.2.2.","$$ref":"#/definitions/gnmiPath"},"mode":{"type":"string","enum":["TARGET_DEFINED","ON_CHANGE","SAMPLE"],"default":"TARGET_DEFINED","title":"SubscriptionMode is the mode of the subscription, specifying how the\ntarget must return values in a subscription.\nReference: gNMI Specification Section 3.5.1.3","$$ref":"#/definitions/gnmiSubscriptionMode"},"sample_interval":{"type":"string","format":"uint64"},"suppress_redundant":{"type":"boolean","description":"Indicates whether values that have not changed should be sent in a SAMPLE\nsubscription."},"heartbeat_interval":{"type":"string","format":"uint64","description":"Specifies the maximum allowable silent period in nanoseconds when\nsuppress_redundant is in use. The target should send a value at least once\nin the period specified."}},"title":"Subscription is a single request within a SubscriptionList. The path\nspecified is interpreted (along with the prefix) as the elements of the data\ntree that the client is subscribing to. The mode determines how the target\nshould trigger updates to be sent.\nReference: gNMI Specification Section 3.5.1.3","$$ref":"#/definitions/gnmiSubscription"}},"qos":{"type":"object","properties":{"marking":{"type":"integer","format":"int64"}},"title":"QOSMarking specifies the DSCP value to be set on transmitted telemetry\nupdates from the target.\nReference: gNMI Specification Section 3.5.1.2","$$ref":"#/definitions/gnmiQOSMarking"},"mode":{"type":"string","enum":["STREAM","ONCE","POLL"],"default":"STREAM","description":"Mode of the subscription.","$$ref":"#/definitions/SubscriptionListMode"},"allow_aggregation":{"type":"boolean","description":"Whether elements of the schema that are marked as eligible for aggregation\nshould be aggregated or not."},"use_models":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"organization":{"type":"string"},"version":{"type":"string"}},"title":"ModelData is used to describe a set of schema modules. It can be used in a\nCapabilityResponse where a target reports the set of modules that it\nsupports, and within the SubscribeRequest and GetRequest messages to specify\nthe set of models from which data tree elements should be reported.\nReference: gNMI Specification Section 3.2.3","$$ref":"#/definitions/gnmiModelData"},"description":"The set of schemas that define the elements of the data tree that should\nbe sent by the target."},"encoding":{"description":"The encoding that the target should use within the Notifications generated\ncorresponding to the SubscriptionList.","type":"string","enum":["JSON","BYTES","PROTO","ASCII","JSON_IETF"],"default":"JSON","title":"Encoding defines the value encoding formats that are supported by the gNMI\nprotocol. These encodings are used by both the client (when sending Set\nmessages to modify the state of the target) and the target when serializing\ndata to be returned to the client (in both Subscribe and Get RPCs).\nReference: gNMI Specification Section 2.3","$$ref":"#/definitions/gnmiEncoding"},"updates_only":{"type":"boolean","description":"An optional field to specify that only updates to current state should be\nsent to a client. If set, the initial state is not sent to the client but\nrather only the sync message followed by any subsequent updates to the\ncurrent state. For ONCE and POLL modes, this causes the server to send only\nthe sync message (Sec. 3.5.2.3)."}},"title":"SubscriptionList is used within a Subscribe message to specify the list of\npaths that the client wishes to subscribe to. The message consists of a\nlist of (possibly prefixed) paths, and options that relate to the\nsubscription.\nReference: gNMI Specification Section 3.5.1.2","$$ref":"#/definitions/gnmiSubscriptionList"},"poll":{"type":"object","title":"Poll is sent within a SubscribeRequest to trigger the device to\nsend telemetry updates for the paths that are associated with the\nsubscription.\nReference: gNMI Specification Section Section 3.5.1.4","$$ref":"#/definitions/gnmiPoll"},"extension":{"type":"array","items":{"type":"object","properties":{"registered_ext":{"type":"object","properties":{"id":{"type":"string","enum":["EID_UNSET","EID_EXPERIMENTAL"],"default":"EID_UNSET","description":"RegisteredExtension is an enumeration acting as a registry for extensions\ndefined by external sources.\n\n - EID_EXPERIMENTAL: An experimental extension that may be used during prototyping of a new\nextension.","$$ref":"#/definitions/gnmi_extExtensionID"},"msg":{"type":"string","format":"byte"}},"description":"The RegisteredExtension message defines an extension which is defined outside\nof this file.","$$ref":"#/definitions/gnmi_extRegisteredExtension"},"master_arbitration":{"description":"Well known extensions.","type":"object","properties":{"role":{"type":"object","properties":{"id":{"type":"string"}},"description":"There can be one master for each role. The role is identified by its id.","$$ref":"#/definitions/gnmi_extRole"},"election_id":{"type":"object","properties":{"high":{"type":"string","format":"uint64"},"low":{"type":"string","format":"uint64"}},"description":"Representation of unsigned 128-bit integer.","$$ref":"#/definitions/gnmi_extUint128"}},"title":"MasterArbitration is used to select the master among multiple gNMI clients\nwith the same Roles. The client with the largest election_id is honored as\nthe master.\nThe document about gNMI master arbitration can be found at\nhttps://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-master-arbitration.md","$$ref":"#/definitions/gnmi_extMasterArbitration"},"history":{"type":"object","properties":{"snapshot_time":{"type":"string","format":"int64"},"range":{"type":"object","properties":{"start":{"type":"string","format":"int64"},"end":{"type":"string","format":"int64"}},"$$ref":"#/definitions/gnmi_extTimeRange"}},"title":"The History extension allows clients to request historical data. Its\nspec can be found at\nhttps://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-history.md","$$ref":"#/definitions/gnmi_extHistory"}},"description":"The Extension message contains a single gNMI extension.","$$ref":"#/definitions/gnmi_extExtension"},"description":"Extension messages associated with the SubscribeRequest. See the\ngNMI extension specification for further definition."}},"$$ref":"#/definitions/gnmiSubscribeRequest"}},"title":"Reference: gNMI Specification Section 3.5.1.3\nGNMI Subscription List takes in a list of paths in single subscription list\nThis typically used when we want to retrieve multiple leafs within same path.\n GNMI Subcription has cadence and encoding within the payload, so collect\nonce may not work.\nPoll and Alias Option is not be supported. Will be filtered out.\nNOTE: this is the preferred sensor data to use when collecting muliple gNMI\npaths as it will result in a reduced amount of device resources being used\nas compared to N GnmiSensor's. Mainly, this reduction in resources is with\nrespect to the device's gRPC mechanisms. Although, it also comes with some\nreductions in collection services as well.\nGnmiStandardSensor","$$ref":"#/definitions/common_collection_dataGnmiStandardSensor"},"snmp_virtual_sensor":{"type":"object","properties":{"virtual_path":{"type":"string","title":"Valid values for virtual_path:\n - CROSSWORK-LSP-STATS"}},"title":"Snmp virtual sensor to handle special subscription where a given device has a special tag that matches\npre-defined sensor redirection rules; collection request is re-directed as per redirection rules;\nIf device has no tag or its tag does not match any redirection rules, the subscription will be suppressed","$$ref":"#/definitions/common_collection_dataSnmpVirtualSensor"}},"title":"Sensor Data","$$ref":"#/definitions/common_collection_dataSensorData"},"filter_profile_id":{"type":"string","description":"Optional filter_profile_id. Reserved for future use."},"destination":{"description":"The destinations to which the sensor data is written.","type":"object","properties":{"destination_id":{"type":"string","title":"Unique identifier for a Destination Provider in Inventory"},"context_id":{"type":"string","description":"Destination context identifier.\nIt could be topic name if the destination is message bus.\nThe combination of destination_id and context_id needs to be unique for a Destination.\nWhat context id means depends on the destination type of the destination provider.\nIf \"GRPC\" is the destination type, context_id is not used and will be ignored."},"destination_name":{"type":"string","description":"The name of the destination. Not used during write operations, but optionally filled when using GET APIs.\nIt maps to the destination provider name in Crosswork Device Lifecycle Manager (DLM)."}},"$$ref":"#/definitions/collection_serviceDestination"}},"description":"Sensor Output represents the output of a sensor to a destination, for given sensor which is a topic on a message broker or GRPC server.","$$ref":"#/definitions/collection_serviceSensorOutputConfig"},"title":"SensorOutputConfig is a group of sensors and their destinations"}},"$$ref":"#/definitions/collection_serviceCollectionJobConfiguration"}},"example":{"collection_job":{"application_context":{"application_id":"test3","context_id":"test3-context"},"collection_mode":{"collector_type":"CLI_COLLECTOR","lifetime_type":"APPLICATION_MANAGED"},"job_device_set":{"device_set":{"devices":{"device_ids":["af6dc565-a434-4df4-ba93-000540f3d352","d70f24ef-6764-4333-867a-d19a6cc19c68"]}}},"sensor_input_configs":[{"sensor_data":{"cli_sensor":{"command":"show version"}},"cadence_in_millisec":"80000"}],"sensor_output_configs":[{"sensor_data":{"cli_sensor":{"command":"show version"}},"filter_profile_id":"","destination":{"destination_id":"155e7c16-93a1-49f9-9207-1239189b9113","context_id":"cli-topic","destination_name":""}}]}},"title":"CreateCollectionJobRequest","$$ref":"#/definitions/collection_serviceCreateCollectionJobRequest"}}],"tags":["CollectionService"],"__originalOperationId":"CollectionService_CreateCollectionJob","consumes":["application/json"],"produces":["application/json"],"method":"put","path":"/collectionjob"}}