swagger: '2.0'
info:
  description: Configuration for VM Device resource.
  version: 'v2'
  title: vm_device
host: 'adm.cloud.com'
schemes:
 - https
# tags are used for organizing operations
tags:
  - name: vm_device
    description: VM Device
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/vm_device:
    get:
      tags:
        - vm_device
      summary: GET all vm_device
      operationId: getall_vm_device
      description: Use this operation to get VM 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 vm_device 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 vm_device 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 vm_device resources.
          enum:
            - yes
      responses:
        200:
          description:  for vm_device
          schema: 
              $ref: '#/definitions/getvm_devicesResponse'
        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/vm_device/{id}:
    get:
      tags:
        - vm_device
      summary: GET by key for vm_device
      operationId: getbykey_vm_device
      description: Use this operation to get VM 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 vm_device
          schema: 
              $ref: '#/definitions/getvm_deviceResponse'
        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:
  getvm_deviceResponse:
    type: object
    required:
      - vm_device
    properties:
      vm_device:
        $ref: '#/definitions/vm_device'
    title: getvm_deviceResponse
    example:
      vm_device:
        instance_classifier: "0"
        is_grace: "false"
        manufacturedate: "string_value"
        autoscalegroup_id: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        gateway_deployment: "false"
        std_bw_config: "0"
        is_fips_pooled_license_type: "0"
        gateway_ipv6: "string_value"
        instance_available: "0"
        instance_state: "Down"
        device_finger_print: "string_value"
        name: "nsroot"
        is_autoscale_group: "false"
        last_up_time: "number_value"
        mastools_version: "string_value"
        ent_bw_total: "0"
        ssh_port: "22"
        vcpu_config: "0"
        ssh_status: "Down"
        netmask: "255.255.255.0"
        device_uuid: "string_value"
        ent_bw_config: "0"
        version: "v2"
        datacenter_id: "string_value"
        instance_config: "0"
        instance_mode: "string_value"
        discovery_time: "number_value"
        public_dns: "string_value"
        instance_type: "string_value"
        std_bw_available: "0"
        sysid: "string_value"
        vm_state: "string_value"
        uuid: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        encoded_serialnumber: "string_value"
        instance_unique_id: "0"
        plt_bw_total: "0"
        host_ip_address: "string_value"
        id: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        ipv6_address: "string_value"
        mgmt_ip_address: "string_value"
        plt_bw_available: "0"
        cpufrequncy: "integer_value"
        device_family: "string_value"
        template_interval: "60"
        ha_sync: "string_value"
        ha_ip_address: "string_value"
        type: "string_value"
        throughput: "50000"
        status: "Success"
        gateway: "string_value"
        http_port: "80"
        internal_annotation: "NA"
        systemname: "string_value"
        geo_location: "string_value"
        isolation_policy: "string_value"
        provision_request_id: "48f867d1-3d10-4bfa-8498-604a57e67bc5"
        lb_role: "server"
        https_port: "443"
        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"
        region: "string_value"
        reason: "string_value"
        vpx_on_cloud: "-1"
        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: "7ed7946f-4af7-11e9-99d2-b6fe81a85d18"
        burst_priority: "1"
        routable: "false"
        do_config: "true"
        autoprovisioned: "false"
        host_id: "string_value"
        is_pooled_saas: "0"
        is_managed: "true"
        number_of_cpu: "2"
        instance_total: "0"
        is_ha_configured: "false"
        trust_id: "string_value"
        ipv4_address: "string_value"
        profile_name: "test_profile"
        is_swg: "false"
        seq_no: "number_value"
        dns: "string_value"
        servicepackage: "string_value"
        last_updated_time: "number_value"
        cloud: "string_value"
        uptime: "string_value"
        private_ip: "string_value"
        partition_id: "string_value"
        license_edition: "string_value"
        cpu_license_type: "0"
        location: "string_value"
        license_grace_time: "-1"
        contactperson: "string_value"
        public_ip: "string_value"
        bmcrevision: "-NA-"
        customer_name: "admTenant"
        vm_description: "NetScaler Virtual Appliance"
        parent_filters: "ARRAY(0x2b6049c)"
        max_burst_throughput: "5000"
        config_type: "0"
        node_id: "a2f7a85e-f388-4d2d-ae0e-646b4f66797e"
        ip_address: "1.1.1.1"
        ping_state: "integer_value"
        vpx_on_sdx: "-1"
        httpxforwardedfor: "string_value"
        std_bw_total: "0"
        display_name: "string_value"
        ami_id: "string_value"
        partition_name: "string_value"
        httpcookie: "ENABLED"
        plt_bw_config: "0"
        sslvpn_total: "0"
        agent_id: "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"
        file_name: "build-13.0-43.11_nc_64.tgz"
        act_id: "fce5b825-9217-4e58-b80c-48cfe8f0c6b3"
        do_instance_config: "true"
        profile_username: "string_value"
        default_password: "string_value"
        file_location_path: "C:\\myfiles"
        peer_host_device_ip: "string_value"
        sync_operation: "true"
        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"

  getvm_devicesResponse:
    type: object
    required:
      - vm_device
    properties:
      vm_device:
        type: array
        items:
          $ref: '#/definitions/vm_device'
    title: getvm_devicesResponse
    example:
      vm_device:
        instance_classifier: "0"
        is_grace: "false"
        manufacturedate: "string_value"
        autoscalegroup_id: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        gateway_deployment: "false"
        std_bw_config: "0"
        is_fips_pooled_license_type: "0"
        gateway_ipv6: "string_value"
        instance_available: "0"
        instance_state: "Down"
        device_finger_print: "string_value"
        name: "nsroot"
        is_autoscale_group: "false"
        last_up_time: "number_value"
        mastools_version: "string_value"
        ent_bw_total: "0"
        ssh_port: "22"
        vcpu_config: "0"
        ssh_status: "Down"
        netmask: "255.255.255.0"
        device_uuid: "string_value"
        ent_bw_config: "0"
        version: "v2"
        datacenter_id: "string_value"
        instance_config: "0"
        instance_mode: "string_value"
        discovery_time: "number_value"
        public_dns: "string_value"
        instance_type: "string_value"
        std_bw_available: "0"
        sysid: "string_value"
        vm_state: "string_value"
        uuid: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        encoded_serialnumber: "string_value"
        instance_unique_id: "0"
        plt_bw_total: "0"
        host_ip_address: "string_value"
        id: "c970e730-6bc5-44c2-a2bf-8dd1382ffb5f"
        ipv6_address: "string_value"
        mgmt_ip_address: "string_value"
        plt_bw_available: "0"
        cpufrequncy: "integer_value"
        device_family: "string_value"
        template_interval: "60"
        ha_sync: "string_value"
        ha_ip_address: "string_value"
        type: "string_value"
        throughput: "50000"
        status: "Success"
        gateway: "string_value"
        http_port: "80"
        internal_annotation: "NA"
        systemname: "string_value"
        geo_location: "string_value"
        isolation_policy: "string_value"
        provision_request_id: "48f867d1-3d10-4bfa-8498-604a57e67bc5"
        lb_role: "server"
        https_port: "443"
        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"
        region: "string_value"
        reason: "string_value"
        vpx_on_cloud: "-1"
        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: "7ed7946f-4af7-11e9-99d2-b6fe81a85d18"
        burst_priority: "1"
        routable: "false"
        do_config: "true"
        autoprovisioned: "false"
        host_id: "string_value"
        is_pooled_saas: "0"
        is_managed: "true"
        number_of_cpu: "2"
        instance_total: "0"
        is_ha_configured: "false"
        trust_id: "string_value"
        ipv4_address: "string_value"
        profile_name: "test_profile"
        is_swg: "false"
        seq_no: "number_value"
        dns: "string_value"
        servicepackage: "string_value"
        last_updated_time: "number_value"
        cloud: "string_value"
        uptime: "string_value"
        private_ip: "string_value"
        partition_id: "string_value"
        license_edition: "string_value"
        cpu_license_type: "0"
        location: "string_value"
        license_grace_time: "-1"
        contactperson: "string_value"
        public_ip: "string_value"
        bmcrevision: "-NA-"
        customer_name: "admTenant"
        vm_description: "NetScaler Virtual Appliance"
        parent_filters: "ARRAY(0x2b6049c)"
        max_burst_throughput: "5000"
        config_type: "0"
        node_id: "a2f7a85e-f388-4d2d-ae0e-646b4f66797e"
        ip_address: "1.1.1.1"
        ping_state: "integer_value"
        vpx_on_sdx: "-1"
        httpxforwardedfor: "string_value"
        std_bw_total: "0"
        display_name: "string_value"
        ami_id: "string_value"
        partition_name: "string_value"
        httpcookie: "ENABLED"
        plt_bw_config: "0"
        sslvpn_total: "0"
        agent_id: "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"
        file_name: "build-13.0-43.11_nc_64.tgz"
        act_id: "fce5b825-9217-4e58-b80c-48cfe8f0c6b3"
        do_instance_config: "true"
        profile_username: "string_value"
        default_password: "string_value"
        file_location_path: "C:\\myfiles"
        peer_host_device_ip: "string_value"
        sync_operation: "true"
        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"

  vm_device_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
      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
      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
      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
      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
      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
      gateway:
        description: "Default Gateway of managed device"
        type: string
        format: IP Address
        minLength: 1
        maxLength: 64
      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
      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
      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
      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
      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
      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
      servicepackage:
        description: "Service Package Name of the device"
        type: string
        format: string
      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
      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
      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
      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
      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'

  vm_device:
    allOf:
      -
        properties:
          id:
            description: Id is system generated key for all the managed devices
            type: string
            format: string
          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
          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
          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
          sysid:
             description: "System ID"
             type: string
             format: string
          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
          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
          cpufrequncy:
             description: "CPU Frequency (MHZ)"
             type: integer
             format: int32
          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
          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
          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
          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
          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
          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
          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
          bmcrevision:
             description: "BMC Firmware Version"
             type: string
             format: string
          vm_description:
             description: "Description of the VM instance"
             type: string
             format: string
             minLength: 1
             maxLength: 64
          vpx_on_sdx:
             description: "VPX hosted on SDX: 1= Yes, 0= No"
             type: integer
             format: int32
          ami_id:
             description: "AMI ID of the managed device (if hosted on AWS)"
             type: string
             format: string
          httpcookie:
             description: "Cookie-Header flag."
             type: string
             format: string
             minLength: 1
             maxLength: 10
          act_id:
             description: "Activity Id"
             type: string
             format: uuid
      - $ref: '#/definitions/vm_device_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"
