List Virtual Network Appliances

Summary

List all visible Virtual Network Appliances.

Type

  • List

Synchronous/Asynchronous

  • Synchronous

Request

HTTP Request Method

  • GET

HTTP Request Path

{api_endpoint}/v1.0/virtual_network_appliances

HTTP Request Header

Content-Type: application/json
Accept: application/json
X-Auth-Token: <token_id>

注釈

  • Field names in HTTP request header are case-insensitive.

HTTP Request Body

Parameters

Input Parameters
name style datatype format description required/optional default value action for invalid parameter response code for invalid parameter
token_id Header String Non-Hyph-uuid keystone authentication token required   Terminate 401
name Query String String(0-255) Name of the Virtual Network Appliance optional      
id Query String Hyph-uuid ID of the Virtual Network Appliance optional      
appliance_type Query String String(0-255) Type of appliance optional      
description Query String String(0-255) Description of the Virtual Network Appliance optional      
availability_zone Query String String(0-255) Availability Zone, this can be referred to using Virtual Server (Nova)’s list availability zones optional      
os_monitoring_status Query String String(0-255) OS Monitoring Status optional      
os_login_status Query String String(0-255) OS Login Status optional      
vm_status Query String String(0-255) VM Status optional      
operation_status Query String String(0-255) Operation Status optional      
virtual_network_appliance_plan_id Query String Hyph-uuid ID of the Virtual Network Appliance Plan optional      
tenant_id Query String Non-Hyph-uuid Tenant ID of the owner (UUID) optional      

Response

Response Header

Format

HTTP/1.1 <response_code> <message>       (ex. 200 OK)
  • <response_code>: see "HTTP Responses" section
  • <message>: message based on the response code

Response Code

Response Codes
response code condition
200 OK
401 Unauthorized
500 Internal Server Error

Response Body

Format

{
  "virtual_network_appliances": [
    {
      "name": "<name>",
      "id": "<id>",
      "appliance_type": "<appliance_type>",
      "description": "<description>",
      "availability_zone": "<availability_zone>",
      "os_monitoring_status": "<os_monitoring_status>",
      "os_login_status": "<os_login_status>",
      "vm_status": "<vm_status>",
      "operation_status" : "<operation_status>",
      "virtual_network_appliance_plan_id": "<virtual_network_appliance_plan_id>",
      "tenant_id": "<tenant_id>",
      "tags": {},
      "interfaces": {
        "interface_<slot_number>": {
          "name": "<name>",
          "description": "<description>",
          "network_id": "<network_id>",
          "updatable": "<updatable>",
          "tags": {},
          "fixed_ips": [
            {
              "ip_address": "<ip_address>",
              "subnet_id": "<subnet_id>"
            }
          ],
          "allowed_address_pairs":[
            {
              "ip_address": "<ip_address>",
              "mac_address": "<mac_address>",
              "type": "<type>",
              "vrid": "<vrid>"
            }
          ]
        }
      }
    }
  ]
}

Parameters

Response Parameters
item datatype format description
virtual_network_appliances Array<Object> -  
name String String(0-255) Name of the Virtual Network Appliance
id String Hyph-uuid It identifies a Virtual Network Appliance uniquely.
appliance_type String String(0-255) Type of appliance
description String String(0-255) Description of the Virtual Network Appliance
availability_zone String String(0-255) Availability Zone, this can be referred to using Virtual Server (Nova)’s list availability zones
os_monitoring_status String String(0-255) OS Monitoring Status
os_login_status String String(0-255) OS Login Status
vm_status String String(0-255) VM Status
operation_status String String(0-255) Operation Status
virtual_network_appliance_plan_id String Hyph-uuid It identifies a Virtual Network Appliance Plan uniquely.
tenant_id String Non-Hyph-uuid Tenant ID of the owner (UUID)
tags Object - Tags of the Virtual Network Appliance
interfaces Object - Attached interfaces
interfaces.interface_<slot_number> Object -  
interfaces.interface_<slot_number>.name String String(0-255) Name of the Interface
interfaces.interface_<slot_number>.description String String(0-255) Description of the Interface
interfaces.interface_<slot_number>.network_id String Hyph-uuid The ID of network this Interface belongs to.
interfaces.interface_<slot_number>.updatable Boolean -  
interfaces.interface_<slot_number>.tags Object - Tags of the Interface
interfaces.interface_<slot_number>.fixed_ips Array<Object> - List of fixes IP addresses assign to Interface.
interfaces.interface_<slot_number>.fixed_ips.ip_address String Ipv4 The IP address assign to Interface within subnet.
interfaces.interface_<slot_number>.fixed_ips.subnet_id String Hyph-uuid The ID of subnet from which IP address is allocated.
interfaces.interface_<slot_number>.allowed_address_pairs Array<Object> - Allowed address pairs
interfaces.interface_<slot_number>.allowed_address_pairs.ip_address String Ipv4  
interfaces.interface_<slot_number>.allowed_address_pairs.mac_address String Mac_Address  
interfaces.interface_<slot_number>.allowed_address_pairs.type String String(0-255)  
interfaces.interface_<slot_number>.allowed_address_pairs.vrid Integer Integer(0-255)  

Sample Request and Response

Sample API Request

Request URI

https://{api_endpoint}/v1.0/virtual_network_appliances

Request Header

Content-Type: application/json
Accept: application/json
X-Auth-Token: 69105c889f824efdafb56af224208ad4

Request Body

This operation does not send a request body.

Sample API response

Response Header

HTTP/1.1 200 OK

Response Body

{
  "virtual_network_appliances": [
    {
      "name": "virtual_network_appliance_name",
      "id": "a80c1728-cc0c-11e6-8080-525400060300",
      "appliance_type": "ECL::VirtualNetworkAppliance::VSRX",
      "description": "virtual_network_appliance_name_description",
      "availability_zone": "zone1-groupa",
      "os_monitoring_status": "ACTIVE",
      "os_login_status": "ACTIVE",
      "vm_status": "ACTIVE",
      "operation_status" : "ACTIVE",
      "virtual_network_appliance_plan_id": "b0cdb8c5-aaf0-48eb-81ac-f211b54da53c",
      "tenant_id": "13572f6f42a74d2b82f7099f78d0393a",
      "tags": {},
      "interfaces": {
        "interface_1": {
          "name": "interface_1_name",
          "description": "interface_1_description",
          "network_id": "0967afc2-73a8-4c1f-869a-54c3b07dc199",
          "updatable": true,
          "tags": {},
          "fixed_ips": [
            {
              "ip_address": "192.168.0.1",
              "subnet_id": "8c2cdf01-1aa5-49e4-9c8b-34bba452fe88"
            }
          ],
          "allowed_address_pairs":[
            {
              "ip_address": "192.168.0.100",
              "mac_address": "00:00:5e:00:01:0a",
              "type": "vrrp",
              "vrid": 10
            }
          ]
        }
        (snip)
      }
    }
  ]
}

Example Error Message

HTTP Request

GET /v1.0/virtual_network_appliances HTTP/1.1
User-Agent: curl/7.51.0
Host: 10.1.131.140
Accept:application/json
X-Auth-Token:4e54395a12b740d585d74190ba4eb14b
Content-Type: application/json

HTTP Response

HTTP/1.1 500 Internal Server Error
Server: nginx
Date: Wed, 07 Feb 2018 06:49:20 GMT
Content-Type: application/json
Content-Length: 40
Connection: keep-alive

{
  "cause": "Internal Server Error"
}