openapi: 3.0.0
info:
  title: naas/ems/dcs/proto/v1/dcs.proto
  description: "\n\n# Copyright\n\nJuniper Networks, Inc.  \n1133 Innovation Way Sunnyvale, California 94089 USA  \n408-745-2000  \nwww.juniper.net\n\nCopyright © 2021, Juniper Networks, Inc. All rights reserved.\n\nJuniper Networks, the Juniper Networks logo, Juniper, and Junos are registered trademarks of Juniper Networks, Inc. and/or its affiliates in the United States and other countries. All other trademarks may be property of their respective owners.\nJuniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right to change, modify, transfer, or otherwise revise this publication without notice.\n\n\nThe information in this document is current as of the date on the title page.\n\nYEAR 2000 NOTICE\n\nJuniper Networks hardware and software products are Year 2000 compliant. Junos OS has no known time-related limitations through the year 2038. However, the NTP application is known to have some difficulty in the year 2036.\n\nEND USER LICENSE AGREEMENT\n\nThe Juniper Networks product that is the subject of this technical documentation consists of (or is intended for use with) Juniper Networks software. Use of such software is subject to the terms and conditions of the End User License Agreement (“EULA”) posted at http://www.juniper.net/support/eula.html. By downloading, installing or using such software, you agree to the terms and conditions of that EULA.\n\n\n"
  contact: {}
  version: '1.0'
servers:
- url: https://{defaultHost}
  variables:
    defaultHost:
      default: www.example.com
paths:
  /dcs/v1/disconnect-device:
    post:
      tags:
      - ConnectivityService
      summary: ConnectivityService_DisconnectDevice
      description: RPC used to terminate device connection.
      operationId: ConnectivityService_DisconnectDevice
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1DisconnectDeviceRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Disconnectdeviceresponse'
        default:
          description: An unexpected error response
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gatewayruntimeError'
      deprecated: false
  /dcs/v1/execute-op:
    post:
      tags:
      - ConnectivityService
      summary: ConnectivityService_Op
      description: >-
        RPC used to perform operations on device like reboot device or request

        file put. Takes input as list of commands and returns the result
      operationId: ConnectivityService_Op
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1OpRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationalCommandResponse'
        default:
          description: An unexpected error response
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gatewayruntimeError'
      deprecated: false
  /dcs/v1/connect-device:
    post:
      tags:
      - ConnectivityService
      summary: ConnectivityService_ConnectDevice
      description: RPC for initiating device connection. The device must be reachable.
      operationId: ConnectivityService_ConnectDevice
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1ConnectDeviceRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connectdeviceresponse'
        default:
          description: An unexpected error response
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gatewayruntimeError'
      deprecated: false
  /dcs/v1/execute-get:
    post:
      tags:
      - ConnectivityService
      summary: ConnectivityService_Get
      description: >-
        RPC used to retrieve snapshot of the data from device. Takes input

        as list of command that needs to be executed sequentially.
      operationId: ConnectivityService_Get
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dcsv1GetRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCommandResponse'
        default:
          description: An unexpected error response
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gatewayruntimeError'
      deprecated: false
  /dcs/v1/execute-set:
    post:
      tags:
      - ConnectivityService
      summary: ConnectivityService_Set
      description: >-
        RPC used to modify the configuration on the device. Takes input

        as set of configuration commands along with to commit or validate

        or confirmed commit the commands.
      operationId: ConnectivityService_Set
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dcsv1SetRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/typesSetResponse'
                - description: SetResponse contains the result of executing configuration commands on device.
        default:
          description: An unexpected error response
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gatewayruntimeError'
      deprecated: false
components:
  schemas:
    typesDeviceConnectionStatus:
      title: typesDeviceConnectionStatus
      type: object
      properties:
        timeStamp:
          type: string
        endPoint:
          type: string
        deviceId:
          type: string
        connectionStatus:
          allOf:
          - $ref: '#/components/schemas/typesConnectionStatus'
          - description: >-
              ConnectionStatus use to publish device connection status UP/DOWN.

               - UP: device connection status UP
               - DOWN: device connection status down
      description: DeviceConnectionStatus contains connection id and device status.
    ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues:
      title: ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues
      enum:
      - NoError
      - ConnectionError
      - SetCommandFailed
      - RequestTimedOut
      - CommitFailed
      - ConfigLockFailed
      - EphemeralOpenFailed
      - EphemeralCloseFailed
      type: string
      description: >-
        - NoError: returns default no error to the caller
         - ConnectionError: ConnectionError if there is connection lost to device
         - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
         - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
         - CommitFailed: CommitFailed returned when configuration to device fail
         - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
         - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
         - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
    gatewayruntimeError:
      title: gatewayruntimeError
      type: object
      properties:
        message:
          type: string
        code:
          type: integer
          format: int32
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
          description: ''
        error:
          type: string
    typesUserInputCommand:
      title: typesUserInputCommand
      type: object
      properties:
        regexp:
          type: string
        command:
          type: string
    v1GetDeviceConnectionDetailsResponse:
      title: v1GetDeviceConnectionDetailsResponse
      type: object
      properties:
        connection_data:
          $ref: '#/components/schemas/typesConnData'
    typesChassisType:
      title: typesChassisType
      enum:
      - STANDALONE
      - VIRTUAL_CHASSIS
      - CHASSIS_CLUSTER
      type: string
    v1OpRequest:
      title: v1OpRequest
      type: object
      properties:
        telemetry:
          type: boolean
          description: >-
            To know whether the request is from application or from HB for metric collection.

            based on this parameter netconf session is reused. This parameter is applicable only for netconf.

            Also dedicated netconf sessions of device will be used apart from application requests.
        device_info:
          allOf:
          - $ref: '#/components/schemas/typesDeviceInfo'
          - description: DeviceInfo is the object in which the device details for command are passed from clients to deviceplugins.
        command:
          type: array
          items:
            type: string
          description: ''
        timeout:
          type: integer
          format: int32
        user_input_cmd:
          type: array
          items:
            $ref: '#/components/schemas/typesUserInputCommand'
          description: ''
    typesProtocol:
      title: typesProtocol
      enum:
      - UNKNOWN_PROTOCOL
      - SSH
      - HTTP
      type: string
      description: >-
        Protocol to use to communicate with device.

         - SSH: SSH Protocol
         - HTTP: HTTP Protocol
    CommandResultPair:
      title: CommandResultPair
      type: object
      properties:
        command:
          type: string
        result:
          type: string
    typesCommitInfo:
      title: typesCommitInfo
      type: object
      properties:
        comment:
          type: string
          description: >-
            Junos allows user to add comment to each commit.

            This comment will be pushed to device along with commit command or confirm. It is only used for SET command.
        synchronize:
          type: boolean
          description: Virtual chassis (VC) having multiple RE to commit configuration in both master and backup.
        auto_confirmed_commit_timeout:
          type: integer
          description: >-
            Specify the time in seconds to commit the confirmed configuration, so that DCS will first push configuration

            with confirm commit timeout greater than this field and then send commit after the

            time period of auto_confirmed_commit_timeout value.
          format: int32
        commit_check:
          type: boolean
          description: Junos allows user to do commit check the configuration to validate. It is only used for SET command.
    typesConnData:
      title: typesConnData
      type: object
      properties:
        time_stamp:
          type: string
          description: time stamp when the connection is UP.
        endpoint:
          type: string
        connection_id:
          type: string
    typesDeviceInfo:
      title: typesDeviceInfo
      type: object
      properties:
        subSystem:
          allOf:
          - $ref: '#/components/schemas/typesSubSystem'
          - description: >-
              SubSystem to use to communicate with device, applicable for SSH protocol.

               - Netconf: Netconf subsystem
               - Cli: Cli subsystem
        networkOS:
          type: string
        vendor:
          type: string
        UUID:
          type: string
        family:
          type: string
        component:
          type: string
        auth:
          allOf:
          - $ref: '#/components/schemas/typesAuthInfo'
          - description: AuthInfo username and password to connect to device.
        routingEngines:
          type: array
          items:
            type: string
          description: ''
        lastConfigSyncedTimeStamp:
          type: string
        members:
          type: array
          items:
            $ref: '#/components/schemas/typesMember'
          description: ''
        chassisType:
          $ref: '#/components/schemas/typesChassisType'
        protocol:
          allOf:
          - $ref: '#/components/schemas/typesProtocol'
          - description: >-
              Protocol to use to communicate with device.

               - SSH: SSH Protocol
               - HTTP: HTTP Protocol
        hardwareModel:
          type: string
        OSVersion:
          type: string
        Name:
          type: string
      description: DeviceInfo is the object in which the device details for command are passed from clients to deviceplugins.
    -ALLreturnslistoffconnectionsheldbyallDCSpods-PARTICULARreturnslistofconnectionheldbythatparticularDCSpod:
      title: -ALLreturnslistoffconnectionsheldbyallDCSpods-PARTICULARreturnslistofconnectionheldbythatparticularDCSpod
      enum:
      - ALL
      - PARTICULAR
      type: string
    typesManagementInfo:
      title: typesManagementInfo
      type: object
      properties:
        retry:
          type: integer
          description: Number of time to retry in case connection to device not established.
          format: int32
        vendor:
          type: string
        device_uuid:
          type: string
        ip:
          type: string
        retry_interval:
          type: integer
          description: time interval in seconds to retry.
          format: int32
        host_name:
          type: string
        auth_info:
          allOf:
          - $ref: '#/components/schemas/typesAuthInfo'
          - description: AuthInfo username and password to connect to device.
        port:
          type: integer
          format: int32
      description: ManagementInfo contains the information necessary to dail out device connection.
    typesStreamGetResponse:
      title: typesStreamGetResponse
      type: object
      properties:
        chunk_data:
          type: string
        error_code:
          allOf:
          - $ref: '#/components/schemas/ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues'
          - description: >-
              - NoError: returns default no error to the caller
               - ConnectionError: ConnectionError if there is connection lost to device
               - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
               - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
               - CommitFailed: CommitFailed returned when configuration to device fail
               - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
               - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
               - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
        error:
          type: string
      description: StreamGetResponse sends data in chunks.
    GetCommandResponse:
      title: GetCommandResponse
      type: object
      properties:
        error_code:
          allOf:
          - $ref: '#/components/schemas/ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues'
          - description: >-
              - NoError: returns default no error to the caller
               - ConnectionError: ConnectionError if there is connection lost to device
               - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
               - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
               - CommitFailed: CommitFailed returned when configuration to device fail
               - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
               - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
               - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
        result:
          type: array
          items:
            $ref: '#/components/schemas/CommandResultPair'
          description: ''
        error:
          type: string
    v1DisconnectDeviceRequest:
      title: v1DisconnectDeviceRequest
      type: object
      properties:
        device_uuid:
          type: string
    v1GetDeviceConnectionsResponse:
      title: v1GetDeviceConnectionsResponse
      type: object
      properties:
        pod_connections:
          type: array
          items:
            $ref: '#/components/schemas/v1PodConnections'
          description: returns list of device connections held by each DCS pod having UUIDs.
    typesCloseStreamingCmdResponse:
      title: typesCloseStreamingCmdResponse
      type: object
      properties:
        status:
          $ref: '#/components/schemas/StatusofRequest'
        error:
          type: string
      description: 'close long running device command eg: closing syslog channel over netconf.'
    v1PodConnections:
      title: v1PodConnections
      type: object
      properties:
        connection_data:
          type: array
          items:
            $ref: '#/components/schemas/typesConnData'
          description: ''
        pod_ip:
          type: string
    dcsv1GetRequest:
      title: dcsv1GetRequest
      type: object
      properties:
        device_info:
          allOf:
          - $ref: '#/components/schemas/typesDeviceInfo'
          - description: DeviceInfo is the object in which the device details for command are passed from clients to deviceplugins.
        command:
          type: array
          items:
            type: string
          description: ''
        timeout:
          type: integer
          format: int32
        user_input_cmd:
          type: array
          items:
            $ref: '#/components/schemas/typesUserInputCommand'
          description: ''
    openlongrunningdevicecommandovernetconfegsyslog:
      title: openlongrunningdevicecommandovernetconfegsyslog
      type: object
      properties:
        status:
          $ref: '#/components/schemas/StatusofRequest'
        error:
          type: string
        error_code:
          allOf:
          - $ref: '#/components/schemas/ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues'
          - description: >-
              - NoError: returns default no error to the caller
               - ConnectionError: ConnectionError if there is connection lost to device
               - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
               - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
               - CommitFailed: CommitFailed returned when configuration to device fail
               - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
               - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
               - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
        command_id:
          type: string
    typesEphemeralInfo:
      title: typesEphemeralInfo
      type: object
      properties:
        ephemeral_open_cmd:
          type: string
          description: >-
            Junos devices allow user to open ephemeral database and push the configuration.

            command to open ephemeral database.
        ephemeral_close_cmd:
          type: string
          description: command to close ephemeral database after pushing configuration to device.
    typesCommandControl:
      title: typesCommandControl
      type: object
      properties:
        chunks:
          type: string
        start:
          type: boolean
          description: start of the command.
        end:
          type: boolean
          description: end of the command.
    dcsv1SetRequest:
      title: dcsv1SetRequest
      type: object
      properties:
        commit_info:
          $ref: '#/components/schemas/typesCommitInfo'
        device_info:
          allOf:
          - $ref: '#/components/schemas/typesDeviceInfo'
          - description: DeviceInfo is the object in which the device details for command are passed from clients to deviceplugins.
        command:
          type: array
          items:
            type: string
          description: ''
        ephemeral_info:
          $ref: '#/components/schemas/typesEphemeralInfo'
        timeout:
          type: integer
          format: int32
    Connectdeviceresponse:
      title: Connectdeviceresponse
      type: object
      properties:
        status:
          $ref: '#/components/schemas/StatusofRequest'
        error:
          type: string
    runtimeStreamError:
      title: runtimeStreamError
      type: object
      properties:
        message:
          type: string
        grpcCode:
          type: integer
          format: int32
        httpStatus:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
          description: ''
        httpCode:
          type: integer
          format: int32
    OperationalCommandResponse:
      title: OperationalCommandResponse
      type: object
      properties:
        error_code:
          allOf:
          - $ref: '#/components/schemas/ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues'
          - description: >-
              - NoError: returns default no error to the caller
               - ConnectionError: ConnectionError if there is connection lost to device
               - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
               - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
               - CommitFailed: CommitFailed returned when configuration to device fail
               - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
               - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
               - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
        result:
          type: array
          items:
            $ref: '#/components/schemas/CommandResultPair'
          description: ''
        error:
          type: string
    protobufAny:
      title: protobufAny
      type: object
      properties:
        typeUrl:
          type: string
          description: >-
            A URL/resource name that uniquely identifies the type of the serialized

            protocol buffer message. This string must contain at least

            one "/" character. The last segment of the URL's path must represent

            the fully qualified name of the type (as in

            `path/google.protobuf.Duration`). The name should be in a canonical form

            (e.g., leading "." is not accepted).


            In practice, teams usually precompile into the binary all types that they

            expect it to use in the context of Any. However, for URLs which use the

            scheme `http`, `https`, or no scheme, one can optionally set up a type

            server that maps type URLs to message definitions as follows:


            * If no scheme is provided, `https` is assumed.

            * An HTTP GET on the URL must yield a [google.protobuf.Type][]
              value in binary format, or produce an error.
            * Applications are allowed to cache lookup results based on the
              URL, or have them precompiled into a binary to avoid any
              lookup. Therefore, binary compatibility needs to be preserved
              on changes to types. (Use versioned type names to manage
              breaking changes.)

            Note: this functionality is not currently available in the official

            protobuf release, and it is not used for type URLs beginning with

            type.googleapis.com.


            Schemes other than `http`, `https` (or the empty scheme) might be

            used with implementation specific semantics.
        value:
          type: string
          description: Must be a valid serialized protocol buffer of the above specified type.
      description: >-
        `Any` contains an arbitrary serialized protocol buffer message along with a

        URL that describes the type of the serialized message.


        Protobuf library provides support to pack/unpack Any values in the form

        of utility functions or additional generated methods of the Any type.


        Example 1: Pack and unpack a message in C++.

            Foo foo = ...;
            Any any;
            any.PackFrom(foo);
            ...
            if (any.UnpackTo(&foo)) {
              ...
            }

        Example 2: Pack and unpack a message in Java.

            Foo foo = ...;
            Any any = Any.pack(foo);
            ...
            if (any.is(Foo.class)) {
              foo = any.unpack(Foo.class);
            }

         Example 3: Pack and unpack a message in Python.

            foo = Foo(...)
            any = Any()
            any.Pack(foo)
            ...
            if any.Is(Foo.DESCRIPTOR):
              any.Unpack(foo)
              ...

         Example 4: Pack and unpack a message in Go

             foo := &pb.Foo{...}
             any, err := ptypes.MarshalAny(foo)
             ...
             foo := &pb.Foo{}
             if err := ptypes.UnmarshalAny(any, foo); err != nil {
               ...
             }

        The pack methods provided by protobuf library will by default use

        'type.googleapis.com/full.type.name' as the type URL and the unpack

        methods only use the fully qualified type name after the last '/'

        in the type URL, for example "foo.bar.com/x/y.z" will yield type

        name "y.z".



        JSON

        ====

        The JSON representation of an `Any` value uses the regular

        representation of the deserialized, embedded message, with an

        additional field `@type` which contains the type URL. Example:

            package google.profile;
            message Person {
              string first_name = 1;
              string last_name = 2;
            }

            {
              "@type": "type.googleapis.com/google.profile.Person",
              "firstName": <string>,
              "lastName": <string>
            }

        If the embedded message type is well-known and has a custom JSON

        representation, that representation will be embedded adding a field

        `value` which holds the custom JSON in addition to the `@type`

        field. Example (for message [google.protobuf.Duration][]):

            {
              "@type": "type.googleapis.com/google.protobuf.Duration",
              "value": "1.212s"
            }
    typesConnectionStatus:
      title: typesConnectionStatus
      enum:
      - UNKNOWN_CONNECTION_STATUS
      - UP
      - DOWN
      type: string
      description: >-
        ConnectionStatus use to publish device connection status UP/DOWN.

         - UP: device connection status UP
         - DOWN: device connection status down
    StatusofRequest:
      title: StatusofRequest
      enum:
      - UNKNOWN_STATUS
      - SUCCESS
      - FAILURE
      type: string
    typesStreamSetResponse:
      title: typesStreamSetResponse
      type: object
      properties:
        status:
          $ref: '#/components/schemas/StatusofRequest'
        error_code:
          allOf:
          - $ref: '#/components/schemas/ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues'
          - description: >-
              - NoError: returns default no error to the caller
               - ConnectionError: ConnectionError if there is connection lost to device
               - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
               - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
               - CommitFailed: CommitFailed returned when configuration to device fail
               - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
               - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
               - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
        error:
          type: string
      description: StreamSetResponse contains the result of executing huge configuration on device.
    typesSubSystem:
      title: typesSubSystem
      enum:
      - UNKNOWN_SUBSYSTEM
      - Netconf
      - Cli
      type: string
      description: >-
        SubSystem to use to communicate with device, applicable for SSH protocol.

         - Netconf: Netconf subsystem
         - Cli: Cli subsystem
    typesAuthInfo:
      title: typesAuthInfo
      type: object
      properties:
        password:
          type: string
        user:
          type: string
          description: user name to ssh to device.
        ssh_key:
          type: string
          description: ssh public key of the device.
      description: AuthInfo username and password to connect to device.
    v1Callback:
      title: v1Callback
      type: object
      properties:
        endpoint:
          type: string
        uri:
          type: string
    typesSetResponse:
      title: typesSetResponse
      type: object
      properties:
        status:
          $ref: '#/components/schemas/StatusofRequest'
        index:
          type: integer
          format: int32
        error_code:
          allOf:
          - $ref: '#/components/schemas/ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues'
          - description: >-
              - NoError: returns default no error to the caller
               - ConnectionError: ConnectionError if there is connection lost to device
               - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
               - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
               - CommitFailed: CommitFailed returned when configuration to device fail
               - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
               - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
               - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
        error:
          type: string
      description: SetResponse contains the result of executing configuration commands on device.
    v1ConnectDeviceRequest:
      title: v1ConnectDeviceRequest
      type: object
      properties:
        edge_uuid:
          type: string
        least_used:
          type: boolean
          description: >-
            flag used to identify least used DCS pod.

            If it sets true which means already least used pod computation is done

            and invoking particular pod instead of dcs service.
        management_info:
          allOf:
          - $ref: '#/components/schemas/typesManagementInfo'
          - description: ManagementInfo contains the information necessary to dail out device connection.
    typesMember:
      title: typesMember
      type: object
      properties:
        loginConnectionState:
          allOf:
          - $ref: '#/components/schemas/typesConnectionStatus'
          - description: >-
              ConnectionStatus use to publish device connection status UP/DOWN.

               - UP: device connection status UP
               - DOWN: device connection status down
        serialNumber:
          type: string
        role:
          type: string
        id:
          type: string
        Name:
          type: string
    Disconnectdeviceresponse:
      title: Disconnectdeviceresponse
      type: object
      properties:
        status:
          $ref: '#/components/schemas/StatusofRequest'
        error:
          type: string
tags:
- name: ConnectivityService
  description: ''
