swagger: '2.0'
info:
  description: Configuration for NetScaler resource.
  version: 'v2'
  title: ns
host: 'adm.cloud.com'
schemes:
 - https
# tags are used for organizing operations
tags:
  - name: ns
    description: NetScaler
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  UserSecurity:
    type: basic
security:
  - UserSecurity: []
parameters:
  idParam:
   name: id
   in: path
   type: string
   description: Id is system generated key for all the managed devices
   required: true
  authParam:
      in: header
      name: Authorization
      type: string
      required: true
      description: Session Id for authentication.Should be mentioned in the format CwsAuth bearer=sessionIdValue
  cloudParam:
      in: header
      name: isCloud
      type: string
      required: true
      description: set the value to true in case of Cloud services, false for on-prem deployment
paths:
  /massvc/{customerid}/nitro/v2/config/ns:
    get:
      tags:
        - ns
      summary: GET all ns
      operationId: getall_ns
      description: Use this operation to get NetScaler Instance
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: path
          name: customerid
          type: string
          required: true
          description: Customer Id of the user
        - in: header
          name: Authorization
          type: string
          required: true
          description: Session Id for authentication.Should be mentioned in the format CwsAuth bearer=sessionIdValue
        - in: header
          name: isCloud
          type: string
          required: true
          description: set the value to true in case of Cloud services, false for on-prem deployment
        - in: query
          name: filter
          type: string
          required: false
          description: "Use this query-parameter to get the filtered set of vm_device resources configured on the system. You can set a filter on any property of the resource.Example:  property-name1:property-value1 "
        - in: query
          name: pagesize
          type: integer
          required: false
          description: Use this query-parameter to get the ns resources in chunks.To be used along with pageno query parameter.
        - in: query
          name: pageno
          type: integer
          required: false
          description: Use this query-parameter to get the ns resources in chunks.To be used along with pagesize query parameter.
        - in: query
          name: count
          type: string
          required: false
          description: Use this query-parameter to get the count of ns resources.
          enum:
            - yes
      responses:
        200:
          description:  for ns
          schema: 
              $ref: '#/definitions/getnssResponse'
        400:
          description: Bad input parameter
          schema: 
              $ref: '#/definitions/Error'
        401:
          description: Failed Authentication
          schema: 
              $ref: '#/definitions/Error'
        403:
          description: Unauthorized
          schema: 
              $ref: '#/definitions/Error'
        404:
          description: Item not found
          schema: 
              $ref: '#/definitions/Error'
        409:
          description: Resource Conflict
          schema: 
              $ref: '#/definitions/Error'
        500:
          description: Server Error
          schema: 
              $ref: '#/definitions/Error'
        504:
          description: Gateway Timeout
          schema: 
              $ref: '#/definitions/Error'

  /massvc/{customerid}/nitro/v2/config/ns/{id}:
    get:
      tags:
        - ns
      summary: GET by key for ns
      operationId: getbykey_ns
      description: Use this operation to get NetScaler Instance
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/idParam'
        - in: path
          name: customerid
          type: string
          required: true
          description: Customer Id of the user
        - in: header
          name: Authorization
          type: string
          required: true
          description: Session Id for authentication.Should be mentioned in the format CwsAuth bearer=sessionIdValue
        - in: header
          name: isCloud
          type: string
          required: true
          description: set the value to true in case of Cloud services, false for on-prem deployment
      responses:
        200:
          description:  for ns
          schema: 
              $ref: '#/definitions/getnsResponse'
        400:
          description: Bad input parameter
          schema: 
              $ref: '#/definitions/Error'
        401:
          description: Failed Authentication
          schema: 
              $ref: '#/definitions/Error'
        403:
          description: Unauthorized
          schema: 
              $ref: '#/definitions/Error'
        404:
          description: Item not found
          schema: 
              $ref: '#/definitions/Error'
        409:
          description: Resource Conflict
          schema: 
              $ref: '#/definitions/Error'
        500:
          description: Server Error
          schema: 
              $ref: '#/definitions/Error'
        504:
          description: Gateway Timeout
          schema: 
              $ref: '#/definitions/Error'

    post:
      tags:
        - ns
      summary: POST operation with actions for ns
      operationId: post_ns_actions
      description: POST operation with actions for ns
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/idParam'
        - in: path
          name: customerid
          type: string
          required: true
          description: Customer Id of the user
        - in: header
          name: Authorization
          type: string
          required: true
          description: Session Id for authentication.Should be mentioned in the format CwsAuth bearer=sessionIdValue
        - in: header
          name: isCloud
          type: string
          required: true
          description: set the value to true in case of Cloud services, false for on-prem deployment
        - in: query
          name: action
          type: string
          required: true
          enum: [reboot,unmanage,manage]
          description: >
            actions:
              * `reboot` - Use this operation to reboot NetScaler Instance
              * `unmanage` - Use this operation to unmanage NetScaler Instance
              * `manage` - Use this operation to manage NetScaler Instance

        - in: body
          name: ns
          description: ns object
          schema:
              $ref: '#/definitions/addnsRequest'
      responses:
        200:
          description: manage for ns
          schema: 
              $ref: '#/definitions/addnsResponse'
        400:
          description: Bad input parameter
          schema: 
              $ref: '#/definitions/Error'
        401:
          description: Failed Authentication
          schema: 
              $ref: '#/definitions/Error'
        403:
          description: Unauthorized
          schema: 
              $ref: '#/definitions/Error'
        404:
          description: Item not found
          schema: 
              $ref: '#/definitions/Error'
        409:
          description: Resource Conflict
          schema: 
              $ref: '#/definitions/Error'
        500:
          description: Server Error
          schema: 
              $ref: '#/definitions/Error'
        504:
          description: Gateway Timeout
          schema: 
              $ref: '#/definitions/Error'

definitions:
  addnsRequest:
    type: object
    required:
      - ns
    properties:
      ns:
        $ref: '#/definitions/ns_readwrite'
    title: addnsRequest
    example:
      ns:
        instance_classifier: "0"
        autoscalegroup_id: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        gateway_deployment: "false"
        std_bw_config: "0"
        ns_ip_address: "1.1.1.1"
        gateway_ipv6: "string_value"
        instance_available: "0"
        device_finger_print: "string_value"
        name: "string_value"
        is_autoscale_group: "false"
        ns_observationdomainName: "Default"
        last_up_time: "number_value"
        mastools_version: "string_value"
        ent_bw_total: "0"
        ssh_port: "integer_value"
        vcpu_config: "0"
        netmask: "255.255.255.0"
        netprofile: "skpnetprofile1"
        ent_bw_config: "0"
        datacenter_id: "string_value"
        instance_config: "0"
        instance_mode: "string_value"
        discovery_time: "number_value"
        bot_signature_version: "Default"
        number_of_ssl_cores_up: "0"
        std_bw_available: "0"
        plt_bw_total: "0"
        host_ip_address: "string_value"
        ipv6_address: "string_value"
        mgmt_ip_address: "string_value"
        plt_bw_available: "0"
        is_clip: "false"
        device_family: "string_value"
        template_interval: "60"
        type: "string_value"
        throughput: "50000"
        ns_observationdomainid: "string_value"
        gateway: "string_value"
        waf_signature_version: "Default"
        http_port: "integer_value"
        internal_annotation: "NA"
        iscco: "false"
        isolation_policy: "string_value"
        provision_request_id: "48f867d1-3d10-4bfa-8498-604a57e67bc5"
        lb_role: "server"
        https_port: "integer_value"
        license: "Enterprise"
        domain_name: "string_value"
        snmp_port: "integer_value"
        image_name: "NSVPX-XEN-13.0-47.24_nc_64.xva.gz"
        hostname: "string_value"
        pre_auth_key: "string_value"
        ent_bw_available: "0"
        description: "Provisioned on 10 Jan 18"
        geo_support: "false"
        sslvpn_config: "0"
        sysservices: "number_value"
        num_pes: "0"
        burst_priority: "1"
        routable: "false"
        autoprovisioned: "false"
        metrics_collection: "true"
        is_managed: "true"
        instance_total: "0"
        is_ha_configured: "false"
        trust_id: "string_value"
        ipv4_address: "string_value"
        profile_name: "string_value"
        backplane: "1/1/1"
        servicepackage: "string_value"
        state: "string_value"
        last_updated_time: "number_value"
        license_edition: "string_value"
        partition_id: "string_value"
        customid: "Default"
        number_of_ssl_cards: "0"
        max_burst_throughput: "5000"
        config_type: "0"
        cmd_policy: "true"
        node_id: "string_value"
        ip_address: "string_value"
        httpxforwardedfor: "string_value"
        display_name: "string_value"
        std_bw_total: "0"
        partition_name: "string_value"
        plt_bw_config: "0"
        sslvpn_total: "0"
        agent_id: "string_value"
        peer_device_ip: "1.1.1.2"
        profile_password: "string_value"
        prev_trust_id: "string_value"
        file_name: "string_value"
        save_config: "false"
        profile_username: "string_value"
        file_location_path: "string_value"
        peer_host_device_ip: "string_value"
        LS_IP: " "
        device_host_ip: "1.1.1.1"
        is_re_register: "false"
        tr_task_id: "string_value"
        entity_tag: [{        prop_value: "string_value"
,        prop_key: "string_value"
}]

  addnsResponse:
    type: object
    required:
      - ns
    properties:
      ns:
        $ref: '#/definitions/ns'
    title: addnsResponse
    example:
      ns:
        instance_classifier: "0"
        clusterid: "2"
        is_grace: "false"
        manufacturedate: "string_value"
        autoscalegroup_id: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        gateway_deployment: "false"
        std_bw_config: "0"
        ns_ip_address: "1.1.1.1"
        is_fips_pooled_license_type: "0"
        gateway_ipv6: "string_value"
        instance_available: "0"
        instance_state: "Down"
        device_finger_print: "string_value"
        name: "string_value"
        is_autoscale_group: "false"
        ns_observationdomainName: "Default"
        diskavail: "0"
        last_up_time: "number_value"
        mastools_version: "string_value"
        ent_bw_total: "0"
        disk1_used: "0"
        ssh_port: "integer_value"
        vcpu_config: "0"
        clip: "1.1.1.1"
        ssh_status: "Down"
        netmask: "255.255.255.0"
        device_uuid: "string_value"
        netprofile: "skpnetprofile1"
        ent_bw_config: "0"
        version: "string_value"
        datacenter_id: "string_value"
        instance_config: "0"
        instance_mode: "string_value"
        discovery_time: "number_value"
        health: "string_value"
        public_dns: "string_value"
        bot_signature_version: "Default"
        number_of_ssl_cores_up: "0"
        instance_type: "string_value"
        std_bw_available: "0"
        disksize: "0"
        sysid: "string_value"
        nodeid: "1"
        instance_name: "string_value"
        vm_state: "string_value"
        uuid: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        disk1_free: "0"
        encoded_serialnumber: "string_value"
        instance_unique_id: "0"
        plt_bw_total: "0"
        host_ip_address: "string_value"
        disk0_total: "0"
        id: "string_value"
        ipv6_address: "string_value"
        mgmt_ip_address: "string_value"
        plt_bw_available: "0"
        cpufrequncy: "integer_value"
        is_clip: "false"
        device_family: "string_value"
        template_interval: "60"
        http_req: "0"
        ha_sync: "string_value"
        ha_ip_address: "string_value"
        nic_discards_in: "0"
        disk0_free: "0"
        type: "string_value"
        throughput: "50000"
        ns_observationdomainid: "string_value"
        nic_discards_out: "0"
        node_state: "UP"
        status: "string_value"
        gateway: "string_value"
        waf_signature_version: "Default"
        http_port: "integer_value"
        internal_annotation: "NA"
        systemname: "string_value"
        geo_location: "string_value"
        ns_memory_usage: "0"
        iscco: "false"
        isolation_policy: "string_value"
        instance_id: "string_value"
        provision_request_id: "48f867d1-3d10-4bfa-8498-604a57e67bc5"
        lb_role: "server"
        https_port: "integer_value"
        license: "Enterprise"
        domain_name: "string_value"
        serialnumber: "string_value"
        snmp_port: "integer_value"
        subnet_id: "string_value"
        image_name: "NSVPX-XEN-13.0-47.24_nc_64.xva.gz"
        hostname: "string_value"
        ha_master_state: "string_value"
        vpc_id: "string_value"
        vnc_console_url: "string_value"
        httpquerywithurl: "ENABLED"
        pre_auth_key: "string_value"
        region: "string_value"
        reason: "string_value"
        vpx_on_cloud: "-1"
        ns_total_tx: "0"
        ent_bw_available: "0"
        description: "Provisioned on 10 Jan 18"
        geo_support: "false"
        is_pooled_license: "false"
        upsince: "string_value"
        sslvpn_config: "0"
        security_group: "string_value"
        private_dns: "string_value"
        user_driven: "true"
        zone: "string_value"
        model_id: "string_value"
        sysservices: "number_value"
        host_type: "string_value"
        tenant_id: "string_value"
        ns_mgmt_cpu_usage: "0"
        num_pes: "0"
        burst_priority: "1"
        routable: "false"
        port_range: "string_value"
        do_config: "true"
        autoprovisioned: "false"
        metrics_collection: "true"
        host_id: "string_value"
        is_pooled_saas: "0"
        is_managed: "true"
        system_hardwareversion: "NSMPX-10500 8*CPU+2*E1K+8*E1K+2*IX+8*CVM 1620"
        ns_tx: "0"
        number_of_cpu: "2"
        instance_total: "0"
        is_ha_configured: "false"
        trust_id: "string_value"
        ipv4_address: "string_value"
        profile_name: "string_value"
        seq_no: "number_value"
        is_swg: "false"
        dns: "string_value"
        backplane: "1/1/1"
        diskused: "0"
        servicepackage: "string_value"
        state: "string_value"
        task_id: "string_value"
        last_updated_time: "number_value"
        cloud: "string_value"
        uptime: "string_value"
        private_ip: "string_value"
        license_edition: "string_value"
        partition_id: "string_value"
        cpu_license_type: "0"
        upsince_persisted: "Mon Feb  3 23:22:01 2020"
        location: "string_value"
        customid: "Default"
        contactperson: "string_value"
        license_grace_time: "-1"
        public_ip: "string_value"
        ns_cpu_usage: "0"
        bmcrevision: "-NA-"
        customer_name: "string_value"
        number_of_ssl_cards: "0"
        ns_rx: "0"
        vm_description: "NetScaler Virtual Appliance"
        user_profile_name: "ns_nsroot_profile"
        parent_filters: "ARRAY(0x2c38424)"
        max_burst_throughput: "5000"
        config_type: "0"
        cmd_policy: "true"
        node_id: "string_value"
        diskperusage: "0"
        ip_address: "string_value"
        ping_state: "integer_value"
        httpxforwardedfor: "string_value"
        vpx_on_sdx: "-1"
        disk1_total: "0"
        display_name: "string_value"
        std_bw_total: "0"
        ami_id: "string_value"
        disk0_used: "0"
        ns_total_rx: "0"
        partition_name: "string_value"
        plt_bw_config: "0"
        httpcookie: "ENABLED"
        sslvpn_total: "0"
        agent_id: "string_value"
        config_progress_status: "string_value"
        formation_instance_id: "string_value"
        peer_device_ip: "1.1.1.2"
        parent_inventory: "boolean_value"
        profile_password: "string_value"
        register_failed_device: "false"
        prev_trust_id: "string_value"
        EULA: "false"
        file_name: "string_value"
        act_id: "fce5b825-9217-4e58-b80c-48cfe8f0c6b3"
        diff_exists: "false"
        num_ports: "0"
        save_config: "false"
        do_instance_config: "true"
        profile_username: "string_value"
        start_port: "0"
        default_password: "string_value"
        file_location_path: "string_value"
        peer_host_device_ip: "string_value"
        sync_operation: "true"
        LS_IP: " "
        device_host_ip: "1.1.1.1"
        is_re_register: "false"
        tr_task_id: "string_value"
        entity_tag: [{        prop_value: "string_value"
,        prop_key: "string_value"
}]
        force_password_change: "false"

  getnsResponse:
    type: object
    required:
      - ns
    properties:
      ns:
        $ref: '#/definitions/ns'
    title: getnsResponse
    example:
      ns:
        instance_classifier: "0"
        clusterid: "2"
        is_grace: "false"
        manufacturedate: "string_value"
        autoscalegroup_id: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        gateway_deployment: "false"
        std_bw_config: "0"
        ns_ip_address: "1.1.1.1"
        is_fips_pooled_license_type: "0"
        gateway_ipv6: "string_value"
        instance_available: "0"
        instance_state: "Down"
        device_finger_print: "string_value"
        name: "string_value"
        is_autoscale_group: "false"
        ns_observationdomainName: "Default"
        diskavail: "0"
        last_up_time: "number_value"
        mastools_version: "string_value"
        ent_bw_total: "0"
        disk1_used: "0"
        ssh_port: "integer_value"
        vcpu_config: "0"
        clip: "1.1.1.1"
        ssh_status: "Down"
        netmask: "255.255.255.0"
        device_uuid: "string_value"
        netprofile: "skpnetprofile1"
        ent_bw_config: "0"
        version: "string_value"
        datacenter_id: "string_value"
        instance_config: "0"
        instance_mode: "string_value"
        discovery_time: "number_value"
        health: "string_value"
        public_dns: "string_value"
        bot_signature_version: "Default"
        number_of_ssl_cores_up: "0"
        instance_type: "string_value"
        std_bw_available: "0"
        disksize: "0"
        sysid: "string_value"
        nodeid: "1"
        instance_name: "string_value"
        vm_state: "string_value"
        uuid: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        disk1_free: "0"
        encoded_serialnumber: "string_value"
        instance_unique_id: "0"
        plt_bw_total: "0"
        host_ip_address: "string_value"
        disk0_total: "0"
        id: "string_value"
        ipv6_address: "string_value"
        mgmt_ip_address: "string_value"
        plt_bw_available: "0"
        cpufrequncy: "integer_value"
        is_clip: "false"
        device_family: "string_value"
        template_interval: "60"
        http_req: "0"
        ha_sync: "string_value"
        ha_ip_address: "string_value"
        nic_discards_in: "0"
        disk0_free: "0"
        type: "string_value"
        throughput: "50000"
        ns_observationdomainid: "string_value"
        nic_discards_out: "0"
        node_state: "UP"
        status: "string_value"
        gateway: "string_value"
        waf_signature_version: "Default"
        http_port: "integer_value"
        internal_annotation: "NA"
        systemname: "string_value"
        geo_location: "string_value"
        ns_memory_usage: "0"
        iscco: "false"
        isolation_policy: "string_value"
        instance_id: "string_value"
        provision_request_id: "48f867d1-3d10-4bfa-8498-604a57e67bc5"
        lb_role: "server"
        https_port: "integer_value"
        license: "Enterprise"
        domain_name: "string_value"
        serialnumber: "string_value"
        snmp_port: "integer_value"
        subnet_id: "string_value"
        image_name: "NSVPX-XEN-13.0-47.24_nc_64.xva.gz"
        hostname: "string_value"
        ha_master_state: "string_value"
        vpc_id: "string_value"
        vnc_console_url: "string_value"
        httpquerywithurl: "ENABLED"
        pre_auth_key: "string_value"
        region: "string_value"
        reason: "string_value"
        vpx_on_cloud: "-1"
        ns_total_tx: "0"
        ent_bw_available: "0"
        description: "Provisioned on 10 Jan 18"
        geo_support: "false"
        is_pooled_license: "false"
        upsince: "string_value"
        sslvpn_config: "0"
        security_group: "string_value"
        private_dns: "string_value"
        user_driven: "true"
        zone: "string_value"
        model_id: "string_value"
        sysservices: "number_value"
        host_type: "string_value"
        tenant_id: "string_value"
        ns_mgmt_cpu_usage: "0"
        num_pes: "0"
        burst_priority: "1"
        routable: "false"
        port_range: "string_value"
        do_config: "true"
        autoprovisioned: "false"
        metrics_collection: "true"
        host_id: "string_value"
        is_pooled_saas: "0"
        is_managed: "true"
        system_hardwareversion: "NSMPX-10500 8*CPU+2*E1K+8*E1K+2*IX+8*CVM 1620"
        ns_tx: "0"
        number_of_cpu: "2"
        instance_total: "0"
        is_ha_configured: "false"
        trust_id: "string_value"
        ipv4_address: "string_value"
        profile_name: "string_value"
        seq_no: "number_value"
        is_swg: "false"
        dns: "string_value"
        backplane: "1/1/1"
        diskused: "0"
        servicepackage: "string_value"
        state: "string_value"
        task_id: "string_value"
        last_updated_time: "number_value"
        cloud: "string_value"
        uptime: "string_value"
        private_ip: "string_value"
        license_edition: "string_value"
        partition_id: "string_value"
        cpu_license_type: "0"
        upsince_persisted: "Mon Feb  3 23:22:01 2020"
        location: "string_value"
        customid: "Default"
        contactperson: "string_value"
        license_grace_time: "-1"
        public_ip: "string_value"
        ns_cpu_usage: "0"
        bmcrevision: "-NA-"
        customer_name: "string_value"
        number_of_ssl_cards: "0"
        ns_rx: "0"
        vm_description: "NetScaler Virtual Appliance"
        user_profile_name: "ns_nsroot_profile"
        parent_filters: "ARRAY(0x2c38424)"
        max_burst_throughput: "5000"
        config_type: "0"
        cmd_policy: "true"
        node_id: "string_value"
        diskperusage: "0"
        ip_address: "string_value"
        ping_state: "integer_value"
        httpxforwardedfor: "string_value"
        vpx_on_sdx: "-1"
        disk1_total: "0"
        display_name: "string_value"
        std_bw_total: "0"
        ami_id: "string_value"
        disk0_used: "0"
        ns_total_rx: "0"
        partition_name: "string_value"
        plt_bw_config: "0"
        httpcookie: "ENABLED"
        sslvpn_total: "0"
        agent_id: "string_value"
        config_progress_status: "string_value"
        formation_instance_id: "string_value"
        peer_device_ip: "1.1.1.2"
        parent_inventory: "boolean_value"
        profile_password: "string_value"
        register_failed_device: "false"
        prev_trust_id: "string_value"
        EULA: "false"
        file_name: "string_value"
        act_id: "fce5b825-9217-4e58-b80c-48cfe8f0c6b3"
        diff_exists: "false"
        num_ports: "0"
        save_config: "false"
        do_instance_config: "true"
        profile_username: "string_value"
        start_port: "0"
        default_password: "string_value"
        file_location_path: "string_value"
        peer_host_device_ip: "string_value"
        sync_operation: "true"
        LS_IP: " "
        device_host_ip: "1.1.1.1"
        is_re_register: "false"
        tr_task_id: "string_value"
        entity_tag: [{        prop_value: "string_value"
,        prop_key: "string_value"
}]
        force_password_change: "false"

  getnssResponse:
    type: object
    required:
      - ns
    properties:
      ns:
        type: array
        items:
          $ref: '#/definitions/ns'
    title: getnssResponse
    example:
      ns:
        instance_classifier: "0"
        clusterid: "2"
        is_grace: "false"
        manufacturedate: "string_value"
        autoscalegroup_id: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        gateway_deployment: "false"
        std_bw_config: "0"
        ns_ip_address: "1.1.1.1"
        is_fips_pooled_license_type: "0"
        gateway_ipv6: "string_value"
        instance_available: "0"
        instance_state: "Down"
        device_finger_print: "string_value"
        name: "string_value"
        is_autoscale_group: "false"
        ns_observationdomainName: "Default"
        diskavail: "0"
        last_up_time: "number_value"
        mastools_version: "string_value"
        ent_bw_total: "0"
        disk1_used: "0"
        ssh_port: "integer_value"
        vcpu_config: "0"
        clip: "1.1.1.1"
        ssh_status: "Down"
        netmask: "255.255.255.0"
        device_uuid: "string_value"
        netprofile: "skpnetprofile1"
        ent_bw_config: "0"
        version: "string_value"
        datacenter_id: "string_value"
        instance_config: "0"
        instance_mode: "string_value"
        discovery_time: "number_value"
        health: "string_value"
        public_dns: "string_value"
        bot_signature_version: "Default"
        number_of_ssl_cores_up: "0"
        instance_type: "string_value"
        std_bw_available: "0"
        disksize: "0"
        sysid: "string_value"
        nodeid: "1"
        instance_name: "string_value"
        vm_state: "string_value"
        uuid: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        disk1_free: "0"
        encoded_serialnumber: "string_value"
        instance_unique_id: "0"
        plt_bw_total: "0"
        host_ip_address: "string_value"
        disk0_total: "0"
        id: "string_value"
        ipv6_address: "string_value"
        mgmt_ip_address: "string_value"
        plt_bw_available: "0"
        cpufrequncy: "integer_value"
        is_clip: "false"
        device_family: "string_value"
        template_interval: "60"
        http_req: "0"
        ha_sync: "string_value"
        ha_ip_address: "string_value"
        nic_discards_in: "0"
        disk0_free: "0"
        type: "string_value"
        throughput: "50000"
        ns_observationdomainid: "string_value"
        nic_discards_out: "0"
        node_state: "UP"
        status: "string_value"
        gateway: "string_value"
        waf_signature_version: "Default"
        http_port: "integer_value"
        internal_annotation: "NA"
        systemname: "string_value"
        geo_location: "string_value"
        ns_memory_usage: "0"
        iscco: "false"
        isolation_policy: "string_value"
        instance_id: "string_value"
        provision_request_id: "48f867d1-3d10-4bfa-8498-604a57e67bc5"
        lb_role: "server"
        https_port: "integer_value"
        license: "Enterprise"
        domain_name: "string_value"
        serialnumber: "string_value"
        snmp_port: "integer_value"
        subnet_id: "string_value"
        image_name: "NSVPX-XEN-13.0-47.24_nc_64.xva.gz"
        hostname: "string_value"
        ha_master_state: "string_value"
        vpc_id: "string_value"
        vnc_console_url: "string_value"
        httpquerywithurl: "ENABLED"
        pre_auth_key: "string_value"
        region: "string_value"
        reason: "string_value"
        vpx_on_cloud: "-1"
        ns_total_tx: "0"
        ent_bw_available: "0"
        description: "Provisioned on 10 Jan 18"
        geo_support: "false"
        is_pooled_license: "false"
        upsince: "string_value"
        sslvpn_config: "0"
        security_group: "string_value"
        private_dns: "string_value"
        user_driven: "true"
        zone: "string_value"
        model_id: "string_value"
        sysservices: "number_value"
        host_type: "string_value"
        tenant_id: "string_value"
        ns_mgmt_cpu_usage: "0"
        num_pes: "0"
        burst_priority: "1"
        routable: "false"
        port_range: "string_value"
        do_config: "true"
        autoprovisioned: "false"
        metrics_collection: "true"
        host_id: "string_value"
        is_pooled_saas: "0"
        is_managed: "true"
        system_hardwareversion: "NSMPX-10500 8*CPU+2*E1K+8*E1K+2*IX+8*CVM 1620"
        ns_tx: "0"
        number_of_cpu: "2"
        instance_total: "0"
        is_ha_configured: "false"
        trust_id: "string_value"
        ipv4_address: "string_value"
        profile_name: "string_value"
        seq_no: "number_value"
        is_swg: "false"
        dns: "string_value"
        backplane: "1/1/1"
        diskused: "0"
        servicepackage: "string_value"
        state: "string_value"
        task_id: "string_value"
        last_updated_time: "number_value"
        cloud: "string_value"
        uptime: "string_value"
        private_ip: "string_value"
        license_edition: "string_value"
        partition_id: "string_value"
        cpu_license_type: "0"
        upsince_persisted: "Mon Feb  3 23:22:01 2020"
        location: "string_value"
        customid: "Default"
        contactperson: "string_value"
        license_grace_time: "-1"
        public_ip: "string_value"
        ns_cpu_usage: "0"
        bmcrevision: "-NA-"
        customer_name: "string_value"
        number_of_ssl_cards: "0"
        ns_rx: "0"
        vm_description: "NetScaler Virtual Appliance"
        user_profile_name: "ns_nsroot_profile"
        parent_filters: "ARRAY(0x2c38424)"
        max_burst_throughput: "5000"
        config_type: "0"
        cmd_policy: "true"
        node_id: "string_value"
        diskperusage: "0"
        ip_address: "string_value"
        ping_state: "integer_value"
        httpxforwardedfor: "string_value"
        vpx_on_sdx: "-1"
        disk1_total: "0"
        display_name: "string_value"
        std_bw_total: "0"
        ami_id: "string_value"
        disk0_used: "0"
        ns_total_rx: "0"
        partition_name: "string_value"
        plt_bw_config: "0"
        httpcookie: "ENABLED"
        sslvpn_total: "0"
        agent_id: "string_value"
        config_progress_status: "string_value"
        formation_instance_id: "string_value"
        peer_device_ip: "1.1.1.2"
        parent_inventory: "boolean_value"
        profile_password: "string_value"
        register_failed_device: "false"
        prev_trust_id: "string_value"
        EULA: "false"
        file_name: "string_value"
        act_id: "fce5b825-9217-4e58-b80c-48cfe8f0c6b3"
        diff_exists: "false"
        num_ports: "0"
        save_config: "false"
        do_instance_config: "true"
        profile_username: "string_value"
        start_port: "0"
        default_password: "string_value"
        file_location_path: "string_value"
        peer_host_device_ip: "string_value"
        sync_operation: "true"
        LS_IP: " "
        device_host_ip: "1.1.1.1"
        is_re_register: "false"
        tr_task_id: "string_value"
        entity_tag: [{        prop_value: "string_value"
,        prop_key: "string_value"
}]
        force_password_change: "false"

  ns_readwrite:
    type: object
    properties:
      instance_classifier:
        description: "Value based on which certain features may be enabled/disabled in NetScaler Console for the instance"
        type: integer
        format: int32
      autoscalegroup_id:
        description: "Autoscalegroup ID"
        type: string
        format: uuid
      gateway_deployment:
        description: "Is this device acting as Gateway."
        type: boolean
        format: boolean
      std_bw_config:
        description: "Standard Bandwidth running"
        type: integer
        format: int32
      ns_ip_address:
        description: "NetScaler IP Address for this managed device"
        type: string
        format: IP Address
        minLength: 1
        maxLength: 128
      gateway_ipv6:
        description: "Gateway IPv6 Address"
        type: string
        format: string
      instance_available:
        description: "Instance license available"
        type: integer
        format: int32
      device_finger_print:
        description: "Fingerprint/thumb-print from UMS public certificate for SSL communication"
        type: string
        format: string
      name:
        description: "Name of managed device"
        type: string
        format: string
        minLength: 1
        maxLength: 128
      is_autoscale_group:
        description: "Does this device belong to an Autoscale Group."
        type: boolean
        format: boolean
      ns_observationdomainName:
        description: "ns_observationdomainName"
        type: string
        format: string
        minLength: 1
        maxLength: 512
      last_up_time:
        description: "Last time when the device was seen up"
        type: number
        format: int64
      mastools_version:
        description: "Mastools version if the device is embedded agent"
        type: string
        format: string
      ent_bw_total:
        description: "Enterprise Bandwidth Total"
        type: integer
        format: int32
      ssh_port:
        description: "SSH port of the container."
        type: integer
        format: int32
      vcpu_config:
        description: "Number of vCPU allocated for the device"
        type: integer
        format: int32
      netmask:
        description: "Netmask of managed device"
        type: string
        format: IP Address
        minLength: 1
        maxLength: 64
      netprofile:
        description: "Net Profile"
        type: string
        format: string
      ent_bw_config:
        description: "Enterprise Bandwidth configured"
        type: integer
        format: int32
      datacenter_id:
        description: "Datacenter Id is system generated key for data center"
        type: string
        format: string
      instance_config:
        description: "Instance license running"
        type: integer
        format: int32
      instance_mode:
        description: "Denotes state- primary,secondary,clip,clusternode"
        type: string
        format: string
      discovery_time:
        description: "discovery time"
        type: number
        format: int64
      bot_signature_version:
        description: "NetScaler Bot Default signature version"
        type: string
        format: string
        minLength: 1
        maxLength: 256
      number_of_ssl_cores_up:
        description: "Number of SSL Cores Up"
        type: integer
        format: int32
      std_bw_available:
        description: "Standard Bandwidth Available"
        type: integer
        format: int32
      plt_bw_total:
        description: "Total Platinum Bandwidth"
        type: integer
        format: int32
      host_ip_address:
        description: "Host IPAddress where VM is provisioned"
        type: string
        format: IP Address
        minLength: 1
        maxLength: 64
      ipv6_address:
        description: "IPv6 Address"
        type: string
        format: string
      mgmt_ip_address:
        description: "Management IP Address for this Managed Device"
        type: string
        format: IP Address
        minLength: 1
        maxLength: 64
      plt_bw_available:
        description: "Platinum Bandwidth Available"
        type: integer
        format: int32
      is_clip:
        description: "Is Clip"
        type: boolean
        format: boolean
      device_family:
        description: "Device Family"
        type: string
        format: string
        minLength: 1
        maxLength: 64
      template_interval:
        description: "Template refresh interval"
        type: integer
        format: int32
      type:
        description: "Type of device, (Xen | NS)"
        type: string
        format: string
        minLength: 1
        maxLength: 64
      throughput:
        description: "Assign throughput in Mbps to VM Instance"
        type: number
        format: double
      ns_observationdomainid:
        description: "ns_observationdomainid"
        type: string
        format: string
        minLength: 1
        maxLength: 64
      gateway:
        description: "Default Gateway of managed device"
        type: string
        format: IP Address
        minLength: 1
        maxLength: 64
      waf_signature_version:
        description: "NetScaler WAF Default signature version"
        type: string
        format: string
        minLength: 1
        maxLength: 256
      http_port:
        description: "HTTP port of the container."
        type: integer
        format: int32
      internal_annotation:
        description: "Internal annotation used by NetScaler Console.Example, if a device is marked for delete"
        type: string
        format: string
      iscco:
        description: "Is CCO"
        type: boolean
        format: boolean
      isolation_policy:
        description: "Isolation Policy of the Device"
        type: string
        format: string
      provision_request_id:
        description: "Value is set only if the instance was provisioned from NetScaler Console"
        type: string
        format: uuid
      lb_role:
        description: "LB role performed by the device: North-South (Ingress or server), or East-West (client)"
        type: string
        format: string
      https_port:
        description: "HTTPS port of the container."
        type: integer
        format: int32
      license:
        description: "Feature License for NetScaler Instance, needs to be set while provisioning (standard, enterprise, platinum)"
        type: string
        format: string
        minLength: 1
        maxLength: 64
      domain_name:
        description: "Domain name of VM Device"
        type: string
        format: string
        minLength: 1
        maxLength: 128
      snmp_port:
        description: "SNMP port of the container."
        type: integer
        format: int32
      image_name:
        description: "Image Name, This parameter is used while provisioning VM Instance with XVA image, template_name is given priority if provided along with image_name"
        type: string
        format: string
        minLength: 1
        maxLength: 128
      hostname:
        description: "Assign hostname to managed device, if this is not provided, name will be set as host name "
        type: string
        format: string
        minLength: 1
        maxLength: 256
      pre_auth_key:
        description: "Shared secret that used for orchestration deployment"
        type: string
        format: string
      description:
        description: "Description of managed device"
        type: string
        format: string
        minLength: 1
        maxLength: 512
      ent_bw_available:
        description: "Enterprise Bandwidth configured"
        type: integer
        format: int32
      geo_support:
        description: "Is this device configured to support GEO location."
        type: boolean
        format: boolean
      sslvpn_config:
        description: "sslvpn license maximum"
        type: integer
        format: int32
      sysservices:
        description: "System Services"
        type: number
        format: int64
      burst_priority:
        description: "Burst Priority of the VM Instance between 1 and 4"
        type: integer
        format: int32
      num_pes:
        description: "Total number of PEs"
        type: integer
        format: int32
      routable:
        description: "Whether the device is reachable or not"
        type: boolean
        format: boolean
      autoprovisioned:
        description: "Device is auto-provisioned or not"
        type: boolean
        format: boolean
      metrics_collection:
        description: "Flag to check if metrics collection is enabled or disabled."
        type: boolean
        format: boolean
      is_managed:
        description: "Is Managed"
        type: boolean
        format: boolean
      instance_total:
        description: "Instance license"
        type: integer
        format: int32
      is_ha_configured:
        description: "Is HA configured"
        type: boolean
        format: boolean
      trust_id:
        description: "Device ID obtained from trust service"
        type: string
        format: string
      ipv4_address:
        description: "IPv4 Address"
        type: string
        format: IP Address
        minLength: 1
        maxLength: 64
      profile_name:
        description: "Device Profile Name that is attached with this managed device"
        type: string
        format: string
        minLength: 1
        maxLength: 128
      backplane:
        description: "Backplane Interface"
        type: string
        format: string
        minLength: 1
      servicepackage:
        description: "Service Package Name of the device"
        type: string
        format: string
      state:
        description: "Node State"
        type: string
        format: string
        minLength: 1
        maxLength: 32
      last_updated_time:
        description: "Last Updated Time"
        type: number
        format: int64
      license_edition:
        description: "Edition of instance"
        type: string
        format: string
      partition_id:
        description: "ID of admin partition"
        type: string
        format: string
      customid:
        description: "Custom ID"
        type: string
        format: string
      number_of_ssl_cards:
        description: "Number of SSL Cards"
        type: integer
        format: int32
      max_burst_throughput:
        description: "Maximum burst throughput in Mbps of VM Instance"
        type: number
        format: double
      config_type:
        description: "Configuration Type. Values: 0: IPv4, 1: IPv6, 2: Both"
        type: integer
        format: int32
      cmd_policy:
        description: "true if you want to allow shell/sftp/scp access to NetScaler Instance administrator"
        type: string
        format: string
        minLength: 1
        maxLength: 1024
      node_id:
        description: "Node identification of a device"
        type: string
        format: string
      ip_address:
        description: "IP Address for this managed device"
        type: string
        format: IP Address
        minLength: 1
        maxLength: 64
      httpxforwardedfor:
        description: "HTTP x-Forwardedfor header flag."
        type: string
        format: string
        minLength: 1
        maxLength: 10
      display_name:
        description: "Display Name for this managed device. For HA pair it will be A-B, and for Cluster it will be CLIP"
        type: string
        format: string
        minLength: 1
        maxLength: 128
      std_bw_total:
        description: "Standard Bandwidth"
        type: integer
        format: int32
      partition_name:
        description: "NetScaler Admin Partition Name"
        type: string
        format: string
        maxLength: 512
      plt_bw_config:
        description: "Platinum Bandwidth configured"
        type: integer
        format: int32
      sslvpn_total:
        description: "sslvpn license"
        type: integer
        format: int32
      agent_id:
        description: "Agent Id"
        type: string
        format: string
      peer_device_ip:
        description: "Peer Device IP address for instance of type BLX ADC."
        type: string
        format: ipaddress
        minLength: 1
        maxLength: 64
      profile_password:
        description: "Password specified by the user for this NetScaler Instance."
        type: string
        format: password
        minLength: 1
        maxLength: 128
      prev_trust_id:
        description: "Previous trust ID of the mastools device"
        type: string
        format: string
      file_name:
        description: "File name which contains comma separated instances to be  discovered"
        type: string
        format: string
        minLength: 1
        maxLength: 128
      save_config:
        description: "Should config be saved first in case instance is rebooted while modify"
        type: boolean
        format: boolean
      profile_username:
        description: "User Name specified by the user for this NetScaler Instance."
        type: string
        format: string
        minLength: 1
        maxLength: 128
      file_location_path:
        description: "File Location on Client for upload/download"
        type: string
        format: string
        minLength: 1
      peer_host_device_ip:
        description: "Peer Host Device IP Address for instance of type BLX ADC."
        type: string
        format: ipaddress
        minLength: 1
        maxLength: 64
      LS_IP:
        description: "License server IP address"
        type: string
        format: string
      device_host_ip:
        description: "Device Host IP Address for instance of type BLX ADC."
        type: string
        format: ipaddress
        minLength: 1
        maxLength: 64
      is_re_register:
        description: "If set to true, NetScaler Console will re-register the instance by first deleting it then adding it"
        type: boolean
        format: boolean
      tr_task_id:
        description: "Task Id used by Triton to identify NS"
        type: string
        format: string
      entity_tag:
        type: array
        items:
          $ref: '#/definitions/property_map_readwrite'

  ns:
    allOf:
      -
        properties:
          id:
            description: Id is system generated key for all the managed devices
            type: string
            format: string
          clusterid:
             description: "Cluster Id"
             type: integer
             format: int32
          manufacturedate:
             description: "Manufacture Date"
             type: string
             format: string
          is_fips_pooled_license_type:
             description: "FIPS BW license : 0 = No FIPS BW License, 1 = FIPS BW Pool license"
             type: integer
             format: int32
          instance_state:
             description: "State of device, UP only if device accessible"
             type: string
             format: string
             minLength: 1
             maxLength: 64
          diskavail:
             description: "NetScaler Disk Available(MB)"
             type: integer
             format: int32
          disk1_used:
             description: "Disk1 used space in percentage"
             type: number
             format: double
          clip:
             description: "Cluster IP Address"
             type: string
             format: IP Address
             minLength: 1
             maxLength: 64
          ssh_status:
             description: "SSH Status of device, UP only if device accessible on SSH"
             type: string
             format: string
             minLength: 1
             maxLength: 64
          device_uuid:
             description: "Device UUID"
             type: string
             format: string
          version:
             description: "Device Version"
             type: string
             format: string
             minLength: 1
             maxLength: 256
          health:
             description: "Node Health"
             type: string
             format: string
             minLength: 1
          public_dns:
             description: "Public DNS of the managed device"
             type: string
             format: string
          instance_type:
             description: "Instance type indicates the deployment type of CPX"
             type: string
             format: string
          disksize:
             description: "NetScaler Disk Size(MB)"
             type: integer
             format: int32
          sysid:
             description: "System ID"
             type: string
             format: string
          nodeid:
             description: "Node Id"
             type: integer
             format: int32
          vm_state:
             description: "State of Virtual Machine (Running | Halted)"
             type: string
             format: string
             minLength: 1
             maxLength: 64
          uuid:
             description: "UUID of VM Instance generated by Hypervisor"
             type: string
             format: uuid
             minLength: 1
             maxLength: 128
          disk1_free:
             description: "Disk1 free space in MB"
             type: number
             format: double
          encoded_serialnumber:
             description: "Encoded Serial Number"
             type: string
             format: string
             minLength: 1
             maxLength: 64
          instance_unique_id:
             description: "32 bit unique Integer id generated by NetScaler NetScaler Console for this device"
             type: integer
             format: int32
          disk0_total:
             description: "Disk0 total space in MB"
             type: number
             format: double
          cpufrequncy:
             description: "CPU Frequency (MHZ)"
             type: integer
             format: int32
          http_req:
             description: "HTTP Requests/second"
             type: number
             format: double
          ha_sync:
             description: "HA Synchronization State"
             type: string
             format: string
             minLength: 1
             maxLength: 64
          ha_ip_address:
             description: "Peer IP Address"
             type: string
             format: IP Address
             minLength: 1
             maxLength: 64
          nic_discards_in:
             description: "nic discards on incoming packets"
             type: number
             format: double
          disk0_free:
             description: "Disk0 Free space in MB"
             type: number
             format: double
          nic_discards_out:
             description: "nic discards on outgoing packets"
             type: number
             format: double
          node_state:
             description: "Node State of NetScaler Instance"
             type: string
             format: string
             minLength: 1
             maxLength: 32
          status:
             description: "Status of managed device"
             type: string
             format: string
             minLength: 1
             maxLength: 64
          systemname:
             description: "Device System Name"
             type: string
             format: string
             minLength: 1
             maxLength: 64
          geo_location:
             description: "Geo location of the managed device"
             type: string
             format: string
          ns_memory_usage:
             description: "Memory Usage (%)"
             type: number
             format: double
          instance_id:
             description: "Id of CPX instance"
             type: string
             format: string
          serialnumber:
             description: "Device Serial Number"
             type: string
             format: string
             minLength: 1
             maxLength: 64
          subnet_id:
             description: "in which the instance was launched. Subnet is a Range of IP addresses in a VPC (if hosted on AWS)"
             type: string
             format: string
          ha_master_state:
             description: "Master State (Primary/Secondary)"
             type: string
             format: string
             minLength: 1
             maxLength: 32
          vpc_id:
             description: "VPC ID of the managed device"
             type: string
             format: string
          httpquerywithurl:
             description: "URL query params flag."
             type: string
             format: string
             minLength: 1
             maxLength: 10
          reason:
             description: "Reason of failure for this managed device"
             type: string
             format: string
             minLength: 1
             maxLength: 1024
          region:
             description: "Region in which the managed device is hosted"
             type: string
             format: string
          vpx_on_cloud:
             description: "Cloud Platform of vpx: 0= On-Prem vpx, 1= AWS, 3=Azure, 4=GCP"
             type: integer
             format: int32
          ns_total_tx:
             description: "Total Tx of NetScaler Instance in Mbits"
             type: number
             format: double
          upsince:
             description: "Upsince of managed device"
             type: string
             format: string
             minLength: 1
             maxLength: 128
          private_dns:
             description: "Private DNS of the managed device"
             type: string
             format: string
          security_group:
             description: "virtual firewall that controls the traffic for one or more managed devices (if hosted on AWS)"
             type: string
             format: string
          model_id:
             description: "Device Model Id"
             type: string
             format: string
             minLength: 1
             maxLength: 64
          zone:
             description: "Zone in which the managed device is hosted"
             type: string
             format: string
          tenant_id:
             description: "Tenant ID"
             type: string
             format: string
             minLength: 1
             maxLength: 128
          ns_mgmt_cpu_usage:
             description: "Management CPU Usage (%)"
             type: number
             format: double
          do_config:
             description: "Do default config for managed device"
             type: boolean
             format: boolean
          host_id:
             description: "Host ID"
             type: string
             format: string
          is_pooled_saas:
             description: "Pooled Saas License available : 1, No Pooled Saas License available : 0"
             type: integer
             format: int32
          ns_tx:
             description: "Out Throughput of NetScaler Instance in Mbps"
             type: number
             format: double
          system_hardwareversion:
             description: "System Hardware Version"
             type: string
             format: string
          number_of_cpu:
             description: "Number of CPU that is assigned to VM Instance"
             type: integer
             format: int32
          is_swg:
             description: "Boolean to indicate whether a VM is SWG"
             type: boolean
             format: boolean
          diskused:
             description: "NetScaler Disk Used(MB)"
             type: integer
             format: int32
          cloud:
             description: "Cloud on which the managed device is hosted"
             type: string
             format: string
          uptime:
             description: "Uptime of device"
             type: string
             format: string
             minLength: 1
             maxLength: 128
          private_ip:
             description: "Private IP of the managed device"
             type: string
             format: string
          cpu_license_type:
             description: "VCPU license 0 = No VCPU License, 1 = VCPU Pool license"
             type: integer
             format: int32
          location:
             description: "Device Location"
             type: string
             format: string
             minLength: 1
             maxLength: 127
          contactperson:
             description: "Device contact person"
             type: string
             format: string
             minLength: 1
             maxLength: 64
          license_grace_time:
             description: "Grace for this NetScaler Instance."
             type: integer
             format: int32
          public_ip:
             description: "Public IP of the managed device"
             type: string
             format: string
          ns_cpu_usage:
             description: "CPU Usage (%) of NetScaler Instance"
             type: number
             format: double
          bmcrevision:
             description: "BMC Firmware Version"
             type: string
             format: string
          ns_rx:
             description: "In Throughput of NetScaler Instance in Mbps"
             type: number
             format: double
          vm_description:
             description: "Description of the VM instance"
             type: string
             format: string
             minLength: 1
             maxLength: 64
          diskperusage:
             description: "NetScaler Disk Utilization (%)"
             type: integer
             format: int32
          vpx_on_sdx:
             description: "VPX hosted on SDX: 1= Yes, 0= No"
             type: integer
             format: int32
          disk1_total:
             description: "Disk1 total space in MB"
             type: number
             format: double
          ami_id:
             description: "AMI ID of the managed device (if hosted on AWS)"
             type: string
             format: string
          disk0_used:
             description: "Disk0 used space in percentage"
             type: number
             format: double
          ns_total_rx:
             description: "Total Rx of NetScaler Instance in Mbits"
             type: number
             format: double
          httpcookie:
             description: "Cookie-Header flag."
             type: string
             format: string
             minLength: 1
             maxLength: 10
          act_id:
             description: "Activity Id"
             type: string
             format: uuid
          diff_exists:
             description: "Indicates whether config diff exists for this instances or not"
             type: boolean
             format: boolean
      - $ref: '#/definitions/ns_readwrite'

  property_map_readwrite:
    type: object
    properties:
      prop_value:
        description: "Property value"
        type: string
        format: string
        minLength: 1
        maxLength: 512
      prop_key:
        description: "Property key"
        type: string
        format: string
        minLength: 1
        maxLength: 128

  property_map:
    allOf:
      - $ref: '#/definitions/property_map_readwrite'

  Error:
    properties:
      errorcode:
        type: number
        format: int32
        example: 1001
      errormessage:
        type: string
        format: string
        example: "id cannot be found"
