loadbalancer

package
v3.15.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type L7PolicyV2

type L7PolicyV2 struct {
	pulumi.CustomResourceState

	// The L7 Policy action - can either be REDIRECT\_TO\_POOL,
	// REDIRECT\_TO\_URL or REJECT.
	Action pulumi.StringOutput `pulumi:"action"`
	// The administrative state of the L7 Policy.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// Human-readable description for the L7 Policy.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The Listener on which the L7 Policy will be associated with.
	// Changing this creates a new L7 Policy.
	ListenerId pulumi.StringOutput `pulumi:"listenerId"`
	// Human-readable name for the L7 Policy. Does not have
	// to be unique.
	Name pulumi.StringOutput `pulumi:"name"`
	// The position of this policy on the listener. Positions start at 1.
	Position pulumi.IntOutput `pulumi:"position"`
	// Requests matching this policy will be redirected to the
	// pool with this ID. Only valid if action is REDIRECT\_TO\_POOL.
	RedirectPoolId pulumi.StringPtrOutput `pulumi:"redirectPoolId"`
	// Requests matching this policy will be redirected to this URL.
	// Only valid if action is REDIRECT\_TO\_URL.
	RedirectUrl pulumi.StringPtrOutput `pulumi:"redirectUrl"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// 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.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Manages a Load Balancer L7 Policy resource within OpenStack.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/networking"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network1", &networking.NetworkArgs{
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		subnet1, err := networking.NewSubnet(ctx, "subnet1", &networking.SubnetArgs{
			Cidr:      pulumi.String("192.168.199.0/24"),
			IpVersion: pulumi.Int(4),
			NetworkId: network1.ID(),
		})
		if err != nil {
			return err
		}
		loadbalancer1, err := loadbalancer.NewLoadBalancer(ctx, "loadbalancer1", &loadbalancer.LoadBalancerArgs{
			VipSubnetId: subnet1.ID(),
		})
		if err != nil {
			return err
		}
		listener1, err := loadbalancer.NewListener(ctx, "listener1", &loadbalancer.ListenerArgs{
			Protocol:       pulumi.String("HTTP"),
			ProtocolPort:   pulumi.Int(8080),
			LoadbalancerId: loadbalancer1.ID(),
		})
		if err != nil {
			return err
		}
		pool1, err := loadbalancer.NewPool(ctx, "pool1", &loadbalancer.PoolArgs{
			Protocol:       pulumi.String("HTTP"),
			LbMethod:       pulumi.String("ROUND_ROBIN"),
			LoadbalancerId: loadbalancer1.ID(),
		})
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewL7PolicyV2(ctx, "l7policy1", &loadbalancer.L7PolicyV2Args{
			Action:         pulumi.String("REDIRECT_TO_POOL"),
			Description:    pulumi.String("test l7 policy"),
			Position:       pulumi.Int(1),
			ListenerId:     listener1.ID(),
			RedirectPoolId: pool1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import openstack:loadbalancer/l7PolicyV2:L7PolicyV2 l7policy_1 8a7a79c2-cf17-4e65-b2ae-ddc8bfcf6c74 ```

func GetL7PolicyV2

func GetL7PolicyV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *L7PolicyV2State, opts ...pulumi.ResourceOption) (*L7PolicyV2, error)

GetL7PolicyV2 gets an existing L7PolicyV2 resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewL7PolicyV2

func NewL7PolicyV2(ctx *pulumi.Context,
	name string, args *L7PolicyV2Args, opts ...pulumi.ResourceOption) (*L7PolicyV2, error)

NewL7PolicyV2 registers a new resource with the given unique name, arguments, and options.

func (*L7PolicyV2) ElementType

func (*L7PolicyV2) ElementType() reflect.Type

func (*L7PolicyV2) ToL7PolicyV2Output

func (i *L7PolicyV2) ToL7PolicyV2Output() L7PolicyV2Output

func (*L7PolicyV2) ToL7PolicyV2OutputWithContext

func (i *L7PolicyV2) ToL7PolicyV2OutputWithContext(ctx context.Context) L7PolicyV2Output

type L7PolicyV2Args

type L7PolicyV2Args struct {
	// The L7 Policy action - can either be REDIRECT\_TO\_POOL,
	// REDIRECT\_TO\_URL or REJECT.
	Action pulumi.StringInput
	// The administrative state of the L7 Policy.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable description for the L7 Policy.
	Description pulumi.StringPtrInput
	// The Listener on which the L7 Policy will be associated with.
	// Changing this creates a new L7 Policy.
	ListenerId pulumi.StringInput
	// Human-readable name for the L7 Policy. Does not have
	// to be unique.
	Name pulumi.StringPtrInput
	// The position of this policy on the listener. Positions start at 1.
	Position pulumi.IntPtrInput
	// Requests matching this policy will be redirected to the
	// pool with this ID. Only valid if action is REDIRECT\_TO\_POOL.
	RedirectPoolId pulumi.StringPtrInput
	// Requests matching this policy will be redirected to this URL.
	// Only valid if action is REDIRECT\_TO\_URL.
	RedirectUrl pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// 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.
	TenantId pulumi.StringPtrInput
}

The set of arguments for constructing a L7PolicyV2 resource.

func (L7PolicyV2Args) ElementType

func (L7PolicyV2Args) ElementType() reflect.Type

type L7PolicyV2Array

type L7PolicyV2Array []L7PolicyV2Input

func (L7PolicyV2Array) ElementType

func (L7PolicyV2Array) ElementType() reflect.Type

func (L7PolicyV2Array) ToL7PolicyV2ArrayOutput

func (i L7PolicyV2Array) ToL7PolicyV2ArrayOutput() L7PolicyV2ArrayOutput

func (L7PolicyV2Array) ToL7PolicyV2ArrayOutputWithContext

func (i L7PolicyV2Array) ToL7PolicyV2ArrayOutputWithContext(ctx context.Context) L7PolicyV2ArrayOutput

type L7PolicyV2ArrayInput

type L7PolicyV2ArrayInput interface {
	pulumi.Input

	ToL7PolicyV2ArrayOutput() L7PolicyV2ArrayOutput
	ToL7PolicyV2ArrayOutputWithContext(context.Context) L7PolicyV2ArrayOutput
}

L7PolicyV2ArrayInput is an input type that accepts L7PolicyV2Array and L7PolicyV2ArrayOutput values. You can construct a concrete instance of `L7PolicyV2ArrayInput` via:

L7PolicyV2Array{ L7PolicyV2Args{...} }

type L7PolicyV2ArrayOutput

type L7PolicyV2ArrayOutput struct{ *pulumi.OutputState }

func (L7PolicyV2ArrayOutput) ElementType

func (L7PolicyV2ArrayOutput) ElementType() reflect.Type

func (L7PolicyV2ArrayOutput) Index

func (L7PolicyV2ArrayOutput) ToL7PolicyV2ArrayOutput

func (o L7PolicyV2ArrayOutput) ToL7PolicyV2ArrayOutput() L7PolicyV2ArrayOutput

func (L7PolicyV2ArrayOutput) ToL7PolicyV2ArrayOutputWithContext

func (o L7PolicyV2ArrayOutput) ToL7PolicyV2ArrayOutputWithContext(ctx context.Context) L7PolicyV2ArrayOutput

type L7PolicyV2Input

type L7PolicyV2Input interface {
	pulumi.Input

	ToL7PolicyV2Output() L7PolicyV2Output
	ToL7PolicyV2OutputWithContext(ctx context.Context) L7PolicyV2Output
}

type L7PolicyV2Map

type L7PolicyV2Map map[string]L7PolicyV2Input

func (L7PolicyV2Map) ElementType

func (L7PolicyV2Map) ElementType() reflect.Type

func (L7PolicyV2Map) ToL7PolicyV2MapOutput

func (i L7PolicyV2Map) ToL7PolicyV2MapOutput() L7PolicyV2MapOutput

func (L7PolicyV2Map) ToL7PolicyV2MapOutputWithContext

func (i L7PolicyV2Map) ToL7PolicyV2MapOutputWithContext(ctx context.Context) L7PolicyV2MapOutput

type L7PolicyV2MapInput

type L7PolicyV2MapInput interface {
	pulumi.Input

	ToL7PolicyV2MapOutput() L7PolicyV2MapOutput
	ToL7PolicyV2MapOutputWithContext(context.Context) L7PolicyV2MapOutput
}

L7PolicyV2MapInput is an input type that accepts L7PolicyV2Map and L7PolicyV2MapOutput values. You can construct a concrete instance of `L7PolicyV2MapInput` via:

L7PolicyV2Map{ "key": L7PolicyV2Args{...} }

type L7PolicyV2MapOutput

type L7PolicyV2MapOutput struct{ *pulumi.OutputState }

func (L7PolicyV2MapOutput) ElementType

func (L7PolicyV2MapOutput) ElementType() reflect.Type

func (L7PolicyV2MapOutput) MapIndex

func (L7PolicyV2MapOutput) ToL7PolicyV2MapOutput

func (o L7PolicyV2MapOutput) ToL7PolicyV2MapOutput() L7PolicyV2MapOutput

func (L7PolicyV2MapOutput) ToL7PolicyV2MapOutputWithContext

func (o L7PolicyV2MapOutput) ToL7PolicyV2MapOutputWithContext(ctx context.Context) L7PolicyV2MapOutput

type L7PolicyV2Output

type L7PolicyV2Output struct{ *pulumi.OutputState }

func (L7PolicyV2Output) Action added in v3.9.0

The L7 Policy action - can either be REDIRECT\_TO\_POOL, REDIRECT\_TO\_URL or REJECT.

func (L7PolicyV2Output) AdminStateUp added in v3.9.0

func (o L7PolicyV2Output) AdminStateUp() pulumi.BoolPtrOutput

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

func (L7PolicyV2Output) Description added in v3.9.0

func (o L7PolicyV2Output) Description() pulumi.StringPtrOutput

Human-readable description for the L7 Policy.

func (L7PolicyV2Output) ElementType

func (L7PolicyV2Output) ElementType() reflect.Type

func (L7PolicyV2Output) ListenerId added in v3.9.0

func (o L7PolicyV2Output) ListenerId() pulumi.StringOutput

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

func (L7PolicyV2Output) Name added in v3.9.0

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

func (L7PolicyV2Output) Position added in v3.9.0

func (o L7PolicyV2Output) Position() pulumi.IntOutput

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

func (L7PolicyV2Output) RedirectPoolId added in v3.9.0

func (o L7PolicyV2Output) RedirectPoolId() pulumi.StringPtrOutput

Requests matching this policy will be redirected to the pool with this ID. Only valid if action is REDIRECT\_TO\_POOL.

func (L7PolicyV2Output) RedirectUrl added in v3.9.0

func (o L7PolicyV2Output) RedirectUrl() pulumi.StringPtrOutput

Requests matching this policy will be redirected to this URL. Only valid if action is REDIRECT\_TO\_URL.

func (L7PolicyV2Output) Region added in v3.9.0

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.

func (L7PolicyV2Output) TenantId added in v3.9.0

func (o L7PolicyV2Output) TenantId() pulumi.StringOutput

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.

func (L7PolicyV2Output) ToL7PolicyV2Output

func (o L7PolicyV2Output) ToL7PolicyV2Output() L7PolicyV2Output

func (L7PolicyV2Output) ToL7PolicyV2OutputWithContext

func (o L7PolicyV2Output) ToL7PolicyV2OutputWithContext(ctx context.Context) L7PolicyV2Output

type L7PolicyV2State

type L7PolicyV2State struct {
	// The L7 Policy action - can either be REDIRECT\_TO\_POOL,
	// REDIRECT\_TO\_URL or REJECT.
	Action pulumi.StringPtrInput
	// The administrative state of the L7 Policy.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable description for the L7 Policy.
	Description pulumi.StringPtrInput
	// The Listener on which the L7 Policy will be associated with.
	// Changing this creates a new L7 Policy.
	ListenerId pulumi.StringPtrInput
	// Human-readable name for the L7 Policy. Does not have
	// to be unique.
	Name pulumi.StringPtrInput
	// The position of this policy on the listener. Positions start at 1.
	Position pulumi.IntPtrInput
	// Requests matching this policy will be redirected to the
	// pool with this ID. Only valid if action is REDIRECT\_TO\_POOL.
	RedirectPoolId pulumi.StringPtrInput
	// Requests matching this policy will be redirected to this URL.
	// Only valid if action is REDIRECT\_TO\_URL.
	RedirectUrl pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// 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.
	TenantId pulumi.StringPtrInput
}

func (L7PolicyV2State) ElementType

func (L7PolicyV2State) ElementType() reflect.Type

type L7RuleV2

type L7RuleV2 struct {
	pulumi.CustomResourceState

	// The administrative state of the L7 Rule.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// The comparison type for the L7 rule - can either be
	// CONTAINS, STARTS\_WITH, ENDS_WITH, EQUAL_TO or REGEX
	CompareType pulumi.StringOutput `pulumi:"compareType"`
	// When true the logic of the rule is inverted. For example, with invert
	// true, equal to would become not equal to. Default is false.
	Invert pulumi.BoolPtrOutput `pulumi:"invert"`
	// 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.
	Key pulumi.StringPtrOutput `pulumi:"key"`
	// The ID of the L7 Policy to query. Changing this creates a new
	// L7 Rule.
	L7policyId pulumi.StringOutput `pulumi:"l7policyId"`
	// The ID of the Listener owning this resource.
	ListenerId pulumi.StringOutput `pulumi:"listenerId"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// 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.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// The L7 Rule type - can either be COOKIE, FILE\_TYPE, HEADER,
	// HOST\_NAME or PATH.
	Type pulumi.StringOutput `pulumi:"type"`
	// The value to use for the comparison. For example, the file type to
	// compare.
	Value pulumi.StringOutput `pulumi:"value"`
}

Manages a V2 L7 Rule resource within OpenStack.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/networking"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network1", &networking.NetworkArgs{
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		subnet1, err := networking.NewSubnet(ctx, "subnet1", &networking.SubnetArgs{
			Cidr:      pulumi.String("192.168.199.0/24"),
			IpVersion: pulumi.Int(4),
			NetworkId: network1.ID(),
		})
		if err != nil {
			return err
		}
		loadbalancer1, err := loadbalancer.NewLoadBalancer(ctx, "loadbalancer1", &loadbalancer.LoadBalancerArgs{
			VipSubnetId: subnet1.ID(),
		})
		if err != nil {
			return err
		}
		listener1, err := loadbalancer.NewListener(ctx, "listener1", &loadbalancer.ListenerArgs{
			Protocol:       pulumi.String("HTTP"),
			ProtocolPort:   pulumi.Int(8080),
			LoadbalancerId: loadbalancer1.ID(),
		})
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewPool(ctx, "pool1", &loadbalancer.PoolArgs{
			Protocol:       pulumi.String("HTTP"),
			LbMethod:       pulumi.String("ROUND_ROBIN"),
			LoadbalancerId: loadbalancer1.ID(),
		})
		if err != nil {
			return err
		}
		l7policy1, err := loadbalancer.NewL7PolicyV2(ctx, "l7policy1", &loadbalancer.L7PolicyV2Args{
			Action:      pulumi.String("REDIRECT_TO_URL"),
			Description: pulumi.String("test description"),
			Position:    pulumi.Int(1),
			ListenerId:  listener1.ID(),
			RedirectUrl: pulumi.String("http://www.example.com"),
		})
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewL7RuleV2(ctx, "l7rule1", &loadbalancer.L7RuleV2Args{
			L7policyId:  l7policy1.ID(),
			Type:        pulumi.String("PATH"),
			CompareType: pulumi.String("EQUAL_TO"),
			Value:       pulumi.String("/api"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Load Balancer L7 Rule can be imported using the L7 Policy ID and L7 Rule ID separated by a slash, e.g.:

```sh $ pulumi import openstack:loadbalancer/l7RuleV2:L7RuleV2 l7rule_1 e0bd694a-abbe-450e-b329-0931fd1cc5eb/4086b0c9-b18c-4d1c-b6b8-4c56c3ad2a9e ```

func GetL7RuleV2

func GetL7RuleV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *L7RuleV2State, opts ...pulumi.ResourceOption) (*L7RuleV2, error)

GetL7RuleV2 gets an existing L7RuleV2 resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewL7RuleV2

func NewL7RuleV2(ctx *pulumi.Context,
	name string, args *L7RuleV2Args, opts ...pulumi.ResourceOption) (*L7RuleV2, error)

NewL7RuleV2 registers a new resource with the given unique name, arguments, and options.

func (*L7RuleV2) ElementType

func (*L7RuleV2) ElementType() reflect.Type

func (*L7RuleV2) ToL7RuleV2Output

func (i *L7RuleV2) ToL7RuleV2Output() L7RuleV2Output

func (*L7RuleV2) ToL7RuleV2OutputWithContext

func (i *L7RuleV2) ToL7RuleV2OutputWithContext(ctx context.Context) L7RuleV2Output

type L7RuleV2Args

type L7RuleV2Args struct {
	// The administrative state of the L7 Rule.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// The comparison type for the L7 rule - can either be
	// CONTAINS, STARTS\_WITH, ENDS_WITH, EQUAL_TO or REGEX
	CompareType pulumi.StringInput
	// When true the logic of the rule is inverted. For example, with invert
	// true, equal to would become not equal to. Default is false.
	Invert pulumi.BoolPtrInput
	// 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.
	Key pulumi.StringPtrInput
	// The ID of the L7 Policy to query. Changing this creates a new
	// L7 Rule.
	L7policyId pulumi.StringInput
	// 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.
	Region pulumi.StringPtrInput
	// 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.
	TenantId pulumi.StringPtrInput
	// The L7 Rule type - can either be COOKIE, FILE\_TYPE, HEADER,
	// HOST\_NAME or PATH.
	Type pulumi.StringInput
	// The value to use for the comparison. For example, the file type to
	// compare.
	Value pulumi.StringInput
}

The set of arguments for constructing a L7RuleV2 resource.

func (L7RuleV2Args) ElementType

func (L7RuleV2Args) ElementType() reflect.Type

type L7RuleV2Array

type L7RuleV2Array []L7RuleV2Input

func (L7RuleV2Array) ElementType

func (L7RuleV2Array) ElementType() reflect.Type

func (L7RuleV2Array) ToL7RuleV2ArrayOutput

func (i L7RuleV2Array) ToL7RuleV2ArrayOutput() L7RuleV2ArrayOutput

func (L7RuleV2Array) ToL7RuleV2ArrayOutputWithContext

func (i L7RuleV2Array) ToL7RuleV2ArrayOutputWithContext(ctx context.Context) L7RuleV2ArrayOutput

type L7RuleV2ArrayInput

type L7RuleV2ArrayInput interface {
	pulumi.Input

	ToL7RuleV2ArrayOutput() L7RuleV2ArrayOutput
	ToL7RuleV2ArrayOutputWithContext(context.Context) L7RuleV2ArrayOutput
}

L7RuleV2ArrayInput is an input type that accepts L7RuleV2Array and L7RuleV2ArrayOutput values. You can construct a concrete instance of `L7RuleV2ArrayInput` via:

L7RuleV2Array{ L7RuleV2Args{...} }

type L7RuleV2ArrayOutput

type L7RuleV2ArrayOutput struct{ *pulumi.OutputState }

func (L7RuleV2ArrayOutput) ElementType

func (L7RuleV2ArrayOutput) ElementType() reflect.Type

func (L7RuleV2ArrayOutput) Index

func (L7RuleV2ArrayOutput) ToL7RuleV2ArrayOutput

func (o L7RuleV2ArrayOutput) ToL7RuleV2ArrayOutput() L7RuleV2ArrayOutput

func (L7RuleV2ArrayOutput) ToL7RuleV2ArrayOutputWithContext

func (o L7RuleV2ArrayOutput) ToL7RuleV2ArrayOutputWithContext(ctx context.Context) L7RuleV2ArrayOutput

type L7RuleV2Input

type L7RuleV2Input interface {
	pulumi.Input

	ToL7RuleV2Output() L7RuleV2Output
	ToL7RuleV2OutputWithContext(ctx context.Context) L7RuleV2Output
}

type L7RuleV2Map

type L7RuleV2Map map[string]L7RuleV2Input

func (L7RuleV2Map) ElementType

func (L7RuleV2Map) ElementType() reflect.Type

func (L7RuleV2Map) ToL7RuleV2MapOutput

func (i L7RuleV2Map) ToL7RuleV2MapOutput() L7RuleV2MapOutput

func (L7RuleV2Map) ToL7RuleV2MapOutputWithContext

func (i L7RuleV2Map) ToL7RuleV2MapOutputWithContext(ctx context.Context) L7RuleV2MapOutput

type L7RuleV2MapInput

type L7RuleV2MapInput interface {
	pulumi.Input

	ToL7RuleV2MapOutput() L7RuleV2MapOutput
	ToL7RuleV2MapOutputWithContext(context.Context) L7RuleV2MapOutput
}

L7RuleV2MapInput is an input type that accepts L7RuleV2Map and L7RuleV2MapOutput values. You can construct a concrete instance of `L7RuleV2MapInput` via:

L7RuleV2Map{ "key": L7RuleV2Args{...} }

type L7RuleV2MapOutput

type L7RuleV2MapOutput struct{ *pulumi.OutputState }

func (L7RuleV2MapOutput) ElementType

func (L7RuleV2MapOutput) ElementType() reflect.Type

func (L7RuleV2MapOutput) MapIndex

func (L7RuleV2MapOutput) ToL7RuleV2MapOutput

func (o L7RuleV2MapOutput) ToL7RuleV2MapOutput() L7RuleV2MapOutput

func (L7RuleV2MapOutput) ToL7RuleV2MapOutputWithContext

func (o L7RuleV2MapOutput) ToL7RuleV2MapOutputWithContext(ctx context.Context) L7RuleV2MapOutput

type L7RuleV2Output

type L7RuleV2Output struct{ *pulumi.OutputState }

func (L7RuleV2Output) AdminStateUp added in v3.9.0

func (o L7RuleV2Output) AdminStateUp() pulumi.BoolPtrOutput

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

func (L7RuleV2Output) CompareType added in v3.9.0

func (o L7RuleV2Output) CompareType() pulumi.StringOutput

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

func (L7RuleV2Output) ElementType

func (L7RuleV2Output) ElementType() reflect.Type

func (L7RuleV2Output) Invert added in v3.9.0

func (o L7RuleV2Output) Invert() pulumi.BoolPtrOutput

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

func (L7RuleV2Output) Key added in v3.9.0

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.

func (L7RuleV2Output) L7policyId added in v3.9.0

func (o L7RuleV2Output) L7policyId() pulumi.StringOutput

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

func (L7RuleV2Output) ListenerId added in v3.9.0

func (o L7RuleV2Output) ListenerId() pulumi.StringOutput

The ID of the Listener owning this resource.

func (L7RuleV2Output) Region added in v3.9.0

func (o L7RuleV2Output) Region() pulumi.StringOutput

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.

func (L7RuleV2Output) TenantId added in v3.9.0

func (o L7RuleV2Output) TenantId() pulumi.StringOutput

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.

func (L7RuleV2Output) ToL7RuleV2Output

func (o L7RuleV2Output) ToL7RuleV2Output() L7RuleV2Output

func (L7RuleV2Output) ToL7RuleV2OutputWithContext

func (o L7RuleV2Output) ToL7RuleV2OutputWithContext(ctx context.Context) L7RuleV2Output

func (L7RuleV2Output) Type added in v3.9.0

The L7 Rule type - can either be COOKIE, FILE\_TYPE, HEADER, HOST\_NAME or PATH.

func (L7RuleV2Output) Value added in v3.9.0

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

type L7RuleV2State

type L7RuleV2State struct {
	// The administrative state of the L7 Rule.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// The comparison type for the L7 rule - can either be
	// CONTAINS, STARTS\_WITH, ENDS_WITH, EQUAL_TO or REGEX
	CompareType pulumi.StringPtrInput
	// When true the logic of the rule is inverted. For example, with invert
	// true, equal to would become not equal to. Default is false.
	Invert pulumi.BoolPtrInput
	// 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.
	Key pulumi.StringPtrInput
	// The ID of the L7 Policy to query. Changing this creates a new
	// L7 Rule.
	L7policyId pulumi.StringPtrInput
	// The ID of the Listener owning this resource.
	ListenerId pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// 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.
	TenantId pulumi.StringPtrInput
	// The L7 Rule type - can either be COOKIE, FILE\_TYPE, HEADER,
	// HOST\_NAME or PATH.
	Type pulumi.StringPtrInput
	// The value to use for the comparison. For example, the file type to
	// compare.
	Value pulumi.StringPtrInput
}

func (L7RuleV2State) ElementType

func (L7RuleV2State) ElementType() reflect.Type

type Listener

type Listener struct {
	pulumi.CustomResourceState

	// The administrative state of the Listener.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// A list of CIDR blocks that are permitted to connect to this listener, denying
	// all other source addresses. If not present, defaults to allow all.
	AllowedCidrs pulumi.StringArrayOutput `pulumi:"allowedCidrs"`
	// The maximum number of connections allowed
	// for the Listener.
	ConnectionLimit pulumi.IntOutput `pulumi:"connectionLimit"`
	// The ID of the default pool with which the
	// Listener is associated.
	DefaultPoolId pulumi.StringOutput `pulumi:"defaultPoolId"`
	// A reference to a Barbican Secrets
	// container which stores TLS information. This is required if the protocol
	// is `TERMINATED_HTTPS`. See
	// [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)
	// for more information.
	DefaultTlsContainerRef pulumi.StringPtrOutput `pulumi:"defaultTlsContainerRef"`
	// Human-readable description for the Listener.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The list of key value pairs representing headers to insert
	// into the request before it is sent to the backend members. Changing this updates the headers of the
	// existing listener.
	InsertHeaders pulumi.MapOutput `pulumi:"insertHeaders"`
	// The load balancer on which to provision this
	// Listener. Changing this creates a new Listener.
	LoadbalancerId pulumi.StringOutput `pulumi:"loadbalancerId"`
	// Human-readable name for the Listener. Does not have
	// to be unique.
	Name pulumi.StringOutput `pulumi:"name"`
	// The protocol - can either be TCP, HTTP, HTTPS,
	// TERMINATED_HTTPS, UDP (supported only in Octavia), SCTP (supported only
	// in **Octavia minor version >= 2.23**) or PROMETHEUS (supported only in
	// **Octavia minor version >=2.25**). Changing this creates a new Listener.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// The port on which to listen for client traffic.
	// Changing this creates a new Listener.
	ProtocolPort pulumi.IntOutput `pulumi:"protocolPort"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// A list of references to Barbican Secrets
	// containers which store SNI information. See
	// [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)
	// for more information.
	SniContainerRefs pulumi.StringArrayOutput `pulumi:"sniContainerRefs"`
	Tags             pulumi.StringArrayOutput `pulumi:"tags"`
	// 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.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// The client inactivity timeout in milliseconds.
	TimeoutClientData pulumi.IntOutput `pulumi:"timeoutClientData"`
	// The member connection timeout in milliseconds.
	TimeoutMemberConnect pulumi.IntOutput `pulumi:"timeoutMemberConnect"`
	// The member inactivity timeout in milliseconds.
	TimeoutMemberData pulumi.IntOutput `pulumi:"timeoutMemberData"`
	// The time in milliseconds, to wait for additional
	// TCP packets for content inspection.
	TimeoutTcpInspect pulumi.IntOutput `pulumi:"timeoutTcpInspect"`
}

Manages a V2 listener 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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := loadbalancer.NewListener(ctx, "listener1", &loadbalancer.ListenerArgs{
			InsertHeaders: pulumi.Map{
				"X-Forwarded-For": pulumi.Any("true"),
			},
			LoadbalancerId: pulumi.String("d9415786-5f1a-428b-b35f-2f1523e146d2"),
			Protocol:       pulumi.String("HTTP"),
			ProtocolPort:   pulumi.Int(8080),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import openstack:loadbalancer/listener:Listener listener_1 b67ce64e-8b26-405d-afeb-4a078901f15a ```

func GetListener

func GetListener(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ListenerState, opts ...pulumi.ResourceOption) (*Listener, error)

GetListener gets an existing Listener resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewListener

func NewListener(ctx *pulumi.Context,
	name string, args *ListenerArgs, opts ...pulumi.ResourceOption) (*Listener, error)

NewListener registers a new resource with the given unique name, arguments, and options.

func (*Listener) ElementType

func (*Listener) ElementType() reflect.Type

func (*Listener) ToListenerOutput

func (i *Listener) ToListenerOutput() ListenerOutput

func (*Listener) ToListenerOutputWithContext

func (i *Listener) ToListenerOutputWithContext(ctx context.Context) ListenerOutput

type ListenerArgs

type ListenerArgs struct {
	// The administrative state of the Listener.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// A list of CIDR blocks that are permitted to connect to this listener, denying
	// all other source addresses. If not present, defaults to allow all.
	AllowedCidrs pulumi.StringArrayInput
	// The maximum number of connections allowed
	// for the Listener.
	ConnectionLimit pulumi.IntPtrInput
	// The ID of the default pool with which the
	// Listener is associated.
	DefaultPoolId pulumi.StringPtrInput
	// A reference to a Barbican Secrets
	// container which stores TLS information. This is required if the protocol
	// is `TERMINATED_HTTPS`. See
	// [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)
	// for more information.
	DefaultTlsContainerRef pulumi.StringPtrInput
	// Human-readable description for the Listener.
	Description pulumi.StringPtrInput
	// The list of key value pairs representing headers to insert
	// into the request before it is sent to the backend members. Changing this updates the headers of the
	// existing listener.
	InsertHeaders pulumi.MapInput
	// The load balancer on which to provision this
	// Listener. Changing this creates a new Listener.
	LoadbalancerId pulumi.StringInput
	// Human-readable name for the Listener. Does not have
	// to be unique.
	Name pulumi.StringPtrInput
	// The protocol - can either be TCP, HTTP, HTTPS,
	// TERMINATED_HTTPS, UDP (supported only in Octavia), SCTP (supported only
	// in **Octavia minor version >= 2.23**) or PROMETHEUS (supported only in
	// **Octavia minor version >=2.25**). Changing this creates a new Listener.
	Protocol pulumi.StringInput
	// The port on which to listen for client traffic.
	// Changing this creates a new Listener.
	ProtocolPort pulumi.IntInput
	// 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.
	Region pulumi.StringPtrInput
	// A list of references to Barbican Secrets
	// containers which store SNI information. See
	// [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)
	// for more information.
	SniContainerRefs pulumi.StringArrayInput
	Tags             pulumi.StringArrayInput
	// 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.
	TenantId pulumi.StringPtrInput
	// The client inactivity timeout in milliseconds.
	TimeoutClientData pulumi.IntPtrInput
	// The member connection timeout in milliseconds.
	TimeoutMemberConnect pulumi.IntPtrInput
	// The member inactivity timeout in milliseconds.
	TimeoutMemberData pulumi.IntPtrInput
	// The time in milliseconds, to wait for additional
	// TCP packets for content inspection.
	TimeoutTcpInspect pulumi.IntPtrInput
}

The set of arguments for constructing a Listener resource.

func (ListenerArgs) ElementType

func (ListenerArgs) ElementType() reflect.Type

type ListenerArray

type ListenerArray []ListenerInput

func (ListenerArray) ElementType

func (ListenerArray) ElementType() reflect.Type

func (ListenerArray) ToListenerArrayOutput

func (i ListenerArray) ToListenerArrayOutput() ListenerArrayOutput

func (ListenerArray) ToListenerArrayOutputWithContext

func (i ListenerArray) ToListenerArrayOutputWithContext(ctx context.Context) ListenerArrayOutput

type ListenerArrayInput

type ListenerArrayInput interface {
	pulumi.Input

	ToListenerArrayOutput() ListenerArrayOutput
	ToListenerArrayOutputWithContext(context.Context) ListenerArrayOutput
}

ListenerArrayInput is an input type that accepts ListenerArray and ListenerArrayOutput values. You can construct a concrete instance of `ListenerArrayInput` via:

ListenerArray{ ListenerArgs{...} }

type ListenerArrayOutput

type ListenerArrayOutput struct{ *pulumi.OutputState }

func (ListenerArrayOutput) ElementType

func (ListenerArrayOutput) ElementType() reflect.Type

func (ListenerArrayOutput) Index

func (ListenerArrayOutput) ToListenerArrayOutput

func (o ListenerArrayOutput) ToListenerArrayOutput() ListenerArrayOutput

func (ListenerArrayOutput) ToListenerArrayOutputWithContext

func (o ListenerArrayOutput) ToListenerArrayOutputWithContext(ctx context.Context) ListenerArrayOutput

type ListenerInput

type ListenerInput interface {
	pulumi.Input

	ToListenerOutput() ListenerOutput
	ToListenerOutputWithContext(ctx context.Context) ListenerOutput
}

type ListenerMap

type ListenerMap map[string]ListenerInput

func (ListenerMap) ElementType

func (ListenerMap) ElementType() reflect.Type

func (ListenerMap) ToListenerMapOutput

func (i ListenerMap) ToListenerMapOutput() ListenerMapOutput

func (ListenerMap) ToListenerMapOutputWithContext

func (i ListenerMap) ToListenerMapOutputWithContext(ctx context.Context) ListenerMapOutput

type ListenerMapInput

type ListenerMapInput interface {
	pulumi.Input

	ToListenerMapOutput() ListenerMapOutput
	ToListenerMapOutputWithContext(context.Context) ListenerMapOutput
}

ListenerMapInput is an input type that accepts ListenerMap and ListenerMapOutput values. You can construct a concrete instance of `ListenerMapInput` via:

ListenerMap{ "key": ListenerArgs{...} }

type ListenerMapOutput

type ListenerMapOutput struct{ *pulumi.OutputState }

func (ListenerMapOutput) ElementType

func (ListenerMapOutput) ElementType() reflect.Type

func (ListenerMapOutput) MapIndex

func (ListenerMapOutput) ToListenerMapOutput

func (o ListenerMapOutput) ToListenerMapOutput() ListenerMapOutput

func (ListenerMapOutput) ToListenerMapOutputWithContext

func (o ListenerMapOutput) ToListenerMapOutputWithContext(ctx context.Context) ListenerMapOutput

type ListenerOutput

type ListenerOutput struct{ *pulumi.OutputState }

func (ListenerOutput) AdminStateUp added in v3.9.0

func (o ListenerOutput) AdminStateUp() pulumi.BoolPtrOutput

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

func (ListenerOutput) AllowedCidrs added in v3.9.0

func (o ListenerOutput) AllowedCidrs() pulumi.StringArrayOutput

A list of CIDR blocks that are permitted to connect to this listener, denying all other source addresses. If not present, defaults to allow all.

func (ListenerOutput) ConnectionLimit added in v3.9.0

func (o ListenerOutput) ConnectionLimit() pulumi.IntOutput

The maximum number of connections allowed for the Listener.

func (ListenerOutput) DefaultPoolId added in v3.9.0

func (o ListenerOutput) DefaultPoolId() pulumi.StringOutput

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

func (ListenerOutput) DefaultTlsContainerRef added in v3.9.0

func (o ListenerOutput) DefaultTlsContainerRef() pulumi.StringPtrOutput

A reference to a Barbican Secrets container which stores TLS information. This is required if the protocol is `TERMINATED_HTTPS`. See [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer) for more information.

func (ListenerOutput) Description added in v3.9.0

func (o ListenerOutput) Description() pulumi.StringPtrOutput

Human-readable description for the Listener.

func (ListenerOutput) ElementType

func (ListenerOutput) ElementType() reflect.Type

func (ListenerOutput) InsertHeaders added in v3.9.0

func (o ListenerOutput) InsertHeaders() pulumi.MapOutput

The list of key value pairs representing headers to insert into the request before it is sent to the backend members. Changing this updates the headers of the existing listener.

func (ListenerOutput) LoadbalancerId added in v3.9.0

func (o ListenerOutput) LoadbalancerId() pulumi.StringOutput

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

func (ListenerOutput) Name added in v3.9.0

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

func (ListenerOutput) Protocol added in v3.9.0

func (o ListenerOutput) Protocol() pulumi.StringOutput

The protocol - can either be TCP, HTTP, HTTPS, TERMINATED_HTTPS, UDP (supported only in Octavia), SCTP (supported only in **Octavia minor version >= 2.23**) or PROMETHEUS (supported only in **Octavia minor version >=2.25**). Changing this creates a new Listener.

func (ListenerOutput) ProtocolPort added in v3.9.0

func (o ListenerOutput) ProtocolPort() pulumi.IntOutput

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

func (ListenerOutput) Region added in v3.9.0

func (o ListenerOutput) Region() pulumi.StringOutput

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.

func (ListenerOutput) SniContainerRefs added in v3.9.0

func (o ListenerOutput) SniContainerRefs() pulumi.StringArrayOutput

A list of references to Barbican Secrets containers which store SNI information. See [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer) for more information.

func (ListenerOutput) Tags added in v3.12.0

func (ListenerOutput) TenantId added in v3.9.0

func (o ListenerOutput) TenantId() pulumi.StringOutput

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.

func (ListenerOutput) TimeoutClientData added in v3.9.0

func (o ListenerOutput) TimeoutClientData() pulumi.IntOutput

The client inactivity timeout in milliseconds.

func (ListenerOutput) TimeoutMemberConnect added in v3.9.0

func (o ListenerOutput) TimeoutMemberConnect() pulumi.IntOutput

The member connection timeout in milliseconds.

func (ListenerOutput) TimeoutMemberData added in v3.9.0

func (o ListenerOutput) TimeoutMemberData() pulumi.IntOutput

The member inactivity timeout in milliseconds.

func (ListenerOutput) TimeoutTcpInspect added in v3.9.0

func (o ListenerOutput) TimeoutTcpInspect() pulumi.IntOutput

The time in milliseconds, to wait for additional TCP packets for content inspection.

func (ListenerOutput) ToListenerOutput

func (o ListenerOutput) ToListenerOutput() ListenerOutput

func (ListenerOutput) ToListenerOutputWithContext

func (o ListenerOutput) ToListenerOutputWithContext(ctx context.Context) ListenerOutput

type ListenerState

type ListenerState struct {
	// The administrative state of the Listener.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// A list of CIDR blocks that are permitted to connect to this listener, denying
	// all other source addresses. If not present, defaults to allow all.
	AllowedCidrs pulumi.StringArrayInput
	// The maximum number of connections allowed
	// for the Listener.
	ConnectionLimit pulumi.IntPtrInput
	// The ID of the default pool with which the
	// Listener is associated.
	DefaultPoolId pulumi.StringPtrInput
	// A reference to a Barbican Secrets
	// container which stores TLS information. This is required if the protocol
	// is `TERMINATED_HTTPS`. See
	// [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)
	// for more information.
	DefaultTlsContainerRef pulumi.StringPtrInput
	// Human-readable description for the Listener.
	Description pulumi.StringPtrInput
	// The list of key value pairs representing headers to insert
	// into the request before it is sent to the backend members. Changing this updates the headers of the
	// existing listener.
	InsertHeaders pulumi.MapInput
	// The load balancer on which to provision this
	// Listener. Changing this creates a new Listener.
	LoadbalancerId pulumi.StringPtrInput
	// Human-readable name for the Listener. Does not have
	// to be unique.
	Name pulumi.StringPtrInput
	// The protocol - can either be TCP, HTTP, HTTPS,
	// TERMINATED_HTTPS, UDP (supported only in Octavia), SCTP (supported only
	// in **Octavia minor version >= 2.23**) or PROMETHEUS (supported only in
	// **Octavia minor version >=2.25**). Changing this creates a new Listener.
	Protocol pulumi.StringPtrInput
	// The port on which to listen for client traffic.
	// Changing this creates a new Listener.
	ProtocolPort pulumi.IntPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// A list of references to Barbican Secrets
	// containers which store SNI information. See
	// [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)
	// for more information.
	SniContainerRefs pulumi.StringArrayInput
	Tags             pulumi.StringArrayInput
	// 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.
	TenantId pulumi.StringPtrInput
	// The client inactivity timeout in milliseconds.
	TimeoutClientData pulumi.IntPtrInput
	// The member connection timeout in milliseconds.
	TimeoutMemberConnect pulumi.IntPtrInput
	// The member inactivity timeout in milliseconds.
	TimeoutMemberData pulumi.IntPtrInput
	// The time in milliseconds, to wait for additional
	// TCP packets for content inspection.
	TimeoutTcpInspect pulumi.IntPtrInput
}

func (ListenerState) ElementType

func (ListenerState) ElementType() reflect.Type

type LoadBalancer

type LoadBalancer struct {
	pulumi.CustomResourceState

	// The administrative state of the Loadbalancer.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// The availability zone of the Loadbalancer.
	// Changing this creates a new loadbalancer. Available only for Octavia
	// **minor version 2.14 or later**.
	AvailabilityZone pulumi.StringPtrOutput `pulumi:"availabilityZone"`
	// Human-readable description for the Loadbalancer.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The UUID of a flavor. Changing this creates a new
	// loadbalancer.
	FlavorId pulumi.StringOutput `pulumi:"flavorId"`
	// The name of the provider. Changing this
	// creates a new loadbalancer.
	LoadbalancerProvider pulumi.StringOutput `pulumi:"loadbalancerProvider"`
	// Human-readable name for the Loadbalancer. Does not have
	// to be unique.
	Name pulumi.StringOutput `pulumi:"name"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// 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).
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// A list of simple strings assigned to the loadbalancer.
	// Available only for Octavia **minor version 2.5 or later**.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// 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.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// The ip address of the load balancer.
	// Changing this creates a new loadbalancer.
	VipAddress pulumi.StringOutput `pulumi:"vipAddress"`
	// 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.
	// It is available only for Octavia.
	VipNetworkId pulumi.StringOutput `pulumi:"vipNetworkId"`
	// The port UUID that the loadbalancer will use.
	// Changing this creates a new loadbalancer. It is available only for Octavia.
	VipPortId pulumi.StringOutput `pulumi:"vipPortId"`
	// The subnet 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.
	// It is required to Neutron LBaaS but optional for Octavia.
	VipSubnetId pulumi.StringOutput `pulumi:"vipSubnetId"`
}

Manages a V2 loadbalancer 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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := loadbalancer.NewLoadBalancer(ctx, "lb1", &loadbalancer.LoadBalancerArgs{
			VipSubnetId: pulumi.String("d9415786-5f1a-428b-b35f-2f1523e146d2"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import openstack:loadbalancer/loadBalancer:LoadBalancer loadbalancer_1 19bcfdc7-c521-4a7e-9459-6750bd16df76 ```

func GetLoadBalancer

func GetLoadBalancer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LoadBalancerState, opts ...pulumi.ResourceOption) (*LoadBalancer, error)

GetLoadBalancer gets an existing LoadBalancer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLoadBalancer

func NewLoadBalancer(ctx *pulumi.Context,
	name string, args *LoadBalancerArgs, opts ...pulumi.ResourceOption) (*LoadBalancer, error)

NewLoadBalancer registers a new resource with the given unique name, arguments, and options.

func (*LoadBalancer) ElementType

func (*LoadBalancer) ElementType() reflect.Type

func (*LoadBalancer) ToLoadBalancerOutput

func (i *LoadBalancer) ToLoadBalancerOutput() LoadBalancerOutput

func (*LoadBalancer) ToLoadBalancerOutputWithContext

func (i *LoadBalancer) ToLoadBalancerOutputWithContext(ctx context.Context) LoadBalancerOutput

type LoadBalancerArgs

type LoadBalancerArgs struct {
	// The administrative state of the Loadbalancer.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// The availability zone of the Loadbalancer.
	// Changing this creates a new loadbalancer. Available only for Octavia
	// **minor version 2.14 or later**.
	AvailabilityZone pulumi.StringPtrInput
	// Human-readable description for the Loadbalancer.
	Description pulumi.StringPtrInput
	// The UUID of a flavor. Changing this creates a new
	// loadbalancer.
	FlavorId pulumi.StringPtrInput
	// The name of the provider. Changing this
	// creates a new loadbalancer.
	LoadbalancerProvider pulumi.StringPtrInput
	// Human-readable name for the Loadbalancer. Does not have
	// to be unique.
	Name pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// 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).
	SecurityGroupIds pulumi.StringArrayInput
	// A list of simple strings assigned to the loadbalancer.
	// Available only for Octavia **minor version 2.5 or later**.
	Tags pulumi.StringArrayInput
	// 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.
	TenantId pulumi.StringPtrInput
	// The ip address of the load balancer.
	// Changing this creates a new loadbalancer.
	VipAddress pulumi.StringPtrInput
	// 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.
	// It is available only for Octavia.
	VipNetworkId pulumi.StringPtrInput
	// The port UUID that the loadbalancer will use.
	// Changing this creates a new loadbalancer. It is available only for Octavia.
	VipPortId pulumi.StringPtrInput
	// The subnet 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.
	// It is required to Neutron LBaaS but optional for Octavia.
	VipSubnetId pulumi.StringPtrInput
}

The set of arguments for constructing a LoadBalancer resource.

func (LoadBalancerArgs) ElementType

func (LoadBalancerArgs) ElementType() reflect.Type

type LoadBalancerArray

type LoadBalancerArray []LoadBalancerInput

func (LoadBalancerArray) ElementType

func (LoadBalancerArray) ElementType() reflect.Type

func (LoadBalancerArray) ToLoadBalancerArrayOutput

func (i LoadBalancerArray) ToLoadBalancerArrayOutput() LoadBalancerArrayOutput

func (LoadBalancerArray) ToLoadBalancerArrayOutputWithContext

func (i LoadBalancerArray) ToLoadBalancerArrayOutputWithContext(ctx context.Context) LoadBalancerArrayOutput

type LoadBalancerArrayInput

type LoadBalancerArrayInput interface {
	pulumi.Input

	ToLoadBalancerArrayOutput() LoadBalancerArrayOutput
	ToLoadBalancerArrayOutputWithContext(context.Context) LoadBalancerArrayOutput
}

LoadBalancerArrayInput is an input type that accepts LoadBalancerArray and LoadBalancerArrayOutput values. You can construct a concrete instance of `LoadBalancerArrayInput` via:

LoadBalancerArray{ LoadBalancerArgs{...} }

type LoadBalancerArrayOutput

type LoadBalancerArrayOutput struct{ *pulumi.OutputState }

func (LoadBalancerArrayOutput) ElementType

func (LoadBalancerArrayOutput) ElementType() reflect.Type

func (LoadBalancerArrayOutput) Index

func (LoadBalancerArrayOutput) ToLoadBalancerArrayOutput

func (o LoadBalancerArrayOutput) ToLoadBalancerArrayOutput() LoadBalancerArrayOutput

func (LoadBalancerArrayOutput) ToLoadBalancerArrayOutputWithContext

func (o LoadBalancerArrayOutput) ToLoadBalancerArrayOutputWithContext(ctx context.Context) LoadBalancerArrayOutput

type LoadBalancerInput

type LoadBalancerInput interface {
	pulumi.Input

	ToLoadBalancerOutput() LoadBalancerOutput
	ToLoadBalancerOutputWithContext(ctx context.Context) LoadBalancerOutput
}

type LoadBalancerMap

type LoadBalancerMap map[string]LoadBalancerInput

func (LoadBalancerMap) ElementType

func (LoadBalancerMap) ElementType() reflect.Type

func (LoadBalancerMap) ToLoadBalancerMapOutput

func (i LoadBalancerMap) ToLoadBalancerMapOutput() LoadBalancerMapOutput

func (LoadBalancerMap) ToLoadBalancerMapOutputWithContext

func (i LoadBalancerMap) ToLoadBalancerMapOutputWithContext(ctx context.Context) LoadBalancerMapOutput

type LoadBalancerMapInput

type LoadBalancerMapInput interface {
	pulumi.Input

	ToLoadBalancerMapOutput() LoadBalancerMapOutput
	ToLoadBalancerMapOutputWithContext(context.Context) LoadBalancerMapOutput
}

LoadBalancerMapInput is an input type that accepts LoadBalancerMap and LoadBalancerMapOutput values. You can construct a concrete instance of `LoadBalancerMapInput` via:

LoadBalancerMap{ "key": LoadBalancerArgs{...} }

type LoadBalancerMapOutput

type LoadBalancerMapOutput struct{ *pulumi.OutputState }

func (LoadBalancerMapOutput) ElementType

func (LoadBalancerMapOutput) ElementType() reflect.Type

func (LoadBalancerMapOutput) MapIndex

func (LoadBalancerMapOutput) ToLoadBalancerMapOutput

func (o LoadBalancerMapOutput) ToLoadBalancerMapOutput() LoadBalancerMapOutput

func (LoadBalancerMapOutput) ToLoadBalancerMapOutputWithContext

func (o LoadBalancerMapOutput) ToLoadBalancerMapOutputWithContext(ctx context.Context) LoadBalancerMapOutput

type LoadBalancerOutput

type LoadBalancerOutput struct{ *pulumi.OutputState }

func (LoadBalancerOutput) AdminStateUp added in v3.9.0

func (o LoadBalancerOutput) AdminStateUp() pulumi.BoolPtrOutput

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

func (LoadBalancerOutput) AvailabilityZone added in v3.9.0

func (o LoadBalancerOutput) AvailabilityZone() pulumi.StringPtrOutput

The availability zone of the Loadbalancer. Changing this creates a new loadbalancer. Available only for Octavia **minor version 2.14 or later**.

func (LoadBalancerOutput) Description added in v3.9.0

func (o LoadBalancerOutput) Description() pulumi.StringPtrOutput

Human-readable description for the Loadbalancer.

func (LoadBalancerOutput) ElementType

func (LoadBalancerOutput) ElementType() reflect.Type

func (LoadBalancerOutput) FlavorId added in v3.9.0

func (o LoadBalancerOutput) FlavorId() pulumi.StringOutput

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

func (LoadBalancerOutput) LoadbalancerProvider added in v3.9.0

func (o LoadBalancerOutput) LoadbalancerProvider() pulumi.StringOutput

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

func (LoadBalancerOutput) Name added in v3.9.0

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

func (LoadBalancerOutput) Region added in v3.9.0

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.

func (LoadBalancerOutput) SecurityGroupIds added in v3.9.0

func (o LoadBalancerOutput) SecurityGroupIds() pulumi.StringArrayOutput

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).

func (LoadBalancerOutput) Tags added in v3.9.0

A list of simple strings assigned to the loadbalancer. Available only for Octavia **minor version 2.5 or later**.

func (LoadBalancerOutput) TenantId added in v3.9.0

func (o LoadBalancerOutput) TenantId() pulumi.StringOutput

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.

func (LoadBalancerOutput) ToLoadBalancerOutput

func (o LoadBalancerOutput) ToLoadBalancerOutput() LoadBalancerOutput

func (LoadBalancerOutput) ToLoadBalancerOutputWithContext

func (o LoadBalancerOutput) ToLoadBalancerOutputWithContext(ctx context.Context) LoadBalancerOutput

func (LoadBalancerOutput) VipAddress added in v3.9.0

func (o LoadBalancerOutput) VipAddress() pulumi.StringOutput

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

func (LoadBalancerOutput) VipNetworkId added in v3.9.0

func (o LoadBalancerOutput) VipNetworkId() pulumi.StringOutput

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. It is available only for Octavia.

func (LoadBalancerOutput) VipPortId added in v3.9.0

func (o LoadBalancerOutput) VipPortId() pulumi.StringOutput

The port UUID that the loadbalancer will use. Changing this creates a new loadbalancer. It is available only for Octavia.

func (LoadBalancerOutput) VipSubnetId added in v3.9.0

func (o LoadBalancerOutput) VipSubnetId() pulumi.StringOutput

The subnet 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. It is required to Neutron LBaaS but optional for Octavia.

type LoadBalancerState

type LoadBalancerState struct {
	// The administrative state of the Loadbalancer.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// The availability zone of the Loadbalancer.
	// Changing this creates a new loadbalancer. Available only for Octavia
	// **minor version 2.14 or later**.
	AvailabilityZone pulumi.StringPtrInput
	// Human-readable description for the Loadbalancer.
	Description pulumi.StringPtrInput
	// The UUID of a flavor. Changing this creates a new
	// loadbalancer.
	FlavorId pulumi.StringPtrInput
	// The name of the provider. Changing this
	// creates a new loadbalancer.
	LoadbalancerProvider pulumi.StringPtrInput
	// Human-readable name for the Loadbalancer. Does not have
	// to be unique.
	Name pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// 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).
	SecurityGroupIds pulumi.StringArrayInput
	// A list of simple strings assigned to the loadbalancer.
	// Available only for Octavia **minor version 2.5 or later**.
	Tags pulumi.StringArrayInput
	// 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.
	TenantId pulumi.StringPtrInput
	// The ip address of the load balancer.
	// Changing this creates a new loadbalancer.
	VipAddress pulumi.StringPtrInput
	// 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.
	// It is available only for Octavia.
	VipNetworkId pulumi.StringPtrInput
	// The port UUID that the loadbalancer will use.
	// Changing this creates a new loadbalancer. It is available only for Octavia.
	VipPortId pulumi.StringPtrInput
	// The subnet 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.
	// It is required to Neutron LBaaS but optional for Octavia.
	VipSubnetId pulumi.StringPtrInput
}

func (LoadBalancerState) ElementType

func (LoadBalancerState) ElementType() reflect.Type

type Member

type Member struct {
	pulumi.CustomResourceState

	// The IP address of the member to receive traffic from
	// the load balancer. Changing this creates a new member.
	Address pulumi.StringOutput `pulumi:"address"`
	// The administrative state of the member.
	// A valid value is true (UP) or false (DOWN). Defaults to true.
	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// Boolean that indicates whether that member works as a backup or not. Available
	// only for Octavia >= 2.1.
	Backup pulumi.BoolPtrOutput `pulumi:"backup"`
	// An alternate IP address used for health monitoring a backend member.
	// Available only for Octavia
	MonitorAddress pulumi.StringPtrOutput `pulumi:"monitorAddress"`
	// An alternate protocol port used for health monitoring a backend member.
	// Available only for Octavia
	MonitorPort pulumi.IntPtrOutput `pulumi:"monitorPort"`
	// Human-readable name for the member.
	Name pulumi.StringOutput `pulumi:"name"`
	// The id of the pool that this member will be assigned
	// to. Changing this creates a new member.
	PoolId pulumi.StringOutput `pulumi:"poolId"`
	// The port on which to listen for client traffic.
	// Changing this creates a new member.
	ProtocolPort pulumi.IntOutput `pulumi:"protocolPort"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a member. If omitted, the `region`
	// argument of the provider is used. Changing this creates a new member.
	Region pulumi.StringOutput `pulumi:"region"`
	// The subnet in which to access the member. Changing
	// this creates a new member.
	SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"`
	// 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.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// 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. Defaults to 1.
	Weight pulumi.IntOutput `pulumi:"weight"`
}

Manages a V2 member resource within OpenStack.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := loadbalancer.NewMember(ctx, "member1", &loadbalancer.MemberArgs{
			Address:      pulumi.String("192.168.199.23"),
			PoolId:       pulumi.String("935685fb-a896-40f9-9ff4-ae531a3a00fe"),
			ProtocolPort: pulumi.Int(8080),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Load Balancer Pool Member can be imported using the Pool ID and Member ID separated by a slash, e.g.:

```sh $ pulumi import openstack:loadbalancer/member:Member member_1 c22974d2-4c95-4bcb-9819-0afc5ed303d5/9563b79c-8460-47da-8a95-2711b746510f ```

func GetMember

func GetMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MemberState, opts ...pulumi.ResourceOption) (*Member, error)

GetMember gets an existing Member resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMember

func NewMember(ctx *pulumi.Context,
	name string, args *MemberArgs, opts ...pulumi.ResourceOption) (*Member, error)

NewMember registers a new resource with the given unique name, arguments, and options.

func (*Member) ElementType

func (*Member) ElementType() reflect.Type

func (*Member) ToMemberOutput

func (i *Member) ToMemberOutput() MemberOutput

func (*Member) ToMemberOutputWithContext

func (i *Member) ToMemberOutputWithContext(ctx context.Context) MemberOutput

type MemberArgs

type MemberArgs struct {
	// The IP address of the member to receive traffic from
	// the load balancer. Changing this creates a new member.
	Address pulumi.StringInput
	// The administrative state of the member.
	// A valid value is true (UP) or false (DOWN). Defaults to true.
	AdminStateUp pulumi.BoolPtrInput
	// Boolean that indicates whether that member works as a backup or not. Available
	// only for Octavia >= 2.1.
	Backup pulumi.BoolPtrInput
	// An alternate IP address used for health monitoring a backend member.
	// Available only for Octavia
	MonitorAddress pulumi.StringPtrInput
	// An alternate protocol port used for health monitoring a backend member.
	// Available only for Octavia
	MonitorPort pulumi.IntPtrInput
	// Human-readable name for the member.
	Name pulumi.StringPtrInput
	// The id of the pool that this member will be assigned
	// to. Changing this creates a new member.
	PoolId pulumi.StringInput
	// The port on which to listen for client traffic.
	// Changing this creates a new member.
	ProtocolPort pulumi.IntInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a member. If omitted, the `region`
	// argument of the provider is used. Changing this creates a new member.
	Region pulumi.StringPtrInput
	// The subnet in which to access the member. Changing
	// this creates a new member.
	SubnetId pulumi.StringPtrInput
	// 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.
	TenantId pulumi.StringPtrInput
	// 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. Defaults to 1.
	Weight pulumi.IntPtrInput
}

The set of arguments for constructing a Member resource.

func (MemberArgs) ElementType

func (MemberArgs) ElementType() reflect.Type

type MemberArray

type MemberArray []MemberInput

func (MemberArray) ElementType

func (MemberArray) ElementType() reflect.Type

func (MemberArray) ToMemberArrayOutput

func (i MemberArray) ToMemberArrayOutput() MemberArrayOutput

func (MemberArray) ToMemberArrayOutputWithContext

func (i MemberArray) ToMemberArrayOutputWithContext(ctx context.Context) MemberArrayOutput

type MemberArrayInput

type MemberArrayInput interface {
	pulumi.Input

	ToMemberArrayOutput() MemberArrayOutput
	ToMemberArrayOutputWithContext(context.Context) MemberArrayOutput
}

MemberArrayInput is an input type that accepts MemberArray and MemberArrayOutput values. You can construct a concrete instance of `MemberArrayInput` via:

MemberArray{ MemberArgs{...} }

type MemberArrayOutput

type MemberArrayOutput struct{ *pulumi.OutputState }

func (MemberArrayOutput) ElementType

func (MemberArrayOutput) ElementType() reflect.Type

func (MemberArrayOutput) Index

func (MemberArrayOutput) ToMemberArrayOutput

func (o MemberArrayOutput) ToMemberArrayOutput() MemberArrayOutput

func (MemberArrayOutput) ToMemberArrayOutputWithContext

func (o MemberArrayOutput) ToMemberArrayOutputWithContext(ctx context.Context) MemberArrayOutput

type MemberInput

type MemberInput interface {
	pulumi.Input

	ToMemberOutput() MemberOutput
	ToMemberOutputWithContext(ctx context.Context) MemberOutput
}

type MemberMap

type MemberMap map[string]MemberInput

func (MemberMap) ElementType

func (MemberMap) ElementType() reflect.Type

func (MemberMap) ToMemberMapOutput

func (i MemberMap) ToMemberMapOutput() MemberMapOutput

func (MemberMap) ToMemberMapOutputWithContext

func (i MemberMap) ToMemberMapOutputWithContext(ctx context.Context) MemberMapOutput

type MemberMapInput

type MemberMapInput interface {
	pulumi.Input

	ToMemberMapOutput() MemberMapOutput
	ToMemberMapOutputWithContext(context.Context) MemberMapOutput
}

MemberMapInput is an input type that accepts MemberMap and MemberMapOutput values. You can construct a concrete instance of `MemberMapInput` via:

MemberMap{ "key": MemberArgs{...} }

type MemberMapOutput

type MemberMapOutput struct{ *pulumi.OutputState }

func (MemberMapOutput) ElementType

func (MemberMapOutput) ElementType() reflect.Type

func (MemberMapOutput) MapIndex

func (MemberMapOutput) ToMemberMapOutput

func (o MemberMapOutput) ToMemberMapOutput() MemberMapOutput

func (MemberMapOutput) ToMemberMapOutputWithContext

func (o MemberMapOutput) ToMemberMapOutputWithContext(ctx context.Context) MemberMapOutput

type MemberOutput

type MemberOutput struct{ *pulumi.OutputState }

func (MemberOutput) Address added in v3.9.0

func (o MemberOutput) Address() pulumi.StringOutput

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

func (MemberOutput) AdminStateUp added in v3.9.0

func (o MemberOutput) AdminStateUp() pulumi.BoolPtrOutput

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

func (MemberOutput) Backup added in v3.9.0

func (o MemberOutput) Backup() pulumi.BoolPtrOutput

Boolean that indicates whether that member works as a backup or not. Available only for Octavia >= 2.1.

func (MemberOutput) ElementType

func (MemberOutput) ElementType() reflect.Type

func (MemberOutput) MonitorAddress added in v3.9.0

func (o MemberOutput) MonitorAddress() pulumi.StringPtrOutput

An alternate IP address used for health monitoring a backend member. Available only for Octavia

func (MemberOutput) MonitorPort added in v3.9.0

func (o MemberOutput) MonitorPort() pulumi.IntPtrOutput

An alternate protocol port used for health monitoring a backend member. Available only for Octavia

func (MemberOutput) Name added in v3.9.0

func (o MemberOutput) Name() pulumi.StringOutput

Human-readable name for the member.

func (MemberOutput) PoolId added in v3.9.0

func (o MemberOutput) PoolId() pulumi.StringOutput

The id of the pool that this member will be assigned to. Changing this creates a new member.

func (MemberOutput) ProtocolPort added in v3.9.0

func (o MemberOutput) ProtocolPort() pulumi.IntOutput

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

func (MemberOutput) Region added in v3.9.0

func (o MemberOutput) Region() pulumi.StringOutput

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

func (MemberOutput) SubnetId added in v3.9.0

func (o MemberOutput) SubnetId() pulumi.StringPtrOutput

The subnet in which to access the member. Changing this creates a new member.

func (MemberOutput) TenantId added in v3.9.0

func (o MemberOutput) TenantId() pulumi.StringOutput

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.

func (MemberOutput) ToMemberOutput

func (o MemberOutput) ToMemberOutput() MemberOutput

func (MemberOutput) ToMemberOutputWithContext

func (o MemberOutput) ToMemberOutputWithContext(ctx context.Context) MemberOutput

func (MemberOutput) Weight added in v3.9.0

func (o MemberOutput) Weight() pulumi.IntOutput

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. Defaults to 1.

type MemberState

type MemberState struct {
	// The IP address of the member to receive traffic from
	// the load balancer. Changing this creates a new member.
	Address pulumi.StringPtrInput
	// The administrative state of the member.
	// A valid value is true (UP) or false (DOWN). Defaults to true.
	AdminStateUp pulumi.BoolPtrInput
	// Boolean that indicates whether that member works as a backup or not. Available
	// only for Octavia >= 2.1.
	Backup pulumi.BoolPtrInput
	// An alternate IP address used for health monitoring a backend member.
	// Available only for Octavia
	MonitorAddress pulumi.StringPtrInput
	// An alternate protocol port used for health monitoring a backend member.
	// Available only for Octavia
	MonitorPort pulumi.IntPtrInput
	// Human-readable name for the member.
	Name pulumi.StringPtrInput
	// The id of the pool that this member will be assigned
	// to. Changing this creates a new member.
	PoolId pulumi.StringPtrInput
	// The port on which to listen for client traffic.
	// Changing this creates a new member.
	ProtocolPort pulumi.IntPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a member. If omitted, the `region`
	// argument of the provider is used. Changing this creates a new member.
	Region pulumi.StringPtrInput
	// The subnet in which to access the member. Changing
	// this creates a new member.
	SubnetId pulumi.StringPtrInput
	// 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.
	TenantId pulumi.StringPtrInput
	// 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. Defaults to 1.
	Weight pulumi.IntPtrInput
}

func (MemberState) ElementType

func (MemberState) ElementType() reflect.Type

type MemberV1

type MemberV1 struct {
	pulumi.CustomResourceState

	// The IP address of the member. Changing this creates a
	// new member.
	Address pulumi.StringOutput `pulumi:"address"`
	// The administrative state of the member.
	// Acceptable values are 'true' and 'false'. Changing this value updates the
	// state of the existing member.
	AdminStateUp pulumi.BoolOutput `pulumi:"adminStateUp"`
	// The ID of the LB pool. Changing this creates a new
	// member.
	PoolId pulumi.StringOutput `pulumi:"poolId"`
	// An integer representing the port on which the member is
	// hosted. Changing this creates a new member.
	Port pulumi.IntOutput `pulumi:"port"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// The owner of the member. Required if admin wants to
	// create a member for another tenant. Changing this creates a new member.
	TenantId pulumi.StringPtrOutput `pulumi:"tenantId"`
	Weight   pulumi.IntOutput       `pulumi:"weight"`
}

Manages a V1 load balancer member resource within OpenStack.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := loadbalancer.NewMemberV1(ctx, "member1", &loadbalancer.MemberV1Args{
			Address: pulumi.String("192.168.0.10"),
			PoolId:  pulumi.String("d9415786-5f1a-428b-b35f-2f1523e146d2"),
			Port:    pulumi.Int(80),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Load Balancer Members can be imported using the `id`, e.g.

```sh $ pulumi import openstack:loadbalancer/memberV1:MemberV1 member_1 a7498676-4fe4-4243-a864-2eaaf18c73df ```

func GetMemberV1

func GetMemberV1(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MemberV1State, opts ...pulumi.ResourceOption) (*MemberV1, error)

GetMemberV1 gets an existing MemberV1 resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMemberV1

func NewMemberV1(ctx *pulumi.Context,
	name string, args *MemberV1Args, opts ...pulumi.ResourceOption) (*MemberV1, error)

NewMemberV1 registers a new resource with the given unique name, arguments, and options.

func (*MemberV1) ElementType

func (*MemberV1) ElementType() reflect.Type

func (*MemberV1) ToMemberV1Output

func (i *MemberV1) ToMemberV1Output() MemberV1Output

func (*MemberV1) ToMemberV1OutputWithContext

func (i *MemberV1) ToMemberV1OutputWithContext(ctx context.Context) MemberV1Output

type MemberV1Args

type MemberV1Args struct {
	// The IP address of the member. Changing this creates a
	// new member.
	Address pulumi.StringInput
	// The administrative state of the member.
	// Acceptable values are 'true' and 'false'. Changing this value updates the
	// state of the existing member.
	AdminStateUp pulumi.BoolPtrInput
	// The ID of the LB pool. Changing this creates a new
	// member.
	PoolId pulumi.StringInput
	// An integer representing the port on which the member is
	// hosted. Changing this creates a new member.
	Port pulumi.IntInput
	// 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.
	Region pulumi.StringPtrInput
	// The owner of the member. Required if admin wants to
	// create a member for another tenant. Changing this creates a new member.
	TenantId pulumi.StringPtrInput
	Weight   pulumi.IntPtrInput
}

The set of arguments for constructing a MemberV1 resource.

func (MemberV1Args) ElementType

func (MemberV1Args) ElementType() reflect.Type

type MemberV1Array

type MemberV1Array []MemberV1Input

func (MemberV1Array) ElementType

func (MemberV1Array) ElementType() reflect.Type

func (MemberV1Array) ToMemberV1ArrayOutput

func (i MemberV1Array) ToMemberV1ArrayOutput() MemberV1ArrayOutput

func (MemberV1Array) ToMemberV1ArrayOutputWithContext

func (i MemberV1Array) ToMemberV1ArrayOutputWithContext(ctx context.Context) MemberV1ArrayOutput

type MemberV1ArrayInput

type MemberV1ArrayInput interface {
	pulumi.Input

	ToMemberV1ArrayOutput() MemberV1ArrayOutput
	ToMemberV1ArrayOutputWithContext(context.Context) MemberV1ArrayOutput
}

MemberV1ArrayInput is an input type that accepts MemberV1Array and MemberV1ArrayOutput values. You can construct a concrete instance of `MemberV1ArrayInput` via:

MemberV1Array{ MemberV1Args{...} }

type MemberV1ArrayOutput

type MemberV1ArrayOutput struct{ *pulumi.OutputState }

func (MemberV1ArrayOutput) ElementType

func (MemberV1ArrayOutput) ElementType() reflect.Type

func (MemberV1ArrayOutput) Index

func (MemberV1ArrayOutput) ToMemberV1ArrayOutput

func (o MemberV1ArrayOutput) ToMemberV1ArrayOutput() MemberV1ArrayOutput

func (MemberV1ArrayOutput) ToMemberV1ArrayOutputWithContext

func (o MemberV1ArrayOutput) ToMemberV1ArrayOutputWithContext(ctx context.Context) MemberV1ArrayOutput

type MemberV1Input

type MemberV1Input interface {
	pulumi.Input

	ToMemberV1Output() MemberV1Output
	ToMemberV1OutputWithContext(ctx context.Context) MemberV1Output
}

type MemberV1Map

type MemberV1Map map[string]MemberV1Input

func (MemberV1Map) ElementType

func (MemberV1Map) ElementType() reflect.Type

func (MemberV1Map) ToMemberV1MapOutput

func (i MemberV1Map) ToMemberV1MapOutput() MemberV1MapOutput

func (MemberV1Map) ToMemberV1MapOutputWithContext

func (i MemberV1Map) ToMemberV1MapOutputWithContext(ctx context.Context) MemberV1MapOutput

type MemberV1MapInput

type MemberV1MapInput interface {
	pulumi.Input

	ToMemberV1MapOutput() MemberV1MapOutput
	ToMemberV1MapOutputWithContext(context.Context) MemberV1MapOutput
}

MemberV1MapInput is an input type that accepts MemberV1Map and MemberV1MapOutput values. You can construct a concrete instance of `MemberV1MapInput` via:

MemberV1Map{ "key": MemberV1Args{...} }

type MemberV1MapOutput

type MemberV1MapOutput struct{ *pulumi.OutputState }

func (MemberV1MapOutput) ElementType

func (MemberV1MapOutput) ElementType() reflect.Type

func (MemberV1MapOutput) MapIndex

func (MemberV1MapOutput) ToMemberV1MapOutput

func (o MemberV1MapOutput) ToMemberV1MapOutput() MemberV1MapOutput

func (MemberV1MapOutput) ToMemberV1MapOutputWithContext

func (o MemberV1MapOutput) ToMemberV1MapOutputWithContext(ctx context.Context) MemberV1MapOutput

type MemberV1Output

type MemberV1Output struct{ *pulumi.OutputState }

func (MemberV1Output) Address added in v3.9.0

func (o MemberV1Output) Address() pulumi.StringOutput

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

func (MemberV1Output) AdminStateUp added in v3.9.0

func (o MemberV1Output) AdminStateUp() pulumi.BoolOutput

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

func (MemberV1Output) ElementType

func (MemberV1Output) ElementType() reflect.Type

func (MemberV1Output) PoolId added in v3.9.0

func (o MemberV1Output) PoolId() pulumi.StringOutput

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

func (MemberV1Output) Port added in v3.9.0

func (o MemberV1Output) Port() pulumi.IntOutput

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

func (MemberV1Output) Region added in v3.9.0

func (o MemberV1Output) Region() pulumi.StringOutput

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.

func (MemberV1Output) TenantId added in v3.9.0

func (o MemberV1Output) TenantId() pulumi.StringPtrOutput

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

func (MemberV1Output) ToMemberV1Output

func (o MemberV1Output) ToMemberV1Output() MemberV1Output

func (MemberV1Output) ToMemberV1OutputWithContext

func (o MemberV1Output) ToMemberV1OutputWithContext(ctx context.Context) MemberV1Output

func (MemberV1Output) Weight added in v3.9.0

func (o MemberV1Output) Weight() pulumi.IntOutput

type MemberV1State

type MemberV1State struct {
	// The IP address of the member. Changing this creates a
	// new member.
	Address pulumi.StringPtrInput
	// The administrative state of the member.
	// Acceptable values are 'true' and 'false'. Changing this value updates the
	// state of the existing member.
	AdminStateUp pulumi.BoolPtrInput
	// The ID of the LB pool. Changing this creates a new
	// member.
	PoolId pulumi.StringPtrInput
	// An integer representing the port on which the member is
	// hosted. Changing this creates a new member.
	Port pulumi.IntPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// The owner of the member. Required if admin wants to
	// create a member for another tenant. Changing this creates a new member.
	TenantId pulumi.StringPtrInput
	Weight   pulumi.IntPtrInput
}

func (MemberV1State) ElementType

func (MemberV1State) ElementType() reflect.Type

type Members

type Members struct {
	pulumi.CustomResourceState

	// A set of dictionaries containing member parameters. The
	// structure is described below.
	Members MembersMemberArrayOutput `pulumi:"members"`
	// The id of the pool that members will be assigned to.
	// Changing this creates a new members resource.
	PoolId pulumi.StringOutput `pulumi:"poolId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create pool members. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// members resource.
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages a V2 members resource within OpenStack (batch members update).

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

> **Note:** This resource works only within Octavia API. For legacy Neutron LBaaS v2 extension please use loadbalancer.Member resource.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := loadbalancer.NewMembers(ctx, "members1", &loadbalancer.MembersArgs{
			Members: loadbalancer.MembersMemberArray{
				&loadbalancer.MembersMemberArgs{
					Address:      pulumi.String("192.168.199.23"),
					ProtocolPort: pulumi.Int(8080),
				},
				&loadbalancer.MembersMemberArgs{
					Address:      pulumi.String("192.168.199.24"),
					ProtocolPort: pulumi.Int(8080),
				},
			},
			PoolId: pulumi.String("935685fb-a896-40f9-9ff4-ae531a3a00fe"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import openstack:loadbalancer/members:Members members_1 c22974d2-4c95-4bcb-9819-0afc5ed303d5 ```

func GetMembers

func GetMembers(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MembersState, opts ...pulumi.ResourceOption) (*Members, error)

GetMembers gets an existing Members resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMembers

func NewMembers(ctx *pulumi.Context,
	name string, args *MembersArgs, opts ...pulumi.ResourceOption) (*Members, error)

NewMembers registers a new resource with the given unique name, arguments, and options.

func (*Members) ElementType

func (*Members) ElementType() reflect.Type

func (*Members) ToMembersOutput

func (i *Members) ToMembersOutput() MembersOutput

func (*Members) ToMembersOutputWithContext

func (i *Members) ToMembersOutputWithContext(ctx context.Context) MembersOutput

type MembersArgs

type MembersArgs struct {
	// A set of dictionaries containing member parameters. The
	// structure is described below.
	Members MembersMemberArrayInput
	// The id of the pool that members will be assigned to.
	// Changing this creates a new members resource.
	PoolId pulumi.StringInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create pool members. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// members resource.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a Members resource.

func (MembersArgs) ElementType

func (MembersArgs) ElementType() reflect.Type

type MembersArray

type MembersArray []MembersInput

func (MembersArray) ElementType

func (MembersArray) ElementType() reflect.Type

func (MembersArray) ToMembersArrayOutput

func (i MembersArray) ToMembersArrayOutput() MembersArrayOutput

func (MembersArray) ToMembersArrayOutputWithContext

func (i MembersArray) ToMembersArrayOutputWithContext(ctx context.Context) MembersArrayOutput

type MembersArrayInput

type MembersArrayInput interface {
	pulumi.Input

	ToMembersArrayOutput() MembersArrayOutput
	ToMembersArrayOutputWithContext(context.Context) MembersArrayOutput
}

MembersArrayInput is an input type that accepts MembersArray and MembersArrayOutput values. You can construct a concrete instance of `MembersArrayInput` via:

MembersArray{ MembersArgs{...} }

type MembersArrayOutput

type MembersArrayOutput struct{ *pulumi.OutputState }

func (MembersArrayOutput) ElementType

func (MembersArrayOutput) ElementType() reflect.Type

func (MembersArrayOutput) Index

func (MembersArrayOutput) ToMembersArrayOutput

func (o MembersArrayOutput) ToMembersArrayOutput() MembersArrayOutput

func (MembersArrayOutput) ToMembersArrayOutputWithContext

func (o MembersArrayOutput) ToMembersArrayOutputWithContext(ctx context.Context) MembersArrayOutput

type MembersInput

type MembersInput interface {
	pulumi.Input

	ToMembersOutput() MembersOutput
	ToMembersOutputWithContext(ctx context.Context) MembersOutput
}

type MembersMap

type MembersMap map[string]MembersInput

func (MembersMap) ElementType

func (MembersMap) ElementType() reflect.Type

func (MembersMap) ToMembersMapOutput

func (i MembersMap) ToMembersMapOutput() MembersMapOutput

func (MembersMap) ToMembersMapOutputWithContext

func (i MembersMap) ToMembersMapOutputWithContext(ctx context.Context) MembersMapOutput

type MembersMapInput

type MembersMapInput interface {
	pulumi.Input

	ToMembersMapOutput() MembersMapOutput
	ToMembersMapOutputWithContext(context.Context) MembersMapOutput
}

MembersMapInput is an input type that accepts MembersMap and MembersMapOutput values. You can construct a concrete instance of `MembersMapInput` via:

MembersMap{ "key": MembersArgs{...} }

type MembersMapOutput

type MembersMapOutput struct{ *pulumi.OutputState }

func (MembersMapOutput) ElementType

func (MembersMapOutput) ElementType() reflect.Type

func (MembersMapOutput) MapIndex

func (MembersMapOutput) ToMembersMapOutput

func (o MembersMapOutput) ToMembersMapOutput() MembersMapOutput

func (MembersMapOutput) ToMembersMapOutputWithContext

func (o MembersMapOutput) ToMembersMapOutputWithContext(ctx context.Context) MembersMapOutput

type MembersMember

type MembersMember struct {
	// The IP address of the members to receive traffic from
	// the load balancer.
	Address string `pulumi:"address"`
	// The administrative state of the member.
	// A valid value is true (UP) or false (DOWN). Defaults to true.
	AdminStateUp *bool `pulumi:"adminStateUp"`
	// A bool that indicates whether the member is
	// backup. **Requires octavia minor version 2.1 or later**.
	Backup *bool `pulumi:"backup"`
	// The unique ID for the members.
	Id *string `pulumi:"id"`
	// An alternate IP address used for health
	// monitoring a backend member.
	MonitorAddress *string `pulumi:"monitorAddress"`
	// An alternate protocol port used for health
	// monitoring a backend member.
	MonitorPort *int `pulumi:"monitorPort"`
	// Human-readable name for the member.
	Name *string `pulumi:"name"`
	// The port on which to listen for client traffic.
	ProtocolPort int `pulumi:"protocolPort"`
	// The subnet in which to access the member.
	SubnetId *string `pulumi:"subnetId"`
	// A positive integer value that indicates the relative
	// portion of traffic that this members 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. Defaults to 1.
	Weight *int `pulumi:"weight"`
}

type MembersMemberArgs

type MembersMemberArgs struct {
	// The IP address of the members to receive traffic from
	// the load balancer.
	Address pulumi.StringInput `pulumi:"address"`
	// The administrative state of the member.
	// A valid value is true (UP) or false (DOWN). Defaults to true.
	AdminStateUp pulumi.BoolPtrInput `pulumi:"adminStateUp"`
	// A bool that indicates whether the member is
	// backup. **Requires octavia minor version 2.1 or later**.
	Backup pulumi.BoolPtrInput `pulumi:"backup"`
	// The unique ID for the members.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// An alternate IP address used for health
	// monitoring a backend member.
	MonitorAddress pulumi.StringPtrInput `pulumi:"monitorAddress"`
	// An alternate protocol port used for health
	// monitoring a backend member.
	MonitorPort pulumi.IntPtrInput `pulumi:"monitorPort"`
	// Human-readable name for the member.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The port on which to listen for client traffic.
	ProtocolPort pulumi.IntInput `pulumi:"protocolPort"`
	// The subnet in which to access the member.
	SubnetId pulumi.StringPtrInput `pulumi:"subnetId"`
	// A positive integer value that indicates the relative
	// portion of traffic that this members 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. Defaults to 1.
	Weight pulumi.IntPtrInput `pulumi:"weight"`
}

func (MembersMemberArgs) ElementType

func (MembersMemberArgs) ElementType() reflect.Type

func (MembersMemberArgs) ToMembersMemberOutput

func (i MembersMemberArgs) ToMembersMemberOutput() MembersMemberOutput

func (MembersMemberArgs) ToMembersMemberOutputWithContext

func (i MembersMemberArgs) ToMembersMemberOutputWithContext(ctx context.Context) MembersMemberOutput

type MembersMemberArray

type MembersMemberArray []MembersMemberInput

func (MembersMemberArray) ElementType

func (MembersMemberArray) ElementType() reflect.Type

func (MembersMemberArray) ToMembersMemberArrayOutput

func (i MembersMemberArray) ToMembersMemberArrayOutput() MembersMemberArrayOutput

func (MembersMemberArray) ToMembersMemberArrayOutputWithContext

func (i MembersMemberArray) ToMembersMemberArrayOutputWithContext(ctx context.Context) MembersMemberArrayOutput

type MembersMemberArrayInput

type MembersMemberArrayInput interface {
	pulumi.Input

	ToMembersMemberArrayOutput() MembersMemberArrayOutput
	ToMembersMemberArrayOutputWithContext(context.Context) MembersMemberArrayOutput
}

MembersMemberArrayInput is an input type that accepts MembersMemberArray and MembersMemberArrayOutput values. You can construct a concrete instance of `MembersMemberArrayInput` via:

MembersMemberArray{ MembersMemberArgs{...} }

type MembersMemberArrayOutput

type MembersMemberArrayOutput struct{ *pulumi.OutputState }

func (MembersMemberArrayOutput) ElementType

func (MembersMemberArrayOutput) ElementType() reflect.Type

func (MembersMemberArrayOutput) Index

func (MembersMemberArrayOutput) ToMembersMemberArrayOutput

func (o MembersMemberArrayOutput) ToMembersMemberArrayOutput() MembersMemberArrayOutput

func (MembersMemberArrayOutput) ToMembersMemberArrayOutputWithContext

func (o MembersMemberArrayOutput) ToMembersMemberArrayOutputWithContext(ctx context.Context) MembersMemberArrayOutput

type MembersMemberInput

type MembersMemberInput interface {
	pulumi.Input

	ToMembersMemberOutput() MembersMemberOutput
	ToMembersMemberOutputWithContext(context.Context) MembersMemberOutput
}

MembersMemberInput is an input type that accepts MembersMemberArgs and MembersMemberOutput values. You can construct a concrete instance of `MembersMemberInput` via:

MembersMemberArgs{...}

type MembersMemberOutput

type MembersMemberOutput struct{ *pulumi.OutputState }

func (MembersMemberOutput) Address

The IP address of the members to receive traffic from the load balancer.

func (MembersMemberOutput) AdminStateUp

func (o MembersMemberOutput) AdminStateUp() pulumi.BoolPtrOutput

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

func (MembersMemberOutput) Backup added in v3.1.0

A bool that indicates whether the member is backup. **Requires octavia minor version 2.1 or later**.

func (MembersMemberOutput) ElementType

func (MembersMemberOutput) ElementType() reflect.Type

func (MembersMemberOutput) Id

The unique ID for the members.

func (MembersMemberOutput) MonitorAddress added in v3.9.0

func (o MembersMemberOutput) MonitorAddress() pulumi.StringPtrOutput

An alternate IP address used for health monitoring a backend member.

func (MembersMemberOutput) MonitorPort added in v3.9.0

func (o MembersMemberOutput) MonitorPort() pulumi.IntPtrOutput

An alternate protocol port used for health monitoring a backend member.

func (MembersMemberOutput) Name

Human-readable name for the member.

func (MembersMemberOutput) ProtocolPort

func (o MembersMemberOutput) ProtocolPort() pulumi.IntOutput

The port on which to listen for client traffic.

func (MembersMemberOutput) SubnetId

The subnet in which to access the member.

func (MembersMemberOutput) ToMembersMemberOutput

func (o MembersMemberOutput) ToMembersMemberOutput() MembersMemberOutput

func (MembersMemberOutput) ToMembersMemberOutputWithContext

func (o MembersMemberOutput) ToMembersMemberOutputWithContext(ctx context.Context) MembersMemberOutput

func (MembersMemberOutput) Weight

A positive integer value that indicates the relative portion of traffic that this members 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. Defaults to 1.

type MembersOutput

type MembersOutput struct{ *pulumi.OutputState }

func (MembersOutput) ElementType

func (MembersOutput) ElementType() reflect.Type

func (MembersOutput) Members added in v3.9.0

A set of dictionaries containing member parameters. The structure is described below.

func (MembersOutput) PoolId added in v3.9.0

func (o MembersOutput) PoolId() pulumi.StringOutput

The id of the pool that members will be assigned to. Changing this creates a new members resource.

func (MembersOutput) Region added in v3.9.0

func (o MembersOutput) Region() pulumi.StringOutput

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

func (MembersOutput) ToMembersOutput

func (o MembersOutput) ToMembersOutput() MembersOutput

func (MembersOutput) ToMembersOutputWithContext

func (o MembersOutput) ToMembersOutputWithContext(ctx context.Context) MembersOutput

type MembersState

type MembersState struct {
	// A set of dictionaries containing member parameters. The
	// structure is described below.
	Members MembersMemberArrayInput
	// The id of the pool that members will be assigned to.
	// Changing this creates a new members resource.
	PoolId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create pool members. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// members resource.
	Region pulumi.StringPtrInput
}

func (MembersState) ElementType

func (MembersState) ElementType() reflect.Type

type Monitor

type Monitor struct {
	pulumi.CustomResourceState

	// The administrative state of the monitor.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// The time, in seconds, between sending probes to members.
	Delay pulumi.IntOutput `pulumi:"delay"`
	// 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".
	ExpectedCodes pulumi.StringOutput `pulumi:"expectedCodes"`
	// Required for HTTP(S) types. The HTTP method used
	// for requests by the monitor. If this attribute is not specified, it
	// defaults to "GET".
	HttpMethod pulumi.StringOutput `pulumi:"httpMethod"`
	// Number of permissible ping failures before
	// changing the member's status to INACTIVE. Must be a number between 1
	// and 10.
	MaxRetries pulumi.IntOutput `pulumi:"maxRetries"`
	// Number of permissible ping failures befor changing the member's
	// status to ERROR. Must be a number between 1 and 10 (supported only in Octavia).
	// Changing this updates the maxRetriesDown of the existing monitor.
	MaxRetriesDown pulumi.IntOutput `pulumi:"maxRetriesDown"`
	// The Name of the Monitor.
	Name pulumi.StringOutput `pulumi:"name"`
	// The id of the pool that this monitor will be assigned to.
	PoolId pulumi.StringOutput `pulumi:"poolId"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// 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.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// 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.
	Timeout pulumi.IntOutput `pulumi:"timeout"`
	// The type of probe, which is PING, TCP, HTTP, HTTPS,
	// TLS-HELLO or UDP-CONNECT (supported only in Octavia), that is sent by the load
	// balancer to verify the member state. Changing this creates a new monitor.
	Type pulumi.StringOutput `pulumi:"type"`
	// Required for HTTP(S) types. URI path that will be
	// accessed if monitor type is HTTP or HTTPS.
	UrlPath pulumi.StringOutput `pulumi:"urlPath"`
}

Manages a V2 monitor resource within OpenStack.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := loadbalancer.NewMonitor(ctx, "monitor1", &loadbalancer.MonitorArgs{
			PoolId:     pulumi.Any(openstack_lb_pool_v2.Pool_1.Id),
			Type:       pulumi.String("PING"),
			Delay:      pulumi.Int(20),
			Timeout:    pulumi.Int(10),
			MaxRetries: pulumi.Int(5),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import openstack:loadbalancer/monitor:Monitor monitor_1 47c26fc3-2403-427a-8c79-1589bd0533c2 ``` In case of using OpenContrail, the import may not work properly. If you face an issue, try to import the monitor providing its parent pool ID:

```sh $ pulumi import openstack:loadbalancer/monitor:Monitor monitor_1 47c26fc3-2403-427a-8c79-1589bd0533c2/708bc224-0f8c-4981-ac82-97095fe051b6 ```

func GetMonitor

func GetMonitor(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MonitorState, opts ...pulumi.ResourceOption) (*Monitor, error)

GetMonitor gets an existing Monitor resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMonitor

func NewMonitor(ctx *pulumi.Context,
	name string, args *MonitorArgs, opts ...pulumi.ResourceOption) (*Monitor, error)

NewMonitor registers a new resource with the given unique name, arguments, and options.

func (*Monitor) ElementType

func (*Monitor) ElementType() reflect.Type

func (*Monitor) ToMonitorOutput

func (i *Monitor) ToMonitorOutput() MonitorOutput

func (*Monitor) ToMonitorOutputWithContext

func (i *Monitor) ToMonitorOutputWithContext(ctx context.Context) MonitorOutput

type MonitorArgs

type MonitorArgs struct {
	// The administrative state of the monitor.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// The time, in seconds, between sending probes to members.
	Delay pulumi.IntInput
	// 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".
	ExpectedCodes pulumi.StringPtrInput
	// Required for HTTP(S) types. The HTTP method used
	// for requests by the monitor. If this attribute is not specified, it
	// defaults to "GET".
	HttpMethod pulumi.StringPtrInput
	// Number of permissible ping failures before
	// changing the member's status to INACTIVE. Must be a number between 1
	// and 10.
	MaxRetries pulumi.IntInput
	// Number of permissible ping failures befor changing the member's
	// status to ERROR. Must be a number between 1 and 10 (supported only in Octavia).
	// Changing this updates the maxRetriesDown of the existing monitor.
	MaxRetriesDown pulumi.IntPtrInput
	// The Name of the Monitor.
	Name pulumi.StringPtrInput
	// The id of the pool that this monitor will be assigned to.
	PoolId pulumi.StringInput
	// 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.
	Region pulumi.StringPtrInput
	// 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.
	TenantId pulumi.StringPtrInput
	// 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.
	Timeout pulumi.IntInput
	// The type of probe, which is PING, TCP, HTTP, HTTPS,
	// TLS-HELLO or UDP-CONNECT (supported only in Octavia), that is sent by the load
	// balancer to verify the member state. Changing this creates a new monitor.
	Type pulumi.StringInput
	// Required for HTTP(S) types. URI path that will be
	// accessed if monitor type is HTTP or HTTPS.
	UrlPath pulumi.StringPtrInput
}

The set of arguments for constructing a Monitor resource.

func (MonitorArgs) ElementType

func (MonitorArgs) ElementType() reflect.Type

type MonitorArray

type MonitorArray []MonitorInput

func (MonitorArray) ElementType

func (MonitorArray) ElementType() reflect.Type

func (MonitorArray) ToMonitorArrayOutput

func (i MonitorArray) ToMonitorArrayOutput() MonitorArrayOutput

func (MonitorArray) ToMonitorArrayOutputWithContext

func (i MonitorArray) ToMonitorArrayOutputWithContext(ctx context.Context) MonitorArrayOutput

type MonitorArrayInput

type MonitorArrayInput interface {
	pulumi.Input

	ToMonitorArrayOutput() MonitorArrayOutput
	ToMonitorArrayOutputWithContext(context.Context) MonitorArrayOutput
}

MonitorArrayInput is an input type that accepts MonitorArray and MonitorArrayOutput values. You can construct a concrete instance of `MonitorArrayInput` via:

MonitorArray{ MonitorArgs{...} }

type MonitorArrayOutput

type MonitorArrayOutput struct{ *pulumi.OutputState }

func (MonitorArrayOutput) ElementType

func (MonitorArrayOutput) ElementType() reflect.Type

func (MonitorArrayOutput) Index

func (MonitorArrayOutput) ToMonitorArrayOutput

func (o MonitorArrayOutput) ToMonitorArrayOutput() MonitorArrayOutput

func (MonitorArrayOutput) ToMonitorArrayOutputWithContext

func (o MonitorArrayOutput) ToMonitorArrayOutputWithContext(ctx context.Context) MonitorArrayOutput

type MonitorInput

type MonitorInput interface {
	pulumi.Input

	ToMonitorOutput() MonitorOutput
	ToMonitorOutputWithContext(ctx context.Context) MonitorOutput
}

type MonitorMap

type MonitorMap map[string]MonitorInput

func (MonitorMap) ElementType

func (MonitorMap) ElementType() reflect.Type

func (MonitorMap) ToMonitorMapOutput

func (i MonitorMap) ToMonitorMapOutput() MonitorMapOutput

func (MonitorMap) ToMonitorMapOutputWithContext

func (i MonitorMap) ToMonitorMapOutputWithContext(ctx context.Context) MonitorMapOutput

type MonitorMapInput

type MonitorMapInput interface {
	pulumi.Input

	ToMonitorMapOutput() MonitorMapOutput
	ToMonitorMapOutputWithContext(context.Context) MonitorMapOutput
}

MonitorMapInput is an input type that accepts MonitorMap and MonitorMapOutput values. You can construct a concrete instance of `MonitorMapInput` via:

MonitorMap{ "key": MonitorArgs{...} }

type MonitorMapOutput

type MonitorMapOutput struct{ *pulumi.OutputState }

func (MonitorMapOutput) ElementType

func (MonitorMapOutput) ElementType() reflect.Type

func (MonitorMapOutput) MapIndex

func (MonitorMapOutput) ToMonitorMapOutput

func (o MonitorMapOutput) ToMonitorMapOutput() MonitorMapOutput

func (MonitorMapOutput) ToMonitorMapOutputWithContext

func (o MonitorMapOutput) ToMonitorMapOutputWithContext(ctx context.Context) MonitorMapOutput

type MonitorOutput

type MonitorOutput struct{ *pulumi.OutputState }

func (MonitorOutput) AdminStateUp added in v3.9.0

func (o MonitorOutput) AdminStateUp() pulumi.BoolPtrOutput

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

func (MonitorOutput) Delay added in v3.9.0

func (o MonitorOutput) Delay() pulumi.IntOutput

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

func (MonitorOutput) ElementType

func (MonitorOutput) ElementType() reflect.Type

func (MonitorOutput) ExpectedCodes added in v3.9.0

func (o MonitorOutput) ExpectedCodes() pulumi.StringOutput

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".

func (MonitorOutput) HttpMethod added in v3.9.0

func (o MonitorOutput) HttpMethod() pulumi.StringOutput

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

func (MonitorOutput) MaxRetries added in v3.9.0

func (o MonitorOutput) MaxRetries() pulumi.IntOutput

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

func (MonitorOutput) MaxRetriesDown added in v3.9.0

func (o MonitorOutput) MaxRetriesDown() pulumi.IntOutput

Number of permissible ping failures befor changing the member's status to ERROR. Must be a number between 1 and 10 (supported only in Octavia). Changing this updates the maxRetriesDown of the existing monitor.

func (MonitorOutput) Name added in v3.9.0

The Name of the Monitor.

func (MonitorOutput) PoolId added in v3.9.0

func (o MonitorOutput) PoolId() pulumi.StringOutput

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

func (MonitorOutput) Region added in v3.9.0

func (o MonitorOutput) Region() pulumi.StringOutput

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.

func (MonitorOutput) TenantId added in v3.9.0

func (o MonitorOutput) TenantId() pulumi.StringOutput

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.

func (MonitorOutput) Timeout added in v3.9.0

func (o MonitorOutput) Timeout() pulumi.IntOutput

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.

func (MonitorOutput) ToMonitorOutput

func (o MonitorOutput) ToMonitorOutput() MonitorOutput

func (MonitorOutput) ToMonitorOutputWithContext

func (o MonitorOutput) ToMonitorOutputWithContext(ctx context.Context) MonitorOutput

func (MonitorOutput) Type added in v3.9.0

The type of probe, which is PING, TCP, HTTP, HTTPS, TLS-HELLO or UDP-CONNECT (supported only in Octavia), that is sent by the load balancer to verify the member state. Changing this creates a new monitor.

func (MonitorOutput) UrlPath added in v3.9.0

func (o MonitorOutput) UrlPath() pulumi.StringOutput

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

type MonitorState

type MonitorState struct {
	// The administrative state of the monitor.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// The time, in seconds, between sending probes to members.
	Delay pulumi.IntPtrInput
	// 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".
	ExpectedCodes pulumi.StringPtrInput
	// Required for HTTP(S) types. The HTTP method used
	// for requests by the monitor. If this attribute is not specified, it
	// defaults to "GET".
	HttpMethod pulumi.StringPtrInput
	// Number of permissible ping failures before
	// changing the member's status to INACTIVE. Must be a number between 1
	// and 10.
	MaxRetries pulumi.IntPtrInput
	// Number of permissible ping failures befor changing the member's
	// status to ERROR. Must be a number between 1 and 10 (supported only in Octavia).
	// Changing this updates the maxRetriesDown of the existing monitor.
	MaxRetriesDown pulumi.IntPtrInput
	// The Name of the Monitor.
	Name pulumi.StringPtrInput
	// The id of the pool that this monitor will be assigned to.
	PoolId pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// 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.
	TenantId pulumi.StringPtrInput
	// 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.
	Timeout pulumi.IntPtrInput
	// The type of probe, which is PING, TCP, HTTP, HTTPS,
	// TLS-HELLO or UDP-CONNECT (supported only in Octavia), that is sent by the load
	// balancer to verify the member state. Changing this creates a new monitor.
	Type pulumi.StringPtrInput
	// Required for HTTP(S) types. URI path that will be
	// accessed if monitor type is HTTP or HTTPS.
	UrlPath pulumi.StringPtrInput
}

func (MonitorState) ElementType

func (MonitorState) ElementType() reflect.Type

type MonitorV1

type MonitorV1 struct {
	pulumi.CustomResourceState

	// The administrative state of the monitor.
	// Acceptable values are "true" and "false". Changing this value updates the
	// state of the existing monitor.
	AdminStateUp pulumi.StringOutput `pulumi:"adminStateUp"`
	// The time, in seconds, between sending probes to members.
	// Changing this creates a new monitor.
	Delay pulumi.IntOutput `pulumi:"delay"`
	// 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 expectedCodes
	// of the existing monitor.
	ExpectedCodes pulumi.StringPtrOutput `pulumi:"expectedCodes"`
	// 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 httpMethod of the existing monitor.
	HttpMethod pulumi.StringPtrOutput `pulumi:"httpMethod"`
	// 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 maxRetries of the existing monitor.
	MaxRetries pulumi.IntOutput `pulumi:"maxRetries"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// The owner of the monitor. Required if admin wants to
	// create a monitor for another tenant. Changing this creates a new monitor.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// 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.
	Timeout pulumi.IntOutput `pulumi:"timeout"`
	// 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.
	Type pulumi.StringOutput `pulumi:"type"`
	// Required for HTTP(S) types. URI path that will be
	// accessed if monitor type is HTTP or HTTPS. Changing this updates the
	// urlPath of the existing monitor.
	UrlPath pulumi.StringPtrOutput `pulumi:"urlPath"`
}

Manages a V1 load balancer monitor resource within OpenStack.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := loadbalancer.NewMonitorV1(ctx, "monitor1", &loadbalancer.MonitorV1Args{
			AdminStateUp: pulumi.String("true"),
			Delay:        pulumi.Int(30),
			MaxRetries:   pulumi.Int(3),
			Timeout:      pulumi.Int(5),
			Type:         pulumi.String("PING"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Load Balancer Members can be imported using the `id`, e.g.

```sh $ pulumi import openstack:loadbalancer/monitorV1:MonitorV1 monitor_1 119d7530-72e9-449a-aa97-124a5ef1992c ```

func GetMonitorV1

func GetMonitorV1(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MonitorV1State, opts ...pulumi.ResourceOption) (*MonitorV1, error)

GetMonitorV1 gets an existing MonitorV1 resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMonitorV1

func NewMonitorV1(ctx *pulumi.Context,
	name string, args *MonitorV1Args, opts ...pulumi.ResourceOption) (*MonitorV1, error)

NewMonitorV1 registers a new resource with the given unique name, arguments, and options.

func (*MonitorV1) ElementType

func (*MonitorV1) ElementType() reflect.Type

func (*MonitorV1) ToMonitorV1Output

func (i *MonitorV1) ToMonitorV1Output() MonitorV1Output

func (*MonitorV1) ToMonitorV1OutputWithContext

func (i *MonitorV1) ToMonitorV1OutputWithContext(ctx context.Context) MonitorV1Output

type MonitorV1Args

type MonitorV1Args struct {
	// The administrative state of the monitor.
	// Acceptable values are "true" and "false". Changing this value updates the
	// state of the existing monitor.
	AdminStateUp pulumi.StringPtrInput
	// The time, in seconds, between sending probes to members.
	// Changing this creates a new monitor.
	Delay pulumi.IntInput
	// 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 expectedCodes
	// of the existing monitor.
	ExpectedCodes pulumi.StringPtrInput
	// 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 httpMethod of the existing monitor.
	HttpMethod pulumi.StringPtrInput
	// 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 maxRetries of the existing monitor.
	MaxRetries pulumi.IntInput
	// 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.
	Region pulumi.StringPtrInput
	// The owner of the monitor. Required if admin wants to
	// create a monitor for another tenant. Changing this creates a new monitor.
	TenantId pulumi.StringPtrInput
	// 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.
	Timeout pulumi.IntInput
	// 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.
	Type pulumi.StringInput
	// Required for HTTP(S) types. URI path that will be
	// accessed if monitor type is HTTP or HTTPS. Changing this updates the
	// urlPath of the existing monitor.
	UrlPath pulumi.StringPtrInput
}

The set of arguments for constructing a MonitorV1 resource.

func (MonitorV1Args) ElementType

func (MonitorV1Args) ElementType() reflect.Type

type MonitorV1Array

type MonitorV1Array []MonitorV1Input

func (MonitorV1Array) ElementType

func (MonitorV1Array) ElementType() reflect.Type

func (MonitorV1Array) ToMonitorV1ArrayOutput

func (i MonitorV1Array) ToMonitorV1ArrayOutput() MonitorV1ArrayOutput

func (MonitorV1Array) ToMonitorV1ArrayOutputWithContext

func (i MonitorV1Array) ToMonitorV1ArrayOutputWithContext(ctx context.Context) MonitorV1ArrayOutput

type MonitorV1ArrayInput

type MonitorV1ArrayInput interface {
	pulumi.Input

	ToMonitorV1ArrayOutput() MonitorV1ArrayOutput
	ToMonitorV1ArrayOutputWithContext(context.Context) MonitorV1ArrayOutput
}

MonitorV1ArrayInput is an input type that accepts MonitorV1Array and MonitorV1ArrayOutput values. You can construct a concrete instance of `MonitorV1ArrayInput` via:

MonitorV1Array{ MonitorV1Args{...} }

type MonitorV1ArrayOutput

type MonitorV1ArrayOutput struct{ *pulumi.OutputState }

func (MonitorV1ArrayOutput) ElementType

func (MonitorV1ArrayOutput) ElementType() reflect.Type

func (MonitorV1ArrayOutput) Index

func (MonitorV1ArrayOutput) ToMonitorV1ArrayOutput

func (o MonitorV1ArrayOutput) ToMonitorV1ArrayOutput() MonitorV1ArrayOutput

func (MonitorV1ArrayOutput) ToMonitorV1ArrayOutputWithContext

func (o MonitorV1ArrayOutput) ToMonitorV1ArrayOutputWithContext(ctx context.Context) MonitorV1ArrayOutput

type MonitorV1Input

type MonitorV1Input interface {
	pulumi.Input

	ToMonitorV1Output() MonitorV1Output
	ToMonitorV1OutputWithContext(ctx context.Context) MonitorV1Output
}

type MonitorV1Map

type MonitorV1Map map[string]MonitorV1Input

func (MonitorV1Map) ElementType

func (MonitorV1Map) ElementType() reflect.Type

func (MonitorV1Map) ToMonitorV1MapOutput

func (i MonitorV1Map) ToMonitorV1MapOutput() MonitorV1MapOutput

func (MonitorV1Map) ToMonitorV1MapOutputWithContext

func (i MonitorV1Map) ToMonitorV1MapOutputWithContext(ctx context.Context) MonitorV1MapOutput

type MonitorV1MapInput

type MonitorV1MapInput interface {
	pulumi.Input

	ToMonitorV1MapOutput() MonitorV1MapOutput
	ToMonitorV1MapOutputWithContext(context.Context) MonitorV1MapOutput
}

MonitorV1MapInput is an input type that accepts MonitorV1Map and MonitorV1MapOutput values. You can construct a concrete instance of `MonitorV1MapInput` via:

MonitorV1Map{ "key": MonitorV1Args{...} }

type MonitorV1MapOutput

type MonitorV1MapOutput struct{ *pulumi.OutputState }

func (MonitorV1MapOutput) ElementType

func (MonitorV1MapOutput) ElementType() reflect.Type

func (MonitorV1MapOutput) MapIndex

func (MonitorV1MapOutput) ToMonitorV1MapOutput

func (o MonitorV1MapOutput) ToMonitorV1MapOutput() MonitorV1MapOutput

func (MonitorV1MapOutput) ToMonitorV1MapOutputWithContext

func (o MonitorV1MapOutput) ToMonitorV1MapOutputWithContext(ctx context.Context) MonitorV1MapOutput

type MonitorV1Output

type MonitorV1Output struct{ *pulumi.OutputState }

func (MonitorV1Output) AdminStateUp added in v3.9.0

func (o MonitorV1Output) AdminStateUp() pulumi.StringOutput

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

func (MonitorV1Output) Delay added in v3.9.0

func (o MonitorV1Output) Delay() pulumi.IntOutput

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

func (MonitorV1Output) ElementType

func (MonitorV1Output) ElementType() reflect.Type

func (MonitorV1Output) ExpectedCodes added in v3.9.0

func (o MonitorV1Output) ExpectedCodes() pulumi.StringPtrOutput

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 expectedCodes of the existing monitor.

func (MonitorV1Output) HttpMethod added in v3.9.0

func (o MonitorV1Output) HttpMethod() pulumi.StringPtrOutput

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 httpMethod of the existing monitor.

func (MonitorV1Output) MaxRetries added in v3.9.0

func (o MonitorV1Output) MaxRetries() pulumi.IntOutput

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 maxRetries of the existing monitor.

func (MonitorV1Output) Region added in v3.9.0

func (o MonitorV1Output) Region() pulumi.StringOutput

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.

func (MonitorV1Output) TenantId added in v3.9.0

func (o MonitorV1Output) TenantId() pulumi.StringOutput

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

func (MonitorV1Output) Timeout added in v3.9.0

func (o MonitorV1Output) Timeout() pulumi.IntOutput

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.

func (MonitorV1Output) ToMonitorV1Output

func (o MonitorV1Output) ToMonitorV1Output() MonitorV1Output

func (MonitorV1Output) ToMonitorV1OutputWithContext

func (o MonitorV1Output) ToMonitorV1OutputWithContext(ctx context.Context) MonitorV1Output

func (MonitorV1Output) Type added in v3.9.0

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.

func (MonitorV1Output) UrlPath added in v3.9.0

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

type MonitorV1State

type MonitorV1State struct {
	// The administrative state of the monitor.
	// Acceptable values are "true" and "false". Changing this value updates the
	// state of the existing monitor.
	AdminStateUp pulumi.StringPtrInput
	// The time, in seconds, between sending probes to members.
	// Changing this creates a new monitor.
	Delay pulumi.IntPtrInput
	// 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 expectedCodes
	// of the existing monitor.
	ExpectedCodes pulumi.StringPtrInput
	// 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 httpMethod of the existing monitor.
	HttpMethod pulumi.StringPtrInput
	// 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 maxRetries of the existing monitor.
	MaxRetries pulumi.IntPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// The owner of the monitor. Required if admin wants to
	// create a monitor for another tenant. Changing this creates a new monitor.
	TenantId pulumi.StringPtrInput
	// 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.
	Timeout pulumi.IntPtrInput
	// 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.
	Type pulumi.StringPtrInput
	// Required for HTTP(S) types. URI path that will be
	// accessed if monitor type is HTTP or HTTPS. Changing this updates the
	// urlPath of the existing monitor.
	UrlPath pulumi.StringPtrInput
}

func (MonitorV1State) ElementType

func (MonitorV1State) ElementType() reflect.Type

type Pool

type Pool struct {
	pulumi.CustomResourceState

	// The administrative state of the pool.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// Human-readable description for the pool.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// 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 (supported only
	// in Octavia).
	LbMethod pulumi.StringOutput `pulumi:"lbMethod"`
	// 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.
	ListenerId pulumi.StringPtrOutput `pulumi:"listenerId"`
	// The load balancer on which to provision this
	// pool. Changing this creates a new pool.
	// Note:  One of LoadbalancerID or ListenerID must be provided.
	LoadbalancerId pulumi.StringPtrOutput `pulumi:"loadbalancerId"`
	// Human-readable name for the pool.
	Name pulumi.StringOutput `pulumi:"name"`
	// 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.
	Persistence PoolPersistenceOutput `pulumi:"persistence"`
	// The protocol - can either be TCP, HTTP, HTTPS, PROXY,
	// UDP (supported only in Octavia), PROXYV2 (**Octavia minor version >= 2.22**)
	// or SCTP (**Octavia minor version >= 2.23**). Changing this creates a new pool.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// 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.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

``` <!--End PulumiCodeChooser -->

## Import

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

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

func GetPool

func GetPool(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PoolState, opts ...pulumi.ResourceOption) (*Pool, error)

GetPool gets an existing Pool resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPool

func NewPool(ctx *pulumi.Context,
	name string, args *PoolArgs, opts ...pulumi.ResourceOption) (*Pool, error)

NewPool registers a new resource with the given unique name, arguments, and options.

func (*Pool) ElementType

func (*Pool) ElementType() reflect.Type

func (*Pool) ToPoolOutput

func (i *Pool) ToPoolOutput() PoolOutput

func (*Pool) ToPoolOutputWithContext

func (i *Pool) ToPoolOutputWithContext(ctx context.Context) PoolOutput

type PoolArgs

type PoolArgs struct {
	// The administrative state of the pool.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable description for the pool.
	Description pulumi.StringPtrInput
	// 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 (supported only
	// in Octavia).
	LbMethod pulumi.StringInput
	// 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.
	ListenerId pulumi.StringPtrInput
	// The load balancer on which to provision this
	// pool. Changing this creates a new pool.
	// Note:  One of LoadbalancerID or ListenerID must be provided.
	LoadbalancerId pulumi.StringPtrInput
	// Human-readable name for the pool.
	Name pulumi.StringPtrInput
	// 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.
	Persistence PoolPersistencePtrInput
	// The protocol - can either be TCP, HTTP, HTTPS, PROXY,
	// UDP (supported only in Octavia), PROXYV2 (**Octavia minor version >= 2.22**)
	// or SCTP (**Octavia minor version >= 2.23**). Changing this creates a new pool.
	Protocol pulumi.StringInput
	// 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.
	Region pulumi.StringPtrInput
	// 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.
	TenantId pulumi.StringPtrInput
}

The set of arguments for constructing a Pool resource.

func (PoolArgs) ElementType

func (PoolArgs) ElementType() reflect.Type

type PoolArray

type PoolArray []PoolInput

func (PoolArray) ElementType

func (PoolArray) ElementType() reflect.Type

func (PoolArray) ToPoolArrayOutput

func (i PoolArray) ToPoolArrayOutput() PoolArrayOutput

func (PoolArray) ToPoolArrayOutputWithContext

func (i PoolArray) ToPoolArrayOutputWithContext(ctx context.Context) PoolArrayOutput

type PoolArrayInput

type PoolArrayInput interface {
	pulumi.Input

	ToPoolArrayOutput() PoolArrayOutput
	ToPoolArrayOutputWithContext(context.Context) PoolArrayOutput
}

PoolArrayInput is an input type that accepts PoolArray and PoolArrayOutput values. You can construct a concrete instance of `PoolArrayInput` via:

PoolArray{ PoolArgs{...} }

type PoolArrayOutput

type PoolArrayOutput struct{ *pulumi.OutputState }

func (PoolArrayOutput) ElementType

func (PoolArrayOutput) ElementType() reflect.Type

func (PoolArrayOutput) Index

func (PoolArrayOutput) ToPoolArrayOutput

func (o PoolArrayOutput) ToPoolArrayOutput() PoolArrayOutput

func (PoolArrayOutput) ToPoolArrayOutputWithContext

func (o PoolArrayOutput) ToPoolArrayOutputWithContext(ctx context.Context) PoolArrayOutput

type PoolInput

type PoolInput interface {
	pulumi.Input

	ToPoolOutput() PoolOutput
	ToPoolOutputWithContext(ctx context.Context) PoolOutput
}

type PoolMap

type PoolMap map[string]PoolInput

func (PoolMap) ElementType

func (PoolMap) ElementType() reflect.Type

func (PoolMap) ToPoolMapOutput

func (i PoolMap) ToPoolMapOutput() PoolMapOutput

func (PoolMap) ToPoolMapOutputWithContext

func (i PoolMap) ToPoolMapOutputWithContext(ctx context.Context) PoolMapOutput

type PoolMapInput

type PoolMapInput interface {
	pulumi.Input

	ToPoolMapOutput() PoolMapOutput
	ToPoolMapOutputWithContext(context.Context) PoolMapOutput
}

PoolMapInput is an input type that accepts PoolMap and PoolMapOutput values. You can construct a concrete instance of `PoolMapInput` via:

PoolMap{ "key": PoolArgs{...} }

type PoolMapOutput

type PoolMapOutput struct{ *pulumi.OutputState }

func (PoolMapOutput) ElementType

func (PoolMapOutput) ElementType() reflect.Type

func (PoolMapOutput) MapIndex

func (PoolMapOutput) ToPoolMapOutput

func (o PoolMapOutput) ToPoolMapOutput() PoolMapOutput

func (PoolMapOutput) ToPoolMapOutputWithContext

func (o PoolMapOutput) ToPoolMapOutputWithContext(ctx context.Context) PoolMapOutput

type PoolOutput

type PoolOutput struct{ *pulumi.OutputState }

func (PoolOutput) AdminStateUp added in v3.9.0

func (o PoolOutput) AdminStateUp() pulumi.BoolPtrOutput

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

func (PoolOutput) Description added in v3.9.0

func (o PoolOutput) Description() pulumi.StringPtrOutput

Human-readable description for the pool.

func (PoolOutput) ElementType

func (PoolOutput) ElementType() reflect.Type

func (PoolOutput) LbMethod added in v3.9.0

func (o PoolOutput) LbMethod() pulumi.StringOutput

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 (supported only in Octavia).

func (PoolOutput) ListenerId added in v3.9.0

func (o PoolOutput) ListenerId() pulumi.StringPtrOutput

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.

func (PoolOutput) LoadbalancerId added in v3.9.0

func (o PoolOutput) LoadbalancerId() pulumi.StringPtrOutput

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

func (PoolOutput) Name added in v3.9.0

func (o PoolOutput) Name() pulumi.StringOutput

Human-readable name for the pool.

func (PoolOutput) Persistence added in v3.9.0

func (o PoolOutput) Persistence() PoolPersistenceOutput

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.

func (PoolOutput) Protocol added in v3.9.0

func (o PoolOutput) Protocol() pulumi.StringOutput

The protocol - can either be TCP, HTTP, HTTPS, PROXY, UDP (supported only in Octavia), PROXYV2 (**Octavia minor version >= 2.22**) or SCTP (**Octavia minor version >= 2.23**). Changing this creates a new pool.

func (PoolOutput) Region added in v3.9.0

func (o PoolOutput) Region() pulumi.StringOutput

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.

func (PoolOutput) TenantId added in v3.9.0

func (o PoolOutput) TenantId() pulumi.StringOutput

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.

func (PoolOutput) ToPoolOutput

func (o PoolOutput) ToPoolOutput() PoolOutput

func (PoolOutput) ToPoolOutputWithContext

func (o PoolOutput) ToPoolOutputWithContext(ctx context.Context) PoolOutput

type PoolPersistence

type PoolPersistence struct {
	// The name of the cookie if persistence mode is set
	// appropriately. Required if `type = APP_COOKIE`.
	CookieName *string `pulumi:"cookieName"`
	// The type of persistence mode. The current specification
	// supports SOURCE_IP, HTTP_COOKIE, and APP_COOKIE.
	Type string `pulumi:"type"`
}

type PoolPersistenceArgs

type PoolPersistenceArgs struct {
	// The name of the cookie if persistence mode is set
	// appropriately. Required if `type = APP_COOKIE`.
	CookieName pulumi.StringPtrInput `pulumi:"cookieName"`
	// The type of persistence mode. The current specification
	// supports SOURCE_IP, HTTP_COOKIE, and APP_COOKIE.
	Type pulumi.StringInput `pulumi:"type"`
}

func (PoolPersistenceArgs) ElementType

func (PoolPersistenceArgs) ElementType() reflect.Type

func (PoolPersistenceArgs) ToPoolPersistenceOutput

func (i PoolPersistenceArgs) ToPoolPersistenceOutput() PoolPersistenceOutput

func (PoolPersistenceArgs) ToPoolPersistenceOutputWithContext

func (i PoolPersistenceArgs) ToPoolPersistenceOutputWithContext(ctx context.Context) PoolPersistenceOutput

func (PoolPersistenceArgs) ToPoolPersistencePtrOutput

func (i PoolPersistenceArgs) ToPoolPersistencePtrOutput() PoolPersistencePtrOutput

func (PoolPersistenceArgs) ToPoolPersistencePtrOutputWithContext

func (i PoolPersistenceArgs) ToPoolPersistencePtrOutputWithContext(ctx context.Context) PoolPersistencePtrOutput

type PoolPersistenceInput

type PoolPersistenceInput interface {
	pulumi.Input

	ToPoolPersistenceOutput() PoolPersistenceOutput
	ToPoolPersistenceOutputWithContext(context.Context) PoolPersistenceOutput
}

PoolPersistenceInput is an input type that accepts PoolPersistenceArgs and PoolPersistenceOutput values. You can construct a concrete instance of `PoolPersistenceInput` via:

PoolPersistenceArgs{...}

type PoolPersistenceOutput

type PoolPersistenceOutput struct{ *pulumi.OutputState }

func (PoolPersistenceOutput) CookieName

The name of the cookie if persistence mode is set appropriately. Required if `type = APP_COOKIE`.

func (PoolPersistenceOutput) ElementType

func (PoolPersistenceOutput) ElementType() reflect.Type

func (PoolPersistenceOutput) ToPoolPersistenceOutput

func (o PoolPersistenceOutput) ToPoolPersistenceOutput() PoolPersistenceOutput

func (PoolPersistenceOutput) ToPoolPersistenceOutputWithContext

func (o PoolPersistenceOutput) ToPoolPersistenceOutputWithContext(ctx context.Context) PoolPersistenceOutput

func (PoolPersistenceOutput) ToPoolPersistencePtrOutput

func (o PoolPersistenceOutput) ToPoolPersistencePtrOutput() PoolPersistencePtrOutput

func (PoolPersistenceOutput) ToPoolPersistencePtrOutputWithContext

func (o PoolPersistenceOutput) ToPoolPersistencePtrOutputWithContext(ctx context.Context) PoolPersistencePtrOutput

func (PoolPersistenceOutput) Type

The type of persistence mode. The current specification supports SOURCE_IP, HTTP_COOKIE, and APP_COOKIE.

type PoolPersistencePtrInput

type PoolPersistencePtrInput interface {
	pulumi.Input

	ToPoolPersistencePtrOutput() PoolPersistencePtrOutput
	ToPoolPersistencePtrOutputWithContext(context.Context) PoolPersistencePtrOutput
}

PoolPersistencePtrInput is an input type that accepts PoolPersistenceArgs, PoolPersistencePtr and PoolPersistencePtrOutput values. You can construct a concrete instance of `PoolPersistencePtrInput` via:

        PoolPersistenceArgs{...}

or:

        nil

type PoolPersistencePtrOutput

type PoolPersistencePtrOutput struct{ *pulumi.OutputState }

func (PoolPersistencePtrOutput) CookieName

The name of the cookie if persistence mode is set appropriately. Required if `type = APP_COOKIE`.

func (PoolPersistencePtrOutput) Elem

func (PoolPersistencePtrOutput) ElementType

func (PoolPersistencePtrOutput) ElementType() reflect.Type

func (PoolPersistencePtrOutput) ToPoolPersistencePtrOutput

func (o PoolPersistencePtrOutput) ToPoolPersistencePtrOutput() PoolPersistencePtrOutput

func (PoolPersistencePtrOutput) ToPoolPersistencePtrOutputWithContext

func (o PoolPersistencePtrOutput) ToPoolPersistencePtrOutputWithContext(ctx context.Context) PoolPersistencePtrOutput

func (PoolPersistencePtrOutput) Type

The type of persistence mode. The current specification supports SOURCE_IP, HTTP_COOKIE, and APP_COOKIE.

type PoolState

type PoolState struct {
	// The administrative state of the pool.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable description for the pool.
	Description pulumi.StringPtrInput
	// 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 (supported only
	// in Octavia).
	LbMethod pulumi.StringPtrInput
	// 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.
	ListenerId pulumi.StringPtrInput
	// The load balancer on which to provision this
	// pool. Changing this creates a new pool.
	// Note:  One of LoadbalancerID or ListenerID must be provided.
	LoadbalancerId pulumi.StringPtrInput
	// Human-readable name for the pool.
	Name pulumi.StringPtrInput
	// 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.
	Persistence PoolPersistencePtrInput
	// The protocol - can either be TCP, HTTP, HTTPS, PROXY,
	// UDP (supported only in Octavia), PROXYV2 (**Octavia minor version >= 2.22**)
	// or SCTP (**Octavia minor version >= 2.23**). Changing this creates a new pool.
	Protocol pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// 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.
	TenantId pulumi.StringPtrInput
}

func (PoolState) ElementType

func (PoolState) ElementType() reflect.Type

type PoolV1

type PoolV1 struct {
	pulumi.CustomResourceState

	// 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.
	LbMethod pulumi.StringOutput `pulumi:"lbMethod"`
	// The backend load balancing provider. For example:
	// `haproxy`, `F5`, etc.
	LbProvider pulumi.StringOutput `pulumi:"lbProvider"`
	// An existing node to add to the pool. Changing this
	// updates the members of the pool. The member object structure is documented
	// below. Please note that the `member` block is deprecated in favor of the
	// `loadbalancer.MemberV1` resource.
	//
	// Deprecated: Use loadbalancer.MemberV1 instead
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// A list of IDs of monitors to associate with the
	// pool.
	MonitorIds pulumi.StringArrayOutput `pulumi:"monitorIds"`
	// The name of the pool. Changing this updates the name of
	// the existing pool.
	Name pulumi.StringOutput `pulumi:"name"`
	// The protocol used by the pool members, you can use
	// either 'TCP, 'HTTP', or 'HTTPS'. Changing this creates a new pool.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// 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.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
	// The owner of the pool. Required if admin wants to
	// create a pool member for another tenant. Changing this creates a new pool.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Manages a V1 load balancer pool resource within OpenStack.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := loadbalancer.NewPoolV1(ctx, "pool1", &loadbalancer.PoolV1Args{
			LbMethod:   pulumi.String("ROUND_ROBIN"),
			LbProvider: pulumi.String("haproxy"),
			MonitorIds: pulumi.StringArray{
				pulumi.String("67890"),
			},
			Protocol: pulumi.String("HTTP"),
			SubnetId: pulumi.String("12345"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Complete Load Balancing Stack Example

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/compute"
"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/networking"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network1", &networking.NetworkArgs{
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		subnet1, err := networking.NewSubnet(ctx, "subnet1", &networking.SubnetArgs{
			NetworkId: network1.ID(),
			Cidr:      pulumi.String("192.168.199.0/24"),
			IpVersion: pulumi.Int(4),
		})
		if err != nil {
			return err
		}
		secgroup1, err := compute.NewSecGroup(ctx, "secgroup1", &compute.SecGroupArgs{
			Description: pulumi.String("Rules for secgroup_1"),
			Rules: compute.SecGroupRuleArray{
				&compute.SecGroupRuleArgs{
					FromPort:   -1,
					ToPort:     -1,
					IpProtocol: pulumi.String("icmp"),
					Cidr:       pulumi.String("0.0.0.0/0"),
				},
				&compute.SecGroupRuleArgs{
					FromPort:   pulumi.Int(80),
					ToPort:     pulumi.Int(80),
					IpProtocol: pulumi.String("tcp"),
					Cidr:       pulumi.String("0.0.0.0/0"),
				},
			},
		})
		if err != nil {
			return err
		}
		instance1, err := compute.NewInstance(ctx, "instance1", &compute.InstanceArgs{
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
				secgroup1.Name,
			},
			Networks: compute.InstanceNetworkArray{
				&compute.InstanceNetworkArgs{
					Uuid: network1.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		instance2, err := compute.NewInstance(ctx, "instance2", &compute.InstanceArgs{
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
				secgroup1.Name,
			},
			Networks: compute.InstanceNetworkArray{
				&compute.InstanceNetworkArgs{
					Uuid: network1.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		monitor1, err := loadbalancer.NewMonitorV1(ctx, "monitor1", &loadbalancer.MonitorV1Args{
			Type:         pulumi.String("TCP"),
			Delay:        pulumi.Int(30),
			Timeout:      pulumi.Int(5),
			MaxRetries:   pulumi.Int(3),
			AdminStateUp: pulumi.String("true"),
		})
		if err != nil {
			return err
		}
		pool1, err := loadbalancer.NewPoolV1(ctx, "pool1", &loadbalancer.PoolV1Args{
			Protocol: pulumi.String("TCP"),
			SubnetId: subnet1.ID(),
			LbMethod: pulumi.String("ROUND_ROBIN"),
			MonitorIds: pulumi.StringArray{
				monitor1.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewMemberV1(ctx, "member1", &loadbalancer.MemberV1Args{
			PoolId:  pool1.ID(),
			Address: instance1.AccessIpV4,
			Port:    pulumi.Int(80),
		})
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewMemberV1(ctx, "member2", &loadbalancer.MemberV1Args{
			PoolId:  pool1.ID(),
			Address: instance2.AccessIpV4,
			Port:    pulumi.Int(80),
		})
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewVip(ctx, "vip1", &loadbalancer.VipArgs{
			SubnetId: subnet1.ID(),
			Protocol: pulumi.String("TCP"),
			Port:     pulumi.Int(80),
			PoolId:   pool1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Notes

The `member` block is deprecated in favor of the `loadbalancer.MemberV1` resource.

## Import

Load Balancer Pools can be imported using the `id`, e.g.

```sh $ pulumi import openstack:loadbalancer/poolV1:PoolV1 pool_1 b255e6ba-02ad-43e6-8951-3428ca26b713 ```

func GetPoolV1

func GetPoolV1(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PoolV1State, opts ...pulumi.ResourceOption) (*PoolV1, error)

GetPoolV1 gets an existing PoolV1 resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPoolV1

func NewPoolV1(ctx *pulumi.Context,
	name string, args *PoolV1Args, opts ...pulumi.ResourceOption) (*PoolV1, error)

NewPoolV1 registers a new resource with the given unique name, arguments, and options.

func (*PoolV1) ElementType

func (*PoolV1) ElementType() reflect.Type

func (*PoolV1) ToPoolV1Output

func (i *PoolV1) ToPoolV1Output() PoolV1Output

func (*PoolV1) ToPoolV1OutputWithContext

func (i *PoolV1) ToPoolV1OutputWithContext(ctx context.Context) PoolV1Output

type PoolV1Args

type PoolV1Args struct {
	// 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.
	LbMethod pulumi.StringInput
	// The backend load balancing provider. For example:
	// `haproxy`, `F5`, etc.
	LbProvider pulumi.StringPtrInput
	// An existing node to add to the pool. Changing this
	// updates the members of the pool. The member object structure is documented
	// below. Please note that the `member` block is deprecated in favor of the
	// `loadbalancer.MemberV1` resource.
	//
	// Deprecated: Use loadbalancer.MemberV1 instead
	Members pulumi.StringArrayInput
	// A list of IDs of monitors to associate with the
	// pool.
	MonitorIds pulumi.StringArrayInput
	// The name of the pool. Changing this updates the name of
	// the existing pool.
	Name pulumi.StringPtrInput
	// The protocol used by the pool members, you can use
	// either 'TCP, 'HTTP', or 'HTTPS'. Changing this creates a new pool.
	Protocol pulumi.StringInput
	// 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.
	Region pulumi.StringPtrInput
	// 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.
	SubnetId pulumi.StringInput
	// The owner of the pool. Required if admin wants to
	// create a pool member for another tenant. Changing this creates a new pool.
	TenantId pulumi.StringPtrInput
}

The set of arguments for constructing a PoolV1 resource.

func (PoolV1Args) ElementType

func (PoolV1Args) ElementType() reflect.Type

type PoolV1Array

type PoolV1Array []PoolV1Input

func (PoolV1Array) ElementType

func (PoolV1Array) ElementType() reflect.Type

func (PoolV1Array) ToPoolV1ArrayOutput

func (i PoolV1Array) ToPoolV1ArrayOutput() PoolV1ArrayOutput

func (PoolV1Array) ToPoolV1ArrayOutputWithContext

func (i PoolV1Array) ToPoolV1ArrayOutputWithContext(ctx context.Context) PoolV1ArrayOutput

type PoolV1ArrayInput

type PoolV1ArrayInput interface {
	pulumi.Input

	ToPoolV1ArrayOutput() PoolV1ArrayOutput
	ToPoolV1ArrayOutputWithContext(context.Context) PoolV1ArrayOutput
}

PoolV1ArrayInput is an input type that accepts PoolV1Array and PoolV1ArrayOutput values. You can construct a concrete instance of `PoolV1ArrayInput` via:

PoolV1Array{ PoolV1Args{...} }

type PoolV1ArrayOutput

type PoolV1ArrayOutput struct{ *pulumi.OutputState }

func (PoolV1ArrayOutput) ElementType

func (PoolV1ArrayOutput) ElementType() reflect.Type

func (PoolV1ArrayOutput) Index

func (PoolV1ArrayOutput) ToPoolV1ArrayOutput

func (o PoolV1ArrayOutput) ToPoolV1ArrayOutput() PoolV1ArrayOutput

func (PoolV1ArrayOutput) ToPoolV1ArrayOutputWithContext

func (o PoolV1ArrayOutput) ToPoolV1ArrayOutputWithContext(ctx context.Context) PoolV1ArrayOutput

type PoolV1Input

type PoolV1Input interface {
	pulumi.Input

	ToPoolV1Output() PoolV1Output
	ToPoolV1OutputWithContext(ctx context.Context) PoolV1Output
}

type PoolV1Map

type PoolV1Map map[string]PoolV1Input

func (PoolV1Map) ElementType

func (PoolV1Map) ElementType() reflect.Type

func (PoolV1Map) ToPoolV1MapOutput

func (i PoolV1Map) ToPoolV1MapOutput() PoolV1MapOutput

func (PoolV1Map) ToPoolV1MapOutputWithContext

func (i PoolV1Map) ToPoolV1MapOutputWithContext(ctx context.Context) PoolV1MapOutput

type PoolV1MapInput

type PoolV1MapInput interface {
	pulumi.Input

	ToPoolV1MapOutput() PoolV1MapOutput
	ToPoolV1MapOutputWithContext(context.Context) PoolV1MapOutput
}

PoolV1MapInput is an input type that accepts PoolV1Map and PoolV1MapOutput values. You can construct a concrete instance of `PoolV1MapInput` via:

PoolV1Map{ "key": PoolV1Args{...} }

type PoolV1MapOutput

type PoolV1MapOutput struct{ *pulumi.OutputState }

func (PoolV1MapOutput) ElementType

func (PoolV1MapOutput) ElementType() reflect.Type

func (PoolV1MapOutput) MapIndex

func (PoolV1MapOutput) ToPoolV1MapOutput

func (o PoolV1MapOutput) ToPoolV1MapOutput() PoolV1MapOutput

func (PoolV1MapOutput) ToPoolV1MapOutputWithContext

func (o PoolV1MapOutput) ToPoolV1MapOutputWithContext(ctx context.Context) PoolV1MapOutput

type PoolV1Output

type PoolV1Output struct{ *pulumi.OutputState }

func (PoolV1Output) ElementType

func (PoolV1Output) ElementType() reflect.Type

func (PoolV1Output) LbMethod added in v3.9.0

func (o PoolV1Output) LbMethod() pulumi.StringOutput

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.

func (PoolV1Output) LbProvider added in v3.9.0

func (o PoolV1Output) LbProvider() pulumi.StringOutput

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

func (PoolV1Output) Members deprecated added in v3.9.0

An existing node to add to the pool. Changing this updates the members of the pool. The member object structure is documented below. Please note that the `member` block is deprecated in favor of the `loadbalancer.MemberV1` resource.

Deprecated: Use loadbalancer.MemberV1 instead

func (PoolV1Output) MonitorIds added in v3.9.0

func (o PoolV1Output) MonitorIds() pulumi.StringArrayOutput

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

func (PoolV1Output) Name added in v3.9.0

func (o PoolV1Output) Name() pulumi.StringOutput

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

func (PoolV1Output) Protocol added in v3.9.0

func (o PoolV1Output) Protocol() pulumi.StringOutput

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

func (PoolV1Output) Region added in v3.9.0

func (o PoolV1Output) Region() pulumi.StringOutput

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.

func (PoolV1Output) SubnetId added in v3.9.0

func (o PoolV1Output) SubnetId() pulumi.StringOutput

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.

func (PoolV1Output) TenantId added in v3.9.0

func (o PoolV1Output) TenantId() pulumi.StringOutput

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

func (PoolV1Output) ToPoolV1Output

func (o PoolV1Output) ToPoolV1Output() PoolV1Output

func (PoolV1Output) ToPoolV1OutputWithContext

func (o PoolV1Output) ToPoolV1OutputWithContext(ctx context.Context) PoolV1Output

type PoolV1State

type PoolV1State struct {
	// 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.
	LbMethod pulumi.StringPtrInput
	// The backend load balancing provider. For example:
	// `haproxy`, `F5`, etc.
	LbProvider pulumi.StringPtrInput
	// An existing node to add to the pool. Changing this
	// updates the members of the pool. The member object structure is documented
	// below. Please note that the `member` block is deprecated in favor of the
	// `loadbalancer.MemberV1` resource.
	//
	// Deprecated: Use loadbalancer.MemberV1 instead
	Members pulumi.StringArrayInput
	// A list of IDs of monitors to associate with the
	// pool.
	MonitorIds pulumi.StringArrayInput
	// The name of the pool. Changing this updates the name of
	// the existing pool.
	Name pulumi.StringPtrInput
	// The protocol used by the pool members, you can use
	// either 'TCP, 'HTTP', or 'HTTPS'. Changing this creates a new pool.
	Protocol pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// 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.
	SubnetId pulumi.StringPtrInput
	// The owner of the pool. Required if admin wants to
	// create a pool member for another tenant. Changing this creates a new pool.
	TenantId pulumi.StringPtrInput
}

func (PoolV1State) ElementType

func (PoolV1State) ElementType() reflect.Type

type Quota

type Quota struct {
	pulumi.CustomResourceState

	// Quota value for health_monitors. Changing
	// this updates the existing quota. Omitting it sets it to 0.
	HealthMonitor pulumi.IntOutput `pulumi:"healthMonitor"`
	// Quota value for l7_policies. Changing this
	// updates the existing quota. Omitting it sets it to 0. Available in
	// **Octavia minor version 2.19**.
	L7Policy pulumi.IntOutput `pulumi:"l7Policy"`
	// Quota value for l7_rules. Changing this
	// updates the existing quota. Omitting it sets it to 0. Available in
	// **Octavia minor version 2.19**.
	L7Rule pulumi.IntOutput `pulumi:"l7Rule"`
	// Quota value for listeners. Changing this updates
	// the existing quota. Omitting it sets it to 0.
	Listener pulumi.IntOutput `pulumi:"listener"`
	// Quota value for loadbalancers. Changing this
	// updates the existing quota. Omitting it sets it to 0.
	Loadbalancer pulumi.IntOutput `pulumi:"loadbalancer"`
	// Quota value for members. Changing this updates
	// the existing quota. Omitting it sets it to 0.
	Member pulumi.IntOutput `pulumi:"member"`
	// Quota value for pools. Changing this updates the
	// the existing quota. Omitting it sets it to 0.
	Pool pulumi.IntOutput `pulumi:"pool"`
	// ID of the project to manage quotas. Changing this
	// creates a new quota.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Region in which to manage quotas. Changing this
	// creates a new quota. If ommited, the region of the credentials is used.
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages a V2 load balancer quota resource within OpenStack.

> **Note:** This usually requires admin privileges.

> **Note:** This resource is only available for Octavia.

> **Note:** This resource has a no-op deletion so no actual actions will be done against the OpenStack

API in case of delete call.

> **Note:** This resource has all-in creation so all optional quota arguments that were not specified are

created with zero value.

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

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project1, err := identity.NewProject(ctx, "project1", nil)
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewQuota(ctx, "quota1", &loadbalancer.QuotaArgs{
			ProjectId:     project1.ID(),
			Loadbalancer:  pulumi.Int(6),
			Listener:      pulumi.Int(7),
			Member:        pulumi.Int(8),
			Pool:          pulumi.Int(9),
			HealthMonitor: pulumi.Int(10),
			L7Policy:      pulumi.Int(11),
			L7Rule:        pulumi.Int(12),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Quotas can be imported using the `project_id/region_name`, where region_name is the one defined is the Openstack credentials that are in use. E.g.

```sh $ pulumi import openstack:loadbalancer/quota:Quota quota_1 2a0f2240-c5e6-41de-896d-e80d97428d6b/region_1 ```

func GetQuota

func GetQuota(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QuotaState, opts ...pulumi.ResourceOption) (*Quota, error)

GetQuota gets an existing Quota resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewQuota

func NewQuota(ctx *pulumi.Context,
	name string, args *QuotaArgs, opts ...pulumi.ResourceOption) (*Quota, error)

NewQuota registers a new resource with the given unique name, arguments, and options.

func (*Quota) ElementType

func (*Quota) ElementType() reflect.Type

func (*Quota) ToQuotaOutput

func (i *Quota) ToQuotaOutput() QuotaOutput

func (*Quota) ToQuotaOutputWithContext

func (i *Quota) ToQuotaOutputWithContext(ctx context.Context) QuotaOutput

type QuotaArgs

type QuotaArgs struct {
	// Quota value for health_monitors. Changing
	// this updates the existing quota. Omitting it sets it to 0.
	HealthMonitor pulumi.IntPtrInput
	// Quota value for l7_policies. Changing this
	// updates the existing quota. Omitting it sets it to 0. Available in
	// **Octavia minor version 2.19**.
	L7Policy pulumi.IntPtrInput
	// Quota value for l7_rules. Changing this
	// updates the existing quota. Omitting it sets it to 0. Available in
	// **Octavia minor version 2.19**.
	L7Rule pulumi.IntPtrInput
	// Quota value for listeners. Changing this updates
	// the existing quota. Omitting it sets it to 0.
	Listener pulumi.IntPtrInput
	// Quota value for loadbalancers. Changing this
	// updates the existing quota. Omitting it sets it to 0.
	Loadbalancer pulumi.IntPtrInput
	// Quota value for members. Changing this updates
	// the existing quota. Omitting it sets it to 0.
	Member pulumi.IntPtrInput
	// Quota value for pools. Changing this updates the
	// the existing quota. Omitting it sets it to 0.
	Pool pulumi.IntPtrInput
	// ID of the project to manage quotas. Changing this
	// creates a new quota.
	ProjectId pulumi.StringInput
	// Region in which to manage quotas. Changing this
	// creates a new quota. If ommited, the region of the credentials is used.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a Quota resource.

func (QuotaArgs) ElementType

func (QuotaArgs) ElementType() reflect.Type

type QuotaArray

type QuotaArray []QuotaInput

func (QuotaArray) ElementType

func (QuotaArray) ElementType() reflect.Type

func (QuotaArray) ToQuotaArrayOutput

func (i QuotaArray) ToQuotaArrayOutput() QuotaArrayOutput

func (QuotaArray) ToQuotaArrayOutputWithContext

func (i QuotaArray) ToQuotaArrayOutputWithContext(ctx context.Context) QuotaArrayOutput

type QuotaArrayInput

type QuotaArrayInput interface {
	pulumi.Input

	ToQuotaArrayOutput() QuotaArrayOutput
	ToQuotaArrayOutputWithContext(context.Context) QuotaArrayOutput
}

QuotaArrayInput is an input type that accepts QuotaArray and QuotaArrayOutput values. You can construct a concrete instance of `QuotaArrayInput` via:

QuotaArray{ QuotaArgs{...} }

type QuotaArrayOutput

type QuotaArrayOutput struct{ *pulumi.OutputState }

func (QuotaArrayOutput) ElementType

func (QuotaArrayOutput) ElementType() reflect.Type

func (QuotaArrayOutput) Index

func (QuotaArrayOutput) ToQuotaArrayOutput

func (o QuotaArrayOutput) ToQuotaArrayOutput() QuotaArrayOutput

func (QuotaArrayOutput) ToQuotaArrayOutputWithContext

func (o QuotaArrayOutput) ToQuotaArrayOutputWithContext(ctx context.Context) QuotaArrayOutput

type QuotaInput

type QuotaInput interface {
	pulumi.Input

	ToQuotaOutput() QuotaOutput
	ToQuotaOutputWithContext(ctx context.Context) QuotaOutput
}

type QuotaMap

type QuotaMap map[string]QuotaInput

func (QuotaMap) ElementType

func (QuotaMap) ElementType() reflect.Type

func (QuotaMap) ToQuotaMapOutput

func (i QuotaMap) ToQuotaMapOutput() QuotaMapOutput

func (QuotaMap) ToQuotaMapOutputWithContext

func (i QuotaMap) ToQuotaMapOutputWithContext(ctx context.Context) QuotaMapOutput

type QuotaMapInput

type QuotaMapInput interface {
	pulumi.Input

	ToQuotaMapOutput() QuotaMapOutput
	ToQuotaMapOutputWithContext(context.Context) QuotaMapOutput
}

QuotaMapInput is an input type that accepts QuotaMap and QuotaMapOutput values. You can construct a concrete instance of `QuotaMapInput` via:

QuotaMap{ "key": QuotaArgs{...} }

type QuotaMapOutput

type QuotaMapOutput struct{ *pulumi.OutputState }

func (QuotaMapOutput) ElementType

func (QuotaMapOutput) ElementType() reflect.Type

func (QuotaMapOutput) MapIndex

func (QuotaMapOutput) ToQuotaMapOutput

func (o QuotaMapOutput) ToQuotaMapOutput() QuotaMapOutput

func (QuotaMapOutput) ToQuotaMapOutputWithContext

func (o QuotaMapOutput) ToQuotaMapOutputWithContext(ctx context.Context) QuotaMapOutput

type QuotaOutput

type QuotaOutput struct{ *pulumi.OutputState }

func (QuotaOutput) ElementType

func (QuotaOutput) ElementType() reflect.Type

func (QuotaOutput) HealthMonitor added in v3.9.0

func (o QuotaOutput) HealthMonitor() pulumi.IntOutput

Quota value for health_monitors. Changing this updates the existing quota. Omitting it sets it to 0.

func (QuotaOutput) L7Policy added in v3.9.0

func (o QuotaOutput) L7Policy() pulumi.IntOutput

Quota value for l7_policies. Changing this updates the existing quota. Omitting it sets it to 0. Available in **Octavia minor version 2.19**.

func (QuotaOutput) L7Rule added in v3.9.0

func (o QuotaOutput) L7Rule() pulumi.IntOutput

Quota value for l7_rules. Changing this updates the existing quota. Omitting it sets it to 0. Available in **Octavia minor version 2.19**.

func (QuotaOutput) Listener added in v3.9.0

func (o QuotaOutput) Listener() pulumi.IntOutput

Quota value for listeners. Changing this updates the existing quota. Omitting it sets it to 0.

func (QuotaOutput) Loadbalancer added in v3.9.0

func (o QuotaOutput) Loadbalancer() pulumi.IntOutput

Quota value for loadbalancers. Changing this updates the existing quota. Omitting it sets it to 0.

func (QuotaOutput) Member added in v3.9.0

func (o QuotaOutput) Member() pulumi.IntOutput

Quota value for members. Changing this updates the existing quota. Omitting it sets it to 0.

func (QuotaOutput) Pool added in v3.9.0

func (o QuotaOutput) Pool() pulumi.IntOutput

Quota value for pools. Changing this updates the the existing quota. Omitting it sets it to 0.

func (QuotaOutput) ProjectId added in v3.9.0

func (o QuotaOutput) ProjectId() pulumi.StringOutput

ID of the project to manage quotas. Changing this creates a new quota.

func (QuotaOutput) Region added in v3.9.0

func (o QuotaOutput) Region() pulumi.StringOutput

Region in which to manage quotas. Changing this creates a new quota. If ommited, the region of the credentials is used.

func (QuotaOutput) ToQuotaOutput

func (o QuotaOutput) ToQuotaOutput() QuotaOutput

func (QuotaOutput) ToQuotaOutputWithContext

func (o QuotaOutput) ToQuotaOutputWithContext(ctx context.Context) QuotaOutput

type QuotaState

type QuotaState struct {
	// Quota value for health_monitors. Changing
	// this updates the existing quota. Omitting it sets it to 0.
	HealthMonitor pulumi.IntPtrInput
	// Quota value for l7_policies. Changing this
	// updates the existing quota. Omitting it sets it to 0. Available in
	// **Octavia minor version 2.19**.
	L7Policy pulumi.IntPtrInput
	// Quota value for l7_rules. Changing this
	// updates the existing quota. Omitting it sets it to 0. Available in
	// **Octavia minor version 2.19**.
	L7Rule pulumi.IntPtrInput
	// Quota value for listeners. Changing this updates
	// the existing quota. Omitting it sets it to 0.
	Listener pulumi.IntPtrInput
	// Quota value for loadbalancers. Changing this
	// updates the existing quota. Omitting it sets it to 0.
	Loadbalancer pulumi.IntPtrInput
	// Quota value for members. Changing this updates
	// the existing quota. Omitting it sets it to 0.
	Member pulumi.IntPtrInput
	// Quota value for pools. Changing this updates the
	// the existing quota. Omitting it sets it to 0.
	Pool pulumi.IntPtrInput
	// ID of the project to manage quotas. Changing this
	// creates a new quota.
	ProjectId pulumi.StringPtrInput
	// Region in which to manage quotas. Changing this
	// creates a new quota. If ommited, the region of the credentials is used.
	Region pulumi.StringPtrInput
}

func (QuotaState) ElementType

func (QuotaState) ElementType() reflect.Type

type Vip

type Vip struct {
	pulumi.CustomResourceState

	// The IP address of the vip. Changing this creates a new
	// vip.
	Address pulumi.StringOutput `pulumi:"address"`
	// The administrative state of the vip.
	// Acceptable values are "true" and "false". Changing this value updates the
	// state of the existing vip.
	AdminStateUp pulumi.BoolOutput `pulumi:"adminStateUp"`
	// The maximum number of connections allowed for the
	// vip. Default is -1, meaning no limit. Changing this updates the connLimit
	// of the existing vip.
	ConnLimit pulumi.IntOutput `pulumi:"connLimit"`
	// Human-readable description for the vip. Changing
	// this updates the description of the existing vip.
	Description pulumi.StringOutput `pulumi:"description"`
	// A *Networking* Floating IP that will be associated
	// with the vip. The Floating IP must be provisioned already.
	FloatingIp pulumi.StringPtrOutput `pulumi:"floatingIp"`
	// The name of the vip. Changing this updates the name of
	// the existing vip.
	Name pulumi.StringOutput `pulumi:"name"`
	// Omit this field to prevent session persistence.
	// The persistence object structure is documented below. Changing this updates
	// the persistence of the existing vip.
	Persistence pulumi.MapOutput `pulumi:"persistence"`
	// The ID of the pool with which the vip is associated.
	// Changing this updates the poolId of the existing vip.
	PoolId pulumi.StringOutput `pulumi:"poolId"`
	// The port on which to listen for client traffic. Changing
	// this creates a new vip.
	Port pulumi.IntOutput `pulumi:"port"`
	// Port UUID for this VIP at associated floating IP (if any).
	PortId pulumi.StringOutput `pulumi:"portId"`
	// The protocol - can be either 'TCP, 'HTTP', or
	// HTTPS'. Changing this creates a new vip.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// 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.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
	// The owner of the vip. Required if admin wants to
	// create a vip member for another tenant. Changing this creates a new vip.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Manages a V1 load balancer vip resource within OpenStack.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := loadbalancer.NewVip(ctx, "vip1", &loadbalancer.VipArgs{
			PoolId:   pulumi.String("67890"),
			Port:     pulumi.Int(80),
			Protocol: pulumi.String("HTTP"),
			SubnetId: pulumi.String("12345"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Load Balancer VIPs can be imported using the `id`, e.g.

```sh $ pulumi import openstack:loadbalancer/vip:Vip vip_1 50e16b26-89c1-475e-a492-76167182511e ```

func GetVip

func GetVip(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VipState, opts ...pulumi.ResourceOption) (*Vip, error)

GetVip gets an existing Vip resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVip

func NewVip(ctx *pulumi.Context,
	name string, args *VipArgs, opts ...pulumi.ResourceOption) (*Vip, error)

NewVip registers a new resource with the given unique name, arguments, and options.

func (*Vip) ElementType

func (*Vip) ElementType() reflect.Type

func (*Vip) ToVipOutput

func (i *Vip) ToVipOutput() VipOutput

func (*Vip) ToVipOutputWithContext

func (i *Vip) ToVipOutputWithContext(ctx context.Context) VipOutput

type VipArgs

type VipArgs struct {
	// The IP address of the vip. Changing this creates a new
	// vip.
	Address pulumi.StringPtrInput
	// The administrative state of the vip.
	// Acceptable values are "true" and "false". Changing this value updates the
	// state of the existing vip.
	AdminStateUp pulumi.BoolPtrInput
	// The maximum number of connections allowed for the
	// vip. Default is -1, meaning no limit. Changing this updates the connLimit
	// of the existing vip.
	ConnLimit pulumi.IntPtrInput
	// Human-readable description for the vip. Changing
	// this updates the description of the existing vip.
	Description pulumi.StringPtrInput
	// A *Networking* Floating IP that will be associated
	// with the vip. The Floating IP must be provisioned already.
	FloatingIp pulumi.StringPtrInput
	// The name of the vip. Changing this updates the name of
	// the existing vip.
	Name pulumi.StringPtrInput
	// Omit this field to prevent session persistence.
	// The persistence object structure is documented below. Changing this updates
	// the persistence of the existing vip.
	Persistence pulumi.MapInput
	// The ID of the pool with which the vip is associated.
	// Changing this updates the poolId of the existing vip.
	PoolId pulumi.StringInput
	// The port on which to listen for client traffic. Changing
	// this creates a new vip.
	Port pulumi.IntInput
	// The protocol - can be either 'TCP, 'HTTP', or
	// HTTPS'. Changing this creates a new vip.
	Protocol pulumi.StringInput
	// 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.
	Region pulumi.StringPtrInput
	// 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.
	SubnetId pulumi.StringInput
	// The owner of the vip. Required if admin wants to
	// create a vip member for another tenant. Changing this creates a new vip.
	TenantId pulumi.StringPtrInput
}

The set of arguments for constructing a Vip resource.

func (VipArgs) ElementType

func (VipArgs) ElementType() reflect.Type

type VipArray

type VipArray []VipInput

func (VipArray) ElementType

func (VipArray) ElementType() reflect.Type

func (VipArray) ToVipArrayOutput

func (i VipArray) ToVipArrayOutput() VipArrayOutput

func (VipArray) ToVipArrayOutputWithContext

func (i VipArray) ToVipArrayOutputWithContext(ctx context.Context) VipArrayOutput

type VipArrayInput

type VipArrayInput interface {
	pulumi.Input

	ToVipArrayOutput() VipArrayOutput
	ToVipArrayOutputWithContext(context.Context) VipArrayOutput
}

VipArrayInput is an input type that accepts VipArray and VipArrayOutput values. You can construct a concrete instance of `VipArrayInput` via:

VipArray{ VipArgs{...} }

type VipArrayOutput

type VipArrayOutput struct{ *pulumi.OutputState }

func (VipArrayOutput) ElementType

func (VipArrayOutput) ElementType() reflect.Type

func (VipArrayOutput) Index

func (VipArrayOutput) ToVipArrayOutput

func (o VipArrayOutput) ToVipArrayOutput() VipArrayOutput

func (VipArrayOutput) ToVipArrayOutputWithContext

func (o VipArrayOutput) ToVipArrayOutputWithContext(ctx context.Context) VipArrayOutput

type VipInput

type VipInput interface {
	pulumi.Input

	ToVipOutput() VipOutput
	ToVipOutputWithContext(ctx context.Context) VipOutput
}

type VipMap

type VipMap map[string]VipInput

func (VipMap) ElementType

func (VipMap) ElementType() reflect.Type

func (VipMap) ToVipMapOutput

func (i VipMap) ToVipMapOutput() VipMapOutput

func (VipMap) ToVipMapOutputWithContext

func (i VipMap) ToVipMapOutputWithContext(ctx context.Context) VipMapOutput

type VipMapInput

type VipMapInput interface {
	pulumi.Input

	ToVipMapOutput() VipMapOutput
	ToVipMapOutputWithContext(context.Context) VipMapOutput
}

VipMapInput is an input type that accepts VipMap and VipMapOutput values. You can construct a concrete instance of `VipMapInput` via:

VipMap{ "key": VipArgs{...} }

type VipMapOutput

type VipMapOutput struct{ *pulumi.OutputState }

func (VipMapOutput) ElementType

func (VipMapOutput) ElementType() reflect.Type

func (VipMapOutput) MapIndex

func (o VipMapOutput) MapIndex(k pulumi.StringInput) VipOutput

func (VipMapOutput) ToVipMapOutput

func (o VipMapOutput) ToVipMapOutput() VipMapOutput

func (VipMapOutput) ToVipMapOutputWithContext

func (o VipMapOutput) ToVipMapOutputWithContext(ctx context.Context) VipMapOutput

type VipOutput

type VipOutput struct{ *pulumi.OutputState }

func (VipOutput) Address added in v3.9.0

func (o VipOutput) Address() pulumi.StringOutput

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

func (VipOutput) AdminStateUp added in v3.9.0

func (o VipOutput) AdminStateUp() pulumi.BoolOutput

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

func (VipOutput) ConnLimit added in v3.9.0

func (o VipOutput) ConnLimit() pulumi.IntOutput

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

func (VipOutput) Description added in v3.9.0

func (o VipOutput) Description() pulumi.StringOutput

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

func (VipOutput) ElementType

func (VipOutput) ElementType() reflect.Type

func (VipOutput) FloatingIp added in v3.9.0

func (o VipOutput) FloatingIp() pulumi.StringPtrOutput

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

func (VipOutput) Name added in v3.9.0

func (o VipOutput) Name() pulumi.StringOutput

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

func (VipOutput) Persistence added in v3.9.0

func (o VipOutput) Persistence() pulumi.MapOutput

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

func (VipOutput) PoolId added in v3.9.0

func (o VipOutput) PoolId() pulumi.StringOutput

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

func (VipOutput) Port added in v3.9.0

func (o VipOutput) Port() pulumi.IntOutput

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

func (VipOutput) PortId added in v3.9.0

func (o VipOutput) PortId() pulumi.StringOutput

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

func (VipOutput) Protocol added in v3.9.0

func (o VipOutput) Protocol() pulumi.StringOutput

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

func (VipOutput) Region added in v3.9.0

func (o VipOutput) Region() pulumi.StringOutput

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.

func (VipOutput) SubnetId added in v3.9.0

func (o VipOutput) SubnetId() pulumi.StringOutput

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.

func (VipOutput) TenantId added in v3.9.0

func (o VipOutput) TenantId() pulumi.StringOutput

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

func (VipOutput) ToVipOutput

func (o VipOutput) ToVipOutput() VipOutput

func (VipOutput) ToVipOutputWithContext

func (o VipOutput) ToVipOutputWithContext(ctx context.Context) VipOutput

type VipState

type VipState struct {
	// The IP address of the vip. Changing this creates a new
	// vip.
	Address pulumi.StringPtrInput
	// The administrative state of the vip.
	// Acceptable values are "true" and "false". Changing this value updates the
	// state of the existing vip.
	AdminStateUp pulumi.BoolPtrInput
	// The maximum number of connections allowed for the
	// vip. Default is -1, meaning no limit. Changing this updates the connLimit
	// of the existing vip.
	ConnLimit pulumi.IntPtrInput
	// Human-readable description for the vip. Changing
	// this updates the description of the existing vip.
	Description pulumi.StringPtrInput
	// A *Networking* Floating IP that will be associated
	// with the vip. The Floating IP must be provisioned already.
	FloatingIp pulumi.StringPtrInput
	// The name of the vip. Changing this updates the name of
	// the existing vip.
	Name pulumi.StringPtrInput
	// Omit this field to prevent session persistence.
	// The persistence object structure is documented below. Changing this updates
	// the persistence of the existing vip.
	Persistence pulumi.MapInput
	// The ID of the pool with which the vip is associated.
	// Changing this updates the poolId of the existing vip.
	PoolId pulumi.StringPtrInput
	// The port on which to listen for client traffic. Changing
	// this creates a new vip.
	Port pulumi.IntPtrInput
	// Port UUID for this VIP at associated floating IP (if any).
	PortId pulumi.StringPtrInput
	// The protocol - can be either 'TCP, 'HTTP', or
	// HTTPS'. Changing this creates a new vip.
	Protocol pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// 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.
	SubnetId pulumi.StringPtrInput
	// The owner of the vip. Required if admin wants to
	// create a vip member for another tenant. Changing this creates a new vip.
	TenantId pulumi.StringPtrInput
}

func (VipState) ElementType

func (VipState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL