loadbalancer

package
v2.19.0 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2021 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

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/loadbalancer"
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/networking"
"github.com/pulumi/pulumi/sdk/v2/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{
			LoadbalancerId: loadbalancer1.ID(),
			Protocol:       pulumi.String("HTTP"),
			ProtocolPort:   pulumi.Int(8080),
		})
		if err != nil {
			return err
		}
		pool1, err := loadbalancer.NewPool(ctx, "pool1", &loadbalancer.PoolArgs{
			LbMethod:       pulumi.String("ROUND_ROBIN"),
			LoadbalancerId: loadbalancer1.ID(),
			Protocol:       pulumi.String("HTTP"),
		})
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewL7PolicyV2(ctx, "l7policy1", &loadbalancer.L7PolicyV2Args{
			Action:         pulumi.String("REDIRECT_TO_POOL"),
			Description:    pulumi.String("test l7 policy"),
			ListenerId:     listener1.ID(),
			Position:       pulumi.Int(1),
			RedirectPoolId: pool1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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 added in v2.10.0

func (*L7PolicyV2) ElementType() reflect.Type

func (*L7PolicyV2) ToL7PolicyV2Output added in v2.10.0

func (i *L7PolicyV2) ToL7PolicyV2Output() L7PolicyV2Output

func (*L7PolicyV2) ToL7PolicyV2OutputWithContext added in v2.10.0

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

func (*L7PolicyV2) ToL7PolicyV2PtrOutput added in v2.14.1

func (i *L7PolicyV2) ToL7PolicyV2PtrOutput() L7PolicyV2PtrOutput

func (*L7PolicyV2) ToL7PolicyV2PtrOutputWithContext added in v2.14.1

func (i *L7PolicyV2) ToL7PolicyV2PtrOutputWithContext(ctx context.Context) L7PolicyV2PtrOutput

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 added in v2.14.1

type L7PolicyV2Array []L7PolicyV2Input

func (L7PolicyV2Array) ElementType added in v2.14.1

func (L7PolicyV2Array) ElementType() reflect.Type

func (L7PolicyV2Array) ToL7PolicyV2ArrayOutput added in v2.14.1

func (i L7PolicyV2Array) ToL7PolicyV2ArrayOutput() L7PolicyV2ArrayOutput

func (L7PolicyV2Array) ToL7PolicyV2ArrayOutputWithContext added in v2.14.1

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

type L7PolicyV2ArrayInput added in v2.14.1

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 added in v2.14.1

type L7PolicyV2ArrayOutput struct{ *pulumi.OutputState }

func (L7PolicyV2ArrayOutput) ElementType added in v2.14.1

func (L7PolicyV2ArrayOutput) ElementType() reflect.Type

func (L7PolicyV2ArrayOutput) Index added in v2.14.1

func (L7PolicyV2ArrayOutput) ToL7PolicyV2ArrayOutput added in v2.14.1

func (o L7PolicyV2ArrayOutput) ToL7PolicyV2ArrayOutput() L7PolicyV2ArrayOutput

func (L7PolicyV2ArrayOutput) ToL7PolicyV2ArrayOutputWithContext added in v2.14.1

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

type L7PolicyV2Input added in v2.10.0

type L7PolicyV2Input interface {
	pulumi.Input

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

type L7PolicyV2Map added in v2.14.1

type L7PolicyV2Map map[string]L7PolicyV2Input

func (L7PolicyV2Map) ElementType added in v2.14.1

func (L7PolicyV2Map) ElementType() reflect.Type

func (L7PolicyV2Map) ToL7PolicyV2MapOutput added in v2.14.1

func (i L7PolicyV2Map) ToL7PolicyV2MapOutput() L7PolicyV2MapOutput

func (L7PolicyV2Map) ToL7PolicyV2MapOutputWithContext added in v2.14.1

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

type L7PolicyV2MapInput added in v2.14.1

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 added in v2.14.1

type L7PolicyV2MapOutput struct{ *pulumi.OutputState }

func (L7PolicyV2MapOutput) ElementType added in v2.14.1

func (L7PolicyV2MapOutput) ElementType() reflect.Type

func (L7PolicyV2MapOutput) MapIndex added in v2.14.1

func (L7PolicyV2MapOutput) ToL7PolicyV2MapOutput added in v2.14.1

func (o L7PolicyV2MapOutput) ToL7PolicyV2MapOutput() L7PolicyV2MapOutput

func (L7PolicyV2MapOutput) ToL7PolicyV2MapOutputWithContext added in v2.14.1

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

type L7PolicyV2Output added in v2.10.0

type L7PolicyV2Output struct {
	*pulumi.OutputState
}

func (L7PolicyV2Output) ElementType added in v2.10.0

func (L7PolicyV2Output) ElementType() reflect.Type

func (L7PolicyV2Output) ToL7PolicyV2Output added in v2.10.0

func (o L7PolicyV2Output) ToL7PolicyV2Output() L7PolicyV2Output

func (L7PolicyV2Output) ToL7PolicyV2OutputWithContext added in v2.10.0

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

func (L7PolicyV2Output) ToL7PolicyV2PtrOutput added in v2.14.1

func (o L7PolicyV2Output) ToL7PolicyV2PtrOutput() L7PolicyV2PtrOutput

func (L7PolicyV2Output) ToL7PolicyV2PtrOutputWithContext added in v2.14.1

func (o L7PolicyV2Output) ToL7PolicyV2PtrOutputWithContext(ctx context.Context) L7PolicyV2PtrOutput

type L7PolicyV2PtrInput added in v2.14.1

type L7PolicyV2PtrInput interface {
	pulumi.Input

	ToL7PolicyV2PtrOutput() L7PolicyV2PtrOutput
	ToL7PolicyV2PtrOutputWithContext(ctx context.Context) L7PolicyV2PtrOutput
}

type L7PolicyV2PtrOutput added in v2.14.1

type L7PolicyV2PtrOutput struct {
	*pulumi.OutputState
}

func (L7PolicyV2PtrOutput) ElementType added in v2.14.1

func (L7PolicyV2PtrOutput) ElementType() reflect.Type

func (L7PolicyV2PtrOutput) ToL7PolicyV2PtrOutput added in v2.14.1

func (o L7PolicyV2PtrOutput) ToL7PolicyV2PtrOutput() L7PolicyV2PtrOutput

func (L7PolicyV2PtrOutput) ToL7PolicyV2PtrOutputWithContext added in v2.14.1

func (o L7PolicyV2PtrOutput) ToL7PolicyV2PtrOutputWithContext(ctx context.Context) L7PolicyV2PtrOutput

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

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/loadbalancer"
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/networking"
"github.com/pulumi/pulumi/sdk/v2/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{
			LoadbalancerId: loadbalancer1.ID(),
			Protocol:       pulumi.String("HTTP"),
			ProtocolPort:   pulumi.Int(8080),
		})
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewPool(ctx, "pool1", &loadbalancer.PoolArgs{
			LbMethod:       pulumi.String("ROUND_ROBIN"),
			LoadbalancerId: loadbalancer1.ID(),
			Protocol:       pulumi.String("HTTP"),
		})
		if err != nil {
			return err
		}
		l7policy1, err := loadbalancer.NewL7PolicyV2(ctx, "l7policy1", &loadbalancer.L7PolicyV2Args{
			Action:      pulumi.String("REDIRECT_TO_URL"),
			Description: pulumi.String("test description"),
			ListenerId:  listener1.ID(),
			Position:    pulumi.Int(1),
			RedirectUrl: pulumi.String("http://www.example.com"),
		})
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewL7RuleV2(ctx, "l7rule1", &loadbalancer.L7RuleV2Args{
			CompareType: pulumi.String("EQUAL_TO"),
			L7policyId:  l7policy1.ID(),
			Type:        pulumi.String("PATH"),
			Value:       pulumi.String("/api"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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 added in v2.10.0

func (*L7RuleV2) ElementType() reflect.Type

func (*L7RuleV2) ToL7RuleV2Output added in v2.10.0

func (i *L7RuleV2) ToL7RuleV2Output() L7RuleV2Output

func (*L7RuleV2) ToL7RuleV2OutputWithContext added in v2.10.0

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

func (*L7RuleV2) ToL7RuleV2PtrOutput added in v2.14.1

func (i *L7RuleV2) ToL7RuleV2PtrOutput() L7RuleV2PtrOutput

func (*L7RuleV2) ToL7RuleV2PtrOutputWithContext added in v2.14.1

func (i *L7RuleV2) ToL7RuleV2PtrOutputWithContext(ctx context.Context) L7RuleV2PtrOutput

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 added in v2.14.1

type L7RuleV2Array []L7RuleV2Input

func (L7RuleV2Array) ElementType added in v2.14.1

func (L7RuleV2Array) ElementType() reflect.Type

func (L7RuleV2Array) ToL7RuleV2ArrayOutput added in v2.14.1

func (i L7RuleV2Array) ToL7RuleV2ArrayOutput() L7RuleV2ArrayOutput

func (L7RuleV2Array) ToL7RuleV2ArrayOutputWithContext added in v2.14.1

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

type L7RuleV2ArrayInput added in v2.14.1

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 added in v2.14.1

type L7RuleV2ArrayOutput struct{ *pulumi.OutputState }

func (L7RuleV2ArrayOutput) ElementType added in v2.14.1

func (L7RuleV2ArrayOutput) ElementType() reflect.Type

func (L7RuleV2ArrayOutput) Index added in v2.14.1

func (L7RuleV2ArrayOutput) ToL7RuleV2ArrayOutput added in v2.14.1

func (o L7RuleV2ArrayOutput) ToL7RuleV2ArrayOutput() L7RuleV2ArrayOutput

func (L7RuleV2ArrayOutput) ToL7RuleV2ArrayOutputWithContext added in v2.14.1

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

type L7RuleV2Input added in v2.10.0

type L7RuleV2Input interface {
	pulumi.Input

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

type L7RuleV2Map added in v2.14.1

type L7RuleV2Map map[string]L7RuleV2Input

func (L7RuleV2Map) ElementType added in v2.14.1

func (L7RuleV2Map) ElementType() reflect.Type

func (L7RuleV2Map) ToL7RuleV2MapOutput added in v2.14.1

func (i L7RuleV2Map) ToL7RuleV2MapOutput() L7RuleV2MapOutput

func (L7RuleV2Map) ToL7RuleV2MapOutputWithContext added in v2.14.1

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

type L7RuleV2MapInput added in v2.14.1

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 added in v2.14.1

type L7RuleV2MapOutput struct{ *pulumi.OutputState }

func (L7RuleV2MapOutput) ElementType added in v2.14.1

func (L7RuleV2MapOutput) ElementType() reflect.Type

func (L7RuleV2MapOutput) MapIndex added in v2.14.1

func (L7RuleV2MapOutput) ToL7RuleV2MapOutput added in v2.14.1

func (o L7RuleV2MapOutput) ToL7RuleV2MapOutput() L7RuleV2MapOutput

func (L7RuleV2MapOutput) ToL7RuleV2MapOutputWithContext added in v2.14.1

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

type L7RuleV2Output added in v2.10.0

type L7RuleV2Output struct {
	*pulumi.OutputState
}

func (L7RuleV2Output) ElementType added in v2.10.0

func (L7RuleV2Output) ElementType() reflect.Type

func (L7RuleV2Output) ToL7RuleV2Output added in v2.10.0

func (o L7RuleV2Output) ToL7RuleV2Output() L7RuleV2Output

func (L7RuleV2Output) ToL7RuleV2OutputWithContext added in v2.10.0

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

func (L7RuleV2Output) ToL7RuleV2PtrOutput added in v2.14.1

func (o L7RuleV2Output) ToL7RuleV2PtrOutput() L7RuleV2PtrOutput

func (L7RuleV2Output) ToL7RuleV2PtrOutputWithContext added in v2.14.1

func (o L7RuleV2Output) ToL7RuleV2PtrOutputWithContext(ctx context.Context) L7RuleV2PtrOutput

type L7RuleV2PtrInput added in v2.14.1

type L7RuleV2PtrInput interface {
	pulumi.Input

	ToL7RuleV2PtrOutput() L7RuleV2PtrOutput
	ToL7RuleV2PtrOutputWithContext(ctx context.Context) L7RuleV2PtrOutput
}

type L7RuleV2PtrOutput added in v2.14.1

type L7RuleV2PtrOutput struct {
	*pulumi.OutputState
}

func (L7RuleV2PtrOutput) ElementType added in v2.14.1

func (L7RuleV2PtrOutput) ElementType() reflect.Type

func (L7RuleV2PtrOutput) ToL7RuleV2PtrOutput added in v2.14.1

func (o L7RuleV2PtrOutput) ToL7RuleV2PtrOutput() L7RuleV2PtrOutput

func (L7RuleV2PtrOutput) ToL7RuleV2PtrOutputWithContext added in v2.14.1

func (o L7RuleV2PtrOutput) ToL7RuleV2PtrOutputWithContext(ctx context.Context) L7RuleV2PtrOutput

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 or UDP (supported only in Octavia). 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"`
	// 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.

## Example Usage

```go package main

import (

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

)

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

```

## 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 added in v2.10.0

func (*Listener) ElementType() reflect.Type

func (*Listener) ToListenerOutput added in v2.10.0

func (i *Listener) ToListenerOutput() ListenerOutput

func (*Listener) ToListenerOutputWithContext added in v2.10.0

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

func (*Listener) ToListenerPtrOutput added in v2.14.1

func (i *Listener) ToListenerPtrOutput() ListenerPtrOutput

func (*Listener) ToListenerPtrOutputWithContext added in v2.14.1

func (i *Listener) ToListenerPtrOutputWithContext(ctx context.Context) ListenerPtrOutput

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 or UDP (supported only in Octavia). 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
	// 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 added in v2.14.1

type ListenerArray []ListenerInput

func (ListenerArray) ElementType added in v2.14.1

func (ListenerArray) ElementType() reflect.Type

func (ListenerArray) ToListenerArrayOutput added in v2.14.1

func (i ListenerArray) ToListenerArrayOutput() ListenerArrayOutput

func (ListenerArray) ToListenerArrayOutputWithContext added in v2.14.1

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

type ListenerArrayInput added in v2.14.1

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 added in v2.14.1

type ListenerArrayOutput struct{ *pulumi.OutputState }

func (ListenerArrayOutput) ElementType added in v2.14.1

func (ListenerArrayOutput) ElementType() reflect.Type

func (ListenerArrayOutput) Index added in v2.14.1

func (ListenerArrayOutput) ToListenerArrayOutput added in v2.14.1

func (o ListenerArrayOutput) ToListenerArrayOutput() ListenerArrayOutput

func (ListenerArrayOutput) ToListenerArrayOutputWithContext added in v2.14.1

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

type ListenerInput added in v2.10.0

type ListenerInput interface {
	pulumi.Input

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

type ListenerMap added in v2.14.1

type ListenerMap map[string]ListenerInput

func (ListenerMap) ElementType added in v2.14.1

func (ListenerMap) ElementType() reflect.Type

func (ListenerMap) ToListenerMapOutput added in v2.14.1

func (i ListenerMap) ToListenerMapOutput() ListenerMapOutput

func (ListenerMap) ToListenerMapOutputWithContext added in v2.14.1

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

type ListenerMapInput added in v2.14.1

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 added in v2.14.1

type ListenerMapOutput struct{ *pulumi.OutputState }

func (ListenerMapOutput) ElementType added in v2.14.1

func (ListenerMapOutput) ElementType() reflect.Type

func (ListenerMapOutput) MapIndex added in v2.14.1

func (ListenerMapOutput) ToListenerMapOutput added in v2.14.1

func (o ListenerMapOutput) ToListenerMapOutput() ListenerMapOutput

func (ListenerMapOutput) ToListenerMapOutputWithContext added in v2.14.1

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

type ListenerOutput added in v2.10.0

type ListenerOutput struct {
	*pulumi.OutputState
}

func (ListenerOutput) ElementType added in v2.10.0

func (ListenerOutput) ElementType() reflect.Type

func (ListenerOutput) ToListenerOutput added in v2.10.0

func (o ListenerOutput) ToListenerOutput() ListenerOutput

func (ListenerOutput) ToListenerOutputWithContext added in v2.10.0

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

func (ListenerOutput) ToListenerPtrOutput added in v2.14.1

func (o ListenerOutput) ToListenerPtrOutput() ListenerPtrOutput

func (ListenerOutput) ToListenerPtrOutputWithContext added in v2.14.1

func (o ListenerOutput) ToListenerPtrOutputWithContext(ctx context.Context) ListenerPtrOutput

type ListenerPtrInput added in v2.14.1

type ListenerPtrInput interface {
	pulumi.Input

	ToListenerPtrOutput() ListenerPtrOutput
	ToListenerPtrOutputWithContext(ctx context.Context) ListenerPtrOutput
}

type ListenerPtrOutput added in v2.14.1

type ListenerPtrOutput struct {
	*pulumi.OutputState
}

func (ListenerPtrOutput) ElementType added in v2.14.1

func (ListenerPtrOutput) ElementType() reflect.Type

func (ListenerPtrOutput) ToListenerPtrOutput added in v2.14.1

func (o ListenerPtrOutput) ToListenerPtrOutput() ListenerPtrOutput

func (ListenerPtrOutput) ToListenerPtrOutputWithContext added in v2.14.1

func (o ListenerPtrOutput) ToListenerPtrOutputWithContext(ctx context.Context) ListenerPtrOutput

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 or UDP (supported only in Octavia). 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
	// 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"`
	// 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"`
	// 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.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

```

## 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 added in v2.10.0

func (*LoadBalancer) ElementType() reflect.Type

func (*LoadBalancer) ToLoadBalancerOutput added in v2.10.0

func (i *LoadBalancer) ToLoadBalancerOutput() LoadBalancerOutput

func (*LoadBalancer) ToLoadBalancerOutputWithContext added in v2.10.0

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

func (*LoadBalancer) ToLoadBalancerPtrOutput added in v2.14.1

func (i *LoadBalancer) ToLoadBalancerPtrOutput() LoadBalancerPtrOutput

func (*LoadBalancer) ToLoadBalancerPtrOutputWithContext added in v2.14.1

func (i *LoadBalancer) ToLoadBalancerPtrOutputWithContext(ctx context.Context) LoadBalancerPtrOutput

type LoadBalancerArgs

type LoadBalancerArgs struct {
	// The administrative state of the Loadbalancer.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// 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
	// 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 added in v2.14.1

type LoadBalancerArray []LoadBalancerInput

func (LoadBalancerArray) ElementType added in v2.14.1

func (LoadBalancerArray) ElementType() reflect.Type

func (LoadBalancerArray) ToLoadBalancerArrayOutput added in v2.14.1

func (i LoadBalancerArray) ToLoadBalancerArrayOutput() LoadBalancerArrayOutput

func (LoadBalancerArray) ToLoadBalancerArrayOutputWithContext added in v2.14.1

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

type LoadBalancerArrayInput added in v2.14.1

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 added in v2.14.1

type LoadBalancerArrayOutput struct{ *pulumi.OutputState }

func (LoadBalancerArrayOutput) ElementType added in v2.14.1

func (LoadBalancerArrayOutput) ElementType() reflect.Type

func (LoadBalancerArrayOutput) Index added in v2.14.1

func (LoadBalancerArrayOutput) ToLoadBalancerArrayOutput added in v2.14.1

func (o LoadBalancerArrayOutput) ToLoadBalancerArrayOutput() LoadBalancerArrayOutput

func (LoadBalancerArrayOutput) ToLoadBalancerArrayOutputWithContext added in v2.14.1

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

type LoadBalancerInput added in v2.10.0

type LoadBalancerInput interface {
	pulumi.Input

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

type LoadBalancerMap added in v2.14.1

type LoadBalancerMap map[string]LoadBalancerInput

func (LoadBalancerMap) ElementType added in v2.14.1

func (LoadBalancerMap) ElementType() reflect.Type

func (LoadBalancerMap) ToLoadBalancerMapOutput added in v2.14.1

func (i LoadBalancerMap) ToLoadBalancerMapOutput() LoadBalancerMapOutput

func (LoadBalancerMap) ToLoadBalancerMapOutputWithContext added in v2.14.1

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

type LoadBalancerMapInput added in v2.14.1

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 added in v2.14.1

type LoadBalancerMapOutput struct{ *pulumi.OutputState }

func (LoadBalancerMapOutput) ElementType added in v2.14.1

func (LoadBalancerMapOutput) ElementType() reflect.Type

func (LoadBalancerMapOutput) MapIndex added in v2.14.1

func (LoadBalancerMapOutput) ToLoadBalancerMapOutput added in v2.14.1

func (o LoadBalancerMapOutput) ToLoadBalancerMapOutput() LoadBalancerMapOutput

func (LoadBalancerMapOutput) ToLoadBalancerMapOutputWithContext added in v2.14.1

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

type LoadBalancerOutput added in v2.10.0

type LoadBalancerOutput struct {
	*pulumi.OutputState
}

func (LoadBalancerOutput) ElementType added in v2.10.0

func (LoadBalancerOutput) ElementType() reflect.Type

func (LoadBalancerOutput) ToLoadBalancerOutput added in v2.10.0

func (o LoadBalancerOutput) ToLoadBalancerOutput() LoadBalancerOutput

func (LoadBalancerOutput) ToLoadBalancerOutputWithContext added in v2.10.0

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

func (LoadBalancerOutput) ToLoadBalancerPtrOutput added in v2.14.1

func (o LoadBalancerOutput) ToLoadBalancerPtrOutput() LoadBalancerPtrOutput

func (LoadBalancerOutput) ToLoadBalancerPtrOutputWithContext added in v2.14.1

func (o LoadBalancerOutput) ToLoadBalancerPtrOutputWithContext(ctx context.Context) LoadBalancerPtrOutput

type LoadBalancerPtrInput added in v2.14.1

type LoadBalancerPtrInput interface {
	pulumi.Input

	ToLoadBalancerPtrOutput() LoadBalancerPtrOutput
	ToLoadBalancerPtrOutputWithContext(ctx context.Context) LoadBalancerPtrOutput
}

type LoadBalancerPtrOutput added in v2.14.1

type LoadBalancerPtrOutput struct {
	*pulumi.OutputState
}

func (LoadBalancerPtrOutput) ElementType added in v2.14.1

func (LoadBalancerPtrOutput) ElementType() reflect.Type

func (LoadBalancerPtrOutput) ToLoadBalancerPtrOutput added in v2.14.1

func (o LoadBalancerPtrOutput) ToLoadBalancerPtrOutput() LoadBalancerPtrOutput

func (LoadBalancerPtrOutput) ToLoadBalancerPtrOutputWithContext added in v2.14.1

func (o LoadBalancerPtrOutput) ToLoadBalancerPtrOutputWithContext(ctx context.Context) LoadBalancerPtrOutput

type LoadBalancerState

type LoadBalancerState struct {
	// The administrative state of the Loadbalancer.
	// A valid value is true (UP) or false (DOWN).
	AdminStateUp pulumi.BoolPtrInput
	// 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
	// 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"`
	// 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

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

```

## 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 added in v2.10.0

func (*Member) ElementType() reflect.Type

func (*Member) ToMemberOutput added in v2.10.0

func (i *Member) ToMemberOutput() MemberOutput

func (*Member) ToMemberOutputWithContext added in v2.10.0

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

func (*Member) ToMemberPtrOutput added in v2.14.1

func (i *Member) ToMemberPtrOutput() MemberPtrOutput

func (*Member) ToMemberPtrOutputWithContext added in v2.14.1

func (i *Member) ToMemberPtrOutputWithContext(ctx context.Context) MemberPtrOutput

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
	// 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 added in v2.14.1

type MemberArray []MemberInput

func (MemberArray) ElementType added in v2.14.1

func (MemberArray) ElementType() reflect.Type

func (MemberArray) ToMemberArrayOutput added in v2.14.1

func (i MemberArray) ToMemberArrayOutput() MemberArrayOutput

func (MemberArray) ToMemberArrayOutputWithContext added in v2.14.1

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

type MemberArrayInput added in v2.14.1

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 added in v2.14.1

type MemberArrayOutput struct{ *pulumi.OutputState }

func (MemberArrayOutput) ElementType added in v2.14.1

func (MemberArrayOutput) ElementType() reflect.Type

func (MemberArrayOutput) Index added in v2.14.1

func (MemberArrayOutput) ToMemberArrayOutput added in v2.14.1

func (o MemberArrayOutput) ToMemberArrayOutput() MemberArrayOutput

func (MemberArrayOutput) ToMemberArrayOutputWithContext added in v2.14.1

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

type MemberInput added in v2.10.0

type MemberInput interface {
	pulumi.Input

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

type MemberMap added in v2.14.1

type MemberMap map[string]MemberInput

func (MemberMap) ElementType added in v2.14.1

func (MemberMap) ElementType() reflect.Type

func (MemberMap) ToMemberMapOutput added in v2.14.1

func (i MemberMap) ToMemberMapOutput() MemberMapOutput

func (MemberMap) ToMemberMapOutputWithContext added in v2.14.1

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

type MemberMapInput added in v2.14.1

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 added in v2.14.1

type MemberMapOutput struct{ *pulumi.OutputState }

func (MemberMapOutput) ElementType added in v2.14.1

func (MemberMapOutput) ElementType() reflect.Type

func (MemberMapOutput) MapIndex added in v2.14.1

func (MemberMapOutput) ToMemberMapOutput added in v2.14.1

func (o MemberMapOutput) ToMemberMapOutput() MemberMapOutput

func (MemberMapOutput) ToMemberMapOutputWithContext added in v2.14.1

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

type MemberOutput added in v2.10.0

type MemberOutput struct {
	*pulumi.OutputState
}

func (MemberOutput) ElementType added in v2.10.0

func (MemberOutput) ElementType() reflect.Type

func (MemberOutput) ToMemberOutput added in v2.10.0

func (o MemberOutput) ToMemberOutput() MemberOutput

func (MemberOutput) ToMemberOutputWithContext added in v2.10.0

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

func (MemberOutput) ToMemberPtrOutput added in v2.14.1

func (o MemberOutput) ToMemberPtrOutput() MemberPtrOutput

func (MemberOutput) ToMemberPtrOutputWithContext added in v2.14.1

func (o MemberOutput) ToMemberPtrOutputWithContext(ctx context.Context) MemberPtrOutput

type MemberPtrInput added in v2.14.1

type MemberPtrInput interface {
	pulumi.Input

	ToMemberPtrOutput() MemberPtrOutput
	ToMemberPtrOutputWithContext(ctx context.Context) MemberPtrOutput
}

type MemberPtrOutput added in v2.14.1

type MemberPtrOutput struct {
	*pulumi.OutputState
}

func (MemberPtrOutput) ElementType added in v2.14.1

func (MemberPtrOutput) ElementType() reflect.Type

func (MemberPtrOutput) ToMemberPtrOutput added in v2.14.1

func (o MemberPtrOutput) ToMemberPtrOutput() MemberPtrOutput

func (MemberPtrOutput) ToMemberPtrOutputWithContext added in v2.14.1

func (o MemberPtrOutput) ToMemberPtrOutputWithContext(ctx context.Context) MemberPtrOutput

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
	// 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

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

```

## 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 added in v2.10.0

func (*MemberV1) ElementType() reflect.Type

func (*MemberV1) ToMemberV1Output added in v2.10.0

func (i *MemberV1) ToMemberV1Output() MemberV1Output

func (*MemberV1) ToMemberV1OutputWithContext added in v2.10.0

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

func (*MemberV1) ToMemberV1PtrOutput added in v2.14.1

func (i *MemberV1) ToMemberV1PtrOutput() MemberV1PtrOutput

func (*MemberV1) ToMemberV1PtrOutputWithContext added in v2.14.1

func (i *MemberV1) ToMemberV1PtrOutputWithContext(ctx context.Context) MemberV1PtrOutput

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 added in v2.14.1

type MemberV1Array []MemberV1Input

func (MemberV1Array) ElementType added in v2.14.1

func (MemberV1Array) ElementType() reflect.Type

func (MemberV1Array) ToMemberV1ArrayOutput added in v2.14.1

func (i MemberV1Array) ToMemberV1ArrayOutput() MemberV1ArrayOutput

func (MemberV1Array) ToMemberV1ArrayOutputWithContext added in v2.14.1

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

type MemberV1ArrayInput added in v2.14.1

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 added in v2.14.1

type MemberV1ArrayOutput struct{ *pulumi.OutputState }

func (MemberV1ArrayOutput) ElementType added in v2.14.1

func (MemberV1ArrayOutput) ElementType() reflect.Type

func (MemberV1ArrayOutput) Index added in v2.14.1

func (MemberV1ArrayOutput) ToMemberV1ArrayOutput added in v2.14.1

func (o MemberV1ArrayOutput) ToMemberV1ArrayOutput() MemberV1ArrayOutput

func (MemberV1ArrayOutput) ToMemberV1ArrayOutputWithContext added in v2.14.1

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

type MemberV1Input added in v2.10.0

type MemberV1Input interface {
	pulumi.Input

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

type MemberV1Map added in v2.14.1

type MemberV1Map map[string]MemberV1Input

func (MemberV1Map) ElementType added in v2.14.1

func (MemberV1Map) ElementType() reflect.Type

func (MemberV1Map) ToMemberV1MapOutput added in v2.14.1

func (i MemberV1Map) ToMemberV1MapOutput() MemberV1MapOutput

func (MemberV1Map) ToMemberV1MapOutputWithContext added in v2.14.1

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

type MemberV1MapInput added in v2.14.1

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 added in v2.14.1

type MemberV1MapOutput struct{ *pulumi.OutputState }

func (MemberV1MapOutput) ElementType added in v2.14.1

func (MemberV1MapOutput) ElementType() reflect.Type

func (MemberV1MapOutput) MapIndex added in v2.14.1

func (MemberV1MapOutput) ToMemberV1MapOutput added in v2.14.1

func (o MemberV1MapOutput) ToMemberV1MapOutput() MemberV1MapOutput

func (MemberV1MapOutput) ToMemberV1MapOutputWithContext added in v2.14.1

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

type MemberV1Output added in v2.10.0

type MemberV1Output struct {
	*pulumi.OutputState
}

func (MemberV1Output) ElementType added in v2.10.0

func (MemberV1Output) ElementType() reflect.Type

func (MemberV1Output) ToMemberV1Output added in v2.10.0

func (o MemberV1Output) ToMemberV1Output() MemberV1Output

func (MemberV1Output) ToMemberV1OutputWithContext added in v2.10.0

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

func (MemberV1Output) ToMemberV1PtrOutput added in v2.14.1

func (o MemberV1Output) ToMemberV1PtrOutput() MemberV1PtrOutput

func (MemberV1Output) ToMemberV1PtrOutputWithContext added in v2.14.1

func (o MemberV1Output) ToMemberV1PtrOutputWithContext(ctx context.Context) MemberV1PtrOutput

type MemberV1PtrInput added in v2.14.1

type MemberV1PtrInput interface {
	pulumi.Input

	ToMemberV1PtrOutput() MemberV1PtrOutput
	ToMemberV1PtrOutputWithContext(ctx context.Context) MemberV1PtrOutput
}

type MemberV1PtrOutput added in v2.14.1

type MemberV1PtrOutput struct {
	*pulumi.OutputState
}

func (MemberV1PtrOutput) ElementType added in v2.14.1

func (MemberV1PtrOutput) ElementType() reflect.Type

func (MemberV1PtrOutput) ToMemberV1PtrOutput added in v2.14.1

func (o MemberV1PtrOutput) ToMemberV1PtrOutput() MemberV1PtrOutput

func (MemberV1PtrOutput) ToMemberV1PtrOutputWithContext added in v2.14.1

func (o MemberV1PtrOutput) ToMemberV1PtrOutputWithContext(ctx context.Context) MemberV1PtrOutput

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 added in v2.2.0

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 works only within Octavia API. For legacy Neutron LBaaS v2 extension please use loadbalancer.Member resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

```

## 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 added in v2.2.0

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 added in v2.2.0

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 added in v2.10.0

func (*Members) ElementType() reflect.Type

func (*Members) ToMembersOutput added in v2.10.0

func (i *Members) ToMembersOutput() MembersOutput

func (*Members) ToMembersOutputWithContext added in v2.10.0

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

func (*Members) ToMembersPtrOutput added in v2.14.1

func (i *Members) ToMembersPtrOutput() MembersPtrOutput

func (*Members) ToMembersPtrOutputWithContext added in v2.14.1

func (i *Members) ToMembersPtrOutputWithContext(ctx context.Context) MembersPtrOutput

type MembersArgs added in v2.2.0

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 added in v2.2.0

func (MembersArgs) ElementType() reflect.Type

type MembersArray added in v2.14.1

type MembersArray []MembersInput

func (MembersArray) ElementType added in v2.14.1

func (MembersArray) ElementType() reflect.Type

func (MembersArray) ToMembersArrayOutput added in v2.14.1

func (i MembersArray) ToMembersArrayOutput() MembersArrayOutput

func (MembersArray) ToMembersArrayOutputWithContext added in v2.14.1

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

type MembersArrayInput added in v2.14.1

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 added in v2.14.1

type MembersArrayOutput struct{ *pulumi.OutputState }

func (MembersArrayOutput) ElementType added in v2.14.1

func (MembersArrayOutput) ElementType() reflect.Type

func (MembersArrayOutput) Index added in v2.14.1

func (MembersArrayOutput) ToMembersArrayOutput added in v2.14.1

func (o MembersArrayOutput) ToMembersArrayOutput() MembersArrayOutput

func (MembersArrayOutput) ToMembersArrayOutputWithContext added in v2.14.1

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

type MembersInput added in v2.10.0

type MembersInput interface {
	pulumi.Input

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

type MembersMap added in v2.14.1

type MembersMap map[string]MembersInput

func (MembersMap) ElementType added in v2.14.1

func (MembersMap) ElementType() reflect.Type

func (MembersMap) ToMembersMapOutput added in v2.14.1

func (i MembersMap) ToMembersMapOutput() MembersMapOutput

func (MembersMap) ToMembersMapOutputWithContext added in v2.14.1

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

type MembersMapInput added in v2.14.1

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 added in v2.14.1

type MembersMapOutput struct{ *pulumi.OutputState }

func (MembersMapOutput) ElementType added in v2.14.1

func (MembersMapOutput) ElementType() reflect.Type

func (MembersMapOutput) MapIndex added in v2.14.1

func (MembersMapOutput) ToMembersMapOutput added in v2.14.1

func (o MembersMapOutput) ToMembersMapOutput() MembersMapOutput

func (MembersMapOutput) ToMembersMapOutputWithContext added in v2.14.1

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

type MembersMember added in v2.2.0

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"`
	// The unique ID for the members.
	Id *string `pulumi:"id"`
	// 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 added in v2.2.0

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"`
	// The unique ID for the members.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// 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 added in v2.2.0

func (MembersMemberArgs) ElementType() reflect.Type

func (MembersMemberArgs) ToMembersMemberOutput added in v2.2.0

func (i MembersMemberArgs) ToMembersMemberOutput() MembersMemberOutput

func (MembersMemberArgs) ToMembersMemberOutputWithContext added in v2.2.0

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

type MembersMemberArray added in v2.2.0

type MembersMemberArray []MembersMemberInput

func (MembersMemberArray) ElementType added in v2.2.0

func (MembersMemberArray) ElementType() reflect.Type

func (MembersMemberArray) ToMembersMemberArrayOutput added in v2.2.0

func (i MembersMemberArray) ToMembersMemberArrayOutput() MembersMemberArrayOutput

func (MembersMemberArray) ToMembersMemberArrayOutputWithContext added in v2.2.0

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

type MembersMemberArrayInput added in v2.2.0

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 added in v2.2.0

type MembersMemberArrayOutput struct{ *pulumi.OutputState }

func (MembersMemberArrayOutput) ElementType added in v2.2.0

func (MembersMemberArrayOutput) ElementType() reflect.Type

func (MembersMemberArrayOutput) Index added in v2.2.0

func (MembersMemberArrayOutput) ToMembersMemberArrayOutput added in v2.2.0

func (o MembersMemberArrayOutput) ToMembersMemberArrayOutput() MembersMemberArrayOutput

func (MembersMemberArrayOutput) ToMembersMemberArrayOutputWithContext added in v2.2.0

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

type MembersMemberInput added in v2.2.0

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 added in v2.2.0

type MembersMemberOutput struct{ *pulumi.OutputState }

func (MembersMemberOutput) Address added in v2.2.0

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

func (MembersMemberOutput) AdminStateUp added in v2.2.0

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) ElementType added in v2.2.0

func (MembersMemberOutput) ElementType() reflect.Type

func (MembersMemberOutput) Id added in v2.2.0

The unique ID for the members.

func (MembersMemberOutput) Name added in v2.2.0

Human-readable name for the member.

func (MembersMemberOutput) ProtocolPort added in v2.2.0

func (o MembersMemberOutput) ProtocolPort() pulumi.IntOutput

The port on which to listen for client traffic.

func (MembersMemberOutput) SubnetId added in v2.2.0

The subnet in which to access the member.

func (MembersMemberOutput) ToMembersMemberOutput added in v2.2.0

func (o MembersMemberOutput) ToMembersMemberOutput() MembersMemberOutput

func (MembersMemberOutput) ToMembersMemberOutputWithContext added in v2.2.0

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

func (MembersMemberOutput) Weight added in v2.2.0

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 added in v2.10.0

type MembersOutput struct {
	*pulumi.OutputState
}

func (MembersOutput) ElementType added in v2.10.0

func (MembersOutput) ElementType() reflect.Type

func (MembersOutput) ToMembersOutput added in v2.10.0

func (o MembersOutput) ToMembersOutput() MembersOutput

func (MembersOutput) ToMembersOutputWithContext added in v2.10.0

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

func (MembersOutput) ToMembersPtrOutput added in v2.14.1

func (o MembersOutput) ToMembersPtrOutput() MembersPtrOutput

func (MembersOutput) ToMembersPtrOutputWithContext added in v2.14.1

func (o MembersOutput) ToMembersPtrOutputWithContext(ctx context.Context) MembersPtrOutput

type MembersPtrInput added in v2.14.1

type MembersPtrInput interface {
	pulumi.Input

	ToMembersPtrOutput() MembersPtrOutput
	ToMembersPtrOutputWithContext(ctx context.Context) MembersPtrOutput
}

type MembersPtrOutput added in v2.14.1

type MembersPtrOutput struct {
	*pulumi.OutputState
}

func (MembersPtrOutput) ElementType added in v2.14.1

func (MembersPtrOutput) ElementType() reflect.Type

func (MembersPtrOutput) ToMembersPtrOutput added in v2.14.1

func (o MembersPtrOutput) ToMembersPtrOutput() MembersPtrOutput

func (MembersPtrOutput) ToMembersPtrOutputWithContext added in v2.14.1

func (o MembersPtrOutput) ToMembersPtrOutputWithContext(ctx context.Context) MembersPtrOutput

type MembersState added in v2.2.0

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 added in v2.2.0

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

```go package main

import (

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

)

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

```

## 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 added in v2.10.0

func (*Monitor) ElementType() reflect.Type

func (*Monitor) ToMonitorOutput added in v2.10.0

func (i *Monitor) ToMonitorOutput() MonitorOutput

func (*Monitor) ToMonitorOutputWithContext added in v2.10.0

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

func (*Monitor) ToMonitorPtrOutput added in v2.14.1

func (i *Monitor) ToMonitorPtrOutput() MonitorPtrOutput

func (*Monitor) ToMonitorPtrOutputWithContext added in v2.14.1

func (i *Monitor) ToMonitorPtrOutputWithContext(ctx context.Context) MonitorPtrOutput

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 added in v2.14.1

type MonitorArray []MonitorInput

func (MonitorArray) ElementType added in v2.14.1

func (MonitorArray) ElementType() reflect.Type

func (MonitorArray) ToMonitorArrayOutput added in v2.14.1

func (i MonitorArray) ToMonitorArrayOutput() MonitorArrayOutput

func (MonitorArray) ToMonitorArrayOutputWithContext added in v2.14.1

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

type MonitorArrayInput added in v2.14.1

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 added in v2.14.1

type MonitorArrayOutput struct{ *pulumi.OutputState }

func (MonitorArrayOutput) ElementType added in v2.14.1

func (MonitorArrayOutput) ElementType() reflect.Type

func (MonitorArrayOutput) Index added in v2.14.1

func (MonitorArrayOutput) ToMonitorArrayOutput added in v2.14.1

func (o MonitorArrayOutput) ToMonitorArrayOutput() MonitorArrayOutput

func (MonitorArrayOutput) ToMonitorArrayOutputWithContext added in v2.14.1

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

type MonitorInput added in v2.10.0

type MonitorInput interface {
	pulumi.Input

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

type MonitorMap added in v2.14.1

type MonitorMap map[string]MonitorInput

func (MonitorMap) ElementType added in v2.14.1

func (MonitorMap) ElementType() reflect.Type

func (MonitorMap) ToMonitorMapOutput added in v2.14.1

func (i MonitorMap) ToMonitorMapOutput() MonitorMapOutput

func (MonitorMap) ToMonitorMapOutputWithContext added in v2.14.1

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

type MonitorMapInput added in v2.14.1

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 added in v2.14.1

type MonitorMapOutput struct{ *pulumi.OutputState }

func (MonitorMapOutput) ElementType added in v2.14.1

func (MonitorMapOutput) ElementType() reflect.Type

func (MonitorMapOutput) MapIndex added in v2.14.1

func (MonitorMapOutput) ToMonitorMapOutput added in v2.14.1

func (o MonitorMapOutput) ToMonitorMapOutput() MonitorMapOutput

func (MonitorMapOutput) ToMonitorMapOutputWithContext added in v2.14.1

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

type MonitorOutput added in v2.10.0

type MonitorOutput struct {
	*pulumi.OutputState
}

func (MonitorOutput) ElementType added in v2.10.0

func (MonitorOutput) ElementType() reflect.Type

func (MonitorOutput) ToMonitorOutput added in v2.10.0

func (o MonitorOutput) ToMonitorOutput() MonitorOutput

func (MonitorOutput) ToMonitorOutputWithContext added in v2.10.0

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

func (MonitorOutput) ToMonitorPtrOutput added in v2.14.1

func (o MonitorOutput) ToMonitorPtrOutput() MonitorPtrOutput

func (MonitorOutput) ToMonitorPtrOutputWithContext added in v2.14.1

func (o MonitorOutput) ToMonitorPtrOutputWithContext(ctx context.Context) MonitorPtrOutput

type MonitorPtrInput added in v2.14.1

type MonitorPtrInput interface {
	pulumi.Input

	ToMonitorPtrOutput() MonitorPtrOutput
	ToMonitorPtrOutputWithContext(ctx context.Context) MonitorPtrOutput
}

type MonitorPtrOutput added in v2.14.1

type MonitorPtrOutput struct {
	*pulumi.OutputState
}

func (MonitorPtrOutput) ElementType added in v2.14.1

func (MonitorPtrOutput) ElementType() reflect.Type

func (MonitorPtrOutput) ToMonitorPtrOutput added in v2.14.1

func (o MonitorPtrOutput) ToMonitorPtrOutput() MonitorPtrOutput

func (MonitorPtrOutput) ToMonitorPtrOutputWithContext added in v2.14.1

func (o MonitorPtrOutput) ToMonitorPtrOutputWithContext(ctx context.Context) MonitorPtrOutput

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

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

```

## 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 added in v2.10.0

func (*MonitorV1) ElementType() reflect.Type

func (*MonitorV1) ToMonitorV1Output added in v2.10.0

func (i *MonitorV1) ToMonitorV1Output() MonitorV1Output

func (*MonitorV1) ToMonitorV1OutputWithContext added in v2.10.0

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

func (*MonitorV1) ToMonitorV1PtrOutput added in v2.14.1

func (i *MonitorV1) ToMonitorV1PtrOutput() MonitorV1PtrOutput

func (*MonitorV1) ToMonitorV1PtrOutputWithContext added in v2.14.1

func (i *MonitorV1) ToMonitorV1PtrOutputWithContext(ctx context.Context) MonitorV1PtrOutput

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 added in v2.14.1

type MonitorV1Array []MonitorV1Input

func (MonitorV1Array) ElementType added in v2.14.1

func (MonitorV1Array) ElementType() reflect.Type

func (MonitorV1Array) ToMonitorV1ArrayOutput added in v2.14.1

func (i MonitorV1Array) ToMonitorV1ArrayOutput() MonitorV1ArrayOutput

func (MonitorV1Array) ToMonitorV1ArrayOutputWithContext added in v2.14.1

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

type MonitorV1ArrayInput added in v2.14.1

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 added in v2.14.1

type MonitorV1ArrayOutput struct{ *pulumi.OutputState }

func (MonitorV1ArrayOutput) ElementType added in v2.14.1

func (MonitorV1ArrayOutput) ElementType() reflect.Type

func (MonitorV1ArrayOutput) Index added in v2.14.1

func (MonitorV1ArrayOutput) ToMonitorV1ArrayOutput added in v2.14.1

func (o MonitorV1ArrayOutput) ToMonitorV1ArrayOutput() MonitorV1ArrayOutput

func (MonitorV1ArrayOutput) ToMonitorV1ArrayOutputWithContext added in v2.14.1

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

type MonitorV1Input added in v2.10.0

type MonitorV1Input interface {
	pulumi.Input

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

type MonitorV1Map added in v2.14.1

type MonitorV1Map map[string]MonitorV1Input

func (MonitorV1Map) ElementType added in v2.14.1

func (MonitorV1Map) ElementType() reflect.Type

func (MonitorV1Map) ToMonitorV1MapOutput added in v2.14.1

func (i MonitorV1Map) ToMonitorV1MapOutput() MonitorV1MapOutput

func (MonitorV1Map) ToMonitorV1MapOutputWithContext added in v2.14.1

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

type MonitorV1MapInput added in v2.14.1

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 added in v2.14.1

type MonitorV1MapOutput struct{ *pulumi.OutputState }

func (MonitorV1MapOutput) ElementType added in v2.14.1

func (MonitorV1MapOutput) ElementType() reflect.Type

func (MonitorV1MapOutput) MapIndex added in v2.14.1

func (MonitorV1MapOutput) ToMonitorV1MapOutput added in v2.14.1

func (o MonitorV1MapOutput) ToMonitorV1MapOutput() MonitorV1MapOutput

func (MonitorV1MapOutput) ToMonitorV1MapOutputWithContext added in v2.14.1

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

type MonitorV1Output added in v2.10.0

type MonitorV1Output struct {
	*pulumi.OutputState
}

func (MonitorV1Output) ElementType added in v2.10.0

func (MonitorV1Output) ElementType() reflect.Type

func (MonitorV1Output) ToMonitorV1Output added in v2.10.0

func (o MonitorV1Output) ToMonitorV1Output() MonitorV1Output

func (MonitorV1Output) ToMonitorV1OutputWithContext added in v2.10.0

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

func (MonitorV1Output) ToMonitorV1PtrOutput added in v2.14.1

func (o MonitorV1Output) ToMonitorV1PtrOutput() MonitorV1PtrOutput

func (MonitorV1Output) ToMonitorV1PtrOutputWithContext added in v2.14.1

func (o MonitorV1Output) ToMonitorV1PtrOutputWithContext(ctx context.Context) MonitorV1PtrOutput

type MonitorV1PtrInput added in v2.14.1

type MonitorV1PtrInput interface {
	pulumi.Input

	ToMonitorV1PtrOutput() MonitorV1PtrOutput
	ToMonitorV1PtrOutputWithContext(ctx context.Context) MonitorV1PtrOutput
}

type MonitorV1PtrOutput added in v2.14.1

type MonitorV1PtrOutput struct {
	*pulumi.OutputState
}

func (MonitorV1PtrOutput) ElementType added in v2.14.1

func (MonitorV1PtrOutput) ElementType() reflect.Type

func (MonitorV1PtrOutput) ToMonitorV1PtrOutput added in v2.14.1

func (o MonitorV1PtrOutput) ToMonitorV1PtrOutput() MonitorV1PtrOutput

func (MonitorV1PtrOutput) ToMonitorV1PtrOutputWithContext added in v2.14.1

func (o MonitorV1PtrOutput) ToMonitorV1PtrOutputWithContext(ctx context.Context) MonitorV1PtrOutput

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

```

## 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 added in v2.10.0

func (*Pool) ElementType() reflect.Type

func (*Pool) ToPoolOutput added in v2.10.0

func (i *Pool) ToPoolOutput() PoolOutput

func (*Pool) ToPoolOutputWithContext added in v2.10.0

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

func (*Pool) ToPoolPtrOutput added in v2.14.1

func (i *Pool) ToPoolPtrOutput() PoolPtrOutput

func (*Pool) ToPoolPtrOutputWithContext added in v2.14.1

func (i *Pool) ToPoolPtrOutputWithContext(ctx context.Context) PoolPtrOutput

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
	// or UDP (supported only in Octavia). 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 added in v2.14.1

type PoolArray []PoolInput

func (PoolArray) ElementType added in v2.14.1

func (PoolArray) ElementType() reflect.Type

func (PoolArray) ToPoolArrayOutput added in v2.14.1

func (i PoolArray) ToPoolArrayOutput() PoolArrayOutput

func (PoolArray) ToPoolArrayOutputWithContext added in v2.14.1

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

type PoolArrayInput added in v2.14.1

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 added in v2.14.1

type PoolArrayOutput struct{ *pulumi.OutputState }

func (PoolArrayOutput) ElementType added in v2.14.1

func (PoolArrayOutput) ElementType() reflect.Type

func (PoolArrayOutput) Index added in v2.14.1

func (PoolArrayOutput) ToPoolArrayOutput added in v2.14.1

func (o PoolArrayOutput) ToPoolArrayOutput() PoolArrayOutput

func (PoolArrayOutput) ToPoolArrayOutputWithContext added in v2.14.1

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

type PoolInput added in v2.10.0

type PoolInput interface {
	pulumi.Input

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

type PoolMap added in v2.14.1

type PoolMap map[string]PoolInput

func (PoolMap) ElementType added in v2.14.1

func (PoolMap) ElementType() reflect.Type

func (PoolMap) ToPoolMapOutput added in v2.14.1

func (i PoolMap) ToPoolMapOutput() PoolMapOutput

func (PoolMap) ToPoolMapOutputWithContext added in v2.14.1

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

type PoolMapInput added in v2.14.1

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 added in v2.14.1

type PoolMapOutput struct{ *pulumi.OutputState }

func (PoolMapOutput) ElementType added in v2.14.1

func (PoolMapOutput) ElementType() reflect.Type

func (PoolMapOutput) MapIndex added in v2.14.1

func (PoolMapOutput) ToPoolMapOutput added in v2.14.1

func (o PoolMapOutput) ToPoolMapOutput() PoolMapOutput

func (PoolMapOutput) ToPoolMapOutputWithContext added in v2.14.1

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

type PoolOutput added in v2.10.0

type PoolOutput struct {
	*pulumi.OutputState
}

func (PoolOutput) ElementType added in v2.10.0

func (PoolOutput) ElementType() reflect.Type

func (PoolOutput) ToPoolOutput added in v2.10.0

func (o PoolOutput) ToPoolOutput() PoolOutput

func (PoolOutput) ToPoolOutputWithContext added in v2.10.0

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

func (PoolOutput) ToPoolPtrOutput added in v2.14.1

func (o PoolOutput) ToPoolPtrOutput() PoolPtrOutput

func (PoolOutput) ToPoolPtrOutputWithContext added in v2.14.1

func (o PoolOutput) ToPoolPtrOutputWithContext(ctx context.Context) PoolPtrOutput

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 PoolPtrInput added in v2.14.1

type PoolPtrInput interface {
	pulumi.Input

	ToPoolPtrOutput() PoolPtrOutput
	ToPoolPtrOutputWithContext(ctx context.Context) PoolPtrOutput
}

type PoolPtrOutput added in v2.14.1

type PoolPtrOutput struct {
	*pulumi.OutputState
}

func (PoolPtrOutput) ElementType added in v2.14.1

func (PoolPtrOutput) ElementType() reflect.Type

func (PoolPtrOutput) ToPoolPtrOutput added in v2.14.1

func (o PoolPtrOutput) ToPoolPtrOutput() PoolPtrOutput

func (PoolPtrOutput) ToPoolPtrOutputWithContext added in v2.14.1

func (o PoolPtrOutput) ToPoolPtrOutputWithContext(ctx context.Context) PoolPtrOutput

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
	// or UDP (supported only in Octavia). 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"`
	// 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 member. Required if admin wants to
	// create a pool member for another tenant. Changing this creates a new member.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Manages a V1 load balancer pool resource within OpenStack.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

``` ## Complete Load Balancing Stack Example

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/compute"
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/loadbalancer"
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/networking"
"github.com/pulumi/pulumi/sdk/v2/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
		}
		secgroup1, err := compute.NewSecGroup(ctx, "secgroup1", &compute.SecGroupArgs{
			Description: pulumi.String("Rules for secgroup_1"),
			Rules: compute.SecGroupRuleArray{
				&compute.SecGroupRuleArgs{
					Cidr:       pulumi.String("0.0.0.0/0"),
					FromPort:   pulumi.Int(-1),
					IpProtocol: pulumi.String("icmp"),
					ToPort:     pulumi.Int(-1),
				},
				&compute.SecGroupRuleArgs{
					Cidr:       pulumi.String("0.0.0.0/0"),
					FromPort:   pulumi.Int(80),
					IpProtocol: pulumi.String("tcp"),
					ToPort:     pulumi.Int(80),
				},
			},
		})
		if err != nil {
			return err
		}
		instance1, err := compute.NewInstance(ctx, "instance1", &compute.InstanceArgs{
			Networks: compute.InstanceNetworkArray{
				&compute.InstanceNetworkArgs{
					Uuid: network1.ID(),
				},
			},
			SecurityGroups: pulumi.Array{
				pulumi.String("default"),
				secgroup1.Name,
			},
		})
		if err != nil {
			return err
		}
		instance2, err := compute.NewInstance(ctx, "instance2", &compute.InstanceArgs{
			Networks: compute.InstanceNetworkArray{
				&compute.InstanceNetworkArgs{
					Uuid: network1.ID(),
				},
			},
			SecurityGroups: pulumi.Array{
				pulumi.String("default"),
				secgroup1.Name,
			},
		})
		if err != nil {
			return err
		}
		monitor1, 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("TCP"),
		})
		if err != nil {
			return err
		}
		pool1, err := loadbalancer.NewPoolV1(ctx, "pool1", &loadbalancer.PoolV1Args{
			LbMethod: pulumi.String("ROUND_ROBIN"),
			MonitorIds: pulumi.StringArray{
				monitor1.ID(),
			},
			Protocol: pulumi.String("TCP"),
			SubnetId: subnet1.ID(),
		})
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewMemberV1(ctx, "member1", &loadbalancer.MemberV1Args{
			Address: instance1.AccessIpV4,
			PoolId:  pool1.ID(),
			Port:    pulumi.Int(80),
		})
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewMemberV1(ctx, "member2", &loadbalancer.MemberV1Args{
			Address: instance2.AccessIpV4,
			PoolId:  pool1.ID(),
			Port:    pulumi.Int(80),
		})
		if err != nil {
			return err
		}
		_, err = loadbalancer.NewVip(ctx, "vip1", &loadbalancer.VipArgs{
			PoolId:   pool1.ID(),
			Port:     pulumi.Int(80),
			Protocol: pulumi.String("TCP"),
			SubnetId: subnet1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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 added in v2.10.0

func (*PoolV1) ElementType() reflect.Type

func (*PoolV1) ToPoolV1Output added in v2.10.0

func (i *PoolV1) ToPoolV1Output() PoolV1Output

func (*PoolV1) ToPoolV1OutputWithContext added in v2.10.0

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

func (*PoolV1) ToPoolV1PtrOutput added in v2.14.1

func (i *PoolV1) ToPoolV1PtrOutput() PoolV1PtrOutput

func (*PoolV1) ToPoolV1PtrOutputWithContext added in v2.14.1

func (i *PoolV1) ToPoolV1PtrOutputWithContext(ctx context.Context) PoolV1PtrOutput

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
	// 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 member. Required if admin wants to
	// create a pool member for another tenant. Changing this creates a new member.
	TenantId pulumi.StringPtrInput
}

The set of arguments for constructing a PoolV1 resource.

func (PoolV1Args) ElementType

func (PoolV1Args) ElementType() reflect.Type

type PoolV1Array added in v2.14.1

type PoolV1Array []PoolV1Input

func (PoolV1Array) ElementType added in v2.14.1

func (PoolV1Array) ElementType() reflect.Type

func (PoolV1Array) ToPoolV1ArrayOutput added in v2.14.1

func (i PoolV1Array) ToPoolV1ArrayOutput() PoolV1ArrayOutput

func (PoolV1Array) ToPoolV1ArrayOutputWithContext added in v2.14.1

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

type PoolV1ArrayInput added in v2.14.1

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 added in v2.14.1

type PoolV1ArrayOutput struct{ *pulumi.OutputState }

func (PoolV1ArrayOutput) ElementType added in v2.14.1

func (PoolV1ArrayOutput) ElementType() reflect.Type

func (PoolV1ArrayOutput) Index added in v2.14.1

func (PoolV1ArrayOutput) ToPoolV1ArrayOutput added in v2.14.1

func (o PoolV1ArrayOutput) ToPoolV1ArrayOutput() PoolV1ArrayOutput

func (PoolV1ArrayOutput) ToPoolV1ArrayOutputWithContext added in v2.14.1

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

type PoolV1Input added in v2.10.0

type PoolV1Input interface {
	pulumi.Input

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

type PoolV1Map added in v2.14.1

type PoolV1Map map[string]PoolV1Input

func (PoolV1Map) ElementType added in v2.14.1

func (PoolV1Map) ElementType() reflect.Type

func (PoolV1Map) ToPoolV1MapOutput added in v2.14.1

func (i PoolV1Map) ToPoolV1MapOutput() PoolV1MapOutput

func (PoolV1Map) ToPoolV1MapOutputWithContext added in v2.14.1

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

type PoolV1MapInput added in v2.14.1

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 added in v2.14.1

type PoolV1MapOutput struct{ *pulumi.OutputState }

func (PoolV1MapOutput) ElementType added in v2.14.1

func (PoolV1MapOutput) ElementType() reflect.Type

func (PoolV1MapOutput) MapIndex added in v2.14.1

func (PoolV1MapOutput) ToPoolV1MapOutput added in v2.14.1

func (o PoolV1MapOutput) ToPoolV1MapOutput() PoolV1MapOutput

func (PoolV1MapOutput) ToPoolV1MapOutputWithContext added in v2.14.1

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

type PoolV1Output added in v2.10.0

type PoolV1Output struct {
	*pulumi.OutputState
}

func (PoolV1Output) ElementType added in v2.10.0

func (PoolV1Output) ElementType() reflect.Type

func (PoolV1Output) ToPoolV1Output added in v2.10.0

func (o PoolV1Output) ToPoolV1Output() PoolV1Output

func (PoolV1Output) ToPoolV1OutputWithContext added in v2.10.0

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

func (PoolV1Output) ToPoolV1PtrOutput added in v2.14.1

func (o PoolV1Output) ToPoolV1PtrOutput() PoolV1PtrOutput

func (PoolV1Output) ToPoolV1PtrOutputWithContext added in v2.14.1

func (o PoolV1Output) ToPoolV1PtrOutputWithContext(ctx context.Context) PoolV1PtrOutput

type PoolV1PtrInput added in v2.14.1

type PoolV1PtrInput interface {
	pulumi.Input

	ToPoolV1PtrOutput() PoolV1PtrOutput
	ToPoolV1PtrOutputWithContext(ctx context.Context) PoolV1PtrOutput
}

type PoolV1PtrOutput added in v2.14.1

type PoolV1PtrOutput struct {
	*pulumi.OutputState
}

func (PoolV1PtrOutput) ElementType added in v2.14.1

func (PoolV1PtrOutput) ElementType() reflect.Type

func (PoolV1PtrOutput) ToPoolV1PtrOutput added in v2.14.1

func (o PoolV1PtrOutput) ToPoolV1PtrOutput() PoolV1PtrOutput

func (PoolV1PtrOutput) ToPoolV1PtrOutputWithContext added in v2.14.1

func (o PoolV1PtrOutput) ToPoolV1PtrOutputWithContext(ctx context.Context) PoolV1PtrOutput

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
	// 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 member. Required if admin wants to
	// create a pool member for another tenant. Changing this creates a new member.
	TenantId pulumi.StringPtrInput
}

func (PoolV1State) ElementType

func (PoolV1State) ElementType() reflect.Type

type Quota added in v2.15.0

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity"
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v2/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{
			HealthMonitor: pulumi.Int(10),
			L7Policy:      pulumi.Int(11),
			L7Rule:        pulumi.Int(12),
			Listener:      pulumi.Int(7),
			Loadbalancer:  pulumi.Int(6),
			Member:        pulumi.Int(8),
			Pool:          pulumi.Int(9),
			ProjectId:     project1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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 added in v2.15.0

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 added in v2.15.0

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 added in v2.15.0

func (*Quota) ElementType() reflect.Type

func (*Quota) ToQuotaOutput added in v2.15.0

func (i *Quota) ToQuotaOutput() QuotaOutput

func (*Quota) ToQuotaOutputWithContext added in v2.15.0

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

func (*Quota) ToQuotaPtrOutput added in v2.15.0

func (i *Quota) ToQuotaPtrOutput() QuotaPtrOutput

func (*Quota) ToQuotaPtrOutputWithContext added in v2.15.0

func (i *Quota) ToQuotaPtrOutputWithContext(ctx context.Context) QuotaPtrOutput

type QuotaArgs added in v2.15.0

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 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 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 added in v2.15.0

func (QuotaArgs) ElementType() reflect.Type

type QuotaArray added in v2.15.0

type QuotaArray []QuotaInput

func (QuotaArray) ElementType added in v2.15.0

func (QuotaArray) ElementType() reflect.Type

func (QuotaArray) ToQuotaArrayOutput added in v2.15.0

func (i QuotaArray) ToQuotaArrayOutput() QuotaArrayOutput

func (QuotaArray) ToQuotaArrayOutputWithContext added in v2.15.0

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

type QuotaArrayInput added in v2.15.0

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 added in v2.15.0

type QuotaArrayOutput struct{ *pulumi.OutputState }

func (QuotaArrayOutput) ElementType added in v2.15.0

func (QuotaArrayOutput) ElementType() reflect.Type

func (QuotaArrayOutput) Index added in v2.15.0

func (QuotaArrayOutput) ToQuotaArrayOutput added in v2.15.0

func (o QuotaArrayOutput) ToQuotaArrayOutput() QuotaArrayOutput

func (QuotaArrayOutput) ToQuotaArrayOutputWithContext added in v2.15.0

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

type QuotaInput added in v2.15.0

type QuotaInput interface {
	pulumi.Input

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

type QuotaMap added in v2.15.0

type QuotaMap map[string]QuotaInput

func (QuotaMap) ElementType added in v2.15.0

func (QuotaMap) ElementType() reflect.Type

func (QuotaMap) ToQuotaMapOutput added in v2.15.0

func (i QuotaMap) ToQuotaMapOutput() QuotaMapOutput

func (QuotaMap) ToQuotaMapOutputWithContext added in v2.15.0

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

type QuotaMapInput added in v2.15.0

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 added in v2.15.0

type QuotaMapOutput struct{ *pulumi.OutputState }

func (QuotaMapOutput) ElementType added in v2.15.0

func (QuotaMapOutput) ElementType() reflect.Type

func (QuotaMapOutput) MapIndex added in v2.15.0

func (QuotaMapOutput) ToQuotaMapOutput added in v2.15.0

func (o QuotaMapOutput) ToQuotaMapOutput() QuotaMapOutput

func (QuotaMapOutput) ToQuotaMapOutputWithContext added in v2.15.0

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

type QuotaOutput added in v2.15.0

type QuotaOutput struct {
	*pulumi.OutputState
}

func (QuotaOutput) ElementType added in v2.15.0

func (QuotaOutput) ElementType() reflect.Type

func (QuotaOutput) ToQuotaOutput added in v2.15.0

func (o QuotaOutput) ToQuotaOutput() QuotaOutput

func (QuotaOutput) ToQuotaOutputWithContext added in v2.15.0

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

func (QuotaOutput) ToQuotaPtrOutput added in v2.15.0

func (o QuotaOutput) ToQuotaPtrOutput() QuotaPtrOutput

func (QuotaOutput) ToQuotaPtrOutputWithContext added in v2.15.0

func (o QuotaOutput) ToQuotaPtrOutputWithContext(ctx context.Context) QuotaPtrOutput

type QuotaPtrInput added in v2.15.0

type QuotaPtrInput interface {
	pulumi.Input

	ToQuotaPtrOutput() QuotaPtrOutput
	ToQuotaPtrOutputWithContext(ctx context.Context) QuotaPtrOutput
}

type QuotaPtrOutput added in v2.15.0

type QuotaPtrOutput struct {
	*pulumi.OutputState
}

func (QuotaPtrOutput) ElementType added in v2.15.0

func (QuotaPtrOutput) ElementType() reflect.Type

func (QuotaPtrOutput) ToQuotaPtrOutput added in v2.15.0

func (o QuotaPtrOutput) ToQuotaPtrOutput() QuotaPtrOutput

func (QuotaPtrOutput) ToQuotaPtrOutputWithContext added in v2.15.0

func (o QuotaPtrOutput) ToQuotaPtrOutputWithContext(ctx context.Context) QuotaPtrOutput

type QuotaState added in v2.15.0

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 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 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 added in v2.15.0

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

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/loadbalancer"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

```

## 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 added in v2.10.0

func (*Vip) ElementType() reflect.Type

func (*Vip) ToVipOutput added in v2.10.0

func (i *Vip) ToVipOutput() VipOutput

func (*Vip) ToVipOutputWithContext added in v2.10.0

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

func (*Vip) ToVipPtrOutput added in v2.14.1

func (i *Vip) ToVipPtrOutput() VipPtrOutput

func (*Vip) ToVipPtrOutputWithContext added in v2.14.1

func (i *Vip) ToVipPtrOutputWithContext(ctx context.Context) VipPtrOutput

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 added in v2.14.1

type VipArray []VipInput

func (VipArray) ElementType added in v2.14.1

func (VipArray) ElementType() reflect.Type

func (VipArray) ToVipArrayOutput added in v2.14.1

func (i VipArray) ToVipArrayOutput() VipArrayOutput

func (VipArray) ToVipArrayOutputWithContext added in v2.14.1

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

type VipArrayInput added in v2.14.1

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 added in v2.14.1

type VipArrayOutput struct{ *pulumi.OutputState }

func (VipArrayOutput) ElementType added in v2.14.1

func (VipArrayOutput) ElementType() reflect.Type

func (VipArrayOutput) Index added in v2.14.1

func (VipArrayOutput) ToVipArrayOutput added in v2.14.1

func (o VipArrayOutput) ToVipArrayOutput() VipArrayOutput

func (VipArrayOutput) ToVipArrayOutputWithContext added in v2.14.1

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

type VipInput added in v2.10.0

type VipInput interface {
	pulumi.Input

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

type VipMap added in v2.14.1

type VipMap map[string]VipInput

func (VipMap) ElementType added in v2.14.1

func (VipMap) ElementType() reflect.Type

func (VipMap) ToVipMapOutput added in v2.14.1

func (i VipMap) ToVipMapOutput() VipMapOutput

func (VipMap) ToVipMapOutputWithContext added in v2.14.1

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

type VipMapInput added in v2.14.1

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 added in v2.14.1

type VipMapOutput struct{ *pulumi.OutputState }

func (VipMapOutput) ElementType added in v2.14.1

func (VipMapOutput) ElementType() reflect.Type

func (VipMapOutput) MapIndex added in v2.14.1

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

func (VipMapOutput) ToVipMapOutput added in v2.14.1

func (o VipMapOutput) ToVipMapOutput() VipMapOutput

func (VipMapOutput) ToVipMapOutputWithContext added in v2.14.1

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

type VipOutput added in v2.10.0

type VipOutput struct {
	*pulumi.OutputState
}

func (VipOutput) ElementType added in v2.10.0

func (VipOutput) ElementType() reflect.Type

func (VipOutput) ToVipOutput added in v2.10.0

func (o VipOutput) ToVipOutput() VipOutput

func (VipOutput) ToVipOutputWithContext added in v2.10.0

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

func (VipOutput) ToVipPtrOutput added in v2.14.1

func (o VipOutput) ToVipPtrOutput() VipPtrOutput

func (VipOutput) ToVipPtrOutputWithContext added in v2.14.1

func (o VipOutput) ToVipPtrOutputWithContext(ctx context.Context) VipPtrOutput

type VipPtrInput added in v2.14.1

type VipPtrInput interface {
	pulumi.Input

	ToVipPtrOutput() VipPtrOutput
	ToVipPtrOutputWithContext(ctx context.Context) VipPtrOutput
}

type VipPtrOutput added in v2.14.1

type VipPtrOutput struct {
	*pulumi.OutputState
}

func (VipPtrOutput) ElementType added in v2.14.1

func (VipPtrOutput) ElementType() reflect.Type

func (VipPtrOutput) ToVipPtrOutput added in v2.14.1

func (o VipPtrOutput) ToVipPtrOutput() VipPtrOutput

func (VipPtrOutput) ToVipPtrOutputWithContext added in v2.14.1

func (o VipPtrOutput) ToVipPtrOutputWithContext(ctx context.Context) VipPtrOutput

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