slb

package
v2.35.1 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 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 Acl

type Acl struct {
	pulumi.CustomResourceState

	// A list of entry (IP addresses or CIDR blocks) to be added. At most 50 etnry can be supported in one resource. It contains two sub-fields as `Entry Block` follows.
	EntryLists AclEntryListArrayOutput `pulumi:"entryLists"`
	// The IP Version of access control list is the type of its entry (IP addresses or CIDR blocks). It values ipv4/ipv6. Our plugin provides a default ip_version: "ipv4".
	IpVersion pulumi.StringPtrOutput `pulumi:"ipVersion"`
	// Name of the access control list.
	Name pulumi.StringOutput `pulumi:"name"`
	// Resource group ID.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

An access control list contains multiple IP addresses or CIDR blocks. The access control list can help you to define multiple instance listening dimension, and to meet the multiple usage for single access control list.

Server Load Balancer allows you to configure access control for listeners. You can configure different whitelists or blacklists for different listeners.

You can configure access control when you create a listener or change access control configuration after a listener is created.

> **NOTE:** One access control list can be attached to many Listeners in different load balancer as whitelists or blacklists.

> **NOTE:** The maximum number of access control lists per region is 50.

> **NOTE:** The maximum number of IP addresses added each time is 50.

> **NOTE:** The maximum number of entries per access control list is 300.

> **NOTE:** The maximum number of listeners that an access control list can be added to is 50.

For information about slb and how to use it, see [What is Server Load Balancer](https://www.alibabacloud.com/help/doc-detail/27539.htm).

For information about acl and how to use it, see [Configure an access control list](https://www.alibabacloud.com/help/doc-detail/85978.htm).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraformslbaclconfig"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		ipVersion := "ipv4"
		if param := cfg.Get("ipVersion"); param != "" {
			ipVersion = param
		}
		_, err := slb.NewAcl(ctx, "_default", &slb.AclArgs{
			IpVersion: pulumi.String(ipVersion),
			EntryLists: slb.AclEntryListArray{
				&slb.AclEntryListArgs{
					Entry:   pulumi.String("10.10.10.0/24"),
					Comment: pulumi.String("first"),
				},
				&slb.AclEntryListArgs{
					Entry:   pulumi.String("168.10.10.0/24"),
					Comment: pulumi.String("second"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Entry Block

The entry mapping supports the following:

* `entry` - (Required) An IP addresses or CIDR blocks. * `comment` - (Optional) the comment of the entry.

## Import

Server Load balancer access control list can be imported using the id, e.g.

```sh

$ pulumi import alicloud:slb/acl:Acl example acl-abc123456

```

func GetAcl

func GetAcl(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AclState, opts ...pulumi.ResourceOption) (*Acl, error)

GetAcl gets an existing Acl 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 NewAcl

func NewAcl(ctx *pulumi.Context,
	name string, args *AclArgs, opts ...pulumi.ResourceOption) (*Acl, error)

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

func (*Acl) ElementType added in v2.25.1

func (*Acl) ElementType() reflect.Type

func (*Acl) ToAclOutput added in v2.25.1

func (i *Acl) ToAclOutput() AclOutput

func (*Acl) ToAclOutputWithContext added in v2.25.1

func (i *Acl) ToAclOutputWithContext(ctx context.Context) AclOutput

func (*Acl) ToAclPtrOutput added in v2.35.1

func (i *Acl) ToAclPtrOutput() AclPtrOutput

func (*Acl) ToAclPtrOutputWithContext added in v2.35.1

func (i *Acl) ToAclPtrOutputWithContext(ctx context.Context) AclPtrOutput

type AclArgs

type AclArgs struct {
	// A list of entry (IP addresses or CIDR blocks) to be added. At most 50 etnry can be supported in one resource. It contains two sub-fields as `Entry Block` follows.
	EntryLists AclEntryListArrayInput
	// The IP Version of access control list is the type of its entry (IP addresses or CIDR blocks). It values ipv4/ipv6. Our plugin provides a default ip_version: "ipv4".
	IpVersion pulumi.StringPtrInput
	// Name of the access control list.
	Name pulumi.StringPtrInput
	// Resource group ID.
	ResourceGroupId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

The set of arguments for constructing a Acl resource.

func (AclArgs) ElementType

func (AclArgs) ElementType() reflect.Type

type AclArray added in v2.35.1

type AclArray []AclInput

func (AclArray) ElementType added in v2.35.1

func (AclArray) ElementType() reflect.Type

func (AclArray) ToAclArrayOutput added in v2.35.1

func (i AclArray) ToAclArrayOutput() AclArrayOutput

func (AclArray) ToAclArrayOutputWithContext added in v2.35.1

func (i AclArray) ToAclArrayOutputWithContext(ctx context.Context) AclArrayOutput

type AclArrayInput added in v2.35.1

type AclArrayInput interface {
	pulumi.Input

	ToAclArrayOutput() AclArrayOutput
	ToAclArrayOutputWithContext(context.Context) AclArrayOutput
}

AclArrayInput is an input type that accepts AclArray and AclArrayOutput values. You can construct a concrete instance of `AclArrayInput` via:

AclArray{ AclArgs{...} }

type AclArrayOutput added in v2.35.1

type AclArrayOutput struct{ *pulumi.OutputState }

func (AclArrayOutput) ElementType added in v2.35.1

func (AclArrayOutput) ElementType() reflect.Type

func (AclArrayOutput) Index added in v2.35.1

func (AclArrayOutput) ToAclArrayOutput added in v2.35.1

func (o AclArrayOutput) ToAclArrayOutput() AclArrayOutput

func (AclArrayOutput) ToAclArrayOutputWithContext added in v2.35.1

func (o AclArrayOutput) ToAclArrayOutputWithContext(ctx context.Context) AclArrayOutput

type AclEntryList

type AclEntryList struct {
	Comment *string `pulumi:"comment"`
	Entry   string  `pulumi:"entry"`
}

type AclEntryListArgs

type AclEntryListArgs struct {
	Comment pulumi.StringPtrInput `pulumi:"comment"`
	Entry   pulumi.StringInput    `pulumi:"entry"`
}

func (AclEntryListArgs) ElementType

func (AclEntryListArgs) ElementType() reflect.Type

func (AclEntryListArgs) ToAclEntryListOutput

func (i AclEntryListArgs) ToAclEntryListOutput() AclEntryListOutput

func (AclEntryListArgs) ToAclEntryListOutputWithContext

func (i AclEntryListArgs) ToAclEntryListOutputWithContext(ctx context.Context) AclEntryListOutput

type AclEntryListArray

type AclEntryListArray []AclEntryListInput

func (AclEntryListArray) ElementType

func (AclEntryListArray) ElementType() reflect.Type

func (AclEntryListArray) ToAclEntryListArrayOutput

func (i AclEntryListArray) ToAclEntryListArrayOutput() AclEntryListArrayOutput

func (AclEntryListArray) ToAclEntryListArrayOutputWithContext

func (i AclEntryListArray) ToAclEntryListArrayOutputWithContext(ctx context.Context) AclEntryListArrayOutput

type AclEntryListArrayInput

type AclEntryListArrayInput interface {
	pulumi.Input

	ToAclEntryListArrayOutput() AclEntryListArrayOutput
	ToAclEntryListArrayOutputWithContext(context.Context) AclEntryListArrayOutput
}

AclEntryListArrayInput is an input type that accepts AclEntryListArray and AclEntryListArrayOutput values. You can construct a concrete instance of `AclEntryListArrayInput` via:

AclEntryListArray{ AclEntryListArgs{...} }

type AclEntryListArrayOutput

type AclEntryListArrayOutput struct{ *pulumi.OutputState }

func (AclEntryListArrayOutput) ElementType

func (AclEntryListArrayOutput) ElementType() reflect.Type

func (AclEntryListArrayOutput) Index

func (AclEntryListArrayOutput) ToAclEntryListArrayOutput

func (o AclEntryListArrayOutput) ToAclEntryListArrayOutput() AclEntryListArrayOutput

func (AclEntryListArrayOutput) ToAclEntryListArrayOutputWithContext

func (o AclEntryListArrayOutput) ToAclEntryListArrayOutputWithContext(ctx context.Context) AclEntryListArrayOutput

type AclEntryListInput

type AclEntryListInput interface {
	pulumi.Input

	ToAclEntryListOutput() AclEntryListOutput
	ToAclEntryListOutputWithContext(context.Context) AclEntryListOutput
}

AclEntryListInput is an input type that accepts AclEntryListArgs and AclEntryListOutput values. You can construct a concrete instance of `AclEntryListInput` via:

AclEntryListArgs{...}

type AclEntryListOutput

type AclEntryListOutput struct{ *pulumi.OutputState }

func (AclEntryListOutput) Comment

func (AclEntryListOutput) ElementType

func (AclEntryListOutput) ElementType() reflect.Type

func (AclEntryListOutput) Entry

func (AclEntryListOutput) ToAclEntryListOutput

func (o AclEntryListOutput) ToAclEntryListOutput() AclEntryListOutput

func (AclEntryListOutput) ToAclEntryListOutputWithContext

func (o AclEntryListOutput) ToAclEntryListOutputWithContext(ctx context.Context) AclEntryListOutput

type AclInput added in v2.25.1

type AclInput interface {
	pulumi.Input

	ToAclOutput() AclOutput
	ToAclOutputWithContext(ctx context.Context) AclOutput
}

type AclMap added in v2.35.1

type AclMap map[string]AclInput

func (AclMap) ElementType added in v2.35.1

func (AclMap) ElementType() reflect.Type

func (AclMap) ToAclMapOutput added in v2.35.1

func (i AclMap) ToAclMapOutput() AclMapOutput

func (AclMap) ToAclMapOutputWithContext added in v2.35.1

func (i AclMap) ToAclMapOutputWithContext(ctx context.Context) AclMapOutput

type AclMapInput added in v2.35.1

type AclMapInput interface {
	pulumi.Input

	ToAclMapOutput() AclMapOutput
	ToAclMapOutputWithContext(context.Context) AclMapOutput
}

AclMapInput is an input type that accepts AclMap and AclMapOutput values. You can construct a concrete instance of `AclMapInput` via:

AclMap{ "key": AclArgs{...} }

type AclMapOutput added in v2.35.1

type AclMapOutput struct{ *pulumi.OutputState }

func (AclMapOutput) ElementType added in v2.35.1

func (AclMapOutput) ElementType() reflect.Type

func (AclMapOutput) MapIndex added in v2.35.1

func (o AclMapOutput) MapIndex(k pulumi.StringInput) AclOutput

func (AclMapOutput) ToAclMapOutput added in v2.35.1

func (o AclMapOutput) ToAclMapOutput() AclMapOutput

func (AclMapOutput) ToAclMapOutputWithContext added in v2.35.1

func (o AclMapOutput) ToAclMapOutputWithContext(ctx context.Context) AclMapOutput

type AclOutput added in v2.25.1

type AclOutput struct {
	*pulumi.OutputState
}

func (AclOutput) ElementType added in v2.25.1

func (AclOutput) ElementType() reflect.Type

func (AclOutput) ToAclOutput added in v2.25.1

func (o AclOutput) ToAclOutput() AclOutput

func (AclOutput) ToAclOutputWithContext added in v2.25.1

func (o AclOutput) ToAclOutputWithContext(ctx context.Context) AclOutput

func (AclOutput) ToAclPtrOutput added in v2.35.1

func (o AclOutput) ToAclPtrOutput() AclPtrOutput

func (AclOutput) ToAclPtrOutputWithContext added in v2.35.1

func (o AclOutput) ToAclPtrOutputWithContext(ctx context.Context) AclPtrOutput

type AclPtrInput added in v2.35.1

type AclPtrInput interface {
	pulumi.Input

	ToAclPtrOutput() AclPtrOutput
	ToAclPtrOutputWithContext(ctx context.Context) AclPtrOutput
}

type AclPtrOutput added in v2.35.1

type AclPtrOutput struct {
	*pulumi.OutputState
}

func (AclPtrOutput) ElementType added in v2.35.1

func (AclPtrOutput) ElementType() reflect.Type

func (AclPtrOutput) ToAclPtrOutput added in v2.35.1

func (o AclPtrOutput) ToAclPtrOutput() AclPtrOutput

func (AclPtrOutput) ToAclPtrOutputWithContext added in v2.35.1

func (o AclPtrOutput) ToAclPtrOutputWithContext(ctx context.Context) AclPtrOutput

type AclState

type AclState struct {
	// A list of entry (IP addresses or CIDR blocks) to be added. At most 50 etnry can be supported in one resource. It contains two sub-fields as `Entry Block` follows.
	EntryLists AclEntryListArrayInput
	// The IP Version of access control list is the type of its entry (IP addresses or CIDR blocks). It values ipv4/ipv6. Our plugin provides a default ip_version: "ipv4".
	IpVersion pulumi.StringPtrInput
	// Name of the access control list.
	Name pulumi.StringPtrInput
	// Resource group ID.
	ResourceGroupId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

func (AclState) ElementType

func (AclState) ElementType() reflect.Type

type Attachment

type Attachment struct {
	pulumi.CustomResourceState

	// The backend servers of the load balancer.
	BackendServers pulumi.StringOutput `pulumi:"backendServers"`
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrOutput `pulumi:"deleteProtectionValidation"`
	// A list of instance ids to added backend server in the SLB.
	InstanceIds pulumi.StringArrayOutput `pulumi:"instanceIds"`
	// ID of the load balancer.
	LoadBalancerId pulumi.StringOutput `pulumi:"loadBalancerId"`
	// Type of the instances. Valid value ecs, eni. Default to ecs.
	ServerType pulumi.StringPtrOutput `pulumi:"serverType"`
	// Weight of the instances. Valid value range: [0-100]. Default to 100.
	Weight pulumi.IntPtrOutput `pulumi:"weight"`
}

## Import

Load balancer attachment can be imported using the id or load balancer id, e.g.

```sh

$ pulumi import alicloud:slb/attachment:Attachment example lb-abc123456

```

func GetAttachment

func GetAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AttachmentState, opts ...pulumi.ResourceOption) (*Attachment, error)

GetAttachment gets an existing Attachment 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 NewAttachment

func NewAttachment(ctx *pulumi.Context,
	name string, args *AttachmentArgs, opts ...pulumi.ResourceOption) (*Attachment, error)

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

func (*Attachment) ElementType added in v2.25.1

func (*Attachment) ElementType() reflect.Type

func (*Attachment) ToAttachmentOutput added in v2.25.1

func (i *Attachment) ToAttachmentOutput() AttachmentOutput

func (*Attachment) ToAttachmentOutputWithContext added in v2.25.1

func (i *Attachment) ToAttachmentOutputWithContext(ctx context.Context) AttachmentOutput

func (*Attachment) ToAttachmentPtrOutput added in v2.35.1

func (i *Attachment) ToAttachmentPtrOutput() AttachmentPtrOutput

func (*Attachment) ToAttachmentPtrOutputWithContext added in v2.35.1

func (i *Attachment) ToAttachmentPtrOutputWithContext(ctx context.Context) AttachmentPtrOutput

type AttachmentArgs

type AttachmentArgs struct {
	// The backend servers of the load balancer.
	BackendServers pulumi.StringPtrInput
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// A list of instance ids to added backend server in the SLB.
	InstanceIds pulumi.StringArrayInput
	// ID of the load balancer.
	LoadBalancerId pulumi.StringInput
	// Type of the instances. Valid value ecs, eni. Default to ecs.
	ServerType pulumi.StringPtrInput
	// Weight of the instances. Valid value range: [0-100]. Default to 100.
	Weight pulumi.IntPtrInput
}

The set of arguments for constructing a Attachment resource.

func (AttachmentArgs) ElementType

func (AttachmentArgs) ElementType() reflect.Type

type AttachmentArray added in v2.35.1

type AttachmentArray []AttachmentInput

func (AttachmentArray) ElementType added in v2.35.1

func (AttachmentArray) ElementType() reflect.Type

func (AttachmentArray) ToAttachmentArrayOutput added in v2.35.1

func (i AttachmentArray) ToAttachmentArrayOutput() AttachmentArrayOutput

func (AttachmentArray) ToAttachmentArrayOutputWithContext added in v2.35.1

func (i AttachmentArray) ToAttachmentArrayOutputWithContext(ctx context.Context) AttachmentArrayOutput

type AttachmentArrayInput added in v2.35.1

type AttachmentArrayInput interface {
	pulumi.Input

	ToAttachmentArrayOutput() AttachmentArrayOutput
	ToAttachmentArrayOutputWithContext(context.Context) AttachmentArrayOutput
}

AttachmentArrayInput is an input type that accepts AttachmentArray and AttachmentArrayOutput values. You can construct a concrete instance of `AttachmentArrayInput` via:

AttachmentArray{ AttachmentArgs{...} }

type AttachmentArrayOutput added in v2.35.1

type AttachmentArrayOutput struct{ *pulumi.OutputState }

func (AttachmentArrayOutput) ElementType added in v2.35.1

func (AttachmentArrayOutput) ElementType() reflect.Type

func (AttachmentArrayOutput) Index added in v2.35.1

func (AttachmentArrayOutput) ToAttachmentArrayOutput added in v2.35.1

func (o AttachmentArrayOutput) ToAttachmentArrayOutput() AttachmentArrayOutput

func (AttachmentArrayOutput) ToAttachmentArrayOutputWithContext added in v2.35.1

func (o AttachmentArrayOutput) ToAttachmentArrayOutputWithContext(ctx context.Context) AttachmentArrayOutput

type AttachmentInput added in v2.25.1

type AttachmentInput interface {
	pulumi.Input

	ToAttachmentOutput() AttachmentOutput
	ToAttachmentOutputWithContext(ctx context.Context) AttachmentOutput
}

type AttachmentMap added in v2.35.1

type AttachmentMap map[string]AttachmentInput

func (AttachmentMap) ElementType added in v2.35.1

func (AttachmentMap) ElementType() reflect.Type

func (AttachmentMap) ToAttachmentMapOutput added in v2.35.1

func (i AttachmentMap) ToAttachmentMapOutput() AttachmentMapOutput

func (AttachmentMap) ToAttachmentMapOutputWithContext added in v2.35.1

func (i AttachmentMap) ToAttachmentMapOutputWithContext(ctx context.Context) AttachmentMapOutput

type AttachmentMapInput added in v2.35.1

type AttachmentMapInput interface {
	pulumi.Input

	ToAttachmentMapOutput() AttachmentMapOutput
	ToAttachmentMapOutputWithContext(context.Context) AttachmentMapOutput
}

AttachmentMapInput is an input type that accepts AttachmentMap and AttachmentMapOutput values. You can construct a concrete instance of `AttachmentMapInput` via:

AttachmentMap{ "key": AttachmentArgs{...} }

type AttachmentMapOutput added in v2.35.1

type AttachmentMapOutput struct{ *pulumi.OutputState }

func (AttachmentMapOutput) ElementType added in v2.35.1

func (AttachmentMapOutput) ElementType() reflect.Type

func (AttachmentMapOutput) MapIndex added in v2.35.1

func (AttachmentMapOutput) ToAttachmentMapOutput added in v2.35.1

func (o AttachmentMapOutput) ToAttachmentMapOutput() AttachmentMapOutput

func (AttachmentMapOutput) ToAttachmentMapOutputWithContext added in v2.35.1

func (o AttachmentMapOutput) ToAttachmentMapOutputWithContext(ctx context.Context) AttachmentMapOutput

type AttachmentOutput added in v2.25.1

type AttachmentOutput struct {
	*pulumi.OutputState
}

func (AttachmentOutput) ElementType added in v2.25.1

func (AttachmentOutput) ElementType() reflect.Type

func (AttachmentOutput) ToAttachmentOutput added in v2.25.1

func (o AttachmentOutput) ToAttachmentOutput() AttachmentOutput

func (AttachmentOutput) ToAttachmentOutputWithContext added in v2.25.1

func (o AttachmentOutput) ToAttachmentOutputWithContext(ctx context.Context) AttachmentOutput

func (AttachmentOutput) ToAttachmentPtrOutput added in v2.35.1

func (o AttachmentOutput) ToAttachmentPtrOutput() AttachmentPtrOutput

func (AttachmentOutput) ToAttachmentPtrOutputWithContext added in v2.35.1

func (o AttachmentOutput) ToAttachmentPtrOutputWithContext(ctx context.Context) AttachmentPtrOutput

type AttachmentPtrInput added in v2.35.1

type AttachmentPtrInput interface {
	pulumi.Input

	ToAttachmentPtrOutput() AttachmentPtrOutput
	ToAttachmentPtrOutputWithContext(ctx context.Context) AttachmentPtrOutput
}

type AttachmentPtrOutput added in v2.35.1

type AttachmentPtrOutput struct {
	*pulumi.OutputState
}

func (AttachmentPtrOutput) ElementType added in v2.35.1

func (AttachmentPtrOutput) ElementType() reflect.Type

func (AttachmentPtrOutput) ToAttachmentPtrOutput added in v2.35.1

func (o AttachmentPtrOutput) ToAttachmentPtrOutput() AttachmentPtrOutput

func (AttachmentPtrOutput) ToAttachmentPtrOutputWithContext added in v2.35.1

func (o AttachmentPtrOutput) ToAttachmentPtrOutputWithContext(ctx context.Context) AttachmentPtrOutput

type AttachmentState

type AttachmentState struct {
	// The backend servers of the load balancer.
	BackendServers pulumi.StringPtrInput
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// A list of instance ids to added backend server in the SLB.
	InstanceIds pulumi.StringArrayInput
	// ID of the load balancer.
	LoadBalancerId pulumi.StringPtrInput
	// Type of the instances. Valid value ecs, eni. Default to ecs.
	ServerType pulumi.StringPtrInput
	// Weight of the instances. Valid value range: [0-100]. Default to 100.
	Weight pulumi.IntPtrInput
}

func (AttachmentState) ElementType

func (AttachmentState) ElementType() reflect.Type

type BackendServer

type BackendServer struct {
	pulumi.CustomResourceState

	// A list of instances to added backend server in the SLB. It contains three sub-fields as `Block server` follows.
	BackendServers BackendServerBackendServerArrayOutput `pulumi:"backendServers"`
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrOutput `pulumi:"deleteProtectionValidation"`
	// ID of the load balancer.
	LoadBalancerId pulumi.StringOutput `pulumi:"loadBalancerId"`
}

Add a group of backend servers (ECS or ENI instance) to the Server Load Balancer or remove them from it.

> **NOTE:** Available in 1.53.0+

## Block servers

The servers mapping supports the following:

* `serverId` - (Required) A list backend server ID (ECS instance ID). * `weight` - (Optional) Weight of the backend server. Valid value range: [0-100]. * `type` - (Optional) Type of the backend server. Valid value `ecs`, `eni`. Default to `ecs`. * `serverIp` - (Optional, Available in 1.93.0+) ServerIp of the backend server. This parameter can be specified when the type is `eni`. `ecs` type currently does not support adding `serverIp` parameter.

## Import

Load balancer backend server can be imported using the load balancer id.

```sh

$ pulumi import alicloud:slb/backendServer:BackendServer example lb-abc123456

```

func GetBackendServer

func GetBackendServer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackendServerState, opts ...pulumi.ResourceOption) (*BackendServer, error)

GetBackendServer gets an existing BackendServer 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 NewBackendServer

func NewBackendServer(ctx *pulumi.Context,
	name string, args *BackendServerArgs, opts ...pulumi.ResourceOption) (*BackendServer, error)

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

func (*BackendServer) ElementType added in v2.25.1

func (*BackendServer) ElementType() reflect.Type

func (*BackendServer) ToBackendServerOutput added in v2.25.1

func (i *BackendServer) ToBackendServerOutput() BackendServerOutput

func (*BackendServer) ToBackendServerOutputWithContext added in v2.25.1

func (i *BackendServer) ToBackendServerOutputWithContext(ctx context.Context) BackendServerOutput

func (*BackendServer) ToBackendServerPtrOutput added in v2.35.1

func (i *BackendServer) ToBackendServerPtrOutput() BackendServerPtrOutput

func (*BackendServer) ToBackendServerPtrOutputWithContext added in v2.35.1

func (i *BackendServer) ToBackendServerPtrOutputWithContext(ctx context.Context) BackendServerPtrOutput

type BackendServerArgs

type BackendServerArgs struct {
	// A list of instances to added backend server in the SLB. It contains three sub-fields as `Block server` follows.
	BackendServers BackendServerBackendServerArrayInput
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// ID of the load balancer.
	LoadBalancerId pulumi.StringInput
}

The set of arguments for constructing a BackendServer resource.

func (BackendServerArgs) ElementType

func (BackendServerArgs) ElementType() reflect.Type

type BackendServerArray added in v2.35.1

type BackendServerArray []BackendServerInput

func (BackendServerArray) ElementType added in v2.35.1

func (BackendServerArray) ElementType() reflect.Type

func (BackendServerArray) ToBackendServerArrayOutput added in v2.35.1

func (i BackendServerArray) ToBackendServerArrayOutput() BackendServerArrayOutput

func (BackendServerArray) ToBackendServerArrayOutputWithContext added in v2.35.1

func (i BackendServerArray) ToBackendServerArrayOutputWithContext(ctx context.Context) BackendServerArrayOutput

type BackendServerArrayInput added in v2.35.1

type BackendServerArrayInput interface {
	pulumi.Input

	ToBackendServerArrayOutput() BackendServerArrayOutput
	ToBackendServerArrayOutputWithContext(context.Context) BackendServerArrayOutput
}

BackendServerArrayInput is an input type that accepts BackendServerArray and BackendServerArrayOutput values. You can construct a concrete instance of `BackendServerArrayInput` via:

BackendServerArray{ BackendServerArgs{...} }

type BackendServerArrayOutput added in v2.35.1

type BackendServerArrayOutput struct{ *pulumi.OutputState }

func (BackendServerArrayOutput) ElementType added in v2.35.1

func (BackendServerArrayOutput) ElementType() reflect.Type

func (BackendServerArrayOutput) Index added in v2.35.1

func (BackendServerArrayOutput) ToBackendServerArrayOutput added in v2.35.1

func (o BackendServerArrayOutput) ToBackendServerArrayOutput() BackendServerArrayOutput

func (BackendServerArrayOutput) ToBackendServerArrayOutputWithContext added in v2.35.1

func (o BackendServerArrayOutput) ToBackendServerArrayOutputWithContext(ctx context.Context) BackendServerArrayOutput

type BackendServerBackendServer

type BackendServerBackendServer struct {
	ServerId string  `pulumi:"serverId"`
	ServerIp *string `pulumi:"serverIp"`
	Type     *string `pulumi:"type"`
	Weight   int     `pulumi:"weight"`
}

type BackendServerBackendServerArgs

type BackendServerBackendServerArgs struct {
	ServerId pulumi.StringInput    `pulumi:"serverId"`
	ServerIp pulumi.StringPtrInput `pulumi:"serverIp"`
	Type     pulumi.StringPtrInput `pulumi:"type"`
	Weight   pulumi.IntInput       `pulumi:"weight"`
}

func (BackendServerBackendServerArgs) ElementType

func (BackendServerBackendServerArgs) ToBackendServerBackendServerOutput

func (i BackendServerBackendServerArgs) ToBackendServerBackendServerOutput() BackendServerBackendServerOutput

func (BackendServerBackendServerArgs) ToBackendServerBackendServerOutputWithContext

func (i BackendServerBackendServerArgs) ToBackendServerBackendServerOutputWithContext(ctx context.Context) BackendServerBackendServerOutput

type BackendServerBackendServerArray

type BackendServerBackendServerArray []BackendServerBackendServerInput

func (BackendServerBackendServerArray) ElementType

func (BackendServerBackendServerArray) ToBackendServerBackendServerArrayOutput

func (i BackendServerBackendServerArray) ToBackendServerBackendServerArrayOutput() BackendServerBackendServerArrayOutput

func (BackendServerBackendServerArray) ToBackendServerBackendServerArrayOutputWithContext

func (i BackendServerBackendServerArray) ToBackendServerBackendServerArrayOutputWithContext(ctx context.Context) BackendServerBackendServerArrayOutput

type BackendServerBackendServerArrayInput

type BackendServerBackendServerArrayInput interface {
	pulumi.Input

	ToBackendServerBackendServerArrayOutput() BackendServerBackendServerArrayOutput
	ToBackendServerBackendServerArrayOutputWithContext(context.Context) BackendServerBackendServerArrayOutput
}

BackendServerBackendServerArrayInput is an input type that accepts BackendServerBackendServerArray and BackendServerBackendServerArrayOutput values. You can construct a concrete instance of `BackendServerBackendServerArrayInput` via:

BackendServerBackendServerArray{ BackendServerBackendServerArgs{...} }

type BackendServerBackendServerArrayOutput

type BackendServerBackendServerArrayOutput struct{ *pulumi.OutputState }

func (BackendServerBackendServerArrayOutput) ElementType

func (BackendServerBackendServerArrayOutput) Index

func (BackendServerBackendServerArrayOutput) ToBackendServerBackendServerArrayOutput

func (o BackendServerBackendServerArrayOutput) ToBackendServerBackendServerArrayOutput() BackendServerBackendServerArrayOutput

func (BackendServerBackendServerArrayOutput) ToBackendServerBackendServerArrayOutputWithContext

func (o BackendServerBackendServerArrayOutput) ToBackendServerBackendServerArrayOutputWithContext(ctx context.Context) BackendServerBackendServerArrayOutput

type BackendServerBackendServerInput

type BackendServerBackendServerInput interface {
	pulumi.Input

	ToBackendServerBackendServerOutput() BackendServerBackendServerOutput
	ToBackendServerBackendServerOutputWithContext(context.Context) BackendServerBackendServerOutput
}

BackendServerBackendServerInput is an input type that accepts BackendServerBackendServerArgs and BackendServerBackendServerOutput values. You can construct a concrete instance of `BackendServerBackendServerInput` via:

BackendServerBackendServerArgs{...}

type BackendServerBackendServerOutput

type BackendServerBackendServerOutput struct{ *pulumi.OutputState }

func (BackendServerBackendServerOutput) ElementType

func (BackendServerBackendServerOutput) ServerId

func (BackendServerBackendServerOutput) ServerIp added in v2.14.0

func (BackendServerBackendServerOutput) ToBackendServerBackendServerOutput

func (o BackendServerBackendServerOutput) ToBackendServerBackendServerOutput() BackendServerBackendServerOutput

func (BackendServerBackendServerOutput) ToBackendServerBackendServerOutputWithContext

func (o BackendServerBackendServerOutput) ToBackendServerBackendServerOutputWithContext(ctx context.Context) BackendServerBackendServerOutput

func (BackendServerBackendServerOutput) Type

func (BackendServerBackendServerOutput) Weight

type BackendServerInput added in v2.25.1

type BackendServerInput interface {
	pulumi.Input

	ToBackendServerOutput() BackendServerOutput
	ToBackendServerOutputWithContext(ctx context.Context) BackendServerOutput
}

type BackendServerMap added in v2.35.1

type BackendServerMap map[string]BackendServerInput

func (BackendServerMap) ElementType added in v2.35.1

func (BackendServerMap) ElementType() reflect.Type

func (BackendServerMap) ToBackendServerMapOutput added in v2.35.1

func (i BackendServerMap) ToBackendServerMapOutput() BackendServerMapOutput

func (BackendServerMap) ToBackendServerMapOutputWithContext added in v2.35.1

func (i BackendServerMap) ToBackendServerMapOutputWithContext(ctx context.Context) BackendServerMapOutput

type BackendServerMapInput added in v2.35.1

type BackendServerMapInput interface {
	pulumi.Input

	ToBackendServerMapOutput() BackendServerMapOutput
	ToBackendServerMapOutputWithContext(context.Context) BackendServerMapOutput
}

BackendServerMapInput is an input type that accepts BackendServerMap and BackendServerMapOutput values. You can construct a concrete instance of `BackendServerMapInput` via:

BackendServerMap{ "key": BackendServerArgs{...} }

type BackendServerMapOutput added in v2.35.1

type BackendServerMapOutput struct{ *pulumi.OutputState }

func (BackendServerMapOutput) ElementType added in v2.35.1

func (BackendServerMapOutput) ElementType() reflect.Type

func (BackendServerMapOutput) MapIndex added in v2.35.1

func (BackendServerMapOutput) ToBackendServerMapOutput added in v2.35.1

func (o BackendServerMapOutput) ToBackendServerMapOutput() BackendServerMapOutput

func (BackendServerMapOutput) ToBackendServerMapOutputWithContext added in v2.35.1

func (o BackendServerMapOutput) ToBackendServerMapOutputWithContext(ctx context.Context) BackendServerMapOutput

type BackendServerOutput added in v2.25.1

type BackendServerOutput struct {
	*pulumi.OutputState
}

func (BackendServerOutput) ElementType added in v2.25.1

func (BackendServerOutput) ElementType() reflect.Type

func (BackendServerOutput) ToBackendServerOutput added in v2.25.1

func (o BackendServerOutput) ToBackendServerOutput() BackendServerOutput

func (BackendServerOutput) ToBackendServerOutputWithContext added in v2.25.1

func (o BackendServerOutput) ToBackendServerOutputWithContext(ctx context.Context) BackendServerOutput

func (BackendServerOutput) ToBackendServerPtrOutput added in v2.35.1

func (o BackendServerOutput) ToBackendServerPtrOutput() BackendServerPtrOutput

func (BackendServerOutput) ToBackendServerPtrOutputWithContext added in v2.35.1

func (o BackendServerOutput) ToBackendServerPtrOutputWithContext(ctx context.Context) BackendServerPtrOutput

type BackendServerPtrInput added in v2.35.1

type BackendServerPtrInput interface {
	pulumi.Input

	ToBackendServerPtrOutput() BackendServerPtrOutput
	ToBackendServerPtrOutputWithContext(ctx context.Context) BackendServerPtrOutput
}

type BackendServerPtrOutput added in v2.35.1

type BackendServerPtrOutput struct {
	*pulumi.OutputState
}

func (BackendServerPtrOutput) ElementType added in v2.35.1

func (BackendServerPtrOutput) ElementType() reflect.Type

func (BackendServerPtrOutput) ToBackendServerPtrOutput added in v2.35.1

func (o BackendServerPtrOutput) ToBackendServerPtrOutput() BackendServerPtrOutput

func (BackendServerPtrOutput) ToBackendServerPtrOutputWithContext added in v2.35.1

func (o BackendServerPtrOutput) ToBackendServerPtrOutputWithContext(ctx context.Context) BackendServerPtrOutput

type BackendServerState

type BackendServerState struct {
	// A list of instances to added backend server in the SLB. It contains three sub-fields as `Block server` follows.
	BackendServers BackendServerBackendServerArrayInput
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// ID of the load balancer.
	LoadBalancerId pulumi.StringPtrInput
}

func (BackendServerState) ElementType

func (BackendServerState) ElementType() reflect.Type

type CaCertificate

type CaCertificate struct {
	pulumi.CustomResourceState

	// the content of the CA certificate.
	CaCertificate pulumi.StringOutput `pulumi:"caCertificate"`
	// Name of the CA Certificate.
	Name pulumi.StringOutput `pulumi:"name"`
	// The Id of resource group which the slbCa certificate belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

A Load Balancer CA Certificate is used by the listener of the protocol https.

For information about slb and how to use it, see [What is Server Load Balancer](https://www.alibabacloud.com/help/doc-detail/27539.htm).

For information about CA Certificate and how to use it, see [Configure CA Certificate](https://www.alibabacloud.com/help/doc-detail/85968.htm).

## Import

Server Load balancer CA Certificate can be imported using the id, e.g.

```sh

$ pulumi import alicloud:slb/caCertificate:CaCertificate example abc123456

```

func GetCaCertificate

func GetCaCertificate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CaCertificateState, opts ...pulumi.ResourceOption) (*CaCertificate, error)

GetCaCertificate gets an existing CaCertificate 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 NewCaCertificate

func NewCaCertificate(ctx *pulumi.Context,
	name string, args *CaCertificateArgs, opts ...pulumi.ResourceOption) (*CaCertificate, error)

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

func (*CaCertificate) ElementType added in v2.25.1

func (*CaCertificate) ElementType() reflect.Type

func (*CaCertificate) ToCaCertificateOutput added in v2.25.1

func (i *CaCertificate) ToCaCertificateOutput() CaCertificateOutput

func (*CaCertificate) ToCaCertificateOutputWithContext added in v2.25.1

func (i *CaCertificate) ToCaCertificateOutputWithContext(ctx context.Context) CaCertificateOutput

func (*CaCertificate) ToCaCertificatePtrOutput added in v2.35.1

func (i *CaCertificate) ToCaCertificatePtrOutput() CaCertificatePtrOutput

func (*CaCertificate) ToCaCertificatePtrOutputWithContext added in v2.35.1

func (i *CaCertificate) ToCaCertificatePtrOutputWithContext(ctx context.Context) CaCertificatePtrOutput

type CaCertificateArgs

type CaCertificateArgs struct {
	// the content of the CA certificate.
	CaCertificate pulumi.StringInput
	// Name of the CA Certificate.
	Name pulumi.StringPtrInput
	// The Id of resource group which the slbCa certificate belongs.
	ResourceGroupId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

The set of arguments for constructing a CaCertificate resource.

func (CaCertificateArgs) ElementType

func (CaCertificateArgs) ElementType() reflect.Type

type CaCertificateArray added in v2.35.1

type CaCertificateArray []CaCertificateInput

func (CaCertificateArray) ElementType added in v2.35.1

func (CaCertificateArray) ElementType() reflect.Type

func (CaCertificateArray) ToCaCertificateArrayOutput added in v2.35.1

func (i CaCertificateArray) ToCaCertificateArrayOutput() CaCertificateArrayOutput

func (CaCertificateArray) ToCaCertificateArrayOutputWithContext added in v2.35.1

func (i CaCertificateArray) ToCaCertificateArrayOutputWithContext(ctx context.Context) CaCertificateArrayOutput

type CaCertificateArrayInput added in v2.35.1

type CaCertificateArrayInput interface {
	pulumi.Input

	ToCaCertificateArrayOutput() CaCertificateArrayOutput
	ToCaCertificateArrayOutputWithContext(context.Context) CaCertificateArrayOutput
}

CaCertificateArrayInput is an input type that accepts CaCertificateArray and CaCertificateArrayOutput values. You can construct a concrete instance of `CaCertificateArrayInput` via:

CaCertificateArray{ CaCertificateArgs{...} }

type CaCertificateArrayOutput added in v2.35.1

type CaCertificateArrayOutput struct{ *pulumi.OutputState }

func (CaCertificateArrayOutput) ElementType added in v2.35.1

func (CaCertificateArrayOutput) ElementType() reflect.Type

func (CaCertificateArrayOutput) Index added in v2.35.1

func (CaCertificateArrayOutput) ToCaCertificateArrayOutput added in v2.35.1

func (o CaCertificateArrayOutput) ToCaCertificateArrayOutput() CaCertificateArrayOutput

func (CaCertificateArrayOutput) ToCaCertificateArrayOutputWithContext added in v2.35.1

func (o CaCertificateArrayOutput) ToCaCertificateArrayOutputWithContext(ctx context.Context) CaCertificateArrayOutput

type CaCertificateInput added in v2.25.1

type CaCertificateInput interface {
	pulumi.Input

	ToCaCertificateOutput() CaCertificateOutput
	ToCaCertificateOutputWithContext(ctx context.Context) CaCertificateOutput
}

type CaCertificateMap added in v2.35.1

type CaCertificateMap map[string]CaCertificateInput

func (CaCertificateMap) ElementType added in v2.35.1

func (CaCertificateMap) ElementType() reflect.Type

func (CaCertificateMap) ToCaCertificateMapOutput added in v2.35.1

func (i CaCertificateMap) ToCaCertificateMapOutput() CaCertificateMapOutput

func (CaCertificateMap) ToCaCertificateMapOutputWithContext added in v2.35.1

func (i CaCertificateMap) ToCaCertificateMapOutputWithContext(ctx context.Context) CaCertificateMapOutput

type CaCertificateMapInput added in v2.35.1

type CaCertificateMapInput interface {
	pulumi.Input

	ToCaCertificateMapOutput() CaCertificateMapOutput
	ToCaCertificateMapOutputWithContext(context.Context) CaCertificateMapOutput
}

CaCertificateMapInput is an input type that accepts CaCertificateMap and CaCertificateMapOutput values. You can construct a concrete instance of `CaCertificateMapInput` via:

CaCertificateMap{ "key": CaCertificateArgs{...} }

type CaCertificateMapOutput added in v2.35.1

type CaCertificateMapOutput struct{ *pulumi.OutputState }

func (CaCertificateMapOutput) ElementType added in v2.35.1

func (CaCertificateMapOutput) ElementType() reflect.Type

func (CaCertificateMapOutput) MapIndex added in v2.35.1

func (CaCertificateMapOutput) ToCaCertificateMapOutput added in v2.35.1

func (o CaCertificateMapOutput) ToCaCertificateMapOutput() CaCertificateMapOutput

func (CaCertificateMapOutput) ToCaCertificateMapOutputWithContext added in v2.35.1

func (o CaCertificateMapOutput) ToCaCertificateMapOutputWithContext(ctx context.Context) CaCertificateMapOutput

type CaCertificateOutput added in v2.25.1

type CaCertificateOutput struct {
	*pulumi.OutputState
}

func (CaCertificateOutput) ElementType added in v2.25.1

func (CaCertificateOutput) ElementType() reflect.Type

func (CaCertificateOutput) ToCaCertificateOutput added in v2.25.1

func (o CaCertificateOutput) ToCaCertificateOutput() CaCertificateOutput

func (CaCertificateOutput) ToCaCertificateOutputWithContext added in v2.25.1

func (o CaCertificateOutput) ToCaCertificateOutputWithContext(ctx context.Context) CaCertificateOutput

func (CaCertificateOutput) ToCaCertificatePtrOutput added in v2.35.1

func (o CaCertificateOutput) ToCaCertificatePtrOutput() CaCertificatePtrOutput

func (CaCertificateOutput) ToCaCertificatePtrOutputWithContext added in v2.35.1

func (o CaCertificateOutput) ToCaCertificatePtrOutputWithContext(ctx context.Context) CaCertificatePtrOutput

type CaCertificatePtrInput added in v2.35.1

type CaCertificatePtrInput interface {
	pulumi.Input

	ToCaCertificatePtrOutput() CaCertificatePtrOutput
	ToCaCertificatePtrOutputWithContext(ctx context.Context) CaCertificatePtrOutput
}

type CaCertificatePtrOutput added in v2.35.1

type CaCertificatePtrOutput struct {
	*pulumi.OutputState
}

func (CaCertificatePtrOutput) ElementType added in v2.35.1

func (CaCertificatePtrOutput) ElementType() reflect.Type

func (CaCertificatePtrOutput) ToCaCertificatePtrOutput added in v2.35.1

func (o CaCertificatePtrOutput) ToCaCertificatePtrOutput() CaCertificatePtrOutput

func (CaCertificatePtrOutput) ToCaCertificatePtrOutputWithContext added in v2.35.1

func (o CaCertificatePtrOutput) ToCaCertificatePtrOutputWithContext(ctx context.Context) CaCertificatePtrOutput

type CaCertificateState

type CaCertificateState struct {
	// the content of the CA certificate.
	CaCertificate pulumi.StringPtrInput
	// Name of the CA Certificate.
	Name pulumi.StringPtrInput
	// The Id of resource group which the slbCa certificate belongs.
	ResourceGroupId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

func (CaCertificateState) ElementType

func (CaCertificateState) ElementType() reflect.Type

type DomainExtension

type DomainExtension struct {
	pulumi.CustomResourceState

	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrOutput `pulumi:"deleteProtectionValidation"`
	// The domain name,
	Domain pulumi.StringOutput `pulumi:"domain"`
	// The frontend port used by the HTTPS listener of the SLB instance. Valid values: 1–65535.
	FrontendPort pulumi.IntOutput `pulumi:"frontendPort"`
	// The ID of the SLB instance.
	LoadBalancerId pulumi.StringOutput `pulumi:"loadBalancerId"`
	// The ID of the certificate used by the domain name.
	ServerCertificateId pulumi.StringOutput `pulumi:"serverCertificateId"`
}

HTTPS listeners of guaranteed-performance SLB support configuring multiple certificates, allowing you to forward requests with different domain names to different backend servers. Please refer to the [documentation](https://www.alibabacloud.com/help/doc-detail/85956.htm?spm=a2c63.p38356.b99.40.1c881563Co8p6w) for details.

> **NOTE:** Available in 1.60.0+

> **NOTE:** The instance with shared loadBalancerSpec doesn't support domainExtension.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := slb.NewLoadBalancer(ctx, "instance", &slb.LoadBalancerArgs{
			InternetChargeType: pulumi.String("PayByTraffic"),
			Internet:           pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		foo, err := slb.NewServerCertificate(ctx, "foo", &slb.ServerCertificateArgs{
			ServerCertificate: pulumi.String("-----BEGIN CERTIFICATE-----\nMIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\nbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\nbjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\nDQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\nWjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\nDzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\nLmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\nWiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\np/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\nZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\nqfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\nAQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\nWCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\nt+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\nlFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n-----END CERTIFICATE-----"),
			PrivateKey:        pulumi.String("-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\nxQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\nHtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\ntF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\ndiUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\nDgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\nG+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\nv7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\nMp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\nBJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\nk3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\nlTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\nOo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n/I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\nPiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\nbc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\nZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\ny0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\nZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\nliQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n-----END RSA PRIVATE KEY-----"),
		})
		if err != nil {
			return err
		}
		https, err := slb.NewListener(ctx, "https", &slb.ListenerArgs{
			LoadBalancerId:         instance.ID(),
			BackendPort:            pulumi.Int(80),
			FrontendPort:           pulumi.Int(443),
			Protocol:               pulumi.String("https"),
			StickySession:          pulumi.String("on"),
			StickySessionType:      pulumi.String("insert"),
			Cookie:                 pulumi.String("testslblistenercookie"),
			CookieTimeout:          pulumi.Int(86400),
			HealthCheck:            pulumi.String("on"),
			HealthCheckUri:         pulumi.String("/cons"),
			HealthCheckConnectPort: pulumi.Int(20),
			HealthyThreshold:       pulumi.Int(8),
			UnhealthyThreshold:     pulumi.Int(8),
			HealthCheckTimeout:     pulumi.Int(8),
			HealthCheckInterval:    pulumi.Int(5),
			HealthCheckHttpCode:    pulumi.String("http_2xx,http_3xx"),
			Bandwidth:              pulumi.Int(10),
			SslCertificateId:       foo.ID(),
		})
		if err != nil {
			return err
		}
		_, err = slb.NewDomainExtension(ctx, "example1", &slb.DomainExtensionArgs{
			LoadBalancerId:      instance.ID(),
			FrontendPort:        https.FrontendPort,
			Domain:              pulumi.String("www.test.com"),
			ServerCertificateId: foo.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Load balancer domain_extension can be imported using the id, e.g.

```sh

$ pulumi import alicloud:slb/domainExtension:DomainExtension example de-abc123456

```

func GetDomainExtension

func GetDomainExtension(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DomainExtensionState, opts ...pulumi.ResourceOption) (*DomainExtension, error)

GetDomainExtension gets an existing DomainExtension 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 NewDomainExtension

func NewDomainExtension(ctx *pulumi.Context,
	name string, args *DomainExtensionArgs, opts ...pulumi.ResourceOption) (*DomainExtension, error)

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

func (*DomainExtension) ElementType added in v2.25.1

func (*DomainExtension) ElementType() reflect.Type

func (*DomainExtension) ToDomainExtensionOutput added in v2.25.1

func (i *DomainExtension) ToDomainExtensionOutput() DomainExtensionOutput

func (*DomainExtension) ToDomainExtensionOutputWithContext added in v2.25.1

func (i *DomainExtension) ToDomainExtensionOutputWithContext(ctx context.Context) DomainExtensionOutput

func (*DomainExtension) ToDomainExtensionPtrOutput added in v2.35.1

func (i *DomainExtension) ToDomainExtensionPtrOutput() DomainExtensionPtrOutput

func (*DomainExtension) ToDomainExtensionPtrOutputWithContext added in v2.35.1

func (i *DomainExtension) ToDomainExtensionPtrOutputWithContext(ctx context.Context) DomainExtensionPtrOutput

type DomainExtensionArgs

type DomainExtensionArgs struct {
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// The domain name,
	Domain pulumi.StringInput
	// The frontend port used by the HTTPS listener of the SLB instance. Valid values: 1–65535.
	FrontendPort pulumi.IntInput
	// The ID of the SLB instance.
	LoadBalancerId pulumi.StringInput
	// The ID of the certificate used by the domain name.
	ServerCertificateId pulumi.StringInput
}

The set of arguments for constructing a DomainExtension resource.

func (DomainExtensionArgs) ElementType

func (DomainExtensionArgs) ElementType() reflect.Type

type DomainExtensionArray added in v2.35.1

type DomainExtensionArray []DomainExtensionInput

func (DomainExtensionArray) ElementType added in v2.35.1

func (DomainExtensionArray) ElementType() reflect.Type

func (DomainExtensionArray) ToDomainExtensionArrayOutput added in v2.35.1

func (i DomainExtensionArray) ToDomainExtensionArrayOutput() DomainExtensionArrayOutput

func (DomainExtensionArray) ToDomainExtensionArrayOutputWithContext added in v2.35.1

func (i DomainExtensionArray) ToDomainExtensionArrayOutputWithContext(ctx context.Context) DomainExtensionArrayOutput

type DomainExtensionArrayInput added in v2.35.1

type DomainExtensionArrayInput interface {
	pulumi.Input

	ToDomainExtensionArrayOutput() DomainExtensionArrayOutput
	ToDomainExtensionArrayOutputWithContext(context.Context) DomainExtensionArrayOutput
}

DomainExtensionArrayInput is an input type that accepts DomainExtensionArray and DomainExtensionArrayOutput values. You can construct a concrete instance of `DomainExtensionArrayInput` via:

DomainExtensionArray{ DomainExtensionArgs{...} }

type DomainExtensionArrayOutput added in v2.35.1

type DomainExtensionArrayOutput struct{ *pulumi.OutputState }

func (DomainExtensionArrayOutput) ElementType added in v2.35.1

func (DomainExtensionArrayOutput) ElementType() reflect.Type

func (DomainExtensionArrayOutput) Index added in v2.35.1

func (DomainExtensionArrayOutput) ToDomainExtensionArrayOutput added in v2.35.1

func (o DomainExtensionArrayOutput) ToDomainExtensionArrayOutput() DomainExtensionArrayOutput

func (DomainExtensionArrayOutput) ToDomainExtensionArrayOutputWithContext added in v2.35.1

func (o DomainExtensionArrayOutput) ToDomainExtensionArrayOutputWithContext(ctx context.Context) DomainExtensionArrayOutput

type DomainExtensionInput added in v2.25.1

type DomainExtensionInput interface {
	pulumi.Input

	ToDomainExtensionOutput() DomainExtensionOutput
	ToDomainExtensionOutputWithContext(ctx context.Context) DomainExtensionOutput
}

type DomainExtensionMap added in v2.35.1

type DomainExtensionMap map[string]DomainExtensionInput

func (DomainExtensionMap) ElementType added in v2.35.1

func (DomainExtensionMap) ElementType() reflect.Type

func (DomainExtensionMap) ToDomainExtensionMapOutput added in v2.35.1

func (i DomainExtensionMap) ToDomainExtensionMapOutput() DomainExtensionMapOutput

func (DomainExtensionMap) ToDomainExtensionMapOutputWithContext added in v2.35.1

func (i DomainExtensionMap) ToDomainExtensionMapOutputWithContext(ctx context.Context) DomainExtensionMapOutput

type DomainExtensionMapInput added in v2.35.1

type DomainExtensionMapInput interface {
	pulumi.Input

	ToDomainExtensionMapOutput() DomainExtensionMapOutput
	ToDomainExtensionMapOutputWithContext(context.Context) DomainExtensionMapOutput
}

DomainExtensionMapInput is an input type that accepts DomainExtensionMap and DomainExtensionMapOutput values. You can construct a concrete instance of `DomainExtensionMapInput` via:

DomainExtensionMap{ "key": DomainExtensionArgs{...} }

type DomainExtensionMapOutput added in v2.35.1

type DomainExtensionMapOutput struct{ *pulumi.OutputState }

func (DomainExtensionMapOutput) ElementType added in v2.35.1

func (DomainExtensionMapOutput) ElementType() reflect.Type

func (DomainExtensionMapOutput) MapIndex added in v2.35.1

func (DomainExtensionMapOutput) ToDomainExtensionMapOutput added in v2.35.1

func (o DomainExtensionMapOutput) ToDomainExtensionMapOutput() DomainExtensionMapOutput

func (DomainExtensionMapOutput) ToDomainExtensionMapOutputWithContext added in v2.35.1

func (o DomainExtensionMapOutput) ToDomainExtensionMapOutputWithContext(ctx context.Context) DomainExtensionMapOutput

type DomainExtensionOutput added in v2.25.1

type DomainExtensionOutput struct {
	*pulumi.OutputState
}

func (DomainExtensionOutput) ElementType added in v2.25.1

func (DomainExtensionOutput) ElementType() reflect.Type

func (DomainExtensionOutput) ToDomainExtensionOutput added in v2.25.1

func (o DomainExtensionOutput) ToDomainExtensionOutput() DomainExtensionOutput

func (DomainExtensionOutput) ToDomainExtensionOutputWithContext added in v2.25.1

func (o DomainExtensionOutput) ToDomainExtensionOutputWithContext(ctx context.Context) DomainExtensionOutput

func (DomainExtensionOutput) ToDomainExtensionPtrOutput added in v2.35.1

func (o DomainExtensionOutput) ToDomainExtensionPtrOutput() DomainExtensionPtrOutput

func (DomainExtensionOutput) ToDomainExtensionPtrOutputWithContext added in v2.35.1

func (o DomainExtensionOutput) ToDomainExtensionPtrOutputWithContext(ctx context.Context) DomainExtensionPtrOutput

type DomainExtensionPtrInput added in v2.35.1

type DomainExtensionPtrInput interface {
	pulumi.Input

	ToDomainExtensionPtrOutput() DomainExtensionPtrOutput
	ToDomainExtensionPtrOutputWithContext(ctx context.Context) DomainExtensionPtrOutput
}

type DomainExtensionPtrOutput added in v2.35.1

type DomainExtensionPtrOutput struct {
	*pulumi.OutputState
}

func (DomainExtensionPtrOutput) ElementType added in v2.35.1

func (DomainExtensionPtrOutput) ElementType() reflect.Type

func (DomainExtensionPtrOutput) ToDomainExtensionPtrOutput added in v2.35.1

func (o DomainExtensionPtrOutput) ToDomainExtensionPtrOutput() DomainExtensionPtrOutput

func (DomainExtensionPtrOutput) ToDomainExtensionPtrOutputWithContext added in v2.35.1

func (o DomainExtensionPtrOutput) ToDomainExtensionPtrOutputWithContext(ctx context.Context) DomainExtensionPtrOutput

type DomainExtensionState

type DomainExtensionState struct {
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// The domain name,
	Domain pulumi.StringPtrInput
	// The frontend port used by the HTTPS listener of the SLB instance. Valid values: 1–65535.
	FrontendPort pulumi.IntPtrInput
	// The ID of the SLB instance.
	LoadBalancerId pulumi.StringPtrInput
	// The ID of the certificate used by the domain name.
	ServerCertificateId pulumi.StringPtrInput
}

func (DomainExtensionState) ElementType

func (DomainExtensionState) ElementType() reflect.Type

type GetAclsAcl

type GetAclsAcl struct {
	// A list of entry (IP addresses or CIDR blocks).  Each entry contains two sub-fields as `Entry Block` follows.
	EntryLists []GetAclsAclEntryList `pulumi:"entryLists"`
	// Acl ID.
	Id        string `pulumi:"id"`
	IpVersion string `pulumi:"ipVersion"`
	// Acl name.
	Name string `pulumi:"name"`
	// A list of listener are attached by the acl.  Each listener contains four sub-fields as `Listener Block` follows.
	RelatedListeners []GetAclsAclRelatedListener `pulumi:"relatedListeners"`
	// The Id of resource group which acl belongs.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

type GetAclsAclArgs

type GetAclsAclArgs struct {
	// A list of entry (IP addresses or CIDR blocks).  Each entry contains two sub-fields as `Entry Block` follows.
	EntryLists GetAclsAclEntryListArrayInput `pulumi:"entryLists"`
	// Acl ID.
	Id        pulumi.StringInput `pulumi:"id"`
	IpVersion pulumi.StringInput `pulumi:"ipVersion"`
	// Acl name.
	Name pulumi.StringInput `pulumi:"name"`
	// A list of listener are attached by the acl.  Each listener contains four sub-fields as `Listener Block` follows.
	RelatedListeners GetAclsAclRelatedListenerArrayInput `pulumi:"relatedListeners"`
	// The Id of resource group which acl belongs.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
}

func (GetAclsAclArgs) ElementType

func (GetAclsAclArgs) ElementType() reflect.Type

func (GetAclsAclArgs) ToGetAclsAclOutput

func (i GetAclsAclArgs) ToGetAclsAclOutput() GetAclsAclOutput

func (GetAclsAclArgs) ToGetAclsAclOutputWithContext

func (i GetAclsAclArgs) ToGetAclsAclOutputWithContext(ctx context.Context) GetAclsAclOutput

type GetAclsAclArray

type GetAclsAclArray []GetAclsAclInput

func (GetAclsAclArray) ElementType

func (GetAclsAclArray) ElementType() reflect.Type

func (GetAclsAclArray) ToGetAclsAclArrayOutput

func (i GetAclsAclArray) ToGetAclsAclArrayOutput() GetAclsAclArrayOutput

func (GetAclsAclArray) ToGetAclsAclArrayOutputWithContext

func (i GetAclsAclArray) ToGetAclsAclArrayOutputWithContext(ctx context.Context) GetAclsAclArrayOutput

type GetAclsAclArrayInput

type GetAclsAclArrayInput interface {
	pulumi.Input

	ToGetAclsAclArrayOutput() GetAclsAclArrayOutput
	ToGetAclsAclArrayOutputWithContext(context.Context) GetAclsAclArrayOutput
}

GetAclsAclArrayInput is an input type that accepts GetAclsAclArray and GetAclsAclArrayOutput values. You can construct a concrete instance of `GetAclsAclArrayInput` via:

GetAclsAclArray{ GetAclsAclArgs{...} }

type GetAclsAclArrayOutput

type GetAclsAclArrayOutput struct{ *pulumi.OutputState }

func (GetAclsAclArrayOutput) ElementType

func (GetAclsAclArrayOutput) ElementType() reflect.Type

func (GetAclsAclArrayOutput) Index

func (GetAclsAclArrayOutput) ToGetAclsAclArrayOutput

func (o GetAclsAclArrayOutput) ToGetAclsAclArrayOutput() GetAclsAclArrayOutput

func (GetAclsAclArrayOutput) ToGetAclsAclArrayOutputWithContext

func (o GetAclsAclArrayOutput) ToGetAclsAclArrayOutputWithContext(ctx context.Context) GetAclsAclArrayOutput

type GetAclsAclEntryList

type GetAclsAclEntryList struct {
	Comment string `pulumi:"comment"`
	Entry   string `pulumi:"entry"`
}

type GetAclsAclEntryListArgs

type GetAclsAclEntryListArgs struct {
	Comment pulumi.StringInput `pulumi:"comment"`
	Entry   pulumi.StringInput `pulumi:"entry"`
}

func (GetAclsAclEntryListArgs) ElementType

func (GetAclsAclEntryListArgs) ElementType() reflect.Type

func (GetAclsAclEntryListArgs) ToGetAclsAclEntryListOutput

func (i GetAclsAclEntryListArgs) ToGetAclsAclEntryListOutput() GetAclsAclEntryListOutput

func (GetAclsAclEntryListArgs) ToGetAclsAclEntryListOutputWithContext

func (i GetAclsAclEntryListArgs) ToGetAclsAclEntryListOutputWithContext(ctx context.Context) GetAclsAclEntryListOutput

type GetAclsAclEntryListArray

type GetAclsAclEntryListArray []GetAclsAclEntryListInput

func (GetAclsAclEntryListArray) ElementType

func (GetAclsAclEntryListArray) ElementType() reflect.Type

func (GetAclsAclEntryListArray) ToGetAclsAclEntryListArrayOutput

func (i GetAclsAclEntryListArray) ToGetAclsAclEntryListArrayOutput() GetAclsAclEntryListArrayOutput

func (GetAclsAclEntryListArray) ToGetAclsAclEntryListArrayOutputWithContext

func (i GetAclsAclEntryListArray) ToGetAclsAclEntryListArrayOutputWithContext(ctx context.Context) GetAclsAclEntryListArrayOutput

type GetAclsAclEntryListArrayInput

type GetAclsAclEntryListArrayInput interface {
	pulumi.Input

	ToGetAclsAclEntryListArrayOutput() GetAclsAclEntryListArrayOutput
	ToGetAclsAclEntryListArrayOutputWithContext(context.Context) GetAclsAclEntryListArrayOutput
}

GetAclsAclEntryListArrayInput is an input type that accepts GetAclsAclEntryListArray and GetAclsAclEntryListArrayOutput values. You can construct a concrete instance of `GetAclsAclEntryListArrayInput` via:

GetAclsAclEntryListArray{ GetAclsAclEntryListArgs{...} }

type GetAclsAclEntryListArrayOutput

type GetAclsAclEntryListArrayOutput struct{ *pulumi.OutputState }

func (GetAclsAclEntryListArrayOutput) ElementType

func (GetAclsAclEntryListArrayOutput) Index

func (GetAclsAclEntryListArrayOutput) ToGetAclsAclEntryListArrayOutput

func (o GetAclsAclEntryListArrayOutput) ToGetAclsAclEntryListArrayOutput() GetAclsAclEntryListArrayOutput

func (GetAclsAclEntryListArrayOutput) ToGetAclsAclEntryListArrayOutputWithContext

func (o GetAclsAclEntryListArrayOutput) ToGetAclsAclEntryListArrayOutputWithContext(ctx context.Context) GetAclsAclEntryListArrayOutput

type GetAclsAclEntryListInput

type GetAclsAclEntryListInput interface {
	pulumi.Input

	ToGetAclsAclEntryListOutput() GetAclsAclEntryListOutput
	ToGetAclsAclEntryListOutputWithContext(context.Context) GetAclsAclEntryListOutput
}

GetAclsAclEntryListInput is an input type that accepts GetAclsAclEntryListArgs and GetAclsAclEntryListOutput values. You can construct a concrete instance of `GetAclsAclEntryListInput` via:

GetAclsAclEntryListArgs{...}

type GetAclsAclEntryListOutput

type GetAclsAclEntryListOutput struct{ *pulumi.OutputState }

func (GetAclsAclEntryListOutput) Comment

func (GetAclsAclEntryListOutput) ElementType

func (GetAclsAclEntryListOutput) ElementType() reflect.Type

func (GetAclsAclEntryListOutput) Entry

func (GetAclsAclEntryListOutput) ToGetAclsAclEntryListOutput

func (o GetAclsAclEntryListOutput) ToGetAclsAclEntryListOutput() GetAclsAclEntryListOutput

func (GetAclsAclEntryListOutput) ToGetAclsAclEntryListOutputWithContext

func (o GetAclsAclEntryListOutput) ToGetAclsAclEntryListOutputWithContext(ctx context.Context) GetAclsAclEntryListOutput

type GetAclsAclInput

type GetAclsAclInput interface {
	pulumi.Input

	ToGetAclsAclOutput() GetAclsAclOutput
	ToGetAclsAclOutputWithContext(context.Context) GetAclsAclOutput
}

GetAclsAclInput is an input type that accepts GetAclsAclArgs and GetAclsAclOutput values. You can construct a concrete instance of `GetAclsAclInput` via:

GetAclsAclArgs{...}

type GetAclsAclOutput

type GetAclsAclOutput struct{ *pulumi.OutputState }

func (GetAclsAclOutput) ElementType

func (GetAclsAclOutput) ElementType() reflect.Type

func (GetAclsAclOutput) EntryLists

A list of entry (IP addresses or CIDR blocks). Each entry contains two sub-fields as `Entry Block` follows.

func (GetAclsAclOutput) Id

Acl ID.

func (GetAclsAclOutput) IpVersion

func (o GetAclsAclOutput) IpVersion() pulumi.StringOutput

func (GetAclsAclOutput) Name

Acl name.

func (GetAclsAclOutput) RelatedListeners

A list of listener are attached by the acl. Each listener contains four sub-fields as `Listener Block` follows.

func (GetAclsAclOutput) ResourceGroupId

func (o GetAclsAclOutput) ResourceGroupId() pulumi.StringOutput

The Id of resource group which acl belongs.

func (GetAclsAclOutput) Tags

A mapping of tags to assign to the resource.

func (GetAclsAclOutput) ToGetAclsAclOutput

func (o GetAclsAclOutput) ToGetAclsAclOutput() GetAclsAclOutput

func (GetAclsAclOutput) ToGetAclsAclOutputWithContext

func (o GetAclsAclOutput) ToGetAclsAclOutputWithContext(ctx context.Context) GetAclsAclOutput

type GetAclsAclRelatedListener

type GetAclsAclRelatedListener struct {
	AclType        string `pulumi:"aclType"`
	FrontendPort   int    `pulumi:"frontendPort"`
	LoadBalancerId string `pulumi:"loadBalancerId"`
	Protocol       string `pulumi:"protocol"`
}

type GetAclsAclRelatedListenerArgs

type GetAclsAclRelatedListenerArgs struct {
	AclType        pulumi.StringInput `pulumi:"aclType"`
	FrontendPort   pulumi.IntInput    `pulumi:"frontendPort"`
	LoadBalancerId pulumi.StringInput `pulumi:"loadBalancerId"`
	Protocol       pulumi.StringInput `pulumi:"protocol"`
}

func (GetAclsAclRelatedListenerArgs) ElementType

func (GetAclsAclRelatedListenerArgs) ToGetAclsAclRelatedListenerOutput

func (i GetAclsAclRelatedListenerArgs) ToGetAclsAclRelatedListenerOutput() GetAclsAclRelatedListenerOutput

func (GetAclsAclRelatedListenerArgs) ToGetAclsAclRelatedListenerOutputWithContext

func (i GetAclsAclRelatedListenerArgs) ToGetAclsAclRelatedListenerOutputWithContext(ctx context.Context) GetAclsAclRelatedListenerOutput

type GetAclsAclRelatedListenerArray

type GetAclsAclRelatedListenerArray []GetAclsAclRelatedListenerInput

func (GetAclsAclRelatedListenerArray) ElementType

func (GetAclsAclRelatedListenerArray) ToGetAclsAclRelatedListenerArrayOutput

func (i GetAclsAclRelatedListenerArray) ToGetAclsAclRelatedListenerArrayOutput() GetAclsAclRelatedListenerArrayOutput

func (GetAclsAclRelatedListenerArray) ToGetAclsAclRelatedListenerArrayOutputWithContext

func (i GetAclsAclRelatedListenerArray) ToGetAclsAclRelatedListenerArrayOutputWithContext(ctx context.Context) GetAclsAclRelatedListenerArrayOutput

type GetAclsAclRelatedListenerArrayInput

type GetAclsAclRelatedListenerArrayInput interface {
	pulumi.Input

	ToGetAclsAclRelatedListenerArrayOutput() GetAclsAclRelatedListenerArrayOutput
	ToGetAclsAclRelatedListenerArrayOutputWithContext(context.Context) GetAclsAclRelatedListenerArrayOutput
}

GetAclsAclRelatedListenerArrayInput is an input type that accepts GetAclsAclRelatedListenerArray and GetAclsAclRelatedListenerArrayOutput values. You can construct a concrete instance of `GetAclsAclRelatedListenerArrayInput` via:

GetAclsAclRelatedListenerArray{ GetAclsAclRelatedListenerArgs{...} }

type GetAclsAclRelatedListenerArrayOutput

type GetAclsAclRelatedListenerArrayOutput struct{ *pulumi.OutputState }

func (GetAclsAclRelatedListenerArrayOutput) ElementType

func (GetAclsAclRelatedListenerArrayOutput) Index

func (GetAclsAclRelatedListenerArrayOutput) ToGetAclsAclRelatedListenerArrayOutput

func (o GetAclsAclRelatedListenerArrayOutput) ToGetAclsAclRelatedListenerArrayOutput() GetAclsAclRelatedListenerArrayOutput

func (GetAclsAclRelatedListenerArrayOutput) ToGetAclsAclRelatedListenerArrayOutputWithContext

func (o GetAclsAclRelatedListenerArrayOutput) ToGetAclsAclRelatedListenerArrayOutputWithContext(ctx context.Context) GetAclsAclRelatedListenerArrayOutput

type GetAclsAclRelatedListenerInput

type GetAclsAclRelatedListenerInput interface {
	pulumi.Input

	ToGetAclsAclRelatedListenerOutput() GetAclsAclRelatedListenerOutput
	ToGetAclsAclRelatedListenerOutputWithContext(context.Context) GetAclsAclRelatedListenerOutput
}

GetAclsAclRelatedListenerInput is an input type that accepts GetAclsAclRelatedListenerArgs and GetAclsAclRelatedListenerOutput values. You can construct a concrete instance of `GetAclsAclRelatedListenerInput` via:

GetAclsAclRelatedListenerArgs{...}

type GetAclsAclRelatedListenerOutput

type GetAclsAclRelatedListenerOutput struct{ *pulumi.OutputState }

func (GetAclsAclRelatedListenerOutput) AclType

func (GetAclsAclRelatedListenerOutput) ElementType

func (GetAclsAclRelatedListenerOutput) FrontendPort

func (GetAclsAclRelatedListenerOutput) LoadBalancerId

func (GetAclsAclRelatedListenerOutput) Protocol

func (GetAclsAclRelatedListenerOutput) ToGetAclsAclRelatedListenerOutput

func (o GetAclsAclRelatedListenerOutput) ToGetAclsAclRelatedListenerOutput() GetAclsAclRelatedListenerOutput

func (GetAclsAclRelatedListenerOutput) ToGetAclsAclRelatedListenerOutputWithContext

func (o GetAclsAclRelatedListenerOutput) ToGetAclsAclRelatedListenerOutputWithContext(ctx context.Context) GetAclsAclRelatedListenerOutput

type GetAclsArgs

type GetAclsArgs struct {
	// A list of acls IDs to filter results.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by acl name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The Id of resource group which acl belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getAcls.

type GetAclsResult

type GetAclsResult struct {
	// A list of SLB  acls. Each element contains the following attributes:
	Acls []GetAclsAcl `pulumi:"acls"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of SLB acls IDs.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of SLB acls names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// Resource group ID.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of values returned by getAcls.

func GetAcls

func GetAcls(ctx *pulumi.Context, args *GetAclsArgs, opts ...pulumi.InvokeOption) (*GetAclsResult, error)

This data source provides the acls in the region.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sampleDs, err := slb.GetAcls(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstSlbAclId", sampleDs.Acls[0].Id)
		return nil
	})
}

``` ## Entry Block

The entry mapping supports the following:

* `entry` - An IP addresses or CIDR blocks. * `comment` - the comment of the entry.

## Listener Block

The Listener mapping supports the following:

* `loadBalancerId` - the id of load balancer instance, the listener belongs to. * `frontendPort` - the listener port. * `protocol` - the listener protocol (such as tcp/udp/http/https, etc). * `aclType` - the type of acl (such as white/black).

type GetAttachmentsArgs

type GetAttachmentsArgs struct {
	// List of attached ECS instance IDs.
	InstanceIds []string `pulumi:"instanceIds"`
	// ID of the SLB with attachments.
	LoadBalancerId string  `pulumi:"loadBalancerId"`
	OutputFile     *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getAttachments.

type GetAttachmentsResult

type GetAttachmentsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id             string   `pulumi:"id"`
	InstanceIds    []string `pulumi:"instanceIds"`
	LoadBalancerId string   `pulumi:"loadBalancerId"`
	OutputFile     *string  `pulumi:"outputFile"`
	// A list of SLB attachments. Each element contains the following attributes:
	SlbAttachments []GetAttachmentsSlbAttachment `pulumi:"slbAttachments"`
}

A collection of values returned by getAttachments.

func GetAttachments

func GetAttachments(ctx *pulumi.Context, args *GetAttachmentsArgs, opts ...pulumi.InvokeOption) (*GetAttachmentsResult, error)

This data source provides the server load balancer attachments of the current Alibaba Cloud user.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sampleDs, err := slb.GetAttachments(ctx, &slb.GetAttachmentsArgs{
			LoadBalancerId: alicloud_slb.Sample_slb.Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstSlbAttachmentInstanceId", sampleDs.SlbAttachments[0].InstanceId)
		return nil
	})
}

```

type GetAttachmentsSlbAttachment

type GetAttachmentsSlbAttachment struct {
	// ID of the attached ECS instance.
	InstanceId string `pulumi:"instanceId"`
	// Weight associated to the ECS instance.
	Weight int `pulumi:"weight"`
}

type GetAttachmentsSlbAttachmentArgs

type GetAttachmentsSlbAttachmentArgs struct {
	// ID of the attached ECS instance.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// Weight associated to the ECS instance.
	Weight pulumi.IntInput `pulumi:"weight"`
}

func (GetAttachmentsSlbAttachmentArgs) ElementType

func (GetAttachmentsSlbAttachmentArgs) ToGetAttachmentsSlbAttachmentOutput

func (i GetAttachmentsSlbAttachmentArgs) ToGetAttachmentsSlbAttachmentOutput() GetAttachmentsSlbAttachmentOutput

func (GetAttachmentsSlbAttachmentArgs) ToGetAttachmentsSlbAttachmentOutputWithContext

func (i GetAttachmentsSlbAttachmentArgs) ToGetAttachmentsSlbAttachmentOutputWithContext(ctx context.Context) GetAttachmentsSlbAttachmentOutput

type GetAttachmentsSlbAttachmentArray

type GetAttachmentsSlbAttachmentArray []GetAttachmentsSlbAttachmentInput

func (GetAttachmentsSlbAttachmentArray) ElementType

func (GetAttachmentsSlbAttachmentArray) ToGetAttachmentsSlbAttachmentArrayOutput

func (i GetAttachmentsSlbAttachmentArray) ToGetAttachmentsSlbAttachmentArrayOutput() GetAttachmentsSlbAttachmentArrayOutput

func (GetAttachmentsSlbAttachmentArray) ToGetAttachmentsSlbAttachmentArrayOutputWithContext

func (i GetAttachmentsSlbAttachmentArray) ToGetAttachmentsSlbAttachmentArrayOutputWithContext(ctx context.Context) GetAttachmentsSlbAttachmentArrayOutput

type GetAttachmentsSlbAttachmentArrayInput

type GetAttachmentsSlbAttachmentArrayInput interface {
	pulumi.Input

	ToGetAttachmentsSlbAttachmentArrayOutput() GetAttachmentsSlbAttachmentArrayOutput
	ToGetAttachmentsSlbAttachmentArrayOutputWithContext(context.Context) GetAttachmentsSlbAttachmentArrayOutput
}

GetAttachmentsSlbAttachmentArrayInput is an input type that accepts GetAttachmentsSlbAttachmentArray and GetAttachmentsSlbAttachmentArrayOutput values. You can construct a concrete instance of `GetAttachmentsSlbAttachmentArrayInput` via:

GetAttachmentsSlbAttachmentArray{ GetAttachmentsSlbAttachmentArgs{...} }

type GetAttachmentsSlbAttachmentArrayOutput

type GetAttachmentsSlbAttachmentArrayOutput struct{ *pulumi.OutputState }

func (GetAttachmentsSlbAttachmentArrayOutput) ElementType

func (GetAttachmentsSlbAttachmentArrayOutput) Index

func (GetAttachmentsSlbAttachmentArrayOutput) ToGetAttachmentsSlbAttachmentArrayOutput

func (o GetAttachmentsSlbAttachmentArrayOutput) ToGetAttachmentsSlbAttachmentArrayOutput() GetAttachmentsSlbAttachmentArrayOutput

func (GetAttachmentsSlbAttachmentArrayOutput) ToGetAttachmentsSlbAttachmentArrayOutputWithContext

func (o GetAttachmentsSlbAttachmentArrayOutput) ToGetAttachmentsSlbAttachmentArrayOutputWithContext(ctx context.Context) GetAttachmentsSlbAttachmentArrayOutput

type GetAttachmentsSlbAttachmentInput

type GetAttachmentsSlbAttachmentInput interface {
	pulumi.Input

	ToGetAttachmentsSlbAttachmentOutput() GetAttachmentsSlbAttachmentOutput
	ToGetAttachmentsSlbAttachmentOutputWithContext(context.Context) GetAttachmentsSlbAttachmentOutput
}

GetAttachmentsSlbAttachmentInput is an input type that accepts GetAttachmentsSlbAttachmentArgs and GetAttachmentsSlbAttachmentOutput values. You can construct a concrete instance of `GetAttachmentsSlbAttachmentInput` via:

GetAttachmentsSlbAttachmentArgs{...}

type GetAttachmentsSlbAttachmentOutput

type GetAttachmentsSlbAttachmentOutput struct{ *pulumi.OutputState }

func (GetAttachmentsSlbAttachmentOutput) ElementType

func (GetAttachmentsSlbAttachmentOutput) InstanceId

ID of the attached ECS instance.

func (GetAttachmentsSlbAttachmentOutput) ToGetAttachmentsSlbAttachmentOutput

func (o GetAttachmentsSlbAttachmentOutput) ToGetAttachmentsSlbAttachmentOutput() GetAttachmentsSlbAttachmentOutput

func (GetAttachmentsSlbAttachmentOutput) ToGetAttachmentsSlbAttachmentOutputWithContext

func (o GetAttachmentsSlbAttachmentOutput) ToGetAttachmentsSlbAttachmentOutputWithContext(ctx context.Context) GetAttachmentsSlbAttachmentOutput

func (GetAttachmentsSlbAttachmentOutput) Weight

Weight associated to the ECS instance.

type GetBackendServersArgs

type GetBackendServersArgs struct {
	// List of attached ECS instance IDs.
	Ids []string `pulumi:"ids"`
	// ID of the SLB with attachments.
	LoadBalancerId string  `pulumi:"loadBalancerId"`
	OutputFile     *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getBackendServers.

type GetBackendServersBackendServer

type GetBackendServersBackendServer struct {
	// backend server ID.
	Id string `pulumi:"id"`
	// Type of the backend server.
	ServerType string `pulumi:"serverType"`
	// Weight associated to the ECS instance.
	Weight int `pulumi:"weight"`
}

type GetBackendServersBackendServerArgs

type GetBackendServersBackendServerArgs struct {
	// backend server ID.
	Id pulumi.StringInput `pulumi:"id"`
	// Type of the backend server.
	ServerType pulumi.StringInput `pulumi:"serverType"`
	// Weight associated to the ECS instance.
	Weight pulumi.IntInput `pulumi:"weight"`
}

func (GetBackendServersBackendServerArgs) ElementType

func (GetBackendServersBackendServerArgs) ToGetBackendServersBackendServerOutput

func (i GetBackendServersBackendServerArgs) ToGetBackendServersBackendServerOutput() GetBackendServersBackendServerOutput

func (GetBackendServersBackendServerArgs) ToGetBackendServersBackendServerOutputWithContext

func (i GetBackendServersBackendServerArgs) ToGetBackendServersBackendServerOutputWithContext(ctx context.Context) GetBackendServersBackendServerOutput

type GetBackendServersBackendServerArray

type GetBackendServersBackendServerArray []GetBackendServersBackendServerInput

func (GetBackendServersBackendServerArray) ElementType

func (GetBackendServersBackendServerArray) ToGetBackendServersBackendServerArrayOutput

func (i GetBackendServersBackendServerArray) ToGetBackendServersBackendServerArrayOutput() GetBackendServersBackendServerArrayOutput

func (GetBackendServersBackendServerArray) ToGetBackendServersBackendServerArrayOutputWithContext

func (i GetBackendServersBackendServerArray) ToGetBackendServersBackendServerArrayOutputWithContext(ctx context.Context) GetBackendServersBackendServerArrayOutput

type GetBackendServersBackendServerArrayInput

type GetBackendServersBackendServerArrayInput interface {
	pulumi.Input

	ToGetBackendServersBackendServerArrayOutput() GetBackendServersBackendServerArrayOutput
	ToGetBackendServersBackendServerArrayOutputWithContext(context.Context) GetBackendServersBackendServerArrayOutput
}

GetBackendServersBackendServerArrayInput is an input type that accepts GetBackendServersBackendServerArray and GetBackendServersBackendServerArrayOutput values. You can construct a concrete instance of `GetBackendServersBackendServerArrayInput` via:

GetBackendServersBackendServerArray{ GetBackendServersBackendServerArgs{...} }

type GetBackendServersBackendServerArrayOutput

type GetBackendServersBackendServerArrayOutput struct{ *pulumi.OutputState }

func (GetBackendServersBackendServerArrayOutput) ElementType

func (GetBackendServersBackendServerArrayOutput) Index

func (GetBackendServersBackendServerArrayOutput) ToGetBackendServersBackendServerArrayOutput

func (o GetBackendServersBackendServerArrayOutput) ToGetBackendServersBackendServerArrayOutput() GetBackendServersBackendServerArrayOutput

func (GetBackendServersBackendServerArrayOutput) ToGetBackendServersBackendServerArrayOutputWithContext

func (o GetBackendServersBackendServerArrayOutput) ToGetBackendServersBackendServerArrayOutputWithContext(ctx context.Context) GetBackendServersBackendServerArrayOutput

type GetBackendServersBackendServerInput

type GetBackendServersBackendServerInput interface {
	pulumi.Input

	ToGetBackendServersBackendServerOutput() GetBackendServersBackendServerOutput
	ToGetBackendServersBackendServerOutputWithContext(context.Context) GetBackendServersBackendServerOutput
}

GetBackendServersBackendServerInput is an input type that accepts GetBackendServersBackendServerArgs and GetBackendServersBackendServerOutput values. You can construct a concrete instance of `GetBackendServersBackendServerInput` via:

GetBackendServersBackendServerArgs{...}

type GetBackendServersBackendServerOutput

type GetBackendServersBackendServerOutput struct{ *pulumi.OutputState }

func (GetBackendServersBackendServerOutput) ElementType

func (GetBackendServersBackendServerOutput) Id

backend server ID.

func (GetBackendServersBackendServerOutput) ServerType

Type of the backend server.

func (GetBackendServersBackendServerOutput) ToGetBackendServersBackendServerOutput

func (o GetBackendServersBackendServerOutput) ToGetBackendServersBackendServerOutput() GetBackendServersBackendServerOutput

func (GetBackendServersBackendServerOutput) ToGetBackendServersBackendServerOutputWithContext

func (o GetBackendServersBackendServerOutput) ToGetBackendServersBackendServerOutputWithContext(ctx context.Context) GetBackendServersBackendServerOutput

func (GetBackendServersBackendServerOutput) Weight

Weight associated to the ECS instance.

type GetBackendServersResult

type GetBackendServersResult struct {
	BackendServers []GetBackendServersBackendServer `pulumi:"backendServers"`
	// The provider-assigned unique ID for this managed resource.
	Id             string   `pulumi:"id"`
	Ids            []string `pulumi:"ids"`
	LoadBalancerId string   `pulumi:"loadBalancerId"`
	OutputFile     *string  `pulumi:"outputFile"`
}

A collection of values returned by getBackendServers.

func GetBackendServers

func GetBackendServers(ctx *pulumi.Context, args *GetBackendServersArgs, opts ...pulumi.InvokeOption) (*GetBackendServersResult, error)

This data source provides the server load balancer backend servers related to a server load balancer..

> **NOTE:** Available in 1.53.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sampleDs, err := slb.GetBackendServers(ctx, &slb.GetBackendServersArgs{
			LoadBalancerId: alicloud_slb.Sample_slb.Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstSlbBackendServerId", sampleDs.BackendServers[0].Id)
		return nil
	})
}

```

type GetCaCertificatesArgs

type GetCaCertificatesArgs struct {
	// A list of ca certificates IDs to filter results.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by ca certificate name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The Id of resource group which ca certificates belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getCaCertificates.

type GetCaCertificatesCertificate

type GetCaCertificatesCertificate struct {
	// CA certificate common name.
	CommonName string `pulumi:"commonName"`
	// CA certificate created time.
	CreatedTime string `pulumi:"createdTime"`
	// CA certificate created timestamp.
	CreatedTimestamp int `pulumi:"createdTimestamp"`
	// CA certificate expired time.
	ExpiredTime string `pulumi:"expiredTime"`
	// CA certificate expired timestamp.
	ExpiredTimestamp int `pulumi:"expiredTimestamp"`
	// CA certificate fingerprint.
	Fingerprint string `pulumi:"fingerprint"`
	// CA certificate ID.
	Id string `pulumi:"id"`
	// CA certificate name.
	Name string `pulumi:"name"`
	// The region Id of CA certificate.
	RegionId string `pulumi:"regionId"`
	// The Id of resource group which ca certificates belongs.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

type GetCaCertificatesCertificateArgs

type GetCaCertificatesCertificateArgs struct {
	// CA certificate common name.
	CommonName pulumi.StringInput `pulumi:"commonName"`
	// CA certificate created time.
	CreatedTime pulumi.StringInput `pulumi:"createdTime"`
	// CA certificate created timestamp.
	CreatedTimestamp pulumi.IntInput `pulumi:"createdTimestamp"`
	// CA certificate expired time.
	ExpiredTime pulumi.StringInput `pulumi:"expiredTime"`
	// CA certificate expired timestamp.
	ExpiredTimestamp pulumi.IntInput `pulumi:"expiredTimestamp"`
	// CA certificate fingerprint.
	Fingerprint pulumi.StringInput `pulumi:"fingerprint"`
	// CA certificate ID.
	Id pulumi.StringInput `pulumi:"id"`
	// CA certificate name.
	Name pulumi.StringInput `pulumi:"name"`
	// The region Id of CA certificate.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// The Id of resource group which ca certificates belongs.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
}

func (GetCaCertificatesCertificateArgs) ElementType

func (GetCaCertificatesCertificateArgs) ToGetCaCertificatesCertificateOutput

func (i GetCaCertificatesCertificateArgs) ToGetCaCertificatesCertificateOutput() GetCaCertificatesCertificateOutput

func (GetCaCertificatesCertificateArgs) ToGetCaCertificatesCertificateOutputWithContext

func (i GetCaCertificatesCertificateArgs) ToGetCaCertificatesCertificateOutputWithContext(ctx context.Context) GetCaCertificatesCertificateOutput

type GetCaCertificatesCertificateArray

type GetCaCertificatesCertificateArray []GetCaCertificatesCertificateInput

func (GetCaCertificatesCertificateArray) ElementType

func (GetCaCertificatesCertificateArray) ToGetCaCertificatesCertificateArrayOutput

func (i GetCaCertificatesCertificateArray) ToGetCaCertificatesCertificateArrayOutput() GetCaCertificatesCertificateArrayOutput

func (GetCaCertificatesCertificateArray) ToGetCaCertificatesCertificateArrayOutputWithContext

func (i GetCaCertificatesCertificateArray) ToGetCaCertificatesCertificateArrayOutputWithContext(ctx context.Context) GetCaCertificatesCertificateArrayOutput

type GetCaCertificatesCertificateArrayInput

type GetCaCertificatesCertificateArrayInput interface {
	pulumi.Input

	ToGetCaCertificatesCertificateArrayOutput() GetCaCertificatesCertificateArrayOutput
	ToGetCaCertificatesCertificateArrayOutputWithContext(context.Context) GetCaCertificatesCertificateArrayOutput
}

GetCaCertificatesCertificateArrayInput is an input type that accepts GetCaCertificatesCertificateArray and GetCaCertificatesCertificateArrayOutput values. You can construct a concrete instance of `GetCaCertificatesCertificateArrayInput` via:

GetCaCertificatesCertificateArray{ GetCaCertificatesCertificateArgs{...} }

type GetCaCertificatesCertificateArrayOutput

type GetCaCertificatesCertificateArrayOutput struct{ *pulumi.OutputState }

func (GetCaCertificatesCertificateArrayOutput) ElementType

func (GetCaCertificatesCertificateArrayOutput) Index

func (GetCaCertificatesCertificateArrayOutput) ToGetCaCertificatesCertificateArrayOutput

func (o GetCaCertificatesCertificateArrayOutput) ToGetCaCertificatesCertificateArrayOutput() GetCaCertificatesCertificateArrayOutput

func (GetCaCertificatesCertificateArrayOutput) ToGetCaCertificatesCertificateArrayOutputWithContext

func (o GetCaCertificatesCertificateArrayOutput) ToGetCaCertificatesCertificateArrayOutputWithContext(ctx context.Context) GetCaCertificatesCertificateArrayOutput

type GetCaCertificatesCertificateInput

type GetCaCertificatesCertificateInput interface {
	pulumi.Input

	ToGetCaCertificatesCertificateOutput() GetCaCertificatesCertificateOutput
	ToGetCaCertificatesCertificateOutputWithContext(context.Context) GetCaCertificatesCertificateOutput
}

GetCaCertificatesCertificateInput is an input type that accepts GetCaCertificatesCertificateArgs and GetCaCertificatesCertificateOutput values. You can construct a concrete instance of `GetCaCertificatesCertificateInput` via:

GetCaCertificatesCertificateArgs{...}

type GetCaCertificatesCertificateOutput

type GetCaCertificatesCertificateOutput struct{ *pulumi.OutputState }

func (GetCaCertificatesCertificateOutput) CommonName

CA certificate common name.

func (GetCaCertificatesCertificateOutput) CreatedTime

CA certificate created time.

func (GetCaCertificatesCertificateOutput) CreatedTimestamp

CA certificate created timestamp.

func (GetCaCertificatesCertificateOutput) ElementType

func (GetCaCertificatesCertificateOutput) ExpiredTime

CA certificate expired time.

func (GetCaCertificatesCertificateOutput) ExpiredTimestamp

CA certificate expired timestamp.

func (GetCaCertificatesCertificateOutput) Fingerprint

CA certificate fingerprint.

func (GetCaCertificatesCertificateOutput) Id

CA certificate ID.

func (GetCaCertificatesCertificateOutput) Name

CA certificate name.

func (GetCaCertificatesCertificateOutput) RegionId

The region Id of CA certificate.

func (GetCaCertificatesCertificateOutput) ResourceGroupId

The Id of resource group which ca certificates belongs.

func (GetCaCertificatesCertificateOutput) Tags

A mapping of tags to assign to the resource.

func (GetCaCertificatesCertificateOutput) ToGetCaCertificatesCertificateOutput

func (o GetCaCertificatesCertificateOutput) ToGetCaCertificatesCertificateOutput() GetCaCertificatesCertificateOutput

func (GetCaCertificatesCertificateOutput) ToGetCaCertificatesCertificateOutputWithContext

func (o GetCaCertificatesCertificateOutput) ToGetCaCertificatesCertificateOutputWithContext(ctx context.Context) GetCaCertificatesCertificateOutput

type GetCaCertificatesResult

type GetCaCertificatesResult struct {
	// A list of SLB ca certificates. Each element contains the following attributes:
	Certificates []GetCaCertificatesCertificate `pulumi:"certificates"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of SLB ca certificates IDs.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of SLB ca certificates names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// The resource group Id of CA certificate.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// (Available in v1.66.0+) A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of values returned by getCaCertificates.

func GetCaCertificates

func GetCaCertificates(ctx *pulumi.Context, args *GetCaCertificatesArgs, opts ...pulumi.InvokeOption) (*GetCaCertificatesResult, error)

This data source provides the CA certificate list.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sampleDs, err := slb.GetCaCertificates(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstSlbCaCertificateId", sampleDs.Certificates[0].Id)
		return nil
	})
}

```

type GetDomainExtensionsArgs

type GetDomainExtensionsArgs struct {
	// The frontend port used by the HTTPS listener of the SLB instance. Valid values: 1–65535.
	FrontendPort int `pulumi:"frontendPort"`
	// IDs of the SLB domain extensions.
	Ids []string `pulumi:"ids"`
	// The ID of the SLB instance.
	LoadBalancerId string  `pulumi:"loadBalancerId"`
	OutputFile     *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getDomainExtensions.

type GetDomainExtensionsExtension

type GetDomainExtensionsExtension struct {
	// The domain name.
	Domain string `pulumi:"domain"`
	// The ID of the domain extension.
	Id string `pulumi:"id"`
	// The ID of the certificate used by the domain name.
	ServerCertificateId string `pulumi:"serverCertificateId"`
}

type GetDomainExtensionsExtensionArgs

type GetDomainExtensionsExtensionArgs struct {
	// The domain name.
	Domain pulumi.StringInput `pulumi:"domain"`
	// The ID of the domain extension.
	Id pulumi.StringInput `pulumi:"id"`
	// The ID of the certificate used by the domain name.
	ServerCertificateId pulumi.StringInput `pulumi:"serverCertificateId"`
}

func (GetDomainExtensionsExtensionArgs) ElementType

func (GetDomainExtensionsExtensionArgs) ToGetDomainExtensionsExtensionOutput

func (i GetDomainExtensionsExtensionArgs) ToGetDomainExtensionsExtensionOutput() GetDomainExtensionsExtensionOutput

func (GetDomainExtensionsExtensionArgs) ToGetDomainExtensionsExtensionOutputWithContext

func (i GetDomainExtensionsExtensionArgs) ToGetDomainExtensionsExtensionOutputWithContext(ctx context.Context) GetDomainExtensionsExtensionOutput

type GetDomainExtensionsExtensionArray

type GetDomainExtensionsExtensionArray []GetDomainExtensionsExtensionInput

func (GetDomainExtensionsExtensionArray) ElementType

func (GetDomainExtensionsExtensionArray) ToGetDomainExtensionsExtensionArrayOutput

func (i GetDomainExtensionsExtensionArray) ToGetDomainExtensionsExtensionArrayOutput() GetDomainExtensionsExtensionArrayOutput

func (GetDomainExtensionsExtensionArray) ToGetDomainExtensionsExtensionArrayOutputWithContext

func (i GetDomainExtensionsExtensionArray) ToGetDomainExtensionsExtensionArrayOutputWithContext(ctx context.Context) GetDomainExtensionsExtensionArrayOutput

type GetDomainExtensionsExtensionArrayInput

type GetDomainExtensionsExtensionArrayInput interface {
	pulumi.Input

	ToGetDomainExtensionsExtensionArrayOutput() GetDomainExtensionsExtensionArrayOutput
	ToGetDomainExtensionsExtensionArrayOutputWithContext(context.Context) GetDomainExtensionsExtensionArrayOutput
}

GetDomainExtensionsExtensionArrayInput is an input type that accepts GetDomainExtensionsExtensionArray and GetDomainExtensionsExtensionArrayOutput values. You can construct a concrete instance of `GetDomainExtensionsExtensionArrayInput` via:

GetDomainExtensionsExtensionArray{ GetDomainExtensionsExtensionArgs{...} }

type GetDomainExtensionsExtensionArrayOutput

type GetDomainExtensionsExtensionArrayOutput struct{ *pulumi.OutputState }

func (GetDomainExtensionsExtensionArrayOutput) ElementType

func (GetDomainExtensionsExtensionArrayOutput) Index

func (GetDomainExtensionsExtensionArrayOutput) ToGetDomainExtensionsExtensionArrayOutput

func (o GetDomainExtensionsExtensionArrayOutput) ToGetDomainExtensionsExtensionArrayOutput() GetDomainExtensionsExtensionArrayOutput

func (GetDomainExtensionsExtensionArrayOutput) ToGetDomainExtensionsExtensionArrayOutputWithContext

func (o GetDomainExtensionsExtensionArrayOutput) ToGetDomainExtensionsExtensionArrayOutputWithContext(ctx context.Context) GetDomainExtensionsExtensionArrayOutput

type GetDomainExtensionsExtensionInput

type GetDomainExtensionsExtensionInput interface {
	pulumi.Input

	ToGetDomainExtensionsExtensionOutput() GetDomainExtensionsExtensionOutput
	ToGetDomainExtensionsExtensionOutputWithContext(context.Context) GetDomainExtensionsExtensionOutput
}

GetDomainExtensionsExtensionInput is an input type that accepts GetDomainExtensionsExtensionArgs and GetDomainExtensionsExtensionOutput values. You can construct a concrete instance of `GetDomainExtensionsExtensionInput` via:

GetDomainExtensionsExtensionArgs{...}

type GetDomainExtensionsExtensionOutput

type GetDomainExtensionsExtensionOutput struct{ *pulumi.OutputState }

func (GetDomainExtensionsExtensionOutput) Domain

The domain name.

func (GetDomainExtensionsExtensionOutput) ElementType

func (GetDomainExtensionsExtensionOutput) Id

The ID of the domain extension.

func (GetDomainExtensionsExtensionOutput) ServerCertificateId

func (o GetDomainExtensionsExtensionOutput) ServerCertificateId() pulumi.StringOutput

The ID of the certificate used by the domain name.

func (GetDomainExtensionsExtensionOutput) ToGetDomainExtensionsExtensionOutput

func (o GetDomainExtensionsExtensionOutput) ToGetDomainExtensionsExtensionOutput() GetDomainExtensionsExtensionOutput

func (GetDomainExtensionsExtensionOutput) ToGetDomainExtensionsExtensionOutputWithContext

func (o GetDomainExtensionsExtensionOutput) ToGetDomainExtensionsExtensionOutputWithContext(ctx context.Context) GetDomainExtensionsExtensionOutput

type GetDomainExtensionsResult

type GetDomainExtensionsResult struct {
	// A list of SLB domain extension. Each element contains the following attributes:
	Extensions   []GetDomainExtensionsExtension `pulumi:"extensions"`
	FrontendPort int                            `pulumi:"frontendPort"`
	// The provider-assigned unique ID for this managed resource.
	Id             string   `pulumi:"id"`
	Ids            []string `pulumi:"ids"`
	LoadBalancerId string   `pulumi:"loadBalancerId"`
	OutputFile     *string  `pulumi:"outputFile"`
}

A collection of values returned by getDomainExtensions.

func GetDomainExtensions

func GetDomainExtensions(ctx *pulumi.Context, args *GetDomainExtensionsArgs, opts ...pulumi.InvokeOption) (*GetDomainExtensionsResult, error)

This data source provides the domain extensions associated with a server load balancer listener.

> **NOTE:** Available in 1.60.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := slb.GetDomainExtensions(ctx, &slb.GetDomainExtensionsArgs{
			FrontendPort: "fake-port",
			Ids: []string{
				"fake-de-id",
			},
			LoadBalancerId: "fake-lb-id",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetListenersArgs

type GetListenersArgs struct {
	// A regex string to filter results by SLB listener description.
	DescriptionRegex *string `pulumi:"descriptionRegex"`
	// Filter listeners by the specified frontend port.
	FrontendPort *int `pulumi:"frontendPort"`
	// ID of the SLB with listeners.
	LoadBalancerId string  `pulumi:"loadBalancerId"`
	OutputFile     *string `pulumi:"outputFile"`
	// Filter listeners by the specified protocol. Valid values: `http`, `https`, `tcp` and `udp`.
	Protocol *string `pulumi:"protocol"`
}

A collection of arguments for invoking getListeners.

type GetListenersResult

type GetListenersResult struct {
	DescriptionRegex *string `pulumi:"descriptionRegex"`
	// Frontend port used to receive incoming traffic and distribute it to the backend servers.
	FrontendPort *int `pulumi:"frontendPort"`
	// The provider-assigned unique ID for this managed resource.
	Id             string  `pulumi:"id"`
	LoadBalancerId string  `pulumi:"loadBalancerId"`
	OutputFile     *string `pulumi:"outputFile"`
	// Listener protocol. Possible values: `http`, `https`, `tcp` and `udp`.
	Protocol *string `pulumi:"protocol"`
	// A list of SLB listeners. Each element contains the following attributes:
	SlbListeners []GetListenersSlbListener `pulumi:"slbListeners"`
}

A collection of values returned by getListeners.

func GetListeners

func GetListeners(ctx *pulumi.Context, args *GetListenersArgs, opts ...pulumi.InvokeOption) (*GetListenersResult, error)

This data source provides the listeners related to a server load balancer of the current Alibaba Cloud user.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := slb.NewLoadBalancer(ctx, "_default", nil)
		if err != nil {
			return err
		}
		_, err = slb.NewListener(ctx, "tcp", &slb.ListenerArgs{
			LoadBalancerId:         _default.ID(),
			BackendPort:            pulumi.Int(22),
			FrontendPort:           pulumi.Int(22),
			Protocol:               pulumi.String("tcp"),
			Bandwidth:              pulumi.Int(10),
			HealthCheckType:        pulumi.String("tcp"),
			PersistenceTimeout:     pulumi.Int(3600),
			HealthyThreshold:       pulumi.Int(8),
			UnhealthyThreshold:     pulumi.Int(8),
			HealthCheckTimeout:     pulumi.Int(8),
			HealthCheckInterval:    pulumi.Int(5),
			HealthCheckHttpCode:    pulumi.String("http_2xx"),
			HealthCheckConnectPort: pulumi.Int(20),
			HealthCheckUri:         pulumi.String("/console"),
			EstablishedTimeout:     pulumi.Int(600),
		})
		if err != nil {
			return err
		}
		ctx.Export("firstSlbListenerProtocol", sampleDs.ApplyT(func(sampleDs slb.GetListenersResult) (string, error) {
			return sampleDs.SlbListeners[0].Protocol, nil
		}).(pulumi.StringOutput))
		return nil
	})
}

```

type GetListenersSlbListener

type GetListenersSlbListener struct {
	// Port opened on the backend server to receive requests.
	BackendPort int `pulumi:"backendPort"`
	// Peak bandwidth. If the value is set to -1, the listener is not limited by bandwidth.
	Bandwidth int `pulumi:"bandwidth"`
	// ID of the CA certificate (only required when two-way authentication is used). Only available when the protocol is `https`.
	CaCertificateId string `pulumi:"caCertificateId"`
	// Cookie configured by the backend server. Only available when the stickySessionType is `server`.
	Cookie string `pulumi:"cookie"`
	// Cookie timeout in seconds. Only available when the stickySessionType is `insert`.
	CookieTimeout int `pulumi:"cookieTimeout"`
	// The description of slb listener.
	Description string `pulumi:"description"`
	// Whether to enable https listener support http2 or not. Valid values are `on` and `off`. Default to `on`.
	EnableHttp2 string `pulumi:"enableHttp2"`
	// Connection timeout in seconds for the Layer 4 TCP listener. Only available when the protocol is `tcp`.
	EstablishedTimeout int `pulumi:"establishedTimeout"`
	// Filter listeners by the specified frontend port.
	FrontendPort int `pulumi:"frontendPort"`
	// Indicate whether Gzip compression is enabled or not. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.
	Gzip string `pulumi:"gzip"`
	// Indicate whether health check is enabled of not. Possible values are `on` and `off`.
	HealthCheck string `pulumi:"healthCheck"`
	// Port used for health check.
	HealthCheckConnectPort int `pulumi:"healthCheckConnectPort"`
	// Amount of time in seconds to wait for the response for a health check.
	HealthCheckConnectTimeout int `pulumi:"healthCheckConnectTimeout"`
	// Domain name used for health check. The SLB sends HTTP head requests to the backend server, the domain is useful when the backend server verifies the host field in the requests. Only available when the protocol is `http`, `https` or `tcp` (in this case healthCheckType must be `http`).
	HealthCheckDomain string `pulumi:"healthCheckDomain"`
	// HTTP status codes indicating that the health check is normal. It can contain several comma-separated values such as "http_2xx,http_3xx". Only available when the protocol is `http`, `https` or `tcp` (in this case healthCheckType must be `http`).
	HealthCheckHttpCode string `pulumi:"healthCheckHttpCode"`
	// Time interval between two consecutive health checks.
	HealthCheckInterval int `pulumi:"healthCheckInterval"`
	// Amount of time in seconds to wait for the response from a health check. If an ECS instance sends no response within the specified timeout period, the health check fails. Only available when the protocol is `http` or `https`.
	HealthCheckTimeout int `pulumi:"healthCheckTimeout"`
	// Health check method. Possible values are `tcp` and `http`. Only available when the protocol is `tcp`.
	HealthCheckType string `pulumi:"healthCheckType"`
	// URI used for health check. Only available when the protocol is `http`, `https` or `tcp` (in this case healthCheckType must be `http`).
	HealthCheckUri string `pulumi:"healthCheckUri"`
	// Number of consecutive successes of health check performed on the same ECS instance (from failure to success).
	HealthyThreshold int `pulumi:"healthyThreshold"`
	// Timeout of http or https listener established connection idle timeout. Valid value range: [1-60] in seconds. Default to 15.
	IdleTimeout int `pulumi:"idleTimeout"`
	// ID of the active/standby server group.
	MasterSlaveServerGroupId string `pulumi:"masterSlaveServerGroupId"`
	// Timeout value of the TCP connection in seconds. If the value is 0, the session persistence function is disabled. Only available when the protocol is `tcp`.
	PersistenceTimeout int `pulumi:"persistenceTimeout"`
	// Filter listeners by the specified protocol. Valid values: `http`, `https`, `tcp` and `udp`.
	Protocol string `pulumi:"protocol"`
	// Timeout of http or https listener request (which does not get response from backend) timeout. Valid value range: [1-180] in seconds. Default to 60.
	RequestTimeout int `pulumi:"requestTimeout"`
	// Algorithm used to distribute traffic. Possible values: `wrr` (weighted round robin), `wlc` (weighted least connection) and `rr` (round robin).
	Scheduler string `pulumi:"scheduler"`
	// Security status. Only available when the protocol is `https`.
	SecurityStatus      string `pulumi:"securityStatus"`
	ServerCertificateId string `pulumi:"serverCertificateId"`
	// ID of the linked VServer group.
	ServerGroupId string `pulumi:"serverGroupId"`
	// ID of the server certificate. Only available when the protocol is `https`.
	SslCertificateId string `pulumi:"sslCertificateId"`
	// Listener status.
	Status string `pulumi:"status"`
	// Indicate whether session persistence is enabled or not. If enabled, all session requests from the same client are sent to the same backend server. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.
	StickySession string `pulumi:"stickySession"`
	// Method used to handle the cookie. Possible values are `insert` (cookie added to the response) and `server` (cookie set by the backend server). Only available when the protocol is `http` or `https` and stickySession is `on`.
	StickySessionType string `pulumi:"stickySessionType"`
	// Https listener TLS cipher policy. Valid values are `tlsCipherPolicy10`, `tlsCipherPolicy11`, `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`. Default to `tlsCipherPolicy10`.
	TlsCipherPolicy string `pulumi:"tlsCipherPolicy"`
	// Number of consecutive failures of health check performed on the same ECS instance (from success to failure).
	UnhealthyThreshold int `pulumi:"unhealthyThreshold"`
	// Indicate whether the HTTP header field "X-Forwarded-For" is added or not; it allows the backend server to know about the user's IP address. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.
	XForwardedFor string `pulumi:"xForwardedFor"`
	// Indicate whether the HTTP header field "X-Forwarded-For_SLBID" is added or not; it allows the backend server to know about the SLB ID. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.
	XForwardedForSlbId string `pulumi:"xForwardedForSlbId"`
	// Indicate whether the HTTP header field "X-Forwarded-For_SLBIP" is added or not; it allows the backend server to know about the SLB IP address. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.
	XForwardedForSlbIp string `pulumi:"xForwardedForSlbIp"`
	// Indicate whether the HTTP header field "X-Forwarded-For_proto" is added or not; it allows the backend server to know about the user's protocol. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.
	XForwardedForSlbProto string `pulumi:"xForwardedForSlbProto"`
}

type GetListenersSlbListenerArgs

type GetListenersSlbListenerArgs struct {
	// Port opened on the backend server to receive requests.
	BackendPort pulumi.IntInput `pulumi:"backendPort"`
	// Peak bandwidth. If the value is set to -1, the listener is not limited by bandwidth.
	Bandwidth pulumi.IntInput `pulumi:"bandwidth"`
	// ID of the CA certificate (only required when two-way authentication is used). Only available when the protocol is `https`.
	CaCertificateId pulumi.StringInput `pulumi:"caCertificateId"`
	// Cookie configured by the backend server. Only available when the stickySessionType is `server`.
	Cookie pulumi.StringInput `pulumi:"cookie"`
	// Cookie timeout in seconds. Only available when the stickySessionType is `insert`.
	CookieTimeout pulumi.IntInput `pulumi:"cookieTimeout"`
	// The description of slb listener.
	Description pulumi.StringInput `pulumi:"description"`
	// Whether to enable https listener support http2 or not. Valid values are `on` and `off`. Default to `on`.
	EnableHttp2 pulumi.StringInput `pulumi:"enableHttp2"`
	// Connection timeout in seconds for the Layer 4 TCP listener. Only available when the protocol is `tcp`.
	EstablishedTimeout pulumi.IntInput `pulumi:"establishedTimeout"`
	// Filter listeners by the specified frontend port.
	FrontendPort pulumi.IntInput `pulumi:"frontendPort"`
	// Indicate whether Gzip compression is enabled or not. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.
	Gzip pulumi.StringInput `pulumi:"gzip"`
	// Indicate whether health check is enabled of not. Possible values are `on` and `off`.
	HealthCheck pulumi.StringInput `pulumi:"healthCheck"`
	// Port used for health check.
	HealthCheckConnectPort pulumi.IntInput `pulumi:"healthCheckConnectPort"`
	// Amount of time in seconds to wait for the response for a health check.
	HealthCheckConnectTimeout pulumi.IntInput `pulumi:"healthCheckConnectTimeout"`
	// Domain name used for health check. The SLB sends HTTP head requests to the backend server, the domain is useful when the backend server verifies the host field in the requests. Only available when the protocol is `http`, `https` or `tcp` (in this case healthCheckType must be `http`).
	HealthCheckDomain pulumi.StringInput `pulumi:"healthCheckDomain"`
	// HTTP status codes indicating that the health check is normal. It can contain several comma-separated values such as "http_2xx,http_3xx". Only available when the protocol is `http`, `https` or `tcp` (in this case healthCheckType must be `http`).
	HealthCheckHttpCode pulumi.StringInput `pulumi:"healthCheckHttpCode"`
	// Time interval between two consecutive health checks.
	HealthCheckInterval pulumi.IntInput `pulumi:"healthCheckInterval"`
	// Amount of time in seconds to wait for the response from a health check. If an ECS instance sends no response within the specified timeout period, the health check fails. Only available when the protocol is `http` or `https`.
	HealthCheckTimeout pulumi.IntInput `pulumi:"healthCheckTimeout"`
	// Health check method. Possible values are `tcp` and `http`. Only available when the protocol is `tcp`.
	HealthCheckType pulumi.StringInput `pulumi:"healthCheckType"`
	// URI used for health check. Only available when the protocol is `http`, `https` or `tcp` (in this case healthCheckType must be `http`).
	HealthCheckUri pulumi.StringInput `pulumi:"healthCheckUri"`
	// Number of consecutive successes of health check performed on the same ECS instance (from failure to success).
	HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"`
	// Timeout of http or https listener established connection idle timeout. Valid value range: [1-60] in seconds. Default to 15.
	IdleTimeout pulumi.IntInput `pulumi:"idleTimeout"`
	// ID of the active/standby server group.
	MasterSlaveServerGroupId pulumi.StringInput `pulumi:"masterSlaveServerGroupId"`
	// Timeout value of the TCP connection in seconds. If the value is 0, the session persistence function is disabled. Only available when the protocol is `tcp`.
	PersistenceTimeout pulumi.IntInput `pulumi:"persistenceTimeout"`
	// Filter listeners by the specified protocol. Valid values: `http`, `https`, `tcp` and `udp`.
	Protocol pulumi.StringInput `pulumi:"protocol"`
	// Timeout of http or https listener request (which does not get response from backend) timeout. Valid value range: [1-180] in seconds. Default to 60.
	RequestTimeout pulumi.IntInput `pulumi:"requestTimeout"`
	// Algorithm used to distribute traffic. Possible values: `wrr` (weighted round robin), `wlc` (weighted least connection) and `rr` (round robin).
	Scheduler pulumi.StringInput `pulumi:"scheduler"`
	// Security status. Only available when the protocol is `https`.
	SecurityStatus      pulumi.StringInput `pulumi:"securityStatus"`
	ServerCertificateId pulumi.StringInput `pulumi:"serverCertificateId"`
	// ID of the linked VServer group.
	ServerGroupId pulumi.StringInput `pulumi:"serverGroupId"`
	// ID of the server certificate. Only available when the protocol is `https`.
	SslCertificateId pulumi.StringInput `pulumi:"sslCertificateId"`
	// Listener status.
	Status pulumi.StringInput `pulumi:"status"`
	// Indicate whether session persistence is enabled or not. If enabled, all session requests from the same client are sent to the same backend server. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.
	StickySession pulumi.StringInput `pulumi:"stickySession"`
	// Method used to handle the cookie. Possible values are `insert` (cookie added to the response) and `server` (cookie set by the backend server). Only available when the protocol is `http` or `https` and stickySession is `on`.
	StickySessionType pulumi.StringInput `pulumi:"stickySessionType"`
	// Https listener TLS cipher policy. Valid values are `tlsCipherPolicy10`, `tlsCipherPolicy11`, `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`. Default to `tlsCipherPolicy10`.
	TlsCipherPolicy pulumi.StringInput `pulumi:"tlsCipherPolicy"`
	// Number of consecutive failures of health check performed on the same ECS instance (from success to failure).
	UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"`
	// Indicate whether the HTTP header field "X-Forwarded-For" is added or not; it allows the backend server to know about the user's IP address. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.
	XForwardedFor pulumi.StringInput `pulumi:"xForwardedFor"`
	// Indicate whether the HTTP header field "X-Forwarded-For_SLBID" is added or not; it allows the backend server to know about the SLB ID. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.
	XForwardedForSlbId pulumi.StringInput `pulumi:"xForwardedForSlbId"`
	// Indicate whether the HTTP header field "X-Forwarded-For_SLBIP" is added or not; it allows the backend server to know about the SLB IP address. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.
	XForwardedForSlbIp pulumi.StringInput `pulumi:"xForwardedForSlbIp"`
	// Indicate whether the HTTP header field "X-Forwarded-For_proto" is added or not; it allows the backend server to know about the user's protocol. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.
	XForwardedForSlbProto pulumi.StringInput `pulumi:"xForwardedForSlbProto"`
}

func (GetListenersSlbListenerArgs) ElementType

func (GetListenersSlbListenerArgs) ToGetListenersSlbListenerOutput

func (i GetListenersSlbListenerArgs) ToGetListenersSlbListenerOutput() GetListenersSlbListenerOutput

func (GetListenersSlbListenerArgs) ToGetListenersSlbListenerOutputWithContext

func (i GetListenersSlbListenerArgs) ToGetListenersSlbListenerOutputWithContext(ctx context.Context) GetListenersSlbListenerOutput

type GetListenersSlbListenerArray

type GetListenersSlbListenerArray []GetListenersSlbListenerInput

func (GetListenersSlbListenerArray) ElementType

func (GetListenersSlbListenerArray) ToGetListenersSlbListenerArrayOutput

func (i GetListenersSlbListenerArray) ToGetListenersSlbListenerArrayOutput() GetListenersSlbListenerArrayOutput

func (GetListenersSlbListenerArray) ToGetListenersSlbListenerArrayOutputWithContext

func (i GetListenersSlbListenerArray) ToGetListenersSlbListenerArrayOutputWithContext(ctx context.Context) GetListenersSlbListenerArrayOutput

type GetListenersSlbListenerArrayInput

type GetListenersSlbListenerArrayInput interface {
	pulumi.Input

	ToGetListenersSlbListenerArrayOutput() GetListenersSlbListenerArrayOutput
	ToGetListenersSlbListenerArrayOutputWithContext(context.Context) GetListenersSlbListenerArrayOutput
}

GetListenersSlbListenerArrayInput is an input type that accepts GetListenersSlbListenerArray and GetListenersSlbListenerArrayOutput values. You can construct a concrete instance of `GetListenersSlbListenerArrayInput` via:

GetListenersSlbListenerArray{ GetListenersSlbListenerArgs{...} }

type GetListenersSlbListenerArrayOutput

type GetListenersSlbListenerArrayOutput struct{ *pulumi.OutputState }

func (GetListenersSlbListenerArrayOutput) ElementType

func (GetListenersSlbListenerArrayOutput) Index

func (GetListenersSlbListenerArrayOutput) ToGetListenersSlbListenerArrayOutput

func (o GetListenersSlbListenerArrayOutput) ToGetListenersSlbListenerArrayOutput() GetListenersSlbListenerArrayOutput

func (GetListenersSlbListenerArrayOutput) ToGetListenersSlbListenerArrayOutputWithContext

func (o GetListenersSlbListenerArrayOutput) ToGetListenersSlbListenerArrayOutputWithContext(ctx context.Context) GetListenersSlbListenerArrayOutput

type GetListenersSlbListenerInput

type GetListenersSlbListenerInput interface {
	pulumi.Input

	ToGetListenersSlbListenerOutput() GetListenersSlbListenerOutput
	ToGetListenersSlbListenerOutputWithContext(context.Context) GetListenersSlbListenerOutput
}

GetListenersSlbListenerInput is an input type that accepts GetListenersSlbListenerArgs and GetListenersSlbListenerOutput values. You can construct a concrete instance of `GetListenersSlbListenerInput` via:

GetListenersSlbListenerArgs{...}

type GetListenersSlbListenerOutput

type GetListenersSlbListenerOutput struct{ *pulumi.OutputState }

func (GetListenersSlbListenerOutput) BackendPort

Port opened on the backend server to receive requests.

func (GetListenersSlbListenerOutput) Bandwidth

Peak bandwidth. If the value is set to -1, the listener is not limited by bandwidth.

func (GetListenersSlbListenerOutput) CaCertificateId

ID of the CA certificate (only required when two-way authentication is used). Only available when the protocol is `https`.

func (GetListenersSlbListenerOutput) Cookie

Cookie configured by the backend server. Only available when the stickySessionType is `server`.

func (GetListenersSlbListenerOutput) CookieTimeout

Cookie timeout in seconds. Only available when the stickySessionType is `insert`.

func (GetListenersSlbListenerOutput) Description

The description of slb listener.

func (GetListenersSlbListenerOutput) ElementType

func (GetListenersSlbListenerOutput) EnableHttp2

Whether to enable https listener support http2 or not. Valid values are `on` and `off`. Default to `on`.

func (GetListenersSlbListenerOutput) EstablishedTimeout

func (o GetListenersSlbListenerOutput) EstablishedTimeout() pulumi.IntOutput

Connection timeout in seconds for the Layer 4 TCP listener. Only available when the protocol is `tcp`.

func (GetListenersSlbListenerOutput) FrontendPort

Filter listeners by the specified frontend port.

func (GetListenersSlbListenerOutput) Gzip

Indicate whether Gzip compression is enabled or not. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.

func (GetListenersSlbListenerOutput) HealthCheck

Indicate whether health check is enabled of not. Possible values are `on` and `off`.

func (GetListenersSlbListenerOutput) HealthCheckConnectPort

func (o GetListenersSlbListenerOutput) HealthCheckConnectPort() pulumi.IntOutput

Port used for health check.

func (GetListenersSlbListenerOutput) HealthCheckConnectTimeout

func (o GetListenersSlbListenerOutput) HealthCheckConnectTimeout() pulumi.IntOutput

Amount of time in seconds to wait for the response for a health check.

func (GetListenersSlbListenerOutput) HealthCheckDomain

func (o GetListenersSlbListenerOutput) HealthCheckDomain() pulumi.StringOutput

Domain name used for health check. The SLB sends HTTP head requests to the backend server, the domain is useful when the backend server verifies the host field in the requests. Only available when the protocol is `http`, `https` or `tcp` (in this case healthCheckType must be `http`).

func (GetListenersSlbListenerOutput) HealthCheckHttpCode

func (o GetListenersSlbListenerOutput) HealthCheckHttpCode() pulumi.StringOutput

HTTP status codes indicating that the health check is normal. It can contain several comma-separated values such as "http_2xx,http_3xx". Only available when the protocol is `http`, `https` or `tcp` (in this case healthCheckType must be `http`).

func (GetListenersSlbListenerOutput) HealthCheckInterval

func (o GetListenersSlbListenerOutput) HealthCheckInterval() pulumi.IntOutput

Time interval between two consecutive health checks.

func (GetListenersSlbListenerOutput) HealthCheckTimeout

func (o GetListenersSlbListenerOutput) HealthCheckTimeout() pulumi.IntOutput

Amount of time in seconds to wait for the response from a health check. If an ECS instance sends no response within the specified timeout period, the health check fails. Only available when the protocol is `http` or `https`.

func (GetListenersSlbListenerOutput) HealthCheckType

Health check method. Possible values are `tcp` and `http`. Only available when the protocol is `tcp`.

func (GetListenersSlbListenerOutput) HealthCheckUri

URI used for health check. Only available when the protocol is `http`, `https` or `tcp` (in this case healthCheckType must be `http`).

func (GetListenersSlbListenerOutput) HealthyThreshold

func (o GetListenersSlbListenerOutput) HealthyThreshold() pulumi.IntOutput

Number of consecutive successes of health check performed on the same ECS instance (from failure to success).

func (GetListenersSlbListenerOutput) IdleTimeout

Timeout of http or https listener established connection idle timeout. Valid value range: [1-60] in seconds. Default to 15.

func (GetListenersSlbListenerOutput) MasterSlaveServerGroupId

func (o GetListenersSlbListenerOutput) MasterSlaveServerGroupId() pulumi.StringOutput

ID of the active/standby server group.

func (GetListenersSlbListenerOutput) PersistenceTimeout

func (o GetListenersSlbListenerOutput) PersistenceTimeout() pulumi.IntOutput

Timeout value of the TCP connection in seconds. If the value is 0, the session persistence function is disabled. Only available when the protocol is `tcp`.

func (GetListenersSlbListenerOutput) Protocol

Filter listeners by the specified protocol. Valid values: `http`, `https`, `tcp` and `udp`.

func (GetListenersSlbListenerOutput) RequestTimeout

func (o GetListenersSlbListenerOutput) RequestTimeout() pulumi.IntOutput

Timeout of http or https listener request (which does not get response from backend) timeout. Valid value range: [1-180] in seconds. Default to 60.

func (GetListenersSlbListenerOutput) Scheduler

Algorithm used to distribute traffic. Possible values: `wrr` (weighted round robin), `wlc` (weighted least connection) and `rr` (round robin).

func (GetListenersSlbListenerOutput) SecurityStatus

Security status. Only available when the protocol is `https`.

func (GetListenersSlbListenerOutput) ServerCertificateId

func (o GetListenersSlbListenerOutput) ServerCertificateId() pulumi.StringOutput

func (GetListenersSlbListenerOutput) ServerGroupId

ID of the linked VServer group.

func (GetListenersSlbListenerOutput) SslCertificateId

func (o GetListenersSlbListenerOutput) SslCertificateId() pulumi.StringOutput

ID of the server certificate. Only available when the protocol is `https`.

func (GetListenersSlbListenerOutput) Status

Listener status.

func (GetListenersSlbListenerOutput) StickySession

Indicate whether session persistence is enabled or not. If enabled, all session requests from the same client are sent to the same backend server. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.

func (GetListenersSlbListenerOutput) StickySessionType

func (o GetListenersSlbListenerOutput) StickySessionType() pulumi.StringOutput

Method used to handle the cookie. Possible values are `insert` (cookie added to the response) and `server` (cookie set by the backend server). Only available when the protocol is `http` or `https` and stickySession is `on`.

func (GetListenersSlbListenerOutput) TlsCipherPolicy

Https listener TLS cipher policy. Valid values are `tlsCipherPolicy10`, `tlsCipherPolicy11`, `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`. Default to `tlsCipherPolicy10`.

func (GetListenersSlbListenerOutput) ToGetListenersSlbListenerOutput

func (o GetListenersSlbListenerOutput) ToGetListenersSlbListenerOutput() GetListenersSlbListenerOutput

func (GetListenersSlbListenerOutput) ToGetListenersSlbListenerOutputWithContext

func (o GetListenersSlbListenerOutput) ToGetListenersSlbListenerOutputWithContext(ctx context.Context) GetListenersSlbListenerOutput

func (GetListenersSlbListenerOutput) UnhealthyThreshold

func (o GetListenersSlbListenerOutput) UnhealthyThreshold() pulumi.IntOutput

Number of consecutive failures of health check performed on the same ECS instance (from success to failure).

func (GetListenersSlbListenerOutput) XForwardedFor

Indicate whether the HTTP header field "X-Forwarded-For" is added or not; it allows the backend server to know about the user's IP address. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.

func (GetListenersSlbListenerOutput) XForwardedForSlbId

func (o GetListenersSlbListenerOutput) XForwardedForSlbId() pulumi.StringOutput

Indicate whether the HTTP header field "X-Forwarded-For_SLBID" is added or not; it allows the backend server to know about the SLB ID. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.

func (GetListenersSlbListenerOutput) XForwardedForSlbIp

func (o GetListenersSlbListenerOutput) XForwardedForSlbIp() pulumi.StringOutput

Indicate whether the HTTP header field "X-Forwarded-For_SLBIP" is added or not; it allows the backend server to know about the SLB IP address. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.

func (GetListenersSlbListenerOutput) XForwardedForSlbProto

func (o GetListenersSlbListenerOutput) XForwardedForSlbProto() pulumi.StringOutput

Indicate whether the HTTP header field "X-Forwarded-For_proto" is added or not; it allows the backend server to know about the user's protocol. Possible values are `on` and `off`. Only available when the protocol is `http` or `https`.

type GetLoadBalancersArgs

type GetLoadBalancersArgs struct {
	// Service address of the SLBs.
	Address *string `pulumi:"address"`
	// A list of SLBs IDs.
	Ids []string `pulumi:"ids"`
	// Master availability zone of the SLBs.
	MasterAvailabilityZone *string `pulumi:"masterAvailabilityZone"`
	// A regex string to filter results by SLB name.
	NameRegex *string `pulumi:"nameRegex"`
	// Network type of the SLBs. Valid values: `vpc` and `classic`.
	NetworkType *string `pulumi:"networkType"`
	OutputFile  *string `pulumi:"outputFile"`
	// The Id of resource group which SLB belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// Slave availability zone of the SLBs.
	SlaveAvailabilityZone *string `pulumi:"slaveAvailabilityZone"`
	// A map of tags assigned to the SLB instances. The `tags` can have a maximum of 5 tag. It must be in the format:
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
	// 	"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := slb.GetLoadBalancers(ctx, &slb.GetLoadBalancersArgs{
	// 			Tags: map[string]interface{}{
	// 				"tagKey1": "tagValue1",
	// 				"tagKey2": "tagValue2",
	// 			},
	// 		}, nil)
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	Tags map[string]interface{} `pulumi:"tags"`
	// ID of the VPC linked to the SLBs.
	VpcId *string `pulumi:"vpcId"`
	// ID of the VSwitch linked to the SLBs.
	VswitchId *string `pulumi:"vswitchId"`
}

A collection of arguments for invoking getLoadBalancers.

type GetLoadBalancersResult

type GetLoadBalancersResult struct {
	// Service address of the SLB.
	Address *string `pulumi:"address"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of slb IDs.
	Ids []string `pulumi:"ids"`
	// Master availability zone of the SLBs.
	MasterAvailabilityZone *string `pulumi:"masterAvailabilityZone"`
	NameRegex              *string `pulumi:"nameRegex"`
	// A list of slb names.
	Names []string `pulumi:"names"`
	// Network type of the SLB. Possible values: `vpc` and `classic`.
	NetworkType     *string `pulumi:"networkType"`
	OutputFile      *string `pulumi:"outputFile"`
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// Slave availability zone of the SLBs.
	SlaveAvailabilityZone *string `pulumi:"slaveAvailabilityZone"`
	// A list of SLBs. Each element contains the following attributes:
	Slbs []GetLoadBalancersSlb `pulumi:"slbs"`
	// A map of tags assigned to the SLB instance.
	Tags map[string]interface{} `pulumi:"tags"`
	// ID of the VPC the SLB belongs to.
	VpcId *string `pulumi:"vpcId"`
	// ID of the VSwitch the SLB belongs to.
	VswitchId *string `pulumi:"vswitchId"`
}

A collection of values returned by getLoadBalancers.

func GetLoadBalancers

func GetLoadBalancers(ctx *pulumi.Context, args *GetLoadBalancersArgs, opts ...pulumi.InvokeOption) (*GetLoadBalancersResult, error)

This data source provides the server load balancers of the current Alibaba Cloud user.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := slb.NewLoadBalancer(ctx, "_default", nil)
		if err != nil {
			return err
		}
		opt0 := "sample_slb"
		slbsDs, err := slb.GetLoadBalancers(ctx, &slb.GetLoadBalancersArgs{
			NameRegex: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstSlbId", slbsDs.Slbs[0].Id)
		return nil
	})
}

```

type GetLoadBalancersSlb

type GetLoadBalancersSlb struct {
	// Service address of the SLBs.
	Address string `pulumi:"address"`
	// SLB creation time.
	CreationTime string `pulumi:"creationTime"`
	// ID of the SLB.
	Id string `pulumi:"id"`
	// SLB addressType: internet if `true`, intranet if `false`. Must be `false` when `networkType` is `vpc`.
	Internet bool `pulumi:"internet"`
	// Master availability zone of the SLBs.
	MasterAvailabilityZone string `pulumi:"masterAvailabilityZone"`
	// SLB name.
	Name string `pulumi:"name"`
	// Network type of the SLBs. Valid values: `vpc` and `classic`.
	NetworkType string `pulumi:"networkType"`
	// Region ID the SLB belongs to.
	RegionId string `pulumi:"regionId"`
	// Slave availability zone of the SLBs.
	SlaveAvailabilityZone string `pulumi:"slaveAvailabilityZone"`
	// SLB current status. Possible values: `inactive`, `active` and `locked`.
	Status string `pulumi:"status"`
	// A map of tags assigned to the SLB instances. The `tags` can have a maximum of 5 tag. It must be in the format:
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
	// 	"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := slb.GetLoadBalancers(ctx, &slb.GetLoadBalancersArgs{
	// 			Tags: map[string]interface{}{
	// 				"tagKey1": "tagValue1",
	// 				"tagKey2": "tagValue2",
	// 			},
	// 		}, nil)
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	Tags map[string]interface{} `pulumi:"tags"`
	// ID of the VPC linked to the SLBs.
	VpcId string `pulumi:"vpcId"`
	// ID of the VSwitch linked to the SLBs.
	VswitchId string `pulumi:"vswitchId"`
}

type GetLoadBalancersSlbArgs

type GetLoadBalancersSlbArgs struct {
	// Service address of the SLBs.
	Address pulumi.StringInput `pulumi:"address"`
	// SLB creation time.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// ID of the SLB.
	Id pulumi.StringInput `pulumi:"id"`
	// SLB addressType: internet if `true`, intranet if `false`. Must be `false` when `networkType` is `vpc`.
	Internet pulumi.BoolInput `pulumi:"internet"`
	// Master availability zone of the SLBs.
	MasterAvailabilityZone pulumi.StringInput `pulumi:"masterAvailabilityZone"`
	// SLB name.
	Name pulumi.StringInput `pulumi:"name"`
	// Network type of the SLBs. Valid values: `vpc` and `classic`.
	NetworkType pulumi.StringInput `pulumi:"networkType"`
	// Region ID the SLB belongs to.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// Slave availability zone of the SLBs.
	SlaveAvailabilityZone pulumi.StringInput `pulumi:"slaveAvailabilityZone"`
	// SLB current status. Possible values: `inactive`, `active` and `locked`.
	Status pulumi.StringInput `pulumi:"status"`
	// A map of tags assigned to the SLB instances. The `tags` can have a maximum of 5 tag. It must be in the format:
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
	// 	"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := slb.GetLoadBalancers(ctx, &slb.GetLoadBalancersArgs{
	// 			Tags: map[string]interface{}{
	// 				"tagKey1": "tagValue1",
	// 				"tagKey2": "tagValue2",
	// 			},
	// 		}, nil)
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	Tags pulumi.MapInput `pulumi:"tags"`
	// ID of the VPC linked to the SLBs.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// ID of the VSwitch linked to the SLBs.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
}

func (GetLoadBalancersSlbArgs) ElementType

func (GetLoadBalancersSlbArgs) ElementType() reflect.Type

func (GetLoadBalancersSlbArgs) ToGetLoadBalancersSlbOutput

func (i GetLoadBalancersSlbArgs) ToGetLoadBalancersSlbOutput() GetLoadBalancersSlbOutput

func (GetLoadBalancersSlbArgs) ToGetLoadBalancersSlbOutputWithContext

func (i GetLoadBalancersSlbArgs) ToGetLoadBalancersSlbOutputWithContext(ctx context.Context) GetLoadBalancersSlbOutput

type GetLoadBalancersSlbArray

type GetLoadBalancersSlbArray []GetLoadBalancersSlbInput

func (GetLoadBalancersSlbArray) ElementType

func (GetLoadBalancersSlbArray) ElementType() reflect.Type

func (GetLoadBalancersSlbArray) ToGetLoadBalancersSlbArrayOutput

func (i GetLoadBalancersSlbArray) ToGetLoadBalancersSlbArrayOutput() GetLoadBalancersSlbArrayOutput

func (GetLoadBalancersSlbArray) ToGetLoadBalancersSlbArrayOutputWithContext

func (i GetLoadBalancersSlbArray) ToGetLoadBalancersSlbArrayOutputWithContext(ctx context.Context) GetLoadBalancersSlbArrayOutput

type GetLoadBalancersSlbArrayInput

type GetLoadBalancersSlbArrayInput interface {
	pulumi.Input

	ToGetLoadBalancersSlbArrayOutput() GetLoadBalancersSlbArrayOutput
	ToGetLoadBalancersSlbArrayOutputWithContext(context.Context) GetLoadBalancersSlbArrayOutput
}

GetLoadBalancersSlbArrayInput is an input type that accepts GetLoadBalancersSlbArray and GetLoadBalancersSlbArrayOutput values. You can construct a concrete instance of `GetLoadBalancersSlbArrayInput` via:

GetLoadBalancersSlbArray{ GetLoadBalancersSlbArgs{...} }

type GetLoadBalancersSlbArrayOutput

type GetLoadBalancersSlbArrayOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersSlbArrayOutput) ElementType

func (GetLoadBalancersSlbArrayOutput) Index

func (GetLoadBalancersSlbArrayOutput) ToGetLoadBalancersSlbArrayOutput

func (o GetLoadBalancersSlbArrayOutput) ToGetLoadBalancersSlbArrayOutput() GetLoadBalancersSlbArrayOutput

func (GetLoadBalancersSlbArrayOutput) ToGetLoadBalancersSlbArrayOutputWithContext

func (o GetLoadBalancersSlbArrayOutput) ToGetLoadBalancersSlbArrayOutputWithContext(ctx context.Context) GetLoadBalancersSlbArrayOutput

type GetLoadBalancersSlbInput

type GetLoadBalancersSlbInput interface {
	pulumi.Input

	ToGetLoadBalancersSlbOutput() GetLoadBalancersSlbOutput
	ToGetLoadBalancersSlbOutputWithContext(context.Context) GetLoadBalancersSlbOutput
}

GetLoadBalancersSlbInput is an input type that accepts GetLoadBalancersSlbArgs and GetLoadBalancersSlbOutput values. You can construct a concrete instance of `GetLoadBalancersSlbInput` via:

GetLoadBalancersSlbArgs{...}

type GetLoadBalancersSlbOutput

type GetLoadBalancersSlbOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersSlbOutput) Address

Service address of the SLBs.

func (GetLoadBalancersSlbOutput) CreationTime

SLB creation time.

func (GetLoadBalancersSlbOutput) ElementType

func (GetLoadBalancersSlbOutput) ElementType() reflect.Type

func (GetLoadBalancersSlbOutput) Id

ID of the SLB.

func (GetLoadBalancersSlbOutput) Internet

SLB addressType: internet if `true`, intranet if `false`. Must be `false` when `networkType` is `vpc`.

func (GetLoadBalancersSlbOutput) MasterAvailabilityZone

func (o GetLoadBalancersSlbOutput) MasterAvailabilityZone() pulumi.StringOutput

Master availability zone of the SLBs.

func (GetLoadBalancersSlbOutput) Name

SLB name.

func (GetLoadBalancersSlbOutput) NetworkType

Network type of the SLBs. Valid values: `vpc` and `classic`.

func (GetLoadBalancersSlbOutput) RegionId

Region ID the SLB belongs to.

func (GetLoadBalancersSlbOutput) SlaveAvailabilityZone

func (o GetLoadBalancersSlbOutput) SlaveAvailabilityZone() pulumi.StringOutput

Slave availability zone of the SLBs.

func (GetLoadBalancersSlbOutput) Status

SLB current status. Possible values: `inactive`, `active` and `locked`.

func (GetLoadBalancersSlbOutput) Tags

A map of tags assigned to the SLB instances. The `tags` can have a maximum of 5 tag. It must be in the format: ```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := slb.GetLoadBalancers(ctx, &slb.GetLoadBalancersArgs{
			Tags: map[string]interface{}{
				"tagKey1": "tagValue1",
				"tagKey2": "tagValue2",
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

func (GetLoadBalancersSlbOutput) ToGetLoadBalancersSlbOutput

func (o GetLoadBalancersSlbOutput) ToGetLoadBalancersSlbOutput() GetLoadBalancersSlbOutput

func (GetLoadBalancersSlbOutput) ToGetLoadBalancersSlbOutputWithContext

func (o GetLoadBalancersSlbOutput) ToGetLoadBalancersSlbOutputWithContext(ctx context.Context) GetLoadBalancersSlbOutput

func (GetLoadBalancersSlbOutput) VpcId

ID of the VPC linked to the SLBs.

func (GetLoadBalancersSlbOutput) VswitchId

ID of the VSwitch linked to the SLBs.

type GetMasterSlaveServerGroupsArgs

type GetMasterSlaveServerGroupsArgs struct {
	// A list of master slave server group IDs to filter results.
	Ids []string `pulumi:"ids"`
	// ID of the SLB.
	LoadBalancerId string `pulumi:"loadBalancerId"`
	// A regex string to filter results by master slave server group name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getMasterSlaveServerGroups.

type GetMasterSlaveServerGroupsGroup

type GetMasterSlaveServerGroupsGroup struct {
	// master slave server group ID.
	Id string `pulumi:"id"`
	// master slave server group name.
	Name string `pulumi:"name"`
	// ECS instances associated to the group. Each element contains the following attributes:
	Servers []GetMasterSlaveServerGroupsGroupServer `pulumi:"servers"`
}

type GetMasterSlaveServerGroupsGroupArgs

type GetMasterSlaveServerGroupsGroupArgs struct {
	// master slave server group ID.
	Id pulumi.StringInput `pulumi:"id"`
	// master slave server group name.
	Name pulumi.StringInput `pulumi:"name"`
	// ECS instances associated to the group. Each element contains the following attributes:
	Servers GetMasterSlaveServerGroupsGroupServerArrayInput `pulumi:"servers"`
}

func (GetMasterSlaveServerGroupsGroupArgs) ElementType

func (GetMasterSlaveServerGroupsGroupArgs) ToGetMasterSlaveServerGroupsGroupOutput

func (i GetMasterSlaveServerGroupsGroupArgs) ToGetMasterSlaveServerGroupsGroupOutput() GetMasterSlaveServerGroupsGroupOutput

func (GetMasterSlaveServerGroupsGroupArgs) ToGetMasterSlaveServerGroupsGroupOutputWithContext

func (i GetMasterSlaveServerGroupsGroupArgs) ToGetMasterSlaveServerGroupsGroupOutputWithContext(ctx context.Context) GetMasterSlaveServerGroupsGroupOutput

type GetMasterSlaveServerGroupsGroupArray

type GetMasterSlaveServerGroupsGroupArray []GetMasterSlaveServerGroupsGroupInput

func (GetMasterSlaveServerGroupsGroupArray) ElementType

func (GetMasterSlaveServerGroupsGroupArray) ToGetMasterSlaveServerGroupsGroupArrayOutput

func (i GetMasterSlaveServerGroupsGroupArray) ToGetMasterSlaveServerGroupsGroupArrayOutput() GetMasterSlaveServerGroupsGroupArrayOutput

func (GetMasterSlaveServerGroupsGroupArray) ToGetMasterSlaveServerGroupsGroupArrayOutputWithContext

func (i GetMasterSlaveServerGroupsGroupArray) ToGetMasterSlaveServerGroupsGroupArrayOutputWithContext(ctx context.Context) GetMasterSlaveServerGroupsGroupArrayOutput

type GetMasterSlaveServerGroupsGroupArrayInput

type GetMasterSlaveServerGroupsGroupArrayInput interface {
	pulumi.Input

	ToGetMasterSlaveServerGroupsGroupArrayOutput() GetMasterSlaveServerGroupsGroupArrayOutput
	ToGetMasterSlaveServerGroupsGroupArrayOutputWithContext(context.Context) GetMasterSlaveServerGroupsGroupArrayOutput
}

GetMasterSlaveServerGroupsGroupArrayInput is an input type that accepts GetMasterSlaveServerGroupsGroupArray and GetMasterSlaveServerGroupsGroupArrayOutput values. You can construct a concrete instance of `GetMasterSlaveServerGroupsGroupArrayInput` via:

GetMasterSlaveServerGroupsGroupArray{ GetMasterSlaveServerGroupsGroupArgs{...} }

type GetMasterSlaveServerGroupsGroupArrayOutput

type GetMasterSlaveServerGroupsGroupArrayOutput struct{ *pulumi.OutputState }

func (GetMasterSlaveServerGroupsGroupArrayOutput) ElementType

func (GetMasterSlaveServerGroupsGroupArrayOutput) Index

func (GetMasterSlaveServerGroupsGroupArrayOutput) ToGetMasterSlaveServerGroupsGroupArrayOutput

func (o GetMasterSlaveServerGroupsGroupArrayOutput) ToGetMasterSlaveServerGroupsGroupArrayOutput() GetMasterSlaveServerGroupsGroupArrayOutput

func (GetMasterSlaveServerGroupsGroupArrayOutput) ToGetMasterSlaveServerGroupsGroupArrayOutputWithContext

func (o GetMasterSlaveServerGroupsGroupArrayOutput) ToGetMasterSlaveServerGroupsGroupArrayOutputWithContext(ctx context.Context) GetMasterSlaveServerGroupsGroupArrayOutput

type GetMasterSlaveServerGroupsGroupInput

type GetMasterSlaveServerGroupsGroupInput interface {
	pulumi.Input

	ToGetMasterSlaveServerGroupsGroupOutput() GetMasterSlaveServerGroupsGroupOutput
	ToGetMasterSlaveServerGroupsGroupOutputWithContext(context.Context) GetMasterSlaveServerGroupsGroupOutput
}

GetMasterSlaveServerGroupsGroupInput is an input type that accepts GetMasterSlaveServerGroupsGroupArgs and GetMasterSlaveServerGroupsGroupOutput values. You can construct a concrete instance of `GetMasterSlaveServerGroupsGroupInput` via:

GetMasterSlaveServerGroupsGroupArgs{...}

type GetMasterSlaveServerGroupsGroupOutput

type GetMasterSlaveServerGroupsGroupOutput struct{ *pulumi.OutputState }

func (GetMasterSlaveServerGroupsGroupOutput) ElementType

func (GetMasterSlaveServerGroupsGroupOutput) Id

master slave server group ID.

func (GetMasterSlaveServerGroupsGroupOutput) Name

master slave server group name.

func (GetMasterSlaveServerGroupsGroupOutput) Servers

ECS instances associated to the group. Each element contains the following attributes:

func (GetMasterSlaveServerGroupsGroupOutput) ToGetMasterSlaveServerGroupsGroupOutput

func (o GetMasterSlaveServerGroupsGroupOutput) ToGetMasterSlaveServerGroupsGroupOutput() GetMasterSlaveServerGroupsGroupOutput

func (GetMasterSlaveServerGroupsGroupOutput) ToGetMasterSlaveServerGroupsGroupOutputWithContext

func (o GetMasterSlaveServerGroupsGroupOutput) ToGetMasterSlaveServerGroupsGroupOutputWithContext(ctx context.Context) GetMasterSlaveServerGroupsGroupOutput

type GetMasterSlaveServerGroupsGroupServer

type GetMasterSlaveServerGroupsGroupServer struct {
	// ID of the attached ECS instance.
	InstanceId string `pulumi:"instanceId"`
	// (Removed from v1.63.0) Determine if the server is executing.
	IsBackup int `pulumi:"isBackup"`
	// The port used by the master slave server group.
	Port int `pulumi:"port"`
	// The server type of the attached ECS instance.
	ServerType string `pulumi:"serverType"`
	// Weight associated to the ECS instance.
	Weight int `pulumi:"weight"`
}

type GetMasterSlaveServerGroupsGroupServerArgs

type GetMasterSlaveServerGroupsGroupServerArgs struct {
	// ID of the attached ECS instance.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// (Removed from v1.63.0) Determine if the server is executing.
	IsBackup pulumi.IntInput `pulumi:"isBackup"`
	// The port used by the master slave server group.
	Port pulumi.IntInput `pulumi:"port"`
	// The server type of the attached ECS instance.
	ServerType pulumi.StringInput `pulumi:"serverType"`
	// Weight associated to the ECS instance.
	Weight pulumi.IntInput `pulumi:"weight"`
}

func (GetMasterSlaveServerGroupsGroupServerArgs) ElementType

func (GetMasterSlaveServerGroupsGroupServerArgs) ToGetMasterSlaveServerGroupsGroupServerOutput

func (i GetMasterSlaveServerGroupsGroupServerArgs) ToGetMasterSlaveServerGroupsGroupServerOutput() GetMasterSlaveServerGroupsGroupServerOutput

func (GetMasterSlaveServerGroupsGroupServerArgs) ToGetMasterSlaveServerGroupsGroupServerOutputWithContext

func (i GetMasterSlaveServerGroupsGroupServerArgs) ToGetMasterSlaveServerGroupsGroupServerOutputWithContext(ctx context.Context) GetMasterSlaveServerGroupsGroupServerOutput

type GetMasterSlaveServerGroupsGroupServerArray

type GetMasterSlaveServerGroupsGroupServerArray []GetMasterSlaveServerGroupsGroupServerInput

func (GetMasterSlaveServerGroupsGroupServerArray) ElementType

func (GetMasterSlaveServerGroupsGroupServerArray) ToGetMasterSlaveServerGroupsGroupServerArrayOutput

func (i GetMasterSlaveServerGroupsGroupServerArray) ToGetMasterSlaveServerGroupsGroupServerArrayOutput() GetMasterSlaveServerGroupsGroupServerArrayOutput

func (GetMasterSlaveServerGroupsGroupServerArray) ToGetMasterSlaveServerGroupsGroupServerArrayOutputWithContext

func (i GetMasterSlaveServerGroupsGroupServerArray) ToGetMasterSlaveServerGroupsGroupServerArrayOutputWithContext(ctx context.Context) GetMasterSlaveServerGroupsGroupServerArrayOutput

type GetMasterSlaveServerGroupsGroupServerArrayInput

type GetMasterSlaveServerGroupsGroupServerArrayInput interface {
	pulumi.Input

	ToGetMasterSlaveServerGroupsGroupServerArrayOutput() GetMasterSlaveServerGroupsGroupServerArrayOutput
	ToGetMasterSlaveServerGroupsGroupServerArrayOutputWithContext(context.Context) GetMasterSlaveServerGroupsGroupServerArrayOutput
}

GetMasterSlaveServerGroupsGroupServerArrayInput is an input type that accepts GetMasterSlaveServerGroupsGroupServerArray and GetMasterSlaveServerGroupsGroupServerArrayOutput values. You can construct a concrete instance of `GetMasterSlaveServerGroupsGroupServerArrayInput` via:

GetMasterSlaveServerGroupsGroupServerArray{ GetMasterSlaveServerGroupsGroupServerArgs{...} }

type GetMasterSlaveServerGroupsGroupServerArrayOutput

type GetMasterSlaveServerGroupsGroupServerArrayOutput struct{ *pulumi.OutputState }

func (GetMasterSlaveServerGroupsGroupServerArrayOutput) ElementType

func (GetMasterSlaveServerGroupsGroupServerArrayOutput) Index

func (GetMasterSlaveServerGroupsGroupServerArrayOutput) ToGetMasterSlaveServerGroupsGroupServerArrayOutput

func (o GetMasterSlaveServerGroupsGroupServerArrayOutput) ToGetMasterSlaveServerGroupsGroupServerArrayOutput() GetMasterSlaveServerGroupsGroupServerArrayOutput

func (GetMasterSlaveServerGroupsGroupServerArrayOutput) ToGetMasterSlaveServerGroupsGroupServerArrayOutputWithContext

func (o GetMasterSlaveServerGroupsGroupServerArrayOutput) ToGetMasterSlaveServerGroupsGroupServerArrayOutputWithContext(ctx context.Context) GetMasterSlaveServerGroupsGroupServerArrayOutput

type GetMasterSlaveServerGroupsGroupServerInput

type GetMasterSlaveServerGroupsGroupServerInput interface {
	pulumi.Input

	ToGetMasterSlaveServerGroupsGroupServerOutput() GetMasterSlaveServerGroupsGroupServerOutput
	ToGetMasterSlaveServerGroupsGroupServerOutputWithContext(context.Context) GetMasterSlaveServerGroupsGroupServerOutput
}

GetMasterSlaveServerGroupsGroupServerInput is an input type that accepts GetMasterSlaveServerGroupsGroupServerArgs and GetMasterSlaveServerGroupsGroupServerOutput values. You can construct a concrete instance of `GetMasterSlaveServerGroupsGroupServerInput` via:

GetMasterSlaveServerGroupsGroupServerArgs{...}

type GetMasterSlaveServerGroupsGroupServerOutput

type GetMasterSlaveServerGroupsGroupServerOutput struct{ *pulumi.OutputState }

func (GetMasterSlaveServerGroupsGroupServerOutput) ElementType

func (GetMasterSlaveServerGroupsGroupServerOutput) InstanceId

ID of the attached ECS instance.

func (GetMasterSlaveServerGroupsGroupServerOutput) IsBackup added in v2.22.0

(Removed from v1.63.0) Determine if the server is executing.

func (GetMasterSlaveServerGroupsGroupServerOutput) Port

The port used by the master slave server group.

func (GetMasterSlaveServerGroupsGroupServerOutput) ServerType

The server type of the attached ECS instance.

func (GetMasterSlaveServerGroupsGroupServerOutput) ToGetMasterSlaveServerGroupsGroupServerOutput

func (o GetMasterSlaveServerGroupsGroupServerOutput) ToGetMasterSlaveServerGroupsGroupServerOutput() GetMasterSlaveServerGroupsGroupServerOutput

func (GetMasterSlaveServerGroupsGroupServerOutput) ToGetMasterSlaveServerGroupsGroupServerOutputWithContext

func (o GetMasterSlaveServerGroupsGroupServerOutput) ToGetMasterSlaveServerGroupsGroupServerOutputWithContext(ctx context.Context) GetMasterSlaveServerGroupsGroupServerOutput

func (GetMasterSlaveServerGroupsGroupServerOutput) Weight

Weight associated to the ECS instance.

type GetMasterSlaveServerGroupsResult

type GetMasterSlaveServerGroupsResult struct {
	// A list of SLB master slave server groups. Each element contains the following attributes:
	Groups []GetMasterSlaveServerGroupsGroup `pulumi:"groups"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of SLB master slave server groups IDs.
	Ids            []string `pulumi:"ids"`
	LoadBalancerId string   `pulumi:"loadBalancerId"`
	NameRegex      *string  `pulumi:"nameRegex"`
	// A list of SLB master slave server groups names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
}

A collection of values returned by getMasterSlaveServerGroups.

func GetMasterSlaveServerGroups

func GetMasterSlaveServerGroups(ctx *pulumi.Context, args *GetMasterSlaveServerGroupsArgs, opts ...pulumi.InvokeOption) (*GetMasterSlaveServerGroupsResult, error)

This data source provides the master slave server groups related to a server load balancer.

> **NOTE:** Available in 1.54.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "cloud_efficiency"
		opt1 := "VSwitch"
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     &opt0,
			AvailableResourceCreation: &opt1,
		}, nil)
		if err != nil {
			return err
		}
		opt2 := defaultZones.Zones[0].Id
		opt3 := 2
		defaultInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: &opt2,
			EniAmount:        &opt3,
		}, nil)
		if err != nil {
			return err
		}
		opt4 := "^ubuntu_18.*64"
		opt5 := true
		opt6 := "system"
		image, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  &opt4,
			MostRecent: &opt5,
			Owners:     &opt6,
		}, nil)
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		name := "tf-testAccSlbMasterSlaveServerGroupVpc"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		number := "1"
		if param := cfg.Get("number"); param != "" {
			number = param
		}
		mainNetwork, err := vpc.NewNetwork(ctx, "mainNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		mainSwitch, err := vpc.NewSwitch(ctx, "mainSwitch", &vpc.SwitchArgs{
			VpcId:            mainNetwork.ID(),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			CidrBlock:        pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		groupSecurityGroup, err := ecs.NewSecurityGroup(ctx, "groupSecurityGroup", &ecs.SecurityGroupArgs{
			VpcId: mainNetwork.ID(),
		})
		if err != nil {
			return err
		}
		var instanceInstance []*ecs.Instance
		for key0, _ := range "2" {
			__res, err := ecs.NewInstance(ctx, fmt.Sprintf("instanceInstance-%v", key0), &ecs.InstanceArgs{
				ImageId:      pulumi.String(image.Images[0].Id),
				InstanceType: pulumi.String(defaultInstanceTypes.InstanceTypes[0].Id),
				InstanceName: pulumi.String(name),
				SecurityGroups: pulumi.StringArray{
					groupSecurityGroup.ID(),
				},
				InternetChargeType:      pulumi.String("PayByTraffic"),
				InternetMaxBandwidthOut: pulumi.Int(10),
				AvailabilityZone:        pulumi.String(defaultZones.Zones[0].Id),
				InstanceChargeType:      pulumi.String("PostPaid"),
				SystemDiskCategory:      pulumi.String("cloud_efficiency"),
				VswitchId:               mainSwitch.ID(),
			})
			if err != nil {
				return err
			}
			instanceInstance = append(instanceInstance, __res)
		}
		instanceLoadBalancer, err := slb.NewLoadBalancer(ctx, "instanceLoadBalancer", &slb.LoadBalancerArgs{
			VswitchId:     mainSwitch.ID(),
			Specification: pulumi.String("slb.s2.small"),
		})
		if err != nil {
			return err
		}
		_, err = slb.NewMasterSlaveServerGroup(ctx, "groupMasterSlaveServerGroup", &slb.MasterSlaveServerGroupArgs{
			LoadBalancerId: instanceLoadBalancer.ID(),
			Servers: slb.MasterSlaveServerGroupServerArray{
				&slb.MasterSlaveServerGroupServerArgs{
					ServerId:   instanceInstance[0].ID(),
					Port:       pulumi.Int(100),
					Weight:     pulumi.Int(100),
					ServerType: pulumi.String("Master"),
				},
				&slb.MasterSlaveServerGroupServerArgs{
					ServerId:   instanceInstance[1].ID(),
					Port:       pulumi.Int(100),
					Weight:     pulumi.Int(100),
					ServerType: pulumi.String("Slave"),
				},
			},
		})
		if err != nil {
			return err
		}
		ctx.Export("firstSlbServerGroupId", sampleDs.ApplyT(func(sampleDs slb.GetMasterSlaveServerGroupsResult) (string, error) {
			return sampleDs.Groups[0].Id, nil
		}).(pulumi.StringOutput))
		return nil
	})
}

```

type GetRulesArgs

type GetRulesArgs struct {
	// SLB listener port.
	FrontendPort int `pulumi:"frontendPort"`
	// A list of rules IDs to filter results.
	Ids []string `pulumi:"ids"`
	// ID of the SLB with listener rules.
	LoadBalancerId string `pulumi:"loadBalancerId"`
	// A regex string to filter results by rule name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getRules.

type GetRulesResult

type GetRulesResult struct {
	FrontendPort int `pulumi:"frontendPort"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of SLB listener rules IDs.
	Ids            []string `pulumi:"ids"`
	LoadBalancerId string   `pulumi:"loadBalancerId"`
	NameRegex      *string  `pulumi:"nameRegex"`
	// A list of SLB listener rules names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// A list of SLB listener rules. Each element contains the following attributes:
	SlbRules []GetRulesSlbRule `pulumi:"slbRules"`
}

A collection of values returned by getRules.

func GetRules

func GetRules(ctx *pulumi.Context, args *GetRulesArgs, opts ...pulumi.InvokeOption) (*GetRulesResult, error)

This data source provides the rules associated with a server load balancer listener.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "slbrulebasicconfig"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		opt0 := "cloud_efficiency"
		opt1 := "VSwitch"
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     &opt0,
			AvailableResourceCreation: &opt1,
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:            defaultNetwork.ID(),
			CidrBlock:        pulumi.String("172.16.0.0/16"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		defaultLoadBalancer, err := slb.NewLoadBalancer(ctx, "defaultLoadBalancer", &slb.LoadBalancerArgs{
			VswitchId: defaultSwitch.ID(),
		})
		if err != nil {
			return err
		}
		defaultListener, err := slb.NewListener(ctx, "defaultListener", &slb.ListenerArgs{
			LoadBalancerId:         defaultLoadBalancer.ID(),
			BackendPort:            pulumi.Int(22),
			FrontendPort:           pulumi.Int(22),
			Protocol:               pulumi.String("http"),
			Bandwidth:              pulumi.Int(5),
			HealthCheckConnectPort: pulumi.Int(20),
		})
		if err != nil {
			return err
		}
		defaultServerGroup, err := slb.NewServerGroup(ctx, "defaultServerGroup", &slb.ServerGroupArgs{
			LoadBalancerId: defaultLoadBalancer.ID(),
		})
		if err != nil {
			return err
		}
		_, err = slb.NewRule(ctx, "defaultRule", &slb.RuleArgs{
			LoadBalancerId: defaultLoadBalancer.ID(),
			FrontendPort:   defaultListener.FrontendPort,
			Domain:         pulumi.String("*.aliyun.com"),
			Url:            pulumi.String("/image"),
			ServerGroupId:  defaultServerGroup.ID(),
		})
		if err != nil {
			return err
		}
		ctx.Export("firstSlbRuleId", sampleDs.ApplyT(func(sampleDs slb.GetRulesResult) (string, error) {
			return sampleDs.SlbRules[0].Id, nil
		}).(pulumi.StringOutput))
		return nil
	})
}

```

type GetRulesSlbRule

type GetRulesSlbRule struct {
	// Domain name in the HTTP request where the rule applies (e.g. "*.aliyun.com").
	Domain string `pulumi:"domain"`
	// Rule ID.
	Id string `pulumi:"id"`
	// Rule name.
	Name string `pulumi:"name"`
	// ID of the linked VServer group.
	ServerGroupId string `pulumi:"serverGroupId"`
	// Path in the HTTP request where the rule applies (e.g. "/image").
	Url string `pulumi:"url"`
}

type GetRulesSlbRuleArgs

type GetRulesSlbRuleArgs struct {
	// Domain name in the HTTP request where the rule applies (e.g. "*.aliyun.com").
	Domain pulumi.StringInput `pulumi:"domain"`
	// Rule ID.
	Id pulumi.StringInput `pulumi:"id"`
	// Rule name.
	Name pulumi.StringInput `pulumi:"name"`
	// ID of the linked VServer group.
	ServerGroupId pulumi.StringInput `pulumi:"serverGroupId"`
	// Path in the HTTP request where the rule applies (e.g. "/image").
	Url pulumi.StringInput `pulumi:"url"`
}

func (GetRulesSlbRuleArgs) ElementType

func (GetRulesSlbRuleArgs) ElementType() reflect.Type

func (GetRulesSlbRuleArgs) ToGetRulesSlbRuleOutput

func (i GetRulesSlbRuleArgs) ToGetRulesSlbRuleOutput() GetRulesSlbRuleOutput

func (GetRulesSlbRuleArgs) ToGetRulesSlbRuleOutputWithContext

func (i GetRulesSlbRuleArgs) ToGetRulesSlbRuleOutputWithContext(ctx context.Context) GetRulesSlbRuleOutput

type GetRulesSlbRuleArray

type GetRulesSlbRuleArray []GetRulesSlbRuleInput

func (GetRulesSlbRuleArray) ElementType

func (GetRulesSlbRuleArray) ElementType() reflect.Type

func (GetRulesSlbRuleArray) ToGetRulesSlbRuleArrayOutput

func (i GetRulesSlbRuleArray) ToGetRulesSlbRuleArrayOutput() GetRulesSlbRuleArrayOutput

func (GetRulesSlbRuleArray) ToGetRulesSlbRuleArrayOutputWithContext

func (i GetRulesSlbRuleArray) ToGetRulesSlbRuleArrayOutputWithContext(ctx context.Context) GetRulesSlbRuleArrayOutput

type GetRulesSlbRuleArrayInput

type GetRulesSlbRuleArrayInput interface {
	pulumi.Input

	ToGetRulesSlbRuleArrayOutput() GetRulesSlbRuleArrayOutput
	ToGetRulesSlbRuleArrayOutputWithContext(context.Context) GetRulesSlbRuleArrayOutput
}

GetRulesSlbRuleArrayInput is an input type that accepts GetRulesSlbRuleArray and GetRulesSlbRuleArrayOutput values. You can construct a concrete instance of `GetRulesSlbRuleArrayInput` via:

GetRulesSlbRuleArray{ GetRulesSlbRuleArgs{...} }

type GetRulesSlbRuleArrayOutput

type GetRulesSlbRuleArrayOutput struct{ *pulumi.OutputState }

func (GetRulesSlbRuleArrayOutput) ElementType

func (GetRulesSlbRuleArrayOutput) ElementType() reflect.Type

func (GetRulesSlbRuleArrayOutput) Index

func (GetRulesSlbRuleArrayOutput) ToGetRulesSlbRuleArrayOutput

func (o GetRulesSlbRuleArrayOutput) ToGetRulesSlbRuleArrayOutput() GetRulesSlbRuleArrayOutput

func (GetRulesSlbRuleArrayOutput) ToGetRulesSlbRuleArrayOutputWithContext

func (o GetRulesSlbRuleArrayOutput) ToGetRulesSlbRuleArrayOutputWithContext(ctx context.Context) GetRulesSlbRuleArrayOutput

type GetRulesSlbRuleInput

type GetRulesSlbRuleInput interface {
	pulumi.Input

	ToGetRulesSlbRuleOutput() GetRulesSlbRuleOutput
	ToGetRulesSlbRuleOutputWithContext(context.Context) GetRulesSlbRuleOutput
}

GetRulesSlbRuleInput is an input type that accepts GetRulesSlbRuleArgs and GetRulesSlbRuleOutput values. You can construct a concrete instance of `GetRulesSlbRuleInput` via:

GetRulesSlbRuleArgs{...}

type GetRulesSlbRuleOutput

type GetRulesSlbRuleOutput struct{ *pulumi.OutputState }

func (GetRulesSlbRuleOutput) Domain

Domain name in the HTTP request where the rule applies (e.g. "*.aliyun.com").

func (GetRulesSlbRuleOutput) ElementType

func (GetRulesSlbRuleOutput) ElementType() reflect.Type

func (GetRulesSlbRuleOutput) Id

Rule ID.

func (GetRulesSlbRuleOutput) Name

Rule name.

func (GetRulesSlbRuleOutput) ServerGroupId

func (o GetRulesSlbRuleOutput) ServerGroupId() pulumi.StringOutput

ID of the linked VServer group.

func (GetRulesSlbRuleOutput) ToGetRulesSlbRuleOutput

func (o GetRulesSlbRuleOutput) ToGetRulesSlbRuleOutput() GetRulesSlbRuleOutput

func (GetRulesSlbRuleOutput) ToGetRulesSlbRuleOutputWithContext

func (o GetRulesSlbRuleOutput) ToGetRulesSlbRuleOutputWithContext(ctx context.Context) GetRulesSlbRuleOutput

func (GetRulesSlbRuleOutput) Url

Path in the HTTP request where the rule applies (e.g. "/image").

type GetServerCertificatesArgs

type GetServerCertificatesArgs struct {
	// A list of server certificates IDs to filter results.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by server certificate name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The Id of resource group which the slb server certificates belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getServerCertificates.

type GetServerCertificatesCertificate

type GetServerCertificatesCertificate struct {
	// Id of server certificate issued by alibaba cloud.
	// * `alicloudCertificateName`- Name of server certificate issued by alibaba cloud.
	// * `isAlicloudCertificate`- Is server certificate issued by alibaba cloud or not.
	AlicloudCertificateId   string `pulumi:"alicloudCertificateId"`
	AlicloudCertificateName string `pulumi:"alicloudCertificateName"`
	// Server certificate common name.
	CommonName string `pulumi:"commonName"`
	// Server certificate created time.
	CreatedTime string `pulumi:"createdTime"`
	// Server certificate created timestamp.
	CreatedTimestamp int `pulumi:"createdTimestamp"`
	// Server certificate expired time.
	ExpiredTime string `pulumi:"expiredTime"`
	// Server certificate expired timestamp.
	ExpiredTimestamp int `pulumi:"expiredTimestamp"`
	// Server certificate fingerprint.
	Fingerprint string `pulumi:"fingerprint"`
	// Server certificate ID.
	Id                    string `pulumi:"id"`
	IsAlicloudCertificate bool   `pulumi:"isAlicloudCertificate"`
	// Server certificate name.
	Name string `pulumi:"name"`
	// The Id of resource group which the slb server certificates belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// Server certificate subject alternative name list.
	SubjectAlternativeNames []string `pulumi:"subjectAlternativeNames"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

type GetServerCertificatesCertificateArgs

type GetServerCertificatesCertificateArgs struct {
	// Id of server certificate issued by alibaba cloud.
	// * `alicloudCertificateName`- Name of server certificate issued by alibaba cloud.
	// * `isAlicloudCertificate`- Is server certificate issued by alibaba cloud or not.
	AlicloudCertificateId   pulumi.StringInput `pulumi:"alicloudCertificateId"`
	AlicloudCertificateName pulumi.StringInput `pulumi:"alicloudCertificateName"`
	// Server certificate common name.
	CommonName pulumi.StringInput `pulumi:"commonName"`
	// Server certificate created time.
	CreatedTime pulumi.StringInput `pulumi:"createdTime"`
	// Server certificate created timestamp.
	CreatedTimestamp pulumi.IntInput `pulumi:"createdTimestamp"`
	// Server certificate expired time.
	ExpiredTime pulumi.StringInput `pulumi:"expiredTime"`
	// Server certificate expired timestamp.
	ExpiredTimestamp pulumi.IntInput `pulumi:"expiredTimestamp"`
	// Server certificate fingerprint.
	Fingerprint pulumi.StringInput `pulumi:"fingerprint"`
	// Server certificate ID.
	Id                    pulumi.StringInput `pulumi:"id"`
	IsAlicloudCertificate pulumi.BoolInput   `pulumi:"isAlicloudCertificate"`
	// Server certificate name.
	Name pulumi.StringInput `pulumi:"name"`
	// The Id of resource group which the slb server certificates belongs.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// Server certificate subject alternative name list.
	SubjectAlternativeNames pulumi.StringArrayInput `pulumi:"subjectAlternativeNames"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
}

func (GetServerCertificatesCertificateArgs) ElementType

func (GetServerCertificatesCertificateArgs) ToGetServerCertificatesCertificateOutput

func (i GetServerCertificatesCertificateArgs) ToGetServerCertificatesCertificateOutput() GetServerCertificatesCertificateOutput

func (GetServerCertificatesCertificateArgs) ToGetServerCertificatesCertificateOutputWithContext

func (i GetServerCertificatesCertificateArgs) ToGetServerCertificatesCertificateOutputWithContext(ctx context.Context) GetServerCertificatesCertificateOutput

type GetServerCertificatesCertificateArray

type GetServerCertificatesCertificateArray []GetServerCertificatesCertificateInput

func (GetServerCertificatesCertificateArray) ElementType

func (GetServerCertificatesCertificateArray) ToGetServerCertificatesCertificateArrayOutput

func (i GetServerCertificatesCertificateArray) ToGetServerCertificatesCertificateArrayOutput() GetServerCertificatesCertificateArrayOutput

func (GetServerCertificatesCertificateArray) ToGetServerCertificatesCertificateArrayOutputWithContext

func (i GetServerCertificatesCertificateArray) ToGetServerCertificatesCertificateArrayOutputWithContext(ctx context.Context) GetServerCertificatesCertificateArrayOutput

type GetServerCertificatesCertificateArrayInput

type GetServerCertificatesCertificateArrayInput interface {
	pulumi.Input

	ToGetServerCertificatesCertificateArrayOutput() GetServerCertificatesCertificateArrayOutput
	ToGetServerCertificatesCertificateArrayOutputWithContext(context.Context) GetServerCertificatesCertificateArrayOutput
}

GetServerCertificatesCertificateArrayInput is an input type that accepts GetServerCertificatesCertificateArray and GetServerCertificatesCertificateArrayOutput values. You can construct a concrete instance of `GetServerCertificatesCertificateArrayInput` via:

GetServerCertificatesCertificateArray{ GetServerCertificatesCertificateArgs{...} }

type GetServerCertificatesCertificateArrayOutput

type GetServerCertificatesCertificateArrayOutput struct{ *pulumi.OutputState }

func (GetServerCertificatesCertificateArrayOutput) ElementType

func (GetServerCertificatesCertificateArrayOutput) Index

func (GetServerCertificatesCertificateArrayOutput) ToGetServerCertificatesCertificateArrayOutput

func (o GetServerCertificatesCertificateArrayOutput) ToGetServerCertificatesCertificateArrayOutput() GetServerCertificatesCertificateArrayOutput

func (GetServerCertificatesCertificateArrayOutput) ToGetServerCertificatesCertificateArrayOutputWithContext

func (o GetServerCertificatesCertificateArrayOutput) ToGetServerCertificatesCertificateArrayOutputWithContext(ctx context.Context) GetServerCertificatesCertificateArrayOutput

type GetServerCertificatesCertificateInput

type GetServerCertificatesCertificateInput interface {
	pulumi.Input

	ToGetServerCertificatesCertificateOutput() GetServerCertificatesCertificateOutput
	ToGetServerCertificatesCertificateOutputWithContext(context.Context) GetServerCertificatesCertificateOutput
}

GetServerCertificatesCertificateInput is an input type that accepts GetServerCertificatesCertificateArgs and GetServerCertificatesCertificateOutput values. You can construct a concrete instance of `GetServerCertificatesCertificateInput` via:

GetServerCertificatesCertificateArgs{...}

type GetServerCertificatesCertificateOutput

type GetServerCertificatesCertificateOutput struct{ *pulumi.OutputState }

func (GetServerCertificatesCertificateOutput) AlicloudCertificateId

Id of server certificate issued by alibaba cloud. * `alicloudCertificateName`- Name of server certificate issued by alibaba cloud. * `isAlicloudCertificate`- Is server certificate issued by alibaba cloud or not.

func (GetServerCertificatesCertificateOutput) AlicloudCertificateName

func (o GetServerCertificatesCertificateOutput) AlicloudCertificateName() pulumi.StringOutput

func (GetServerCertificatesCertificateOutput) CommonName

Server certificate common name.

func (GetServerCertificatesCertificateOutput) CreatedTime

Server certificate created time.

func (GetServerCertificatesCertificateOutput) CreatedTimestamp

Server certificate created timestamp.

func (GetServerCertificatesCertificateOutput) ElementType

func (GetServerCertificatesCertificateOutput) ExpiredTime

Server certificate expired time.

func (GetServerCertificatesCertificateOutput) ExpiredTimestamp

Server certificate expired timestamp.

func (GetServerCertificatesCertificateOutput) Fingerprint

Server certificate fingerprint.

func (GetServerCertificatesCertificateOutput) Id

Server certificate ID.

func (GetServerCertificatesCertificateOutput) IsAlicloudCertificate

func (o GetServerCertificatesCertificateOutput) IsAlicloudCertificate() pulumi.BoolOutput

func (GetServerCertificatesCertificateOutput) Name

Server certificate name.

func (GetServerCertificatesCertificateOutput) ResourceGroupId

The Id of resource group which the slb server certificates belongs.

func (GetServerCertificatesCertificateOutput) SubjectAlternativeNames

Server certificate subject alternative name list.

func (GetServerCertificatesCertificateOutput) Tags

A mapping of tags to assign to the resource.

func (GetServerCertificatesCertificateOutput) ToGetServerCertificatesCertificateOutput

func (o GetServerCertificatesCertificateOutput) ToGetServerCertificatesCertificateOutput() GetServerCertificatesCertificateOutput

func (GetServerCertificatesCertificateOutput) ToGetServerCertificatesCertificateOutputWithContext

func (o GetServerCertificatesCertificateOutput) ToGetServerCertificatesCertificateOutputWithContext(ctx context.Context) GetServerCertificatesCertificateOutput

type GetServerCertificatesResult

type GetServerCertificatesResult struct {
	// A list of SLB server certificates. Each element contains the following attributes:
	Certificates []GetServerCertificatesCertificate `pulumi:"certificates"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of SLB server certificates IDs.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of SLB server certificates names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// The Id of resource group which the slb server certificates belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// (Available in v1.66.0+) A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of values returned by getServerCertificates.

func GetServerCertificates

func GetServerCertificates(ctx *pulumi.Context, args *GetServerCertificatesArgs, opts ...pulumi.InvokeOption) (*GetServerCertificatesResult, error)

This data source provides the server certificate list.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sampleDs, err := slb.GetServerCertificates(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstSlbServerCertificateId", sampleDs.Certificates[0].Id)
		return nil
	})
}

```

type GetServerGroupsArgs

type GetServerGroupsArgs struct {
	// A list of VServer group IDs to filter results.
	Ids []string `pulumi:"ids"`
	// ID of the SLB.
	LoadBalancerId string `pulumi:"loadBalancerId"`
	// A regex string to filter results by VServer group name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getServerGroups.

type GetServerGroupsResult

type GetServerGroupsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of SLB VServer groups IDs.
	Ids            []string `pulumi:"ids"`
	LoadBalancerId string   `pulumi:"loadBalancerId"`
	NameRegex      *string  `pulumi:"nameRegex"`
	// A list of SLB VServer groups names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// A list of SLB VServer groups. Each element contains the following attributes:
	SlbServerGroups []GetServerGroupsSlbServerGroup `pulumi:"slbServerGroups"`
}

A collection of values returned by getServerGroups.

func GetServerGroups

func GetServerGroups(ctx *pulumi.Context, args *GetServerGroupsArgs, opts ...pulumi.InvokeOption) (*GetServerGroupsResult, error)

This data source provides the VServer groups related to a server load balancer.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "slbservergroups"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		opt0 := "cloud_efficiency"
		opt1 := "VSwitch"
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     &opt0,
			AvailableResourceCreation: &opt1,
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:            defaultNetwork.ID(),
			CidrBlock:        pulumi.String("172.16.0.0/16"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		defaultLoadBalancer, err := slb.NewLoadBalancer(ctx, "defaultLoadBalancer", &slb.LoadBalancerArgs{
			VswitchId: defaultSwitch.ID(),
		})
		if err != nil {
			return err
		}
		_, err = slb.NewServerGroup(ctx, "defaultServerGroup", &slb.ServerGroupArgs{
			LoadBalancerId: defaultLoadBalancer.ID(),
		})
		if err != nil {
			return err
		}
		ctx.Export("firstSlbServerGroupId", sampleDs.ApplyT(func(sampleDs slb.GetServerGroupsResult) (string, error) {
			return sampleDs.SlbServerGroups[0].Id, nil
		}).(pulumi.StringOutput))
		return nil
	})
}

```

type GetServerGroupsSlbServerGroup

type GetServerGroupsSlbServerGroup struct {
	// VServer group ID.
	Id string `pulumi:"id"`
	// VServer group name.
	Name string `pulumi:"name"`
	// ECS instances associated to the group. Each element contains the following attributes:
	Servers []GetServerGroupsSlbServerGroupServer `pulumi:"servers"`
}

type GetServerGroupsSlbServerGroupArgs

type GetServerGroupsSlbServerGroupArgs struct {
	// VServer group ID.
	Id pulumi.StringInput `pulumi:"id"`
	// VServer group name.
	Name pulumi.StringInput `pulumi:"name"`
	// ECS instances associated to the group. Each element contains the following attributes:
	Servers GetServerGroupsSlbServerGroupServerArrayInput `pulumi:"servers"`
}

func (GetServerGroupsSlbServerGroupArgs) ElementType

func (GetServerGroupsSlbServerGroupArgs) ToGetServerGroupsSlbServerGroupOutput

func (i GetServerGroupsSlbServerGroupArgs) ToGetServerGroupsSlbServerGroupOutput() GetServerGroupsSlbServerGroupOutput

func (GetServerGroupsSlbServerGroupArgs) ToGetServerGroupsSlbServerGroupOutputWithContext

func (i GetServerGroupsSlbServerGroupArgs) ToGetServerGroupsSlbServerGroupOutputWithContext(ctx context.Context) GetServerGroupsSlbServerGroupOutput

type GetServerGroupsSlbServerGroupArray

type GetServerGroupsSlbServerGroupArray []GetServerGroupsSlbServerGroupInput

func (GetServerGroupsSlbServerGroupArray) ElementType

func (GetServerGroupsSlbServerGroupArray) ToGetServerGroupsSlbServerGroupArrayOutput

func (i GetServerGroupsSlbServerGroupArray) ToGetServerGroupsSlbServerGroupArrayOutput() GetServerGroupsSlbServerGroupArrayOutput

func (GetServerGroupsSlbServerGroupArray) ToGetServerGroupsSlbServerGroupArrayOutputWithContext

func (i GetServerGroupsSlbServerGroupArray) ToGetServerGroupsSlbServerGroupArrayOutputWithContext(ctx context.Context) GetServerGroupsSlbServerGroupArrayOutput

type GetServerGroupsSlbServerGroupArrayInput

type GetServerGroupsSlbServerGroupArrayInput interface {
	pulumi.Input

	ToGetServerGroupsSlbServerGroupArrayOutput() GetServerGroupsSlbServerGroupArrayOutput
	ToGetServerGroupsSlbServerGroupArrayOutputWithContext(context.Context) GetServerGroupsSlbServerGroupArrayOutput
}

GetServerGroupsSlbServerGroupArrayInput is an input type that accepts GetServerGroupsSlbServerGroupArray and GetServerGroupsSlbServerGroupArrayOutput values. You can construct a concrete instance of `GetServerGroupsSlbServerGroupArrayInput` via:

GetServerGroupsSlbServerGroupArray{ GetServerGroupsSlbServerGroupArgs{...} }

type GetServerGroupsSlbServerGroupArrayOutput

type GetServerGroupsSlbServerGroupArrayOutput struct{ *pulumi.OutputState }

func (GetServerGroupsSlbServerGroupArrayOutput) ElementType

func (GetServerGroupsSlbServerGroupArrayOutput) Index

func (GetServerGroupsSlbServerGroupArrayOutput) ToGetServerGroupsSlbServerGroupArrayOutput

func (o GetServerGroupsSlbServerGroupArrayOutput) ToGetServerGroupsSlbServerGroupArrayOutput() GetServerGroupsSlbServerGroupArrayOutput

func (GetServerGroupsSlbServerGroupArrayOutput) ToGetServerGroupsSlbServerGroupArrayOutputWithContext

func (o GetServerGroupsSlbServerGroupArrayOutput) ToGetServerGroupsSlbServerGroupArrayOutputWithContext(ctx context.Context) GetServerGroupsSlbServerGroupArrayOutput

type GetServerGroupsSlbServerGroupInput

type GetServerGroupsSlbServerGroupInput interface {
	pulumi.Input

	ToGetServerGroupsSlbServerGroupOutput() GetServerGroupsSlbServerGroupOutput
	ToGetServerGroupsSlbServerGroupOutputWithContext(context.Context) GetServerGroupsSlbServerGroupOutput
}

GetServerGroupsSlbServerGroupInput is an input type that accepts GetServerGroupsSlbServerGroupArgs and GetServerGroupsSlbServerGroupOutput values. You can construct a concrete instance of `GetServerGroupsSlbServerGroupInput` via:

GetServerGroupsSlbServerGroupArgs{...}

type GetServerGroupsSlbServerGroupOutput

type GetServerGroupsSlbServerGroupOutput struct{ *pulumi.OutputState }

func (GetServerGroupsSlbServerGroupOutput) ElementType

func (GetServerGroupsSlbServerGroupOutput) Id

VServer group ID.

func (GetServerGroupsSlbServerGroupOutput) Name

VServer group name.

func (GetServerGroupsSlbServerGroupOutput) Servers

ECS instances associated to the group. Each element contains the following attributes:

func (GetServerGroupsSlbServerGroupOutput) ToGetServerGroupsSlbServerGroupOutput

func (o GetServerGroupsSlbServerGroupOutput) ToGetServerGroupsSlbServerGroupOutput() GetServerGroupsSlbServerGroupOutput

func (GetServerGroupsSlbServerGroupOutput) ToGetServerGroupsSlbServerGroupOutputWithContext

func (o GetServerGroupsSlbServerGroupOutput) ToGetServerGroupsSlbServerGroupOutputWithContext(ctx context.Context) GetServerGroupsSlbServerGroupOutput

type GetServerGroupsSlbServerGroupServer

type GetServerGroupsSlbServerGroupServer struct {
	// ID of the attached ECS instance.
	InstanceId string `pulumi:"instanceId"`
	// Weight associated to the ECS instance.
	Weight int `pulumi:"weight"`
}

type GetServerGroupsSlbServerGroupServerArgs

type GetServerGroupsSlbServerGroupServerArgs struct {
	// ID of the attached ECS instance.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// Weight associated to the ECS instance.
	Weight pulumi.IntInput `pulumi:"weight"`
}

func (GetServerGroupsSlbServerGroupServerArgs) ElementType

func (GetServerGroupsSlbServerGroupServerArgs) ToGetServerGroupsSlbServerGroupServerOutput

func (i GetServerGroupsSlbServerGroupServerArgs) ToGetServerGroupsSlbServerGroupServerOutput() GetServerGroupsSlbServerGroupServerOutput

func (GetServerGroupsSlbServerGroupServerArgs) ToGetServerGroupsSlbServerGroupServerOutputWithContext

func (i GetServerGroupsSlbServerGroupServerArgs) ToGetServerGroupsSlbServerGroupServerOutputWithContext(ctx context.Context) GetServerGroupsSlbServerGroupServerOutput

type GetServerGroupsSlbServerGroupServerArray

type GetServerGroupsSlbServerGroupServerArray []GetServerGroupsSlbServerGroupServerInput

func (GetServerGroupsSlbServerGroupServerArray) ElementType

func (GetServerGroupsSlbServerGroupServerArray) ToGetServerGroupsSlbServerGroupServerArrayOutput

func (i GetServerGroupsSlbServerGroupServerArray) ToGetServerGroupsSlbServerGroupServerArrayOutput() GetServerGroupsSlbServerGroupServerArrayOutput

func (GetServerGroupsSlbServerGroupServerArray) ToGetServerGroupsSlbServerGroupServerArrayOutputWithContext

func (i GetServerGroupsSlbServerGroupServerArray) ToGetServerGroupsSlbServerGroupServerArrayOutputWithContext(ctx context.Context) GetServerGroupsSlbServerGroupServerArrayOutput

type GetServerGroupsSlbServerGroupServerArrayInput

type GetServerGroupsSlbServerGroupServerArrayInput interface {
	pulumi.Input

	ToGetServerGroupsSlbServerGroupServerArrayOutput() GetServerGroupsSlbServerGroupServerArrayOutput
	ToGetServerGroupsSlbServerGroupServerArrayOutputWithContext(context.Context) GetServerGroupsSlbServerGroupServerArrayOutput
}

GetServerGroupsSlbServerGroupServerArrayInput is an input type that accepts GetServerGroupsSlbServerGroupServerArray and GetServerGroupsSlbServerGroupServerArrayOutput values. You can construct a concrete instance of `GetServerGroupsSlbServerGroupServerArrayInput` via:

GetServerGroupsSlbServerGroupServerArray{ GetServerGroupsSlbServerGroupServerArgs{...} }

type GetServerGroupsSlbServerGroupServerArrayOutput

type GetServerGroupsSlbServerGroupServerArrayOutput struct{ *pulumi.OutputState }

func (GetServerGroupsSlbServerGroupServerArrayOutput) ElementType

func (GetServerGroupsSlbServerGroupServerArrayOutput) Index

func (GetServerGroupsSlbServerGroupServerArrayOutput) ToGetServerGroupsSlbServerGroupServerArrayOutput

func (o GetServerGroupsSlbServerGroupServerArrayOutput) ToGetServerGroupsSlbServerGroupServerArrayOutput() GetServerGroupsSlbServerGroupServerArrayOutput

func (GetServerGroupsSlbServerGroupServerArrayOutput) ToGetServerGroupsSlbServerGroupServerArrayOutputWithContext

func (o GetServerGroupsSlbServerGroupServerArrayOutput) ToGetServerGroupsSlbServerGroupServerArrayOutputWithContext(ctx context.Context) GetServerGroupsSlbServerGroupServerArrayOutput

type GetServerGroupsSlbServerGroupServerInput

type GetServerGroupsSlbServerGroupServerInput interface {
	pulumi.Input

	ToGetServerGroupsSlbServerGroupServerOutput() GetServerGroupsSlbServerGroupServerOutput
	ToGetServerGroupsSlbServerGroupServerOutputWithContext(context.Context) GetServerGroupsSlbServerGroupServerOutput
}

GetServerGroupsSlbServerGroupServerInput is an input type that accepts GetServerGroupsSlbServerGroupServerArgs and GetServerGroupsSlbServerGroupServerOutput values. You can construct a concrete instance of `GetServerGroupsSlbServerGroupServerInput` via:

GetServerGroupsSlbServerGroupServerArgs{...}

type GetServerGroupsSlbServerGroupServerOutput

type GetServerGroupsSlbServerGroupServerOutput struct{ *pulumi.OutputState }

func (GetServerGroupsSlbServerGroupServerOutput) ElementType

func (GetServerGroupsSlbServerGroupServerOutput) InstanceId

ID of the attached ECS instance.

func (GetServerGroupsSlbServerGroupServerOutput) ToGetServerGroupsSlbServerGroupServerOutput

func (o GetServerGroupsSlbServerGroupServerOutput) ToGetServerGroupsSlbServerGroupServerOutput() GetServerGroupsSlbServerGroupServerOutput

func (GetServerGroupsSlbServerGroupServerOutput) ToGetServerGroupsSlbServerGroupServerOutputWithContext

func (o GetServerGroupsSlbServerGroupServerOutput) ToGetServerGroupsSlbServerGroupServerOutputWithContext(ctx context.Context) GetServerGroupsSlbServerGroupServerOutput

func (GetServerGroupsSlbServerGroupServerOutput) Weight

Weight associated to the ECS instance.

type GetZonesArgs

type GetZonesArgs struct {
	// Filter the results by a slb instance address version. Can be either `ipv4`, or `ipv6`.
	AvailableSlbAddressIpVersion *string `pulumi:"availableSlbAddressIpVersion"`
	// Filter the results by a slb instance address type. Can be either `Vpc`, `classicInternet` or `classicIntranet`
	AvailableSlbAddressType *string `pulumi:"availableSlbAddressType"`
	// Default to false and only output `id` in the `zones` block. Set it to true can output more details.
	EnableDetails *bool   `pulumi:"enableDetails"`
	OutputFile    *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

type GetZonesResult

type GetZonesResult struct {
	AvailableSlbAddressIpVersion *string `pulumi:"availableSlbAddressIpVersion"`
	AvailableSlbAddressType      *string `pulumi:"availableSlbAddressType"`
	EnableDetails                *bool   `pulumi:"enableDetails"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of zone IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// A list of availability zones. Each element contains the following attributes:
	Zones []GetZonesZone `pulumi:"zones"`
}

A collection of values returned by getZones.

func GetZones

func GetZones(ctx *pulumi.Context, args *GetZonesArgs, opts ...pulumi.InvokeOption) (*GetZonesResult, error)

This data source provides availability zones for SLB that can be accessed by an Alibaba Cloud account within the region configured in the provider.

> **NOTE:** Available in v1.73.0+.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := slb.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetZonesZone

type GetZonesZone struct {
	// ID of the zone.
	Id string `pulumi:"id"`
	// A list of slb slave zone ids in which the slb master zone.
	SlbSlaveZoneIds []string `pulumi:"slbSlaveZoneIds"`
}

type GetZonesZoneArgs

type GetZonesZoneArgs struct {
	// ID of the zone.
	Id pulumi.StringInput `pulumi:"id"`
	// A list of slb slave zone ids in which the slb master zone.
	SlbSlaveZoneIds pulumi.StringArrayInput `pulumi:"slbSlaveZoneIds"`
}

func (GetZonesZoneArgs) ElementType

func (GetZonesZoneArgs) ElementType() reflect.Type

func (GetZonesZoneArgs) ToGetZonesZoneOutput

func (i GetZonesZoneArgs) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneArgs) ToGetZonesZoneOutputWithContext

func (i GetZonesZoneArgs) ToGetZonesZoneOutputWithContext(ctx context.Context) GetZonesZoneOutput

type GetZonesZoneArray

type GetZonesZoneArray []GetZonesZoneInput

func (GetZonesZoneArray) ElementType

func (GetZonesZoneArray) ElementType() reflect.Type

func (GetZonesZoneArray) ToGetZonesZoneArrayOutput

func (i GetZonesZoneArray) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArray) ToGetZonesZoneArrayOutputWithContext

func (i GetZonesZoneArray) ToGetZonesZoneArrayOutputWithContext(ctx context.Context) GetZonesZoneArrayOutput

type GetZonesZoneArrayInput

type GetZonesZoneArrayInput interface {
	pulumi.Input

	ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput
	ToGetZonesZoneArrayOutputWithContext(context.Context) GetZonesZoneArrayOutput
}

GetZonesZoneArrayInput is an input type that accepts GetZonesZoneArray and GetZonesZoneArrayOutput values. You can construct a concrete instance of `GetZonesZoneArrayInput` via:

GetZonesZoneArray{ GetZonesZoneArgs{...} }

type GetZonesZoneArrayOutput

type GetZonesZoneArrayOutput struct{ *pulumi.OutputState }

func (GetZonesZoneArrayOutput) ElementType

func (GetZonesZoneArrayOutput) ElementType() reflect.Type

func (GetZonesZoneArrayOutput) Index

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput

func (o GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutputWithContext

func (o GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutputWithContext(ctx context.Context) GetZonesZoneArrayOutput

type GetZonesZoneInput

type GetZonesZoneInput interface {
	pulumi.Input

	ToGetZonesZoneOutput() GetZonesZoneOutput
	ToGetZonesZoneOutputWithContext(context.Context) GetZonesZoneOutput
}

GetZonesZoneInput is an input type that accepts GetZonesZoneArgs and GetZonesZoneOutput values. You can construct a concrete instance of `GetZonesZoneInput` via:

GetZonesZoneArgs{...}

type GetZonesZoneOutput

type GetZonesZoneOutput struct{ *pulumi.OutputState }

func (GetZonesZoneOutput) ElementType

func (GetZonesZoneOutput) ElementType() reflect.Type

func (GetZonesZoneOutput) Id

ID of the zone.

func (GetZonesZoneOutput) SlbSlaveZoneIds

func (o GetZonesZoneOutput) SlbSlaveZoneIds() pulumi.StringArrayOutput

A list of slb slave zone ids in which the slb master zone.

func (GetZonesZoneOutput) ToGetZonesZoneOutput

func (o GetZonesZoneOutput) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneOutput) ToGetZonesZoneOutputWithContext

func (o GetZonesZoneOutput) ToGetZonesZoneOutputWithContext(ctx context.Context) GetZonesZoneOutput

type Listener

type Listener struct {
	pulumi.CustomResourceState

	// the id of access control list to be apply on the listener, is the id of resource alicloud_slb_acl. If `aclStatus` is "on", it is mandatory. Otherwise, it will be ignored.
	AclId pulumi.StringPtrOutput `pulumi:"aclId"`
	// Whether to enable "acl(access control list)", the acl is specified by `aclId`. Valid values are `on` and `off`. Default to `off`.
	AclStatus pulumi.StringPtrOutput `pulumi:"aclStatus"`
	// Mode for handling the acl specified by acl_id. If `aclStatus` is "on", it is mandatory. Otherwise, it will be ignored. Valid values are `white` and `black`. `white` means the Listener can only be accessed by client ip belongs to the acl; `black` means the Listener can not be accessed by client ip belongs to the acl.
	AclType pulumi.StringPtrOutput `pulumi:"aclType"`
	// Port used by the Server Load Balancer instance backend. Valid value range: [1-65535].
	BackendPort pulumi.IntPtrOutput `pulumi:"backendPort"`
	// Bandwidth peak of Listener. For the public network instance charged per traffic consumed, the Bandwidth on Listener can be set to -1, indicating the bandwidth peak is unlimited. Valid values are [-1, 1-1000] in Mbps.
	Bandwidth pulumi.IntPtrOutput `pulumi:"bandwidth"`
	// SLB CA certificate ID. Only when `protocol` is `https` can be specified.
	CaCertificateId pulumi.StringPtrOutput `pulumi:"caCertificateId"`
	// The cookie configured on the server. It is mandatory when `stickySession` is "on" and `stickySessionType` is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.
	Cookie pulumi.StringPtrOutput `pulumi:"cookie"`
	// Cookie timeout. It is mandatory when `stickySession` is "on" and `stickySessionType` is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.
	CookieTimeout pulumi.IntPtrOutput `pulumi:"cookieTimeout"`
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrOutput `pulumi:"deleteProtectionValidation"`
	// The description of slb listener. This description can have a string of 1 to 80 characters. Default value: null.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether to enable https listener support http2 or not. Valid values are `on` and `off`. Default to `on`.
	EnableHttp2 pulumi.StringPtrOutput `pulumi:"enableHttp2"`
	// Timeout of tcp listener established connection idle timeout. Valid value range: [10-900] in seconds. Default to 900.
	EstablishedTimeout pulumi.IntPtrOutput `pulumi:"establishedTimeout"`
	// The port that http redirect to https.
	ForwardPort pulumi.IntPtrOutput `pulumi:"forwardPort"`
	// Port used by the Server Load Balancer instance frontend. Valid value range: [1-65535].
	FrontendPort pulumi.IntOutput `pulumi:"frontendPort"`
	// Whether to enable "Gzip Compression". If enabled, files of specific file types will be compressed, otherwise, no files will be compressed. Default to true. Available in v1.13.0+.
	Gzip pulumi.BoolPtrOutput `pulumi:"gzip"`
	// Whether to enable health check. Valid values are`on` and `off`. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener.
	HealthCheck pulumi.StringPtrOutput `pulumi:"healthCheck"`
	// Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.
	HealthCheckConnectPort pulumi.IntOutput `pulumi:"healthCheckConnectPort"`
	// Domain name used for health check. When it used to launch TCP listener, `healthCheckType` must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty,  Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.
	HealthCheckDomain pulumi.StringPtrOutput `pulumi:"healthCheckDomain"`
	// Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when `healthCheck` is on. Default to `http2xx`.  Valid values are: `http2xx`,  `http3xx`, `http4xx` and `http5xx`.
	HealthCheckHttpCode pulumi.StringPtrOutput `pulumi:"healthCheckHttpCode"`
	// Time interval of health checks. It is required when `healthCheck` is on. Valid value range: [1-50] in seconds. Default to 2.
	HealthCheckInterval pulumi.IntPtrOutput `pulumi:"healthCheckInterval"`
	// The method of health check. Valid values: ["head", "get"].
	HealthCheckMethod pulumi.StringOutput `pulumi:"healthCheckMethod"`
	// Maximum timeout of each health check response. It is required when `healthCheck` is on. Valid value range: [1-300] in seconds. Default to 5. Note: If `healthCheckTimeout` < `healthCheckInterval`, its will be replaced by `healthCheckInterval`.
	HealthCheckTimeout pulumi.IntPtrOutput `pulumi:"healthCheckTimeout"`
	// Type of health check. Valid values are: `tcp` and `http`. Default to `tcp` . TCP supports TCP and HTTP health check mode, you can select the particular mode depending on your application.
	HealthCheckType pulumi.StringPtrOutput `pulumi:"healthCheckType"`
	// URI used for health check. When it used to launch TCP listener, `healthCheckType` must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.
	HealthCheckUri pulumi.StringPtrOutput `pulumi:"healthCheckUri"`
	// Threshold determining the result of the health check is success. It is required when `healthCheck` is on. Valid value range: [1-10] in seconds. Default to 3.
	HealthyThreshold pulumi.IntPtrOutput `pulumi:"healthyThreshold"`
	// Timeout of http or https listener established connection idle timeout. Valid value range: [1-60] in seconds. Default to 15.
	IdleTimeout pulumi.IntPtrOutput `pulumi:"idleTimeout"`
	// Deprecated: Field 'instance_port' has been deprecated, and using 'backend_port' to replace.
	InstancePort pulumi.IntPtrOutput `pulumi:"instancePort"`
	// Deprecated: Field 'lb_port' has been deprecated, and using 'frontend_port' to replace.
	LbPort pulumi.IntPtrOutput `pulumi:"lbPort"`
	// Deprecated: Field 'lb_protocol' has been deprecated, and using 'protocol' to replace.
	LbProtocol pulumi.StringPtrOutput `pulumi:"lbProtocol"`
	// Whether to enable http redirect to https, Valid values are `on` and `off`. Default to `off`.
	ListenerForward pulumi.StringOutput `pulumi:"listenerForward"`
	// The Load Balancer ID which is used to launch a new listener.
	LoadBalancerId           pulumi.StringOutput    `pulumi:"loadBalancerId"`
	MasterSlaveServerGroupId pulumi.StringPtrOutput `pulumi:"masterSlaveServerGroupId"`
	// Timeout of connection persistence. Valid value range: [0-3600] in seconds. Default to 0 and means closing it.
	PersistenceTimeout pulumi.IntPtrOutput `pulumi:"persistenceTimeout"`
	// The protocol to listen on. Valid values are [`http`, `https`, `tcp`, `udp`].
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// Timeout of http or https listener request (which does not get response from backend) timeout. Valid value range: [1-180] in seconds. Default to 60.
	RequestTimeout pulumi.IntPtrOutput `pulumi:"requestTimeout"`
	// Scheduling algorithm,  Valid values: `wrr`, `rr`, `wlc`, `sch`. Default to `wrr`. Only when `protocol` is `tcp` or `udp`, `scheduler` can be set to `sch`.
	Scheduler pulumi.StringPtrOutput `pulumi:"scheduler"`
	// SLB Server certificate ID. It is required when `protocol` is `https`.
	ServerCertificateId pulumi.StringOutput `pulumi:"serverCertificateId"`
	// the id of server group to be apply on the listener, is the id of resource `slb.ServerGroup`.
	ServerGroupId pulumi.StringPtrOutput `pulumi:"serverGroupId"`
	// It has been deprecated from 1.59.0 and using `serverCertificateId` instead.
	//
	// Deprecated: Field 'ssl_certificate_id' has been deprecated from 1.59.0 and using 'server_certificate_id' instead.
	SslCertificateId pulumi.StringOutput `pulumi:"sslCertificateId"`
	// Whether to enable session persistence, Valid values are `on` and `off`. Default to `off`.
	StickySession pulumi.StringPtrOutput `pulumi:"stickySession"`
	// Mode for handling the cookie. If `stickySession` is "on", it is mandatory. Otherwise, it will be ignored. Valid values are `insert` and `server`. `insert` means it is inserted from Server Load Balancer; `server` means the Server Load Balancer learns from the backend server.
	StickySessionType pulumi.StringPtrOutput `pulumi:"stickySessionType"`
	// Https listener TLS cipher policy. Valid values are `tlsCipherPolicy10`, `tlsCipherPolicy11`, `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`. Default to `tlsCipherPolicy10`. Currently the `tlsCipherPolicy` can not be updated when load balancer instance is "Shared-Performance".
	TlsCipherPolicy pulumi.StringPtrOutput `pulumi:"tlsCipherPolicy"`
	// Threshold determining the result of the health check is fail. It is required when `healthCheck` is on. Valid value range: [1-10] in seconds. Default to 3.
	UnhealthyThreshold pulumi.IntPtrOutput `pulumi:"unhealthyThreshold"`
	// Whether to set additional HTTP Header field "X-Forwarded-For" (documented below). Available in v1.13.0+.
	XForwardedFor ListenerXForwardedForOutput `pulumi:"xForwardedFor"`
}

Provides an Application Load Balancer Listener resource.

For information about slb and how to use it, see [What is Server Load Balancer](https://www.alibabacloud.com/help/doc-detail/27539.htm).

For information about listener and how to use it, to see the following:

* [Configure a HTTP Listener](https://www.alibabacloud.com/help/doc-detail/27592.htm). * [Configure a HTTPS Listener](https://www.alibabacloud.com/help/doc-detail/27593.htm). * [Configure a TCP Listener](https://www.alibabacloud.com/help/doc-detail/27594.htm). * [Configure a UDP Listener](https://www.alibabacloud.com/help/doc-detail/27595.htm).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "testcreatehttplistener"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		ipVersion := "ipv4"
		if param := cfg.Get("ipVersion"); param != "" {
			ipVersion = param
		}
		defaultLoadBalancer, err := slb.NewLoadBalancer(ctx, "defaultLoadBalancer", &slb.LoadBalancerArgs{
			InternetChargeType: pulumi.String("PayByTraffic"),
			Internet:           pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		defaultAcl, err := slb.NewAcl(ctx, "defaultAcl", &slb.AclArgs{
			IpVersion: pulumi.String(ipVersion),
			EntryLists: slb.AclEntryListArray{
				&slb.AclEntryListArgs{
					Entry:   pulumi.String("10.10.10.0/24"),
					Comment: pulumi.String("first"),
				},
				&slb.AclEntryListArgs{
					Entry:   pulumi.String("168.10.10.0/24"),
					Comment: pulumi.String("second"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = slb.NewListener(ctx, "defaultListener", &slb.ListenerArgs{
			LoadBalancerId:         defaultLoadBalancer.ID(),
			BackendPort:            pulumi.Int(80),
			FrontendPort:           pulumi.Int(80),
			Protocol:               pulumi.String("http"),
			Bandwidth:              pulumi.Int(10),
			StickySession:          pulumi.String("on"),
			StickySessionType:      pulumi.String("insert"),
			CookieTimeout:          pulumi.Int(86400),
			Cookie:                 pulumi.String("testslblistenercookie"),
			HealthCheck:            pulumi.String("on"),
			HealthCheckDomain:      pulumi.String("ali.com"),
			HealthCheckUri:         pulumi.String("/cons"),
			HealthCheckConnectPort: pulumi.Int(20),
			HealthyThreshold:       pulumi.Int(8),
			UnhealthyThreshold:     pulumi.Int(8),
			HealthCheckTimeout:     pulumi.Int(8),
			HealthCheckInterval:    pulumi.Int(5),
			HealthCheckHttpCode:    pulumi.String("http_2xx,http_3xx"),
			XForwardedFor: &slb.ListenerXForwardedForArgs{
				RetriveSlbIp: pulumi.Bool(true),
				RetriveSlbId: pulumi.Bool(true),
			},
			AclStatus:      pulumi.String("on"),
			AclType:        pulumi.String("white"),
			AclId:          defaultAcl.ID(),
			RequestTimeout: pulumi.Int(80),
			IdleTimeout:    pulumi.Int(30),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Listener fields and protocol mapping

load balance support 4 protocal to listen on, they are `http`,`https`,`tcp`,`udp`, the every listener support which portocal following:

listener parameter | support protocol | value range | ------------- | ------------- | ------------- | backendPort | http & https & tcp & udp | 1-65535 | frontendPort | http & https & tcp & udp | 1-65535 | protocol | http & https & tcp & udp | bandwidth | http & https & tcp & udp | -1 / 1-1000 | scheduler | http & https & tcp & udp | wrr rr or wlc | stickySession | http & https | on or off | stickySessionType | http & https | insert or server | cookieTimeout | http & https | 1-86400 | cookie | http & https | | persistenceTimeout | tcp & udp | 0-3600 | healthCheck | http & https | on or off | healthCheckType | tcp | tcp or http | healthCheckDomain | http & https & tcp | healthCheckMethod | http & https & tcp | healthCheckUri | http & https & tcp | | healthCheckConnectPort | http & https & tcp & udp | 1-65535 or -520 | healthyThreshold | http & https & tcp & udp | 1-10 | unhealthyThreshold | http & https & tcp & udp | 1-10 | healthCheckTimeout | http & https & tcp & udp | 1-300 | healthCheckInterval | http & https & tcp & udp | 1-50 | healthCheckHttpCode | http & https & tcp | http_2xx,http_3xx,http_4xx,http_5xx | serverCertificateId | https | | gzip | http & https | true or false | xForwardedFor | http & https | | aclStatus | http & https & tcp & udp | on or off | aclType | http & https & tcp & udp | white or black | aclId | http & https & tcp & udp | the id of resource alicloud_slb_acl| establishedTimeout | tcp | 10-900| idleTimeout |http & https | 1-60 | requestTimeout |http & https | 1-180 | enableHttp2 |https | on or off | tlsCipherPolicy |https | tls_cipher_policy_1_0, tls_cipher_policy_1_1, tls_cipher_policy_1_2, tlsCipherPolicy12Strict | serverGroupId | http & https & tcp & udp | the id of resource slb.ServerGroup |

The listener mapping supports the following:

## Import

Load balancer listener can be imported using the id, e.g.

```sh

$ pulumi import alicloud:slb/listener:Listener example "lb-abc123456:22"

```

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

func (*Listener) ElementType() reflect.Type

func (*Listener) ToListenerOutput added in v2.25.1

func (i *Listener) ToListenerOutput() ListenerOutput

func (*Listener) ToListenerOutputWithContext added in v2.25.1

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

func (*Listener) ToListenerPtrOutput added in v2.35.1

func (i *Listener) ToListenerPtrOutput() ListenerPtrOutput

func (*Listener) ToListenerPtrOutputWithContext added in v2.35.1

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

type ListenerArgs

type ListenerArgs struct {
	// the id of access control list to be apply on the listener, is the id of resource alicloud_slb_acl. If `aclStatus` is "on", it is mandatory. Otherwise, it will be ignored.
	AclId pulumi.StringPtrInput
	// Whether to enable "acl(access control list)", the acl is specified by `aclId`. Valid values are `on` and `off`. Default to `off`.
	AclStatus pulumi.StringPtrInput
	// Mode for handling the acl specified by acl_id. If `aclStatus` is "on", it is mandatory. Otherwise, it will be ignored. Valid values are `white` and `black`. `white` means the Listener can only be accessed by client ip belongs to the acl; `black` means the Listener can not be accessed by client ip belongs to the acl.
	AclType pulumi.StringPtrInput
	// Port used by the Server Load Balancer instance backend. Valid value range: [1-65535].
	BackendPort pulumi.IntPtrInput
	// Bandwidth peak of Listener. For the public network instance charged per traffic consumed, the Bandwidth on Listener can be set to -1, indicating the bandwidth peak is unlimited. Valid values are [-1, 1-1000] in Mbps.
	Bandwidth pulumi.IntPtrInput
	// SLB CA certificate ID. Only when `protocol` is `https` can be specified.
	CaCertificateId pulumi.StringPtrInput
	// The cookie configured on the server. It is mandatory when `stickySession` is "on" and `stickySessionType` is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.
	Cookie pulumi.StringPtrInput
	// Cookie timeout. It is mandatory when `stickySession` is "on" and `stickySessionType` is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.
	CookieTimeout pulumi.IntPtrInput
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// The description of slb listener. This description can have a string of 1 to 80 characters. Default value: null.
	Description pulumi.StringPtrInput
	// Whether to enable https listener support http2 or not. Valid values are `on` and `off`. Default to `on`.
	EnableHttp2 pulumi.StringPtrInput
	// Timeout of tcp listener established connection idle timeout. Valid value range: [10-900] in seconds. Default to 900.
	EstablishedTimeout pulumi.IntPtrInput
	// The port that http redirect to https.
	ForwardPort pulumi.IntPtrInput
	// Port used by the Server Load Balancer instance frontend. Valid value range: [1-65535].
	FrontendPort pulumi.IntInput
	// Whether to enable "Gzip Compression". If enabled, files of specific file types will be compressed, otherwise, no files will be compressed. Default to true. Available in v1.13.0+.
	Gzip pulumi.BoolPtrInput
	// Whether to enable health check. Valid values are`on` and `off`. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener.
	HealthCheck pulumi.StringPtrInput
	// Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.
	HealthCheckConnectPort pulumi.IntPtrInput
	// Domain name used for health check. When it used to launch TCP listener, `healthCheckType` must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty,  Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.
	HealthCheckDomain pulumi.StringPtrInput
	// Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when `healthCheck` is on. Default to `http2xx`.  Valid values are: `http2xx`,  `http3xx`, `http4xx` and `http5xx`.
	HealthCheckHttpCode pulumi.StringPtrInput
	// Time interval of health checks. It is required when `healthCheck` is on. Valid value range: [1-50] in seconds. Default to 2.
	HealthCheckInterval pulumi.IntPtrInput
	// The method of health check. Valid values: ["head", "get"].
	HealthCheckMethod pulumi.StringPtrInput
	// Maximum timeout of each health check response. It is required when `healthCheck` is on. Valid value range: [1-300] in seconds. Default to 5. Note: If `healthCheckTimeout` < `healthCheckInterval`, its will be replaced by `healthCheckInterval`.
	HealthCheckTimeout pulumi.IntPtrInput
	// Type of health check. Valid values are: `tcp` and `http`. Default to `tcp` . TCP supports TCP and HTTP health check mode, you can select the particular mode depending on your application.
	HealthCheckType pulumi.StringPtrInput
	// URI used for health check. When it used to launch TCP listener, `healthCheckType` must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.
	HealthCheckUri pulumi.StringPtrInput
	// Threshold determining the result of the health check is success. It is required when `healthCheck` is on. Valid value range: [1-10] in seconds. Default to 3.
	HealthyThreshold pulumi.IntPtrInput
	// Timeout of http or https listener established connection idle timeout. Valid value range: [1-60] in seconds. Default to 15.
	IdleTimeout pulumi.IntPtrInput
	// Deprecated: Field 'instance_port' has been deprecated, and using 'backend_port' to replace.
	InstancePort pulumi.IntPtrInput
	// Deprecated: Field 'lb_port' has been deprecated, and using 'frontend_port' to replace.
	LbPort pulumi.IntPtrInput
	// Deprecated: Field 'lb_protocol' has been deprecated, and using 'protocol' to replace.
	LbProtocol pulumi.StringPtrInput
	// Whether to enable http redirect to https, Valid values are `on` and `off`. Default to `off`.
	ListenerForward pulumi.StringPtrInput
	// The Load Balancer ID which is used to launch a new listener.
	LoadBalancerId           pulumi.StringInput
	MasterSlaveServerGroupId pulumi.StringPtrInput
	// Timeout of connection persistence. Valid value range: [0-3600] in seconds. Default to 0 and means closing it.
	PersistenceTimeout pulumi.IntPtrInput
	// The protocol to listen on. Valid values are [`http`, `https`, `tcp`, `udp`].
	Protocol pulumi.StringInput
	// Timeout of http or https listener request (which does not get response from backend) timeout. Valid value range: [1-180] in seconds. Default to 60.
	RequestTimeout pulumi.IntPtrInput
	// Scheduling algorithm,  Valid values: `wrr`, `rr`, `wlc`, `sch`. Default to `wrr`. Only when `protocol` is `tcp` or `udp`, `scheduler` can be set to `sch`.
	Scheduler pulumi.StringPtrInput
	// SLB Server certificate ID. It is required when `protocol` is `https`.
	ServerCertificateId pulumi.StringPtrInput
	// the id of server group to be apply on the listener, is the id of resource `slb.ServerGroup`.
	ServerGroupId pulumi.StringPtrInput
	// It has been deprecated from 1.59.0 and using `serverCertificateId` instead.
	//
	// Deprecated: Field 'ssl_certificate_id' has been deprecated from 1.59.0 and using 'server_certificate_id' instead.
	SslCertificateId pulumi.StringPtrInput
	// Whether to enable session persistence, Valid values are `on` and `off`. Default to `off`.
	StickySession pulumi.StringPtrInput
	// Mode for handling the cookie. If `stickySession` is "on", it is mandatory. Otherwise, it will be ignored. Valid values are `insert` and `server`. `insert` means it is inserted from Server Load Balancer; `server` means the Server Load Balancer learns from the backend server.
	StickySessionType pulumi.StringPtrInput
	// Https listener TLS cipher policy. Valid values are `tlsCipherPolicy10`, `tlsCipherPolicy11`, `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`. Default to `tlsCipherPolicy10`. Currently the `tlsCipherPolicy` can not be updated when load balancer instance is "Shared-Performance".
	TlsCipherPolicy pulumi.StringPtrInput
	// Threshold determining the result of the health check is fail. It is required when `healthCheck` is on. Valid value range: [1-10] in seconds. Default to 3.
	UnhealthyThreshold pulumi.IntPtrInput
	// Whether to set additional HTTP Header field "X-Forwarded-For" (documented below). Available in v1.13.0+.
	XForwardedFor ListenerXForwardedForPtrInput
}

The set of arguments for constructing a Listener resource.

func (ListenerArgs) ElementType

func (ListenerArgs) ElementType() reflect.Type

type ListenerArray added in v2.35.1

type ListenerArray []ListenerInput

func (ListenerArray) ElementType added in v2.35.1

func (ListenerArray) ElementType() reflect.Type

func (ListenerArray) ToListenerArrayOutput added in v2.35.1

func (i ListenerArray) ToListenerArrayOutput() ListenerArrayOutput

func (ListenerArray) ToListenerArrayOutputWithContext added in v2.35.1

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

type ListenerArrayInput added in v2.35.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.35.1

type ListenerArrayOutput struct{ *pulumi.OutputState }

func (ListenerArrayOutput) ElementType added in v2.35.1

func (ListenerArrayOutput) ElementType() reflect.Type

func (ListenerArrayOutput) Index added in v2.35.1

func (ListenerArrayOutput) ToListenerArrayOutput added in v2.35.1

func (o ListenerArrayOutput) ToListenerArrayOutput() ListenerArrayOutput

func (ListenerArrayOutput) ToListenerArrayOutputWithContext added in v2.35.1

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

type ListenerInput added in v2.25.1

type ListenerInput interface {
	pulumi.Input

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

type ListenerMap added in v2.35.1

type ListenerMap map[string]ListenerInput

func (ListenerMap) ElementType added in v2.35.1

func (ListenerMap) ElementType() reflect.Type

func (ListenerMap) ToListenerMapOutput added in v2.35.1

func (i ListenerMap) ToListenerMapOutput() ListenerMapOutput

func (ListenerMap) ToListenerMapOutputWithContext added in v2.35.1

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

type ListenerMapInput added in v2.35.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.35.1

type ListenerMapOutput struct{ *pulumi.OutputState }

func (ListenerMapOutput) ElementType added in v2.35.1

func (ListenerMapOutput) ElementType() reflect.Type

func (ListenerMapOutput) MapIndex added in v2.35.1

func (ListenerMapOutput) ToListenerMapOutput added in v2.35.1

func (o ListenerMapOutput) ToListenerMapOutput() ListenerMapOutput

func (ListenerMapOutput) ToListenerMapOutputWithContext added in v2.35.1

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

type ListenerOutput added in v2.25.1

type ListenerOutput struct {
	*pulumi.OutputState
}

func (ListenerOutput) ElementType added in v2.25.1

func (ListenerOutput) ElementType() reflect.Type

func (ListenerOutput) ToListenerOutput added in v2.25.1

func (o ListenerOutput) ToListenerOutput() ListenerOutput

func (ListenerOutput) ToListenerOutputWithContext added in v2.25.1

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

func (ListenerOutput) ToListenerPtrOutput added in v2.35.1

func (o ListenerOutput) ToListenerPtrOutput() ListenerPtrOutput

func (ListenerOutput) ToListenerPtrOutputWithContext added in v2.35.1

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

type ListenerPtrInput added in v2.35.1

type ListenerPtrInput interface {
	pulumi.Input

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

type ListenerPtrOutput added in v2.35.1

type ListenerPtrOutput struct {
	*pulumi.OutputState
}

func (ListenerPtrOutput) ElementType added in v2.35.1

func (ListenerPtrOutput) ElementType() reflect.Type

func (ListenerPtrOutput) ToListenerPtrOutput added in v2.35.1

func (o ListenerPtrOutput) ToListenerPtrOutput() ListenerPtrOutput

func (ListenerPtrOutput) ToListenerPtrOutputWithContext added in v2.35.1

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

type ListenerState

type ListenerState struct {
	// the id of access control list to be apply on the listener, is the id of resource alicloud_slb_acl. If `aclStatus` is "on", it is mandatory. Otherwise, it will be ignored.
	AclId pulumi.StringPtrInput
	// Whether to enable "acl(access control list)", the acl is specified by `aclId`. Valid values are `on` and `off`. Default to `off`.
	AclStatus pulumi.StringPtrInput
	// Mode for handling the acl specified by acl_id. If `aclStatus` is "on", it is mandatory. Otherwise, it will be ignored. Valid values are `white` and `black`. `white` means the Listener can only be accessed by client ip belongs to the acl; `black` means the Listener can not be accessed by client ip belongs to the acl.
	AclType pulumi.StringPtrInput
	// Port used by the Server Load Balancer instance backend. Valid value range: [1-65535].
	BackendPort pulumi.IntPtrInput
	// Bandwidth peak of Listener. For the public network instance charged per traffic consumed, the Bandwidth on Listener can be set to -1, indicating the bandwidth peak is unlimited. Valid values are [-1, 1-1000] in Mbps.
	Bandwidth pulumi.IntPtrInput
	// SLB CA certificate ID. Only when `protocol` is `https` can be specified.
	CaCertificateId pulumi.StringPtrInput
	// The cookie configured on the server. It is mandatory when `stickySession` is "on" and `stickySessionType` is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.
	Cookie pulumi.StringPtrInput
	// Cookie timeout. It is mandatory when `stickySession` is "on" and `stickySessionType` is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.
	CookieTimeout pulumi.IntPtrInput
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// The description of slb listener. This description can have a string of 1 to 80 characters. Default value: null.
	Description pulumi.StringPtrInput
	// Whether to enable https listener support http2 or not. Valid values are `on` and `off`. Default to `on`.
	EnableHttp2 pulumi.StringPtrInput
	// Timeout of tcp listener established connection idle timeout. Valid value range: [10-900] in seconds. Default to 900.
	EstablishedTimeout pulumi.IntPtrInput
	// The port that http redirect to https.
	ForwardPort pulumi.IntPtrInput
	// Port used by the Server Load Balancer instance frontend. Valid value range: [1-65535].
	FrontendPort pulumi.IntPtrInput
	// Whether to enable "Gzip Compression". If enabled, files of specific file types will be compressed, otherwise, no files will be compressed. Default to true. Available in v1.13.0+.
	Gzip pulumi.BoolPtrInput
	// Whether to enable health check. Valid values are`on` and `off`. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener.
	HealthCheck pulumi.StringPtrInput
	// Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.
	HealthCheckConnectPort pulumi.IntPtrInput
	// Domain name used for health check. When it used to launch TCP listener, `healthCheckType` must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty,  Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.
	HealthCheckDomain pulumi.StringPtrInput
	// Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when `healthCheck` is on. Default to `http2xx`.  Valid values are: `http2xx`,  `http3xx`, `http4xx` and `http5xx`.
	HealthCheckHttpCode pulumi.StringPtrInput
	// Time interval of health checks. It is required when `healthCheck` is on. Valid value range: [1-50] in seconds. Default to 2.
	HealthCheckInterval pulumi.IntPtrInput
	// The method of health check. Valid values: ["head", "get"].
	HealthCheckMethod pulumi.StringPtrInput
	// Maximum timeout of each health check response. It is required when `healthCheck` is on. Valid value range: [1-300] in seconds. Default to 5. Note: If `healthCheckTimeout` < `healthCheckInterval`, its will be replaced by `healthCheckInterval`.
	HealthCheckTimeout pulumi.IntPtrInput
	// Type of health check. Valid values are: `tcp` and `http`. Default to `tcp` . TCP supports TCP and HTTP health check mode, you can select the particular mode depending on your application.
	HealthCheckType pulumi.StringPtrInput
	// URI used for health check. When it used to launch TCP listener, `healthCheckType` must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.
	HealthCheckUri pulumi.StringPtrInput
	// Threshold determining the result of the health check is success. It is required when `healthCheck` is on. Valid value range: [1-10] in seconds. Default to 3.
	HealthyThreshold pulumi.IntPtrInput
	// Timeout of http or https listener established connection idle timeout. Valid value range: [1-60] in seconds. Default to 15.
	IdleTimeout pulumi.IntPtrInput
	// Deprecated: Field 'instance_port' has been deprecated, and using 'backend_port' to replace.
	InstancePort pulumi.IntPtrInput
	// Deprecated: Field 'lb_port' has been deprecated, and using 'frontend_port' to replace.
	LbPort pulumi.IntPtrInput
	// Deprecated: Field 'lb_protocol' has been deprecated, and using 'protocol' to replace.
	LbProtocol pulumi.StringPtrInput
	// Whether to enable http redirect to https, Valid values are `on` and `off`. Default to `off`.
	ListenerForward pulumi.StringPtrInput
	// The Load Balancer ID which is used to launch a new listener.
	LoadBalancerId           pulumi.StringPtrInput
	MasterSlaveServerGroupId pulumi.StringPtrInput
	// Timeout of connection persistence. Valid value range: [0-3600] in seconds. Default to 0 and means closing it.
	PersistenceTimeout pulumi.IntPtrInput
	// The protocol to listen on. Valid values are [`http`, `https`, `tcp`, `udp`].
	Protocol pulumi.StringPtrInput
	// Timeout of http or https listener request (which does not get response from backend) timeout. Valid value range: [1-180] in seconds. Default to 60.
	RequestTimeout pulumi.IntPtrInput
	// Scheduling algorithm,  Valid values: `wrr`, `rr`, `wlc`, `sch`. Default to `wrr`. Only when `protocol` is `tcp` or `udp`, `scheduler` can be set to `sch`.
	Scheduler pulumi.StringPtrInput
	// SLB Server certificate ID. It is required when `protocol` is `https`.
	ServerCertificateId pulumi.StringPtrInput
	// the id of server group to be apply on the listener, is the id of resource `slb.ServerGroup`.
	ServerGroupId pulumi.StringPtrInput
	// It has been deprecated from 1.59.0 and using `serverCertificateId` instead.
	//
	// Deprecated: Field 'ssl_certificate_id' has been deprecated from 1.59.0 and using 'server_certificate_id' instead.
	SslCertificateId pulumi.StringPtrInput
	// Whether to enable session persistence, Valid values are `on` and `off`. Default to `off`.
	StickySession pulumi.StringPtrInput
	// Mode for handling the cookie. If `stickySession` is "on", it is mandatory. Otherwise, it will be ignored. Valid values are `insert` and `server`. `insert` means it is inserted from Server Load Balancer; `server` means the Server Load Balancer learns from the backend server.
	StickySessionType pulumi.StringPtrInput
	// Https listener TLS cipher policy. Valid values are `tlsCipherPolicy10`, `tlsCipherPolicy11`, `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`. Default to `tlsCipherPolicy10`. Currently the `tlsCipherPolicy` can not be updated when load balancer instance is "Shared-Performance".
	TlsCipherPolicy pulumi.StringPtrInput
	// Threshold determining the result of the health check is fail. It is required when `healthCheck` is on. Valid value range: [1-10] in seconds. Default to 3.
	UnhealthyThreshold pulumi.IntPtrInput
	// Whether to set additional HTTP Header field "X-Forwarded-For" (documented below). Available in v1.13.0+.
	XForwardedFor ListenerXForwardedForPtrInput
}

func (ListenerState) ElementType

func (ListenerState) ElementType() reflect.Type

type ListenerXForwardedFor

type ListenerXForwardedFor struct {
	RetriveClientIp *bool `pulumi:"retriveClientIp"`
	// Whether to use the XForwardedFor header to obtain the ID of the SLB instance. Default to false.
	RetriveSlbId *bool `pulumi:"retriveSlbId"`
	// Whether to use the XForwardedFor_SLBIP header to obtain the public IP address of the SLB instance. Default to false.
	RetriveSlbIp *bool `pulumi:"retriveSlbIp"`
	// Whether to use the XForwardedFor_proto header to obtain the protocol used by the listener. Default to false.
	RetriveSlbProto *bool `pulumi:"retriveSlbProto"`
}

type ListenerXForwardedForArgs

type ListenerXForwardedForArgs struct {
	RetriveClientIp pulumi.BoolPtrInput `pulumi:"retriveClientIp"`
	// Whether to use the XForwardedFor header to obtain the ID of the SLB instance. Default to false.
	RetriveSlbId pulumi.BoolPtrInput `pulumi:"retriveSlbId"`
	// Whether to use the XForwardedFor_SLBIP header to obtain the public IP address of the SLB instance. Default to false.
	RetriveSlbIp pulumi.BoolPtrInput `pulumi:"retriveSlbIp"`
	// Whether to use the XForwardedFor_proto header to obtain the protocol used by the listener. Default to false.
	RetriveSlbProto pulumi.BoolPtrInput `pulumi:"retriveSlbProto"`
}

func (ListenerXForwardedForArgs) ElementType

func (ListenerXForwardedForArgs) ElementType() reflect.Type

func (ListenerXForwardedForArgs) ToListenerXForwardedForOutput

func (i ListenerXForwardedForArgs) ToListenerXForwardedForOutput() ListenerXForwardedForOutput

func (ListenerXForwardedForArgs) ToListenerXForwardedForOutputWithContext

func (i ListenerXForwardedForArgs) ToListenerXForwardedForOutputWithContext(ctx context.Context) ListenerXForwardedForOutput

func (ListenerXForwardedForArgs) ToListenerXForwardedForPtrOutput

func (i ListenerXForwardedForArgs) ToListenerXForwardedForPtrOutput() ListenerXForwardedForPtrOutput

func (ListenerXForwardedForArgs) ToListenerXForwardedForPtrOutputWithContext

func (i ListenerXForwardedForArgs) ToListenerXForwardedForPtrOutputWithContext(ctx context.Context) ListenerXForwardedForPtrOutput

type ListenerXForwardedForInput

type ListenerXForwardedForInput interface {
	pulumi.Input

	ToListenerXForwardedForOutput() ListenerXForwardedForOutput
	ToListenerXForwardedForOutputWithContext(context.Context) ListenerXForwardedForOutput
}

ListenerXForwardedForInput is an input type that accepts ListenerXForwardedForArgs and ListenerXForwardedForOutput values. You can construct a concrete instance of `ListenerXForwardedForInput` via:

ListenerXForwardedForArgs{...}

type ListenerXForwardedForOutput

type ListenerXForwardedForOutput struct{ *pulumi.OutputState }

func (ListenerXForwardedForOutput) ElementType

func (ListenerXForwardedForOutput) RetriveClientIp

func (o ListenerXForwardedForOutput) RetriveClientIp() pulumi.BoolPtrOutput

func (ListenerXForwardedForOutput) RetriveSlbId

Whether to use the XForwardedFor header to obtain the ID of the SLB instance. Default to false.

func (ListenerXForwardedForOutput) RetriveSlbIp

Whether to use the XForwardedFor_SLBIP header to obtain the public IP address of the SLB instance. Default to false.

func (ListenerXForwardedForOutput) RetriveSlbProto

func (o ListenerXForwardedForOutput) RetriveSlbProto() pulumi.BoolPtrOutput

Whether to use the XForwardedFor_proto header to obtain the protocol used by the listener. Default to false.

func (ListenerXForwardedForOutput) ToListenerXForwardedForOutput

func (o ListenerXForwardedForOutput) ToListenerXForwardedForOutput() ListenerXForwardedForOutput

func (ListenerXForwardedForOutput) ToListenerXForwardedForOutputWithContext

func (o ListenerXForwardedForOutput) ToListenerXForwardedForOutputWithContext(ctx context.Context) ListenerXForwardedForOutput

func (ListenerXForwardedForOutput) ToListenerXForwardedForPtrOutput

func (o ListenerXForwardedForOutput) ToListenerXForwardedForPtrOutput() ListenerXForwardedForPtrOutput

func (ListenerXForwardedForOutput) ToListenerXForwardedForPtrOutputWithContext

func (o ListenerXForwardedForOutput) ToListenerXForwardedForPtrOutputWithContext(ctx context.Context) ListenerXForwardedForPtrOutput

type ListenerXForwardedForPtrInput

type ListenerXForwardedForPtrInput interface {
	pulumi.Input

	ToListenerXForwardedForPtrOutput() ListenerXForwardedForPtrOutput
	ToListenerXForwardedForPtrOutputWithContext(context.Context) ListenerXForwardedForPtrOutput
}

ListenerXForwardedForPtrInput is an input type that accepts ListenerXForwardedForArgs, ListenerXForwardedForPtr and ListenerXForwardedForPtrOutput values. You can construct a concrete instance of `ListenerXForwardedForPtrInput` via:

        ListenerXForwardedForArgs{...}

or:

        nil

type ListenerXForwardedForPtrOutput

type ListenerXForwardedForPtrOutput struct{ *pulumi.OutputState }

func (ListenerXForwardedForPtrOutput) Elem

func (ListenerXForwardedForPtrOutput) ElementType

func (ListenerXForwardedForPtrOutput) RetriveClientIp

func (ListenerXForwardedForPtrOutput) RetriveSlbId

Whether to use the XForwardedFor header to obtain the ID of the SLB instance. Default to false.

func (ListenerXForwardedForPtrOutput) RetriveSlbIp

Whether to use the XForwardedFor_SLBIP header to obtain the public IP address of the SLB instance. Default to false.

func (ListenerXForwardedForPtrOutput) RetriveSlbProto

Whether to use the XForwardedFor_proto header to obtain the protocol used by the listener. Default to false.

func (ListenerXForwardedForPtrOutput) ToListenerXForwardedForPtrOutput

func (o ListenerXForwardedForPtrOutput) ToListenerXForwardedForPtrOutput() ListenerXForwardedForPtrOutput

func (ListenerXForwardedForPtrOutput) ToListenerXForwardedForPtrOutputWithContext

func (o ListenerXForwardedForPtrOutput) ToListenerXForwardedForPtrOutputWithContext(ctx context.Context) ListenerXForwardedForPtrOutput

type LoadBalancer

type LoadBalancer struct {
	pulumi.CustomResourceState

	// Specify the IP address of the private network for the SLB instance, which must be in the destination CIDR block of the correspond ing switch.
	Address pulumi.StringOutput `pulumi:"address"`
	// The IP version of the SLB instance to be created, which can be set to ipv4 or ipv6 . Default to "ipv4". Now, only internet instance support ipv6 address.
	AddressIpVersion pulumi.StringPtrOutput `pulumi:"addressIpVersion"`
	// The network type of the SLB instance. Valid values: ["internet", "intranet"]. If load balancer launched in VPC, this value must be "intranet".
	// - internet: After an Internet SLB instance is created, the system allocates a public IP address so that the instance can forward requests from the Internet.
	// - intranet: After an intranet SLB instance is created, the system allocates an intranet IP address so that the instance can only forward intranet requests.
	AddressType pulumi.StringOutput `pulumi:"addressType"`
	// Valid
	// value is between 1 and 1000, If argument "internetChargeType" is "paybytraffic", then this value will be ignore.
	Bandwidth pulumi.IntPtrOutput `pulumi:"bandwidth"`
	// Whether enable the deletion protection or not. on: Enable deletion protection. off: Disable deletion protection. Default to off. Only postpaid instance support this function.
	DeleteProtection pulumi.StringPtrOutput `pulumi:"deleteProtection"`
	// The billing method of the load balancer. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid".
	InstanceChargeType pulumi.StringPtrOutput `pulumi:"instanceChargeType"`
	// Field 'internet' has been deprecated from provider version 1.55.3. Use 'address_type' replaces it.
	//
	// Deprecated: Field 'internet' has been deprecated from provider version 1.55.3. Use 'address_type' replaces it.
	Internet pulumi.BoolOutput `pulumi:"internet"`
	// Valid
	// values are `PayByBandwidth`, `PayByTraffic`. If this value is "PayByBandwidth", then argument "internet" must be "true". Default is "PayByTraffic". If load balancer launched in VPC, this value must be "PayByTraffic".
	// Before version 1.10.1, the valid values are "paybybandwidth" and "paybytraffic".
	InternetChargeType pulumi.StringPtrOutput `pulumi:"internetChargeType"`
	// The primary zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
	MasterZoneId pulumi.StringOutput `pulumi:"masterZoneId"`
	Name         pulumi.StringOutput `pulumi:"name"`
	// The duration that you will buy the resource, in month. It is valid when `instanceChargeType` is `PrePaid`. Default to 1. Valid values: [1-9, 12, 24, 36].
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// The Id of resource group which the SLB belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The standby zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
	SlaveZoneId pulumi.StringOutput `pulumi:"slaveZoneId"`
	// The specification of the Server Load Balancer instance. Default to empty string indicating it is "Shared-Performance" instance.
	// Launching "[Performance-guaranteed](https://www.alibabacloud.com/help/doc-detail/27657.htm)" instance, it is must be specified and it valid values are: "slb.s1.small", "slb.s2.small", "slb.s2.medium",
	// "slb.s3.small", "slb.s3.medium", "slb.s3.large" and "slb.s4.large".
	Specification pulumi.StringPtrOutput `pulumi:"specification"`
	// A mapping of tags to assign to the resource. The `tags` can have a maximum of 10 tag for every load balancer instance.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The VSwitch ID to launch in. If `addressType` is internet, it will be ignore.
	VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"`
}

Provides an Application Load Balancer resource.

> **NOTE:** At present, to avoid some unnecessary regulation confusion, SLB can not support alicloud international account to create "paybybandwidth" instance.

> **NOTE:** The supported specifications vary by region. Currently not all regions support guaranteed-performance instances. For more details about guaranteed-performance instance, see [Guaranteed-performance instances](https://www.alibabacloud.com/help/doc-detail/27657.htm).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/slb"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraformtestslbconfig"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		opt0 := "VSwitch"
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:            defaultNetwork.ID(),
			CidrBlock:        pulumi.String("172.16.0.0/21"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		_, err = slb.NewLoadBalancer(ctx, "defaultLoadBalancer", &slb.LoadBalancerArgs{
			Specification: pulumi.String("slb.s2.small"),
			VswitchId:     defaultSwitch.ID(),
			Tags: pulumi.Float64Map{
				"tag_a": pulumi.Float64(1),
				"tag_b": pulumi.Float64(2),
				"tag_c": pulumi.Float64(3),
				"tag_d": pulumi.Float64(4),
				"tag_e": pulumi.Float64(5),
				"tag_f": pulumi.Float64(6),
				"tag_g": pulumi.Float64(7),
				"tag_h": pulumi.Float64(8),
				"tag_i": pulumi.Float64(9),
				"tag_j": pulumi.Float64(10),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Load balancer can be imported using the id, e.g.

```sh

$ pulumi import alicloud:slb/loadBalancer:LoadBalancer example lb-abc123456

```

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

func (*LoadBalancer) ElementType() reflect.Type

func (*LoadBalancer) ToLoadBalancerOutput added in v2.25.1

func (i *LoadBalancer) ToLoadBalancerOutput() LoadBalancerOutput

func (*LoadBalancer) ToLoadBalancerOutputWithContext added in v2.25.1

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

func (*LoadBalancer) ToLoadBalancerPtrOutput added in v2.35.1

func (i *LoadBalancer) ToLoadBalancerPtrOutput() LoadBalancerPtrOutput

func (*LoadBalancer) ToLoadBalancerPtrOutputWithContext added in v2.35.1

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

type LoadBalancerArgs

type LoadBalancerArgs struct {
	// Specify the IP address of the private network for the SLB instance, which must be in the destination CIDR block of the correspond ing switch.
	Address pulumi.StringPtrInput
	// The IP version of the SLB instance to be created, which can be set to ipv4 or ipv6 . Default to "ipv4". Now, only internet instance support ipv6 address.
	AddressIpVersion pulumi.StringPtrInput
	// The network type of the SLB instance. Valid values: ["internet", "intranet"]. If load balancer launched in VPC, this value must be "intranet".
	// - internet: After an Internet SLB instance is created, the system allocates a public IP address so that the instance can forward requests from the Internet.
	// - intranet: After an intranet SLB instance is created, the system allocates an intranet IP address so that the instance can only forward intranet requests.
	AddressType pulumi.StringPtrInput
	// Valid
	// value is between 1 and 1000, If argument "internetChargeType" is "paybytraffic", then this value will be ignore.
	Bandwidth pulumi.IntPtrInput
	// Whether enable the deletion protection or not. on: Enable deletion protection. off: Disable deletion protection. Default to off. Only postpaid instance support this function.
	DeleteProtection pulumi.StringPtrInput
	// The billing method of the load balancer. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid".
	InstanceChargeType pulumi.StringPtrInput
	// Field 'internet' has been deprecated from provider version 1.55.3. Use 'address_type' replaces it.
	//
	// Deprecated: Field 'internet' has been deprecated from provider version 1.55.3. Use 'address_type' replaces it.
	Internet pulumi.BoolPtrInput
	// Valid
	// values are `PayByBandwidth`, `PayByTraffic`. If this value is "PayByBandwidth", then argument "internet" must be "true". Default is "PayByTraffic". If load balancer launched in VPC, this value must be "PayByTraffic".
	// Before version 1.10.1, the valid values are "paybybandwidth" and "paybytraffic".
	InternetChargeType pulumi.StringPtrInput
	// The primary zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
	MasterZoneId pulumi.StringPtrInput
	Name         pulumi.StringPtrInput
	// The duration that you will buy the resource, in month. It is valid when `instanceChargeType` is `PrePaid`. Default to 1. Valid values: [1-9, 12, 24, 36].
	Period pulumi.IntPtrInput
	// The Id of resource group which the SLB belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The standby zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
	SlaveZoneId pulumi.StringPtrInput
	// The specification of the Server Load Balancer instance. Default to empty string indicating it is "Shared-Performance" instance.
	// Launching "[Performance-guaranteed](https://www.alibabacloud.com/help/doc-detail/27657.htm)" instance, it is must be specified and it valid values are: "slb.s1.small", "slb.s2.small", "slb.s2.medium",
	// "slb.s3.small", "slb.s3.medium", "slb.s3.large" and "slb.s4.large".
	Specification pulumi.StringPtrInput
	// A mapping of tags to assign to the resource. The `tags` can have a maximum of 10 tag for every load balancer instance.
	Tags pulumi.MapInput
	// The VSwitch ID to launch in. If `addressType` is internet, it will be ignore.
	VswitchId pulumi.StringPtrInput
}

The set of arguments for constructing a LoadBalancer resource.

func (LoadBalancerArgs) ElementType

func (LoadBalancerArgs) ElementType() reflect.Type

type LoadBalancerArray added in v2.35.1

type LoadBalancerArray []LoadBalancerInput

func (LoadBalancerArray) ElementType added in v2.35.1

func (LoadBalancerArray) ElementType() reflect.Type

func (LoadBalancerArray) ToLoadBalancerArrayOutput added in v2.35.1

func (i LoadBalancerArray) ToLoadBalancerArrayOutput() LoadBalancerArrayOutput

func (LoadBalancerArray) ToLoadBalancerArrayOutputWithContext added in v2.35.1

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

type LoadBalancerArrayInput added in v2.35.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.35.1

type LoadBalancerArrayOutput struct{ *pulumi.OutputState }

func (LoadBalancerArrayOutput) ElementType added in v2.35.1

func (LoadBalancerArrayOutput) ElementType() reflect.Type

func (LoadBalancerArrayOutput) Index added in v2.35.1

func (LoadBalancerArrayOutput) ToLoadBalancerArrayOutput added in v2.35.1

func (o LoadBalancerArrayOutput) ToLoadBalancerArrayOutput() LoadBalancerArrayOutput

func (LoadBalancerArrayOutput) ToLoadBalancerArrayOutputWithContext added in v2.35.1

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

type LoadBalancerInput added in v2.25.1

type LoadBalancerInput interface {
	pulumi.Input

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

type LoadBalancerMap added in v2.35.1

type LoadBalancerMap map[string]LoadBalancerInput

func (LoadBalancerMap) ElementType added in v2.35.1

func (LoadBalancerMap) ElementType() reflect.Type

func (LoadBalancerMap) ToLoadBalancerMapOutput added in v2.35.1

func (i LoadBalancerMap) ToLoadBalancerMapOutput() LoadBalancerMapOutput

func (LoadBalancerMap) ToLoadBalancerMapOutputWithContext added in v2.35.1

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

type LoadBalancerMapInput added in v2.35.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.35.1

type LoadBalancerMapOutput struct{ *pulumi.OutputState }

func (LoadBalancerMapOutput) ElementType added in v2.35.1

func (LoadBalancerMapOutput) ElementType() reflect.Type

func (LoadBalancerMapOutput) MapIndex added in v2.35.1

func (LoadBalancerMapOutput) ToLoadBalancerMapOutput added in v2.35.1

func (o LoadBalancerMapOutput) ToLoadBalancerMapOutput() LoadBalancerMapOutput

func (LoadBalancerMapOutput) ToLoadBalancerMapOutputWithContext added in v2.35.1

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

type LoadBalancerOutput added in v2.25.1

type LoadBalancerOutput struct {
	*pulumi.OutputState
}

func (LoadBalancerOutput) ElementType added in v2.25.1

func (LoadBalancerOutput) ElementType() reflect.Type

func (LoadBalancerOutput) ToLoadBalancerOutput added in v2.25.1

func (o LoadBalancerOutput) ToLoadBalancerOutput() LoadBalancerOutput

func (LoadBalancerOutput) ToLoadBalancerOutputWithContext added in v2.25.1

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

func (LoadBalancerOutput) ToLoadBalancerPtrOutput added in v2.35.1

func (o LoadBalancerOutput) ToLoadBalancerPtrOutput() LoadBalancerPtrOutput

func (LoadBalancerOutput) ToLoadBalancerPtrOutputWithContext added in v2.35.1

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

type LoadBalancerPtrInput added in v2.35.1

type LoadBalancerPtrInput interface {
	pulumi.Input

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

type LoadBalancerPtrOutput added in v2.35.1

type LoadBalancerPtrOutput struct {
	*pulumi.OutputState
}

func (LoadBalancerPtrOutput) ElementType added in v2.35.1

func (LoadBalancerPtrOutput) ElementType() reflect.Type

func (LoadBalancerPtrOutput) ToLoadBalancerPtrOutput added in v2.35.1

func (o LoadBalancerPtrOutput) ToLoadBalancerPtrOutput() LoadBalancerPtrOutput

func (LoadBalancerPtrOutput) ToLoadBalancerPtrOutputWithContext added in v2.35.1

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

type LoadBalancerState

type LoadBalancerState struct {
	// Specify the IP address of the private network for the SLB instance, which must be in the destination CIDR block of the correspond ing switch.
	Address pulumi.StringPtrInput
	// The IP version of the SLB instance to be created, which can be set to ipv4 or ipv6 . Default to "ipv4". Now, only internet instance support ipv6 address.
	AddressIpVersion pulumi.StringPtrInput
	// The network type of the SLB instance. Valid values: ["internet", "intranet"]. If load balancer launched in VPC, this value must be "intranet".
	// - internet: After an Internet SLB instance is created, the system allocates a public IP address so that the instance can forward requests from the Internet.
	// - intranet: After an intranet SLB instance is created, the system allocates an intranet IP address so that the instance can only forward intranet requests.
	AddressType pulumi.StringPtrInput
	// Valid
	// value is between 1 and 1000, If argument "internetChargeType" is "paybytraffic", then this value will be ignore.
	Bandwidth pulumi.IntPtrInput
	// Whether enable the deletion protection or not. on: Enable deletion protection. off: Disable deletion protection. Default to off. Only postpaid instance support this function.
	DeleteProtection pulumi.StringPtrInput
	// The billing method of the load balancer. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid".
	InstanceChargeType pulumi.StringPtrInput
	// Field 'internet' has been deprecated from provider version 1.55.3. Use 'address_type' replaces it.
	//
	// Deprecated: Field 'internet' has been deprecated from provider version 1.55.3. Use 'address_type' replaces it.
	Internet pulumi.BoolPtrInput
	// Valid
	// values are `PayByBandwidth`, `PayByTraffic`. If this value is "PayByBandwidth", then argument "internet" must be "true". Default is "PayByTraffic". If load balancer launched in VPC, this value must be "PayByTraffic".
	// Before version 1.10.1, the valid values are "paybybandwidth" and "paybytraffic".
	InternetChargeType pulumi.StringPtrInput
	// The primary zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
	MasterZoneId pulumi.StringPtrInput
	Name         pulumi.StringPtrInput
	// The duration that you will buy the resource, in month. It is valid when `instanceChargeType` is `PrePaid`. Default to 1. Valid values: [1-9, 12, 24, 36].
	Period pulumi.IntPtrInput
	// The Id of resource group which the SLB belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The standby zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
	SlaveZoneId pulumi.StringPtrInput
	// The specification of the Server Load Balancer instance. Default to empty string indicating it is "Shared-Performance" instance.
	// Launching "[Performance-guaranteed](https://www.alibabacloud.com/help/doc-detail/27657.htm)" instance, it is must be specified and it valid values are: "slb.s1.small", "slb.s2.small", "slb.s2.medium",
	// "slb.s3.small", "slb.s3.medium", "slb.s3.large" and "slb.s4.large".
	Specification pulumi.StringPtrInput
	// A mapping of tags to assign to the resource. The `tags` can have a maximum of 10 tag for every load balancer instance.
	Tags pulumi.MapInput
	// The VSwitch ID to launch in. If `addressType` is internet, it will be ignore.
	VswitchId pulumi.StringPtrInput
}

func (LoadBalancerState) ElementType

func (LoadBalancerState) ElementType() reflect.Type

type MasterSlaveServerGroup

type MasterSlaveServerGroup struct {
	pulumi.CustomResourceState

	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrOutput `pulumi:"deleteProtectionValidation"`
	// The Load Balancer ID which is used to launch a new master slave server group.
	LoadBalancerId pulumi.StringOutput `pulumi:"loadBalancerId"`
	// Name of the master slave server group.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of ECS instances to be added. Only two ECS instances can be supported in one resource. It contains six sub-fields as `Block server` follows.
	Servers MasterSlaveServerGroupServerArrayOutput `pulumi:"servers"`
}

A master slave server group contains two ECS instances. The master slave server group can help you to define multiple listening dimension.

> **NOTE:** One ECS instance can be added into multiple master slave server groups.

> **NOTE:** One master slave server group can only add two ECS instances, which are master server and slave server.

> **NOTE:** One master slave server group can be attached with tcp/udp listeners in one load balancer.

> **NOTE:** One Classic and Internet load balancer, its master slave server group can add Classic and VPC ECS instances.

> **NOTE:** One Classic and Intranet load balancer, its master slave server group can only add Classic ECS instances.

> **NOTE:** One VPC load balancer, its master slave server group can only add the same VPC ECS instances.

> **NOTE:** Available in 1.54.0+

## Block servers

The servers mapping supports the following:

* `serverIds` - (Required) A list backend server ID (ECS instance ID). * `port` - (Required) The port used by the backend server. Valid value range: [1-65535]. * `weight` - (Optional) Weight of the backend server. Valid value range: [0-100]. Default to 100. * `type` - (Optional, Available in 1.51.0+) Type of the backend server. Valid value ecs, eni. Default to eni. * `serverType` - (Optional) The server type of the backend server. Valid value Master, Slave. * `isBackup` - (Removed from v1.63.0) Determine if the server is executing. Valid value 0, 1.

## Import

Load balancer master slave server group can be imported using the id, e.g.

```sh

$ pulumi import alicloud:slb/masterSlaveServerGroup:MasterSlaveServerGroup example abc123456

```

func GetMasterSlaveServerGroup

func GetMasterSlaveServerGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MasterSlaveServerGroupState, opts ...pulumi.ResourceOption) (*MasterSlaveServerGroup, error)

GetMasterSlaveServerGroup gets an existing MasterSlaveServerGroup 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 NewMasterSlaveServerGroup

func NewMasterSlaveServerGroup(ctx *pulumi.Context,
	name string, args *MasterSlaveServerGroupArgs, opts ...pulumi.ResourceOption) (*MasterSlaveServerGroup, error)

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

func (*MasterSlaveServerGroup) ElementType added in v2.25.1

func (*MasterSlaveServerGroup) ElementType() reflect.Type

func (*MasterSlaveServerGroup) ToMasterSlaveServerGroupOutput added in v2.25.1

func (i *MasterSlaveServerGroup) ToMasterSlaveServerGroupOutput() MasterSlaveServerGroupOutput

func (*MasterSlaveServerGroup) ToMasterSlaveServerGroupOutputWithContext added in v2.25.1

func (i *MasterSlaveServerGroup) ToMasterSlaveServerGroupOutputWithContext(ctx context.Context) MasterSlaveServerGroupOutput

func (*MasterSlaveServerGroup) ToMasterSlaveServerGroupPtrOutput added in v2.35.1

func (i *MasterSlaveServerGroup) ToMasterSlaveServerGroupPtrOutput() MasterSlaveServerGroupPtrOutput

func (*MasterSlaveServerGroup) ToMasterSlaveServerGroupPtrOutputWithContext added in v2.35.1

func (i *MasterSlaveServerGroup) ToMasterSlaveServerGroupPtrOutputWithContext(ctx context.Context) MasterSlaveServerGroupPtrOutput

type MasterSlaveServerGroupArgs

type MasterSlaveServerGroupArgs struct {
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// The Load Balancer ID which is used to launch a new master slave server group.
	LoadBalancerId pulumi.StringInput
	// Name of the master slave server group.
	Name pulumi.StringPtrInput
	// A list of ECS instances to be added. Only two ECS instances can be supported in one resource. It contains six sub-fields as `Block server` follows.
	Servers MasterSlaveServerGroupServerArrayInput
}

The set of arguments for constructing a MasterSlaveServerGroup resource.

func (MasterSlaveServerGroupArgs) ElementType

func (MasterSlaveServerGroupArgs) ElementType() reflect.Type

type MasterSlaveServerGroupArray added in v2.35.1

type MasterSlaveServerGroupArray []MasterSlaveServerGroupInput

func (MasterSlaveServerGroupArray) ElementType added in v2.35.1

func (MasterSlaveServerGroupArray) ToMasterSlaveServerGroupArrayOutput added in v2.35.1

func (i MasterSlaveServerGroupArray) ToMasterSlaveServerGroupArrayOutput() MasterSlaveServerGroupArrayOutput

func (MasterSlaveServerGroupArray) ToMasterSlaveServerGroupArrayOutputWithContext added in v2.35.1

func (i MasterSlaveServerGroupArray) ToMasterSlaveServerGroupArrayOutputWithContext(ctx context.Context) MasterSlaveServerGroupArrayOutput

type MasterSlaveServerGroupArrayInput added in v2.35.1

type MasterSlaveServerGroupArrayInput interface {
	pulumi.Input

	ToMasterSlaveServerGroupArrayOutput() MasterSlaveServerGroupArrayOutput
	ToMasterSlaveServerGroupArrayOutputWithContext(context.Context) MasterSlaveServerGroupArrayOutput
}

MasterSlaveServerGroupArrayInput is an input type that accepts MasterSlaveServerGroupArray and MasterSlaveServerGroupArrayOutput values. You can construct a concrete instance of `MasterSlaveServerGroupArrayInput` via:

MasterSlaveServerGroupArray{ MasterSlaveServerGroupArgs{...} }

type MasterSlaveServerGroupArrayOutput added in v2.35.1

type MasterSlaveServerGroupArrayOutput struct{ *pulumi.OutputState }

func (MasterSlaveServerGroupArrayOutput) ElementType added in v2.35.1

func (MasterSlaveServerGroupArrayOutput) Index added in v2.35.1

func (MasterSlaveServerGroupArrayOutput) ToMasterSlaveServerGroupArrayOutput added in v2.35.1

func (o MasterSlaveServerGroupArrayOutput) ToMasterSlaveServerGroupArrayOutput() MasterSlaveServerGroupArrayOutput

func (MasterSlaveServerGroupArrayOutput) ToMasterSlaveServerGroupArrayOutputWithContext added in v2.35.1

func (o MasterSlaveServerGroupArrayOutput) ToMasterSlaveServerGroupArrayOutputWithContext(ctx context.Context) MasterSlaveServerGroupArrayOutput

type MasterSlaveServerGroupInput added in v2.25.1

type MasterSlaveServerGroupInput interface {
	pulumi.Input

	ToMasterSlaveServerGroupOutput() MasterSlaveServerGroupOutput
	ToMasterSlaveServerGroupOutputWithContext(ctx context.Context) MasterSlaveServerGroupOutput
}

type MasterSlaveServerGroupMap added in v2.35.1

type MasterSlaveServerGroupMap map[string]MasterSlaveServerGroupInput

func (MasterSlaveServerGroupMap) ElementType added in v2.35.1

func (MasterSlaveServerGroupMap) ElementType() reflect.Type

func (MasterSlaveServerGroupMap) ToMasterSlaveServerGroupMapOutput added in v2.35.1

func (i MasterSlaveServerGroupMap) ToMasterSlaveServerGroupMapOutput() MasterSlaveServerGroupMapOutput

func (MasterSlaveServerGroupMap) ToMasterSlaveServerGroupMapOutputWithContext added in v2.35.1

func (i MasterSlaveServerGroupMap) ToMasterSlaveServerGroupMapOutputWithContext(ctx context.Context) MasterSlaveServerGroupMapOutput

type MasterSlaveServerGroupMapInput added in v2.35.1

type MasterSlaveServerGroupMapInput interface {
	pulumi.Input

	ToMasterSlaveServerGroupMapOutput() MasterSlaveServerGroupMapOutput
	ToMasterSlaveServerGroupMapOutputWithContext(context.Context) MasterSlaveServerGroupMapOutput
}

MasterSlaveServerGroupMapInput is an input type that accepts MasterSlaveServerGroupMap and MasterSlaveServerGroupMapOutput values. You can construct a concrete instance of `MasterSlaveServerGroupMapInput` via:

MasterSlaveServerGroupMap{ "key": MasterSlaveServerGroupArgs{...} }

type MasterSlaveServerGroupMapOutput added in v2.35.1

type MasterSlaveServerGroupMapOutput struct{ *pulumi.OutputState }

func (MasterSlaveServerGroupMapOutput) ElementType added in v2.35.1

func (MasterSlaveServerGroupMapOutput) MapIndex added in v2.35.1

func (MasterSlaveServerGroupMapOutput) ToMasterSlaveServerGroupMapOutput added in v2.35.1

func (o MasterSlaveServerGroupMapOutput) ToMasterSlaveServerGroupMapOutput() MasterSlaveServerGroupMapOutput

func (MasterSlaveServerGroupMapOutput) ToMasterSlaveServerGroupMapOutputWithContext added in v2.35.1

func (o MasterSlaveServerGroupMapOutput) ToMasterSlaveServerGroupMapOutputWithContext(ctx context.Context) MasterSlaveServerGroupMapOutput

type MasterSlaveServerGroupOutput added in v2.25.1

type MasterSlaveServerGroupOutput struct {
	*pulumi.OutputState
}

func (MasterSlaveServerGroupOutput) ElementType added in v2.25.1

func (MasterSlaveServerGroupOutput) ToMasterSlaveServerGroupOutput added in v2.25.1

func (o MasterSlaveServerGroupOutput) ToMasterSlaveServerGroupOutput() MasterSlaveServerGroupOutput

func (MasterSlaveServerGroupOutput) ToMasterSlaveServerGroupOutputWithContext added in v2.25.1

func (o MasterSlaveServerGroupOutput) ToMasterSlaveServerGroupOutputWithContext(ctx context.Context) MasterSlaveServerGroupOutput

func (MasterSlaveServerGroupOutput) ToMasterSlaveServerGroupPtrOutput added in v2.35.1

func (o MasterSlaveServerGroupOutput) ToMasterSlaveServerGroupPtrOutput() MasterSlaveServerGroupPtrOutput

func (MasterSlaveServerGroupOutput) ToMasterSlaveServerGroupPtrOutputWithContext added in v2.35.1

func (o MasterSlaveServerGroupOutput) ToMasterSlaveServerGroupPtrOutputWithContext(ctx context.Context) MasterSlaveServerGroupPtrOutput

type MasterSlaveServerGroupPtrInput added in v2.35.1

type MasterSlaveServerGroupPtrInput interface {
	pulumi.Input

	ToMasterSlaveServerGroupPtrOutput() MasterSlaveServerGroupPtrOutput
	ToMasterSlaveServerGroupPtrOutputWithContext(ctx context.Context) MasterSlaveServerGroupPtrOutput
}

type MasterSlaveServerGroupPtrOutput added in v2.35.1

type MasterSlaveServerGroupPtrOutput struct {
	*pulumi.OutputState
}

func (MasterSlaveServerGroupPtrOutput) ElementType added in v2.35.1

func (MasterSlaveServerGroupPtrOutput) ToMasterSlaveServerGroupPtrOutput added in v2.35.1

func (o MasterSlaveServerGroupPtrOutput) ToMasterSlaveServerGroupPtrOutput() MasterSlaveServerGroupPtrOutput

func (MasterSlaveServerGroupPtrOutput) ToMasterSlaveServerGroupPtrOutputWithContext added in v2.35.1

func (o MasterSlaveServerGroupPtrOutput) ToMasterSlaveServerGroupPtrOutputWithContext(ctx context.Context) MasterSlaveServerGroupPtrOutput

type MasterSlaveServerGroupServer

type MasterSlaveServerGroupServer struct {
	IsBackup   *int    `pulumi:"isBackup"`
	Port       int     `pulumi:"port"`
	ServerId   string  `pulumi:"serverId"`
	ServerType *string `pulumi:"serverType"`
	Type       *string `pulumi:"type"`
	Weight     *int    `pulumi:"weight"`
}

type MasterSlaveServerGroupServerArgs

type MasterSlaveServerGroupServerArgs struct {
	IsBackup   pulumi.IntPtrInput    `pulumi:"isBackup"`
	Port       pulumi.IntInput       `pulumi:"port"`
	ServerId   pulumi.StringInput    `pulumi:"serverId"`
	ServerType pulumi.StringPtrInput `pulumi:"serverType"`
	Type       pulumi.StringPtrInput `pulumi:"type"`
	Weight     pulumi.IntPtrInput    `pulumi:"weight"`
}

func (MasterSlaveServerGroupServerArgs) ElementType

func (MasterSlaveServerGroupServerArgs) ToMasterSlaveServerGroupServerOutput

func (i MasterSlaveServerGroupServerArgs) ToMasterSlaveServerGroupServerOutput() MasterSlaveServerGroupServerOutput

func (MasterSlaveServerGroupServerArgs) ToMasterSlaveServerGroupServerOutputWithContext

func (i MasterSlaveServerGroupServerArgs) ToMasterSlaveServerGroupServerOutputWithContext(ctx context.Context) MasterSlaveServerGroupServerOutput

type MasterSlaveServerGroupServerArray

type MasterSlaveServerGroupServerArray []MasterSlaveServerGroupServerInput

func (MasterSlaveServerGroupServerArray) ElementType

func (MasterSlaveServerGroupServerArray) ToMasterSlaveServerGroupServerArrayOutput

func (i MasterSlaveServerGroupServerArray) ToMasterSlaveServerGroupServerArrayOutput() MasterSlaveServerGroupServerArrayOutput

func (MasterSlaveServerGroupServerArray) ToMasterSlaveServerGroupServerArrayOutputWithContext

func (i MasterSlaveServerGroupServerArray) ToMasterSlaveServerGroupServerArrayOutputWithContext(ctx context.Context) MasterSlaveServerGroupServerArrayOutput

type MasterSlaveServerGroupServerArrayInput

type MasterSlaveServerGroupServerArrayInput interface {
	pulumi.Input

	ToMasterSlaveServerGroupServerArrayOutput() MasterSlaveServerGroupServerArrayOutput
	ToMasterSlaveServerGroupServerArrayOutputWithContext(context.Context) MasterSlaveServerGroupServerArrayOutput
}

MasterSlaveServerGroupServerArrayInput is an input type that accepts MasterSlaveServerGroupServerArray and MasterSlaveServerGroupServerArrayOutput values. You can construct a concrete instance of `MasterSlaveServerGroupServerArrayInput` via:

MasterSlaveServerGroupServerArray{ MasterSlaveServerGroupServerArgs{...} }

type MasterSlaveServerGroupServerArrayOutput

type MasterSlaveServerGroupServerArrayOutput struct{ *pulumi.OutputState }

func (MasterSlaveServerGroupServerArrayOutput) ElementType

func (MasterSlaveServerGroupServerArrayOutput) Index

func (MasterSlaveServerGroupServerArrayOutput) ToMasterSlaveServerGroupServerArrayOutput

func (o MasterSlaveServerGroupServerArrayOutput) ToMasterSlaveServerGroupServerArrayOutput() MasterSlaveServerGroupServerArrayOutput

func (MasterSlaveServerGroupServerArrayOutput) ToMasterSlaveServerGroupServerArrayOutputWithContext

func (o MasterSlaveServerGroupServerArrayOutput) ToMasterSlaveServerGroupServerArrayOutputWithContext(ctx context.Context) MasterSlaveServerGroupServerArrayOutput

type MasterSlaveServerGroupServerInput

type MasterSlaveServerGroupServerInput interface {
	pulumi.Input

	ToMasterSlaveServerGroupServerOutput() MasterSlaveServerGroupServerOutput
	ToMasterSlaveServerGroupServerOutputWithContext(context.Context) MasterSlaveServerGroupServerOutput
}

MasterSlaveServerGroupServerInput is an input type that accepts MasterSlaveServerGroupServerArgs and MasterSlaveServerGroupServerOutput values. You can construct a concrete instance of `MasterSlaveServerGroupServerInput` via:

MasterSlaveServerGroupServerArgs{...}

type MasterSlaveServerGroupServerOutput

type MasterSlaveServerGroupServerOutput struct{ *pulumi.OutputState }

func (MasterSlaveServerGroupServerOutput) ElementType

func (MasterSlaveServerGroupServerOutput) IsBackup added in v2.22.0

func (MasterSlaveServerGroupServerOutput) Port

func (MasterSlaveServerGroupServerOutput) ServerId

func (MasterSlaveServerGroupServerOutput) ServerType

func (MasterSlaveServerGroupServerOutput) ToMasterSlaveServerGroupServerOutput

func (o MasterSlaveServerGroupServerOutput) ToMasterSlaveServerGroupServerOutput() MasterSlaveServerGroupServerOutput

func (MasterSlaveServerGroupServerOutput) ToMasterSlaveServerGroupServerOutputWithContext

func (o MasterSlaveServerGroupServerOutput) ToMasterSlaveServerGroupServerOutputWithContext(ctx context.Context) MasterSlaveServerGroupServerOutput

func (MasterSlaveServerGroupServerOutput) Type

func (MasterSlaveServerGroupServerOutput) Weight

type MasterSlaveServerGroupState

type MasterSlaveServerGroupState struct {
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// The Load Balancer ID which is used to launch a new master slave server group.
	LoadBalancerId pulumi.StringPtrInput
	// Name of the master slave server group.
	Name pulumi.StringPtrInput
	// A list of ECS instances to be added. Only two ECS instances can be supported in one resource. It contains six sub-fields as `Block server` follows.
	Servers MasterSlaveServerGroupServerArrayInput
}

func (MasterSlaveServerGroupState) ElementType

type Rule

type Rule struct {
	pulumi.CustomResourceState

	// The cookie configured on the server. It is mandatory when `stickySession` is "on" and `stickySessionType` is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.
	Cookie pulumi.StringPtrOutput `pulumi:"cookie"`
	// Cookie timeout. It is mandatory when `stickySession` is "on" and `stickySessionType` is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.
	CookieTimeout pulumi.IntPtrOutput `pulumi:"cookieTimeout"`
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrOutput `pulumi:"deleteProtectionValidation"`
	// Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.),
	// and wildcard characters. The following two domain name formats are supported:
	// - Standard domain name: www.test.com
	// - Wildcard domain name: *.test.com. wildcard (*) must be the first character in the format of (*.)
	Domain pulumi.StringPtrOutput `pulumi:"domain"`
	// The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].
	FrontendPort pulumi.IntOutput `pulumi:"frontendPort"`
	// Whether to enable health check. Valid values are`on` and `off`. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required  and takes effect only when ListenerSync is set to off.
	HealthCheck pulumi.StringPtrOutput `pulumi:"healthCheck"`
	// Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.
	HealthCheckConnectPort pulumi.IntOutput `pulumi:"healthCheckConnectPort"`
	// Domain name used for health check. When it used to launch TCP listener, `healthCheckType` must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty,  Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.
	HealthCheckDomain pulumi.StringPtrOutput `pulumi:"healthCheckDomain"`
	// Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when `healthCheck` is on. Default to `http2xx`.  Valid values are: `http2xx`,  `http3xx`, `http4xx` and `http5xx`.
	HealthCheckHttpCode pulumi.StringPtrOutput `pulumi:"healthCheckHttpCode"`
	// Time interval of health checks. It is required when `healthCheck` is on. Valid value range: [1-50] in seconds. Default to 2.
	HealthCheckInterval pulumi.IntPtrOutput `pulumi:"healthCheckInterval"`
	// Maximum timeout of each health check response. It is required when `healthCheck` is on. Valid value range: [1-300] in seconds. Default to 5. Note: If `healthCheckTimeout` < `healthCheckInterval`, its will be replaced by `healthCheckInterval`.
	HealthCheckTimeout pulumi.IntPtrOutput `pulumi:"healthCheckTimeout"`
	// URI used for health check. When it used to launch TCP listener, `healthCheckType` must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.
	HealthCheckUri pulumi.StringPtrOutput `pulumi:"healthCheckUri"`
	// Threshold determining the result of the health check is success. It is required when `healthCheck` is on. Valid value range: [1-10] in seconds. Default to 3.
	HealthyThreshold pulumi.IntPtrOutput `pulumi:"healthyThreshold"`
	// Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.
	ListenerSync pulumi.StringPtrOutput `pulumi:"listenerSync"`
	// The Load Balancer ID which is used to launch the new forwarding rule.
	LoadBalancerId pulumi.StringOutput `pulumi:"loadBalancerId"`
	// Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".
	Name pulumi.StringOutput `pulumi:"name"`
	// Scheduling algorithm, Valid values are `wrr`, `rr` and `wlc`.  Default to "wrr". This parameter is required  and takes effect only when ListenerSync is set to off.
	Scheduler pulumi.StringPtrOutput `pulumi:"scheduler"`
	// ID of a virtual server group that will be forwarded.
	ServerGroupId pulumi.StringOutput `pulumi:"serverGroupId"`
	// Whether to enable session persistence, Valid values are `on` and `off`. Default to `off`. This parameter is required  and takes effect only when ListenerSync is set to off.
	StickySession pulumi.StringPtrOutput `pulumi:"stickySession"`
	// Mode for handling the cookie. If `stickySession` is "on", it is mandatory. Otherwise, it will be ignored. Valid values are `insert` and `server`. `insert` means it is inserted from Server Load Balancer; `server` means the Server Load Balancer learns from the backend server.
	StickySessionType pulumi.StringPtrOutput `pulumi:"stickySessionType"`
	// Threshold determining the result of the health check is fail. It is required when `healthCheck` is on. Valid value range: [1-10] in seconds. Default to 3.
	UnhealthyThreshold pulumi.IntPtrOutput `pulumi:"unhealthyThreshold"`
	// Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9,
	// and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.
	Url pulumi.StringPtrOutput `pulumi:"url"`
}

A forwarding rule is configured in `HTTP`/`HTTPS` listener and it used to listen a list of backend servers which in one specified virtual backend server group. You can add forwarding rules to a listener to forward requests based on the domain names or the URL in the request.

> **NOTE:** One virtual backend server group can be attached in multiple forwarding rules.

> **NOTE:** At least one "Domain" or "Url" must be specified when creating a new rule.

> **NOTE:** Having the same 'Domain' and 'Url' rule can not be created repeatedly in the one listener.

> **NOTE:** Rule only be created in the `HTTP` or `HTTPS` listener.

> **NOTE:** Only rule's virtual server group can be modified.

## Import

Load balancer forwarding rule can be imported using the id, e.g.

```sh

$ pulumi import alicloud:slb/rule:Rule example rule-abc123456

```

func GetRule

func GetRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RuleState, opts ...pulumi.ResourceOption) (*Rule, error)

GetRule gets an existing Rule 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 NewRule

func NewRule(ctx *pulumi.Context,
	name string, args *RuleArgs, opts ...pulumi.ResourceOption) (*Rule, error)

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

func (*Rule) ElementType added in v2.25.1

func (*Rule) ElementType() reflect.Type

func (*Rule) ToRuleOutput added in v2.25.1

func (i *Rule) ToRuleOutput() RuleOutput

func (*Rule) ToRuleOutputWithContext added in v2.25.1

func (i *Rule) ToRuleOutputWithContext(ctx context.Context) RuleOutput

func (*Rule) ToRulePtrOutput added in v2.35.1

func (i *Rule) ToRulePtrOutput() RulePtrOutput

func (*Rule) ToRulePtrOutputWithContext added in v2.35.1

func (i *Rule) ToRulePtrOutputWithContext(ctx context.Context) RulePtrOutput

type RuleArgs

type RuleArgs struct {
	// The cookie configured on the server. It is mandatory when `stickySession` is "on" and `stickySessionType` is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.
	Cookie pulumi.StringPtrInput
	// Cookie timeout. It is mandatory when `stickySession` is "on" and `stickySessionType` is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.
	CookieTimeout pulumi.IntPtrInput
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.),
	// and wildcard characters. The following two domain name formats are supported:
	// - Standard domain name: www.test.com
	// - Wildcard domain name: *.test.com. wildcard (*) must be the first character in the format of (*.)
	Domain pulumi.StringPtrInput
	// The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].
	FrontendPort pulumi.IntInput
	// Whether to enable health check. Valid values are`on` and `off`. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required  and takes effect only when ListenerSync is set to off.
	HealthCheck pulumi.StringPtrInput
	// Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.
	HealthCheckConnectPort pulumi.IntPtrInput
	// Domain name used for health check. When it used to launch TCP listener, `healthCheckType` must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty,  Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.
	HealthCheckDomain pulumi.StringPtrInput
	// Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when `healthCheck` is on. Default to `http2xx`.  Valid values are: `http2xx`,  `http3xx`, `http4xx` and `http5xx`.
	HealthCheckHttpCode pulumi.StringPtrInput
	// Time interval of health checks. It is required when `healthCheck` is on. Valid value range: [1-50] in seconds. Default to 2.
	HealthCheckInterval pulumi.IntPtrInput
	// Maximum timeout of each health check response. It is required when `healthCheck` is on. Valid value range: [1-300] in seconds. Default to 5. Note: If `healthCheckTimeout` < `healthCheckInterval`, its will be replaced by `healthCheckInterval`.
	HealthCheckTimeout pulumi.IntPtrInput
	// URI used for health check. When it used to launch TCP listener, `healthCheckType` must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.
	HealthCheckUri pulumi.StringPtrInput
	// Threshold determining the result of the health check is success. It is required when `healthCheck` is on. Valid value range: [1-10] in seconds. Default to 3.
	HealthyThreshold pulumi.IntPtrInput
	// Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.
	ListenerSync pulumi.StringPtrInput
	// The Load Balancer ID which is used to launch the new forwarding rule.
	LoadBalancerId pulumi.StringInput
	// Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".
	Name pulumi.StringPtrInput
	// Scheduling algorithm, Valid values are `wrr`, `rr` and `wlc`.  Default to "wrr". This parameter is required  and takes effect only when ListenerSync is set to off.
	Scheduler pulumi.StringPtrInput
	// ID of a virtual server group that will be forwarded.
	ServerGroupId pulumi.StringInput
	// Whether to enable session persistence, Valid values are `on` and `off`. Default to `off`. This parameter is required  and takes effect only when ListenerSync is set to off.
	StickySession pulumi.StringPtrInput
	// Mode for handling the cookie. If `stickySession` is "on", it is mandatory. Otherwise, it will be ignored. Valid values are `insert` and `server`. `insert` means it is inserted from Server Load Balancer; `server` means the Server Load Balancer learns from the backend server.
	StickySessionType pulumi.StringPtrInput
	// Threshold determining the result of the health check is fail. It is required when `healthCheck` is on. Valid value range: [1-10] in seconds. Default to 3.
	UnhealthyThreshold pulumi.IntPtrInput
	// Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9,
	// and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.
	Url pulumi.StringPtrInput
}

The set of arguments for constructing a Rule resource.

func (RuleArgs) ElementType

func (RuleArgs) ElementType() reflect.Type

type RuleArray added in v2.35.1

type RuleArray []RuleInput

func (RuleArray) ElementType added in v2.35.1

func (RuleArray) ElementType() reflect.Type

func (RuleArray) ToRuleArrayOutput added in v2.35.1

func (i RuleArray) ToRuleArrayOutput() RuleArrayOutput

func (RuleArray) ToRuleArrayOutputWithContext added in v2.35.1

func (i RuleArray) ToRuleArrayOutputWithContext(ctx context.Context) RuleArrayOutput

type RuleArrayInput added in v2.35.1

type RuleArrayInput interface {
	pulumi.Input

	ToRuleArrayOutput() RuleArrayOutput
	ToRuleArrayOutputWithContext(context.Context) RuleArrayOutput
}

RuleArrayInput is an input type that accepts RuleArray and RuleArrayOutput values. You can construct a concrete instance of `RuleArrayInput` via:

RuleArray{ RuleArgs{...} }

type RuleArrayOutput added in v2.35.1

type RuleArrayOutput struct{ *pulumi.OutputState }

func (RuleArrayOutput) ElementType added in v2.35.1

func (RuleArrayOutput) ElementType() reflect.Type

func (RuleArrayOutput) Index added in v2.35.1

func (RuleArrayOutput) ToRuleArrayOutput added in v2.35.1

func (o RuleArrayOutput) ToRuleArrayOutput() RuleArrayOutput

func (RuleArrayOutput) ToRuleArrayOutputWithContext added in v2.35.1

func (o RuleArrayOutput) ToRuleArrayOutputWithContext(ctx context.Context) RuleArrayOutput

type RuleInput added in v2.25.1

type RuleInput interface {
	pulumi.Input

	ToRuleOutput() RuleOutput
	ToRuleOutputWithContext(ctx context.Context) RuleOutput
}

type RuleMap added in v2.35.1

type RuleMap map[string]RuleInput

func (RuleMap) ElementType added in v2.35.1

func (RuleMap) ElementType() reflect.Type

func (RuleMap) ToRuleMapOutput added in v2.35.1

func (i RuleMap) ToRuleMapOutput() RuleMapOutput

func (RuleMap) ToRuleMapOutputWithContext added in v2.35.1

func (i RuleMap) ToRuleMapOutputWithContext(ctx context.Context) RuleMapOutput

type RuleMapInput added in v2.35.1

type RuleMapInput interface {
	pulumi.Input

	ToRuleMapOutput() RuleMapOutput
	ToRuleMapOutputWithContext(context.Context) RuleMapOutput
}

RuleMapInput is an input type that accepts RuleMap and RuleMapOutput values. You can construct a concrete instance of `RuleMapInput` via:

RuleMap{ "key": RuleArgs{...} }

type RuleMapOutput added in v2.35.1

type RuleMapOutput struct{ *pulumi.OutputState }

func (RuleMapOutput) ElementType added in v2.35.1

func (RuleMapOutput) ElementType() reflect.Type

func (RuleMapOutput) MapIndex added in v2.35.1

func (RuleMapOutput) ToRuleMapOutput added in v2.35.1

func (o RuleMapOutput) ToRuleMapOutput() RuleMapOutput

func (RuleMapOutput) ToRuleMapOutputWithContext added in v2.35.1

func (o RuleMapOutput) ToRuleMapOutputWithContext(ctx context.Context) RuleMapOutput

type RuleOutput added in v2.25.1

type RuleOutput struct {
	*pulumi.OutputState
}

func (RuleOutput) ElementType added in v2.25.1

func (RuleOutput) ElementType() reflect.Type

func (RuleOutput) ToRuleOutput added in v2.25.1

func (o RuleOutput) ToRuleOutput() RuleOutput

func (RuleOutput) ToRuleOutputWithContext added in v2.25.1

func (o RuleOutput) ToRuleOutputWithContext(ctx context.Context) RuleOutput

func (RuleOutput) ToRulePtrOutput added in v2.35.1

func (o RuleOutput) ToRulePtrOutput() RulePtrOutput

func (RuleOutput) ToRulePtrOutputWithContext added in v2.35.1

func (o RuleOutput) ToRulePtrOutputWithContext(ctx context.Context) RulePtrOutput

type RulePtrInput added in v2.35.1

type RulePtrInput interface {
	pulumi.Input

	ToRulePtrOutput() RulePtrOutput
	ToRulePtrOutputWithContext(ctx context.Context) RulePtrOutput
}

type RulePtrOutput added in v2.35.1

type RulePtrOutput struct {
	*pulumi.OutputState
}

func (RulePtrOutput) ElementType added in v2.35.1

func (RulePtrOutput) ElementType() reflect.Type

func (RulePtrOutput) ToRulePtrOutput added in v2.35.1

func (o RulePtrOutput) ToRulePtrOutput() RulePtrOutput

func (RulePtrOutput) ToRulePtrOutputWithContext added in v2.35.1

func (o RulePtrOutput) ToRulePtrOutputWithContext(ctx context.Context) RulePtrOutput

type RuleState

type RuleState struct {
	// The cookie configured on the server. It is mandatory when `stickySession` is "on" and `stickySessionType` is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.
	Cookie pulumi.StringPtrInput
	// Cookie timeout. It is mandatory when `stickySession` is "on" and `stickySessionType` is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.
	CookieTimeout pulumi.IntPtrInput
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.),
	// and wildcard characters. The following two domain name formats are supported:
	// - Standard domain name: www.test.com
	// - Wildcard domain name: *.test.com. wildcard (*) must be the first character in the format of (*.)
	Domain pulumi.StringPtrInput
	// The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].
	FrontendPort pulumi.IntPtrInput
	// Whether to enable health check. Valid values are`on` and `off`. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required  and takes effect only when ListenerSync is set to off.
	HealthCheck pulumi.StringPtrInput
	// Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.
	HealthCheckConnectPort pulumi.IntPtrInput
	// Domain name used for health check. When it used to launch TCP listener, `healthCheckType` must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty,  Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.
	HealthCheckDomain pulumi.StringPtrInput
	// Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when `healthCheck` is on. Default to `http2xx`.  Valid values are: `http2xx`,  `http3xx`, `http4xx` and `http5xx`.
	HealthCheckHttpCode pulumi.StringPtrInput
	// Time interval of health checks. It is required when `healthCheck` is on. Valid value range: [1-50] in seconds. Default to 2.
	HealthCheckInterval pulumi.IntPtrInput
	// Maximum timeout of each health check response. It is required when `healthCheck` is on. Valid value range: [1-300] in seconds. Default to 5. Note: If `healthCheckTimeout` < `healthCheckInterval`, its will be replaced by `healthCheckInterval`.
	HealthCheckTimeout pulumi.IntPtrInput
	// URI used for health check. When it used to launch TCP listener, `healthCheckType` must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.
	HealthCheckUri pulumi.StringPtrInput
	// Threshold determining the result of the health check is success. It is required when `healthCheck` is on. Valid value range: [1-10] in seconds. Default to 3.
	HealthyThreshold pulumi.IntPtrInput
	// Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.
	ListenerSync pulumi.StringPtrInput
	// The Load Balancer ID which is used to launch the new forwarding rule.
	LoadBalancerId pulumi.StringPtrInput
	// Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".
	Name pulumi.StringPtrInput
	// Scheduling algorithm, Valid values are `wrr`, `rr` and `wlc`.  Default to "wrr". This parameter is required  and takes effect only when ListenerSync is set to off.
	Scheduler pulumi.StringPtrInput
	// ID of a virtual server group that will be forwarded.
	ServerGroupId pulumi.StringPtrInput
	// Whether to enable session persistence, Valid values are `on` and `off`. Default to `off`. This parameter is required  and takes effect only when ListenerSync is set to off.
	StickySession pulumi.StringPtrInput
	// Mode for handling the cookie. If `stickySession` is "on", it is mandatory. Otherwise, it will be ignored. Valid values are `insert` and `server`. `insert` means it is inserted from Server Load Balancer; `server` means the Server Load Balancer learns from the backend server.
	StickySessionType pulumi.StringPtrInput
	// Threshold determining the result of the health check is fail. It is required when `healthCheck` is on. Valid value range: [1-10] in seconds. Default to 3.
	UnhealthyThreshold pulumi.IntPtrInput
	// Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9,
	// and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.
	Url pulumi.StringPtrInput
}

func (RuleState) ElementType

func (RuleState) ElementType() reflect.Type

type ServerCertificate

type ServerCertificate struct {
	pulumi.CustomResourceState

	// Deprecated: Field 'alicloud_certifacte_id' has been deprecated from provider version 1.68.0. Use 'alicloud_certificate_id' replaces it.
	AlicloudCertifacteId pulumi.StringPtrOutput `pulumi:"alicloudCertifacteId"`
	// Deprecated: Field 'alicloud_certifacte_name' has been deprecated from provider version 1.68.0. Use 'alicloud_certificate_name' replaces it.
	AlicloudCertifacteName pulumi.StringPtrOutput `pulumi:"alicloudCertifacteName"`
	// an id of server certificate ssued/proxied by alibaba cloud. but it is not supported on the international site of alibaba cloud now.
	AlicloudCertificateId pulumi.StringPtrOutput `pulumi:"alicloudCertificateId"`
	// the name of the certificate specified by `alicloudCertificateId`.but it is not supported on the international site of alibaba cloud now.
	AlicloudCertificateName pulumi.StringPtrOutput `pulumi:"alicloudCertificateName"`
	// the region of the certificate specified by `alicloudCertificateId`. but it is not supported on the international site of alibaba cloud now.
	AlicloudCertificateRegionId pulumi.StringPtrOutput `pulumi:"alicloudCertificateRegionId"`
	// Name of the Server Certificate.
	Name pulumi.StringOutput `pulumi:"name"`
	// the content of privat key of the ssl certificate specified by `serverCertificate`. where `alicloudCertificateId` is null, it is required, otherwise it is ignored.
	PrivateKey pulumi.StringPtrOutput `pulumi:"privateKey"`
	// The Id of resource group which the slb server certificate belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// the content of the ssl certificate. where `alicloudCertificateId` is null, it is required, otherwise it is ignored.
	ServerCertificate pulumi.StringPtrOutput `pulumi:"serverCertificate"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

A Load Balancer Server Certificate is an ssl Certificate used by the listener of the protocol https.

For information about slb and how to use it, see [What is Server Load Balancer](https://www.alibabacloud.com/help/doc-detail/27539.htm).

For information about Server Certificate and how to use it, see [Configure Server Certificate](https://www.alibabacloud.com/help/doc-detail/85968.htm).

## Import

Server Load balancer Server Certificate can be imported using the id, e.g.

```sh

$ pulumi import alicloud:slb/serverCertificate:ServerCertificate example abc123456

```

func GetServerCertificate

func GetServerCertificate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerCertificateState, opts ...pulumi.ResourceOption) (*ServerCertificate, error)

GetServerCertificate gets an existing ServerCertificate 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 NewServerCertificate

func NewServerCertificate(ctx *pulumi.Context,
	name string, args *ServerCertificateArgs, opts ...pulumi.ResourceOption) (*ServerCertificate, error)

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

func (*ServerCertificate) ElementType added in v2.25.1

func (*ServerCertificate) ElementType() reflect.Type

func (*ServerCertificate) ToServerCertificateOutput added in v2.25.1

func (i *ServerCertificate) ToServerCertificateOutput() ServerCertificateOutput

func (*ServerCertificate) ToServerCertificateOutputWithContext added in v2.25.1

func (i *ServerCertificate) ToServerCertificateOutputWithContext(ctx context.Context) ServerCertificateOutput

func (*ServerCertificate) ToServerCertificatePtrOutput added in v2.35.1

func (i *ServerCertificate) ToServerCertificatePtrOutput() ServerCertificatePtrOutput

func (*ServerCertificate) ToServerCertificatePtrOutputWithContext added in v2.35.1

func (i *ServerCertificate) ToServerCertificatePtrOutputWithContext(ctx context.Context) ServerCertificatePtrOutput

type ServerCertificateArgs

type ServerCertificateArgs struct {
	// Deprecated: Field 'alicloud_certifacte_id' has been deprecated from provider version 1.68.0. Use 'alicloud_certificate_id' replaces it.
	AlicloudCertifacteId pulumi.StringPtrInput
	// Deprecated: Field 'alicloud_certifacte_name' has been deprecated from provider version 1.68.0. Use 'alicloud_certificate_name' replaces it.
	AlicloudCertifacteName pulumi.StringPtrInput
	// an id of server certificate ssued/proxied by alibaba cloud. but it is not supported on the international site of alibaba cloud now.
	AlicloudCertificateId pulumi.StringPtrInput
	// the name of the certificate specified by `alicloudCertificateId`.but it is not supported on the international site of alibaba cloud now.
	AlicloudCertificateName pulumi.StringPtrInput
	// the region of the certificate specified by `alicloudCertificateId`. but it is not supported on the international site of alibaba cloud now.
	AlicloudCertificateRegionId pulumi.StringPtrInput
	// Name of the Server Certificate.
	Name pulumi.StringPtrInput
	// the content of privat key of the ssl certificate specified by `serverCertificate`. where `alicloudCertificateId` is null, it is required, otherwise it is ignored.
	PrivateKey pulumi.StringPtrInput
	// The Id of resource group which the slb server certificate belongs.
	ResourceGroupId pulumi.StringPtrInput
	// the content of the ssl certificate. where `alicloudCertificateId` is null, it is required, otherwise it is ignored.
	ServerCertificate pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

The set of arguments for constructing a ServerCertificate resource.

func (ServerCertificateArgs) ElementType

func (ServerCertificateArgs) ElementType() reflect.Type

type ServerCertificateArray added in v2.35.1

type ServerCertificateArray []ServerCertificateInput

func (ServerCertificateArray) ElementType added in v2.35.1

func (ServerCertificateArray) ElementType() reflect.Type

func (ServerCertificateArray) ToServerCertificateArrayOutput added in v2.35.1

func (i ServerCertificateArray) ToServerCertificateArrayOutput() ServerCertificateArrayOutput

func (ServerCertificateArray) ToServerCertificateArrayOutputWithContext added in v2.35.1

func (i ServerCertificateArray) ToServerCertificateArrayOutputWithContext(ctx context.Context) ServerCertificateArrayOutput

type ServerCertificateArrayInput added in v2.35.1

type ServerCertificateArrayInput interface {
	pulumi.Input

	ToServerCertificateArrayOutput() ServerCertificateArrayOutput
	ToServerCertificateArrayOutputWithContext(context.Context) ServerCertificateArrayOutput
}

ServerCertificateArrayInput is an input type that accepts ServerCertificateArray and ServerCertificateArrayOutput values. You can construct a concrete instance of `ServerCertificateArrayInput` via:

ServerCertificateArray{ ServerCertificateArgs{...} }

type ServerCertificateArrayOutput added in v2.35.1

type ServerCertificateArrayOutput struct{ *pulumi.OutputState }

func (ServerCertificateArrayOutput) ElementType added in v2.35.1

func (ServerCertificateArrayOutput) Index added in v2.35.1

func (ServerCertificateArrayOutput) ToServerCertificateArrayOutput added in v2.35.1

func (o ServerCertificateArrayOutput) ToServerCertificateArrayOutput() ServerCertificateArrayOutput

func (ServerCertificateArrayOutput) ToServerCertificateArrayOutputWithContext added in v2.35.1

func (o ServerCertificateArrayOutput) ToServerCertificateArrayOutputWithContext(ctx context.Context) ServerCertificateArrayOutput

type ServerCertificateInput added in v2.25.1

type ServerCertificateInput interface {
	pulumi.Input

	ToServerCertificateOutput() ServerCertificateOutput
	ToServerCertificateOutputWithContext(ctx context.Context) ServerCertificateOutput
}

type ServerCertificateMap added in v2.35.1

type ServerCertificateMap map[string]ServerCertificateInput

func (ServerCertificateMap) ElementType added in v2.35.1

func (ServerCertificateMap) ElementType() reflect.Type

func (ServerCertificateMap) ToServerCertificateMapOutput added in v2.35.1

func (i ServerCertificateMap) ToServerCertificateMapOutput() ServerCertificateMapOutput

func (ServerCertificateMap) ToServerCertificateMapOutputWithContext added in v2.35.1

func (i ServerCertificateMap) ToServerCertificateMapOutputWithContext(ctx context.Context) ServerCertificateMapOutput

type ServerCertificateMapInput added in v2.35.1

type ServerCertificateMapInput interface {
	pulumi.Input

	ToServerCertificateMapOutput() ServerCertificateMapOutput
	ToServerCertificateMapOutputWithContext(context.Context) ServerCertificateMapOutput
}

ServerCertificateMapInput is an input type that accepts ServerCertificateMap and ServerCertificateMapOutput values. You can construct a concrete instance of `ServerCertificateMapInput` via:

ServerCertificateMap{ "key": ServerCertificateArgs{...} }

type ServerCertificateMapOutput added in v2.35.1

type ServerCertificateMapOutput struct{ *pulumi.OutputState }

func (ServerCertificateMapOutput) ElementType added in v2.35.1

func (ServerCertificateMapOutput) ElementType() reflect.Type

func (ServerCertificateMapOutput) MapIndex added in v2.35.1

func (ServerCertificateMapOutput) ToServerCertificateMapOutput added in v2.35.1

func (o ServerCertificateMapOutput) ToServerCertificateMapOutput() ServerCertificateMapOutput

func (ServerCertificateMapOutput) ToServerCertificateMapOutputWithContext added in v2.35.1

func (o ServerCertificateMapOutput) ToServerCertificateMapOutputWithContext(ctx context.Context) ServerCertificateMapOutput

type ServerCertificateOutput added in v2.25.1

type ServerCertificateOutput struct {
	*pulumi.OutputState
}

func (ServerCertificateOutput) ElementType added in v2.25.1

func (ServerCertificateOutput) ElementType() reflect.Type

func (ServerCertificateOutput) ToServerCertificateOutput added in v2.25.1

func (o ServerCertificateOutput) ToServerCertificateOutput() ServerCertificateOutput

func (ServerCertificateOutput) ToServerCertificateOutputWithContext added in v2.25.1

func (o ServerCertificateOutput) ToServerCertificateOutputWithContext(ctx context.Context) ServerCertificateOutput

func (ServerCertificateOutput) ToServerCertificatePtrOutput added in v2.35.1

func (o ServerCertificateOutput) ToServerCertificatePtrOutput() ServerCertificatePtrOutput

func (ServerCertificateOutput) ToServerCertificatePtrOutputWithContext added in v2.35.1

func (o ServerCertificateOutput) ToServerCertificatePtrOutputWithContext(ctx context.Context) ServerCertificatePtrOutput

type ServerCertificatePtrInput added in v2.35.1

type ServerCertificatePtrInput interface {
	pulumi.Input

	ToServerCertificatePtrOutput() ServerCertificatePtrOutput
	ToServerCertificatePtrOutputWithContext(ctx context.Context) ServerCertificatePtrOutput
}

type ServerCertificatePtrOutput added in v2.35.1

type ServerCertificatePtrOutput struct {
	*pulumi.OutputState
}

func (ServerCertificatePtrOutput) ElementType added in v2.35.1

func (ServerCertificatePtrOutput) ElementType() reflect.Type

func (ServerCertificatePtrOutput) ToServerCertificatePtrOutput added in v2.35.1

func (o ServerCertificatePtrOutput) ToServerCertificatePtrOutput() ServerCertificatePtrOutput

func (ServerCertificatePtrOutput) ToServerCertificatePtrOutputWithContext added in v2.35.1

func (o ServerCertificatePtrOutput) ToServerCertificatePtrOutputWithContext(ctx context.Context) ServerCertificatePtrOutput

type ServerCertificateState

type ServerCertificateState struct {
	// Deprecated: Field 'alicloud_certifacte_id' has been deprecated from provider version 1.68.0. Use 'alicloud_certificate_id' replaces it.
	AlicloudCertifacteId pulumi.StringPtrInput
	// Deprecated: Field 'alicloud_certifacte_name' has been deprecated from provider version 1.68.0. Use 'alicloud_certificate_name' replaces it.
	AlicloudCertifacteName pulumi.StringPtrInput
	// an id of server certificate ssued/proxied by alibaba cloud. but it is not supported on the international site of alibaba cloud now.
	AlicloudCertificateId pulumi.StringPtrInput
	// the name of the certificate specified by `alicloudCertificateId`.but it is not supported on the international site of alibaba cloud now.
	AlicloudCertificateName pulumi.StringPtrInput
	// the region of the certificate specified by `alicloudCertificateId`. but it is not supported on the international site of alibaba cloud now.
	AlicloudCertificateRegionId pulumi.StringPtrInput
	// Name of the Server Certificate.
	Name pulumi.StringPtrInput
	// the content of privat key of the ssl certificate specified by `serverCertificate`. where `alicloudCertificateId` is null, it is required, otherwise it is ignored.
	PrivateKey pulumi.StringPtrInput
	// The Id of resource group which the slb server certificate belongs.
	ResourceGroupId pulumi.StringPtrInput
	// the content of the ssl certificate. where `alicloudCertificateId` is null, it is required, otherwise it is ignored.
	ServerCertificate pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

func (ServerCertificateState) ElementType

func (ServerCertificateState) ElementType() reflect.Type

type ServerGroup

type ServerGroup struct {
	pulumi.CustomResourceState

	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrOutput `pulumi:"deleteProtectionValidation"`
	// The Load Balancer ID which is used to launch a new virtual server group.
	LoadBalancerId pulumi.StringOutput `pulumi:"loadBalancerId"`
	// Name of the virtual server group. Our plugin provides a default name: "tf-server-group".
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of ECS instances to be added. At most 20 ECS instances can be supported in one resource. It contains three sub-fields as `Block server` follows.
	Servers ServerGroupServerArrayOutput `pulumi:"servers"`
}

A virtual server group contains several ECS instances. The virtual server group can help you to define multiple listening dimension, and to meet the personalized requirements of domain name and URL forwarding.

> **NOTE:** One ECS instance can be added into multiple virtual server groups.

> **NOTE:** One virtual server group can be attached with multiple listeners in one load balancer.

> **NOTE:** One Classic and Internet load balancer, its virtual server group can add Classic and VPC ECS instances.

> **NOTE:** One Classic and Intranet load balancer, its virtual server group can only add Classic ECS instances.

> **NOTE:** One VPC load balancer, its virtual server group can only add the same VPC ECS instances.

## Block servers

The servers mapping supports the following:

* `serverIds` - (Required) A list backend server ID (ECS instance ID). * `port` - (Required) The port used by the backend server. Valid value range: [1-65535]. * `weight` - (Optional) Weight of the backend server. Valid value range: [0-100]. Default to 100. * `type` - (Optional, Available in 1.51.0+) Type of the backend server. Valid value ecs, eni. Default to eni.

## Import

Load balancer backend server group can be imported using the id, e.g.

```sh

$ pulumi import alicloud:slb/serverGroup:ServerGroup example abc123456

```

func GetServerGroup

func GetServerGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerGroupState, opts ...pulumi.ResourceOption) (*ServerGroup, error)

GetServerGroup gets an existing ServerGroup 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 NewServerGroup

func NewServerGroup(ctx *pulumi.Context,
	name string, args *ServerGroupArgs, opts ...pulumi.ResourceOption) (*ServerGroup, error)

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

func (*ServerGroup) ElementType added in v2.25.1

func (*ServerGroup) ElementType() reflect.Type

func (*ServerGroup) ToServerGroupOutput added in v2.25.1

func (i *ServerGroup) ToServerGroupOutput() ServerGroupOutput

func (*ServerGroup) ToServerGroupOutputWithContext added in v2.25.1

func (i *ServerGroup) ToServerGroupOutputWithContext(ctx context.Context) ServerGroupOutput

func (*ServerGroup) ToServerGroupPtrOutput added in v2.35.1

func (i *ServerGroup) ToServerGroupPtrOutput() ServerGroupPtrOutput

func (*ServerGroup) ToServerGroupPtrOutputWithContext added in v2.35.1

func (i *ServerGroup) ToServerGroupPtrOutputWithContext(ctx context.Context) ServerGroupPtrOutput

type ServerGroupArgs

type ServerGroupArgs struct {
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// The Load Balancer ID which is used to launch a new virtual server group.
	LoadBalancerId pulumi.StringInput
	// Name of the virtual server group. Our plugin provides a default name: "tf-server-group".
	Name pulumi.StringPtrInput
	// A list of ECS instances to be added. At most 20 ECS instances can be supported in one resource. It contains three sub-fields as `Block server` follows.
	Servers ServerGroupServerArrayInput
}

The set of arguments for constructing a ServerGroup resource.

func (ServerGroupArgs) ElementType

func (ServerGroupArgs) ElementType() reflect.Type

type ServerGroupArray added in v2.35.1

type ServerGroupArray []ServerGroupInput

func (ServerGroupArray) ElementType added in v2.35.1

func (ServerGroupArray) ElementType() reflect.Type

func (ServerGroupArray) ToServerGroupArrayOutput added in v2.35.1

func (i ServerGroupArray) ToServerGroupArrayOutput() ServerGroupArrayOutput

func (ServerGroupArray) ToServerGroupArrayOutputWithContext added in v2.35.1

func (i ServerGroupArray) ToServerGroupArrayOutputWithContext(ctx context.Context) ServerGroupArrayOutput

type ServerGroupArrayInput added in v2.35.1

type ServerGroupArrayInput interface {
	pulumi.Input

	ToServerGroupArrayOutput() ServerGroupArrayOutput
	ToServerGroupArrayOutputWithContext(context.Context) ServerGroupArrayOutput
}

ServerGroupArrayInput is an input type that accepts ServerGroupArray and ServerGroupArrayOutput values. You can construct a concrete instance of `ServerGroupArrayInput` via:

ServerGroupArray{ ServerGroupArgs{...} }

type ServerGroupArrayOutput added in v2.35.1

type ServerGroupArrayOutput struct{ *pulumi.OutputState }

func (ServerGroupArrayOutput) ElementType added in v2.35.1

func (ServerGroupArrayOutput) ElementType() reflect.Type

func (ServerGroupArrayOutput) Index added in v2.35.1

func (ServerGroupArrayOutput) ToServerGroupArrayOutput added in v2.35.1

func (o ServerGroupArrayOutput) ToServerGroupArrayOutput() ServerGroupArrayOutput

func (ServerGroupArrayOutput) ToServerGroupArrayOutputWithContext added in v2.35.1

func (o ServerGroupArrayOutput) ToServerGroupArrayOutputWithContext(ctx context.Context) ServerGroupArrayOutput

type ServerGroupInput added in v2.25.1

type ServerGroupInput interface {
	pulumi.Input

	ToServerGroupOutput() ServerGroupOutput
	ToServerGroupOutputWithContext(ctx context.Context) ServerGroupOutput
}

type ServerGroupMap added in v2.35.1

type ServerGroupMap map[string]ServerGroupInput

func (ServerGroupMap) ElementType added in v2.35.1

func (ServerGroupMap) ElementType() reflect.Type

func (ServerGroupMap) ToServerGroupMapOutput added in v2.35.1

func (i ServerGroupMap) ToServerGroupMapOutput() ServerGroupMapOutput

func (ServerGroupMap) ToServerGroupMapOutputWithContext added in v2.35.1

func (i ServerGroupMap) ToServerGroupMapOutputWithContext(ctx context.Context) ServerGroupMapOutput

type ServerGroupMapInput added in v2.35.1

type ServerGroupMapInput interface {
	pulumi.Input

	ToServerGroupMapOutput() ServerGroupMapOutput
	ToServerGroupMapOutputWithContext(context.Context) ServerGroupMapOutput
}

ServerGroupMapInput is an input type that accepts ServerGroupMap and ServerGroupMapOutput values. You can construct a concrete instance of `ServerGroupMapInput` via:

ServerGroupMap{ "key": ServerGroupArgs{...} }

type ServerGroupMapOutput added in v2.35.1

type ServerGroupMapOutput struct{ *pulumi.OutputState }

func (ServerGroupMapOutput) ElementType added in v2.35.1

func (ServerGroupMapOutput) ElementType() reflect.Type

func (ServerGroupMapOutput) MapIndex added in v2.35.1

func (ServerGroupMapOutput) ToServerGroupMapOutput added in v2.35.1

func (o ServerGroupMapOutput) ToServerGroupMapOutput() ServerGroupMapOutput

func (ServerGroupMapOutput) ToServerGroupMapOutputWithContext added in v2.35.1

func (o ServerGroupMapOutput) ToServerGroupMapOutputWithContext(ctx context.Context) ServerGroupMapOutput

type ServerGroupOutput added in v2.25.1

type ServerGroupOutput struct {
	*pulumi.OutputState
}

func (ServerGroupOutput) ElementType added in v2.25.1

func (ServerGroupOutput) ElementType() reflect.Type

func (ServerGroupOutput) ToServerGroupOutput added in v2.25.1

func (o ServerGroupOutput) ToServerGroupOutput() ServerGroupOutput

func (ServerGroupOutput) ToServerGroupOutputWithContext added in v2.25.1

func (o ServerGroupOutput) ToServerGroupOutputWithContext(ctx context.Context) ServerGroupOutput

func (ServerGroupOutput) ToServerGroupPtrOutput added in v2.35.1

func (o ServerGroupOutput) ToServerGroupPtrOutput() ServerGroupPtrOutput

func (ServerGroupOutput) ToServerGroupPtrOutputWithContext added in v2.35.1

func (o ServerGroupOutput) ToServerGroupPtrOutputWithContext(ctx context.Context) ServerGroupPtrOutput

type ServerGroupPtrInput added in v2.35.1

type ServerGroupPtrInput interface {
	pulumi.Input

	ToServerGroupPtrOutput() ServerGroupPtrOutput
	ToServerGroupPtrOutputWithContext(ctx context.Context) ServerGroupPtrOutput
}

type ServerGroupPtrOutput added in v2.35.1

type ServerGroupPtrOutput struct {
	*pulumi.OutputState
}

func (ServerGroupPtrOutput) ElementType added in v2.35.1

func (ServerGroupPtrOutput) ElementType() reflect.Type

func (ServerGroupPtrOutput) ToServerGroupPtrOutput added in v2.35.1

func (o ServerGroupPtrOutput) ToServerGroupPtrOutput() ServerGroupPtrOutput

func (ServerGroupPtrOutput) ToServerGroupPtrOutputWithContext added in v2.35.1

func (o ServerGroupPtrOutput) ToServerGroupPtrOutputWithContext(ctx context.Context) ServerGroupPtrOutput

type ServerGroupServer

type ServerGroupServer struct {
	Port      int      `pulumi:"port"`
	ServerIds []string `pulumi:"serverIds"`
	Type      *string  `pulumi:"type"`
	Weight    *int     `pulumi:"weight"`
}

type ServerGroupServerArgs

type ServerGroupServerArgs struct {
	Port      pulumi.IntInput         `pulumi:"port"`
	ServerIds pulumi.StringArrayInput `pulumi:"serverIds"`
	Type      pulumi.StringPtrInput   `pulumi:"type"`
	Weight    pulumi.IntPtrInput      `pulumi:"weight"`
}

func (ServerGroupServerArgs) ElementType

func (ServerGroupServerArgs) ElementType() reflect.Type

func (ServerGroupServerArgs) ToServerGroupServerOutput

func (i ServerGroupServerArgs) ToServerGroupServerOutput() ServerGroupServerOutput

func (ServerGroupServerArgs) ToServerGroupServerOutputWithContext

func (i ServerGroupServerArgs) ToServerGroupServerOutputWithContext(ctx context.Context) ServerGroupServerOutput

type ServerGroupServerArray

type ServerGroupServerArray []ServerGroupServerInput

func (ServerGroupServerArray) ElementType

func (ServerGroupServerArray) ElementType() reflect.Type

func (ServerGroupServerArray) ToServerGroupServerArrayOutput

func (i ServerGroupServerArray) ToServerGroupServerArrayOutput() ServerGroupServerArrayOutput

func (ServerGroupServerArray) ToServerGroupServerArrayOutputWithContext

func (i ServerGroupServerArray) ToServerGroupServerArrayOutputWithContext(ctx context.Context) ServerGroupServerArrayOutput

type ServerGroupServerArrayInput

type ServerGroupServerArrayInput interface {
	pulumi.Input

	ToServerGroupServerArrayOutput() ServerGroupServerArrayOutput
	ToServerGroupServerArrayOutputWithContext(context.Context) ServerGroupServerArrayOutput
}

ServerGroupServerArrayInput is an input type that accepts ServerGroupServerArray and ServerGroupServerArrayOutput values. You can construct a concrete instance of `ServerGroupServerArrayInput` via:

ServerGroupServerArray{ ServerGroupServerArgs{...} }

type ServerGroupServerArrayOutput

type ServerGroupServerArrayOutput struct{ *pulumi.OutputState }

func (ServerGroupServerArrayOutput) ElementType

func (ServerGroupServerArrayOutput) Index

func (ServerGroupServerArrayOutput) ToServerGroupServerArrayOutput

func (o ServerGroupServerArrayOutput) ToServerGroupServerArrayOutput() ServerGroupServerArrayOutput

func (ServerGroupServerArrayOutput) ToServerGroupServerArrayOutputWithContext

func (o ServerGroupServerArrayOutput) ToServerGroupServerArrayOutputWithContext(ctx context.Context) ServerGroupServerArrayOutput

type ServerGroupServerInput

type ServerGroupServerInput interface {
	pulumi.Input

	ToServerGroupServerOutput() ServerGroupServerOutput
	ToServerGroupServerOutputWithContext(context.Context) ServerGroupServerOutput
}

ServerGroupServerInput is an input type that accepts ServerGroupServerArgs and ServerGroupServerOutput values. You can construct a concrete instance of `ServerGroupServerInput` via:

ServerGroupServerArgs{...}

type ServerGroupServerOutput

type ServerGroupServerOutput struct{ *pulumi.OutputState }

func (ServerGroupServerOutput) ElementType

func (ServerGroupServerOutput) ElementType() reflect.Type

func (ServerGroupServerOutput) Port

func (ServerGroupServerOutput) ServerIds

func (ServerGroupServerOutput) ToServerGroupServerOutput

func (o ServerGroupServerOutput) ToServerGroupServerOutput() ServerGroupServerOutput

func (ServerGroupServerOutput) ToServerGroupServerOutputWithContext

func (o ServerGroupServerOutput) ToServerGroupServerOutputWithContext(ctx context.Context) ServerGroupServerOutput

func (ServerGroupServerOutput) Type

func (ServerGroupServerOutput) Weight

type ServerGroupState

type ServerGroupState struct {
	// Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.
	DeleteProtectionValidation pulumi.BoolPtrInput
	// The Load Balancer ID which is used to launch a new virtual server group.
	LoadBalancerId pulumi.StringPtrInput
	// Name of the virtual server group. Our plugin provides a default name: "tf-server-group".
	Name pulumi.StringPtrInput
	// A list of ECS instances to be added. At most 20 ECS instances can be supported in one resource. It contains three sub-fields as `Block server` follows.
	Servers ServerGroupServerArrayInput
}

func (ServerGroupState) ElementType

func (ServerGroupState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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