osc load-balancer pool create

Creates a pool for a load balancer.

The pool defines how requests should be balanced across the backend member servers.

This operation provisions a pool by using the configuration that you define in the request object. After the API validates the request and starts the provisioning process, the API returns a response object, which contains a unique ID.

In the response, the pool provisioning status is ACTIVE, PENDING_CREATE, or ERROR.

If the status is PENDING_CREATE, issue GET /v2/lbaas/pools/{pool_id} to view the progress of the provisioning operation. When the pool status changes to ACTIVE, the pool is successfully provisioned and is ready for further configuration.

At a minimum, you must specify these pool attributes:

Some attributes receive default values if you omit them from the request:

If the API cannot fulfill the request due to insufficient data or data that is not valid, the service returns the HTTP Bad Request (400) response code with information about the failure in the response body. Validation errors require that you correct the error and submit the request again.

Specifying a project_id is deprecated. The pool will inherit the project_id of the parent load balancer.

You can configure all documented features of the pool at creation time by specifying the additional elements or attributes in the request.

To create a pool, the parent load balancer must have an ACTIVE provisioning status.

SOURCE_IP_PORT algorithm is available from version 2.13.

Usage: osc load-balancer pool create [OPTIONS] --lb-algorithm <LB_ALGORITHM> --protocol <PROTOCOL>

Options:

  • --admin-state-up <ADMIN_STATE_UP> — The administrative state of the resource, which is up (true) or down (false). Default is true

    Possible values: true, false

  • --alpn-protocols <ALPN_PROTOCOLS> — A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2

    New in version 2.24

  • --ca-tls-container-ref <CA_TLS_CONTAINER_REF> — The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools.

    New in version 2.8

  • --crl-container-ref <CRL_CONTAINER_REF> — The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools

  • --description <DESCRIPTION> — A human-readable description for the resource

  • --healthmonitor <JSON> — Defines mandatory and optional attributes of a POST request

  • --lb-algorithm <LB_ALGORITHM> — The load balancing algorithm for the pool. One of LEAST_CONNECTIONS, ROUND_ROBIN, SOURCE_IP, or SOURCE_IP_PORT

    Possible values: least-connections, round-robin, source-ip, source-ip-port

  • --listener-id <LISTENER_ID> — The ID of the listener for the pool. Either listener_id or loadbalancer_id must be specified. The listener has some restrictions, See Protocol Combinations (Listener/Pool)

  • --loadbalancer-id <LOADBALANCER_ID> — The ID of the load balancer for the pool. Either listener_id or loadbalancer_id must be specified

  • --members <JSON>

  • --name <NAME> — Human-readable name of the resource

  • --project-id <PROJECT_ID> — The ID of the project owning this resource. (deprecated)

  • --protocol <PROTOCOL> — The protocol for the resource. One of HTTP, HTTPS, PROXY, PROXYV2, SCTP, TCP, or UDP

    Possible values: http, https, proxy, proxyv2, sctp, tcp, udp

  • --cookie-name <COOKIE_NAME>

  • --persistence-granularity <PERSISTENCE_GRANULARITY>

  • --persistence-timeout <PERSISTENCE_TIMEOUT>

  • --type <TYPE>

    Possible values: app-cookie, http-cookie, source-ip

  • --tags <TAGS>

  • --tenant-id <TENANT_ID>

  • --tls-ciphers <TLS_CIPHERS> — List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html

    New in version 2.15

  • --tls-container-ref <TLS_CONTAINER_REF> — The reference to the key manager service secret containing a PKCS12 format certificate/key bundle for tls_enabled pools for TLS client authentication to the member servers.

    New in version 2.8

  • --tls-enabled <TLS_ENABLED> — When true connections to backend member servers will use TLS encryption. Default is false.

    New in version 2.8

    Possible values: true, false

  • --tls-versions <TLS_VERSIONS> — A list of TLS protocol versions. Available versions: SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3

    New in version 2.17