1. Packages
  2. Openstack Provider
  3. API Docs
  4. loadbalancer
  5. Pool
OpenStack v5.0.3 published on Wednesday, Feb 12, 2025 by Pulumi

openstack.loadbalancer.Pool

Explore with Pulumi AI

Manages a V2 pool resource within OpenStack.

Note: This resource has attributes that depend on octavia minor versions. Please ensure your Openstack cloud supports the required minor version.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";

const pool1 = new openstack.loadbalancer.Pool("pool_1", {
    protocol: "HTTP",
    lbMethod: "ROUND_ROBIN",
    listenerId: "d9415786-5f1a-428b-b35f-2f1523e146d2",
    persistence: {
        type: "APP_COOKIE",
        cookieName: "testCookie",
    },
});
Copy
import pulumi
import pulumi_openstack as openstack

pool1 = openstack.loadbalancer.Pool("pool_1",
    protocol="HTTP",
    lb_method="ROUND_ROBIN",
    listener_id="d9415786-5f1a-428b-b35f-2f1523e146d2",
    persistence={
        "type": "APP_COOKIE",
        "cookie_name": "testCookie",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-openstack/sdk/v5/go/openstack/loadbalancer"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := loadbalancer.NewPool(ctx, "pool_1", &loadbalancer.PoolArgs{
			Protocol:   pulumi.String("HTTP"),
			LbMethod:   pulumi.String("ROUND_ROBIN"),
			ListenerId: pulumi.String("d9415786-5f1a-428b-b35f-2f1523e146d2"),
			Persistence: &loadbalancer.PoolPersistenceArgs{
				Type:       pulumi.String("APP_COOKIE"),
				CookieName: pulumi.String("testCookie"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using OpenStack = Pulumi.OpenStack;

return await Deployment.RunAsync(() => 
{
    var pool1 = new OpenStack.LoadBalancer.Pool("pool_1", new()
    {
        Protocol = "HTTP",
        LbMethod = "ROUND_ROBIN",
        ListenerId = "d9415786-5f1a-428b-b35f-2f1523e146d2",
        Persistence = new OpenStack.LoadBalancer.Inputs.PoolPersistenceArgs
        {
            Type = "APP_COOKIE",
            CookieName = "testCookie",
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.openstack.loadbalancer.Pool;
import com.pulumi.openstack.loadbalancer.PoolArgs;
import com.pulumi.openstack.loadbalancer.inputs.PoolPersistenceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var pool1 = new Pool("pool1", PoolArgs.builder()
            .protocol("HTTP")
            .lbMethod("ROUND_ROBIN")
            .listenerId("d9415786-5f1a-428b-b35f-2f1523e146d2")
            .persistence(PoolPersistenceArgs.builder()
                .type("APP_COOKIE")
                .cookieName("testCookie")
                .build())
            .build());

    }
}
Copy
resources:
  pool1:
    type: openstack:loadbalancer:Pool
    name: pool_1
    properties:
      protocol: HTTP
      lbMethod: ROUND_ROBIN
      listenerId: d9415786-5f1a-428b-b35f-2f1523e146d2
      persistence:
        type: APP_COOKIE
        cookieName: testCookie
Copy

Create Pool Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Pool(name: string, args: PoolArgs, opts?: CustomResourceOptions);
@overload
def Pool(resource_name: str,
         args: PoolArgs,
         opts: Optional[ResourceOptions] = None)

@overload
def Pool(resource_name: str,
         opts: Optional[ResourceOptions] = None,
         lb_method: Optional[str] = None,
         protocol: Optional[str] = None,
         name: Optional[str] = None,
         persistence: Optional[PoolPersistenceArgs] = None,
         description: Optional[str] = None,
         ca_tls_container_ref: Optional[str] = None,
         listener_id: Optional[str] = None,
         loadbalancer_id: Optional[str] = None,
         admin_state_up: Optional[bool] = None,
         crl_container_ref: Optional[str] = None,
         alpn_protocols: Optional[Sequence[str]] = None,
         region: Optional[str] = None,
         tags: Optional[Sequence[str]] = None,
         tenant_id: Optional[str] = None,
         tls_ciphers: Optional[str] = None,
         tls_container_ref: Optional[str] = None,
         tls_enabled: Optional[bool] = None,
         tls_versions: Optional[Sequence[str]] = None)
func NewPool(ctx *Context, name string, args PoolArgs, opts ...ResourceOption) (*Pool, error)
public Pool(string name, PoolArgs args, CustomResourceOptions? opts = null)
public Pool(String name, PoolArgs args)
public Pool(String name, PoolArgs args, CustomResourceOptions options)
type: openstack:loadbalancer:Pool
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. PoolArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. PoolArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. PoolArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. PoolArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. PoolArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var poolResource = new OpenStack.LoadBalancer.Pool("poolResource", new()
{
    LbMethod = "string",
    Protocol = "string",
    Name = "string",
    Persistence = new OpenStack.LoadBalancer.Inputs.PoolPersistenceArgs
    {
        Type = "string",
        CookieName = "string",
    },
    Description = "string",
    CaTlsContainerRef = "string",
    ListenerId = "string",
    LoadbalancerId = "string",
    AdminStateUp = false,
    CrlContainerRef = "string",
    AlpnProtocols = new[]
    {
        "string",
    },
    Region = "string",
    Tags = new[]
    {
        "string",
    },
    TenantId = "string",
    TlsCiphers = "string",
    TlsContainerRef = "string",
    TlsEnabled = false,
    TlsVersions = new[]
    {
        "string",
    },
});
Copy
example, err := loadbalancer.NewPool(ctx, "poolResource", &loadbalancer.PoolArgs{
	LbMethod: pulumi.String("string"),
	Protocol: pulumi.String("string"),
	Name:     pulumi.String("string"),
	Persistence: &loadbalancer.PoolPersistenceArgs{
		Type:       pulumi.String("string"),
		CookieName: pulumi.String("string"),
	},
	Description:       pulumi.String("string"),
	CaTlsContainerRef: pulumi.String("string"),
	ListenerId:        pulumi.String("string"),
	LoadbalancerId:    pulumi.String("string"),
	AdminStateUp:      pulumi.Bool(false),
	CrlContainerRef:   pulumi.String("string"),
	AlpnProtocols: pulumi.StringArray{
		pulumi.String("string"),
	},
	Region: pulumi.String("string"),
	Tags: pulumi.StringArray{
		pulumi.String("string"),
	},
	TenantId:        pulumi.String("string"),
	TlsCiphers:      pulumi.String("string"),
	TlsContainerRef: pulumi.String("string"),
	TlsEnabled:      pulumi.Bool(false),
	TlsVersions: pulumi.StringArray{
		pulumi.String("string"),
	},
})
Copy
var poolResource = new Pool("poolResource", PoolArgs.builder()
    .lbMethod("string")
    .protocol("string")
    .name("string")
    .persistence(PoolPersistenceArgs.builder()
        .type("string")
        .cookieName("string")
        .build())
    .description("string")
    .caTlsContainerRef("string")
    .listenerId("string")
    .loadbalancerId("string")
    .adminStateUp(false)
    .crlContainerRef("string")
    .alpnProtocols("string")
    .region("string")
    .tags("string")
    .tenantId("string")
    .tlsCiphers("string")
    .tlsContainerRef("string")
    .tlsEnabled(false)
    .tlsVersions("string")
    .build());
Copy
pool_resource = openstack.loadbalancer.Pool("poolResource",
    lb_method="string",
    protocol="string",
    name="string",
    persistence={
        "type": "string",
        "cookie_name": "string",
    },
    description="string",
    ca_tls_container_ref="string",
    listener_id="string",
    loadbalancer_id="string",
    admin_state_up=False,
    crl_container_ref="string",
    alpn_protocols=["string"],
    region="string",
    tags=["string"],
    tenant_id="string",
    tls_ciphers="string",
    tls_container_ref="string",
    tls_enabled=False,
    tls_versions=["string"])
Copy
const poolResource = new openstack.loadbalancer.Pool("poolResource", {
    lbMethod: "string",
    protocol: "string",
    name: "string",
    persistence: {
        type: "string",
        cookieName: "string",
    },
    description: "string",
    caTlsContainerRef: "string",
    listenerId: "string",
    loadbalancerId: "string",
    adminStateUp: false,
    crlContainerRef: "string",
    alpnProtocols: ["string"],
    region: "string",
    tags: ["string"],
    tenantId: "string",
    tlsCiphers: "string",
    tlsContainerRef: "string",
    tlsEnabled: false,
    tlsVersions: ["string"],
});
Copy
type: openstack:loadbalancer:Pool
properties:
    adminStateUp: false
    alpnProtocols:
        - string
    caTlsContainerRef: string
    crlContainerRef: string
    description: string
    lbMethod: string
    listenerId: string
    loadbalancerId: string
    name: string
    persistence:
        cookieName: string
        type: string
    protocol: string
    region: string
    tags:
        - string
    tenantId: string
    tlsCiphers: string
    tlsContainerRef: string
    tlsEnabled: false
    tlsVersions:
        - string
Copy

Pool Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Pool resource accepts the following input properties:

LbMethod This property is required. string
The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.
Protocol
This property is required.
Changes to this property will trigger replacement.
string
The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP, PROXYV2 (Octavia minor version >= 2.22) or SCTP (Octavia minor version >= 2.23). Changing this creates a new pool.
AdminStateUp bool
The administrative state of the pool. A valid value is true (UP) or false (DOWN).
AlpnProtocols List<string>
A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2. Supported only in Octavia minor version >= 2.24.
CaTlsContainerRef string
The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
CrlContainerRef string
The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
Description string
Human-readable description for the pool.
ListenerId Changes to this property will trigger replacement. string
The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
LoadbalancerId Changes to this property will trigger replacement. string
The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
Name string
Human-readable name for the pool.
Persistence Pulumi.OpenStack.LoadBalancer.Inputs.PoolPersistence
Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
Region Changes to this property will trigger replacement. string
The region in which to obtain the V2 Networking client. A Networking client is needed to create a pool. If omitted, the region argument of the provider is used. Changing this creates a new pool.
Tags List<string>
TenantId Changes to this property will trigger replacement. string
Required for admins. The UUID of the tenant who owns the pool. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new pool.
TlsCiphers string
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information. Supported only in Octavia minor version >= 2.15.
TlsContainerRef string
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. Supported only in Octavia minor version >= 2.8.
TlsEnabled bool
When true connections to backend member servers will use TLS encryption. Default is false. Supported only in Octavia minor version >= 2.8.
TlsVersions List<string>
A list of TLS protocol versions. Available versions: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. Supported only in Octavia minor version >= 2.17.
LbMethod This property is required. string
The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.
Protocol
This property is required.
Changes to this property will trigger replacement.
string
The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP, PROXYV2 (Octavia minor version >= 2.22) or SCTP (Octavia minor version >= 2.23). Changing this creates a new pool.
AdminStateUp bool
The administrative state of the pool. A valid value is true (UP) or false (DOWN).
AlpnProtocols []string
A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2. Supported only in Octavia minor version >= 2.24.
CaTlsContainerRef string
The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
CrlContainerRef string
The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
Description string
Human-readable description for the pool.
ListenerId Changes to this property will trigger replacement. string
The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
LoadbalancerId Changes to this property will trigger replacement. string
The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
Name string
Human-readable name for the pool.
Persistence PoolPersistenceArgs
Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
Region Changes to this property will trigger replacement. string
The region in which to obtain the V2 Networking client. A Networking client is needed to create a pool. If omitted, the region argument of the provider is used. Changing this creates a new pool.
Tags []string
TenantId Changes to this property will trigger replacement. string
Required for admins. The UUID of the tenant who owns the pool. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new pool.
TlsCiphers string
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information. Supported only in Octavia minor version >= 2.15.
TlsContainerRef string
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. Supported only in Octavia minor version >= 2.8.
TlsEnabled bool
When true connections to backend member servers will use TLS encryption. Default is false. Supported only in Octavia minor version >= 2.8.
TlsVersions []string
A list of TLS protocol versions. Available versions: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. Supported only in Octavia minor version >= 2.17.
lbMethod This property is required. String
The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.
protocol
This property is required.
Changes to this property will trigger replacement.
String
The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP, PROXYV2 (Octavia minor version >= 2.22) or SCTP (Octavia minor version >= 2.23). Changing this creates a new pool.
adminStateUp Boolean
The administrative state of the pool. A valid value is true (UP) or false (DOWN).
alpnProtocols List<String>
A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2. Supported only in Octavia minor version >= 2.24.
caTlsContainerRef String
The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
crlContainerRef String
The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
description String
Human-readable description for the pool.
listenerId Changes to this property will trigger replacement. String
The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
loadbalancerId Changes to this property will trigger replacement. String
The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
name String
Human-readable name for the pool.
persistence PoolPersistence
Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
region Changes to this property will trigger replacement. String
The region in which to obtain the V2 Networking client. A Networking client is needed to create a pool. If omitted, the region argument of the provider is used. Changing this creates a new pool.
tags List<String>
tenantId Changes to this property will trigger replacement. String
Required for admins. The UUID of the tenant who owns the pool. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new pool.
tlsCiphers String
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information. Supported only in Octavia minor version >= 2.15.
tlsContainerRef String
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. Supported only in Octavia minor version >= 2.8.
tlsEnabled Boolean
When true connections to backend member servers will use TLS encryption. Default is false. Supported only in Octavia minor version >= 2.8.
tlsVersions List<String>
A list of TLS protocol versions. Available versions: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. Supported only in Octavia minor version >= 2.17.
lbMethod This property is required. string
The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.
protocol
This property is required.
Changes to this property will trigger replacement.
string
The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP, PROXYV2 (Octavia minor version >= 2.22) or SCTP (Octavia minor version >= 2.23). Changing this creates a new pool.
adminStateUp boolean
The administrative state of the pool. A valid value is true (UP) or false (DOWN).
alpnProtocols string[]
A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2. Supported only in Octavia minor version >= 2.24.
caTlsContainerRef string
The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
crlContainerRef string
The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
description string
Human-readable description for the pool.
listenerId Changes to this property will trigger replacement. string
The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
loadbalancerId Changes to this property will trigger replacement. string
The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
name string
Human-readable name for the pool.
persistence PoolPersistence
Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
region Changes to this property will trigger replacement. string
The region in which to obtain the V2 Networking client. A Networking client is needed to create a pool. If omitted, the region argument of the provider is used. Changing this creates a new pool.
tags string[]
tenantId Changes to this property will trigger replacement. string
Required for admins. The UUID of the tenant who owns the pool. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new pool.
tlsCiphers string
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information. Supported only in Octavia minor version >= 2.15.
tlsContainerRef string
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. Supported only in Octavia minor version >= 2.8.
tlsEnabled boolean
When true connections to backend member servers will use TLS encryption. Default is false. Supported only in Octavia minor version >= 2.8.
tlsVersions string[]
A list of TLS protocol versions. Available versions: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. Supported only in Octavia minor version >= 2.17.
lb_method This property is required. str
The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.
protocol
This property is required.
Changes to this property will trigger replacement.
str
The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP, PROXYV2 (Octavia minor version >= 2.22) or SCTP (Octavia minor version >= 2.23). Changing this creates a new pool.
admin_state_up bool
The administrative state of the pool. A valid value is true (UP) or false (DOWN).
alpn_protocols Sequence[str]
A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2. Supported only in Octavia minor version >= 2.24.
ca_tls_container_ref str
The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
crl_container_ref str
The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
description str
Human-readable description for the pool.
listener_id Changes to this property will trigger replacement. str
The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
loadbalancer_id Changes to this property will trigger replacement. str
The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
name str
Human-readable name for the pool.
persistence PoolPersistenceArgs
Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
region Changes to this property will trigger replacement. str
The region in which to obtain the V2 Networking client. A Networking client is needed to create a pool. If omitted, the region argument of the provider is used. Changing this creates a new pool.
tags Sequence[str]
tenant_id Changes to this property will trigger replacement. str
Required for admins. The UUID of the tenant who owns the pool. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new pool.
tls_ciphers str
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information. Supported only in Octavia minor version >= 2.15.
tls_container_ref str
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. Supported only in Octavia minor version >= 2.8.
tls_enabled bool
When true connections to backend member servers will use TLS encryption. Default is false. Supported only in Octavia minor version >= 2.8.
tls_versions Sequence[str]
A list of TLS protocol versions. Available versions: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. Supported only in Octavia minor version >= 2.17.
lbMethod This property is required. String
The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.
protocol
This property is required.
Changes to this property will trigger replacement.
String
The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP, PROXYV2 (Octavia minor version >= 2.22) or SCTP (Octavia minor version >= 2.23). Changing this creates a new pool.
adminStateUp Boolean
The administrative state of the pool. A valid value is true (UP) or false (DOWN).
alpnProtocols List<String>
A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2. Supported only in Octavia minor version >= 2.24.
caTlsContainerRef String
The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
crlContainerRef String
The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
description String
Human-readable description for the pool.
listenerId Changes to this property will trigger replacement. String
The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
loadbalancerId Changes to this property will trigger replacement. String
The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
name String
Human-readable name for the pool.
persistence Property Map
Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
region Changes to this property will trigger replacement. String
The region in which to obtain the V2 Networking client. A Networking client is needed to create a pool. If omitted, the region argument of the provider is used. Changing this creates a new pool.
tags List<String>
tenantId Changes to this property will trigger replacement. String
Required for admins. The UUID of the tenant who owns the pool. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new pool.
tlsCiphers String
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information. Supported only in Octavia minor version >= 2.15.
tlsContainerRef String
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. Supported only in Octavia minor version >= 2.8.
tlsEnabled Boolean
When true connections to backend member servers will use TLS encryption. Default is false. Supported only in Octavia minor version >= 2.8.
tlsVersions List<String>
A list of TLS protocol versions. Available versions: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. Supported only in Octavia minor version >= 2.17.

Outputs

All input properties are implicitly available as output properties. Additionally, the Pool resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.

Look up Existing Pool Resource

Get an existing Pool resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: PoolState, opts?: CustomResourceOptions): Pool
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        admin_state_up: Optional[bool] = None,
        alpn_protocols: Optional[Sequence[str]] = None,
        ca_tls_container_ref: Optional[str] = None,
        crl_container_ref: Optional[str] = None,
        description: Optional[str] = None,
        lb_method: Optional[str] = None,
        listener_id: Optional[str] = None,
        loadbalancer_id: Optional[str] = None,
        name: Optional[str] = None,
        persistence: Optional[PoolPersistenceArgs] = None,
        protocol: Optional[str] = None,
        region: Optional[str] = None,
        tags: Optional[Sequence[str]] = None,
        tenant_id: Optional[str] = None,
        tls_ciphers: Optional[str] = None,
        tls_container_ref: Optional[str] = None,
        tls_enabled: Optional[bool] = None,
        tls_versions: Optional[Sequence[str]] = None) -> Pool
func GetPool(ctx *Context, name string, id IDInput, state *PoolState, opts ...ResourceOption) (*Pool, error)
public static Pool Get(string name, Input<string> id, PoolState? state, CustomResourceOptions? opts = null)
public static Pool get(String name, Output<String> id, PoolState state, CustomResourceOptions options)
resources:  _:    type: openstack:loadbalancer:Pool    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AdminStateUp bool
The administrative state of the pool. A valid value is true (UP) or false (DOWN).
AlpnProtocols List<string>
A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2. Supported only in Octavia minor version >= 2.24.
CaTlsContainerRef string
The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
CrlContainerRef string
The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
Description string
Human-readable description for the pool.
LbMethod string
The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.
ListenerId Changes to this property will trigger replacement. string
The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
LoadbalancerId Changes to this property will trigger replacement. string
The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
Name string
Human-readable name for the pool.
Persistence Pulumi.OpenStack.LoadBalancer.Inputs.PoolPersistence
Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
Protocol Changes to this property will trigger replacement. string
The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP, PROXYV2 (Octavia minor version >= 2.22) or SCTP (Octavia minor version >= 2.23). Changing this creates a new pool.
Region Changes to this property will trigger replacement. string
The region in which to obtain the V2 Networking client. A Networking client is needed to create a pool. If omitted, the region argument of the provider is used. Changing this creates a new pool.
Tags List<string>
TenantId Changes to this property will trigger replacement. string
Required for admins. The UUID of the tenant who owns the pool. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new pool.
TlsCiphers string
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information. Supported only in Octavia minor version >= 2.15.
TlsContainerRef string
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. Supported only in Octavia minor version >= 2.8.
TlsEnabled bool
When true connections to backend member servers will use TLS encryption. Default is false. Supported only in Octavia minor version >= 2.8.
TlsVersions List<string>
A list of TLS protocol versions. Available versions: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. Supported only in Octavia minor version >= 2.17.
AdminStateUp bool
The administrative state of the pool. A valid value is true (UP) or false (DOWN).
AlpnProtocols []string
A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2. Supported only in Octavia minor version >= 2.24.
CaTlsContainerRef string
The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
CrlContainerRef string
The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
Description string
Human-readable description for the pool.
LbMethod string
The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.
ListenerId Changes to this property will trigger replacement. string
The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
LoadbalancerId Changes to this property will trigger replacement. string
The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
Name string
Human-readable name for the pool.
Persistence PoolPersistenceArgs
Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
Protocol Changes to this property will trigger replacement. string
The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP, PROXYV2 (Octavia minor version >= 2.22) or SCTP (Octavia minor version >= 2.23). Changing this creates a new pool.
Region Changes to this property will trigger replacement. string
The region in which to obtain the V2 Networking client. A Networking client is needed to create a pool. If omitted, the region argument of the provider is used. Changing this creates a new pool.
Tags []string
TenantId Changes to this property will trigger replacement. string
Required for admins. The UUID of the tenant who owns the pool. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new pool.
TlsCiphers string
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information. Supported only in Octavia minor version >= 2.15.
TlsContainerRef string
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. Supported only in Octavia minor version >= 2.8.
TlsEnabled bool
When true connections to backend member servers will use TLS encryption. Default is false. Supported only in Octavia minor version >= 2.8.
TlsVersions []string
A list of TLS protocol versions. Available versions: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. Supported only in Octavia minor version >= 2.17.
adminStateUp Boolean
The administrative state of the pool. A valid value is true (UP) or false (DOWN).
alpnProtocols List<String>
A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2. Supported only in Octavia minor version >= 2.24.
caTlsContainerRef String
The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
crlContainerRef String
The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
description String
Human-readable description for the pool.
lbMethod String
The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.
listenerId Changes to this property will trigger replacement. String
The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
loadbalancerId Changes to this property will trigger replacement. String
The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
name String
Human-readable name for the pool.
persistence PoolPersistence
Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
protocol Changes to this property will trigger replacement. String
The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP, PROXYV2 (Octavia minor version >= 2.22) or SCTP (Octavia minor version >= 2.23). Changing this creates a new pool.
region Changes to this property will trigger replacement. String
The region in which to obtain the V2 Networking client. A Networking client is needed to create a pool. If omitted, the region argument of the provider is used. Changing this creates a new pool.
tags List<String>
tenantId Changes to this property will trigger replacement. String
Required for admins. The UUID of the tenant who owns the pool. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new pool.
tlsCiphers String
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information. Supported only in Octavia minor version >= 2.15.
tlsContainerRef String
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. Supported only in Octavia minor version >= 2.8.
tlsEnabled Boolean
When true connections to backend member servers will use TLS encryption. Default is false. Supported only in Octavia minor version >= 2.8.
tlsVersions List<String>
A list of TLS protocol versions. Available versions: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. Supported only in Octavia minor version >= 2.17.
adminStateUp boolean
The administrative state of the pool. A valid value is true (UP) or false (DOWN).
alpnProtocols string[]
A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2. Supported only in Octavia minor version >= 2.24.
caTlsContainerRef string
The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
crlContainerRef string
The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
description string
Human-readable description for the pool.
lbMethod string
The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.
listenerId Changes to this property will trigger replacement. string
The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
loadbalancerId Changes to this property will trigger replacement. string
The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
name string
Human-readable name for the pool.
persistence PoolPersistence
Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
protocol Changes to this property will trigger replacement. string
The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP, PROXYV2 (Octavia minor version >= 2.22) or SCTP (Octavia minor version >= 2.23). Changing this creates a new pool.
region Changes to this property will trigger replacement. string
The region in which to obtain the V2 Networking client. A Networking client is needed to create a pool. If omitted, the region argument of the provider is used. Changing this creates a new pool.
tags string[]
tenantId Changes to this property will trigger replacement. string
Required for admins. The UUID of the tenant who owns the pool. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new pool.
tlsCiphers string
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information. Supported only in Octavia minor version >= 2.15.
tlsContainerRef string
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. Supported only in Octavia minor version >= 2.8.
tlsEnabled boolean
When true connections to backend member servers will use TLS encryption. Default is false. Supported only in Octavia minor version >= 2.8.
tlsVersions string[]
A list of TLS protocol versions. Available versions: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. Supported only in Octavia minor version >= 2.17.
admin_state_up bool
The administrative state of the pool. A valid value is true (UP) or false (DOWN).
alpn_protocols Sequence[str]
A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2. Supported only in Octavia minor version >= 2.24.
ca_tls_container_ref str
The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
crl_container_ref str
The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
description str
Human-readable description for the pool.
lb_method str
The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.
listener_id Changes to this property will trigger replacement. str
The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
loadbalancer_id Changes to this property will trigger replacement. str
The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
name str
Human-readable name for the pool.
persistence PoolPersistenceArgs
Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
protocol Changes to this property will trigger replacement. str
The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP, PROXYV2 (Octavia minor version >= 2.22) or SCTP (Octavia minor version >= 2.23). Changing this creates a new pool.
region Changes to this property will trigger replacement. str
The region in which to obtain the V2 Networking client. A Networking client is needed to create a pool. If omitted, the region argument of the provider is used. Changing this creates a new pool.
tags Sequence[str]
tenant_id Changes to this property will trigger replacement. str
Required for admins. The UUID of the tenant who owns the pool. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new pool.
tls_ciphers str
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information. Supported only in Octavia minor version >= 2.15.
tls_container_ref str
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. Supported only in Octavia minor version >= 2.8.
tls_enabled bool
When true connections to backend member servers will use TLS encryption. Default is false. Supported only in Octavia minor version >= 2.8.
tls_versions Sequence[str]
A list of TLS protocol versions. Available versions: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. Supported only in Octavia minor version >= 2.17.
adminStateUp Boolean
The administrative state of the pool. A valid value is true (UP) or false (DOWN).
alpnProtocols List<String>
A list of ALPN protocols. Available protocols: http/1.0, http/1.1, h2. Supported only in Octavia minor version >= 2.24.
caTlsContainerRef String
The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
crlContainerRef String
The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools. Supported only in Octavia minor version >= 2.8.
description String
Human-readable description for the pool.
lbMethod String
The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.
listenerId Changes to this property will trigger replacement. String
The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
loadbalancerId Changes to this property will trigger replacement. String
The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.
name String
Human-readable name for the pool.
persistence Property Map
Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
protocol Changes to this property will trigger replacement. String
The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP, PROXYV2 (Octavia minor version >= 2.22) or SCTP (Octavia minor version >= 2.23). Changing this creates a new pool.
region Changes to this property will trigger replacement. String
The region in which to obtain the V2 Networking client. A Networking client is needed to create a pool. If omitted, the region argument of the provider is used. Changing this creates a new pool.
tags List<String>
tenantId Changes to this property will trigger replacement. String
Required for admins. The UUID of the tenant who owns the pool. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new pool.
tlsCiphers String
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information. Supported only in Octavia minor version >= 2.15.
tlsContainerRef String
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. Supported only in Octavia minor version >= 2.8.
tlsEnabled Boolean
When true connections to backend member servers will use TLS encryption. Default is false. Supported only in Octavia minor version >= 2.8.
tlsVersions List<String>
A list of TLS protocol versions. Available versions: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. Supported only in Octavia minor version >= 2.17.

Supporting Types

PoolPersistence
, PoolPersistenceArgs

Type This property is required. string
The type of persistence mode. The current specification supports SOURCE_IP, HTTP_COOKIE, and APP_COOKIE.
CookieName string
The name of the cookie if persistence mode is set appropriately. Required if type = APP_COOKIE.
Type This property is required. string
The type of persistence mode. The current specification supports SOURCE_IP, HTTP_COOKIE, and APP_COOKIE.
CookieName string
The name of the cookie if persistence mode is set appropriately. Required if type = APP_COOKIE.
type This property is required. String
The type of persistence mode. The current specification supports SOURCE_IP, HTTP_COOKIE, and APP_COOKIE.
cookieName String
The name of the cookie if persistence mode is set appropriately. Required if type = APP_COOKIE.
type This property is required. string
The type of persistence mode. The current specification supports SOURCE_IP, HTTP_COOKIE, and APP_COOKIE.
cookieName string
The name of the cookie if persistence mode is set appropriately. Required if type = APP_COOKIE.
type This property is required. str
The type of persistence mode. The current specification supports SOURCE_IP, HTTP_COOKIE, and APP_COOKIE.
cookie_name str
The name of the cookie if persistence mode is set appropriately. Required if type = APP_COOKIE.
type This property is required. String
The type of persistence mode. The current specification supports SOURCE_IP, HTTP_COOKIE, and APP_COOKIE.
cookieName String
The name of the cookie if persistence mode is set appropriately. Required if type = APP_COOKIE.

Import

Load Balancer Pool can be imported using the Pool ID, e.g.:

$ pulumi import openstack:loadbalancer/pool:Pool pool_1 60ad9ee4-249a-4d60-a45b-aa60e046c513
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
OpenStack pulumi/pulumi-openstack
License
Apache-2.0
Notes
This Pulumi package is based on the openstack Terraform Provider.