Module loadbalancer

@pulumi/openstack > loadbalancer

class L7PolicyV2

extends CustomResource

Manages a Load Balancer L7 Policy resource within OpenStack.

Example Usage

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

const network1 = new openstack.networking.Network("network_1", {
    adminStateUp: true,
});
const subnet1 = new openstack.networking.Subnet("subnet_1", {
    cidr: "192.168.199.0/24",
    ipVersion: 4,
    networkId: network1.id,
});
const loadbalancer1 = new openstack.loadbalancer.LoadBalancer("loadbalancer_1", {
    vipSubnetId: subnet1.id,
});
const listener1 = new openstack.loadbalancer.Listener("listener_1", {
    loadbalancerId: loadbalancer1.id,
    protocol: "HTTP",
    protocolPort: 8080,
});
const pool1 = new openstack.loadbalancer.Pool("pool_1", {
    lbMethod: "ROUND_ROBIN",
    loadbalancerId: loadbalancer1.id,
    protocol: "HTTP",
});
const l7policy1 = new openstack.loadbalancer.L7PolicyV2("l7policy_1", {
    action: "REDIRECT_TO_POOL",
    description: "test l7 policy",
    listenerId: listener1.id,
    position: 1,
    redirectPoolId: pool1.id,
});

constructor

new L7PolicyV2(name: string, args: L7PolicyV2Args, opts?: pulumi.CustomResourceOptions)

Create a L7PolicyV2 resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: L7PolicyV2State, opts?: pulumi.CustomResourceOptions): L7PolicyV2

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property action

public action: pulumi.Output<string>;

The L7 Policy action - can either be REDIRECT_TO_POOL, REDIRECT_TO_URL or REJECT.

property adminStateUp

public adminStateUp: pulumi.Output<boolean | undefined>;

The administrative state of the L7 Policy. A valid value is true (UP) or false (DOWN).

property description

public description: pulumi.Output<string | undefined>;

Human-readable description for the L7 Policy.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property listenerId

public listenerId: pulumi.Output<string>;

The Listener on which the L7 Policy will be associated with. Changing this creates a new L7 Policy.

property name

public name: pulumi.Output<string>;

Human-readable name for the L7 Policy. Does not have to be unique.

property position

public position: pulumi.Output<number>;

The position of this policy on the listener. Positions start at 1.

property redirectPoolId

public redirectPoolId: pulumi.Output<string | undefined>;

Requests matching this policy will be redirected to the pool with this ID. Only valid if action is REDIRECT_TO_POOL.

property redirectUrl

public redirectUrl: pulumi.Output<string | undefined>;

Requests matching this policy will be redirected to this URL. Only valid if action is REDIRECT_TO_URL.

property region

public region: pulumi.Output<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new L7 Policy.

property tenantId

public tenantId: pulumi.Output<string>;

Required for admins. The UUID of the tenant who owns the L7 Policy. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new L7 Policy.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class L7RuleV2

extends CustomResource

Manages a V2 L7 Rule resource within OpenStack.

Example Usage

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

const network1 = new openstack.networking.Network("network_1", {
    adminStateUp: true,
});
const subnet1 = new openstack.networking.Subnet("subnet_1", {
    cidr: "192.168.199.0/24",
    ipVersion: 4,
    networkId: network1.id,
});
const loadbalancer1 = new openstack.loadbalancer.LoadBalancer("loadbalancer_1", {
    vipSubnetId: subnet1.id,
});
const listener1 = new openstack.loadbalancer.Listener("listener_1", {
    loadbalancerId: loadbalancer1.id,
    protocol: "HTTP",
    protocolPort: 8080,
});
const l7policy1 = new openstack.loadbalancer.L7PolicyV2("l7policy_1", {
    action: "REDIRECT_TO_URL",
    description: "test description",
    listenerId: listener1.id,
    position: 1,
    redirectUrl: "http://www.example.com",
});
const l7rule1 = new openstack.loadbalancer.L7RuleV2("l7rule_1", {
    compareType: "EQUAL_TO",
    l7policyId: l7policy1.id,
    type: "PATH",
    value: "/api",
});
const pool1 = new openstack.loadbalancer.Pool("pool_1", {
    lbMethod: "ROUND_ROBIN",
    loadbalancerId: loadbalancer1.id,
    protocol: "HTTP",
});

constructor

new L7RuleV2(name: string, args: L7RuleV2Args, opts?: pulumi.CustomResourceOptions)

Create a L7RuleV2 resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: L7RuleV2State, opts?: pulumi.CustomResourceOptions): L7RuleV2

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property adminStateUp

public adminStateUp: pulumi.Output<boolean | undefined>;

The administrative state of the L7 Rule. A valid value is true (UP) or false (DOWN).

property compareType

public compareType: pulumi.Output<string>;

The comparison type for the L7 rule - can either be CONTAINS, STARTS_WITH, ENDS_WITH, EQUAL_TO or REGEX

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property invert

public invert: pulumi.Output<boolean | undefined>;

When true the logic of the rule is inverted. For example, with invert true, equal to would become not equal to. Default is false.

property key

public key: pulumi.Output<string | undefined>;

The key to use for the comparison. For example, the name of the cookie to evaluate. Valid when type is set to COOKIE or HEADER.

property l7policyId

public l7policyId: pulumi.Output<string>;

The ID of the L7 Policy to query. Changing this creates a new L7 Rule.

property listenerId

public listenerId: pulumi.Output<string>;

The ID of the Listener owning this resource.

property region

public region: pulumi.Output<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new L7 Rule.

property tenantId

public tenantId: pulumi.Output<string>;

Required for admins. The UUID of the tenant who owns the L7 Rule. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new L7 Rule.

property type

public type: pulumi.Output<string>;

The L7 Rule type - can either be COOKIE, FILE_TYPE, HEADER, HOST_NAME or PATH.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property value

public value: pulumi.Output<string>;

The value to use for the comparison. For example, the file type to compare.

class Listener

extends CustomResource

Manages a V2 listener resource within OpenStack.

Example Usage

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

const listener1 = new openstack.loadbalancer.Listener("listener_1", {
    loadbalancerId: "d9415786-5f1a-428b-b35f-2f1523e146d2",
    protocol: "HTTP",
    protocolPort: 8080,
});

constructor

new Listener(name: string, args: ListenerArgs, opts?: pulumi.CustomResourceOptions)

Create a Listener resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ListenerState, opts?: pulumi.CustomResourceOptions): Listener

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property adminStateUp

public adminStateUp: pulumi.Output<boolean | undefined>;

The administrative state of the Listener. A valid value is true (UP) or false (DOWN).

property connectionLimit

public connectionLimit: pulumi.Output<number>;

The maximum number of connections allowed for the Listener.

property defaultPoolId

public defaultPoolId: pulumi.Output<string>;

The ID of the default pool with which the Listener is associated.

property defaultTlsContainerRef

public defaultTlsContainerRef: pulumi.Output<string | undefined>;

A reference to a Barbican Secrets container which stores TLS information. This is required if the protocol is TERMINATED_HTTPS. See here for more information.

property description

public description: pulumi.Output<string | undefined>;

Human-readable description for the Listener.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property loadbalancerId

public loadbalancerId: pulumi.Output<string>;

The load balancer on which to provision this Listener. Changing this creates a new Listener.

property name

public name: pulumi.Output<string>;

Human-readable name for the Listener. Does not have to be unique.

property protocol

public protocol: pulumi.Output<string>;

The protocol - can either be TCP, HTTP, HTTPS or TERMINATED_HTTPS. Changing this creates a new Listener.

property protocolPort

public protocolPort: pulumi.Output<number>;

The port on which to listen for client traffic. Changing this creates a new Listener.

property region

public region: pulumi.Output<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new Listener.

property sniContainerRefs

public sniContainerRefs: pulumi.Output<string[] | undefined>;

A list of references to Barbican Secrets containers which store SNI information. See here for more information.

property tenantId

public tenantId: pulumi.Output<string>;

Required for admins. The UUID of the tenant who owns the Listener. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new Listener.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class LoadBalancer

extends CustomResource

Manages a V2 loadbalancer resource within OpenStack.

Example Usage

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

const lb1 = new openstack.loadbalancer.LoadBalancer("lb_1", {
    vipSubnetId: "d9415786-5f1a-428b-b35f-2f1523e146d2",
});

constructor

new LoadBalancer(name: string, args: LoadBalancerArgs, opts?: pulumi.CustomResourceOptions)

Create a LoadBalancer resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LoadBalancerState, opts?: pulumi.CustomResourceOptions): LoadBalancer

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property adminStateUp

public adminStateUp: pulumi.Output<boolean | undefined>;

The administrative state of the Loadbalancer. A valid value is true (UP) or false (DOWN).

property description

public description: pulumi.Output<string | undefined>;

Human-readable description for the Loadbalancer.

property flavor

public flavor: pulumi.Output<string | undefined>;

The UUID of a flavor. Changing this creates a new loadbalancer.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property loadbalancerProvider

public loadbalancerProvider: pulumi.Output<string>;

The name of the provider. Changing this creates a new loadbalancer.

property name

public name: pulumi.Output<string>;

Human-readable name for the Loadbalancer. Does not have to be unique.

property region

public region: pulumi.Output<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an LB member. If omitted, the region argument of the provider is used. Changing this creates a new LB member.

property securityGroupIds

public securityGroupIds: pulumi.Output<string[]>;

A list of security group IDs to apply to the loadbalancer. The security groups must be specified by ID and not name (as opposed to how they are configured with the Compute Instance).

property tenantId

public tenantId: pulumi.Output<string>;

Required for admins. The UUID of the tenant who owns the Loadbalancer. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new loadbalancer.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vipAddress

public vipAddress: pulumi.Output<string>;

The ip address of the load balancer. Changing this creates a new loadbalancer.

property vipPortId

public vipPortId: pulumi.Output<string>;

The Port ID of the Load Balancer IP.

property vipSubnetId

public vipSubnetId: pulumi.Output<string>;

The network on which to allocate the Loadbalancer’s address. A tenant can only create Loadbalancers on networks authorized by policy (e.g. networks that belong to them or networks that are shared). Changing this creates a new loadbalancer.

class Member

extends CustomResource

Manages a V2 member resource within OpenStack.

Example Usage

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

const member1 = new openstack.loadbalancer.Member("member_1", {
    address: "192.168.199.23",
    protocolPort: 8080,
});

constructor

new Member(name: string, args: MemberArgs, opts?: pulumi.CustomResourceOptions)

Create a Member resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MemberState, opts?: pulumi.CustomResourceOptions): Member

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property address

public address: pulumi.Output<string>;

The IP address of the member to receive traffic from the load balancer. Changing this creates a new member.

property adminStateUp

public adminStateUp: pulumi.Output<boolean | undefined>;

The administrative state of the member. A valid value is true (UP) or false (DOWN).

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

Human-readable name for the member.

property poolId

public poolId: pulumi.Output<string>;

The id of the pool that this member will be assigned to.

property protocolPort

public protocolPort: pulumi.Output<number>;

The port on which to listen for client traffic. Changing this creates a new member.

property region

public region: pulumi.Output<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new member.

property subnetId

public subnetId: pulumi.Output<string | undefined>;

The subnet in which to access the member

property tenantId

public tenantId: pulumi.Output<string>;

Required for admins. The UUID of the tenant who owns the member. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new member.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property weight

public weight: pulumi.Output<number>;

A positive integer value that indicates the relative portion of traffic that this member should receive from the pool. For example, a member with a weight of 10 receives five times as much traffic as a member with a weight of 2.

class MemberV1

extends CustomResource

Manages a V1 load balancer member resource within OpenStack.

Example Usage

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

const member1 = new openstack.loadbalancer.MemberV1("member_1", {
    address: "192.168.0.10",
    poolId: "d9415786-5f1a-428b-b35f-2f1523e146d2",
    port: 80,
});

constructor

new MemberV1(name: string, args: MemberV1Args, opts?: pulumi.CustomResourceOptions)

Create a MemberV1 resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MemberV1State, opts?: pulumi.CustomResourceOptions): MemberV1

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property address

public address: pulumi.Output<string>;

The IP address of the member. Changing this creates a new member.

property adminStateUp

public adminStateUp: pulumi.Output<boolean>;

The administrative state of the member. Acceptable values are ‘true’ and ‘false’. Changing this value updates the state of the existing member.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property poolId

public poolId: pulumi.Output<string>;

The ID of the LB pool. Changing this creates a new member.

property port

public port: pulumi.Output<number>;

An integer representing the port on which the member is hosted. Changing this creates a new member.

property region

public region: pulumi.Output<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an LB member. If omitted, the region argument of the provider is used. Changing this creates a new LB member.

property tenantId

public tenantId: pulumi.Output<string | undefined>;

The owner of the member. Required if admin wants to create a member for another tenant. Changing this creates a new member.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property weight

public weight: pulumi.Output<number>;

The load balancing weight of the member. This is currently unable to be set through Terraform.

class Monitor

extends CustomResource

Manages a V2 monitor resource within OpenStack.

Example Usage

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

const monitor1 = new openstack.loadbalancer.Monitor("monitor_1", {
    delay: 20,
    maxRetries: 5,
    poolId: openstack_lb_pool_v2_pool_1.id,
    timeout: 10,
    type: "PING",
});

constructor

new Monitor(name: string, args: MonitorArgs, opts?: pulumi.CustomResourceOptions)

Create a Monitor resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MonitorState, opts?: pulumi.CustomResourceOptions): Monitor

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property adminStateUp

public adminStateUp: pulumi.Output<boolean | undefined>;

The administrative state of the monitor. A valid value is true (UP) or false (DOWN).

property delay

public delay: pulumi.Output<number>;

The time, in seconds, between sending probes to members.

property expectedCodes

public expectedCodes: pulumi.Output<string>;

Required for HTTP(S) types. Expected HTTP codes for a passing HTTP(S) monitor. You can either specify a single status like “200”, or a range like “200-202”.

property httpMethod

public httpMethod: pulumi.Output<string>;

Required for HTTP(S) types. The HTTP method used for requests by the monitor. If this attribute is not specified, it defaults to “GET”.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property maxRetries

public maxRetries: pulumi.Output<number>;

Number of permissible ping failures before changing the member’s status to INACTIVE. Must be a number between 1 and 10..

property name

public name: pulumi.Output<string>;

The Name of the Monitor.

property poolId

public poolId: pulumi.Output<string>;

The id of the pool that this monitor will be assigned to.

property region

public region: pulumi.Output<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new monitor.

property tenantId

public tenantId: pulumi.Output<string>;

Required for admins. The UUID of the tenant who owns the monitor. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new monitor.

property timeout

public timeout: pulumi.Output<number>;

Maximum number of seconds for a monitor to wait for a ping reply before it times out. The value must be less than the delay value.

property type

public type: pulumi.Output<string>;

The type of probe, which is PING, TCP, HTTP, or HTTPS, that is sent by the load balancer to verify the member state. Changing this creates a new monitor.

property urlPath

public urlPath: pulumi.Output<string>;

Required for HTTP(S) types. URI path that will be accessed if monitor type is HTTP or HTTPS.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class MonitorV1

extends CustomResource

Manages a V1 load balancer monitor resource within OpenStack.

Example Usage

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

const monitor1 = new openstack.loadbalancer.MonitorV1("monitor_1", {
    adminStateUp: "true",
    delay: 30,
    maxRetries: 3,
    timeout: 5,
    type: "PING",
});

constructor

new MonitorV1(name: string, args: MonitorV1Args, opts?: pulumi.CustomResourceOptions)

Create a MonitorV1 resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MonitorV1State, opts?: pulumi.CustomResourceOptions): MonitorV1

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property adminStateUp

public adminStateUp: pulumi.Output<string>;

The administrative state of the monitor. Acceptable values are “true” and “false”. Changing this value updates the state of the existing monitor.

property delay

public delay: pulumi.Output<number>;

The time, in seconds, between sending probes to members. Changing this creates a new monitor.

property expectedCodes

public expectedCodes: pulumi.Output<string | undefined>;

Required for HTTP(S) types. Expected HTTP codes for a passing HTTP(S) monitor. You can either specify a single status like “200”, or a range like “200-202”. Changing this updates the expected_codes of the existing monitor.

property httpMethod

public httpMethod: pulumi.Output<string | undefined>;

Required for HTTP(S) types. The HTTP method used for requests by the monitor. If this attribute is not specified, it defaults to “GET”. Changing this updates the http_method of the existing monitor.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property maxRetries

public maxRetries: pulumi.Output<number>;

Number of permissible ping failures before changing the member’s status to INACTIVE. Must be a number between 1 and 10. Changing this updates the max_retries of the existing monitor.

property region

public region: pulumi.Output<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an LB monitor. If omitted, the region argument of the provider is used. Changing this creates a new LB monitor.

property tenantId

public tenantId: pulumi.Output<string>;

The owner of the monitor. Required if admin wants to create a monitor for another tenant. Changing this creates a new monitor.

property timeout

public timeout: pulumi.Output<number>;

Maximum number of seconds for a monitor to wait for a ping reply before it times out. The value must be less than the delay value. Changing this updates the timeout of the existing monitor.

property type

public type: pulumi.Output<string>;

The type of probe, which is PING, TCP, HTTP, or HTTPS, that is sent by the monitor to verify the member state. Changing this creates a new monitor.

property urlPath

public urlPath: pulumi.Output<string | undefined>;

Required for HTTP(S) types. URI path that will be accessed if monitor type is HTTP or HTTPS. Changing this updates the url_path of the existing monitor.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class Pool

extends CustomResource

Manages a V2 pool resource within OpenStack.

Example Usage

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

const pool1 = new openstack.loadbalancer.Pool("pool_1", {
    lbMethod: "ROUND_ROBIN",
    listenerId: "d9415786-5f1a-428b-b35f-2f1523e146d2",
    persistences: [{
        cookieName: "testCookie",
        type: "HTTP_COOKIE",
    }],
    protocol: "HTTP",
});

constructor

new Pool(name: string, args: PoolArgs, opts?: pulumi.CustomResourceOptions)

Create a Pool resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PoolState, opts?: pulumi.CustomResourceOptions): Pool

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property adminStateUp

public adminStateUp: pulumi.Output<boolean | undefined>;

The administrative state of the pool. A valid value is true (UP) or false (DOWN).

property description

public description: pulumi.Output<string | undefined>;

Human-readable description for the pool.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property lbMethod

public lbMethod: pulumi.Output<string>;

The load balancing algorithm to distribute traffic to the pool’s members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, or SOURCE_IP.

property listenerId

public listenerId: pulumi.Output<string | undefined>;

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.

property loadbalancerId

public loadbalancerId: pulumi.Output<string | undefined>;

The load balancer on which to provision this pool. Changing this creates a new pool. Note: One of LoadbalancerID or ListenerID must be provided.

property name

public name: pulumi.Output<string>;

Human-readable name for the pool.

property persistences

public persistences: pulumi.Output<{
    cookieName: undefined | string;
    type: string;
}[] | undefined>;

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.

property protocol

public protocol: pulumi.Output<string>;

See Argument Reference above.

property region

public region: pulumi.Output<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new pool.

property tenantId

public tenantId: pulumi.Output<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.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class PoolV1

extends CustomResource

Manages a V1 load balancer pool resource within OpenStack.

Example Usage

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

const pool1 = new openstack.loadbalancer.PoolV1("pool_1", {
    lbMethod: "ROUND_ROBIN",
    lbProvider: "haproxy",
    monitorIds: ["67890"],
    protocol: "HTTP",
    subnetId: "12345",
});

Complete Load Balancing Stack Example

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

const secgroup1 = new openstack.compute.SecGroup("secgroup_1", {
    description: "Rules for secgroup_1",
    rules: [
        {
            cidr: "0.0.0.0/0",
            fromPort: -1,
            ipProtocol: "icmp",
            toPort: -1,
        },
        {
            cidr: "0.0.0.0/0",
            fromPort: 80,
            ipProtocol: "tcp",
            toPort: 80,
        },
    ],
});
const monitor1 = new openstack.loadbalancer.MonitorV1("monitor_1", {
    adminStateUp: "true",
    delay: 30,
    maxRetries: 3,
    timeout: 5,
    type: "TCP",
});
const network1 = new openstack.networking.Network("network_1", {
    adminStateUp: true,
});
const instance1 = new openstack.compute.Instance("instance_1", {
    networks: [{
        uuid: network1.id,
    }],
    securityGroups: [
        "default",
        secgroup1.name,
    ],
});
const instance2 = new openstack.compute.Instance("instance_2", {
    networks: [{
        uuid: network1.id,
    }],
    securityGroups: [
        "default",
        secgroup1.name,
    ],
});
const subnet1 = new openstack.networking.Subnet("subnet_1", {
    cidr: "192.168.199.0/24",
    ipVersion: 4,
    networkId: network1.id,
});
const pool1 = new openstack.loadbalancer.PoolV1("pool_1", {
    lbMethod: "ROUND_ROBIN",
    monitorIds: [monitor1.id],
    protocol: "TCP",
    subnetId: subnet1.id,
});
const member1 = new openstack.loadbalancer.MemberV1("member_1", {
    address: instance1.accessIpV4,
    poolId: pool1.id,
    port: 80,
});
const member2 = new openstack.loadbalancer.MemberV1("member_2", {
    address: instance2.accessIpV4,
    poolId: pool1.id,
    port: 80,
});
const vip1 = new openstack.loadbalancer.Vip("vip_1", {
    poolId: pool1.id,
    port: 80,
    protocol: "TCP",
    subnetId: subnet1.id,
});

Notes

The member block is deprecated in favor of the openstack_lb_member_v1 resource.

constructor

new PoolV1(name: string, args: PoolV1Args, opts?: pulumi.CustomResourceOptions)

Create a PoolV1 resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PoolV1State, opts?: pulumi.CustomResourceOptions): PoolV1

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property lbMethod

public lbMethod: pulumi.Output<string>;

The algorithm used to distribute load between the members of the pool. The current specification supports ‘ROUND_ROBIN’ and ‘LEAST_CONNECTIONS’ as valid values for this attribute.

property lbProvider

public lbProvider: pulumi.Output<string>;

The backend load balancing provider. For example: haproxy, F5, etc.

property monitorIds

public monitorIds: pulumi.Output<string[] | undefined>;

A list of IDs of monitors to associate with the pool.

property name

public name: pulumi.Output<string>;

The name of the pool. Changing this updates the name of the existing pool.

property protocol

public protocol: pulumi.Output<string>;

The protocol used by the pool members, you can use either ‘TCP, ‘HTTP’, or ‘HTTPS’. Changing this creates a new pool.

property region

public region: pulumi.Output<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an LB pool. If omitted, the region argument of the provider is used. Changing this creates a new LB pool.

property subnetId

public subnetId: pulumi.Output<string>;

The network on which the members of the pool will be located. Only members that are on this network can be added to the pool. Changing this creates a new pool.

property tenantId

public tenantId: pulumi.Output<string>;

The owner of the pool. Required if admin wants to create a pool member for another tenant. Changing this creates a new pool.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class Vip

extends CustomResource

Manages a V1 load balancer vip resource within OpenStack.

Example Usage

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

const vip1 = new openstack.loadbalancer.Vip("vip_1", {
    poolId: "67890",
    port: 80,
    protocol: "HTTP",
    subnetId: "12345",
});

constructor

new Vip(name: string, args: VipArgs, opts?: pulumi.CustomResourceOptions)

Create a Vip resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VipState, opts?: pulumi.CustomResourceOptions): Vip

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property address

public address: pulumi.Output<string>;

The IP address of the vip. Changing this creates a new vip.

property adminStateUp

public adminStateUp: pulumi.Output<boolean>;

The administrative state of the vip. Acceptable values are “true” and “false”. Changing this value updates the state of the existing vip.

property connLimit

public connLimit: pulumi.Output<number>;

The maximum number of connections allowed for the vip. Default is -1, meaning no limit. Changing this updates the conn_limit of the existing vip.

property description

public description: pulumi.Output<string>;

Human-readable description for the vip. Changing this updates the description of the existing vip.

property floatingIp

public floatingIp: pulumi.Output<string | undefined>;

A Networking Floating IP that will be associated with the vip. The Floating IP must be provisioned already.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the vip. Changing this updates the name of the existing vip.

property persistence

public persistence: pulumi.Output<{[key: string]: any} | undefined>;

Omit this field to prevent session persistence. The persistence object structure is documented below. Changing this updates the persistence of the existing vip.

property poolId

public poolId: pulumi.Output<string>;

The ID of the pool with which the vip is associated. Changing this updates the pool_id of the existing vip.

property port

public port: pulumi.Output<number>;

The port on which to listen for client traffic. Changing this creates a new vip.

property portId

public portId: pulumi.Output<string>;

Port UUID for this VIP at associated floating IP (if any).

property protocol

public protocol: pulumi.Output<string>;

The protocol - can be either ‘TCP, ‘HTTP’, or HTTPS’. Changing this creates a new vip.

property region

public region: pulumi.Output<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create a VIP. If omitted, the region argument of the provider is used. Changing this creates a new VIP.

property subnetId

public subnetId: pulumi.Output<string>;

The network on which to allocate the vip’s address. A tenant can only create vips on networks authorized by policy (e.g. networks that belong to them or networks that are shared). Changing this creates a new vip.

property tenantId

public tenantId: pulumi.Output<string>;

The owner of the vip. Required if admin wants to create a vip member for another tenant. Changing this creates a new vip.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

interface L7PolicyV2Args

The set of arguments for constructing a L7PolicyV2 resource.

property action

action: pulumi.Input<string>;

The L7 Policy action - can either be REDIRECT_TO_POOL, REDIRECT_TO_URL or REJECT.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the L7 Policy. A valid value is true (UP) or false (DOWN).

property description

description?: pulumi.Input<string>;

Human-readable description for the L7 Policy.

property listenerId

listenerId: pulumi.Input<string>;

The Listener on which the L7 Policy will be associated with. Changing this creates a new L7 Policy.

property name

name?: pulumi.Input<string>;

Human-readable name for the L7 Policy. Does not have to be unique.

property position

position?: pulumi.Input<number>;

The position of this policy on the listener. Positions start at 1.

property redirectPoolId

redirectPoolId?: pulumi.Input<string>;

Requests matching this policy will be redirected to the pool with this ID. Only valid if action is REDIRECT_TO_POOL.

property redirectUrl

redirectUrl?: pulumi.Input<string>;

Requests matching this policy will be redirected to this URL. Only valid if action is REDIRECT_TO_URL.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new L7 Policy.

property tenantId

tenantId?: pulumi.Input<string>;

Required for admins. The UUID of the tenant who owns the L7 Policy. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new L7 Policy.

interface L7PolicyV2State

Input properties used for looking up and filtering L7PolicyV2 resources.

property action

action?: pulumi.Input<string>;

The L7 Policy action - can either be REDIRECT_TO_POOL, REDIRECT_TO_URL or REJECT.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the L7 Policy. A valid value is true (UP) or false (DOWN).

property description

description?: pulumi.Input<string>;

Human-readable description for the L7 Policy.

property listenerId

listenerId?: pulumi.Input<string>;

The Listener on which the L7 Policy will be associated with. Changing this creates a new L7 Policy.

property name

name?: pulumi.Input<string>;

Human-readable name for the L7 Policy. Does not have to be unique.

property position

position?: pulumi.Input<number>;

The position of this policy on the listener. Positions start at 1.

property redirectPoolId

redirectPoolId?: pulumi.Input<string>;

Requests matching this policy will be redirected to the pool with this ID. Only valid if action is REDIRECT_TO_POOL.

property redirectUrl

redirectUrl?: pulumi.Input<string>;

Requests matching this policy will be redirected to this URL. Only valid if action is REDIRECT_TO_URL.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new L7 Policy.

property tenantId

tenantId?: pulumi.Input<string>;

Required for admins. The UUID of the tenant who owns the L7 Policy. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new L7 Policy.

interface L7RuleV2Args

The set of arguments for constructing a L7RuleV2 resource.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the L7 Rule. A valid value is true (UP) or false (DOWN).

property compareType

compareType: pulumi.Input<string>;

The comparison type for the L7 rule - can either be CONTAINS, STARTS_WITH, ENDS_WITH, EQUAL_TO or REGEX

property invert

invert?: pulumi.Input<boolean>;

When true the logic of the rule is inverted. For example, with invert true, equal to would become not equal to. Default is false.

property key

key?: pulumi.Input<string>;

The key to use for the comparison. For example, the name of the cookie to evaluate. Valid when type is set to COOKIE or HEADER.

property l7policyId

l7policyId: pulumi.Input<string>;

The ID of the L7 Policy to query. Changing this creates a new L7 Rule.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new L7 Rule.

property tenantId

tenantId?: pulumi.Input<string>;

Required for admins. The UUID of the tenant who owns the L7 Rule. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new L7 Rule.

property type

type: pulumi.Input<string>;

The L7 Rule type - can either be COOKIE, FILE_TYPE, HEADER, HOST_NAME or PATH.

property value

value: pulumi.Input<string>;

The value to use for the comparison. For example, the file type to compare.

interface L7RuleV2State

Input properties used for looking up and filtering L7RuleV2 resources.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the L7 Rule. A valid value is true (UP) or false (DOWN).

property compareType

compareType?: pulumi.Input<string>;

The comparison type for the L7 rule - can either be CONTAINS, STARTS_WITH, ENDS_WITH, EQUAL_TO or REGEX

property invert

invert?: pulumi.Input<boolean>;

When true the logic of the rule is inverted. For example, with invert true, equal to would become not equal to. Default is false.

property key

key?: pulumi.Input<string>;

The key to use for the comparison. For example, the name of the cookie to evaluate. Valid when type is set to COOKIE or HEADER.

property l7policyId

l7policyId?: pulumi.Input<string>;

The ID of the L7 Policy to query. Changing this creates a new L7 Rule.

property listenerId

listenerId?: pulumi.Input<string>;

The ID of the Listener owning this resource.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new L7 Rule.

property tenantId

tenantId?: pulumi.Input<string>;

Required for admins. The UUID of the tenant who owns the L7 Rule. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new L7 Rule.

property type

type?: pulumi.Input<string>;

The L7 Rule type - can either be COOKIE, FILE_TYPE, HEADER, HOST_NAME or PATH.

property value

value?: pulumi.Input<string>;

The value to use for the comparison. For example, the file type to compare.

interface ListenerArgs

The set of arguments for constructing a Listener resource.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the Listener. A valid value is true (UP) or false (DOWN).

property connectionLimit

connectionLimit?: pulumi.Input<number>;

The maximum number of connections allowed for the Listener.

property defaultPoolId

defaultPoolId?: pulumi.Input<string>;

The ID of the default pool with which the Listener is associated.

property defaultTlsContainerRef

defaultTlsContainerRef?: pulumi.Input<string>;

A reference to a Barbican Secrets container which stores TLS information. This is required if the protocol is TERMINATED_HTTPS. See here for more information.

property description

description?: pulumi.Input<string>;

Human-readable description for the Listener.

property loadbalancerId

loadbalancerId: pulumi.Input<string>;

The load balancer on which to provision this Listener. Changing this creates a new Listener.

property name

name?: pulumi.Input<string>;

Human-readable name for the Listener. Does not have to be unique.

property protocol

protocol: pulumi.Input<string>;

The protocol - can either be TCP, HTTP, HTTPS or TERMINATED_HTTPS. Changing this creates a new Listener.

property protocolPort

protocolPort: pulumi.Input<number>;

The port on which to listen for client traffic. Changing this creates a new Listener.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new Listener.

property sniContainerRefs

sniContainerRefs?: pulumi.Input<pulumi.Input<string>[]>;

A list of references to Barbican Secrets containers which store SNI information. See here for more information.

property tenantId

tenantId?: pulumi.Input<string>;

Required for admins. The UUID of the tenant who owns the Listener. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new Listener.

interface ListenerState

Input properties used for looking up and filtering Listener resources.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the Listener. A valid value is true (UP) or false (DOWN).

property connectionLimit

connectionLimit?: pulumi.Input<number>;

The maximum number of connections allowed for the Listener.

property defaultPoolId

defaultPoolId?: pulumi.Input<string>;

The ID of the default pool with which the Listener is associated.

property defaultTlsContainerRef

defaultTlsContainerRef?: pulumi.Input<string>;

A reference to a Barbican Secrets container which stores TLS information. This is required if the protocol is TERMINATED_HTTPS. See here for more information.

property description

description?: pulumi.Input<string>;

Human-readable description for the Listener.

property loadbalancerId

loadbalancerId?: pulumi.Input<string>;

The load balancer on which to provision this Listener. Changing this creates a new Listener.

property name

name?: pulumi.Input<string>;

Human-readable name for the Listener. Does not have to be unique.

property protocol

protocol?: pulumi.Input<string>;

The protocol - can either be TCP, HTTP, HTTPS or TERMINATED_HTTPS. Changing this creates a new Listener.

property protocolPort

protocolPort?: pulumi.Input<number>;

The port on which to listen for client traffic. Changing this creates a new Listener.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new Listener.

property sniContainerRefs

sniContainerRefs?: pulumi.Input<pulumi.Input<string>[]>;

A list of references to Barbican Secrets containers which store SNI information. See here for more information.

property tenantId

tenantId?: pulumi.Input<string>;

Required for admins. The UUID of the tenant who owns the Listener. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new Listener.

interface LoadBalancerArgs

The set of arguments for constructing a LoadBalancer resource.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the Loadbalancer. A valid value is true (UP) or false (DOWN).

property description

description?: pulumi.Input<string>;

Human-readable description for the Loadbalancer.

property flavor

flavor?: pulumi.Input<string>;

The UUID of a flavor. Changing this creates a new loadbalancer.

property loadbalancerProvider

loadbalancerProvider?: pulumi.Input<string>;

The name of the provider. Changing this creates a new loadbalancer.

property name

name?: pulumi.Input<string>;

Human-readable name for the Loadbalancer. Does not have to be unique.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an LB member. If omitted, the region argument of the provider is used. Changing this creates a new LB member.

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group IDs to apply to the loadbalancer. The security groups must be specified by ID and not name (as opposed to how they are configured with the Compute Instance).

property tenantId

tenantId?: pulumi.Input<string>;

Required for admins. The UUID of the tenant who owns the Loadbalancer. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new loadbalancer.

property vipAddress

vipAddress?: pulumi.Input<string>;

The ip address of the load balancer. Changing this creates a new loadbalancer.

property vipSubnetId

vipSubnetId: pulumi.Input<string>;

The network on which to allocate the Loadbalancer’s address. A tenant can only create Loadbalancers on networks authorized by policy (e.g. networks that belong to them or networks that are shared). Changing this creates a new loadbalancer.

interface LoadBalancerState

Input properties used for looking up and filtering LoadBalancer resources.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the Loadbalancer. A valid value is true (UP) or false (DOWN).

property description

description?: pulumi.Input<string>;

Human-readable description for the Loadbalancer.

property flavor

flavor?: pulumi.Input<string>;

The UUID of a flavor. Changing this creates a new loadbalancer.

property loadbalancerProvider

loadbalancerProvider?: pulumi.Input<string>;

The name of the provider. Changing this creates a new loadbalancer.

property name

name?: pulumi.Input<string>;

Human-readable name for the Loadbalancer. Does not have to be unique.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an LB member. If omitted, the region argument of the provider is used. Changing this creates a new LB member.

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group IDs to apply to the loadbalancer. The security groups must be specified by ID and not name (as opposed to how they are configured with the Compute Instance).

property tenantId

tenantId?: pulumi.Input<string>;

Required for admins. The UUID of the tenant who owns the Loadbalancer. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new loadbalancer.

property vipAddress

vipAddress?: pulumi.Input<string>;

The ip address of the load balancer. Changing this creates a new loadbalancer.

property vipPortId

vipPortId?: pulumi.Input<string>;

The Port ID of the Load Balancer IP.

property vipSubnetId

vipSubnetId?: pulumi.Input<string>;

The network on which to allocate the Loadbalancer’s address. A tenant can only create Loadbalancers on networks authorized by policy (e.g. networks that belong to them or networks that are shared). Changing this creates a new loadbalancer.

interface MemberArgs

The set of arguments for constructing a Member resource.

property address

address: pulumi.Input<string>;

The IP address of the member to receive traffic from the load balancer. Changing this creates a new member.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the member. A valid value is true (UP) or false (DOWN).

property name

name?: pulumi.Input<string>;

Human-readable name for the member.

property poolId

poolId: pulumi.Input<string>;

The id of the pool that this member will be assigned to.

property protocolPort

protocolPort: pulumi.Input<number>;

The port on which to listen for client traffic. Changing this creates a new member.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new member.

property subnetId

subnetId?: pulumi.Input<string>;

The subnet in which to access the member

property tenantId

tenantId?: pulumi.Input<string>;

Required for admins. The UUID of the tenant who owns the member. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new member.

property weight

weight?: pulumi.Input<number>;

A positive integer value that indicates the relative portion of traffic that this member should receive from the pool. For example, a member with a weight of 10 receives five times as much traffic as a member with a weight of 2.

interface MemberState

Input properties used for looking up and filtering Member resources.

property address

address?: pulumi.Input<string>;

The IP address of the member to receive traffic from the load balancer. Changing this creates a new member.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the member. A valid value is true (UP) or false (DOWN).

property name

name?: pulumi.Input<string>;

Human-readable name for the member.

property poolId

poolId?: pulumi.Input<string>;

The id of the pool that this member will be assigned to.

property protocolPort

protocolPort?: pulumi.Input<number>;

The port on which to listen for client traffic. Changing this creates a new member.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new member.

property subnetId

subnetId?: pulumi.Input<string>;

The subnet in which to access the member

property tenantId

tenantId?: pulumi.Input<string>;

Required for admins. The UUID of the tenant who owns the member. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new member.

property weight

weight?: pulumi.Input<number>;

A positive integer value that indicates the relative portion of traffic that this member should receive from the pool. For example, a member with a weight of 10 receives five times as much traffic as a member with a weight of 2.

interface MemberV1Args

The set of arguments for constructing a MemberV1 resource.

property address

address: pulumi.Input<string>;

The IP address of the member. Changing this creates a new member.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the member. Acceptable values are ‘true’ and ‘false’. Changing this value updates the state of the existing member.

property poolId

poolId: pulumi.Input<string>;

The ID of the LB pool. Changing this creates a new member.

property port

port: pulumi.Input<number>;

An integer representing the port on which the member is hosted. Changing this creates a new member.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an LB member. If omitted, the region argument of the provider is used. Changing this creates a new LB member.

property tenantId

tenantId?: pulumi.Input<string>;

The owner of the member. Required if admin wants to create a member for another tenant. Changing this creates a new member.

property weight

weight?: pulumi.Input<number>;

The load balancing weight of the member. This is currently unable to be set through Terraform.

interface MemberV1State

Input properties used for looking up and filtering MemberV1 resources.

property address

address?: pulumi.Input<string>;

The IP address of the member. Changing this creates a new member.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the member. Acceptable values are ‘true’ and ‘false’. Changing this value updates the state of the existing member.

property poolId

poolId?: pulumi.Input<string>;

The ID of the LB pool. Changing this creates a new member.

property port

port?: pulumi.Input<number>;

An integer representing the port on which the member is hosted. Changing this creates a new member.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an LB member. If omitted, the region argument of the provider is used. Changing this creates a new LB member.

property tenantId

tenantId?: pulumi.Input<string>;

The owner of the member. Required if admin wants to create a member for another tenant. Changing this creates a new member.

property weight

weight?: pulumi.Input<number>;

The load balancing weight of the member. This is currently unable to be set through Terraform.

interface MonitorArgs

The set of arguments for constructing a Monitor resource.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the monitor. A valid value is true (UP) or false (DOWN).

property delay

delay: pulumi.Input<number>;

The time, in seconds, between sending probes to members.

property expectedCodes

expectedCodes?: pulumi.Input<string>;

Required for HTTP(S) types. Expected HTTP codes for a passing HTTP(S) monitor. You can either specify a single status like “200”, or a range like “200-202”.

property httpMethod

httpMethod?: pulumi.Input<string>;

Required for HTTP(S) types. The HTTP method used for requests by the monitor. If this attribute is not specified, it defaults to “GET”.

property maxRetries

maxRetries: pulumi.Input<number>;

Number of permissible ping failures before changing the member’s status to INACTIVE. Must be a number between 1 and 10..

property name

name?: pulumi.Input<string>;

The Name of the Monitor.

property poolId

poolId: pulumi.Input<string>;

The id of the pool that this monitor will be assigned to.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new monitor.

property tenantId

tenantId?: pulumi.Input<string>;

Required for admins. The UUID of the tenant who owns the monitor. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new monitor.

property timeout

timeout: pulumi.Input<number>;

Maximum number of seconds for a monitor to wait for a ping reply before it times out. The value must be less than the delay value.

property type

type: pulumi.Input<string>;

The type of probe, which is PING, TCP, HTTP, or HTTPS, that is sent by the load balancer to verify the member state. Changing this creates a new monitor.

property urlPath

urlPath?: pulumi.Input<string>;

Required for HTTP(S) types. URI path that will be accessed if monitor type is HTTP or HTTPS.

interface MonitorState

Input properties used for looking up and filtering Monitor resources.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the monitor. A valid value is true (UP) or false (DOWN).

property delay

delay?: pulumi.Input<number>;

The time, in seconds, between sending probes to members.

property expectedCodes

expectedCodes?: pulumi.Input<string>;

Required for HTTP(S) types. Expected HTTP codes for a passing HTTP(S) monitor. You can either specify a single status like “200”, or a range like “200-202”.

property httpMethod

httpMethod?: pulumi.Input<string>;

Required for HTTP(S) types. The HTTP method used for requests by the monitor. If this attribute is not specified, it defaults to “GET”.

property maxRetries

maxRetries?: pulumi.Input<number>;

Number of permissible ping failures before changing the member’s status to INACTIVE. Must be a number between 1 and 10..

property name

name?: pulumi.Input<string>;

The Name of the Monitor.

property poolId

poolId?: pulumi.Input<string>;

The id of the pool that this monitor will be assigned to.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new monitor.

property tenantId

tenantId?: pulumi.Input<string>;

Required for admins. The UUID of the tenant who owns the monitor. Only administrative users can specify a tenant UUID other than their own. Changing this creates a new monitor.

property timeout

timeout?: pulumi.Input<number>;

Maximum number of seconds for a monitor to wait for a ping reply before it times out. The value must be less than the delay value.

property type

type?: pulumi.Input<string>;

The type of probe, which is PING, TCP, HTTP, or HTTPS, that is sent by the load balancer to verify the member state. Changing this creates a new monitor.

property urlPath

urlPath?: pulumi.Input<string>;

Required for HTTP(S) types. URI path that will be accessed if monitor type is HTTP or HTTPS.

interface MonitorV1Args

The set of arguments for constructing a MonitorV1 resource.

property adminStateUp

adminStateUp?: pulumi.Input<string>;

The administrative state of the monitor. Acceptable values are “true” and “false”. Changing this value updates the state of the existing monitor.

property delay

delay: pulumi.Input<number>;

The time, in seconds, between sending probes to members. Changing this creates a new monitor.

property expectedCodes

expectedCodes?: pulumi.Input<string>;

Required for HTTP(S) types. Expected HTTP codes for a passing HTTP(S) monitor. You can either specify a single status like “200”, or a range like “200-202”. Changing this updates the expected_codes of the existing monitor.

property httpMethod

httpMethod?: pulumi.Input<string>;

Required for HTTP(S) types. The HTTP method used for requests by the monitor. If this attribute is not specified, it defaults to “GET”. Changing this updates the http_method of the existing monitor.

property maxRetries

maxRetries: pulumi.Input<number>;

Number of permissible ping failures before changing the member’s status to INACTIVE. Must be a number between 1 and 10. Changing this updates the max_retries of the existing monitor.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an LB monitor. If omitted, the region argument of the provider is used. Changing this creates a new LB monitor.

property tenantId

tenantId?: pulumi.Input<string>;

The owner of the monitor. Required if admin wants to create a monitor for another tenant. Changing this creates a new monitor.

property timeout

timeout: pulumi.Input<number>;

Maximum number of seconds for a monitor to wait for a ping reply before it times out. The value must be less than the delay value. Changing this updates the timeout of the existing monitor.

property type

type: pulumi.Input<string>;

The type of probe, which is PING, TCP, HTTP, or HTTPS, that is sent by the monitor to verify the member state. Changing this creates a new monitor.

property urlPath

urlPath?: pulumi.Input<string>;

Required for HTTP(S) types. URI path that will be accessed if monitor type is HTTP or HTTPS. Changing this updates the url_path of the existing monitor.

interface MonitorV1State

Input properties used for looking up and filtering MonitorV1 resources.

property adminStateUp

adminStateUp?: pulumi.Input<string>;

The administrative state of the monitor. Acceptable values are “true” and “false”. Changing this value updates the state of the existing monitor.

property delay

delay?: pulumi.Input<number>;

The time, in seconds, between sending probes to members. Changing this creates a new monitor.

property expectedCodes

expectedCodes?: pulumi.Input<string>;

Required for HTTP(S) types. Expected HTTP codes for a passing HTTP(S) monitor. You can either specify a single status like “200”, or a range like “200-202”. Changing this updates the expected_codes of the existing monitor.

property httpMethod

httpMethod?: pulumi.Input<string>;

Required for HTTP(S) types. The HTTP method used for requests by the monitor. If this attribute is not specified, it defaults to “GET”. Changing this updates the http_method of the existing monitor.

property maxRetries

maxRetries?: pulumi.Input<number>;

Number of permissible ping failures before changing the member’s status to INACTIVE. Must be a number between 1 and 10. Changing this updates the max_retries of the existing monitor.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an LB monitor. If omitted, the region argument of the provider is used. Changing this creates a new LB monitor.

property tenantId

tenantId?: pulumi.Input<string>;

The owner of the monitor. Required if admin wants to create a monitor for another tenant. Changing this creates a new monitor.

property timeout

timeout?: pulumi.Input<number>;

Maximum number of seconds for a monitor to wait for a ping reply before it times out. The value must be less than the delay value. Changing this updates the timeout of the existing monitor.

property type

type?: pulumi.Input<string>;

The type of probe, which is PING, TCP, HTTP, or HTTPS, that is sent by the monitor to verify the member state. Changing this creates a new monitor.

property urlPath

urlPath?: pulumi.Input<string>;

Required for HTTP(S) types. URI path that will be accessed if monitor type is HTTP or HTTPS. Changing this updates the url_path of the existing monitor.

interface PoolArgs

The set of arguments for constructing a Pool resource.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the pool. A valid value is true (UP) or false (DOWN).

property description

description?: pulumi.Input<string>;

Human-readable description for the pool.

property lbMethod

lbMethod: pulumi.Input<string>;

The load balancing algorithm to distribute traffic to the pool’s members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, or SOURCE_IP.

property listenerId

listenerId?: pulumi.Input<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.

property loadbalancerId

loadbalancerId?: pulumi.Input<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.

property name

name?: pulumi.Input<string>;

Human-readable name for the pool.

property persistences

persistences?: pulumi.Input<pulumi.Input<{
    cookieName: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>[]>;

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.

property protocol

protocol: pulumi.Input<string>;

See Argument Reference above.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new pool.

property tenantId

tenantId?: pulumi.Input<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.

interface PoolState

Input properties used for looking up and filtering Pool resources.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the pool. A valid value is true (UP) or false (DOWN).

property description

description?: pulumi.Input<string>;

Human-readable description for the pool.

property lbMethod

lbMethod?: pulumi.Input<string>;

The load balancing algorithm to distribute traffic to the pool’s members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, or SOURCE_IP.

property listenerId

listenerId?: pulumi.Input<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.

property loadbalancerId

loadbalancerId?: pulumi.Input<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.

property name

name?: pulumi.Input<string>;

Human-readable name for the pool.

property persistences

persistences?: pulumi.Input<pulumi.Input<{
    cookieName: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>[]>;

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.

property protocol

protocol?: pulumi.Input<string>;

See Argument Reference above.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an . If omitted, the region argument of the provider is used. Changing this creates a new pool.

property tenantId

tenantId?: pulumi.Input<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.

interface PoolV1Args

The set of arguments for constructing a PoolV1 resource.

property lbMethod

lbMethod: pulumi.Input<string>;

The algorithm used to distribute load between the members of the pool. The current specification supports ‘ROUND_ROBIN’ and ‘LEAST_CONNECTIONS’ as valid values for this attribute.

property lbProvider

lbProvider?: pulumi.Input<string>;

The backend load balancing provider. For example: haproxy, F5, etc.

property monitorIds

monitorIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of IDs of monitors to associate with the pool.

property name

name?: pulumi.Input<string>;

The name of the pool. Changing this updates the name of the existing pool.

property protocol

protocol: pulumi.Input<string>;

The protocol used by the pool members, you can use either ‘TCP, ‘HTTP’, or ‘HTTPS’. Changing this creates a new pool.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an LB pool. If omitted, the region argument of the provider is used. Changing this creates a new LB pool.

property subnetId

subnetId: pulumi.Input<string>;

The network on which the members of the pool will be located. Only members that are on this network can be added to the pool. Changing this creates a new pool.

property tenantId

tenantId?: pulumi.Input<string>;

The owner of the pool. Required if admin wants to create a pool member for another tenant. Changing this creates a new pool.

interface PoolV1State

Input properties used for looking up and filtering PoolV1 resources.

property lbMethod

lbMethod?: pulumi.Input<string>;

The algorithm used to distribute load between the members of the pool. The current specification supports ‘ROUND_ROBIN’ and ‘LEAST_CONNECTIONS’ as valid values for this attribute.

property lbProvider

lbProvider?: pulumi.Input<string>;

The backend load balancing provider. For example: haproxy, F5, etc.

property monitorIds

monitorIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of IDs of monitors to associate with the pool.

property name

name?: pulumi.Input<string>;

The name of the pool. Changing this updates the name of the existing pool.

property protocol

protocol?: pulumi.Input<string>;

The protocol used by the pool members, you can use either ‘TCP, ‘HTTP’, or ‘HTTPS’. Changing this creates a new pool.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create an LB pool. If omitted, the region argument of the provider is used. Changing this creates a new LB pool.

property subnetId

subnetId?: pulumi.Input<string>;

The network on which the members of the pool will be located. Only members that are on this network can be added to the pool. Changing this creates a new pool.

property tenantId

tenantId?: pulumi.Input<string>;

The owner of the pool. Required if admin wants to create a pool member for another tenant. Changing this creates a new pool.

interface VipArgs

The set of arguments for constructing a Vip resource.

property address

address?: pulumi.Input<string>;

The IP address of the vip. Changing this creates a new vip.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the vip. Acceptable values are “true” and “false”. Changing this value updates the state of the existing vip.

property connLimit

connLimit?: pulumi.Input<number>;

The maximum number of connections allowed for the vip. Default is -1, meaning no limit. Changing this updates the conn_limit of the existing vip.

property description

description?: pulumi.Input<string>;

Human-readable description for the vip. Changing this updates the description of the existing vip.

property floatingIp

floatingIp?: pulumi.Input<string>;

A Networking Floating IP that will be associated with the vip. The Floating IP must be provisioned already.

property name

name?: pulumi.Input<string>;

The name of the vip. Changing this updates the name of the existing vip.

property persistence

persistence?: pulumi.Input<{[key: string]: any}>;

Omit this field to prevent session persistence. The persistence object structure is documented below. Changing this updates the persistence of the existing vip.

property poolId

poolId: pulumi.Input<string>;

The ID of the pool with which the vip is associated. Changing this updates the pool_id of the existing vip.

property port

port: pulumi.Input<number>;

The port on which to listen for client traffic. Changing this creates a new vip.

property protocol

protocol: pulumi.Input<string>;

The protocol - can be either ‘TCP, ‘HTTP’, or HTTPS’. Changing this creates a new vip.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create a VIP. If omitted, the region argument of the provider is used. Changing this creates a new VIP.

property subnetId

subnetId: pulumi.Input<string>;

The network on which to allocate the vip’s address. A tenant can only create vips on networks authorized by policy (e.g. networks that belong to them or networks that are shared). Changing this creates a new vip.

property tenantId

tenantId?: pulumi.Input<string>;

The owner of the vip. Required if admin wants to create a vip member for another tenant. Changing this creates a new vip.

interface VipState

Input properties used for looking up and filtering Vip resources.

property address

address?: pulumi.Input<string>;

The IP address of the vip. Changing this creates a new vip.

property adminStateUp

adminStateUp?: pulumi.Input<boolean>;

The administrative state of the vip. Acceptable values are “true” and “false”. Changing this value updates the state of the existing vip.

property connLimit

connLimit?: pulumi.Input<number>;

The maximum number of connections allowed for the vip. Default is -1, meaning no limit. Changing this updates the conn_limit of the existing vip.

property description

description?: pulumi.Input<string>;

Human-readable description for the vip. Changing this updates the description of the existing vip.

property floatingIp

floatingIp?: pulumi.Input<string>;

A Networking Floating IP that will be associated with the vip. The Floating IP must be provisioned already.

property name

name?: pulumi.Input<string>;

The name of the vip. Changing this updates the name of the existing vip.

property persistence

persistence?: pulumi.Input<{[key: string]: any}>;

Omit this field to prevent session persistence. The persistence object structure is documented below. Changing this updates the persistence of the existing vip.

property poolId

poolId?: pulumi.Input<string>;

The ID of the pool with which the vip is associated. Changing this updates the pool_id of the existing vip.

property port

port?: pulumi.Input<number>;

The port on which to listen for client traffic. Changing this creates a new vip.

property portId

portId?: pulumi.Input<string>;

Port UUID for this VIP at associated floating IP (if any).

property protocol

protocol?: pulumi.Input<string>;

The protocol - can be either ‘TCP, ‘HTTP’, or HTTPS’. Changing this creates a new vip.

property region

region?: pulumi.Input<string>;

The region in which to obtain the V2 Networking client. A Networking client is needed to create a VIP. If omitted, the region argument of the provider is used. Changing this creates a new VIP.

property subnetId

subnetId?: pulumi.Input<string>;

The network on which to allocate the vip’s address. A tenant can only create vips on networks authorized by policy (e.g. networks that belong to them or networks that are shared). Changing this creates a new vip.

property tenantId

tenantId?: pulumi.Input<string>;

The owner of the vip. Required if admin wants to create a vip member for another tenant. Changing this creates a new vip.