nlb

package
v3.75.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GetListenersArgs

type GetListenersArgs struct {
	// A list of Listener IDs.
	Ids []string `pulumi:"ids"`
	// The listening protocol. Valid values: `TCP`, `UDP`, or `TCPSSL`.
	ListenerProtocol *string `pulumi:"listenerProtocol"`
	// The ID of the NLB instance. You can specify at most 20 IDs.
	LoadBalancerIds []string `pulumi:"loadBalancerIds"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getListeners.

type GetListenersListener

type GetListenersListener struct {
	// ndicates whether Application-Layer Protocol Negotiation (ALPN) is enabled.
	AlpnEnabled bool `pulumi:"alpnEnabled"`
	// The ALPN policy.
	AlpnPolicy string `pulumi:"alpnPolicy"`
	// CA certificate list information. Currently, only one CA certificate can be added. **NOTE:** This parameter only takes effect for `TCPSSL` listeners.
	CaCertificateIds []string `pulumi:"caCertificateIds"`
	// Whether to start two-way authentication.
	CaEnabled bool `pulumi:"caEnabled"`
	// Server certificate list information. Currently, only one server certificate can be added. This parameter only takes effect for `TCPSSL` listeners.
	CertificateIds []string `pulumi:"certificateIds"`
	// The new connection speed limit for a network-based load balancing instance per second. Valid values: `0` ~ `1000000`. `0` indicates unlimited speed.
	Cps int `pulumi:"cps"`
	// Full port listening end port. Valid values: `0` ~ `65535`. The value of the end port is less than the start port.
	EndPort string `pulumi:"endPort"`
	// The ID of the Nlb Listener.
	Id string `pulumi:"id"`
	// Connection idle timeout time. Unit: seconds. Valid values: `1` ~ `900`.
	IdleTimeout int `pulumi:"idleTimeout"`
	// Custom listener name. The length is limited to 2 to 256 characters, supports Chinese and English letters, and can include numbers, commas (,), half-width periods (.), half-width semicolons (;), forward slashes (/), at(@), underscores (_), and dashes (-).
	ListenerDescription string `pulumi:"listenerDescription"`
	// The ID of the listener.
	ListenerId string `pulumi:"listenerId"`
	// Listening port. Valid values: `0` ~ `65535`. `0`: indicates that full port listening is used. When set to 0, you must configure `StartPort` and `EndPort`.
	ListenerPort int `pulumi:"listenerPort"`
	// The listening protocol. Valid values: `TCP`, `UDP`, or `TCPSSL`.
	ListenerProtocol string `pulumi:"listenerProtocol"`
	// The ID of the network-based server load balancer instance.
	LoadBalancerId string `pulumi:"loadBalancerId"`
	// The maximum segment size of the TCP message. Unit: Bytes. Valid values: `0` ~ `1500`. `0` indicates that the MSS value of the TCP message is not modified. only `TCP` and `TCPSSL` listeners support this field value.
	Mss int `pulumi:"mss"`
	// Whether to enable the Proxy Protocol to carry the source address of the client to the backend server.
	ProxyProtocolEnabled bool `pulumi:"proxyProtocolEnabled"`
	// Indicates whether fine-grained monitoring is enabled.
	SecSensorEnabled bool `pulumi:"secSensorEnabled"`
	// Security policy ID. Support system security policies and custom security policies. Valid values: `tlsCipherPolicy10`, `tlsCipherPolicy11`, `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`, or `tlsCipherPolicy12StrictWith13`. **Note:** This parameter only takes effect for `TCPSSL` listeners.
	SecurityPolicyId string `pulumi:"securityPolicyId"`
	// The ID of the server group.
	ServerGroupId string `pulumi:"serverGroupId"`
	// Full Port listens to the starting port. Valid values: `0` ~ `65535`.
	StartPort string `pulumi:"startPort"`
	// The status of the resource.
	Status string `pulumi:"status"`
}

type GetListenersListenerArgs

type GetListenersListenerArgs struct {
	// ndicates whether Application-Layer Protocol Negotiation (ALPN) is enabled.
	AlpnEnabled pulumi.BoolInput `pulumi:"alpnEnabled"`
	// The ALPN policy.
	AlpnPolicy pulumi.StringInput `pulumi:"alpnPolicy"`
	// CA certificate list information. Currently, only one CA certificate can be added. **NOTE:** This parameter only takes effect for `TCPSSL` listeners.
	CaCertificateIds pulumi.StringArrayInput `pulumi:"caCertificateIds"`
	// Whether to start two-way authentication.
	CaEnabled pulumi.BoolInput `pulumi:"caEnabled"`
	// Server certificate list information. Currently, only one server certificate can be added. This parameter only takes effect for `TCPSSL` listeners.
	CertificateIds pulumi.StringArrayInput `pulumi:"certificateIds"`
	// The new connection speed limit for a network-based load balancing instance per second. Valid values: `0` ~ `1000000`. `0` indicates unlimited speed.
	Cps pulumi.IntInput `pulumi:"cps"`
	// Full port listening end port. Valid values: `0` ~ `65535`. The value of the end port is less than the start port.
	EndPort pulumi.StringInput `pulumi:"endPort"`
	// The ID of the Nlb Listener.
	Id pulumi.StringInput `pulumi:"id"`
	// Connection idle timeout time. Unit: seconds. Valid values: `1` ~ `900`.
	IdleTimeout pulumi.IntInput `pulumi:"idleTimeout"`
	// Custom listener name. The length is limited to 2 to 256 characters, supports Chinese and English letters, and can include numbers, commas (,), half-width periods (.), half-width semicolons (;), forward slashes (/), at(@), underscores (_), and dashes (-).
	ListenerDescription pulumi.StringInput `pulumi:"listenerDescription"`
	// The ID of the listener.
	ListenerId pulumi.StringInput `pulumi:"listenerId"`
	// Listening port. Valid values: `0` ~ `65535`. `0`: indicates that full port listening is used. When set to 0, you must configure `StartPort` and `EndPort`.
	ListenerPort pulumi.IntInput `pulumi:"listenerPort"`
	// The listening protocol. Valid values: `TCP`, `UDP`, or `TCPSSL`.
	ListenerProtocol pulumi.StringInput `pulumi:"listenerProtocol"`
	// The ID of the network-based server load balancer instance.
	LoadBalancerId pulumi.StringInput `pulumi:"loadBalancerId"`
	// The maximum segment size of the TCP message. Unit: Bytes. Valid values: `0` ~ `1500`. `0` indicates that the MSS value of the TCP message is not modified. only `TCP` and `TCPSSL` listeners support this field value.
	Mss pulumi.IntInput `pulumi:"mss"`
	// Whether to enable the Proxy Protocol to carry the source address of the client to the backend server.
	ProxyProtocolEnabled pulumi.BoolInput `pulumi:"proxyProtocolEnabled"`
	// Indicates whether fine-grained monitoring is enabled.
	SecSensorEnabled pulumi.BoolInput `pulumi:"secSensorEnabled"`
	// Security policy ID. Support system security policies and custom security policies. Valid values: `tlsCipherPolicy10`, `tlsCipherPolicy11`, `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`, or `tlsCipherPolicy12StrictWith13`. **Note:** This parameter only takes effect for `TCPSSL` listeners.
	SecurityPolicyId pulumi.StringInput `pulumi:"securityPolicyId"`
	// The ID of the server group.
	ServerGroupId pulumi.StringInput `pulumi:"serverGroupId"`
	// Full Port listens to the starting port. Valid values: `0` ~ `65535`.
	StartPort pulumi.StringInput `pulumi:"startPort"`
	// The status of the resource.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetListenersListenerArgs) ElementType

func (GetListenersListenerArgs) ElementType() reflect.Type

func (GetListenersListenerArgs) ToGetListenersListenerOutput

func (i GetListenersListenerArgs) ToGetListenersListenerOutput() GetListenersListenerOutput

func (GetListenersListenerArgs) ToGetListenersListenerOutputWithContext

func (i GetListenersListenerArgs) ToGetListenersListenerOutputWithContext(ctx context.Context) GetListenersListenerOutput

type GetListenersListenerArray

type GetListenersListenerArray []GetListenersListenerInput

func (GetListenersListenerArray) ElementType

func (GetListenersListenerArray) ElementType() reflect.Type

func (GetListenersListenerArray) ToGetListenersListenerArrayOutput

func (i GetListenersListenerArray) ToGetListenersListenerArrayOutput() GetListenersListenerArrayOutput

func (GetListenersListenerArray) ToGetListenersListenerArrayOutputWithContext

func (i GetListenersListenerArray) ToGetListenersListenerArrayOutputWithContext(ctx context.Context) GetListenersListenerArrayOutput

type GetListenersListenerArrayInput

type GetListenersListenerArrayInput interface {
	pulumi.Input

	ToGetListenersListenerArrayOutput() GetListenersListenerArrayOutput
	ToGetListenersListenerArrayOutputWithContext(context.Context) GetListenersListenerArrayOutput
}

GetListenersListenerArrayInput is an input type that accepts GetListenersListenerArray and GetListenersListenerArrayOutput values. You can construct a concrete instance of `GetListenersListenerArrayInput` via:

GetListenersListenerArray{ GetListenersListenerArgs{...} }

type GetListenersListenerArrayOutput

type GetListenersListenerArrayOutput struct{ *pulumi.OutputState }

func (GetListenersListenerArrayOutput) ElementType

func (GetListenersListenerArrayOutput) Index

func (GetListenersListenerArrayOutput) ToGetListenersListenerArrayOutput

func (o GetListenersListenerArrayOutput) ToGetListenersListenerArrayOutput() GetListenersListenerArrayOutput

func (GetListenersListenerArrayOutput) ToGetListenersListenerArrayOutputWithContext

func (o GetListenersListenerArrayOutput) ToGetListenersListenerArrayOutputWithContext(ctx context.Context) GetListenersListenerArrayOutput

type GetListenersListenerInput

type GetListenersListenerInput interface {
	pulumi.Input

	ToGetListenersListenerOutput() GetListenersListenerOutput
	ToGetListenersListenerOutputWithContext(context.Context) GetListenersListenerOutput
}

GetListenersListenerInput is an input type that accepts GetListenersListenerArgs and GetListenersListenerOutput values. You can construct a concrete instance of `GetListenersListenerInput` via:

GetListenersListenerArgs{...}

type GetListenersListenerOutput

type GetListenersListenerOutput struct{ *pulumi.OutputState }

func (GetListenersListenerOutput) AlpnEnabled

ndicates whether Application-Layer Protocol Negotiation (ALPN) is enabled.

func (GetListenersListenerOutput) AlpnPolicy

The ALPN policy.

func (GetListenersListenerOutput) CaCertificateIds

CA certificate list information. Currently, only one CA certificate can be added. **NOTE:** This parameter only takes effect for `TCPSSL` listeners.

func (GetListenersListenerOutput) CaEnabled

Whether to start two-way authentication.

func (GetListenersListenerOutput) CertificateIds

Server certificate list information. Currently, only one server certificate can be added. This parameter only takes effect for `TCPSSL` listeners.

func (GetListenersListenerOutput) Cps

The new connection speed limit for a network-based load balancing instance per second. Valid values: `0` ~ `1000000`. `0` indicates unlimited speed.

func (GetListenersListenerOutput) ElementType

func (GetListenersListenerOutput) ElementType() reflect.Type

func (GetListenersListenerOutput) EndPort

Full port listening end port. Valid values: `0` ~ `65535`. The value of the end port is less than the start port.

func (GetListenersListenerOutput) Id

The ID of the Nlb Listener.

func (GetListenersListenerOutput) IdleTimeout

Connection idle timeout time. Unit: seconds. Valid values: `1` ~ `900`.

func (GetListenersListenerOutput) ListenerDescription

func (o GetListenersListenerOutput) ListenerDescription() pulumi.StringOutput

Custom listener name. The length is limited to 2 to 256 characters, supports Chinese and English letters, and can include numbers, commas (,), half-width periods (.), half-width semicolons (;), forward slashes (/), at(@), underscores (_), and dashes (-).

func (GetListenersListenerOutput) ListenerId

The ID of the listener.

func (GetListenersListenerOutput) ListenerPort

func (o GetListenersListenerOutput) ListenerPort() pulumi.IntOutput

Listening port. Valid values: `0` ~ `65535`. `0`: indicates that full port listening is used. When set to 0, you must configure `StartPort` and `EndPort`.

func (GetListenersListenerOutput) ListenerProtocol

func (o GetListenersListenerOutput) ListenerProtocol() pulumi.StringOutput

The listening protocol. Valid values: `TCP`, `UDP`, or `TCPSSL`.

func (GetListenersListenerOutput) LoadBalancerId

func (o GetListenersListenerOutput) LoadBalancerId() pulumi.StringOutput

The ID of the network-based server load balancer instance.

func (GetListenersListenerOutput) Mss

The maximum segment size of the TCP message. Unit: Bytes. Valid values: `0` ~ `1500`. `0` indicates that the MSS value of the TCP message is not modified. only `TCP` and `TCPSSL` listeners support this field value.

func (GetListenersListenerOutput) ProxyProtocolEnabled

func (o GetListenersListenerOutput) ProxyProtocolEnabled() pulumi.BoolOutput

Whether to enable the Proxy Protocol to carry the source address of the client to the backend server.

func (GetListenersListenerOutput) SecSensorEnabled

func (o GetListenersListenerOutput) SecSensorEnabled() pulumi.BoolOutput

Indicates whether fine-grained monitoring is enabled.

func (GetListenersListenerOutput) SecurityPolicyId

func (o GetListenersListenerOutput) SecurityPolicyId() pulumi.StringOutput

Security policy ID. Support system security policies and custom security policies. Valid values: `tlsCipherPolicy10`, `tlsCipherPolicy11`, `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`, or `tlsCipherPolicy12StrictWith13`. **Note:** This parameter only takes effect for `TCPSSL` listeners.

func (GetListenersListenerOutput) ServerGroupId

The ID of the server group.

func (GetListenersListenerOutput) StartPort

Full Port listens to the starting port. Valid values: `0` ~ `65535`.

func (GetListenersListenerOutput) Status

The status of the resource.

func (GetListenersListenerOutput) ToGetListenersListenerOutput

func (o GetListenersListenerOutput) ToGetListenersListenerOutput() GetListenersListenerOutput

func (GetListenersListenerOutput) ToGetListenersListenerOutputWithContext

func (o GetListenersListenerOutput) ToGetListenersListenerOutputWithContext(ctx context.Context) GetListenersListenerOutput

type GetListenersOutputArgs

type GetListenersOutputArgs struct {
	// A list of Listener IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The listening protocol. Valid values: `TCP`, `UDP`, or `TCPSSL`.
	ListenerProtocol pulumi.StringPtrInput `pulumi:"listenerProtocol"`
	// The ID of the NLB instance. You can specify at most 20 IDs.
	LoadBalancerIds pulumi.StringArrayInput `pulumi:"loadBalancerIds"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getListeners.

func (GetListenersOutputArgs) ElementType

func (GetListenersOutputArgs) ElementType() reflect.Type

type GetListenersResult

type GetListenersResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id  string   `pulumi:"id"`
	Ids []string `pulumi:"ids"`
	// The listening protocol. Valid values: `TCP`, `UDP`, or `TCPSSL`.
	ListenerProtocol *string `pulumi:"listenerProtocol"`
	// A list of Nlb Listeners. Each element contains the following attributes:
	Listeners       []GetListenersListener `pulumi:"listeners"`
	LoadBalancerIds []string               `pulumi:"loadBalancerIds"`
	OutputFile      *string                `pulumi:"outputFile"`
}

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 Nlb Listeners of the current Alibaba Cloud user.

> **NOTE:** Available since v1.191.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := nlb.GetListeners(ctx, &nlb.GetListenersArgs{
			Ids: []string{
				"example_value",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("alicloudNlbListenerId1", ids.Listeners[0].Id)
		return nil
	})
}

```

type GetListenersResultOutput

type GetListenersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getListeners.

func (GetListenersResultOutput) ElementType

func (GetListenersResultOutput) ElementType() reflect.Type

func (GetListenersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetListenersResultOutput) Ids

func (GetListenersResultOutput) ListenerProtocol

func (o GetListenersResultOutput) ListenerProtocol() pulumi.StringPtrOutput

The listening protocol. Valid values: `TCP`, `UDP`, or `TCPSSL`.

func (GetListenersResultOutput) Listeners

A list of Nlb Listeners. Each element contains the following attributes:

func (GetListenersResultOutput) LoadBalancerIds

func (GetListenersResultOutput) OutputFile

func (GetListenersResultOutput) ToGetListenersResultOutput

func (o GetListenersResultOutput) ToGetListenersResultOutput() GetListenersResultOutput

func (GetListenersResultOutput) ToGetListenersResultOutputWithContext

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

type GetLoadBalancersArgs

type GetLoadBalancersArgs struct {
	// The IP version. Valid values: `ipv4`, `DualStack`.
	AddressIpVersion *string `pulumi:"addressIpVersion"`
	// The type of IPv4 address used by the NLB instance. Valid values: `Internet`, `Intranet`.
	AddressType *string `pulumi:"addressType"`
	// The domain name of the NLB instance.
	DnsName *string `pulumi:"dnsName"`
	// A list of Load Balancer IDs.
	Ids []string `pulumi:"ids"`
	// The type of IPv6 address used by the NLB instance. Valid values: `Internet`, `Intranet`.
	Ipv6AddressType *string `pulumi:"ipv6AddressType"`
	// The business status of the NLB instance. Valid values: `Abnormal`, `Normal`.
	LoadBalancerBusinessStatus *string `pulumi:"loadBalancerBusinessStatus"`
	// The name of the NLB instance. You can specify at most 10 names.
	LoadBalancerNames []string `pulumi:"loadBalancerNames"`
	// A regex string to filter results by Load Balancer name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the resource group.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The status of the NLB instance. Valid values: `Inactive`, `Active`, `Provisioning`, `Configuring`, `Deleting`, `Deleted`.
	Status *string           `pulumi:"status"`
	Tags   map[string]string `pulumi:"tags"`
	// The ID of the virtual private cloud (VPC) where the NLB instance is deployed. You can specify at most 10 IDs.
	VpcIds []string `pulumi:"vpcIds"`
	// The name of the zone.
	ZoneId *string `pulumi:"zoneId"`
}

A collection of arguments for invoking getLoadBalancers.

type GetLoadBalancersBalancer

type GetLoadBalancersBalancer struct {
	// The IP version.
	AddressIpVersion string `pulumi:"addressIpVersion"`
	// The type of IPv4 address used by the NLB instance.
	AddressType string `pulumi:"addressType"`
	// The ID of the EIP bandwidth plan that is associated with the NLB instance if the NLB instance uses a public IP address.
	BandwidthPackageId string `pulumi:"bandwidthPackageId"`
	// The time when the resource was created. The time is displayed in UTC in `yyyy-MM-ddTHH:mm:ssZ` format.
	CreateTime string `pulumi:"createTime"`
	// Indicates whether cross-zone load balancing is enabled for the NLB instance.
	CrossZoneEnabled bool `pulumi:"crossZoneEnabled"`
	// The domain name of the NLB instance.
	DnsName string `pulumi:"dnsName"`
	// The ID of the NLB instance.
	Id string `pulumi:"id"`
	// The type of IPv6 address used by the NLB instance.
	Ipv6AddressType string `pulumi:"ipv6AddressType"`
	// The business status of the NLB instance.
	LoadBalancerBusinessStatus string `pulumi:"loadBalancerBusinessStatus"`
	// The ID of the NLB instance.
	LoadBalancerId string `pulumi:"loadBalancerId"`
	// The name of the NLB instance.
	LoadBalancerName string `pulumi:"loadBalancerName"`
	// The type of the SLB instance. Only Network is supported, which indicates NLB.
	LoadBalancerType string `pulumi:"loadBalancerType"`
	// The configuration of the operation lock. This parameter takes effect if LoadBalancerBussinessStatus is Abnormal.
	OperationLocks []GetLoadBalancersBalancerOperationLock `pulumi:"operationLocks"`
	// The ID of the resource group.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// The security group to which the NLB instance belongs.
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	// The status of the NLB instance.
	Status string `pulumi:"status"`
	// The tag of the resource.
	Tags map[string]string `pulumi:"tags"`
	// The ID of the VPC where the NLB instance is deployed.
	VpcId string `pulumi:"vpcId"`
	// The zones and the vSwitches in the zones. An NLB instance can be deployed across 2 to 10 zones.
	ZoneMappings []GetLoadBalancersBalancerZoneMapping `pulumi:"zoneMappings"`
}

type GetLoadBalancersBalancerArgs

type GetLoadBalancersBalancerArgs struct {
	// The IP version.
	AddressIpVersion pulumi.StringInput `pulumi:"addressIpVersion"`
	// The type of IPv4 address used by the NLB instance.
	AddressType pulumi.StringInput `pulumi:"addressType"`
	// The ID of the EIP bandwidth plan that is associated with the NLB instance if the NLB instance uses a public IP address.
	BandwidthPackageId pulumi.StringInput `pulumi:"bandwidthPackageId"`
	// The time when the resource was created. The time is displayed in UTC in `yyyy-MM-ddTHH:mm:ssZ` format.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// Indicates whether cross-zone load balancing is enabled for the NLB instance.
	CrossZoneEnabled pulumi.BoolInput `pulumi:"crossZoneEnabled"`
	// The domain name of the NLB instance.
	DnsName pulumi.StringInput `pulumi:"dnsName"`
	// The ID of the NLB instance.
	Id pulumi.StringInput `pulumi:"id"`
	// The type of IPv6 address used by the NLB instance.
	Ipv6AddressType pulumi.StringInput `pulumi:"ipv6AddressType"`
	// The business status of the NLB instance.
	LoadBalancerBusinessStatus pulumi.StringInput `pulumi:"loadBalancerBusinessStatus"`
	// The ID of the NLB instance.
	LoadBalancerId pulumi.StringInput `pulumi:"loadBalancerId"`
	// The name of the NLB instance.
	LoadBalancerName pulumi.StringInput `pulumi:"loadBalancerName"`
	// The type of the SLB instance. Only Network is supported, which indicates NLB.
	LoadBalancerType pulumi.StringInput `pulumi:"loadBalancerType"`
	// The configuration of the operation lock. This parameter takes effect if LoadBalancerBussinessStatus is Abnormal.
	OperationLocks GetLoadBalancersBalancerOperationLockArrayInput `pulumi:"operationLocks"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// The security group to which the NLB instance belongs.
	SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"`
	// The status of the NLB instance.
	Status pulumi.StringInput `pulumi:"status"`
	// The tag of the resource.
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// The ID of the VPC where the NLB instance is deployed.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// The zones and the vSwitches in the zones. An NLB instance can be deployed across 2 to 10 zones.
	ZoneMappings GetLoadBalancersBalancerZoneMappingArrayInput `pulumi:"zoneMappings"`
}

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

type GetLoadBalancersBalancerOperationLock struct {
	// The reason why the NLB instance is locked.
	LockReason string `pulumi:"lockReason"`
	// The type of lock.
	LockType string `pulumi:"lockType"`
}

type GetLoadBalancersBalancerOperationLockArgs

type GetLoadBalancersBalancerOperationLockArgs struct {
	// The reason why the NLB instance is locked.
	LockReason pulumi.StringInput `pulumi:"lockReason"`
	// The type of lock.
	LockType pulumi.StringInput `pulumi:"lockType"`
}

func (GetLoadBalancersBalancerOperationLockArgs) ElementType

func (GetLoadBalancersBalancerOperationLockArgs) ToGetLoadBalancersBalancerOperationLockOutput

func (i GetLoadBalancersBalancerOperationLockArgs) ToGetLoadBalancersBalancerOperationLockOutput() GetLoadBalancersBalancerOperationLockOutput

func (GetLoadBalancersBalancerOperationLockArgs) ToGetLoadBalancersBalancerOperationLockOutputWithContext

func (i GetLoadBalancersBalancerOperationLockArgs) ToGetLoadBalancersBalancerOperationLockOutputWithContext(ctx context.Context) GetLoadBalancersBalancerOperationLockOutput

type GetLoadBalancersBalancerOperationLockArray

type GetLoadBalancersBalancerOperationLockArray []GetLoadBalancersBalancerOperationLockInput

func (GetLoadBalancersBalancerOperationLockArray) ElementType

func (GetLoadBalancersBalancerOperationLockArray) ToGetLoadBalancersBalancerOperationLockArrayOutput

func (i GetLoadBalancersBalancerOperationLockArray) ToGetLoadBalancersBalancerOperationLockArrayOutput() GetLoadBalancersBalancerOperationLockArrayOutput

func (GetLoadBalancersBalancerOperationLockArray) ToGetLoadBalancersBalancerOperationLockArrayOutputWithContext

func (i GetLoadBalancersBalancerOperationLockArray) ToGetLoadBalancersBalancerOperationLockArrayOutputWithContext(ctx context.Context) GetLoadBalancersBalancerOperationLockArrayOutput

type GetLoadBalancersBalancerOperationLockArrayInput

type GetLoadBalancersBalancerOperationLockArrayInput interface {
	pulumi.Input

	ToGetLoadBalancersBalancerOperationLockArrayOutput() GetLoadBalancersBalancerOperationLockArrayOutput
	ToGetLoadBalancersBalancerOperationLockArrayOutputWithContext(context.Context) GetLoadBalancersBalancerOperationLockArrayOutput
}

GetLoadBalancersBalancerOperationLockArrayInput is an input type that accepts GetLoadBalancersBalancerOperationLockArray and GetLoadBalancersBalancerOperationLockArrayOutput values. You can construct a concrete instance of `GetLoadBalancersBalancerOperationLockArrayInput` via:

GetLoadBalancersBalancerOperationLockArray{ GetLoadBalancersBalancerOperationLockArgs{...} }

type GetLoadBalancersBalancerOperationLockArrayOutput

type GetLoadBalancersBalancerOperationLockArrayOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerOperationLockArrayOutput) ElementType

func (GetLoadBalancersBalancerOperationLockArrayOutput) Index

func (GetLoadBalancersBalancerOperationLockArrayOutput) ToGetLoadBalancersBalancerOperationLockArrayOutput

func (o GetLoadBalancersBalancerOperationLockArrayOutput) ToGetLoadBalancersBalancerOperationLockArrayOutput() GetLoadBalancersBalancerOperationLockArrayOutput

func (GetLoadBalancersBalancerOperationLockArrayOutput) ToGetLoadBalancersBalancerOperationLockArrayOutputWithContext

func (o GetLoadBalancersBalancerOperationLockArrayOutput) ToGetLoadBalancersBalancerOperationLockArrayOutputWithContext(ctx context.Context) GetLoadBalancersBalancerOperationLockArrayOutput

type GetLoadBalancersBalancerOperationLockInput

type GetLoadBalancersBalancerOperationLockInput interface {
	pulumi.Input

	ToGetLoadBalancersBalancerOperationLockOutput() GetLoadBalancersBalancerOperationLockOutput
	ToGetLoadBalancersBalancerOperationLockOutputWithContext(context.Context) GetLoadBalancersBalancerOperationLockOutput
}

GetLoadBalancersBalancerOperationLockInput is an input type that accepts GetLoadBalancersBalancerOperationLockArgs and GetLoadBalancersBalancerOperationLockOutput values. You can construct a concrete instance of `GetLoadBalancersBalancerOperationLockInput` via:

GetLoadBalancersBalancerOperationLockArgs{...}

type GetLoadBalancersBalancerOperationLockOutput

type GetLoadBalancersBalancerOperationLockOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerOperationLockOutput) ElementType

func (GetLoadBalancersBalancerOperationLockOutput) LockReason

The reason why the NLB instance is locked.

func (GetLoadBalancersBalancerOperationLockOutput) LockType

The type of lock.

func (GetLoadBalancersBalancerOperationLockOutput) ToGetLoadBalancersBalancerOperationLockOutput

func (o GetLoadBalancersBalancerOperationLockOutput) ToGetLoadBalancersBalancerOperationLockOutput() GetLoadBalancersBalancerOperationLockOutput

func (GetLoadBalancersBalancerOperationLockOutput) ToGetLoadBalancersBalancerOperationLockOutputWithContext

func (o GetLoadBalancersBalancerOperationLockOutput) ToGetLoadBalancersBalancerOperationLockOutputWithContext(ctx context.Context) GetLoadBalancersBalancerOperationLockOutput

type GetLoadBalancersBalancerOutput

type GetLoadBalancersBalancerOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerOutput) AddressIpVersion

func (o GetLoadBalancersBalancerOutput) AddressIpVersion() pulumi.StringOutput

The IP version.

func (GetLoadBalancersBalancerOutput) AddressType

The type of IPv4 address used by the NLB instance.

func (GetLoadBalancersBalancerOutput) BandwidthPackageId

func (o GetLoadBalancersBalancerOutput) BandwidthPackageId() pulumi.StringOutput

The ID of the EIP bandwidth plan that is associated with the NLB instance if the NLB instance uses a public IP address.

func (GetLoadBalancersBalancerOutput) CreateTime

The time when the resource was created. The time is displayed in UTC in `yyyy-MM-ddTHH:mm:ssZ` format.

func (GetLoadBalancersBalancerOutput) CrossZoneEnabled

func (o GetLoadBalancersBalancerOutput) CrossZoneEnabled() pulumi.BoolOutput

Indicates whether cross-zone load balancing is enabled for the NLB instance.

func (GetLoadBalancersBalancerOutput) DnsName

The domain name of the NLB instance.

func (GetLoadBalancersBalancerOutput) ElementType

func (GetLoadBalancersBalancerOutput) Id

The ID of the NLB instance.

func (GetLoadBalancersBalancerOutput) Ipv6AddressType

The type of IPv6 address used by the NLB instance.

func (GetLoadBalancersBalancerOutput) LoadBalancerBusinessStatus

func (o GetLoadBalancersBalancerOutput) LoadBalancerBusinessStatus() pulumi.StringOutput

The business status of the NLB instance.

func (GetLoadBalancersBalancerOutput) LoadBalancerId

The ID of the NLB instance.

func (GetLoadBalancersBalancerOutput) LoadBalancerName

func (o GetLoadBalancersBalancerOutput) LoadBalancerName() pulumi.StringOutput

The name of the NLB instance.

func (GetLoadBalancersBalancerOutput) LoadBalancerType

func (o GetLoadBalancersBalancerOutput) LoadBalancerType() pulumi.StringOutput

The type of the SLB instance. Only Network is supported, which indicates NLB.

func (GetLoadBalancersBalancerOutput) OperationLocks

The configuration of the operation lock. This parameter takes effect if LoadBalancerBussinessStatus is Abnormal.

func (GetLoadBalancersBalancerOutput) ResourceGroupId

The ID of the resource group.

func (GetLoadBalancersBalancerOutput) SecurityGroupIds

The security group to which the NLB instance belongs.

func (GetLoadBalancersBalancerOutput) Status

The status of the NLB instance.

func (GetLoadBalancersBalancerOutput) Tags

The tag of the resource.

func (GetLoadBalancersBalancerOutput) ToGetLoadBalancersBalancerOutput

func (o GetLoadBalancersBalancerOutput) ToGetLoadBalancersBalancerOutput() GetLoadBalancersBalancerOutput

func (GetLoadBalancersBalancerOutput) ToGetLoadBalancersBalancerOutputWithContext

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

func (GetLoadBalancersBalancerOutput) VpcId

The ID of the VPC where the NLB instance is deployed.

func (GetLoadBalancersBalancerOutput) ZoneMappings

The zones and the vSwitches in the zones. An NLB instance can be deployed across 2 to 10 zones.

type GetLoadBalancersBalancerZoneMapping

type GetLoadBalancersBalancerZoneMapping struct {
	// The ID of the elastic IP address (EIP).
	AllocationId string `pulumi:"allocationId"`
	// The ID of the elastic network interface (ENI) attached to the NLB instance.
	EniId string `pulumi:"eniId"`
	// The IPv6 address of the NLB instance.
	Ipv6Address string `pulumi:"ipv6Address"`
	// The private IPv4 address used by the NLB instance.
	PrivateIpv4Address string `pulumi:"privateIpv4Address"`
	// The public IPv4 address used by the NLB instance.
	PublicIpv4Address string `pulumi:"publicIpv4Address"`
	// The ID of the vSwitch. By default, you can specify one vSwitch (subnet) in each zone of the NLB instance.
	VswitchId string `pulumi:"vswitchId"`
	// The name of the zone.
	ZoneId string `pulumi:"zoneId"`
}

type GetLoadBalancersBalancerZoneMappingArgs

type GetLoadBalancersBalancerZoneMappingArgs struct {
	// The ID of the elastic IP address (EIP).
	AllocationId pulumi.StringInput `pulumi:"allocationId"`
	// The ID of the elastic network interface (ENI) attached to the NLB instance.
	EniId pulumi.StringInput `pulumi:"eniId"`
	// The IPv6 address of the NLB instance.
	Ipv6Address pulumi.StringInput `pulumi:"ipv6Address"`
	// The private IPv4 address used by the NLB instance.
	PrivateIpv4Address pulumi.StringInput `pulumi:"privateIpv4Address"`
	// The public IPv4 address used by the NLB instance.
	PublicIpv4Address pulumi.StringInput `pulumi:"publicIpv4Address"`
	// The ID of the vSwitch. By default, you can specify one vSwitch (subnet) in each zone of the NLB instance.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
	// The name of the zone.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (GetLoadBalancersBalancerZoneMappingArgs) ElementType

func (GetLoadBalancersBalancerZoneMappingArgs) ToGetLoadBalancersBalancerZoneMappingOutput

func (i GetLoadBalancersBalancerZoneMappingArgs) ToGetLoadBalancersBalancerZoneMappingOutput() GetLoadBalancersBalancerZoneMappingOutput

func (GetLoadBalancersBalancerZoneMappingArgs) ToGetLoadBalancersBalancerZoneMappingOutputWithContext

func (i GetLoadBalancersBalancerZoneMappingArgs) ToGetLoadBalancersBalancerZoneMappingOutputWithContext(ctx context.Context) GetLoadBalancersBalancerZoneMappingOutput

type GetLoadBalancersBalancerZoneMappingArray

type GetLoadBalancersBalancerZoneMappingArray []GetLoadBalancersBalancerZoneMappingInput

func (GetLoadBalancersBalancerZoneMappingArray) ElementType

func (GetLoadBalancersBalancerZoneMappingArray) ToGetLoadBalancersBalancerZoneMappingArrayOutput

func (i GetLoadBalancersBalancerZoneMappingArray) ToGetLoadBalancersBalancerZoneMappingArrayOutput() GetLoadBalancersBalancerZoneMappingArrayOutput

func (GetLoadBalancersBalancerZoneMappingArray) ToGetLoadBalancersBalancerZoneMappingArrayOutputWithContext

func (i GetLoadBalancersBalancerZoneMappingArray) ToGetLoadBalancersBalancerZoneMappingArrayOutputWithContext(ctx context.Context) GetLoadBalancersBalancerZoneMappingArrayOutput

type GetLoadBalancersBalancerZoneMappingArrayInput

type GetLoadBalancersBalancerZoneMappingArrayInput interface {
	pulumi.Input

	ToGetLoadBalancersBalancerZoneMappingArrayOutput() GetLoadBalancersBalancerZoneMappingArrayOutput
	ToGetLoadBalancersBalancerZoneMappingArrayOutputWithContext(context.Context) GetLoadBalancersBalancerZoneMappingArrayOutput
}

GetLoadBalancersBalancerZoneMappingArrayInput is an input type that accepts GetLoadBalancersBalancerZoneMappingArray and GetLoadBalancersBalancerZoneMappingArrayOutput values. You can construct a concrete instance of `GetLoadBalancersBalancerZoneMappingArrayInput` via:

GetLoadBalancersBalancerZoneMappingArray{ GetLoadBalancersBalancerZoneMappingArgs{...} }

type GetLoadBalancersBalancerZoneMappingArrayOutput

type GetLoadBalancersBalancerZoneMappingArrayOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerZoneMappingArrayOutput) ElementType

func (GetLoadBalancersBalancerZoneMappingArrayOutput) Index

func (GetLoadBalancersBalancerZoneMappingArrayOutput) ToGetLoadBalancersBalancerZoneMappingArrayOutput

func (o GetLoadBalancersBalancerZoneMappingArrayOutput) ToGetLoadBalancersBalancerZoneMappingArrayOutput() GetLoadBalancersBalancerZoneMappingArrayOutput

func (GetLoadBalancersBalancerZoneMappingArrayOutput) ToGetLoadBalancersBalancerZoneMappingArrayOutputWithContext

func (o GetLoadBalancersBalancerZoneMappingArrayOutput) ToGetLoadBalancersBalancerZoneMappingArrayOutputWithContext(ctx context.Context) GetLoadBalancersBalancerZoneMappingArrayOutput

type GetLoadBalancersBalancerZoneMappingInput

type GetLoadBalancersBalancerZoneMappingInput interface {
	pulumi.Input

	ToGetLoadBalancersBalancerZoneMappingOutput() GetLoadBalancersBalancerZoneMappingOutput
	ToGetLoadBalancersBalancerZoneMappingOutputWithContext(context.Context) GetLoadBalancersBalancerZoneMappingOutput
}

GetLoadBalancersBalancerZoneMappingInput is an input type that accepts GetLoadBalancersBalancerZoneMappingArgs and GetLoadBalancersBalancerZoneMappingOutput values. You can construct a concrete instance of `GetLoadBalancersBalancerZoneMappingInput` via:

GetLoadBalancersBalancerZoneMappingArgs{...}

type GetLoadBalancersBalancerZoneMappingOutput

type GetLoadBalancersBalancerZoneMappingOutput struct{ *pulumi.OutputState }

func (GetLoadBalancersBalancerZoneMappingOutput) AllocationId

The ID of the elastic IP address (EIP).

func (GetLoadBalancersBalancerZoneMappingOutput) ElementType

func (GetLoadBalancersBalancerZoneMappingOutput) EniId

The ID of the elastic network interface (ENI) attached to the NLB instance.

func (GetLoadBalancersBalancerZoneMappingOutput) Ipv6Address

The IPv6 address of the NLB instance.

func (GetLoadBalancersBalancerZoneMappingOutput) PrivateIpv4Address

The private IPv4 address used by the NLB instance.

func (GetLoadBalancersBalancerZoneMappingOutput) PublicIpv4Address

The public IPv4 address used by the NLB instance.

func (GetLoadBalancersBalancerZoneMappingOutput) ToGetLoadBalancersBalancerZoneMappingOutput

func (o GetLoadBalancersBalancerZoneMappingOutput) ToGetLoadBalancersBalancerZoneMappingOutput() GetLoadBalancersBalancerZoneMappingOutput

func (GetLoadBalancersBalancerZoneMappingOutput) ToGetLoadBalancersBalancerZoneMappingOutputWithContext

func (o GetLoadBalancersBalancerZoneMappingOutput) ToGetLoadBalancersBalancerZoneMappingOutputWithContext(ctx context.Context) GetLoadBalancersBalancerZoneMappingOutput

func (GetLoadBalancersBalancerZoneMappingOutput) VswitchId

The ID of the vSwitch. By default, you can specify one vSwitch (subnet) in each zone of the NLB instance.

func (GetLoadBalancersBalancerZoneMappingOutput) ZoneId

The name of the zone.

type GetLoadBalancersOutputArgs

type GetLoadBalancersOutputArgs struct {
	// The IP version. Valid values: `ipv4`, `DualStack`.
	AddressIpVersion pulumi.StringPtrInput `pulumi:"addressIpVersion"`
	// The type of IPv4 address used by the NLB instance. Valid values: `Internet`, `Intranet`.
	AddressType pulumi.StringPtrInput `pulumi:"addressType"`
	// The domain name of the NLB instance.
	DnsName pulumi.StringPtrInput `pulumi:"dnsName"`
	// A list of Load Balancer IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The type of IPv6 address used by the NLB instance. Valid values: `Internet`, `Intranet`.
	Ipv6AddressType pulumi.StringPtrInput `pulumi:"ipv6AddressType"`
	// The business status of the NLB instance. Valid values: `Abnormal`, `Normal`.
	LoadBalancerBusinessStatus pulumi.StringPtrInput `pulumi:"loadBalancerBusinessStatus"`
	// The name of the NLB instance. You can specify at most 10 names.
	LoadBalancerNames pulumi.StringArrayInput `pulumi:"loadBalancerNames"`
	// A regex string to filter results by Load Balancer name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The status of the NLB instance. Valid values: `Inactive`, `Active`, `Provisioning`, `Configuring`, `Deleting`, `Deleted`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	Tags   pulumi.StringMapInput `pulumi:"tags"`
	// The ID of the virtual private cloud (VPC) where the NLB instance is deployed. You can specify at most 10 IDs.
	VpcIds pulumi.StringArrayInput `pulumi:"vpcIds"`
	// The name of the zone.
	ZoneId pulumi.StringPtrInput `pulumi:"zoneId"`
}

A collection of arguments for invoking getLoadBalancers.

func (GetLoadBalancersOutputArgs) ElementType

func (GetLoadBalancersOutputArgs) ElementType() reflect.Type

type GetLoadBalancersResult

type GetLoadBalancersResult struct {
	AddressIpVersion *string                    `pulumi:"addressIpVersion"`
	AddressType      *string                    `pulumi:"addressType"`
	Balancers        []GetLoadBalancersBalancer `pulumi:"balancers"`
	DnsName          *string                    `pulumi:"dnsName"`
	// The provider-assigned unique ID for this managed resource.
	Id                         string            `pulumi:"id"`
	Ids                        []string          `pulumi:"ids"`
	Ipv6AddressType            *string           `pulumi:"ipv6AddressType"`
	LoadBalancerBusinessStatus *string           `pulumi:"loadBalancerBusinessStatus"`
	LoadBalancerNames          []string          `pulumi:"loadBalancerNames"`
	NameRegex                  *string           `pulumi:"nameRegex"`
	Names                      []string          `pulumi:"names"`
	OutputFile                 *string           `pulumi:"outputFile"`
	ResourceGroupId            *string           `pulumi:"resourceGroupId"`
	Status                     *string           `pulumi:"status"`
	Tags                       map[string]string `pulumi:"tags"`
	VpcIds                     []string          `pulumi:"vpcIds"`
	ZoneId                     *string           `pulumi:"zoneId"`
}

A collection of values returned by getLoadBalancers.

func GetLoadBalancers

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

This data source provides the Nlb Load Balancers of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := nlb.GetLoadBalancers(ctx, &nlb.GetLoadBalancersArgs{
			Ids: []string{
				"example_id",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nlbLoadBalancerId1", ids.Balancers[0].Id)
		nameRegex, err := nlb.GetLoadBalancers(ctx, &nlb.GetLoadBalancersArgs{
			NameRegex: pulumi.StringRef("^my-LoadBalancer"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nlbLoadBalancerId2", nameRegex.Balancers[0].Id)
		return nil
	})
}

```

type GetLoadBalancersResultOutput

type GetLoadBalancersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getLoadBalancers.

func (GetLoadBalancersResultOutput) AddressIpVersion

func (GetLoadBalancersResultOutput) AddressType

func (GetLoadBalancersResultOutput) Balancers

func (GetLoadBalancersResultOutput) DnsName

func (GetLoadBalancersResultOutput) ElementType

func (GetLoadBalancersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetLoadBalancersResultOutput) Ids

func (GetLoadBalancersResultOutput) Ipv6AddressType

func (GetLoadBalancersResultOutput) LoadBalancerBusinessStatus

func (o GetLoadBalancersResultOutput) LoadBalancerBusinessStatus() pulumi.StringPtrOutput

func (GetLoadBalancersResultOutput) LoadBalancerNames

func (GetLoadBalancersResultOutput) NameRegex

func (GetLoadBalancersResultOutput) Names

func (GetLoadBalancersResultOutput) OutputFile

func (GetLoadBalancersResultOutput) ResourceGroupId

func (GetLoadBalancersResultOutput) Status

func (GetLoadBalancersResultOutput) Tags

func (GetLoadBalancersResultOutput) ToGetLoadBalancersResultOutput

func (o GetLoadBalancersResultOutput) ToGetLoadBalancersResultOutput() GetLoadBalancersResultOutput

func (GetLoadBalancersResultOutput) ToGetLoadBalancersResultOutputWithContext

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

func (GetLoadBalancersResultOutput) VpcIds

func (GetLoadBalancersResultOutput) ZoneId

type GetSecurityPoliciesArgs

type GetSecurityPoliciesArgs struct {
	// A list of Security Policy IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Security Policy name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the resource group.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The names of the TLS security policies.
	SecurityPolicyNames []string `pulumi:"securityPolicyNames"`
	// The status of the resource. Valid values: `Available`, `Configuring`.
	Status *string           `pulumi:"status"`
	Tags   map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getSecurityPolicies.

type GetSecurityPoliciesOutputArgs

type GetSecurityPoliciesOutputArgs struct {
	// A list of Security Policy IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Security Policy name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The names of the TLS security policies.
	SecurityPolicyNames pulumi.StringArrayInput `pulumi:"securityPolicyNames"`
	// The status of the resource. Valid values: `Available`, `Configuring`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	Tags   pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getSecurityPolicies.

func (GetSecurityPoliciesOutputArgs) ElementType

type GetSecurityPoliciesPolicy

type GetSecurityPoliciesPolicy struct {
	// The supported cipher suites, which are determined by the TLS protocol version.
	Ciphers []string `pulumi:"ciphers"`
	// The id of the TLS security policy.
	Id string `pulumi:"id"`
	// The ID of the resource group.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// The name of the TLS security policy.
	SecurityPolicyName string `pulumi:"securityPolicyName"`
	// The status of the resource.
	Status string `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags map[string]string `pulumi:"tags"`
	// The TLS protocol versions that are supported.
	TlsVersions []string `pulumi:"tlsVersions"`
}

type GetSecurityPoliciesPolicyArgs

type GetSecurityPoliciesPolicyArgs struct {
	// The supported cipher suites, which are determined by the TLS protocol version.
	Ciphers pulumi.StringArrayInput `pulumi:"ciphers"`
	// The id of the TLS security policy.
	Id pulumi.StringInput `pulumi:"id"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// The name of the TLS security policy.
	SecurityPolicyName pulumi.StringInput `pulumi:"securityPolicyName"`
	// The status of the resource.
	Status pulumi.StringInput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// The TLS protocol versions that are supported.
	TlsVersions pulumi.StringArrayInput `pulumi:"tlsVersions"`
}

func (GetSecurityPoliciesPolicyArgs) ElementType

func (GetSecurityPoliciesPolicyArgs) ToGetSecurityPoliciesPolicyOutput

func (i GetSecurityPoliciesPolicyArgs) ToGetSecurityPoliciesPolicyOutput() GetSecurityPoliciesPolicyOutput

func (GetSecurityPoliciesPolicyArgs) ToGetSecurityPoliciesPolicyOutputWithContext

func (i GetSecurityPoliciesPolicyArgs) ToGetSecurityPoliciesPolicyOutputWithContext(ctx context.Context) GetSecurityPoliciesPolicyOutput

type GetSecurityPoliciesPolicyArray

type GetSecurityPoliciesPolicyArray []GetSecurityPoliciesPolicyInput

func (GetSecurityPoliciesPolicyArray) ElementType

func (GetSecurityPoliciesPolicyArray) ToGetSecurityPoliciesPolicyArrayOutput

func (i GetSecurityPoliciesPolicyArray) ToGetSecurityPoliciesPolicyArrayOutput() GetSecurityPoliciesPolicyArrayOutput

func (GetSecurityPoliciesPolicyArray) ToGetSecurityPoliciesPolicyArrayOutputWithContext

func (i GetSecurityPoliciesPolicyArray) ToGetSecurityPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetSecurityPoliciesPolicyArrayOutput

type GetSecurityPoliciesPolicyArrayInput

type GetSecurityPoliciesPolicyArrayInput interface {
	pulumi.Input

	ToGetSecurityPoliciesPolicyArrayOutput() GetSecurityPoliciesPolicyArrayOutput
	ToGetSecurityPoliciesPolicyArrayOutputWithContext(context.Context) GetSecurityPoliciesPolicyArrayOutput
}

GetSecurityPoliciesPolicyArrayInput is an input type that accepts GetSecurityPoliciesPolicyArray and GetSecurityPoliciesPolicyArrayOutput values. You can construct a concrete instance of `GetSecurityPoliciesPolicyArrayInput` via:

GetSecurityPoliciesPolicyArray{ GetSecurityPoliciesPolicyArgs{...} }

type GetSecurityPoliciesPolicyArrayOutput

type GetSecurityPoliciesPolicyArrayOutput struct{ *pulumi.OutputState }

func (GetSecurityPoliciesPolicyArrayOutput) ElementType

func (GetSecurityPoliciesPolicyArrayOutput) Index

func (GetSecurityPoliciesPolicyArrayOutput) ToGetSecurityPoliciesPolicyArrayOutput

func (o GetSecurityPoliciesPolicyArrayOutput) ToGetSecurityPoliciesPolicyArrayOutput() GetSecurityPoliciesPolicyArrayOutput

func (GetSecurityPoliciesPolicyArrayOutput) ToGetSecurityPoliciesPolicyArrayOutputWithContext

func (o GetSecurityPoliciesPolicyArrayOutput) ToGetSecurityPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetSecurityPoliciesPolicyArrayOutput

type GetSecurityPoliciesPolicyInput

type GetSecurityPoliciesPolicyInput interface {
	pulumi.Input

	ToGetSecurityPoliciesPolicyOutput() GetSecurityPoliciesPolicyOutput
	ToGetSecurityPoliciesPolicyOutputWithContext(context.Context) GetSecurityPoliciesPolicyOutput
}

GetSecurityPoliciesPolicyInput is an input type that accepts GetSecurityPoliciesPolicyArgs and GetSecurityPoliciesPolicyOutput values. You can construct a concrete instance of `GetSecurityPoliciesPolicyInput` via:

GetSecurityPoliciesPolicyArgs{...}

type GetSecurityPoliciesPolicyOutput

type GetSecurityPoliciesPolicyOutput struct{ *pulumi.OutputState }

func (GetSecurityPoliciesPolicyOutput) Ciphers

The supported cipher suites, which are determined by the TLS protocol version.

func (GetSecurityPoliciesPolicyOutput) ElementType

func (GetSecurityPoliciesPolicyOutput) Id

The id of the TLS security policy.

func (GetSecurityPoliciesPolicyOutput) ResourceGroupId

The ID of the resource group.

func (GetSecurityPoliciesPolicyOutput) SecurityPolicyName

func (o GetSecurityPoliciesPolicyOutput) SecurityPolicyName() pulumi.StringOutput

The name of the TLS security policy.

func (GetSecurityPoliciesPolicyOutput) Status

The status of the resource.

func (GetSecurityPoliciesPolicyOutput) Tags

A mapping of tags to assign to the resource.

func (GetSecurityPoliciesPolicyOutput) TlsVersions

The TLS protocol versions that are supported.

func (GetSecurityPoliciesPolicyOutput) ToGetSecurityPoliciesPolicyOutput

func (o GetSecurityPoliciesPolicyOutput) ToGetSecurityPoliciesPolicyOutput() GetSecurityPoliciesPolicyOutput

func (GetSecurityPoliciesPolicyOutput) ToGetSecurityPoliciesPolicyOutputWithContext

func (o GetSecurityPoliciesPolicyOutput) ToGetSecurityPoliciesPolicyOutputWithContext(ctx context.Context) GetSecurityPoliciesPolicyOutput

type GetSecurityPoliciesResult

type GetSecurityPoliciesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                  string                      `pulumi:"id"`
	Ids                 []string                    `pulumi:"ids"`
	NameRegex           *string                     `pulumi:"nameRegex"`
	Names               []string                    `pulumi:"names"`
	OutputFile          *string                     `pulumi:"outputFile"`
	Policies            []GetSecurityPoliciesPolicy `pulumi:"policies"`
	ResourceGroupId     *string                     `pulumi:"resourceGroupId"`
	SecurityPolicyNames []string                    `pulumi:"securityPolicyNames"`
	Status              *string                     `pulumi:"status"`
	Tags                map[string]string           `pulumi:"tags"`
}

A collection of values returned by getSecurityPolicies.

func GetSecurityPolicies

func GetSecurityPolicies(ctx *pulumi.Context, args *GetSecurityPoliciesArgs, opts ...pulumi.InvokeOption) (*GetSecurityPoliciesResult, error)

This data source provides the Nlb Security Policies of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := nlb.GetSecurityPolicies(ctx, &nlb.GetSecurityPoliciesArgs{}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nlbSecurityPolicyId1", ids.Policies[0].Id)
		nameRegex, err := nlb.GetSecurityPolicies(ctx, &nlb.GetSecurityPoliciesArgs{
			NameRegex: pulumi.StringRef("^my-SecurityPolicy"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nlbSecurityPolicyId2", nameRegex.Policies[0].Id)
		return nil
	})
}

```

type GetSecurityPoliciesResultOutput

type GetSecurityPoliciesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSecurityPolicies.

func (GetSecurityPoliciesResultOutput) ElementType

func (GetSecurityPoliciesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetSecurityPoliciesResultOutput) Ids

func (GetSecurityPoliciesResultOutput) NameRegex

func (GetSecurityPoliciesResultOutput) Names

func (GetSecurityPoliciesResultOutput) OutputFile

func (GetSecurityPoliciesResultOutput) Policies

func (GetSecurityPoliciesResultOutput) ResourceGroupId

func (GetSecurityPoliciesResultOutput) SecurityPolicyNames

func (GetSecurityPoliciesResultOutput) Status

func (GetSecurityPoliciesResultOutput) Tags

func (GetSecurityPoliciesResultOutput) ToGetSecurityPoliciesResultOutput

func (o GetSecurityPoliciesResultOutput) ToGetSecurityPoliciesResultOutput() GetSecurityPoliciesResultOutput

func (GetSecurityPoliciesResultOutput) ToGetSecurityPoliciesResultOutputWithContext

func (o GetSecurityPoliciesResultOutput) ToGetSecurityPoliciesResultOutputWithContext(ctx context.Context) GetSecurityPoliciesResultOutput

type GetServerGroupServerAttachmentsArgs

type GetServerGroupServerAttachmentsArgs struct {
	// A list of Server Group Server Attachment IDs.
	Ids []string `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the server group.
	ServerGroupId *string `pulumi:"serverGroupId"`
	// The IDs of the servers. You can specify at most 40 server IDs in each call.
	ServerIds []string `pulumi:"serverIds"`
	// The IP addresses of the servers. You can specify at most 40 server IP addresses in each call.
	ServerIps []string `pulumi:"serverIps"`
}

A collection of arguments for invoking getServerGroupServerAttachments.

type GetServerGroupServerAttachmentsAttachment

type GetServerGroupServerAttachmentsAttachment struct {
	// The description of the backend server.
	Description string `pulumi:"description"`
	// The ID of the server group. The value is formulated as `<server_group_id>:<server_id>:<server_type>:<port>`.
	Id string `pulumi:"id"`
	// The port used by the backend server.
	Port int `pulumi:"port"`
	// The ID of the server group.
	ServerGroupId string `pulumi:"serverGroupId"`
	// The ID of the server.
	ServerId string `pulumi:"serverId"`
	// The IP address of the backend server.
	ServerIp string `pulumi:"serverIp"`
	// The type of the backend server.
	ServerType string `pulumi:"serverType"`
	// Indicates the status of the backend server.
	Status string `pulumi:"status"`
	// The weight of the backend server.
	Weight int `pulumi:"weight"`
	// The zone ID of the server.
	ZoneId string `pulumi:"zoneId"`
}

type GetServerGroupServerAttachmentsAttachmentArgs

type GetServerGroupServerAttachmentsAttachmentArgs struct {
	// The description of the backend server.
	Description pulumi.StringInput `pulumi:"description"`
	// The ID of the server group. The value is formulated as `<server_group_id>:<server_id>:<server_type>:<port>`.
	Id pulumi.StringInput `pulumi:"id"`
	// The port used by the backend server.
	Port pulumi.IntInput `pulumi:"port"`
	// The ID of the server group.
	ServerGroupId pulumi.StringInput `pulumi:"serverGroupId"`
	// The ID of the server.
	ServerId pulumi.StringInput `pulumi:"serverId"`
	// The IP address of the backend server.
	ServerIp pulumi.StringInput `pulumi:"serverIp"`
	// The type of the backend server.
	ServerType pulumi.StringInput `pulumi:"serverType"`
	// Indicates the status of the backend server.
	Status pulumi.StringInput `pulumi:"status"`
	// The weight of the backend server.
	Weight pulumi.IntInput `pulumi:"weight"`
	// The zone ID of the server.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (GetServerGroupServerAttachmentsAttachmentArgs) ElementType

func (GetServerGroupServerAttachmentsAttachmentArgs) ToGetServerGroupServerAttachmentsAttachmentOutput

func (i GetServerGroupServerAttachmentsAttachmentArgs) ToGetServerGroupServerAttachmentsAttachmentOutput() GetServerGroupServerAttachmentsAttachmentOutput

func (GetServerGroupServerAttachmentsAttachmentArgs) ToGetServerGroupServerAttachmentsAttachmentOutputWithContext

func (i GetServerGroupServerAttachmentsAttachmentArgs) ToGetServerGroupServerAttachmentsAttachmentOutputWithContext(ctx context.Context) GetServerGroupServerAttachmentsAttachmentOutput

type GetServerGroupServerAttachmentsAttachmentArray

type GetServerGroupServerAttachmentsAttachmentArray []GetServerGroupServerAttachmentsAttachmentInput

func (GetServerGroupServerAttachmentsAttachmentArray) ElementType

func (GetServerGroupServerAttachmentsAttachmentArray) ToGetServerGroupServerAttachmentsAttachmentArrayOutput

func (i GetServerGroupServerAttachmentsAttachmentArray) ToGetServerGroupServerAttachmentsAttachmentArrayOutput() GetServerGroupServerAttachmentsAttachmentArrayOutput

func (GetServerGroupServerAttachmentsAttachmentArray) ToGetServerGroupServerAttachmentsAttachmentArrayOutputWithContext

func (i GetServerGroupServerAttachmentsAttachmentArray) ToGetServerGroupServerAttachmentsAttachmentArrayOutputWithContext(ctx context.Context) GetServerGroupServerAttachmentsAttachmentArrayOutput

type GetServerGroupServerAttachmentsAttachmentArrayInput

type GetServerGroupServerAttachmentsAttachmentArrayInput interface {
	pulumi.Input

	ToGetServerGroupServerAttachmentsAttachmentArrayOutput() GetServerGroupServerAttachmentsAttachmentArrayOutput
	ToGetServerGroupServerAttachmentsAttachmentArrayOutputWithContext(context.Context) GetServerGroupServerAttachmentsAttachmentArrayOutput
}

GetServerGroupServerAttachmentsAttachmentArrayInput is an input type that accepts GetServerGroupServerAttachmentsAttachmentArray and GetServerGroupServerAttachmentsAttachmentArrayOutput values. You can construct a concrete instance of `GetServerGroupServerAttachmentsAttachmentArrayInput` via:

GetServerGroupServerAttachmentsAttachmentArray{ GetServerGroupServerAttachmentsAttachmentArgs{...} }

type GetServerGroupServerAttachmentsAttachmentArrayOutput

type GetServerGroupServerAttachmentsAttachmentArrayOutput struct{ *pulumi.OutputState }

func (GetServerGroupServerAttachmentsAttachmentArrayOutput) ElementType

func (GetServerGroupServerAttachmentsAttachmentArrayOutput) Index

func (GetServerGroupServerAttachmentsAttachmentArrayOutput) ToGetServerGroupServerAttachmentsAttachmentArrayOutput

func (GetServerGroupServerAttachmentsAttachmentArrayOutput) ToGetServerGroupServerAttachmentsAttachmentArrayOutputWithContext

func (o GetServerGroupServerAttachmentsAttachmentArrayOutput) ToGetServerGroupServerAttachmentsAttachmentArrayOutputWithContext(ctx context.Context) GetServerGroupServerAttachmentsAttachmentArrayOutput

type GetServerGroupServerAttachmentsAttachmentInput

type GetServerGroupServerAttachmentsAttachmentInput interface {
	pulumi.Input

	ToGetServerGroupServerAttachmentsAttachmentOutput() GetServerGroupServerAttachmentsAttachmentOutput
	ToGetServerGroupServerAttachmentsAttachmentOutputWithContext(context.Context) GetServerGroupServerAttachmentsAttachmentOutput
}

GetServerGroupServerAttachmentsAttachmentInput is an input type that accepts GetServerGroupServerAttachmentsAttachmentArgs and GetServerGroupServerAttachmentsAttachmentOutput values. You can construct a concrete instance of `GetServerGroupServerAttachmentsAttachmentInput` via:

GetServerGroupServerAttachmentsAttachmentArgs{...}

type GetServerGroupServerAttachmentsAttachmentOutput

type GetServerGroupServerAttachmentsAttachmentOutput struct{ *pulumi.OutputState }

func (GetServerGroupServerAttachmentsAttachmentOutput) Description

The description of the backend server.

func (GetServerGroupServerAttachmentsAttachmentOutput) ElementType

func (GetServerGroupServerAttachmentsAttachmentOutput) Id

The ID of the server group. The value is formulated as `<server_group_id>:<server_id>:<server_type>:<port>`.

func (GetServerGroupServerAttachmentsAttachmentOutput) Port

The port used by the backend server.

func (GetServerGroupServerAttachmentsAttachmentOutput) ServerGroupId

The ID of the server group.

func (GetServerGroupServerAttachmentsAttachmentOutput) ServerId

The ID of the server.

func (GetServerGroupServerAttachmentsAttachmentOutput) ServerIp

The IP address of the backend server.

func (GetServerGroupServerAttachmentsAttachmentOutput) ServerType

The type of the backend server.

func (GetServerGroupServerAttachmentsAttachmentOutput) Status

Indicates the status of the backend server.

func (GetServerGroupServerAttachmentsAttachmentOutput) ToGetServerGroupServerAttachmentsAttachmentOutput

func (o GetServerGroupServerAttachmentsAttachmentOutput) ToGetServerGroupServerAttachmentsAttachmentOutput() GetServerGroupServerAttachmentsAttachmentOutput

func (GetServerGroupServerAttachmentsAttachmentOutput) ToGetServerGroupServerAttachmentsAttachmentOutputWithContext

func (o GetServerGroupServerAttachmentsAttachmentOutput) ToGetServerGroupServerAttachmentsAttachmentOutputWithContext(ctx context.Context) GetServerGroupServerAttachmentsAttachmentOutput

func (GetServerGroupServerAttachmentsAttachmentOutput) Weight

The weight of the backend server.

func (GetServerGroupServerAttachmentsAttachmentOutput) ZoneId

The zone ID of the server.

type GetServerGroupServerAttachmentsOutputArgs

type GetServerGroupServerAttachmentsOutputArgs struct {
	// A list of Server Group Server Attachment IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the server group.
	ServerGroupId pulumi.StringPtrInput `pulumi:"serverGroupId"`
	// The IDs of the servers. You can specify at most 40 server IDs in each call.
	ServerIds pulumi.StringArrayInput `pulumi:"serverIds"`
	// The IP addresses of the servers. You can specify at most 40 server IP addresses in each call.
	ServerIps pulumi.StringArrayInput `pulumi:"serverIps"`
}

A collection of arguments for invoking getServerGroupServerAttachments.

func (GetServerGroupServerAttachmentsOutputArgs) ElementType

type GetServerGroupServerAttachmentsResult

type GetServerGroupServerAttachmentsResult struct {
	// A list of Nlb Server Group Server Attachments. Each element contains the following attributes:
	Attachments []GetServerGroupServerAttachmentsAttachment `pulumi:"attachments"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// The ID of the server group.
	ServerGroupId *string  `pulumi:"serverGroupId"`
	ServerIds     []string `pulumi:"serverIds"`
	ServerIps     []string `pulumi:"serverIps"`
}

A collection of values returned by getServerGroupServerAttachments.

func GetServerGroupServerAttachments

This data source provides the Nlb Server Group Server Attachments of the current Alibaba Cloud user.

> **NOTE:** Available since v1.192.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := nlb.GetServerGroupServerAttachments(ctx, &nlb.GetServerGroupServerAttachmentsArgs{
			Ids: []string{
				"example_value",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nlbServerGroupServerAttachmentId1", ids.Attachments[0].Id)
		return nil
	})
}

```

type GetServerGroupServerAttachmentsResultOutput

type GetServerGroupServerAttachmentsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServerGroupServerAttachments.

func (GetServerGroupServerAttachmentsResultOutput) Attachments

A list of Nlb Server Group Server Attachments. Each element contains the following attributes:

func (GetServerGroupServerAttachmentsResultOutput) ElementType

func (GetServerGroupServerAttachmentsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetServerGroupServerAttachmentsResultOutput) Ids

func (GetServerGroupServerAttachmentsResultOutput) OutputFile

func (GetServerGroupServerAttachmentsResultOutput) ServerGroupId

The ID of the server group.

func (GetServerGroupServerAttachmentsResultOutput) ServerIds

func (GetServerGroupServerAttachmentsResultOutput) ServerIps

func (GetServerGroupServerAttachmentsResultOutput) ToGetServerGroupServerAttachmentsResultOutput

func (o GetServerGroupServerAttachmentsResultOutput) ToGetServerGroupServerAttachmentsResultOutput() GetServerGroupServerAttachmentsResultOutput

func (GetServerGroupServerAttachmentsResultOutput) ToGetServerGroupServerAttachmentsResultOutputWithContext

func (o GetServerGroupServerAttachmentsResultOutput) ToGetServerGroupServerAttachmentsResultOutputWithContext(ctx context.Context) GetServerGroupServerAttachmentsResultOutput

type GetServerGroupsArgs

type GetServerGroupsArgs struct {
	// A list of Server Group IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Server Group name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the resource group to which the security group belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The names of the server groups to be queried.
	ServerGroupNames []string `pulumi:"serverGroupNames"`
	// The type of the server group. Valid values: `Instance`, `Ip`.
	ServerGroupType *string `pulumi:"serverGroupType"`
	// The status of the resource. Valid values: `Available`, `Configuring`, `Creating`.
	Status *string           `pulumi:"status"`
	Tags   map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getServerGroups.

type GetServerGroupsGroup

type GetServerGroupsGroup struct {
	// The protocol version.
	AddressIpVersion string `pulumi:"addressIpVersion"`
	// Indicates whether connection draining is enabled.
	ConnectionDrain bool `pulumi:"connectionDrain"`
	// The timeout period of connection draining. Unit: seconds.
	ConnectionDrainTimeout int `pulumi:"connectionDrainTimeout"`
	// The configurations of health checks.
	HealthChecks []GetServerGroupsGroupHealthCheck `pulumi:"healthChecks"`
	// The ID of the Server Group.
	Id string `pulumi:"id"`
	// Indicates whether client address retention is enabled.
	PreserveClientIpEnabled bool `pulumi:"preserveClientIpEnabled"`
	// The protocol used to forward requests to the backend servers.
	Protocol string `pulumi:"protocol"`
	// The NLB instance.
	RelatedLoadBalancerIds []string `pulumi:"relatedLoadBalancerIds"`
	// The ID of the resource group to which the security group belongs.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// The routing algorithm.
	Scheduler string `pulumi:"scheduler"`
	// The number of server groups associated with the NLB instance.
	ServerCount int `pulumi:"serverCount"`
	// The name of the server group.
	ServerGroupName string `pulumi:"serverGroupName"`
	// The type of the server group.
	ServerGroupType string `pulumi:"serverGroupType"`
	// The status of the server group.
	Status string `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags map[string]string `pulumi:"tags"`
	// The ID of the VPC to which the server group belongs.
	VpcId string `pulumi:"vpcId"`
}

type GetServerGroupsGroupArgs

type GetServerGroupsGroupArgs struct {
	// The protocol version.
	AddressIpVersion pulumi.StringInput `pulumi:"addressIpVersion"`
	// Indicates whether connection draining is enabled.
	ConnectionDrain pulumi.BoolInput `pulumi:"connectionDrain"`
	// The timeout period of connection draining. Unit: seconds.
	ConnectionDrainTimeout pulumi.IntInput `pulumi:"connectionDrainTimeout"`
	// The configurations of health checks.
	HealthChecks GetServerGroupsGroupHealthCheckArrayInput `pulumi:"healthChecks"`
	// The ID of the Server Group.
	Id pulumi.StringInput `pulumi:"id"`
	// Indicates whether client address retention is enabled.
	PreserveClientIpEnabled pulumi.BoolInput `pulumi:"preserveClientIpEnabled"`
	// The protocol used to forward requests to the backend servers.
	Protocol pulumi.StringInput `pulumi:"protocol"`
	// The NLB instance.
	RelatedLoadBalancerIds pulumi.StringArrayInput `pulumi:"relatedLoadBalancerIds"`
	// The ID of the resource group to which the security group belongs.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// The routing algorithm.
	Scheduler pulumi.StringInput `pulumi:"scheduler"`
	// The number of server groups associated with the NLB instance.
	ServerCount pulumi.IntInput `pulumi:"serverCount"`
	// The name of the server group.
	ServerGroupName pulumi.StringInput `pulumi:"serverGroupName"`
	// The type of the server group.
	ServerGroupType pulumi.StringInput `pulumi:"serverGroupType"`
	// The status of the server group.
	Status pulumi.StringInput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// The ID of the VPC to which the server group belongs.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetServerGroupsGroupArgs) ElementType

func (GetServerGroupsGroupArgs) ElementType() reflect.Type

func (GetServerGroupsGroupArgs) ToGetServerGroupsGroupOutput

func (i GetServerGroupsGroupArgs) ToGetServerGroupsGroupOutput() GetServerGroupsGroupOutput

func (GetServerGroupsGroupArgs) ToGetServerGroupsGroupOutputWithContext

func (i GetServerGroupsGroupArgs) ToGetServerGroupsGroupOutputWithContext(ctx context.Context) GetServerGroupsGroupOutput

type GetServerGroupsGroupArray

type GetServerGroupsGroupArray []GetServerGroupsGroupInput

func (GetServerGroupsGroupArray) ElementType

func (GetServerGroupsGroupArray) ElementType() reflect.Type

func (GetServerGroupsGroupArray) ToGetServerGroupsGroupArrayOutput

func (i GetServerGroupsGroupArray) ToGetServerGroupsGroupArrayOutput() GetServerGroupsGroupArrayOutput

func (GetServerGroupsGroupArray) ToGetServerGroupsGroupArrayOutputWithContext

func (i GetServerGroupsGroupArray) ToGetServerGroupsGroupArrayOutputWithContext(ctx context.Context) GetServerGroupsGroupArrayOutput

type GetServerGroupsGroupArrayInput

type GetServerGroupsGroupArrayInput interface {
	pulumi.Input

	ToGetServerGroupsGroupArrayOutput() GetServerGroupsGroupArrayOutput
	ToGetServerGroupsGroupArrayOutputWithContext(context.Context) GetServerGroupsGroupArrayOutput
}

GetServerGroupsGroupArrayInput is an input type that accepts GetServerGroupsGroupArray and GetServerGroupsGroupArrayOutput values. You can construct a concrete instance of `GetServerGroupsGroupArrayInput` via:

GetServerGroupsGroupArray{ GetServerGroupsGroupArgs{...} }

type GetServerGroupsGroupArrayOutput

type GetServerGroupsGroupArrayOutput struct{ *pulumi.OutputState }

func (GetServerGroupsGroupArrayOutput) ElementType

func (GetServerGroupsGroupArrayOutput) Index

func (GetServerGroupsGroupArrayOutput) ToGetServerGroupsGroupArrayOutput

func (o GetServerGroupsGroupArrayOutput) ToGetServerGroupsGroupArrayOutput() GetServerGroupsGroupArrayOutput

func (GetServerGroupsGroupArrayOutput) ToGetServerGroupsGroupArrayOutputWithContext

func (o GetServerGroupsGroupArrayOutput) ToGetServerGroupsGroupArrayOutputWithContext(ctx context.Context) GetServerGroupsGroupArrayOutput

type GetServerGroupsGroupHealthCheck

type GetServerGroupsGroupHealthCheck struct {
	// The backend port that is used for health checks.
	HealthCheckConnectPort int `pulumi:"healthCheckConnectPort"`
	// The maximum timeout period of a health check response.
	HealthCheckConnectTimeout int `pulumi:"healthCheckConnectTimeout"`
	// The domain name that is used for health checks.
	HealthCheckDomain string `pulumi:"healthCheckDomain"`
	// Specifies whether to enable health checks.
	HealthCheckEnabled bool `pulumi:"healthCheckEnabled"`
	// The HTTP status codes returned for health checks.
	HealthCheckHttpCodes []string `pulumi:"healthCheckHttpCodes"`
	// The interval between two consecutive health checks.
	HealthCheckInterval int `pulumi:"healthCheckInterval"`
	// The protocol that is used for health checks.
	HealthCheckType string `pulumi:"healthCheckType"`
	// The path to which health check requests are sent.
	HealthCheckUrl string `pulumi:"healthCheckUrl"`
	// The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy.
	HealthyThreshold int `pulumi:"healthyThreshold"`
	// The HTTP method that is used for health checks.
	HttpCheckMethod string `pulumi:"httpCheckMethod"`
	// The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy.
	UnhealthyThreshold int `pulumi:"unhealthyThreshold"`
}

type GetServerGroupsGroupHealthCheckArgs

type GetServerGroupsGroupHealthCheckArgs struct {
	// The backend port that is used for health checks.
	HealthCheckConnectPort pulumi.IntInput `pulumi:"healthCheckConnectPort"`
	// The maximum timeout period of a health check response.
	HealthCheckConnectTimeout pulumi.IntInput `pulumi:"healthCheckConnectTimeout"`
	// The domain name that is used for health checks.
	HealthCheckDomain pulumi.StringInput `pulumi:"healthCheckDomain"`
	// Specifies whether to enable health checks.
	HealthCheckEnabled pulumi.BoolInput `pulumi:"healthCheckEnabled"`
	// The HTTP status codes returned for health checks.
	HealthCheckHttpCodes pulumi.StringArrayInput `pulumi:"healthCheckHttpCodes"`
	// The interval between two consecutive health checks.
	HealthCheckInterval pulumi.IntInput `pulumi:"healthCheckInterval"`
	// The protocol that is used for health checks.
	HealthCheckType pulumi.StringInput `pulumi:"healthCheckType"`
	// The path to which health check requests are sent.
	HealthCheckUrl pulumi.StringInput `pulumi:"healthCheckUrl"`
	// The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy.
	HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"`
	// The HTTP method that is used for health checks.
	HttpCheckMethod pulumi.StringInput `pulumi:"httpCheckMethod"`
	// The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy.
	UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"`
}

func (GetServerGroupsGroupHealthCheckArgs) ElementType

func (GetServerGroupsGroupHealthCheckArgs) ToGetServerGroupsGroupHealthCheckOutput

func (i GetServerGroupsGroupHealthCheckArgs) ToGetServerGroupsGroupHealthCheckOutput() GetServerGroupsGroupHealthCheckOutput

func (GetServerGroupsGroupHealthCheckArgs) ToGetServerGroupsGroupHealthCheckOutputWithContext

func (i GetServerGroupsGroupHealthCheckArgs) ToGetServerGroupsGroupHealthCheckOutputWithContext(ctx context.Context) GetServerGroupsGroupHealthCheckOutput

type GetServerGroupsGroupHealthCheckArray

type GetServerGroupsGroupHealthCheckArray []GetServerGroupsGroupHealthCheckInput

func (GetServerGroupsGroupHealthCheckArray) ElementType

func (GetServerGroupsGroupHealthCheckArray) ToGetServerGroupsGroupHealthCheckArrayOutput

func (i GetServerGroupsGroupHealthCheckArray) ToGetServerGroupsGroupHealthCheckArrayOutput() GetServerGroupsGroupHealthCheckArrayOutput

func (GetServerGroupsGroupHealthCheckArray) ToGetServerGroupsGroupHealthCheckArrayOutputWithContext

func (i GetServerGroupsGroupHealthCheckArray) ToGetServerGroupsGroupHealthCheckArrayOutputWithContext(ctx context.Context) GetServerGroupsGroupHealthCheckArrayOutput

type GetServerGroupsGroupHealthCheckArrayInput

type GetServerGroupsGroupHealthCheckArrayInput interface {
	pulumi.Input

	ToGetServerGroupsGroupHealthCheckArrayOutput() GetServerGroupsGroupHealthCheckArrayOutput
	ToGetServerGroupsGroupHealthCheckArrayOutputWithContext(context.Context) GetServerGroupsGroupHealthCheckArrayOutput
}

GetServerGroupsGroupHealthCheckArrayInput is an input type that accepts GetServerGroupsGroupHealthCheckArray and GetServerGroupsGroupHealthCheckArrayOutput values. You can construct a concrete instance of `GetServerGroupsGroupHealthCheckArrayInput` via:

GetServerGroupsGroupHealthCheckArray{ GetServerGroupsGroupHealthCheckArgs{...} }

type GetServerGroupsGroupHealthCheckArrayOutput

type GetServerGroupsGroupHealthCheckArrayOutput struct{ *pulumi.OutputState }

func (GetServerGroupsGroupHealthCheckArrayOutput) ElementType

func (GetServerGroupsGroupHealthCheckArrayOutput) Index

func (GetServerGroupsGroupHealthCheckArrayOutput) ToGetServerGroupsGroupHealthCheckArrayOutput

func (o GetServerGroupsGroupHealthCheckArrayOutput) ToGetServerGroupsGroupHealthCheckArrayOutput() GetServerGroupsGroupHealthCheckArrayOutput

func (GetServerGroupsGroupHealthCheckArrayOutput) ToGetServerGroupsGroupHealthCheckArrayOutputWithContext

func (o GetServerGroupsGroupHealthCheckArrayOutput) ToGetServerGroupsGroupHealthCheckArrayOutputWithContext(ctx context.Context) GetServerGroupsGroupHealthCheckArrayOutput

type GetServerGroupsGroupHealthCheckInput

type GetServerGroupsGroupHealthCheckInput interface {
	pulumi.Input

	ToGetServerGroupsGroupHealthCheckOutput() GetServerGroupsGroupHealthCheckOutput
	ToGetServerGroupsGroupHealthCheckOutputWithContext(context.Context) GetServerGroupsGroupHealthCheckOutput
}

GetServerGroupsGroupHealthCheckInput is an input type that accepts GetServerGroupsGroupHealthCheckArgs and GetServerGroupsGroupHealthCheckOutput values. You can construct a concrete instance of `GetServerGroupsGroupHealthCheckInput` via:

GetServerGroupsGroupHealthCheckArgs{...}

type GetServerGroupsGroupHealthCheckOutput

type GetServerGroupsGroupHealthCheckOutput struct{ *pulumi.OutputState }

func (GetServerGroupsGroupHealthCheckOutput) ElementType

func (GetServerGroupsGroupHealthCheckOutput) HealthCheckConnectPort

func (o GetServerGroupsGroupHealthCheckOutput) HealthCheckConnectPort() pulumi.IntOutput

The backend port that is used for health checks.

func (GetServerGroupsGroupHealthCheckOutput) HealthCheckConnectTimeout

func (o GetServerGroupsGroupHealthCheckOutput) HealthCheckConnectTimeout() pulumi.IntOutput

The maximum timeout period of a health check response.

func (GetServerGroupsGroupHealthCheckOutput) HealthCheckDomain

The domain name that is used for health checks.

func (GetServerGroupsGroupHealthCheckOutput) HealthCheckEnabled

Specifies whether to enable health checks.

func (GetServerGroupsGroupHealthCheckOutput) HealthCheckHttpCodes

The HTTP status codes returned for health checks.

func (GetServerGroupsGroupHealthCheckOutput) HealthCheckInterval

func (o GetServerGroupsGroupHealthCheckOutput) HealthCheckInterval() pulumi.IntOutput

The interval between two consecutive health checks.

func (GetServerGroupsGroupHealthCheckOutput) HealthCheckType

The protocol that is used for health checks.

func (GetServerGroupsGroupHealthCheckOutput) HealthCheckUrl

The path to which health check requests are sent.

func (GetServerGroupsGroupHealthCheckOutput) HealthyThreshold

The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy.

func (GetServerGroupsGroupHealthCheckOutput) HttpCheckMethod

The HTTP method that is used for health checks.

func (GetServerGroupsGroupHealthCheckOutput) ToGetServerGroupsGroupHealthCheckOutput

func (o GetServerGroupsGroupHealthCheckOutput) ToGetServerGroupsGroupHealthCheckOutput() GetServerGroupsGroupHealthCheckOutput

func (GetServerGroupsGroupHealthCheckOutput) ToGetServerGroupsGroupHealthCheckOutputWithContext

func (o GetServerGroupsGroupHealthCheckOutput) ToGetServerGroupsGroupHealthCheckOutputWithContext(ctx context.Context) GetServerGroupsGroupHealthCheckOutput

func (GetServerGroupsGroupHealthCheckOutput) UnhealthyThreshold

The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy.

type GetServerGroupsGroupInput

type GetServerGroupsGroupInput interface {
	pulumi.Input

	ToGetServerGroupsGroupOutput() GetServerGroupsGroupOutput
	ToGetServerGroupsGroupOutputWithContext(context.Context) GetServerGroupsGroupOutput
}

GetServerGroupsGroupInput is an input type that accepts GetServerGroupsGroupArgs and GetServerGroupsGroupOutput values. You can construct a concrete instance of `GetServerGroupsGroupInput` via:

GetServerGroupsGroupArgs{...}

type GetServerGroupsGroupOutput

type GetServerGroupsGroupOutput struct{ *pulumi.OutputState }

func (GetServerGroupsGroupOutput) AddressIpVersion

func (o GetServerGroupsGroupOutput) AddressIpVersion() pulumi.StringOutput

The protocol version.

func (GetServerGroupsGroupOutput) ConnectionDrain

func (o GetServerGroupsGroupOutput) ConnectionDrain() pulumi.BoolOutput

Indicates whether connection draining is enabled.

func (GetServerGroupsGroupOutput) ConnectionDrainTimeout

func (o GetServerGroupsGroupOutput) ConnectionDrainTimeout() pulumi.IntOutput

The timeout period of connection draining. Unit: seconds.

func (GetServerGroupsGroupOutput) ElementType

func (GetServerGroupsGroupOutput) ElementType() reflect.Type

func (GetServerGroupsGroupOutput) HealthChecks

The configurations of health checks.

func (GetServerGroupsGroupOutput) Id

The ID of the Server Group.

func (GetServerGroupsGroupOutput) PreserveClientIpEnabled

func (o GetServerGroupsGroupOutput) PreserveClientIpEnabled() pulumi.BoolOutput

Indicates whether client address retention is enabled.

func (GetServerGroupsGroupOutput) Protocol

The protocol used to forward requests to the backend servers.

func (GetServerGroupsGroupOutput) RelatedLoadBalancerIds

func (o GetServerGroupsGroupOutput) RelatedLoadBalancerIds() pulumi.StringArrayOutput

The NLB instance.

func (GetServerGroupsGroupOutput) ResourceGroupId

func (o GetServerGroupsGroupOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group to which the security group belongs.

func (GetServerGroupsGroupOutput) Scheduler

The routing algorithm.

func (GetServerGroupsGroupOutput) ServerCount

The number of server groups associated with the NLB instance.

func (GetServerGroupsGroupOutput) ServerGroupName

func (o GetServerGroupsGroupOutput) ServerGroupName() pulumi.StringOutput

The name of the server group.

func (GetServerGroupsGroupOutput) ServerGroupType

func (o GetServerGroupsGroupOutput) ServerGroupType() pulumi.StringOutput

The type of the server group.

func (GetServerGroupsGroupOutput) Status

The status of the server group.

func (GetServerGroupsGroupOutput) Tags

A mapping of tags to assign to the resource.

func (GetServerGroupsGroupOutput) ToGetServerGroupsGroupOutput

func (o GetServerGroupsGroupOutput) ToGetServerGroupsGroupOutput() GetServerGroupsGroupOutput

func (GetServerGroupsGroupOutput) ToGetServerGroupsGroupOutputWithContext

func (o GetServerGroupsGroupOutput) ToGetServerGroupsGroupOutputWithContext(ctx context.Context) GetServerGroupsGroupOutput

func (GetServerGroupsGroupOutput) VpcId

The ID of the VPC to which the server group belongs.

type GetServerGroupsOutputArgs

type GetServerGroupsOutputArgs struct {
	// A list of Server Group IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Server Group name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the resource group to which the security group belongs.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The names of the server groups to be queried.
	ServerGroupNames pulumi.StringArrayInput `pulumi:"serverGroupNames"`
	// The type of the server group. Valid values: `Instance`, `Ip`.
	ServerGroupType pulumi.StringPtrInput `pulumi:"serverGroupType"`
	// The status of the resource. Valid values: `Available`, `Configuring`, `Creating`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	Tags   pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getServerGroups.

func (GetServerGroupsOutputArgs) ElementType

func (GetServerGroupsOutputArgs) ElementType() reflect.Type

type GetServerGroupsResult

type GetServerGroupsResult struct {
	Groups []GetServerGroupsGroup `pulumi:"groups"`
	// The provider-assigned unique ID for this managed resource.
	Id               string            `pulumi:"id"`
	Ids              []string          `pulumi:"ids"`
	NameRegex        *string           `pulumi:"nameRegex"`
	Names            []string          `pulumi:"names"`
	OutputFile       *string           `pulumi:"outputFile"`
	ResourceGroupId  *string           `pulumi:"resourceGroupId"`
	ServerGroupNames []string          `pulumi:"serverGroupNames"`
	ServerGroupType  *string           `pulumi:"serverGroupType"`
	Status           *string           `pulumi:"status"`
	Tags             map[string]string `pulumi:"tags"`
}

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 Nlb Server Groups of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := nlb.GetServerGroups(ctx, &nlb.GetServerGroupsArgs{}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nlbServerGroupId1", ids.Groups[0].Id)
		nameRegex, err := nlb.GetServerGroups(ctx, &nlb.GetServerGroupsArgs{
			NameRegex: pulumi.StringRef("^my-ServerGroup"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("nlbServerGroupId2", nameRegex.Groups[0].Id)
		return nil
	})
}

```

type GetServerGroupsResultOutput

type GetServerGroupsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServerGroups.

func (GetServerGroupsResultOutput) ElementType

func (GetServerGroupsResultOutput) Groups

func (GetServerGroupsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetServerGroupsResultOutput) Ids

func (GetServerGroupsResultOutput) NameRegex

func (GetServerGroupsResultOutput) Names

func (GetServerGroupsResultOutput) OutputFile

func (GetServerGroupsResultOutput) ResourceGroupId

func (GetServerGroupsResultOutput) ServerGroupNames

func (GetServerGroupsResultOutput) ServerGroupType

func (GetServerGroupsResultOutput) Status

func (GetServerGroupsResultOutput) Tags

func (GetServerGroupsResultOutput) ToGetServerGroupsResultOutput

func (o GetServerGroupsResultOutput) ToGetServerGroupsResultOutput() GetServerGroupsResultOutput

func (GetServerGroupsResultOutput) ToGetServerGroupsResultOutputWithContext

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

type GetZonesArgs

type GetZonesArgs struct {
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

type GetZonesOutputArgs

type GetZonesOutputArgs struct {
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

func (GetZonesOutputArgs) ElementType

func (GetZonesOutputArgs) ElementType() reflect.Type

type GetZonesResult

type GetZonesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id         string         `pulumi:"id"`
	Ids        []string       `pulumi:"ids"`
	OutputFile *string        `pulumi:"outputFile"`
	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 the available zones with the Network Load Balancer (NLB) Instance of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := nlb.GetZones(ctx, &nlb.GetZonesArgs{}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstNlbZonesId", example.Zones[0].ZoneId)
		return nil
	})
}

```

type GetZonesResultOutput

type GetZonesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getZones.

func (GetZonesResultOutput) ElementType

func (GetZonesResultOutput) ElementType() reflect.Type

func (GetZonesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetZonesResultOutput) Ids

func (GetZonesResultOutput) OutputFile

func (GetZonesResultOutput) ToGetZonesResultOutput

func (o GetZonesResultOutput) ToGetZonesResultOutput() GetZonesResultOutput

func (GetZonesResultOutput) ToGetZonesResultOutputWithContext

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

func (GetZonesResultOutput) Zones

type GetZonesZone

type GetZonesZone struct {
	// The ID of zone.
	Id string `pulumi:"id"`
	// The local name.
	LocalName string `pulumi:"localName"`
	// The zone ID.
	ZoneId string `pulumi:"zoneId"`
}

type GetZonesZoneArgs

type GetZonesZoneArgs struct {
	// The ID of zone.
	Id pulumi.StringInput `pulumi:"id"`
	// The local name.
	LocalName pulumi.StringInput `pulumi:"localName"`
	// The zone ID.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

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

The ID of zone.

func (GetZonesZoneOutput) LocalName

func (o GetZonesZoneOutput) LocalName() pulumi.StringOutput

The local name.

func (GetZonesZoneOutput) ToGetZonesZoneOutput

func (o GetZonesZoneOutput) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneOutput) ToGetZonesZoneOutputWithContext

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

func (GetZonesZoneOutput) ZoneId

The zone ID.

type Listener

type Listener struct {
	pulumi.CustomResourceState

	// Specifies whether to enable Application-Layer Protocol Negotiation (ALPN). Valid values:
	AlpnEnabled pulumi.BoolOutput `pulumi:"alpnEnabled"`
	// The ALPN policy. Valid values:
	// - `HTTP1Only`: uses only HTTP 1.x. The priority of HTTP 1.1 is higher than the priority of HTTP 1.0.
	// - `HTTP2Only`: uses only HTTP 2.0.
	// - `HTTP2Optional`: preferentially uses HTTP 1.x over HTTP 2.0. The priority of HTTP 1.1 is higher than the priority of HTTP 1.0, and the priority of HTTP 1.0 is higher than the priority of HTTP 2.0.
	// - `HTTP2Preferred`: preferentially uses HTTP 2.0 over HTTP 1.x. The priority of HTTP 2.0 is higher than the priority of HTTP 1.1, and the priority of HTTP 1.1 is higher than the priority of HTTP 1.0.
	//
	// > **NOTE:**  This parameter is required if AlpnEnabled is set to true.
	//
	// > **NOTE:**  Effective only for TCPSSL listener.
	AlpnPolicy pulumi.StringPtrOutput `pulumi:"alpnPolicy"`
	// The list of certificate authority (CA) certificates. This parameter takes effect only for listeners that use SSL over TCP.
	//
	// > **NOTE:**  Only one CA certificate is supported.
	CaCertificateIds pulumi.StringArrayOutput `pulumi:"caCertificateIds"`
	// Specifies whether to enable mutual authentication. Valid values:
	CaEnabled pulumi.BoolOutput `pulumi:"caEnabled"`
	// The list of server certificates. This parameter takes effect only for listeners that use SSL over TCP.
	//
	// > **NOTE:**  This parameter takes effect only for TCPSSL listeners.
	CertificateIds pulumi.StringArrayOutput `pulumi:"certificateIds"`
	// The maximum number of connections that can be created per second on the NLB instance. Valid values: `0` to `1000000`. `0` specifies that the number of connections is unlimited.
	Cps pulumi.IntPtrOutput `pulumi:"cps"`
	// The last port in the listener port range. Valid values: `0` to `65535`. The number of the last port must be greater than the number of the first port.
	//
	// > **NOTE:**  This parameter is required when `ListenerPort` is set to `0`.
	EndPort pulumi.IntPtrOutput `pulumi:"endPort"`
	// The timeout period of idle connections. Unit: seconds. Valid values: `1` to `900`. Default value: `900`.
	IdleTimeout pulumi.IntOutput `pulumi:"idleTimeout"`
	// Enter a name for the listener.
	// The description must be 2 to 256 characters in length, and can contain letters, digits, commas (,), periods (.), semicolons (;), forward slashes (/), at signs (@), underscores (\_), and hyphens (-).
	ListenerDescription pulumi.StringPtrOutput `pulumi:"listenerDescription"`
	// The listener port. Valid values: `0` to `65535`.
	// If you set the value to `0`, the listener listens by port range. If you set the value to `0`, you must specify `StartPort` and `EndPort`.
	ListenerPort pulumi.IntOutput `pulumi:"listenerPort"`
	// The listening protocol. Valid values: `TCP`, `UDP`, and `TCPSSL`.
	ListenerProtocol pulumi.StringOutput `pulumi:"listenerProtocol"`
	// The ID of the Network Load Balancer (NLB) instance.
	LoadBalancerId pulumi.StringOutput `pulumi:"loadBalancerId"`
	// The maximum size of a TCP segment. Unit: bytes. Valid values: `0` to `1500`. `0` specifies that the maximum segment size remains unchanged.
	//
	// > **NOTE:**  This parameter is supported only by TCP listeners and listeners that use SSL over TCP.
	Mss pulumi.IntPtrOutput `pulumi:"mss"`
	// The Proxy Protocol is used to carry the VpcId, PrivateLinkEpId, and PrivateLinkEpsId information to the backend server for configuration. See `proxyProtocolConfig` below.
	ProxyProtocolConfig ListenerProxyProtocolConfigOutput `pulumi:"proxyProtocolConfig"`
	// Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:
	ProxyProtocolEnabled pulumi.BoolOutput `pulumi:"proxyProtocolEnabled"`
	// The ID of the region where the Network Load Balancer (NLB) instance is deployed.
	// You can call the [DescribeRegions](https://www.alibabacloud.com/help/en/doc-detail/443657.html) operation to query the most recent region list.
	RegionId pulumi.StringOutput `pulumi:"regionId"`
	// Specifies whether to enable fine-grained monitoring. Valid values:
	SecSensorEnabled pulumi.BoolOutput `pulumi:"secSensorEnabled"`
	// The security policy ID. System security policies and custom security policies are supported.
	//
	// Valid values: `tls_cipher_policy\_1\_0` (default), `tls_cipher_policy\_1\_1`, `tls_cipher_policy\_1\_2`, `tls_cipher_policy\_1\_2\_strict`, and `tls_cipher_policy\_1\_2\_strict_with\_1\_3`.
	//
	// > **NOTE:**  This parameter takes effect only for listeners that use SSL over TCP.
	SecurityPolicyId pulumi.StringOutput `pulumi:"securityPolicyId"`
	// The ID of the server group.
	ServerGroupId pulumi.StringOutput `pulumi:"serverGroupId"`
	// The first port in the listener port range. Valid values: `0` to `65535`.
	//
	// > **NOTE:**  This parameter is required when `ListenerPort` is set to `0`.
	StartPort pulumi.IntPtrOutput `pulumi:"startPort"`
	// The status of the resource. Valid values: `Running`, `Stopped`. When you want to enable this instance, you can set the property value to `Running`;
	Status pulumi.StringOutput `pulumi:"status"`
	// The tag of the resource
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides a Network Load Balancer (NLB) Listener resource.

For information about Network Load Balancer (NLB) Listener and how to use it, see [What is Listener](https://www.alibabacloud.com/help/en/server-load-balancer/latest/api-nlb-2022-04-30-createlistener).

> **NOTE:** Available since v1.191.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{}, nil)
		if err != nil {
			return err
		}
		defaultGetZones, err := nlb.GetZones(ctx, &nlb.GetZonesArgs{}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.0.0/24"),
			VpcId:       defaultNetwork.ID(),
			ZoneId:      pulumi.String(defaultGetZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		default1, err := vpc.NewSwitch(ctx, "default1", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.1.0/24"),
			VpcId:       defaultNetwork.ID(),
			ZoneId:      pulumi.String(defaultGetZones.Zones[1].Id),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(name),
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultLoadBalancer, err := nlb.NewLoadBalancer(ctx, "default", &nlb.LoadBalancerArgs{
			LoadBalancerName: pulumi.String(name),
			ResourceGroupId:  pulumi.String(_default.Ids[0]),
			LoadBalancerType: pulumi.String("Network"),
			AddressType:      pulumi.String("Internet"),
			AddressIpVersion: pulumi.String("Ipv4"),
			VpcId:            defaultNetwork.ID(),
			Tags: pulumi.StringMap{
				"Created": pulumi.String("TF"),
				"For":     pulumi.String("example"),
			},
			ZoneMappings: nlb.LoadBalancerZoneMappingArray{
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: defaultSwitch.ID(),
					ZoneId:    pulumi.String(defaultGetZones.Zones[0].Id),
				},
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: default1.ID(),
					ZoneId:    pulumi.String(defaultGetZones.Zones[1].Id),
				},
			},
		})
		if err != nil {
			return err
		}
		defaultServerGroup, err := nlb.NewServerGroup(ctx, "default", &nlb.ServerGroupArgs{
			ResourceGroupId:        pulumi.String(_default.Ids[0]),
			ServerGroupName:        pulumi.String(name),
			ServerGroupType:        pulumi.String("Instance"),
			VpcId:                  defaultNetwork.ID(),
			Scheduler:              pulumi.String("Wrr"),
			Protocol:               pulumi.String("TCP"),
			ConnectionDrainEnabled: pulumi.Bool(true),
			ConnectionDrainTimeout: pulumi.Int(60),
			AddressIpVersion:       pulumi.String("Ipv4"),
			HealthCheck: &nlb.ServerGroupHealthCheckArgs{
				HealthCheckEnabled:        pulumi.Bool(true),
				HealthCheckType:           pulumi.String("TCP"),
				HealthCheckConnectPort:    pulumi.Int(0),
				HealthyThreshold:          pulumi.Int(2),
				UnhealthyThreshold:        pulumi.Int(2),
				HealthCheckConnectTimeout: pulumi.Int(5),
				HealthCheckInterval:       pulumi.Int(10),
				HttpCheckMethod:           pulumi.String("GET"),
				HealthCheckHttpCodes: pulumi.StringArray{
					pulumi.String("http_2xx"),
					pulumi.String("http_3xx"),
					pulumi.String("http_4xx"),
				},
			},
			Tags: pulumi.StringMap{
				"Created": pulumi.String("TF"),
				"For":     pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		_, err = nlb.NewListener(ctx, "default", &nlb.ListenerArgs{
			ListenerProtocol:     pulumi.String("TCP"),
			ListenerPort:         pulumi.Int(80),
			ListenerDescription:  pulumi.String(name),
			LoadBalancerId:       defaultLoadBalancer.ID(),
			ServerGroupId:        defaultServerGroup.ID(),
			IdleTimeout:          pulumi.Int(900),
			ProxyProtocolEnabled: pulumi.Bool(true),
			Cps:                  pulumi.Int(10000),
			Mss:                  pulumi.Int(0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Network Load Balancer (NLB) Listener can be imported using the id, e.g.

```sh $ pulumi import alicloud:nlb/listener:Listener example <id> ```

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 ListenerAdditionalCertificateAttachment added in v3.43.0

type ListenerAdditionalCertificateAttachment struct {
	pulumi.CustomResourceState

	// The ID of additional certificates.
	CertificateId pulumi.StringOutput `pulumi:"certificateId"`
	// Specifies whether to perform a dry run, without performing the actual request. Valid values:
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The listener ID. You must specify the ID of a listener that uses SSL over TCP.
	ListenerId pulumi.StringOutput `pulumi:"listenerId"`
	// The status of the resource
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a NLB Listener Additional Certificate Attachment resource.

For information about NLB Listener Additional Certificate Attachment and how to use it, see [What is Listener Additional Certificate Attachment](https://www.alibabacloud.com/help/en/server-load-balancer/latest/nlb-instances-change).

> **NOTE:** Available since v1.209.0.

## Import

NLB Listener Additional Certificate Attachment can be imported using the id, e.g.

```sh $ pulumi import alicloud:nlb/listenerAdditionalCertificateAttachment:ListenerAdditionalCertificateAttachment example <listener_id>:<certificate_id> ```

func GetListenerAdditionalCertificateAttachment added in v3.43.0

func GetListenerAdditionalCertificateAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ListenerAdditionalCertificateAttachmentState, opts ...pulumi.ResourceOption) (*ListenerAdditionalCertificateAttachment, error)

GetListenerAdditionalCertificateAttachment gets an existing ListenerAdditionalCertificateAttachment 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 NewListenerAdditionalCertificateAttachment added in v3.43.0

func NewListenerAdditionalCertificateAttachment(ctx *pulumi.Context,
	name string, args *ListenerAdditionalCertificateAttachmentArgs, opts ...pulumi.ResourceOption) (*ListenerAdditionalCertificateAttachment, error)

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

func (*ListenerAdditionalCertificateAttachment) ElementType added in v3.43.0

func (*ListenerAdditionalCertificateAttachment) ToListenerAdditionalCertificateAttachmentOutput added in v3.43.0

func (i *ListenerAdditionalCertificateAttachment) ToListenerAdditionalCertificateAttachmentOutput() ListenerAdditionalCertificateAttachmentOutput

func (*ListenerAdditionalCertificateAttachment) ToListenerAdditionalCertificateAttachmentOutputWithContext added in v3.43.0

func (i *ListenerAdditionalCertificateAttachment) ToListenerAdditionalCertificateAttachmentOutputWithContext(ctx context.Context) ListenerAdditionalCertificateAttachmentOutput

type ListenerAdditionalCertificateAttachmentArgs added in v3.43.0

type ListenerAdditionalCertificateAttachmentArgs struct {
	// The ID of additional certificates.
	CertificateId pulumi.StringInput
	// Specifies whether to perform a dry run, without performing the actual request. Valid values:
	DryRun pulumi.BoolPtrInput
	// The listener ID. You must specify the ID of a listener that uses SSL over TCP.
	ListenerId pulumi.StringInput
}

The set of arguments for constructing a ListenerAdditionalCertificateAttachment resource.

func (ListenerAdditionalCertificateAttachmentArgs) ElementType added in v3.43.0

type ListenerAdditionalCertificateAttachmentArray added in v3.43.0

type ListenerAdditionalCertificateAttachmentArray []ListenerAdditionalCertificateAttachmentInput

func (ListenerAdditionalCertificateAttachmentArray) ElementType added in v3.43.0

func (ListenerAdditionalCertificateAttachmentArray) ToListenerAdditionalCertificateAttachmentArrayOutput added in v3.43.0

func (i ListenerAdditionalCertificateAttachmentArray) ToListenerAdditionalCertificateAttachmentArrayOutput() ListenerAdditionalCertificateAttachmentArrayOutput

func (ListenerAdditionalCertificateAttachmentArray) ToListenerAdditionalCertificateAttachmentArrayOutputWithContext added in v3.43.0

func (i ListenerAdditionalCertificateAttachmentArray) ToListenerAdditionalCertificateAttachmentArrayOutputWithContext(ctx context.Context) ListenerAdditionalCertificateAttachmentArrayOutput

type ListenerAdditionalCertificateAttachmentArrayInput added in v3.43.0

type ListenerAdditionalCertificateAttachmentArrayInput interface {
	pulumi.Input

	ToListenerAdditionalCertificateAttachmentArrayOutput() ListenerAdditionalCertificateAttachmentArrayOutput
	ToListenerAdditionalCertificateAttachmentArrayOutputWithContext(context.Context) ListenerAdditionalCertificateAttachmentArrayOutput
}

ListenerAdditionalCertificateAttachmentArrayInput is an input type that accepts ListenerAdditionalCertificateAttachmentArray and ListenerAdditionalCertificateAttachmentArrayOutput values. You can construct a concrete instance of `ListenerAdditionalCertificateAttachmentArrayInput` via:

ListenerAdditionalCertificateAttachmentArray{ ListenerAdditionalCertificateAttachmentArgs{...} }

type ListenerAdditionalCertificateAttachmentArrayOutput added in v3.43.0

type ListenerAdditionalCertificateAttachmentArrayOutput struct{ *pulumi.OutputState }

func (ListenerAdditionalCertificateAttachmentArrayOutput) ElementType added in v3.43.0

func (ListenerAdditionalCertificateAttachmentArrayOutput) Index added in v3.43.0

func (ListenerAdditionalCertificateAttachmentArrayOutput) ToListenerAdditionalCertificateAttachmentArrayOutput added in v3.43.0

func (o ListenerAdditionalCertificateAttachmentArrayOutput) ToListenerAdditionalCertificateAttachmentArrayOutput() ListenerAdditionalCertificateAttachmentArrayOutput

func (ListenerAdditionalCertificateAttachmentArrayOutput) ToListenerAdditionalCertificateAttachmentArrayOutputWithContext added in v3.43.0

func (o ListenerAdditionalCertificateAttachmentArrayOutput) ToListenerAdditionalCertificateAttachmentArrayOutputWithContext(ctx context.Context) ListenerAdditionalCertificateAttachmentArrayOutput

type ListenerAdditionalCertificateAttachmentInput added in v3.43.0

type ListenerAdditionalCertificateAttachmentInput interface {
	pulumi.Input

	ToListenerAdditionalCertificateAttachmentOutput() ListenerAdditionalCertificateAttachmentOutput
	ToListenerAdditionalCertificateAttachmentOutputWithContext(ctx context.Context) ListenerAdditionalCertificateAttachmentOutput
}

type ListenerAdditionalCertificateAttachmentMap added in v3.43.0

type ListenerAdditionalCertificateAttachmentMap map[string]ListenerAdditionalCertificateAttachmentInput

func (ListenerAdditionalCertificateAttachmentMap) ElementType added in v3.43.0

func (ListenerAdditionalCertificateAttachmentMap) ToListenerAdditionalCertificateAttachmentMapOutput added in v3.43.0

func (i ListenerAdditionalCertificateAttachmentMap) ToListenerAdditionalCertificateAttachmentMapOutput() ListenerAdditionalCertificateAttachmentMapOutput

func (ListenerAdditionalCertificateAttachmentMap) ToListenerAdditionalCertificateAttachmentMapOutputWithContext added in v3.43.0

func (i ListenerAdditionalCertificateAttachmentMap) ToListenerAdditionalCertificateAttachmentMapOutputWithContext(ctx context.Context) ListenerAdditionalCertificateAttachmentMapOutput

type ListenerAdditionalCertificateAttachmentMapInput added in v3.43.0

type ListenerAdditionalCertificateAttachmentMapInput interface {
	pulumi.Input

	ToListenerAdditionalCertificateAttachmentMapOutput() ListenerAdditionalCertificateAttachmentMapOutput
	ToListenerAdditionalCertificateAttachmentMapOutputWithContext(context.Context) ListenerAdditionalCertificateAttachmentMapOutput
}

ListenerAdditionalCertificateAttachmentMapInput is an input type that accepts ListenerAdditionalCertificateAttachmentMap and ListenerAdditionalCertificateAttachmentMapOutput values. You can construct a concrete instance of `ListenerAdditionalCertificateAttachmentMapInput` via:

ListenerAdditionalCertificateAttachmentMap{ "key": ListenerAdditionalCertificateAttachmentArgs{...} }

type ListenerAdditionalCertificateAttachmentMapOutput added in v3.43.0

type ListenerAdditionalCertificateAttachmentMapOutput struct{ *pulumi.OutputState }

func (ListenerAdditionalCertificateAttachmentMapOutput) ElementType added in v3.43.0

func (ListenerAdditionalCertificateAttachmentMapOutput) MapIndex added in v3.43.0

func (ListenerAdditionalCertificateAttachmentMapOutput) ToListenerAdditionalCertificateAttachmentMapOutput added in v3.43.0

func (o ListenerAdditionalCertificateAttachmentMapOutput) ToListenerAdditionalCertificateAttachmentMapOutput() ListenerAdditionalCertificateAttachmentMapOutput

func (ListenerAdditionalCertificateAttachmentMapOutput) ToListenerAdditionalCertificateAttachmentMapOutputWithContext added in v3.43.0

func (o ListenerAdditionalCertificateAttachmentMapOutput) ToListenerAdditionalCertificateAttachmentMapOutputWithContext(ctx context.Context) ListenerAdditionalCertificateAttachmentMapOutput

type ListenerAdditionalCertificateAttachmentOutput added in v3.43.0

type ListenerAdditionalCertificateAttachmentOutput struct{ *pulumi.OutputState }

func (ListenerAdditionalCertificateAttachmentOutput) CertificateId added in v3.43.0

The ID of additional certificates.

func (ListenerAdditionalCertificateAttachmentOutput) DryRun added in v3.43.0

Specifies whether to perform a dry run, without performing the actual request. Valid values:

func (ListenerAdditionalCertificateAttachmentOutput) ElementType added in v3.43.0

func (ListenerAdditionalCertificateAttachmentOutput) ListenerId added in v3.43.0

The listener ID. You must specify the ID of a listener that uses SSL over TCP.

func (ListenerAdditionalCertificateAttachmentOutput) Status added in v3.43.0

The status of the resource

func (ListenerAdditionalCertificateAttachmentOutput) ToListenerAdditionalCertificateAttachmentOutput added in v3.43.0

func (o ListenerAdditionalCertificateAttachmentOutput) ToListenerAdditionalCertificateAttachmentOutput() ListenerAdditionalCertificateAttachmentOutput

func (ListenerAdditionalCertificateAttachmentOutput) ToListenerAdditionalCertificateAttachmentOutputWithContext added in v3.43.0

func (o ListenerAdditionalCertificateAttachmentOutput) ToListenerAdditionalCertificateAttachmentOutputWithContext(ctx context.Context) ListenerAdditionalCertificateAttachmentOutput

type ListenerAdditionalCertificateAttachmentState added in v3.43.0

type ListenerAdditionalCertificateAttachmentState struct {
	// The ID of additional certificates.
	CertificateId pulumi.StringPtrInput
	// Specifies whether to perform a dry run, without performing the actual request. Valid values:
	DryRun pulumi.BoolPtrInput
	// The listener ID. You must specify the ID of a listener that uses SSL over TCP.
	ListenerId pulumi.StringPtrInput
	// The status of the resource
	Status pulumi.StringPtrInput
}

func (ListenerAdditionalCertificateAttachmentState) ElementType added in v3.43.0

type ListenerArgs

type ListenerArgs struct {
	// Specifies whether to enable Application-Layer Protocol Negotiation (ALPN). Valid values:
	AlpnEnabled pulumi.BoolPtrInput
	// The ALPN policy. Valid values:
	// - `HTTP1Only`: uses only HTTP 1.x. The priority of HTTP 1.1 is higher than the priority of HTTP 1.0.
	// - `HTTP2Only`: uses only HTTP 2.0.
	// - `HTTP2Optional`: preferentially uses HTTP 1.x over HTTP 2.0. The priority of HTTP 1.1 is higher than the priority of HTTP 1.0, and the priority of HTTP 1.0 is higher than the priority of HTTP 2.0.
	// - `HTTP2Preferred`: preferentially uses HTTP 2.0 over HTTP 1.x. The priority of HTTP 2.0 is higher than the priority of HTTP 1.1, and the priority of HTTP 1.1 is higher than the priority of HTTP 1.0.
	//
	// > **NOTE:**  This parameter is required if AlpnEnabled is set to true.
	//
	// > **NOTE:**  Effective only for TCPSSL listener.
	AlpnPolicy pulumi.StringPtrInput
	// The list of certificate authority (CA) certificates. This parameter takes effect only for listeners that use SSL over TCP.
	//
	// > **NOTE:**  Only one CA certificate is supported.
	CaCertificateIds pulumi.StringArrayInput
	// Specifies whether to enable mutual authentication. Valid values:
	CaEnabled pulumi.BoolPtrInput
	// The list of server certificates. This parameter takes effect only for listeners that use SSL over TCP.
	//
	// > **NOTE:**  This parameter takes effect only for TCPSSL listeners.
	CertificateIds pulumi.StringArrayInput
	// The maximum number of connections that can be created per second on the NLB instance. Valid values: `0` to `1000000`. `0` specifies that the number of connections is unlimited.
	Cps pulumi.IntPtrInput
	// The last port in the listener port range. Valid values: `0` to `65535`. The number of the last port must be greater than the number of the first port.
	//
	// > **NOTE:**  This parameter is required when `ListenerPort` is set to `0`.
	EndPort pulumi.IntPtrInput
	// The timeout period of idle connections. Unit: seconds. Valid values: `1` to `900`. Default value: `900`.
	IdleTimeout pulumi.IntPtrInput
	// Enter a name for the listener.
	// The description must be 2 to 256 characters in length, and can contain letters, digits, commas (,), periods (.), semicolons (;), forward slashes (/), at signs (@), underscores (\_), and hyphens (-).
	ListenerDescription pulumi.StringPtrInput
	// The listener port. Valid values: `0` to `65535`.
	// If you set the value to `0`, the listener listens by port range. If you set the value to `0`, you must specify `StartPort` and `EndPort`.
	ListenerPort pulumi.IntInput
	// The listening protocol. Valid values: `TCP`, `UDP`, and `TCPSSL`.
	ListenerProtocol pulumi.StringInput
	// The ID of the Network Load Balancer (NLB) instance.
	LoadBalancerId pulumi.StringInput
	// The maximum size of a TCP segment. Unit: bytes. Valid values: `0` to `1500`. `0` specifies that the maximum segment size remains unchanged.
	//
	// > **NOTE:**  This parameter is supported only by TCP listeners and listeners that use SSL over TCP.
	Mss pulumi.IntPtrInput
	// The Proxy Protocol is used to carry the VpcId, PrivateLinkEpId, and PrivateLinkEpsId information to the backend server for configuration. See `proxyProtocolConfig` below.
	ProxyProtocolConfig ListenerProxyProtocolConfigPtrInput
	// Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:
	ProxyProtocolEnabled pulumi.BoolPtrInput
	// Specifies whether to enable fine-grained monitoring. Valid values:
	SecSensorEnabled pulumi.BoolPtrInput
	// The security policy ID. System security policies and custom security policies are supported.
	//
	// Valid values: `tls_cipher_policy\_1\_0` (default), `tls_cipher_policy\_1\_1`, `tls_cipher_policy\_1\_2`, `tls_cipher_policy\_1\_2\_strict`, and `tls_cipher_policy\_1\_2\_strict_with\_1\_3`.
	//
	// > **NOTE:**  This parameter takes effect only for listeners that use SSL over TCP.
	SecurityPolicyId pulumi.StringPtrInput
	// The ID of the server group.
	ServerGroupId pulumi.StringInput
	// The first port in the listener port range. Valid values: `0` to `65535`.
	//
	// > **NOTE:**  This parameter is required when `ListenerPort` is set to `0`.
	StartPort pulumi.IntPtrInput
	// The status of the resource. Valid values: `Running`, `Stopped`. When you want to enable this instance, you can set the property value to `Running`;
	Status pulumi.StringPtrInput
	// The tag of the resource
	Tags pulumi.StringMapInput
}

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

func (o ListenerOutput) AlpnEnabled() pulumi.BoolOutput

Specifies whether to enable Application-Layer Protocol Negotiation (ALPN). Valid values:

func (ListenerOutput) AlpnPolicy

func (o ListenerOutput) AlpnPolicy() pulumi.StringPtrOutput

The ALPN policy. Valid values: - `HTTP1Only`: uses only HTTP 1.x. The priority of HTTP 1.1 is higher than the priority of HTTP 1.0. - `HTTP2Only`: uses only HTTP 2.0. - `HTTP2Optional`: preferentially uses HTTP 1.x over HTTP 2.0. The priority of HTTP 1.1 is higher than the priority of HTTP 1.0, and the priority of HTTP 1.0 is higher than the priority of HTTP 2.0. - `HTTP2Preferred`: preferentially uses HTTP 2.0 over HTTP 1.x. The priority of HTTP 2.0 is higher than the priority of HTTP 1.1, and the priority of HTTP 1.1 is higher than the priority of HTTP 1.0.

> **NOTE:** This parameter is required if AlpnEnabled is set to true.

> **NOTE:** Effective only for TCPSSL listener.

func (ListenerOutput) CaCertificateIds

func (o ListenerOutput) CaCertificateIds() pulumi.StringArrayOutput

The list of certificate authority (CA) certificates. This parameter takes effect only for listeners that use SSL over TCP.

> **NOTE:** Only one CA certificate is supported.

func (ListenerOutput) CaEnabled

func (o ListenerOutput) CaEnabled() pulumi.BoolOutput

Specifies whether to enable mutual authentication. Valid values:

func (ListenerOutput) CertificateIds

func (o ListenerOutput) CertificateIds() pulumi.StringArrayOutput

The list of server certificates. This parameter takes effect only for listeners that use SSL over TCP.

> **NOTE:** This parameter takes effect only for TCPSSL listeners.

func (ListenerOutput) Cps

The maximum number of connections that can be created per second on the NLB instance. Valid values: `0` to `1000000`. `0` specifies that the number of connections is unlimited.

func (ListenerOutput) ElementType

func (ListenerOutput) ElementType() reflect.Type

func (ListenerOutput) EndPort

func (o ListenerOutput) EndPort() pulumi.IntPtrOutput

The last port in the listener port range. Valid values: `0` to `65535`. The number of the last port must be greater than the number of the first port.

> **NOTE:** This parameter is required when `ListenerPort` is set to `0`.

func (ListenerOutput) IdleTimeout

func (o ListenerOutput) IdleTimeout() pulumi.IntOutput

The timeout period of idle connections. Unit: seconds. Valid values: `1` to `900`. Default value: `900`.

func (ListenerOutput) ListenerDescription

func (o ListenerOutput) ListenerDescription() pulumi.StringPtrOutput

Enter a name for the listener. The description must be 2 to 256 characters in length, and can contain letters, digits, commas (,), periods (.), semicolons (;), forward slashes (/), at signs (@), underscores (\_), and hyphens (-).

func (ListenerOutput) ListenerPort

func (o ListenerOutput) ListenerPort() pulumi.IntOutput

The listener port. Valid values: `0` to `65535`. If you set the value to `0`, the listener listens by port range. If you set the value to `0`, you must specify `StartPort` and `EndPort`.

func (ListenerOutput) ListenerProtocol

func (o ListenerOutput) ListenerProtocol() pulumi.StringOutput

The listening protocol. Valid values: `TCP`, `UDP`, and `TCPSSL`.

func (ListenerOutput) LoadBalancerId

func (o ListenerOutput) LoadBalancerId() pulumi.StringOutput

The ID of the Network Load Balancer (NLB) instance.

func (ListenerOutput) Mss

The maximum size of a TCP segment. Unit: bytes. Valid values: `0` to `1500`. `0` specifies that the maximum segment size remains unchanged.

> **NOTE:** This parameter is supported only by TCP listeners and listeners that use SSL over TCP.

func (ListenerOutput) ProxyProtocolConfig added in v3.75.0

func (o ListenerOutput) ProxyProtocolConfig() ListenerProxyProtocolConfigOutput

The Proxy Protocol is used to carry the VpcId, PrivateLinkEpId, and PrivateLinkEpsId information to the backend server for configuration. See `proxyProtocolConfig` below.

func (ListenerOutput) ProxyProtocolEnabled

func (o ListenerOutput) ProxyProtocolEnabled() pulumi.BoolOutput

Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:

func (ListenerOutput) RegionId added in v3.75.0

func (o ListenerOutput) RegionId() pulumi.StringOutput

The ID of the region where the Network Load Balancer (NLB) instance is deployed. You can call the [DescribeRegions](https://www.alibabacloud.com/help/en/doc-detail/443657.html) operation to query the most recent region list.

func (ListenerOutput) SecSensorEnabled

func (o ListenerOutput) SecSensorEnabled() pulumi.BoolOutput

Specifies whether to enable fine-grained monitoring. Valid values:

func (ListenerOutput) SecurityPolicyId

func (o ListenerOutput) SecurityPolicyId() pulumi.StringOutput

The security policy ID. System security policies and custom security policies are supported.

Valid values: `tls_cipher_policy\_1\_0` (default), `tls_cipher_policy\_1\_1`, `tls_cipher_policy\_1\_2`, `tls_cipher_policy\_1\_2\_strict`, and `tls_cipher_policy\_1\_2\_strict_with\_1\_3`.

> **NOTE:** This parameter takes effect only for listeners that use SSL over TCP.

func (ListenerOutput) ServerGroupId

func (o ListenerOutput) ServerGroupId() pulumi.StringOutput

The ID of the server group.

func (ListenerOutput) StartPort

func (o ListenerOutput) StartPort() pulumi.IntPtrOutput

The first port in the listener port range. Valid values: `0` to `65535`.

> **NOTE:** This parameter is required when `ListenerPort` is set to `0`.

func (ListenerOutput) Status

func (o ListenerOutput) Status() pulumi.StringOutput

The status of the resource. Valid values: `Running`, `Stopped`. When you want to enable this instance, you can set the property value to `Running`;

func (ListenerOutput) Tags added in v3.49.1

The tag of the resource

func (ListenerOutput) ToListenerOutput

func (o ListenerOutput) ToListenerOutput() ListenerOutput

func (ListenerOutput) ToListenerOutputWithContext

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

type ListenerProxyProtocolConfig added in v3.75.0

type ListenerProxyProtocolConfig struct {
	// Whether to enable carrying PrivateLinkEpId to backend servers through Proxy Protocol.
	ProxyProtocolConfigPrivateLinkEpIdEnabled *bool `pulumi:"proxyProtocolConfigPrivateLinkEpIdEnabled"`
	// Whether to enable carrying PrivateLinkEpsId to backend servers through the Proxy Protocol.
	ProxyProtocolConfigPrivateLinkEpsIdEnabled *bool `pulumi:"proxyProtocolConfigPrivateLinkEpsIdEnabled"`
	// Whether to enable carrying VpcId to backend servers through Proxy Protocol.
	ProxyProtocolConfigVpcIdEnabled *bool `pulumi:"proxyProtocolConfigVpcIdEnabled"`
}

type ListenerProxyProtocolConfigArgs added in v3.75.0

type ListenerProxyProtocolConfigArgs struct {
	// Whether to enable carrying PrivateLinkEpId to backend servers through Proxy Protocol.
	ProxyProtocolConfigPrivateLinkEpIdEnabled pulumi.BoolPtrInput `pulumi:"proxyProtocolConfigPrivateLinkEpIdEnabled"`
	// Whether to enable carrying PrivateLinkEpsId to backend servers through the Proxy Protocol.
	ProxyProtocolConfigPrivateLinkEpsIdEnabled pulumi.BoolPtrInput `pulumi:"proxyProtocolConfigPrivateLinkEpsIdEnabled"`
	// Whether to enable carrying VpcId to backend servers through Proxy Protocol.
	ProxyProtocolConfigVpcIdEnabled pulumi.BoolPtrInput `pulumi:"proxyProtocolConfigVpcIdEnabled"`
}

func (ListenerProxyProtocolConfigArgs) ElementType added in v3.75.0

func (ListenerProxyProtocolConfigArgs) ToListenerProxyProtocolConfigOutput added in v3.75.0

func (i ListenerProxyProtocolConfigArgs) ToListenerProxyProtocolConfigOutput() ListenerProxyProtocolConfigOutput

func (ListenerProxyProtocolConfigArgs) ToListenerProxyProtocolConfigOutputWithContext added in v3.75.0

func (i ListenerProxyProtocolConfigArgs) ToListenerProxyProtocolConfigOutputWithContext(ctx context.Context) ListenerProxyProtocolConfigOutput

func (ListenerProxyProtocolConfigArgs) ToListenerProxyProtocolConfigPtrOutput added in v3.75.0

func (i ListenerProxyProtocolConfigArgs) ToListenerProxyProtocolConfigPtrOutput() ListenerProxyProtocolConfigPtrOutput

func (ListenerProxyProtocolConfigArgs) ToListenerProxyProtocolConfigPtrOutputWithContext added in v3.75.0

func (i ListenerProxyProtocolConfigArgs) ToListenerProxyProtocolConfigPtrOutputWithContext(ctx context.Context) ListenerProxyProtocolConfigPtrOutput

type ListenerProxyProtocolConfigInput added in v3.75.0

type ListenerProxyProtocolConfigInput interface {
	pulumi.Input

	ToListenerProxyProtocolConfigOutput() ListenerProxyProtocolConfigOutput
	ToListenerProxyProtocolConfigOutputWithContext(context.Context) ListenerProxyProtocolConfigOutput
}

ListenerProxyProtocolConfigInput is an input type that accepts ListenerProxyProtocolConfigArgs and ListenerProxyProtocolConfigOutput values. You can construct a concrete instance of `ListenerProxyProtocolConfigInput` via:

ListenerProxyProtocolConfigArgs{...}

type ListenerProxyProtocolConfigOutput added in v3.75.0

type ListenerProxyProtocolConfigOutput struct{ *pulumi.OutputState }

func (ListenerProxyProtocolConfigOutput) ElementType added in v3.75.0

func (ListenerProxyProtocolConfigOutput) ProxyProtocolConfigPrivateLinkEpIdEnabled added in v3.75.0

func (o ListenerProxyProtocolConfigOutput) ProxyProtocolConfigPrivateLinkEpIdEnabled() pulumi.BoolPtrOutput

Whether to enable carrying PrivateLinkEpId to backend servers through Proxy Protocol.

func (ListenerProxyProtocolConfigOutput) ProxyProtocolConfigPrivateLinkEpsIdEnabled added in v3.75.0

func (o ListenerProxyProtocolConfigOutput) ProxyProtocolConfigPrivateLinkEpsIdEnabled() pulumi.BoolPtrOutput

Whether to enable carrying PrivateLinkEpsId to backend servers through the Proxy Protocol.

func (ListenerProxyProtocolConfigOutput) ProxyProtocolConfigVpcIdEnabled added in v3.75.0

func (o ListenerProxyProtocolConfigOutput) ProxyProtocolConfigVpcIdEnabled() pulumi.BoolPtrOutput

Whether to enable carrying VpcId to backend servers through Proxy Protocol.

func (ListenerProxyProtocolConfigOutput) ToListenerProxyProtocolConfigOutput added in v3.75.0

func (o ListenerProxyProtocolConfigOutput) ToListenerProxyProtocolConfigOutput() ListenerProxyProtocolConfigOutput

func (ListenerProxyProtocolConfigOutput) ToListenerProxyProtocolConfigOutputWithContext added in v3.75.0

func (o ListenerProxyProtocolConfigOutput) ToListenerProxyProtocolConfigOutputWithContext(ctx context.Context) ListenerProxyProtocolConfigOutput

func (ListenerProxyProtocolConfigOutput) ToListenerProxyProtocolConfigPtrOutput added in v3.75.0

func (o ListenerProxyProtocolConfigOutput) ToListenerProxyProtocolConfigPtrOutput() ListenerProxyProtocolConfigPtrOutput

func (ListenerProxyProtocolConfigOutput) ToListenerProxyProtocolConfigPtrOutputWithContext added in v3.75.0

func (o ListenerProxyProtocolConfigOutput) ToListenerProxyProtocolConfigPtrOutputWithContext(ctx context.Context) ListenerProxyProtocolConfigPtrOutput

type ListenerProxyProtocolConfigPtrInput added in v3.75.0

type ListenerProxyProtocolConfigPtrInput interface {
	pulumi.Input

	ToListenerProxyProtocolConfigPtrOutput() ListenerProxyProtocolConfigPtrOutput
	ToListenerProxyProtocolConfigPtrOutputWithContext(context.Context) ListenerProxyProtocolConfigPtrOutput
}

ListenerProxyProtocolConfigPtrInput is an input type that accepts ListenerProxyProtocolConfigArgs, ListenerProxyProtocolConfigPtr and ListenerProxyProtocolConfigPtrOutput values. You can construct a concrete instance of `ListenerProxyProtocolConfigPtrInput` via:

        ListenerProxyProtocolConfigArgs{...}

or:

        nil

func ListenerProxyProtocolConfigPtr added in v3.75.0

type ListenerProxyProtocolConfigPtrOutput added in v3.75.0

type ListenerProxyProtocolConfigPtrOutput struct{ *pulumi.OutputState }

func (ListenerProxyProtocolConfigPtrOutput) Elem added in v3.75.0

func (ListenerProxyProtocolConfigPtrOutput) ElementType added in v3.75.0

func (ListenerProxyProtocolConfigPtrOutput) ProxyProtocolConfigPrivateLinkEpIdEnabled added in v3.75.0

func (o ListenerProxyProtocolConfigPtrOutput) ProxyProtocolConfigPrivateLinkEpIdEnabled() pulumi.BoolPtrOutput

Whether to enable carrying PrivateLinkEpId to backend servers through Proxy Protocol.

func (ListenerProxyProtocolConfigPtrOutput) ProxyProtocolConfigPrivateLinkEpsIdEnabled added in v3.75.0

func (o ListenerProxyProtocolConfigPtrOutput) ProxyProtocolConfigPrivateLinkEpsIdEnabled() pulumi.BoolPtrOutput

Whether to enable carrying PrivateLinkEpsId to backend servers through the Proxy Protocol.

func (ListenerProxyProtocolConfigPtrOutput) ProxyProtocolConfigVpcIdEnabled added in v3.75.0

func (o ListenerProxyProtocolConfigPtrOutput) ProxyProtocolConfigVpcIdEnabled() pulumi.BoolPtrOutput

Whether to enable carrying VpcId to backend servers through Proxy Protocol.

func (ListenerProxyProtocolConfigPtrOutput) ToListenerProxyProtocolConfigPtrOutput added in v3.75.0

func (o ListenerProxyProtocolConfigPtrOutput) ToListenerProxyProtocolConfigPtrOutput() ListenerProxyProtocolConfigPtrOutput

func (ListenerProxyProtocolConfigPtrOutput) ToListenerProxyProtocolConfigPtrOutputWithContext added in v3.75.0

func (o ListenerProxyProtocolConfigPtrOutput) ToListenerProxyProtocolConfigPtrOutputWithContext(ctx context.Context) ListenerProxyProtocolConfigPtrOutput

type ListenerState

type ListenerState struct {
	// Specifies whether to enable Application-Layer Protocol Negotiation (ALPN). Valid values:
	AlpnEnabled pulumi.BoolPtrInput
	// The ALPN policy. Valid values:
	// - `HTTP1Only`: uses only HTTP 1.x. The priority of HTTP 1.1 is higher than the priority of HTTP 1.0.
	// - `HTTP2Only`: uses only HTTP 2.0.
	// - `HTTP2Optional`: preferentially uses HTTP 1.x over HTTP 2.0. The priority of HTTP 1.1 is higher than the priority of HTTP 1.0, and the priority of HTTP 1.0 is higher than the priority of HTTP 2.0.
	// - `HTTP2Preferred`: preferentially uses HTTP 2.0 over HTTP 1.x. The priority of HTTP 2.0 is higher than the priority of HTTP 1.1, and the priority of HTTP 1.1 is higher than the priority of HTTP 1.0.
	//
	// > **NOTE:**  This parameter is required if AlpnEnabled is set to true.
	//
	// > **NOTE:**  Effective only for TCPSSL listener.
	AlpnPolicy pulumi.StringPtrInput
	// The list of certificate authority (CA) certificates. This parameter takes effect only for listeners that use SSL over TCP.
	//
	// > **NOTE:**  Only one CA certificate is supported.
	CaCertificateIds pulumi.StringArrayInput
	// Specifies whether to enable mutual authentication. Valid values:
	CaEnabled pulumi.BoolPtrInput
	// The list of server certificates. This parameter takes effect only for listeners that use SSL over TCP.
	//
	// > **NOTE:**  This parameter takes effect only for TCPSSL listeners.
	CertificateIds pulumi.StringArrayInput
	// The maximum number of connections that can be created per second on the NLB instance. Valid values: `0` to `1000000`. `0` specifies that the number of connections is unlimited.
	Cps pulumi.IntPtrInput
	// The last port in the listener port range. Valid values: `0` to `65535`. The number of the last port must be greater than the number of the first port.
	//
	// > **NOTE:**  This parameter is required when `ListenerPort` is set to `0`.
	EndPort pulumi.IntPtrInput
	// The timeout period of idle connections. Unit: seconds. Valid values: `1` to `900`. Default value: `900`.
	IdleTimeout pulumi.IntPtrInput
	// Enter a name for the listener.
	// The description must be 2 to 256 characters in length, and can contain letters, digits, commas (,), periods (.), semicolons (;), forward slashes (/), at signs (@), underscores (\_), and hyphens (-).
	ListenerDescription pulumi.StringPtrInput
	// The listener port. Valid values: `0` to `65535`.
	// If you set the value to `0`, the listener listens by port range. If you set the value to `0`, you must specify `StartPort` and `EndPort`.
	ListenerPort pulumi.IntPtrInput
	// The listening protocol. Valid values: `TCP`, `UDP`, and `TCPSSL`.
	ListenerProtocol pulumi.StringPtrInput
	// The ID of the Network Load Balancer (NLB) instance.
	LoadBalancerId pulumi.StringPtrInput
	// The maximum size of a TCP segment. Unit: bytes. Valid values: `0` to `1500`. `0` specifies that the maximum segment size remains unchanged.
	//
	// > **NOTE:**  This parameter is supported only by TCP listeners and listeners that use SSL over TCP.
	Mss pulumi.IntPtrInput
	// The Proxy Protocol is used to carry the VpcId, PrivateLinkEpId, and PrivateLinkEpsId information to the backend server for configuration. See `proxyProtocolConfig` below.
	ProxyProtocolConfig ListenerProxyProtocolConfigPtrInput
	// Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:
	ProxyProtocolEnabled pulumi.BoolPtrInput
	// The ID of the region where the Network Load Balancer (NLB) instance is deployed.
	// You can call the [DescribeRegions](https://www.alibabacloud.com/help/en/doc-detail/443657.html) operation to query the most recent region list.
	RegionId pulumi.StringPtrInput
	// Specifies whether to enable fine-grained monitoring. Valid values:
	SecSensorEnabled pulumi.BoolPtrInput
	// The security policy ID. System security policies and custom security policies are supported.
	//
	// Valid values: `tls_cipher_policy\_1\_0` (default), `tls_cipher_policy\_1\_1`, `tls_cipher_policy\_1\_2`, `tls_cipher_policy\_1\_2\_strict`, and `tls_cipher_policy\_1\_2\_strict_with\_1\_3`.
	//
	// > **NOTE:**  This parameter takes effect only for listeners that use SSL over TCP.
	SecurityPolicyId pulumi.StringPtrInput
	// The ID of the server group.
	ServerGroupId pulumi.StringPtrInput
	// The first port in the listener port range. Valid values: `0` to `65535`.
	//
	// > **NOTE:**  This parameter is required when `ListenerPort` is set to `0`.
	StartPort pulumi.IntPtrInput
	// The status of the resource. Valid values: `Running`, `Stopped`. When you want to enable this instance, you can set the property value to `Running`;
	Status pulumi.StringPtrInput
	// The tag of the resource
	Tags pulumi.StringMapInput
}

func (ListenerState) ElementType

func (ListenerState) ElementType() reflect.Type

type LoadBalancer

type LoadBalancer struct {
	pulumi.CustomResourceState

	// The protocol version. Valid values:
	//
	// - **ipv4:** IPv4. This is the default value.
	// - **DualStack:** dual stack.
	AddressIpVersion pulumi.StringOutput `pulumi:"addressIpVersion"`
	// The type of IPv4 address used by the NLB instance. Valid values:
	// - `Internet`: The NLB instance uses a public IP address. The domain name of the NLB instance is resolved to the public IP address. Therefore, the NLB instance can be accessed over the Internet.
	// - `Intranet`: The NLB instance uses a private IP address. The domain name of the NLB instance is resolved to the private IP address. Therefore, the NLB instance can be accessed over the virtual private cloud (VPC) where the NLB instance is deployed.
	//
	// > **NOTE:**   To enable a public IPv6 address for an NLB instance, call the [EnableLoadBalancerIpv6Internet](https://www.alibabacloud.com/help/en/doc-detail/445878.html) operation.
	AddressType pulumi.StringOutput `pulumi:"addressType"`
	// The ID of the EIP bandwidth plan that is associated with the Internet-facing NLB instance.
	BandwidthPackageId pulumi.StringOutput `pulumi:"bandwidthPackageId"`
	// Resource creation time, using Greenwich Mean Time, formating' yyyy-MM-ddTHH:mm:ssZ '.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Specifies whether to enable cross-zone load balancing for the NLB instance. Valid values:
	CrossZoneEnabled pulumi.BoolOutput `pulumi:"crossZoneEnabled"`
	// Specifies whether to enable deletion protection. Default value: `false`. See `deletionProtectionConfig` below.
	DeletionProtectionConfig  LoadBalancerDeletionProtectionConfigOutput `pulumi:"deletionProtectionConfig"`
	DeletionProtectionEnabled pulumi.BoolOutput                          `pulumi:"deletionProtectionEnabled"`
	DeletionProtectionReason  pulumi.StringOutput                        `pulumi:"deletionProtectionReason"`
	// The domain name of the NLB instance.
	DnsName pulumi.StringOutput `pulumi:"dnsName"`
	// The type of IPv6 address used by the NLB instance. Valid values:
	// - `Internet`: a public IP address. The domain name of the NLB instance is resolved to the public IP address. Therefore, the NLB instance can be accessed over the Internet.
	// - `Intranet`: a private IP address. The domain name of the NLB instance is resolved to the private IP address. Therefore, the NLB instance can be accessed over the VPC where the NLB instance is deployed.
	Ipv6AddressType pulumi.StringOutput `pulumi:"ipv6AddressType"`
	// The business status of the NLB instance.
	LoadBalancerBusinessStatus pulumi.StringOutput `pulumi:"loadBalancerBusinessStatus"`
	// The name of the NLB instance.
	//
	// The value must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The value must start with a letter.
	LoadBalancerName pulumi.StringPtrOutput `pulumi:"loadBalancerName"`
	// The type of the Server Load Balancer (SLB) instance. Set the value to `network`, which specifies NLB.
	LoadBalancerType pulumi.StringOutput `pulumi:"loadBalancerType"`
	// Specifies whether to enable the configuration read-only mode. Default value: `NonProtection`. See `modificationProtectionConfig` below.
	ModificationProtectionConfig LoadBalancerModificationProtectionConfigOutput `pulumi:"modificationProtectionConfig"`
	ModificationProtectionReason pulumi.StringOutput                            `pulumi:"modificationProtectionReason"`
	ModificationProtectionStatus pulumi.StringOutput                            `pulumi:"modificationProtectionStatus"`
	// The ID of the new resource group.
	//
	// You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The security group to which the network-based SLB instance belongs.
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// The status of the NLB instance.
	Status pulumi.StringOutput `pulumi:"status"`
	// List of labels.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The ID of the VPC where the NLB instance is deployed.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// Available Area Configuration List. You must add at least two zones. You can add a maximum of 10 zones. See `zoneMappings` below.
	ZoneMappings LoadBalancerZoneMappingArrayOutput `pulumi:"zoneMappings"`
}

Provides a NLB Load Balancer resource.

For information about NLB Load Balancer and how to use it, see [What is Load Balancer](https://www.alibabacloud.com/help/en/server-load-balancer/latest/api-nlb-2022-04-30-createloadbalancer).

> **NOTE:** Available since v1.191.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{}, nil)
		if err != nil {
			return err
		}
		defaultGetZones, err := nlb.GetZones(ctx, &nlb.GetZonesArgs{}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.0.0/24"),
			VpcId:       defaultNetwork.ID(),
			ZoneId:      pulumi.String(defaultGetZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		default1, err := vpc.NewSwitch(ctx, "default1", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.1.0/24"),
			VpcId:       defaultNetwork.ID(),
			ZoneId:      pulumi.String(defaultGetZones.Zones[1].Id),
		})
		if err != nil {
			return err
		}
		_, err = nlb.NewLoadBalancer(ctx, "default", &nlb.LoadBalancerArgs{
			LoadBalancerName: pulumi.String(name),
			ResourceGroupId:  pulumi.String(_default.Ids[0]),
			LoadBalancerType: pulumi.String("Network"),
			AddressType:      pulumi.String("Internet"),
			AddressIpVersion: pulumi.String("Ipv4"),
			VpcId:            defaultNetwork.ID(),
			Tags: pulumi.StringMap{
				"Created": pulumi.String("TF"),
				"For":     pulumi.String("example"),
			},
			ZoneMappings: nlb.LoadBalancerZoneMappingArray{
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: defaultSwitch.ID(),
					ZoneId:    pulumi.String(defaultGetZones.Zones[0].Id),
				},
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: default1.ID(),
					ZoneId:    pulumi.String(defaultGetZones.Zones[1].Id),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

DualStack Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		zone := []string{
			"cn-beijing-i",
			"cn-beijing-k",
			"cn-beijing-l",
		}
		if param := cfg.GetObject("zone"); param != nil {
			zone = param
		}
		vpc, err := vpc.NewNetwork(ctx, "vpc", &vpc.NetworkArgs{
			VpcName:    pulumi.String(name),
			CidrBlock:  pulumi.String("10.2.0.0/16"),
			EnableIpv6: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		var vsw []*vpc.Switch
		for index := 0; index < 2; index++ {
			key0 := index
			val0 := index
			__res, err := vpc.NewSwitch(ctx, fmt.Sprintf("vsw-%v", key0), &vpc.SwitchArgs{
				EnableIpv6:        pulumi.Bool(true),
				Ipv6CidrBlockMask: pulumi.Int(fmt.Sprintf("1%v", val0)),
				VswitchName:       pulumi.Sprintf("vsw-%v-for-nlb", val0),
				VpcId:             vpc.ID(),
				CidrBlock:         pulumi.Sprintf("10.2.1%v.0/24", val0),
				ZoneId:            zone[val0],
			})
			if err != nil {
				return err
			}
			vsw = append(vsw, __res)
		}
		_default, err := vpc.NewIpv6Gateway(ctx, "default", &vpc.Ipv6GatewayArgs{
			Ipv6GatewayName: pulumi.String(name),
			VpcId:           vpc.ID(),
		})
		if err != nil {
			return err
		}
		_, err = nlb.NewLoadBalancer(ctx, "nlb", &nlb.LoadBalancerArgs{
			LoadBalancerName: pulumi.String(name),
			LoadBalancerType: pulumi.String("Network"),
			AddressType:      pulumi.String("Intranet"),
			AddressIpVersion: pulumi.String("DualStack"),
			Ipv6AddressType:  pulumi.String("Internet"),
			VpcId:            vpc.ID(),
			CrossZoneEnabled: pulumi.Bool(false),
			Tags: pulumi.StringMap{
				"Created": pulumi.String("TF"),
				"For":     pulumi.String("example"),
			},
			ZoneMappings: nlb.LoadBalancerZoneMappingArray{
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: vsw[0].ID(),
					ZoneId:    pulumi.Any(zone[0]),
				},
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: vsw[1].ID(),
					ZoneId:    pulumi.Any(zone[1]),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			_default,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import alicloud:nlb/loadBalancer:LoadBalancer example <id> ```

func GetLoadBalancer

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

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

func NewLoadBalancer

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

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

func (*LoadBalancer) ElementType

func (*LoadBalancer) ElementType() reflect.Type

func (*LoadBalancer) ToLoadBalancerOutput

func (i *LoadBalancer) ToLoadBalancerOutput() LoadBalancerOutput

func (*LoadBalancer) ToLoadBalancerOutputWithContext

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

type LoadBalancerArgs

type LoadBalancerArgs struct {
	// The protocol version. Valid values:
	//
	// - **ipv4:** IPv4. This is the default value.
	// - **DualStack:** dual stack.
	AddressIpVersion pulumi.StringPtrInput
	// The type of IPv4 address used by the NLB instance. Valid values:
	// - `Internet`: The NLB instance uses a public IP address. The domain name of the NLB instance is resolved to the public IP address. Therefore, the NLB instance can be accessed over the Internet.
	// - `Intranet`: The NLB instance uses a private IP address. The domain name of the NLB instance is resolved to the private IP address. Therefore, the NLB instance can be accessed over the virtual private cloud (VPC) where the NLB instance is deployed.
	//
	// > **NOTE:**   To enable a public IPv6 address for an NLB instance, call the [EnableLoadBalancerIpv6Internet](https://www.alibabacloud.com/help/en/doc-detail/445878.html) operation.
	AddressType pulumi.StringInput
	// The ID of the EIP bandwidth plan that is associated with the Internet-facing NLB instance.
	BandwidthPackageId pulumi.StringPtrInput
	// Specifies whether to enable cross-zone load balancing for the NLB instance. Valid values:
	CrossZoneEnabled pulumi.BoolPtrInput
	// Specifies whether to enable deletion protection. Default value: `false`. See `deletionProtectionConfig` below.
	DeletionProtectionConfig  LoadBalancerDeletionProtectionConfigPtrInput
	DeletionProtectionEnabled pulumi.BoolPtrInput
	DeletionProtectionReason  pulumi.StringPtrInput
	// The type of IPv6 address used by the NLB instance. Valid values:
	// - `Internet`: a public IP address. The domain name of the NLB instance is resolved to the public IP address. Therefore, the NLB instance can be accessed over the Internet.
	// - `Intranet`: a private IP address. The domain name of the NLB instance is resolved to the private IP address. Therefore, the NLB instance can be accessed over the VPC where the NLB instance is deployed.
	Ipv6AddressType pulumi.StringPtrInput
	// The name of the NLB instance.
	//
	// The value must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The value must start with a letter.
	LoadBalancerName pulumi.StringPtrInput
	// The type of the Server Load Balancer (SLB) instance. Set the value to `network`, which specifies NLB.
	LoadBalancerType pulumi.StringPtrInput
	// Specifies whether to enable the configuration read-only mode. Default value: `NonProtection`. See `modificationProtectionConfig` below.
	ModificationProtectionConfig LoadBalancerModificationProtectionConfigPtrInput
	ModificationProtectionReason pulumi.StringPtrInput
	ModificationProtectionStatus pulumi.StringPtrInput
	// The ID of the new resource group.
	//
	// You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.
	ResourceGroupId pulumi.StringPtrInput
	// The security group to which the network-based SLB instance belongs.
	SecurityGroupIds pulumi.StringArrayInput
	// List of labels.
	Tags pulumi.StringMapInput
	// The ID of the VPC where the NLB instance is deployed.
	VpcId pulumi.StringInput
	// Available Area Configuration List. You must add at least two zones. You can add a maximum of 10 zones. See `zoneMappings` below.
	ZoneMappings LoadBalancerZoneMappingArrayInput
}

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 LoadBalancerDeletionProtectionConfig added in v3.49.1

type LoadBalancerDeletionProtectionConfig struct {
	// Specifies whether to enable deletion protection. Valid values:
	Enabled *bool `pulumi:"enabled"`
	// Opening time of the configuration read-only mode.
	EnabledTime *string `pulumi:"enabledTime"`
	// The reason why deletion protection is enabled. The reason must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The reason must start with a letter.
	//
	// > **NOTE:**  This parameter takes effect only when `DeletionProtectionEnabled` is set to `true`.
	Reason *string `pulumi:"reason"`
}

type LoadBalancerDeletionProtectionConfigArgs added in v3.49.1

type LoadBalancerDeletionProtectionConfigArgs struct {
	// Specifies whether to enable deletion protection. Valid values:
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// Opening time of the configuration read-only mode.
	EnabledTime pulumi.StringPtrInput `pulumi:"enabledTime"`
	// The reason why deletion protection is enabled. The reason must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The reason must start with a letter.
	//
	// > **NOTE:**  This parameter takes effect only when `DeletionProtectionEnabled` is set to `true`.
	Reason pulumi.StringPtrInput `pulumi:"reason"`
}

func (LoadBalancerDeletionProtectionConfigArgs) ElementType added in v3.49.1

func (LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigOutput added in v3.49.1

func (i LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigOutput() LoadBalancerDeletionProtectionConfigOutput

func (LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigOutputWithContext added in v3.49.1

func (i LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigOutputWithContext(ctx context.Context) LoadBalancerDeletionProtectionConfigOutput

func (LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigPtrOutput added in v3.49.1

func (i LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigPtrOutput() LoadBalancerDeletionProtectionConfigPtrOutput

func (LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigPtrOutputWithContext added in v3.49.1

func (i LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigPtrOutputWithContext(ctx context.Context) LoadBalancerDeletionProtectionConfigPtrOutput

type LoadBalancerDeletionProtectionConfigInput added in v3.49.1

type LoadBalancerDeletionProtectionConfigInput interface {
	pulumi.Input

	ToLoadBalancerDeletionProtectionConfigOutput() LoadBalancerDeletionProtectionConfigOutput
	ToLoadBalancerDeletionProtectionConfigOutputWithContext(context.Context) LoadBalancerDeletionProtectionConfigOutput
}

LoadBalancerDeletionProtectionConfigInput is an input type that accepts LoadBalancerDeletionProtectionConfigArgs and LoadBalancerDeletionProtectionConfigOutput values. You can construct a concrete instance of `LoadBalancerDeletionProtectionConfigInput` via:

LoadBalancerDeletionProtectionConfigArgs{...}

type LoadBalancerDeletionProtectionConfigOutput added in v3.49.1

type LoadBalancerDeletionProtectionConfigOutput struct{ *pulumi.OutputState }

func (LoadBalancerDeletionProtectionConfigOutput) ElementType added in v3.49.1

func (LoadBalancerDeletionProtectionConfigOutput) Enabled added in v3.49.1

Specifies whether to enable deletion protection. Valid values:

func (LoadBalancerDeletionProtectionConfigOutput) EnabledTime added in v3.49.1

Opening time of the configuration read-only mode.

func (LoadBalancerDeletionProtectionConfigOutput) Reason added in v3.49.1

The reason why deletion protection is enabled. The reason must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The reason must start with a letter.

> **NOTE:** This parameter takes effect only when `DeletionProtectionEnabled` is set to `true`.

func (LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigOutput added in v3.49.1

func (o LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigOutput() LoadBalancerDeletionProtectionConfigOutput

func (LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigOutputWithContext added in v3.49.1

func (o LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigOutputWithContext(ctx context.Context) LoadBalancerDeletionProtectionConfigOutput

func (LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigPtrOutput added in v3.49.1

func (o LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigPtrOutput() LoadBalancerDeletionProtectionConfigPtrOutput

func (LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigPtrOutputWithContext added in v3.49.1

func (o LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigPtrOutputWithContext(ctx context.Context) LoadBalancerDeletionProtectionConfigPtrOutput

type LoadBalancerDeletionProtectionConfigPtrInput added in v3.49.1

type LoadBalancerDeletionProtectionConfigPtrInput interface {
	pulumi.Input

	ToLoadBalancerDeletionProtectionConfigPtrOutput() LoadBalancerDeletionProtectionConfigPtrOutput
	ToLoadBalancerDeletionProtectionConfigPtrOutputWithContext(context.Context) LoadBalancerDeletionProtectionConfigPtrOutput
}

LoadBalancerDeletionProtectionConfigPtrInput is an input type that accepts LoadBalancerDeletionProtectionConfigArgs, LoadBalancerDeletionProtectionConfigPtr and LoadBalancerDeletionProtectionConfigPtrOutput values. You can construct a concrete instance of `LoadBalancerDeletionProtectionConfigPtrInput` via:

        LoadBalancerDeletionProtectionConfigArgs{...}

or:

        nil

type LoadBalancerDeletionProtectionConfigPtrOutput added in v3.49.1

type LoadBalancerDeletionProtectionConfigPtrOutput struct{ *pulumi.OutputState }

func (LoadBalancerDeletionProtectionConfigPtrOutput) Elem added in v3.49.1

func (LoadBalancerDeletionProtectionConfigPtrOutput) ElementType added in v3.49.1

func (LoadBalancerDeletionProtectionConfigPtrOutput) Enabled added in v3.49.1

Specifies whether to enable deletion protection. Valid values:

func (LoadBalancerDeletionProtectionConfigPtrOutput) EnabledTime added in v3.49.1

Opening time of the configuration read-only mode.

func (LoadBalancerDeletionProtectionConfigPtrOutput) Reason added in v3.49.1

The reason why deletion protection is enabled. The reason must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The reason must start with a letter.

> **NOTE:** This parameter takes effect only when `DeletionProtectionEnabled` is set to `true`.

func (LoadBalancerDeletionProtectionConfigPtrOutput) ToLoadBalancerDeletionProtectionConfigPtrOutput added in v3.49.1

func (o LoadBalancerDeletionProtectionConfigPtrOutput) ToLoadBalancerDeletionProtectionConfigPtrOutput() LoadBalancerDeletionProtectionConfigPtrOutput

func (LoadBalancerDeletionProtectionConfigPtrOutput) ToLoadBalancerDeletionProtectionConfigPtrOutputWithContext added in v3.49.1

func (o LoadBalancerDeletionProtectionConfigPtrOutput) ToLoadBalancerDeletionProtectionConfigPtrOutputWithContext(ctx context.Context) LoadBalancerDeletionProtectionConfigPtrOutput

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 LoadBalancerModificationProtectionConfig added in v3.49.1

type LoadBalancerModificationProtectionConfig struct {
	// Opening time of the configuration read-only mode.
	EnabledTime *string `pulumi:"enabledTime"`
	// The reason why the configuration read-only mode is enabled. The value must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The value must start with a letter.
	//
	// > **NOTE:**   This parameter takes effect only if the `status` parameter is set to `ConsoleProtection`.
	Reason *string `pulumi:"reason"`
	// Specifies whether to enable the configuration read-only mode. Valid values:
	// - `NonProtection`: disables the configuration read-only mode. In this case, you cannot set the `ModificationProtectionReason` parameter. If you specify `ModificationProtectionReason`, the value is cleared.
	// - `ConsoleProtection`: enables the configuration read-only mode. In this case, you can specify `ModificationProtectionReason`.
	//
	// > **NOTE:**  If you set this parameter to `ConsoleProtection`, you cannot use the NLB console to modify instance configurations. However, you can call API operations to modify instance configurations.
	Status *string `pulumi:"status"`
}

type LoadBalancerModificationProtectionConfigArgs added in v3.49.1

type LoadBalancerModificationProtectionConfigArgs struct {
	// Opening time of the configuration read-only mode.
	EnabledTime pulumi.StringPtrInput `pulumi:"enabledTime"`
	// The reason why the configuration read-only mode is enabled. The value must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The value must start with a letter.
	//
	// > **NOTE:**   This parameter takes effect only if the `status` parameter is set to `ConsoleProtection`.
	Reason pulumi.StringPtrInput `pulumi:"reason"`
	// Specifies whether to enable the configuration read-only mode. Valid values:
	// - `NonProtection`: disables the configuration read-only mode. In this case, you cannot set the `ModificationProtectionReason` parameter. If you specify `ModificationProtectionReason`, the value is cleared.
	// - `ConsoleProtection`: enables the configuration read-only mode. In this case, you can specify `ModificationProtectionReason`.
	//
	// > **NOTE:**  If you set this parameter to `ConsoleProtection`, you cannot use the NLB console to modify instance configurations. However, you can call API operations to modify instance configurations.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

func (LoadBalancerModificationProtectionConfigArgs) ElementType added in v3.49.1

func (LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigOutput added in v3.49.1

func (i LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigOutput() LoadBalancerModificationProtectionConfigOutput

func (LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigOutputWithContext added in v3.49.1

func (i LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigOutputWithContext(ctx context.Context) LoadBalancerModificationProtectionConfigOutput

func (LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigPtrOutput added in v3.49.1

func (i LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigPtrOutput() LoadBalancerModificationProtectionConfigPtrOutput

func (LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigPtrOutputWithContext added in v3.49.1

func (i LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigPtrOutputWithContext(ctx context.Context) LoadBalancerModificationProtectionConfigPtrOutput

type LoadBalancerModificationProtectionConfigInput added in v3.49.1

type LoadBalancerModificationProtectionConfigInput interface {
	pulumi.Input

	ToLoadBalancerModificationProtectionConfigOutput() LoadBalancerModificationProtectionConfigOutput
	ToLoadBalancerModificationProtectionConfigOutputWithContext(context.Context) LoadBalancerModificationProtectionConfigOutput
}

LoadBalancerModificationProtectionConfigInput is an input type that accepts LoadBalancerModificationProtectionConfigArgs and LoadBalancerModificationProtectionConfigOutput values. You can construct a concrete instance of `LoadBalancerModificationProtectionConfigInput` via:

LoadBalancerModificationProtectionConfigArgs{...}

type LoadBalancerModificationProtectionConfigOutput added in v3.49.1

type LoadBalancerModificationProtectionConfigOutput struct{ *pulumi.OutputState }

func (LoadBalancerModificationProtectionConfigOutput) ElementType added in v3.49.1

func (LoadBalancerModificationProtectionConfigOutput) EnabledTime added in v3.49.1

Opening time of the configuration read-only mode.

func (LoadBalancerModificationProtectionConfigOutput) Reason added in v3.49.1

The reason why the configuration read-only mode is enabled. The value must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The value must start with a letter.

> **NOTE:** This parameter takes effect only if the `status` parameter is set to `ConsoleProtection`.

func (LoadBalancerModificationProtectionConfigOutput) Status added in v3.49.1

Specifies whether to enable the configuration read-only mode. Valid values: - `NonProtection`: disables the configuration read-only mode. In this case, you cannot set the `ModificationProtectionReason` parameter. If you specify `ModificationProtectionReason`, the value is cleared. - `ConsoleProtection`: enables the configuration read-only mode. In this case, you can specify `ModificationProtectionReason`.

> **NOTE:** If you set this parameter to `ConsoleProtection`, you cannot use the NLB console to modify instance configurations. However, you can call API operations to modify instance configurations.

func (LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigOutput added in v3.49.1

func (o LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigOutput() LoadBalancerModificationProtectionConfigOutput

func (LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigOutputWithContext added in v3.49.1

func (o LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigOutputWithContext(ctx context.Context) LoadBalancerModificationProtectionConfigOutput

func (LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigPtrOutput added in v3.49.1

func (o LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigPtrOutput() LoadBalancerModificationProtectionConfigPtrOutput

func (LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigPtrOutputWithContext added in v3.49.1

func (o LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigPtrOutputWithContext(ctx context.Context) LoadBalancerModificationProtectionConfigPtrOutput

type LoadBalancerModificationProtectionConfigPtrInput added in v3.49.1

type LoadBalancerModificationProtectionConfigPtrInput interface {
	pulumi.Input

	ToLoadBalancerModificationProtectionConfigPtrOutput() LoadBalancerModificationProtectionConfigPtrOutput
	ToLoadBalancerModificationProtectionConfigPtrOutputWithContext(context.Context) LoadBalancerModificationProtectionConfigPtrOutput
}

LoadBalancerModificationProtectionConfigPtrInput is an input type that accepts LoadBalancerModificationProtectionConfigArgs, LoadBalancerModificationProtectionConfigPtr and LoadBalancerModificationProtectionConfigPtrOutput values. You can construct a concrete instance of `LoadBalancerModificationProtectionConfigPtrInput` via:

        LoadBalancerModificationProtectionConfigArgs{...}

or:

        nil

type LoadBalancerModificationProtectionConfigPtrOutput added in v3.49.1

type LoadBalancerModificationProtectionConfigPtrOutput struct{ *pulumi.OutputState }

func (LoadBalancerModificationProtectionConfigPtrOutput) Elem added in v3.49.1

func (LoadBalancerModificationProtectionConfigPtrOutput) ElementType added in v3.49.1

func (LoadBalancerModificationProtectionConfigPtrOutput) EnabledTime added in v3.49.1

Opening time of the configuration read-only mode.

func (LoadBalancerModificationProtectionConfigPtrOutput) Reason added in v3.49.1

The reason why the configuration read-only mode is enabled. The value must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The value must start with a letter.

> **NOTE:** This parameter takes effect only if the `status` parameter is set to `ConsoleProtection`.

func (LoadBalancerModificationProtectionConfigPtrOutput) Status added in v3.49.1

Specifies whether to enable the configuration read-only mode. Valid values: - `NonProtection`: disables the configuration read-only mode. In this case, you cannot set the `ModificationProtectionReason` parameter. If you specify `ModificationProtectionReason`, the value is cleared. - `ConsoleProtection`: enables the configuration read-only mode. In this case, you can specify `ModificationProtectionReason`.

> **NOTE:** If you set this parameter to `ConsoleProtection`, you cannot use the NLB console to modify instance configurations. However, you can call API operations to modify instance configurations.

func (LoadBalancerModificationProtectionConfigPtrOutput) ToLoadBalancerModificationProtectionConfigPtrOutput added in v3.49.1

func (o LoadBalancerModificationProtectionConfigPtrOutput) ToLoadBalancerModificationProtectionConfigPtrOutput() LoadBalancerModificationProtectionConfigPtrOutput

func (LoadBalancerModificationProtectionConfigPtrOutput) ToLoadBalancerModificationProtectionConfigPtrOutputWithContext added in v3.49.1

func (o LoadBalancerModificationProtectionConfigPtrOutput) ToLoadBalancerModificationProtectionConfigPtrOutputWithContext(ctx context.Context) LoadBalancerModificationProtectionConfigPtrOutput

type LoadBalancerOutput

type LoadBalancerOutput struct{ *pulumi.OutputState }

func (LoadBalancerOutput) AddressIpVersion

func (o LoadBalancerOutput) AddressIpVersion() pulumi.StringOutput

The protocol version. Valid values:

- **ipv4:** IPv4. This is the default value. - **DualStack:** dual stack.

func (LoadBalancerOutput) AddressType

func (o LoadBalancerOutput) AddressType() pulumi.StringOutput

The type of IPv4 address used by the NLB instance. Valid values: - `Internet`: The NLB instance uses a public IP address. The domain name of the NLB instance is resolved to the public IP address. Therefore, the NLB instance can be accessed over the Internet. - `Intranet`: The NLB instance uses a private IP address. The domain name of the NLB instance is resolved to the private IP address. Therefore, the NLB instance can be accessed over the virtual private cloud (VPC) where the NLB instance is deployed.

> **NOTE:** To enable a public IPv6 address for an NLB instance, call the [EnableLoadBalancerIpv6Internet](https://www.alibabacloud.com/help/en/doc-detail/445878.html) operation.

func (LoadBalancerOutput) BandwidthPackageId

func (o LoadBalancerOutput) BandwidthPackageId() pulumi.StringOutput

The ID of the EIP bandwidth plan that is associated with the Internet-facing NLB instance.

func (LoadBalancerOutput) CreateTime

func (o LoadBalancerOutput) CreateTime() pulumi.StringOutput

Resource creation time, using Greenwich Mean Time, formating' yyyy-MM-ddTHH:mm:ssZ '.

func (LoadBalancerOutput) CrossZoneEnabled

func (o LoadBalancerOutput) CrossZoneEnabled() pulumi.BoolOutput

Specifies whether to enable cross-zone load balancing for the NLB instance. Valid values:

func (LoadBalancerOutput) DeletionProtectionConfig added in v3.49.1

Specifies whether to enable deletion protection. Default value: `false`. See `deletionProtectionConfig` below.

func (LoadBalancerOutput) DeletionProtectionEnabled added in v3.38.0

func (o LoadBalancerOutput) DeletionProtectionEnabled() pulumi.BoolOutput

func (LoadBalancerOutput) DeletionProtectionReason added in v3.38.0

func (o LoadBalancerOutput) DeletionProtectionReason() pulumi.StringOutput

func (LoadBalancerOutput) DnsName

The domain name of the NLB instance.

func (LoadBalancerOutput) ElementType

func (LoadBalancerOutput) ElementType() reflect.Type

func (LoadBalancerOutput) Ipv6AddressType

func (o LoadBalancerOutput) Ipv6AddressType() pulumi.StringOutput

The type of IPv6 address used by the NLB instance. Valid values: - `Internet`: a public IP address. The domain name of the NLB instance is resolved to the public IP address. Therefore, the NLB instance can be accessed over the Internet. - `Intranet`: a private IP address. The domain name of the NLB instance is resolved to the private IP address. Therefore, the NLB instance can be accessed over the VPC where the NLB instance is deployed.

func (LoadBalancerOutput) LoadBalancerBusinessStatus

func (o LoadBalancerOutput) LoadBalancerBusinessStatus() pulumi.StringOutput

The business status of the NLB instance.

func (LoadBalancerOutput) LoadBalancerName

func (o LoadBalancerOutput) LoadBalancerName() pulumi.StringPtrOutput

The name of the NLB instance.

The value must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The value must start with a letter.

func (LoadBalancerOutput) LoadBalancerType

func (o LoadBalancerOutput) LoadBalancerType() pulumi.StringOutput

The type of the Server Load Balancer (SLB) instance. Set the value to `network`, which specifies NLB.

func (LoadBalancerOutput) ModificationProtectionConfig added in v3.49.1

func (o LoadBalancerOutput) ModificationProtectionConfig() LoadBalancerModificationProtectionConfigOutput

Specifies whether to enable the configuration read-only mode. Default value: `NonProtection`. See `modificationProtectionConfig` below.

func (LoadBalancerOutput) ModificationProtectionReason added in v3.38.0

func (o LoadBalancerOutput) ModificationProtectionReason() pulumi.StringOutput

func (LoadBalancerOutput) ModificationProtectionStatus added in v3.38.0

func (o LoadBalancerOutput) ModificationProtectionStatus() pulumi.StringOutput

func (LoadBalancerOutput) ResourceGroupId

func (o LoadBalancerOutput) ResourceGroupId() pulumi.StringOutput

The ID of the new resource group.

You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.

func (LoadBalancerOutput) SecurityGroupIds added in v3.49.1

func (o LoadBalancerOutput) SecurityGroupIds() pulumi.StringArrayOutput

The security group to which the network-based SLB instance belongs.

func (LoadBalancerOutput) Status

The status of the NLB instance.

func (LoadBalancerOutput) Tags

List of labels.

func (LoadBalancerOutput) ToLoadBalancerOutput

func (o LoadBalancerOutput) ToLoadBalancerOutput() LoadBalancerOutput

func (LoadBalancerOutput) ToLoadBalancerOutputWithContext

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

func (LoadBalancerOutput) VpcId

The ID of the VPC where the NLB instance is deployed.

func (LoadBalancerOutput) ZoneMappings

Available Area Configuration List. You must add at least two zones. You can add a maximum of 10 zones. See `zoneMappings` below.

type LoadBalancerSecurityGroupAttachment added in v3.31.0

type LoadBalancerSecurityGroupAttachment struct {
	pulumi.CustomResourceState

	// Specifies whether to perform a dry run, without performing the actual request. Valid values:
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The ID of the NLB instance to be associated with the security group.
	LoadBalancerId pulumi.StringOutput `pulumi:"loadBalancerId"`
	// The ID of the security group to be disassociated.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
}

Provides a NLB Load Balancer Security Group Attachment resource.

Security Group mount.

For information about NLB Load Balancer Security Group Attachment and how to use it, see [What is Load Balancer Security Group Attachment](https://www.alibabacloud.com/help/en/server-load-balancer/latest/loadbalancerjoinsecuritygroup).

> **NOTE:** Available since v1.198.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{}, nil)
		if err != nil {
			return err
		}
		defaultGetZones, err := nlb.GetZones(ctx, &nlb.GetZonesArgs{}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.0.0/24"),
			VpcId:       defaultNetwork.ID(),
			ZoneId:      pulumi.String(defaultGetZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		default1, err := vpc.NewSwitch(ctx, "default1", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.1.0/24"),
			VpcId:       defaultNetwork.ID(),
			ZoneId:      pulumi.String(defaultGetZones.Zones[1].Id),
		})
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(name),
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultLoadBalancer, err := nlb.NewLoadBalancer(ctx, "default", &nlb.LoadBalancerArgs{
			LoadBalancerName: pulumi.String(name),
			ResourceGroupId:  pulumi.String(_default.Ids[0]),
			LoadBalancerType: pulumi.String("Network"),
			AddressType:      pulumi.String("Internet"),
			AddressIpVersion: pulumi.String("Ipv4"),
			VpcId:            defaultNetwork.ID(),
			Tags: pulumi.StringMap{
				"Created": pulumi.String("TF"),
				"For":     pulumi.String("example"),
			},
			ZoneMappings: nlb.LoadBalancerZoneMappingArray{
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: defaultSwitch.ID(),
					ZoneId:    pulumi.String(defaultGetZones.Zones[0].Id),
				},
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: default1.ID(),
					ZoneId:    pulumi.String(defaultGetZones.Zones[1].Id),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = nlb.NewLoadBalancerSecurityGroupAttachment(ctx, "default", &nlb.LoadBalancerSecurityGroupAttachmentArgs{
			SecurityGroupId: defaultSecurityGroup.ID(),
			LoadBalancerId:  defaultLoadBalancer.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

NLB Load Balancer Security Group Attachment can be imported using the id, e.g.

```sh $ pulumi import alicloud:nlb/loadBalancerSecurityGroupAttachment:LoadBalancerSecurityGroupAttachment example <load_balancer_id>:<security_group_id> ```

func GetLoadBalancerSecurityGroupAttachment added in v3.31.0

func GetLoadBalancerSecurityGroupAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LoadBalancerSecurityGroupAttachmentState, opts ...pulumi.ResourceOption) (*LoadBalancerSecurityGroupAttachment, error)

GetLoadBalancerSecurityGroupAttachment gets an existing LoadBalancerSecurityGroupAttachment 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 NewLoadBalancerSecurityGroupAttachment added in v3.31.0

func NewLoadBalancerSecurityGroupAttachment(ctx *pulumi.Context,
	name string, args *LoadBalancerSecurityGroupAttachmentArgs, opts ...pulumi.ResourceOption) (*LoadBalancerSecurityGroupAttachment, error)

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

func (*LoadBalancerSecurityGroupAttachment) ElementType added in v3.31.0

func (*LoadBalancerSecurityGroupAttachment) ToLoadBalancerSecurityGroupAttachmentOutput added in v3.31.0

func (i *LoadBalancerSecurityGroupAttachment) ToLoadBalancerSecurityGroupAttachmentOutput() LoadBalancerSecurityGroupAttachmentOutput

func (*LoadBalancerSecurityGroupAttachment) ToLoadBalancerSecurityGroupAttachmentOutputWithContext added in v3.31.0

func (i *LoadBalancerSecurityGroupAttachment) ToLoadBalancerSecurityGroupAttachmentOutputWithContext(ctx context.Context) LoadBalancerSecurityGroupAttachmentOutput

type LoadBalancerSecurityGroupAttachmentArgs added in v3.31.0

type LoadBalancerSecurityGroupAttachmentArgs struct {
	// Specifies whether to perform a dry run, without performing the actual request. Valid values:
	DryRun pulumi.BoolPtrInput
	// The ID of the NLB instance to be associated with the security group.
	LoadBalancerId pulumi.StringInput
	// The ID of the security group to be disassociated.
	SecurityGroupId pulumi.StringInput
}

The set of arguments for constructing a LoadBalancerSecurityGroupAttachment resource.

func (LoadBalancerSecurityGroupAttachmentArgs) ElementType added in v3.31.0

type LoadBalancerSecurityGroupAttachmentArray added in v3.31.0

type LoadBalancerSecurityGroupAttachmentArray []LoadBalancerSecurityGroupAttachmentInput

func (LoadBalancerSecurityGroupAttachmentArray) ElementType added in v3.31.0

func (LoadBalancerSecurityGroupAttachmentArray) ToLoadBalancerSecurityGroupAttachmentArrayOutput added in v3.31.0

func (i LoadBalancerSecurityGroupAttachmentArray) ToLoadBalancerSecurityGroupAttachmentArrayOutput() LoadBalancerSecurityGroupAttachmentArrayOutput

func (LoadBalancerSecurityGroupAttachmentArray) ToLoadBalancerSecurityGroupAttachmentArrayOutputWithContext added in v3.31.0

func (i LoadBalancerSecurityGroupAttachmentArray) ToLoadBalancerSecurityGroupAttachmentArrayOutputWithContext(ctx context.Context) LoadBalancerSecurityGroupAttachmentArrayOutput

type LoadBalancerSecurityGroupAttachmentArrayInput added in v3.31.0

type LoadBalancerSecurityGroupAttachmentArrayInput interface {
	pulumi.Input

	ToLoadBalancerSecurityGroupAttachmentArrayOutput() LoadBalancerSecurityGroupAttachmentArrayOutput
	ToLoadBalancerSecurityGroupAttachmentArrayOutputWithContext(context.Context) LoadBalancerSecurityGroupAttachmentArrayOutput
}

LoadBalancerSecurityGroupAttachmentArrayInput is an input type that accepts LoadBalancerSecurityGroupAttachmentArray and LoadBalancerSecurityGroupAttachmentArrayOutput values. You can construct a concrete instance of `LoadBalancerSecurityGroupAttachmentArrayInput` via:

LoadBalancerSecurityGroupAttachmentArray{ LoadBalancerSecurityGroupAttachmentArgs{...} }

type LoadBalancerSecurityGroupAttachmentArrayOutput added in v3.31.0

type LoadBalancerSecurityGroupAttachmentArrayOutput struct{ *pulumi.OutputState }

func (LoadBalancerSecurityGroupAttachmentArrayOutput) ElementType added in v3.31.0

func (LoadBalancerSecurityGroupAttachmentArrayOutput) Index added in v3.31.0

func (LoadBalancerSecurityGroupAttachmentArrayOutput) ToLoadBalancerSecurityGroupAttachmentArrayOutput added in v3.31.0

func (o LoadBalancerSecurityGroupAttachmentArrayOutput) ToLoadBalancerSecurityGroupAttachmentArrayOutput() LoadBalancerSecurityGroupAttachmentArrayOutput

func (LoadBalancerSecurityGroupAttachmentArrayOutput) ToLoadBalancerSecurityGroupAttachmentArrayOutputWithContext added in v3.31.0

func (o LoadBalancerSecurityGroupAttachmentArrayOutput) ToLoadBalancerSecurityGroupAttachmentArrayOutputWithContext(ctx context.Context) LoadBalancerSecurityGroupAttachmentArrayOutput

type LoadBalancerSecurityGroupAttachmentInput added in v3.31.0

type LoadBalancerSecurityGroupAttachmentInput interface {
	pulumi.Input

	ToLoadBalancerSecurityGroupAttachmentOutput() LoadBalancerSecurityGroupAttachmentOutput
	ToLoadBalancerSecurityGroupAttachmentOutputWithContext(ctx context.Context) LoadBalancerSecurityGroupAttachmentOutput
}

type LoadBalancerSecurityGroupAttachmentMap added in v3.31.0

type LoadBalancerSecurityGroupAttachmentMap map[string]LoadBalancerSecurityGroupAttachmentInput

func (LoadBalancerSecurityGroupAttachmentMap) ElementType added in v3.31.0

func (LoadBalancerSecurityGroupAttachmentMap) ToLoadBalancerSecurityGroupAttachmentMapOutput added in v3.31.0

func (i LoadBalancerSecurityGroupAttachmentMap) ToLoadBalancerSecurityGroupAttachmentMapOutput() LoadBalancerSecurityGroupAttachmentMapOutput

func (LoadBalancerSecurityGroupAttachmentMap) ToLoadBalancerSecurityGroupAttachmentMapOutputWithContext added in v3.31.0

func (i LoadBalancerSecurityGroupAttachmentMap) ToLoadBalancerSecurityGroupAttachmentMapOutputWithContext(ctx context.Context) LoadBalancerSecurityGroupAttachmentMapOutput

type LoadBalancerSecurityGroupAttachmentMapInput added in v3.31.0

type LoadBalancerSecurityGroupAttachmentMapInput interface {
	pulumi.Input

	ToLoadBalancerSecurityGroupAttachmentMapOutput() LoadBalancerSecurityGroupAttachmentMapOutput
	ToLoadBalancerSecurityGroupAttachmentMapOutputWithContext(context.Context) LoadBalancerSecurityGroupAttachmentMapOutput
}

LoadBalancerSecurityGroupAttachmentMapInput is an input type that accepts LoadBalancerSecurityGroupAttachmentMap and LoadBalancerSecurityGroupAttachmentMapOutput values. You can construct a concrete instance of `LoadBalancerSecurityGroupAttachmentMapInput` via:

LoadBalancerSecurityGroupAttachmentMap{ "key": LoadBalancerSecurityGroupAttachmentArgs{...} }

type LoadBalancerSecurityGroupAttachmentMapOutput added in v3.31.0

type LoadBalancerSecurityGroupAttachmentMapOutput struct{ *pulumi.OutputState }

func (LoadBalancerSecurityGroupAttachmentMapOutput) ElementType added in v3.31.0

func (LoadBalancerSecurityGroupAttachmentMapOutput) MapIndex added in v3.31.0

func (LoadBalancerSecurityGroupAttachmentMapOutput) ToLoadBalancerSecurityGroupAttachmentMapOutput added in v3.31.0

func (o LoadBalancerSecurityGroupAttachmentMapOutput) ToLoadBalancerSecurityGroupAttachmentMapOutput() LoadBalancerSecurityGroupAttachmentMapOutput

func (LoadBalancerSecurityGroupAttachmentMapOutput) ToLoadBalancerSecurityGroupAttachmentMapOutputWithContext added in v3.31.0

func (o LoadBalancerSecurityGroupAttachmentMapOutput) ToLoadBalancerSecurityGroupAttachmentMapOutputWithContext(ctx context.Context) LoadBalancerSecurityGroupAttachmentMapOutput

type LoadBalancerSecurityGroupAttachmentOutput added in v3.31.0

type LoadBalancerSecurityGroupAttachmentOutput struct{ *pulumi.OutputState }

func (LoadBalancerSecurityGroupAttachmentOutput) DryRun added in v3.31.0

Specifies whether to perform a dry run, without performing the actual request. Valid values:

func (LoadBalancerSecurityGroupAttachmentOutput) ElementType added in v3.31.0

func (LoadBalancerSecurityGroupAttachmentOutput) LoadBalancerId added in v3.31.0

The ID of the NLB instance to be associated with the security group.

func (LoadBalancerSecurityGroupAttachmentOutput) SecurityGroupId added in v3.31.0

The ID of the security group to be disassociated.

func (LoadBalancerSecurityGroupAttachmentOutput) ToLoadBalancerSecurityGroupAttachmentOutput added in v3.31.0

func (o LoadBalancerSecurityGroupAttachmentOutput) ToLoadBalancerSecurityGroupAttachmentOutput() LoadBalancerSecurityGroupAttachmentOutput

func (LoadBalancerSecurityGroupAttachmentOutput) ToLoadBalancerSecurityGroupAttachmentOutputWithContext added in v3.31.0

func (o LoadBalancerSecurityGroupAttachmentOutput) ToLoadBalancerSecurityGroupAttachmentOutputWithContext(ctx context.Context) LoadBalancerSecurityGroupAttachmentOutput

type LoadBalancerSecurityGroupAttachmentState added in v3.31.0

type LoadBalancerSecurityGroupAttachmentState struct {
	// Specifies whether to perform a dry run, without performing the actual request. Valid values:
	DryRun pulumi.BoolPtrInput
	// The ID of the NLB instance to be associated with the security group.
	LoadBalancerId pulumi.StringPtrInput
	// The ID of the security group to be disassociated.
	SecurityGroupId pulumi.StringPtrInput
}

func (LoadBalancerSecurityGroupAttachmentState) ElementType added in v3.31.0

type LoadBalancerState

type LoadBalancerState struct {
	// The protocol version. Valid values:
	//
	// - **ipv4:** IPv4. This is the default value.
	// - **DualStack:** dual stack.
	AddressIpVersion pulumi.StringPtrInput
	// The type of IPv4 address used by the NLB instance. Valid values:
	// - `Internet`: The NLB instance uses a public IP address. The domain name of the NLB instance is resolved to the public IP address. Therefore, the NLB instance can be accessed over the Internet.
	// - `Intranet`: The NLB instance uses a private IP address. The domain name of the NLB instance is resolved to the private IP address. Therefore, the NLB instance can be accessed over the virtual private cloud (VPC) where the NLB instance is deployed.
	//
	// > **NOTE:**   To enable a public IPv6 address for an NLB instance, call the [EnableLoadBalancerIpv6Internet](https://www.alibabacloud.com/help/en/doc-detail/445878.html) operation.
	AddressType pulumi.StringPtrInput
	// The ID of the EIP bandwidth plan that is associated with the Internet-facing NLB instance.
	BandwidthPackageId pulumi.StringPtrInput
	// Resource creation time, using Greenwich Mean Time, formating' yyyy-MM-ddTHH:mm:ssZ '.
	CreateTime pulumi.StringPtrInput
	// Specifies whether to enable cross-zone load balancing for the NLB instance. Valid values:
	CrossZoneEnabled pulumi.BoolPtrInput
	// Specifies whether to enable deletion protection. Default value: `false`. See `deletionProtectionConfig` below.
	DeletionProtectionConfig  LoadBalancerDeletionProtectionConfigPtrInput
	DeletionProtectionEnabled pulumi.BoolPtrInput
	DeletionProtectionReason  pulumi.StringPtrInput
	// The domain name of the NLB instance.
	DnsName pulumi.StringPtrInput
	// The type of IPv6 address used by the NLB instance. Valid values:
	// - `Internet`: a public IP address. The domain name of the NLB instance is resolved to the public IP address. Therefore, the NLB instance can be accessed over the Internet.
	// - `Intranet`: a private IP address. The domain name of the NLB instance is resolved to the private IP address. Therefore, the NLB instance can be accessed over the VPC where the NLB instance is deployed.
	Ipv6AddressType pulumi.StringPtrInput
	// The business status of the NLB instance.
	LoadBalancerBusinessStatus pulumi.StringPtrInput
	// The name of the NLB instance.
	//
	// The value must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The value must start with a letter.
	LoadBalancerName pulumi.StringPtrInput
	// The type of the Server Load Balancer (SLB) instance. Set the value to `network`, which specifies NLB.
	LoadBalancerType pulumi.StringPtrInput
	// Specifies whether to enable the configuration read-only mode. Default value: `NonProtection`. See `modificationProtectionConfig` below.
	ModificationProtectionConfig LoadBalancerModificationProtectionConfigPtrInput
	ModificationProtectionReason pulumi.StringPtrInput
	ModificationProtectionStatus pulumi.StringPtrInput
	// The ID of the new resource group.
	//
	// You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.
	ResourceGroupId pulumi.StringPtrInput
	// The security group to which the network-based SLB instance belongs.
	SecurityGroupIds pulumi.StringArrayInput
	// The status of the NLB instance.
	Status pulumi.StringPtrInput
	// List of labels.
	Tags pulumi.StringMapInput
	// The ID of the VPC where the NLB instance is deployed.
	VpcId pulumi.StringPtrInput
	// Available Area Configuration List. You must add at least two zones. You can add a maximum of 10 zones. See `zoneMappings` below.
	ZoneMappings LoadBalancerZoneMappingArrayInput
}

func (LoadBalancerState) ElementType

func (LoadBalancerState) ElementType() reflect.Type

type LoadBalancerZoneMapping

type LoadBalancerZoneMapping struct {
	// The ID of the elastic IP address (EIP) that is associated with the Internet-facing NLB instance. You can specify one EIP for each zone. You must add at least two zones. You can add a maximum of 10 zones.
	AllocationId *string `pulumi:"allocationId"`
	// The ID of the elastic network interface (ENI).
	EniId *string `pulumi:"eniId"`
	// The IPv6 address of the NLB instance.
	Ipv6Address *string `pulumi:"ipv6Address"`
	// The private IP address. You must add at least two zones. You can add a maximum of 10 zones.
	PrivateIpv4Address *string `pulumi:"privateIpv4Address"`
	// Public IPv4 address of a network-based server load balancer instance.
	PublicIpv4Address *string `pulumi:"publicIpv4Address"`
	// Zone Status
	Status *string `pulumi:"status"`
	// The vSwitch in the zone. You can specify only one vSwitch (subnet) in each zone of an NLB instance. You must add at least two zones. You can add a maximum of 10 zones.
	VswitchId string `pulumi:"vswitchId"`
	// The ID of the zone of the NLB instance. You must add at least two zones. You can add a maximum of 10 zones.
	//
	// You can call the [DescribeZones](https://www.alibabacloud.com/help/en/doc-detail/443890.html) operation to query the most recent zone list.
	ZoneId string `pulumi:"zoneId"`
}

type LoadBalancerZoneMappingArgs

type LoadBalancerZoneMappingArgs struct {
	// The ID of the elastic IP address (EIP) that is associated with the Internet-facing NLB instance. You can specify one EIP for each zone. You must add at least two zones. You can add a maximum of 10 zones.
	AllocationId pulumi.StringPtrInput `pulumi:"allocationId"`
	// The ID of the elastic network interface (ENI).
	EniId pulumi.StringPtrInput `pulumi:"eniId"`
	// The IPv6 address of the NLB instance.
	Ipv6Address pulumi.StringPtrInput `pulumi:"ipv6Address"`
	// The private IP address. You must add at least two zones. You can add a maximum of 10 zones.
	PrivateIpv4Address pulumi.StringPtrInput `pulumi:"privateIpv4Address"`
	// Public IPv4 address of a network-based server load balancer instance.
	PublicIpv4Address pulumi.StringPtrInput `pulumi:"publicIpv4Address"`
	// Zone Status
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The vSwitch in the zone. You can specify only one vSwitch (subnet) in each zone of an NLB instance. You must add at least two zones. You can add a maximum of 10 zones.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
	// The ID of the zone of the NLB instance. You must add at least two zones. You can add a maximum of 10 zones.
	//
	// You can call the [DescribeZones](https://www.alibabacloud.com/help/en/doc-detail/443890.html) operation to query the most recent zone list.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (LoadBalancerZoneMappingArgs) ElementType

func (LoadBalancerZoneMappingArgs) ToLoadBalancerZoneMappingOutput

func (i LoadBalancerZoneMappingArgs) ToLoadBalancerZoneMappingOutput() LoadBalancerZoneMappingOutput

func (LoadBalancerZoneMappingArgs) ToLoadBalancerZoneMappingOutputWithContext

func (i LoadBalancerZoneMappingArgs) ToLoadBalancerZoneMappingOutputWithContext(ctx context.Context) LoadBalancerZoneMappingOutput

type LoadBalancerZoneMappingArray

type LoadBalancerZoneMappingArray []LoadBalancerZoneMappingInput

func (LoadBalancerZoneMappingArray) ElementType

func (LoadBalancerZoneMappingArray) ToLoadBalancerZoneMappingArrayOutput

func (i LoadBalancerZoneMappingArray) ToLoadBalancerZoneMappingArrayOutput() LoadBalancerZoneMappingArrayOutput

func (LoadBalancerZoneMappingArray) ToLoadBalancerZoneMappingArrayOutputWithContext

func (i LoadBalancerZoneMappingArray) ToLoadBalancerZoneMappingArrayOutputWithContext(ctx context.Context) LoadBalancerZoneMappingArrayOutput

type LoadBalancerZoneMappingArrayInput

type LoadBalancerZoneMappingArrayInput interface {
	pulumi.Input

	ToLoadBalancerZoneMappingArrayOutput() LoadBalancerZoneMappingArrayOutput
	ToLoadBalancerZoneMappingArrayOutputWithContext(context.Context) LoadBalancerZoneMappingArrayOutput
}

LoadBalancerZoneMappingArrayInput is an input type that accepts LoadBalancerZoneMappingArray and LoadBalancerZoneMappingArrayOutput values. You can construct a concrete instance of `LoadBalancerZoneMappingArrayInput` via:

LoadBalancerZoneMappingArray{ LoadBalancerZoneMappingArgs{...} }

type LoadBalancerZoneMappingArrayOutput

type LoadBalancerZoneMappingArrayOutput struct{ *pulumi.OutputState }

func (LoadBalancerZoneMappingArrayOutput) ElementType

func (LoadBalancerZoneMappingArrayOutput) Index

func (LoadBalancerZoneMappingArrayOutput) ToLoadBalancerZoneMappingArrayOutput

func (o LoadBalancerZoneMappingArrayOutput) ToLoadBalancerZoneMappingArrayOutput() LoadBalancerZoneMappingArrayOutput

func (LoadBalancerZoneMappingArrayOutput) ToLoadBalancerZoneMappingArrayOutputWithContext

func (o LoadBalancerZoneMappingArrayOutput) ToLoadBalancerZoneMappingArrayOutputWithContext(ctx context.Context) LoadBalancerZoneMappingArrayOutput

type LoadBalancerZoneMappingInput

type LoadBalancerZoneMappingInput interface {
	pulumi.Input

	ToLoadBalancerZoneMappingOutput() LoadBalancerZoneMappingOutput
	ToLoadBalancerZoneMappingOutputWithContext(context.Context) LoadBalancerZoneMappingOutput
}

LoadBalancerZoneMappingInput is an input type that accepts LoadBalancerZoneMappingArgs and LoadBalancerZoneMappingOutput values. You can construct a concrete instance of `LoadBalancerZoneMappingInput` via:

LoadBalancerZoneMappingArgs{...}

type LoadBalancerZoneMappingOutput

type LoadBalancerZoneMappingOutput struct{ *pulumi.OutputState }

func (LoadBalancerZoneMappingOutput) AllocationId

The ID of the elastic IP address (EIP) that is associated with the Internet-facing NLB instance. You can specify one EIP for each zone. You must add at least two zones. You can add a maximum of 10 zones.

func (LoadBalancerZoneMappingOutput) ElementType

func (LoadBalancerZoneMappingOutput) EniId

The ID of the elastic network interface (ENI).

func (LoadBalancerZoneMappingOutput) Ipv6Address

The IPv6 address of the NLB instance.

func (LoadBalancerZoneMappingOutput) PrivateIpv4Address

func (o LoadBalancerZoneMappingOutput) PrivateIpv4Address() pulumi.StringPtrOutput

The private IP address. You must add at least two zones. You can add a maximum of 10 zones.

func (LoadBalancerZoneMappingOutput) PublicIpv4Address

Public IPv4 address of a network-based server load balancer instance.

func (LoadBalancerZoneMappingOutput) Status added in v3.49.1

Zone Status

func (LoadBalancerZoneMappingOutput) ToLoadBalancerZoneMappingOutput

func (o LoadBalancerZoneMappingOutput) ToLoadBalancerZoneMappingOutput() LoadBalancerZoneMappingOutput

func (LoadBalancerZoneMappingOutput) ToLoadBalancerZoneMappingOutputWithContext

func (o LoadBalancerZoneMappingOutput) ToLoadBalancerZoneMappingOutputWithContext(ctx context.Context) LoadBalancerZoneMappingOutput

func (LoadBalancerZoneMappingOutput) VswitchId

The vSwitch in the zone. You can specify only one vSwitch (subnet) in each zone of an NLB instance. You must add at least two zones. You can add a maximum of 10 zones.

func (LoadBalancerZoneMappingOutput) ZoneId

The ID of the zone of the NLB instance. You must add at least two zones. You can add a maximum of 10 zones.

You can call the [DescribeZones](https://www.alibabacloud.com/help/en/doc-detail/443890.html) operation to query the most recent zone list.

type LoadbalancerCommonBandwidthPackageAttachment added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachment struct {
	pulumi.CustomResourceState

	// Specifies whether only to precheck the request. Valid values:
	BandwidthPackageId pulumi.StringOutput `pulumi:"bandwidthPackageId"`
	// The ID of the EIP bandwidth plan.
	LoadBalancerId pulumi.StringOutput `pulumi:"loadBalancerId"`
	// Network-based load balancing instance status. Value:, indicating that the instance listener will no longer forward traffic.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a NLB Loadbalancer Common Bandwidth Package Attachment resource.

Bandwidth Package Operation.

For information about NLB Loadbalancer Common Bandwidth Package Attachment and how to use it, see [What is Loadbalancer Common Bandwidth Package Attachment](https://www.alibabacloud.com/help/en/server-load-balancer/latest/nlb-instances-change).

> **NOTE:** Available since v1.209.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{}, nil)
		if err != nil {
			return err
		}
		defaultGetZones, err := nlb.GetZones(ctx, &nlb.GetZonesArgs{}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.0.0/24"),
			VpcId:       defaultNetwork.ID(),
			ZoneId:      pulumi.String(defaultGetZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		default1, err := vpc.NewSwitch(ctx, "default1", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.1.0/24"),
			VpcId:       defaultNetwork.ID(),
			ZoneId:      pulumi.String(defaultGetZones.Zones[1].Id),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(name),
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultLoadBalancer, err := nlb.NewLoadBalancer(ctx, "default", &nlb.LoadBalancerArgs{
			LoadBalancerName: pulumi.String(name),
			ResourceGroupId:  pulumi.String(_default.Ids[0]),
			LoadBalancerType: pulumi.String("Network"),
			AddressType:      pulumi.String("Internet"),
			AddressIpVersion: pulumi.String("Ipv4"),
			VpcId:            defaultNetwork.ID(),
			Tags: pulumi.StringMap{
				"Created": pulumi.String("TF"),
				"For":     pulumi.String("example"),
			},
			ZoneMappings: nlb.LoadBalancerZoneMappingArray{
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: defaultSwitch.ID(),
					ZoneId:    pulumi.String(defaultGetZones.Zones[0].Id),
				},
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: default1.ID(),
					ZoneId:    pulumi.String(defaultGetZones.Zones[1].Id),
				},
			},
		})
		if err != nil {
			return err
		}
		defaultCommonBandwithPackage, err := vpc.NewCommonBandwithPackage(ctx, "default", &vpc.CommonBandwithPackageArgs{
			Bandwidth:            pulumi.String("2"),
			InternetChargeType:   pulumi.String("PayByTraffic"),
			BandwidthPackageName: pulumi.String(name),
			Description:          pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = nlb.NewLoadbalancerCommonBandwidthPackageAttachment(ctx, "default", &nlb.LoadbalancerCommonBandwidthPackageAttachmentArgs{
			BandwidthPackageId: defaultCommonBandwithPackage.ID(),
			LoadBalancerId:     defaultLoadBalancer.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

NLB Loadbalancer Common Bandwidth Package Attachment can be imported using the id, e.g.

```sh $ pulumi import alicloud:nlb/loadbalancerCommonBandwidthPackageAttachment:LoadbalancerCommonBandwidthPackageAttachment example <load_balancer_id>:<bandwidth_package_id> ```

func GetLoadbalancerCommonBandwidthPackageAttachment added in v3.43.0

func GetLoadbalancerCommonBandwidthPackageAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LoadbalancerCommonBandwidthPackageAttachmentState, opts ...pulumi.ResourceOption) (*LoadbalancerCommonBandwidthPackageAttachment, error)

GetLoadbalancerCommonBandwidthPackageAttachment gets an existing LoadbalancerCommonBandwidthPackageAttachment 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 NewLoadbalancerCommonBandwidthPackageAttachment added in v3.43.0

func NewLoadbalancerCommonBandwidthPackageAttachment(ctx *pulumi.Context,
	name string, args *LoadbalancerCommonBandwidthPackageAttachmentArgs, opts ...pulumi.ResourceOption) (*LoadbalancerCommonBandwidthPackageAttachment, error)

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

func (*LoadbalancerCommonBandwidthPackageAttachment) ElementType added in v3.43.0

func (*LoadbalancerCommonBandwidthPackageAttachment) ToLoadbalancerCommonBandwidthPackageAttachmentOutput added in v3.43.0

func (i *LoadbalancerCommonBandwidthPackageAttachment) ToLoadbalancerCommonBandwidthPackageAttachmentOutput() LoadbalancerCommonBandwidthPackageAttachmentOutput

func (*LoadbalancerCommonBandwidthPackageAttachment) ToLoadbalancerCommonBandwidthPackageAttachmentOutputWithContext added in v3.43.0

func (i *LoadbalancerCommonBandwidthPackageAttachment) ToLoadbalancerCommonBandwidthPackageAttachmentOutputWithContext(ctx context.Context) LoadbalancerCommonBandwidthPackageAttachmentOutput

type LoadbalancerCommonBandwidthPackageAttachmentArgs added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentArgs struct {
	// Specifies whether only to precheck the request. Valid values:
	BandwidthPackageId pulumi.StringInput
	// The ID of the EIP bandwidth plan.
	LoadBalancerId pulumi.StringInput
}

The set of arguments for constructing a LoadbalancerCommonBandwidthPackageAttachment resource.

func (LoadbalancerCommonBandwidthPackageAttachmentArgs) ElementType added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentArray added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentArray []LoadbalancerCommonBandwidthPackageAttachmentInput

func (LoadbalancerCommonBandwidthPackageAttachmentArray) ElementType added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentArray) ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutput added in v3.43.0

func (i LoadbalancerCommonBandwidthPackageAttachmentArray) ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutput() LoadbalancerCommonBandwidthPackageAttachmentArrayOutput

func (LoadbalancerCommonBandwidthPackageAttachmentArray) ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutputWithContext added in v3.43.0

func (i LoadbalancerCommonBandwidthPackageAttachmentArray) ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutputWithContext(ctx context.Context) LoadbalancerCommonBandwidthPackageAttachmentArrayOutput

type LoadbalancerCommonBandwidthPackageAttachmentArrayInput added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentArrayInput interface {
	pulumi.Input

	ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutput() LoadbalancerCommonBandwidthPackageAttachmentArrayOutput
	ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutputWithContext(context.Context) LoadbalancerCommonBandwidthPackageAttachmentArrayOutput
}

LoadbalancerCommonBandwidthPackageAttachmentArrayInput is an input type that accepts LoadbalancerCommonBandwidthPackageAttachmentArray and LoadbalancerCommonBandwidthPackageAttachmentArrayOutput values. You can construct a concrete instance of `LoadbalancerCommonBandwidthPackageAttachmentArrayInput` via:

LoadbalancerCommonBandwidthPackageAttachmentArray{ LoadbalancerCommonBandwidthPackageAttachmentArgs{...} }

type LoadbalancerCommonBandwidthPackageAttachmentArrayOutput added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentArrayOutput struct{ *pulumi.OutputState }

func (LoadbalancerCommonBandwidthPackageAttachmentArrayOutput) ElementType added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentArrayOutput) Index added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentArrayOutput) ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutput added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentArrayOutput) ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutputWithContext added in v3.43.0

func (o LoadbalancerCommonBandwidthPackageAttachmentArrayOutput) ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutputWithContext(ctx context.Context) LoadbalancerCommonBandwidthPackageAttachmentArrayOutput

type LoadbalancerCommonBandwidthPackageAttachmentInput added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentInput interface {
	pulumi.Input

	ToLoadbalancerCommonBandwidthPackageAttachmentOutput() LoadbalancerCommonBandwidthPackageAttachmentOutput
	ToLoadbalancerCommonBandwidthPackageAttachmentOutputWithContext(ctx context.Context) LoadbalancerCommonBandwidthPackageAttachmentOutput
}

type LoadbalancerCommonBandwidthPackageAttachmentMap added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentMap map[string]LoadbalancerCommonBandwidthPackageAttachmentInput

func (LoadbalancerCommonBandwidthPackageAttachmentMap) ElementType added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentMap) ToLoadbalancerCommonBandwidthPackageAttachmentMapOutput added in v3.43.0

func (i LoadbalancerCommonBandwidthPackageAttachmentMap) ToLoadbalancerCommonBandwidthPackageAttachmentMapOutput() LoadbalancerCommonBandwidthPackageAttachmentMapOutput

func (LoadbalancerCommonBandwidthPackageAttachmentMap) ToLoadbalancerCommonBandwidthPackageAttachmentMapOutputWithContext added in v3.43.0

func (i LoadbalancerCommonBandwidthPackageAttachmentMap) ToLoadbalancerCommonBandwidthPackageAttachmentMapOutputWithContext(ctx context.Context) LoadbalancerCommonBandwidthPackageAttachmentMapOutput

type LoadbalancerCommonBandwidthPackageAttachmentMapInput added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentMapInput interface {
	pulumi.Input

	ToLoadbalancerCommonBandwidthPackageAttachmentMapOutput() LoadbalancerCommonBandwidthPackageAttachmentMapOutput
	ToLoadbalancerCommonBandwidthPackageAttachmentMapOutputWithContext(context.Context) LoadbalancerCommonBandwidthPackageAttachmentMapOutput
}

LoadbalancerCommonBandwidthPackageAttachmentMapInput is an input type that accepts LoadbalancerCommonBandwidthPackageAttachmentMap and LoadbalancerCommonBandwidthPackageAttachmentMapOutput values. You can construct a concrete instance of `LoadbalancerCommonBandwidthPackageAttachmentMapInput` via:

LoadbalancerCommonBandwidthPackageAttachmentMap{ "key": LoadbalancerCommonBandwidthPackageAttachmentArgs{...} }

type LoadbalancerCommonBandwidthPackageAttachmentMapOutput added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentMapOutput struct{ *pulumi.OutputState }

func (LoadbalancerCommonBandwidthPackageAttachmentMapOutput) ElementType added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentMapOutput) MapIndex added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentMapOutput) ToLoadbalancerCommonBandwidthPackageAttachmentMapOutput added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentMapOutput) ToLoadbalancerCommonBandwidthPackageAttachmentMapOutputWithContext added in v3.43.0

func (o LoadbalancerCommonBandwidthPackageAttachmentMapOutput) ToLoadbalancerCommonBandwidthPackageAttachmentMapOutputWithContext(ctx context.Context) LoadbalancerCommonBandwidthPackageAttachmentMapOutput

type LoadbalancerCommonBandwidthPackageAttachmentOutput added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentOutput struct{ *pulumi.OutputState }

func (LoadbalancerCommonBandwidthPackageAttachmentOutput) BandwidthPackageId added in v3.43.0

Specifies whether only to precheck the request. Valid values:

func (LoadbalancerCommonBandwidthPackageAttachmentOutput) ElementType added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentOutput) LoadBalancerId added in v3.43.0

The ID of the EIP bandwidth plan.

func (LoadbalancerCommonBandwidthPackageAttachmentOutput) Status added in v3.43.0

Network-based load balancing instance status. Value:, indicating that the instance listener will no longer forward traffic.

func (LoadbalancerCommonBandwidthPackageAttachmentOutput) ToLoadbalancerCommonBandwidthPackageAttachmentOutput added in v3.43.0

func (o LoadbalancerCommonBandwidthPackageAttachmentOutput) ToLoadbalancerCommonBandwidthPackageAttachmentOutput() LoadbalancerCommonBandwidthPackageAttachmentOutput

func (LoadbalancerCommonBandwidthPackageAttachmentOutput) ToLoadbalancerCommonBandwidthPackageAttachmentOutputWithContext added in v3.43.0

func (o LoadbalancerCommonBandwidthPackageAttachmentOutput) ToLoadbalancerCommonBandwidthPackageAttachmentOutputWithContext(ctx context.Context) LoadbalancerCommonBandwidthPackageAttachmentOutput

type LoadbalancerCommonBandwidthPackageAttachmentState added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentState struct {
	// Specifies whether only to precheck the request. Valid values:
	BandwidthPackageId pulumi.StringPtrInput
	// The ID of the EIP bandwidth plan.
	LoadBalancerId pulumi.StringPtrInput
	// Network-based load balancing instance status. Value:, indicating that the instance listener will no longer forward traffic.
	Status pulumi.StringPtrInput
}

func (LoadbalancerCommonBandwidthPackageAttachmentState) ElementType added in v3.43.0

type SecurityPolicy

type SecurityPolicy struct {
	pulumi.CustomResourceState

	// The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.
	// - TLS 1.0 and TLS 1.1 support the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA`, `DES-CBC3-SHA`
	// - TLS 1.2 supports the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA, DES-CBC3-SHA`, `ECDHE-ECDSA-AES128-GCM-SHA256`, `ECDHE-ECDSA-AES256-GCM-SHA384`, `ECDHE-ECDSA-AES128-SHA256`, `ECDHE-ECDSA-AES256-SHA384`, `ECDHE-RSA-AES128-GCM-SHA256`, `ECDHE-RSA-AES256-GCM-SHA384`, `ECDHE-RSA-AES128-SHA256`, `ECDHE-RSA-AES256-SHA384`, `AES128-GCM-SHA256`, `AES256-GCM-SHA384`, `AES128-SHA256`, `AES256-SHA256`
	// - TLS 1.3 supports the following cipher suites: `TLS_AES_128_GCM_SHA256`, `TLS_AES_256_GCM_SHA384`, `TLS_CHACHA20_POLY1305_SHA256`, `TLS_AES_128_CCM_SHA256`, `TLS_AES_128_CCM_8_SHA256`.
	Ciphers pulumi.StringArrayOutput `pulumi:"ciphers"`
	// The ID of the new resource group.
	//
	// You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The name of the security policy.
	//
	// The name must be 1 to 200 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-).
	SecurityPolicyName pulumi.StringOutput `pulumi:"securityPolicyName"`
	// The status of the resource
	Status pulumi.StringOutput `pulumi:"status"`
	// The tag of the resource
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The supported versions of the Transport Layer Security (TLS) protocol. Valid values: `TLSv1.0`, `TLSv1.1`, `TLSv1.2`, and `TLSv1.3`. You can specify at most four TLS versions.
	TlsVersions pulumi.StringArrayOutput `pulumi:"tlsVersions"`
}

Provides a NLB Security Policy resource.

For information about NLB Security Policy and how to use it, see [What is Security Policy](https://www.alibabacloud.com/help/en/server-load-balancer/latest/createsecuritypolicy-nlb).

> **NOTE:** Available since v1.187.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{}, nil)
		if err != nil {
			return err
		}
		_, err = nlb.NewSecurityPolicy(ctx, "default", &nlb.SecurityPolicyArgs{
			ResourceGroupId:    pulumi.String(_default.Ids[0]),
			SecurityPolicyName: pulumi.String(name),
			Ciphers: pulumi.StringArray{
				pulumi.String("ECDHE-RSA-AES128-SHA"),
				pulumi.String("ECDHE-ECDSA-AES128-SHA"),
			},
			TlsVersions: pulumi.StringArray{
				pulumi.String("TLSv1.0"),
				pulumi.String("TLSv1.1"),
				pulumi.String("TLSv1.2"),
			},
			Tags: pulumi.StringMap{
				"Created": pulumi.String("TF"),
				"For":     pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

NLB Security Policy can be imported using the id, e.g.

```sh $ pulumi import alicloud:nlb/securityPolicy:SecurityPolicy example <id> ```

func GetSecurityPolicy

func GetSecurityPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecurityPolicyState, opts ...pulumi.ResourceOption) (*SecurityPolicy, error)

GetSecurityPolicy gets an existing SecurityPolicy 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 NewSecurityPolicy

func NewSecurityPolicy(ctx *pulumi.Context,
	name string, args *SecurityPolicyArgs, opts ...pulumi.ResourceOption) (*SecurityPolicy, error)

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

func (*SecurityPolicy) ElementType

func (*SecurityPolicy) ElementType() reflect.Type

func (*SecurityPolicy) ToSecurityPolicyOutput

func (i *SecurityPolicy) ToSecurityPolicyOutput() SecurityPolicyOutput

func (*SecurityPolicy) ToSecurityPolicyOutputWithContext

func (i *SecurityPolicy) ToSecurityPolicyOutputWithContext(ctx context.Context) SecurityPolicyOutput

type SecurityPolicyArgs

type SecurityPolicyArgs struct {
	// The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.
	// - TLS 1.0 and TLS 1.1 support the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA`, `DES-CBC3-SHA`
	// - TLS 1.2 supports the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA, DES-CBC3-SHA`, `ECDHE-ECDSA-AES128-GCM-SHA256`, `ECDHE-ECDSA-AES256-GCM-SHA384`, `ECDHE-ECDSA-AES128-SHA256`, `ECDHE-ECDSA-AES256-SHA384`, `ECDHE-RSA-AES128-GCM-SHA256`, `ECDHE-RSA-AES256-GCM-SHA384`, `ECDHE-RSA-AES128-SHA256`, `ECDHE-RSA-AES256-SHA384`, `AES128-GCM-SHA256`, `AES256-GCM-SHA384`, `AES128-SHA256`, `AES256-SHA256`
	// - TLS 1.3 supports the following cipher suites: `TLS_AES_128_GCM_SHA256`, `TLS_AES_256_GCM_SHA384`, `TLS_CHACHA20_POLY1305_SHA256`, `TLS_AES_128_CCM_SHA256`, `TLS_AES_128_CCM_8_SHA256`.
	Ciphers pulumi.StringArrayInput
	// The ID of the new resource group.
	//
	// You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.
	ResourceGroupId pulumi.StringPtrInput
	// The name of the security policy.
	//
	// The name must be 1 to 200 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-).
	SecurityPolicyName pulumi.StringPtrInput
	// The tag of the resource
	Tags pulumi.StringMapInput
	// The supported versions of the Transport Layer Security (TLS) protocol. Valid values: `TLSv1.0`, `TLSv1.1`, `TLSv1.2`, and `TLSv1.3`. You can specify at most four TLS versions.
	TlsVersions pulumi.StringArrayInput
}

The set of arguments for constructing a SecurityPolicy resource.

func (SecurityPolicyArgs) ElementType

func (SecurityPolicyArgs) ElementType() reflect.Type

type SecurityPolicyArray

type SecurityPolicyArray []SecurityPolicyInput

func (SecurityPolicyArray) ElementType

func (SecurityPolicyArray) ElementType() reflect.Type

func (SecurityPolicyArray) ToSecurityPolicyArrayOutput

func (i SecurityPolicyArray) ToSecurityPolicyArrayOutput() SecurityPolicyArrayOutput

func (SecurityPolicyArray) ToSecurityPolicyArrayOutputWithContext

func (i SecurityPolicyArray) ToSecurityPolicyArrayOutputWithContext(ctx context.Context) SecurityPolicyArrayOutput

type SecurityPolicyArrayInput

type SecurityPolicyArrayInput interface {
	pulumi.Input

	ToSecurityPolicyArrayOutput() SecurityPolicyArrayOutput
	ToSecurityPolicyArrayOutputWithContext(context.Context) SecurityPolicyArrayOutput
}

SecurityPolicyArrayInput is an input type that accepts SecurityPolicyArray and SecurityPolicyArrayOutput values. You can construct a concrete instance of `SecurityPolicyArrayInput` via:

SecurityPolicyArray{ SecurityPolicyArgs{...} }

type SecurityPolicyArrayOutput

type SecurityPolicyArrayOutput struct{ *pulumi.OutputState }

func (SecurityPolicyArrayOutput) ElementType

func (SecurityPolicyArrayOutput) ElementType() reflect.Type

func (SecurityPolicyArrayOutput) Index

func (SecurityPolicyArrayOutput) ToSecurityPolicyArrayOutput

func (o SecurityPolicyArrayOutput) ToSecurityPolicyArrayOutput() SecurityPolicyArrayOutput

func (SecurityPolicyArrayOutput) ToSecurityPolicyArrayOutputWithContext

func (o SecurityPolicyArrayOutput) ToSecurityPolicyArrayOutputWithContext(ctx context.Context) SecurityPolicyArrayOutput

type SecurityPolicyInput

type SecurityPolicyInput interface {
	pulumi.Input

	ToSecurityPolicyOutput() SecurityPolicyOutput
	ToSecurityPolicyOutputWithContext(ctx context.Context) SecurityPolicyOutput
}

type SecurityPolicyMap

type SecurityPolicyMap map[string]SecurityPolicyInput

func (SecurityPolicyMap) ElementType

func (SecurityPolicyMap) ElementType() reflect.Type

func (SecurityPolicyMap) ToSecurityPolicyMapOutput

func (i SecurityPolicyMap) ToSecurityPolicyMapOutput() SecurityPolicyMapOutput

func (SecurityPolicyMap) ToSecurityPolicyMapOutputWithContext

func (i SecurityPolicyMap) ToSecurityPolicyMapOutputWithContext(ctx context.Context) SecurityPolicyMapOutput

type SecurityPolicyMapInput

type SecurityPolicyMapInput interface {
	pulumi.Input

	ToSecurityPolicyMapOutput() SecurityPolicyMapOutput
	ToSecurityPolicyMapOutputWithContext(context.Context) SecurityPolicyMapOutput
}

SecurityPolicyMapInput is an input type that accepts SecurityPolicyMap and SecurityPolicyMapOutput values. You can construct a concrete instance of `SecurityPolicyMapInput` via:

SecurityPolicyMap{ "key": SecurityPolicyArgs{...} }

type SecurityPolicyMapOutput

type SecurityPolicyMapOutput struct{ *pulumi.OutputState }

func (SecurityPolicyMapOutput) ElementType

func (SecurityPolicyMapOutput) ElementType() reflect.Type

func (SecurityPolicyMapOutput) MapIndex

func (SecurityPolicyMapOutput) ToSecurityPolicyMapOutput

func (o SecurityPolicyMapOutput) ToSecurityPolicyMapOutput() SecurityPolicyMapOutput

func (SecurityPolicyMapOutput) ToSecurityPolicyMapOutputWithContext

func (o SecurityPolicyMapOutput) ToSecurityPolicyMapOutputWithContext(ctx context.Context) SecurityPolicyMapOutput

type SecurityPolicyOutput

type SecurityPolicyOutput struct{ *pulumi.OutputState }

func (SecurityPolicyOutput) Ciphers

The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites. - TLS 1.0 and TLS 1.1 support the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA`, `DES-CBC3-SHA` - TLS 1.2 supports the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA, DES-CBC3-SHA`, `ECDHE-ECDSA-AES128-GCM-SHA256`, `ECDHE-ECDSA-AES256-GCM-SHA384`, `ECDHE-ECDSA-AES128-SHA256`, `ECDHE-ECDSA-AES256-SHA384`, `ECDHE-RSA-AES128-GCM-SHA256`, `ECDHE-RSA-AES256-GCM-SHA384`, `ECDHE-RSA-AES128-SHA256`, `ECDHE-RSA-AES256-SHA384`, `AES128-GCM-SHA256`, `AES256-GCM-SHA384`, `AES128-SHA256`, `AES256-SHA256` - TLS 1.3 supports the following cipher suites: `TLS_AES_128_GCM_SHA256`, `TLS_AES_256_GCM_SHA384`, `TLS_CHACHA20_POLY1305_SHA256`, `TLS_AES_128_CCM_SHA256`, `TLS_AES_128_CCM_8_SHA256`.

func (SecurityPolicyOutput) ElementType

func (SecurityPolicyOutput) ElementType() reflect.Type

func (SecurityPolicyOutput) ResourceGroupId

func (o SecurityPolicyOutput) ResourceGroupId() pulumi.StringOutput

The ID of the new resource group.

You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.

func (SecurityPolicyOutput) SecurityPolicyName

func (o SecurityPolicyOutput) SecurityPolicyName() pulumi.StringOutput

The name of the security policy.

The name must be 1 to 200 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-).

func (SecurityPolicyOutput) Status

The status of the resource

func (SecurityPolicyOutput) Tags

The tag of the resource

func (SecurityPolicyOutput) TlsVersions

The supported versions of the Transport Layer Security (TLS) protocol. Valid values: `TLSv1.0`, `TLSv1.1`, `TLSv1.2`, and `TLSv1.3`. You can specify at most four TLS versions.

func (SecurityPolicyOutput) ToSecurityPolicyOutput

func (o SecurityPolicyOutput) ToSecurityPolicyOutput() SecurityPolicyOutput

func (SecurityPolicyOutput) ToSecurityPolicyOutputWithContext

func (o SecurityPolicyOutput) ToSecurityPolicyOutputWithContext(ctx context.Context) SecurityPolicyOutput

type SecurityPolicyState

type SecurityPolicyState struct {
	// The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.
	// - TLS 1.0 and TLS 1.1 support the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA`, `DES-CBC3-SHA`
	// - TLS 1.2 supports the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA, DES-CBC3-SHA`, `ECDHE-ECDSA-AES128-GCM-SHA256`, `ECDHE-ECDSA-AES256-GCM-SHA384`, `ECDHE-ECDSA-AES128-SHA256`, `ECDHE-ECDSA-AES256-SHA384`, `ECDHE-RSA-AES128-GCM-SHA256`, `ECDHE-RSA-AES256-GCM-SHA384`, `ECDHE-RSA-AES128-SHA256`, `ECDHE-RSA-AES256-SHA384`, `AES128-GCM-SHA256`, `AES256-GCM-SHA384`, `AES128-SHA256`, `AES256-SHA256`
	// - TLS 1.3 supports the following cipher suites: `TLS_AES_128_GCM_SHA256`, `TLS_AES_256_GCM_SHA384`, `TLS_CHACHA20_POLY1305_SHA256`, `TLS_AES_128_CCM_SHA256`, `TLS_AES_128_CCM_8_SHA256`.
	Ciphers pulumi.StringArrayInput
	// The ID of the new resource group.
	//
	// You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.
	ResourceGroupId pulumi.StringPtrInput
	// The name of the security policy.
	//
	// The name must be 1 to 200 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-).
	SecurityPolicyName pulumi.StringPtrInput
	// The status of the resource
	Status pulumi.StringPtrInput
	// The tag of the resource
	Tags pulumi.StringMapInput
	// The supported versions of the Transport Layer Security (TLS) protocol. Valid values: `TLSv1.0`, `TLSv1.1`, `TLSv1.2`, and `TLSv1.3`. You can specify at most four TLS versions.
	TlsVersions pulumi.StringArrayInput
}

func (SecurityPolicyState) ElementType

func (SecurityPolicyState) ElementType() reflect.Type

type ServerGroup

type ServerGroup struct {
	pulumi.CustomResourceState

	// The protocol version. Valid values:
	AddressIpVersion pulumi.StringOutput `pulumi:"addressIpVersion"`
	// Specifies whether to enable all-port forwarding. Valid values:
	AnyPortEnabled pulumi.BoolOutput `pulumi:"anyPortEnabled"`
	// . Field 'connection_drain' has been deprecated from provider version 1.231.0. New field 'connection_drain_enabled' instead.
	//
	// Deprecated: Field 'connection_drain' has been deprecated since provider version 1.214.0. New field 'connection_drain_enabled' instead.
	ConnectionDrain pulumi.BoolOutput `pulumi:"connectionDrain"`
	// Specifies whether to enable connection draining. Valid values:
	ConnectionDrainEnabled pulumi.BoolOutput `pulumi:"connectionDrainEnabled"`
	// The timeout period of connection draining. Unit: seconds. Valid values: `10` to `900`.
	ConnectionDrainTimeout pulumi.IntOutput `pulumi:"connectionDrainTimeout"`
	// Health check configuration information. See `healthCheck` below.
	HealthCheck ServerGroupHealthCheckOutput `pulumi:"healthCheck"`
	// Specifies whether to enable client IP preservation. Valid values:
	PreserveClientIpEnabled pulumi.BoolOutput `pulumi:"preserveClientIpEnabled"`
	// The protocol used to forward requests to the backend servers. Valid values:
	//
	// - `TCP` (default)
	// - `UDP`
	// - `TCPSSL`
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// The ID of the region where the NLB instance is deployed.
	RegionId pulumi.StringOutput `pulumi:"regionId"`
	// The ID of the new resource group.
	// You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The scheduling algorithm. Valid values:
	//
	// - **Wrr:** The weighted round-robin algorithm is used. Backend servers with higher weights receive more requests than backend servers with lower weights. This is the default value.
	// - **rr:** The round-robin algorithm is used. Requests are forwarded to backend servers in sequence.
	// - **sch:** Source IP hashing is used. Requests from the same source IP address are forwarded to the same backend server.
	// - **tch:** Four-element hashing is used. It specifies consistent hashing that is based on four factors: source IP address, destination IP address, source port, and destination port. Requests that contain the same information based on the four factors are forwarded to the same backend server.
	Scheduler pulumi.StringOutput `pulumi:"scheduler"`
	// The new name of the server group.
	// The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The name must start with a letter.
	ServerGroupName pulumi.StringOutput `pulumi:"serverGroupName"`
	// The type of server group. Valid values:
	//
	// - `Instance`: allows you to add servers of the `Ecs`, `Eni`, or `Eci` type. This is the default value.
	// - `Ip`: allows you to add servers by specifying IP addresses.
	ServerGroupType pulumi.StringOutput `pulumi:"serverGroupType"`
	// Server group status. Value:
	Status pulumi.StringOutput `pulumi:"status"`
	// Label.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The ID of the virtual private cloud (VPC) to which the server group belongs.
	//
	// > **NOTE:**  If `ServerGroupType` is set to `Instance`, only servers in the specified VPC can be added to the server group.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a Network Load Balancer (NLB) Server Group resource.

For information about Network Load Balancer (NLB) Server Group and how to use it, see [What is Server Group](https://www.alibabacloud.com/help/en/server-load-balancer/latest/createservergroup-nlb).

> **NOTE:** Available since v1.186.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		_, err = nlb.NewServerGroup(ctx, "default", &nlb.ServerGroupArgs{
			ResourceGroupId:        pulumi.String(_default.Ids[0]),
			ServerGroupName:        pulumi.String(name),
			ServerGroupType:        pulumi.String("Instance"),
			VpcId:                  defaultNetwork.ID(),
			Scheduler:              pulumi.String("Wrr"),
			Protocol:               pulumi.String("TCP"),
			ConnectionDrainEnabled: pulumi.Bool(true),
			ConnectionDrainTimeout: pulumi.Int(60),
			AddressIpVersion:       pulumi.String("Ipv4"),
			HealthCheck: &nlb.ServerGroupHealthCheckArgs{
				HealthCheckEnabled:        pulumi.Bool(true),
				HealthCheckType:           pulumi.String("TCP"),
				HealthCheckConnectPort:    pulumi.Int(0),
				HealthyThreshold:          pulumi.Int(2),
				UnhealthyThreshold:        pulumi.Int(2),
				HealthCheckConnectTimeout: pulumi.Int(5),
				HealthCheckInterval:       pulumi.Int(10),
				HttpCheckMethod:           pulumi.String("GET"),
				HealthCheckHttpCodes: pulumi.StringArray{
					pulumi.String("http_2xx"),
					pulumi.String("http_3xx"),
					pulumi.String("http_4xx"),
				},
			},
			Tags: pulumi.StringMap{
				"Created": pulumi.String("TF"),
				"For":     pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Network Load Balancer (NLB) Server Group can be imported using the id, e.g.

```sh $ pulumi import alicloud:nlb/serverGroup:ServerGroup example <id> ```

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 {
	// The protocol version. Valid values:
	AddressIpVersion pulumi.StringPtrInput
	// Specifies whether to enable all-port forwarding. Valid values:
	AnyPortEnabled pulumi.BoolPtrInput
	// . Field 'connection_drain' has been deprecated from provider version 1.231.0. New field 'connection_drain_enabled' instead.
	//
	// Deprecated: Field 'connection_drain' has been deprecated since provider version 1.214.0. New field 'connection_drain_enabled' instead.
	ConnectionDrain pulumi.BoolPtrInput
	// Specifies whether to enable connection draining. Valid values:
	ConnectionDrainEnabled pulumi.BoolPtrInput
	// The timeout period of connection draining. Unit: seconds. Valid values: `10` to `900`.
	ConnectionDrainTimeout pulumi.IntPtrInput
	// Health check configuration information. See `healthCheck` below.
	HealthCheck ServerGroupHealthCheckPtrInput
	// Specifies whether to enable client IP preservation. Valid values:
	PreserveClientIpEnabled pulumi.BoolPtrInput
	// The protocol used to forward requests to the backend servers. Valid values:
	//
	// - `TCP` (default)
	// - `UDP`
	// - `TCPSSL`
	Protocol pulumi.StringPtrInput
	// The ID of the new resource group.
	// You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.
	ResourceGroupId pulumi.StringPtrInput
	// The scheduling algorithm. Valid values:
	//
	// - **Wrr:** The weighted round-robin algorithm is used. Backend servers with higher weights receive more requests than backend servers with lower weights. This is the default value.
	// - **rr:** The round-robin algorithm is used. Requests are forwarded to backend servers in sequence.
	// - **sch:** Source IP hashing is used. Requests from the same source IP address are forwarded to the same backend server.
	// - **tch:** Four-element hashing is used. It specifies consistent hashing that is based on four factors: source IP address, destination IP address, source port, and destination port. Requests that contain the same information based on the four factors are forwarded to the same backend server.
	Scheduler pulumi.StringPtrInput
	// The new name of the server group.
	// The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The name must start with a letter.
	ServerGroupName pulumi.StringInput
	// The type of server group. Valid values:
	//
	// - `Instance`: allows you to add servers of the `Ecs`, `Eni`, or `Eci` type. This is the default value.
	// - `Ip`: allows you to add servers by specifying IP addresses.
	ServerGroupType pulumi.StringPtrInput
	// Label.
	Tags pulumi.StringMapInput
	// The ID of the virtual private cloud (VPC) to which the server group belongs.
	//
	// > **NOTE:**  If `ServerGroupType` is set to `Instance`, only servers in the specified VPC can be added to the server group.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VpcId pulumi.StringInput
}

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 ServerGroupHealthCheck

type ServerGroupHealthCheck struct {
	// The port that you want to use for health checks on backend servers.
	// Valid values: `0` to `65535`.
	// Default value: `0`. If you set the value to 0, the port of the backend server is used for health checks.
	HealthCheckConnectPort *int `pulumi:"healthCheckConnectPort"`
	// The maximum timeout period of a health check. Unit: seconds. Valid values: `1` to `300`. Default value: `5`.
	HealthCheckConnectTimeout *int `pulumi:"healthCheckConnectTimeout"`
	// The domain name that you want to use for health checks. Valid values:
	// - `$SERVER_IP`: the private IP address of a backend server.
	HealthCheckDomain *string `pulumi:"healthCheckDomain"`
	// Specifies whether to enable the health check feature. Valid values:
	HealthCheckEnabled *bool `pulumi:"healthCheckEnabled"`
	// health check response character string. The value contains a maximum of 512 characters
	HealthCheckExp *string `pulumi:"healthCheckExp"`
	// The HTTP status codes to return for health checks. Separate multiple HTTP status codes with commas (,). Valid values: `http\_2xx` (default), `http\_3xx`, `http\_4xx`, and `http\_5xx`.
	//
	// > **NOTE:**  This parameter takes effect only when `HealthCheckType` is set to `HTTP`.
	HealthCheckHttpCodes []string `pulumi:"healthCheckHttpCodes"`
	// The interval at which health checks are performed. Unit: seconds.
	// Valid values: `5` to `50`.
	// Default value: `10`.
	HealthCheckInterval *int `pulumi:"healthCheckInterval"`
	// UDP healthy check request string, the value is a character string of 512 characters
	HealthCheckReq *string `pulumi:"healthCheckReq"`
	// The protocol that you want to use for health checks. Valid values: `TCP` (default) and `HTTP`.
	HealthCheckType *string `pulumi:"healthCheckType"`
	// The path to which health check requests are sent.
	//
	// The path must be 1 to 80 characters in length, and can contain only letters, digits, and the following special characters: `- / . % ? # & =`. It can also contain the following extended characters: `_ ; ~ ! ( ) * [ ] @ $ ^ : ' , +`. The path must start with a forward slash (/).
	//
	// > **NOTE:**  This parameter takes effect only when `HealthCheckType` is set to `HTTP`.
	HealthCheckUrl *string `pulumi:"healthCheckUrl"`
	// The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status changes from `fail` to `success`.
	// Valid values: `2` to `10`.
	// Default value: `2`.
	HealthyThreshold *int `pulumi:"healthyThreshold"`
	// The HTTP method that is used for health checks. Valid values: `GET` (default) and `HEAD`.
	//
	// > **NOTE:**  This parameter takes effect only when `HealthCheckType` is set to `HTTP`.
	HttpCheckMethod *string `pulumi:"httpCheckMethod"`
	// The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status changes from `success` to `fail`.
	// Valid values: `2` to `10`.
	// Default value: `2`.
	UnhealthyThreshold *int `pulumi:"unhealthyThreshold"`
}

type ServerGroupHealthCheckArgs

type ServerGroupHealthCheckArgs struct {
	// The port that you want to use for health checks on backend servers.
	// Valid values: `0` to `65535`.
	// Default value: `0`. If you set the value to 0, the port of the backend server is used for health checks.
	HealthCheckConnectPort pulumi.IntPtrInput `pulumi:"healthCheckConnectPort"`
	// The maximum timeout period of a health check. Unit: seconds. Valid values: `1` to `300`. Default value: `5`.
	HealthCheckConnectTimeout pulumi.IntPtrInput `pulumi:"healthCheckConnectTimeout"`
	// The domain name that you want to use for health checks. Valid values:
	// - `$SERVER_IP`: the private IP address of a backend server.
	HealthCheckDomain pulumi.StringPtrInput `pulumi:"healthCheckDomain"`
	// Specifies whether to enable the health check feature. Valid values:
	HealthCheckEnabled pulumi.BoolPtrInput `pulumi:"healthCheckEnabled"`
	// health check response character string. The value contains a maximum of 512 characters
	HealthCheckExp pulumi.StringPtrInput `pulumi:"healthCheckExp"`
	// The HTTP status codes to return for health checks. Separate multiple HTTP status codes with commas (,). Valid values: `http\_2xx` (default), `http\_3xx`, `http\_4xx`, and `http\_5xx`.
	//
	// > **NOTE:**  This parameter takes effect only when `HealthCheckType` is set to `HTTP`.
	HealthCheckHttpCodes pulumi.StringArrayInput `pulumi:"healthCheckHttpCodes"`
	// The interval at which health checks are performed. Unit: seconds.
	// Valid values: `5` to `50`.
	// Default value: `10`.
	HealthCheckInterval pulumi.IntPtrInput `pulumi:"healthCheckInterval"`
	// UDP healthy check request string, the value is a character string of 512 characters
	HealthCheckReq pulumi.StringPtrInput `pulumi:"healthCheckReq"`
	// The protocol that you want to use for health checks. Valid values: `TCP` (default) and `HTTP`.
	HealthCheckType pulumi.StringPtrInput `pulumi:"healthCheckType"`
	// The path to which health check requests are sent.
	//
	// The path must be 1 to 80 characters in length, and can contain only letters, digits, and the following special characters: `- / . % ? # & =`. It can also contain the following extended characters: `_ ; ~ ! ( ) * [ ] @ $ ^ : ' , +`. The path must start with a forward slash (/).
	//
	// > **NOTE:**  This parameter takes effect only when `HealthCheckType` is set to `HTTP`.
	HealthCheckUrl pulumi.StringPtrInput `pulumi:"healthCheckUrl"`
	// The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status changes from `fail` to `success`.
	// Valid values: `2` to `10`.
	// Default value: `2`.
	HealthyThreshold pulumi.IntPtrInput `pulumi:"healthyThreshold"`
	// The HTTP method that is used for health checks. Valid values: `GET` (default) and `HEAD`.
	//
	// > **NOTE:**  This parameter takes effect only when `HealthCheckType` is set to `HTTP`.
	HttpCheckMethod pulumi.StringPtrInput `pulumi:"httpCheckMethod"`
	// The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status changes from `success` to `fail`.
	// Valid values: `2` to `10`.
	// Default value: `2`.
	UnhealthyThreshold pulumi.IntPtrInput `pulumi:"unhealthyThreshold"`
}

func (ServerGroupHealthCheckArgs) ElementType

func (ServerGroupHealthCheckArgs) ElementType() reflect.Type

func (ServerGroupHealthCheckArgs) ToServerGroupHealthCheckOutput

func (i ServerGroupHealthCheckArgs) ToServerGroupHealthCheckOutput() ServerGroupHealthCheckOutput

func (ServerGroupHealthCheckArgs) ToServerGroupHealthCheckOutputWithContext

func (i ServerGroupHealthCheckArgs) ToServerGroupHealthCheckOutputWithContext(ctx context.Context) ServerGroupHealthCheckOutput

func (ServerGroupHealthCheckArgs) ToServerGroupHealthCheckPtrOutput

func (i ServerGroupHealthCheckArgs) ToServerGroupHealthCheckPtrOutput() ServerGroupHealthCheckPtrOutput

func (ServerGroupHealthCheckArgs) ToServerGroupHealthCheckPtrOutputWithContext

func (i ServerGroupHealthCheckArgs) ToServerGroupHealthCheckPtrOutputWithContext(ctx context.Context) ServerGroupHealthCheckPtrOutput

type ServerGroupHealthCheckInput

type ServerGroupHealthCheckInput interface {
	pulumi.Input

	ToServerGroupHealthCheckOutput() ServerGroupHealthCheckOutput
	ToServerGroupHealthCheckOutputWithContext(context.Context) ServerGroupHealthCheckOutput
}

ServerGroupHealthCheckInput is an input type that accepts ServerGroupHealthCheckArgs and ServerGroupHealthCheckOutput values. You can construct a concrete instance of `ServerGroupHealthCheckInput` via:

ServerGroupHealthCheckArgs{...}

type ServerGroupHealthCheckOutput

type ServerGroupHealthCheckOutput struct{ *pulumi.OutputState }

func (ServerGroupHealthCheckOutput) ElementType

func (ServerGroupHealthCheckOutput) HealthCheckConnectPort

func (o ServerGroupHealthCheckOutput) HealthCheckConnectPort() pulumi.IntPtrOutput

The port that you want to use for health checks on backend servers. Valid values: `0` to `65535`. Default value: `0`. If you set the value to 0, the port of the backend server is used for health checks.

func (ServerGroupHealthCheckOutput) HealthCheckConnectTimeout

func (o ServerGroupHealthCheckOutput) HealthCheckConnectTimeout() pulumi.IntPtrOutput

The maximum timeout period of a health check. Unit: seconds. Valid values: `1` to `300`. Default value: `5`.

func (ServerGroupHealthCheckOutput) HealthCheckDomain

func (o ServerGroupHealthCheckOutput) HealthCheckDomain() pulumi.StringPtrOutput

The domain name that you want to use for health checks. Valid values: - `$SERVER_IP`: the private IP address of a backend server.

func (ServerGroupHealthCheckOutput) HealthCheckEnabled

func (o ServerGroupHealthCheckOutput) HealthCheckEnabled() pulumi.BoolPtrOutput

Specifies whether to enable the health check feature. Valid values:

func (ServerGroupHealthCheckOutput) HealthCheckExp added in v3.75.0

health check response character string. The value contains a maximum of 512 characters

func (ServerGroupHealthCheckOutput) HealthCheckHttpCodes

func (o ServerGroupHealthCheckOutput) HealthCheckHttpCodes() pulumi.StringArrayOutput

The HTTP status codes to return for health checks. Separate multiple HTTP status codes with commas (,). Valid values: `http\_2xx` (default), `http\_3xx`, `http\_4xx`, and `http\_5xx`.

> **NOTE:** This parameter takes effect only when `HealthCheckType` is set to `HTTP`.

func (ServerGroupHealthCheckOutput) HealthCheckInterval

func (o ServerGroupHealthCheckOutput) HealthCheckInterval() pulumi.IntPtrOutput

The interval at which health checks are performed. Unit: seconds. Valid values: `5` to `50`. Default value: `10`.

func (ServerGroupHealthCheckOutput) HealthCheckReq added in v3.75.0

UDP healthy check request string, the value is a character string of 512 characters

func (ServerGroupHealthCheckOutput) HealthCheckType

The protocol that you want to use for health checks. Valid values: `TCP` (default) and `HTTP`.

func (ServerGroupHealthCheckOutput) HealthCheckUrl

The path to which health check requests are sent.

The path must be 1 to 80 characters in length, and can contain only letters, digits, and the following special characters: `- / . % ? # & =`. It can also contain the following extended characters: `_ ; ~ ! ( ) * [ ] @ $ ^ : ' , +`. The path must start with a forward slash (/).

> **NOTE:** This parameter takes effect only when `HealthCheckType` is set to `HTTP`.

func (ServerGroupHealthCheckOutput) HealthyThreshold

func (o ServerGroupHealthCheckOutput) HealthyThreshold() pulumi.IntPtrOutput

The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status changes from `fail` to `success`. Valid values: `2` to `10`. Default value: `2`.

func (ServerGroupHealthCheckOutput) HttpCheckMethod

The HTTP method that is used for health checks. Valid values: `GET` (default) and `HEAD`.

> **NOTE:** This parameter takes effect only when `HealthCheckType` is set to `HTTP`.

func (ServerGroupHealthCheckOutput) ToServerGroupHealthCheckOutput

func (o ServerGroupHealthCheckOutput) ToServerGroupHealthCheckOutput() ServerGroupHealthCheckOutput

func (ServerGroupHealthCheckOutput) ToServerGroupHealthCheckOutputWithContext

func (o ServerGroupHealthCheckOutput) ToServerGroupHealthCheckOutputWithContext(ctx context.Context) ServerGroupHealthCheckOutput

func (ServerGroupHealthCheckOutput) ToServerGroupHealthCheckPtrOutput

func (o ServerGroupHealthCheckOutput) ToServerGroupHealthCheckPtrOutput() ServerGroupHealthCheckPtrOutput

func (ServerGroupHealthCheckOutput) ToServerGroupHealthCheckPtrOutputWithContext

func (o ServerGroupHealthCheckOutput) ToServerGroupHealthCheckPtrOutputWithContext(ctx context.Context) ServerGroupHealthCheckPtrOutput

func (ServerGroupHealthCheckOutput) UnhealthyThreshold

func (o ServerGroupHealthCheckOutput) UnhealthyThreshold() pulumi.IntPtrOutput

The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status changes from `success` to `fail`. Valid values: `2` to `10`. Default value: `2`.

type ServerGroupHealthCheckPtrInput

type ServerGroupHealthCheckPtrInput interface {
	pulumi.Input

	ToServerGroupHealthCheckPtrOutput() ServerGroupHealthCheckPtrOutput
	ToServerGroupHealthCheckPtrOutputWithContext(context.Context) ServerGroupHealthCheckPtrOutput
}

ServerGroupHealthCheckPtrInput is an input type that accepts ServerGroupHealthCheckArgs, ServerGroupHealthCheckPtr and ServerGroupHealthCheckPtrOutput values. You can construct a concrete instance of `ServerGroupHealthCheckPtrInput` via:

        ServerGroupHealthCheckArgs{...}

or:

        nil

type ServerGroupHealthCheckPtrOutput

type ServerGroupHealthCheckPtrOutput struct{ *pulumi.OutputState }

func (ServerGroupHealthCheckPtrOutput) Elem

func (ServerGroupHealthCheckPtrOutput) ElementType

func (ServerGroupHealthCheckPtrOutput) HealthCheckConnectPort

func (o ServerGroupHealthCheckPtrOutput) HealthCheckConnectPort() pulumi.IntPtrOutput

The port that you want to use for health checks on backend servers. Valid values: `0` to `65535`. Default value: `0`. If you set the value to 0, the port of the backend server is used for health checks.

func (ServerGroupHealthCheckPtrOutput) HealthCheckConnectTimeout

func (o ServerGroupHealthCheckPtrOutput) HealthCheckConnectTimeout() pulumi.IntPtrOutput

The maximum timeout period of a health check. Unit: seconds. Valid values: `1` to `300`. Default value: `5`.

func (ServerGroupHealthCheckPtrOutput) HealthCheckDomain

The domain name that you want to use for health checks. Valid values: - `$SERVER_IP`: the private IP address of a backend server.

func (ServerGroupHealthCheckPtrOutput) HealthCheckEnabled

func (o ServerGroupHealthCheckPtrOutput) HealthCheckEnabled() pulumi.BoolPtrOutput

Specifies whether to enable the health check feature. Valid values:

func (ServerGroupHealthCheckPtrOutput) HealthCheckExp added in v3.75.0

health check response character string. The value contains a maximum of 512 characters

func (ServerGroupHealthCheckPtrOutput) HealthCheckHttpCodes

func (o ServerGroupHealthCheckPtrOutput) HealthCheckHttpCodes() pulumi.StringArrayOutput

The HTTP status codes to return for health checks. Separate multiple HTTP status codes with commas (,). Valid values: `http\_2xx` (default), `http\_3xx`, `http\_4xx`, and `http\_5xx`.

> **NOTE:** This parameter takes effect only when `HealthCheckType` is set to `HTTP`.

func (ServerGroupHealthCheckPtrOutput) HealthCheckInterval

func (o ServerGroupHealthCheckPtrOutput) HealthCheckInterval() pulumi.IntPtrOutput

The interval at which health checks are performed. Unit: seconds. Valid values: `5` to `50`. Default value: `10`.

func (ServerGroupHealthCheckPtrOutput) HealthCheckReq added in v3.75.0

UDP healthy check request string, the value is a character string of 512 characters

func (ServerGroupHealthCheckPtrOutput) HealthCheckType

The protocol that you want to use for health checks. Valid values: `TCP` (default) and `HTTP`.

func (ServerGroupHealthCheckPtrOutput) HealthCheckUrl

The path to which health check requests are sent.

The path must be 1 to 80 characters in length, and can contain only letters, digits, and the following special characters: `- / . % ? # & =`. It can also contain the following extended characters: `_ ; ~ ! ( ) * [ ] @ $ ^ : ' , +`. The path must start with a forward slash (/).

> **NOTE:** This parameter takes effect only when `HealthCheckType` is set to `HTTP`.

func (ServerGroupHealthCheckPtrOutput) HealthyThreshold

The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status changes from `fail` to `success`. Valid values: `2` to `10`. Default value: `2`.

func (ServerGroupHealthCheckPtrOutput) HttpCheckMethod

The HTTP method that is used for health checks. Valid values: `GET` (default) and `HEAD`.

> **NOTE:** This parameter takes effect only when `HealthCheckType` is set to `HTTP`.

func (ServerGroupHealthCheckPtrOutput) ToServerGroupHealthCheckPtrOutput

func (o ServerGroupHealthCheckPtrOutput) ToServerGroupHealthCheckPtrOutput() ServerGroupHealthCheckPtrOutput

func (ServerGroupHealthCheckPtrOutput) ToServerGroupHealthCheckPtrOutputWithContext

func (o ServerGroupHealthCheckPtrOutput) ToServerGroupHealthCheckPtrOutputWithContext(ctx context.Context) ServerGroupHealthCheckPtrOutput

func (ServerGroupHealthCheckPtrOutput) UnhealthyThreshold

func (o ServerGroupHealthCheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutput

The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status changes from `success` to `fail`. Valid values: `2` to `10`. Default value: `2`.

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

func (o ServerGroupOutput) AddressIpVersion() pulumi.StringOutput

The protocol version. Valid values:

func (ServerGroupOutput) AnyPortEnabled added in v3.47.0

func (o ServerGroupOutput) AnyPortEnabled() pulumi.BoolOutput

Specifies whether to enable all-port forwarding. Valid values:

func (ServerGroupOutput) ConnectionDrain deprecated

func (o ServerGroupOutput) ConnectionDrain() pulumi.BoolOutput

. Field 'connection_drain' has been deprecated from provider version 1.231.0. New field 'connection_drain_enabled' instead.

Deprecated: Field 'connection_drain' has been deprecated since provider version 1.214.0. New field 'connection_drain_enabled' instead.

func (ServerGroupOutput) ConnectionDrainEnabled added in v3.47.0

func (o ServerGroupOutput) ConnectionDrainEnabled() pulumi.BoolOutput

Specifies whether to enable connection draining. Valid values:

func (ServerGroupOutput) ConnectionDrainTimeout

func (o ServerGroupOutput) ConnectionDrainTimeout() pulumi.IntOutput

The timeout period of connection draining. Unit: seconds. Valid values: `10` to `900`.

func (ServerGroupOutput) ElementType

func (ServerGroupOutput) ElementType() reflect.Type

func (ServerGroupOutput) HealthCheck

Health check configuration information. See `healthCheck` below.

func (ServerGroupOutput) PreserveClientIpEnabled

func (o ServerGroupOutput) PreserveClientIpEnabled() pulumi.BoolOutput

Specifies whether to enable client IP preservation. Valid values:

func (ServerGroupOutput) Protocol

func (o ServerGroupOutput) Protocol() pulumi.StringOutput

The protocol used to forward requests to the backend servers. Valid values:

- `TCP` (default) - `UDP` - `TCPSSL`

func (ServerGroupOutput) RegionId added in v3.75.0

func (o ServerGroupOutput) RegionId() pulumi.StringOutput

The ID of the region where the NLB instance is deployed.

func (ServerGroupOutput) ResourceGroupId

func (o ServerGroupOutput) ResourceGroupId() pulumi.StringOutput

The ID of the new resource group. You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.

func (ServerGroupOutput) Scheduler

func (o ServerGroupOutput) Scheduler() pulumi.StringOutput

The scheduling algorithm. Valid values:

- **Wrr:** The weighted round-robin algorithm is used. Backend servers with higher weights receive more requests than backend servers with lower weights. This is the default value. - **rr:** The round-robin algorithm is used. Requests are forwarded to backend servers in sequence. - **sch:** Source IP hashing is used. Requests from the same source IP address are forwarded to the same backend server. - **tch:** Four-element hashing is used. It specifies consistent hashing that is based on four factors: source IP address, destination IP address, source port, and destination port. Requests that contain the same information based on the four factors are forwarded to the same backend server.

func (ServerGroupOutput) ServerGroupName

func (o ServerGroupOutput) ServerGroupName() pulumi.StringOutput

The new name of the server group. The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The name must start with a letter.

func (ServerGroupOutput) ServerGroupType

func (o ServerGroupOutput) ServerGroupType() pulumi.StringOutput

The type of server group. Valid values:

- `Instance`: allows you to add servers of the `Ecs`, `Eni`, or `Eci` type. This is the default value. - `Ip`: allows you to add servers by specifying IP addresses.

func (ServerGroupOutput) Status

Server group status. Value:

func (ServerGroupOutput) Tags

Label.

func (ServerGroupOutput) ToServerGroupOutput

func (o ServerGroupOutput) ToServerGroupOutput() ServerGroupOutput

func (ServerGroupOutput) ToServerGroupOutputWithContext

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

func (ServerGroupOutput) VpcId

The ID of the virtual private cloud (VPC) to which the server group belongs.

> **NOTE:** If `ServerGroupType` is set to `Instance`, only servers in the specified VPC can be added to the server group.

The following arguments will be discarded. Please use new fields as soon as possible:

type ServerGroupServerAttachment

type ServerGroupServerAttachment struct {
	pulumi.CustomResourceState

	// The description of the servers. The description must be 2 to 256 characters in length, and can contain letters, digits, commas (,), periods (.), semicolons (;), forward slashes (/), at signs (@), underscores (_), and hyphens (-).
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The port 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 server.
	// - If the server group type is Instance, set the ServerId parameter to the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. These backend servers are specified by Ecs, Eni, or Eci.
	// - If the server group type is Ip, set the ServerId parameter to an IP address.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// The IP address of the server. If the server group type is Ip, set the ServerId parameter to an IP address.
	ServerIp pulumi.StringOutput `pulumi:"serverIp"`
	// The type of the backend server. Valid values: `Ecs`, `Eni`, `Eci`, `Ip`.
	ServerType pulumi.StringOutput `pulumi:"serverType"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// The weight of the backend server. Valid values: 0 to 100. Default value: 100. If the weight of a backend server is set to 0, no requests are forwarded to the backend server.
	Weight pulumi.IntOutput `pulumi:"weight"`
	// The zoneId of the server.
	ZoneId pulumi.StringOutput `pulumi:"zoneId"`
}

Provides a NLB Server Group Server Attachment resource.

For information about NLB Server Group Server Attachment and how to use it, see [What is Server Group Server Attachment](https://www.alibabacloud.com/help/en/server-load-balancer/latest/addserverstoservergroup-nlb).

> **NOTE:** Available since v1.192.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultServerGroup, err := nlb.NewServerGroup(ctx, "default", &nlb.ServerGroupArgs{
			ResourceGroupId: pulumi.String(_default.Ids[0]),
			ServerGroupName: pulumi.String(name),
			ServerGroupType: pulumi.String("Ip"),
			VpcId:           defaultNetwork.ID(),
			Scheduler:       pulumi.String("Wrr"),
			Protocol:        pulumi.String("TCP"),
			HealthCheck: &nlb.ServerGroupHealthCheckArgs{
				HealthCheckEnabled: pulumi.Bool(false),
			},
			AddressIpVersion: pulumi.String("Ipv4"),
		})
		if err != nil {
			return err
		}
		_, err = nlb.NewServerGroupServerAttachment(ctx, "default", &nlb.ServerGroupServerAttachmentArgs{
			ServerType:    pulumi.String("Ip"),
			ServerId:      pulumi.String("10.0.0.0"),
			Description:   pulumi.String(name),
			Port:          pulumi.Int(80),
			ServerGroupId: defaultServerGroup.ID(),
			Weight:        pulumi.Int(100),
			ServerIp:      pulumi.String("10.0.0.0"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

NLB Server Group Server Attachment can be imported using the id, e.g.

```sh $ pulumi import alicloud:nlb/serverGroupServerAttachment:ServerGroupServerAttachment example <server_group_id>:<server_id>:<server_type>:<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 servers. The description must be 2 to 256 characters in length, and can contain letters, digits, commas (,), periods (.), semicolons (;), forward slashes (/), at signs (@), underscores (_), and hyphens (-).
	Description pulumi.StringPtrInput
	// The port used by the backend server. Valid values: 1 to 65535.
	Port pulumi.IntPtrInput
	// The ID of the server group.
	ServerGroupId pulumi.StringInput
	// The ID of the server.
	// - If the server group type is Instance, set the ServerId parameter to the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. These backend servers are specified by Ecs, Eni, or Eci.
	// - If the server group type is Ip, set the ServerId parameter to an IP address.
	ServerId pulumi.StringInput
	// The IP address of the server. If the server group type is Ip, set the ServerId parameter to an IP address.
	ServerIp pulumi.StringPtrInput
	// The type of the backend server. Valid values: `Ecs`, `Eni`, `Eci`, `Ip`.
	ServerType pulumi.StringInput
	// The weight of the backend server. Valid values: 0 to 100. Default value: 100. If the weight of a backend server 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 servers. The description must be 2 to 256 characters in length, and can contain letters, digits, commas (,), periods (.), semicolons (;), forward slashes (/), at signs (@), underscores (_), and hyphens (-).

func (ServerGroupServerAttachmentOutput) ElementType

func (ServerGroupServerAttachmentOutput) Port

The port 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 server. - If the server group type is Instance, set the ServerId parameter to the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. These backend servers are specified by Ecs, Eni, or Eci. - If the server group type is Ip, set the ServerId parameter to an IP address.

func (ServerGroupServerAttachmentOutput) ServerIp

The IP address of the server. If the server group type is Ip, set the ServerId parameter to an IP address.

func (ServerGroupServerAttachmentOutput) ServerType

The type of the backend server. Valid values: `Ecs`, `Eni`, `Eci`, `Ip`.

func (ServerGroupServerAttachmentOutput) Status

The status of the resource.

func (ServerGroupServerAttachmentOutput) ToServerGroupServerAttachmentOutput

func (o ServerGroupServerAttachmentOutput) ToServerGroupServerAttachmentOutput() ServerGroupServerAttachmentOutput

func (ServerGroupServerAttachmentOutput) ToServerGroupServerAttachmentOutputWithContext

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

func (ServerGroupServerAttachmentOutput) Weight

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

func (ServerGroupServerAttachmentOutput) ZoneId

The zoneId of the server.

type ServerGroupServerAttachmentState

type ServerGroupServerAttachmentState struct {
	// The description of the servers. The description must be 2 to 256 characters in length, and can contain letters, digits, commas (,), periods (.), semicolons (;), forward slashes (/), at signs (@), underscores (_), and hyphens (-).
	Description pulumi.StringPtrInput
	// The port 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 server.
	// - If the server group type is Instance, set the ServerId parameter to the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. These backend servers are specified by Ecs, Eni, or Eci.
	// - If the server group type is Ip, set the ServerId parameter to an IP address.
	ServerId pulumi.StringPtrInput
	// The IP address of the server. If the server group type is Ip, set the ServerId parameter to an IP address.
	ServerIp pulumi.StringPtrInput
	// The type of the backend server. Valid values: `Ecs`, `Eni`, `Eci`, `Ip`.
	ServerType pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// The weight of the backend server. Valid values: 0 to 100. Default value: 100. If the weight of a backend server is set to 0, no requests are forwarded to the backend server.
	Weight pulumi.IntPtrInput
	// The zoneId of the server.
	ZoneId pulumi.StringPtrInput
}

func (ServerGroupServerAttachmentState) ElementType

type ServerGroupState

type ServerGroupState struct {
	// The protocol version. Valid values:
	AddressIpVersion pulumi.StringPtrInput
	// Specifies whether to enable all-port forwarding. Valid values:
	AnyPortEnabled pulumi.BoolPtrInput
	// . Field 'connection_drain' has been deprecated from provider version 1.231.0. New field 'connection_drain_enabled' instead.
	//
	// Deprecated: Field 'connection_drain' has been deprecated since provider version 1.214.0. New field 'connection_drain_enabled' instead.
	ConnectionDrain pulumi.BoolPtrInput
	// Specifies whether to enable connection draining. Valid values:
	ConnectionDrainEnabled pulumi.BoolPtrInput
	// The timeout period of connection draining. Unit: seconds. Valid values: `10` to `900`.
	ConnectionDrainTimeout pulumi.IntPtrInput
	// Health check configuration information. See `healthCheck` below.
	HealthCheck ServerGroupHealthCheckPtrInput
	// Specifies whether to enable client IP preservation. Valid values:
	PreserveClientIpEnabled pulumi.BoolPtrInput
	// The protocol used to forward requests to the backend servers. Valid values:
	//
	// - `TCP` (default)
	// - `UDP`
	// - `TCPSSL`
	Protocol pulumi.StringPtrInput
	// The ID of the region where the NLB instance is deployed.
	RegionId pulumi.StringPtrInput
	// The ID of the new resource group.
	// You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.
	ResourceGroupId pulumi.StringPtrInput
	// The scheduling algorithm. Valid values:
	//
	// - **Wrr:** The weighted round-robin algorithm is used. Backend servers with higher weights receive more requests than backend servers with lower weights. This is the default value.
	// - **rr:** The round-robin algorithm is used. Requests are forwarded to backend servers in sequence.
	// - **sch:** Source IP hashing is used. Requests from the same source IP address are forwarded to the same backend server.
	// - **tch:** Four-element hashing is used. It specifies consistent hashing that is based on four factors: source IP address, destination IP address, source port, and destination port. Requests that contain the same information based on the four factors are forwarded to the same backend server.
	Scheduler pulumi.StringPtrInput
	// The new name of the server group.
	// The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The name must start with a letter.
	ServerGroupName pulumi.StringPtrInput
	// The type of server group. Valid values:
	//
	// - `Instance`: allows you to add servers of the `Ecs`, `Eni`, or `Eci` type. This is the default value.
	// - `Ip`: allows you to add servers by specifying IP addresses.
	ServerGroupType pulumi.StringPtrInput
	// Server group status. Value:
	Status pulumi.StringPtrInput
	// Label.
	Tags pulumi.StringMapInput
	// The ID of the virtual private cloud (VPC) to which the server group belongs.
	//
	// > **NOTE:**  If `ServerGroupType` is set to `Instance`, only servers in the specified VPC can be added to the server group.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VpcId pulumi.StringPtrInput
}

func (ServerGroupState) ElementType

func (ServerGroupState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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