nlb

package
v3.55.0 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GetListenersArgs

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

A collection of arguments for invoking getListeners.

type GetListenersListener

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

type GetListenersListenerArgs

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

func (GetListenersListenerArgs) ElementType

func (GetListenersListenerArgs) ElementType() reflect.Type

func (GetListenersListenerArgs) ToGetListenersListenerOutput

func (i GetListenersListenerArgs) ToGetListenersListenerOutput() GetListenersListenerOutput

func (GetListenersListenerArgs) ToGetListenersListenerOutputWithContext

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

type GetListenersListenerArray

type GetListenersListenerArray []GetListenersListenerInput

func (GetListenersListenerArray) ElementType

func (GetListenersListenerArray) ElementType() reflect.Type

func (GetListenersListenerArray) ToGetListenersListenerArrayOutput

func (i GetListenersListenerArray) ToGetListenersListenerArrayOutput() GetListenersListenerArrayOutput

func (GetListenersListenerArray) ToGetListenersListenerArrayOutputWithContext

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

type GetListenersListenerArrayInput

type GetListenersListenerArrayInput interface {
	pulumi.Input

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

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

GetListenersListenerArray{ GetListenersListenerArgs{...} }

type GetListenersListenerArrayOutput

type GetListenersListenerArrayOutput struct{ *pulumi.OutputState }

func (GetListenersListenerArrayOutput) ElementType

func (GetListenersListenerArrayOutput) Index

func (GetListenersListenerArrayOutput) ToGetListenersListenerArrayOutput

func (o GetListenersListenerArrayOutput) ToGetListenersListenerArrayOutput() GetListenersListenerArrayOutput

func (GetListenersListenerArrayOutput) ToGetListenersListenerArrayOutputWithContext

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

type GetListenersListenerInput

type GetListenersListenerInput interface {
	pulumi.Input

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

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

GetListenersListenerArgs{...}

type GetListenersListenerOutput

type GetListenersListenerOutput struct{ *pulumi.OutputState }

func (GetListenersListenerOutput) AlpnEnabled

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

func (GetListenersListenerOutput) AlpnPolicy

The ALPN policy.

func (GetListenersListenerOutput) CaCertificateIds

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

func (GetListenersListenerOutput) CaEnabled

Whether to start two-way authentication.

func (GetListenersListenerOutput) CertificateIds

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

func (GetListenersListenerOutput) Cps

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

func (GetListenersListenerOutput) ElementType

func (GetListenersListenerOutput) ElementType() reflect.Type

func (GetListenersListenerOutput) EndPort

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

func (GetListenersListenerOutput) Id

The ID of the Nlb Listener.

func (GetListenersListenerOutput) IdleTimeout

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

func (GetListenersListenerOutput) ListenerDescription

func (o GetListenersListenerOutput) ListenerDescription() pulumi.StringOutput

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

func (GetListenersListenerOutput) ListenerId

The ID of the listener.

func (GetListenersListenerOutput) ListenerPort

func (o GetListenersListenerOutput) ListenerPort() pulumi.IntOutput

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

func (GetListenersListenerOutput) ListenerProtocol

func (o GetListenersListenerOutput) ListenerProtocol() pulumi.StringOutput

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

func (GetListenersListenerOutput) LoadBalancerId

func (o GetListenersListenerOutput) LoadBalancerId() pulumi.StringOutput

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

func (GetListenersListenerOutput) Mss

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

func (GetListenersListenerOutput) ProxyProtocolEnabled

func (o GetListenersListenerOutput) ProxyProtocolEnabled() pulumi.BoolOutput

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

func (GetListenersListenerOutput) SecSensorEnabled

func (o GetListenersListenerOutput) SecSensorEnabled() pulumi.BoolOutput

Indicates whether fine-grained monitoring is enabled.

func (GetListenersListenerOutput) SecurityPolicyId

func (o GetListenersListenerOutput) SecurityPolicyId() pulumi.StringOutput

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

func (GetListenersListenerOutput) ServerGroupId

The ID of the server group.

func (GetListenersListenerOutput) StartPort

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

func (GetListenersListenerOutput) Status

The status of the resource.

func (GetListenersListenerOutput) ToGetListenersListenerOutput

func (o GetListenersListenerOutput) ToGetListenersListenerOutput() GetListenersListenerOutput

func (GetListenersListenerOutput) ToGetListenersListenerOutputWithContext

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

type GetListenersOutputArgs

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

A collection of arguments for invoking getListeners.

func (GetListenersOutputArgs) ElementType

func (GetListenersOutputArgs) ElementType() reflect.Type

type GetListenersResult

type GetListenersResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id               string                 `pulumi:"id"`
	Ids              []string               `pulumi:"ids"`
	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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the resource group.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The status of the NLB instance.
	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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The status of the NLB instance.
	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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the resource group.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The names of the TLS security policies.
	SecurityPolicyNames []string `pulumi:"securityPolicyNames"`
	// The status of the resource.
	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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The names of the TLS security policies.
	SecurityPolicyNames pulumi.StringArrayInput `pulumi:"securityPolicyNames"`
	// The status of the resource.
	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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the server group.
	ServerGroupId *string `pulumi:"serverGroupId"`
	// The IDs of the servers. You can specify at most 40 server IDs in each call.
	ServerIds []string `pulumi:"serverIds"`
	// The IP addresses of the servers. You can specify at most 40 server IP addresses in each call.
	ServerIps []string `pulumi:"serverIps"`
}

A collection of arguments for invoking getServerGroupServerAttachments.

type GetServerGroupServerAttachmentsAttachment

type GetServerGroupServerAttachmentsAttachment struct {
	// The description of the backend server.
	Description string `pulumi:"description"`
	// The ID of the server group.
	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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the server group.
	ServerGroupId pulumi.StringPtrInput `pulumi:"serverGroupId"`
	// The IDs of the servers. You can specify at most 40 server IDs in each call.
	ServerIds pulumi.StringArrayInput `pulumi:"serverIds"`
	// The IP addresses of the servers. You can specify at most 40 server IP addresses in each call.
	ServerIps pulumi.StringArrayInput `pulumi:"serverIps"`
}

A collection of arguments for invoking getServerGroupServerAttachments.

func (GetServerGroupServerAttachmentsOutputArgs) ElementType

type GetServerGroupServerAttachmentsResult

type GetServerGroupServerAttachmentsResult struct {
	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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the resource group to which the security group belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The names of the server groups to be queried.
	ServerGroupNames []string `pulumi:"serverGroupNames"`
	// The type of the server group.
	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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the resource group to which the security group belongs.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The names of the server groups to be queried.
	ServerGroupNames pulumi.StringArrayInput `pulumi:"serverGroupNames"`
	// The type of the server group.
	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 {
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

type GetZonesOutputArgs

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

A collection of arguments for invoking getZones.

func (GetZonesOutputArgs) ElementType

func (GetZonesOutputArgs) ElementType() reflect.Type

type GetZonesResult

type GetZonesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id         string         `pulumi:"id"`
	Ids        []string       `pulumi:"ids"`
	OutputFile *string        `pulumi:"outputFile"`
	Zones      []GetZonesZone `pulumi:"zones"`
}

A collection of values returned by getZones.

func GetZones

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

This data source provides the available zones with the Network Load Balancer (NLB) Instance of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := nlb.GetZones(ctx, 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

	// Whether ALPN is turned on. Value:
	// - **true**: on.
	// - **false**: closed.
	AlpnEnabled pulumi.BoolOutput `pulumi:"alpnEnabled"`
	// ALPN policy. Value:
	// - **HTTP1Only**
	// - **HTTP2Only**
	// - **HTTP2Preferred**
	// - **HTTP2Optional**.
	AlpnPolicy pulumi.StringPtrOutput `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.StringArrayOutput `pulumi:"caCertificateIds"`
	// Whether to start two-way authentication. Value:
	// - **true**: start.
	// - **false**: closed.
	CaEnabled pulumi.BoolOutput `pulumi:"caEnabled"`
	// Server certificate list information. Currently, only one server certificate can be added.
	// > **NOTE:**  This parameter only takes effect for TCPSSL listeners.
	CertificateIds pulumi.StringArrayOutput `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.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"`
	// Connection idle timeout time. Unit: seconds. Valid values: **1** ~ **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 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.
	// > **NOTE:**  only TCP and TCPSSL listeners support this field value.
	Mss pulumi.IntPtrOutput `pulumi:"mss"`
	// Whether to enable the Proxy Protocol to carry the source address of the client to the backend server. Value:
	// - **true**: on.
	// - **false**: closed.
	ProxyProtocolEnabled pulumi.BoolOutput `pulumi:"proxyProtocolEnabled"`
	// Whether to turn on the second-level monitoring function. Value:
	// - **true**: on.
	// - **false**: closed.
	SecSensorEnabled pulumi.BoolOutput `pulumi:"secSensorEnabled"`
	// Security policy ID. Support system security policies and custom security policies. Valid values: **tls_cipher_policy_1_0**, **tls_cipher_policy_1_1**, **tls_cipher_policy_1_2**, **tls_cipher_policy_1_2_strict**, or **tls_cipher_policy_1_2_strict_with_1_3**.
	// > **NOTE:**  This parameter only takes effect for TCPSSL listeners.
	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.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tag of the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

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/api-nlb-2022-04-30-createlistener).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

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

```

## Import

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

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

func GetListener

func GetListener(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ListenerState, opts ...pulumi.ResourceOption) (*Listener, error)

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

func NewListener

func NewListener(ctx *pulumi.Context,
	name string, args *ListenerArgs, opts ...pulumi.ResourceOption) (*Listener, error)

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

func (*Listener) ElementType

func (*Listener) ElementType() reflect.Type

func (*Listener) ToListenerOutput

func (i *Listener) ToListenerOutput() ListenerOutput

func (*Listener) ToListenerOutputWithContext

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

type ListenerAdditionalCertificateAttachment added in v3.43.0

type ListenerAdditionalCertificateAttachment struct {
	pulumi.CustomResourceState

	// Certificate ID. Currently, only server certificates are supported.
	CertificateId pulumi.StringOutput `pulumi:"certificateId"`
	// Whether to PreCheck only this request, value: - **true**: sends a check request and does not create a resource. 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 tcpssl listener.
	ListenerId pulumi.StringOutput `pulumi:"listenerId"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a NLB Listener Additional Certificate Attachment resource.

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

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

## Import

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

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

func GetListenerAdditionalCertificateAttachment added in v3.43.0

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

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

func NewListenerAdditionalCertificateAttachment added in v3.43.0

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

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

func (*ListenerAdditionalCertificateAttachment) ElementType added in v3.43.0

func (*ListenerAdditionalCertificateAttachment) ToListenerAdditionalCertificateAttachmentOutput added in v3.43.0

func (i *ListenerAdditionalCertificateAttachment) ToListenerAdditionalCertificateAttachmentOutput() ListenerAdditionalCertificateAttachmentOutput

func (*ListenerAdditionalCertificateAttachment) ToListenerAdditionalCertificateAttachmentOutputWithContext added in v3.43.0

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

type ListenerAdditionalCertificateAttachmentArgs added in v3.43.0

type ListenerAdditionalCertificateAttachmentArgs struct {
	// Certificate ID. Currently, only server certificates are supported.
	CertificateId pulumi.StringInput
	// Whether to PreCheck only this request, value: - **true**: sends a check request and does not create a resource. 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 tcpssl listener.
	ListenerId pulumi.StringInput
}

The set of arguments for constructing a ListenerAdditionalCertificateAttachment resource.

func (ListenerAdditionalCertificateAttachmentArgs) ElementType added in v3.43.0

type ListenerAdditionalCertificateAttachmentArray added in v3.43.0

type ListenerAdditionalCertificateAttachmentArray []ListenerAdditionalCertificateAttachmentInput

func (ListenerAdditionalCertificateAttachmentArray) ElementType added in v3.43.0

func (ListenerAdditionalCertificateAttachmentArray) ToListenerAdditionalCertificateAttachmentArrayOutput added in v3.43.0

func (i ListenerAdditionalCertificateAttachmentArray) ToListenerAdditionalCertificateAttachmentArrayOutput() ListenerAdditionalCertificateAttachmentArrayOutput

func (ListenerAdditionalCertificateAttachmentArray) ToListenerAdditionalCertificateAttachmentArrayOutputWithContext added in v3.43.0

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

type ListenerAdditionalCertificateAttachmentArrayInput added in v3.43.0

type ListenerAdditionalCertificateAttachmentArrayInput interface {
	pulumi.Input

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

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

ListenerAdditionalCertificateAttachmentArray{ ListenerAdditionalCertificateAttachmentArgs{...} }

type ListenerAdditionalCertificateAttachmentArrayOutput added in v3.43.0

type ListenerAdditionalCertificateAttachmentArrayOutput struct{ *pulumi.OutputState }

func (ListenerAdditionalCertificateAttachmentArrayOutput) ElementType added in v3.43.0

func (ListenerAdditionalCertificateAttachmentArrayOutput) Index added in v3.43.0

func (ListenerAdditionalCertificateAttachmentArrayOutput) ToListenerAdditionalCertificateAttachmentArrayOutput added in v3.43.0

func (o ListenerAdditionalCertificateAttachmentArrayOutput) ToListenerAdditionalCertificateAttachmentArrayOutput() ListenerAdditionalCertificateAttachmentArrayOutput

func (ListenerAdditionalCertificateAttachmentArrayOutput) ToListenerAdditionalCertificateAttachmentArrayOutputWithContext added in v3.43.0

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

type ListenerAdditionalCertificateAttachmentInput added in v3.43.0

type ListenerAdditionalCertificateAttachmentInput interface {
	pulumi.Input

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

type ListenerAdditionalCertificateAttachmentMap added in v3.43.0

type ListenerAdditionalCertificateAttachmentMap map[string]ListenerAdditionalCertificateAttachmentInput

func (ListenerAdditionalCertificateAttachmentMap) ElementType added in v3.43.0

func (ListenerAdditionalCertificateAttachmentMap) ToListenerAdditionalCertificateAttachmentMapOutput added in v3.43.0

func (i ListenerAdditionalCertificateAttachmentMap) ToListenerAdditionalCertificateAttachmentMapOutput() ListenerAdditionalCertificateAttachmentMapOutput

func (ListenerAdditionalCertificateAttachmentMap) ToListenerAdditionalCertificateAttachmentMapOutputWithContext added in v3.43.0

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

type ListenerAdditionalCertificateAttachmentMapInput added in v3.43.0

type ListenerAdditionalCertificateAttachmentMapInput interface {
	pulumi.Input

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

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

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

type ListenerAdditionalCertificateAttachmentMapOutput added in v3.43.0

type ListenerAdditionalCertificateAttachmentMapOutput struct{ *pulumi.OutputState }

func (ListenerAdditionalCertificateAttachmentMapOutput) ElementType added in v3.43.0

func (ListenerAdditionalCertificateAttachmentMapOutput) MapIndex added in v3.43.0

func (ListenerAdditionalCertificateAttachmentMapOutput) ToListenerAdditionalCertificateAttachmentMapOutput added in v3.43.0

func (o ListenerAdditionalCertificateAttachmentMapOutput) ToListenerAdditionalCertificateAttachmentMapOutput() ListenerAdditionalCertificateAttachmentMapOutput

func (ListenerAdditionalCertificateAttachmentMapOutput) ToListenerAdditionalCertificateAttachmentMapOutputWithContext added in v3.43.0

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

type ListenerAdditionalCertificateAttachmentOutput added in v3.43.0

type ListenerAdditionalCertificateAttachmentOutput struct{ *pulumi.OutputState }

func (ListenerAdditionalCertificateAttachmentOutput) CertificateId added in v3.43.0

Certificate ID. Currently, only server certificates are supported.

func (ListenerAdditionalCertificateAttachmentOutput) DryRun added in v3.43.0

Whether to PreCheck only this request, value: - **true**: sends a check request and does not create a resource. 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 (ListenerAdditionalCertificateAttachmentOutput) ElementType added in v3.43.0

func (ListenerAdditionalCertificateAttachmentOutput) ListenerId added in v3.43.0

The ID of the tcpssl listener.

func (ListenerAdditionalCertificateAttachmentOutput) Status added in v3.43.0

The status of the resource.

func (ListenerAdditionalCertificateAttachmentOutput) ToListenerAdditionalCertificateAttachmentOutput added in v3.43.0

func (o ListenerAdditionalCertificateAttachmentOutput) ToListenerAdditionalCertificateAttachmentOutput() ListenerAdditionalCertificateAttachmentOutput

func (ListenerAdditionalCertificateAttachmentOutput) ToListenerAdditionalCertificateAttachmentOutputWithContext added in v3.43.0

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

type ListenerAdditionalCertificateAttachmentState added in v3.43.0

type ListenerAdditionalCertificateAttachmentState struct {
	// Certificate ID. Currently, only server certificates are supported.
	CertificateId pulumi.StringPtrInput
	// Whether to PreCheck only this request, value: - **true**: sends a check request and does not create a resource. 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 tcpssl listener.
	ListenerId pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
}

func (ListenerAdditionalCertificateAttachmentState) ElementType added in v3.43.0

type ListenerArgs

type ListenerArgs struct {
	// Whether ALPN is turned on. Value:
	// - **true**: on.
	// - **false**: closed.
	AlpnEnabled pulumi.BoolPtrInput
	// ALPN policy. Value:
	// - **HTTP1Only**
	// - **HTTP2Only**
	// - **HTTP2Preferred**
	// - **HTTP2Optional**.
	AlpnPolicy pulumi.StringPtrInput
	// CA certificate list information. Currently, only one CA certificate can be added.
	// > **NOTE:**  This parameter only takes effect for TCPSSL listeners.
	CaCertificateIds pulumi.StringArrayInput
	// Whether to start two-way authentication. Value:
	// - **true**: start.
	// - **false**: closed.
	CaEnabled pulumi.BoolPtrInput
	// Server certificate list information. Currently, only one server certificate can be added.
	// > **NOTE:**  This parameter only takes effect for TCPSSL listeners.
	CertificateIds pulumi.StringArrayInput
	// The new connection speed limit for a network-based load balancing instance per second. Valid values: **0** ~ **1000000**. **0** indicates unlimited speed.
	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
	// Connection idle timeout time. Unit: seconds. Valid values: **1** ~ **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 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.
	// > **NOTE:**  only TCP and TCPSSL listeners support this field value.
	Mss pulumi.IntPtrInput
	// Whether to enable the Proxy Protocol to carry the source address of the client to the backend server. Value:
	// - **true**: on.
	// - **false**: closed.
	ProxyProtocolEnabled pulumi.BoolPtrInput
	// Whether to turn on the second-level monitoring function. Value:
	// - **true**: on.
	// - **false**: closed.
	SecSensorEnabled pulumi.BoolPtrInput
	// Security policy ID. Support system security policies and custom security policies. Valid values: **tls_cipher_policy_1_0**, **tls_cipher_policy_1_1**, **tls_cipher_policy_1_2**, **tls_cipher_policy_1_2_strict**, or **tls_cipher_policy_1_2_strict_with_1_3**.
	// > **NOTE:**  This parameter only takes effect for TCPSSL listeners.
	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.
	Status pulumi.StringPtrInput
	// The tag of the resource.
	Tags pulumi.MapInput
}

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

Whether ALPN is turned on. Value: - **true**: on. - **false**: closed.

func (ListenerOutput) AlpnPolicy

func (o ListenerOutput) AlpnPolicy() pulumi.StringPtrOutput

ALPN policy. Value: - **HTTP1Only** - **HTTP2Only** - **HTTP2Preferred** - **HTTP2Optional**.

func (ListenerOutput) CaCertificateIds

func (o ListenerOutput) CaCertificateIds() pulumi.StringArrayOutput

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

func (ListenerOutput) CaEnabled

func (o ListenerOutput) CaEnabled() pulumi.BoolOutput

Whether to start two-way authentication. Value: - **true**: start. - **false**: closed.

func (ListenerOutput) CertificateIds

func (o ListenerOutput) CertificateIds() pulumi.StringArrayOutput

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

func (ListenerOutput) Cps

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

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

Connection idle timeout time. Unit: seconds. Valid values: **1** ~ **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 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. > **NOTE:** only TCP and TCPSSL listeners support this field value.

func (ListenerOutput) ProxyProtocolEnabled

func (o ListenerOutput) ProxyProtocolEnabled() pulumi.BoolOutput

Whether to enable the Proxy Protocol to carry the source address of the client to the backend server. Value: - **true**: on. - **false**: closed.

func (ListenerOutput) SecSensorEnabled

func (o ListenerOutput) SecSensorEnabled() pulumi.BoolOutput

Whether to turn on the second-level monitoring function. Value: - **true**: on. - **false**: closed.

func (ListenerOutput) SecurityPolicyId

func (o ListenerOutput) SecurityPolicyId() pulumi.StringOutput

Security policy ID. Support system security policies and custom security policies. Valid values: **tls_cipher_policy_1_0**, **tls_cipher_policy_1_1**, **tls_cipher_policy_1_2**, **tls_cipher_policy_1_2_strict**, or **tls_cipher_policy_1_2_strict_with_1_3**. > **NOTE:** This parameter only takes effect for TCPSSL listeners.

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.

func (ListenerOutput) Tags added in v3.49.1

func (o ListenerOutput) Tags() pulumi.MapOutput

The tag of the resource.

func (ListenerOutput) ToListenerOutput

func (o ListenerOutput) ToListenerOutput() ListenerOutput

func (ListenerOutput) ToListenerOutputWithContext

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

type ListenerState

type ListenerState struct {
	// Whether ALPN is turned on. Value:
	// - **true**: on.
	// - **false**: closed.
	AlpnEnabled pulumi.BoolPtrInput
	// ALPN policy. Value:
	// - **HTTP1Only**
	// - **HTTP2Only**
	// - **HTTP2Preferred**
	// - **HTTP2Optional**.
	AlpnPolicy pulumi.StringPtrInput
	// CA certificate list information. Currently, only one CA certificate can be added.
	// > **NOTE:**  This parameter only takes effect for TCPSSL listeners.
	CaCertificateIds pulumi.StringArrayInput
	// Whether to start two-way authentication. Value:
	// - **true**: start.
	// - **false**: closed.
	CaEnabled pulumi.BoolPtrInput
	// Server certificate list information. Currently, only one server certificate can be added.
	// > **NOTE:**  This parameter only takes effect for TCPSSL listeners.
	CertificateIds pulumi.StringArrayInput
	// The new connection speed limit for a network-based load balancing instance per second. Valid values: **0** ~ **1000000**. **0** indicates unlimited speed.
	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
	// Connection idle timeout time. Unit: seconds. Valid values: **1** ~ **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 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.
	// > **NOTE:**  only TCP and TCPSSL listeners support this field value.
	Mss pulumi.IntPtrInput
	// Whether to enable the Proxy Protocol to carry the source address of the client to the backend server. Value:
	// - **true**: on.
	// - **false**: closed.
	ProxyProtocolEnabled pulumi.BoolPtrInput
	// Whether to turn on the second-level monitoring function. Value:
	// - **true**: on.
	// - **false**: closed.
	SecSensorEnabled pulumi.BoolPtrInput
	// Security policy ID. Support system security policies and custom security policies. Valid values: **tls_cipher_policy_1_0**, **tls_cipher_policy_1_1**, **tls_cipher_policy_1_2**, **tls_cipher_policy_1_2_strict**, or **tls_cipher_policy_1_2_strict_with_1_3**.
	// > **NOTE:**  This parameter only takes effect for TCPSSL listeners.
	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.
	Status pulumi.StringPtrInput
	// The tag of the resource.
	Tags pulumi.MapInput
}

func (ListenerState) ElementType

func (ListenerState) ElementType() reflect.Type

type LoadBalancer

type LoadBalancer struct {
	pulumi.CustomResourceState

	// Protocol version. Value:
	// - **Ipv4**:IPv4 type.
	// - **DualStack**: Double Stack type.
	AddressIpVersion pulumi.StringOutput `pulumi:"addressIpVersion"`
	// The network address type of IPv4 for network load balancing. Value:
	// - **Internet**: public network. Load balancer has a public network IP address, and the DNS domain name is resolved to a public network IP address, so it can be accessed in a public network environment.
	// - **Intranet**: private network. The server load balancer only has a private IP address, and the DNS domain name is resolved to the private IP address, so it can only be accessed by the intranet environment of the VPC where the server load balancer is located.
	AddressType pulumi.StringOutput `pulumi:"addressType"`
	// The ID of the shared bandwidth package associated with the public network instance.
	BandwidthPackageId pulumi.StringOutput `pulumi:"bandwidthPackageId"`
	// Resource creation time, using Greenwich Mean Time, formating' yyyy-MM-ddTHH:mm:ssZ '.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Whether cross-zone is enabled for a network-based load balancing instance. Value:
	// - **true**: on.
	// - **false**: closed.
	CrossZoneEnabled pulumi.BoolOutput `pulumi:"crossZoneEnabled"`
	// Delete protection. See `deletionProtectionConfig` below.
	DeletionProtectionConfig LoadBalancerDeletionProtectionConfigOutput `pulumi:"deletionProtectionConfig"`
	// Specifies whether to enable deletion protection. Default value: `false`. Valid values:
	DeletionProtectionEnabled pulumi.BoolOutput `pulumi:"deletionProtectionEnabled"`
	// The reason why the deletion protection feature is enabled or disabled. The `deletionProtectionReason` takes effect only when `deletionProtectionEnabled` is set to `true`.
	DeletionProtectionReason pulumi.StringOutput `pulumi:"deletionProtectionReason"`
	// The domain name of the NLB instance.
	DnsName pulumi.StringOutput `pulumi:"dnsName"`
	// The IPv6 address type of network load balancing. Value:
	// - **Internet**: Server Load Balancer has a public IP address, and the DNS domain name is resolved to a public IP address, so it can be accessed in a public network environment.
	// - **Intranet**: SLB only has the private IP address, and the DNS domain name is resolved to the private IP address, so it can only be accessed by the Intranet environment of the VPC where SLB is located.
	Ipv6AddressType pulumi.StringOutput `pulumi:"ipv6AddressType"`
	// The business status of the NLB instance.
	LoadBalancerBusinessStatus pulumi.StringOutput `pulumi:"loadBalancerBusinessStatus"`
	// The name of the network-based load balancing instance.  2 to 128 English or Chinese characters in length, which must start with a letter or Chinese, and can contain numbers, half-width periods (.), underscores (_), and dashes (-).
	LoadBalancerName pulumi.StringPtrOutput `pulumi:"loadBalancerName"`
	// Load balancing type. Only value: **network**, which indicates network-based load balancing.
	LoadBalancerType pulumi.StringOutput `pulumi:"loadBalancerType"`
	// Modify protection. See `modificationProtectionConfig` below.
	ModificationProtectionConfig LoadBalancerModificationProtectionConfigOutput `pulumi:"modificationProtectionConfig"`
	// The reason why the configuration read-only mode is enabled. The `modificationProtectionReason` takes effect only when `modificationProtectionStatus` is set to `ConsoleProtection`.
	ModificationProtectionReason pulumi.StringOutput `pulumi:"modificationProtectionReason"`
	// Specifies whether to enable the configuration read-only mode. Default value: `NonProtection`. Valid values:
	ModificationProtectionStatus pulumi.StringOutput `pulumi:"modificationProtectionStatus"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The security group to which the network-based SLB instance belongs.
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// List of labels.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The ID of the network-based SLB instance.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// The list of zones and vSwitch mappings. You must add at least two zones and a maximum of 10 zones. See `zoneMappings` below.
	ZoneMappings LoadBalancerZoneMappingArrayOutput `pulumi:"zoneMappings"`
}

Provides a NLB Load Balancer resource.

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

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

## Example Usage

Basic Usage

```go package main

import (

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

)

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

```

## 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 {
	// Protocol version. Value:
	// - **Ipv4**:IPv4 type.
	// - **DualStack**: Double Stack type.
	AddressIpVersion pulumi.StringPtrInput
	// The network address type of IPv4 for network load balancing. Value:
	// - **Internet**: public network. Load balancer has a public network IP address, and the DNS domain name is resolved to a public network IP address, so it can be accessed in a public network environment.
	// - **Intranet**: private network. The server load balancer only has a private IP address, and the DNS domain name is resolved to the private IP address, so it can only be accessed by the intranet environment of the VPC where the server load balancer is located.
	AddressType pulumi.StringInput
	// The ID of the shared bandwidth package associated with the public network instance.
	BandwidthPackageId pulumi.StringPtrInput
	// Whether cross-zone is enabled for a network-based load balancing instance. Value:
	// - **true**: on.
	// - **false**: closed.
	CrossZoneEnabled pulumi.BoolPtrInput
	// Delete protection. See `deletionProtectionConfig` below.
	DeletionProtectionConfig LoadBalancerDeletionProtectionConfigPtrInput
	// Specifies whether to enable deletion protection. Default value: `false`. Valid values:
	DeletionProtectionEnabled pulumi.BoolPtrInput
	// The reason why the deletion protection feature is enabled or disabled. The `deletionProtectionReason` takes effect only when `deletionProtectionEnabled` is set to `true`.
	DeletionProtectionReason pulumi.StringPtrInput
	// The IPv6 address type of network load balancing. Value:
	// - **Internet**: Server Load Balancer has a public IP address, and the DNS domain name is resolved to a public IP address, so it can be accessed in a public network environment.
	// - **Intranet**: SLB only has the private IP address, and the DNS domain name is resolved to the private IP address, so it can only be accessed by the Intranet environment of the VPC where SLB is located.
	Ipv6AddressType pulumi.StringPtrInput
	// The name of the network-based load balancing instance.  2 to 128 English or Chinese characters in length, which must start with a letter or Chinese, and can contain numbers, half-width periods (.), underscores (_), and dashes (-).
	LoadBalancerName pulumi.StringPtrInput
	// Load balancing type. Only value: **network**, which indicates network-based load balancing.
	LoadBalancerType pulumi.StringPtrInput
	// Modify protection. See `modificationProtectionConfig` below.
	ModificationProtectionConfig LoadBalancerModificationProtectionConfigPtrInput
	// The reason why the configuration read-only mode is enabled. The `modificationProtectionReason` takes effect only when `modificationProtectionStatus` is set to `ConsoleProtection`.
	ModificationProtectionReason pulumi.StringPtrInput
	// Specifies whether to enable the configuration read-only mode. Default value: `NonProtection`. Valid values:
	ModificationProtectionStatus pulumi.StringPtrInput
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The security group to which the network-based SLB instance belongs.
	SecurityGroupIds pulumi.StringArrayInput
	// List of labels.
	Tags pulumi.MapInput
	// The ID of the network-based SLB instance.
	VpcId pulumi.StringInput
	// The list of zones and vSwitch mappings. You must add at least two zones and a maximum of 10 zones. See `zoneMappings` below.
	ZoneMappings LoadBalancerZoneMappingArrayInput
}

The set of arguments for constructing a LoadBalancer resource.

func (LoadBalancerArgs) ElementType

func (LoadBalancerArgs) ElementType() reflect.Type

type LoadBalancerArray

type LoadBalancerArray []LoadBalancerInput

func (LoadBalancerArray) ElementType

func (LoadBalancerArray) ElementType() reflect.Type

func (LoadBalancerArray) ToLoadBalancerArrayOutput

func (i LoadBalancerArray) ToLoadBalancerArrayOutput() LoadBalancerArrayOutput

func (LoadBalancerArray) ToLoadBalancerArrayOutputWithContext

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

type LoadBalancerArrayInput

type LoadBalancerArrayInput interface {
	pulumi.Input

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

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

LoadBalancerArray{ LoadBalancerArgs{...} }

type LoadBalancerArrayOutput

type LoadBalancerArrayOutput struct{ *pulumi.OutputState }

func (LoadBalancerArrayOutput) ElementType

func (LoadBalancerArrayOutput) ElementType() reflect.Type

func (LoadBalancerArrayOutput) Index

func (LoadBalancerArrayOutput) ToLoadBalancerArrayOutput

func (o LoadBalancerArrayOutput) ToLoadBalancerArrayOutput() LoadBalancerArrayOutput

func (LoadBalancerArrayOutput) ToLoadBalancerArrayOutputWithContext

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

type LoadBalancerDeletionProtectionConfig added in v3.49.1

type LoadBalancerDeletionProtectionConfig struct {
	// Delete protection enable.
	Enabled *bool `pulumi:"enabled"`
	// Opening time.
	EnabledTime *string `pulumi:"enabledTime"`
	// Reason for opening.
	Reason *string `pulumi:"reason"`
}

type LoadBalancerDeletionProtectionConfigArgs added in v3.49.1

type LoadBalancerDeletionProtectionConfigArgs struct {
	// Delete protection enable.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// Opening time.
	EnabledTime pulumi.StringPtrInput `pulumi:"enabledTime"`
	// Reason for opening.
	Reason pulumi.StringPtrInput `pulumi:"reason"`
}

func (LoadBalancerDeletionProtectionConfigArgs) ElementType added in v3.49.1

func (LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigOutput added in v3.49.1

func (i LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigOutput() LoadBalancerDeletionProtectionConfigOutput

func (LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigOutputWithContext added in v3.49.1

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

func (LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigPtrOutput added in v3.49.1

func (i LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigPtrOutput() LoadBalancerDeletionProtectionConfigPtrOutput

func (LoadBalancerDeletionProtectionConfigArgs) ToLoadBalancerDeletionProtectionConfigPtrOutputWithContext added in v3.49.1

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

type LoadBalancerDeletionProtectionConfigInput added in v3.49.1

type LoadBalancerDeletionProtectionConfigInput interface {
	pulumi.Input

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

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

LoadBalancerDeletionProtectionConfigArgs{...}

type LoadBalancerDeletionProtectionConfigOutput added in v3.49.1

type LoadBalancerDeletionProtectionConfigOutput struct{ *pulumi.OutputState }

func (LoadBalancerDeletionProtectionConfigOutput) ElementType added in v3.49.1

func (LoadBalancerDeletionProtectionConfigOutput) Enabled added in v3.49.1

Delete protection enable.

func (LoadBalancerDeletionProtectionConfigOutput) EnabledTime added in v3.49.1

Opening time.

func (LoadBalancerDeletionProtectionConfigOutput) Reason added in v3.49.1

Reason for opening.

func (LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigOutput added in v3.49.1

func (o LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigOutput() LoadBalancerDeletionProtectionConfigOutput

func (LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigOutputWithContext added in v3.49.1

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

func (LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigPtrOutput added in v3.49.1

func (o LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigPtrOutput() LoadBalancerDeletionProtectionConfigPtrOutput

func (LoadBalancerDeletionProtectionConfigOutput) ToLoadBalancerDeletionProtectionConfigPtrOutputWithContext added in v3.49.1

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

type LoadBalancerDeletionProtectionConfigPtrInput added in v3.49.1

type LoadBalancerDeletionProtectionConfigPtrInput interface {
	pulumi.Input

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

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

        LoadBalancerDeletionProtectionConfigArgs{...}

or:

        nil

type LoadBalancerDeletionProtectionConfigPtrOutput added in v3.49.1

type LoadBalancerDeletionProtectionConfigPtrOutput struct{ *pulumi.OutputState }

func (LoadBalancerDeletionProtectionConfigPtrOutput) Elem added in v3.49.1

func (LoadBalancerDeletionProtectionConfigPtrOutput) ElementType added in v3.49.1

func (LoadBalancerDeletionProtectionConfigPtrOutput) Enabled added in v3.49.1

Delete protection enable.

func (LoadBalancerDeletionProtectionConfigPtrOutput) EnabledTime added in v3.49.1

Opening time.

func (LoadBalancerDeletionProtectionConfigPtrOutput) Reason added in v3.49.1

Reason for opening.

func (LoadBalancerDeletionProtectionConfigPtrOutput) ToLoadBalancerDeletionProtectionConfigPtrOutput added in v3.49.1

func (o LoadBalancerDeletionProtectionConfigPtrOutput) ToLoadBalancerDeletionProtectionConfigPtrOutput() LoadBalancerDeletionProtectionConfigPtrOutput

func (LoadBalancerDeletionProtectionConfigPtrOutput) ToLoadBalancerDeletionProtectionConfigPtrOutputWithContext added in v3.49.1

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

type LoadBalancerInput

type LoadBalancerInput interface {
	pulumi.Input

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

type LoadBalancerMap

type LoadBalancerMap map[string]LoadBalancerInput

func (LoadBalancerMap) ElementType

func (LoadBalancerMap) ElementType() reflect.Type

func (LoadBalancerMap) ToLoadBalancerMapOutput

func (i LoadBalancerMap) ToLoadBalancerMapOutput() LoadBalancerMapOutput

func (LoadBalancerMap) ToLoadBalancerMapOutputWithContext

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

type LoadBalancerMapInput

type LoadBalancerMapInput interface {
	pulumi.Input

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

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

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

type LoadBalancerMapOutput

type LoadBalancerMapOutput struct{ *pulumi.OutputState }

func (LoadBalancerMapOutput) ElementType

func (LoadBalancerMapOutput) ElementType() reflect.Type

func (LoadBalancerMapOutput) MapIndex

func (LoadBalancerMapOutput) ToLoadBalancerMapOutput

func (o LoadBalancerMapOutput) ToLoadBalancerMapOutput() LoadBalancerMapOutput

func (LoadBalancerMapOutput) ToLoadBalancerMapOutputWithContext

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

type LoadBalancerModificationProtectionConfig added in v3.49.1

type LoadBalancerModificationProtectionConfig struct {
	// Opening time.
	EnabledTime *string `pulumi:"enabledTime"`
	// Reason for opening.
	Reason *string `pulumi:"reason"`
	// ON.
	Status *string `pulumi:"status"`
}

type LoadBalancerModificationProtectionConfigArgs added in v3.49.1

type LoadBalancerModificationProtectionConfigArgs struct {
	// Opening time.
	EnabledTime pulumi.StringPtrInput `pulumi:"enabledTime"`
	// Reason for opening.
	Reason pulumi.StringPtrInput `pulumi:"reason"`
	// ON.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

func (LoadBalancerModificationProtectionConfigArgs) ElementType added in v3.49.1

func (LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigOutput added in v3.49.1

func (i LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigOutput() LoadBalancerModificationProtectionConfigOutput

func (LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigOutputWithContext added in v3.49.1

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

func (LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigPtrOutput added in v3.49.1

func (i LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigPtrOutput() LoadBalancerModificationProtectionConfigPtrOutput

func (LoadBalancerModificationProtectionConfigArgs) ToLoadBalancerModificationProtectionConfigPtrOutputWithContext added in v3.49.1

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

type LoadBalancerModificationProtectionConfigInput added in v3.49.1

type LoadBalancerModificationProtectionConfigInput interface {
	pulumi.Input

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

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

LoadBalancerModificationProtectionConfigArgs{...}

type LoadBalancerModificationProtectionConfigOutput added in v3.49.1

type LoadBalancerModificationProtectionConfigOutput struct{ *pulumi.OutputState }

func (LoadBalancerModificationProtectionConfigOutput) ElementType added in v3.49.1

func (LoadBalancerModificationProtectionConfigOutput) EnabledTime added in v3.49.1

Opening time.

func (LoadBalancerModificationProtectionConfigOutput) Reason added in v3.49.1

Reason for opening.

func (LoadBalancerModificationProtectionConfigOutput) Status added in v3.49.1

ON.

func (LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigOutput added in v3.49.1

func (o LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigOutput() LoadBalancerModificationProtectionConfigOutput

func (LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigOutputWithContext added in v3.49.1

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

func (LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigPtrOutput added in v3.49.1

func (o LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigPtrOutput() LoadBalancerModificationProtectionConfigPtrOutput

func (LoadBalancerModificationProtectionConfigOutput) ToLoadBalancerModificationProtectionConfigPtrOutputWithContext added in v3.49.1

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

type LoadBalancerModificationProtectionConfigPtrInput added in v3.49.1

type LoadBalancerModificationProtectionConfigPtrInput interface {
	pulumi.Input

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

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

        LoadBalancerModificationProtectionConfigArgs{...}

or:

        nil

type LoadBalancerModificationProtectionConfigPtrOutput added in v3.49.1

type LoadBalancerModificationProtectionConfigPtrOutput struct{ *pulumi.OutputState }

func (LoadBalancerModificationProtectionConfigPtrOutput) Elem added in v3.49.1

func (LoadBalancerModificationProtectionConfigPtrOutput) ElementType added in v3.49.1

func (LoadBalancerModificationProtectionConfigPtrOutput) EnabledTime added in v3.49.1

Opening time.

func (LoadBalancerModificationProtectionConfigPtrOutput) Reason added in v3.49.1

Reason for opening.

func (LoadBalancerModificationProtectionConfigPtrOutput) Status added in v3.49.1

ON.

func (LoadBalancerModificationProtectionConfigPtrOutput) ToLoadBalancerModificationProtectionConfigPtrOutput added in v3.49.1

func (o LoadBalancerModificationProtectionConfigPtrOutput) ToLoadBalancerModificationProtectionConfigPtrOutput() LoadBalancerModificationProtectionConfigPtrOutput

func (LoadBalancerModificationProtectionConfigPtrOutput) ToLoadBalancerModificationProtectionConfigPtrOutputWithContext added in v3.49.1

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

type LoadBalancerOutput

type LoadBalancerOutput struct{ *pulumi.OutputState }

func (LoadBalancerOutput) AddressIpVersion

func (o LoadBalancerOutput) AddressIpVersion() pulumi.StringOutput

Protocol version. Value: - **Ipv4**:IPv4 type. - **DualStack**: Double Stack type.

func (LoadBalancerOutput) AddressType

func (o LoadBalancerOutput) AddressType() pulumi.StringOutput

The network address type of IPv4 for network load balancing. Value: - **Internet**: public network. Load balancer has a public network IP address, and the DNS domain name is resolved to a public network IP address, so it can be accessed in a public network environment. - **Intranet**: private network. The server load balancer only has a private IP address, and the DNS domain name is resolved to the private IP address, so it can only be accessed by the intranet environment of the VPC where the server load balancer is located.

func (LoadBalancerOutput) BandwidthPackageId

func (o LoadBalancerOutput) BandwidthPackageId() pulumi.StringOutput

The ID of the shared bandwidth package associated with the public network instance.

func (LoadBalancerOutput) CreateTime

func (o LoadBalancerOutput) CreateTime() pulumi.StringOutput

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

func (LoadBalancerOutput) CrossZoneEnabled

func (o LoadBalancerOutput) CrossZoneEnabled() pulumi.BoolOutput

Whether cross-zone is enabled for a network-based load balancing instance. Value: - **true**: on. - **false**: closed.

func (LoadBalancerOutput) DeletionProtectionConfig added in v3.49.1

Delete protection. See `deletionProtectionConfig` below.

func (LoadBalancerOutput) DeletionProtectionEnabled added in v3.38.0

func (o LoadBalancerOutput) DeletionProtectionEnabled() pulumi.BoolOutput

Specifies whether to enable deletion protection. Default value: `false`. Valid values:

func (LoadBalancerOutput) DeletionProtectionReason added in v3.38.0

func (o LoadBalancerOutput) DeletionProtectionReason() pulumi.StringOutput

The reason why the deletion protection feature is enabled or disabled. The `deletionProtectionReason` takes effect only when `deletionProtectionEnabled` is set to `true`.

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 IPv6 address type of network load balancing. Value: - **Internet**: Server Load Balancer has a public IP address, and the DNS domain name is resolved to a public IP address, so it can be accessed in a public network environment. - **Intranet**: SLB only has the private IP address, and the DNS domain name is resolved to the private IP address, so it can only be accessed by the Intranet environment of the VPC where SLB is located.

func (LoadBalancerOutput) LoadBalancerBusinessStatus

func (o LoadBalancerOutput) LoadBalancerBusinessStatus() pulumi.StringOutput

The business status of the NLB instance.

func (LoadBalancerOutput) LoadBalancerName

func (o LoadBalancerOutput) LoadBalancerName() pulumi.StringPtrOutput

The name of the network-based load balancing instance. 2 to 128 English or Chinese characters in length, which must start with a letter or Chinese, and can contain numbers, half-width periods (.), underscores (_), and dashes (-).

func (LoadBalancerOutput) LoadBalancerType

func (o LoadBalancerOutput) LoadBalancerType() pulumi.StringOutput

Load balancing type. Only value: **network**, which indicates network-based load balancing.

func (LoadBalancerOutput) ModificationProtectionConfig added in v3.49.1

func (o LoadBalancerOutput) ModificationProtectionConfig() LoadBalancerModificationProtectionConfigOutput

Modify protection. See `modificationProtectionConfig` below.

func (LoadBalancerOutput) ModificationProtectionReason added in v3.38.0

func (o LoadBalancerOutput) ModificationProtectionReason() pulumi.StringOutput

The reason why the configuration read-only mode is enabled. The `modificationProtectionReason` takes effect only when `modificationProtectionStatus` is set to `ConsoleProtection`.

func (LoadBalancerOutput) ModificationProtectionStatus added in v3.38.0

func (o LoadBalancerOutput) ModificationProtectionStatus() pulumi.StringOutput

Specifies whether to enable the configuration read-only mode. Default value: `NonProtection`. Valid values:

func (LoadBalancerOutput) ResourceGroupId

func (o LoadBalancerOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group.

func (LoadBalancerOutput) SecurityGroupIds added in v3.49.1

func (o LoadBalancerOutput) SecurityGroupIds() pulumi.StringArrayOutput

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

func (LoadBalancerOutput) Status

The status of the resource.

func (LoadBalancerOutput) Tags

List of labels.

func (LoadBalancerOutput) ToLoadBalancerOutput

func (o LoadBalancerOutput) ToLoadBalancerOutput() LoadBalancerOutput

func (LoadBalancerOutput) ToLoadBalancerOutputWithContext

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

func (LoadBalancerOutput) VpcId

The ID of the network-based SLB instance.

func (LoadBalancerOutput) ZoneMappings

The list of zones and vSwitch mappings. You must add at least two zones and a maximum of 10 zones. See `zoneMappings` below.

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 the security group.
	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 since v1.198.0.

## Example Usage

Basic Usage

```go package main

import (

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

)

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

```

## Import

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

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

func GetLoadBalancerSecurityGroupAttachment added in v3.31.0

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

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

func NewLoadBalancerSecurityGroupAttachment added in v3.31.0

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

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

func (*LoadBalancerSecurityGroupAttachment) ElementType added in v3.31.0

func (*LoadBalancerSecurityGroupAttachment) ToLoadBalancerSecurityGroupAttachmentOutput added in v3.31.0

func (i *LoadBalancerSecurityGroupAttachment) ToLoadBalancerSecurityGroupAttachmentOutput() LoadBalancerSecurityGroupAttachmentOutput

func (*LoadBalancerSecurityGroupAttachment) ToLoadBalancerSecurityGroupAttachmentOutputWithContext added in v3.31.0

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

type LoadBalancerSecurityGroupAttachmentArgs added in v3.31.0

type LoadBalancerSecurityGroupAttachmentArgs struct {
	// 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 the security group.
	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 the security group.

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 the security group.
	SecurityGroupId pulumi.StringPtrInput
}

func (LoadBalancerSecurityGroupAttachmentState) ElementType added in v3.31.0

type LoadBalancerState

type LoadBalancerState struct {
	// Protocol version. Value:
	// - **Ipv4**:IPv4 type.
	// - **DualStack**: Double Stack type.
	AddressIpVersion pulumi.StringPtrInput
	// The network address type of IPv4 for network load balancing. Value:
	// - **Internet**: public network. Load balancer has a public network IP address, and the DNS domain name is resolved to a public network IP address, so it can be accessed in a public network environment.
	// - **Intranet**: private network. The server load balancer only has a private IP address, and the DNS domain name is resolved to the private IP address, so it can only be accessed by the intranet environment of the VPC where the server load balancer is located.
	AddressType pulumi.StringPtrInput
	// The ID of the shared bandwidth package associated with the public network instance.
	BandwidthPackageId pulumi.StringPtrInput
	// Resource creation time, using Greenwich Mean Time, formating' yyyy-MM-ddTHH:mm:ssZ '.
	CreateTime pulumi.StringPtrInput
	// Whether cross-zone is enabled for a network-based load balancing instance. Value:
	// - **true**: on.
	// - **false**: closed.
	CrossZoneEnabled pulumi.BoolPtrInput
	// Delete protection. See `deletionProtectionConfig` below.
	DeletionProtectionConfig LoadBalancerDeletionProtectionConfigPtrInput
	// Specifies whether to enable deletion protection. Default value: `false`. Valid values:
	DeletionProtectionEnabled pulumi.BoolPtrInput
	// The reason why the deletion protection feature is enabled or disabled. The `deletionProtectionReason` takes effect only when `deletionProtectionEnabled` is set to `true`.
	DeletionProtectionReason pulumi.StringPtrInput
	// The domain name of the NLB instance.
	DnsName pulumi.StringPtrInput
	// The IPv6 address type of network load balancing. Value:
	// - **Internet**: Server Load Balancer has a public IP address, and the DNS domain name is resolved to a public IP address, so it can be accessed in a public network environment.
	// - **Intranet**: SLB only has the private IP address, and the DNS domain name is resolved to the private IP address, so it can only be accessed by the Intranet environment of the VPC where SLB is located.
	Ipv6AddressType pulumi.StringPtrInput
	// The business status of the NLB instance.
	LoadBalancerBusinessStatus pulumi.StringPtrInput
	// The name of the network-based load balancing instance.  2 to 128 English or Chinese characters in length, which must start with a letter or Chinese, and can contain numbers, half-width periods (.), underscores (_), and dashes (-).
	LoadBalancerName pulumi.StringPtrInput
	// Load balancing type. Only value: **network**, which indicates network-based load balancing.
	LoadBalancerType pulumi.StringPtrInput
	// Modify protection. See `modificationProtectionConfig` below.
	ModificationProtectionConfig LoadBalancerModificationProtectionConfigPtrInput
	// The reason why the configuration read-only mode is enabled. The `modificationProtectionReason` takes effect only when `modificationProtectionStatus` is set to `ConsoleProtection`.
	ModificationProtectionReason pulumi.StringPtrInput
	// Specifies whether to enable the configuration read-only mode. Default value: `NonProtection`. Valid values:
	ModificationProtectionStatus pulumi.StringPtrInput
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The security group to which the network-based SLB instance belongs.
	SecurityGroupIds pulumi.StringArrayInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// List of labels.
	Tags pulumi.MapInput
	// The ID of the network-based SLB instance.
	VpcId pulumi.StringPtrInput
	// The list of zones and vSwitch mappings. You must add at least two zones and a maximum of 10 zones. See `zoneMappings` below.
	ZoneMappings LoadBalancerZoneMappingArrayInput
}

func (LoadBalancerState) ElementType

func (LoadBalancerState) ElementType() reflect.Type

type LoadBalancerZoneMapping

type LoadBalancerZoneMapping struct {
	// The ID of the elastic IP address.
	AllocationId *string `pulumi:"allocationId"`
	// The ID of ENI.
	EniId *string `pulumi:"eniId"`
	// The IPv6 address of a network-based server load balancer instance.
	Ipv6Address *string `pulumi:"ipv6Address"`
	// The private IPv4 address of a network-based server load balancer instance.
	PrivateIpv4Address *string `pulumi:"privateIpv4Address"`
	// Public IPv4 address of a network-based server load balancer instance.
	PublicIpv4Address *string `pulumi:"publicIpv4Address"`
	// Zone Status.
	Status *string `pulumi:"status"`
	// The switch corresponding to the zone. Each zone uses one switch and one subnet by default.
	VswitchId string `pulumi:"vswitchId"`
	// The name of the zone. You can call the DescribeZones operation to obtain the name of the zone.
	ZoneId string `pulumi:"zoneId"`
}

type LoadBalancerZoneMappingArgs

type LoadBalancerZoneMappingArgs struct {
	// The ID of the elastic IP address.
	AllocationId pulumi.StringPtrInput `pulumi:"allocationId"`
	// The ID of ENI.
	EniId pulumi.StringPtrInput `pulumi:"eniId"`
	// The IPv6 address of a network-based server load balancer instance.
	Ipv6Address pulumi.StringPtrInput `pulumi:"ipv6Address"`
	// The private IPv4 address of a network-based server load balancer instance.
	PrivateIpv4Address pulumi.StringPtrInput `pulumi:"privateIpv4Address"`
	// Public IPv4 address of a network-based server load balancer instance.
	PublicIpv4Address pulumi.StringPtrInput `pulumi:"publicIpv4Address"`
	// Zone Status.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The switch corresponding to the zone. Each zone uses one switch and one subnet by default.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
	// The name of the zone. You can call the DescribeZones operation to obtain the name of the zone.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (LoadBalancerZoneMappingArgs) ElementType

func (LoadBalancerZoneMappingArgs) ToLoadBalancerZoneMappingOutput

func (i LoadBalancerZoneMappingArgs) ToLoadBalancerZoneMappingOutput() LoadBalancerZoneMappingOutput

func (LoadBalancerZoneMappingArgs) ToLoadBalancerZoneMappingOutputWithContext

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

type LoadBalancerZoneMappingArray

type LoadBalancerZoneMappingArray []LoadBalancerZoneMappingInput

func (LoadBalancerZoneMappingArray) ElementType

func (LoadBalancerZoneMappingArray) ToLoadBalancerZoneMappingArrayOutput

func (i LoadBalancerZoneMappingArray) ToLoadBalancerZoneMappingArrayOutput() LoadBalancerZoneMappingArrayOutput

func (LoadBalancerZoneMappingArray) ToLoadBalancerZoneMappingArrayOutputWithContext

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

type LoadBalancerZoneMappingArrayInput

type LoadBalancerZoneMappingArrayInput interface {
	pulumi.Input

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

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

LoadBalancerZoneMappingArray{ LoadBalancerZoneMappingArgs{...} }

type LoadBalancerZoneMappingArrayOutput

type LoadBalancerZoneMappingArrayOutput struct{ *pulumi.OutputState }

func (LoadBalancerZoneMappingArrayOutput) ElementType

func (LoadBalancerZoneMappingArrayOutput) Index

func (LoadBalancerZoneMappingArrayOutput) ToLoadBalancerZoneMappingArrayOutput

func (o LoadBalancerZoneMappingArrayOutput) ToLoadBalancerZoneMappingArrayOutput() LoadBalancerZoneMappingArrayOutput

func (LoadBalancerZoneMappingArrayOutput) ToLoadBalancerZoneMappingArrayOutputWithContext

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

type LoadBalancerZoneMappingInput

type LoadBalancerZoneMappingInput interface {
	pulumi.Input

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

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

LoadBalancerZoneMappingArgs{...}

type LoadBalancerZoneMappingOutput

type LoadBalancerZoneMappingOutput struct{ *pulumi.OutputState }

func (LoadBalancerZoneMappingOutput) AllocationId

The ID of the elastic IP address.

func (LoadBalancerZoneMappingOutput) ElementType

func (LoadBalancerZoneMappingOutput) EniId

The ID of ENI.

func (LoadBalancerZoneMappingOutput) Ipv6Address

The IPv6 address of a network-based server load balancer instance.

func (LoadBalancerZoneMappingOutput) PrivateIpv4Address

func (o LoadBalancerZoneMappingOutput) PrivateIpv4Address() pulumi.StringPtrOutput

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

func (LoadBalancerZoneMappingOutput) PublicIpv4Address

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

func (LoadBalancerZoneMappingOutput) Status added in v3.49.1

Zone Status.

func (LoadBalancerZoneMappingOutput) ToLoadBalancerZoneMappingOutput

func (o LoadBalancerZoneMappingOutput) ToLoadBalancerZoneMappingOutput() LoadBalancerZoneMappingOutput

func (LoadBalancerZoneMappingOutput) ToLoadBalancerZoneMappingOutputWithContext

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

func (LoadBalancerZoneMappingOutput) VswitchId

The switch corresponding to the zone. Each zone uses one switch and one subnet by default.

func (LoadBalancerZoneMappingOutput) ZoneId

The name of the zone. You can call the DescribeZones operation to obtain the name of the zone.

type LoadbalancerCommonBandwidthPackageAttachment added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachment struct {
	pulumi.CustomResourceState

	// The ID of the bound shared bandwidth package.
	BandwidthPackageId pulumi.StringOutput `pulumi:"bandwidthPackageId"`
	// The ID of the network-based server load balancer instance.
	LoadBalancerId pulumi.StringOutput `pulumi:"loadBalancerId"`
	// Network-based load balancing instance status. Value:, indicating that the instance listener will no longer forward traffic.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a NLB Loadbalancer Common Bandwidth Package Attachment resource. Bandwidth Package Operation.

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

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

## Example Usage

Basic Usage

```go package main

import (

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

)

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

```

## Import

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

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

func GetLoadbalancerCommonBandwidthPackageAttachment added in v3.43.0

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

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

func NewLoadbalancerCommonBandwidthPackageAttachment added in v3.43.0

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

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

func (*LoadbalancerCommonBandwidthPackageAttachment) ElementType added in v3.43.0

func (*LoadbalancerCommonBandwidthPackageAttachment) ToLoadbalancerCommonBandwidthPackageAttachmentOutput added in v3.43.0

func (i *LoadbalancerCommonBandwidthPackageAttachment) ToLoadbalancerCommonBandwidthPackageAttachmentOutput() LoadbalancerCommonBandwidthPackageAttachmentOutput

func (*LoadbalancerCommonBandwidthPackageAttachment) ToLoadbalancerCommonBandwidthPackageAttachmentOutputWithContext added in v3.43.0

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

type LoadbalancerCommonBandwidthPackageAttachmentArgs added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentArgs struct {
	// The ID of the bound shared bandwidth package.
	BandwidthPackageId pulumi.StringInput
	// The ID of the network-based server load balancer instance.
	LoadBalancerId pulumi.StringInput
}

The set of arguments for constructing a LoadbalancerCommonBandwidthPackageAttachment resource.

func (LoadbalancerCommonBandwidthPackageAttachmentArgs) ElementType added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentArray added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentArray []LoadbalancerCommonBandwidthPackageAttachmentInput

func (LoadbalancerCommonBandwidthPackageAttachmentArray) ElementType added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentArray) ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutput added in v3.43.0

func (i LoadbalancerCommonBandwidthPackageAttachmentArray) ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutput() LoadbalancerCommonBandwidthPackageAttachmentArrayOutput

func (LoadbalancerCommonBandwidthPackageAttachmentArray) ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutputWithContext added in v3.43.0

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

type LoadbalancerCommonBandwidthPackageAttachmentArrayInput added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentArrayInput interface {
	pulumi.Input

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

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

LoadbalancerCommonBandwidthPackageAttachmentArray{ LoadbalancerCommonBandwidthPackageAttachmentArgs{...} }

type LoadbalancerCommonBandwidthPackageAttachmentArrayOutput added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentArrayOutput struct{ *pulumi.OutputState }

func (LoadbalancerCommonBandwidthPackageAttachmentArrayOutput) ElementType added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentArrayOutput) Index added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentArrayOutput) ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutput added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentArrayOutput) ToLoadbalancerCommonBandwidthPackageAttachmentArrayOutputWithContext added in v3.43.0

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

type LoadbalancerCommonBandwidthPackageAttachmentInput added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentInput interface {
	pulumi.Input

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

type LoadbalancerCommonBandwidthPackageAttachmentMap added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentMap map[string]LoadbalancerCommonBandwidthPackageAttachmentInput

func (LoadbalancerCommonBandwidthPackageAttachmentMap) ElementType added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentMap) ToLoadbalancerCommonBandwidthPackageAttachmentMapOutput added in v3.43.0

func (i LoadbalancerCommonBandwidthPackageAttachmentMap) ToLoadbalancerCommonBandwidthPackageAttachmentMapOutput() LoadbalancerCommonBandwidthPackageAttachmentMapOutput

func (LoadbalancerCommonBandwidthPackageAttachmentMap) ToLoadbalancerCommonBandwidthPackageAttachmentMapOutputWithContext added in v3.43.0

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

type LoadbalancerCommonBandwidthPackageAttachmentMapInput added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentMapInput interface {
	pulumi.Input

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

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

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

type LoadbalancerCommonBandwidthPackageAttachmentMapOutput added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentMapOutput struct{ *pulumi.OutputState }

func (LoadbalancerCommonBandwidthPackageAttachmentMapOutput) ElementType added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentMapOutput) MapIndex added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentMapOutput) ToLoadbalancerCommonBandwidthPackageAttachmentMapOutput added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentMapOutput) ToLoadbalancerCommonBandwidthPackageAttachmentMapOutputWithContext added in v3.43.0

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

type LoadbalancerCommonBandwidthPackageAttachmentOutput added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentOutput struct{ *pulumi.OutputState }

func (LoadbalancerCommonBandwidthPackageAttachmentOutput) BandwidthPackageId added in v3.43.0

The ID of the bound shared bandwidth package.

func (LoadbalancerCommonBandwidthPackageAttachmentOutput) ElementType added in v3.43.0

func (LoadbalancerCommonBandwidthPackageAttachmentOutput) LoadBalancerId added in v3.43.0

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

func (LoadbalancerCommonBandwidthPackageAttachmentOutput) Status added in v3.43.0

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

func (LoadbalancerCommonBandwidthPackageAttachmentOutput) ToLoadbalancerCommonBandwidthPackageAttachmentOutput added in v3.43.0

func (o LoadbalancerCommonBandwidthPackageAttachmentOutput) ToLoadbalancerCommonBandwidthPackageAttachmentOutput() LoadbalancerCommonBandwidthPackageAttachmentOutput

func (LoadbalancerCommonBandwidthPackageAttachmentOutput) ToLoadbalancerCommonBandwidthPackageAttachmentOutputWithContext added in v3.43.0

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

type LoadbalancerCommonBandwidthPackageAttachmentState added in v3.43.0

type LoadbalancerCommonBandwidthPackageAttachmentState struct {
	// The ID of the bound shared bandwidth package.
	BandwidthPackageId pulumi.StringPtrInput
	// The ID of the network-based server load balancer instance.
	LoadBalancerId pulumi.StringPtrInput
	// Network-based load balancing instance status. Value:, indicating that the instance listener will no longer forward traffic.
	Status pulumi.StringPtrInput
}

func (LoadbalancerCommonBandwidthPackageAttachmentState) ElementType added in v3.43.0

type SecurityPolicy

type SecurityPolicy struct {
	pulumi.CustomResourceState

	// The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.
	// - TLS 1.0 and TLS 1.1 support the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA`, `DES-CBC3-SHA`
	// - TLS 1.2 supports the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA, DES-CBC3-SHA`, `ECDHE-ECDSA-AES128-GCM-SHA256`, `ECDHE-ECDSA-AES256-GCM-SHA384`, `ECDHE-ECDSA-AES128-SHA256`, `ECDHE-ECDSA-AES256-SHA384`, `ECDHE-RSA-AES128-GCM-SHA256`, `ECDHE-RSA-AES256-GCM-SHA384`, `ECDHE-RSA-AES128-SHA256`, `ECDHE-RSA-AES256-SHA384`, `AES128-GCM-SHA256`, `AES256-GCM-SHA384`, `AES128-SHA256`, `AES256-SHA256`
	// - TLS 1.3 supports the following cipher suites: `TLS_AES_128_GCM_SHA256`, `TLS_AES_256_GCM_SHA384`, `TLS_CHACHA20_POLY1305_SHA256`, `TLS_AES_128_CCM_SHA256`, `TLS_AES_128_CCM_8_SHA256`.
	Ciphers pulumi.StringArrayOutput `pulumi:"ciphers"`
	// The ID of the 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"`
	// The tag of 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 since v1.187.0.

## Example Usage

Basic Usage

```go package main

import (

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

)

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

```

## Import

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

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

func GetSecurityPolicy

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

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

func NewSecurityPolicy

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

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

func (*SecurityPolicy) ElementType

func (*SecurityPolicy) ElementType() reflect.Type

func (*SecurityPolicy) ToSecurityPolicyOutput

func (i *SecurityPolicy) ToSecurityPolicyOutput() SecurityPolicyOutput

func (*SecurityPolicy) ToSecurityPolicyOutputWithContext

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

type SecurityPolicyArgs

type SecurityPolicyArgs struct {
	// The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.
	// - TLS 1.0 and TLS 1.1 support the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA`, `DES-CBC3-SHA`
	// - TLS 1.2 supports the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA, DES-CBC3-SHA`, `ECDHE-ECDSA-AES128-GCM-SHA256`, `ECDHE-ECDSA-AES256-GCM-SHA384`, `ECDHE-ECDSA-AES128-SHA256`, `ECDHE-ECDSA-AES256-SHA384`, `ECDHE-RSA-AES128-GCM-SHA256`, `ECDHE-RSA-AES256-GCM-SHA384`, `ECDHE-RSA-AES128-SHA256`, `ECDHE-RSA-AES256-SHA384`, `AES128-GCM-SHA256`, `AES256-GCM-SHA384`, `AES128-SHA256`, `AES256-SHA256`
	// - TLS 1.3 supports the following cipher suites: `TLS_AES_128_GCM_SHA256`, `TLS_AES_256_GCM_SHA384`, `TLS_CHACHA20_POLY1305_SHA256`, `TLS_AES_128_CCM_SHA256`, `TLS_AES_128_CCM_8_SHA256`.
	Ciphers pulumi.StringArrayInput
	// The ID of the 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 tag of 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

The tag of the resource.

func (SecurityPolicyOutput) TlsVersions

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

func (SecurityPolicyOutput) ToSecurityPolicyOutput

func (o SecurityPolicyOutput) ToSecurityPolicyOutput() SecurityPolicyOutput

func (SecurityPolicyOutput) ToSecurityPolicyOutputWithContext

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

type SecurityPolicyState

type SecurityPolicyState struct {
	// The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.
	// - TLS 1.0 and TLS 1.1 support the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA`, `DES-CBC3-SHA`
	// - TLS 1.2 supports the following cipher suites: `ECDHE-ECDSA-AES128-SHA`, `ECDHE-ECDSA-AES256-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `AES128-SHA`, `AES256-SHA, DES-CBC3-SHA`, `ECDHE-ECDSA-AES128-GCM-SHA256`, `ECDHE-ECDSA-AES256-GCM-SHA384`, `ECDHE-ECDSA-AES128-SHA256`, `ECDHE-ECDSA-AES256-SHA384`, `ECDHE-RSA-AES128-GCM-SHA256`, `ECDHE-RSA-AES256-GCM-SHA384`, `ECDHE-RSA-AES128-SHA256`, `ECDHE-RSA-AES256-SHA384`, `AES128-GCM-SHA256`, `AES256-GCM-SHA384`, `AES128-SHA256`, `AES256-SHA256`
	// - TLS 1.3 supports the following cipher suites: `TLS_AES_128_GCM_SHA256`, `TLS_AES_256_GCM_SHA384`, `TLS_CHACHA20_POLY1305_SHA256`, `TLS_AES_128_CCM_SHA256`, `TLS_AES_128_CCM_8_SHA256`.
	Ciphers pulumi.StringArrayInput
	// The ID of the 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
	// The tag of 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"`
	// Full port forwarding.
	AnyPortEnabled pulumi.BoolOutput `pulumi:"anyPortEnabled"`
	// . Field 'connection_drain' has been deprecated from provider version 1.214.0. New field 'connection_drain_enabled' instead.
	//
	// Deprecated: Field 'connection_drain' has been deprecated since provider version 1.214.0. New field 'connection_drain_enabled' instead.
	ConnectionDrain pulumi.BoolOutput `pulumi:"connectionDrain"`
	// Specifies whether to enable connection draining.
	ConnectionDrainEnabled pulumi.BoolOutput `pulumi:"connectionDrainEnabled"`
	// Set the connection elegant interrupt timeout. Unit: seconds. Valid values: **10** ~ **900**.
	ConnectionDrainTimeout pulumi.IntOutput `pulumi:"connectionDrainTimeout"`
	// Health check configuration information. See `healthCheck` below.
	HealthCheck ServerGroupHealthCheckOutput `pulumi:"healthCheck"`
	// Indicates whether client address retention is enabled. Special instructions: When **AddressIPVersion** is of the **ipv4** type, the default value is **true**. **Addrestipversion** can only be **false** when the value of **ipv6** is **ipv6**, and can be **true** when supported by the underlying layer.
	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"`
	// Server group status. Value:
	Status pulumi.StringOutput `pulumi:"status"`
	// Label.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The ID of the VPC to which the server group belongs.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	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 since v1.186.0.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		_, err = nlb.NewServerGroup(ctx, "default", &nlb.ServerGroupArgs{
			ResourceGroupId:        pulumi.String(_default.Ids[0]),
			ServerGroupName:        pulumi.String(name),
			ServerGroupType:        pulumi.String("Instance"),
			VpcId:                  defaultNetwork.ID(),
			Scheduler:              pulumi.String("Wrr"),
			Protocol:               pulumi.String("TCP"),
			ConnectionDrain:        pulumi.Bool(true),
			ConnectionDrainTimeout: pulumi.Int(60),
			AddressIpVersion:       pulumi.String("Ipv4"),
			HealthCheck: &nlb.ServerGroupHealthCheckArgs{
				HealthCheckEnabled:        pulumi.Bool(true),
				HealthCheckType:           pulumi.String("TCP"),
				HealthCheckConnectPort:    pulumi.Int(0),
				HealthyThreshold:          pulumi.Int(2),
				UnhealthyThreshold:        pulumi.Int(2),
				HealthCheckConnectTimeout: pulumi.Int(5),
				HealthCheckInterval:       pulumi.Int(10),
				HttpCheckMethod:           pulumi.String("GET"),
				HealthCheckHttpCodes: pulumi.StringArray{
					pulumi.String("http_2xx"),
					pulumi.String("http_3xx"),
					pulumi.String("http_4xx"),
				},
			},
			Tags: pulumi.Map{
				"Created": pulumi.Any("TF"),
				"For":     pulumi.Any("example"),
			},
		})
		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
	// Full port forwarding.
	AnyPortEnabled pulumi.BoolPtrInput
	// . Field 'connection_drain' has been deprecated from provider version 1.214.0. New field 'connection_drain_enabled' instead.
	//
	// Deprecated: Field 'connection_drain' has been deprecated since provider version 1.214.0. New field 'connection_drain_enabled' instead.
	ConnectionDrain pulumi.BoolPtrInput
	// Specifies whether to enable connection draining.
	ConnectionDrainEnabled pulumi.BoolPtrInput
	// Set the connection elegant interrupt timeout. Unit: seconds. Valid values: **10** ~ **900**.
	ConnectionDrainTimeout pulumi.IntPtrInput
	// Health check configuration information. See `healthCheck` below.
	HealthCheck ServerGroupHealthCheckPtrInput
	// Indicates whether client address retention is enabled. Special instructions: When **AddressIPVersion** is of the **ipv4** type, the default value is **true**. **Addrestipversion** can only be **false** when the value of **ipv6** is **ipv6**, and can be **true** when supported by the underlying layer.
	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
	// Label.
	Tags pulumi.MapInput
	// The ID of the VPC to which the server group belongs.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VpcId pulumi.StringInput
}

The set of arguments for constructing a ServerGroup resource.

func (ServerGroupArgs) ElementType

func (ServerGroupArgs) ElementType() reflect.Type

type ServerGroupArray

type ServerGroupArray []ServerGroupInput

func (ServerGroupArray) ElementType

func (ServerGroupArray) ElementType() reflect.Type

func (ServerGroupArray) ToServerGroupArrayOutput

func (i ServerGroupArray) ToServerGroupArrayOutput() ServerGroupArrayOutput

func (ServerGroupArray) ToServerGroupArrayOutputWithContext

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

type ServerGroupArrayInput

type ServerGroupArrayInput interface {
	pulumi.Input

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

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

ServerGroupArray{ ServerGroupArgs{...} }

type ServerGroupArrayOutput

type ServerGroupArrayOutput struct{ *pulumi.OutputState }

func (ServerGroupArrayOutput) ElementType

func (ServerGroupArrayOutput) ElementType() reflect.Type

func (ServerGroupArrayOutput) Index

func (ServerGroupArrayOutput) ToServerGroupArrayOutput

func (o ServerGroupArrayOutput) ToServerGroupArrayOutput() ServerGroupArrayOutput

func (ServerGroupArrayOutput) ToServerGroupArrayOutputWithContext

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

type ServerGroupHealthCheck

type ServerGroupHealthCheck struct {
	// The port of the backend server for health checks. Valid values: **0** ~ **65535**. **0** indicates that the port of the backend server is used for health check.
	HealthCheckConnectPort *int `pulumi:"healthCheckConnectPort"`
	// Maximum timeout for health check responses. Unit: seconds. Valid values: **1** ~ **300**.
	HealthCheckConnectTimeout *int `pulumi:"healthCheckConnectTimeout"`
	// The domain name used for health check. Valid values:
	// - **$SERVER_IP**: uses the intranet IP of the backend server.
	// - **domain**: Specify a specific domain name. The length is limited to 1 to 80 characters. Only lowercase letters, numbers, dashes (-), and half-width periods (.) can be used.
	// > **NOTE:**  This parameter takes effect only when **HealthCheckType** is **HTTP**.
	HealthCheckDomain *string `pulumi:"healthCheckDomain"`
	// Whether to enable health check. Valid values:
	// - **true**: on.
	// - **false**: closed.
	HealthCheckEnabled *bool `pulumi:"healthCheckEnabled"`
	// Health status return code. Multiple status codes are separated by commas (,). Valid values: **http\_2xx**, **http\_3xx**, **http\_4xx**, and **http\_5xx**.
	// > **NOTE:**  This parameter takes effect only when **HealthCheckType** is **HTTP**.
	HealthCheckHttpCodes []string `pulumi:"healthCheckHttpCodes"`
	// Time interval of health examination. Unit: seconds.  Valid values: **5** ~ **50**.
	HealthCheckInterval *int `pulumi:"healthCheckInterval"`
	// Health check protocol. Valid values: **TCP** or **HTTP**.
	HealthCheckType *string `pulumi:"healthCheckType"`
	// Health check path.
	// > **NOTE:**  This parameter takes effect only when **HealthCheckType** is **HTTP**.
	HealthCheckUrl *string `pulumi:"healthCheckUrl"`
	// After the health check is successful, the health check status of the backend server is determined from **failed** to **successful**.  Valid values: **2** to **10**.
	HealthyThreshold *int `pulumi:"healthyThreshold"`
	// The health check method. Valid values: **GET** or **HEAD**.
	// > **NOTE:**  This parameter takes effect only when **HealthCheckType** is **HTTP**.
	HttpCheckMethod *string `pulumi:"httpCheckMethod"`
	// After the health check fails for many times in a row, the health check status of the backend server is determined from **Success** to **Failure**. Valid values: **2** to **10**.
	UnhealthyThreshold *int `pulumi:"unhealthyThreshold"`
}

type ServerGroupHealthCheckArgs

type ServerGroupHealthCheckArgs struct {
	// The port of the backend server for health checks. Valid values: **0** ~ **65535**. **0** indicates that the port of the backend server is used for health check.
	HealthCheckConnectPort pulumi.IntPtrInput `pulumi:"healthCheckConnectPort"`
	// Maximum timeout for health check responses. Unit: seconds. Valid values: **1** ~ **300**.
	HealthCheckConnectTimeout pulumi.IntPtrInput `pulumi:"healthCheckConnectTimeout"`
	// The domain name used for health check. Valid values:
	// - **$SERVER_IP**: uses the intranet IP of the backend server.
	// - **domain**: Specify a specific domain name. The length is limited to 1 to 80 characters. Only lowercase letters, numbers, dashes (-), and half-width periods (.) can be used.
	// > **NOTE:**  This parameter takes effect only when **HealthCheckType** is **HTTP**.
	HealthCheckDomain pulumi.StringPtrInput `pulumi:"healthCheckDomain"`
	// Whether to enable health check. Valid values:
	// - **true**: on.
	// - **false**: closed.
	HealthCheckEnabled pulumi.BoolPtrInput `pulumi:"healthCheckEnabled"`
	// Health status return code. Multiple status codes are separated by commas (,). Valid values: **http\_2xx**, **http\_3xx**, **http\_4xx**, and **http\_5xx**.
	// > **NOTE:**  This parameter takes effect only when **HealthCheckType** is **HTTP**.
	HealthCheckHttpCodes pulumi.StringArrayInput `pulumi:"healthCheckHttpCodes"`
	// Time interval of health examination. Unit: seconds.  Valid values: **5** ~ **50**.
	HealthCheckInterval pulumi.IntPtrInput `pulumi:"healthCheckInterval"`
	// Health check protocol. Valid values: **TCP** or **HTTP**.
	HealthCheckType pulumi.StringPtrInput `pulumi:"healthCheckType"`
	// Health check path.
	// > **NOTE:**  This parameter takes effect only when **HealthCheckType** is **HTTP**.
	HealthCheckUrl pulumi.StringPtrInput `pulumi:"healthCheckUrl"`
	// After the health check is successful, the health check status of the backend server is determined from **failed** to **successful**.  Valid values: **2** to **10**.
	HealthyThreshold pulumi.IntPtrInput `pulumi:"healthyThreshold"`
	// The health check method. Valid values: **GET** or **HEAD**.
	// > **NOTE:**  This parameter takes effect only when **HealthCheckType** is **HTTP**.
	HttpCheckMethod pulumi.StringPtrInput `pulumi:"httpCheckMethod"`
	// After the health check fails for many times in a row, the health check status of the backend server is determined from **Success** to **Failure**. Valid values: **2** to **10**.
	UnhealthyThreshold pulumi.IntPtrInput `pulumi:"unhealthyThreshold"`
}

func (ServerGroupHealthCheckArgs) ElementType

func (ServerGroupHealthCheckArgs) ElementType() reflect.Type

func (ServerGroupHealthCheckArgs) ToServerGroupHealthCheckOutput

func (i ServerGroupHealthCheckArgs) ToServerGroupHealthCheckOutput() ServerGroupHealthCheckOutput

func (ServerGroupHealthCheckArgs) ToServerGroupHealthCheckOutputWithContext

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

func (ServerGroupHealthCheckArgs) ToServerGroupHealthCheckPtrOutput

func (i ServerGroupHealthCheckArgs) ToServerGroupHealthCheckPtrOutput() ServerGroupHealthCheckPtrOutput

func (ServerGroupHealthCheckArgs) ToServerGroupHealthCheckPtrOutputWithContext

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

type ServerGroupHealthCheckInput

type ServerGroupHealthCheckInput interface {
	pulumi.Input

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

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

ServerGroupHealthCheckArgs{...}

type ServerGroupHealthCheckOutput

type ServerGroupHealthCheckOutput struct{ *pulumi.OutputState }

func (ServerGroupHealthCheckOutput) ElementType

func (ServerGroupHealthCheckOutput) HealthCheckConnectPort

func (o ServerGroupHealthCheckOutput) HealthCheckConnectPort() pulumi.IntPtrOutput

The port of the backend server for health checks. Valid values: **0** ~ **65535**. **0** indicates that the port of the backend server is used for health check.

func (ServerGroupHealthCheckOutput) HealthCheckConnectTimeout

func (o ServerGroupHealthCheckOutput) HealthCheckConnectTimeout() pulumi.IntPtrOutput

Maximum timeout for health check responses. Unit: seconds. Valid values: **1** ~ **300**.

func (ServerGroupHealthCheckOutput) HealthCheckDomain

func (o ServerGroupHealthCheckOutput) HealthCheckDomain() pulumi.StringPtrOutput

The domain name used for health check. Valid values: - **$SERVER_IP**: uses the intranet IP of the backend server. - **domain**: Specify a specific domain name. The length is limited to 1 to 80 characters. Only lowercase letters, numbers, dashes (-), and half-width periods (.) can be used. > **NOTE:** This parameter takes effect only when **HealthCheckType** is **HTTP**.

func (ServerGroupHealthCheckOutput) HealthCheckEnabled

func (o ServerGroupHealthCheckOutput) HealthCheckEnabled() pulumi.BoolPtrOutput

Whether to enable health check. Valid values: - **true**: on. - **false**: closed.

func (ServerGroupHealthCheckOutput) HealthCheckHttpCodes

func (o ServerGroupHealthCheckOutput) HealthCheckHttpCodes() pulumi.StringArrayOutput

Health status return code. Multiple status codes are separated by commas (,). Valid values: **http\_2xx**, **http\_3xx**, **http\_4xx**, and **http\_5xx**. > **NOTE:** This parameter takes effect only when **HealthCheckType** is **HTTP**.

func (ServerGroupHealthCheckOutput) HealthCheckInterval

func (o ServerGroupHealthCheckOutput) HealthCheckInterval() pulumi.IntPtrOutput

Time interval of health examination. Unit: seconds. Valid values: **5** ~ **50**.

func (ServerGroupHealthCheckOutput) HealthCheckType

Health check protocol. Valid values: **TCP** or **HTTP**.

func (ServerGroupHealthCheckOutput) HealthCheckUrl

Health check path. > **NOTE:** This parameter takes effect only when **HealthCheckType** is **HTTP**.

func (ServerGroupHealthCheckOutput) HealthyThreshold

func (o ServerGroupHealthCheckOutput) HealthyThreshold() pulumi.IntPtrOutput

After the health check is successful, the health check status of the backend server is determined from **failed** to **successful**. Valid values: **2** to **10**.

func (ServerGroupHealthCheckOutput) HttpCheckMethod

The health check method. Valid values: **GET** or **HEAD**. > **NOTE:** This parameter takes effect only when **HealthCheckType** is **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

After the health check fails for many times in a row, the health check status of the backend server is determined from **Success** to **Failure**. Valid values: **2** to **10**.

type ServerGroupHealthCheckPtrInput

type ServerGroupHealthCheckPtrInput interface {
	pulumi.Input

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

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

        ServerGroupHealthCheckArgs{...}

or:

        nil

type ServerGroupHealthCheckPtrOutput

type ServerGroupHealthCheckPtrOutput struct{ *pulumi.OutputState }

func (ServerGroupHealthCheckPtrOutput) Elem

func (ServerGroupHealthCheckPtrOutput) ElementType

func (ServerGroupHealthCheckPtrOutput) HealthCheckConnectPort

func (o ServerGroupHealthCheckPtrOutput) HealthCheckConnectPort() pulumi.IntPtrOutput

The port of the backend server for health checks. Valid values: **0** ~ **65535**. **0** indicates that the port of the backend server is used for health check.

func (ServerGroupHealthCheckPtrOutput) HealthCheckConnectTimeout

func (o ServerGroupHealthCheckPtrOutput) HealthCheckConnectTimeout() pulumi.IntPtrOutput

Maximum timeout for health check responses. Unit: seconds. Valid values: **1** ~ **300**.

func (ServerGroupHealthCheckPtrOutput) HealthCheckDomain

The domain name used for health check. Valid values: - **$SERVER_IP**: uses the intranet IP of the backend server. - **domain**: Specify a specific domain name. The length is limited to 1 to 80 characters. Only lowercase letters, numbers, dashes (-), and half-width periods (.) can be used. > **NOTE:** This parameter takes effect only when **HealthCheckType** is **HTTP**.

func (ServerGroupHealthCheckPtrOutput) HealthCheckEnabled

func (o ServerGroupHealthCheckPtrOutput) HealthCheckEnabled() pulumi.BoolPtrOutput

Whether to enable health check. Valid values: - **true**: on. - **false**: closed.

func (ServerGroupHealthCheckPtrOutput) HealthCheckHttpCodes

func (o ServerGroupHealthCheckPtrOutput) HealthCheckHttpCodes() pulumi.StringArrayOutput

Health status return code. Multiple status codes are separated by commas (,). Valid values: **http\_2xx**, **http\_3xx**, **http\_4xx**, and **http\_5xx**. > **NOTE:** This parameter takes effect only when **HealthCheckType** is **HTTP**.

func (ServerGroupHealthCheckPtrOutput) HealthCheckInterval

func (o ServerGroupHealthCheckPtrOutput) HealthCheckInterval() pulumi.IntPtrOutput

Time interval of health examination. Unit: seconds. Valid values: **5** ~ **50**.

func (ServerGroupHealthCheckPtrOutput) HealthCheckType

Health check protocol. Valid values: **TCP** or **HTTP**.

func (ServerGroupHealthCheckPtrOutput) HealthCheckUrl

Health check path. > **NOTE:** This parameter takes effect only when **HealthCheckType** is **HTTP**.

func (ServerGroupHealthCheckPtrOutput) HealthyThreshold

After the health check is successful, the health check status of the backend server is determined from **failed** to **successful**. Valid values: **2** to **10**.

func (ServerGroupHealthCheckPtrOutput) HttpCheckMethod

The health check method. Valid values: **GET** or **HEAD**. > **NOTE:** This parameter takes effect only when **HealthCheckType** is **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

After the health check fails for many times in a row, the health check status of the backend server is determined from **Success** to **Failure**. Valid values: **2** to **10**.

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) AnyPortEnabled added in v3.47.0

func (o ServerGroupOutput) AnyPortEnabled() pulumi.BoolOutput

Full port forwarding.

func (ServerGroupOutput) ConnectionDrain deprecated

func (o ServerGroupOutput) ConnectionDrain() pulumi.BoolOutput

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

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

func (ServerGroupOutput) ConnectionDrainEnabled added in v3.47.0

func (o ServerGroupOutput) ConnectionDrainEnabled() pulumi.BoolOutput

Specifies whether to enable connection draining.

func (ServerGroupOutput) ConnectionDrainTimeout

func (o ServerGroupOutput) ConnectionDrainTimeout() pulumi.IntOutput

Set the connection elegant interrupt timeout. Unit: seconds. Valid values: **10** ~ **900**.

func (ServerGroupOutput) ElementType

func (ServerGroupOutput) ElementType() reflect.Type

func (ServerGroupOutput) HealthCheck

Health check configuration information. See `healthCheck` below.

func (ServerGroupOutput) PreserveClientIpEnabled

func (o ServerGroupOutput) PreserveClientIpEnabled() pulumi.BoolOutput

Indicates whether client address retention is enabled. Special instructions: When **AddressIPVersion** is of the **ipv4** type, the default value is **true**. **Addrestipversion** can only be **false** when the value of **ipv6** is **ipv6**, and can be **true** when supported by the underlying layer.

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

Server group status. Value:

func (ServerGroupOutput) Tags

Label.

func (ServerGroupOutput) ToServerGroupOutput

func (o ServerGroupOutput) ToServerGroupOutput() ServerGroupOutput

func (ServerGroupOutput) ToServerGroupOutputWithContext

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

func (ServerGroupOutput) VpcId

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

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

type ServerGroupServerAttachment

type ServerGroupServerAttachment struct {
	pulumi.CustomResourceState

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

Provides a NLB Server Group Server Attachment resource.

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

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

## Example Usage

Basic Usage

```go package main

import (

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

)

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

```

## Import

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

```sh $ pulumi import alicloud:nlb/serverGroupServerAttachment:ServerGroupServerAttachment example <server_group_id>:<server_id>:<server_type>:<port> ```

func GetServerGroupServerAttachment

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

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

func NewServerGroupServerAttachment

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

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

func (*ServerGroupServerAttachment) ElementType

func (*ServerGroupServerAttachment) ElementType() reflect.Type

func (*ServerGroupServerAttachment) ToServerGroupServerAttachmentOutput

func (i *ServerGroupServerAttachment) ToServerGroupServerAttachmentOutput() ServerGroupServerAttachmentOutput

func (*ServerGroupServerAttachment) ToServerGroupServerAttachmentOutputWithContext

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

type ServerGroupServerAttachmentArgs

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

The set of arguments for constructing a ServerGroupServerAttachment resource.

func (ServerGroupServerAttachmentArgs) ElementType

type ServerGroupServerAttachmentArray

type ServerGroupServerAttachmentArray []ServerGroupServerAttachmentInput

func (ServerGroupServerAttachmentArray) ElementType

func (ServerGroupServerAttachmentArray) ToServerGroupServerAttachmentArrayOutput

func (i ServerGroupServerAttachmentArray) ToServerGroupServerAttachmentArrayOutput() ServerGroupServerAttachmentArrayOutput

func (ServerGroupServerAttachmentArray) ToServerGroupServerAttachmentArrayOutputWithContext

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

type ServerGroupServerAttachmentArrayInput

type ServerGroupServerAttachmentArrayInput interface {
	pulumi.Input

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

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

ServerGroupServerAttachmentArray{ ServerGroupServerAttachmentArgs{...} }

type ServerGroupServerAttachmentArrayOutput

type ServerGroupServerAttachmentArrayOutput struct{ *pulumi.OutputState }

func (ServerGroupServerAttachmentArrayOutput) ElementType

func (ServerGroupServerAttachmentArrayOutput) Index

func (ServerGroupServerAttachmentArrayOutput) ToServerGroupServerAttachmentArrayOutput

func (o ServerGroupServerAttachmentArrayOutput) ToServerGroupServerAttachmentArrayOutput() ServerGroupServerAttachmentArrayOutput

func (ServerGroupServerAttachmentArrayOutput) ToServerGroupServerAttachmentArrayOutputWithContext

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

type ServerGroupServerAttachmentInput

type ServerGroupServerAttachmentInput interface {
	pulumi.Input

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

type ServerGroupServerAttachmentMap

type ServerGroupServerAttachmentMap map[string]ServerGroupServerAttachmentInput

func (ServerGroupServerAttachmentMap) ElementType

func (ServerGroupServerAttachmentMap) ToServerGroupServerAttachmentMapOutput

func (i ServerGroupServerAttachmentMap) ToServerGroupServerAttachmentMapOutput() ServerGroupServerAttachmentMapOutput

func (ServerGroupServerAttachmentMap) ToServerGroupServerAttachmentMapOutputWithContext

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

type ServerGroupServerAttachmentMapInput

type ServerGroupServerAttachmentMapInput interface {
	pulumi.Input

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

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

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

type ServerGroupServerAttachmentMapOutput

type ServerGroupServerAttachmentMapOutput struct{ *pulumi.OutputState }

func (ServerGroupServerAttachmentMapOutput) ElementType

func (ServerGroupServerAttachmentMapOutput) MapIndex

func (ServerGroupServerAttachmentMapOutput) ToServerGroupServerAttachmentMapOutput

func (o ServerGroupServerAttachmentMapOutput) ToServerGroupServerAttachmentMapOutput() ServerGroupServerAttachmentMapOutput

func (ServerGroupServerAttachmentMapOutput) ToServerGroupServerAttachmentMapOutputWithContext

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

type ServerGroupServerAttachmentOutput

type ServerGroupServerAttachmentOutput struct{ *pulumi.OutputState }

func (ServerGroupServerAttachmentOutput) Description

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

func (ServerGroupServerAttachmentOutput) ElementType

func (ServerGroupServerAttachmentOutput) Port

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

func (ServerGroupServerAttachmentOutput) ServerGroupId

The ID of the server group.

func (ServerGroupServerAttachmentOutput) ServerId

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

func (ServerGroupServerAttachmentOutput) ServerIp

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

func (ServerGroupServerAttachmentOutput) ServerType

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

func (ServerGroupServerAttachmentOutput) Status

The status of the resource.

func (ServerGroupServerAttachmentOutput) ToServerGroupServerAttachmentOutput

func (o ServerGroupServerAttachmentOutput) ToServerGroupServerAttachmentOutput() ServerGroupServerAttachmentOutput

func (ServerGroupServerAttachmentOutput) ToServerGroupServerAttachmentOutputWithContext

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

func (ServerGroupServerAttachmentOutput) Weight

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

func (ServerGroupServerAttachmentOutput) ZoneId

The zoneId of the server.

type ServerGroupServerAttachmentState

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

func (ServerGroupServerAttachmentState) ElementType

type ServerGroupState

type ServerGroupState struct {
	// The protocol version. Valid values: `Ipv4` (default), `DualStack`.
	AddressIpVersion pulumi.StringPtrInput
	// Full port forwarding.
	AnyPortEnabled pulumi.BoolPtrInput
	// . Field 'connection_drain' has been deprecated from provider version 1.214.0. New field 'connection_drain_enabled' instead.
	//
	// Deprecated: Field 'connection_drain' has been deprecated since provider version 1.214.0. New field 'connection_drain_enabled' instead.
	ConnectionDrain pulumi.BoolPtrInput
	// Specifies whether to enable connection draining.
	ConnectionDrainEnabled pulumi.BoolPtrInput
	// Set the connection elegant interrupt timeout. Unit: seconds. Valid values: **10** ~ **900**.
	ConnectionDrainTimeout pulumi.IntPtrInput
	// Health check configuration information. See `healthCheck` below.
	HealthCheck ServerGroupHealthCheckPtrInput
	// Indicates whether client address retention is enabled. Special instructions: When **AddressIPVersion** is of the **ipv4** type, the default value is **true**. **Addrestipversion** can only be **false** when the value of **ipv6** is **ipv6**, and can be **true** when supported by the underlying layer.
	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
	// Server group status. Value:
	Status pulumi.StringPtrInput
	// Label.
	Tags pulumi.MapInput
	// The ID of the VPC to which the server group belongs.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VpcId pulumi.StringPtrInput
}

func (ServerGroupState) ElementType

func (ServerGroupState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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