nlb

package
v3.31.0 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2023 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"`
	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"`
	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"`
	ListenerProtocol *string                `pulumi:"listenerProtocol"`
	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 in v1.191.0+.

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

func (GetListenersResultOutput) Listeners

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.
	AddressIpVersion *string `pulumi:"addressIpVersion"`
	// The type of IPv4 address used by the NLB instance.
	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.
	Ipv6AddressType *string `pulumi:"ipv6AddressType"`
	// The business status of the NLB instance.
	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"`
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the resource group.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The status of the NLB instance.
	Status *string `pulumi:"status"`
	// The tag of the resource.
	Tags map[string]interface{} `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]interface{} `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.MapInput `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.
	AddressIpVersion pulumi.StringPtrInput `pulumi:"addressIpVersion"`
	// The type of IPv4 address used by the NLB instance.
	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.
	Ipv6AddressType pulumi.StringPtrInput `pulumi:"ipv6AddressType"`
	// The business status of the NLB instance.
	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"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The status of the NLB instance.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The tag of the resource.
	Tags pulumi.MapInput `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]interface{} `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"`
	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.
	Status *string `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `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"`
	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.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `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]interface{} `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.MapInput `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]interface{}      `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, nil, 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"`
	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.
	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.
	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.

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"`
	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 {
	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"`
	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 in 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

func (GetServerGroupServerAttachmentsResultOutput) ElementType

func (GetServerGroupServerAttachmentsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetServerGroupServerAttachmentsResultOutput) Ids

func (GetServerGroupServerAttachmentsResultOutput) OutputFile

func (GetServerGroupServerAttachmentsResultOutput) ServerGroupId

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"`
	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.
	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]interface{} `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]interface{} `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.MapInput `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"`
	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.
	ServerGroupType pulumi.StringPtrInput `pulumi:"serverGroupType"`
	// The status of the server group.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `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]interface{} `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, nil, 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 {
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

type GetZonesOutputArgs

type GetZonesOutputArgs struct {
	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, nil, 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).
	AlpnEnabled pulumi.BoolOutput `pulumi:"alpnEnabled"`
	// The ALPN policy.
	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.
	CaEnabled pulumi.BoolOutput `pulumi:"caEnabled"`
	// The list of server certificates. This parameter takes effect only for listeners that use SSL over TCP. **Note:** Only one server certificate is supported.
	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"`
	// Full port listening end port. Valid values: `0` ~ `65535`. The value of the end port is less than the start port.
	EndPort pulumi.IntPtrOutput `pulumi:"endPort"`
	// The timeout period of an idle connection. Unit: seconds. Valid values: `1` to `900`. Default value: `900`.
	IdleTimeout pulumi.IntOutput `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.StringPtrOutput `pulumi:"listenerDescription"`
	// 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.IntOutput `pulumi:"listenerPort"`
	// The listening protocol. Valid values: `TCP`, `UDP`, or `TCPSSL`.
	ListenerProtocol pulumi.StringOutput `pulumi:"listenerProtocol"`
	// The ID of the network-based server load balancer 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 listeners that use SSL over TCP.
	Mss pulumi.IntPtrOutput `pulumi:"mss"`
	// Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers.
	ProxyProtocolEnabled pulumi.BoolOutput `pulumi:"proxyProtocolEnabled"`
	// Specifies whether to enable fine-grained monitoring.
	SecSensorEnabled pulumi.BoolOutput `pulumi:"secSensorEnabled"`
	// The ID of the security policy. System security policies and custom security policies are supported. Valid values: `tlsCipherPolicy10` (default), `tls_cipher_policy_1_1,` `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`, and `tlsCipherPolicy12StrictWith13`.
	SecurityPolicyId pulumi.StringOutput `pulumi:"securityPolicyId"`
	// The ID of the server group.
	ServerGroupId pulumi.StringOutput `pulumi:"serverGroupId"`
	// Full Port listens to the starting port. Valid values: `0` ~ `65535`.
	StartPort pulumi.IntPtrOutput `pulumi:"startPort"`
	// The status of the resource. Valid values: `Running`, `Stopped`.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a NLB Listener resource.

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

> **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-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("default-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		defaultResourceGroups, err := resourcemanager.GetResourceGroups(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultServerGroup, err := nlb.NewServerGroup(ctx, "defaultServerGroup", &nlb.ServerGroupArgs{
			ResourceGroupId: *pulumi.String(defaultResourceGroups.Ids[0]),
			ServerGroupName: pulumi.Any(_var.Name),
			ServerGroupType: pulumi.String("Instance"),
			VpcId:           *pulumi.String(defaultNetworks.Ids[0]),
			Scheduler:       pulumi.String("Wrr"),
			Protocol:        pulumi.String("TCP"),
			HealthCheck: &nlb.ServerGroupHealthCheckArgs{
				HealthCheckUrl:            pulumi.String("/test/index.html"),
				HealthCheckDomain:         pulumi.String("tf-testAcc.com"),
				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"),
				},
			},
			ConnectionDrain:         pulumi.Bool(true),
			ConnectionDrainTimeout:  pulumi.Int(60),
			PreserveClientIpEnabled: pulumi.Bool(true),
			Tags: pulumi.AnyMap{
				"Created": pulumi.Any("TF"),
			},
			AddressIpVersion: pulumi.String("Ipv4"),
		})
		if err != nil {
			return err
		}
		defaultZones, err := nlb.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		default1, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId:  pulumi.StringRef(defaultNetworks.Ids[0]),
			ZoneId: pulumi.StringRef(defaultZones.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		default2, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId:  pulumi.StringRef(defaultNetworks.Ids[0]),
			ZoneId: pulumi.StringRef(defaultZones.Zones[1].Id),
		}, nil)
		if err != nil {
			return err
		}
		zoneId1 := defaultZones.Zones[0].Id
		vswitchId1 := default1.Ids[0]
		zoneId2 := defaultZones.Zones[1].Id
		vswitchId2 := default2.Ids[0]
		defaultLoadBalancer, err := nlb.NewLoadBalancer(ctx, "defaultLoadBalancer", &nlb.LoadBalancerArgs{
			LoadBalancerName: pulumi.Any(_var.Name),
			ResourceGroupId:  *pulumi.String(defaultResourceGroups.Ids[0]),
			LoadBalancerType: pulumi.String("Network"),
			AddressType:      pulumi.String("Internet"),
			AddressIpVersion: pulumi.String("Ipv4"),
			Tags: pulumi.AnyMap{
				"Created": pulumi.Any("tfTestAcc0"),
				"For":     pulumi.Any("Tftestacc 0"),
			},
			VpcId: *pulumi.String(defaultNetworks.Ids[0]),
			ZoneMappings: nlb.LoadBalancerZoneMappingArray{
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: *pulumi.String(vswitchId1),
					ZoneId:    *pulumi.String(zoneId1),
				},
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: *pulumi.String(vswitchId2),
					ZoneId:    *pulumi.String(zoneId2),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = nlb.NewListener(ctx, "defaultListener", &nlb.ListenerArgs{
			ListenerProtocol:     pulumi.String("TCP"),
			ListenerPort:         pulumi.Int(80),
			ListenerDescription:  pulumi.Any(_var.Name),
			LoadBalancerId:       defaultLoadBalancer.ID(),
			ServerGroupId:        defaultServerGroup.ID(),
			IdleTimeout:          pulumi.Int(900),
			ProxyProtocolEnabled: pulumi.Bool(true),
			SecSensorEnabled:     pulumi.Bool(true),
			Cps:                  pulumi.Int(10000),
			Mss:                  pulumi.Int(0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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 ListenerArgs

type ListenerArgs struct {
	// Specifies whether to enable Application-Layer Protocol Negotiation (ALPN).
	AlpnEnabled pulumi.BoolPtrInput
	// The ALPN policy.
	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.
	CaEnabled pulumi.BoolPtrInput
	// The list of server certificates. This parameter takes effect only for listeners that use SSL over TCP. **Note:** Only one server certificate is supported.
	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
	// Full port listening end port. Valid values: `0` ~ `65535`. The value of the end port is less than the start port.
	EndPort pulumi.IntPtrInput
	// The timeout period of an idle connection. Unit: seconds. Valid values: `1` to `900`. Default value: `900`.
	IdleTimeout pulumi.IntPtrInput
	// 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.StringPtrInput
	// 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
	// The listening protocol. Valid values: `TCP`, `UDP`, or `TCPSSL`.
	ListenerProtocol pulumi.StringInput
	// The ID of the network-based server load balancer 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 listeners that use SSL over TCP.
	Mss pulumi.IntPtrInput
	// Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers.
	ProxyProtocolEnabled pulumi.BoolPtrInput
	// Specifies whether to enable fine-grained monitoring.
	SecSensorEnabled pulumi.BoolPtrInput
	// The ID of the security policy. System security policies and custom security policies are supported. Valid values: `tlsCipherPolicy10` (default), `tls_cipher_policy_1_1,` `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`, and `tlsCipherPolicy12StrictWith13`.
	SecurityPolicyId pulumi.StringPtrInput
	// The ID of the server group.
	ServerGroupId pulumi.StringInput
	// Full Port listens to the starting port. Valid values: `0` ~ `65535`.
	StartPort pulumi.IntPtrInput
	// The status of the resource. Valid values: `Running`, `Stopped`.
	Status pulumi.StringPtrInput
}

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

func (ListenerOutput) AlpnPolicy

func (o ListenerOutput) AlpnPolicy() pulumi.StringPtrOutput

The ALPN policy.

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.

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:** Only one server certificate is supported.

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

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

func (ListenerOutput) IdleTimeout

func (o ListenerOutput) IdleTimeout() pulumi.IntOutput

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

func (ListenerOutput) ListenerDescription

func (o ListenerOutput) ListenerDescription() pulumi.StringPtrOutput

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

func (o ListenerOutput) 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 (ListenerOutput) ListenerProtocol

func (o ListenerOutput) ListenerProtocol() pulumi.StringOutput

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

func (ListenerOutput) LoadBalancerId

func (o ListenerOutput) LoadBalancerId() pulumi.StringOutput

The ID of the network-based server load balancer 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 listeners that use SSL over TCP.

func (ListenerOutput) ProxyProtocolEnabled

func (o ListenerOutput) ProxyProtocolEnabled() pulumi.BoolOutput

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

func (ListenerOutput) SecSensorEnabled

func (o ListenerOutput) SecSensorEnabled() pulumi.BoolOutput

Specifies whether to enable fine-grained monitoring.

func (ListenerOutput) SecurityPolicyId

func (o ListenerOutput) SecurityPolicyId() pulumi.StringOutput

The ID of the security policy. System security policies and custom security policies are supported. Valid values: `tlsCipherPolicy10` (default), `tls_cipher_policy_1_1,` `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`, and `tlsCipherPolicy12StrictWith13`.

func (ListenerOutput) ServerGroupId

func (o ListenerOutput) ServerGroupId() pulumi.StringOutput

The ID of the server group.

func (ListenerOutput) StartPort

func (o ListenerOutput) StartPort() pulumi.IntPtrOutput

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

func (ListenerOutput) Status

func (o ListenerOutput) Status() pulumi.StringOutput

The status of the resource. Valid values: `Running`, `Stopped`.

func (ListenerOutput) ToListenerOutput

func (o ListenerOutput) ToListenerOutput() ListenerOutput

func (ListenerOutput) ToListenerOutputWithContext

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

type ListenerState

type ListenerState struct {
	// Specifies whether to enable Application-Layer Protocol Negotiation (ALPN).
	AlpnEnabled pulumi.BoolPtrInput
	// The ALPN policy.
	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.
	CaEnabled pulumi.BoolPtrInput
	// The list of server certificates. This parameter takes effect only for listeners that use SSL over TCP. **Note:** Only one server certificate is supported.
	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
	// Full port listening end port. Valid values: `0` ~ `65535`. The value of the end port is less than the start port.
	EndPort pulumi.IntPtrInput
	// The timeout period of an idle connection. Unit: seconds. Valid values: `1` to `900`. Default value: `900`.
	IdleTimeout pulumi.IntPtrInput
	// 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.StringPtrInput
	// 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.IntPtrInput
	// The listening protocol. Valid values: `TCP`, `UDP`, or `TCPSSL`.
	ListenerProtocol pulumi.StringPtrInput
	// The ID of the network-based server load balancer 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 listeners that use SSL over TCP.
	Mss pulumi.IntPtrInput
	// Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers.
	ProxyProtocolEnabled pulumi.BoolPtrInput
	// Specifies whether to enable fine-grained monitoring.
	SecSensorEnabled pulumi.BoolPtrInput
	// The ID of the security policy. System security policies and custom security policies are supported. Valid values: `tlsCipherPolicy10` (default), `tls_cipher_policy_1_1,` `tlsCipherPolicy12`, `tlsCipherPolicy12Strict`, and `tlsCipherPolicy12StrictWith13`.
	SecurityPolicyId pulumi.StringPtrInput
	// The ID of the server group.
	ServerGroupId pulumi.StringPtrInput
	// Full Port listens to the starting port. Valid values: `0` ~ `65535`.
	StartPort pulumi.IntPtrInput
	// The status of the resource. Valid values: `Running`, `Stopped`.
	Status pulumi.StringPtrInput
}

func (ListenerState) ElementType

func (ListenerState) ElementType() reflect.Type

type LoadBalancer

type LoadBalancer struct {
	pulumi.CustomResourceState

	// The protocol version. Valid values:
	// - ipv4 (default): IPv4
	// - 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.
	AddressType pulumi.StringOutput `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.StringPtrOutput `pulumi:"bandwidthPackageId"`
	// The time when the resource was created. The time is displayed in UTC in `yyyy-MM-ddTHH:mm:ssZ` format.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Specifies whether to enable cross-zone load balancing for the NLB instance.
	CrossZoneEnabled pulumi.BoolOutput `pulumi:"crossZoneEnabled"`
	// The domain name of the NLB instance.
	DnsName pulumi.StringOutput `pulumi:"dnsName"`
	// The type of IPv6 address used by the NLB instance.
	Ipv6AddressType pulumi.StringOutput `pulumi:"ipv6AddressType"`
	// The business status of the NLB instance.
	LoadBalancerBusinessStatus pulumi.StringOutput `pulumi:"loadBalancerBusinessStatus"`
	// The name of the NLB instance. 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.
	LoadBalancerName pulumi.StringOutput `pulumi:"loadBalancerName"`
	// The type of the instance. Set the value to `Network`, which specifies an NLB instance.
	LoadBalancerType pulumi.StringOutput `pulumi:"loadBalancerType"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The status of the NLB instance.
	Status pulumi.StringOutput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `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 the following `Block zoneMappings`.
	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/createloadbalancer).

> **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-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultZones, err := nlb.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("default-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		defaultResourceGroups, err := resourcemanager.GetResourceGroups(ctx, nil, nil)
		if err != nil {
			return err
		}
		default1, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId:  pulumi.StringRef(defaultNetworks.Ids[0]),
			ZoneId: pulumi.StringRef(defaultZones.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		default2, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId:  pulumi.StringRef(defaultNetworks.Ids[0]),
			ZoneId: pulumi.StringRef(defaultZones.Zones[1].Id),
		}, nil)
		if err != nil {
			return err
		}
		zoneId1 := defaultZones.Zones[0].Id
		vswitchId1 := default1.Ids[0]
		zoneId2 := defaultZones.Zones[1].Id
		vswitchId2 := default2.Ids[0]
		_, err = nlb.NewLoadBalancer(ctx, "defaultLoadBalancer", &nlb.LoadBalancerArgs{
			LoadBalancerName: pulumi.Any(_var.Name),
			ResourceGroupId:  *pulumi.String(defaultResourceGroups.Ids[0]),
			LoadBalancerType: pulumi.String("Network"),
			AddressType:      pulumi.String("Internet"),
			AddressIpVersion: pulumi.String("Ipv4"),
			Tags: pulumi.AnyMap{
				"Created": pulumi.Any("tfTestAcc0"),
				"For":     pulumi.Any("Tftestacc 0"),
			},
			VpcId: *pulumi.String(defaultNetworks.Ids[0]),
			ZoneMappings: nlb.LoadBalancerZoneMappingArray{
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: *pulumi.String(vswitchId1),
					ZoneId:    *pulumi.String(zoneId1),
				},
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: *pulumi.String(vswitchId2),
					ZoneId:    *pulumi.String(zoneId2),
				},
			},
		})
		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 (default): IPv4
	// - 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.
	AddressType pulumi.StringInput
	// 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.StringPtrInput
	// Specifies whether to enable cross-zone load balancing for the NLB instance.
	CrossZoneEnabled pulumi.BoolPtrInput
	// The name of the NLB instance. 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.
	LoadBalancerName pulumi.StringPtrInput
	// The type of the instance. Set the value to `Network`, which specifies an NLB instance.
	LoadBalancerType pulumi.StringPtrInput
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// 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 the following `Block zoneMappings`.
	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 LoadBalancerInput

type LoadBalancerInput interface {
	pulumi.Input

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

type LoadBalancerMap

type LoadBalancerMap map[string]LoadBalancerInput

func (LoadBalancerMap) ElementType

func (LoadBalancerMap) ElementType() reflect.Type

func (LoadBalancerMap) ToLoadBalancerMapOutput

func (i LoadBalancerMap) ToLoadBalancerMapOutput() LoadBalancerMapOutput

func (LoadBalancerMap) ToLoadBalancerMapOutputWithContext

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

type LoadBalancerMapInput

type LoadBalancerMapInput interface {
	pulumi.Input

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

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

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

type LoadBalancerMapOutput

type LoadBalancerMapOutput struct{ *pulumi.OutputState }

func (LoadBalancerMapOutput) ElementType

func (LoadBalancerMapOutput) ElementType() reflect.Type

func (LoadBalancerMapOutput) MapIndex

func (LoadBalancerMapOutput) ToLoadBalancerMapOutput

func (o LoadBalancerMapOutput) ToLoadBalancerMapOutput() LoadBalancerMapOutput

func (LoadBalancerMapOutput) ToLoadBalancerMapOutputWithContext

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

type LoadBalancerOutput

type LoadBalancerOutput struct{ *pulumi.OutputState }

func (LoadBalancerOutput) AddressIpVersion

func (o LoadBalancerOutput) AddressIpVersion() pulumi.StringOutput

The protocol version. Valid values: - ipv4 (default): IPv4 - 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.

func (LoadBalancerOutput) BandwidthPackageId

func (o LoadBalancerOutput) BandwidthPackageId() pulumi.StringPtrOutput

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

func (LoadBalancerOutput) CreateTime

func (o LoadBalancerOutput) CreateTime() pulumi.StringOutput

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

func (LoadBalancerOutput) CrossZoneEnabled

func (o LoadBalancerOutput) CrossZoneEnabled() pulumi.BoolOutput

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

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.

func (LoadBalancerOutput) LoadBalancerBusinessStatus

func (o LoadBalancerOutput) LoadBalancerBusinessStatus() pulumi.StringOutput

The business status of the NLB instance.

func (LoadBalancerOutput) LoadBalancerName

func (o LoadBalancerOutput) LoadBalancerName() pulumi.StringOutput

The name of the NLB instance. 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 (LoadBalancerOutput) LoadBalancerType

func (o LoadBalancerOutput) LoadBalancerType() pulumi.StringOutput

The type of the instance. Set the value to `Network`, which specifies an NLB instance.

func (LoadBalancerOutput) ResourceGroupId

func (o LoadBalancerOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group.

func (LoadBalancerOutput) Status

The status of the NLB instance.

func (LoadBalancerOutput) Tags

A mapping of tags to assign to the resource.

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 the following `Block zoneMappings`.

type LoadBalancerSecurityGroupAttachment added in v3.31.0

type LoadBalancerSecurityGroupAttachment struct {
	pulumi.CustomResourceState

	// Whether to PreCheck this request only. Value:-**true**: sends a check request and does not bind a security group to the instance. Check items include whether required parameters, request format, and business restrictions have been filled in. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.-**false** (default): Sends a normal request, returns the HTTP 2xx status code after the check, and directly performs the operation.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The ID of the network-based server load balancer instance to be bound to the security group.
	LoadBalancerId pulumi.StringOutput `pulumi:"loadBalancerId"`
	// The ID of security groups.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
}

Provides a Nlb Load Balancer Security Group Attachment resource.

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 in v1.198.0+.

## Example Usage

Basic Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultZones, err := nlb.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef(fmt.Sprintf("^default-NODELETING$")),
		}, nil)
		if err != nil {
			return err
		}
		defaultResourceGroups, err := resourcemanager.GetResourceGroups(ctx, nil, nil)
		if err != nil {
			return err
		}
		default1, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId:  pulumi.StringRef(defaultNetworks.Ids[0]),
			ZoneId: pulumi.StringRef(defaultZones.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		default2, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId:  pulumi.StringRef(defaultNetworks.Ids[0]),
			ZoneId: pulumi.StringRef(defaultZones.Zones[1].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "defaultSecurityGroup", &ecs.SecurityGroupArgs{
			VpcId: *pulumi.String(defaultNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		zoneId1 := defaultZones.Zones[0].Id
		vswitchId1 := default1.Ids[0]
		zoneId2 := defaultZones.Zones[1].Id
		vswitchId2 := default2.Ids[0]
		defaultLoadBalancer, err := nlb.NewLoadBalancer(ctx, "defaultLoadBalancer", &nlb.LoadBalancerArgs{
			LoadBalancerName: pulumi.Any(_var.Name),
			ResourceGroupId:  *pulumi.String(defaultResourceGroups.Ids[0]),
			LoadBalancerType: pulumi.String("Network"),
			AddressType:      pulumi.String("Internet"),
			AddressIpVersion: pulumi.String("Ipv4"),
			VpcId:            *pulumi.String(defaultNetworks.Ids[0]),
			ZoneMappings: nlb.LoadBalancerZoneMappingArray{
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: *pulumi.String(vswitchId1),
					ZoneId:    *pulumi.String(zoneId1),
				},
				&nlb.LoadBalancerZoneMappingArgs{
					VswitchId: *pulumi.String(vswitchId2),
					ZoneId:    *pulumi.String(zoneId2),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = nlb.NewLoadBalancerSecurityGroupAttachment(ctx, "defaultLoadBalancerSecurityGroupAttachment", &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 <LoadBalancerId>:<SecurityGroupId>

```

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 {
	// Whether to PreCheck this request only. Value:-**true**: sends a check request and does not bind a security group to the instance. Check items include whether required parameters, request format, and business restrictions have been filled in. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.-**false** (default): Sends a normal request, returns the HTTP 2xx status code after the check, and directly performs the operation.
	DryRun pulumi.BoolPtrInput
	// The ID of the network-based server load balancer instance to be bound to the security group.
	LoadBalancerId pulumi.StringInput
	// The ID of security groups.
	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

Whether to PreCheck this request only. Value:-**true**: sends a check request and does not bind a security group to the instance. Check items include whether required parameters, request format, and business restrictions have been filled in. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.-**false** (default): Sends a normal request, returns the HTTP 2xx status code after the check, and directly performs the operation.

func (LoadBalancerSecurityGroupAttachmentOutput) ElementType added in v3.31.0

func (LoadBalancerSecurityGroupAttachmentOutput) LoadBalancerId added in v3.31.0

The ID of the network-based server load balancer instance to be bound to the security group.

func (LoadBalancerSecurityGroupAttachmentOutput) SecurityGroupId added in v3.31.0

The ID of security groups.

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 {
	// Whether to PreCheck this request only. Value:-**true**: sends a check request and does not bind a security group to the instance. Check items include whether required parameters, request format, and business restrictions have been filled in. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.-**false** (default): Sends a normal request, returns the HTTP 2xx status code after the check, and directly performs the operation.
	DryRun pulumi.BoolPtrInput
	// The ID of the network-based server load balancer instance to be bound to the security group.
	LoadBalancerId pulumi.StringPtrInput
	// The ID of security groups.
	SecurityGroupId pulumi.StringPtrInput
}

func (LoadBalancerSecurityGroupAttachmentState) ElementType added in v3.31.0

type LoadBalancerState

type LoadBalancerState struct {
	// The protocol version. Valid values:
	// - ipv4 (default): IPv4
	// - 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.
	AddressType pulumi.StringPtrInput
	// 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.StringPtrInput
	// The time when the resource was created. The time is displayed in UTC in `yyyy-MM-ddTHH:mm:ssZ` format.
	CreateTime pulumi.StringPtrInput
	// Specifies whether to enable cross-zone load balancing for the NLB instance.
	CrossZoneEnabled pulumi.BoolPtrInput
	// The domain name of the NLB instance.
	DnsName pulumi.StringPtrInput
	// The type of IPv6 address used by the NLB instance.
	Ipv6AddressType pulumi.StringPtrInput
	// The business status of the NLB instance.
	LoadBalancerBusinessStatus pulumi.StringPtrInput
	// The name of the NLB instance. 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.
	LoadBalancerName pulumi.StringPtrInput
	// The type of the instance. Set the value to `Network`, which specifies an NLB instance.
	LoadBalancerType pulumi.StringPtrInput
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The status of the NLB instance.
	Status pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// 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 the following `Block zoneMappings`.
	ZoneMappings LoadBalancerZoneMappingArrayInput
}

func (LoadBalancerState) ElementType

func (LoadBalancerState) ElementType() reflect.Type

type LoadBalancerZoneMapping

type LoadBalancerZoneMapping struct {
	// The ID of the EIP associated with the Internet-facing NLB instance.
	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 IPv4 address of the NLB instance.
	PrivateIpv4Address *string `pulumi:"privateIpv4Address"`
	// The public IPv4 address of the NLB instance.
	PublicIpv4Address *string `pulumi:"publicIpv4Address"`
	// The vSwitch in the zone. You can specify only one vSwitch (subnet) in each zone of an NLB instance.
	VswitchId string `pulumi:"vswitchId"`
	// The ID of the zone of the NLB instance.
	ZoneId string `pulumi:"zoneId"`
}

type LoadBalancerZoneMappingArgs

type LoadBalancerZoneMappingArgs struct {
	// The ID of the EIP associated with the Internet-facing NLB instance.
	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 IPv4 address of the NLB instance.
	PrivateIpv4Address pulumi.StringPtrInput `pulumi:"privateIpv4Address"`
	// The public IPv4 address of the NLB instance.
	PublicIpv4Address pulumi.StringPtrInput `pulumi:"publicIpv4Address"`
	// The vSwitch in the zone. You can specify only one vSwitch (subnet) in each zone of an NLB instance.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
	// The ID of the zone of the NLB instance.
	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 EIP associated with the Internet-facing NLB instance.

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 IPv4 address of the NLB instance.

func (LoadBalancerZoneMappingOutput) PublicIpv4Address

The public IPv4 address of the NLB instance.

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.

func (LoadBalancerZoneMappingOutput) ZoneId

The ID of the zone of the NLB instance.

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 resource group.
	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"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `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 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 {
		_, err := nlb.NewSecurityPolicy(ctx, "example", &nlb.SecurityPolicyArgs{
			Ciphers: pulumi.StringArray{
				pulumi.String("example_value"),
			},
			SecurityPolicyName: pulumi.String("example_value"),
			TlsVersions: pulumi.StringArray{
				pulumi.String("example_value"),
			},
		})
		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 resource group.
	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
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// 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 resource group.

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

A mapping of tags to assign to 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 resource group.
	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
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// 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: `Ipv4` (default), `DualStack`.
	AddressIpVersion pulumi.StringOutput `pulumi:"addressIpVersion"`
	// Specifies whether to enable connection draining.
	ConnectionDrain pulumi.BoolOutput `pulumi:"connectionDrain"`
	// The timeout period of connection draining. Unit: seconds. Valid values: 10 to 900.
	ConnectionDrainTimeout pulumi.IntOutput `pulumi:"connectionDrainTimeout"`
	// HealthCheck. See the following `Block healthCheck`.
	HealthCheck ServerGroupHealthCheckOutput `pulumi:"healthCheck"`
	// Indicates whether client address retention is enabled.
	PreserveClientIpEnabled pulumi.BoolOutput `pulumi:"preserveClientIpEnabled"`
	// The backend protocol. Valid values: `TCP` (default), `UDP`, and `TCPSSL`.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// The ID of the resource group to which the security group belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The routing algorithm. Valid values:
	Scheduler pulumi.StringOutput `pulumi:"scheduler"`
	// The 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 the server group. Valid values:
	ServerGroupType pulumi.StringOutput `pulumi:"serverGroupType"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The id of the vpc.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a NLB Server Group resource.

For information about 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 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-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultResourceGroups, err := resourcemanager.GetResourceGroups(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("default-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = nlb.NewServerGroup(ctx, "defaultServerGroup", &nlb.ServerGroupArgs{
			ResourceGroupId: *pulumi.String(defaultResourceGroups.Ids[0]),
			ServerGroupName: pulumi.Any(_var.Name),
			ServerGroupType: pulumi.String("Instance"),
			VpcId:           *pulumi.String(defaultNetworks.Ids[0]),
			Scheduler:       pulumi.String("Wrr"),
			Protocol:        pulumi.String("TCP"),
			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"),
				},
			},
			ConnectionDrain:        pulumi.Bool(true),
			ConnectionDrainTimeout: pulumi.Int(60),
			Tags: pulumi.AnyMap{
				"Created": pulumi.Any("TF"),
			},
			AddressIpVersion: pulumi.String("Ipv4"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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: `Ipv4` (default), `DualStack`.
	AddressIpVersion pulumi.StringPtrInput
	// Specifies whether to enable connection draining.
	ConnectionDrain pulumi.BoolPtrInput
	// The timeout period of connection draining. Unit: seconds. Valid values: 10 to 900.
	ConnectionDrainTimeout pulumi.IntPtrInput
	// HealthCheck. See the following `Block healthCheck`.
	HealthCheck ServerGroupHealthCheckInput
	// Indicates whether client address retention is enabled.
	PreserveClientIpEnabled pulumi.BoolPtrInput
	// The backend protocol. Valid values: `TCP` (default), `UDP`, and `TCPSSL`.
	Protocol pulumi.StringPtrInput
	// The ID of the resource group to which the security group belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The routing algorithm. Valid values:
	Scheduler pulumi.StringPtrInput
	// The 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 the server group. Valid values:
	ServerGroupType pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The id of the vpc.
	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 backend port that is used for health checks. Valid values: 0 to 65535. Default value: 0. If you set the value to 0, the port of a backend server is used for health checks.
	HealthCheckConnectPort *int `pulumi:"healthCheckConnectPort"`
	// The maximum timeout period of a health check response. Unit: seconds. Valid values: 1 to 300. Default value: 5.
	HealthCheckConnectTimeout *int `pulumi:"healthCheckConnectTimeout"`
	// The domain name that is used for health checks. Valid values:
	// - `$SERVER_IP`: the private IP address of a backend server.
	HealthCheckDomain *string `pulumi:"healthCheckDomain"`
	// Specifies whether to enable health checks.
	HealthCheckEnabled *bool `pulumi:"healthCheckEnabled"`
	// The HTTP status codes to return to health checks. Separate multiple HTTP status codes with commas (,). Valid values: http2xx (default), http_3xx, http_4xx, and http_5xx. **Note:** This parameter takes effect only if `healthCheckType` is set to `http`.
	HealthCheckHttpCodes []string `pulumi:"healthCheckHttpCodes"`
	// The interval between two consecutive health checks. Unit: seconds. Valid values: 5 to 5000. Default value: 10.
	HealthCheckInterval *int `pulumi:"healthCheckInterval"`
	// The protocol that is used 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 if `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 is changed 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` and `HEAD`. **Note:** This parameter takes effect only if `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 is changed from success to fail. Valid values: 2 to 10. Default value: 2.
	UnhealthyThreshold *int `pulumi:"unhealthyThreshold"`
}

type ServerGroupHealthCheckArgs

type ServerGroupHealthCheckArgs struct {
	// The backend port that is used for health checks. Valid values: 0 to 65535. Default value: 0. If you set the value to 0, the port of a backend server is used for health checks.
	HealthCheckConnectPort pulumi.IntPtrInput `pulumi:"healthCheckConnectPort"`
	// The maximum timeout period of a health check response. Unit: seconds. Valid values: 1 to 300. Default value: 5.
	HealthCheckConnectTimeout pulumi.IntPtrInput `pulumi:"healthCheckConnectTimeout"`
	// The domain name that is used for health checks. Valid values:
	// - `$SERVER_IP`: the private IP address of a backend server.
	HealthCheckDomain pulumi.StringPtrInput `pulumi:"healthCheckDomain"`
	// Specifies whether to enable health checks.
	HealthCheckEnabled pulumi.BoolPtrInput `pulumi:"healthCheckEnabled"`
	// The HTTP status codes to return to health checks. Separate multiple HTTP status codes with commas (,). Valid values: http2xx (default), http_3xx, http_4xx, and http_5xx. **Note:** This parameter takes effect only if `healthCheckType` is set to `http`.
	HealthCheckHttpCodes pulumi.StringArrayInput `pulumi:"healthCheckHttpCodes"`
	// The interval between two consecutive health checks. Unit: seconds. Valid values: 5 to 5000. Default value: 10.
	HealthCheckInterval pulumi.IntPtrInput `pulumi:"healthCheckInterval"`
	// The protocol that is used 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 if `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 is changed 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` and `HEAD`. **Note:** This parameter takes effect only if `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 is changed 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 backend port that is used for health checks. Valid values: 0 to 65535. Default value: 0. If you set the value to 0, the port of a backend server is used for health checks.

func (ServerGroupHealthCheckOutput) HealthCheckConnectTimeout

func (o ServerGroupHealthCheckOutput) HealthCheckConnectTimeout() pulumi.IntPtrOutput

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

func (ServerGroupHealthCheckOutput) HealthCheckDomain

func (o ServerGroupHealthCheckOutput) HealthCheckDomain() pulumi.StringPtrOutput

The domain name that is used 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 health checks.

func (ServerGroupHealthCheckOutput) HealthCheckHttpCodes

func (o ServerGroupHealthCheckOutput) HealthCheckHttpCodes() pulumi.StringArrayOutput

The HTTP status codes to return to health checks. Separate multiple HTTP status codes with commas (,). Valid values: http2xx (default), http_3xx, http_4xx, and http_5xx. **Note:** This parameter takes effect only if `healthCheckType` is set to `http`.

func (ServerGroupHealthCheckOutput) HealthCheckInterval

func (o ServerGroupHealthCheckOutput) HealthCheckInterval() pulumi.IntPtrOutput

The interval between two consecutive health checks. Unit: seconds. Valid values: 5 to 5000. Default value: 10.

func (ServerGroupHealthCheckOutput) HealthCheckType

The protocol that is used 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 if `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 is changed 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` and `HEAD`. **Note:** This parameter takes effect only if `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 is changed 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 backend port that is used for health checks. Valid values: 0 to 65535. Default value: 0. If you set the value to 0, the port of a backend server is used for health checks.

func (ServerGroupHealthCheckPtrOutput) HealthCheckConnectTimeout

func (o ServerGroupHealthCheckPtrOutput) HealthCheckConnectTimeout() pulumi.IntPtrOutput

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

func (ServerGroupHealthCheckPtrOutput) HealthCheckDomain

The domain name that is used 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 health checks.

func (ServerGroupHealthCheckPtrOutput) HealthCheckHttpCodes

func (o ServerGroupHealthCheckPtrOutput) HealthCheckHttpCodes() pulumi.StringArrayOutput

The HTTP status codes to return to health checks. Separate multiple HTTP status codes with commas (,). Valid values: http2xx (default), http_3xx, http_4xx, and http_5xx. **Note:** This parameter takes effect only if `healthCheckType` is set to `http`.

func (ServerGroupHealthCheckPtrOutput) HealthCheckInterval

func (o ServerGroupHealthCheckPtrOutput) HealthCheckInterval() pulumi.IntPtrOutput

The interval between two consecutive health checks. Unit: seconds. Valid values: 5 to 5000. Default value: 10.

func (ServerGroupHealthCheckPtrOutput) HealthCheckType

The protocol that is used 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 if `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 is changed 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` and `HEAD`. **Note:** This parameter takes effect only if `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 is changed 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: `Ipv4` (default), `DualStack`.

func (ServerGroupOutput) ConnectionDrain

func (o ServerGroupOutput) ConnectionDrain() pulumi.BoolOutput

Specifies whether to enable connection draining.

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

HealthCheck. See the following `Block healthCheck`.

func (ServerGroupOutput) PreserveClientIpEnabled

func (o ServerGroupOutput) PreserveClientIpEnabled() pulumi.BoolOutput

Indicates whether client address retention is enabled.

func (ServerGroupOutput) Protocol

func (o ServerGroupOutput) Protocol() pulumi.StringOutput

The backend protocol. Valid values: `TCP` (default), `UDP`, and `TCPSSL`.

func (ServerGroupOutput) ResourceGroupId

func (o ServerGroupOutput) ResourceGroupId() pulumi.StringOutput

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

func (ServerGroupOutput) Scheduler

func (o ServerGroupOutput) Scheduler() pulumi.StringOutput

The routing algorithm. Valid values:

func (ServerGroupOutput) ServerGroupName

func (o ServerGroupOutput) ServerGroupName() pulumi.StringOutput

The 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 the server group. Valid values:

func (ServerGroupOutput) Status

The status of the resource.

func (ServerGroupOutput) Tags

A mapping of tags to assign to the resource.

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

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"`
	// Status of the server.
	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 in 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"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("default-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		defaultResourceGroups, err := resourcemanager.GetResourceGroups(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultServerGroup, err := nlb.NewServerGroup(ctx, "defaultServerGroup", &nlb.ServerGroupArgs{
			ResourceGroupId: *pulumi.String(defaultResourceGroups.Ids[0]),
			ServerGroupName: pulumi.Any(_var.Name),
			ServerGroupType: pulumi.String("Ip"),
			VpcId:           *pulumi.String(defaultNetworks.Ids[0]),
			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, "defaultServerGroupServerAttachment", &nlb.ServerGroupServerAttachmentArgs{
			ServerType:    pulumi.String("Ip"),
			ServerId:      pulumi.String("10.0.0.0"),
			Description:   pulumi.Any(_var.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.IntInput
	// 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

Status of the server.

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
	// Status of the server.
	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: `Ipv4` (default), `DualStack`.
	AddressIpVersion pulumi.StringPtrInput
	// Specifies whether to enable connection draining.
	ConnectionDrain pulumi.BoolPtrInput
	// The timeout period of connection draining. Unit: seconds. Valid values: 10 to 900.
	ConnectionDrainTimeout pulumi.IntPtrInput
	// HealthCheck. See the following `Block healthCheck`.
	HealthCheck ServerGroupHealthCheckPtrInput
	// Indicates whether client address retention is enabled.
	PreserveClientIpEnabled pulumi.BoolPtrInput
	// The backend protocol. Valid values: `TCP` (default), `UDP`, and `TCPSSL`.
	Protocol pulumi.StringPtrInput
	// The ID of the resource group to which the security group belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The routing algorithm. Valid values:
	Scheduler pulumi.StringPtrInput
	// The 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 the server group. Valid values:
	ServerGroupType pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The id of the vpc.
	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