{ "$id": "serviceManagerDoc", "title": "service manager document", "description": "A Service Manager Document", "type": "object", "properties": {}, "definitions": { "serviceModel": { "type": "object", "properties": { "name": { "type": "string", "examples": [ "/ncs:services/itential-demo-l2vpn:l2vpn" ] }, "hosts": { "type": "array", "items": { "type": "string", "examples": [ "nso46", "nso45" ] } } } }, "serviceModels": { "type": "array", "items": { "$ref": "#/definitions/serviceModel" } }, "serviceModelDetails": { "type": "object", "properties": { "children": { "type": "array", "items": { "type": "object", "properties": {} } }, "type": { "type": "string", "examples": [ "service" ] }, "name": { "type": "string", "examples": [ "l2vpn" ] } } }, "serviceInstance": { "type": "object", "properties": { "name": { "type": "string", "examples": [ "datatypes" ] }, "key_type": { "type": "string", "examples": [ "service-name" ] }, "key_value": { "type": "string", "examples": [ "largeone" ] }, "devices": { "type": "array", "items": {} } } }, "serviceInstanceOptions": { "type": "object", "title": "Service Instance Options", "description": "Optional parameters for testInstances and saveInstances using the new style parameters which support all commit flags. The skip-validation property MUST be included to use this option set. Other properties are optional. With skip-validation, the options object will be parsed and sent to NSO without being validated by the adapter, and the order of the options does matter in several cases.", "properties": { "skip-validation": { "type": "null", "description": "Required to enable commit flag support." }, "dryrun": { "type": "object", "description": "Use dryrun commit flag. If not dryrun is not set when running testInstances, it will be added with outformat defaulting to native.", "properties": { "outformat": { "type": "string", "enum": [ "cli", "native", "xml" ] }, "reverse": { "type": "null", "description": "Used with native outformat, this flag displays device commands for getting back to current running state in the network if the commit succeeds." } } }, "commit-queue": { "type": "object", "properties": { "tag": { "type": "string", "description": "User defined opaque tag which is present in all notifications and events sent referencing the specific queue item. This property must be placed first inside the commit-queue property if being used." }, "sync": { "type": "object", "description": "Uses sync mode for commit queue. Cannot be used with async or bypass mode.", "oneOf": [ { "timeout": "integer", "description": "Maximum number of seconds to wait for transaction to be committed." }, { "infinity": "null", "description": "Use this format for infinite wait time." } ] }, "async": { "type": "null", "description": "Uses async mode for commit queue. Cannot be used with sync or bypass mode." }, "bypass": { "type": "null", "description": "Uses bypass mode for commit queue. Cannot be used with sync or async mode." }, "block-others": { "type": "null", "description": "The commit-queue-block-others flag will block subsequent queue items, which use any of the devices in this queue item, from being queued." }, "lock": { "type": "null", "description": "The commit-queue-lock flag will place a lock on the resulting queue item." }, "atomic": { "type": "boolean", "description": "The commit-queue-atomic sets atomic behavior of resulting queue item." }, "error-option": { "type": "string", "description": "The commit-queue-error-option flag determines behavior on error.", "enum": [ "continue-on-error", "rollback-on-error", "stop-on-error" ] } } }, "no-deploy": { "type": "null", "description": "The no-deploy flag makes a commit without invoking the service create method." }, "no-revision-drop": { "type": "null", "description": "Uses no-revision-drop flag. Forces NSO to not silently drop data set operations." }, "no-networking": { "type": "null", "description": "The no-networking flag does not send data to the devices." }, "no-out-of-sync-check": { "type": "null", "description": "The no-out-of-sync-check flag continues with a transaction even when NSO detect an out of sync device. Can't be used with no-overwrite flag." }, "no-overwrite": { "type": "null", "description": "The no-overwrite flag checks that the data that should be modified has not changed on the device compared to NSO's view of the data. Can't be used with no-out-of-sync-check." }, "use-lsa": { "type": "null", "description": "The use-lsa flag forces handling of LSA nodes as such. Propogates the following flags, if used, to LSA nodes but not upper NSO node: dry-run, no-networking, no-out-of-sync-check, no-overwrite, no-revision-drop." }, "no-lsa": { "type": "null", "description": "The no-lsa flag will not handle LSA nodes as such." } } }, "testInstanceOptions": { "type": "object", "title": "Test Instance Options (old)", "description": "Optional parameters for testInstances using the old style parameters with partial commit flag support.", "properties": { "force": { "type": "boolean", "description": "Use no-out-of-sync-check commit flag." }, "outformat": { "type": "string", "description": "Use dryrun commit flag and set results outformat to cli, native, or xml. If not set, defaults to native.", "enum": [ "cli", "native", "xml" ] }, "reverse": { "type": "boolean", "description": "Use the reverse commit flag. Requires dryrun to be set." }, "raw": { "type": "boolean", "description": "Sets dryrun output to raw mode. Only works when dryrun outformat is set to native." } } }, "saveInstanceOptions": { "type": "object", "title": "Save Instance Options (old)", "description": "Optional parameters for saveInstances using the old style parameters with partial commit flag support.", "properties": { "sync": { "type": "boolean", "description": "Set to false to use commit-queue async mode if global Commit Queue property is set to true (default)." }, "commit-sync": { "type": "boolean", "description": "Use commit-queue sync mode." }, "no_overwrite": { "type": "boolean", "description": "Use no-overwrite commit flag." }, "staging": { "type": "boolean", "description": "Use no-networking commit flag." }, "force": { "type": "boolean", "description": "Use no-out-of-sync-check commit flag." } } }, "path": { "type": "string", "examples": [ "directory/example" ] }, "format": { "type": "string", "examples": [ "xml" ] }, "host": { "type": "string", "examples": [ "Local NSO" ] }, "instance": { "type": "object", "properties": { "servicePath": { "description": "The servicePath key is a service model's XPATH. The value is an array of objects. Each array element represents an instance of a service model.", "type": "array", "items": { "type": "object", "description": "An object representing an instance of a service model. Properties are specific to a service model." } } } } } }