Skip to content

Create DNS Load Balancer Pool.

POST
/api/config/dns/namespaces/{metadata.namespace}/dns_lb_pools
curl --request POST \
--url https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/config/dns/namespaces/example/dns_lb_pools \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "metadata": { "annotations": {}, "description": "example", "disable": true, "labels": {}, "name": "example", "namespace": "example" }, "spec": { "a_pool": { "disable_health_check": {}, "health_check": { "name": "example", "namespace": "example" }, "max_answers": 1, "members": [ { "disable": true, "ip_endpoint": "example", "name": "example", "priority": 1, "ratio": 1 } ] }, "aaaa_pool": { "max_answers": 1, "members": [ { "disable": true, "ip_endpoint": "example", "name": "example", "priority": 1, "ratio": 1 } ] }, "cname_pool": { "members": [ { "domain": "example", "final_translation": true, "name": "example", "ratio": 1 } ], "disable_health_check": {}, "health_check": { "name": "example", "namespace": "example" } }, "load_balancing_mode": "ROUND_ROBIN", "mx_pool": { "max_answers": 1, "members": [ { "domain": "example", "name": "example", "priority": 1, "ratio": 1 } ] }, "srv_pool": { "max_answers": 1, "members": [ { "final_translation": true, "name": "example", "port": 1, "priority": 1, "ratio": 1, "target": "example", "weight": 1 } ] }, "ttl": 1, "use_rrset_ttl": {} } }'

Create DNS Load Balancer Pool in a given namespace. If one already exist it will give a error.

Examples of this operation.

metadata.namespace
required
string

Namespace This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

Media typeapplication/json
CreateRequest is used to create an instance of dns_lb_pool

This is the input message of the ‘Create’ RPC.

object
metadata
object
annotations
annotations

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.

object
description
description

Human readable description for the object.

string
>= 21 characters <= 1200 characters
disable
disable

A value of true will administratively disable the object.

boolean format: boolean
labels
labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.

object
name
name

This is the name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API. The value of name has to follow DNS-1035 format. Required: YES.

string
>= 6 characters <= 1024 characters
namespace
namespace

This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

string
>= 6 characters <= 1024 characters
spec
object
a_pool
object
disable_health_check
object
health_check
object
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name. Required: YES.

string
>= 1 characters <= 128 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 64 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 64 characters
max_answers
Maximum Answers

Limit on number of Resource Records to be included in the response to query Required: YES.

integer format: int64
members
Collection of A record members

Required: YES.

Array<object>
>= 1 items <= 32 items
AddressMember

Public IP address which can be IPv4 or IPv6. This can be a member of only A/AAAA type Pool.

object
disable
Disable pool-member

A value of true will disable the pool-member.

boolean format: boolean
ip_endpoint
IP

Public IP address Required: YES.

string
<= 1024 characters
name
Name

Pool member name.

string
>= 6 characters <= 256 characters
priority
Priority

Used if the pool’s load balancing mode is set to Priority.

integer format: int64
ratio
Ratio

Used if the pool’s load balancing mode is set to Ratio-Member.

integer format: int64
aaaa_pool
object
max_answers
Maximum Answers

Limit on number of Resource Records to be included in the response to query Required: YES.

integer format: int64
members
Collection of AAAA record members

Required: YES.

Array<object>
>= 1 items <= 32 items
AddressMember

Public IP address which can be IPv4 or IPv6. This can be a member of only A/AAAA type Pool.

object
disable
Disable pool-member

A value of true will disable the pool-member.

boolean format: boolean
ip_endpoint
IP

Public IP address Required: YES.

string
<= 1024 characters
name
Name

Pool member name.

string
>= 6 characters <= 256 characters
priority
Priority

Used if the pool’s load balancing mode is set to Priority.

integer format: int64
ratio
Ratio

Used if the pool’s load balancing mode is set to Ratio-Member.

integer format: int64
cname_pool
object
members
Collection of CNAME record members

Required: YES.

Array<object>
>= 1 items <= 32 items
CNAMEMember

CNAME Record which can be a member of a CNAME type pool.

object
domain
Domain

Required: YES.

string format: hostname
>= 26 characters <= 1024 characters
final_translation
Final Translation

If this flag is true, the CNAME record will not be translated further.

boolean format: boolean
name
Name

Pool member name.

string
>= 6 characters <= 256 characters
ratio
Ratio

Configuration parameter for ratio

integer format: int64
disable_health_check
object
health_check
object
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name. Required: YES.

string
>= 1 characters <= 128 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 64 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 64 characters
load_balancing_mode
string
default: ROUND_ROBIN
Allowed values: ROUND_ROBIN RATIO_MEMBER STATIC_PERSIST PRIORITY
mx_pool
object
max_answers
Maximum Answers

Limit on number of Resource Records to be included in the response to query Required: YES.

integer format: int64
members
Collection of MX record members

Required: YES.

Array<object>
>= 1 items <= 32 items
MXMember

MX Record which can be a member of a MX type pool.

object
domain
Domain

Required: YES.

string format: hostname
>= 26 characters <= 1024 characters
name
Name

Pool member name.

string
>= 6 characters <= 256 characters
priority
Priority

MX Record priority.

integer format: int64
ratio
Ratio

Load Balancing Ratio.

integer format: int64
srv_pool
object
max_answers
Maximum Answers

Limit on number of Resource Records to be included in the response to query Required: YES.

integer format: int64
members
Collection of SRV record members

Required: YES.

Array<object>
>= 1 items <= 32 items
SRVMember

SRV Record which can be a member of a SRV type pool.

object
final_translation
Final Translation

If this flag is true, the SRV record will not be translated further.

boolean format: boolean
name
Name

Pool member name.

string
>= 6 characters <= 256 characters
port
Port

Port on which the service can be found Required: YES.

integer format: int64
>= 1 <= 65535
priority
Priority

Priority of the target. A lower number indicates a higher preference. Required: YES.

integer format: int64
ratio
Ratio

Configuration parameter for ratio

integer format: int64
target
Target

Domain name of the machine providing the service Required: YES.

string
<= 1024 characters
weight
Weight

Weight of the target. A higher number indicates a higher preference. Required: YES.

integer format: int64
ttl

Exclusive with [use_rrset_ttl] Custom TTL in seconds (default 30) for responses from this pool.

integer format: int64
use_rrset_ttl
object

A successful response.

Media typeapplication/json
object
metadata
object
annotations
annotations

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.

object
description
description

Human readable description for the object.

string
>= 21 characters <= 1200 characters
disable
disable

A value of true will administratively disable the object.

boolean format: boolean
labels
labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.

object
name
name

This is the name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API. The value of name has to follow DNS-1035 format. Required: YES.

string
>= 6 characters <= 1024 characters
namespace
namespace

This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

string
>= 6 characters <= 1024 characters
spec
object
a_pool
object
disable_health_check
object
health_check
object
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name. Required: YES.

string
>= 1 characters <= 128 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 64 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 64 characters
max_answers
Maximum Answers

Limit on number of Resource Records to be included in the response to query Required: YES.

integer format: int64
members
Collection of A record members

Required: YES.

Array<object>
>= 1 items <= 32 items
AddressMember

Public IP address which can be IPv4 or IPv6. This can be a member of only A/AAAA type Pool.

object
disable
Disable pool-member

A value of true will disable the pool-member.

boolean format: boolean
ip_endpoint
IP

Public IP address Required: YES.

string
<= 1024 characters
name
Name

Pool member name.

string
>= 6 characters <= 256 characters
priority
Priority

Used if the pool’s load balancing mode is set to Priority.

integer format: int64
ratio
Ratio

Used if the pool’s load balancing mode is set to Ratio-Member.

integer format: int64
aaaa_pool
object
max_answers
Maximum Answers

Limit on number of Resource Records to be included in the response to query Required: YES.

integer format: int64
members
Collection of AAAA record members

Required: YES.

Array<object>
>= 1 items <= 32 items
AddressMember

Public IP address which can be IPv4 or IPv6. This can be a member of only A/AAAA type Pool.

object
disable
Disable pool-member

A value of true will disable the pool-member.

boolean format: boolean
ip_endpoint
IP

Public IP address Required: YES.

string
<= 1024 characters
name
Name

Pool member name.

string
>= 6 characters <= 256 characters
priority
Priority

Used if the pool’s load balancing mode is set to Priority.

integer format: int64
ratio
Ratio

Used if the pool’s load balancing mode is set to Ratio-Member.

integer format: int64
cname_pool
object
members
Collection of CNAME record members

Required: YES.

Array<object>
>= 1 items <= 32 items
CNAMEMember

CNAME Record which can be a member of a CNAME type pool.

object
domain
Domain

Required: YES.

string format: hostname
>= 26 characters <= 1024 characters
final_translation
Final Translation

If this flag is true, the CNAME record will not be translated further.

boolean format: boolean
name
Name

Pool member name.

string
>= 6 characters <= 256 characters
ratio
Ratio

Configuration parameter for ratio

integer format: int64
disable_health_check
object
health_check
object
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name. Required: YES.

string
>= 1 characters <= 128 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 64 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 64 characters
dns_load_balancers

A list of Load balancers associated with this load balancer pool.

Array<object>
ObjectRefType

This type establishes a direct reference from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name.

object
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name. Required: YES.

string
>= 1 characters <= 128 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 64 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 64 characters
load_balancing_mode
string
default: ROUND_ROBIN
Allowed values: ROUND_ROBIN RATIO_MEMBER STATIC_PERSIST PRIORITY
mx_pool
object
max_answers
Maximum Answers

Limit on number of Resource Records to be included in the response to query Required: YES.

integer format: int64
members
Collection of MX record members

Required: YES.

Array<object>
>= 1 items <= 32 items
MXMember

MX Record which can be a member of a MX type pool.

object
domain
Domain

Required: YES.

string format: hostname
>= 26 characters <= 1024 characters
name
Name

Pool member name.

string
>= 6 characters <= 256 characters
priority
Priority

MX Record priority.

integer format: int64
ratio
Ratio

Load Balancing Ratio.

integer format: int64
srv_pool
object
max_answers
Maximum Answers

Limit on number of Resource Records to be included in the response to query Required: YES.

integer format: int64
members
Collection of SRV record members

Required: YES.

Array<object>
>= 1 items <= 32 items
SRVMember

SRV Record which can be a member of a SRV type pool.

object
final_translation
Final Translation

If this flag is true, the SRV record will not be translated further.

boolean format: boolean
name
Name

Pool member name.

string
>= 6 characters <= 256 characters
port
Port

Port on which the service can be found Required: YES.

integer format: int64
>= 1 <= 65535
priority
Priority

Priority of the target. A lower number indicates a higher preference. Required: YES.

integer format: int64
ratio
Ratio

Configuration parameter for ratio

integer format: int64
target
Target

Domain name of the machine providing the service Required: YES.

string
<= 1024 characters
weight
Weight

Weight of the target. A higher number indicates a higher preference. Required: YES.

integer format: int64
ttl

Exclusive with [use_rrset_ttl] Custom TTL in seconds (default 30) for responses from this pool.

integer format: int64
use_rrset_ttl
object
system_metadata
object
creation_timestamp
creation_timestamp

CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.

string format: date-time
<= 1024 characters
creator_class
creator_class

A value identifying the class of the user or service which created this configuration object.

string
<= 1024 characters
creator_id
creator_id

A value identifying the exact user or service that created this configuration object.

string
<= 1024 characters
deletion_timestamp
deletion_timestamp

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.

Populated by the system when a graceful deletion is requested. Read-only.

string format: date-time
<= 1024 characters
finalizers
finalizers

Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.

Array<string>
initializers
object
pending
pending

Pending is a list of initializers that must execute in order before this object is initialized. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.

Array<object>
InitializerType

Initializer is information about an initializer that has not yet completed.

object
name
name

Name of the service that is responsible for initializing this object.

string
>= 6 characters <= 1024 characters
result
object
code
code

Suggested HTTP return code for this status, 0 if not set.

integer format: int32
reason
reason

A human-readable description of why this operation is in the “Failure” status. If this value is empty there is no information available.

string
>= 27 characters <= 1024 characters
status
status

Status of the operation. One of: “Success” or “Failure”.

string
>= 17 characters <= 1024 characters
labels
labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the operator or software. Values here can be interpreted by software(backend or frontend) to enable certain behavior e.g. Things marked as soft-deleted(restorable).

object
modification_timestamp
modification_timestamp

ModificationTimestamp is a timestamp representing the server time when this object was last modified.

string format: date-time
<= 1024 characters
object_index
object_index

Unique index for the object. Some objects need a unique integer index to be allocated for each object type. This field will be populated for all objects that need it and will be zero otherwise.

integer format: int64
owner_view
object
kind
kind

Kind of the view object.

string
>= 12 characters <= 1024 characters
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name.

string
>= 6 characters <= 1024 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 1024 characters
uid
uid

UID of the view object.

string format: uuid
>= 36 characters <= 1024 characters
tenant
tenant

Tenant to which this configuration object belongs to. The value for this is found from presented credentials.

string
>= 6 characters <= 1024 characters
uid
uid

Uid is the unique in time and space value for this object. It is generated by the server on successful creation of an object and is not allowed to change on Replace API. The value of is taken from uid field of ObjectMetaType, if provided.

string format: uuid
>= 36 characters <= 1024 characters
Example
{
"spec": {
"load_balancing_mode": "ROUND_ROBIN"
}
}

Returned when operation is not authorized.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when there is no permission to access resource.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when resource is not found.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when operation on resource is conflicting with current value.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when operation has been rejected as it is happening too frequently.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when server encountered an error in processing API.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when service is unavailable temporarily.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when server timed out processing request.

Media typeapplication/json
string format: string
Examplegenerated
example