Network > Load Balancer > API v2 Guide

To use the API, API endpoint and token are required. Prepare information required to use an API by referring to Preparations for Using the API

For Load Balancer, Listener, Pool, Health Monitor, and Member API, use network type endpoint. For Secret and Secret Container API, call the API by using the key-manager type endpoint. For the exact endpoint, see serviceCatalog in the response of token issuance.

Type Region Endpoint
network Korea (Pangyo) Region
Korea (Pyeongchon) Region
Japan Region
https://kr1-api-network.infrastructure.cloud.toast.com
https://kr2-api-network.infrastructure.cloud.toast.com
https://jp1-api-network.infrastructure.cloud.toast.com
key-manager Korea (Pangyo) Region
Korea (Pyeongchon) Region
Japan Region
https://kr1-api-key-manager.infrastructure.cloud.toast.com
https://kr2-api-key-manager.infrastructure.cloud.toast.com
https://jp1-api-key-manager.infrastructure.cloud.toast.com

In the API response, you may find fields that are not specified in the guide. Refrain from using them because such fields are only for the NHN Cloud internal usage and might be changed without prior notice.

Load Balancer

List Load Balancers

GET /v2.0/lbaas/loadbalancers
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
id Query UUID - Load balancer ID to query
name Query String - Land balancer name to query
provisioning_status Query Enum - Provisioning status of load balancer to query
description Query String - Description of load balancer to query
vip_address Query String - IP of load balancer to query
vip_port_id Query UUID - Port ID of load balancer to query
vip_subnet_id Query UUID - Subnet ID of load balancer to query
operating_status Query Enum - Operating status of load balancer to query
loadbalancer_type Query String - The type of load balancer to view
Either shared or dedicated

Response

Name Type Format Description
loadbalancers Body Array List of load balancer information objects
loadbalancers.description Body String Load balancer description
loadbalancers.provisioning_status Body Enum Provisioning status of load balancer
loadbalancers.tenant_id Body String Tenant ID
loadbalancers.provider Body String Provider of load balancer
loadbalancers.name Body String Name of load balancer
loadbalancers.listeners Body Object List of load balancer listener objects
loadbalancers.listeners.id Body UUID Listener ID
loadbalancers.vip_address Body String Load balancer IP
loadbalancers.vip_port_id Body UUID Port ID of load balancer
loadbalancers.vip_subnet_id Body UUID Subnet ID of load balancer
loadbalancers.id Body UUID Load balancer ID
loadbalancers.operating_status Body Enum Operating status of load balancer
loadbalancers.admin_state_up Body Boolean Administrator control status of load balancer
loadbalancers.ipacl_groups Body Object IP ACL group object applied to the load balancer
loadbalancers.ipacl_groups.ipacl_group_id Body UUID IP ACL group ID
loadbalancers.ipacl_action Body UUID The action of IP ACL groups applied to the load balancer
Should be one of the following: null, DENY, or ALLOW
loadbalancers.loadbalancer_type Body String Load Balancer Type
Either shared or dedicated
Example
{
  "loadbalancers": [
    {
      "ipacl_group_action": "DENY",
      "description": "",
      "provisioning_status": "ACTIVE",
      "tenant_id": "8258ab391d854e8b878642b737017a3b",
      "provider": "haproxy",
      "ipacl_groups": [
        {
          "ipacl_group_id": "04570ec5-456a-48ac-85ee-38adcc83ee70"
        }
      ],
      "name": "LB-1",
      "loadbalancer_type": "shared",
      "listeners": [
        {
          "id": "fe192219-0d4c-4145-9855-0af8c949dfe8"
        }
      ],
      "vip_address": "192.168.0.187",
      "vip_port_id": "f3764f0d-b0da-4be1-a61f-fc5e8914278a",
      "workflow_status": "SUCCESS",
      "vip_subnet_id": "dcb31578-1e16-407f-a117-a716795fabc4",
      "id": "7b4cef78-72b0-4c3c-9971-98763ef6284c",
      "operating_status": "ONLINE",
      "admin_state_up": true,
      "ipacl_groups": [
        {
         "ipacl_group_id": "79ebf206-3463-4df1-a54c-4fc939f8c26c"
         },
         {
         "ipacl_group_id": "947030cc-635f-42d3-b745-770cf7b562fd"
         }
       ],
       "ipacl_group_action": "DENY"
    }
  ]
}

Get Load Balancer

GET /v2.0/lbaas/loadbalancers/{loadbalancerId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
loadbalancerId URL UUID O Load balancer ID

Response

Name Type Format Description
loadbalancer Body Object Information object of load balancer
loadbalancer.description Body String Description of load balancer
loadbalancer.provisioning_status Body Enum Provisioning status of load balancer
loadbalancer.tenant_id Body String Tenant ID
loadbalancer.provider Body String Provider of load balancer
loadbalancer.name Body String Name of load balancer
loadbalancer.listeners Body Object List of load balancer listener objects
loadbalancer.listeners.id Body UUID Listener ID
loadbalancer.vip_address Body String Load balancer IP
loadbalancer.vip_port_id Body UUID Port ID of load balancer
loadbalancer.vip_subnet_id Body UUID Subnet ID of load balancer
loadbalancer.id Body UUID Load balancer ID
loadbalancer.operating_status Body Enum Operating status of load balancer
loadbalancer.admin_state_up Body Boolean Administrator control center of load balancer
loadbalancer.ipacl_groups Body Object IP ACL group object applied to the load balancer
loadbalancer.ipacl_groups.ipacl_group_id Body UUID IP ACL group ID
loadbalancer.ipacl_action Body UUID The action of IP ACL groups applied to the load balancer
Should be one of the following: null, DENY, or ALLOW
loadbalancer.loadbalancer_type Body String Load Balancer Type
Either shared or dedicated
Example
{
  "loadbalancer": {
    "ipacl_group_action": "DENY",
    "description": "",
    "provisioning_status": "ACTIVE",
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "provider": "haproxy",
    "ipacl_groups": [
      {
        "ipacl_group_id": "04570ec5-456a-48ac-85ee-38adcc83ee70"
      }
    ],
    "name": "LB-1",
    "loadbalancer_type": "shared",
    "listeners": [
      {
        "id": "fe192219-0d4c-4145-9855-0af8c949dfe8"
      }
    ],
    "vip_address": "192.168.0.187",
    "vip_port_id": "f3764f0d-b0da-4be1-a61f-fc5e8914278a",
    "workflow_status": "SUCCESS",
    "vip_subnet_id": "dcb31578-1e16-407f-a117-a716795fabc4",
    "id": "7b4cef78-72b0-4c3c-9971-98763ef6284c",
    "operating_status": "ONLINE",
    "admin_state_up": true,
    "ipacl_groups": [
        {
         "ipacl_group_id": "79ebf206-3463-4df1-a54c-4fc939f8c26c"
         },
         {
         "ipacl_group_id": "947030cc-635f-42d3-b745-770cf7b562fd"
         }
     ],
     "ipacl_group_action": "DENY"
  }
}

Create Load Balancer

POST /v2.0/lbaas/loadbalancers
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
loadbalancer Body Object - Information object of load balancer
loadbalancer.name Body String - Name of load balancer
loadbalancer.description Body String - Description of load balancer
loadbalancer.vip_subnet_id Body UUID O Subnet ID of load balancer
loadbalancer.vip_address Body String - IP of load balancer
loadbalancer.admin_state_up Body Boolean - Administrator control status of load balancer: if left blank, true is set
loadbalancer.loadbalancer_type Body String - It is a load balancer type, which can be used as shared / dedicated
and set as shared if omitted
Example
{
    "loadbalancer": {
        "name": "LB-1",
        "description": "",
        "vip_subnet_id": "dcb31578-1e16-407f-a117-a716795fabc4",
        "vip_address": "192.168.0.187",
        "admin_state_up": true
    }
}

Response

Name Type Format Description
loadbalancer Body Object Information object of load balancer
loadbalancer.description Body String Description of load balancer
loadbalancer.provisioning_status Body Enum Provisioning status of load balancer
loadbalancer.tenant_id Body String Tenant ID
loadbalancer.provider Body String Provider name of load balancer
loadbalancer.name Body String Name of load balancer
loadbalancer.listeners Body Object List of load balancer listener objects
loadbalancer.listeners.id Body UUID Listener ID
loadbalancer.vip_address Body String IP of load balancer
loadbalancer.vip_port_id Body UUID Port ID of load balancer
loadbalancer.vip_subnet_id Body UUID Subnet ID of load balancer
loadbalancer.id Body UUID Load balancer ID
loadbalancer.operating_status Body Enum Operating status of load balancer
loadbalancer.admin_state_up Body Boolean Administrator control status of load balancer
loadbalancer.ipacl_groups Body Object IP ACL group object applied to the load balancer
loadbalancer.ipacl_groups.ipacl_group_id Body UUID IP ACL group ID
loadbalancer.ipacl_action Body UUID The action of IP ACL groups applied to the load balancer
Should be one of the following: null, DENY, or ALLOW
loadbalancer.loadbalancer_type Body String Load Balancer Type
Either shared or dedicated
Example
{
  "loadbalancer": {
    "ipacl_group_action": "DENY",
    "description": "",
    "provisioning_status": "ACTIVE",
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "provider": "haproxy",
    "ipacl_groups": [
      {
        "ipacl_group_id": "04570ec5-456a-48ac-85ee-38adcc83ee70"
      }
    ],
    "name": "LB-1",
    "loadbalancer_type": "shared",
    "listeners": [
      {
        "id": "fe192219-0d4c-4145-9855-0af8c949dfe8"
      }
    ],
    "vip_address": "192.168.0.187",
    "vip_port_id": "f3764f0d-b0da-4be1-a61f-fc5e8914278a",
    "workflow_status": "SUCCESS",
    "vip_subnet_id": "dcb31578-1e16-407f-a117-a716795fabc4",
    "id": "7b4cef78-72b0-4c3c-9971-98763ef6284c",
    "operating_status": "ONLINE",
    "admin_state_up": true,
    "ipacl_groups": [],
    "ipacl_group_action": null
  }
}

Modify Load Balancer

PUT /v2.0/lbaas/loadbalancers/{loadbalancerId}
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
loadbalancerId URL UUID O Load balancer ID
loadbalancer Body Object O Information object of load balancer
loadbalancer.name Body String - Name of load balancer
loadbalancer.description Body String - Description of load balancer
loadbalancer.admin_state_up Body Boolean - Administrator control status of load balancer
Example
{
    "loadbalancer": {
        "name": "LB-1",
        "description": "",
        "admin_state_up": true
    }
}

Response

Name Type Format Description
loadbalancer Body Object Information object of load balancer
loadbalancer.description Body String Description of load balancer
loadbalancer.provisioning_status Body Enum Provisioning status of load balancer
loadbalancer.tenant_id Body String Tenant ID
loadbalancer.provider Body String Name of load balancer provider
loadbalancer.name Body String Name of load balancer
loadbalancer.listeners Body Object List of load balancer listener objects
loadbalancer.listeners.id Body UUID Listener ID
loadbalancer.vip_address Body String Load balancer IP
loadbalancer.vip_port_id Body UUID Port ID of load balancer
loadbalancer.vip_subnet_id Body UUID Subnet ID of load balancer
loadbalancer.id Body UUID Load balancer ID
loadbalancer.operating_status Body Enum Operating status of load balancer
loadbalancer.admin_state_up Body Boolean Administrator control status of load balancer
loadbalancer.ipacl_groups Body Object IP ACL group object applied to the load balancer
loadbalancer.ipacl_groups.ipacl_group_id Body UUID IP ACL group ID
loadbalancer.ipacl_action Body UUID The action of IP ACL groups applied to the load balancer
Should be one of the following: null, DENY, or ALLOW
loadbalancer.loadbalancer_type Body String Load Balancer Type
Either shared or dedicated
Example
{
  "loadbalancer": {
    "ipacl_group_action": "DENY",
    "description": "",
    "provisioning_status": "ACTIVE",
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "provider": "haproxy",
    "ipacl_groups": [
      {
        "ipacl_group_id": "04570ec5-456a-48ac-85ee-38adcc83ee70"
      }
    ],
    "name": "LB-1",
    "loadbalancer_type": "shared",
    "listeners": [
      {
        "id": "fe192219-0d4c-4145-9855-0af8c949dfe8"
      }
    ],
    "vip_address": "192.168.0.187",
    "vip_port_id": "f3764f0d-b0da-4be1-a61f-fc5e8914278a",
    "workflow_status": "SUCCESS",
    "vip_subnet_id": "dcb31578-1e16-407f-a117-a716795fabc4",
    "id": "7b4cef78-72b0-4c3c-9971-98763ef6284c",
    "operating_status": "ONLINE",
    "admin_state_up": true,
    "ipacl_groups": [],
    "ipacl_group_action": null
  }
}

Delete Load Balancer

DELETE /v2.0/lbaas/loadbalancers/{loadbalancerId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
loadbalancerId URL UUID O Load balancer ID

Response

This API does not return response body.

Listener

List Listeners

GET /v2.0/lbaas/listeners
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
default_pool_id Query UUID - Pool ID registered at listener
protocol Query Enum - Protocol of listener
One of TCP, HTTP,HTTPS, and TERMINATED_HTTPS
description Query String - Description of listener
name Query String - Name of listener
admin_state_up Query Boolean - Administrator control status
connection_limit Query Integer - Connection limit of listener
keepalive_timeout Query Integer - Keepalive timeout of listener
protocol_port Query Integer - Port number of listener
id Query UUID - Listener ID

Response

Name Type Format Description
listeners Body Array List of listener information objects
listeners.default_pool_id Body UUID Pool ID registered at listener
listeners.protocol Body Enum Protocol of listener
One of TCP, HTTP,HTTPS, and TERMINATED_HTTPS
listeners.description Body String Description of listener
listeners.name Body String Name of listener
listeners.loadbalancers Body Array List of load balancer objects in which listener is registered
listeners.loadbalancers.id Body UUID ID of load balancer
listeners.tenant_id Body String Tenant ID
listeners.admin_state_up Body Boolean Administrator control status
listeners.connection_limit Body Integer Connection limit of listener
listeners.keepalive_timeout Body Integer Keepalive timeout of listener
listeners.default_tls_container_ref Body String Path of TLS certificate registered at key-manager
listeners.sni_container_refs Body Array List of SNI certificate paths registered at key-manager
listeners.protocol_port Body Integer Port of listener
listeners.id Body String ID of listener
Example

{
  "listeners": [
    {
      "proxy_protocol": false,
      "default_pool_id": "522a5681-fc4c-4b0b-85ec-bf7777c48a57",
      "protocol": "TERMINATED_HTTPS",
      "description": "",
      "name": "",
      "loadbalancers": [
        {
          "id": "7b4cef78-72b0-4c3c-9971-98763ef6284c"
        }
      ],
      "tenant_id": "8258ab391d854e8b878642b737017a3b",
      "admin_state_up": true,
      "connection_limit": 2000,
      "keepalive_timeout": 300,
      "tls_version": "TLSv1.0",
      "sni_container_ids": [],
      "default_tls_container_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/containers/c8f4503c-1da5-4ec7-9456-51183bd4ad4e",
      "sni_container_refs": [],
      "protocol_port": 443,
      "id": "1b5e4950-71ae-4d67-bf97-453f986c9a20",
      "cert_expire_date": "2025-12-27T10:36:20+00:00"
    }
  ]
}

Get Listener

GET /v2.0/lbaas/listeners/{listenerId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
listenerId URL UUID O Listener ID

Response

Name Type Format Description
listener Body Object Information object of listener
listener.default_pool_id Body UUID Pool ID registered at listener
listener.protocol Body Enum Protocol of listener
One of TCP, HTTP,HTTPS, and TERMINATED_HTTPS
listener.description Body String Description of listener
listener.name Body String Name of listener
listener.loadbalancers Body Array List of load balancer objects in which listener is registered
listener.loadbalancers.id Body UUID Load balancer ID
listener.tenant_id Body String Tenant ID
listener.admin_state_up Body Boolean Administrator control status
listener.connection_limit Body Integer Connection limit of listener
listener.keepalive_timeout Body Integer Keepalive timeout of listener
listener.default_tls_container_ref Body String Path of TLS certificate registered at key-manager
listener.sni_container_refs Body Array List of SNI certificate paths registered at key-manager
listener.protocol_port Body Integer Listener port
listener.id Body UUID Listener ID
Example

{
  "listener": {
    "proxy_protocol": false,
    "default_pool_id": "522a5681-fc4c-4b0b-85ec-bf7777c48a57",
    "protocol": "TERMINATED_HTTPS",
    "description": "",
    "name": "",
    "loadbalancers": [
      {
        "id": "7b4cef78-72b0-4c3c-9971-98763ef6284c"
      }
    ],
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "admin_state_up": true,
    "connection_limit": 2000,
    "keepalive_timeout": 300,
    "tls_version": "TLSv1.0",
    "sni_container_ids": [],
    "default_tls_container_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/containers/c8f4503c-1da5-4ec7-9456-51183bd4ad4e",
    "sni_container_refs": [],
    "protocol_port": 443,
    "id": "1b5e4950-71ae-4d67-bf97-453f986c9a20",
    "cert_expire_date": "2025-12-27T10:36:20+00:00"
  }
}


Create Listener

POST /v2.0/lbaas/listeners
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
listener Body Object O Information object of listener
listener.protocol Body Enum O Listener protocol
One of TCP, HTTP,HTTPS, and TERMINATED_HTTPS
listener.description Body String - Description of listener
listener.name Body String - Name of listener
listener.loadbalancer_id Body UUID O ID of load balancer
listener.admin_state_up Body Boolean - Administrator control status
listener.connection_limit Body Integer - Connection limit of listener
listener.keepalive_timeout Body Integer - Keepalive timeout of listener
listener.default_tls_container_ref Body String - Path of TLS certificate registered at key-manager
listener.sni_container_refs Body Array - List of SNI certificate paths registered at key-manager
listener.protocol_port Body Integer O Listener port
Example

{
  "listener": {
    "protocol": "TERMINATED_HTTPS",
    "proxy_protocol": false,
    "description": "",
    "name": "",
    "loadbalancer_id":"7b4cef78-72b0-4c3c-9971-98763ef6284c",
    "admin_state_up": true,
    "connection_limit": 2000,
    "keepalive_timeout": 300,
    "tls_version": "TLSv1.0",
    "default_tls_container_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/containers/c8f4503c-1da5-4ec7-9456-51183bd4ad4e",
    "sni_container_refs": [],
    "protocol_port": 443
  }
}

Response

Name Type Format Description
listener Body Object Information object of listener
listener.default_pool_id Body UUID Pool ID registered at listener
listener.protocol Body Enum Protocol of listener
One of TCP, HTTP,HTTPS, and TERMINATED_HTTPS
listener.description Body String Description of listener
listener.name Body String Name of listener
listener.loadbalancers Body Array List of load balancer objects in which listener is registered
listener.loadbalancers.id Body UUID ID of load balancer
listener.tenant_id Body String Tenant ID
listener.admin_state_up Body Boolean Administrator control status
listener.connection_limit Body Integer Connection limit of listener
listener.keepalive_timeout Body Integer Keepalive timeout of listener
listener.default_tls_container_ref Body String Path of TLS certificate registered at key-manager
listener.sni_container_refs Body Array List of SNI certificate paths registered at key-manager
listener.protocol_port Body Integer Listener port
listener.id Body UUID Listener ID
Example

{
  "listener": {
    "proxy_protocol": false,
    "default_pool_id": "522a5681-fc4c-4b0b-85ec-bf7777c48a57",
    "protocol": "TERMINATED_HTTPS",
    "description": "",
    "name": "",
    "loadbalancers": [
      {
        "id": "7b4cef78-72b0-4c3c-9971-98763ef6284c"
      }
    ],
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "admin_state_up": true,
    "connection_limit": 2000,
    "keepalive_timeout": 300,
    "sni_container_ids": [],
    "default_tls_container_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/containers/c8f4503c-1da5-4ec7-9456-51183bd4ad4e",
    "sni_container_refs": [],
    "protocol_port": 443,
    "id": "1b5e4950-71ae-4d67-bf97-453f986c9a20",
    "cert_expire_date": "2025-12-27T10:36:20+00:00"
  }
}


Modify Listener

PUT /v2.0/lbaas/listeners/{listenerId}
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
listenerId URL UUID O Listener ID
listener Body Object O Information object of listener
listener.description Body String - Listener description
listener.name Body String - Listener name
listener.admin_state_up Body Boolean - Administrator control status
listener.connection_limit Body Integer - Connection limit of listener
listener.keepalive_timeout Body Integer - Keepalive timeout of listener
listener.default_tls_container_ref Body String - Path of TLS certificate registered at key-manager
listener.sni_container_refs Body Array - List of SNI certificate paths registered at key-manager
Example

{
  "listener": {
    "proxy_protocol": false,
    "description": "",
    "name": "",
    "admin_state_up": true,
    "connection_limit": 2000,
    "keepalive_timeout": 300,
    "tls_version": "TLSv1.0",
    "default_tls_container_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/containers/c8f4503c-1da5-4ec7-9456-51183bd4ad4e",
    "sni_container_refs": []
  }
}

Response

Name Type Format Description
listener Body Object Listener information object
listener.default_pool_id Body UUID Pool ID registered at listener
listener.protocol Body Enum Listener protocol
One of TCP, HTTP,HTTPS, and TERMINATED_HTTPS
listener.description Body String Listener description
listener.name Body String Listener name
listener.loadbalancers Body Array List of load balancer objects in which listener is registered
listener.loadbalancers.id Body UUID Load balancer ID
listener.tenant_id Body String Tenant ID
listener.admin_state_up Body Boolean Administrator control status
listener.connection_limit Body Integer Connection limit of listener
listener.keepalive_timeout Body Integer Keepalive timeout of listener
listener.default_tls_container_ref Body String Path of TLS certificate registered at key-manager
listener.sni_container_refs Body Array List of SNI certificate paths registered at key-manager
listener.protocol_port Body Integer Listener port
listener.id Body UUID Listener ID
Example

{
  "listener": {
    "proxy_protocol": false,
    "default_pool_id": "522a5681-fc4c-4b0b-85ec-bf7777c48a57",
    "protocol": "TERMINATED_HTTPS",
    "description": "",
    "name": "",
    "loadbalancers": [
      {
        "id": "7b4cef78-72b0-4c3c-9971-98763ef6284c"
      }
    ],
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "admin_state_up": true,
    "connection_limit": 2000,
    "keepalive_timeout": 300,
    "tls_version": "TLSv1.0",
    "sni_container_ids": [],
    "default_tls_container_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/containers/c8f4503c-1da5-4ec7-9456-51183bd4ad4e",
    "sni_container_refs": [],
    "protocol_port": 443,
    "id": "1b5e4950-71ae-4d67-bf97-453f986c9a20",
    "cert_expire_date": "2025-12-27T10:36:20+00:00"
  }
}


Delete Listener

Deletes the specified listener.

DELETE /v2.0/lbaas/listeners/{listenerId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
listenerId URL UUID O Listener ID

Response

This API does not return a response body.

Pool

List Pools

GET /v2.0/lbaas/pools
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
id Query UUID - Pool ID
name Query String - Pool name
lb_algorithm Query Enum - Load balancing method of the pool
One of ROUND_ROBIN, LEAST_CONNECTIONS, and SOURCE_IP
protocol Query Enum - Member protocol
admin_state_up Query Boolean - Administrator control status
healthmonitor_id Query UUID - Health monitor ID of pool

Response

Name Type Format Description
pools Body Array List of pool information objects
pools.lb_algorithm Body Enum Load balancing method of the pool
One of ROUND_ROBIN, LEAST_CONNECTIONS, and SOURCE_IP
pools.protocol Body Enum Member protocol
pools.description Body String Pool description
pools.admin_state_up Body Boolean Administrator control status
pools.tenant_id Body String Tenant ID
pools.session_persistence Body Object Session persistence object of pool
pools.session_persistence.type Body Enum Session persistence
Set one of SOURCE_IPHTTP_COOKIE, and APP_COOKIE
For HTTP_COOKIE or APP_COOKIE settings, it is recommended to check if the protocol of attached listener is set with HTTP or TERMINATED_HTTPS.
Even if the listener protocol is set with TCP or HTTPS, there's no load balancer operation related with session persistence.
pools.session_persistence.cookie_name Body String Cookie name
Set value is applied when the session persistence type is APP_COOKIE
pools.healthmonitor_id Body String Health monitor ID
pools.listeners Body Array List of listener objects in which pool is registered
pools.listeners.id Body String Listener ID
pools.members Body Array List of member objects registered at pool
pools.members.id Body String Member ID
pools.id Body UUID Pool ID
pools.name Body String Pool name
Example

{
  "pools": [
    {
      "lb_algorithm": "ROUND_ROBIN",
      "protocol": "HTTP",
      "description": "",
      "admin_state_up": true,
      "tenant_id": "8258ab391d854e8b878642b737017a3b",
      "member_port": 80,
      "session_persistence": null,
      "healthmonitor_id": "607c4da1-4fe2-4a3a-9527-82dd5a5c430e",
      "listeners": [
        {
          "id": "1b5e4950-71ae-4d67-bf97-453f986c9a20"
        }
      ],
      "members": [
        {
          "id": "3e9a04d9-24a6-4304-83cc-6cf1e8deb7a7"
        },
        {
          "id": "2c60e53b-5ca0-4d22-bed8-dffc1e5276be"
        }
      ],
      "id": "522a5681-fc4c-4b0b-85ec-bf7777c48a57",
      "name": ""
    }
  ]
}

Get Pool

GET /v2.0/lbaas/pools/{poolId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID

Response

Name Type Format Description
pool Body Object Pool information object
pool.lb_algorithm Body Enum Load balancing method of the pool
One of ROUND_ROBIN, LEAST_CONNECTIONS, and SOURCE_IP
pool.protocol Body Enum Member protocol
pool.description Body String Pool description
pool.admin_state_up Body Boolean Administrator control status
pool.tenant_id Body String Tenant ID
pool.member_port Body Integer Member port
Port value of the member specified when created on web console
pool.session_persistence Body Object Session persistence object of pool
pool.session_persistence.type Body Enum Session persistence
Set one of SOURCE_IPHTTP_COOKIE, and APP_COOKIE
For HTTP_COOKIE or APP_COOKIE settings, it is recommended to check if the protocol of attached listener is set with HTTP or TERMINATED_HTTPS.
Even if the listener protocol is set with TCP or HTTPS, and if session persistence is set with HTTP_COOKIE, APP_COOKIE, there's no load balancer operation related with session persistence.
pool.session_persistence.cookie_name Body String Cookie name
Set value is applied only when the session persistence type is APP_COOKIE
pool.healthmonitor_id Body UUID Health monitor ID
pool.listeners Body Array List of listener objects registered at the pool
pool.listeners.id Body UUID Listener ID
pool.members Body Array List of member objects registered at the pool
pool.members.id Body UUID Member ID
pool.id Body UUID Pool ID
pool.name Body String Pool name
Example

{
  "pool": {
    "lb_algorithm": "ROUND_ROBIN",
    "protocol": "HTTP",
    "description": "",
    "admin_state_up": true,
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "member_port": 80,
    "session_persistence": null,
    "healthmonitor_id": "607c4da1-4fe2-4a3a-9527-82dd5a5c430e",
    "listeners": [
      {
        "id": "1b5e4950-71ae-4d67-bf97-453f986c9a20"
      }
    ],
    "members": [
      {
        "id": "3e9a04d9-24a6-4304-83cc-6cf1e8deb7a7"
      },
      {
        "id": "2c60e53b-5ca0-4d22-bed8-dffc1e5276be"
      }
    ],
    "id": "522a5681-fc4c-4b0b-85ec-bf7777c48a57",
    "name": ""
  }
}


Create Pool

POST /v2.0/lbaas/pools
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
pool Body Object O Pool information object
pool.listener_id Body UUID O Listener ID to register a pool
pool.lb_algorithm Body Enum O Load balancing method of the pool
One of ROUND_ROBIN, LEAST_CONNECTIONS, and SOURCE_IP
pool.protocol Body Enum O Member protocol
pool.description Body String - Pool description
pool.admin_state_up Body Boolean - Administrator control status
pool.member_port Body Integer - Member's receiving port
Traffic is sent to the port.
Default is -1.
pool.session_persistence Body Object - Session persistence object of pool
pool.session_persistence.type Body Enum - Session consistency
Set one of SOURCE_IPHTTP_COOKIE, and APP_COOKIE
For HTTP_COOKIE or APP_COOKIE settings, it is recommended to check if the protocol of attached listener is set with HTTP or TERMINATED_HTTPS.
Even if the listener protocol is set with TCP or HTTPS, and if session persistence is set with HTTP_COOKIE, APP_COOKIE, there's no load balancer operation related with session persistence.
pools.session_persistence.cookie_name Body String - Cookie name
Set value is applied only when the session persistence type is APP_COOKIE
pool.name Body String - Pool name
Example

{
  "pool": {
    "listener_id": "1b5e4950-71ae-4d67-bf97-453f986c9a20",
    "lb_algorithm": "ROUND_ROBIN",
    "protocol": "HTTP",
    "description": "",
    "admin_state_up": true,
    "member_port": 80,
    "session_persistence": null,
    "name": ""
  }
}

Response

Name Type Format Description
pool Body Object Pool information object
pool.lb_algorithm Body Enum Load balancing method of the pool
One of ROUND_ROBIN, LEAST_CONNECTIONS, and SOURCE_IP
pool.protocol Body Enum Member protocol
pool.description Body String Pool description
pool.admin_state_up Body Boolean Administrator control status
pool.tenant_id Body String Tenant ID
pool.session_persistence Body Object -
pool.session_persistence.type Body Enum Session persistence
One of SOURCE_IPHTTP_COOKIE, and APP_COOKIE
For HTTP_COOKIE or APP_COOKIE settings, it is recommended to check if the protocol of attached listener is set with HTTP or TERMINATED_HTTPS.
Even if the listener protocol is set with TCP or HTTPS, and if session persistence is set with HTTP_COOKIE, APP_COOKIE, there's no load balancer operation related with session persistence.
pool.healthmonitor_id Body String Health monitor ID
pool.listeners Body Array List of listener objects in which pool is registered
pool.listeners.id Body UUID Listener ID
pool.members Body Array List of member objects registered at pool
pool.members.id Body UUID Member ID
pool.id Body UUID Pool ID
pool.name Body String Pool name
Example

{
  "pool": {
    "lb_algorithm": "ROUND_ROBIN",
    "protocol": "HTTP",
    "description": "",
    "admin_state_up": true,
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "member_port": 80,
    "session_persistence": null,
    "healthmonitor_id": "607c4da1-4fe2-4a3a-9527-82dd5a5c430e",
    "listeners": [
      {
        "id": "1b5e4950-71ae-4d67-bf97-453f986c9a20"
      }
    ],
    "members": [
      {
        "id": "3e9a04d9-24a6-4304-83cc-6cf1e8deb7a7"
      },
      {
        "id": "2c60e53b-5ca0-4d22-bed8-dffc1e5276be"
      }
    ],
    "id": "522a5681-fc4c-4b0b-85ec-bf7777c48a57",
    "name": ""
  }
}


Modify Pool

PUT /v2.0/lbaas/pools/{poolId}
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
poolId URL UUID O Pool ID
pool Body Object O Pool information object
pool.lb_algorithm Body Enum - Load balancing method of the pool
One of ROUND_ROBIN, LEAST_CONNECTIONS, or SOURCE_IP
pool.description Body String - Pool description
pool.admin_state_up Body Boolean - Administrator control status
pool.session_persistence Body Object - Session consistency object of pool
pool.session_persistence.type Body Enum - Session consistency
Set one of SOURCE_IPHTTP_COOKIE, or APP_COOKIE
For HTTP_COOKIE or APP_COOKIE settings, it is recommended to check if the protocol of attached listener is set with HTTP or TERMINATED_HTTPS.
Even if the listener protocol is set with TCP or HTTPS, and if session persistence is set with HTTP_COOKIE, APP_COOKIE, there's no load balancer operation related with session persistence.
pools.session_persistence.cookie_name Body String - Cookie name
Set value is applied only when the session persistence type is APP_COOKIE
pool.name Body String - Pool name
Example

{
  "pool": {
    "lb_algorithm": "ROUND_ROBIN",
    "description": "",
    "admin_state_up": true,
    "member_port": 80,
    "session_persistence": null,
    "name": ""
  }
}

Response

Name Type Format Description
pool Body Object Pool information object
pool.lb_algorithm Body Enum Load balancing method of the pool One of ROUND_ROBIN, LEAST_CONNECTIONS, and SOURCE_IP
pool.protocol Body Enum Member protocol
pool.description Body String Pool description
pool.admin_state_up Body Boolean Administrator control status
pool.tenant_id Body String Tenant ID
pool.session_persistence Body Object -
pool.session_persistence.type Body Enum Session persistence One of SOURCE_IP, HTTP_COOKIE, and APP_COOKIE For HTTP_COOKIE or APP_COOKIE settings, it is recommended to check if the protocol of attached listener is set with HTTP or TERMINATED_HTTPS. Even if the listener protocol is set with TCP or HTTPS, and if session persistence is set with HTTP_COOKIE, APP_COOKIE, there's no load balancer operation related with session persistence.
pools.session_persistence.cookie_name Body String Cookie name
The setting value is applied only when the session persistence type is APP_COOKIE.
pool.healthmonitor_id Body UUID Health monitor ID
pool.listeners Body Array List of listener objects in which pool is registered
pool.listeners.id Body UUID Listener ID
pool.members Body Array List of member objects registered at pool
pool.members.id Body UUID Member ID
pool.id Body UUID Pool ID
pool.name Body String Pool name
Example

{
  "pool": {
    "lb_algorithm": "ROUND_ROBIN",
    "protocol": "HTTP",
    "description": "",
    "admin_state_up": true,
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "member_port": 80,
    "session_persistence": null,
    "healthmonitor_id": "607c4da1-4fe2-4a3a-9527-82dd5a5c430e",
    "listeners": [
      {
        "id": "1b5e4950-71ae-4d67-bf97-453f986c9a20"
      }
    ],
    "members": [
      {
        "id": "3e9a04d9-24a6-4304-83cc-6cf1e8deb7a7"
      },
      {
        "id": "2c60e53b-5ca0-4d22-bed8-dffc1e5276be"
      }
    ],
    "id": "522a5681-fc4c-4b0b-85ec-bf7777c48a57",
    "name": ""
  }
}


Delete Pool

Deletes the specified pool.

DELETE /v2.0/lbaas/pools/{poolId}
X-Auth-Token: {tokenId}

Request

This API doe not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
poolId URL UUID O Pool ID

Response

This API does not return a response body.

Health Monitor

List Health Monitors

GET /v2.0/lbaas/healthmonitors
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
id Query UUID - Health monitor ID
admin_state_up Query Boolean - Administrator control status
delay Query Integer - Interval of status check (seconds)
expected_codes Query String - HTTP response code of members to be considered in normal status
Available as a single value (200), list (201,202), or range (201-204)
When the status check type is set with TCP, value set in this field will be ignored.
max_retries Query Integer - Number of maximum retries
http_method Query Enum - HTTP method to use for status check
When the status check type is set with TCP, value set in this field will be ignored.
timeout Query Integer - Timeout for status check (seconds)
url_path Query String - URL requesting of status checks
When the status check type is set with TCP, value set in this field will be ignored.
type Query Enum - Protocol to use for status check: One of TCP, HTTP, and HTTPS
host_header Query String - Host header field value to use for status check
When the status check type is set with TCP, value set in this field will be ignored.

Response

Name Type Format Description
healthmonitors Body Array List of information objects of health monitor
healthmonitors.admin_state_up Body Boolean Administrator control status
healthmonitors.delay Body Integer Interval of status check (seconds)
healthmonitors.expected_codes Body String HTTP response code of members to be considered in normal status
Available as a single value (200), list (201,202), or range (201-204)
When the status check type is set with TCP, value set in this field will be ignored.
healthmonitors.max_retries Body Integer Number of maximum retries
healthmonitors.http_method Body Enum HTTP Method to use for status check
When the status check type is set with TCP, value set in this field will be ignored.
healthmonitors.timeout Body Integer Timeout for status check (seconds)
healthmonitors.pools Body Array List of pool objects connected to health monitor
healthmonitors.pools.id Body UUID Pool ID
healthmonitors.url_path Body String URL requesting of status checks
When the status check type is set with TCP, value set in this field will be ignored.
healthmonitors.type Body Enum Protocol to use for status check: one of TCP, HTTP, and HTTPS
healthmonitors.id Body UUID Health monitor ID
healthmonitors.host_header Body String Host header field value to use for status check
When the status check type is set with TCP, value set in this field will be ignored.
Example

{
  "healthmonitors": [
    {
      "admin_state_up": true,
      "health_check_port": 80,
      "delay": 30,
      "expected_codes": "200",
      "max_retries": 2,
      "http_method": "GET",
      "timeout": 5,
      "pools": [
        {
          "id": "872dc92f-777b-4e0f-9413-0132b98bc60b"
        }
      ],
      "url_path": "/",
      "type": "HTTP",
      "id": "a567e19b-260f-4fda-8a66-d5e4c237a780"
    }
  ]
}

Get Health Monitor

GET /v2.0/lbaas/healthmonitors/{healthMonitorId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
healthMonitorId URL UUID O Health monitor ID

Response

Name Type Format Description
healthmonitor Body Object Health monitor information object
healthmonitor.admin_state_up Body Boolean Administrator control status
healthmonitor.delay Body Integer Status check interval (seconds)
healthmonitors.expected_codes Body String HTTP response code of the member considered in normal status
Available as a single value (200), list (201,202), or range (201-204)
When the status check type is set with TCP, value set in this field will be ignored.
healthmonitor.max_retries Body Integer Number of maximum retries
healthmonitor.http_method Body Enum HTTP method to use for status check
When the status check type is set with TCP, value set in this field will be ignored.
healthmonitor.timeout Body Integer Timeout for status check (seconds)
healthmonitor.pools Body Array List of pool objects connected to health monitor
healthmonitor.pools.id Body UUID Pool ID
healthmonitor.url_path Body String URL requesting of status checks
When the status check type is set with TCP, value set in this field will be ignored.
healthmonitor.type Body Enum Protocol to use for status check: one of TCP, HTTP, and HTTPS
healthmonitor.id Body UUID Health monitor ID
healthmonitors.host_header Body String Host header field value to use for status check
When the status check type is set with TCP, value set in this field will be ignored.
Example

{
  "healthmonitor": {
    "admin_state_up": true,
    "health_check_port": 80,
    "delay": 30,
    "expected_codes": "200",
    "max_retries": 2,
    "http_method": "GET",
    "timeout": 5,
    "pools": [
      {
        "id": "872dc92f-777b-4e0f-9413-0132b98bc60b"
      }
    ],
    "url_path": "/",
    "type": "HTTP",
    "id": "a567e19b-260f-4fda-8a66-d5e4c237a780"
  }
}


Create Health Monitor

POST /v2.0/lbaas/healthmonitors
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
healthmonitor Body Object O Health monitor information object
healthmonitor.pool_id Body UUID O ID of pool to be connected with health monitor
healthmonitor.admin_state_up Body Boolean - Administrator control status
healthmonitor.health_check_port Body Integer - Member port to be health-checked
healthmonitor.delay Body Integer O Interval of status check (seconds)
healthmonitor.expected_codes Body String - HTTP response code of members to be considered in normal status: to be set with 200, if left blank.
Available as a single value (200), list (201,202), or range (201-204)
When the status check type is set with TCP, value set in this field will be ignored.
healthmonitor.max_retries Body Integer O Number of maximum retries
healthmonitor.http_method Body Enum - HTTP method to use for status check: if left blank, GET is used.
When the status check type is set with TCP, value set for this field will be ignored.
healthmonitor.timeout Body Integer O Timeout for status checks
healthmonitor.url_path Body String - URL requesting of status checks: if left blank, /is set.
When the status check type is set with TCP, value set for this field will be ignored.
healthmonitor.type Body Enum O Protocol to use for status check: one of TCP, HTTP, and HTTPS
healthmonitors.host_header Body String - Host header field value to use for status check
When the status check type is set with TCP, value set in this field will be ignored.
Example

{
  "healthmonitor": {
    "pool_id": "872dc92f-777b-4e0f-9413-0132b98bc60b",
    "admin_state_up": true,
    "health_check_port": 80,
    "delay": 30,
    "expected_codes": "200",
    "max_retries": 2,
    "http_method": "GET",
    "timeout": 5,
    "url_path": "/",
    "type": "HTTP"
  }
}

Response

Name Type Format Description
healthmonitor Body Object Health monitor information object
healthmonitor.admin_state_up Body Boolean Administrator control status
healthmonitor.delay Body Integer Status check interval (seconds)
healthmonitor.expected_codes Body String HTTP response code of members to be considered in normal status: if left blank, set with 200.
Available as a single value (200), list (201,202), or range (201-204)
When the status check type is set with TCP, value set for this field will be ignored.
healthmonitor.max_retries Body Integer Number of maximum retries
healthmonitor.http_method Body Enum HTTP method to use for status check
When the status check type is set with TCP, value set for this field will be ignored.
healthmonitor.timeout Body Integer Timeout for status checks (seconds)
healthmonitor.pools Body Array List of pool objects connected to health monitor
healthmonitor.pools.id Body UUID Pool ID
healthmonitor.url_path Body String URL requesting of status checks
When the status check type is set with TCP, value set for this field will be ignored.
healthmonitor.type Body Enum Protocol to use for status check: One of TCP, HTTP, and HTTPS
healthmonitor.id Body UUID Health monitor ID
healthmonitors.host_header Body String Host header field value to use for status check
When the status check type is set with TCP, value set in this field will be ignored.
Example

{
  "healthmonitor": {
    "admin_state_up": true,
    "health_check_port": 80,
    "delay": 30,
    "expected_codes": "200",
    "max_retries": 2,
    "http_method": "GET",
    "timeout": 5,
    "pools": [
      {
        "id": "872dc92f-777b-4e0f-9413-0132b98bc60b"
      }
    ],
    "url_path": "/",
    "type": "HTTP",
    "id": "a567e19b-260f-4fda-8a66-d5e4c237a780"
  }
}


Modify Health Monitor

PUT /v2.0/lbaas/healthmonitors/{healthMonitorId}
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
healthmonitorId URL UUID O Health monitor ID
healthmonitor Body Object O Health monitor information object
healthmonitor.admin_state_up Body Boolean - Administrator control status
healthmonitor.delay Body Integer - Status check interval (seconds)
healthmonitor.expected_codes Body String - HTTP response code of members to be considered in normal status
Available as a single value (200), list (201,202), or range (201-204)
When the status check type is set with TCP, value set for this field will be ignored.
healthmonitor.max_retries Body Integer - Number of maximum retries
healthmonitor.http_method Body Enum - HTTP Method to use for status check
When the status check type is set with TCP, value set for this field will be ignored.
healthmonitor.timeout Body Integer - Timeout for status checks (seconds)
healthmonitor.url_path Body String - URL requesting of status checks
When the status check type is set with TCP, value set for this field will be ignored.
healthmonitors.host_header Body String - Host header field value to use for status check
When the status check type is set with TCP, value set in this field will be ignored.
Example

{
  "healthmonitor": {
    "admin_state_up": true,
    "health_check_port": 80,
    "delay": 30,
    "expected_codes": "200",
    "max_retries": 2,
    "http_method": "GET",
    "timeout": 5,
    "url_path": "/"
  }
}

Response

Name Type Format Description
healthmonitor Body Object Health monitor information object
healthmonitor.admin_state_up Body Boolean Administrator control status
healthmonitor.delay Body Integer Status check interval (seconds)
healthmonitor.expected_codes Body String HTTP response code of members to be considered in normal status
Available as a single value (200), list (201,202), or range (201-204)
When the status check type is set with TCP, value set for this field will be ignored.
healthmonitor.max_retries Body Integer Number of maximum retries
healthmonitor.http_method Body Enum HTTP Method to use for status check
When the status check type is set with TCP, value set for this field will be ignored.
healthmonitor.timeout Body Integer Timeout for status checks (seconds)
healthmonitor.pools Body Array List of pool objects connected to health monitor
healthmonitor.pools.id Body UUID Pool ID
healthmonitor.url_path Body String URL requesting of status checks
When the status check type is set with TCP, value set for this field will be ignored.
healthmonitor.type Body Enum Protocol to use for status check: One of TCP, HTTP, and HTTPS
healthmonitor.id Body UUID Health monitor ID
healthmonitors.host_header Body String Host header field value to use for status check
When the status check type is set with TCP, value set in this field will be ignored.
Example

{
  "healthmonitor": {
    "admin_state_up": true,
    "health_check_port": 80,
    "delay": 30,
    "expected_codes": "200",
    "max_retries": 2,
    "http_method": "GET",
    "timeout": 5,
    "pools": [
      {
        "id": "872dc92f-777b-4e0f-9413-0132b98bc60b"
      }
    ],
    "url_path": "/",
    "type": "HTTP",
    "id": "a567e19b-260f-4fda-8a66-d5e4c237a780"
  }
}


Delete Health Monitor

DELETE /v2.0/lbaas/healthmonitors/{healthMonitorId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
healthMonitorId URL UUID O Health Monitor ID

Response

This API does not return a response body.

Member

List Members

GET /v2.0/lbaas/pools/{poolId}/members
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
poolId URL UUID O ID of pool including a member
id Query UUID - Member ID
weight Query Integer - Member weight
admin_state_up Query Boolean - Administrator control status
subnet_id Query UUID - Subnet ID of member
tenant_id Query String - Tenant ID
address Query String - IP address of member
protocol_port Query Integer - Member port
operating_status Query Enum - Operating status of member

Response

Name Type Format Description
members Body Array List of member information objects
members.weight Body Integer Member weight
members.admin_state_up Body Boolean Administrator control status
members.subnet_id Body UUID Subnet ID of member
members.tenant_id Body String Tenant ID
members.address Body String IP address of member
members.protocol_port Body Integer Member port
members.id Body UUID Member ID
members.operating_status Body Enum Operating status of member
Example

{
  "members": [
    {
      "weight": 1,
      "admin_state_up": true,
      "subnet_id": "dcb31578-1e16-407f-a117-a716795fabc4",
      "tenant_id": "8258ab391d854e8b878642b737017a3b",
      "address": "192.168.0.188",
      "protocol_port": 80,
      "id": "699d5013-ce45-4471-9cc3-6c2f5ad56b7f",
      "operating_status": "INACTIVE"
    }
  ]
}

Get Member

GET /v2.0/lbaas/pools/{poolId}/members/{memberId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
poolId URL UUID O ID of pool to which member is included
memberId URL UUID O Member ID

Response

Name Type Format Description
member Body Object Member information object
member.weight Body Integer Member weight
member.admin_state_up Body Boolean Administrator control status
member.subnet_id Body UUID Subnet ID of member
member.tenant_id Body String Tenant ID
member.address Body String IP address of member
member.protocol_port Body Integer Member port
member.id Body UUID Member ID
member.operating_status Body Enum Operating status of member
Example

{
  "member": {
    "weight": 1,
    "admin_state_up": true,
    "subnet_id": "dcb31578-1e16-407f-a117-a716795fabc4",
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "address": "192.168.0.188",
    "protocol_port": 80,
    "id": "699d5013-ce45-4471-9cc3-6c2f5ad56b7f",
    "operating_status": "INACTIVE"
  }
}


Create Member

POST /v2.0/lbaas/pools/{poolId}/members
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
poolId URL UUID O ID of pool including member
member Body Object O Member information object
member.weight Body Integer - Member weight
member.admin_state_up Body Boolean - Administrator control status
member.subnet_id Body UUID O Subnet ID of member
member.address Body String O IP address of member
member.protocol_port Body Integer O Member port
Example

{
  "member": {
    "weight": 1,
    "admin_state_up": true,
    "subnet_id": "dcb31578-1e16-407f-a117-a716795fabc4",
    "address": "192.168.0.188",
    "protocol_port": 80
  }
}

Response

Name Type Format Description
member Body Object Member information object
member.weight Body Integer Member weight
member.admin_state_up Body Boolean Administrator control status
member.subnet_id Body UUID Subnet ID of member
member.tenant_id Body String Tenant ID
member.address Body String IP address of member
member.protocol_port Body Integer Member port
member.id Body UUID Member ID
member.operating_status Body Enum Operating status of member
Example

{
  "member": {
    "weight": 1,
    "admin_state_up": true,
    "subnet_id": "dcb31578-1e16-407f-a117-a716795fabc4",
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "address": "192.168.0.188",
    "protocol_port": 80,
    "id": "699d5013-ce45-4471-9cc3-6c2f5ad56b7f",
    "operating_status": "INACTIVE"
  }
}


Modify Member

PUT /v2.0/lbaas/pools/{poolId}/members/{memberId}
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
poolId URL UUID O ID of pool including member
memberId URL UUID O Member ID
member Body Object O Member information object
member.weight Body Integer - Member weight
member.admin_state_up Body Boolean - Administrator control status
Example

{
  "member": {
    "weight": 1,
    "admin_state_up": true
  }
}

Response

Name Type Format Description
member Body Object Member information object
member.weight Body Integer Member weight
member.admin_state_up Body Boolean Administrator control status
member.subnet_id Body UUID Subnet ID of member
member.tenant_id Body String Tenant ID
member.address Body String IP address of member
member.protocol_port Body Integer Member port
member.id Body UUID Member ID
member.operating_status Body Enum Operating status of member
Example

{
  "member": {
    "weight": 1,
    "admin_state_up": true,
    "subnet_id": "dcb31578-1e16-407f-a117-a716795fabc4",
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "address": "192.168.0.188",
    "protocol_port": 80,
    "id": "699d5013-ce45-4471-9cc3-6c2f5ad56b7f",
    "operating_status": "INACTIVE"
  }
}


Delete Member

DELETE /v2.0/lbaas/pools/{poolId}/members/{memberId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
poolId URL UUID O ID of pool including member
memberId URL UUID O Member ID

Response

This API does not return a response body.

Secret

You can call the Secret API by using the key-manager type endpoint. For the exact endpoint, see serviceCatalog in the response of token issuance.

Type Region Endpoint
key-manager Korea (Pangyo) Region
Japan Region
https://kr1-api-key-manager.infrastructure.cloud.toast.com
https://jp1-api-key-manager.infrastructure.cloud.toast.com

In the API response, you may find fields that are not specified in the guide. Refrain from using them because such fields are only for the NHN Cloud internal usage and might be changed without prior notice.

List Secrets

Returns the list of secrets.

GET /v1/secrets
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
offset Query Integer - Offset of response list: default is 0
limit Query Integer - Maximum number of exposure on response list: default is 10
name Query String - Secret name
alg Query String - Secret algorithm
mode Query String - Operating mode of block encryption
bits Query Integer - Length of encryption key

Response

Name Type Format Description
secrets Body Array List of secret objects
secrets.secret_ref Body String Secret address
In the<barbican endpoint>/v1/secrets/<secret id> format
secrets.secret_type Body Enum Secret type
One of symmetric, public, private, passphrase, certificate, and opaque
secrets.status Body Enum Secret status
secrets.content_types Body Array List of content types of secret payload
secrets.content_types.default Body String Default for content type
secrets.creator_id Body String User ID creating a secret
secrets.mode Body String Operating mode of block encryption: user-input metadata
secrets.algorithm Body String Encryption algorithm: user-input metadata
secrets.bit_length Body Integer Length of encryption key: user-input metadata
secrets.expiration Body Datetime Expiration date: user-input metadata
YYYY-MM-DDThh:mm:ss
Expired secrets are automatically deleted
secrets.name Body String Secret name
secrets.created Body Datetime Created time
YYYY-MM-DDThh:mm:ss
secrets.updated Body Datetime Updated time
YYYY-MM-DDThh:mm:ss
total Body Integer Total secret count of requested queries
next Body String URL of the next list to the current queried list
previous Body String URL of the previous list of the current queried list
Example

{
  "secrets": [
    {
      "algorithm": null,
      "bit_length": null,
      "content_types": {
        "default": "text/plain"
      },
      "created": "2019-12-17T08:50:39",
      "creator_id": "1da4ce9f59ed4f6487c9be39fa792be4",
      "expiration": null,
      "mode": null,
      "name": "certificate",
      "secret_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/secrets/adffcd66-ff63-4c66-8139-2f254e63aef5",
      "secret_type": "certificate",
      "status": "ACTIVE",
      "updated": "2019-12-17T08:50:39"
    },
    {
      "algorithm": null,
      "bit_length": null,
      "content_types": {
        "default": "text/plain"
      },
      "created": "2019-12-17T08:50:39",
      "creator_id": "1da4ce9f59ed4f6487c9be39fa792be4",
      "expiration": null,
      "mode": null,
      "name": "private_key",
      "secret_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/secrets/36f88d4c-16f0-4db2-80bc-4dda0125589b",
      "secret_type": "private",
      "status": "ACTIVE",
      "updated": "2019-12-17T08:50:39"
    }
  ],
  "total": 10,
  "next": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/secrets?limit=1&offset=2",
  "previous": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/secrets?limit=1&offset=0"
}

Get Secret

Returns the specified secret information.

GET /v1/secrets/{secretId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
secretId URL UUID O Secret ID

Response

Name Type Format Description
secret Body Object Secret object
secret.secret_ref Body String Secret address
In the<barbican endpoint>/v1/secrets/<secret id> format
secret.secret_type Body Enum Secret type
One of symmetric, public, private, passphrase, certificate, and opaque
secret.status Body Enum Secret status
secret.content_types Body Array List of content types of secret payload
secret.content_types.default Body String Default for content type
secret.creator_id Body String User ID creating a secret
secret.mode Body String Operating mode of block encryption: user-input metadata
secret.algorithm Body String Encryption algorithm: user-input metadata
secret.bit_length Body Integer Length of encryption key: user-input metadata
secret.expiration Body Datetime Expiration date: user-input metadata
YYYY-MM-DDThh:mm:ss
Expired secrets are automatically deleted
secret.name Body String Secret name
secret.created Body Datetime Created time
YYYY-MM-DDThh:mm:ss
secret.updated Body Datetime Updated time
YYYY-MM-DDThh:mm:ss
Example

{
  "status": "ACTIVE",
  "secret_type": "certificate",
  "updated": "2019-12-17T08:50:39",
  "name": "certificate",
  "algorithm": null,
  "created": "2019-12-17T08:50:39",
  "secret_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/secrets/adffcd66-ff63-4c66-8139-2f254e63aef5",
  "content_types": {
    "default": "text/plain"
  },
  "creator_id": "1da4ce9f59ed4f6487c9be39fa792be4",
  "mode": null,
  "bit_length": null,
  "expiration": null
}


Create Secret

Create a new secret.

POST /v1/secrets
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
name Body String - Secret name
expiration Body Datetime - Expiration date: requested in the ISO8601 format
algorithm Body String - Encryption algorithm
bit_length Body String - Length of encryption key
mode Body String - Operating mode of block encryption
payload Body String - Payload of encryption key
payload_content_type Body String - Content type of encryption key payload
Must be included to enter payload
List of supported content types: text/plain, application/octet-stream, application/pkcs8, and application/pkix-cert
payload_content_encoding Body Enum - Encoding mode of encryption key payload
Must be included if the payload_content_type is not text/plain
Supports only base64
secret_type Body Enum - Secret type
One of symmetric, public, private, passphrase, certificate, and opaque
Example Create metadata only
{
    "name": "example key",
    "expiration": "2025-12-31T00:00:00.000000Z",
    "algorithm": "example-algorithm",
    "bit_length": 256,
    "mode": "example-mode"
}
Send payload on text
{
    "name": "example key",
    "expiration": "2025-12-31T00:00:00.000000Z",
    "algorithm": "example-algorithm",
    "bit_length": 256,
    "mode": "example-mode",
    "payload": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANQE .... nyxm\n-----END PRIVATE KEY-----\n",
    "payload_content_type": "text/plain"
}
Send payload via base64
{
    "name": "example key",
    "expiration": "2025-12-31T00:00:00.000000Z",
    "algorithm": "example-algorithm",
    "bit_length": 256,
    "mode": "example-mode",
    "payload": "ZXhhbXBsZQo=",
    "payload_content_type": "application/octet-stream",
    "payload_content_encoding": "base64"
}

Response

Name Type Format Description
secret_ref Body String Secret address
In the format of<barbican endpoint>/v1/secrets/<secret id>
Example

{
    "secret_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/secrets/9b2dcb7b-51fe-4408-a2bb-23da731758a6"
}


Modify Secret

Enters payload data of the secret that previously had metadata only.

PUT /v1/secrets/{secretId}
X-Auth-Token: {tokenId}
Content-Type: {ContentType}

Request

Name Type Format Required Description
tokenId Header String O Token ID
secretId URL UUID O Secret ID
ContentType Header Enum O One of text/plain, application/octet-stream, application/pkcs8, and application/pkix-cert
If left blank, text/plain is configured.
payload Body String O Payload for encryption key
Example
{
    "payload": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANQE .... nyxm\n-----END PRIVATE KEY-----\n"
}

Response

This API does not return a response body.


Delete Secret

Delete the specified secret.

DELETE /v1/secrets/{secretId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
secretId URL UUID O Secret ID

Response

This API does not return a response body.

Secret Container

You can call the Secret Container API by using the key-manager type endpoint. For the exact endpoint, see serviceCatalog from the response of token issuance.

Type Region Endpoint
key-manager Korea (Pangyo) Region
Japan Region
https://kr1-api-key-manager.infrastructure.cloud.toast.com
https://jp1-api-key-manager.infrastructure.cloud.toast.com

In the API response, you may find fields that are not specified in the guide. Refrain from using them because such fields are only for the NHN Cloud internal usage and might be changed without prior notice.

List Secret Containers

Return the list of secret containers.

GET /v1/containers
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
offset Query Integer - Offset of response list, default: 0
limit Query Integer - Maximum count to show on the response list, default: 10

Response

Name Type Format Description
containers Body Array List of container objects
containers.status Body Enum Container status
containers.updated Body Datetime Updated time, YYYY-MM-DDThh:mm:ss
containers.name Body String Container name
containers.consumers Body Array List of consumers
containers.consumers.URL Body String Consumer URL
containers.consumers.name Body String Consumer name
containers.created Body Datetime Created time, YYYY-MM-DDThh:mm:ss
containers.container_ref Body String Container address
containers.creator_id Body String User ID creating container
containers.secret_refs Body Array List of secrets
containers.secret_refs.secret_ref Body String Secret address
containers.secret_refs.name Body String Secret name as specified by container
When the container type is certificate: specify certificate, private_key, private_key_passphrase, orintermediates
When the container type is rsa: specify private_key, private_key_passphrase, orpublic_key
containers.type Body Enum Container type
One of generic, rsa, and certificate
total Body Integer Total number of secret containers of a requested query
next Body String URL of the next list to the current queried list
previous Body String URL of the previous list of the current queried list
Example

{
  "total": 10,
  "previous": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/containers?limit=1&offset=0",
  "next": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/containers?limit=1&offset=2",
  "containers": [
    {
      "status": "ACTIVE",
      "updated": "2019-12-17T08:50:39",
      "name": "The Certificate",
      "consumers": [],
      "created": "2019-12-17T08:50:39",
      "container_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/containers/2d1dcf4d-2e92-475e-bde7-e469880be924",
      "creator_id": "1da4ce9f59ed4f6487c9be39fa792be4",
      "secret_refs": [
        {
          "secret_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/secrets/adffcd66-ff63-4c66-8139-2f254e63aef5",
          "name": "certificate"
        },
        {
          "secret_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/secrets/36f88d4c-16f0-4db2-80bc-4dda0125589b",
          "name": "private_key"
        }
      ],
      "type": "certificate"
    }
  ]
}


Get Secret Container

Returns the specified secret container information.

GET /v1/containers/{containerId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
containerId URL UUID O Secret container ID

Response

Name Type Format Description
status Body Enum Container status
updated Body Datetime Updated time, YYYY-MM-DDThh:mm:ss
name Body String Container name
consumers Body Array List of consumers
consumers.URL Body String Consumer URL
consumers.name Body String Consumer name
created Body Datetime Created time, YYYY-MM-DDThh:mm:ss
container_ref Body String Container address
creator_id Body String User ID creating container
secret_refs Body Array List of secrets registered at container
secret_refs.secret_ref Body String Secret address
secret_refs.name Body String Secret name as specified by container
When the container type is certificate: specify certificate, private_key, private_key_passphrase, or intermediates
When the container type is rsa: Specifyprivate_key, private_key_passphrase, or public_key
type Body Enum Container type
One of generic, rsa, and certificate
Example
{
    "status": "ACTIVE",
    "updated": "2019-12-17T08:50:39",
    "name": "The Certificate",
    "consumers": [],
    "created": "2019-12-17T08:50:39",
    "container_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/containers/2d1dcf4d-2e92-475e-bde7-e469880be924",
    "creator_id": "1da4ce9f59ed4f6487c9be39fa792be4",
    "secret_refs": [
        {
            "secret_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/secrets/36f88d4c-16f0-4db2-80bc-4dda0125589b",
            "name": "private_key"
        },
        {
            "secret_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/secrets/adffcd66-ff63-4c66-8139-2f254e63aef5",
            "name": "certificate"
        }
    ],
    "type": "certificate"
}

Create Secret Container

Create a new secret container.

POST /v1/containers
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
type Body Enum O Container type
One of generic, rsa, and certificate
name Body String - Container name
secret_refs Body Array - Secret list to be registered at container
secret_refs.secret_ref Body String - Secret address
secret_refs.name Body String - Secret name as specified by container
When the container type is certificate: Specify certificate, private_key, private_key_passphrase, or intermediates
When the container type is rsa: Specify private_key, private_key_passphrase, orpublic_key
Example

{
    "type": "certificate",
    "name": "test cert",
    "secret_refs": [
        {
            "name": "private_key",
            "secret_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/cf11edcf-f475-47f3-92c3-29de8bcdd639"
        }
    ]
}

Response

Name Type Format Description
container_ref Body String Secret container address
Example

{
    "container_ref": "https://kr1-api-key-manager.infrastructure.cloud.toast.com/v1/containers/ea2e90fc-1ba2-412b-b7a0-61da4402bf58"
}


Delete Secret Container

Delete the specified secret container.

DELETE /v1/containers/{containerId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
containerId URL UUID Secret container ID

Response

This API does not return a response body.

IP ACL Group

List IP ACL Groups

Returns a list of IP ACL groups.

GET /v2.0/lbaas/ipacl-groups
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
id Query String - IP ACL group ID
name Query String - IP ACL group name
description Query String - IP ACL group description
action Body Enum Control action of IP ACL group
One of ALLOW, DENY

Response

Name Type Format Description
ipacl_groups Body Array IP ACL group object list
ipacl_groups.ipacl_target_count Body String Number of targets included in IP ACL group
ipacl_groups.description Body String IP ACL group description
ipacl_groups.loadbalancers Body Object List of load balancer objects with the IP ACL group applied
ipacl_groups.loadbalancers.loadbalancer_id Body String Load balancer ID
ipacl_groups.tenant_id Body String Tenant ID
ipacl_groups.action Body Enum Control action of IP ACL group
One of ALLOW, DENY
ipacl_groups.id Body UUID IP ACL group ID
ipacl_groups.name Body String IP ACL group name
Example

{
  "ipacl_groups": [
      {
      "ipacl_target_count": "1",
      "description": "",
      "loadbalancers": [
        {
          "loadbalancer_id": "7b4cef78-72b0-4c3c-9971-98763ef6284c"
        }
      ],
      "tenant_id": "8258ab391d854e8b878642b737017a3b",
      "action": "DENY",
      "id": "04570ec5-456a-48ac-85ee-38adcc83ee70",
      "name": "ip-acl-group-1"
    }
  ]
}

Get IP ACL Group

Returns the specified IP ACL group.

GET /v2.0/lbaas/ipacl-groups/{ipaclGroupId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
ipaclGroupId Header String O IP ACL group ID

Response

Name Type Format Description
ipacl_group Body Object IP ACL group object
ipacl_group.ipacl_target_count Body String Number of targets included in IP ACL group
ipacl_group.description Body String IP ACL group description
ipacl_group.loadbalancers Body Object List of load balancer objects with the IP ACL group applied
ipacl_group.loadbalancers.loadbalancer_id Body String Load balancer ID
ipacl_group.tenant_id Body String Tenant ID
ipacl_group.action Body Enum Control action of IP ACL group
One of ALLOW, DENY
ipacl_group.id Body UUID IP ACL group ID
ipacl_group.name Body String IP ACL group name
Example

{
  "ipacl_group": {
    "ipacl_target_count": "1",
    "description": "",
    "loadbalancers": [
      {
        "loadbalancer_id": "7b4cef78-72b0-4c3c-9971-98763ef6284c"
      }
    ],
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "action": "DENY",
    "id": "04570ec5-456a-48ac-85ee-38adcc83ee70",
    "name": "ip-acl-group-1"
  }
}


Create IP ACL Group

Creates a new IP ACL group.

POST /v2.0/lbaas/ipacl-groups
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
ipacl_group Body Object O IP ACL group object
ipacl_group.description Body String - IP ACL group description
ipacl_group.action Body Enum O Control action of IP ACL group
One of ALLOW, DENY
ipacl_group.name Body String - IP ACL group name
ipacl_group.ipacl_targets Body Object - `IP ACL target object. When entering a value, the target is also created.
ipacl_group.ipacl_targets.cidr_address Body String O (if ipacl_targets object has been added) IP ACL target CIDR
Enter a single IP address, or IP range in CIDR format
ipacl_group.ipacl_targets.description Body String - IP ACL target description
Example

{
  "ipacl_group": {
    "action": "ALLOW",
    "name": "example",
    "description": "description",
    "ipacl_targets": [
            {
                "cidr_address" : "192.168.0.5",
                "description": "My Friend"
            },
            {
                "cidr_address" : "10.10.22.3/24",
                "description": "Your Friends"
            }
     ]
  }
}

Response

Name Type Format Description
ipacl_group Body Object IP ACL group object
ipacl_group.ipacl_target_count Body String Number of targets included in IP ACL group
ipacl_group.description Body String IP ACL group description
ipacl_group.loadbalancers Body String List of load balancer objects with the IP ACL group applied
ipacl_group.loadbalancers.loadbalancer_id Body String Load balancer ID
ipacl_group.tenant_id Body String Tenant ID
ipacl_group.action Body Enum Control action of IP ACL group
One of ALLOW, DENY
ipacl_group.id Body UUID IP ACL group ID
ipacl_group.name Body String IP ACL group name
Example

{
  "ipacl_group": {
    "ipacl_target_count": "0",
    "description": "description",
    "loadbalancers": [],
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "action": "ALLOW",
    "id": "e5e2627e-c1fc-4deb-a96d-f1213bb8227e",
    "name": "example"
  }
}


Modify IP ACL Group

Modifies an existing IP ACL group. ipacl_group.action cannot be changed. This API may be used to replace the list of sub-IP ACL targets globally. However, all existing targets belonging to the IP ACL group will be deleted and replaced with the entered target list. The cidr_address of the entered target must not be duplicated.

PUT /v2.0/lbaas/ipacl-groups/{ipaclGroupId}
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
ipaclGroupId URL UUID O IP ACL group ID
ipacl_group Body String O IP ACL group object
ipacl_group.name Body String - IP ACL group name
ipacl_group.description Body String - IP ACL Group Description
ipacl_group.ipacl_targets Body Object - `IP ACL target object. When entering a value, the target is also created.
ipacl_group.ipacl_targets.cidr_address Body String O (if ipacl_targets object has been added) IP ACL target CIDR
Enter a single IP address, or IP range in CIDR format
ipacl_group.ipacl_targets.description Body String - IP ACL target description
Example

{
    "ipacl_group" : {
    "name" : "HouseLannister",
    "description" : "A Lannister always pays his debts",
    "ipacl_targets" : [
        {
            "cidr_address" : "11.11.11.11",
            "description" : "Jamie"
        },
        {
            "cidr_address" : "22.22.22.22",
            "description" : "Cercei"
        },
        {
            "cidr_address" : "33.33.33.33",
            "description" : "Tyrion"
        }
    ]
    }
}

Response

Name Type Format Description
ipacl_group Body Object IP ACL group object
ipacl_group.ipacl_target_count Body String Number of targets included in IP ACL group
ipacl_group.description Body String IP ACL group description
ipacl_group.loadbalancers Body String List of load balancer objects with the IP ACL group applied
ipacl_group.loadbalancers.loadbalancer_id Body String Load balancer ID
ipacl_group.tenant_id Body String Tenant ID
ipacl_group.action Body Enum Control action of IP ACL group
One of ALLOW, DENY
ipacl_group.id Body UUID IP ACL group ID
ipacl_group.name Body String IP ACL group name
Example

{
  "ipacl_group": {
    "ipacl_target_count": "3",
    "description": "A Lannister always pays his debts",
    "loadbalancers": [],
    "tenant_id": "18717b5d8a9d45b9af440c75d61235c7",
    "action": "DENY",
    "id": "acc655d4-4735-4892-b32b-669cc21925ff",
    "name": "HouseLannister"
  }
}


Delete IP ACL Group

Deletes the specified IP ACL Group.

DELETE /v2.0/lbaas/ipacl-groups/{ipaclGroupId}
X-Auth-Token: {tokenId}

When an IP ACL group is deleted, all sub-IP ACL targets are also deleted. Rules associated with this IP ACL group are deleted from all load balancers that use the IP ACL group being deleted.

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
ipaclGroupId URL UUID O IP ACL group ID

Response

This API does not return a response body.


Apply IP ACL Group to Load Balancer

Applies an IP ACL group to a load balancer. The IP ACL target rules included in the group are applied to the load balancer to which the IP ACL group is applied. Multiple groups can be applied to a load balancer. However, the actions of all groups must be the same. All IP ACL groups previously applied to the load balancer are deleted and the entered group list are applied.

PUT /v2.0/lbaas/loadbalancers/{lb_id}/bind_ipacl_groups
X-auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
lb_id URL UUID O Load balancer ID
ipacl_groups_binding Body Object O IP ACL binding object
ipacl_groups_binding.ipacl_group_id Body UUID O IP ACL group ID to be applied to a load balancer
Example

{
  "ipacl_groups_binding": [
    {
      "ipacl_group_id": "acc655d4-4735-4892-b32b-669cc21925ff"
    },
    {
      "ipacl_group_id": "ef33c087-2dc9-4be6-a0d2-d24c9d84e66e"
    }
  ]
}

Response

Name Type Format Description
loadbalancer_id Body UUID Load balancer ID
ipacl_group_id Body UUID IP ACL group ID
Example

[
  {
    "loadbalancer_id": "096ddfbf-aaf9-42d6-b93d-0036ec219479",
    "ipacl_group_id": "acc655d4-4735-4892-b32b-669cc21925ff"
  },
  {
    "loadbalancer_id": "096ddfbf-aaf9-42d6-b93d-0036ec219479",
    "ipacl_group_id": "ef33c087-2dc9-4be6-a0d2-d24c9d84e66e"
  }
]

IP ACL Target

List IP ACL Targets

Returns a list of IP ACL targets.

GET /v2.0/lbaas/ipacl-targets
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
id Query String - IP ACL target ID
cidr_address Query String - IP ACL target CIDR
Single IP Address or IP range in CIDR format
ipacl_group_id Query String - IP ACL group ID
description Query String - IP ACL group description

Response

Name Type Format Description
ipacl_targets Body Array IP ACL target information object list
ipacl_targets.ipacl_group_id Body UUID IP ACL group ID
ipacl_targets.tenant_id Body String Tenant ID
ipacl_targets.cidr_address Body String IP ACL target CIDR
ipacl_targets.description Body String IP ACL target description
ipacl_targets.id Body UUID IP ACL target ID
Example

{
  "ipacl_targets": [
    {
      "ipacl_group_id": "d240300b-53f2-4729-a6bb-b6f84f9be076",
      "tenant_id": "8258ab391d854e8b878642b737017a3b",
      "cidr_address": "10.0.0.0/24",
      "description": "description",
      "id": "08d06560-919d-4383-a491-70fd2aca3fb2"
    }
  ]
}

Get IP ACL Target

Returns the specified IP ACL target information.

GET /v2.0/lbaas/ipacl-targets/{ipaclTargetId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
ipaclTargetId URL UUID O IP ACL target ID

Response

Name Type Format Description
ipacl_target Body Array IP ACL target information object
ipacl_target.ipacl_group_id Body UUID IP ACL group ID
ipacl_target.tenant_id Body String Tenant ID
ipacl_target.cidr_address Body String IP ACL target CIDR
Single IP Address or IP range in CIDR format
ipacl_target.description Body String IP ACL target description
ipacl_target.id Body UUID IP ACL target ID
Example

{
  "ipacl_target": {
    "ipacl_group_id": "d240300b-53f2-4729-a6bb-b6f84f9be076",
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "cidr_address": "10.0.0.0/24",
    "description": "description",
    "id": "08d06560-919d-4383-a491-70fd2aca3fb2"
  }
}


Create IP ACL Target

Creates IP ACL target.

POST /v2.0/lbaas/ipacl-targets
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
ipacl_target Body Object O IP ACL target information object
ipacl_target.ipacl_group_id Body UUID O IP ACL group ID
ipacl_target.cidr_address Body String O IP ACL target CIDR
Single IP Address or IP range in CIDR format
ipacl_target.description Body String - IP ACL target description
Example

{
  "ipacl_target": {
    "ipacl_group_id": "d240300b-53f2-4729-a6bb-b6f84f9be076",
    "cidr_address": "10.0.0.0/24",
    "description": "description"
  }
}

Response

Name Type Format Description
ipacl_target Body Object IP ACL target information object
ipacl_target.ipacl_group_id Body UUID IP ACL group ID
ipacl_target.tenant_id Body String Tenant ID
ipacl_target.cidr_address Body String IP ACL target CIDR
Single IP Address or IP range in CIDR format
ipacl_target.description Body String IP ACL target description
ipacl_target.id Body UUID IP ACL target ID
Example

{
  "ipacl_target": {
    "ipacl_group_id": "d240300b-53f2-4729-a6bb-b6f84f9be076",
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "cidr_address": "10.0.0.0/24",
    "description": "description",
    "id": "08d06560-919d-4383-a491-70fd2aca3fb2"
  }
}


Modify IP ACL Target

Modifies an existing IP ACL target. Only description can be changed.

PUT /v2.0/lbaas/ipacl-targets/{ipaclTargetId}
X-Auth-Token: {tokenId}

Request

Name Type Format Required Description
tokenId Header String O Token ID
ipaclTargetId URL UUID O IP ACL target ID
ipacl_target Body Object O IP ACL target information object
ipacl_target.description Body String - IP ACL target description
Example

{
  "ipacl_target": {
    "description": "description"
  }
}

Response

Name Type Format Description
ipacl_target Body Object IP ACL target information object
ipacl_target.ipacl_group_id Body UUID IP ACL group ID
ipacl_target.tenant_id Body String Tenant ID
ipacl_target.cidr_address Body String IP ACL target CIDR
Single IP Address or IP range in CIDR format
ipacl_target.description Body String IP ACL target description
ipacl_target.id Body UUID IP ACL target ID
Example

{
  "ipacl_target": {
    "ipacl_group_id": "d240300b-53f2-4729-a6bb-b6f84f9be076",
    "tenant_id": "8258ab391d854e8b878642b737017a3b",
    "cidr_address": "10.0.0.0/24",
    "description": "description",
    "id": "08d06560-919d-4383-a491-70fd2aca3fb2"
  }
}


Delete IP ACL Target

Deletes the specified load balancer.

DELETE /v2.0/lbaas/ipacl-targets/{ipaclTargetId}
X-Auth-Token: {tokenId}

Request

This API does not require a request body.

Name Type Format Required Description
tokenId Header String O Token ID
ipaclTargetId URL UUID O IP ACL target ID

Response

This API does not return a response body.


TOP