slb

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v0.0.1

func PkgVersion() (semver.Version, error)

PkgVersion uses reflection to determine the version of the current package. If a version cannot be determined, v1 will be assumed. The second return value is always nil.

Types

type Acl

type Acl struct {
	pulumi.CustomResourceState

	// A list of entry (CIDR blocks) to be added. It contains two sub-fields as `Entry Block` follows. **NOTE:** "Field 'entry_list' has been deprecated from provider version 1.162.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_acl_entry_attachment'.",
	//
	// Deprecated: Field 'entry_list' has been deprecated from provider version 1.162.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_acl_entry_attachment'.
	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/70015.htm).

## Example Usage

```go package main

import (

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

)

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` - (Optional, Computed) The CIDR blocks. * `comment` - (Optional, Computed) 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

func (*Acl) ElementType() reflect.Type

func (*Acl) ToAclOutput

func (i *Acl) ToAclOutput() AclOutput

func (*Acl) ToAclOutputWithContext

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

type AclArgs

type AclArgs struct {
	// A list of entry (CIDR blocks) to be added. It contains two sub-fields as `Entry Block` follows. **NOTE:** "Field 'entry_list' has been deprecated from provider version 1.162.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_acl_entry_attachment'.",
	//
	// Deprecated: Field 'entry_list' has been deprecated from provider version 1.162.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_acl_entry_attachment'.
	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

type AclArray []AclInput

func (AclArray) ElementType

func (AclArray) ElementType() reflect.Type

func (AclArray) ToAclArrayOutput

func (i AclArray) ToAclArrayOutput() AclArrayOutput

func (AclArray) ToAclArrayOutputWithContext

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

type AclArrayInput

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

type AclArrayOutput struct{ *pulumi.OutputState }

func (AclArrayOutput) ElementType

func (AclArrayOutput) ElementType() reflect.Type

func (AclArrayOutput) Index

func (AclArrayOutput) ToAclArrayOutput

func (o AclArrayOutput) ToAclArrayOutput() AclArrayOutput

func (AclArrayOutput) ToAclArrayOutputWithContext

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

type AclEntryAttachment

type AclEntryAttachment struct {
	pulumi.CustomResourceState

	// The ID of the Acl.
	AclId pulumi.StringOutput `pulumi:"aclId"`
	// The comment of the entry.
	Comment pulumi.StringPtrOutput `pulumi:"comment"`
	// The CIDR blocks.
	Entry pulumi.StringOutput `pulumi:"entry"`
}

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

> **NOTE:** The maximum number of entries per acl is 300.

For information about acl entry attachment and how to use it, see [Configure an acl entry](https://www.alibabacloud.com/help/en/doc-detail/70023.html).

## Example Usage

```go package main

import (

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

)

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
		}
		defaultAcl, err := slb.NewAcl(ctx, "defaultAcl", &slb.AclArgs{
			IpVersion: pulumi.String(ipVersion),
		})
		if err != nil {
			return err
		}
		_, err = slb.NewAclEntryAttachment(ctx, "defaultAclEntryAttachment", &slb.AclEntryAttachmentArgs{
			AclId:   defaultAcl.ID(),
			Entry:   pulumi.String("168.10.10.0/24"),
			Comment: pulumi.String("second"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Acl entry attachment can be imported using the id, e.g.

```sh

$ pulumi import alicloud:slb/aclEntryAttachment:AclEntryAttachment example <acl_id>:<entry>

```

func GetAclEntryAttachment

func GetAclEntryAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AclEntryAttachmentState, opts ...pulumi.ResourceOption) (*AclEntryAttachment, error)

GetAclEntryAttachment gets an existing AclEntryAttachment 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 NewAclEntryAttachment

func NewAclEntryAttachment(ctx *pulumi.Context,
	name string, args *AclEntryAttachmentArgs, opts ...pulumi.ResourceOption) (*AclEntryAttachment, error)

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

func (*AclEntryAttachment) ElementType

func (*AclEntryAttachment) ElementType() reflect.Type

func (*AclEntryAttachment) ToAclEntryAttachmentOutput

func (i *AclEntryAttachment) ToAclEntryAttachmentOutput() AclEntryAttachmentOutput

func (*AclEntryAttachment) ToAclEntryAttachmentOutputWithContext

func (i *AclEntryAttachment) ToAclEntryAttachmentOutputWithContext(ctx context.Context) AclEntryAttachmentOutput

type AclEntryAttachmentArgs

type AclEntryAttachmentArgs struct {
	// The ID of the Acl.
	AclId pulumi.StringInput
	// The comment of the entry.
	Comment pulumi.StringPtrInput
	// The CIDR blocks.
	Entry pulumi.StringInput
}

The set of arguments for constructing a AclEntryAttachment resource.

func (AclEntryAttachmentArgs) ElementType

func (AclEntryAttachmentArgs) ElementType() reflect.Type

type AclEntryAttachmentArray

type AclEntryAttachmentArray []AclEntryAttachmentInput

func (AclEntryAttachmentArray) ElementType

func (AclEntryAttachmentArray) ElementType() reflect.Type

func (AclEntryAttachmentArray) ToAclEntryAttachmentArrayOutput

func (i AclEntryAttachmentArray) ToAclEntryAttachmentArrayOutput() AclEntryAttachmentArrayOutput

func (AclEntryAttachmentArray) ToAclEntryAttachmentArrayOutputWithContext

func (i AclEntryAttachmentArray) ToAclEntryAttachmentArrayOutputWithContext(ctx context.Context) AclEntryAttachmentArrayOutput

type AclEntryAttachmentArrayInput

type AclEntryAttachmentArrayInput interface {
	pulumi.Input

	ToAclEntryAttachmentArrayOutput() AclEntryAttachmentArrayOutput
	ToAclEntryAttachmentArrayOutputWithContext(context.Context) AclEntryAttachmentArrayOutput
}

AclEntryAttachmentArrayInput is an input type that accepts AclEntryAttachmentArray and AclEntryAttachmentArrayOutput values. You can construct a concrete instance of `AclEntryAttachmentArrayInput` via:

AclEntryAttachmentArray{ AclEntryAttachmentArgs{...} }

type AclEntryAttachmentArrayOutput

type AclEntryAttachmentArrayOutput struct{ *pulumi.OutputState }

func (AclEntryAttachmentArrayOutput) ElementType

func (AclEntryAttachmentArrayOutput) Index

func (AclEntryAttachmentArrayOutput) ToAclEntryAttachmentArrayOutput

func (o AclEntryAttachmentArrayOutput) ToAclEntryAttachmentArrayOutput() AclEntryAttachmentArrayOutput

func (AclEntryAttachmentArrayOutput) ToAclEntryAttachmentArrayOutputWithContext

func (o AclEntryAttachmentArrayOutput) ToAclEntryAttachmentArrayOutputWithContext(ctx context.Context) AclEntryAttachmentArrayOutput

type AclEntryAttachmentInput

type AclEntryAttachmentInput interface {
	pulumi.Input

	ToAclEntryAttachmentOutput() AclEntryAttachmentOutput
	ToAclEntryAttachmentOutputWithContext(ctx context.Context) AclEntryAttachmentOutput
}

type AclEntryAttachmentMap

type AclEntryAttachmentMap map[string]AclEntryAttachmentInput

func (AclEntryAttachmentMap) ElementType

func (AclEntryAttachmentMap) ElementType() reflect.Type

func (AclEntryAttachmentMap) ToAclEntryAttachmentMapOutput

func (i AclEntryAttachmentMap) ToAclEntryAttachmentMapOutput() AclEntryAttachmentMapOutput

func (AclEntryAttachmentMap) ToAclEntryAttachmentMapOutputWithContext

func (i AclEntryAttachmentMap) ToAclEntryAttachmentMapOutputWithContext(ctx context.Context) AclEntryAttachmentMapOutput

type AclEntryAttachmentMapInput

type AclEntryAttachmentMapInput interface {
	pulumi.Input

	ToAclEntryAttachmentMapOutput() AclEntryAttachmentMapOutput
	ToAclEntryAttachmentMapOutputWithContext(context.Context) AclEntryAttachmentMapOutput
}

AclEntryAttachmentMapInput is an input type that accepts AclEntryAttachmentMap and AclEntryAttachmentMapOutput values. You can construct a concrete instance of `AclEntryAttachmentMapInput` via:

AclEntryAttachmentMap{ "key": AclEntryAttachmentArgs{...} }

type AclEntryAttachmentMapOutput

type AclEntryAttachmentMapOutput struct{ *pulumi.OutputState }

func (AclEntryAttachmentMapOutput) ElementType

func (AclEntryAttachmentMapOutput) MapIndex

func (AclEntryAttachmentMapOutput) ToAclEntryAttachmentMapOutput

func (o AclEntryAttachmentMapOutput) ToAclEntryAttachmentMapOutput() AclEntryAttachmentMapOutput

func (AclEntryAttachmentMapOutput) ToAclEntryAttachmentMapOutputWithContext

func (o AclEntryAttachmentMapOutput) ToAclEntryAttachmentMapOutputWithContext(ctx context.Context) AclEntryAttachmentMapOutput

type AclEntryAttachmentOutput

type AclEntryAttachmentOutput struct{ *pulumi.OutputState }

func (AclEntryAttachmentOutput) AclId

The ID of the Acl.

func (AclEntryAttachmentOutput) Comment

The comment of the entry.

func (AclEntryAttachmentOutput) ElementType

func (AclEntryAttachmentOutput) ElementType() reflect.Type

func (AclEntryAttachmentOutput) Entry

The CIDR blocks.

func (AclEntryAttachmentOutput) ToAclEntryAttachmentOutput

func (o AclEntryAttachmentOutput) ToAclEntryAttachmentOutput() AclEntryAttachmentOutput

func (AclEntryAttachmentOutput) ToAclEntryAttachmentOutputWithContext

func (o AclEntryAttachmentOutput) ToAclEntryAttachmentOutputWithContext(ctx context.Context) AclEntryAttachmentOutput

type AclEntryAttachmentState

type AclEntryAttachmentState struct {
	// The ID of the Acl.
	AclId pulumi.StringPtrInput
	// The comment of the entry.
	Comment pulumi.StringPtrInput
	// The CIDR blocks.
	Entry pulumi.StringPtrInput
}

func (AclEntryAttachmentState) ElementType

func (AclEntryAttachmentState) ElementType() reflect.Type

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

type AclInput interface {
	pulumi.Input

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

type AclMap

type AclMap map[string]AclInput

func (AclMap) ElementType

func (AclMap) ElementType() reflect.Type

func (AclMap) ToAclMapOutput

func (i AclMap) ToAclMapOutput() AclMapOutput

func (AclMap) ToAclMapOutputWithContext

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

type AclMapInput

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

type AclMapOutput struct{ *pulumi.OutputState }

func (AclMapOutput) ElementType

func (AclMapOutput) ElementType() reflect.Type

func (AclMapOutput) MapIndex

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

func (AclMapOutput) ToAclMapOutput

func (o AclMapOutput) ToAclMapOutput() AclMapOutput

func (AclMapOutput) ToAclMapOutputWithContext

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

type AclOutput

type AclOutput struct{ *pulumi.OutputState }

func (AclOutput) ElementType

func (AclOutput) ElementType() reflect.Type

func (AclOutput) EntryLists deprecated

func (o AclOutput) EntryLists() AclEntryListArrayOutput

A list of entry (CIDR blocks) to be added. It contains two sub-fields as `Entry Block` follows. **NOTE:** "Field 'entry_list' has been deprecated from provider version 1.162.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_acl_entry_attachment'.",

Deprecated: Field 'entry_list' has been deprecated from provider version 1.162.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_acl_entry_attachment'.

func (AclOutput) IpVersion

func (o AclOutput) IpVersion() pulumi.StringPtrOutput

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

func (AclOutput) Name

func (o AclOutput) Name() pulumi.StringOutput

Name of the access control list.

func (AclOutput) ResourceGroupId

func (o AclOutput) ResourceGroupId() pulumi.StringOutput

Resource group ID.

func (AclOutput) Tags

func (o AclOutput) Tags() pulumi.MapOutput

A mapping of tags to assign to the resource.

func (AclOutput) ToAclOutput

func (o AclOutput) ToAclOutput() AclOutput

func (AclOutput) ToAclOutputWithContext

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

type AclState

type AclState struct {
	// A list of entry (CIDR blocks) to be added. It contains two sub-fields as `Entry Block` follows. **NOTE:** "Field 'entry_list' has been deprecated from provider version 1.162.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_acl_entry_attachment'.",
	//
	// Deprecated: Field 'entry_list' has been deprecated from provider version 1.162.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_acl_entry_attachment'.
	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 ApplicationLoadBalancer

type ApplicationLoadBalancer 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 corresponding 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 5120, If argument `internetChargeType` is `PayByTraffic`, then this value will be ignored.
	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"`
	// Support `PayBySpec` (default) and `PayByCLCU`, This parameter takes effect when the value of **payment_type** (instance payment mode) is **PayAsYouGo** (pay-as-you-go).
	InstanceChargeType pulumi.StringOutput `pulumi:"instanceChargeType"`
	// Valid values are `PayByBandwidth`, `PayByTraffic`. If this value is `PayByBandwidth`, then argument `addressType` must be `internet`. 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"`
	LoadBalancerName   pulumi.StringOutput    `pulumi:"loadBalancerName"`
	// 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 must be specified. Valid values: `slb.s1.small`, `slb.s2.small`, `slb.s2.medium`,
	// `slb.s3.small`, `slb.s3.medium`, `slb.s3.large` and `slb.s4.large`. It will be ignored when `instanceChargeType = "PayByCLCU"`.
	LoadBalancerSpec pulumi.StringOutput `pulumi:"loadBalancerSpec"`
	// 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](https://help.aliyun.com/document_detail/27585.htm) API.
	MasterZoneId pulumi.StringOutput `pulumi:"masterZoneId"`
	// The reason of modification protection. It's effective when `modificationProtectionStatus` is `ConsoleProtection`.
	ModificationProtectionReason pulumi.StringPtrOutput `pulumi:"modificationProtectionReason"`
	// The status of modification protection. Valid values: `ConsoleProtection` and `NonProtection`. Default value is `NonProtection`.
	ModificationProtectionStatus pulumi.StringOutput `pulumi:"modificationProtectionStatus"`
	// Field `name` has been deprecated from provider version 1.123.1 New field `loadBalancerName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead
	Name pulumi.StringOutput `pulumi:"name"`
	// The billing method of the load balancer. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
	PaymentType pulumi.StringOutput `pulumi:"paymentType"`
	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"`
	// Field `specification` has been deprecated from provider version 1.123.1 New field `loadBalancerSpec` instead.
	//
	// Deprecated: Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead
	Specification pulumi.StringOutput `pulumi:"specification"`
	// The status of slb load balancer. Valid values: `active` and `inactice`. The system default value is `active`.
	Status pulumi.StringOutput `pulumi:"status"`
	// 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. **Note:** Required for a VPC SLB. If `addressType` is internet, it will be ignored.
	VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"`
}

## Import

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

```sh

$ pulumi import alicloud:slb/applicationLoadBalancer:ApplicationLoadBalancer example lb-abc123456

```

func GetApplicationLoadBalancer

func GetApplicationLoadBalancer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ApplicationLoadBalancerState, opts ...pulumi.ResourceOption) (*ApplicationLoadBalancer, error)

GetApplicationLoadBalancer gets an existing ApplicationLoadBalancer 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 NewApplicationLoadBalancer

func NewApplicationLoadBalancer(ctx *pulumi.Context,
	name string, args *ApplicationLoadBalancerArgs, opts ...pulumi.ResourceOption) (*ApplicationLoadBalancer, error)

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

func (*ApplicationLoadBalancer) ElementType

func (*ApplicationLoadBalancer) ElementType() reflect.Type

func (*ApplicationLoadBalancer) ToApplicationLoadBalancerOutput

func (i *ApplicationLoadBalancer) ToApplicationLoadBalancerOutput() ApplicationLoadBalancerOutput

func (*ApplicationLoadBalancer) ToApplicationLoadBalancerOutputWithContext

func (i *ApplicationLoadBalancer) ToApplicationLoadBalancerOutputWithContext(ctx context.Context) ApplicationLoadBalancerOutput

type ApplicationLoadBalancerArgs

type ApplicationLoadBalancerArgs struct {
	// Specify the IP address of the private network for the SLB instance, which must be in the destination CIDR block of the corresponding 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 5120, If argument `internetChargeType` is `PayByTraffic`, then this value will be ignored.
	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
	// Support `PayBySpec` (default) and `PayByCLCU`, This parameter takes effect when the value of **payment_type** (instance payment mode) is **PayAsYouGo** (pay-as-you-go).
	InstanceChargeType pulumi.StringPtrInput
	// Valid values are `PayByBandwidth`, `PayByTraffic`. If this value is `PayByBandwidth`, then argument `addressType` must be `internet`. 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
	LoadBalancerName   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 must be specified. Valid values: `slb.s1.small`, `slb.s2.small`, `slb.s2.medium`,
	// `slb.s3.small`, `slb.s3.medium`, `slb.s3.large` and `slb.s4.large`. It will be ignored when `instanceChargeType = "PayByCLCU"`.
	LoadBalancerSpec 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](https://help.aliyun.com/document_detail/27585.htm) API.
	MasterZoneId pulumi.StringPtrInput
	// The reason of modification protection. It's effective when `modificationProtectionStatus` is `ConsoleProtection`.
	ModificationProtectionReason pulumi.StringPtrInput
	// The status of modification protection. Valid values: `ConsoleProtection` and `NonProtection`. Default value is `NonProtection`.
	ModificationProtectionStatus pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.123.1 New field `loadBalancerName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead
	Name pulumi.StringPtrInput
	// The billing method of the load balancer. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
	PaymentType pulumi.StringPtrInput
	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
	// Field `specification` has been deprecated from provider version 1.123.1 New field `loadBalancerSpec` instead.
	//
	// Deprecated: Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead
	Specification pulumi.StringPtrInput
	// The status of slb load balancer. Valid values: `active` and `inactice`. The system default value is `active`.
	Status 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. **Note:** Required for a VPC SLB. If `addressType` is internet, it will be ignored.
	VswitchId pulumi.StringPtrInput
}

The set of arguments for constructing a ApplicationLoadBalancer resource.

func (ApplicationLoadBalancerArgs) ElementType

type ApplicationLoadBalancerArray

type ApplicationLoadBalancerArray []ApplicationLoadBalancerInput

func (ApplicationLoadBalancerArray) ElementType

func (ApplicationLoadBalancerArray) ToApplicationLoadBalancerArrayOutput

func (i ApplicationLoadBalancerArray) ToApplicationLoadBalancerArrayOutput() ApplicationLoadBalancerArrayOutput

func (ApplicationLoadBalancerArray) ToApplicationLoadBalancerArrayOutputWithContext

func (i ApplicationLoadBalancerArray) ToApplicationLoadBalancerArrayOutputWithContext(ctx context.Context) ApplicationLoadBalancerArrayOutput

type ApplicationLoadBalancerArrayInput

type ApplicationLoadBalancerArrayInput interface {
	pulumi.Input

	ToApplicationLoadBalancerArrayOutput() ApplicationLoadBalancerArrayOutput
	ToApplicationLoadBalancerArrayOutputWithContext(context.Context) ApplicationLoadBalancerArrayOutput
}

ApplicationLoadBalancerArrayInput is an input type that accepts ApplicationLoadBalancerArray and ApplicationLoadBalancerArrayOutput values. You can construct a concrete instance of `ApplicationLoadBalancerArrayInput` via:

ApplicationLoadBalancerArray{ ApplicationLoadBalancerArgs{...} }

type ApplicationLoadBalancerArrayOutput

type ApplicationLoadBalancerArrayOutput struct{ *pulumi.OutputState }

func (ApplicationLoadBalancerArrayOutput) ElementType

func (ApplicationLoadBalancerArrayOutput) Index

func (ApplicationLoadBalancerArrayOutput) ToApplicationLoadBalancerArrayOutput

func (o ApplicationLoadBalancerArrayOutput) ToApplicationLoadBalancerArrayOutput() ApplicationLoadBalancerArrayOutput

func (ApplicationLoadBalancerArrayOutput) ToApplicationLoadBalancerArrayOutputWithContext

func (o ApplicationLoadBalancerArrayOutput) ToApplicationLoadBalancerArrayOutputWithContext(ctx context.Context) ApplicationLoadBalancerArrayOutput

type ApplicationLoadBalancerInput

type ApplicationLoadBalancerInput interface {
	pulumi.Input

	ToApplicationLoadBalancerOutput() ApplicationLoadBalancerOutput
	ToApplicationLoadBalancerOutputWithContext(ctx context.Context) ApplicationLoadBalancerOutput
}

type ApplicationLoadBalancerMap

type ApplicationLoadBalancerMap map[string]ApplicationLoadBalancerInput

func (ApplicationLoadBalancerMap) ElementType

func (ApplicationLoadBalancerMap) ElementType() reflect.Type

func (ApplicationLoadBalancerMap) ToApplicationLoadBalancerMapOutput

func (i ApplicationLoadBalancerMap) ToApplicationLoadBalancerMapOutput() ApplicationLoadBalancerMapOutput

func (ApplicationLoadBalancerMap) ToApplicationLoadBalancerMapOutputWithContext

func (i ApplicationLoadBalancerMap) ToApplicationLoadBalancerMapOutputWithContext(ctx context.Context) ApplicationLoadBalancerMapOutput

type ApplicationLoadBalancerMapInput

type ApplicationLoadBalancerMapInput interface {
	pulumi.Input

	ToApplicationLoadBalancerMapOutput() ApplicationLoadBalancerMapOutput
	ToApplicationLoadBalancerMapOutputWithContext(context.Context) ApplicationLoadBalancerMapOutput
}

ApplicationLoadBalancerMapInput is an input type that accepts ApplicationLoadBalancerMap and ApplicationLoadBalancerMapOutput values. You can construct a concrete instance of `ApplicationLoadBalancerMapInput` via:

ApplicationLoadBalancerMap{ "key": ApplicationLoadBalancerArgs{...} }

type ApplicationLoadBalancerMapOutput

type ApplicationLoadBalancerMapOutput struct{ *pulumi.OutputState }

func (ApplicationLoadBalancerMapOutput) ElementType

func (ApplicationLoadBalancerMapOutput) MapIndex

func (ApplicationLoadBalancerMapOutput) ToApplicationLoadBalancerMapOutput

func (o ApplicationLoadBalancerMapOutput) ToApplicationLoadBalancerMapOutput() ApplicationLoadBalancerMapOutput

func (ApplicationLoadBalancerMapOutput) ToApplicationLoadBalancerMapOutputWithContext

func (o ApplicationLoadBalancerMapOutput) ToApplicationLoadBalancerMapOutputWithContext(ctx context.Context) ApplicationLoadBalancerMapOutput

type ApplicationLoadBalancerOutput

type ApplicationLoadBalancerOutput struct{ *pulumi.OutputState }

func (ApplicationLoadBalancerOutput) Address

Specify the IP address of the private network for the SLB instance, which must be in the destination CIDR block of the corresponding switch.

func (ApplicationLoadBalancerOutput) AddressIpVersion

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.

func (ApplicationLoadBalancerOutput) AddressType

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.

func (ApplicationLoadBalancerOutput) Bandwidth

Valid value is between 1 and 5120, If argument `internetChargeType` is `PayByTraffic`, then this value will be ignored.

func (ApplicationLoadBalancerOutput) DeleteProtection

Whether enable the deletion protection or not. on: Enable deletion protection. off: Disable deletion protection. Default to off. Only postpaid instance support this function.

func (ApplicationLoadBalancerOutput) ElementType

func (ApplicationLoadBalancerOutput) InstanceChargeType

func (o ApplicationLoadBalancerOutput) InstanceChargeType() pulumi.StringOutput

Support `PayBySpec` (default) and `PayByCLCU`, This parameter takes effect when the value of **payment_type** (instance payment mode) is **PayAsYouGo** (pay-as-you-go).

func (ApplicationLoadBalancerOutput) InternetChargeType

func (o ApplicationLoadBalancerOutput) InternetChargeType() pulumi.StringPtrOutput

Valid values are `PayByBandwidth`, `PayByTraffic`. If this value is `PayByBandwidth`, then argument `addressType` must be `internet`. 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`.

func (ApplicationLoadBalancerOutput) LoadBalancerName

func (o ApplicationLoadBalancerOutput) LoadBalancerName() pulumi.StringOutput

func (ApplicationLoadBalancerOutput) LoadBalancerSpec

func (o ApplicationLoadBalancerOutput) LoadBalancerSpec() pulumi.StringOutput

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 must be specified. Valid values: `slb.s1.small`, `slb.s2.small`, `slb.s2.medium`, `slb.s3.small`, `slb.s3.medium`, `slb.s3.large` and `slb.s4.large`. It will be ignored when `instanceChargeType = "PayByCLCU"`.

func (ApplicationLoadBalancerOutput) MasterZoneId

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](https://help.aliyun.com/document_detail/27585.htm) API.

func (ApplicationLoadBalancerOutput) ModificationProtectionReason

func (o ApplicationLoadBalancerOutput) ModificationProtectionReason() pulumi.StringPtrOutput

The reason of modification protection. It's effective when `modificationProtectionStatus` is `ConsoleProtection`.

func (ApplicationLoadBalancerOutput) ModificationProtectionStatus

func (o ApplicationLoadBalancerOutput) ModificationProtectionStatus() pulumi.StringOutput

The status of modification protection. Valid values: `ConsoleProtection` and `NonProtection`. Default value is `NonProtection`.

func (ApplicationLoadBalancerOutput) Name deprecated

Field `name` has been deprecated from provider version 1.123.1 New field `loadBalancerName` instead.

Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead

func (ApplicationLoadBalancerOutput) PaymentType

The billing method of the load balancer. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.

func (ApplicationLoadBalancerOutput) Period

func (ApplicationLoadBalancerOutput) ResourceGroupId

The id of resource group which the SLB belongs.

func (ApplicationLoadBalancerOutput) SlaveZoneId

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.

func (ApplicationLoadBalancerOutput) Specification deprecated

Field `specification` has been deprecated from provider version 1.123.1 New field `loadBalancerSpec` instead.

Deprecated: Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead

func (ApplicationLoadBalancerOutput) Status

The status of slb load balancer. Valid values: `active` and `inactice`. The system default value is `active`.

func (ApplicationLoadBalancerOutput) Tags

A mapping of tags to assign to the resource. The `tags` can have a maximum of 10 tag for every load balancer instance.

func (ApplicationLoadBalancerOutput) ToApplicationLoadBalancerOutput

func (o ApplicationLoadBalancerOutput) ToApplicationLoadBalancerOutput() ApplicationLoadBalancerOutput

func (ApplicationLoadBalancerOutput) ToApplicationLoadBalancerOutputWithContext

func (o ApplicationLoadBalancerOutput) ToApplicationLoadBalancerOutputWithContext(ctx context.Context) ApplicationLoadBalancerOutput

func (ApplicationLoadBalancerOutput) VswitchId

The VSwitch ID to launch in. **Note:** Required for a VPC SLB. If `addressType` is internet, it will be ignored.

type ApplicationLoadBalancerState

type ApplicationLoadBalancerState struct {
	// Specify the IP address of the private network for the SLB instance, which must be in the destination CIDR block of the corresponding 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 5120, If argument `internetChargeType` is `PayByTraffic`, then this value will be ignored.
	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
	// Support `PayBySpec` (default) and `PayByCLCU`, This parameter takes effect when the value of **payment_type** (instance payment mode) is **PayAsYouGo** (pay-as-you-go).
	InstanceChargeType pulumi.StringPtrInput
	// Valid values are `PayByBandwidth`, `PayByTraffic`. If this value is `PayByBandwidth`, then argument `addressType` must be `internet`. 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
	LoadBalancerName   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 must be specified. Valid values: `slb.s1.small`, `slb.s2.small`, `slb.s2.medium`,
	// `slb.s3.small`, `slb.s3.medium`, `slb.s3.large` and `slb.s4.large`. It will be ignored when `instanceChargeType = "PayByCLCU"`.
	LoadBalancerSpec 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](https://help.aliyun.com/document_detail/27585.htm) API.
	MasterZoneId pulumi.StringPtrInput
	// The reason of modification protection. It's effective when `modificationProtectionStatus` is `ConsoleProtection`.
	ModificationProtectionReason pulumi.StringPtrInput
	// The status of modification protection. Valid values: `ConsoleProtection` and `NonProtection`. Default value is `NonProtection`.
	ModificationProtectionStatus pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.123.1 New field `loadBalancerName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead
	Name pulumi.StringPtrInput
	// The billing method of the load balancer. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
	PaymentType pulumi.StringPtrInput
	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
	// Field `specification` has been deprecated from provider version 1.123.1 New field `loadBalancerSpec` instead.
	//
	// Deprecated: Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead
	Specification pulumi.StringPtrInput
	// The status of slb load balancer. Valid values: `active` and `inactice`. The system default value is `active`.
	Status 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. **Note:** Required for a VPC SLB. If `addressType` is internet, it will be ignored.
	VswitchId pulumi.StringPtrInput
}

func (ApplicationLoadBalancerState) ElementType

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"`
}

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "slbattachmenttest"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(defaultZones.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(1),
			MemorySize:       pulumi.Float64Ref(2),
		}, nil)
		if err != nil {
			return err
		}
		defaultImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  pulumi.StringRef("^ubuntu_18.*64"),
			MostRecent: pulumi.BoolRef(true),
			Owners:     pulumi.StringRef("system"),
		}, 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"),
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "defaultSecurityGroup", &ecs.SecurityGroupArgs{
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := ecs.NewInstance(ctx, "defaultInstance", &ecs.InstanceArgs{
			ImageId:                 pulumi.String(defaultImages.Images[0].Id),
			InstanceType:            pulumi.String(defaultInstanceTypes.InstanceTypes[0].Id),
			InternetChargeType:      pulumi.String("PayByTraffic"),
			InternetMaxBandwidthOut: pulumi.Int(5),
			SystemDiskCategory:      pulumi.String("cloud_efficiency"),
			SecurityGroups: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
			InstanceName: pulumi.String(name),
			VswitchId:    defaultSwitch.ID(),
		})
		if err != nil {
			return err
		}
		defaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, "defaultApplicationLoadBalancer", &slb.ApplicationLoadBalancerArgs{
			LoadBalancerName: pulumi.String(name),
			VswitchId:        defaultSwitch.ID(),
		})
		if err != nil {
			return err
		}
		_, err = slb.NewAttachment(ctx, "defaultAttachment", &slb.AttachmentArgs{
			LoadBalancerId: defaultApplicationLoadBalancer.ID(),
			InstanceIds: pulumi.StringArray{
				defaultInstance.ID(),
			},
			Weight: pulumi.Int(90),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

func (*Attachment) ElementType() reflect.Type

func (*Attachment) ToAttachmentOutput

func (i *Attachment) ToAttachmentOutput() AttachmentOutput

func (*Attachment) ToAttachmentOutputWithContext

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

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

type AttachmentArray []AttachmentInput

func (AttachmentArray) ElementType

func (AttachmentArray) ElementType() reflect.Type

func (AttachmentArray) ToAttachmentArrayOutput

func (i AttachmentArray) ToAttachmentArrayOutput() AttachmentArrayOutput

func (AttachmentArray) ToAttachmentArrayOutputWithContext

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

type AttachmentArrayInput

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

type AttachmentArrayOutput struct{ *pulumi.OutputState }

func (AttachmentArrayOutput) ElementType

func (AttachmentArrayOutput) ElementType() reflect.Type

func (AttachmentArrayOutput) Index

func (AttachmentArrayOutput) ToAttachmentArrayOutput

func (o AttachmentArrayOutput) ToAttachmentArrayOutput() AttachmentArrayOutput

func (AttachmentArrayOutput) ToAttachmentArrayOutputWithContext

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

type AttachmentInput

type AttachmentInput interface {
	pulumi.Input

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

type AttachmentMap

type AttachmentMap map[string]AttachmentInput

func (AttachmentMap) ElementType

func (AttachmentMap) ElementType() reflect.Type

func (AttachmentMap) ToAttachmentMapOutput

func (i AttachmentMap) ToAttachmentMapOutput() AttachmentMapOutput

func (AttachmentMap) ToAttachmentMapOutputWithContext

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

type AttachmentMapInput

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

type AttachmentMapOutput struct{ *pulumi.OutputState }

func (AttachmentMapOutput) ElementType

func (AttachmentMapOutput) ElementType() reflect.Type

func (AttachmentMapOutput) MapIndex

func (AttachmentMapOutput) ToAttachmentMapOutput

func (o AttachmentMapOutput) ToAttachmentMapOutput() AttachmentMapOutput

func (AttachmentMapOutput) ToAttachmentMapOutputWithContext

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

type AttachmentOutput

type AttachmentOutput struct{ *pulumi.OutputState }

func (AttachmentOutput) BackendServers

func (o AttachmentOutput) BackendServers() pulumi.StringOutput

The backend servers of the load balancer.

func (AttachmentOutput) DeleteProtectionValidation

func (o AttachmentOutput) DeleteProtectionValidation() pulumi.BoolPtrOutput

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

func (AttachmentOutput) ElementType

func (AttachmentOutput) ElementType() reflect.Type

func (AttachmentOutput) InstanceIds

func (o AttachmentOutput) InstanceIds() pulumi.StringArrayOutput

A list of instance ids to added backend server in the SLB.

func (AttachmentOutput) LoadBalancerId

func (o AttachmentOutput) LoadBalancerId() pulumi.StringOutput

ID of the load balancer.

func (AttachmentOutput) ServerType

func (o AttachmentOutput) ServerType() pulumi.StringPtrOutput

Type of the instances. Valid value ecs, eni. Default to ecs.

func (AttachmentOutput) ToAttachmentOutput

func (o AttachmentOutput) ToAttachmentOutput() AttachmentOutput

func (AttachmentOutput) ToAttachmentOutputWithContext

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

func (AttachmentOutput) Weight

Weight of the instances. Valid value range: [0-100]. Default to 100.

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`, `eci`. Default to `ecs`. **NOTE:** From 1.170.0+, The `eci` is valid. * `serverIp` - (Optional, Computed, 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 <load_balancer_id>

```

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

func (*BackendServer) ElementType() reflect.Type

func (*BackendServer) ToBackendServerOutput

func (i *BackendServer) ToBackendServerOutput() BackendServerOutput

func (*BackendServer) ToBackendServerOutputWithContext

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

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

type BackendServerArray []BackendServerInput

func (BackendServerArray) ElementType

func (BackendServerArray) ElementType() reflect.Type

func (BackendServerArray) ToBackendServerArrayOutput

func (i BackendServerArray) ToBackendServerArrayOutput() BackendServerArrayOutput

func (BackendServerArray) ToBackendServerArrayOutputWithContext

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

type BackendServerArrayInput

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

type BackendServerArrayOutput struct{ *pulumi.OutputState }

func (BackendServerArrayOutput) ElementType

func (BackendServerArrayOutput) ElementType() reflect.Type

func (BackendServerArrayOutput) Index

func (BackendServerArrayOutput) ToBackendServerArrayOutput

func (o BackendServerArrayOutput) ToBackendServerArrayOutput() BackendServerArrayOutput

func (BackendServerArrayOutput) ToBackendServerArrayOutputWithContext

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

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

type BackendServerInput interface {
	pulumi.Input

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

type BackendServerMap

type BackendServerMap map[string]BackendServerInput

func (BackendServerMap) ElementType

func (BackendServerMap) ElementType() reflect.Type

func (BackendServerMap) ToBackendServerMapOutput

func (i BackendServerMap) ToBackendServerMapOutput() BackendServerMapOutput

func (BackendServerMap) ToBackendServerMapOutputWithContext

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

type BackendServerMapInput

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

type BackendServerMapOutput struct{ *pulumi.OutputState }

func (BackendServerMapOutput) ElementType

func (BackendServerMapOutput) ElementType() reflect.Type

func (BackendServerMapOutput) MapIndex

func (BackendServerMapOutput) ToBackendServerMapOutput

func (o BackendServerMapOutput) ToBackendServerMapOutput() BackendServerMapOutput

func (BackendServerMapOutput) ToBackendServerMapOutputWithContext

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

type BackendServerOutput

type BackendServerOutput struct{ *pulumi.OutputState }

func (BackendServerOutput) BackendServers

A list of instances to added backend server in the SLB. It contains three sub-fields as `Block server` follows.

func (BackendServerOutput) DeleteProtectionValidation

func (o BackendServerOutput) DeleteProtectionValidation() pulumi.BoolPtrOutput

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

func (BackendServerOutput) ElementType

func (BackendServerOutput) ElementType() reflect.Type

func (BackendServerOutput) LoadBalancerId

func (o BackendServerOutput) LoadBalancerId() pulumi.StringOutput

ID of the load balancer.

func (BackendServerOutput) ToBackendServerOutput

func (o BackendServerOutput) ToBackendServerOutput() BackendServerOutput

func (BackendServerOutput) ToBackendServerOutputWithContext

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

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.
	CaCertificateName pulumi.StringOutput `pulumi:"caCertificateName"`
	// Field `name` has been deprecated from provider version 1.123.1. New field `caCertificateName` instead
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'ca_certificate_name' instead
	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).

## Example Usage

* using CA certificate content

```go package main

import (

"fmt"

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := slb.NewCaCertificate(ctx, "foo", &slb.CaCertificateArgs{
			CaCertificate:     pulumi.String(fmt.Sprintf("-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJnI******90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n")),
			CaCertificateName: pulumi.String("tf-testAccSlbCACertificate"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

* using CA certificate file

```go package main

import (

"fmt"
"io/ioutil"

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := slb.NewCaCertificate(ctx, "foo-file", &slb.CaCertificateArgs{
			CaCertificateName: pulumi.String("tf-testAccSlbCACertificate"),
			CaCertificate:     readFileOrPanic(fmt.Sprintf("%v/ca_certificate.pem", path.Module)),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

func (*CaCertificate) ElementType() reflect.Type

func (*CaCertificate) ToCaCertificateOutput

func (i *CaCertificate) ToCaCertificateOutput() CaCertificateOutput

func (*CaCertificate) ToCaCertificateOutputWithContext

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

type CaCertificateArgs

type CaCertificateArgs struct {
	// the content of the CA certificate.
	CaCertificate pulumi.StringInput
	// Name of the CA Certificate.
	CaCertificateName pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.123.1. New field `caCertificateName` instead
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'ca_certificate_name' instead
	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

type CaCertificateArray []CaCertificateInput

func (CaCertificateArray) ElementType

func (CaCertificateArray) ElementType() reflect.Type

func (CaCertificateArray) ToCaCertificateArrayOutput

func (i CaCertificateArray) ToCaCertificateArrayOutput() CaCertificateArrayOutput

func (CaCertificateArray) ToCaCertificateArrayOutputWithContext

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

type CaCertificateArrayInput

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

type CaCertificateArrayOutput struct{ *pulumi.OutputState }

func (CaCertificateArrayOutput) ElementType

func (CaCertificateArrayOutput) ElementType() reflect.Type

func (CaCertificateArrayOutput) Index

func (CaCertificateArrayOutput) ToCaCertificateArrayOutput

func (o CaCertificateArrayOutput) ToCaCertificateArrayOutput() CaCertificateArrayOutput

func (CaCertificateArrayOutput) ToCaCertificateArrayOutputWithContext

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

type CaCertificateInput

type CaCertificateInput interface {
	pulumi.Input

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

type CaCertificateMap

type CaCertificateMap map[string]CaCertificateInput

func (CaCertificateMap) ElementType

func (CaCertificateMap) ElementType() reflect.Type

func (CaCertificateMap) ToCaCertificateMapOutput

func (i CaCertificateMap) ToCaCertificateMapOutput() CaCertificateMapOutput

func (CaCertificateMap) ToCaCertificateMapOutputWithContext

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

type CaCertificateMapInput

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

type CaCertificateMapOutput struct{ *pulumi.OutputState }

func (CaCertificateMapOutput) ElementType

func (CaCertificateMapOutput) ElementType() reflect.Type

func (CaCertificateMapOutput) MapIndex

func (CaCertificateMapOutput) ToCaCertificateMapOutput

func (o CaCertificateMapOutput) ToCaCertificateMapOutput() CaCertificateMapOutput

func (CaCertificateMapOutput) ToCaCertificateMapOutputWithContext

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

type CaCertificateOutput

type CaCertificateOutput struct{ *pulumi.OutputState }

func (CaCertificateOutput) CaCertificate

func (o CaCertificateOutput) CaCertificate() pulumi.StringOutput

the content of the CA certificate.

func (CaCertificateOutput) CaCertificateName

func (o CaCertificateOutput) CaCertificateName() pulumi.StringOutput

Name of the CA Certificate.

func (CaCertificateOutput) ElementType

func (CaCertificateOutput) ElementType() reflect.Type

func (CaCertificateOutput) Name deprecated

Field `name` has been deprecated from provider version 1.123.1. New field `caCertificateName` instead

Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'ca_certificate_name' instead

func (CaCertificateOutput) ResourceGroupId

func (o CaCertificateOutput) ResourceGroupId() pulumi.StringOutput

The Id of resource group which the slbCa certificate belongs.

func (CaCertificateOutput) Tags

A mapping of tags to assign to the resource.

func (CaCertificateOutput) ToCaCertificateOutput

func (o CaCertificateOutput) ToCaCertificateOutput() CaCertificateOutput

func (CaCertificateOutput) ToCaCertificateOutputWithContext

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

type CaCertificateState

type CaCertificateState struct {
	// the content of the CA certificate.
	CaCertificate pulumi.StringPtrInput
	// Name of the CA Certificate.
	CaCertificateName pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.123.1. New field `caCertificateName` instead
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'ca_certificate_name' instead
	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.

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

func (*DomainExtension) ElementType() reflect.Type

func (*DomainExtension) ToDomainExtensionOutput

func (i *DomainExtension) ToDomainExtensionOutput() DomainExtensionOutput

func (*DomainExtension) ToDomainExtensionOutputWithContext

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

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

type DomainExtensionArray []DomainExtensionInput

func (DomainExtensionArray) ElementType

func (DomainExtensionArray) ElementType() reflect.Type

func (DomainExtensionArray) ToDomainExtensionArrayOutput

func (i DomainExtensionArray) ToDomainExtensionArrayOutput() DomainExtensionArrayOutput

func (DomainExtensionArray) ToDomainExtensionArrayOutputWithContext

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

type DomainExtensionArrayInput

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

type DomainExtensionArrayOutput struct{ *pulumi.OutputState }

func (DomainExtensionArrayOutput) ElementType

func (DomainExtensionArrayOutput) ElementType() reflect.Type

func (DomainExtensionArrayOutput) Index

func (DomainExtensionArrayOutput) ToDomainExtensionArrayOutput

func (o DomainExtensionArrayOutput) ToDomainExtensionArrayOutput() DomainExtensionArrayOutput

func (DomainExtensionArrayOutput) ToDomainExtensionArrayOutputWithContext

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

type DomainExtensionInput

type DomainExtensionInput interface {
	pulumi.Input

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

type DomainExtensionMap

type DomainExtensionMap map[string]DomainExtensionInput

func (DomainExtensionMap) ElementType

func (DomainExtensionMap) ElementType() reflect.Type

func (DomainExtensionMap) ToDomainExtensionMapOutput

func (i DomainExtensionMap) ToDomainExtensionMapOutput() DomainExtensionMapOutput

func (DomainExtensionMap) ToDomainExtensionMapOutputWithContext

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

type DomainExtensionMapInput

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

type DomainExtensionMapOutput struct{ *pulumi.OutputState }

func (DomainExtensionMapOutput) ElementType

func (DomainExtensionMapOutput) ElementType() reflect.Type

func (DomainExtensionMapOutput) MapIndex

func (DomainExtensionMapOutput) ToDomainExtensionMapOutput

func (o DomainExtensionMapOutput) ToDomainExtensionMapOutput() DomainExtensionMapOutput

func (DomainExtensionMapOutput) ToDomainExtensionMapOutputWithContext

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

type DomainExtensionOutput

type DomainExtensionOutput struct{ *pulumi.OutputState }

func (DomainExtensionOutput) DeleteProtectionValidation

func (o DomainExtensionOutput) DeleteProtectionValidation() pulumi.BoolPtrOutput

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

func (DomainExtensionOutput) Domain

The domain name.

func (DomainExtensionOutput) ElementType

func (DomainExtensionOutput) ElementType() reflect.Type

func (DomainExtensionOutput) FrontendPort

func (o DomainExtensionOutput) FrontendPort() pulumi.IntOutput

The frontend port used by the HTTPS listener of the SLB instance. Valid values: 1–65535.

func (DomainExtensionOutput) LoadBalancerId

func (o DomainExtensionOutput) LoadBalancerId() pulumi.StringOutput

The ID of the SLB instance.

func (DomainExtensionOutput) ServerCertificateId

func (o DomainExtensionOutput) ServerCertificateId() pulumi.StringOutput

The ID of the certificate used by the domain name.

func (DomainExtensionOutput) ToDomainExtensionOutput

func (o DomainExtensionOutput) ToDomainExtensionOutput() DomainExtensionOutput

func (DomainExtensionOutput) ToDomainExtensionOutputWithContext

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

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 GetAclsOutputArgs

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

A collection of arguments for invoking getAcls.

func (GetAclsOutputArgs) ElementType

func (GetAclsOutputArgs) ElementType() reflect.Type

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/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

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 GetAclsResultOutput

type GetAclsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAcls.

func (GetAclsResultOutput) Acls

A list of SLB acls. Each element contains the following attributes:

func (GetAclsResultOutput) ElementType

func (GetAclsResultOutput) ElementType() reflect.Type

func (GetAclsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetAclsResultOutput) Ids

A list of SLB acls IDs.

func (GetAclsResultOutput) NameRegex

func (GetAclsResultOutput) Names

A list of SLB acls names.

func (GetAclsResultOutput) OutputFile

func (GetAclsResultOutput) ResourceGroupId

func (o GetAclsResultOutput) ResourceGroupId() pulumi.StringPtrOutput

Resource group ID.

func (GetAclsResultOutput) Tags

A mapping of tags to assign to the resource.

func (GetAclsResultOutput) ToGetAclsResultOutput

func (o GetAclsResultOutput) ToGetAclsResultOutput() GetAclsResultOutput

func (GetAclsResultOutput) ToGetAclsResultOutputWithContext

func (o GetAclsResultOutput) ToGetAclsResultOutputWithContext(ctx context.Context) GetAclsResultOutput

type GetApplicationLoadBalancersArgs

type GetApplicationLoadBalancersArgs struct {
	// Service address of the SLBs.
	Address *string `pulumi:"address"`
	// The address ip version. Valid values `ipv4` and `ipv6`.
	AddressIpVersion *string `pulumi:"addressIpVersion"`
	// The address type of the SLB. Valid values `internet` and `intranet`.
	AddressType   *string `pulumi:"addressType"`
	EnableDetails *bool   `pulumi:"enableDetails"`
	// A list of SLBs IDs.
	Ids []string `pulumi:"ids"`
	// The internet charge type. Valid values `PayByBandwidth` and `PayByTraffic`.
	InternetChargeType *string `pulumi:"internetChargeType"`
	// The name of the SLB.
	LoadBalancerName *string `pulumi:"loadBalancerName"`
	// The master zone id of the SLB.
	MasterZoneId *string `pulumi:"masterZoneId"`
	// 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"`
	PageNumber  *int    `pulumi:"pageNumber"`
	PageSize    *int    `pulumi:"pageSize"`
	// The payment type of SLB. Valid values `PayAsYouGo` and `Subscription`.
	PaymentType *string `pulumi:"paymentType"`
	// The Id of resource group which SLB belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The server ID.
	ServerId *string `pulumi:"serverId"`
	// The server intranet address.
	ServerIntranetAddress *string `pulumi:"serverIntranetAddress"`
	// The slave zone id of the SLB.
	SlaveZoneId *string `pulumi:"slaveZoneId"`
	// 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:
	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 getApplicationLoadBalancers.

type GetApplicationLoadBalancersBalancer

type GetApplicationLoadBalancersBalancer struct {
	// Service address of the SLBs.
	Address string `pulumi:"address"`
	// The address ip version. Valid values `ipv4` and `ipv6`.
	AddressIpVersion string `pulumi:"addressIpVersion"`
	// The address type of the SLB. Valid values `internet` and `intranet`.
	AddressType string `pulumi:"addressType"`
	// The auto release time.
	AutoReleaseTime int `pulumi:"autoReleaseTime"`
	// The backend servers of the SLB.
	BackendServers []GetApplicationLoadBalancersBalancerBackendServer `pulumi:"backendServers"`
	// The bandwidth of the SLB.
	Bandwidth int `pulumi:"bandwidth"`
	// The create time stamp of the SLB.
	CreateTimeStamp int `pulumi:"createTimeStamp"`
	// Whether the SLB should delete protection.
	DeleteProtection string `pulumi:"deleteProtection"`
	// The end time of the SLB.
	EndTime string `pulumi:"endTime"`
	// The end time stamp of the SLB.
	EndTimeStamp int `pulumi:"endTimeStamp"`
	// ID of the SLB.
	Id string `pulumi:"id"`
	// The internet charge type. Valid values `PayByBandwidth` and `PayByTraffic`.
	InternetChargeType string `pulumi:"internetChargeType"`
	// The listener ports and protocal of the SLB.
	ListenerPortsAndProtocals []GetApplicationLoadBalancersBalancerListenerPortsAndProtocal `pulumi:"listenerPortsAndProtocals"`
	// The listener ports and protocol of the SLB.
	ListenerPortsAndProtocols []GetApplicationLoadBalancersBalancerListenerPortsAndProtocol `pulumi:"listenerPortsAndProtocols"`
	// Thd ID of the SLB.
	LoadBalancerId string `pulumi:"loadBalancerId"`
	// The name of the SLB.
	LoadBalancerName string `pulumi:"loadBalancerName"`
	// The specification of the SLB.
	LoadBalancerSpec string `pulumi:"loadBalancerSpec"`
	// The master zone id of the SLB.
	MasterZoneId string `pulumi:"masterZoneId"`
	// The reason of modification protection.
	ModificationProtectionReason string `pulumi:"modificationProtectionReason"`
	// The status of modification protection.
	ModificationProtectionStatus string `pulumi:"modificationProtectionStatus"`
	// Network type of the SLBs. Valid values: `vpc` and `classic`.
	NetworkType string `pulumi:"networkType"`
	// The payment type of SLB. Valid values `PayAsYouGo` and `Subscription`.
	PaymentType string `pulumi:"paymentType"`
	// Region ID the SLB belongs to.
	RegionIdAlias string `pulumi:"regionIdAlias"`
	// The renewal cyc unit of the SLB.
	RenewalCycUnit string `pulumi:"renewalCycUnit"`
	// The renewal duration of the SLB.
	RenewalDuration int `pulumi:"renewalDuration"`
	// The renewal status of the SLB.
	RenewalStatus string `pulumi:"renewalStatus"`
	// The Id of resource group which SLB belongs.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// The slave zone id of the SLB.
	SlaveZoneId string `pulumi:"slaveZoneId"`
	// 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:
	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 GetApplicationLoadBalancersBalancerArgs

type GetApplicationLoadBalancersBalancerArgs struct {
	// Service address of the SLBs.
	Address pulumi.StringInput `pulumi:"address"`
	// The address ip version. Valid values `ipv4` and `ipv6`.
	AddressIpVersion pulumi.StringInput `pulumi:"addressIpVersion"`
	// The address type of the SLB. Valid values `internet` and `intranet`.
	AddressType pulumi.StringInput `pulumi:"addressType"`
	// The auto release time.
	AutoReleaseTime pulumi.IntInput `pulumi:"autoReleaseTime"`
	// The backend servers of the SLB.
	BackendServers GetApplicationLoadBalancersBalancerBackendServerArrayInput `pulumi:"backendServers"`
	// The bandwidth of the SLB.
	Bandwidth pulumi.IntInput `pulumi:"bandwidth"`
	// The create time stamp of the SLB.
	CreateTimeStamp pulumi.IntInput `pulumi:"createTimeStamp"`
	// Whether the SLB should delete protection.
	DeleteProtection pulumi.StringInput `pulumi:"deleteProtection"`
	// The end time of the SLB.
	EndTime pulumi.StringInput `pulumi:"endTime"`
	// The end time stamp of the SLB.
	EndTimeStamp pulumi.IntInput `pulumi:"endTimeStamp"`
	// ID of the SLB.
	Id pulumi.StringInput `pulumi:"id"`
	// The internet charge type. Valid values `PayByBandwidth` and `PayByTraffic`.
	InternetChargeType pulumi.StringInput `pulumi:"internetChargeType"`
	// The listener ports and protocal of the SLB.
	ListenerPortsAndProtocals GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayInput `pulumi:"listenerPortsAndProtocals"`
	// The listener ports and protocol of the SLB.
	ListenerPortsAndProtocols GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayInput `pulumi:"listenerPortsAndProtocols"`
	// Thd ID of the SLB.
	LoadBalancerId pulumi.StringInput `pulumi:"loadBalancerId"`
	// The name of the SLB.
	LoadBalancerName pulumi.StringInput `pulumi:"loadBalancerName"`
	// The specification of the SLB.
	LoadBalancerSpec pulumi.StringInput `pulumi:"loadBalancerSpec"`
	// The master zone id of the SLB.
	MasterZoneId pulumi.StringInput `pulumi:"masterZoneId"`
	// The reason of modification protection.
	ModificationProtectionReason pulumi.StringInput `pulumi:"modificationProtectionReason"`
	// The status of modification protection.
	ModificationProtectionStatus pulumi.StringInput `pulumi:"modificationProtectionStatus"`
	// Network type of the SLBs. Valid values: `vpc` and `classic`.
	NetworkType pulumi.StringInput `pulumi:"networkType"`
	// The payment type of SLB. Valid values `PayAsYouGo` and `Subscription`.
	PaymentType pulumi.StringInput `pulumi:"paymentType"`
	// Region ID the SLB belongs to.
	RegionIdAlias pulumi.StringInput `pulumi:"regionIdAlias"`
	// The renewal cyc unit of the SLB.
	RenewalCycUnit pulumi.StringInput `pulumi:"renewalCycUnit"`
	// The renewal duration of the SLB.
	RenewalDuration pulumi.IntInput `pulumi:"renewalDuration"`
	// The renewal status of the SLB.
	RenewalStatus pulumi.StringInput `pulumi:"renewalStatus"`
	// The Id of resource group which SLB belongs.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// The slave zone id of the SLB.
	SlaveZoneId pulumi.StringInput `pulumi:"slaveZoneId"`
	// 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:
	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 (GetApplicationLoadBalancersBalancerArgs) ElementType

func (GetApplicationLoadBalancersBalancerArgs) ToGetApplicationLoadBalancersBalancerOutput

func (i GetApplicationLoadBalancersBalancerArgs) ToGetApplicationLoadBalancersBalancerOutput() GetApplicationLoadBalancersBalancerOutput

func (GetApplicationLoadBalancersBalancerArgs) ToGetApplicationLoadBalancersBalancerOutputWithContext

func (i GetApplicationLoadBalancersBalancerArgs) ToGetApplicationLoadBalancersBalancerOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerOutput

type GetApplicationLoadBalancersBalancerArray

type GetApplicationLoadBalancersBalancerArray []GetApplicationLoadBalancersBalancerInput

func (GetApplicationLoadBalancersBalancerArray) ElementType

func (GetApplicationLoadBalancersBalancerArray) ToGetApplicationLoadBalancersBalancerArrayOutput

func (i GetApplicationLoadBalancersBalancerArray) ToGetApplicationLoadBalancersBalancerArrayOutput() GetApplicationLoadBalancersBalancerArrayOutput

func (GetApplicationLoadBalancersBalancerArray) ToGetApplicationLoadBalancersBalancerArrayOutputWithContext

func (i GetApplicationLoadBalancersBalancerArray) ToGetApplicationLoadBalancersBalancerArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerArrayOutput

type GetApplicationLoadBalancersBalancerArrayInput

type GetApplicationLoadBalancersBalancerArrayInput interface {
	pulumi.Input

	ToGetApplicationLoadBalancersBalancerArrayOutput() GetApplicationLoadBalancersBalancerArrayOutput
	ToGetApplicationLoadBalancersBalancerArrayOutputWithContext(context.Context) GetApplicationLoadBalancersBalancerArrayOutput
}

GetApplicationLoadBalancersBalancerArrayInput is an input type that accepts GetApplicationLoadBalancersBalancerArray and GetApplicationLoadBalancersBalancerArrayOutput values. You can construct a concrete instance of `GetApplicationLoadBalancersBalancerArrayInput` via:

GetApplicationLoadBalancersBalancerArray{ GetApplicationLoadBalancersBalancerArgs{...} }

type GetApplicationLoadBalancersBalancerArrayOutput

type GetApplicationLoadBalancersBalancerArrayOutput struct{ *pulumi.OutputState }

func (GetApplicationLoadBalancersBalancerArrayOutput) ElementType

func (GetApplicationLoadBalancersBalancerArrayOutput) Index

func (GetApplicationLoadBalancersBalancerArrayOutput) ToGetApplicationLoadBalancersBalancerArrayOutput

func (o GetApplicationLoadBalancersBalancerArrayOutput) ToGetApplicationLoadBalancersBalancerArrayOutput() GetApplicationLoadBalancersBalancerArrayOutput

func (GetApplicationLoadBalancersBalancerArrayOutput) ToGetApplicationLoadBalancersBalancerArrayOutputWithContext

func (o GetApplicationLoadBalancersBalancerArrayOutput) ToGetApplicationLoadBalancersBalancerArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerArrayOutput

type GetApplicationLoadBalancersBalancerBackendServer

type GetApplicationLoadBalancersBalancerBackendServer struct {
	// The description of protocol.
	Description string `pulumi:"description"`
	// The server ID.
	ServerId string `pulumi:"serverId"`
	// The type of servers.
	Type string `pulumi:"type"`
	// The weight of servers.
	Weight int `pulumi:"weight"`
}

type GetApplicationLoadBalancersBalancerBackendServerArgs

type GetApplicationLoadBalancersBalancerBackendServerArgs struct {
	// The description of protocol.
	Description pulumi.StringInput `pulumi:"description"`
	// The server ID.
	ServerId pulumi.StringInput `pulumi:"serverId"`
	// The type of servers.
	Type pulumi.StringInput `pulumi:"type"`
	// The weight of servers.
	Weight pulumi.IntInput `pulumi:"weight"`
}

func (GetApplicationLoadBalancersBalancerBackendServerArgs) ElementType

func (GetApplicationLoadBalancersBalancerBackendServerArgs) ToGetApplicationLoadBalancersBalancerBackendServerOutput

func (i GetApplicationLoadBalancersBalancerBackendServerArgs) ToGetApplicationLoadBalancersBalancerBackendServerOutput() GetApplicationLoadBalancersBalancerBackendServerOutput

func (GetApplicationLoadBalancersBalancerBackendServerArgs) ToGetApplicationLoadBalancersBalancerBackendServerOutputWithContext

func (i GetApplicationLoadBalancersBalancerBackendServerArgs) ToGetApplicationLoadBalancersBalancerBackendServerOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerBackendServerOutput

type GetApplicationLoadBalancersBalancerBackendServerArray

type GetApplicationLoadBalancersBalancerBackendServerArray []GetApplicationLoadBalancersBalancerBackendServerInput

func (GetApplicationLoadBalancersBalancerBackendServerArray) ElementType

func (GetApplicationLoadBalancersBalancerBackendServerArray) ToGetApplicationLoadBalancersBalancerBackendServerArrayOutput

func (i GetApplicationLoadBalancersBalancerBackendServerArray) ToGetApplicationLoadBalancersBalancerBackendServerArrayOutput() GetApplicationLoadBalancersBalancerBackendServerArrayOutput

func (GetApplicationLoadBalancersBalancerBackendServerArray) ToGetApplicationLoadBalancersBalancerBackendServerArrayOutputWithContext

func (i GetApplicationLoadBalancersBalancerBackendServerArray) ToGetApplicationLoadBalancersBalancerBackendServerArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerBackendServerArrayOutput

type GetApplicationLoadBalancersBalancerBackendServerArrayInput

type GetApplicationLoadBalancersBalancerBackendServerArrayInput interface {
	pulumi.Input

	ToGetApplicationLoadBalancersBalancerBackendServerArrayOutput() GetApplicationLoadBalancersBalancerBackendServerArrayOutput
	ToGetApplicationLoadBalancersBalancerBackendServerArrayOutputWithContext(context.Context) GetApplicationLoadBalancersBalancerBackendServerArrayOutput
}

GetApplicationLoadBalancersBalancerBackendServerArrayInput is an input type that accepts GetApplicationLoadBalancersBalancerBackendServerArray and GetApplicationLoadBalancersBalancerBackendServerArrayOutput values. You can construct a concrete instance of `GetApplicationLoadBalancersBalancerBackendServerArrayInput` via:

GetApplicationLoadBalancersBalancerBackendServerArray{ GetApplicationLoadBalancersBalancerBackendServerArgs{...} }

type GetApplicationLoadBalancersBalancerBackendServerArrayOutput

type GetApplicationLoadBalancersBalancerBackendServerArrayOutput struct{ *pulumi.OutputState }

func (GetApplicationLoadBalancersBalancerBackendServerArrayOutput) ElementType

func (GetApplicationLoadBalancersBalancerBackendServerArrayOutput) Index

func (GetApplicationLoadBalancersBalancerBackendServerArrayOutput) ToGetApplicationLoadBalancersBalancerBackendServerArrayOutput

func (GetApplicationLoadBalancersBalancerBackendServerArrayOutput) ToGetApplicationLoadBalancersBalancerBackendServerArrayOutputWithContext

func (o GetApplicationLoadBalancersBalancerBackendServerArrayOutput) ToGetApplicationLoadBalancersBalancerBackendServerArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerBackendServerArrayOutput

type GetApplicationLoadBalancersBalancerBackendServerInput

type GetApplicationLoadBalancersBalancerBackendServerInput interface {
	pulumi.Input

	ToGetApplicationLoadBalancersBalancerBackendServerOutput() GetApplicationLoadBalancersBalancerBackendServerOutput
	ToGetApplicationLoadBalancersBalancerBackendServerOutputWithContext(context.Context) GetApplicationLoadBalancersBalancerBackendServerOutput
}

GetApplicationLoadBalancersBalancerBackendServerInput is an input type that accepts GetApplicationLoadBalancersBalancerBackendServerArgs and GetApplicationLoadBalancersBalancerBackendServerOutput values. You can construct a concrete instance of `GetApplicationLoadBalancersBalancerBackendServerInput` via:

GetApplicationLoadBalancersBalancerBackendServerArgs{...}

type GetApplicationLoadBalancersBalancerBackendServerOutput

type GetApplicationLoadBalancersBalancerBackendServerOutput struct{ *pulumi.OutputState }

func (GetApplicationLoadBalancersBalancerBackendServerOutput) Description

The description of protocol.

func (GetApplicationLoadBalancersBalancerBackendServerOutput) ElementType

func (GetApplicationLoadBalancersBalancerBackendServerOutput) ServerId

The server ID.

func (GetApplicationLoadBalancersBalancerBackendServerOutput) ToGetApplicationLoadBalancersBalancerBackendServerOutput

func (GetApplicationLoadBalancersBalancerBackendServerOutput) ToGetApplicationLoadBalancersBalancerBackendServerOutputWithContext

func (o GetApplicationLoadBalancersBalancerBackendServerOutput) ToGetApplicationLoadBalancersBalancerBackendServerOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerBackendServerOutput

func (GetApplicationLoadBalancersBalancerBackendServerOutput) Type

The type of servers.

func (GetApplicationLoadBalancersBalancerBackendServerOutput) Weight

The weight of servers.

type GetApplicationLoadBalancersBalancerInput

type GetApplicationLoadBalancersBalancerInput interface {
	pulumi.Input

	ToGetApplicationLoadBalancersBalancerOutput() GetApplicationLoadBalancersBalancerOutput
	ToGetApplicationLoadBalancersBalancerOutputWithContext(context.Context) GetApplicationLoadBalancersBalancerOutput
}

GetApplicationLoadBalancersBalancerInput is an input type that accepts GetApplicationLoadBalancersBalancerArgs and GetApplicationLoadBalancersBalancerOutput values. You can construct a concrete instance of `GetApplicationLoadBalancersBalancerInput` via:

GetApplicationLoadBalancersBalancerArgs{...}

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocal

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocal struct {
	// The listener port.
	ListenerPort int `pulumi:"listenerPort"`
	// The listener protoal.
	ListenerProtocal string `pulumi:"listenerProtocal"`
}

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArgs

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArgs struct {
	// The listener port.
	ListenerPort pulumi.IntInput `pulumi:"listenerPort"`
	// The listener protoal.
	ListenerProtocal pulumi.StringInput `pulumi:"listenerProtocal"`
}

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArgs) ElementType

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArgs) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArgs) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutputWithContext

func (i GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArgs) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArray

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArray []GetApplicationLoadBalancersBalancerListenerPortsAndProtocalInput

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArray) ElementType

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArray) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArray) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutputWithContext

func (i GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArray) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayInput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayInput interface {
	pulumi.Input

	ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput() GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput
	ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutputWithContext(context.Context) GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput
}

GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayInput is an input type that accepts GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArray and GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput values. You can construct a concrete instance of `GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayInput` via:

GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArray{ GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArgs{...} }

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput struct{ *pulumi.OutputState }

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput) ElementType

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutputWithContext

func (o GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArrayOutput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocalInput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocalInput interface {
	pulumi.Input

	ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput() GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput
	ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutputWithContext(context.Context) GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput
}

GetApplicationLoadBalancersBalancerListenerPortsAndProtocalInput is an input type that accepts GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArgs and GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput values. You can construct a concrete instance of `GetApplicationLoadBalancersBalancerListenerPortsAndProtocalInput` via:

GetApplicationLoadBalancersBalancerListenerPortsAndProtocalArgs{...}

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput struct{ *pulumi.OutputState }

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput) ElementType

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput) ListenerPort

The listener port.

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput) ListenerProtocal

The listener protoal.

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutputWithContext

func (o GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerListenerPortsAndProtocalOutput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocol

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocol struct {
	// The description of protocol.
	Description string `pulumi:"description"`
	// The forward port.
	ForwardPort int `pulumi:"forwardPort"`
	// The listener forward.
	ListenerForward string `pulumi:"listenerForward"`
	// The listener port.
	ListenerPort int `pulumi:"listenerPort"`
	// The listener protocol.
	ListenerProtocol string `pulumi:"listenerProtocol"`
}

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArgs

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArgs struct {
	// The description of protocol.
	Description pulumi.StringInput `pulumi:"description"`
	// The forward port.
	ForwardPort pulumi.IntInput `pulumi:"forwardPort"`
	// The listener forward.
	ListenerForward pulumi.StringInput `pulumi:"listenerForward"`
	// The listener port.
	ListenerPort pulumi.IntInput `pulumi:"listenerPort"`
	// The listener protocol.
	ListenerProtocol pulumi.StringInput `pulumi:"listenerProtocol"`
}

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArgs) ElementType

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArgs) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArgs) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutputWithContext

func (i GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArgs) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArray

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArray []GetApplicationLoadBalancersBalancerListenerPortsAndProtocolInput

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArray) ElementType

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArray) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArray) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutputWithContext

func (i GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArray) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayInput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayInput interface {
	pulumi.Input

	ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput() GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput
	ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutputWithContext(context.Context) GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput
}

GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayInput is an input type that accepts GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArray and GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput values. You can construct a concrete instance of `GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayInput` via:

GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArray{ GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArgs{...} }

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput struct{ *pulumi.OutputState }

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput) ElementType

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutputWithContext

func (o GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArrayOutput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocolInput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocolInput interface {
	pulumi.Input

	ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput() GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput
	ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutputWithContext(context.Context) GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput
}

GetApplicationLoadBalancersBalancerListenerPortsAndProtocolInput is an input type that accepts GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArgs and GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput values. You can construct a concrete instance of `GetApplicationLoadBalancersBalancerListenerPortsAndProtocolInput` via:

GetApplicationLoadBalancersBalancerListenerPortsAndProtocolArgs{...}

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput

type GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput struct{ *pulumi.OutputState }

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput) Description

The description of protocol.

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput) ElementType

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput) ForwardPort

The forward port.

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput) ListenerForward

The listener forward.

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput) ListenerPort

The listener port.

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput) ListenerProtocol

The listener protocol.

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput

func (GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutputWithContext

func (o GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput) ToGetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerListenerPortsAndProtocolOutput

type GetApplicationLoadBalancersBalancerOutput

type GetApplicationLoadBalancersBalancerOutput struct{ *pulumi.OutputState }

func (GetApplicationLoadBalancersBalancerOutput) Address

Service address of the SLBs.

func (GetApplicationLoadBalancersBalancerOutput) AddressIpVersion

The address ip version. Valid values `ipv4` and `ipv6`.

func (GetApplicationLoadBalancersBalancerOutput) AddressType

The address type of the SLB. Valid values `internet` and `intranet`.

func (GetApplicationLoadBalancersBalancerOutput) AutoReleaseTime

The auto release time.

func (GetApplicationLoadBalancersBalancerOutput) BackendServers

The backend servers of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) Bandwidth

The bandwidth of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) CreateTimeStamp

The create time stamp of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) DeleteProtection

Whether the SLB should delete protection.

func (GetApplicationLoadBalancersBalancerOutput) ElementType

func (GetApplicationLoadBalancersBalancerOutput) EndTime

The end time of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) EndTimeStamp

The end time stamp of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) Id

ID of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) InternetChargeType

The internet charge type. Valid values `PayByBandwidth` and `PayByTraffic`.

func (GetApplicationLoadBalancersBalancerOutput) ListenerPortsAndProtocals

The listener ports and protocal of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) ListenerPortsAndProtocols

The listener ports and protocol of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) LoadBalancerId

Thd ID of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) LoadBalancerName

The name of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) LoadBalancerSpec

The specification of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) MasterZoneId

The master zone id of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) ModificationProtectionReason

func (o GetApplicationLoadBalancersBalancerOutput) ModificationProtectionReason() pulumi.StringOutput

The reason of modification protection.

func (GetApplicationLoadBalancersBalancerOutput) ModificationProtectionStatus

func (o GetApplicationLoadBalancersBalancerOutput) ModificationProtectionStatus() pulumi.StringOutput

The status of modification protection.

func (GetApplicationLoadBalancersBalancerOutput) NetworkType

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

func (GetApplicationLoadBalancersBalancerOutput) PaymentType

The payment type of SLB. Valid values `PayAsYouGo` and `Subscription`.

func (GetApplicationLoadBalancersBalancerOutput) RegionIdAlias

Region ID the SLB belongs to.

func (GetApplicationLoadBalancersBalancerOutput) RenewalCycUnit

The renewal cyc unit of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) RenewalDuration

The renewal duration of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) RenewalStatus

The renewal status of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) ResourceGroupId

The Id of resource group which SLB belongs.

func (GetApplicationLoadBalancersBalancerOutput) SlaveZoneId

The slave zone id of the SLB.

func (GetApplicationLoadBalancersBalancerOutput) Status

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

func (GetApplicationLoadBalancersBalancerOutput) 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:

func (GetApplicationLoadBalancersBalancerOutput) ToGetApplicationLoadBalancersBalancerOutput

func (o GetApplicationLoadBalancersBalancerOutput) ToGetApplicationLoadBalancersBalancerOutput() GetApplicationLoadBalancersBalancerOutput

func (GetApplicationLoadBalancersBalancerOutput) ToGetApplicationLoadBalancersBalancerOutputWithContext

func (o GetApplicationLoadBalancersBalancerOutput) ToGetApplicationLoadBalancersBalancerOutputWithContext(ctx context.Context) GetApplicationLoadBalancersBalancerOutput

func (GetApplicationLoadBalancersBalancerOutput) VpcId

ID of the VPC linked to the SLBs.

func (GetApplicationLoadBalancersBalancerOutput) VswitchId

ID of the VSwitch linked to the SLBs.

type GetApplicationLoadBalancersOutputArgs

type GetApplicationLoadBalancersOutputArgs struct {
	// Service address of the SLBs.
	Address pulumi.StringPtrInput `pulumi:"address"`
	// The address ip version. Valid values `ipv4` and `ipv6`.
	AddressIpVersion pulumi.StringPtrInput `pulumi:"addressIpVersion"`
	// The address type of the SLB. Valid values `internet` and `intranet`.
	AddressType   pulumi.StringPtrInput `pulumi:"addressType"`
	EnableDetails pulumi.BoolPtrInput   `pulumi:"enableDetails"`
	// A list of SLBs IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The internet charge type. Valid values `PayByBandwidth` and `PayByTraffic`.
	InternetChargeType pulumi.StringPtrInput `pulumi:"internetChargeType"`
	// The name of the SLB.
	LoadBalancerName pulumi.StringPtrInput `pulumi:"loadBalancerName"`
	// The master zone id of the SLB.
	MasterZoneId pulumi.StringPtrInput `pulumi:"masterZoneId"`
	// A regex string to filter results by SLB name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// Network type of the SLBs. Valid values: `vpc` and `classic`.
	NetworkType pulumi.StringPtrInput `pulumi:"networkType"`
	OutputFile  pulumi.StringPtrInput `pulumi:"outputFile"`
	PageNumber  pulumi.IntPtrInput    `pulumi:"pageNumber"`
	PageSize    pulumi.IntPtrInput    `pulumi:"pageSize"`
	// The payment type of SLB. Valid values `PayAsYouGo` and `Subscription`.
	PaymentType pulumi.StringPtrInput `pulumi:"paymentType"`
	// The Id of resource group which SLB belongs.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The server ID.
	ServerId pulumi.StringPtrInput `pulumi:"serverId"`
	// The server intranet address.
	ServerIntranetAddress pulumi.StringPtrInput `pulumi:"serverIntranetAddress"`
	// The slave zone id of the SLB.
	SlaveZoneId pulumi.StringPtrInput `pulumi:"slaveZoneId"`
	// SLB current status. Possible values: `inactive`, `active` and `locked`.
	Status pulumi.StringPtrInput `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:
	Tags pulumi.MapInput `pulumi:"tags"`
	// ID of the VPC linked to the SLBs.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
	// ID of the VSwitch linked to the SLBs.
	VswitchId pulumi.StringPtrInput `pulumi:"vswitchId"`
}

A collection of arguments for invoking getApplicationLoadBalancers.

func (GetApplicationLoadBalancersOutputArgs) ElementType

type GetApplicationLoadBalancersResult

type GetApplicationLoadBalancersResult struct {
	// The IP address that the SLB instance uses to provide services.
	Address *string `pulumi:"address"`
	// The address ip version.
	AddressIpVersion *string `pulumi:"addressIpVersion"`
	// The address type.
	AddressType *string `pulumi:"addressType"`
	// A list of SLBs. Each element contains the following attributes:
	Balancers     []GetApplicationLoadBalancersBalancer `pulumi:"balancers"`
	EnableDetails *bool                                 `pulumi:"enableDetails"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of slb IDs.
	Ids []string `pulumi:"ids"`
	// The billing method of the Internet-facing SLB instance.
	InternetChargeType *string `pulumi:"internetChargeType"`
	// The name of the SLB.
	LoadBalancerName *string `pulumi:"loadBalancerName"`
	// Master availability zone of the SLBs.
	MasterZoneId *string `pulumi:"masterZoneId"`
	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"`
	PageNumber  *int    `pulumi:"pageNumber"`
	PageSize    *int    `pulumi:"pageSize"`
	PaymentType *string `pulumi:"paymentType"`
	// The ID of the resource group.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The ID of the Elastic Compute Service (ECS) instance that is specified as a backend server of the CLB instance.
	ServerId              *string `pulumi:"serverId"`
	ServerIntranetAddress *string `pulumi:"serverIntranetAddress"`
	// Slave availability zone of the SLBs.
	SlaveZoneId *string `pulumi:"slaveZoneId"`
	// Deprecated: Field 'slbs' has deprecated from v1.123.1 and replace by 'balancers'.
	Slbs []GetApplicationLoadBalancersSlb `pulumi:"slbs"`
	// SLB current status. Possible values: `inactive`, `active` and `locked`.
	Status *string `pulumi:"status"`
	// The tags of the SLB.
	Tags       map[string]interface{} `pulumi:"tags"`
	TotalCount int                    `pulumi:"totalCount"`
	// 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 getApplicationLoadBalancers.

func GetApplicationLoadBalancers

func GetApplicationLoadBalancers(ctx *pulumi.Context, args *GetApplicationLoadBalancersArgs, opts ...pulumi.InvokeOption) (*GetApplicationLoadBalancersResult, error)

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

> **NOTE:** Available in 1.123.1+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := slb.GetApplicationLoadBalancers(ctx, &slb.GetApplicationLoadBalancersArgs{
			NameRegex: pulumi.StringRef("sample_slb"),
			Tags: map[string]interface{}{
				"tagKey1": "tagValue1",
				"tagKey2": "tagValue2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstSlbId", example.Balancers[0].Id)
		return nil
	})
}

```

type GetApplicationLoadBalancersResultOutput

type GetApplicationLoadBalancersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getApplicationLoadBalancers.

func (GetApplicationLoadBalancersResultOutput) Address

The IP address that the SLB instance uses to provide services.

func (GetApplicationLoadBalancersResultOutput) AddressIpVersion

The address ip version.

func (GetApplicationLoadBalancersResultOutput) AddressType

The address type.

func (GetApplicationLoadBalancersResultOutput) Balancers

A list of SLBs. Each element contains the following attributes:

func (GetApplicationLoadBalancersResultOutput) ElementType

func (GetApplicationLoadBalancersResultOutput) EnableDetails

func (GetApplicationLoadBalancersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetApplicationLoadBalancersResultOutput) Ids

A list of slb IDs.

func (GetApplicationLoadBalancersResultOutput) InternetChargeType

The billing method of the Internet-facing SLB instance.

func (GetApplicationLoadBalancersResultOutput) LoadBalancerName

The name of the SLB.

func (GetApplicationLoadBalancersResultOutput) MasterZoneId

Master availability zone of the SLBs.

func (GetApplicationLoadBalancersResultOutput) NameRegex

func (GetApplicationLoadBalancersResultOutput) Names

A list of slb names.

func (GetApplicationLoadBalancersResultOutput) NetworkType

Network type of the SLB. Possible values: `vpc` and `classic`.

func (GetApplicationLoadBalancersResultOutput) OutputFile

func (GetApplicationLoadBalancersResultOutput) PageNumber

func (GetApplicationLoadBalancersResultOutput) PageSize

func (GetApplicationLoadBalancersResultOutput) PaymentType

func (GetApplicationLoadBalancersResultOutput) ResourceGroupId

The ID of the resource group.

func (GetApplicationLoadBalancersResultOutput) ServerId

The ID of the Elastic Compute Service (ECS) instance that is specified as a backend server of the CLB instance.

func (GetApplicationLoadBalancersResultOutput) ServerIntranetAddress

func (GetApplicationLoadBalancersResultOutput) SlaveZoneId

Slave availability zone of the SLBs.

func (GetApplicationLoadBalancersResultOutput) Slbs deprecated

Deprecated: Field 'slbs' has deprecated from v1.123.1 and replace by 'balancers'.

func (GetApplicationLoadBalancersResultOutput) Status

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

func (GetApplicationLoadBalancersResultOutput) Tags

The tags of the SLB.

func (GetApplicationLoadBalancersResultOutput) ToGetApplicationLoadBalancersResultOutput

func (o GetApplicationLoadBalancersResultOutput) ToGetApplicationLoadBalancersResultOutput() GetApplicationLoadBalancersResultOutput

func (GetApplicationLoadBalancersResultOutput) ToGetApplicationLoadBalancersResultOutputWithContext

func (o GetApplicationLoadBalancersResultOutput) ToGetApplicationLoadBalancersResultOutputWithContext(ctx context.Context) GetApplicationLoadBalancersResultOutput

func (GetApplicationLoadBalancersResultOutput) TotalCount

func (GetApplicationLoadBalancersResultOutput) VpcId

ID of the VPC the SLB belongs to.

func (GetApplicationLoadBalancersResultOutput) VswitchId

ID of the VSwitch the SLB belongs to.

type GetApplicationLoadBalancersSlb

type GetApplicationLoadBalancersSlb struct {
	// Service address of the SLBs.
	Address      string `pulumi:"address"`
	CreationTime string `pulumi:"creationTime"`
	// ID of the SLB.
	Id                     string `pulumi:"id"`
	Internet               bool   `pulumi:"internet"`
	MasterAvailabilityZone string `pulumi:"masterAvailabilityZone"`
	Name                   string `pulumi:"name"`
	// Network type of the SLBs. Valid values: `vpc` and `classic`.
	NetworkType           string `pulumi:"networkType"`
	RegionId              string `pulumi:"regionId"`
	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:
	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 GetApplicationLoadBalancersSlbArgs

type GetApplicationLoadBalancersSlbArgs struct {
	// Service address of the SLBs.
	Address      pulumi.StringInput `pulumi:"address"`
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// ID of the SLB.
	Id                     pulumi.StringInput `pulumi:"id"`
	Internet               pulumi.BoolInput   `pulumi:"internet"`
	MasterAvailabilityZone pulumi.StringInput `pulumi:"masterAvailabilityZone"`
	Name                   pulumi.StringInput `pulumi:"name"`
	// Network type of the SLBs. Valid values: `vpc` and `classic`.
	NetworkType           pulumi.StringInput `pulumi:"networkType"`
	RegionId              pulumi.StringInput `pulumi:"regionId"`
	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:
	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 (GetApplicationLoadBalancersSlbArgs) ElementType

func (GetApplicationLoadBalancersSlbArgs) ToGetApplicationLoadBalancersSlbOutput

func (i GetApplicationLoadBalancersSlbArgs) ToGetApplicationLoadBalancersSlbOutput() GetApplicationLoadBalancersSlbOutput

func (GetApplicationLoadBalancersSlbArgs) ToGetApplicationLoadBalancersSlbOutputWithContext

func (i GetApplicationLoadBalancersSlbArgs) ToGetApplicationLoadBalancersSlbOutputWithContext(ctx context.Context) GetApplicationLoadBalancersSlbOutput

type GetApplicationLoadBalancersSlbArray

type GetApplicationLoadBalancersSlbArray []GetApplicationLoadBalancersSlbInput

func (GetApplicationLoadBalancersSlbArray) ElementType

func (GetApplicationLoadBalancersSlbArray) ToGetApplicationLoadBalancersSlbArrayOutput

func (i GetApplicationLoadBalancersSlbArray) ToGetApplicationLoadBalancersSlbArrayOutput() GetApplicationLoadBalancersSlbArrayOutput

func (GetApplicationLoadBalancersSlbArray) ToGetApplicationLoadBalancersSlbArrayOutputWithContext

func (i GetApplicationLoadBalancersSlbArray) ToGetApplicationLoadBalancersSlbArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancersSlbArrayOutput

type GetApplicationLoadBalancersSlbArrayInput

type GetApplicationLoadBalancersSlbArrayInput interface {
	pulumi.Input

	ToGetApplicationLoadBalancersSlbArrayOutput() GetApplicationLoadBalancersSlbArrayOutput
	ToGetApplicationLoadBalancersSlbArrayOutputWithContext(context.Context) GetApplicationLoadBalancersSlbArrayOutput
}

GetApplicationLoadBalancersSlbArrayInput is an input type that accepts GetApplicationLoadBalancersSlbArray and GetApplicationLoadBalancersSlbArrayOutput values. You can construct a concrete instance of `GetApplicationLoadBalancersSlbArrayInput` via:

GetApplicationLoadBalancersSlbArray{ GetApplicationLoadBalancersSlbArgs{...} }

type GetApplicationLoadBalancersSlbArrayOutput

type GetApplicationLoadBalancersSlbArrayOutput struct{ *pulumi.OutputState }

func (GetApplicationLoadBalancersSlbArrayOutput) ElementType

func (GetApplicationLoadBalancersSlbArrayOutput) Index

func (GetApplicationLoadBalancersSlbArrayOutput) ToGetApplicationLoadBalancersSlbArrayOutput

func (o GetApplicationLoadBalancersSlbArrayOutput) ToGetApplicationLoadBalancersSlbArrayOutput() GetApplicationLoadBalancersSlbArrayOutput

func (GetApplicationLoadBalancersSlbArrayOutput) ToGetApplicationLoadBalancersSlbArrayOutputWithContext

func (o GetApplicationLoadBalancersSlbArrayOutput) ToGetApplicationLoadBalancersSlbArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancersSlbArrayOutput

type GetApplicationLoadBalancersSlbInput

type GetApplicationLoadBalancersSlbInput interface {
	pulumi.Input

	ToGetApplicationLoadBalancersSlbOutput() GetApplicationLoadBalancersSlbOutput
	ToGetApplicationLoadBalancersSlbOutputWithContext(context.Context) GetApplicationLoadBalancersSlbOutput
}

GetApplicationLoadBalancersSlbInput is an input type that accepts GetApplicationLoadBalancersSlbArgs and GetApplicationLoadBalancersSlbOutput values. You can construct a concrete instance of `GetApplicationLoadBalancersSlbInput` via:

GetApplicationLoadBalancersSlbArgs{...}

type GetApplicationLoadBalancersSlbOutput

type GetApplicationLoadBalancersSlbOutput struct{ *pulumi.OutputState }

func (GetApplicationLoadBalancersSlbOutput) Address

Service address of the SLBs.

func (GetApplicationLoadBalancersSlbOutput) CreationTime

func (GetApplicationLoadBalancersSlbOutput) ElementType

func (GetApplicationLoadBalancersSlbOutput) Id

ID of the SLB.

func (GetApplicationLoadBalancersSlbOutput) Internet

func (GetApplicationLoadBalancersSlbOutput) MasterAvailabilityZone

func (o GetApplicationLoadBalancersSlbOutput) MasterAvailabilityZone() pulumi.StringOutput

func (GetApplicationLoadBalancersSlbOutput) Name

func (GetApplicationLoadBalancersSlbOutput) NetworkType

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

func (GetApplicationLoadBalancersSlbOutput) RegionId

func (GetApplicationLoadBalancersSlbOutput) SlaveAvailabilityZone

func (o GetApplicationLoadBalancersSlbOutput) SlaveAvailabilityZone() pulumi.StringOutput

func (GetApplicationLoadBalancersSlbOutput) Status

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

func (GetApplicationLoadBalancersSlbOutput) 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:

func (GetApplicationLoadBalancersSlbOutput) ToGetApplicationLoadBalancersSlbOutput

func (o GetApplicationLoadBalancersSlbOutput) ToGetApplicationLoadBalancersSlbOutput() GetApplicationLoadBalancersSlbOutput

func (GetApplicationLoadBalancersSlbOutput) ToGetApplicationLoadBalancersSlbOutputWithContext

func (o GetApplicationLoadBalancersSlbOutput) ToGetApplicationLoadBalancersSlbOutputWithContext(ctx context.Context) GetApplicationLoadBalancersSlbOutput

func (GetApplicationLoadBalancersSlbOutput) VpcId

ID of the VPC linked to the SLBs.

func (GetApplicationLoadBalancersSlbOutput) VswitchId

ID of the VSwitch linked to the SLBs.

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 GetAttachmentsOutputArgs

type GetAttachmentsOutputArgs struct {
	// List of attached ECS instance IDs.
	InstanceIds pulumi.StringArrayInput `pulumi:"instanceIds"`
	// ID of the SLB with attachments.
	LoadBalancerId pulumi.StringInput    `pulumi:"loadBalancerId"`
	OutputFile     pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getAttachments.

func (GetAttachmentsOutputArgs) ElementType

func (GetAttachmentsOutputArgs) ElementType() reflect.Type

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/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

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

```

type GetAttachmentsResultOutput

type GetAttachmentsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAttachments.

func (GetAttachmentsResultOutput) ElementType

func (GetAttachmentsResultOutput) ElementType() reflect.Type

func (GetAttachmentsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetAttachmentsResultOutput) InstanceIds

func (GetAttachmentsResultOutput) LoadBalancerId

func (o GetAttachmentsResultOutput) LoadBalancerId() pulumi.StringOutput

func (GetAttachmentsResultOutput) OutputFile

func (GetAttachmentsResultOutput) SlbAttachments

A list of SLB attachments. Each element contains the following attributes:

func (GetAttachmentsResultOutput) ToGetAttachmentsResultOutput

func (o GetAttachmentsResultOutput) ToGetAttachmentsResultOutput() GetAttachmentsResultOutput

func (GetAttachmentsResultOutput) ToGetAttachmentsResultOutputWithContext

func (o GetAttachmentsResultOutput) ToGetAttachmentsResultOutputWithContext(ctx context.Context) GetAttachmentsResultOutput

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 GetBackendServersOutputArgs

type GetBackendServersOutputArgs struct {
	// List of attached ECS instance IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// ID of the SLB with attachments.
	LoadBalancerId pulumi.StringInput    `pulumi:"loadBalancerId"`
	OutputFile     pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getBackendServers.

func (GetBackendServersOutputArgs) ElementType

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/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

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

```

type GetBackendServersResultOutput

type GetBackendServersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBackendServers.

func (GetBackendServersResultOutput) BackendServers

func (GetBackendServersResultOutput) ElementType

func (GetBackendServersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetBackendServersResultOutput) Ids

func (GetBackendServersResultOutput) LoadBalancerId

func (GetBackendServersResultOutput) OutputFile

func (GetBackendServersResultOutput) ToGetBackendServersResultOutput

func (o GetBackendServersResultOutput) ToGetBackendServersResultOutput() GetBackendServersResultOutput

func (GetBackendServersResultOutput) ToGetBackendServersResultOutputWithContext

func (o GetBackendServersResultOutput) ToGetBackendServersResultOutputWithContext(ctx context.Context) GetBackendServersResultOutput

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 {
	// (Available in v1.123.1+) CA certificate ID.
	CaCertificateId string `pulumi:"caCertificateId"`
	// (Available in v1.123.1+) CA certificate name.
	CaCertificateName string `pulumi:"caCertificateName"`
	// CA certificate common name.
	CommonName string `pulumi:"commonName"`
	// 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"`
	// (Deprecated from v1.123.1) Deprecated and replace by `caCertificateName`.
	Name string `pulumi:"name"`
	// 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 {
	// (Available in v1.123.1+) CA certificate ID.
	CaCertificateId pulumi.StringInput `pulumi:"caCertificateId"`
	// (Available in v1.123.1+) CA certificate name.
	CaCertificateName pulumi.StringInput `pulumi:"caCertificateName"`
	// CA certificate common name.
	CommonName pulumi.StringInput `pulumi:"commonName"`
	// 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"`
	// (Deprecated from v1.123.1) Deprecated and replace by `caCertificateName`.
	Name pulumi.StringInput `pulumi:"name"`
	// 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) CaCertificateId

(Available in v1.123.1+) CA certificate ID.

func (GetCaCertificatesCertificateOutput) CaCertificateName

(Available in v1.123.1+) CA certificate name.

func (GetCaCertificatesCertificateOutput) CommonName

CA certificate common name.

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

(Deprecated from v1.123.1) Deprecated and replace by `caCertificateName`.

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 GetCaCertificatesOutputArgs

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

A collection of arguments for invoking getCaCertificates.

func (GetCaCertificatesOutputArgs) ElementType

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/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

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 GetCaCertificatesResultOutput

type GetCaCertificatesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCaCertificates.

func (GetCaCertificatesResultOutput) Certificates

A list of SLB ca certificates. Each element contains the following attributes:

func (GetCaCertificatesResultOutput) ElementType

func (GetCaCertificatesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetCaCertificatesResultOutput) Ids

A list of SLB ca certificates IDs.

func (GetCaCertificatesResultOutput) NameRegex

func (GetCaCertificatesResultOutput) Names

A list of SLB ca certificates names.

func (GetCaCertificatesResultOutput) OutputFile

func (GetCaCertificatesResultOutput) ResourceGroupId

The resource group Id of CA certificate.

func (GetCaCertificatesResultOutput) Tags

(Available in v1.66.0+) A mapping of tags to assign to the resource.

func (GetCaCertificatesResultOutput) ToGetCaCertificatesResultOutput

func (o GetCaCertificatesResultOutput) ToGetCaCertificatesResultOutput() GetCaCertificatesResultOutput

func (GetCaCertificatesResultOutput) ToGetCaCertificatesResultOutputWithContext

func (o GetCaCertificatesResultOutput) ToGetCaCertificatesResultOutputWithContext(ctx context.Context) GetCaCertificatesResultOutput

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 GetDomainExtensionsOutputArgs

type GetDomainExtensionsOutputArgs struct {
	// The frontend port used by the HTTPS listener of the SLB instance. Valid values: 1–65535.
	FrontendPort pulumi.IntInput `pulumi:"frontendPort"`
	// IDs of the SLB domain extensions.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The ID of the SLB instance.
	LoadBalancerId pulumi.StringInput    `pulumi:"loadBalancerId"`
	OutputFile     pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getDomainExtensions.

func (GetDomainExtensionsOutputArgs) ElementType

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/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

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 GetDomainExtensionsResultOutput

type GetDomainExtensionsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDomainExtensions.

func (GetDomainExtensionsResultOutput) ElementType

func (GetDomainExtensionsResultOutput) Extensions

A list of SLB domain extension. Each element contains the following attributes:

func (GetDomainExtensionsResultOutput) FrontendPort

func (GetDomainExtensionsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDomainExtensionsResultOutput) Ids

func (GetDomainExtensionsResultOutput) LoadBalancerId

func (GetDomainExtensionsResultOutput) OutputFile

func (GetDomainExtensionsResultOutput) ToGetDomainExtensionsResultOutput

func (o GetDomainExtensionsResultOutput) ToGetDomainExtensionsResultOutput() GetDomainExtensionsResultOutput

func (GetDomainExtensionsResultOutput) ToGetDomainExtensionsResultOutputWithContext

func (o GetDomainExtensionsResultOutput) ToGetDomainExtensionsResultOutputWithContext(ctx context.Context) GetDomainExtensionsResultOutput

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 GetListenersOutputArgs

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

A collection of arguments for invoking getListeners.

func (GetListenersOutputArgs) ElementType

func (GetListenersOutputArgs) ElementType() reflect.Type

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/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := slb.NewApplicationLoadBalancer(ctx, "default", &slb.ApplicationLoadBalancerArgs{
			LoadBalancerName: pulumi.String("tf-testAccSlbListenertcp"),
		})
		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
		}
		sampleDs := slb.GetListenersOutput(ctx, slb.GetListenersOutputArgs{
			LoadBalancerId: _default.ID(),
		}, nil)
		ctx.Export("firstSlbListenerProtocol", sampleDs.ApplyT(func(sampleDs slb.GetListenersResult) (string, error) {
			return sampleDs.SlbListeners[0].Protocol, nil
		}).(pulumi.StringOutput))
		return nil
	})
}

```

type GetListenersResultOutput

type GetListenersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getListeners.

func (GetListenersResultOutput) DescriptionRegex

func (o GetListenersResultOutput) DescriptionRegex() pulumi.StringPtrOutput

func (GetListenersResultOutput) ElementType

func (GetListenersResultOutput) ElementType() reflect.Type

func (GetListenersResultOutput) FrontendPort

func (o GetListenersResultOutput) FrontendPort() pulumi.IntPtrOutput

Frontend port used to receive incoming traffic and distribute it to the backend servers.

func (GetListenersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetListenersResultOutput) LoadBalancerId

func (o GetListenersResultOutput) LoadBalancerId() pulumi.StringOutput

func (GetListenersResultOutput) OutputFile

func (GetListenersResultOutput) Protocol

Listener protocol. Possible values: `http`, `https`, `tcp` and `udp`.

func (GetListenersResultOutput) SlbListeners

A list of SLB listeners. Each element contains the following attributes:

func (GetListenersResultOutput) ToGetListenersResultOutput

func (o GetListenersResultOutput) ToGetListenersResultOutput() GetListenersResultOutput

func (GetListenersResultOutput) ToGetListenersResultOutputWithContext

func (o GetListenersResultOutput) ToGetListenersResultOutputWithContext(ctx context.Context) GetListenersResultOutput

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"`
	// Whether to support carrying the client source address to the backend server through the Proxy Protocol. Valid values are `true` and `false`. Default to `false`.
	ProxyProtocolV2Enabled bool `pulumi:"proxyProtocolV2Enabled"`
	// 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"`
	// Whether to support carrying the client source address to the backend server through the Proxy Protocol. Valid values are `true` and `false`. Default to `false`.
	ProxyProtocolV2Enabled pulumi.BoolInput `pulumi:"proxyProtocolV2Enabled"`
	// 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) ProxyProtocolV2Enabled

func (o GetListenersSlbListenerOutput) ProxyProtocolV2Enabled() pulumi.BoolOutput

Whether to support carrying the client source address to the backend server through the Proxy Protocol. Valid values are `true` and `false`. Default to `false`.

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"`
	AddressIpVersion *string `pulumi:"addressIpVersion"`
	AddressType      *string `pulumi:"addressType"`
	EnableDetails    *bool   `pulumi:"enableDetails"`
	// A list of SLBs IDs.
	Ids                []string `pulumi:"ids"`
	InternetChargeType *string  `pulumi:"internetChargeType"`
	LoadBalancerName   *string  `pulumi:"loadBalancerName"`
	MasterZoneId       *string  `pulumi:"masterZoneId"`
	// 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"`
	PageNumber  *int    `pulumi:"pageNumber"`
	PageSize    *int    `pulumi:"pageSize"`
	PaymentType *string `pulumi:"paymentType"`
	// The Id of resource group which SLB belongs.
	ResourceGroupId       *string `pulumi:"resourceGroupId"`
	ServerId              *string `pulumi:"serverId"`
	ServerIntranetAddress *string `pulumi:"serverIntranetAddress"`
	SlaveZoneId           *string `pulumi:"slaveZoneId"`
	// 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/go/alicloud/slb"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// 	"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"
	// )
	//
	// 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 GetLoadBalancersBalancer

type GetLoadBalancersBalancer struct {
	// Service address of the SLBs.
	Address          string                                  `pulumi:"address"`
	AddressIpVersion string                                  `pulumi:"addressIpVersion"`
	AddressType      string                                  `pulumi:"addressType"`
	AutoReleaseTime  int                                     `pulumi:"autoReleaseTime"`
	BackendServers   []GetLoadBalancersBalancerBackendServer `pulumi:"backendServers"`
	Bandwidth        int                                     `pulumi:"bandwidth"`
	CreateTimeStamp  int                                     `pulumi:"createTimeStamp"`
	DeleteProtection string                                  `pulumi:"deleteProtection"`
	EndTime          string                                  `pulumi:"endTime"`
	EndTimeStamp     int                                     `pulumi:"endTimeStamp"`
	// ID of the SLB.
	Id                           string                                             `pulumi:"id"`
	InternetChargeType           string                                             `pulumi:"internetChargeType"`
	ListenerPortsAndProtocals    []GetLoadBalancersBalancerListenerPortsAndProtocal `pulumi:"listenerPortsAndProtocals"`
	ListenerPortsAndProtocols    []GetLoadBalancersBalancerListenerPortsAndProtocol `pulumi:"listenerPortsAndProtocols"`
	LoadBalancerId               string                                             `pulumi:"loadBalancerId"`
	LoadBalancerName             string                                             `pulumi:"loadBalancerName"`
	LoadBalancerSpec             string                                             `pulumi:"loadBalancerSpec"`
	MasterZoneId                 string                                             `pulumi:"masterZoneId"`
	ModificationProtectionReason string                                             `pulumi:"modificationProtectionReason"`
	ModificationProtectionStatus string                                             `pulumi:"modificationProtectionStatus"`
	// Network type of the SLBs. Valid values: `vpc` and `classic`.
	NetworkType     string `pulumi:"networkType"`
	PaymentType     string `pulumi:"paymentType"`
	RegionIdAlias   string `pulumi:"regionIdAlias"`
	RenewalCycUnit  string `pulumi:"renewalCycUnit"`
	RenewalDuration int    `pulumi:"renewalDuration"`
	RenewalStatus   string `pulumi:"renewalStatus"`
	// The Id of resource group which SLB belongs.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	SlaveZoneId     string `pulumi:"slaveZoneId"`
	// 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/go/alicloud/slb"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// 	"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"
	// )
	//
	// 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 GetLoadBalancersBalancerArgs

type GetLoadBalancersBalancerArgs struct {
	// Service address of the SLBs.
	Address          pulumi.StringInput                              `pulumi:"address"`
	AddressIpVersion pulumi.StringInput                              `pulumi:"addressIpVersion"`
	AddressType      pulumi.StringInput                              `pulumi:"addressType"`
	AutoReleaseTime  pulumi.IntInput                                 `pulumi:"autoReleaseTime"`
	BackendServers   GetLoadBalancersBalancerBackendServerArrayInput `pulumi:"backendServers"`
	Bandwidth        pulumi.IntInput                                 `pulumi:"bandwidth"`
	CreateTimeStamp  pulumi.IntInput                                 `pulumi:"createTimeStamp"`
	DeleteProtection pulumi.StringInput                              `pulumi:"deleteProtection"`
	EndTime          pulumi.StringInput                              `pulumi:"endTime"`
	EndTimeStamp     pulumi.IntInput                                 `pulumi:"endTimeStamp"`
	// ID of the SLB.
	Id                           pulumi.StringInput                                         `pulumi:"id"`
	InternetChargeType           pulumi.StringInput                                         `pulumi:"internetChargeType"`
	ListenerPortsAndProtocals    GetLoadBalancersBalancerListenerPortsAndProtocalArrayInput `pulumi:"listenerPortsAndProtocals"`
	ListenerPortsAndProtocols    GetLoadBalancersBalancerListenerPortsAndProtocolArrayInput `pulumi:"listenerPortsAndProtocols"`
	LoadBalancerId               pulumi.StringInput                                         `pulumi:"loadBalancerId"`
	LoadBalancerName             pulumi.StringInput                                         `pulumi:"loadBalancerName"`
	LoadBalancerSpec             pulumi.StringInput                                         `pulumi:"loadBalancerSpec"`
	MasterZoneId                 pulumi.StringInput                                         `pulumi:"masterZoneId"`
	ModificationProtectionReason pulumi.StringInput                                         `pulumi:"modificationProtectionReason"`
	ModificationProtectionStatus pulumi.StringInput                                         `pulumi:"modificationProtectionStatus"`
	// Network type of the SLBs. Valid values: `vpc` and `classic`.
	NetworkType     pulumi.StringInput `pulumi:"networkType"`
	PaymentType     pulumi.StringInput `pulumi:"paymentType"`
	RegionIdAlias   pulumi.StringInput `pulumi:"regionIdAlias"`
	RenewalCycUnit  pulumi.StringInput `pulumi:"renewalCycUnit"`
	RenewalDuration pulumi.IntInput    `pulumi:"renewalDuration"`
	RenewalStatus   pulumi.StringInput `pulumi:"renewalStatus"`
	// The Id of resource group which SLB belongs.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	SlaveZoneId     pulumi.StringInput `pulumi:"slaveZoneId"`
	// 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/go/alicloud/slb"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// 	"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"
	// )
	//
	// 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 (GetLoadBalancersBalancerArgs) ElementType

func (GetLoadBalancersBalancerArgs) ToGetLoadBalancersBalancerOutput

func (i GetLoadBalancersBalancerArgs) ToGetLoadBalancersBalancerOutput() GetLoadBalancersBalancerOutput

func (GetLoadBalancersBalancerArgs) ToGetLoadBalancersBalancerOutputWithContext

func (i GetLoadBalancersBalancerArgs) ToGetLoadBalancersBalancerOutputWithContext(ctx context.Context) GetLoadBalancersBalancerOutput

type GetLoadBalancersBalancerArray

type GetLoadBalancersBalancerArray []GetLoadBalancersBalancerInput

func (GetLoadBalancersBalancerArray) ElementType

func (GetLoadBalancersBalancerArray) ToGetLoadBalancersBalancerArrayOutput

func (i GetLoadBalancersBalancerArray) ToGetLoadBalancersBalancerArrayOutput() GetLoadBalancersBalancerArrayOutput

func (GetLoadBalancersBalancerArray) ToGetLoadBalancersBalancerArrayOutputWithContext

func (i GetLoadBalancersBalancerArray) ToGetLoadBalancersBalancerArrayOutputWithContext(ctx context.Context) GetLoadBalancersBalancerArrayOutput

type GetLoadBalancersBalancerArrayInput

type GetLoadBalancersBalancerArrayInput interface {
	pulumi.Input

	ToGetLoadBalancersBalancerArrayOutput() GetLoadBalancersBalancerArrayOutput
	ToGetLoadBalancersBalancerArrayOutputWithContext(context.Context) GetLoadBalancersBalancerArrayOutput
}

GetLoadBalancersBalancerArrayInput is an input type that accepts GetLoadBalancersBalancerArray and GetLoadBalancersBalancerArrayOutput values. You can construct a concrete instance of `GetLoadBalancersBalancerArrayInput` via:

GetLoadBalancersBalancerArray{ GetLoadBalancersBalancerArgs{...} }

type GetLoadBalancersBalancerArrayOutput

type GetLoadBalancersBalancerArrayOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerArrayOutput) ElementType

func (GetLoadBalancersBalancerArrayOutput) Index

func (GetLoadBalancersBalancerArrayOutput) ToGetLoadBalancersBalancerArrayOutput

func (o GetLoadBalancersBalancerArrayOutput) ToGetLoadBalancersBalancerArrayOutput() GetLoadBalancersBalancerArrayOutput

func (GetLoadBalancersBalancerArrayOutput) ToGetLoadBalancersBalancerArrayOutputWithContext

func (o GetLoadBalancersBalancerArrayOutput) ToGetLoadBalancersBalancerArrayOutputWithContext(ctx context.Context) GetLoadBalancersBalancerArrayOutput

type GetLoadBalancersBalancerBackendServer

type GetLoadBalancersBalancerBackendServer struct {
	Description string `pulumi:"description"`
	ServerId    string `pulumi:"serverId"`
	Type        string `pulumi:"type"`
	Weight      int    `pulumi:"weight"`
}

type GetLoadBalancersBalancerBackendServerArgs

type GetLoadBalancersBalancerBackendServerArgs struct {
	Description pulumi.StringInput `pulumi:"description"`
	ServerId    pulumi.StringInput `pulumi:"serverId"`
	Type        pulumi.StringInput `pulumi:"type"`
	Weight      pulumi.IntInput    `pulumi:"weight"`
}

func (GetLoadBalancersBalancerBackendServerArgs) ElementType

func (GetLoadBalancersBalancerBackendServerArgs) ToGetLoadBalancersBalancerBackendServerOutput

func (i GetLoadBalancersBalancerBackendServerArgs) ToGetLoadBalancersBalancerBackendServerOutput() GetLoadBalancersBalancerBackendServerOutput

func (GetLoadBalancersBalancerBackendServerArgs) ToGetLoadBalancersBalancerBackendServerOutputWithContext

func (i GetLoadBalancersBalancerBackendServerArgs) ToGetLoadBalancersBalancerBackendServerOutputWithContext(ctx context.Context) GetLoadBalancersBalancerBackendServerOutput

type GetLoadBalancersBalancerBackendServerArray

type GetLoadBalancersBalancerBackendServerArray []GetLoadBalancersBalancerBackendServerInput

func (GetLoadBalancersBalancerBackendServerArray) ElementType

func (GetLoadBalancersBalancerBackendServerArray) ToGetLoadBalancersBalancerBackendServerArrayOutput

func (i GetLoadBalancersBalancerBackendServerArray) ToGetLoadBalancersBalancerBackendServerArrayOutput() GetLoadBalancersBalancerBackendServerArrayOutput

func (GetLoadBalancersBalancerBackendServerArray) ToGetLoadBalancersBalancerBackendServerArrayOutputWithContext

func (i GetLoadBalancersBalancerBackendServerArray) ToGetLoadBalancersBalancerBackendServerArrayOutputWithContext(ctx context.Context) GetLoadBalancersBalancerBackendServerArrayOutput

type GetLoadBalancersBalancerBackendServerArrayInput

type GetLoadBalancersBalancerBackendServerArrayInput interface {
	pulumi.Input

	ToGetLoadBalancersBalancerBackendServerArrayOutput() GetLoadBalancersBalancerBackendServerArrayOutput
	ToGetLoadBalancersBalancerBackendServerArrayOutputWithContext(context.Context) GetLoadBalancersBalancerBackendServerArrayOutput
}

GetLoadBalancersBalancerBackendServerArrayInput is an input type that accepts GetLoadBalancersBalancerBackendServerArray and GetLoadBalancersBalancerBackendServerArrayOutput values. You can construct a concrete instance of `GetLoadBalancersBalancerBackendServerArrayInput` via:

GetLoadBalancersBalancerBackendServerArray{ GetLoadBalancersBalancerBackendServerArgs{...} }

type GetLoadBalancersBalancerBackendServerArrayOutput

type GetLoadBalancersBalancerBackendServerArrayOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerBackendServerArrayOutput) ElementType

func (GetLoadBalancersBalancerBackendServerArrayOutput) Index

func (GetLoadBalancersBalancerBackendServerArrayOutput) ToGetLoadBalancersBalancerBackendServerArrayOutput

func (o GetLoadBalancersBalancerBackendServerArrayOutput) ToGetLoadBalancersBalancerBackendServerArrayOutput() GetLoadBalancersBalancerBackendServerArrayOutput

func (GetLoadBalancersBalancerBackendServerArrayOutput) ToGetLoadBalancersBalancerBackendServerArrayOutputWithContext

func (o GetLoadBalancersBalancerBackendServerArrayOutput) ToGetLoadBalancersBalancerBackendServerArrayOutputWithContext(ctx context.Context) GetLoadBalancersBalancerBackendServerArrayOutput

type GetLoadBalancersBalancerBackendServerInput

type GetLoadBalancersBalancerBackendServerInput interface {
	pulumi.Input

	ToGetLoadBalancersBalancerBackendServerOutput() GetLoadBalancersBalancerBackendServerOutput
	ToGetLoadBalancersBalancerBackendServerOutputWithContext(context.Context) GetLoadBalancersBalancerBackendServerOutput
}

GetLoadBalancersBalancerBackendServerInput is an input type that accepts GetLoadBalancersBalancerBackendServerArgs and GetLoadBalancersBalancerBackendServerOutput values. You can construct a concrete instance of `GetLoadBalancersBalancerBackendServerInput` via:

GetLoadBalancersBalancerBackendServerArgs{...}

type GetLoadBalancersBalancerBackendServerOutput

type GetLoadBalancersBalancerBackendServerOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerBackendServerOutput) Description

func (GetLoadBalancersBalancerBackendServerOutput) ElementType

func (GetLoadBalancersBalancerBackendServerOutput) ServerId

func (GetLoadBalancersBalancerBackendServerOutput) ToGetLoadBalancersBalancerBackendServerOutput

func (o GetLoadBalancersBalancerBackendServerOutput) ToGetLoadBalancersBalancerBackendServerOutput() GetLoadBalancersBalancerBackendServerOutput

func (GetLoadBalancersBalancerBackendServerOutput) ToGetLoadBalancersBalancerBackendServerOutputWithContext

func (o GetLoadBalancersBalancerBackendServerOutput) ToGetLoadBalancersBalancerBackendServerOutputWithContext(ctx context.Context) GetLoadBalancersBalancerBackendServerOutput

func (GetLoadBalancersBalancerBackendServerOutput) Type

func (GetLoadBalancersBalancerBackendServerOutput) Weight

type GetLoadBalancersBalancerInput

type GetLoadBalancersBalancerInput interface {
	pulumi.Input

	ToGetLoadBalancersBalancerOutput() GetLoadBalancersBalancerOutput
	ToGetLoadBalancersBalancerOutputWithContext(context.Context) GetLoadBalancersBalancerOutput
}

GetLoadBalancersBalancerInput is an input type that accepts GetLoadBalancersBalancerArgs and GetLoadBalancersBalancerOutput values. You can construct a concrete instance of `GetLoadBalancersBalancerInput` via:

GetLoadBalancersBalancerArgs{...}

type GetLoadBalancersBalancerListenerPortsAndProtocal

type GetLoadBalancersBalancerListenerPortsAndProtocal struct {
	ListenerPort     int    `pulumi:"listenerPort"`
	ListenerProtocal string `pulumi:"listenerProtocal"`
}

type GetLoadBalancersBalancerListenerPortsAndProtocalArgs

type GetLoadBalancersBalancerListenerPortsAndProtocalArgs struct {
	ListenerPort     pulumi.IntInput    `pulumi:"listenerPort"`
	ListenerProtocal pulumi.StringInput `pulumi:"listenerProtocal"`
}

func (GetLoadBalancersBalancerListenerPortsAndProtocalArgs) ElementType

func (GetLoadBalancersBalancerListenerPortsAndProtocalArgs) ToGetLoadBalancersBalancerListenerPortsAndProtocalOutput

func (i GetLoadBalancersBalancerListenerPortsAndProtocalArgs) ToGetLoadBalancersBalancerListenerPortsAndProtocalOutput() GetLoadBalancersBalancerListenerPortsAndProtocalOutput

func (GetLoadBalancersBalancerListenerPortsAndProtocalArgs) ToGetLoadBalancersBalancerListenerPortsAndProtocalOutputWithContext

func (i GetLoadBalancersBalancerListenerPortsAndProtocalArgs) ToGetLoadBalancersBalancerListenerPortsAndProtocalOutputWithContext(ctx context.Context) GetLoadBalancersBalancerListenerPortsAndProtocalOutput

type GetLoadBalancersBalancerListenerPortsAndProtocalArray

type GetLoadBalancersBalancerListenerPortsAndProtocalArray []GetLoadBalancersBalancerListenerPortsAndProtocalInput

func (GetLoadBalancersBalancerListenerPortsAndProtocalArray) ElementType

func (GetLoadBalancersBalancerListenerPortsAndProtocalArray) ToGetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput

func (i GetLoadBalancersBalancerListenerPortsAndProtocalArray) ToGetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput() GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput

func (GetLoadBalancersBalancerListenerPortsAndProtocalArray) ToGetLoadBalancersBalancerListenerPortsAndProtocalArrayOutputWithContext

func (i GetLoadBalancersBalancerListenerPortsAndProtocalArray) ToGetLoadBalancersBalancerListenerPortsAndProtocalArrayOutputWithContext(ctx context.Context) GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput

type GetLoadBalancersBalancerListenerPortsAndProtocalArrayInput

type GetLoadBalancersBalancerListenerPortsAndProtocalArrayInput interface {
	pulumi.Input

	ToGetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput() GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput
	ToGetLoadBalancersBalancerListenerPortsAndProtocalArrayOutputWithContext(context.Context) GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput
}

GetLoadBalancersBalancerListenerPortsAndProtocalArrayInput is an input type that accepts GetLoadBalancersBalancerListenerPortsAndProtocalArray and GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput values. You can construct a concrete instance of `GetLoadBalancersBalancerListenerPortsAndProtocalArrayInput` via:

GetLoadBalancersBalancerListenerPortsAndProtocalArray{ GetLoadBalancersBalancerListenerPortsAndProtocalArgs{...} }

type GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput

type GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput) ElementType

func (GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput) Index

func (GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput) ToGetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput

func (GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput) ToGetLoadBalancersBalancerListenerPortsAndProtocalArrayOutputWithContext

func (o GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput) ToGetLoadBalancersBalancerListenerPortsAndProtocalArrayOutputWithContext(ctx context.Context) GetLoadBalancersBalancerListenerPortsAndProtocalArrayOutput

type GetLoadBalancersBalancerListenerPortsAndProtocalInput

type GetLoadBalancersBalancerListenerPortsAndProtocalInput interface {
	pulumi.Input

	ToGetLoadBalancersBalancerListenerPortsAndProtocalOutput() GetLoadBalancersBalancerListenerPortsAndProtocalOutput
	ToGetLoadBalancersBalancerListenerPortsAndProtocalOutputWithContext(context.Context) GetLoadBalancersBalancerListenerPortsAndProtocalOutput
}

GetLoadBalancersBalancerListenerPortsAndProtocalInput is an input type that accepts GetLoadBalancersBalancerListenerPortsAndProtocalArgs and GetLoadBalancersBalancerListenerPortsAndProtocalOutput values. You can construct a concrete instance of `GetLoadBalancersBalancerListenerPortsAndProtocalInput` via:

GetLoadBalancersBalancerListenerPortsAndProtocalArgs{...}

type GetLoadBalancersBalancerListenerPortsAndProtocalOutput

type GetLoadBalancersBalancerListenerPortsAndProtocalOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerListenerPortsAndProtocalOutput) ElementType

func (GetLoadBalancersBalancerListenerPortsAndProtocalOutput) ListenerPort

func (GetLoadBalancersBalancerListenerPortsAndProtocalOutput) ListenerProtocal

func (GetLoadBalancersBalancerListenerPortsAndProtocalOutput) ToGetLoadBalancersBalancerListenerPortsAndProtocalOutput

func (GetLoadBalancersBalancerListenerPortsAndProtocalOutput) ToGetLoadBalancersBalancerListenerPortsAndProtocalOutputWithContext

func (o GetLoadBalancersBalancerListenerPortsAndProtocalOutput) ToGetLoadBalancersBalancerListenerPortsAndProtocalOutputWithContext(ctx context.Context) GetLoadBalancersBalancerListenerPortsAndProtocalOutput

type GetLoadBalancersBalancerListenerPortsAndProtocol

type GetLoadBalancersBalancerListenerPortsAndProtocol struct {
	Description      string `pulumi:"description"`
	ForwardPort      int    `pulumi:"forwardPort"`
	ListenerForward  string `pulumi:"listenerForward"`
	ListenerPort     int    `pulumi:"listenerPort"`
	ListenerProtocol string `pulumi:"listenerProtocol"`
}

type GetLoadBalancersBalancerListenerPortsAndProtocolArgs

type GetLoadBalancersBalancerListenerPortsAndProtocolArgs struct {
	Description      pulumi.StringInput `pulumi:"description"`
	ForwardPort      pulumi.IntInput    `pulumi:"forwardPort"`
	ListenerForward  pulumi.StringInput `pulumi:"listenerForward"`
	ListenerPort     pulumi.IntInput    `pulumi:"listenerPort"`
	ListenerProtocol pulumi.StringInput `pulumi:"listenerProtocol"`
}

func (GetLoadBalancersBalancerListenerPortsAndProtocolArgs) ElementType

func (GetLoadBalancersBalancerListenerPortsAndProtocolArgs) ToGetLoadBalancersBalancerListenerPortsAndProtocolOutput

func (i GetLoadBalancersBalancerListenerPortsAndProtocolArgs) ToGetLoadBalancersBalancerListenerPortsAndProtocolOutput() GetLoadBalancersBalancerListenerPortsAndProtocolOutput

func (GetLoadBalancersBalancerListenerPortsAndProtocolArgs) ToGetLoadBalancersBalancerListenerPortsAndProtocolOutputWithContext

func (i GetLoadBalancersBalancerListenerPortsAndProtocolArgs) ToGetLoadBalancersBalancerListenerPortsAndProtocolOutputWithContext(ctx context.Context) GetLoadBalancersBalancerListenerPortsAndProtocolOutput

type GetLoadBalancersBalancerListenerPortsAndProtocolArray

type GetLoadBalancersBalancerListenerPortsAndProtocolArray []GetLoadBalancersBalancerListenerPortsAndProtocolInput

func (GetLoadBalancersBalancerListenerPortsAndProtocolArray) ElementType

func (GetLoadBalancersBalancerListenerPortsAndProtocolArray) ToGetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput

func (i GetLoadBalancersBalancerListenerPortsAndProtocolArray) ToGetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput() GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput

func (GetLoadBalancersBalancerListenerPortsAndProtocolArray) ToGetLoadBalancersBalancerListenerPortsAndProtocolArrayOutputWithContext

func (i GetLoadBalancersBalancerListenerPortsAndProtocolArray) ToGetLoadBalancersBalancerListenerPortsAndProtocolArrayOutputWithContext(ctx context.Context) GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput

type GetLoadBalancersBalancerListenerPortsAndProtocolArrayInput

type GetLoadBalancersBalancerListenerPortsAndProtocolArrayInput interface {
	pulumi.Input

	ToGetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput() GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput
	ToGetLoadBalancersBalancerListenerPortsAndProtocolArrayOutputWithContext(context.Context) GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput
}

GetLoadBalancersBalancerListenerPortsAndProtocolArrayInput is an input type that accepts GetLoadBalancersBalancerListenerPortsAndProtocolArray and GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput values. You can construct a concrete instance of `GetLoadBalancersBalancerListenerPortsAndProtocolArrayInput` via:

GetLoadBalancersBalancerListenerPortsAndProtocolArray{ GetLoadBalancersBalancerListenerPortsAndProtocolArgs{...} }

type GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput

type GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput) ElementType

func (GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput) Index

func (GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput) ToGetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput

func (GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput) ToGetLoadBalancersBalancerListenerPortsAndProtocolArrayOutputWithContext

func (o GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput) ToGetLoadBalancersBalancerListenerPortsAndProtocolArrayOutputWithContext(ctx context.Context) GetLoadBalancersBalancerListenerPortsAndProtocolArrayOutput

type GetLoadBalancersBalancerListenerPortsAndProtocolInput

type GetLoadBalancersBalancerListenerPortsAndProtocolInput interface {
	pulumi.Input

	ToGetLoadBalancersBalancerListenerPortsAndProtocolOutput() GetLoadBalancersBalancerListenerPortsAndProtocolOutput
	ToGetLoadBalancersBalancerListenerPortsAndProtocolOutputWithContext(context.Context) GetLoadBalancersBalancerListenerPortsAndProtocolOutput
}

GetLoadBalancersBalancerListenerPortsAndProtocolInput is an input type that accepts GetLoadBalancersBalancerListenerPortsAndProtocolArgs and GetLoadBalancersBalancerListenerPortsAndProtocolOutput values. You can construct a concrete instance of `GetLoadBalancersBalancerListenerPortsAndProtocolInput` via:

GetLoadBalancersBalancerListenerPortsAndProtocolArgs{...}

type GetLoadBalancersBalancerListenerPortsAndProtocolOutput

type GetLoadBalancersBalancerListenerPortsAndProtocolOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerListenerPortsAndProtocolOutput) Description

func (GetLoadBalancersBalancerListenerPortsAndProtocolOutput) ElementType

func (GetLoadBalancersBalancerListenerPortsAndProtocolOutput) ForwardPort

func (GetLoadBalancersBalancerListenerPortsAndProtocolOutput) ListenerForward

func (GetLoadBalancersBalancerListenerPortsAndProtocolOutput) ListenerPort

func (GetLoadBalancersBalancerListenerPortsAndProtocolOutput) ListenerProtocol

func (GetLoadBalancersBalancerListenerPortsAndProtocolOutput) ToGetLoadBalancersBalancerListenerPortsAndProtocolOutput

func (GetLoadBalancersBalancerListenerPortsAndProtocolOutput) ToGetLoadBalancersBalancerListenerPortsAndProtocolOutputWithContext

func (o GetLoadBalancersBalancerListenerPortsAndProtocolOutput) ToGetLoadBalancersBalancerListenerPortsAndProtocolOutputWithContext(ctx context.Context) GetLoadBalancersBalancerListenerPortsAndProtocolOutput

type GetLoadBalancersBalancerOutput

type GetLoadBalancersBalancerOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerOutput) Address

Service address of the SLBs.

func (GetLoadBalancersBalancerOutput) AddressIpVersion

func (o GetLoadBalancersBalancerOutput) AddressIpVersion() pulumi.StringOutput

func (GetLoadBalancersBalancerOutput) AddressType

func (GetLoadBalancersBalancerOutput) AutoReleaseTime

func (o GetLoadBalancersBalancerOutput) AutoReleaseTime() pulumi.IntOutput

func (GetLoadBalancersBalancerOutput) BackendServers

func (GetLoadBalancersBalancerOutput) Bandwidth

func (GetLoadBalancersBalancerOutput) CreateTimeStamp

func (o GetLoadBalancersBalancerOutput) CreateTimeStamp() pulumi.IntOutput

func (GetLoadBalancersBalancerOutput) DeleteProtection

func (o GetLoadBalancersBalancerOutput) DeleteProtection() pulumi.StringOutput

func (GetLoadBalancersBalancerOutput) ElementType

func (GetLoadBalancersBalancerOutput) EndTime

func (GetLoadBalancersBalancerOutput) EndTimeStamp

func (GetLoadBalancersBalancerOutput) Id

ID of the SLB.

func (GetLoadBalancersBalancerOutput) InternetChargeType

func (o GetLoadBalancersBalancerOutput) InternetChargeType() pulumi.StringOutput

func (GetLoadBalancersBalancerOutput) ListenerPortsAndProtocals

func (GetLoadBalancersBalancerOutput) ListenerPortsAndProtocols

func (GetLoadBalancersBalancerOutput) LoadBalancerId

func (GetLoadBalancersBalancerOutput) LoadBalancerName

func (o GetLoadBalancersBalancerOutput) LoadBalancerName() pulumi.StringOutput

func (GetLoadBalancersBalancerOutput) LoadBalancerSpec

func (o GetLoadBalancersBalancerOutput) LoadBalancerSpec() pulumi.StringOutput

func (GetLoadBalancersBalancerOutput) MasterZoneId

func (GetLoadBalancersBalancerOutput) ModificationProtectionReason

func (o GetLoadBalancersBalancerOutput) ModificationProtectionReason() pulumi.StringOutput

func (GetLoadBalancersBalancerOutput) ModificationProtectionStatus

func (o GetLoadBalancersBalancerOutput) ModificationProtectionStatus() pulumi.StringOutput

func (GetLoadBalancersBalancerOutput) NetworkType

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

func (GetLoadBalancersBalancerOutput) PaymentType

func (GetLoadBalancersBalancerOutput) RegionIdAlias

func (GetLoadBalancersBalancerOutput) RenewalCycUnit

func (GetLoadBalancersBalancerOutput) RenewalDuration

func (o GetLoadBalancersBalancerOutput) RenewalDuration() pulumi.IntOutput

func (GetLoadBalancersBalancerOutput) RenewalStatus

func (GetLoadBalancersBalancerOutput) ResourceGroupId

The Id of resource group which SLB belongs.

func (GetLoadBalancersBalancerOutput) SlaveZoneId

func (GetLoadBalancersBalancerOutput) Status

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

func (GetLoadBalancersBalancerOutput) 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/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

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 (GetLoadBalancersBalancerOutput) ToGetLoadBalancersBalancerOutput

func (o GetLoadBalancersBalancerOutput) ToGetLoadBalancersBalancerOutput() GetLoadBalancersBalancerOutput

func (GetLoadBalancersBalancerOutput) ToGetLoadBalancersBalancerOutputWithContext

func (o GetLoadBalancersBalancerOutput) ToGetLoadBalancersBalancerOutputWithContext(ctx context.Context) GetLoadBalancersBalancerOutput

func (GetLoadBalancersBalancerOutput) VpcId

ID of the VPC linked to the SLBs.

func (GetLoadBalancersBalancerOutput) VswitchId

ID of the VSwitch linked to the SLBs.

type GetLoadBalancersOutputArgs

type GetLoadBalancersOutputArgs struct {
	// Service address of the SLBs.
	Address          pulumi.StringPtrInput `pulumi:"address"`
	AddressIpVersion pulumi.StringPtrInput `pulumi:"addressIpVersion"`
	AddressType      pulumi.StringPtrInput `pulumi:"addressType"`
	EnableDetails    pulumi.BoolPtrInput   `pulumi:"enableDetails"`
	// A list of SLBs IDs.
	Ids                pulumi.StringArrayInput `pulumi:"ids"`
	InternetChargeType pulumi.StringPtrInput   `pulumi:"internetChargeType"`
	LoadBalancerName   pulumi.StringPtrInput   `pulumi:"loadBalancerName"`
	MasterZoneId       pulumi.StringPtrInput   `pulumi:"masterZoneId"`
	// A regex string to filter results by SLB name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// Network type of the SLBs. Valid values: `vpc` and `classic`.
	NetworkType pulumi.StringPtrInput `pulumi:"networkType"`
	OutputFile  pulumi.StringPtrInput `pulumi:"outputFile"`
	PageNumber  pulumi.IntPtrInput    `pulumi:"pageNumber"`
	PageSize    pulumi.IntPtrInput    `pulumi:"pageSize"`
	PaymentType pulumi.StringPtrInput `pulumi:"paymentType"`
	// The Id of resource group which SLB belongs.
	ResourceGroupId       pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	ServerId              pulumi.StringPtrInput `pulumi:"serverId"`
	ServerIntranetAddress pulumi.StringPtrInput `pulumi:"serverIntranetAddress"`
	SlaveZoneId           pulumi.StringPtrInput `pulumi:"slaveZoneId"`
	// SLB current status. Possible values: `inactive`, `active` and `locked`.
	Status pulumi.StringPtrInput `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/go/alicloud/slb"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// 	"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"
	// )
	//
	// 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.StringPtrInput `pulumi:"vpcId"`
	// ID of the VSwitch linked to the SLBs.
	VswitchId pulumi.StringPtrInput `pulumi:"vswitchId"`
}

A collection of arguments for invoking getLoadBalancers.

func (GetLoadBalancersOutputArgs) ElementType

func (GetLoadBalancersOutputArgs) ElementType() reflect.Type

type GetLoadBalancersResult

type GetLoadBalancersResult struct {
	// Service address of the SLB.
	Address          *string                    `pulumi:"address"`
	AddressIpVersion *string                    `pulumi:"addressIpVersion"`
	AddressType      *string                    `pulumi:"addressType"`
	Balancers        []GetLoadBalancersBalancer `pulumi:"balancers"`
	EnableDetails    *bool                      `pulumi:"enableDetails"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of slb IDs.
	Ids                []string `pulumi:"ids"`
	InternetChargeType *string  `pulumi:"internetChargeType"`
	LoadBalancerName   *string  `pulumi:"loadBalancerName"`
	MasterZoneId       *string  `pulumi:"masterZoneId"`
	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"`
	PageNumber            *int    `pulumi:"pageNumber"`
	PageSize              *int    `pulumi:"pageSize"`
	PaymentType           *string `pulumi:"paymentType"`
	ResourceGroupId       *string `pulumi:"resourceGroupId"`
	ServerId              *string `pulumi:"serverId"`
	ServerIntranetAddress *string `pulumi:"serverIntranetAddress"`
	SlaveZoneId           *string `pulumi:"slaveZoneId"`
	// A list of SLBs. Each element contains the following attributes:
	//
	// Deprecated: Field 'slbs' has deprecated from v1.123.1 and replace by 'balancers'.
	Slbs []GetLoadBalancersSlb `pulumi:"slbs"`
	// SLB current status. Possible values: `inactive`, `active` and `locked`.
	Status *string `pulumi:"status"`
	// A map of tags assigned to the SLB instance.
	Tags       map[string]interface{} `pulumi:"tags"`
	TotalCount int                    `pulumi:"totalCount"`
	// 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)

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

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

```

type GetLoadBalancersResultOutput

type GetLoadBalancersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getLoadBalancers.

func (GetLoadBalancersResultOutput) Address

Service address of the SLB.

func (GetLoadBalancersResultOutput) AddressIpVersion

func (GetLoadBalancersResultOutput) AddressType

func (GetLoadBalancersResultOutput) Balancers

func (GetLoadBalancersResultOutput) ElementType

func (GetLoadBalancersResultOutput) EnableDetails

func (GetLoadBalancersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetLoadBalancersResultOutput) Ids

A list of slb IDs.

func (GetLoadBalancersResultOutput) InternetChargeType

func (o GetLoadBalancersResultOutput) InternetChargeType() pulumi.StringPtrOutput

func (GetLoadBalancersResultOutput) LoadBalancerName

func (GetLoadBalancersResultOutput) MasterZoneId

func (GetLoadBalancersResultOutput) NameRegex

func (GetLoadBalancersResultOutput) Names

A list of slb names.

func (GetLoadBalancersResultOutput) NetworkType

Network type of the SLB. Possible values: `vpc` and `classic`.

func (GetLoadBalancersResultOutput) OutputFile

func (GetLoadBalancersResultOutput) PageNumber

func (GetLoadBalancersResultOutput) PageSize

func (GetLoadBalancersResultOutput) PaymentType

func (GetLoadBalancersResultOutput) ResourceGroupId

func (GetLoadBalancersResultOutput) ServerId

func (GetLoadBalancersResultOutput) ServerIntranetAddress

func (o GetLoadBalancersResultOutput) ServerIntranetAddress() pulumi.StringPtrOutput

func (GetLoadBalancersResultOutput) SlaveZoneId

func (GetLoadBalancersResultOutput) Slbs deprecated

A list of SLBs. Each element contains the following attributes:

Deprecated: Field 'slbs' has deprecated from v1.123.1 and replace by 'balancers'.

func (GetLoadBalancersResultOutput) Status

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

func (GetLoadBalancersResultOutput) Tags

A map of tags assigned to the SLB instance.

func (GetLoadBalancersResultOutput) ToGetLoadBalancersResultOutput

func (o GetLoadBalancersResultOutput) ToGetLoadBalancersResultOutput() GetLoadBalancersResultOutput

func (GetLoadBalancersResultOutput) ToGetLoadBalancersResultOutputWithContext

func (o GetLoadBalancersResultOutput) ToGetLoadBalancersResultOutputWithContext(ctx context.Context) GetLoadBalancersResultOutput

func (GetLoadBalancersResultOutput) TotalCount

func (GetLoadBalancersResultOutput) VpcId

ID of the VPC the SLB belongs to.

func (GetLoadBalancersResultOutput) VswitchId

ID of the VSwitch the SLB belongs to.

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/go/alicloud/slb"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// 	"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"
	// )
	//
	// 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/go/alicloud/slb"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// 	"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"
	// )
	//
	// 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/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

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

(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 GetMasterSlaveServerGroupsOutputArgs

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

A collection of arguments for invoking getMasterSlaveServerGroups.

func (GetMasterSlaveServerGroupsOutputArgs) ElementType

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/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ecs"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(defaultZones.Zones[0].Id),
			EniAmount:        pulumi.IntRef(2),
		}, nil)
		if err != nil {
			return err
		}
		image, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  pulumi.StringRef("^ubuntu_18.*64"),
			MostRecent: pulumi.BoolRef(true),
			Owners:     pulumi.StringRef("system"),
		}, 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(),
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VswitchName: pulumi.String(name),
			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)
		}
		instanceApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, "instanceApplicationLoadBalancer", &slb.ApplicationLoadBalancerArgs{
			LoadBalancerName: pulumi.String(name),
			VswitchId:        mainSwitch.ID(),
			LoadBalancerSpec: pulumi.String("slb.s2.small"),
		})
		if err != nil {
			return err
		}
		_, err = slb.NewMasterSlaveServerGroup(ctx, "groupMasterSlaveServerGroup", &slb.MasterSlaveServerGroupArgs{
			LoadBalancerId: instanceApplicationLoadBalancer.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
		}
		sampleDs := slb.GetMasterSlaveServerGroupsOutput(ctx, slb.GetMasterSlaveServerGroupsOutputArgs{
			LoadBalancerId: instanceApplicationLoadBalancer.ID(),
		}, nil)
		ctx.Export("firstSlbServerGroupId", sampleDs.ApplyT(func(sampleDs slb.GetMasterSlaveServerGroupsResult) (string, error) {
			return sampleDs.Groups[0].Id, nil
		}).(pulumi.StringOutput))
		return nil
	})
}

```

type GetMasterSlaveServerGroupsResultOutput

type GetMasterSlaveServerGroupsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getMasterSlaveServerGroups.

func (GetMasterSlaveServerGroupsResultOutput) ElementType

func (GetMasterSlaveServerGroupsResultOutput) Groups

A list of SLB master slave server groups. Each element contains the following attributes:

func (GetMasterSlaveServerGroupsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetMasterSlaveServerGroupsResultOutput) Ids

A list of SLB master slave server groups IDs.

func (GetMasterSlaveServerGroupsResultOutput) LoadBalancerId

func (GetMasterSlaveServerGroupsResultOutput) NameRegex

func (GetMasterSlaveServerGroupsResultOutput) Names

A list of SLB master slave server groups names.

func (GetMasterSlaveServerGroupsResultOutput) OutputFile

func (GetMasterSlaveServerGroupsResultOutput) ToGetMasterSlaveServerGroupsResultOutput

func (o GetMasterSlaveServerGroupsResultOutput) ToGetMasterSlaveServerGroupsResultOutput() GetMasterSlaveServerGroupsResultOutput

func (GetMasterSlaveServerGroupsResultOutput) ToGetMasterSlaveServerGroupsResultOutputWithContext

func (o GetMasterSlaveServerGroupsResultOutput) ToGetMasterSlaveServerGroupsResultOutputWithContext(ctx context.Context) GetMasterSlaveServerGroupsResultOutput

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 GetRulesOutputArgs

type GetRulesOutputArgs struct {
	// SLB listener port.
	FrontendPort pulumi.IntInput `pulumi:"frontendPort"`
	// A list of rules IDs to filter results.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// ID of the SLB with listener rules.
	LoadBalancerId pulumi.StringInput `pulumi:"loadBalancerId"`
	// A regex string to filter results by rule name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getRules.

func (GetRulesOutputArgs) ElementType

func (GetRulesOutputArgs) ElementType() reflect.Type

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/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "slbrulebasicconfig"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, 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"),
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, "defaultApplicationLoadBalancer", &slb.ApplicationLoadBalancerArgs{
			LoadBalancerName: pulumi.String(name),
			VswitchId:        defaultSwitch.ID(),
		})
		if err != nil {
			return err
		}
		defaultListener, err := slb.NewListener(ctx, "defaultListener", &slb.ListenerArgs{
			LoadBalancerId:         defaultApplicationLoadBalancer.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: defaultApplicationLoadBalancer.ID(),
		})
		if err != nil {
			return err
		}
		_, err = slb.NewRule(ctx, "defaultRule", &slb.RuleArgs{
			LoadBalancerId: defaultApplicationLoadBalancer.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 GetRulesResultOutput

type GetRulesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRules.

func (GetRulesResultOutput) ElementType

func (GetRulesResultOutput) ElementType() reflect.Type

func (GetRulesResultOutput) FrontendPort

func (o GetRulesResultOutput) FrontendPort() pulumi.IntOutput

func (GetRulesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetRulesResultOutput) Ids

A list of SLB listener rules IDs.

func (GetRulesResultOutput) LoadBalancerId

func (o GetRulesResultOutput) LoadBalancerId() pulumi.StringOutput

func (GetRulesResultOutput) NameRegex

func (GetRulesResultOutput) Names

A list of SLB listener rules names.

func (GetRulesResultOutput) OutputFile

func (GetRulesResultOutput) SlbRules

A list of SLB listener rules. Each element contains the following attributes:

func (GetRulesResultOutput) ToGetRulesResultOutput

func (o GetRulesResultOutput) ToGetRulesResultOutput() GetRulesResultOutput

func (GetRulesResultOutput) ToGetRulesResultOutputWithContext

func (o GetRulesResultOutput) ToGetRulesResultOutputWithContext(ctx context.Context) GetRulesResultOutput

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 GetServerCertificatesOutputArgs

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

A collection of arguments for invoking getServerCertificates.

func (GetServerCertificatesOutputArgs) ElementType

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/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

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 GetServerCertificatesResultOutput

type GetServerCertificatesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServerCertificates.

func (GetServerCertificatesResultOutput) Certificates

A list of SLB server certificates. Each element contains the following attributes:

func (GetServerCertificatesResultOutput) ElementType

func (GetServerCertificatesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetServerCertificatesResultOutput) Ids

A list of SLB server certificates IDs.

func (GetServerCertificatesResultOutput) NameRegex

func (GetServerCertificatesResultOutput) Names

A list of SLB server certificates names.

func (GetServerCertificatesResultOutput) OutputFile

func (GetServerCertificatesResultOutput) ResourceGroupId

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

func (GetServerCertificatesResultOutput) Tags

(Available in v1.66.0+) A mapping of tags to assign to the resource.

func (GetServerCertificatesResultOutput) ToGetServerCertificatesResultOutput

func (o GetServerCertificatesResultOutput) ToGetServerCertificatesResultOutput() GetServerCertificatesResultOutput

func (GetServerCertificatesResultOutput) ToGetServerCertificatesResultOutputWithContext

func (o GetServerCertificatesResultOutput) ToGetServerCertificatesResultOutputWithContext(ctx context.Context) GetServerCertificatesResultOutput

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 GetServerGroupsOutputArgs

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

A collection of arguments for invoking getServerGroups.

func (GetServerGroupsOutputArgs) ElementType

func (GetServerGroupsOutputArgs) ElementType() reflect.Type

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/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "slbservergroups"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			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"),
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, "defaultApplicationLoadBalancer", &slb.ApplicationLoadBalancerArgs{
			LoadBalancerName: pulumi.String(name),
			VswitchId:        defaultSwitch.ID(),
		})
		if err != nil {
			return err
		}
		_, err = slb.NewServerGroup(ctx, "defaultServerGroup", &slb.ServerGroupArgs{
			LoadBalancerId: defaultApplicationLoadBalancer.ID(),
		})
		if err != nil {
			return err
		}
		sampleDs := slb.GetServerGroupsOutput(ctx, slb.GetServerGroupsOutputArgs{
			LoadBalancerId: defaultApplicationLoadBalancer.ID(),
		}, nil)
		ctx.Export("firstSlbServerGroupId", sampleDs.ApplyT(func(sampleDs slb.GetServerGroupsResult) (string, error) {
			return sampleDs.SlbServerGroups[0].Id, nil
		}).(pulumi.StringOutput))
		return nil
	})
}

```

type GetServerGroupsResultOutput

type GetServerGroupsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServerGroups.

func (GetServerGroupsResultOutput) ElementType

func (GetServerGroupsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetServerGroupsResultOutput) Ids

A list of SLB VServer groups IDs.

func (GetServerGroupsResultOutput) LoadBalancerId

func (o GetServerGroupsResultOutput) LoadBalancerId() pulumi.StringOutput

func (GetServerGroupsResultOutput) NameRegex

func (GetServerGroupsResultOutput) Names

A list of SLB VServer groups names.

func (GetServerGroupsResultOutput) OutputFile

func (GetServerGroupsResultOutput) SlbServerGroups

A list of SLB VServer groups. Each element contains the following attributes:

func (GetServerGroupsResultOutput) ToGetServerGroupsResultOutput

func (o GetServerGroupsResultOutput) ToGetServerGroupsResultOutput() GetServerGroupsResultOutput

func (GetServerGroupsResultOutput) ToGetServerGroupsResultOutputWithContext

func (o GetServerGroupsResultOutput) ToGetServerGroupsResultOutputWithContext(ctx context.Context) GetServerGroupsResultOutput

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 GetTlsCipherPoliciesArgs

type GetTlsCipherPoliciesArgs struct {
	// A list of Tls Cipher Policy IDs.
	Ids []string `pulumi:"ids"`
	// The include listener.
	IncludeListener *bool `pulumi:"includeListener"`
	// A regex string to filter results by Tls Cipher Policy name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// TLS policy instance state.
	Status *string `pulumi:"status"`
	// TLS policy name. Length is from 2 to 128, or in both the English and Chinese characters must be with an uppercase/lowercase letter or a Chinese character and the beginning, may contain numbers, in dot `.`, underscore `_` or dash `-`.
	TlsCipherPolicyName *string `pulumi:"tlsCipherPolicyName"`
}

A collection of arguments for invoking getTlsCipherPolicies.

type GetTlsCipherPoliciesOutputArgs

type GetTlsCipherPoliciesOutputArgs struct {
	// A list of Tls Cipher Policy IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The include listener.
	IncludeListener pulumi.BoolPtrInput `pulumi:"includeListener"`
	// A regex string to filter results by Tls Cipher Policy name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// TLS policy instance state.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// TLS policy name. Length is from 2 to 128, or in both the English and Chinese characters must be with an uppercase/lowercase letter or a Chinese character and the beginning, may contain numbers, in dot `.`, underscore `_` or dash `-`.
	TlsCipherPolicyName pulumi.StringPtrInput `pulumi:"tlsCipherPolicyName"`
}

A collection of arguments for invoking getTlsCipherPolicies.

func (GetTlsCipherPoliciesOutputArgs) ElementType

type GetTlsCipherPoliciesPolicy

type GetTlsCipherPoliciesPolicy struct {
	// The encryption algorithms supported. It depends on the value of `tlsVersions`.
	Ciphers []string `pulumi:"ciphers"`
	// The creation time timestamp.
	CreateTime string `pulumi:"createTime"`
	// The ID of the Tls Cipher Policy.
	Id string `pulumi:"id"`
	// Array of Relate Listeners.
	RelateListeners []GetTlsCipherPoliciesPolicyRelateListener `pulumi:"relateListeners"`
	// TLS policy instance state.
	Status string `pulumi:"status"`
	// The ID of TLS cipher policy.
	TlsCipherPolicyId string `pulumi:"tlsCipherPolicyId"`
	// TLS policy name. Length is from 2 to 128, or in both the English and Chinese characters must be with an uppercase/lowercase letter or a Chinese character and the beginning, may contain numbers, in dot `.`, underscore `_` or dash `-`.
	TlsCipherPolicyName string `pulumi:"tlsCipherPolicyName"`
	// The version of TLS protocol.
	TlsVersions []string `pulumi:"tlsVersions"`
}

type GetTlsCipherPoliciesPolicyArgs

type GetTlsCipherPoliciesPolicyArgs struct {
	// The encryption algorithms supported. It depends on the value of `tlsVersions`.
	Ciphers pulumi.StringArrayInput `pulumi:"ciphers"`
	// The creation time timestamp.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The ID of the Tls Cipher Policy.
	Id pulumi.StringInput `pulumi:"id"`
	// Array of Relate Listeners.
	RelateListeners GetTlsCipherPoliciesPolicyRelateListenerArrayInput `pulumi:"relateListeners"`
	// TLS policy instance state.
	Status pulumi.StringInput `pulumi:"status"`
	// The ID of TLS cipher policy.
	TlsCipherPolicyId pulumi.StringInput `pulumi:"tlsCipherPolicyId"`
	// TLS policy name. Length is from 2 to 128, or in both the English and Chinese characters must be with an uppercase/lowercase letter or a Chinese character and the beginning, may contain numbers, in dot `.`, underscore `_` or dash `-`.
	TlsCipherPolicyName pulumi.StringInput `pulumi:"tlsCipherPolicyName"`
	// The version of TLS protocol.
	TlsVersions pulumi.StringArrayInput `pulumi:"tlsVersions"`
}

func (GetTlsCipherPoliciesPolicyArgs) ElementType

func (GetTlsCipherPoliciesPolicyArgs) ToGetTlsCipherPoliciesPolicyOutput

func (i GetTlsCipherPoliciesPolicyArgs) ToGetTlsCipherPoliciesPolicyOutput() GetTlsCipherPoliciesPolicyOutput

func (GetTlsCipherPoliciesPolicyArgs) ToGetTlsCipherPoliciesPolicyOutputWithContext

func (i GetTlsCipherPoliciesPolicyArgs) ToGetTlsCipherPoliciesPolicyOutputWithContext(ctx context.Context) GetTlsCipherPoliciesPolicyOutput

type GetTlsCipherPoliciesPolicyArray

type GetTlsCipherPoliciesPolicyArray []GetTlsCipherPoliciesPolicyInput

func (GetTlsCipherPoliciesPolicyArray) ElementType

func (GetTlsCipherPoliciesPolicyArray) ToGetTlsCipherPoliciesPolicyArrayOutput

func (i GetTlsCipherPoliciesPolicyArray) ToGetTlsCipherPoliciesPolicyArrayOutput() GetTlsCipherPoliciesPolicyArrayOutput

func (GetTlsCipherPoliciesPolicyArray) ToGetTlsCipherPoliciesPolicyArrayOutputWithContext

func (i GetTlsCipherPoliciesPolicyArray) ToGetTlsCipherPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetTlsCipherPoliciesPolicyArrayOutput

type GetTlsCipherPoliciesPolicyArrayInput

type GetTlsCipherPoliciesPolicyArrayInput interface {
	pulumi.Input

	ToGetTlsCipherPoliciesPolicyArrayOutput() GetTlsCipherPoliciesPolicyArrayOutput
	ToGetTlsCipherPoliciesPolicyArrayOutputWithContext(context.Context) GetTlsCipherPoliciesPolicyArrayOutput
}

GetTlsCipherPoliciesPolicyArrayInput is an input type that accepts GetTlsCipherPoliciesPolicyArray and GetTlsCipherPoliciesPolicyArrayOutput values. You can construct a concrete instance of `GetTlsCipherPoliciesPolicyArrayInput` via:

GetTlsCipherPoliciesPolicyArray{ GetTlsCipherPoliciesPolicyArgs{...} }

type GetTlsCipherPoliciesPolicyArrayOutput

type GetTlsCipherPoliciesPolicyArrayOutput struct{ *pulumi.OutputState }

func (GetTlsCipherPoliciesPolicyArrayOutput) ElementType

func (GetTlsCipherPoliciesPolicyArrayOutput) Index

func (GetTlsCipherPoliciesPolicyArrayOutput) ToGetTlsCipherPoliciesPolicyArrayOutput

func (o GetTlsCipherPoliciesPolicyArrayOutput) ToGetTlsCipherPoliciesPolicyArrayOutput() GetTlsCipherPoliciesPolicyArrayOutput

func (GetTlsCipherPoliciesPolicyArrayOutput) ToGetTlsCipherPoliciesPolicyArrayOutputWithContext

func (o GetTlsCipherPoliciesPolicyArrayOutput) ToGetTlsCipherPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetTlsCipherPoliciesPolicyArrayOutput

type GetTlsCipherPoliciesPolicyInput

type GetTlsCipherPoliciesPolicyInput interface {
	pulumi.Input

	ToGetTlsCipherPoliciesPolicyOutput() GetTlsCipherPoliciesPolicyOutput
	ToGetTlsCipherPoliciesPolicyOutputWithContext(context.Context) GetTlsCipherPoliciesPolicyOutput
}

GetTlsCipherPoliciesPolicyInput is an input type that accepts GetTlsCipherPoliciesPolicyArgs and GetTlsCipherPoliciesPolicyOutput values. You can construct a concrete instance of `GetTlsCipherPoliciesPolicyInput` via:

GetTlsCipherPoliciesPolicyArgs{...}

type GetTlsCipherPoliciesPolicyOutput

type GetTlsCipherPoliciesPolicyOutput struct{ *pulumi.OutputState }

func (GetTlsCipherPoliciesPolicyOutput) Ciphers

The encryption algorithms supported. It depends on the value of `tlsVersions`.

func (GetTlsCipherPoliciesPolicyOutput) CreateTime

The creation time timestamp.

func (GetTlsCipherPoliciesPolicyOutput) ElementType

func (GetTlsCipherPoliciesPolicyOutput) Id

The ID of the Tls Cipher Policy.

func (GetTlsCipherPoliciesPolicyOutput) RelateListeners

Array of Relate Listeners.

func (GetTlsCipherPoliciesPolicyOutput) Status

TLS policy instance state.

func (GetTlsCipherPoliciesPolicyOutput) TlsCipherPolicyId

The ID of TLS cipher policy.

func (GetTlsCipherPoliciesPolicyOutput) TlsCipherPolicyName

func (o GetTlsCipherPoliciesPolicyOutput) TlsCipherPolicyName() pulumi.StringOutput

TLS policy name. Length is from 2 to 128, or in both the English and Chinese characters must be with an uppercase/lowercase letter or a Chinese character and the beginning, may contain numbers, in dot `.`, underscore `_` or dash `-`.

func (GetTlsCipherPoliciesPolicyOutput) TlsVersions

The version of TLS protocol.

func (GetTlsCipherPoliciesPolicyOutput) ToGetTlsCipherPoliciesPolicyOutput

func (o GetTlsCipherPoliciesPolicyOutput) ToGetTlsCipherPoliciesPolicyOutput() GetTlsCipherPoliciesPolicyOutput

func (GetTlsCipherPoliciesPolicyOutput) ToGetTlsCipherPoliciesPolicyOutputWithContext

func (o GetTlsCipherPoliciesPolicyOutput) ToGetTlsCipherPoliciesPolicyOutputWithContext(ctx context.Context) GetTlsCipherPoliciesPolicyOutput

type GetTlsCipherPoliciesPolicyRelateListener

type GetTlsCipherPoliciesPolicyRelateListener struct {
	// The ID of SLB instance.
	LoadBalancerId string `pulumi:"loadBalancerId"`
	// Listening port. Valid value: 1 to 65535.
	Port int `pulumi:"port"`
	// Snooping protocols. Valid values: `TCP`, `UDP`, `HTTP`, or `HTTPS`.
	Protocol string `pulumi:"protocol"`
}

type GetTlsCipherPoliciesPolicyRelateListenerArgs

type GetTlsCipherPoliciesPolicyRelateListenerArgs struct {
	// The ID of SLB instance.
	LoadBalancerId pulumi.StringInput `pulumi:"loadBalancerId"`
	// Listening port. Valid value: 1 to 65535.
	Port pulumi.IntInput `pulumi:"port"`
	// Snooping protocols. Valid values: `TCP`, `UDP`, `HTTP`, or `HTTPS`.
	Protocol pulumi.StringInput `pulumi:"protocol"`
}

func (GetTlsCipherPoliciesPolicyRelateListenerArgs) ElementType

func (GetTlsCipherPoliciesPolicyRelateListenerArgs) ToGetTlsCipherPoliciesPolicyRelateListenerOutput

func (i GetTlsCipherPoliciesPolicyRelateListenerArgs) ToGetTlsCipherPoliciesPolicyRelateListenerOutput() GetTlsCipherPoliciesPolicyRelateListenerOutput

func (GetTlsCipherPoliciesPolicyRelateListenerArgs) ToGetTlsCipherPoliciesPolicyRelateListenerOutputWithContext

func (i GetTlsCipherPoliciesPolicyRelateListenerArgs) ToGetTlsCipherPoliciesPolicyRelateListenerOutputWithContext(ctx context.Context) GetTlsCipherPoliciesPolicyRelateListenerOutput

type GetTlsCipherPoliciesPolicyRelateListenerArray

type GetTlsCipherPoliciesPolicyRelateListenerArray []GetTlsCipherPoliciesPolicyRelateListenerInput

func (GetTlsCipherPoliciesPolicyRelateListenerArray) ElementType

func (GetTlsCipherPoliciesPolicyRelateListenerArray) ToGetTlsCipherPoliciesPolicyRelateListenerArrayOutput

func (i GetTlsCipherPoliciesPolicyRelateListenerArray) ToGetTlsCipherPoliciesPolicyRelateListenerArrayOutput() GetTlsCipherPoliciesPolicyRelateListenerArrayOutput

func (GetTlsCipherPoliciesPolicyRelateListenerArray) ToGetTlsCipherPoliciesPolicyRelateListenerArrayOutputWithContext

func (i GetTlsCipherPoliciesPolicyRelateListenerArray) ToGetTlsCipherPoliciesPolicyRelateListenerArrayOutputWithContext(ctx context.Context) GetTlsCipherPoliciesPolicyRelateListenerArrayOutput

type GetTlsCipherPoliciesPolicyRelateListenerArrayInput

type GetTlsCipherPoliciesPolicyRelateListenerArrayInput interface {
	pulumi.Input

	ToGetTlsCipherPoliciesPolicyRelateListenerArrayOutput() GetTlsCipherPoliciesPolicyRelateListenerArrayOutput
	ToGetTlsCipherPoliciesPolicyRelateListenerArrayOutputWithContext(context.Context) GetTlsCipherPoliciesPolicyRelateListenerArrayOutput
}

GetTlsCipherPoliciesPolicyRelateListenerArrayInput is an input type that accepts GetTlsCipherPoliciesPolicyRelateListenerArray and GetTlsCipherPoliciesPolicyRelateListenerArrayOutput values. You can construct a concrete instance of `GetTlsCipherPoliciesPolicyRelateListenerArrayInput` via:

GetTlsCipherPoliciesPolicyRelateListenerArray{ GetTlsCipherPoliciesPolicyRelateListenerArgs{...} }

type GetTlsCipherPoliciesPolicyRelateListenerArrayOutput

type GetTlsCipherPoliciesPolicyRelateListenerArrayOutput struct{ *pulumi.OutputState }

func (GetTlsCipherPoliciesPolicyRelateListenerArrayOutput) ElementType

func (GetTlsCipherPoliciesPolicyRelateListenerArrayOutput) Index

func (GetTlsCipherPoliciesPolicyRelateListenerArrayOutput) ToGetTlsCipherPoliciesPolicyRelateListenerArrayOutput

func (o GetTlsCipherPoliciesPolicyRelateListenerArrayOutput) ToGetTlsCipherPoliciesPolicyRelateListenerArrayOutput() GetTlsCipherPoliciesPolicyRelateListenerArrayOutput

func (GetTlsCipherPoliciesPolicyRelateListenerArrayOutput) ToGetTlsCipherPoliciesPolicyRelateListenerArrayOutputWithContext

func (o GetTlsCipherPoliciesPolicyRelateListenerArrayOutput) ToGetTlsCipherPoliciesPolicyRelateListenerArrayOutputWithContext(ctx context.Context) GetTlsCipherPoliciesPolicyRelateListenerArrayOutput

type GetTlsCipherPoliciesPolicyRelateListenerInput

type GetTlsCipherPoliciesPolicyRelateListenerInput interface {
	pulumi.Input

	ToGetTlsCipherPoliciesPolicyRelateListenerOutput() GetTlsCipherPoliciesPolicyRelateListenerOutput
	ToGetTlsCipherPoliciesPolicyRelateListenerOutputWithContext(context.Context) GetTlsCipherPoliciesPolicyRelateListenerOutput
}

GetTlsCipherPoliciesPolicyRelateListenerInput is an input type that accepts GetTlsCipherPoliciesPolicyRelateListenerArgs and GetTlsCipherPoliciesPolicyRelateListenerOutput values. You can construct a concrete instance of `GetTlsCipherPoliciesPolicyRelateListenerInput` via:

GetTlsCipherPoliciesPolicyRelateListenerArgs{...}

type GetTlsCipherPoliciesPolicyRelateListenerOutput

type GetTlsCipherPoliciesPolicyRelateListenerOutput struct{ *pulumi.OutputState }

func (GetTlsCipherPoliciesPolicyRelateListenerOutput) ElementType

func (GetTlsCipherPoliciesPolicyRelateListenerOutput) LoadBalancerId

The ID of SLB instance.

func (GetTlsCipherPoliciesPolicyRelateListenerOutput) Port

Listening port. Valid value: 1 to 65535.

func (GetTlsCipherPoliciesPolicyRelateListenerOutput) Protocol

Snooping protocols. Valid values: `TCP`, `UDP`, `HTTP`, or `HTTPS`.

func (GetTlsCipherPoliciesPolicyRelateListenerOutput) ToGetTlsCipherPoliciesPolicyRelateListenerOutput

func (o GetTlsCipherPoliciesPolicyRelateListenerOutput) ToGetTlsCipherPoliciesPolicyRelateListenerOutput() GetTlsCipherPoliciesPolicyRelateListenerOutput

func (GetTlsCipherPoliciesPolicyRelateListenerOutput) ToGetTlsCipherPoliciesPolicyRelateListenerOutputWithContext

func (o GetTlsCipherPoliciesPolicyRelateListenerOutput) ToGetTlsCipherPoliciesPolicyRelateListenerOutputWithContext(ctx context.Context) GetTlsCipherPoliciesPolicyRelateListenerOutput

type GetTlsCipherPoliciesResult

type GetTlsCipherPoliciesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                  string                       `pulumi:"id"`
	Ids                 []string                     `pulumi:"ids"`
	IncludeListener     *bool                        `pulumi:"includeListener"`
	NameRegex           *string                      `pulumi:"nameRegex"`
	Names               []string                     `pulumi:"names"`
	OutputFile          *string                      `pulumi:"outputFile"`
	Policies            []GetTlsCipherPoliciesPolicy `pulumi:"policies"`
	Status              *string                      `pulumi:"status"`
	TlsCipherPolicyName *string                      `pulumi:"tlsCipherPolicyName"`
}

A collection of values returned by getTlsCipherPolicies.

func GetTlsCipherPolicies

func GetTlsCipherPolicies(ctx *pulumi.Context, args *GetTlsCipherPoliciesArgs, opts ...pulumi.InvokeOption) (*GetTlsCipherPoliciesResult, error)

This data source provides the Slb Tls Cipher Policies of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := slb.GetTlsCipherPolicies(ctx, &slb.GetTlsCipherPoliciesArgs{
			Ids: []string{
				"example_value-1",
				"example_value-2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("slbTlsCipherPolicyId1", ids.Policies[0].Id)
		nameRegex, err := slb.GetTlsCipherPolicies(ctx, &slb.GetTlsCipherPoliciesArgs{
			NameRegex: pulumi.StringRef("^My-TlsCipherPolicy"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("slbTlsCipherPolicyId2", nameRegex.Policies[0].Id)
		return nil
	})
}

```

type GetTlsCipherPoliciesResultOutput

type GetTlsCipherPoliciesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTlsCipherPolicies.

func (GetTlsCipherPoliciesResultOutput) ElementType

func (GetTlsCipherPoliciesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetTlsCipherPoliciesResultOutput) Ids

func (GetTlsCipherPoliciesResultOutput) IncludeListener

func (GetTlsCipherPoliciesResultOutput) NameRegex

func (GetTlsCipherPoliciesResultOutput) Names

func (GetTlsCipherPoliciesResultOutput) OutputFile

func (GetTlsCipherPoliciesResultOutput) Policies

func (GetTlsCipherPoliciesResultOutput) Status

func (GetTlsCipherPoliciesResultOutput) TlsCipherPolicyName

func (GetTlsCipherPoliciesResultOutput) ToGetTlsCipherPoliciesResultOutput

func (o GetTlsCipherPoliciesResultOutput) ToGetTlsCipherPoliciesResultOutput() GetTlsCipherPoliciesResultOutput

func (GetTlsCipherPoliciesResultOutput) ToGetTlsCipherPoliciesResultOutputWithContext

func (o GetTlsCipherPoliciesResultOutput) ToGetTlsCipherPoliciesResultOutputWithContext(ctx context.Context) GetTlsCipherPoliciesResultOutput

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 network type. Valid values:
	// * vpc: an internal SLB instance that is deployed in a virtual private cloud (VPC).
	// * classic_internet: a public-facing SLB instance.
	// * classic_intranet: an internal SLB instance that is deployed in a classic network.
	AvailableSlbAddressType *string `pulumi:"availableSlbAddressType"`
	// Default to false and only output `id` in the `zones` block. Set it to true can output more details.
	//
	// Deprecated: The parameter enable_details has been deprecated from version v1.154.0+
	EnableDetails *bool `pulumi:"enableDetails"`
	// The primary zone.
	MasterZoneId *string `pulumi:"masterZoneId"`
	OutputFile   *string `pulumi:"outputFile"`
	// The secondary zone.
	SlaveZoneId *string `pulumi:"slaveZoneId"`
}

A collection of arguments for invoking getZones.

type GetZonesOutputArgs

type GetZonesOutputArgs struct {
	// Filter the results by a slb instance address version. Can be either `ipv4`, or `ipv6`.
	AvailableSlbAddressIpVersion pulumi.StringPtrInput `pulumi:"availableSlbAddressIpVersion"`
	// Filter the results by a slb instance network type. Valid values:
	// * vpc: an internal SLB instance that is deployed in a virtual private cloud (VPC).
	// * classic_internet: a public-facing SLB instance.
	// * classic_intranet: an internal SLB instance that is deployed in a classic network.
	AvailableSlbAddressType pulumi.StringPtrInput `pulumi:"availableSlbAddressType"`
	// Default to false and only output `id` in the `zones` block. Set it to true can output more details.
	//
	// Deprecated: The parameter enable_details has been deprecated from version v1.154.0+
	EnableDetails pulumi.BoolPtrInput `pulumi:"enableDetails"`
	// The primary zone.
	MasterZoneId pulumi.StringPtrInput `pulumi:"masterZoneId"`
	OutputFile   pulumi.StringPtrInput `pulumi:"outputFile"`
	// The secondary zone.
	SlaveZoneId pulumi.StringPtrInput `pulumi:"slaveZoneId"`
}

A collection of arguments for invoking getZones.

func (GetZonesOutputArgs) ElementType

func (GetZonesOutputArgs) ElementType() reflect.Type

type GetZonesResult

type GetZonesResult struct {
	AvailableSlbAddressIpVersion *string `pulumi:"availableSlbAddressIpVersion"`
	AvailableSlbAddressType      *string `pulumi:"availableSlbAddressType"`
	// Deprecated: The parameter enable_details has been deprecated from version v1.154.0+
	EnableDetails *bool `pulumi:"enableDetails"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of primary zone IDs.
	Ids []string `pulumi:"ids"`
	// (Available in 1.157.0+) The primary zone.
	MasterZoneId *string `pulumi:"masterZoneId"`
	OutputFile   *string `pulumi:"outputFile"`
	// (Available in 1.157.0+) The secondary zone.
	SlaveZoneId *string `pulumi:"slaveZoneId"`
	// 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/go/alicloud/slb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := slb.GetZones(ctx, &slb.GetZonesArgs{
			AvailableSlbAddressIpVersion: pulumi.StringRef("ipv4"),
			AvailableSlbAddressType:      pulumi.StringRef("vpc"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetZonesResultOutput

type GetZonesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getZones.

func (GetZonesResultOutput) AvailableSlbAddressIpVersion

func (o GetZonesResultOutput) AvailableSlbAddressIpVersion() pulumi.StringPtrOutput

func (GetZonesResultOutput) AvailableSlbAddressType

func (o GetZonesResultOutput) AvailableSlbAddressType() pulumi.StringPtrOutput

func (GetZonesResultOutput) ElementType

func (GetZonesResultOutput) ElementType() reflect.Type

func (GetZonesResultOutput) EnableDetails deprecated

func (o GetZonesResultOutput) EnableDetails() pulumi.BoolPtrOutput

Deprecated: The parameter enable_details has been deprecated from version v1.154.0+

func (GetZonesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetZonesResultOutput) Ids

A list of primary zone IDs.

func (GetZonesResultOutput) MasterZoneId

func (o GetZonesResultOutput) MasterZoneId() pulumi.StringPtrOutput

(Available in 1.157.0+) The primary zone.

func (GetZonesResultOutput) OutputFile

func (GetZonesResultOutput) SlaveZoneId

(Available in 1.157.0+) The secondary zone.

func (GetZonesResultOutput) ToGetZonesResultOutput

func (o GetZonesResultOutput) ToGetZonesResultOutput() GetZonesResultOutput

func (GetZonesResultOutput) ToGetZonesResultOutputWithContext

func (o GetZonesResultOutput) ToGetZonesResultOutputWithContext(ctx context.Context) GetZonesResultOutput

func (GetZonesResultOutput) Zones

A list of availability zones. Each element contains the following attributes:

type GetZonesZone

type GetZonesZone struct {
	// ID of the zone. It is same as `masterZoneId`.
	Id string `pulumi:"id"`
	// The primary zone.
	MasterZoneId string `pulumi:"masterZoneId"`
	// The secondary zone.
	SlaveZoneId string `pulumi:"slaveZoneId"`
	// (Deprecated from 1.157.0) A list of slb slave zone ids in which the slb master zone.
	// It has been deprecated from v1.157.0 and use `slaveZoneId` instead.
	//
	// Deprecated: the attribute slb_slave_zone_ids has been deprecated from version 1.157.0 and use slave_zone_id instead.
	SlbSlaveZoneIds []string `pulumi:"slbSlaveZoneIds"`
	// (Available in 1.154.0+)A list of available resource which the slb master zone supported.
	SupportedResources []GetZonesZoneSupportedResource `pulumi:"supportedResources"`
}

type GetZonesZoneArgs

type GetZonesZoneArgs struct {
	// ID of the zone. It is same as `masterZoneId`.
	Id pulumi.StringInput `pulumi:"id"`
	// The primary zone.
	MasterZoneId pulumi.StringInput `pulumi:"masterZoneId"`
	// The secondary zone.
	SlaveZoneId pulumi.StringInput `pulumi:"slaveZoneId"`
	// (Deprecated from 1.157.0) A list of slb slave zone ids in which the slb master zone.
	// It has been deprecated from v1.157.0 and use `slaveZoneId` instead.
	//
	// Deprecated: the attribute slb_slave_zone_ids has been deprecated from version 1.157.0 and use slave_zone_id instead.
	SlbSlaveZoneIds pulumi.StringArrayInput `pulumi:"slbSlaveZoneIds"`
	// (Available in 1.154.0+)A list of available resource which the slb master zone supported.
	SupportedResources GetZonesZoneSupportedResourceArrayInput `pulumi:"supportedResources"`
}

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. It is same as `masterZoneId`.

func (GetZonesZoneOutput) MasterZoneId

func (o GetZonesZoneOutput) MasterZoneId() pulumi.StringOutput

The primary zone.

func (GetZonesZoneOutput) SlaveZoneId

func (o GetZonesZoneOutput) SlaveZoneId() pulumi.StringOutput

The secondary zone.

func (GetZonesZoneOutput) SlbSlaveZoneIds deprecated

func (o GetZonesZoneOutput) SlbSlaveZoneIds() pulumi.StringArrayOutput

(Deprecated from 1.157.0) A list of slb slave zone ids in which the slb master zone. It has been deprecated from v1.157.0 and use `slaveZoneId` instead.

Deprecated: the attribute slb_slave_zone_ids has been deprecated from version 1.157.0 and use slave_zone_id instead.

func (GetZonesZoneOutput) SupportedResources

(Available in 1.154.0+)A list of available resource which the slb master zone supported.

func (GetZonesZoneOutput) ToGetZonesZoneOutput

func (o GetZonesZoneOutput) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneOutput) ToGetZonesZoneOutputWithContext

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

type GetZonesZoneSupportedResource

type GetZonesZoneSupportedResource struct {
	// The type of IP address.
	AddressIpVersion string `pulumi:"addressIpVersion"`
	// The type of network.
	AddressType string `pulumi:"addressType"`
}

type GetZonesZoneSupportedResourceArgs

type GetZonesZoneSupportedResourceArgs struct {
	// The type of IP address.
	AddressIpVersion pulumi.StringInput `pulumi:"addressIpVersion"`
	// The type of network.
	AddressType pulumi.StringInput `pulumi:"addressType"`
}

func (GetZonesZoneSupportedResourceArgs) ElementType

func (GetZonesZoneSupportedResourceArgs) ToGetZonesZoneSupportedResourceOutput

func (i GetZonesZoneSupportedResourceArgs) ToGetZonesZoneSupportedResourceOutput() GetZonesZoneSupportedResourceOutput

func (GetZonesZoneSupportedResourceArgs) ToGetZonesZoneSupportedResourceOutputWithContext

func (i GetZonesZoneSupportedResourceArgs) ToGetZonesZoneSupportedResourceOutputWithContext(ctx context.Context) GetZonesZoneSupportedResourceOutput

type GetZonesZoneSupportedResourceArray

type GetZonesZoneSupportedResourceArray []GetZonesZoneSupportedResourceInput

func (GetZonesZoneSupportedResourceArray) ElementType

func (GetZonesZoneSupportedResourceArray) ToGetZonesZoneSupportedResourceArrayOutput

func (i GetZonesZoneSupportedResourceArray) ToGetZonesZoneSupportedResourceArrayOutput() GetZonesZoneSupportedResourceArrayOutput

func (GetZonesZoneSupportedResourceArray) ToGetZonesZoneSupportedResourceArrayOutputWithContext

func (i GetZonesZoneSupportedResourceArray) ToGetZonesZoneSupportedResourceArrayOutputWithContext(ctx context.Context) GetZonesZoneSupportedResourceArrayOutput

type GetZonesZoneSupportedResourceArrayInput

type GetZonesZoneSupportedResourceArrayInput interface {
	pulumi.Input

	ToGetZonesZoneSupportedResourceArrayOutput() GetZonesZoneSupportedResourceArrayOutput
	ToGetZonesZoneSupportedResourceArrayOutputWithContext(context.Context) GetZonesZoneSupportedResourceArrayOutput
}

GetZonesZoneSupportedResourceArrayInput is an input type that accepts GetZonesZoneSupportedResourceArray and GetZonesZoneSupportedResourceArrayOutput values. You can construct a concrete instance of `GetZonesZoneSupportedResourceArrayInput` via:

GetZonesZoneSupportedResourceArray{ GetZonesZoneSupportedResourceArgs{...} }

type GetZonesZoneSupportedResourceArrayOutput

type GetZonesZoneSupportedResourceArrayOutput struct{ *pulumi.OutputState }

func (GetZonesZoneSupportedResourceArrayOutput) ElementType

func (GetZonesZoneSupportedResourceArrayOutput) Index

func (GetZonesZoneSupportedResourceArrayOutput) ToGetZonesZoneSupportedResourceArrayOutput

func (o GetZonesZoneSupportedResourceArrayOutput) ToGetZonesZoneSupportedResourceArrayOutput() GetZonesZoneSupportedResourceArrayOutput

func (GetZonesZoneSupportedResourceArrayOutput) ToGetZonesZoneSupportedResourceArrayOutputWithContext

func (o GetZonesZoneSupportedResourceArrayOutput) ToGetZonesZoneSupportedResourceArrayOutputWithContext(ctx context.Context) GetZonesZoneSupportedResourceArrayOutput

type GetZonesZoneSupportedResourceInput

type GetZonesZoneSupportedResourceInput interface {
	pulumi.Input

	ToGetZonesZoneSupportedResourceOutput() GetZonesZoneSupportedResourceOutput
	ToGetZonesZoneSupportedResourceOutputWithContext(context.Context) GetZonesZoneSupportedResourceOutput
}

GetZonesZoneSupportedResourceInput is an input type that accepts GetZonesZoneSupportedResourceArgs and GetZonesZoneSupportedResourceOutput values. You can construct a concrete instance of `GetZonesZoneSupportedResourceInput` via:

GetZonesZoneSupportedResourceArgs{...}

type GetZonesZoneSupportedResourceOutput

type GetZonesZoneSupportedResourceOutput struct{ *pulumi.OutputState }

func (GetZonesZoneSupportedResourceOutput) AddressIpVersion

The type of IP address.

func (GetZonesZoneSupportedResourceOutput) AddressType

The type of network.

func (GetZonesZoneSupportedResourceOutput) ElementType

func (GetZonesZoneSupportedResourceOutput) ToGetZonesZoneSupportedResourceOutput

func (o GetZonesZoneSupportedResourceOutput) ToGetZonesZoneSupportedResourceOutput() GetZonesZoneSupportedResourceOutput

func (GetZonesZoneSupportedResourceOutput) ToGetZonesZoneSupportedResourceOutputWithContext

func (o GetZonesZoneSupportedResourceOutput) ToGetZonesZoneSupportedResourceOutputWithContext(ctx context.Context) GetZonesZoneSupportedResourceOutput

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.IntOutput `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"`
	// The port that is used for health checks. Valid value range: [0-65535]. Default to `0` means that the port on a backend server is used for health checks.
	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.StringOutput `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"`
	// HealthCheckMethod used for health check.Valid values: ["head", "get"] `http` and `https` support regions ap-northeast-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, us-east-1, us-west-1, eu-central-1, ap-south-1, me-east-1, cn-huhehaote, cn-zhangjiakou, ap-southeast-5, cn-shenzhen, cn-hongkong, cn-qingdao, cn-chengdu, eu-west-1, cn-hangzhou", cn-beijing, cn-shanghai.This function does not support the TCP protocol .
	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"`
	// The number of health checks that an unhealthy backend server must consecutively pass before it can be declared healthy. In this case, the health check state is changed from fail to success. It is required when `healthCheck` is on. Valid value range: [2-10] in seconds. Default to 3. **NOTE:** This parameter takes effect only if the `healthCheck` parameter is set to `on`.
	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"`
	// The ID of the master slave server group.
	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"`
	// Whether to support carrying the client source address to the backend server through the Proxy Protocol. Valid values are `true` and `false`. Default to `false`.
	ProxyProtocolV2Enabled pulumi.BoolOutput `pulumi:"proxyProtocolV2Enabled"`
	// 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`, `tcp`, `qch`. Default to `wrr`.
	// Only when `protocol` is `tcp` or `udp`, `scheduler` can be set to `sch`. Only when instance is guaranteed-performance instance and `protocol` is `tcp` or `udp`, `scheduler` can be set to `tch`. Only when instance is guaranteed-performance instance and `protocol` is `udp`, `scheduler` can be set to `qch`.
	Scheduler pulumi.StringPtrOutput `pulumi:"scheduler"`
	// SLB Server certificate ID. It is required when `protocol` is `https`. The `serverCertificateId` is also required when the value of the `sslCertificateId`  is Empty.
	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"`
	// SLB Server certificate ID. 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"`
	// The number of health checks that a healthy backend server must consecutively fail before it can be declared unhealthy. In this case, the health check state is changed from success to fail. It is required when `healthCheck` is on. Valid value range: [2-10] in seconds. Default to 3. **NOTE:** This parameter takes effect only if the `healthCheck` parameter is set to `on`.
	UnhealthyThreshold pulumi.IntPtrOutput `pulumi:"unhealthyThreshold"`
	// Whether to set additional HTTP Header field "X-Forwarded-For" (documented below). Available in v1.13.0+. The details see Block `xForwardedFor`.
	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).

## Listener fields and protocol mapping

load balance support 4 protocol 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, wlc, tch, qch | 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:tcp: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

func (*Listener) ElementType() reflect.Type

func (*Listener) ToListenerOutput

func (i *Listener) ToListenerOutput() ListenerOutput

func (*Listener) ToListenerOutputWithContext

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

type ListenerArgs

type ListenerArgs struct {
	// the 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
	// The port that is used for health checks. Valid value range: [0-65535]. Default to `0` means that the port on a backend server is used for health checks.
	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
	// HealthCheckMethod used for health check.Valid values: ["head", "get"] `http` and `https` support regions ap-northeast-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, us-east-1, us-west-1, eu-central-1, ap-south-1, me-east-1, cn-huhehaote, cn-zhangjiakou, ap-southeast-5, cn-shenzhen, cn-hongkong, cn-qingdao, cn-chengdu, eu-west-1, cn-hangzhou", cn-beijing, cn-shanghai.This function does not support the TCP protocol .
	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
	// The number of health checks that an unhealthy backend server must consecutively pass before it can be declared healthy. In this case, the health check state is changed from fail to success. It is required when `healthCheck` is on. Valid value range: [2-10] in seconds. Default to 3. **NOTE:** This parameter takes effect only if the `healthCheck` parameter is set to `on`.
	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
	// The ID of the master slave server group.
	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
	// Whether to support carrying the client source address to the backend server through the Proxy Protocol. Valid values are `true` and `false`. Default to `false`.
	ProxyProtocolV2Enabled pulumi.BoolPtrInput
	// 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`, `tcp`, `qch`. Default to `wrr`.
	// Only when `protocol` is `tcp` or `udp`, `scheduler` can be set to `sch`. Only when instance is guaranteed-performance instance and `protocol` is `tcp` or `udp`, `scheduler` can be set to `tch`. Only when instance is guaranteed-performance instance and `protocol` is `udp`, `scheduler` can be set to `qch`.
	Scheduler pulumi.StringPtrInput
	// SLB Server certificate ID. It is required when `protocol` is `https`. The `serverCertificateId` is also required when the value of the `sslCertificateId`  is Empty.
	ServerCertificateId pulumi.StringPtrInput
	// the id of server group to be apply on the listener, is the id of resource `slb.ServerGroup`.
	ServerGroupId pulumi.StringPtrInput
	// SLB Server certificate ID. 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
	// The number of health checks that a healthy backend server must consecutively fail before it can be declared unhealthy. In this case, the health check state is changed from success to fail. It is required when `healthCheck` is on. Valid value range: [2-10] in seconds. Default to 3. **NOTE:** This parameter takes effect only if the `healthCheck` parameter is set to `on`.
	UnhealthyThreshold pulumi.IntPtrInput
	// Whether to set additional HTTP Header field "X-Forwarded-For" (documented below). Available in v1.13.0+. The details see Block `xForwardedFor`.
	XForwardedFor ListenerXForwardedForPtrInput
}

The set of arguments for constructing a Listener resource.

func (ListenerArgs) ElementType

func (ListenerArgs) ElementType() reflect.Type

type ListenerArray

type ListenerArray []ListenerInput

func (ListenerArray) ElementType

func (ListenerArray) ElementType() reflect.Type

func (ListenerArray) ToListenerArrayOutput

func (i ListenerArray) ToListenerArrayOutput() ListenerArrayOutput

func (ListenerArray) ToListenerArrayOutputWithContext

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

type ListenerArrayInput

type ListenerArrayInput interface {
	pulumi.Input

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

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

ListenerArray{ ListenerArgs{...} }

type ListenerArrayOutput

type ListenerArrayOutput struct{ *pulumi.OutputState }

func (ListenerArrayOutput) ElementType

func (ListenerArrayOutput) ElementType() reflect.Type

func (ListenerArrayOutput) Index

func (ListenerArrayOutput) ToListenerArrayOutput

func (o ListenerArrayOutput) ToListenerArrayOutput() ListenerArrayOutput

func (ListenerArrayOutput) ToListenerArrayOutputWithContext

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

type ListenerInput

type ListenerInput interface {
	pulumi.Input

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

type ListenerMap

type ListenerMap map[string]ListenerInput

func (ListenerMap) ElementType

func (ListenerMap) ElementType() reflect.Type

func (ListenerMap) ToListenerMapOutput

func (i ListenerMap) ToListenerMapOutput() ListenerMapOutput

func (ListenerMap) ToListenerMapOutputWithContext

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

type ListenerMapInput

type ListenerMapInput interface {
	pulumi.Input

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

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

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

type ListenerMapOutput

type ListenerMapOutput struct{ *pulumi.OutputState }

func (ListenerMapOutput) ElementType

func (ListenerMapOutput) ElementType() reflect.Type

func (ListenerMapOutput) MapIndex

func (ListenerMapOutput) ToListenerMapOutput

func (o ListenerMapOutput) ToListenerMapOutput() ListenerMapOutput

func (ListenerMapOutput) ToListenerMapOutputWithContext

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

type ListenerOutput

type ListenerOutput struct{ *pulumi.OutputState }

func (ListenerOutput) AclId

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.

func (ListenerOutput) AclStatus

func (o ListenerOutput) AclStatus() pulumi.StringPtrOutput

Whether to enable "acl(access control list)", the acl is specified by `aclId`. Valid values are `on` and `off`. Default to `off`.

func (ListenerOutput) AclType

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.

func (ListenerOutput) BackendPort

func (o ListenerOutput) BackendPort() pulumi.IntPtrOutput

Port used by the Server Load Balancer instance backend. Valid value range: [1-65535].

func (ListenerOutput) Bandwidth

func (o ListenerOutput) Bandwidth() pulumi.IntOutput

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.

func (ListenerOutput) CaCertificateId

func (o ListenerOutput) CaCertificateId() pulumi.StringPtrOutput

SLB CA certificate ID. Only when `protocol` is `https` can be specified.

func (ListenerOutput) Cookie

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

func (ListenerOutput) CookieTimeout

func (o ListenerOutput) CookieTimeout() pulumi.IntPtrOutput

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.

func (ListenerOutput) DeleteProtectionValidation

func (o ListenerOutput) DeleteProtectionValidation() pulumi.BoolPtrOutput

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

func (ListenerOutput) Description

func (o ListenerOutput) Description() pulumi.StringPtrOutput

The description of slb listener. This description can have a string of 1 to 80 characters. Default value: null.

func (ListenerOutput) ElementType

func (ListenerOutput) ElementType() reflect.Type

func (ListenerOutput) EnableHttp2

func (o ListenerOutput) EnableHttp2() pulumi.StringPtrOutput

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

func (ListenerOutput) EstablishedTimeout

func (o ListenerOutput) EstablishedTimeout() pulumi.IntPtrOutput

Timeout of tcp listener established connection idle timeout. Valid value range: [10-900] in seconds. Default to 900.

func (ListenerOutput) ForwardPort

func (o ListenerOutput) ForwardPort() pulumi.IntPtrOutput

The port that http redirect to https.

func (ListenerOutput) FrontendPort

func (o ListenerOutput) FrontendPort() pulumi.IntOutput

Port used by the Server Load Balancer instance frontend. Valid value range: [1-65535].

func (ListenerOutput) Gzip

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

func (ListenerOutput) HealthCheck

func (o ListenerOutput) HealthCheck() pulumi.StringPtrOutput

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.

func (ListenerOutput) HealthCheckConnectPort

func (o ListenerOutput) HealthCheckConnectPort() pulumi.IntOutput

The port that is used for health checks. Valid value range: [0-65535]. Default to `0` means that the port on a backend server is used for health checks.

func (ListenerOutput) HealthCheckDomain

func (o ListenerOutput) HealthCheckDomain() pulumi.StringPtrOutput

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.

func (ListenerOutput) HealthCheckHttpCode

func (o ListenerOutput) HealthCheckHttpCode() pulumi.StringOutput

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

func (ListenerOutput) HealthCheckInterval

func (o ListenerOutput) HealthCheckInterval() pulumi.IntPtrOutput

Time interval of health checks. It is required when `healthCheck` is on. Valid value range: [1-50] in seconds. Default to 2.

func (ListenerOutput) HealthCheckMethod

func (o ListenerOutput) HealthCheckMethod() pulumi.StringOutput

HealthCheckMethod used for health check.Valid values: ["head", "get"] `http` and `https` support regions ap-northeast-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, us-east-1, us-west-1, eu-central-1, ap-south-1, me-east-1, cn-huhehaote, cn-zhangjiakou, ap-southeast-5, cn-shenzhen, cn-hongkong, cn-qingdao, cn-chengdu, eu-west-1, cn-hangzhou", cn-beijing, cn-shanghai.This function does not support the TCP protocol .

func (ListenerOutput) HealthCheckTimeout

func (o ListenerOutput) HealthCheckTimeout() pulumi.IntPtrOutput

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

func (ListenerOutput) HealthCheckType

func (o ListenerOutput) HealthCheckType() pulumi.StringPtrOutput

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.

func (ListenerOutput) HealthCheckUri

func (o ListenerOutput) HealthCheckUri() pulumi.StringPtrOutput

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.

func (ListenerOutput) HealthyThreshold

func (o ListenerOutput) HealthyThreshold() pulumi.IntPtrOutput

The number of health checks that an unhealthy backend server must consecutively pass before it can be declared healthy. In this case, the health check state is changed from fail to success. It is required when `healthCheck` is on. Valid value range: [2-10] in seconds. Default to 3. **NOTE:** This parameter takes effect only if the `healthCheck` parameter is set to `on`.

func (ListenerOutput) IdleTimeout

func (o ListenerOutput) IdleTimeout() pulumi.IntPtrOutput

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

func (ListenerOutput) InstancePort deprecated

func (o ListenerOutput) InstancePort() pulumi.IntPtrOutput

Deprecated: Field 'instance_port' has been deprecated, and using 'backend_port' to replace.

func (ListenerOutput) LbPort deprecated

func (o ListenerOutput) LbPort() pulumi.IntPtrOutput

Deprecated: Field 'lb_port' has been deprecated, and using 'frontend_port' to replace.

func (ListenerOutput) LbProtocol deprecated

func (o ListenerOutput) LbProtocol() pulumi.StringPtrOutput

Deprecated: Field 'lb_protocol' has been deprecated, and using 'protocol' to replace.

func (ListenerOutput) ListenerForward

func (o ListenerOutput) ListenerForward() pulumi.StringOutput

Whether to enable http redirect to https, Valid values are `on` and `off`. Default to `off`.

func (ListenerOutput) LoadBalancerId

func (o ListenerOutput) LoadBalancerId() pulumi.StringOutput

The Load Balancer ID which is used to launch a new listener.

func (ListenerOutput) MasterSlaveServerGroupId

func (o ListenerOutput) MasterSlaveServerGroupId() pulumi.StringPtrOutput

The ID of the master slave server group.

func (ListenerOutput) PersistenceTimeout

func (o ListenerOutput) PersistenceTimeout() pulumi.IntPtrOutput

Timeout of connection persistence. Valid value range: [0-3600] in seconds. Default to 0 and means closing it.

func (ListenerOutput) Protocol

func (o ListenerOutput) Protocol() pulumi.StringOutput

The protocol to listen on. Valid values are [`http`, `https`, `tcp`, `udp`].

func (ListenerOutput) ProxyProtocolV2Enabled

func (o ListenerOutput) ProxyProtocolV2Enabled() pulumi.BoolOutput

Whether to support carrying the client source address to the backend server through the Proxy Protocol. Valid values are `true` and `false`. Default to `false`.

func (ListenerOutput) RequestTimeout

func (o ListenerOutput) RequestTimeout() pulumi.IntPtrOutput

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 (ListenerOutput) Scheduler

func (o ListenerOutput) Scheduler() pulumi.StringPtrOutput

Scheduling algorithm, Valid values: `wrr`, `rr`, `wlc`, `sch`, `tcp`, `qch`. Default to `wrr`. Only when `protocol` is `tcp` or `udp`, `scheduler` can be set to `sch`. Only when instance is guaranteed-performance instance and `protocol` is `tcp` or `udp`, `scheduler` can be set to `tch`. Only when instance is guaranteed-performance instance and `protocol` is `udp`, `scheduler` can be set to `qch`.

func (ListenerOutput) ServerCertificateId

func (o ListenerOutput) ServerCertificateId() pulumi.StringOutput

SLB Server certificate ID. It is required when `protocol` is `https`. The `serverCertificateId` is also required when the value of the `sslCertificateId` is Empty.

func (ListenerOutput) ServerGroupId

func (o ListenerOutput) ServerGroupId() pulumi.StringPtrOutput

the id of server group to be apply on the listener, is the id of resource `slb.ServerGroup`.

func (ListenerOutput) SslCertificateId deprecated

func (o ListenerOutput) SslCertificateId() pulumi.StringOutput

SLB Server certificate ID. 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.

func (ListenerOutput) StickySession

func (o ListenerOutput) StickySession() pulumi.StringPtrOutput

Whether to enable session persistence, Valid values are `on` and `off`. Default to `off`.

func (ListenerOutput) StickySessionType

func (o ListenerOutput) StickySessionType() pulumi.StringPtrOutput

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.

func (ListenerOutput) TlsCipherPolicy

func (o ListenerOutput) TlsCipherPolicy() pulumi.StringPtrOutput

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

func (ListenerOutput) ToListenerOutput

func (o ListenerOutput) ToListenerOutput() ListenerOutput

func (ListenerOutput) ToListenerOutputWithContext

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

func (ListenerOutput) UnhealthyThreshold

func (o ListenerOutput) UnhealthyThreshold() pulumi.IntPtrOutput

The number of health checks that a healthy backend server must consecutively fail before it can be declared unhealthy. In this case, the health check state is changed from success to fail. It is required when `healthCheck` is on. Valid value range: [2-10] in seconds. Default to 3. **NOTE:** This parameter takes effect only if the `healthCheck` parameter is set to `on`.

func (ListenerOutput) XForwardedFor

func (o ListenerOutput) XForwardedFor() ListenerXForwardedForOutput

Whether to set additional HTTP Header field "X-Forwarded-For" (documented below). Available in v1.13.0+. The details see Block `xForwardedFor`.

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
	// The port that is used for health checks. Valid value range: [0-65535]. Default to `0` means that the port on a backend server is used for health checks.
	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
	// HealthCheckMethod used for health check.Valid values: ["head", "get"] `http` and `https` support regions ap-northeast-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, us-east-1, us-west-1, eu-central-1, ap-south-1, me-east-1, cn-huhehaote, cn-zhangjiakou, ap-southeast-5, cn-shenzhen, cn-hongkong, cn-qingdao, cn-chengdu, eu-west-1, cn-hangzhou", cn-beijing, cn-shanghai.This function does not support the TCP protocol .
	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
	// The number of health checks that an unhealthy backend server must consecutively pass before it can be declared healthy. In this case, the health check state is changed from fail to success. It is required when `healthCheck` is on. Valid value range: [2-10] in seconds. Default to 3. **NOTE:** This parameter takes effect only if the `healthCheck` parameter is set to `on`.
	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
	// The ID of the master slave server group.
	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
	// Whether to support carrying the client source address to the backend server through the Proxy Protocol. Valid values are `true` and `false`. Default to `false`.
	ProxyProtocolV2Enabled pulumi.BoolPtrInput
	// 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`, `tcp`, `qch`. Default to `wrr`.
	// Only when `protocol` is `tcp` or `udp`, `scheduler` can be set to `sch`. Only when instance is guaranteed-performance instance and `protocol` is `tcp` or `udp`, `scheduler` can be set to `tch`. Only when instance is guaranteed-performance instance and `protocol` is `udp`, `scheduler` can be set to `qch`.
	Scheduler pulumi.StringPtrInput
	// SLB Server certificate ID. It is required when `protocol` is `https`. The `serverCertificateId` is also required when the value of the `sslCertificateId`  is Empty.
	ServerCertificateId pulumi.StringPtrInput
	// the id of server group to be apply on the listener, is the id of resource `slb.ServerGroup`.
	ServerGroupId pulumi.StringPtrInput
	// SLB Server certificate ID. 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
	// The number of health checks that a healthy backend server must consecutively fail before it can be declared unhealthy. In this case, the health check state is changed from success to fail. It is required when `healthCheck` is on. Valid value range: [2-10] in seconds. Default to 3. **NOTE:** This parameter takes effect only if the `healthCheck` parameter is set to `on`.
	UnhealthyThreshold pulumi.IntPtrInput
	// Whether to set additional HTTP Header field "X-Forwarded-For" (documented below). Available in v1.13.0+. The details see Block `xForwardedFor`.
	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 deprecated

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.StringOutput `pulumi:"instanceChargeType"`
	// 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"`
	LoadBalancerName   pulumi.StringOutput    `pulumi:"loadBalancerName"`
	LoadBalancerSpec   pulumi.StringOutput    `pulumi:"loadBalancerSpec"`
	// 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"`
	ModificationProtectionReason pulumi.StringPtrOutput `pulumi:"modificationProtectionReason"`
	ModificationProtectionStatus pulumi.StringOutput    `pulumi:"modificationProtectionStatus"`
	// Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead
	Name        pulumi.StringOutput `pulumi:"name"`
	PaymentType pulumi.StringOutput `pulumi:"paymentType"`
	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".
	//
	// Deprecated: Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead
	Specification pulumi.StringOutput `pulumi:"specification"`
	Status        pulumi.StringOutput `pulumi:"status"`
	// 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"`
}

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraformtestslbconfig"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, 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"),
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = slb.NewLoadBalancer(ctx, "defaultLoadBalancer", &slb.LoadBalancerArgs{
			Specification: pulumi.String("slb.s2.small"),
			VswitchId:     defaultSwitch.ID(),
			Tags: pulumi.AnyMap{
				"tag_a": pulumi.Any(1),
				"tag_b": pulumi.Any(2),
				"tag_c": pulumi.Any(3),
				"tag_d": pulumi.Any(4),
				"tag_e": pulumi.Any(5),
				"tag_f": pulumi.Any(6),
				"tag_g": pulumi.Any(7),
				"tag_h": pulumi.Any(8),
				"tag_i": pulumi.Any(9),
				"tag_j": pulumi.Any(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

```

Deprecated: This resource has been deprecated in favour of the ApplicationLoadBalancer resource

func GetLoadBalancer

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

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

func NewLoadBalancer

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

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

func (*LoadBalancer) ElementType

func (*LoadBalancer) ElementType() reflect.Type

func (*LoadBalancer) ToLoadBalancerOutput

func (i *LoadBalancer) ToLoadBalancerOutput() LoadBalancerOutput

func (*LoadBalancer) ToLoadBalancerOutputWithContext

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

type LoadBalancerArgs

type LoadBalancerArgs struct {
	// 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
	// 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
	LoadBalancerName   pulumi.StringPtrInput
	LoadBalancerSpec   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
	ModificationProtectionReason pulumi.StringPtrInput
	ModificationProtectionStatus pulumi.StringPtrInput
	// Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead
	Name        pulumi.StringPtrInput
	PaymentType pulumi.StringPtrInput
	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".
	//
	// Deprecated: Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead
	Specification pulumi.StringPtrInput
	Status        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

type LoadBalancerArray []LoadBalancerInput

func (LoadBalancerArray) ElementType

func (LoadBalancerArray) ElementType() reflect.Type

func (LoadBalancerArray) ToLoadBalancerArrayOutput

func (i LoadBalancerArray) ToLoadBalancerArrayOutput() LoadBalancerArrayOutput

func (LoadBalancerArray) ToLoadBalancerArrayOutputWithContext

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

type LoadBalancerArrayInput

type LoadBalancerArrayInput interface {
	pulumi.Input

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

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

LoadBalancerArray{ LoadBalancerArgs{...} }

type LoadBalancerArrayOutput

type LoadBalancerArrayOutput struct{ *pulumi.OutputState }

func (LoadBalancerArrayOutput) ElementType

func (LoadBalancerArrayOutput) ElementType() reflect.Type

func (LoadBalancerArrayOutput) Index

func (LoadBalancerArrayOutput) ToLoadBalancerArrayOutput

func (o LoadBalancerArrayOutput) ToLoadBalancerArrayOutput() LoadBalancerArrayOutput

func (LoadBalancerArrayOutput) ToLoadBalancerArrayOutputWithContext

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

type LoadBalancerInput

type LoadBalancerInput interface {
	pulumi.Input

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

type LoadBalancerMap

type LoadBalancerMap map[string]LoadBalancerInput

func (LoadBalancerMap) ElementType

func (LoadBalancerMap) ElementType() reflect.Type

func (LoadBalancerMap) ToLoadBalancerMapOutput

func (i LoadBalancerMap) ToLoadBalancerMapOutput() LoadBalancerMapOutput

func (LoadBalancerMap) ToLoadBalancerMapOutputWithContext

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

type LoadBalancerMapInput

type LoadBalancerMapInput interface {
	pulumi.Input

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

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

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

type LoadBalancerMapOutput

type LoadBalancerMapOutput struct{ *pulumi.OutputState }

func (LoadBalancerMapOutput) ElementType

func (LoadBalancerMapOutput) ElementType() reflect.Type

func (LoadBalancerMapOutput) MapIndex

func (LoadBalancerMapOutput) ToLoadBalancerMapOutput

func (o LoadBalancerMapOutput) ToLoadBalancerMapOutput() LoadBalancerMapOutput

func (LoadBalancerMapOutput) ToLoadBalancerMapOutputWithContext

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

type LoadBalancerOutput

type LoadBalancerOutput struct{ *pulumi.OutputState }

func (LoadBalancerOutput) Address

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.

func (LoadBalancerOutput) AddressIpVersion

func (o LoadBalancerOutput) AddressIpVersion() pulumi.StringPtrOutput

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.

func (LoadBalancerOutput) AddressType

func (o LoadBalancerOutput) AddressType() pulumi.StringOutput

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.

func (LoadBalancerOutput) Bandwidth

func (o LoadBalancerOutput) Bandwidth() pulumi.IntPtrOutput

Valid value is between 1 and 1000, If argument "internetChargeType" is "paybytraffic", then this value will be ignore.

func (LoadBalancerOutput) DeleteProtection

func (o LoadBalancerOutput) DeleteProtection() pulumi.StringPtrOutput

Whether enable the deletion protection or not. on: Enable deletion protection. off: Disable deletion protection. Default to off. Only postpaid instance support this function.

func (LoadBalancerOutput) ElementType

func (LoadBalancerOutput) ElementType() reflect.Type

func (LoadBalancerOutput) InstanceChargeType

func (o LoadBalancerOutput) InstanceChargeType() pulumi.StringOutput

The billing method of the load balancer. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid".

func (LoadBalancerOutput) InternetChargeType

func (o LoadBalancerOutput) InternetChargeType() pulumi.StringPtrOutput

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

func (LoadBalancerOutput) LoadBalancerName

func (o LoadBalancerOutput) LoadBalancerName() pulumi.StringOutput

func (LoadBalancerOutput) LoadBalancerSpec

func (o LoadBalancerOutput) LoadBalancerSpec() pulumi.StringOutput

func (LoadBalancerOutput) MasterZoneId

func (o LoadBalancerOutput) MasterZoneId() pulumi.StringOutput

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.

func (LoadBalancerOutput) ModificationProtectionReason

func (o LoadBalancerOutput) ModificationProtectionReason() pulumi.StringPtrOutput

func (LoadBalancerOutput) ModificationProtectionStatus

func (o LoadBalancerOutput) ModificationProtectionStatus() pulumi.StringOutput

func (LoadBalancerOutput) Name deprecated

Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead

func (LoadBalancerOutput) PaymentType

func (o LoadBalancerOutput) PaymentType() pulumi.StringOutput

func (LoadBalancerOutput) Period

func (LoadBalancerOutput) ResourceGroupId

func (o LoadBalancerOutput) ResourceGroupId() pulumi.StringOutput

The Id of resource group which the SLB belongs.

func (LoadBalancerOutput) SlaveZoneId

func (o LoadBalancerOutput) SlaveZoneId() pulumi.StringOutput

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.

func (LoadBalancerOutput) Specification deprecated

func (o LoadBalancerOutput) Specification() pulumi.StringOutput

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

Deprecated: Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead

func (LoadBalancerOutput) Status

func (LoadBalancerOutput) Tags

A mapping of tags to assign to the resource. The `tags` can have a maximum of 10 tag for every load balancer instance.

func (LoadBalancerOutput) ToLoadBalancerOutput

func (o LoadBalancerOutput) ToLoadBalancerOutput() LoadBalancerOutput

func (LoadBalancerOutput) ToLoadBalancerOutputWithContext

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

func (LoadBalancerOutput) VswitchId

The VSwitch ID to launch in. If `addressType` is internet, it will be ignore.

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
	// 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
	LoadBalancerName   pulumi.StringPtrInput
	LoadBalancerSpec   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
	ModificationProtectionReason pulumi.StringPtrInput
	ModificationProtectionStatus pulumi.StringPtrInput
	// Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead
	Name        pulumi.StringPtrInput
	PaymentType pulumi.StringPtrInput
	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".
	//
	// Deprecated: Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead
	Specification pulumi.StringPtrInput
	Status        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

func (*MasterSlaveServerGroup) ElementType() reflect.Type

func (*MasterSlaveServerGroup) ToMasterSlaveServerGroupOutput

func (i *MasterSlaveServerGroup) ToMasterSlaveServerGroupOutput() MasterSlaveServerGroupOutput

func (*MasterSlaveServerGroup) ToMasterSlaveServerGroupOutputWithContext

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

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

type MasterSlaveServerGroupArray []MasterSlaveServerGroupInput

func (MasterSlaveServerGroupArray) ElementType

func (MasterSlaveServerGroupArray) ToMasterSlaveServerGroupArrayOutput

func (i MasterSlaveServerGroupArray) ToMasterSlaveServerGroupArrayOutput() MasterSlaveServerGroupArrayOutput

func (MasterSlaveServerGroupArray) ToMasterSlaveServerGroupArrayOutputWithContext

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

type MasterSlaveServerGroupArrayInput

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

type MasterSlaveServerGroupArrayOutput struct{ *pulumi.OutputState }

func (MasterSlaveServerGroupArrayOutput) ElementType

func (MasterSlaveServerGroupArrayOutput) Index

func (MasterSlaveServerGroupArrayOutput) ToMasterSlaveServerGroupArrayOutput

func (o MasterSlaveServerGroupArrayOutput) ToMasterSlaveServerGroupArrayOutput() MasterSlaveServerGroupArrayOutput

func (MasterSlaveServerGroupArrayOutput) ToMasterSlaveServerGroupArrayOutputWithContext

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

type MasterSlaveServerGroupInput

type MasterSlaveServerGroupInput interface {
	pulumi.Input

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

type MasterSlaveServerGroupMap

type MasterSlaveServerGroupMap map[string]MasterSlaveServerGroupInput

func (MasterSlaveServerGroupMap) ElementType

func (MasterSlaveServerGroupMap) ElementType() reflect.Type

func (MasterSlaveServerGroupMap) ToMasterSlaveServerGroupMapOutput

func (i MasterSlaveServerGroupMap) ToMasterSlaveServerGroupMapOutput() MasterSlaveServerGroupMapOutput

func (MasterSlaveServerGroupMap) ToMasterSlaveServerGroupMapOutputWithContext

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

type MasterSlaveServerGroupMapInput

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

type MasterSlaveServerGroupMapOutput struct{ *pulumi.OutputState }

func (MasterSlaveServerGroupMapOutput) ElementType

func (MasterSlaveServerGroupMapOutput) MapIndex

func (MasterSlaveServerGroupMapOutput) ToMasterSlaveServerGroupMapOutput

func (o MasterSlaveServerGroupMapOutput) ToMasterSlaveServerGroupMapOutput() MasterSlaveServerGroupMapOutput

func (MasterSlaveServerGroupMapOutput) ToMasterSlaveServerGroupMapOutputWithContext

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

type MasterSlaveServerGroupOutput

type MasterSlaveServerGroupOutput struct{ *pulumi.OutputState }

func (MasterSlaveServerGroupOutput) DeleteProtectionValidation

func (o MasterSlaveServerGroupOutput) DeleteProtectionValidation() pulumi.BoolPtrOutput

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

func (MasterSlaveServerGroupOutput) ElementType

func (MasterSlaveServerGroupOutput) LoadBalancerId

The Load Balancer ID which is used to launch a new master slave server group.

func (MasterSlaveServerGroupOutput) Name

Name of the master slave server group.

func (MasterSlaveServerGroupOutput) Servers

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.

func (MasterSlaveServerGroupOutput) ToMasterSlaveServerGroupOutput

func (o MasterSlaveServerGroupOutput) ToMasterSlaveServerGroupOutput() MasterSlaveServerGroupOutput

func (MasterSlaveServerGroupOutput) ToMasterSlaveServerGroupOutputWithContext

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

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

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

func (*Rule) ElementType() reflect.Type

func (*Rule) ToRuleOutput

func (i *Rule) ToRuleOutput() RuleOutput

func (*Rule) ToRuleOutputWithContext

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

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

type RuleArray []RuleInput

func (RuleArray) ElementType

func (RuleArray) ElementType() reflect.Type

func (RuleArray) ToRuleArrayOutput

func (i RuleArray) ToRuleArrayOutput() RuleArrayOutput

func (RuleArray) ToRuleArrayOutputWithContext

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

type RuleArrayInput

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

type RuleArrayOutput struct{ *pulumi.OutputState }

func (RuleArrayOutput) ElementType

func (RuleArrayOutput) ElementType() reflect.Type

func (RuleArrayOutput) Index

func (RuleArrayOutput) ToRuleArrayOutput

func (o RuleArrayOutput) ToRuleArrayOutput() RuleArrayOutput

func (RuleArrayOutput) ToRuleArrayOutputWithContext

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

type RuleInput

type RuleInput interface {
	pulumi.Input

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

type RuleMap

type RuleMap map[string]RuleInput

func (RuleMap) ElementType

func (RuleMap) ElementType() reflect.Type

func (RuleMap) ToRuleMapOutput

func (i RuleMap) ToRuleMapOutput() RuleMapOutput

func (RuleMap) ToRuleMapOutputWithContext

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

type RuleMapInput

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

type RuleMapOutput struct{ *pulumi.OutputState }

func (RuleMapOutput) ElementType

func (RuleMapOutput) ElementType() reflect.Type

func (RuleMapOutput) MapIndex

func (RuleMapOutput) ToRuleMapOutput

func (o RuleMapOutput) ToRuleMapOutput() RuleMapOutput

func (RuleMapOutput) ToRuleMapOutputWithContext

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

type RuleOutput

type RuleOutput struct{ *pulumi.OutputState }

func (RuleOutput) Cookie

func (o RuleOutput) Cookie() pulumi.StringPtrOutput

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

func (RuleOutput) CookieTimeout

func (o RuleOutput) CookieTimeout() pulumi.IntPtrOutput

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.

func (RuleOutput) DeleteProtectionValidation

func (o RuleOutput) DeleteProtectionValidation() pulumi.BoolPtrOutput

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

func (RuleOutput) Domain

func (o RuleOutput) Domain() pulumi.StringPtrOutput

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

func (RuleOutput) ElementType

func (RuleOutput) ElementType() reflect.Type

func (RuleOutput) FrontendPort

func (o RuleOutput) FrontendPort() pulumi.IntOutput

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

func (RuleOutput) HealthCheck

func (o RuleOutput) HealthCheck() pulumi.StringPtrOutput

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.

func (RuleOutput) HealthCheckConnectPort

func (o RuleOutput) HealthCheckConnectPort() pulumi.IntOutput

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

func (RuleOutput) HealthCheckDomain

func (o RuleOutput) HealthCheckDomain() pulumi.StringPtrOutput

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.

func (RuleOutput) HealthCheckHttpCode

func (o RuleOutput) HealthCheckHttpCode() pulumi.StringPtrOutput

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

func (RuleOutput) HealthCheckInterval

func (o RuleOutput) HealthCheckInterval() pulumi.IntPtrOutput

Time interval of health checks. It is required when `healthCheck` is on. Valid value range: [1-50] in seconds. Default to 2.

func (RuleOutput) HealthCheckTimeout

func (o RuleOutput) HealthCheckTimeout() pulumi.IntPtrOutput

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

func (RuleOutput) HealthCheckUri

func (o RuleOutput) HealthCheckUri() pulumi.StringPtrOutput

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.

func (RuleOutput) HealthyThreshold

func (o RuleOutput) HealthyThreshold() pulumi.IntPtrOutput

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.

func (RuleOutput) ListenerSync

func (o RuleOutput) ListenerSync() pulumi.StringPtrOutput

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

func (RuleOutput) LoadBalancerId

func (o RuleOutput) LoadBalancerId() pulumi.StringOutput

The Load Balancer ID which is used to launch the new forwarding rule.

func (RuleOutput) Name

func (o RuleOutput) Name() pulumi.StringOutput

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

func (RuleOutput) Scheduler

func (o RuleOutput) Scheduler() pulumi.StringPtrOutput

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.

func (RuleOutput) ServerGroupId

func (o RuleOutput) ServerGroupId() pulumi.StringOutput

ID of a virtual server group that will be forwarded.

func (RuleOutput) StickySession

func (o RuleOutput) StickySession() pulumi.StringPtrOutput

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.

func (RuleOutput) StickySessionType

func (o RuleOutput) StickySessionType() pulumi.StringPtrOutput

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.

func (RuleOutput) ToRuleOutput

func (o RuleOutput) ToRuleOutput() RuleOutput

func (RuleOutput) ToRuleOutputWithContext

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

func (RuleOutput) UnhealthyThreshold

func (o RuleOutput) UnhealthyThreshold() pulumi.IntPtrOutput

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.

func (RuleOutput) Url

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.

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

## Example Usage

* using server_certificate/private content as string example

```go package main

import (

"fmt"

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := slb.NewServerCertificate(ctx, "foo", &slb.ServerCertificateArgs{
			PrivateKey:        pulumi.String(fmt.Sprintf("-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0knDrlNdiys******ErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n")),
			ServerCertificate: pulumi.String(fmt.Sprintf("-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgI+OuMs******XTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

* using server_certificate/private file example

```go package main

import (

"fmt"
"io/ioutil"

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := slb.NewServerCertificate(ctx, "foo", &slb.ServerCertificateArgs{
			ServerCertificate: readFileOrPanic(fmt.Sprintf("%v/server_certificate.pem", path.Module)),
			PrivateKey:        readFileOrPanic(fmt.Sprintf("%v/private_key.pem", path.Module)),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

func (*ServerCertificate) ElementType() reflect.Type

func (*ServerCertificate) ToServerCertificateOutput

func (i *ServerCertificate) ToServerCertificateOutput() ServerCertificateOutput

func (*ServerCertificate) ToServerCertificateOutputWithContext

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

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

type ServerCertificateArray []ServerCertificateInput

func (ServerCertificateArray) ElementType

func (ServerCertificateArray) ElementType() reflect.Type

func (ServerCertificateArray) ToServerCertificateArrayOutput

func (i ServerCertificateArray) ToServerCertificateArrayOutput() ServerCertificateArrayOutput

func (ServerCertificateArray) ToServerCertificateArrayOutputWithContext

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

type ServerCertificateArrayInput

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

type ServerCertificateArrayOutput struct{ *pulumi.OutputState }

func (ServerCertificateArrayOutput) ElementType

func (ServerCertificateArrayOutput) Index

func (ServerCertificateArrayOutput) ToServerCertificateArrayOutput

func (o ServerCertificateArrayOutput) ToServerCertificateArrayOutput() ServerCertificateArrayOutput

func (ServerCertificateArrayOutput) ToServerCertificateArrayOutputWithContext

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

type ServerCertificateInput

type ServerCertificateInput interface {
	pulumi.Input

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

type ServerCertificateMap

type ServerCertificateMap map[string]ServerCertificateInput

func (ServerCertificateMap) ElementType

func (ServerCertificateMap) ElementType() reflect.Type

func (ServerCertificateMap) ToServerCertificateMapOutput

func (i ServerCertificateMap) ToServerCertificateMapOutput() ServerCertificateMapOutput

func (ServerCertificateMap) ToServerCertificateMapOutputWithContext

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

type ServerCertificateMapInput

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

type ServerCertificateMapOutput struct{ *pulumi.OutputState }

func (ServerCertificateMapOutput) ElementType

func (ServerCertificateMapOutput) ElementType() reflect.Type

func (ServerCertificateMapOutput) MapIndex

func (ServerCertificateMapOutput) ToServerCertificateMapOutput

func (o ServerCertificateMapOutput) ToServerCertificateMapOutput() ServerCertificateMapOutput

func (ServerCertificateMapOutput) ToServerCertificateMapOutputWithContext

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

type ServerCertificateOutput

type ServerCertificateOutput struct{ *pulumi.OutputState }

func (ServerCertificateOutput) AlicloudCertifacteId deprecated

func (o ServerCertificateOutput) AlicloudCertifacteId() pulumi.StringPtrOutput

Deprecated: Field 'alicloud_certifacte_id' has been deprecated from provider version 1.68.0. Use 'alicloud_certificate_id' replaces it.

func (ServerCertificateOutput) AlicloudCertifacteName deprecated

func (o ServerCertificateOutput) AlicloudCertifacteName() pulumi.StringPtrOutput

Deprecated: Field 'alicloud_certifacte_name' has been deprecated from provider version 1.68.0. Use 'alicloud_certificate_name' replaces it.

func (ServerCertificateOutput) AlicloudCertificateId

func (o ServerCertificateOutput) AlicloudCertificateId() pulumi.StringPtrOutput

an id of server certificate ssued/proxied by alibaba cloud. but it is not supported on the international site of alibaba cloud now.

func (ServerCertificateOutput) AlicloudCertificateName

func (o ServerCertificateOutput) AlicloudCertificateName() pulumi.StringPtrOutput

the name of the certificate specified by `alicloudCertificateId`.but it is not supported on the international site of alibaba cloud now.

func (ServerCertificateOutput) AlicloudCertificateRegionId

func (o ServerCertificateOutput) AlicloudCertificateRegionId() pulumi.StringPtrOutput

the region of the certificate specified by `alicloudCertificateId`. but it is not supported on the international site of alibaba cloud now.

func (ServerCertificateOutput) ElementType

func (ServerCertificateOutput) ElementType() reflect.Type

func (ServerCertificateOutput) Name

Name of the Server Certificate.

func (ServerCertificateOutput) PrivateKey

the content of privat key of the ssl certificate specified by `serverCertificate`. where `alicloudCertificateId` is null, it is required, otherwise it is ignored.

func (ServerCertificateOutput) ResourceGroupId

func (o ServerCertificateOutput) ResourceGroupId() pulumi.StringOutput

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

func (ServerCertificateOutput) ServerCertificate

func (o ServerCertificateOutput) ServerCertificate() pulumi.StringPtrOutput

the content of the ssl certificate. where `alicloudCertificateId` is null, it is required, otherwise it is ignored.

func (ServerCertificateOutput) Tags

A mapping of tags to assign to the resource.

func (ServerCertificateOutput) ToServerCertificateOutput

func (o ServerCertificateOutput) ToServerCertificateOutput() ServerCertificateOutput

func (ServerCertificateOutput) ToServerCertificateOutputWithContext

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

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. **NOTE:** Field 'servers' has been deprecated from provider version 1.163.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_server_group_server_attachment'. At most 20 ECS instances can be supported in one resource. It contains three sub-fields as `Block server` follows.
	//
	// Deprecated: Field 'servers' has been deprecated from provider version 1.163.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_server_group_server_attachment'.
	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.

For information about server group and how to use it, see [Configure a server group](https://www.alibabacloud.com/help/en/doc-detail/35215.html).

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

func (*ServerGroup) ElementType() reflect.Type

func (*ServerGroup) ToServerGroupOutput

func (i *ServerGroup) ToServerGroupOutput() ServerGroupOutput

func (*ServerGroup) ToServerGroupOutputWithContext

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

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. **NOTE:** Field 'servers' has been deprecated from provider version 1.163.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_server_group_server_attachment'. At most 20 ECS instances can be supported in one resource. It contains three sub-fields as `Block server` follows.
	//
	// Deprecated: Field 'servers' has been deprecated from provider version 1.163.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_server_group_server_attachment'.
	Servers ServerGroupServerArrayInput
}

The set of arguments for constructing a ServerGroup resource.

func (ServerGroupArgs) ElementType

func (ServerGroupArgs) ElementType() reflect.Type

type ServerGroupArray

type ServerGroupArray []ServerGroupInput

func (ServerGroupArray) ElementType

func (ServerGroupArray) ElementType() reflect.Type

func (ServerGroupArray) ToServerGroupArrayOutput

func (i ServerGroupArray) ToServerGroupArrayOutput() ServerGroupArrayOutput

func (ServerGroupArray) ToServerGroupArrayOutputWithContext

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

type ServerGroupArrayInput

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

type ServerGroupArrayOutput struct{ *pulumi.OutputState }

func (ServerGroupArrayOutput) ElementType

func (ServerGroupArrayOutput) ElementType() reflect.Type

func (ServerGroupArrayOutput) Index

func (ServerGroupArrayOutput) ToServerGroupArrayOutput

func (o ServerGroupArrayOutput) ToServerGroupArrayOutput() ServerGroupArrayOutput

func (ServerGroupArrayOutput) ToServerGroupArrayOutputWithContext

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

type ServerGroupInput

type ServerGroupInput interface {
	pulumi.Input

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

type ServerGroupMap

type ServerGroupMap map[string]ServerGroupInput

func (ServerGroupMap) ElementType

func (ServerGroupMap) ElementType() reflect.Type

func (ServerGroupMap) ToServerGroupMapOutput

func (i ServerGroupMap) ToServerGroupMapOutput() ServerGroupMapOutput

func (ServerGroupMap) ToServerGroupMapOutputWithContext

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

type ServerGroupMapInput

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

type ServerGroupMapOutput struct{ *pulumi.OutputState }

func (ServerGroupMapOutput) ElementType

func (ServerGroupMapOutput) ElementType() reflect.Type

func (ServerGroupMapOutput) MapIndex

func (ServerGroupMapOutput) ToServerGroupMapOutput

func (o ServerGroupMapOutput) ToServerGroupMapOutput() ServerGroupMapOutput

func (ServerGroupMapOutput) ToServerGroupMapOutputWithContext

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

type ServerGroupOutput

type ServerGroupOutput struct{ *pulumi.OutputState }

func (ServerGroupOutput) DeleteProtectionValidation

func (o ServerGroupOutput) DeleteProtectionValidation() pulumi.BoolPtrOutput

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

func (ServerGroupOutput) ElementType

func (ServerGroupOutput) ElementType() reflect.Type

func (ServerGroupOutput) LoadBalancerId

func (o ServerGroupOutput) LoadBalancerId() pulumi.StringOutput

The Load Balancer ID which is used to launch a new virtual server group.

func (ServerGroupOutput) Name

Name of the virtual server group. Our plugin provides a default name: "tf-server-group".

func (ServerGroupOutput) Servers deprecated

A list of ECS instances to be added. **NOTE:** Field 'servers' has been deprecated from provider version 1.163.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_server_group_server_attachment'. At most 20 ECS instances can be supported in one resource. It contains three sub-fields as `Block server` follows.

Deprecated: Field 'servers' has been deprecated from provider version 1.163.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_server_group_server_attachment'.

func (ServerGroupOutput) ToServerGroupOutput

func (o ServerGroupOutput) ToServerGroupOutput() ServerGroupOutput

func (ServerGroupOutput) ToServerGroupOutputWithContext

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

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 ServerGroupServerAttachment

type ServerGroupServerAttachment struct {
	pulumi.CustomResourceState

	// The description of the backend server.
	Description pulumi.StringOutput `pulumi:"description"`
	// The port that is used by the backend server. Valid values: `1` to `65535`.
	Port pulumi.IntOutput `pulumi:"port"`
	// The ID of the server group.
	ServerGroupId pulumi.StringOutput `pulumi:"serverGroupId"`
	// The ID of the backend server. You can specify the ID of an Elastic Compute Service (ECS) instance or an elastic network interface (ENI).
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// The type of backend server. Valid values: `ecs`, `eni`.
	Type pulumi.StringOutput `pulumi:"type"`
	// The weight of the backend server. Valid values: `0` to `100`. Default value: `100`. If the value is set to `0`, no requests are forwarded to the backend server.
	Weight pulumi.IntOutput `pulumi:"weight"`
}

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

For information about server group server attachment and how to use it, see [Configure a server group server attachment](https://www.alibabacloud.com/help/en/doc-detail/35218.html).

> **NOTE:** Applying this resource may conflict with applying `slb.Listener`, and the `slb.Listener` block should use `dependsOn = [alicloud_slb_server_group_server_attachment.xxx]` to avoid it.

## Import

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

```sh

$ pulumi import alicloud:slb/serverGroupServerAttachment:ServerGroupServerAttachment example <server_group_id>:<server_id>:<port>

```

func GetServerGroupServerAttachment

func GetServerGroupServerAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerGroupServerAttachmentState, opts ...pulumi.ResourceOption) (*ServerGroupServerAttachment, error)

GetServerGroupServerAttachment gets an existing ServerGroupServerAttachment 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 NewServerGroupServerAttachment

func NewServerGroupServerAttachment(ctx *pulumi.Context,
	name string, args *ServerGroupServerAttachmentArgs, opts ...pulumi.ResourceOption) (*ServerGroupServerAttachment, error)

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

func (*ServerGroupServerAttachment) ElementType

func (*ServerGroupServerAttachment) ElementType() reflect.Type

func (*ServerGroupServerAttachment) ToServerGroupServerAttachmentOutput

func (i *ServerGroupServerAttachment) ToServerGroupServerAttachmentOutput() ServerGroupServerAttachmentOutput

func (*ServerGroupServerAttachment) ToServerGroupServerAttachmentOutputWithContext

func (i *ServerGroupServerAttachment) ToServerGroupServerAttachmentOutputWithContext(ctx context.Context) ServerGroupServerAttachmentOutput

type ServerGroupServerAttachmentArgs

type ServerGroupServerAttachmentArgs struct {
	// The description of the backend server.
	Description pulumi.StringPtrInput
	// The port that is used by the backend server. Valid values: `1` to `65535`.
	Port pulumi.IntInput
	// The ID of the server group.
	ServerGroupId pulumi.StringInput
	// The ID of the backend server. You can specify the ID of an Elastic Compute Service (ECS) instance or an elastic network interface (ENI).
	ServerId pulumi.StringInput
	// The type of backend server. Valid values: `ecs`, `eni`.
	Type pulumi.StringPtrInput
	// The weight of the backend server. Valid values: `0` to `100`. Default value: `100`. If the value is set to `0`, no requests are forwarded to the backend server.
	Weight pulumi.IntPtrInput
}

The set of arguments for constructing a ServerGroupServerAttachment resource.

func (ServerGroupServerAttachmentArgs) ElementType

type ServerGroupServerAttachmentArray

type ServerGroupServerAttachmentArray []ServerGroupServerAttachmentInput

func (ServerGroupServerAttachmentArray) ElementType

func (ServerGroupServerAttachmentArray) ToServerGroupServerAttachmentArrayOutput

func (i ServerGroupServerAttachmentArray) ToServerGroupServerAttachmentArrayOutput() ServerGroupServerAttachmentArrayOutput

func (ServerGroupServerAttachmentArray) ToServerGroupServerAttachmentArrayOutputWithContext

func (i ServerGroupServerAttachmentArray) ToServerGroupServerAttachmentArrayOutputWithContext(ctx context.Context) ServerGroupServerAttachmentArrayOutput

type ServerGroupServerAttachmentArrayInput

type ServerGroupServerAttachmentArrayInput interface {
	pulumi.Input

	ToServerGroupServerAttachmentArrayOutput() ServerGroupServerAttachmentArrayOutput
	ToServerGroupServerAttachmentArrayOutputWithContext(context.Context) ServerGroupServerAttachmentArrayOutput
}

ServerGroupServerAttachmentArrayInput is an input type that accepts ServerGroupServerAttachmentArray and ServerGroupServerAttachmentArrayOutput values. You can construct a concrete instance of `ServerGroupServerAttachmentArrayInput` via:

ServerGroupServerAttachmentArray{ ServerGroupServerAttachmentArgs{...} }

type ServerGroupServerAttachmentArrayOutput

type ServerGroupServerAttachmentArrayOutput struct{ *pulumi.OutputState }

func (ServerGroupServerAttachmentArrayOutput) ElementType

func (ServerGroupServerAttachmentArrayOutput) Index

func (ServerGroupServerAttachmentArrayOutput) ToServerGroupServerAttachmentArrayOutput

func (o ServerGroupServerAttachmentArrayOutput) ToServerGroupServerAttachmentArrayOutput() ServerGroupServerAttachmentArrayOutput

func (ServerGroupServerAttachmentArrayOutput) ToServerGroupServerAttachmentArrayOutputWithContext

func (o ServerGroupServerAttachmentArrayOutput) ToServerGroupServerAttachmentArrayOutputWithContext(ctx context.Context) ServerGroupServerAttachmentArrayOutput

type ServerGroupServerAttachmentInput

type ServerGroupServerAttachmentInput interface {
	pulumi.Input

	ToServerGroupServerAttachmentOutput() ServerGroupServerAttachmentOutput
	ToServerGroupServerAttachmentOutputWithContext(ctx context.Context) ServerGroupServerAttachmentOutput
}

type ServerGroupServerAttachmentMap

type ServerGroupServerAttachmentMap map[string]ServerGroupServerAttachmentInput

func (ServerGroupServerAttachmentMap) ElementType

func (ServerGroupServerAttachmentMap) ToServerGroupServerAttachmentMapOutput

func (i ServerGroupServerAttachmentMap) ToServerGroupServerAttachmentMapOutput() ServerGroupServerAttachmentMapOutput

func (ServerGroupServerAttachmentMap) ToServerGroupServerAttachmentMapOutputWithContext

func (i ServerGroupServerAttachmentMap) ToServerGroupServerAttachmentMapOutputWithContext(ctx context.Context) ServerGroupServerAttachmentMapOutput

type ServerGroupServerAttachmentMapInput

type ServerGroupServerAttachmentMapInput interface {
	pulumi.Input

	ToServerGroupServerAttachmentMapOutput() ServerGroupServerAttachmentMapOutput
	ToServerGroupServerAttachmentMapOutputWithContext(context.Context) ServerGroupServerAttachmentMapOutput
}

ServerGroupServerAttachmentMapInput is an input type that accepts ServerGroupServerAttachmentMap and ServerGroupServerAttachmentMapOutput values. You can construct a concrete instance of `ServerGroupServerAttachmentMapInput` via:

ServerGroupServerAttachmentMap{ "key": ServerGroupServerAttachmentArgs{...} }

type ServerGroupServerAttachmentMapOutput

type ServerGroupServerAttachmentMapOutput struct{ *pulumi.OutputState }

func (ServerGroupServerAttachmentMapOutput) ElementType

func (ServerGroupServerAttachmentMapOutput) MapIndex

func (ServerGroupServerAttachmentMapOutput) ToServerGroupServerAttachmentMapOutput

func (o ServerGroupServerAttachmentMapOutput) ToServerGroupServerAttachmentMapOutput() ServerGroupServerAttachmentMapOutput

func (ServerGroupServerAttachmentMapOutput) ToServerGroupServerAttachmentMapOutputWithContext

func (o ServerGroupServerAttachmentMapOutput) ToServerGroupServerAttachmentMapOutputWithContext(ctx context.Context) ServerGroupServerAttachmentMapOutput

type ServerGroupServerAttachmentOutput

type ServerGroupServerAttachmentOutput struct{ *pulumi.OutputState }

func (ServerGroupServerAttachmentOutput) Description

The description of the backend server.

func (ServerGroupServerAttachmentOutput) ElementType

func (ServerGroupServerAttachmentOutput) Port

The port that is used by the backend server. Valid values: `1` to `65535`.

func (ServerGroupServerAttachmentOutput) ServerGroupId

The ID of the server group.

func (ServerGroupServerAttachmentOutput) ServerId

The ID of the backend server. You can specify the ID of an Elastic Compute Service (ECS) instance or an elastic network interface (ENI).

func (ServerGroupServerAttachmentOutput) ToServerGroupServerAttachmentOutput

func (o ServerGroupServerAttachmentOutput) ToServerGroupServerAttachmentOutput() ServerGroupServerAttachmentOutput

func (ServerGroupServerAttachmentOutput) ToServerGroupServerAttachmentOutputWithContext

func (o ServerGroupServerAttachmentOutput) ToServerGroupServerAttachmentOutputWithContext(ctx context.Context) ServerGroupServerAttachmentOutput

func (ServerGroupServerAttachmentOutput) Type

The type of backend server. Valid values: `ecs`, `eni`.

func (ServerGroupServerAttachmentOutput) Weight

The weight of the backend server. Valid values: `0` to `100`. Default value: `100`. If the value is set to `0`, no requests are forwarded to the backend server.

type ServerGroupServerAttachmentState

type ServerGroupServerAttachmentState struct {
	// The description of the backend server.
	Description pulumi.StringPtrInput
	// The port that is used by the backend server. Valid values: `1` to `65535`.
	Port pulumi.IntPtrInput
	// The ID of the server group.
	ServerGroupId pulumi.StringPtrInput
	// The ID of the backend server. You can specify the ID of an Elastic Compute Service (ECS) instance or an elastic network interface (ENI).
	ServerId pulumi.StringPtrInput
	// The type of backend server. Valid values: `ecs`, `eni`.
	Type pulumi.StringPtrInput
	// The weight of the backend server. Valid values: `0` to `100`. Default value: `100`. If the value is set to `0`, no requests are forwarded to the backend server.
	Weight pulumi.IntPtrInput
}

func (ServerGroupServerAttachmentState) ElementType

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. **NOTE:** Field 'servers' has been deprecated from provider version 1.163.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_server_group_server_attachment'. At most 20 ECS instances can be supported in one resource. It contains three sub-fields as `Block server` follows.
	//
	// Deprecated: Field 'servers' has been deprecated from provider version 1.163.0 and it will be removed in the future version. Please use the new resource 'alicloud_slb_server_group_server_attachment'.
	Servers ServerGroupServerArrayInput
}

func (ServerGroupState) ElementType

func (ServerGroupState) ElementType() reflect.Type

type TlsCipherPolicy

type TlsCipherPolicy struct {
	pulumi.CustomResourceState

	// The encryption algorithms supported. It depends on the value of `tlsVersions`.
	Ciphers pulumi.StringArrayOutput `pulumi:"ciphers"`
	// TLS policy instance state.
	Status pulumi.StringOutput `pulumi:"status"`
	// TLS policy name. Length is from 2 to 128, or in both the English and Chinese characters must be with an uppercase/lowercase letter or a Chinese character and the beginning, may contain numbers, in dot `.`, underscore `_` or dash `-`.
	TlsCipherPolicyName pulumi.StringOutput `pulumi:"tlsCipherPolicyName"`
	// The version of TLS protocol. You can find the corresponding value description in the document center [What is Tls Cipher Policy](https://www.alibabacloud.com/help/doc-detail/196714.htm).
	TlsVersions pulumi.StringArrayOutput `pulumi:"tlsVersions"`
}

Provides a SLB Tls Cipher Policy resource.

For information about SLB Tls Cipher Policy and how to use it, see [What is Tls Cipher Policy](https://www.alibabacloud.com/help/doc-detail/196714.htm).

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/slb"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := slb.NewTlsCipherPolicy(ctx, "example", &slb.TlsCipherPolicyArgs{
			Ciphers: pulumi.StringArray{
				pulumi.String("AES256-SHA256"),
				pulumi.String("AES128-GCM-SHA256"),
			},
			TlsCipherPolicyName: pulumi.String("Test-example_value"),
			TlsVersions: pulumi.StringArray{
				pulumi.String("TLSv1.2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SLB Tls Cipher Policy can be imported using the id, e.g.

```sh

$ pulumi import alicloud:slb/tlsCipherPolicy:TlsCipherPolicy example <id>

```

func GetTlsCipherPolicy

func GetTlsCipherPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TlsCipherPolicyState, opts ...pulumi.ResourceOption) (*TlsCipherPolicy, error)

GetTlsCipherPolicy gets an existing TlsCipherPolicy 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 NewTlsCipherPolicy

func NewTlsCipherPolicy(ctx *pulumi.Context,
	name string, args *TlsCipherPolicyArgs, opts ...pulumi.ResourceOption) (*TlsCipherPolicy, error)

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

func (*TlsCipherPolicy) ElementType

func (*TlsCipherPolicy) ElementType() reflect.Type

func (*TlsCipherPolicy) ToTlsCipherPolicyOutput

func (i *TlsCipherPolicy) ToTlsCipherPolicyOutput() TlsCipherPolicyOutput

func (*TlsCipherPolicy) ToTlsCipherPolicyOutputWithContext

func (i *TlsCipherPolicy) ToTlsCipherPolicyOutputWithContext(ctx context.Context) TlsCipherPolicyOutput

type TlsCipherPolicyArgs

type TlsCipherPolicyArgs struct {
	// The encryption algorithms supported. It depends on the value of `tlsVersions`.
	Ciphers pulumi.StringArrayInput
	// TLS policy name. Length is from 2 to 128, or in both the English and Chinese characters must be with an uppercase/lowercase letter or a Chinese character and the beginning, may contain numbers, in dot `.`, underscore `_` or dash `-`.
	TlsCipherPolicyName pulumi.StringInput
	// The version of TLS protocol. You can find the corresponding value description in the document center [What is Tls Cipher Policy](https://www.alibabacloud.com/help/doc-detail/196714.htm).
	TlsVersions pulumi.StringArrayInput
}

The set of arguments for constructing a TlsCipherPolicy resource.

func (TlsCipherPolicyArgs) ElementType

func (TlsCipherPolicyArgs) ElementType() reflect.Type

type TlsCipherPolicyArray

type TlsCipherPolicyArray []TlsCipherPolicyInput

func (TlsCipherPolicyArray) ElementType

func (TlsCipherPolicyArray) ElementType() reflect.Type

func (TlsCipherPolicyArray) ToTlsCipherPolicyArrayOutput

func (i TlsCipherPolicyArray) ToTlsCipherPolicyArrayOutput() TlsCipherPolicyArrayOutput

func (TlsCipherPolicyArray) ToTlsCipherPolicyArrayOutputWithContext

func (i TlsCipherPolicyArray) ToTlsCipherPolicyArrayOutputWithContext(ctx context.Context) TlsCipherPolicyArrayOutput

type TlsCipherPolicyArrayInput

type TlsCipherPolicyArrayInput interface {
	pulumi.Input

	ToTlsCipherPolicyArrayOutput() TlsCipherPolicyArrayOutput
	ToTlsCipherPolicyArrayOutputWithContext(context.Context) TlsCipherPolicyArrayOutput
}

TlsCipherPolicyArrayInput is an input type that accepts TlsCipherPolicyArray and TlsCipherPolicyArrayOutput values. You can construct a concrete instance of `TlsCipherPolicyArrayInput` via:

TlsCipherPolicyArray{ TlsCipherPolicyArgs{...} }

type TlsCipherPolicyArrayOutput

type TlsCipherPolicyArrayOutput struct{ *pulumi.OutputState }

func (TlsCipherPolicyArrayOutput) ElementType

func (TlsCipherPolicyArrayOutput) ElementType() reflect.Type

func (TlsCipherPolicyArrayOutput) Index

func (TlsCipherPolicyArrayOutput) ToTlsCipherPolicyArrayOutput

func (o TlsCipherPolicyArrayOutput) ToTlsCipherPolicyArrayOutput() TlsCipherPolicyArrayOutput

func (TlsCipherPolicyArrayOutput) ToTlsCipherPolicyArrayOutputWithContext

func (o TlsCipherPolicyArrayOutput) ToTlsCipherPolicyArrayOutputWithContext(ctx context.Context) TlsCipherPolicyArrayOutput

type TlsCipherPolicyInput

type TlsCipherPolicyInput interface {
	pulumi.Input

	ToTlsCipherPolicyOutput() TlsCipherPolicyOutput
	ToTlsCipherPolicyOutputWithContext(ctx context.Context) TlsCipherPolicyOutput
}

type TlsCipherPolicyMap

type TlsCipherPolicyMap map[string]TlsCipherPolicyInput

func (TlsCipherPolicyMap) ElementType

func (TlsCipherPolicyMap) ElementType() reflect.Type

func (TlsCipherPolicyMap) ToTlsCipherPolicyMapOutput

func (i TlsCipherPolicyMap) ToTlsCipherPolicyMapOutput() TlsCipherPolicyMapOutput

func (TlsCipherPolicyMap) ToTlsCipherPolicyMapOutputWithContext

func (i TlsCipherPolicyMap) ToTlsCipherPolicyMapOutputWithContext(ctx context.Context) TlsCipherPolicyMapOutput

type TlsCipherPolicyMapInput

type TlsCipherPolicyMapInput interface {
	pulumi.Input

	ToTlsCipherPolicyMapOutput() TlsCipherPolicyMapOutput
	ToTlsCipherPolicyMapOutputWithContext(context.Context) TlsCipherPolicyMapOutput
}

TlsCipherPolicyMapInput is an input type that accepts TlsCipherPolicyMap and TlsCipherPolicyMapOutput values. You can construct a concrete instance of `TlsCipherPolicyMapInput` via:

TlsCipherPolicyMap{ "key": TlsCipherPolicyArgs{...} }

type TlsCipherPolicyMapOutput

type TlsCipherPolicyMapOutput struct{ *pulumi.OutputState }

func (TlsCipherPolicyMapOutput) ElementType

func (TlsCipherPolicyMapOutput) ElementType() reflect.Type

func (TlsCipherPolicyMapOutput) MapIndex

func (TlsCipherPolicyMapOutput) ToTlsCipherPolicyMapOutput

func (o TlsCipherPolicyMapOutput) ToTlsCipherPolicyMapOutput() TlsCipherPolicyMapOutput

func (TlsCipherPolicyMapOutput) ToTlsCipherPolicyMapOutputWithContext

func (o TlsCipherPolicyMapOutput) ToTlsCipherPolicyMapOutputWithContext(ctx context.Context) TlsCipherPolicyMapOutput

type TlsCipherPolicyOutput

type TlsCipherPolicyOutput struct{ *pulumi.OutputState }

func (TlsCipherPolicyOutput) Ciphers

The encryption algorithms supported. It depends on the value of `tlsVersions`.

func (TlsCipherPolicyOutput) ElementType

func (TlsCipherPolicyOutput) ElementType() reflect.Type

func (TlsCipherPolicyOutput) Status

TLS policy instance state.

func (TlsCipherPolicyOutput) TlsCipherPolicyName

func (o TlsCipherPolicyOutput) TlsCipherPolicyName() pulumi.StringOutput

TLS policy name. Length is from 2 to 128, or in both the English and Chinese characters must be with an uppercase/lowercase letter or a Chinese character and the beginning, may contain numbers, in dot `.`, underscore `_` or dash `-`.

func (TlsCipherPolicyOutput) TlsVersions

The version of TLS protocol. You can find the corresponding value description in the document center [What is Tls Cipher Policy](https://www.alibabacloud.com/help/doc-detail/196714.htm).

func (TlsCipherPolicyOutput) ToTlsCipherPolicyOutput

func (o TlsCipherPolicyOutput) ToTlsCipherPolicyOutput() TlsCipherPolicyOutput

func (TlsCipherPolicyOutput) ToTlsCipherPolicyOutputWithContext

func (o TlsCipherPolicyOutput) ToTlsCipherPolicyOutputWithContext(ctx context.Context) TlsCipherPolicyOutput

type TlsCipherPolicyState

type TlsCipherPolicyState struct {
	// The encryption algorithms supported. It depends on the value of `tlsVersions`.
	Ciphers pulumi.StringArrayInput
	// TLS policy instance state.
	Status pulumi.StringPtrInput
	// TLS policy name. Length is from 2 to 128, or in both the English and Chinese characters must be with an uppercase/lowercase letter or a Chinese character and the beginning, may contain numbers, in dot `.`, underscore `_` or dash `-`.
	TlsCipherPolicyName pulumi.StringPtrInput
	// The version of TLS protocol. You can find the corresponding value description in the document center [What is Tls Cipher Policy](https://www.alibabacloud.com/help/doc-detail/196714.htm).
	TlsVersions pulumi.StringArrayInput
}

func (TlsCipherPolicyState) ElementType

func (TlsCipherPolicyState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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