elb

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v0.0.2

func PkgVersion() (semver.Version, error)

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

Types

type Certificate

type Certificate struct {
	pulumi.CustomResourceState

	// The public encrypted key of the Certificate, PEM format.
	Certificate pulumi.StringOutput `pulumi:"certificate"`
	// Indicates the creation time.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Human-readable description for the Certificate.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The domain of the Certificate. The value contains a maximum of 100 characters. This
	// parameter is valid only when `type` is set to "server".
	Domain pulumi.StringPtrOutput `pulumi:"domain"`
	// The enterprise project ID of the certificate. Changing this
	// creates a new certificate.
	EnterpriseProjectId pulumi.StringOutput `pulumi:"enterpriseProjectId"`
	// Human-readable name for the Certificate. Does not have to be unique.
	Name pulumi.StringOutput `pulumi:"name"`
	// The private encrypted key of the Certificate, PEM format. This parameter is valid
	// and mandatory only when `type` is set to "server".
	PrivateKey pulumi.StringPtrOutput `pulumi:"privateKey"`
	// The region in which to create the ELB certificate resource. If omitted, the
	// provider-level region will be used. Changing this creates a new certificate.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the certificate type. The default value is "server". The value can be
	// one of the following:
	// + server: indicates the server certificate.
	// + client: indicates the CA certificate.
	Type pulumi.StringPtrOutput `pulumi:"type"`
	// Indicates the update time.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

Manages an ELB certificate resource within HuaweiCloud.

## Example Usage

```go package main

import (

"fmt"

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Elb.NewCertificate(ctx, "certificate1", &Elb.CertificateArgs{
			Certificate: pulumi.String(fmt.Sprintf(`-----BEGIN CERTIFICATE-----

MIIDpTCCAo2gAwIBAgIJAKdmmOBYnFvoMA0GCSqGSIb3DQEBCwUAMGkxCzAJBgNV BAYTAnh4MQswCQYDVQQIDAJ4eDELMAkGA1UEBwwCeHgxCzAJBgNVBAoMAnh4MQsw CQYDVQQLDAJ4eDELMAkGA1UEAwwCeHgxGTAXBgkqhkiG9w0BCQEWCnh4QDE2My5j b20wHhcNMTcxMjA0MDM0MjQ5WhcNMjAxMjAzMDM0MjQ5WjBpMQswCQYDVQQGEwJ4 eDELMAkGA1UECAwCeHgxCzAJBgNVBAcMAnh4MQswCQYDVQQKDAJ4eDELMAkGA1UE CwwCeHgxCzAJBgNVBAMMAnh4MRkwFwYJKoZIhvcNAQkBFgp4eEAxNjMuY29tMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN 2s8tZ/6LC3X82fajpVsYqF1xqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYld iE6Vp8HH5BSKaCWKVg8lGWg1UM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb 3iyNBmiZ8aZhGw2pI1YwR+15MVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dz Q8z1JXWdg8/9Zx7Ktvgwu5PQM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5 mf2DPkVgM08XAgaLJcLigwD513koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwID AQABo1AwTjAdBgNVHQ4EFgQUo5A2tIu+bcUfvGTD7wmEkhXKFjcwHwYDVR0jBBgw FoAUo5A2tIu+bcUfvGTD7wmEkhXKFjcwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B AQsFAAOCAQEAWJ2rS6Mvlqk3GfEpboezx2J3X7l1z8Sxoqg6ntwB+rezvK3mc9H0 83qcVeUcoH+0A0lSHyFN4FvRQL6X1hEheHarYwJK4agb231vb5erasuGO463eYEG r4SfTuOm7SyiV2xxbaBKrXJtpBp4WLL/s+LF+nklKjaOxkmxUX0sM4CTA7uFJypY c8Tdr8lDDNqoUtMD8BrUCJi+7lmMXRcC3Qi3oZJW76ja+kZA5mKVFPd1ATih8TbA i34R7EQDtFeiSvBdeKRsPp8c0KT8H1B4lXNkkCQs2WX5p4lm99+ZtLD4glw8x6Ic i1YhgnQbn5E0hz55OLu5jvOkKQjPCW+8Kg== -----END CERTIFICATE-----

`)),

Description: pulumi.String("terraform test certificate"),
Domain:      pulumi.String("www.elb.com"),
PrivateKey: pulumi.String(fmt.Sprintf(`-----BEGIN RSA PRIVATE KEY-----

MIIEowIBAAKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN2s8tZ/6LC3X82fajpVsYqF1x qEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYldiE6Vp8HH5BSKaCWKVg8lGWg1 UM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb3iyNBmiZ8aZhGw2pI1YwR+15 MVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dzQ8z1JXWdg8/9Zx7Ktvgwu5PQ M3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5mf2DPkVgM08XAgaLJcLigwD5 13koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwIDAQABAoIBACU9S5fjD9/jTMXA DRs08A+gGgZUxLn0xk+NAPX3LyB1tfdkCaFB8BccLzO6h3KZuwQOBPv6jkdvEDbx Nwyw3eA/9GJsIvKiHc0rejdvyPymaw9I8MA7NbXHaJrY7KpqDQyk6sx+aUTcy5jg iMXLWdwXYHhJ/1HVOo603oZyiS6HZeYU089NDUcX+1SJi3e5Ke0gPVXEqCq1O11/ rh24bMxnwZo4PKBWdcMBN5Zf/4ij9vrZE+fFzW7vGBO48A5lvZxWU2U5t/OZQRtN 1uLOHmMFa0FIF2aWbTVfwdUWAFsvAOkHj9VV8BXOUwKOUuEktdkfAlvrxmsFrO/H yDeYYPkCgYEA/S55CBbR0sMXpSZ56uRn8JHApZJhgkgvYr+FqDlJq/e92nAzf01P RoEBUajwrnf1ycevN/SDfbtWzq2XJGqhWdJmtpO16b7KBsC6BdRcH6dnOYh31jgA vABMIP3wzI4zSVTyxRE8LDuboytF1mSCeV5tHYPQTZNwrplDnLQhywcCgYEAw8Yc Uk/eiFr3hfH/ZohMfV5p82Qp7DNIGRzw8YtVG/3+vNXrAXW1VhugNhQY6L+zLtJC aKn84ooup0m3YCg0hvINqJuvzfsuzQgtjTXyaE0cEwsjUusOmiuj09vVx/3U7siK Hdjd2ICPCvQ6Q8tdi8jV320gMs05AtaBkZdsiWUCgYEAtLw4Kk4f+xTKDFsrLUNf 75wcqhWVBiwBp7yQ7UX4EYsJPKZcHMRTk0EEcAbpyaJZE3I44vjp5ReXIHNLMfPs uvI34J4Rfot0LN3n7cFrAi2+wpNo+MOBwrNzpRmijGP2uKKrq4JiMjFbKV/6utGF Up7VxfwS904JYpqGaZctiIECgYA1A6nZtF0riY6ry/uAdXpZHL8ONNqRZtWoT0kD 79otSVu5ISiRbaGcXsDExC52oKrSDAgFtbqQUiEOFg09UcXfoR6HwRkba2CiDwve yHQLQI5Qrdxz8Mk0gIrNrSM4FAmcW9vi9z4kCbQyoC5C+4gqeUlJRpDIkQBWP2Y4 2ct/bQKBgHv8qCsQTZphOxc31BJPa2xVhuv18cEU3XLUrVfUZ/1f43JhLp7gynS2 ep++LKUi9D0VGXY8bqvfJjbECoCeu85vl8NpCXwe/LoVoIn+7KaVIZMwqoGMfgNl nEqm7HWkNxHhf8A6En/IjleuddS1sf9e/x+TJN1Xhnt9W6pe7Fk1 -----END RSA PRIVATE KEY-----

`)),

		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ELB certificate can be imported using the certificate ID, e.g.

```sh

$ pulumi import huaweicloud:Elb/certificate:Certificate certificate_1 5c20fdad-7288-11eb-b817-0255ac10158b

```

Note that the imported state may not be identical to your resource definition, due to some attributes missing from the API response, security or some other reason. The missing attributes include`enterprise_project_id`. It is generally recommended running `terraform plan` after importing a certificate. You can then decide if changes should be applied to the certificate, or the resource definition should be updated to align with the certificate. Also you can ignore changes as below. resource "huaweicloud_lb_certificate" "certificate_1" {

...

lifecycle {

ignore_changes = [

enterprise_project_id,

]

} }

func GetCertificate

func GetCertificate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CertificateState, opts ...pulumi.ResourceOption) (*Certificate, error)

GetCertificate gets an existing Certificate 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 NewCertificate

func NewCertificate(ctx *pulumi.Context,
	name string, args *CertificateArgs, opts ...pulumi.ResourceOption) (*Certificate, error)

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

func (*Certificate) ElementType

func (*Certificate) ElementType() reflect.Type

func (*Certificate) ToCertificateOutput

func (i *Certificate) ToCertificateOutput() CertificateOutput

func (*Certificate) ToCertificateOutputWithContext

func (i *Certificate) ToCertificateOutputWithContext(ctx context.Context) CertificateOutput

type CertificateArgs

type CertificateArgs struct {
	// The public encrypted key of the Certificate, PEM format.
	Certificate pulumi.StringInput
	// Human-readable description for the Certificate.
	Description pulumi.StringPtrInput
	// The domain of the Certificate. The value contains a maximum of 100 characters. This
	// parameter is valid only when `type` is set to "server".
	Domain pulumi.StringPtrInput
	// The enterprise project ID of the certificate. Changing this
	// creates a new certificate.
	EnterpriseProjectId pulumi.StringPtrInput
	// Human-readable name for the Certificate. Does not have to be unique.
	Name pulumi.StringPtrInput
	// The private encrypted key of the Certificate, PEM format. This parameter is valid
	// and mandatory only when `type` is set to "server".
	PrivateKey pulumi.StringPtrInput
	// The region in which to create the ELB certificate resource. If omitted, the
	// provider-level region will be used. Changing this creates a new certificate.
	Region pulumi.StringPtrInput
	// Specifies the certificate type. The default value is "server". The value can be
	// one of the following:
	// + server: indicates the server certificate.
	// + client: indicates the CA certificate.
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a Certificate resource.

func (CertificateArgs) ElementType

func (CertificateArgs) ElementType() reflect.Type

type CertificateArray

type CertificateArray []CertificateInput

func (CertificateArray) ElementType

func (CertificateArray) ElementType() reflect.Type

func (CertificateArray) ToCertificateArrayOutput

func (i CertificateArray) ToCertificateArrayOutput() CertificateArrayOutput

func (CertificateArray) ToCertificateArrayOutputWithContext

func (i CertificateArray) ToCertificateArrayOutputWithContext(ctx context.Context) CertificateArrayOutput

type CertificateArrayInput

type CertificateArrayInput interface {
	pulumi.Input

	ToCertificateArrayOutput() CertificateArrayOutput
	ToCertificateArrayOutputWithContext(context.Context) CertificateArrayOutput
}

CertificateArrayInput is an input type that accepts CertificateArray and CertificateArrayOutput values. You can construct a concrete instance of `CertificateArrayInput` via:

CertificateArray{ CertificateArgs{...} }

type CertificateArrayOutput

type CertificateArrayOutput struct{ *pulumi.OutputState }

func (CertificateArrayOutput) ElementType

func (CertificateArrayOutput) ElementType() reflect.Type

func (CertificateArrayOutput) Index

func (CertificateArrayOutput) ToCertificateArrayOutput

func (o CertificateArrayOutput) ToCertificateArrayOutput() CertificateArrayOutput

func (CertificateArrayOutput) ToCertificateArrayOutputWithContext

func (o CertificateArrayOutput) ToCertificateArrayOutputWithContext(ctx context.Context) CertificateArrayOutput

type CertificateInput

type CertificateInput interface {
	pulumi.Input

	ToCertificateOutput() CertificateOutput
	ToCertificateOutputWithContext(ctx context.Context) CertificateOutput
}

type CertificateMap

type CertificateMap map[string]CertificateInput

func (CertificateMap) ElementType

func (CertificateMap) ElementType() reflect.Type

func (CertificateMap) ToCertificateMapOutput

func (i CertificateMap) ToCertificateMapOutput() CertificateMapOutput

func (CertificateMap) ToCertificateMapOutputWithContext

func (i CertificateMap) ToCertificateMapOutputWithContext(ctx context.Context) CertificateMapOutput

type CertificateMapInput

type CertificateMapInput interface {
	pulumi.Input

	ToCertificateMapOutput() CertificateMapOutput
	ToCertificateMapOutputWithContext(context.Context) CertificateMapOutput
}

CertificateMapInput is an input type that accepts CertificateMap and CertificateMapOutput values. You can construct a concrete instance of `CertificateMapInput` via:

CertificateMap{ "key": CertificateArgs{...} }

type CertificateMapOutput

type CertificateMapOutput struct{ *pulumi.OutputState }

func (CertificateMapOutput) ElementType

func (CertificateMapOutput) ElementType() reflect.Type

func (CertificateMapOutput) MapIndex

func (CertificateMapOutput) ToCertificateMapOutput

func (o CertificateMapOutput) ToCertificateMapOutput() CertificateMapOutput

func (CertificateMapOutput) ToCertificateMapOutputWithContext

func (o CertificateMapOutput) ToCertificateMapOutputWithContext(ctx context.Context) CertificateMapOutput

type CertificateOutput

type CertificateOutput struct{ *pulumi.OutputState }

func (CertificateOutput) Certificate

func (o CertificateOutput) Certificate() pulumi.StringOutput

The public encrypted key of the Certificate, PEM format.

func (CertificateOutput) CreateTime

func (o CertificateOutput) CreateTime() pulumi.StringOutput

Indicates the creation time.

func (CertificateOutput) Description

func (o CertificateOutput) Description() pulumi.StringPtrOutput

Human-readable description for the Certificate.

func (CertificateOutput) Domain

The domain of the Certificate. The value contains a maximum of 100 characters. This parameter is valid only when `type` is set to "server".

func (CertificateOutput) ElementType

func (CertificateOutput) ElementType() reflect.Type

func (CertificateOutput) EnterpriseProjectId

func (o CertificateOutput) EnterpriseProjectId() pulumi.StringOutput

The enterprise project ID of the certificate. Changing this creates a new certificate.

func (CertificateOutput) Name

Human-readable name for the Certificate. Does not have to be unique.

func (CertificateOutput) PrivateKey

func (o CertificateOutput) PrivateKey() pulumi.StringPtrOutput

The private encrypted key of the Certificate, PEM format. This parameter is valid and mandatory only when `type` is set to "server".

func (CertificateOutput) Region

The region in which to create the ELB certificate resource. If omitted, the provider-level region will be used. Changing this creates a new certificate.

func (CertificateOutput) ToCertificateOutput

func (o CertificateOutput) ToCertificateOutput() CertificateOutput

func (CertificateOutput) ToCertificateOutputWithContext

func (o CertificateOutput) ToCertificateOutputWithContext(ctx context.Context) CertificateOutput

func (CertificateOutput) Type

Specifies the certificate type. The default value is "server". The value can be one of the following: + server: indicates the server certificate. + client: indicates the CA certificate.

func (CertificateOutput) UpdateTime

func (o CertificateOutput) UpdateTime() pulumi.StringOutput

Indicates the update time.

type CertificateState

type CertificateState struct {
	// The public encrypted key of the Certificate, PEM format.
	Certificate pulumi.StringPtrInput
	// Indicates the creation time.
	CreateTime pulumi.StringPtrInput
	// Human-readable description for the Certificate.
	Description pulumi.StringPtrInput
	// The domain of the Certificate. The value contains a maximum of 100 characters. This
	// parameter is valid only when `type` is set to "server".
	Domain pulumi.StringPtrInput
	// The enterprise project ID of the certificate. Changing this
	// creates a new certificate.
	EnterpriseProjectId pulumi.StringPtrInput
	// Human-readable name for the Certificate. Does not have to be unique.
	Name pulumi.StringPtrInput
	// The private encrypted key of the Certificate, PEM format. This parameter is valid
	// and mandatory only when `type` is set to "server".
	PrivateKey pulumi.StringPtrInput
	// The region in which to create the ELB certificate resource. If omitted, the
	// provider-level region will be used. Changing this creates a new certificate.
	Region pulumi.StringPtrInput
	// Specifies the certificate type. The default value is "server". The value can be
	// one of the following:
	// + server: indicates the server certificate.
	// + client: indicates the CA certificate.
	Type pulumi.StringPtrInput
	// Indicates the update time.
	UpdateTime pulumi.StringPtrInput
}

func (CertificateState) ElementType

func (CertificateState) ElementType() reflect.Type

type GetListenersArgs

type GetListenersArgs struct {
	// The listener name.
	Name *string `pulumi:"name"`
	// The listener protocol.\
	// The valid values are **TCP**, **UDP**, **HTTP** and **TERMINATED_HTTPS**.
	Protocol *string `pulumi:"protocol"`
	// The front-end listening port of the listener.\
	// The valid value is range from `1` to `65535`.
	ProtocolPort *string `pulumi:"protocolPort"`
	// Specifies the region in which to query the data source.
	// If omitted, the provider-level region will be used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getListeners.

type GetListenersListener

type GetListenersListener struct {
	// The maximum number of connections allowed for the listener.
	ConnectionLimit int `pulumi:"connectionLimit"`
	// The ID of the default pool with which the ELB listener is associated.
	DefaultPoolId string `pulumi:"defaultPoolId"`
	// The ID of the server certificate used by the listener.
	DefaultTlsContainerRef string `pulumi:"defaultTlsContainerRef"`
	// The description of the ELB listener.
	Description string `pulumi:"description"`
	// Whether the ELB listener uses HTTP/2.
	Http2Enable bool `pulumi:"http2Enable"`
	// The ELB loadbalancer ID.
	Id string `pulumi:"id"`
	// Listener list.
	// The object structure is documented below.
	Loadbalancers []GetListenersListenerLoadbalancer `pulumi:"loadbalancers"`
	// The listener name.
	Name string `pulumi:"name"`
	// The listener protocol.\
	// The valid values are **TCP**, **UDP**, **HTTP** and **TERMINATED_HTTPS**.
	Protocol string `pulumi:"protocol"`
	// The front-end listening port of the listener.\
	// The valid value is range from `1` to `65535`.
	ProtocolPort int `pulumi:"protocolPort"`
	// List of the SNI certificate (server certificates with a domain name) IDs used by the listener.
	SniContainerRefs []string `pulumi:"sniContainerRefs"`
}

type GetListenersListenerArgs

type GetListenersListenerArgs struct {
	// The maximum number of connections allowed for the listener.
	ConnectionLimit pulumi.IntInput `pulumi:"connectionLimit"`
	// The ID of the default pool with which the ELB listener is associated.
	DefaultPoolId pulumi.StringInput `pulumi:"defaultPoolId"`
	// The ID of the server certificate used by the listener.
	DefaultTlsContainerRef pulumi.StringInput `pulumi:"defaultTlsContainerRef"`
	// The description of the ELB listener.
	Description pulumi.StringInput `pulumi:"description"`
	// Whether the ELB listener uses HTTP/2.
	Http2Enable pulumi.BoolInput `pulumi:"http2Enable"`
	// The ELB loadbalancer ID.
	Id pulumi.StringInput `pulumi:"id"`
	// Listener list.
	// The object structure is documented below.
	Loadbalancers GetListenersListenerLoadbalancerArrayInput `pulumi:"loadbalancers"`
	// The listener name.
	Name pulumi.StringInput `pulumi:"name"`
	// The listener protocol.\
	// The valid values are **TCP**, **UDP**, **HTTP** and **TERMINATED_HTTPS**.
	Protocol pulumi.StringInput `pulumi:"protocol"`
	// The front-end listening port of the listener.\
	// The valid value is range from `1` to `65535`.
	ProtocolPort pulumi.IntInput `pulumi:"protocolPort"`
	// List of the SNI certificate (server certificates with a domain name) IDs used by the listener.
	SniContainerRefs pulumi.StringArrayInput `pulumi:"sniContainerRefs"`
}

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 GetListenersListenerLoadbalancer

type GetListenersListenerLoadbalancer struct {
	// The ELB loadbalancer ID.
	Id string `pulumi:"id"`
}

type GetListenersListenerLoadbalancerArgs

type GetListenersListenerLoadbalancerArgs struct {
	// The ELB loadbalancer ID.
	Id pulumi.StringInput `pulumi:"id"`
}

func (GetListenersListenerLoadbalancerArgs) ElementType

func (GetListenersListenerLoadbalancerArgs) ToGetListenersListenerLoadbalancerOutput

func (i GetListenersListenerLoadbalancerArgs) ToGetListenersListenerLoadbalancerOutput() GetListenersListenerLoadbalancerOutput

func (GetListenersListenerLoadbalancerArgs) ToGetListenersListenerLoadbalancerOutputWithContext

func (i GetListenersListenerLoadbalancerArgs) ToGetListenersListenerLoadbalancerOutputWithContext(ctx context.Context) GetListenersListenerLoadbalancerOutput

type GetListenersListenerLoadbalancerArray

type GetListenersListenerLoadbalancerArray []GetListenersListenerLoadbalancerInput

func (GetListenersListenerLoadbalancerArray) ElementType

func (GetListenersListenerLoadbalancerArray) ToGetListenersListenerLoadbalancerArrayOutput

func (i GetListenersListenerLoadbalancerArray) ToGetListenersListenerLoadbalancerArrayOutput() GetListenersListenerLoadbalancerArrayOutput

func (GetListenersListenerLoadbalancerArray) ToGetListenersListenerLoadbalancerArrayOutputWithContext

func (i GetListenersListenerLoadbalancerArray) ToGetListenersListenerLoadbalancerArrayOutputWithContext(ctx context.Context) GetListenersListenerLoadbalancerArrayOutput

type GetListenersListenerLoadbalancerArrayInput

type GetListenersListenerLoadbalancerArrayInput interface {
	pulumi.Input

	ToGetListenersListenerLoadbalancerArrayOutput() GetListenersListenerLoadbalancerArrayOutput
	ToGetListenersListenerLoadbalancerArrayOutputWithContext(context.Context) GetListenersListenerLoadbalancerArrayOutput
}

GetListenersListenerLoadbalancerArrayInput is an input type that accepts GetListenersListenerLoadbalancerArray and GetListenersListenerLoadbalancerArrayOutput values. You can construct a concrete instance of `GetListenersListenerLoadbalancerArrayInput` via:

GetListenersListenerLoadbalancerArray{ GetListenersListenerLoadbalancerArgs{...} }

type GetListenersListenerLoadbalancerArrayOutput

type GetListenersListenerLoadbalancerArrayOutput struct{ *pulumi.OutputState }

func (GetListenersListenerLoadbalancerArrayOutput) ElementType

func (GetListenersListenerLoadbalancerArrayOutput) Index

func (GetListenersListenerLoadbalancerArrayOutput) ToGetListenersListenerLoadbalancerArrayOutput

func (o GetListenersListenerLoadbalancerArrayOutput) ToGetListenersListenerLoadbalancerArrayOutput() GetListenersListenerLoadbalancerArrayOutput

func (GetListenersListenerLoadbalancerArrayOutput) ToGetListenersListenerLoadbalancerArrayOutputWithContext

func (o GetListenersListenerLoadbalancerArrayOutput) ToGetListenersListenerLoadbalancerArrayOutputWithContext(ctx context.Context) GetListenersListenerLoadbalancerArrayOutput

type GetListenersListenerLoadbalancerInput

type GetListenersListenerLoadbalancerInput interface {
	pulumi.Input

	ToGetListenersListenerLoadbalancerOutput() GetListenersListenerLoadbalancerOutput
	ToGetListenersListenerLoadbalancerOutputWithContext(context.Context) GetListenersListenerLoadbalancerOutput
}

GetListenersListenerLoadbalancerInput is an input type that accepts GetListenersListenerLoadbalancerArgs and GetListenersListenerLoadbalancerOutput values. You can construct a concrete instance of `GetListenersListenerLoadbalancerInput` via:

GetListenersListenerLoadbalancerArgs{...}

type GetListenersListenerLoadbalancerOutput

type GetListenersListenerLoadbalancerOutput struct{ *pulumi.OutputState }

func (GetListenersListenerLoadbalancerOutput) ElementType

func (GetListenersListenerLoadbalancerOutput) Id

The ELB loadbalancer ID.

func (GetListenersListenerLoadbalancerOutput) ToGetListenersListenerLoadbalancerOutput

func (o GetListenersListenerLoadbalancerOutput) ToGetListenersListenerLoadbalancerOutput() GetListenersListenerLoadbalancerOutput

func (GetListenersListenerLoadbalancerOutput) ToGetListenersListenerLoadbalancerOutputWithContext

func (o GetListenersListenerLoadbalancerOutput) ToGetListenersListenerLoadbalancerOutputWithContext(ctx context.Context) GetListenersListenerLoadbalancerOutput

type GetListenersListenerOutput

type GetListenersListenerOutput struct{ *pulumi.OutputState }

func (GetListenersListenerOutput) ConnectionLimit

func (o GetListenersListenerOutput) ConnectionLimit() pulumi.IntOutput

The maximum number of connections allowed for the listener.

func (GetListenersListenerOutput) DefaultPoolId

The ID of the default pool with which the ELB listener is associated.

func (GetListenersListenerOutput) DefaultTlsContainerRef

func (o GetListenersListenerOutput) DefaultTlsContainerRef() pulumi.StringOutput

The ID of the server certificate used by the listener.

func (GetListenersListenerOutput) Description

The description of the ELB listener.

func (GetListenersListenerOutput) ElementType

func (GetListenersListenerOutput) ElementType() reflect.Type

func (GetListenersListenerOutput) Http2Enable

Whether the ELB listener uses HTTP/2.

func (GetListenersListenerOutput) Id

The ELB loadbalancer ID.

func (GetListenersListenerOutput) Loadbalancers

Listener list. The object structure is documented below.

func (GetListenersListenerOutput) Name

The listener name.

func (GetListenersListenerOutput) Protocol

The listener protocol.\ The valid values are **TCP**, **UDP**, **HTTP** and **TERMINATED_HTTPS**.

func (GetListenersListenerOutput) ProtocolPort

func (o GetListenersListenerOutput) ProtocolPort() pulumi.IntOutput

The front-end listening port of the listener.\ The valid value is range from `1` to `65535`.

func (GetListenersListenerOutput) SniContainerRefs

List of the SNI certificate (server certificates with a domain name) IDs used by the listener.

func (GetListenersListenerOutput) ToGetListenersListenerOutput

func (o GetListenersListenerOutput) ToGetListenersListenerOutput() GetListenersListenerOutput

func (GetListenersListenerOutput) ToGetListenersListenerOutputWithContext

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

type GetListenersOutputArgs

type GetListenersOutputArgs struct {
	// The listener name.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The listener protocol.\
	// The valid values are **TCP**, **UDP**, **HTTP** and **TERMINATED_HTTPS**.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
	// The front-end listening port of the listener.\
	// The valid value is range from `1` to `65535`.
	ProtocolPort pulumi.StringPtrInput `pulumi:"protocolPort"`
	// Specifies the region in which to query the data source.
	// If omitted, the provider-level region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

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"`
	// Listener list.
	// The object structure is documented below.
	Listeners []GetListenersListener `pulumi:"listeners"`
	// The listener name.
	Name *string `pulumi:"name"`
	// The listener protocol.
	Protocol *string `pulumi:"protocol"`
	// The front-end listening port of the listener.
	ProtocolPort *string `pulumi:"protocolPort"`
	Region       string  `pulumi:"region"`
}

A collection of values returned by getListeners.

func GetListeners

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

Use this data source to query the list of ELB listeners.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"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, "")
		protocol := cfg.RequireObject("protocol")
		_, err := Elb.GetListeners(ctx, &elb.GetListenersArgs{
			Protocol: pulumi.StringRef(protocol),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetListenersResultOutput

type GetListenersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getListeners.

func (GetListenersResultOutput) ElementType

func (GetListenersResultOutput) ElementType() reflect.Type

func (GetListenersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetListenersResultOutput) Listeners

Listener list. The object structure is documented below.

func (GetListenersResultOutput) Name

The listener name.

func (GetListenersResultOutput) Protocol

The listener protocol.

func (GetListenersResultOutput) ProtocolPort

The front-end listening port of the listener.

func (GetListenersResultOutput) Region

func (GetListenersResultOutput) ToGetListenersResultOutput

func (o GetListenersResultOutput) ToGetListenersResultOutput() GetListenersResultOutput

func (GetListenersResultOutput) ToGetListenersResultOutputWithContext

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

type GetPoolsArgs

type GetPoolsArgs struct {
	// Specifies the description of the ELB pool.
	Description *string `pulumi:"description"`
	// Specifies the health monitor ID of the ELB pool.
	HealthmonitorId *string `pulumi:"healthmonitorId"`
	// Specifies the method of the ELB pool. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS,
	// or SOURCE_IP.
	LbMethod *string `pulumi:"lbMethod"`
	// Specifies the loadbalancer ID of the ELB pool.
	LoadbalancerId *string `pulumi:"loadbalancerId"`
	// Specifies the name of the ELB pool.
	Name *string `pulumi:"name"`
	// Specifies the ID of the ELB pool.
	PoolId *string `pulumi:"poolId"`
	// Specifies the protocol of the ELB pool. This can either be TCP, UDP or HTTP.
	Protocol *string `pulumi:"protocol"`
	// Specifies the region in which to query the data source.
	// If omitted, the provider-level region will be used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getPools.

type GetPoolsOutputArgs

type GetPoolsOutputArgs struct {
	// Specifies the description of the ELB pool.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Specifies the health monitor ID of the ELB pool.
	HealthmonitorId pulumi.StringPtrInput `pulumi:"healthmonitorId"`
	// Specifies the method of the ELB pool. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS,
	// or SOURCE_IP.
	LbMethod pulumi.StringPtrInput `pulumi:"lbMethod"`
	// Specifies the loadbalancer ID of the ELB pool.
	LoadbalancerId pulumi.StringPtrInput `pulumi:"loadbalancerId"`
	// Specifies the name of the ELB pool.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the ID of the ELB pool.
	PoolId pulumi.StringPtrInput `pulumi:"poolId"`
	// Specifies the protocol of the ELB pool. This can either be TCP, UDP or HTTP.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
	// Specifies the region in which to query the data source.
	// If omitted, the provider-level region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getPools.

func (GetPoolsOutputArgs) ElementType

func (GetPoolsOutputArgs) ElementType() reflect.Type

type GetPoolsPool

type GetPoolsPool struct {
	// Specifies the description of the ELB pool.
	Description string `pulumi:"description"`
	// Specifies the health monitor ID of the ELB pool.
	HealthmonitorId string `pulumi:"healthmonitorId"`
	// The listener, loadbalancer or member ID.
	Id string `pulumi:"id"`
	// Specifies the method of the ELB pool. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS,
	// or SOURCE_IP.
	LbMethod string `pulumi:"lbMethod"`
	// The listener list. The object structure is documented below.
	Listeners []GetPoolsPoolListener `pulumi:"listeners"`
	// The loadbalancer list. The object structure is documented below.
	Loadbalancers []GetPoolsPoolLoadbalancer `pulumi:"loadbalancers"`
	// The member list. The object structure is documented below.
	Members []GetPoolsPoolMember `pulumi:"members"`
	// Specifies the name of the ELB pool.
	Name string `pulumi:"name"`
	// Indicates whether connections in the same session will be processed by the same pool member or not.
	// The object structure is documented below.
	Persistences []GetPoolsPoolPersistence `pulumi:"persistences"`
	// Specifies the protocol of the ELB pool. This can either be TCP, UDP or HTTP.
	Protocol string `pulumi:"protocol"`
}

type GetPoolsPoolArgs

type GetPoolsPoolArgs struct {
	// Specifies the description of the ELB pool.
	Description pulumi.StringInput `pulumi:"description"`
	// Specifies the health monitor ID of the ELB pool.
	HealthmonitorId pulumi.StringInput `pulumi:"healthmonitorId"`
	// The listener, loadbalancer or member ID.
	Id pulumi.StringInput `pulumi:"id"`
	// Specifies the method of the ELB pool. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS,
	// or SOURCE_IP.
	LbMethod pulumi.StringInput `pulumi:"lbMethod"`
	// The listener list. The object structure is documented below.
	Listeners GetPoolsPoolListenerArrayInput `pulumi:"listeners"`
	// The loadbalancer list. The object structure is documented below.
	Loadbalancers GetPoolsPoolLoadbalancerArrayInput `pulumi:"loadbalancers"`
	// The member list. The object structure is documented below.
	Members GetPoolsPoolMemberArrayInput `pulumi:"members"`
	// Specifies the name of the ELB pool.
	Name pulumi.StringInput `pulumi:"name"`
	// Indicates whether connections in the same session will be processed by the same pool member or not.
	// The object structure is documented below.
	Persistences GetPoolsPoolPersistenceArrayInput `pulumi:"persistences"`
	// Specifies the protocol of the ELB pool. This can either be TCP, UDP or HTTP.
	Protocol pulumi.StringInput `pulumi:"protocol"`
}

func (GetPoolsPoolArgs) ElementType

func (GetPoolsPoolArgs) ElementType() reflect.Type

func (GetPoolsPoolArgs) ToGetPoolsPoolOutput

func (i GetPoolsPoolArgs) ToGetPoolsPoolOutput() GetPoolsPoolOutput

func (GetPoolsPoolArgs) ToGetPoolsPoolOutputWithContext

func (i GetPoolsPoolArgs) ToGetPoolsPoolOutputWithContext(ctx context.Context) GetPoolsPoolOutput

type GetPoolsPoolArray

type GetPoolsPoolArray []GetPoolsPoolInput

func (GetPoolsPoolArray) ElementType

func (GetPoolsPoolArray) ElementType() reflect.Type

func (GetPoolsPoolArray) ToGetPoolsPoolArrayOutput

func (i GetPoolsPoolArray) ToGetPoolsPoolArrayOutput() GetPoolsPoolArrayOutput

func (GetPoolsPoolArray) ToGetPoolsPoolArrayOutputWithContext

func (i GetPoolsPoolArray) ToGetPoolsPoolArrayOutputWithContext(ctx context.Context) GetPoolsPoolArrayOutput

type GetPoolsPoolArrayInput

type GetPoolsPoolArrayInput interface {
	pulumi.Input

	ToGetPoolsPoolArrayOutput() GetPoolsPoolArrayOutput
	ToGetPoolsPoolArrayOutputWithContext(context.Context) GetPoolsPoolArrayOutput
}

GetPoolsPoolArrayInput is an input type that accepts GetPoolsPoolArray and GetPoolsPoolArrayOutput values. You can construct a concrete instance of `GetPoolsPoolArrayInput` via:

GetPoolsPoolArray{ GetPoolsPoolArgs{...} }

type GetPoolsPoolArrayOutput

type GetPoolsPoolArrayOutput struct{ *pulumi.OutputState }

func (GetPoolsPoolArrayOutput) ElementType

func (GetPoolsPoolArrayOutput) ElementType() reflect.Type

func (GetPoolsPoolArrayOutput) Index

func (GetPoolsPoolArrayOutput) ToGetPoolsPoolArrayOutput

func (o GetPoolsPoolArrayOutput) ToGetPoolsPoolArrayOutput() GetPoolsPoolArrayOutput

func (GetPoolsPoolArrayOutput) ToGetPoolsPoolArrayOutputWithContext

func (o GetPoolsPoolArrayOutput) ToGetPoolsPoolArrayOutputWithContext(ctx context.Context) GetPoolsPoolArrayOutput

type GetPoolsPoolInput

type GetPoolsPoolInput interface {
	pulumi.Input

	ToGetPoolsPoolOutput() GetPoolsPoolOutput
	ToGetPoolsPoolOutputWithContext(context.Context) GetPoolsPoolOutput
}

GetPoolsPoolInput is an input type that accepts GetPoolsPoolArgs and GetPoolsPoolOutput values. You can construct a concrete instance of `GetPoolsPoolInput` via:

GetPoolsPoolArgs{...}

type GetPoolsPoolListener

type GetPoolsPoolListener struct {
	// The listener, loadbalancer or member ID.
	Id string `pulumi:"id"`
}

type GetPoolsPoolListenerArgs

type GetPoolsPoolListenerArgs struct {
	// The listener, loadbalancer or member ID.
	Id pulumi.StringInput `pulumi:"id"`
}

func (GetPoolsPoolListenerArgs) ElementType

func (GetPoolsPoolListenerArgs) ElementType() reflect.Type

func (GetPoolsPoolListenerArgs) ToGetPoolsPoolListenerOutput

func (i GetPoolsPoolListenerArgs) ToGetPoolsPoolListenerOutput() GetPoolsPoolListenerOutput

func (GetPoolsPoolListenerArgs) ToGetPoolsPoolListenerOutputWithContext

func (i GetPoolsPoolListenerArgs) ToGetPoolsPoolListenerOutputWithContext(ctx context.Context) GetPoolsPoolListenerOutput

type GetPoolsPoolListenerArray

type GetPoolsPoolListenerArray []GetPoolsPoolListenerInput

func (GetPoolsPoolListenerArray) ElementType

func (GetPoolsPoolListenerArray) ElementType() reflect.Type

func (GetPoolsPoolListenerArray) ToGetPoolsPoolListenerArrayOutput

func (i GetPoolsPoolListenerArray) ToGetPoolsPoolListenerArrayOutput() GetPoolsPoolListenerArrayOutput

func (GetPoolsPoolListenerArray) ToGetPoolsPoolListenerArrayOutputWithContext

func (i GetPoolsPoolListenerArray) ToGetPoolsPoolListenerArrayOutputWithContext(ctx context.Context) GetPoolsPoolListenerArrayOutput

type GetPoolsPoolListenerArrayInput

type GetPoolsPoolListenerArrayInput interface {
	pulumi.Input

	ToGetPoolsPoolListenerArrayOutput() GetPoolsPoolListenerArrayOutput
	ToGetPoolsPoolListenerArrayOutputWithContext(context.Context) GetPoolsPoolListenerArrayOutput
}

GetPoolsPoolListenerArrayInput is an input type that accepts GetPoolsPoolListenerArray and GetPoolsPoolListenerArrayOutput values. You can construct a concrete instance of `GetPoolsPoolListenerArrayInput` via:

GetPoolsPoolListenerArray{ GetPoolsPoolListenerArgs{...} }

type GetPoolsPoolListenerArrayOutput

type GetPoolsPoolListenerArrayOutput struct{ *pulumi.OutputState }

func (GetPoolsPoolListenerArrayOutput) ElementType

func (GetPoolsPoolListenerArrayOutput) Index

func (GetPoolsPoolListenerArrayOutput) ToGetPoolsPoolListenerArrayOutput

func (o GetPoolsPoolListenerArrayOutput) ToGetPoolsPoolListenerArrayOutput() GetPoolsPoolListenerArrayOutput

func (GetPoolsPoolListenerArrayOutput) ToGetPoolsPoolListenerArrayOutputWithContext

func (o GetPoolsPoolListenerArrayOutput) ToGetPoolsPoolListenerArrayOutputWithContext(ctx context.Context) GetPoolsPoolListenerArrayOutput

type GetPoolsPoolListenerInput

type GetPoolsPoolListenerInput interface {
	pulumi.Input

	ToGetPoolsPoolListenerOutput() GetPoolsPoolListenerOutput
	ToGetPoolsPoolListenerOutputWithContext(context.Context) GetPoolsPoolListenerOutput
}

GetPoolsPoolListenerInput is an input type that accepts GetPoolsPoolListenerArgs and GetPoolsPoolListenerOutput values. You can construct a concrete instance of `GetPoolsPoolListenerInput` via:

GetPoolsPoolListenerArgs{...}

type GetPoolsPoolListenerOutput

type GetPoolsPoolListenerOutput struct{ *pulumi.OutputState }

func (GetPoolsPoolListenerOutput) ElementType

func (GetPoolsPoolListenerOutput) ElementType() reflect.Type

func (GetPoolsPoolListenerOutput) Id

The listener, loadbalancer or member ID.

func (GetPoolsPoolListenerOutput) ToGetPoolsPoolListenerOutput

func (o GetPoolsPoolListenerOutput) ToGetPoolsPoolListenerOutput() GetPoolsPoolListenerOutput

func (GetPoolsPoolListenerOutput) ToGetPoolsPoolListenerOutputWithContext

func (o GetPoolsPoolListenerOutput) ToGetPoolsPoolListenerOutputWithContext(ctx context.Context) GetPoolsPoolListenerOutput

type GetPoolsPoolLoadbalancer

type GetPoolsPoolLoadbalancer struct {
	// The listener, loadbalancer or member ID.
	Id string `pulumi:"id"`
}

type GetPoolsPoolLoadbalancerArgs

type GetPoolsPoolLoadbalancerArgs struct {
	// The listener, loadbalancer or member ID.
	Id pulumi.StringInput `pulumi:"id"`
}

func (GetPoolsPoolLoadbalancerArgs) ElementType

func (GetPoolsPoolLoadbalancerArgs) ToGetPoolsPoolLoadbalancerOutput

func (i GetPoolsPoolLoadbalancerArgs) ToGetPoolsPoolLoadbalancerOutput() GetPoolsPoolLoadbalancerOutput

func (GetPoolsPoolLoadbalancerArgs) ToGetPoolsPoolLoadbalancerOutputWithContext

func (i GetPoolsPoolLoadbalancerArgs) ToGetPoolsPoolLoadbalancerOutputWithContext(ctx context.Context) GetPoolsPoolLoadbalancerOutput

type GetPoolsPoolLoadbalancerArray

type GetPoolsPoolLoadbalancerArray []GetPoolsPoolLoadbalancerInput

func (GetPoolsPoolLoadbalancerArray) ElementType

func (GetPoolsPoolLoadbalancerArray) ToGetPoolsPoolLoadbalancerArrayOutput

func (i GetPoolsPoolLoadbalancerArray) ToGetPoolsPoolLoadbalancerArrayOutput() GetPoolsPoolLoadbalancerArrayOutput

func (GetPoolsPoolLoadbalancerArray) ToGetPoolsPoolLoadbalancerArrayOutputWithContext

func (i GetPoolsPoolLoadbalancerArray) ToGetPoolsPoolLoadbalancerArrayOutputWithContext(ctx context.Context) GetPoolsPoolLoadbalancerArrayOutput

type GetPoolsPoolLoadbalancerArrayInput

type GetPoolsPoolLoadbalancerArrayInput interface {
	pulumi.Input

	ToGetPoolsPoolLoadbalancerArrayOutput() GetPoolsPoolLoadbalancerArrayOutput
	ToGetPoolsPoolLoadbalancerArrayOutputWithContext(context.Context) GetPoolsPoolLoadbalancerArrayOutput
}

GetPoolsPoolLoadbalancerArrayInput is an input type that accepts GetPoolsPoolLoadbalancerArray and GetPoolsPoolLoadbalancerArrayOutput values. You can construct a concrete instance of `GetPoolsPoolLoadbalancerArrayInput` via:

GetPoolsPoolLoadbalancerArray{ GetPoolsPoolLoadbalancerArgs{...} }

type GetPoolsPoolLoadbalancerArrayOutput

type GetPoolsPoolLoadbalancerArrayOutput struct{ *pulumi.OutputState }

func (GetPoolsPoolLoadbalancerArrayOutput) ElementType

func (GetPoolsPoolLoadbalancerArrayOutput) Index

func (GetPoolsPoolLoadbalancerArrayOutput) ToGetPoolsPoolLoadbalancerArrayOutput

func (o GetPoolsPoolLoadbalancerArrayOutput) ToGetPoolsPoolLoadbalancerArrayOutput() GetPoolsPoolLoadbalancerArrayOutput

func (GetPoolsPoolLoadbalancerArrayOutput) ToGetPoolsPoolLoadbalancerArrayOutputWithContext

func (o GetPoolsPoolLoadbalancerArrayOutput) ToGetPoolsPoolLoadbalancerArrayOutputWithContext(ctx context.Context) GetPoolsPoolLoadbalancerArrayOutput

type GetPoolsPoolLoadbalancerInput

type GetPoolsPoolLoadbalancerInput interface {
	pulumi.Input

	ToGetPoolsPoolLoadbalancerOutput() GetPoolsPoolLoadbalancerOutput
	ToGetPoolsPoolLoadbalancerOutputWithContext(context.Context) GetPoolsPoolLoadbalancerOutput
}

GetPoolsPoolLoadbalancerInput is an input type that accepts GetPoolsPoolLoadbalancerArgs and GetPoolsPoolLoadbalancerOutput values. You can construct a concrete instance of `GetPoolsPoolLoadbalancerInput` via:

GetPoolsPoolLoadbalancerArgs{...}

type GetPoolsPoolLoadbalancerOutput

type GetPoolsPoolLoadbalancerOutput struct{ *pulumi.OutputState }

func (GetPoolsPoolLoadbalancerOutput) ElementType

func (GetPoolsPoolLoadbalancerOutput) Id

The listener, loadbalancer or member ID.

func (GetPoolsPoolLoadbalancerOutput) ToGetPoolsPoolLoadbalancerOutput

func (o GetPoolsPoolLoadbalancerOutput) ToGetPoolsPoolLoadbalancerOutput() GetPoolsPoolLoadbalancerOutput

func (GetPoolsPoolLoadbalancerOutput) ToGetPoolsPoolLoadbalancerOutputWithContext

func (o GetPoolsPoolLoadbalancerOutput) ToGetPoolsPoolLoadbalancerOutputWithContext(ctx context.Context) GetPoolsPoolLoadbalancerOutput

type GetPoolsPoolMember

type GetPoolsPoolMember struct {
	// The listener, loadbalancer or member ID.
	Id string `pulumi:"id"`
}

type GetPoolsPoolMemberArgs

type GetPoolsPoolMemberArgs struct {
	// The listener, loadbalancer or member ID.
	Id pulumi.StringInput `pulumi:"id"`
}

func (GetPoolsPoolMemberArgs) ElementType

func (GetPoolsPoolMemberArgs) ElementType() reflect.Type

func (GetPoolsPoolMemberArgs) ToGetPoolsPoolMemberOutput

func (i GetPoolsPoolMemberArgs) ToGetPoolsPoolMemberOutput() GetPoolsPoolMemberOutput

func (GetPoolsPoolMemberArgs) ToGetPoolsPoolMemberOutputWithContext

func (i GetPoolsPoolMemberArgs) ToGetPoolsPoolMemberOutputWithContext(ctx context.Context) GetPoolsPoolMemberOutput

type GetPoolsPoolMemberArray

type GetPoolsPoolMemberArray []GetPoolsPoolMemberInput

func (GetPoolsPoolMemberArray) ElementType

func (GetPoolsPoolMemberArray) ElementType() reflect.Type

func (GetPoolsPoolMemberArray) ToGetPoolsPoolMemberArrayOutput

func (i GetPoolsPoolMemberArray) ToGetPoolsPoolMemberArrayOutput() GetPoolsPoolMemberArrayOutput

func (GetPoolsPoolMemberArray) ToGetPoolsPoolMemberArrayOutputWithContext

func (i GetPoolsPoolMemberArray) ToGetPoolsPoolMemberArrayOutputWithContext(ctx context.Context) GetPoolsPoolMemberArrayOutput

type GetPoolsPoolMemberArrayInput

type GetPoolsPoolMemberArrayInput interface {
	pulumi.Input

	ToGetPoolsPoolMemberArrayOutput() GetPoolsPoolMemberArrayOutput
	ToGetPoolsPoolMemberArrayOutputWithContext(context.Context) GetPoolsPoolMemberArrayOutput
}

GetPoolsPoolMemberArrayInput is an input type that accepts GetPoolsPoolMemberArray and GetPoolsPoolMemberArrayOutput values. You can construct a concrete instance of `GetPoolsPoolMemberArrayInput` via:

GetPoolsPoolMemberArray{ GetPoolsPoolMemberArgs{...} }

type GetPoolsPoolMemberArrayOutput

type GetPoolsPoolMemberArrayOutput struct{ *pulumi.OutputState }

func (GetPoolsPoolMemberArrayOutput) ElementType

func (GetPoolsPoolMemberArrayOutput) Index

func (GetPoolsPoolMemberArrayOutput) ToGetPoolsPoolMemberArrayOutput

func (o GetPoolsPoolMemberArrayOutput) ToGetPoolsPoolMemberArrayOutput() GetPoolsPoolMemberArrayOutput

func (GetPoolsPoolMemberArrayOutput) ToGetPoolsPoolMemberArrayOutputWithContext

func (o GetPoolsPoolMemberArrayOutput) ToGetPoolsPoolMemberArrayOutputWithContext(ctx context.Context) GetPoolsPoolMemberArrayOutput

type GetPoolsPoolMemberInput

type GetPoolsPoolMemberInput interface {
	pulumi.Input

	ToGetPoolsPoolMemberOutput() GetPoolsPoolMemberOutput
	ToGetPoolsPoolMemberOutputWithContext(context.Context) GetPoolsPoolMemberOutput
}

GetPoolsPoolMemberInput is an input type that accepts GetPoolsPoolMemberArgs and GetPoolsPoolMemberOutput values. You can construct a concrete instance of `GetPoolsPoolMemberInput` via:

GetPoolsPoolMemberArgs{...}

type GetPoolsPoolMemberOutput

type GetPoolsPoolMemberOutput struct{ *pulumi.OutputState }

func (GetPoolsPoolMemberOutput) ElementType

func (GetPoolsPoolMemberOutput) ElementType() reflect.Type

func (GetPoolsPoolMemberOutput) Id

The listener, loadbalancer or member ID.

func (GetPoolsPoolMemberOutput) ToGetPoolsPoolMemberOutput

func (o GetPoolsPoolMemberOutput) ToGetPoolsPoolMemberOutput() GetPoolsPoolMemberOutput

func (GetPoolsPoolMemberOutput) ToGetPoolsPoolMemberOutputWithContext

func (o GetPoolsPoolMemberOutput) ToGetPoolsPoolMemberOutputWithContext(ctx context.Context) GetPoolsPoolMemberOutput

type GetPoolsPoolOutput

type GetPoolsPoolOutput struct{ *pulumi.OutputState }

func (GetPoolsPoolOutput) Description

func (o GetPoolsPoolOutput) Description() pulumi.StringOutput

Specifies the description of the ELB pool.

func (GetPoolsPoolOutput) ElementType

func (GetPoolsPoolOutput) ElementType() reflect.Type

func (GetPoolsPoolOutput) HealthmonitorId

func (o GetPoolsPoolOutput) HealthmonitorId() pulumi.StringOutput

Specifies the health monitor ID of the ELB pool.

func (GetPoolsPoolOutput) Id

The listener, loadbalancer or member ID.

func (GetPoolsPoolOutput) LbMethod

func (o GetPoolsPoolOutput) LbMethod() pulumi.StringOutput

Specifies the method of the ELB pool. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, or SOURCE_IP.

func (GetPoolsPoolOutput) Listeners

The listener list. The object structure is documented below.

func (GetPoolsPoolOutput) Loadbalancers

The loadbalancer list. The object structure is documented below.

func (GetPoolsPoolOutput) Members

The member list. The object structure is documented below.

func (GetPoolsPoolOutput) Name

Specifies the name of the ELB pool.

func (GetPoolsPoolOutput) Persistences

Indicates whether connections in the same session will be processed by the same pool member or not. The object structure is documented below.

func (GetPoolsPoolOutput) Protocol

func (o GetPoolsPoolOutput) Protocol() pulumi.StringOutput

Specifies the protocol of the ELB pool. This can either be TCP, UDP or HTTP.

func (GetPoolsPoolOutput) ToGetPoolsPoolOutput

func (o GetPoolsPoolOutput) ToGetPoolsPoolOutput() GetPoolsPoolOutput

func (GetPoolsPoolOutput) ToGetPoolsPoolOutputWithContext

func (o GetPoolsPoolOutput) ToGetPoolsPoolOutputWithContext(ctx context.Context) GetPoolsPoolOutput

type GetPoolsPoolPersistence

type GetPoolsPoolPersistence struct {
	// The name of the cookie if persistence mode is set appropriately.
	CookieName string `pulumi:"cookieName"`
	// The type of persistence mode.
	Type string `pulumi:"type"`
}

type GetPoolsPoolPersistenceArgs

type GetPoolsPoolPersistenceArgs struct {
	// The name of the cookie if persistence mode is set appropriately.
	CookieName pulumi.StringInput `pulumi:"cookieName"`
	// The type of persistence mode.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetPoolsPoolPersistenceArgs) ElementType

func (GetPoolsPoolPersistenceArgs) ToGetPoolsPoolPersistenceOutput

func (i GetPoolsPoolPersistenceArgs) ToGetPoolsPoolPersistenceOutput() GetPoolsPoolPersistenceOutput

func (GetPoolsPoolPersistenceArgs) ToGetPoolsPoolPersistenceOutputWithContext

func (i GetPoolsPoolPersistenceArgs) ToGetPoolsPoolPersistenceOutputWithContext(ctx context.Context) GetPoolsPoolPersistenceOutput

type GetPoolsPoolPersistenceArray

type GetPoolsPoolPersistenceArray []GetPoolsPoolPersistenceInput

func (GetPoolsPoolPersistenceArray) ElementType

func (GetPoolsPoolPersistenceArray) ToGetPoolsPoolPersistenceArrayOutput

func (i GetPoolsPoolPersistenceArray) ToGetPoolsPoolPersistenceArrayOutput() GetPoolsPoolPersistenceArrayOutput

func (GetPoolsPoolPersistenceArray) ToGetPoolsPoolPersistenceArrayOutputWithContext

func (i GetPoolsPoolPersistenceArray) ToGetPoolsPoolPersistenceArrayOutputWithContext(ctx context.Context) GetPoolsPoolPersistenceArrayOutput

type GetPoolsPoolPersistenceArrayInput

type GetPoolsPoolPersistenceArrayInput interface {
	pulumi.Input

	ToGetPoolsPoolPersistenceArrayOutput() GetPoolsPoolPersistenceArrayOutput
	ToGetPoolsPoolPersistenceArrayOutputWithContext(context.Context) GetPoolsPoolPersistenceArrayOutput
}

GetPoolsPoolPersistenceArrayInput is an input type that accepts GetPoolsPoolPersistenceArray and GetPoolsPoolPersistenceArrayOutput values. You can construct a concrete instance of `GetPoolsPoolPersistenceArrayInput` via:

GetPoolsPoolPersistenceArray{ GetPoolsPoolPersistenceArgs{...} }

type GetPoolsPoolPersistenceArrayOutput

type GetPoolsPoolPersistenceArrayOutput struct{ *pulumi.OutputState }

func (GetPoolsPoolPersistenceArrayOutput) ElementType

func (GetPoolsPoolPersistenceArrayOutput) Index

func (GetPoolsPoolPersistenceArrayOutput) ToGetPoolsPoolPersistenceArrayOutput

func (o GetPoolsPoolPersistenceArrayOutput) ToGetPoolsPoolPersistenceArrayOutput() GetPoolsPoolPersistenceArrayOutput

func (GetPoolsPoolPersistenceArrayOutput) ToGetPoolsPoolPersistenceArrayOutputWithContext

func (o GetPoolsPoolPersistenceArrayOutput) ToGetPoolsPoolPersistenceArrayOutputWithContext(ctx context.Context) GetPoolsPoolPersistenceArrayOutput

type GetPoolsPoolPersistenceInput

type GetPoolsPoolPersistenceInput interface {
	pulumi.Input

	ToGetPoolsPoolPersistenceOutput() GetPoolsPoolPersistenceOutput
	ToGetPoolsPoolPersistenceOutputWithContext(context.Context) GetPoolsPoolPersistenceOutput
}

GetPoolsPoolPersistenceInput is an input type that accepts GetPoolsPoolPersistenceArgs and GetPoolsPoolPersistenceOutput values. You can construct a concrete instance of `GetPoolsPoolPersistenceInput` via:

GetPoolsPoolPersistenceArgs{...}

type GetPoolsPoolPersistenceOutput

type GetPoolsPoolPersistenceOutput struct{ *pulumi.OutputState }

func (GetPoolsPoolPersistenceOutput) CookieName

The name of the cookie if persistence mode is set appropriately.

func (GetPoolsPoolPersistenceOutput) ElementType

func (GetPoolsPoolPersistenceOutput) ToGetPoolsPoolPersistenceOutput

func (o GetPoolsPoolPersistenceOutput) ToGetPoolsPoolPersistenceOutput() GetPoolsPoolPersistenceOutput

func (GetPoolsPoolPersistenceOutput) ToGetPoolsPoolPersistenceOutputWithContext

func (o GetPoolsPoolPersistenceOutput) ToGetPoolsPoolPersistenceOutputWithContext(ctx context.Context) GetPoolsPoolPersistenceOutput

func (GetPoolsPoolPersistenceOutput) Type

The type of persistence mode.

type GetPoolsResult

type GetPoolsResult struct {
	// The description of pool.
	Description *string `pulumi:"description"`
	// The health monitor ID of the LB pool.
	HealthmonitorId *string `pulumi:"healthmonitorId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The load balancing algorithm to distribute traffic to the pool's members.
	LbMethod       *string `pulumi:"lbMethod"`
	LoadbalancerId *string `pulumi:"loadbalancerId"`
	// The pool name.
	Name   *string `pulumi:"name"`
	PoolId *string `pulumi:"poolId"`
	// The pool list. For details, see data structure of the pool field.
	// The object structure is documented below.
	Pools []GetPoolsPool `pulumi:"pools"`
	// The protocol of pool.
	Protocol *string `pulumi:"protocol"`
	Region   string  `pulumi:"region"`
}

A collection of values returned by getPools.

func GetPools

func GetPools(ctx *pulumi.Context, args *GetPoolsArgs, opts ...pulumi.InvokeOption) (*GetPoolsResult, error)

Use this data source to get the list of ELB pools.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"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, "")
		poolName := cfg.RequireObject("poolName")
		_, err := Elb.GetPools(ctx, &elb.GetPoolsArgs{
			Name: pulumi.StringRef(poolName),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetPoolsResultOutput

type GetPoolsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPools.

func (GetPoolsResultOutput) Description

The description of pool.

func (GetPoolsResultOutput) ElementType

func (GetPoolsResultOutput) ElementType() reflect.Type

func (GetPoolsResultOutput) HealthmonitorId

func (o GetPoolsResultOutput) HealthmonitorId() pulumi.StringPtrOutput

The health monitor ID of the LB pool.

func (GetPoolsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetPoolsResultOutput) LbMethod

The load balancing algorithm to distribute traffic to the pool's members.

func (GetPoolsResultOutput) LoadbalancerId

func (o GetPoolsResultOutput) LoadbalancerId() pulumi.StringPtrOutput

func (GetPoolsResultOutput) Name

The pool name.

func (GetPoolsResultOutput) PoolId

func (GetPoolsResultOutput) Pools

The pool list. For details, see data structure of the pool field. The object structure is documented below.

func (GetPoolsResultOutput) Protocol

The protocol of pool.

func (GetPoolsResultOutput) Region

func (GetPoolsResultOutput) ToGetPoolsResultOutput

func (o GetPoolsResultOutput) ToGetPoolsResultOutput() GetPoolsResultOutput

func (GetPoolsResultOutput) ToGetPoolsResultOutputWithContext

func (o GetPoolsResultOutput) ToGetPoolsResultOutputWithContext(ctx context.Context) GetPoolsResultOutput

type L7policy

type L7policy struct {
	pulumi.CustomResourceState

	// Specifies whether requests are forwarded to another backend server group
	// or redirected to an HTTPS listener. Changing this creates a new L7 Policy. The value ranges:
	// + **REDIRECT_TO_POOL**: Requests are forwarded to the backend server group specified by `redirectPoolId`.
	// + **REDIRECT_TO_LISTENER**: Requests are redirected from the HTTP listener specified by `listenerId` to the
	//   HTTPS listener specified by `redirectListenerId`.
	Action       pulumi.StringOutput  `pulumi:"action"`
	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// Human-readable description for the L7 Policy.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies the ID of the listener for which the forwarding policy is added.
	// Changing this creates a new L7 Policy.
	ListenerId pulumi.StringOutput `pulumi:"listenerId"`
	// Human-readable name for the L7 Policy. Does not have to be unique.
	Name pulumi.StringOutput `pulumi:"name"`
	// The position of this policy on the listener. Positions start at 1.
	// Changing this creates a new L7 Policy.
	Position pulumi.IntOutput `pulumi:"position"`
	// Specifies the ID of the listener to which the traffic is redirected.
	// This parameter is mandatory when `action` is set to **REDIRECT_TO_LISTENER**. The listener must meet the
	// following requirements:
	// + Can only be an HTTPS listener.
	// + Can only be a listener of the same load balancer.
	RedirectListenerId pulumi.StringPtrOutput `pulumi:"redirectListenerId"`
	// Specifies the ID of the backend server group to which traffic is forwarded.
	// This parameter is mandatory when `action` is set to **REDIRECT_TO_POOL**. The backend server group must meet the
	// following requirements:
	// + Cannot be the default backend server group of the listener.
	// + Cannot be the backend server group used by forwarding policies of other listeners.
	RedirectPoolId pulumi.StringPtrOutput `pulumi:"redirectPoolId"`
	// The region in which to create the L7 Policy resource. If omitted, the
	// provider-level region will be used. Changing this creates a new L7 Policy.
	Region pulumi.StringOutput `pulumi:"region"`
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Manages an ELB L7 Policy resource within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		loadbalancer1, err := Elb.NewLoadbalancer(ctx, "loadbalancer1", &Elb.LoadbalancerArgs{
			VipSubnetId: pulumi.Any(_var.Subnet_id),
		})
		if err != nil {
			return err
		}
		listener1, err := Elb.NewListener(ctx, "listener1", &Elb.ListenerArgs{
			Protocol:       pulumi.String("HTTP"),
			ProtocolPort:   pulumi.Int(8080),
			LoadbalancerId: loadbalancer1.ID(),
		})
		if err != nil {
			return err
		}
		pool1, err := Elb.NewPool(ctx, "pool1", &Elb.PoolArgs{
			Protocol:       pulumi.String("HTTP"),
			LbMethod:       pulumi.String("ROUND_ROBIN"),
			LoadbalancerId: loadbalancer1.ID(),
		})
		if err != nil {
			return err
		}
		_, err = Elb.NewL7policy(ctx, "l7policy1", &Elb.L7policyArgs{
			Action:         pulumi.String("REDIRECT_TO_POOL"),
			Description:    pulumi.String("test l7 policy"),
			Position:       pulumi.Int(1),
			ListenerId:     listener1.ID(),
			RedirectPoolId: pool1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Load Balancer L7 Policy can be imported using the L7 Policy ID, e.g.

```sh

$ pulumi import huaweicloud:Elb/l7policy:L7policy l7policy_1 8a7a79c2-cf17-4e65-b2ae-ddc8bfcf6c74

```

func GetL7policy

func GetL7policy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *L7policyState, opts ...pulumi.ResourceOption) (*L7policy, error)

GetL7policy gets an existing L7policy 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 NewL7policy

func NewL7policy(ctx *pulumi.Context,
	name string, args *L7policyArgs, opts ...pulumi.ResourceOption) (*L7policy, error)

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

func (*L7policy) ElementType

func (*L7policy) ElementType() reflect.Type

func (*L7policy) ToL7policyOutput

func (i *L7policy) ToL7policyOutput() L7policyOutput

func (*L7policy) ToL7policyOutputWithContext

func (i *L7policy) ToL7policyOutputWithContext(ctx context.Context) L7policyOutput

type L7policyArgs

type L7policyArgs struct {
	// Specifies whether requests are forwarded to another backend server group
	// or redirected to an HTTPS listener. Changing this creates a new L7 Policy. The value ranges:
	// + **REDIRECT_TO_POOL**: Requests are forwarded to the backend server group specified by `redirectPoolId`.
	// + **REDIRECT_TO_LISTENER**: Requests are redirected from the HTTP listener specified by `listenerId` to the
	//   HTTPS listener specified by `redirectListenerId`.
	Action       pulumi.StringInput
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable description for the L7 Policy.
	Description pulumi.StringPtrInput
	// Specifies the ID of the listener for which the forwarding policy is added.
	// Changing this creates a new L7 Policy.
	ListenerId pulumi.StringInput
	// Human-readable name for the L7 Policy. Does not have to be unique.
	Name pulumi.StringPtrInput
	// The position of this policy on the listener. Positions start at 1.
	// Changing this creates a new L7 Policy.
	Position pulumi.IntPtrInput
	// Specifies the ID of the listener to which the traffic is redirected.
	// This parameter is mandatory when `action` is set to **REDIRECT_TO_LISTENER**. The listener must meet the
	// following requirements:
	// + Can only be an HTTPS listener.
	// + Can only be a listener of the same load balancer.
	RedirectListenerId pulumi.StringPtrInput
	// Specifies the ID of the backend server group to which traffic is forwarded.
	// This parameter is mandatory when `action` is set to **REDIRECT_TO_POOL**. The backend server group must meet the
	// following requirements:
	// + Cannot be the default backend server group of the listener.
	// + Cannot be the backend server group used by forwarding policies of other listeners.
	RedirectPoolId pulumi.StringPtrInput
	// The region in which to create the L7 Policy resource. If omitted, the
	// provider-level region will be used. Changing this creates a new L7 Policy.
	Region pulumi.StringPtrInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
}

The set of arguments for constructing a L7policy resource.

func (L7policyArgs) ElementType

func (L7policyArgs) ElementType() reflect.Type

type L7policyArray

type L7policyArray []L7policyInput

func (L7policyArray) ElementType

func (L7policyArray) ElementType() reflect.Type

func (L7policyArray) ToL7policyArrayOutput

func (i L7policyArray) ToL7policyArrayOutput() L7policyArrayOutput

func (L7policyArray) ToL7policyArrayOutputWithContext

func (i L7policyArray) ToL7policyArrayOutputWithContext(ctx context.Context) L7policyArrayOutput

type L7policyArrayInput

type L7policyArrayInput interface {
	pulumi.Input

	ToL7policyArrayOutput() L7policyArrayOutput
	ToL7policyArrayOutputWithContext(context.Context) L7policyArrayOutput
}

L7policyArrayInput is an input type that accepts L7policyArray and L7policyArrayOutput values. You can construct a concrete instance of `L7policyArrayInput` via:

L7policyArray{ L7policyArgs{...} }

type L7policyArrayOutput

type L7policyArrayOutput struct{ *pulumi.OutputState }

func (L7policyArrayOutput) ElementType

func (L7policyArrayOutput) ElementType() reflect.Type

func (L7policyArrayOutput) Index

func (L7policyArrayOutput) ToL7policyArrayOutput

func (o L7policyArrayOutput) ToL7policyArrayOutput() L7policyArrayOutput

func (L7policyArrayOutput) ToL7policyArrayOutputWithContext

func (o L7policyArrayOutput) ToL7policyArrayOutputWithContext(ctx context.Context) L7policyArrayOutput

type L7policyInput

type L7policyInput interface {
	pulumi.Input

	ToL7policyOutput() L7policyOutput
	ToL7policyOutputWithContext(ctx context.Context) L7policyOutput
}

type L7policyMap

type L7policyMap map[string]L7policyInput

func (L7policyMap) ElementType

func (L7policyMap) ElementType() reflect.Type

func (L7policyMap) ToL7policyMapOutput

func (i L7policyMap) ToL7policyMapOutput() L7policyMapOutput

func (L7policyMap) ToL7policyMapOutputWithContext

func (i L7policyMap) ToL7policyMapOutputWithContext(ctx context.Context) L7policyMapOutput

type L7policyMapInput

type L7policyMapInput interface {
	pulumi.Input

	ToL7policyMapOutput() L7policyMapOutput
	ToL7policyMapOutputWithContext(context.Context) L7policyMapOutput
}

L7policyMapInput is an input type that accepts L7policyMap and L7policyMapOutput values. You can construct a concrete instance of `L7policyMapInput` via:

L7policyMap{ "key": L7policyArgs{...} }

type L7policyMapOutput

type L7policyMapOutput struct{ *pulumi.OutputState }

func (L7policyMapOutput) ElementType

func (L7policyMapOutput) ElementType() reflect.Type

func (L7policyMapOutput) MapIndex

func (L7policyMapOutput) ToL7policyMapOutput

func (o L7policyMapOutput) ToL7policyMapOutput() L7policyMapOutput

func (L7policyMapOutput) ToL7policyMapOutputWithContext

func (o L7policyMapOutput) ToL7policyMapOutputWithContext(ctx context.Context) L7policyMapOutput

type L7policyOutput

type L7policyOutput struct{ *pulumi.OutputState }

func (L7policyOutput) Action

func (o L7policyOutput) Action() pulumi.StringOutput

Specifies whether requests are forwarded to another backend server group or redirected to an HTTPS listener. Changing this creates a new L7 Policy. The value ranges:

  • **REDIRECT_TO_POOL**: Requests are forwarded to the backend server group specified by `redirectPoolId`.
  • **REDIRECT_TO_LISTENER**: Requests are redirected from the HTTP listener specified by `listenerId` to the HTTPS listener specified by `redirectListenerId`.

func (L7policyOutput) AdminStateUp

func (o L7policyOutput) AdminStateUp() pulumi.BoolPtrOutput

func (L7policyOutput) Description

func (o L7policyOutput) Description() pulumi.StringPtrOutput

Human-readable description for the L7 Policy.

func (L7policyOutput) ElementType

func (L7policyOutput) ElementType() reflect.Type

func (L7policyOutput) ListenerId

func (o L7policyOutput) ListenerId() pulumi.StringOutput

Specifies the ID of the listener for which the forwarding policy is added. Changing this creates a new L7 Policy.

func (L7policyOutput) Name

Human-readable name for the L7 Policy. Does not have to be unique.

func (L7policyOutput) Position

func (o L7policyOutput) Position() pulumi.IntOutput

The position of this policy on the listener. Positions start at 1. Changing this creates a new L7 Policy.

func (L7policyOutput) RedirectListenerId

func (o L7policyOutput) RedirectListenerId() pulumi.StringPtrOutput

Specifies the ID of the listener to which the traffic is redirected. This parameter is mandatory when `action` is set to **REDIRECT_TO_LISTENER**. The listener must meet the following requirements: + Can only be an HTTPS listener. + Can only be a listener of the same load balancer.

func (L7policyOutput) RedirectPoolId

func (o L7policyOutput) RedirectPoolId() pulumi.StringPtrOutput

Specifies the ID of the backend server group to which traffic is forwarded. This parameter is mandatory when `action` is set to **REDIRECT_TO_POOL**. The backend server group must meet the following requirements: + Cannot be the default backend server group of the listener. + Cannot be the backend server group used by forwarding policies of other listeners.

func (L7policyOutput) Region

func (o L7policyOutput) Region() pulumi.StringOutput

The region in which to create the L7 Policy resource. If omitted, the provider-level region will be used. Changing this creates a new L7 Policy.

func (L7policyOutput) TenantId deprecated

func (o L7policyOutput) TenantId() pulumi.StringOutput

Deprecated: tenant_id is deprecated

func (L7policyOutput) ToL7policyOutput

func (o L7policyOutput) ToL7policyOutput() L7policyOutput

func (L7policyOutput) ToL7policyOutputWithContext

func (o L7policyOutput) ToL7policyOutputWithContext(ctx context.Context) L7policyOutput

type L7policyState

type L7policyState struct {
	// Specifies whether requests are forwarded to another backend server group
	// or redirected to an HTTPS listener. Changing this creates a new L7 Policy. The value ranges:
	// + **REDIRECT_TO_POOL**: Requests are forwarded to the backend server group specified by `redirectPoolId`.
	// + **REDIRECT_TO_LISTENER**: Requests are redirected from the HTTP listener specified by `listenerId` to the
	//   HTTPS listener specified by `redirectListenerId`.
	Action       pulumi.StringPtrInput
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable description for the L7 Policy.
	Description pulumi.StringPtrInput
	// Specifies the ID of the listener for which the forwarding policy is added.
	// Changing this creates a new L7 Policy.
	ListenerId pulumi.StringPtrInput
	// Human-readable name for the L7 Policy. Does not have to be unique.
	Name pulumi.StringPtrInput
	// The position of this policy on the listener. Positions start at 1.
	// Changing this creates a new L7 Policy.
	Position pulumi.IntPtrInput
	// Specifies the ID of the listener to which the traffic is redirected.
	// This parameter is mandatory when `action` is set to **REDIRECT_TO_LISTENER**. The listener must meet the
	// following requirements:
	// + Can only be an HTTPS listener.
	// + Can only be a listener of the same load balancer.
	RedirectListenerId pulumi.StringPtrInput
	// Specifies the ID of the backend server group to which traffic is forwarded.
	// This parameter is mandatory when `action` is set to **REDIRECT_TO_POOL**. The backend server group must meet the
	// following requirements:
	// + Cannot be the default backend server group of the listener.
	// + Cannot be the backend server group used by forwarding policies of other listeners.
	RedirectPoolId pulumi.StringPtrInput
	// The region in which to create the L7 Policy resource. If omitted, the
	// provider-level region will be used. Changing this creates a new L7 Policy.
	Region pulumi.StringPtrInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
}

func (L7policyState) ElementType

func (L7policyState) ElementType() reflect.Type

type L7rule

type L7rule struct {
	pulumi.CustomResourceState

	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// The comparison type for the L7 rule - can either be STARTS_WITH, EQUAL_TO or REGEX
	CompareType pulumi.StringOutput `pulumi:"compareType"`
	// The key to use for the comparison. For example, the name of the cookie to
	// evaluate. Valid when `type` is set to COOKIE or HEADER. Changing this creates a new L7 Rule.
	Key pulumi.StringPtrOutput `pulumi:"key"`
	// The ID of the L7 Policy to query. Changing this creates a new L7 Rule.
	L7policyId pulumi.StringOutput `pulumi:"l7policyId"`
	// The ID of the Listener owning this resource.
	ListenerId pulumi.StringOutput `pulumi:"listenerId"`
	// The region in which to create the L7 Rule resource. If omitted, the
	// provider-level region will be used. Changing this creates a new L7 Rule.
	Region pulumi.StringOutput `pulumi:"region"`
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// The L7 Rule type - can either be HOST_NAME or PATH. Changing this creates a new
	// L7 Rule.
	Type pulumi.StringOutput `pulumi:"type"`
	// The value to use for the comparison. For example, the file type to compare.
	Value pulumi.StringOutput `pulumi:"value"`
}

Manages an ELB L7 Rule resource within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		loadbalancer1, err := Elb.NewLoadbalancer(ctx, "loadbalancer1", &Elb.LoadbalancerArgs{
			VipSubnetId: pulumi.Any(_var.Subnet_id),
		})
		if err != nil {
			return err
		}
		listener1, err := Elb.NewListener(ctx, "listener1", &Elb.ListenerArgs{
			Protocol:       pulumi.String("HTTP"),
			ProtocolPort:   pulumi.Int(8080),
			LoadbalancerId: loadbalancer1.ID(),
		})
		if err != nil {
			return err
		}
		pool1, err := Elb.NewPool(ctx, "pool1", &Elb.PoolArgs{
			Protocol:       pulumi.String("HTTP"),
			LbMethod:       pulumi.String("ROUND_ROBIN"),
			LoadbalancerId: loadbalancer1.ID(),
		})
		if err != nil {
			return err
		}
		l7policy1, err := Elb.NewL7policy(ctx, "l7policy1", &Elb.L7policyArgs{
			Action:         pulumi.String("REDIRECT_TO_POOL"),
			Description:    pulumi.String("test l7 policy"),
			Position:       pulumi.Int(1),
			ListenerId:     listener1.ID(),
			RedirectPoolId: pool1.ID(),
		})
		if err != nil {
			return err
		}
		_, err = Elb.NewL7rule(ctx, "l7rule1", &Elb.L7ruleArgs{
			L7policyId:  l7policy1.ID(),
			Type:        pulumi.String("PATH"),
			CompareType: pulumi.String("EQUAL_TO"),
			Value:       pulumi.String("/api"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Load Balancer L7 Rule can be imported using the L7 Policy ID and L7 Rule ID separated by a slash, e.g.

```sh

$ pulumi import huaweicloud:Elb/l7rule:L7rule l7rule_1 e0bd694a-abbe-450e-b329-0931fd1cc5eb/4086b0c9-b18c-4d1c-b6b8-4c56c3ad2a9e

```

func GetL7rule

func GetL7rule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *L7ruleState, opts ...pulumi.ResourceOption) (*L7rule, error)

GetL7rule gets an existing L7rule 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 NewL7rule

func NewL7rule(ctx *pulumi.Context,
	name string, args *L7ruleArgs, opts ...pulumi.ResourceOption) (*L7rule, error)

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

func (*L7rule) ElementType

func (*L7rule) ElementType() reflect.Type

func (*L7rule) ToL7ruleOutput

func (i *L7rule) ToL7ruleOutput() L7ruleOutput

func (*L7rule) ToL7ruleOutputWithContext

func (i *L7rule) ToL7ruleOutputWithContext(ctx context.Context) L7ruleOutput

type L7ruleArgs

type L7ruleArgs struct {
	AdminStateUp pulumi.BoolPtrInput
	// The comparison type for the L7 rule - can either be STARTS_WITH, EQUAL_TO or REGEX
	CompareType pulumi.StringInput
	// The key to use for the comparison. For example, the name of the cookie to
	// evaluate. Valid when `type` is set to COOKIE or HEADER. Changing this creates a new L7 Rule.
	Key pulumi.StringPtrInput
	// The ID of the L7 Policy to query. Changing this creates a new L7 Rule.
	L7policyId pulumi.StringInput
	// The region in which to create the L7 Rule resource. If omitted, the
	// provider-level region will be used. Changing this creates a new L7 Rule.
	Region pulumi.StringPtrInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
	// The L7 Rule type - can either be HOST_NAME or PATH. Changing this creates a new
	// L7 Rule.
	Type pulumi.StringInput
	// The value to use for the comparison. For example, the file type to compare.
	Value pulumi.StringInput
}

The set of arguments for constructing a L7rule resource.

func (L7ruleArgs) ElementType

func (L7ruleArgs) ElementType() reflect.Type

type L7ruleArray

type L7ruleArray []L7ruleInput

func (L7ruleArray) ElementType

func (L7ruleArray) ElementType() reflect.Type

func (L7ruleArray) ToL7ruleArrayOutput

func (i L7ruleArray) ToL7ruleArrayOutput() L7ruleArrayOutput

func (L7ruleArray) ToL7ruleArrayOutputWithContext

func (i L7ruleArray) ToL7ruleArrayOutputWithContext(ctx context.Context) L7ruleArrayOutput

type L7ruleArrayInput

type L7ruleArrayInput interface {
	pulumi.Input

	ToL7ruleArrayOutput() L7ruleArrayOutput
	ToL7ruleArrayOutputWithContext(context.Context) L7ruleArrayOutput
}

L7ruleArrayInput is an input type that accepts L7ruleArray and L7ruleArrayOutput values. You can construct a concrete instance of `L7ruleArrayInput` via:

L7ruleArray{ L7ruleArgs{...} }

type L7ruleArrayOutput

type L7ruleArrayOutput struct{ *pulumi.OutputState }

func (L7ruleArrayOutput) ElementType

func (L7ruleArrayOutput) ElementType() reflect.Type

func (L7ruleArrayOutput) Index

func (L7ruleArrayOutput) ToL7ruleArrayOutput

func (o L7ruleArrayOutput) ToL7ruleArrayOutput() L7ruleArrayOutput

func (L7ruleArrayOutput) ToL7ruleArrayOutputWithContext

func (o L7ruleArrayOutput) ToL7ruleArrayOutputWithContext(ctx context.Context) L7ruleArrayOutput

type L7ruleInput

type L7ruleInput interface {
	pulumi.Input

	ToL7ruleOutput() L7ruleOutput
	ToL7ruleOutputWithContext(ctx context.Context) L7ruleOutput
}

type L7ruleMap

type L7ruleMap map[string]L7ruleInput

func (L7ruleMap) ElementType

func (L7ruleMap) ElementType() reflect.Type

func (L7ruleMap) ToL7ruleMapOutput

func (i L7ruleMap) ToL7ruleMapOutput() L7ruleMapOutput

func (L7ruleMap) ToL7ruleMapOutputWithContext

func (i L7ruleMap) ToL7ruleMapOutputWithContext(ctx context.Context) L7ruleMapOutput

type L7ruleMapInput

type L7ruleMapInput interface {
	pulumi.Input

	ToL7ruleMapOutput() L7ruleMapOutput
	ToL7ruleMapOutputWithContext(context.Context) L7ruleMapOutput
}

L7ruleMapInput is an input type that accepts L7ruleMap and L7ruleMapOutput values. You can construct a concrete instance of `L7ruleMapInput` via:

L7ruleMap{ "key": L7ruleArgs{...} }

type L7ruleMapOutput

type L7ruleMapOutput struct{ *pulumi.OutputState }

func (L7ruleMapOutput) ElementType

func (L7ruleMapOutput) ElementType() reflect.Type

func (L7ruleMapOutput) MapIndex

func (L7ruleMapOutput) ToL7ruleMapOutput

func (o L7ruleMapOutput) ToL7ruleMapOutput() L7ruleMapOutput

func (L7ruleMapOutput) ToL7ruleMapOutputWithContext

func (o L7ruleMapOutput) ToL7ruleMapOutputWithContext(ctx context.Context) L7ruleMapOutput

type L7ruleOutput

type L7ruleOutput struct{ *pulumi.OutputState }

func (L7ruleOutput) AdminStateUp

func (o L7ruleOutput) AdminStateUp() pulumi.BoolPtrOutput

func (L7ruleOutput) CompareType

func (o L7ruleOutput) CompareType() pulumi.StringOutput

The comparison type for the L7 rule - can either be STARTS_WITH, EQUAL_TO or REGEX

func (L7ruleOutput) ElementType

func (L7ruleOutput) ElementType() reflect.Type

func (L7ruleOutput) Key

The key to use for the comparison. For example, the name of the cookie to evaluate. Valid when `type` is set to COOKIE or HEADER. Changing this creates a new L7 Rule.

func (L7ruleOutput) L7policyId

func (o L7ruleOutput) L7policyId() pulumi.StringOutput

The ID of the L7 Policy to query. Changing this creates a new L7 Rule.

func (L7ruleOutput) ListenerId

func (o L7ruleOutput) ListenerId() pulumi.StringOutput

The ID of the Listener owning this resource.

func (L7ruleOutput) Region

func (o L7ruleOutput) Region() pulumi.StringOutput

The region in which to create the L7 Rule resource. If omitted, the provider-level region will be used. Changing this creates a new L7 Rule.

func (L7ruleOutput) TenantId deprecated

func (o L7ruleOutput) TenantId() pulumi.StringOutput

Deprecated: tenant_id is deprecated

func (L7ruleOutput) ToL7ruleOutput

func (o L7ruleOutput) ToL7ruleOutput() L7ruleOutput

func (L7ruleOutput) ToL7ruleOutputWithContext

func (o L7ruleOutput) ToL7ruleOutputWithContext(ctx context.Context) L7ruleOutput

func (L7ruleOutput) Type

func (o L7ruleOutput) Type() pulumi.StringOutput

The L7 Rule type - can either be HOST_NAME or PATH. Changing this creates a new L7 Rule.

func (L7ruleOutput) Value

func (o L7ruleOutput) Value() pulumi.StringOutput

The value to use for the comparison. For example, the file type to compare.

type L7ruleState

type L7ruleState struct {
	AdminStateUp pulumi.BoolPtrInput
	// The comparison type for the L7 rule - can either be STARTS_WITH, EQUAL_TO or REGEX
	CompareType pulumi.StringPtrInput
	// The key to use for the comparison. For example, the name of the cookie to
	// evaluate. Valid when `type` is set to COOKIE or HEADER. Changing this creates a new L7 Rule.
	Key pulumi.StringPtrInput
	// The ID of the L7 Policy to query. Changing this creates a new L7 Rule.
	L7policyId pulumi.StringPtrInput
	// The ID of the Listener owning this resource.
	ListenerId pulumi.StringPtrInput
	// The region in which to create the L7 Rule resource. If omitted, the
	// provider-level region will be used. Changing this creates a new L7 Rule.
	Region pulumi.StringPtrInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
	// The L7 Rule type - can either be HOST_NAME or PATH. Changing this creates a new
	// L7 Rule.
	Type pulumi.StringPtrInput
	// The value to use for the comparison. For example, the file type to compare.
	Value pulumi.StringPtrInput
}

func (L7ruleState) ElementType

func (L7ruleState) ElementType() reflect.Type

type Listener

type Listener struct {
	pulumi.CustomResourceState

	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// The maximum number of connections allowed for the listener. The value ranges from
	// -1 to 2,147,483,647. This parameter is reserved and has been not used. Only the administrator can specify the maximum
	// number of connections.
	ConnectionLimit pulumi.IntOutput `pulumi:"connectionLimit"`
	// The ID of the default pool with which the listener is associated.
	// Changing this creates a new listener.
	DefaultPoolId pulumi.StringOutput `pulumi:"defaultPoolId"`
	// Specifies the ID of the server certificate used by the listener. This
	// parameter is mandatory when protocol is set to *TERMINATED_HTTPS*.
	DefaultTlsContainerRef pulumi.StringPtrOutput `pulumi:"defaultTlsContainerRef"`
	// Human-readable description for the listener.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies whether to use HTTP/2. The default value is false. This parameter is valid
	// only when the protocol is set to *TERMINATED_HTTPS*.
	Http2Enable pulumi.BoolPtrOutput `pulumi:"http2Enable"`
	// The load balancer on which to provision this listener. Changing this
	// creates a new listener.
	LoadbalancerId pulumi.StringOutput `pulumi:"loadbalancerId"`
	// Human-readable name for the listener. Does not have to be unique.
	Name pulumi.StringOutput `pulumi:"name"`
	// The protocol can either be TCP, UDP, HTTP or TERMINATED_HTTPS. Changing this
	// creates a new listener.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// The port on which to listen for client traffic. Changing this creates a
	// new listener.
	ProtocolPort pulumi.IntOutput `pulumi:"protocolPort"`
	// The region in which to create the listener resource. If omitted, the
	// provider-level region will be used. Changing this creates a new listener.
	Region pulumi.StringOutput `pulumi:"region"`
	// Lists the IDs of SNI certificates (server certificates with a domain name)
	// used by the listener. This parameter is valid when protocol is set to *TERMINATED_HTTPS*.
	SniContainerRefs pulumi.StringArrayOutput `pulumi:"sniContainerRefs"`
	// The key/value pairs to associate with the listener.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Manages an ELB listener resource within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Elb.NewListener(ctx, "listener1", &Elb.ListenerArgs{
			LoadbalancerId: pulumi.String("d9415786-5f1a-428b-b35f-2f1523e146d2"),
			Protocol:       pulumi.String("HTTP"),
			ProtocolPort:   pulumi.Int(8080),
			Tags: pulumi.StringMap{
				"key": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ELB listener can be imported using the listener ID, e.g.

```sh

$ pulumi import huaweicloud:Elb/listener:Listener listener_1 5c20fdad-7288-11eb-b817-0255ac10158b

```

func GetListener

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

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

func NewListener

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

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

func (*Listener) ElementType

func (*Listener) ElementType() reflect.Type

func (*Listener) ToListenerOutput

func (i *Listener) ToListenerOutput() ListenerOutput

func (*Listener) ToListenerOutputWithContext

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

type ListenerArgs

type ListenerArgs struct {
	AdminStateUp pulumi.BoolPtrInput
	// The maximum number of connections allowed for the listener. The value ranges from
	// -1 to 2,147,483,647. This parameter is reserved and has been not used. Only the administrator can specify the maximum
	// number of connections.
	ConnectionLimit pulumi.IntPtrInput
	// The ID of the default pool with which the listener is associated.
	// Changing this creates a new listener.
	DefaultPoolId pulumi.StringPtrInput
	// Specifies the ID of the server certificate used by the listener. This
	// parameter is mandatory when protocol is set to *TERMINATED_HTTPS*.
	DefaultTlsContainerRef pulumi.StringPtrInput
	// Human-readable description for the listener.
	Description pulumi.StringPtrInput
	// Specifies whether to use HTTP/2. The default value is false. This parameter is valid
	// only when the protocol is set to *TERMINATED_HTTPS*.
	Http2Enable pulumi.BoolPtrInput
	// The load balancer on which to provision this listener. Changing this
	// creates a new listener.
	LoadbalancerId pulumi.StringInput
	// Human-readable name for the listener. Does not have to be unique.
	Name pulumi.StringPtrInput
	// The protocol can either be TCP, UDP, HTTP or TERMINATED_HTTPS. Changing this
	// creates a new listener.
	Protocol pulumi.StringInput
	// The port on which to listen for client traffic. Changing this creates a
	// new listener.
	ProtocolPort pulumi.IntInput
	// The region in which to create the listener resource. If omitted, the
	// provider-level region will be used. Changing this creates a new listener.
	Region pulumi.StringPtrInput
	// Lists the IDs of SNI certificates (server certificates with a domain name)
	// used by the listener. This parameter is valid when protocol is set to *TERMINATED_HTTPS*.
	SniContainerRefs pulumi.StringArrayInput
	// The key/value pairs to associate with the listener.
	Tags pulumi.StringMapInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
}

The set of arguments for constructing a Listener resource.

func (ListenerArgs) ElementType

func (ListenerArgs) ElementType() reflect.Type

type ListenerArray

type ListenerArray []ListenerInput

func (ListenerArray) ElementType

func (ListenerArray) ElementType() reflect.Type

func (ListenerArray) ToListenerArrayOutput

func (i ListenerArray) ToListenerArrayOutput() ListenerArrayOutput

func (ListenerArray) ToListenerArrayOutputWithContext

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

type ListenerArrayInput

type ListenerArrayInput interface {
	pulumi.Input

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

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

ListenerArray{ ListenerArgs{...} }

type ListenerArrayOutput

type ListenerArrayOutput struct{ *pulumi.OutputState }

func (ListenerArrayOutput) ElementType

func (ListenerArrayOutput) ElementType() reflect.Type

func (ListenerArrayOutput) Index

func (ListenerArrayOutput) ToListenerArrayOutput

func (o ListenerArrayOutput) ToListenerArrayOutput() ListenerArrayOutput

func (ListenerArrayOutput) ToListenerArrayOutputWithContext

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

type ListenerInput

type ListenerInput interface {
	pulumi.Input

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

type ListenerMap

type ListenerMap map[string]ListenerInput

func (ListenerMap) ElementType

func (ListenerMap) ElementType() reflect.Type

func (ListenerMap) ToListenerMapOutput

func (i ListenerMap) ToListenerMapOutput() ListenerMapOutput

func (ListenerMap) ToListenerMapOutputWithContext

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

type ListenerMapInput

type ListenerMapInput interface {
	pulumi.Input

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

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

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

type ListenerMapOutput

type ListenerMapOutput struct{ *pulumi.OutputState }

func (ListenerMapOutput) ElementType

func (ListenerMapOutput) ElementType() reflect.Type

func (ListenerMapOutput) MapIndex

func (ListenerMapOutput) ToListenerMapOutput

func (o ListenerMapOutput) ToListenerMapOutput() ListenerMapOutput

func (ListenerMapOutput) ToListenerMapOutputWithContext

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

type ListenerOutput

type ListenerOutput struct{ *pulumi.OutputState }

func (ListenerOutput) AdminStateUp

func (o ListenerOutput) AdminStateUp() pulumi.BoolPtrOutput

func (ListenerOutput) ConnectionLimit

func (o ListenerOutput) ConnectionLimit() pulumi.IntOutput

The maximum number of connections allowed for the listener. The value ranges from -1 to 2,147,483,647. This parameter is reserved and has been not used. Only the administrator can specify the maximum number of connections.

func (ListenerOutput) DefaultPoolId

func (o ListenerOutput) DefaultPoolId() pulumi.StringOutput

The ID of the default pool with which the listener is associated. Changing this creates a new listener.

func (ListenerOutput) DefaultTlsContainerRef

func (o ListenerOutput) DefaultTlsContainerRef() pulumi.StringPtrOutput

Specifies the ID of the server certificate used by the listener. This parameter is mandatory when protocol is set to *TERMINATED_HTTPS*.

func (ListenerOutput) Description

func (o ListenerOutput) Description() pulumi.StringPtrOutput

Human-readable description for the listener.

func (ListenerOutput) ElementType

func (ListenerOutput) ElementType() reflect.Type

func (ListenerOutput) Http2Enable

func (o ListenerOutput) Http2Enable() pulumi.BoolPtrOutput

Specifies whether to use HTTP/2. The default value is false. This parameter is valid only when the protocol is set to *TERMINATED_HTTPS*.

func (ListenerOutput) LoadbalancerId

func (o ListenerOutput) LoadbalancerId() pulumi.StringOutput

The load balancer on which to provision this listener. Changing this creates a new listener.

func (ListenerOutput) Name

Human-readable name for the listener. Does not have to be unique.

func (ListenerOutput) Protocol

func (o ListenerOutput) Protocol() pulumi.StringOutput

The protocol can either be TCP, UDP, HTTP or TERMINATED_HTTPS. Changing this creates a new listener.

func (ListenerOutput) ProtocolPort

func (o ListenerOutput) ProtocolPort() pulumi.IntOutput

The port on which to listen for client traffic. Changing this creates a new listener.

func (ListenerOutput) Region

func (o ListenerOutput) Region() pulumi.StringOutput

The region in which to create the listener resource. If omitted, the provider-level region will be used. Changing this creates a new listener.

func (ListenerOutput) SniContainerRefs

func (o ListenerOutput) SniContainerRefs() pulumi.StringArrayOutput

Lists the IDs of SNI certificates (server certificates with a domain name) used by the listener. This parameter is valid when protocol is set to *TERMINATED_HTTPS*.

func (ListenerOutput) Tags

The key/value pairs to associate with the listener.

func (ListenerOutput) TenantId deprecated

func (o ListenerOutput) TenantId() pulumi.StringOutput

Deprecated: tenant_id is deprecated

func (ListenerOutput) ToListenerOutput

func (o ListenerOutput) ToListenerOutput() ListenerOutput

func (ListenerOutput) ToListenerOutputWithContext

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

type ListenerState

type ListenerState struct {
	AdminStateUp pulumi.BoolPtrInput
	// The maximum number of connections allowed for the listener. The value ranges from
	// -1 to 2,147,483,647. This parameter is reserved and has been not used. Only the administrator can specify the maximum
	// number of connections.
	ConnectionLimit pulumi.IntPtrInput
	// The ID of the default pool with which the listener is associated.
	// Changing this creates a new listener.
	DefaultPoolId pulumi.StringPtrInput
	// Specifies the ID of the server certificate used by the listener. This
	// parameter is mandatory when protocol is set to *TERMINATED_HTTPS*.
	DefaultTlsContainerRef pulumi.StringPtrInput
	// Human-readable description for the listener.
	Description pulumi.StringPtrInput
	// Specifies whether to use HTTP/2. The default value is false. This parameter is valid
	// only when the protocol is set to *TERMINATED_HTTPS*.
	Http2Enable pulumi.BoolPtrInput
	// The load balancer on which to provision this listener. Changing this
	// creates a new listener.
	LoadbalancerId pulumi.StringPtrInput
	// Human-readable name for the listener. Does not have to be unique.
	Name pulumi.StringPtrInput
	// The protocol can either be TCP, UDP, HTTP or TERMINATED_HTTPS. Changing this
	// creates a new listener.
	Protocol pulumi.StringPtrInput
	// The port on which to listen for client traffic. Changing this creates a
	// new listener.
	ProtocolPort pulumi.IntPtrInput
	// The region in which to create the listener resource. If omitted, the
	// provider-level region will be used. Changing this creates a new listener.
	Region pulumi.StringPtrInput
	// Lists the IDs of SNI certificates (server certificates with a domain name)
	// used by the listener. This parameter is valid when protocol is set to *TERMINATED_HTTPS*.
	SniContainerRefs pulumi.StringArrayInput
	// The key/value pairs to associate with the listener.
	Tags pulumi.StringMapInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
}

func (ListenerState) ElementType

func (ListenerState) ElementType() reflect.Type

type Loadbalancer

type Loadbalancer struct {
	pulumi.CustomResourceState

	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// Human-readable description for the loadbalancer.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The enterprise project id of the loadbalancer. Changing this
	// creates a new loadbalancer.
	EnterpriseProjectId pulumi.StringOutput `pulumi:"enterpriseProjectId"`
	// schema: Deprecated
	Flavor pulumi.StringPtrOutput `pulumi:"flavor"`
	// schema: Deprecated
	LoadbalancerProvider pulumi.StringOutput `pulumi:"loadbalancerProvider"`
	// Human-readable name for the loadbalancer. Does not have to be unique.
	Name pulumi.StringOutput `pulumi:"name"`
	// The EIP address that is associated to the Load Balancer instance.
	PublicIp pulumi.StringOutput `pulumi:"publicIp"`
	// The region in which to create the loadbalancer resource. If omitted, the
	// provider-level region will be used. Changing this creates a new loadbalancer.
	Region pulumi.StringOutput `pulumi:"region"`
	// schema: Deprecated
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// The key/value pairs to associate with the loadbalancer.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// The ip address of the load balancer. Changing this creates a new
	// loadbalancer.
	VipAddress pulumi.StringOutput `pulumi:"vipAddress"`
	// The Port ID of the Load Balancer IP.
	VipPortId pulumi.StringOutput `pulumi:"vipPortId"`
	// The **IPv4 subnet ID** of the subnet where the load balancer works.
	// Changing this creates a new loadbalancer.
	VipSubnetId pulumi.StringOutput `pulumi:"vipSubnetId"`
}

Manages an ELB loadbalancer resource within HuaweiCloud.

## Example Usage ### Basic Loadbalancer

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"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, "")
		ipv4SubnetId := cfg.RequireObject("ipv4SubnetId")
		_, err := Elb.NewLoadbalancer(ctx, "lb1", &Elb.LoadbalancerArgs{
			VipSubnetId: pulumi.Any(ipv4SubnetId),
			Tags: pulumi.StringMap{
				"key": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Loadbalancer With EIP

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/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, "")
		ipv4SubnetId := cfg.RequireObject("ipv4SubnetId")
		lb1, err := Elb.NewLoadbalancer(ctx, "lb1", &Elb.LoadbalancerArgs{
			VipSubnetId: pulumi.Any(ipv4_subnet_id),
		})
		if err != nil {
			return err
		}
		_, err = Vpc.NewEipAssociate(ctx, "eip1", &Vpc.EipAssociateArgs{
			PublicIp: pulumi.String("1.2.3.4"),
			PortId:   lb1.VipPortId,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Load balancers can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Elb/loadbalancer:Loadbalancer test 3e3632db-36c6-4b28-a92e-e72e6562daa6

```

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 {
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable description for the loadbalancer.
	Description pulumi.StringPtrInput
	// The enterprise project id of the loadbalancer. Changing this
	// creates a new loadbalancer.
	EnterpriseProjectId pulumi.StringPtrInput
	// schema: Deprecated
	Flavor pulumi.StringPtrInput
	// schema: Deprecated
	LoadbalancerProvider pulumi.StringPtrInput
	// Human-readable name for the loadbalancer. Does not have to be unique.
	Name pulumi.StringPtrInput
	// The region in which to create the loadbalancer resource. If omitted, the
	// provider-level region will be used. Changing this creates a new loadbalancer.
	Region pulumi.StringPtrInput
	// schema: Deprecated
	SecurityGroupIds pulumi.StringArrayInput
	// The key/value pairs to associate with the loadbalancer.
	Tags pulumi.StringMapInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
	// The ip address of the load balancer. Changing this creates a new
	// loadbalancer.
	VipAddress pulumi.StringPtrInput
	// The **IPv4 subnet ID** of the subnet where the load balancer works.
	// Changing this creates a new loadbalancer.
	VipSubnetId pulumi.StringInput
}

The set of arguments for constructing a Loadbalancer resource.

func (LoadbalancerArgs) ElementType

func (LoadbalancerArgs) ElementType() reflect.Type

type LoadbalancerArray

type LoadbalancerArray []LoadbalancerInput

func (LoadbalancerArray) ElementType

func (LoadbalancerArray) ElementType() reflect.Type

func (LoadbalancerArray) ToLoadbalancerArrayOutput

func (i LoadbalancerArray) ToLoadbalancerArrayOutput() LoadbalancerArrayOutput

func (LoadbalancerArray) ToLoadbalancerArrayOutputWithContext

func (i LoadbalancerArray) ToLoadbalancerArrayOutputWithContext(ctx context.Context) LoadbalancerArrayOutput

type LoadbalancerArrayInput

type LoadbalancerArrayInput interface {
	pulumi.Input

	ToLoadbalancerArrayOutput() LoadbalancerArrayOutput
	ToLoadbalancerArrayOutputWithContext(context.Context) LoadbalancerArrayOutput
}

LoadbalancerArrayInput is an input type that accepts LoadbalancerArray and LoadbalancerArrayOutput values. You can construct a concrete instance of `LoadbalancerArrayInput` via:

LoadbalancerArray{ LoadbalancerArgs{...} }

type LoadbalancerArrayOutput

type LoadbalancerArrayOutput struct{ *pulumi.OutputState }

func (LoadbalancerArrayOutput) ElementType

func (LoadbalancerArrayOutput) ElementType() reflect.Type

func (LoadbalancerArrayOutput) Index

func (LoadbalancerArrayOutput) ToLoadbalancerArrayOutput

func (o LoadbalancerArrayOutput) ToLoadbalancerArrayOutput() LoadbalancerArrayOutput

func (LoadbalancerArrayOutput) ToLoadbalancerArrayOutputWithContext

func (o LoadbalancerArrayOutput) ToLoadbalancerArrayOutputWithContext(ctx context.Context) LoadbalancerArrayOutput

type LoadbalancerInput

type LoadbalancerInput interface {
	pulumi.Input

	ToLoadbalancerOutput() LoadbalancerOutput
	ToLoadbalancerOutputWithContext(ctx context.Context) LoadbalancerOutput
}

type LoadbalancerMap

type LoadbalancerMap map[string]LoadbalancerInput

func (LoadbalancerMap) ElementType

func (LoadbalancerMap) ElementType() reflect.Type

func (LoadbalancerMap) ToLoadbalancerMapOutput

func (i LoadbalancerMap) ToLoadbalancerMapOutput() LoadbalancerMapOutput

func (LoadbalancerMap) ToLoadbalancerMapOutputWithContext

func (i LoadbalancerMap) ToLoadbalancerMapOutputWithContext(ctx context.Context) LoadbalancerMapOutput

type LoadbalancerMapInput

type LoadbalancerMapInput interface {
	pulumi.Input

	ToLoadbalancerMapOutput() LoadbalancerMapOutput
	ToLoadbalancerMapOutputWithContext(context.Context) LoadbalancerMapOutput
}

LoadbalancerMapInput is an input type that accepts LoadbalancerMap and LoadbalancerMapOutput values. You can construct a concrete instance of `LoadbalancerMapInput` via:

LoadbalancerMap{ "key": LoadbalancerArgs{...} }

type LoadbalancerMapOutput

type LoadbalancerMapOutput struct{ *pulumi.OutputState }

func (LoadbalancerMapOutput) ElementType

func (LoadbalancerMapOutput) ElementType() reflect.Type

func (LoadbalancerMapOutput) MapIndex

func (LoadbalancerMapOutput) ToLoadbalancerMapOutput

func (o LoadbalancerMapOutput) ToLoadbalancerMapOutput() LoadbalancerMapOutput

func (LoadbalancerMapOutput) ToLoadbalancerMapOutputWithContext

func (o LoadbalancerMapOutput) ToLoadbalancerMapOutputWithContext(ctx context.Context) LoadbalancerMapOutput

type LoadbalancerOutput

type LoadbalancerOutput struct{ *pulumi.OutputState }

func (LoadbalancerOutput) AdminStateUp

func (o LoadbalancerOutput) AdminStateUp() pulumi.BoolPtrOutput

func (LoadbalancerOutput) Description

func (o LoadbalancerOutput) Description() pulumi.StringPtrOutput

Human-readable description for the loadbalancer.

func (LoadbalancerOutput) ElementType

func (LoadbalancerOutput) ElementType() reflect.Type

func (LoadbalancerOutput) EnterpriseProjectId

func (o LoadbalancerOutput) EnterpriseProjectId() pulumi.StringOutput

The enterprise project id of the loadbalancer. Changing this creates a new loadbalancer.

func (LoadbalancerOutput) Flavor

schema: Deprecated

func (LoadbalancerOutput) LoadbalancerProvider

func (o LoadbalancerOutput) LoadbalancerProvider() pulumi.StringOutput

schema: Deprecated

func (LoadbalancerOutput) Name

Human-readable name for the loadbalancer. Does not have to be unique.

func (LoadbalancerOutput) PublicIp added in v0.0.8

func (o LoadbalancerOutput) PublicIp() pulumi.StringOutput

The EIP address that is associated to the Load Balancer instance.

func (LoadbalancerOutput) Region

The region in which to create the loadbalancer resource. If omitted, the provider-level region will be used. Changing this creates a new loadbalancer.

func (LoadbalancerOutput) SecurityGroupIds

func (o LoadbalancerOutput) SecurityGroupIds() pulumi.StringArrayOutput

schema: Deprecated

func (LoadbalancerOutput) Tags

The key/value pairs to associate with the loadbalancer.

func (LoadbalancerOutput) TenantId deprecated

func (o LoadbalancerOutput) TenantId() pulumi.StringOutput

Deprecated: tenant_id is deprecated

func (LoadbalancerOutput) ToLoadbalancerOutput

func (o LoadbalancerOutput) ToLoadbalancerOutput() LoadbalancerOutput

func (LoadbalancerOutput) ToLoadbalancerOutputWithContext

func (o LoadbalancerOutput) ToLoadbalancerOutputWithContext(ctx context.Context) LoadbalancerOutput

func (LoadbalancerOutput) VipAddress

func (o LoadbalancerOutput) VipAddress() pulumi.StringOutput

The ip address of the load balancer. Changing this creates a new loadbalancer.

func (LoadbalancerOutput) VipPortId

func (o LoadbalancerOutput) VipPortId() pulumi.StringOutput

The Port ID of the Load Balancer IP.

func (LoadbalancerOutput) VipSubnetId

func (o LoadbalancerOutput) VipSubnetId() pulumi.StringOutput

The **IPv4 subnet ID** of the subnet where the load balancer works. Changing this creates a new loadbalancer.

type LoadbalancerState

type LoadbalancerState struct {
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable description for the loadbalancer.
	Description pulumi.StringPtrInput
	// The enterprise project id of the loadbalancer. Changing this
	// creates a new loadbalancer.
	EnterpriseProjectId pulumi.StringPtrInput
	// schema: Deprecated
	Flavor pulumi.StringPtrInput
	// schema: Deprecated
	LoadbalancerProvider pulumi.StringPtrInput
	// Human-readable name for the loadbalancer. Does not have to be unique.
	Name pulumi.StringPtrInput
	// The EIP address that is associated to the Load Balancer instance.
	PublicIp pulumi.StringPtrInput
	// The region in which to create the loadbalancer resource. If omitted, the
	// provider-level region will be used. Changing this creates a new loadbalancer.
	Region pulumi.StringPtrInput
	// schema: Deprecated
	SecurityGroupIds pulumi.StringArrayInput
	// The key/value pairs to associate with the loadbalancer.
	Tags pulumi.StringMapInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
	// The ip address of the load balancer. Changing this creates a new
	// loadbalancer.
	VipAddress pulumi.StringPtrInput
	// The Port ID of the Load Balancer IP.
	VipPortId pulumi.StringPtrInput
	// The **IPv4 subnet ID** of the subnet where the load balancer works.
	// Changing this creates a new loadbalancer.
	VipSubnetId pulumi.StringPtrInput
}

func (LoadbalancerState) ElementType

func (LoadbalancerState) ElementType() reflect.Type

type LookupCertificateArgs

type LookupCertificateArgs struct {
	// The name of certificate. The value is case sensitive and does not supports fuzzy matching.
	Name string `pulumi:"name"`
	// The region in which to obtain the ELB certificate. If omitted, the provider-level region
	// will be used.
	Region *string `pulumi:"region"`
	// Specifies the certificate type. The default value is `server`. The value can be one of the
	// following:
	// + `server`: indicates the server certificate.
	// + `client`: indicates the CA certificate.
	Type *string `pulumi:"type"`
}

A collection of arguments for invoking getCertificate.

type LookupCertificateOutputArgs

type LookupCertificateOutputArgs struct {
	// The name of certificate. The value is case sensitive and does not supports fuzzy matching.
	Name pulumi.StringInput `pulumi:"name"`
	// The region in which to obtain the ELB certificate. If omitted, the provider-level region
	// will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Specifies the certificate type. The default value is `server`. The value can be one of the
	// following:
	// + `server`: indicates the server certificate.
	// + `client`: indicates the CA certificate.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

A collection of arguments for invoking getCertificate.

func (LookupCertificateOutputArgs) ElementType

type LookupCertificateResult

type LookupCertificateResult struct {
	// Human-readable description for the Certificate.
	Description string `pulumi:"description"`
	// The domain of the Certificate. This parameter is valid only when `type` is "server".
	Domain string `pulumi:"domain"`
	// Indicates the time when the certificate expires.
	Expiration string `pulumi:"expiration"`
	// The provider-assigned unique ID for this managed resource.
	Id     string  `pulumi:"id"`
	Name   string  `pulumi:"name"`
	Region string  `pulumi:"region"`
	Type   *string `pulumi:"type"`
}

A collection of values returned by getCertificate.

func LookupCertificate

func LookupCertificate(ctx *pulumi.Context, args *LookupCertificateArgs, opts ...pulumi.InvokeOption) (*LookupCertificateResult, error)

Use this data source to get the certificates in HuaweiCloud Elastic Load Balance (ELB).

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"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, "")
		certificateName := cfg.RequireObject("certificateName")
		_, err := Elb.GetCertificate(ctx, &elb.GetCertificateArgs{
			Name: certificateName,
			Type: pulumi.StringRef("server"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupCertificateResultOutput

type LookupCertificateResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCertificate.

func (LookupCertificateResultOutput) Description

Human-readable description for the Certificate.

func (LookupCertificateResultOutput) Domain

The domain of the Certificate. This parameter is valid only when `type` is "server".

func (LookupCertificateResultOutput) ElementType

func (LookupCertificateResultOutput) Expiration

Indicates the time when the certificate expires.

func (LookupCertificateResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupCertificateResultOutput) Name

func (LookupCertificateResultOutput) Region

func (LookupCertificateResultOutput) ToLookupCertificateResultOutput

func (o LookupCertificateResultOutput) ToLookupCertificateResultOutput() LookupCertificateResultOutput

func (LookupCertificateResultOutput) ToLookupCertificateResultOutputWithContext

func (o LookupCertificateResultOutput) ToLookupCertificateResultOutputWithContext(ctx context.Context) LookupCertificateResultOutput

func (LookupCertificateResultOutput) Type

type LookupLoadbalancerArgs

type LookupLoadbalancerArgs struct {
	// Specifies the supplementary information about the load balancer.
	Description *string `pulumi:"description"`
	// Specifies the enterprise project id of the load balancer.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// Specifies the data source ID of the load balancer in UUID format.
	Id *string `pulumi:"id"`
	// Specifies the name of the load balancer.
	Name *string `pulumi:"name"`
	// Specifies the region in which to obtain the load balancer. If omitted, the
	// provider-level region will be used.
	Region *string `pulumi:"region"`
	// Specifies the operating status of the load balancer. Valid values are *ONLINE* and
	// *FROZEN*.
	Status *string `pulumi:"status"`
	// Specifies the private IP address of the load balancer.
	VipAddress *string `pulumi:"vipAddress"`
	// Specifies the **IPv4 subnet ID** of the subnet where the load balancer works.
	VipSubnetId *string `pulumi:"vipSubnetId"`
}

A collection of arguments for invoking getLoadbalancer.

type LookupLoadbalancerOutputArgs

type LookupLoadbalancerOutputArgs struct {
	// Specifies the supplementary information about the load balancer.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Specifies the enterprise project id of the load balancer.
	EnterpriseProjectId pulumi.StringPtrInput `pulumi:"enterpriseProjectId"`
	// Specifies the data source ID of the load balancer in UUID format.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the name of the load balancer.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the region in which to obtain the load balancer. If omitted, the
	// provider-level region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Specifies the operating status of the load balancer. Valid values are *ONLINE* and
	// *FROZEN*.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Specifies the private IP address of the load balancer.
	VipAddress pulumi.StringPtrInput `pulumi:"vipAddress"`
	// Specifies the **IPv4 subnet ID** of the subnet where the load balancer works.
	VipSubnetId pulumi.StringPtrInput `pulumi:"vipSubnetId"`
}

A collection of arguments for invoking getLoadbalancer.

func (LookupLoadbalancerOutputArgs) ElementType

type LookupLoadbalancerResult

type LookupLoadbalancerResult struct {
	Description         string `pulumi:"description"`
	EnterpriseProjectId string `pulumi:"enterpriseProjectId"`
	Id                  string `pulumi:"id"`
	Name                string `pulumi:"name"`
	// The EIP address that is associated to the Load Balancer instance.
	PublicIp string `pulumi:"publicIp"`
	Region   string `pulumi:"region"`
	Status   string `pulumi:"status"`
	// The tags associated with the load balancer.
	Tags       map[string]string `pulumi:"tags"`
	VipAddress string            `pulumi:"vipAddress"`
	// The ID of the port bound to the private IP address of the load balancer.
	VipPortId   string `pulumi:"vipPortId"`
	VipSubnetId string `pulumi:"vipSubnetId"`
}

A collection of values returned by getLoadbalancer.

func LookupLoadbalancer

func LookupLoadbalancer(ctx *pulumi.Context, args *LookupLoadbalancerArgs, opts ...pulumi.InvokeOption) (*LookupLoadbalancerResult, error)

Use this data source to get available HuaweiCloud elb load balancer.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"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, "")
		lbName := cfg.RequireObject("lbName")
		_, err := Elb.GetLoadbalancer(ctx, &elb.GetLoadbalancerArgs{
			Name: pulumi.StringRef(lbName),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupLoadbalancerResultOutput

type LookupLoadbalancerResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getLoadbalancer.

func (LookupLoadbalancerResultOutput) Description

func (LookupLoadbalancerResultOutput) ElementType

func (LookupLoadbalancerResultOutput) EnterpriseProjectId

func (o LookupLoadbalancerResultOutput) EnterpriseProjectId() pulumi.StringOutput

func (LookupLoadbalancerResultOutput) Id

func (LookupLoadbalancerResultOutput) Name

func (LookupLoadbalancerResultOutput) PublicIp added in v0.0.8

The EIP address that is associated to the Load Balancer instance.

func (LookupLoadbalancerResultOutput) Region

func (LookupLoadbalancerResultOutput) Status

func (LookupLoadbalancerResultOutput) Tags

The tags associated with the load balancer.

func (LookupLoadbalancerResultOutput) ToLookupLoadbalancerResultOutput

func (o LookupLoadbalancerResultOutput) ToLookupLoadbalancerResultOutput() LookupLoadbalancerResultOutput

func (LookupLoadbalancerResultOutput) ToLookupLoadbalancerResultOutputWithContext

func (o LookupLoadbalancerResultOutput) ToLookupLoadbalancerResultOutputWithContext(ctx context.Context) LookupLoadbalancerResultOutput

func (LookupLoadbalancerResultOutput) VipAddress

func (LookupLoadbalancerResultOutput) VipPortId

The ID of the port bound to the private IP address of the load balancer.

func (LookupLoadbalancerResultOutput) VipSubnetId

type Member

type Member struct {
	pulumi.CustomResourceState

	// The IP address of the member to receive traffic from the load balancer.
	// Changing this creates a new member.
	Address      pulumi.StringOutput  `pulumi:"address"`
	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// Human-readable name for the member.
	Name pulumi.StringOutput `pulumi:"name"`
	// The id of the pool that this member will be assigned to.
	PoolId pulumi.StringOutput `pulumi:"poolId"`
	// The port on which to listen for client traffic. Changing this creates a
	// new member.
	ProtocolPort pulumi.IntOutput `pulumi:"protocolPort"`
	// The region in which to create the ELB member resource. If omitted, the the
	// provider-level region will be used. Changing this creates a new member.
	Region pulumi.StringOutput `pulumi:"region"`
	// The **IPv4 subnet ID** of the subnet in which to access the member.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// A positive integer value that indicates the relative portion of traffic that this member
	// should receive from the pool. For example, a member with a weight of 10 receives five times as much traffic as a
	// member with a weight of 2.
	Weight pulumi.IntOutput `pulumi:"weight"`
}

Manages an ELB member resource within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"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, "")
		lbPoolId := cfg.RequireObject("lbPoolId")
		ipv4SubnetId := cfg.RequireObject("ipv4SubnetId")
		_, err := Elb.NewMember(ctx, "member1", &Elb.MemberArgs{
			Address:      pulumi.String("192.168.199.23"),
			ProtocolPort: pulumi.Int(8080),
			PoolId:       pulumi.Any(lbPoolId),
			SubnetId:     pulumi.Any(ipv4SubnetId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ELB member can be imported using the pool ID and member ID separated by a slash, e.g.

```sh

$ pulumi import huaweicloud:Elb/member:Member member_1 e0bd694a-abbe-450e-b329-0931fd1cc5eb/4086b0c9-b18c-4d1c-b6b8-4c56c3ad2a9e

```

func GetMember

func GetMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MemberState, opts ...pulumi.ResourceOption) (*Member, error)

GetMember gets an existing Member 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 NewMember

func NewMember(ctx *pulumi.Context,
	name string, args *MemberArgs, opts ...pulumi.ResourceOption) (*Member, error)

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

func (*Member) ElementType

func (*Member) ElementType() reflect.Type

func (*Member) ToMemberOutput

func (i *Member) ToMemberOutput() MemberOutput

func (*Member) ToMemberOutputWithContext

func (i *Member) ToMemberOutputWithContext(ctx context.Context) MemberOutput

type MemberArgs

type MemberArgs struct {
	// The IP address of the member to receive traffic from the load balancer.
	// Changing this creates a new member.
	Address      pulumi.StringInput
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable name for the member.
	Name pulumi.StringPtrInput
	// The id of the pool that this member will be assigned to.
	PoolId pulumi.StringInput
	// The port on which to listen for client traffic. Changing this creates a
	// new member.
	ProtocolPort pulumi.IntInput
	// The region in which to create the ELB member resource. If omitted, the the
	// provider-level region will be used. Changing this creates a new member.
	Region pulumi.StringPtrInput
	// The **IPv4 subnet ID** of the subnet in which to access the member.
	SubnetId pulumi.StringInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
	// A positive integer value that indicates the relative portion of traffic that this member
	// should receive from the pool. For example, a member with a weight of 10 receives five times as much traffic as a
	// member with a weight of 2.
	Weight pulumi.IntPtrInput
}

The set of arguments for constructing a Member resource.

func (MemberArgs) ElementType

func (MemberArgs) ElementType() reflect.Type

type MemberArray

type MemberArray []MemberInput

func (MemberArray) ElementType

func (MemberArray) ElementType() reflect.Type

func (MemberArray) ToMemberArrayOutput

func (i MemberArray) ToMemberArrayOutput() MemberArrayOutput

func (MemberArray) ToMemberArrayOutputWithContext

func (i MemberArray) ToMemberArrayOutputWithContext(ctx context.Context) MemberArrayOutput

type MemberArrayInput

type MemberArrayInput interface {
	pulumi.Input

	ToMemberArrayOutput() MemberArrayOutput
	ToMemberArrayOutputWithContext(context.Context) MemberArrayOutput
}

MemberArrayInput is an input type that accepts MemberArray and MemberArrayOutput values. You can construct a concrete instance of `MemberArrayInput` via:

MemberArray{ MemberArgs{...} }

type MemberArrayOutput

type MemberArrayOutput struct{ *pulumi.OutputState }

func (MemberArrayOutput) ElementType

func (MemberArrayOutput) ElementType() reflect.Type

func (MemberArrayOutput) Index

func (MemberArrayOutput) ToMemberArrayOutput

func (o MemberArrayOutput) ToMemberArrayOutput() MemberArrayOutput

func (MemberArrayOutput) ToMemberArrayOutputWithContext

func (o MemberArrayOutput) ToMemberArrayOutputWithContext(ctx context.Context) MemberArrayOutput

type MemberInput

type MemberInput interface {
	pulumi.Input

	ToMemberOutput() MemberOutput
	ToMemberOutputWithContext(ctx context.Context) MemberOutput
}

type MemberMap

type MemberMap map[string]MemberInput

func (MemberMap) ElementType

func (MemberMap) ElementType() reflect.Type

func (MemberMap) ToMemberMapOutput

func (i MemberMap) ToMemberMapOutput() MemberMapOutput

func (MemberMap) ToMemberMapOutputWithContext

func (i MemberMap) ToMemberMapOutputWithContext(ctx context.Context) MemberMapOutput

type MemberMapInput

type MemberMapInput interface {
	pulumi.Input

	ToMemberMapOutput() MemberMapOutput
	ToMemberMapOutputWithContext(context.Context) MemberMapOutput
}

MemberMapInput is an input type that accepts MemberMap and MemberMapOutput values. You can construct a concrete instance of `MemberMapInput` via:

MemberMap{ "key": MemberArgs{...} }

type MemberMapOutput

type MemberMapOutput struct{ *pulumi.OutputState }

func (MemberMapOutput) ElementType

func (MemberMapOutput) ElementType() reflect.Type

func (MemberMapOutput) MapIndex

func (MemberMapOutput) ToMemberMapOutput

func (o MemberMapOutput) ToMemberMapOutput() MemberMapOutput

func (MemberMapOutput) ToMemberMapOutputWithContext

func (o MemberMapOutput) ToMemberMapOutputWithContext(ctx context.Context) MemberMapOutput

type MemberOutput

type MemberOutput struct{ *pulumi.OutputState }

func (MemberOutput) Address

func (o MemberOutput) Address() pulumi.StringOutput

The IP address of the member to receive traffic from the load balancer. Changing this creates a new member.

func (MemberOutput) AdminStateUp

func (o MemberOutput) AdminStateUp() pulumi.BoolPtrOutput

func (MemberOutput) ElementType

func (MemberOutput) ElementType() reflect.Type

func (MemberOutput) Name

func (o MemberOutput) Name() pulumi.StringOutput

Human-readable name for the member.

func (MemberOutput) PoolId

func (o MemberOutput) PoolId() pulumi.StringOutput

The id of the pool that this member will be assigned to.

func (MemberOutput) ProtocolPort

func (o MemberOutput) ProtocolPort() pulumi.IntOutput

The port on which to listen for client traffic. Changing this creates a new member.

func (MemberOutput) Region

func (o MemberOutput) Region() pulumi.StringOutput

The region in which to create the ELB member resource. If omitted, the the provider-level region will be used. Changing this creates a new member.

func (MemberOutput) SubnetId

func (o MemberOutput) SubnetId() pulumi.StringOutput

The **IPv4 subnet ID** of the subnet in which to access the member.

func (MemberOutput) TenantId deprecated

func (o MemberOutput) TenantId() pulumi.StringOutput

Deprecated: tenant_id is deprecated

func (MemberOutput) ToMemberOutput

func (o MemberOutput) ToMemberOutput() MemberOutput

func (MemberOutput) ToMemberOutputWithContext

func (o MemberOutput) ToMemberOutputWithContext(ctx context.Context) MemberOutput

func (MemberOutput) Weight

func (o MemberOutput) Weight() pulumi.IntOutput

A positive integer value that indicates the relative portion of traffic that this member should receive from the pool. For example, a member with a weight of 10 receives five times as much traffic as a member with a weight of 2.

type MemberState

type MemberState struct {
	// The IP address of the member to receive traffic from the load balancer.
	// Changing this creates a new member.
	Address      pulumi.StringPtrInput
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable name for the member.
	Name pulumi.StringPtrInput
	// The id of the pool that this member will be assigned to.
	PoolId pulumi.StringPtrInput
	// The port on which to listen for client traffic. Changing this creates a
	// new member.
	ProtocolPort pulumi.IntPtrInput
	// The region in which to create the ELB member resource. If omitted, the the
	// provider-level region will be used. Changing this creates a new member.
	Region pulumi.StringPtrInput
	// The **IPv4 subnet ID** of the subnet in which to access the member.
	SubnetId pulumi.StringPtrInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
	// A positive integer value that indicates the relative portion of traffic that this member
	// should receive from the pool. For example, a member with a weight of 10 receives five times as much traffic as a
	// member with a weight of 2.
	Weight pulumi.IntPtrInput
}

func (MemberState) ElementType

func (MemberState) ElementType() reflect.Type

type Monitor

type Monitor struct {
	pulumi.CustomResourceState

	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// Specifies the maximum time between health checks in the unit of second. The value ranges
	// from 1 to 50.
	Delay pulumi.IntOutput `pulumi:"delay"`
	// Specifies the expected HTTP status code. Required for HTTP type.
	// You can either specify a single status like "200", or a range like "200-202".
	ExpectedCodes pulumi.StringOutput `pulumi:"expectedCodes"`
	// Specifies the HTTP request method. Required for HTTP type.
	// The default value is *GET*.
	HttpMethod pulumi.StringOutput `pulumi:"httpMethod"`
	// Specifies the maximum number of consecutive health checks after which the backend
	// servers are declared *healthy*. The value ranges from 1 to 10.
	MaxRetries pulumi.IntOutput `pulumi:"maxRetries"`
	// Specifies the health check name. The value contains a maximum of 255 characters.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the id of the pool that this monitor will be assigned to. Changing
	// this creates a new monitor.
	PoolId pulumi.StringOutput `pulumi:"poolId"`
	// Specifies the health check port. The port number ranges from 1 to 65535. If not specified,
	// the port of the backend server will be used as the health check port.
	Port pulumi.IntPtrOutput `pulumi:"port"`
	// The region in which to create the ELB monitor resource. If omitted, the
	// provider-level region will be used. Changing this creates a new monitor.
	Region pulumi.StringOutput `pulumi:"region"`
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// Specifies the health check timeout duration in the unit of second.
	// The value ranges from 1 to 50 and must be less than the `delay` value.
	Timeout pulumi.IntOutput `pulumi:"timeout"`
	// Specifies the monitor protocol.
	// The value can be *TCP*, *UDP_CONNECT*, or *HTTP*.
	// If the listener protocol is UDP, the monitor protocol must be *UDP_CONNECT*. Changing this creates a new monitor.
	Type pulumi.StringOutput `pulumi:"type"`
	// Specifies the HTTP request path for the health check. Required for HTTP type.
	// The value starts with a slash (/) and contains a maximum of 255 characters.
	UrlPath pulumi.StringOutput `pulumi:"urlPath"`
}

Manages an ELB monitor resource within HuaweiCloud.

## Example Usage ### TCP Health Check

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Elb.NewMonitor(ctx, "monitorTcp", &Elb.MonitorArgs{
			PoolId:     pulumi.Any(_var.Pool_id),
			Type:       pulumi.String("TCP"),
			Delay:      pulumi.Int(5),
			Timeout:    pulumi.Int(3),
			MaxRetries: pulumi.Int(3),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### UDP Health Check

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Elb.NewMonitor(ctx, "monitorUdp", &Elb.MonitorArgs{
			PoolId:     pulumi.Any(_var.Pool_id),
			Type:       pulumi.String("UDP_CONNECT"),
			Delay:      pulumi.Int(5),
			Timeout:    pulumi.Int(3),
			MaxRetries: pulumi.Int(3),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### HTTP Health Check

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Elb.NewMonitor(ctx, "monitorHttp", &Elb.MonitorArgs{
			PoolId:        pulumi.Any(_var.Pool_id),
			Type:          pulumi.String("HTTP"),
			Delay:         pulumi.Int(5),
			Timeout:       pulumi.Int(3),
			MaxRetries:    pulumi.Int(3),
			UrlPath:       pulumi.String("/test"),
			ExpectedCodes: pulumi.String("200-202"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ELB monitor can be imported using the monitor ID, e.g.

```sh

$ pulumi import huaweicloud:Elb/monitor:Monitor monitor_1 5c20fdad-7288-11eb-b817-0255ac10158b

```

func GetMonitor

func GetMonitor(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MonitorState, opts ...pulumi.ResourceOption) (*Monitor, error)

GetMonitor gets an existing Monitor 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 NewMonitor

func NewMonitor(ctx *pulumi.Context,
	name string, args *MonitorArgs, opts ...pulumi.ResourceOption) (*Monitor, error)

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

func (*Monitor) ElementType

func (*Monitor) ElementType() reflect.Type

func (*Monitor) ToMonitorOutput

func (i *Monitor) ToMonitorOutput() MonitorOutput

func (*Monitor) ToMonitorOutputWithContext

func (i *Monitor) ToMonitorOutputWithContext(ctx context.Context) MonitorOutput

type MonitorArgs

type MonitorArgs struct {
	AdminStateUp pulumi.BoolPtrInput
	// Specifies the maximum time between health checks in the unit of second. The value ranges
	// from 1 to 50.
	Delay pulumi.IntInput
	// Specifies the expected HTTP status code. Required for HTTP type.
	// You can either specify a single status like "200", or a range like "200-202".
	ExpectedCodes pulumi.StringPtrInput
	// Specifies the HTTP request method. Required for HTTP type.
	// The default value is *GET*.
	HttpMethod pulumi.StringPtrInput
	// Specifies the maximum number of consecutive health checks after which the backend
	// servers are declared *healthy*. The value ranges from 1 to 10.
	MaxRetries pulumi.IntInput
	// Specifies the health check name. The value contains a maximum of 255 characters.
	Name pulumi.StringPtrInput
	// Specifies the id of the pool that this monitor will be assigned to. Changing
	// this creates a new monitor.
	PoolId pulumi.StringInput
	// Specifies the health check port. The port number ranges from 1 to 65535. If not specified,
	// the port of the backend server will be used as the health check port.
	Port pulumi.IntPtrInput
	// The region in which to create the ELB monitor resource. If omitted, the
	// provider-level region will be used. Changing this creates a new monitor.
	Region pulumi.StringPtrInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
	// Specifies the health check timeout duration in the unit of second.
	// The value ranges from 1 to 50 and must be less than the `delay` value.
	Timeout pulumi.IntInput
	// Specifies the monitor protocol.
	// The value can be *TCP*, *UDP_CONNECT*, or *HTTP*.
	// If the listener protocol is UDP, the monitor protocol must be *UDP_CONNECT*. Changing this creates a new monitor.
	Type pulumi.StringInput
	// Specifies the HTTP request path for the health check. Required for HTTP type.
	// The value starts with a slash (/) and contains a maximum of 255 characters.
	UrlPath pulumi.StringPtrInput
}

The set of arguments for constructing a Monitor resource.

func (MonitorArgs) ElementType

func (MonitorArgs) ElementType() reflect.Type

type MonitorArray

type MonitorArray []MonitorInput

func (MonitorArray) ElementType

func (MonitorArray) ElementType() reflect.Type

func (MonitorArray) ToMonitorArrayOutput

func (i MonitorArray) ToMonitorArrayOutput() MonitorArrayOutput

func (MonitorArray) ToMonitorArrayOutputWithContext

func (i MonitorArray) ToMonitorArrayOutputWithContext(ctx context.Context) MonitorArrayOutput

type MonitorArrayInput

type MonitorArrayInput interface {
	pulumi.Input

	ToMonitorArrayOutput() MonitorArrayOutput
	ToMonitorArrayOutputWithContext(context.Context) MonitorArrayOutput
}

MonitorArrayInput is an input type that accepts MonitorArray and MonitorArrayOutput values. You can construct a concrete instance of `MonitorArrayInput` via:

MonitorArray{ MonitorArgs{...} }

type MonitorArrayOutput

type MonitorArrayOutput struct{ *pulumi.OutputState }

func (MonitorArrayOutput) ElementType

func (MonitorArrayOutput) ElementType() reflect.Type

func (MonitorArrayOutput) Index

func (MonitorArrayOutput) ToMonitorArrayOutput

func (o MonitorArrayOutput) ToMonitorArrayOutput() MonitorArrayOutput

func (MonitorArrayOutput) ToMonitorArrayOutputWithContext

func (o MonitorArrayOutput) ToMonitorArrayOutputWithContext(ctx context.Context) MonitorArrayOutput

type MonitorInput

type MonitorInput interface {
	pulumi.Input

	ToMonitorOutput() MonitorOutput
	ToMonitorOutputWithContext(ctx context.Context) MonitorOutput
}

type MonitorMap

type MonitorMap map[string]MonitorInput

func (MonitorMap) ElementType

func (MonitorMap) ElementType() reflect.Type

func (MonitorMap) ToMonitorMapOutput

func (i MonitorMap) ToMonitorMapOutput() MonitorMapOutput

func (MonitorMap) ToMonitorMapOutputWithContext

func (i MonitorMap) ToMonitorMapOutputWithContext(ctx context.Context) MonitorMapOutput

type MonitorMapInput

type MonitorMapInput interface {
	pulumi.Input

	ToMonitorMapOutput() MonitorMapOutput
	ToMonitorMapOutputWithContext(context.Context) MonitorMapOutput
}

MonitorMapInput is an input type that accepts MonitorMap and MonitorMapOutput values. You can construct a concrete instance of `MonitorMapInput` via:

MonitorMap{ "key": MonitorArgs{...} }

type MonitorMapOutput

type MonitorMapOutput struct{ *pulumi.OutputState }

func (MonitorMapOutput) ElementType

func (MonitorMapOutput) ElementType() reflect.Type

func (MonitorMapOutput) MapIndex

func (MonitorMapOutput) ToMonitorMapOutput

func (o MonitorMapOutput) ToMonitorMapOutput() MonitorMapOutput

func (MonitorMapOutput) ToMonitorMapOutputWithContext

func (o MonitorMapOutput) ToMonitorMapOutputWithContext(ctx context.Context) MonitorMapOutput

type MonitorOutput

type MonitorOutput struct{ *pulumi.OutputState }

func (MonitorOutput) AdminStateUp

func (o MonitorOutput) AdminStateUp() pulumi.BoolPtrOutput

func (MonitorOutput) Delay

func (o MonitorOutput) Delay() pulumi.IntOutput

Specifies the maximum time between health checks in the unit of second. The value ranges from 1 to 50.

func (MonitorOutput) ElementType

func (MonitorOutput) ElementType() reflect.Type

func (MonitorOutput) ExpectedCodes

func (o MonitorOutput) ExpectedCodes() pulumi.StringOutput

Specifies the expected HTTP status code. Required for HTTP type. You can either specify a single status like "200", or a range like "200-202".

func (MonitorOutput) HttpMethod

func (o MonitorOutput) HttpMethod() pulumi.StringOutput

Specifies the HTTP request method. Required for HTTP type. The default value is *GET*.

func (MonitorOutput) MaxRetries

func (o MonitorOutput) MaxRetries() pulumi.IntOutput

Specifies the maximum number of consecutive health checks after which the backend servers are declared *healthy*. The value ranges from 1 to 10.

func (MonitorOutput) Name

Specifies the health check name. The value contains a maximum of 255 characters.

func (MonitorOutput) PoolId

func (o MonitorOutput) PoolId() pulumi.StringOutput

Specifies the id of the pool that this monitor will be assigned to. Changing this creates a new monitor.

func (MonitorOutput) Port

Specifies the health check port. The port number ranges from 1 to 65535. If not specified, the port of the backend server will be used as the health check port.

func (MonitorOutput) Region

func (o MonitorOutput) Region() pulumi.StringOutput

The region in which to create the ELB monitor resource. If omitted, the provider-level region will be used. Changing this creates a new monitor.

func (MonitorOutput) TenantId deprecated

func (o MonitorOutput) TenantId() pulumi.StringOutput

Deprecated: tenant_id is deprecated

func (MonitorOutput) Timeout

func (o MonitorOutput) Timeout() pulumi.IntOutput

Specifies the health check timeout duration in the unit of second. The value ranges from 1 to 50 and must be less than the `delay` value.

func (MonitorOutput) ToMonitorOutput

func (o MonitorOutput) ToMonitorOutput() MonitorOutput

func (MonitorOutput) ToMonitorOutputWithContext

func (o MonitorOutput) ToMonitorOutputWithContext(ctx context.Context) MonitorOutput

func (MonitorOutput) Type

Specifies the monitor protocol. The value can be *TCP*, *UDP_CONNECT*, or *HTTP*. If the listener protocol is UDP, the monitor protocol must be *UDP_CONNECT*. Changing this creates a new monitor.

func (MonitorOutput) UrlPath

func (o MonitorOutput) UrlPath() pulumi.StringOutput

Specifies the HTTP request path for the health check. Required for HTTP type. The value starts with a slash (/) and contains a maximum of 255 characters.

type MonitorState

type MonitorState struct {
	AdminStateUp pulumi.BoolPtrInput
	// Specifies the maximum time between health checks in the unit of second. The value ranges
	// from 1 to 50.
	Delay pulumi.IntPtrInput
	// Specifies the expected HTTP status code. Required for HTTP type.
	// You can either specify a single status like "200", or a range like "200-202".
	ExpectedCodes pulumi.StringPtrInput
	// Specifies the HTTP request method. Required for HTTP type.
	// The default value is *GET*.
	HttpMethod pulumi.StringPtrInput
	// Specifies the maximum number of consecutive health checks after which the backend
	// servers are declared *healthy*. The value ranges from 1 to 10.
	MaxRetries pulumi.IntPtrInput
	// Specifies the health check name. The value contains a maximum of 255 characters.
	Name pulumi.StringPtrInput
	// Specifies the id of the pool that this monitor will be assigned to. Changing
	// this creates a new monitor.
	PoolId pulumi.StringPtrInput
	// Specifies the health check port. The port number ranges from 1 to 65535. If not specified,
	// the port of the backend server will be used as the health check port.
	Port pulumi.IntPtrInput
	// The region in which to create the ELB monitor resource. If omitted, the
	// provider-level region will be used. Changing this creates a new monitor.
	Region pulumi.StringPtrInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
	// Specifies the health check timeout duration in the unit of second.
	// The value ranges from 1 to 50 and must be less than the `delay` value.
	Timeout pulumi.IntPtrInput
	// Specifies the monitor protocol.
	// The value can be *TCP*, *UDP_CONNECT*, or *HTTP*.
	// If the listener protocol is UDP, the monitor protocol must be *UDP_CONNECT*. Changing this creates a new monitor.
	Type pulumi.StringPtrInput
	// Specifies the HTTP request path for the health check. Required for HTTP type.
	// The value starts with a slash (/) and contains a maximum of 255 characters.
	UrlPath pulumi.StringPtrInput
}

func (MonitorState) ElementType

func (MonitorState) ElementType() reflect.Type

type Pool

type Pool struct {
	pulumi.CustomResourceState

	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// Human-readable description for the pool.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The load balancing algorithm to distribute traffic to the pool's members. Must be one
	// of ROUND_ROBIN, LEAST_CONNECTIONS, or SOURCE_IP.
	LbMethod pulumi.StringOutput `pulumi:"lbMethod"`
	// The Listener on which the members of the pool will be associated with.
	// Changing this creates a new pool. Note:  At least one of LoadbalancerID or ListenerID must be provided.
	ListenerId pulumi.StringOutput `pulumi:"listenerId"`
	// The load balancer on which to provision this pool. Changing this
	// creates a new pool. Note:  At least one of LoadbalancerID or ListenerID must be provided.
	LoadbalancerId pulumi.StringOutput `pulumi:"loadbalancerId"`
	// Human-readable name for the pool.
	Name pulumi.StringOutput `pulumi:"name"`
	// Omit this field to prevent session persistence. Indicates whether
	// connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
	Persistences PoolPersistenceArrayOutput `pulumi:"persistences"`
	// The protocol - can either be TCP, UDP or HTTP.
	// + When the protocol used by the listener is UDP, the protocol of the backend pool must be UDP.
	// + When the protocol used by the listener is TCP, the protocol of the backend pool must be TCP.
	// + When the protocol used by the listener is HTTP or TERMINATED_HTTPS, the protocol of the backend pool must be HTTP.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// The region in which to create the ELB pool resource. If omitted, the the
	// provider-level region will be used. Changing this creates a new pool.
	Region pulumi.StringOutput `pulumi:"region"`
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Manages an ELB pool resource within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Elb.NewPool(ctx, "pool1", &Elb.PoolArgs{
			LbMethod:   pulumi.String("ROUND_ROBIN"),
			ListenerId: pulumi.String("d9415786-5f1a-428b-b35f-2f1523e146d2"),
			Persistences: elb.PoolPersistenceArray{
				&elb.PoolPersistenceArgs{
					CookieName: pulumi.String("testCookie"),
					Type:       pulumi.String("HTTP_COOKIE"),
				},
			},
			Protocol: pulumi.String("HTTP"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ELB pool can be imported using the pool ID, e.g.

```sh

$ pulumi import huaweicloud:Elb/pool:Pool pool_1 5c20fdad-7288-11eb-b817-0255ac10158b

```

func GetPool

func GetPool(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PoolState, opts ...pulumi.ResourceOption) (*Pool, error)

GetPool gets an existing Pool 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 NewPool

func NewPool(ctx *pulumi.Context,
	name string, args *PoolArgs, opts ...pulumi.ResourceOption) (*Pool, error)

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

func (*Pool) ElementType

func (*Pool) ElementType() reflect.Type

func (*Pool) ToPoolOutput

func (i *Pool) ToPoolOutput() PoolOutput

func (*Pool) ToPoolOutputWithContext

func (i *Pool) ToPoolOutputWithContext(ctx context.Context) PoolOutput

type PoolArgs

type PoolArgs struct {
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable description for the pool.
	Description pulumi.StringPtrInput
	// The load balancing algorithm to distribute traffic to the pool's members. Must be one
	// of ROUND_ROBIN, LEAST_CONNECTIONS, or SOURCE_IP.
	LbMethod pulumi.StringInput
	// The Listener on which the members of the pool will be associated with.
	// Changing this creates a new pool. Note:  At least one of LoadbalancerID or ListenerID must be provided.
	ListenerId pulumi.StringPtrInput
	// The load balancer on which to provision this pool. Changing this
	// creates a new pool. Note:  At least one of LoadbalancerID or ListenerID must be provided.
	LoadbalancerId pulumi.StringPtrInput
	// Human-readable name for the pool.
	Name pulumi.StringPtrInput
	// Omit this field to prevent session persistence. Indicates whether
	// connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
	Persistences PoolPersistenceArrayInput
	// The protocol - can either be TCP, UDP or HTTP.
	// + When the protocol used by the listener is UDP, the protocol of the backend pool must be UDP.
	// + When the protocol used by the listener is TCP, the protocol of the backend pool must be TCP.
	// + When the protocol used by the listener is HTTP or TERMINATED_HTTPS, the protocol of the backend pool must be HTTP.
	Protocol pulumi.StringInput
	// The region in which to create the ELB pool resource. If omitted, the the
	// provider-level region will be used. Changing this creates a new pool.
	Region pulumi.StringPtrInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
}

The set of arguments for constructing a Pool resource.

func (PoolArgs) ElementType

func (PoolArgs) ElementType() reflect.Type

type PoolArray

type PoolArray []PoolInput

func (PoolArray) ElementType

func (PoolArray) ElementType() reflect.Type

func (PoolArray) ToPoolArrayOutput

func (i PoolArray) ToPoolArrayOutput() PoolArrayOutput

func (PoolArray) ToPoolArrayOutputWithContext

func (i PoolArray) ToPoolArrayOutputWithContext(ctx context.Context) PoolArrayOutput

type PoolArrayInput

type PoolArrayInput interface {
	pulumi.Input

	ToPoolArrayOutput() PoolArrayOutput
	ToPoolArrayOutputWithContext(context.Context) PoolArrayOutput
}

PoolArrayInput is an input type that accepts PoolArray and PoolArrayOutput values. You can construct a concrete instance of `PoolArrayInput` via:

PoolArray{ PoolArgs{...} }

type PoolArrayOutput

type PoolArrayOutput struct{ *pulumi.OutputState }

func (PoolArrayOutput) ElementType

func (PoolArrayOutput) ElementType() reflect.Type

func (PoolArrayOutput) Index

func (PoolArrayOutput) ToPoolArrayOutput

func (o PoolArrayOutput) ToPoolArrayOutput() PoolArrayOutput

func (PoolArrayOutput) ToPoolArrayOutputWithContext

func (o PoolArrayOutput) ToPoolArrayOutputWithContext(ctx context.Context) PoolArrayOutput

type PoolInput

type PoolInput interface {
	pulumi.Input

	ToPoolOutput() PoolOutput
	ToPoolOutputWithContext(ctx context.Context) PoolOutput
}

type PoolMap

type PoolMap map[string]PoolInput

func (PoolMap) ElementType

func (PoolMap) ElementType() reflect.Type

func (PoolMap) ToPoolMapOutput

func (i PoolMap) ToPoolMapOutput() PoolMapOutput

func (PoolMap) ToPoolMapOutputWithContext

func (i PoolMap) ToPoolMapOutputWithContext(ctx context.Context) PoolMapOutput

type PoolMapInput

type PoolMapInput interface {
	pulumi.Input

	ToPoolMapOutput() PoolMapOutput
	ToPoolMapOutputWithContext(context.Context) PoolMapOutput
}

PoolMapInput is an input type that accepts PoolMap and PoolMapOutput values. You can construct a concrete instance of `PoolMapInput` via:

PoolMap{ "key": PoolArgs{...} }

type PoolMapOutput

type PoolMapOutput struct{ *pulumi.OutputState }

func (PoolMapOutput) ElementType

func (PoolMapOutput) ElementType() reflect.Type

func (PoolMapOutput) MapIndex

func (PoolMapOutput) ToPoolMapOutput

func (o PoolMapOutput) ToPoolMapOutput() PoolMapOutput

func (PoolMapOutput) ToPoolMapOutputWithContext

func (o PoolMapOutput) ToPoolMapOutputWithContext(ctx context.Context) PoolMapOutput

type PoolOutput

type PoolOutput struct{ *pulumi.OutputState }

func (PoolOutput) AdminStateUp

func (o PoolOutput) AdminStateUp() pulumi.BoolPtrOutput

func (PoolOutput) Description

func (o PoolOutput) Description() pulumi.StringPtrOutput

Human-readable description for the pool.

func (PoolOutput) ElementType

func (PoolOutput) ElementType() reflect.Type

func (PoolOutput) LbMethod

func (o PoolOutput) LbMethod() pulumi.StringOutput

The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, or SOURCE_IP.

func (PoolOutput) ListenerId

func (o PoolOutput) ListenerId() pulumi.StringOutput

The Listener on which the members of the pool will be associated with. Changing this creates a new pool. Note: At least one of LoadbalancerID or ListenerID must be provided.

func (PoolOutput) LoadbalancerId

func (o PoolOutput) LoadbalancerId() pulumi.StringOutput

The load balancer on which to provision this pool. Changing this creates a new pool. Note: At least one of LoadbalancerID or ListenerID must be provided.

func (PoolOutput) Name

func (o PoolOutput) Name() pulumi.StringOutput

Human-readable name for the pool.

func (PoolOutput) Persistences

func (o PoolOutput) Persistences() PoolPersistenceArrayOutput

Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.

func (PoolOutput) Protocol

func (o PoolOutput) Protocol() pulumi.StringOutput

The protocol - can either be TCP, UDP or HTTP. + When the protocol used by the listener is UDP, the protocol of the backend pool must be UDP. + When the protocol used by the listener is TCP, the protocol of the backend pool must be TCP. + When the protocol used by the listener is HTTP or TERMINATED_HTTPS, the protocol of the backend pool must be HTTP.

func (PoolOutput) Region

func (o PoolOutput) Region() pulumi.StringOutput

The region in which to create the ELB pool resource. If omitted, the the provider-level region will be used. Changing this creates a new pool.

func (PoolOutput) TenantId deprecated

func (o PoolOutput) TenantId() pulumi.StringOutput

Deprecated: tenant_id is deprecated

func (PoolOutput) ToPoolOutput

func (o PoolOutput) ToPoolOutput() PoolOutput

func (PoolOutput) ToPoolOutputWithContext

func (o PoolOutput) ToPoolOutputWithContext(ctx context.Context) PoolOutput

type PoolPersistence

type PoolPersistence struct {
	// The name of the cookie if persistence mode is set appropriately. Required
	// if `type = APP_COOKIE`.
	CookieName *string `pulumi:"cookieName"`
	// Specifies the sticky session timeout duration in minutes. This parameter is
	// invalid when type is set to APP_COOKIE. The value range varies depending on the protocol of the backend server group:
	// + When the protocol of the backend server group is TCP or UDP, the value ranges from 1 to 60.
	// + When the protocol of the backend server group is HTTP or HTTPS, the value ranges from 1 to 1440.
	Timeout *int `pulumi:"timeout"`
	// The type of persistence mode. The current specification supports SOURCE_IP,
	// HTTP_COOKIE, and APP_COOKIE.
	Type string `pulumi:"type"`
}

type PoolPersistenceArgs

type PoolPersistenceArgs struct {
	// The name of the cookie if persistence mode is set appropriately. Required
	// if `type = APP_COOKIE`.
	CookieName pulumi.StringPtrInput `pulumi:"cookieName"`
	// Specifies the sticky session timeout duration in minutes. This parameter is
	// invalid when type is set to APP_COOKIE. The value range varies depending on the protocol of the backend server group:
	// + When the protocol of the backend server group is TCP or UDP, the value ranges from 1 to 60.
	// + When the protocol of the backend server group is HTTP or HTTPS, the value ranges from 1 to 1440.
	Timeout pulumi.IntPtrInput `pulumi:"timeout"`
	// The type of persistence mode. The current specification supports SOURCE_IP,
	// HTTP_COOKIE, and APP_COOKIE.
	Type pulumi.StringInput `pulumi:"type"`
}

func (PoolPersistenceArgs) ElementType

func (PoolPersistenceArgs) ElementType() reflect.Type

func (PoolPersistenceArgs) ToPoolPersistenceOutput

func (i PoolPersistenceArgs) ToPoolPersistenceOutput() PoolPersistenceOutput

func (PoolPersistenceArgs) ToPoolPersistenceOutputWithContext

func (i PoolPersistenceArgs) ToPoolPersistenceOutputWithContext(ctx context.Context) PoolPersistenceOutput

type PoolPersistenceArray

type PoolPersistenceArray []PoolPersistenceInput

func (PoolPersistenceArray) ElementType

func (PoolPersistenceArray) ElementType() reflect.Type

func (PoolPersistenceArray) ToPoolPersistenceArrayOutput

func (i PoolPersistenceArray) ToPoolPersistenceArrayOutput() PoolPersistenceArrayOutput

func (PoolPersistenceArray) ToPoolPersistenceArrayOutputWithContext

func (i PoolPersistenceArray) ToPoolPersistenceArrayOutputWithContext(ctx context.Context) PoolPersistenceArrayOutput

type PoolPersistenceArrayInput

type PoolPersistenceArrayInput interface {
	pulumi.Input

	ToPoolPersistenceArrayOutput() PoolPersistenceArrayOutput
	ToPoolPersistenceArrayOutputWithContext(context.Context) PoolPersistenceArrayOutput
}

PoolPersistenceArrayInput is an input type that accepts PoolPersistenceArray and PoolPersistenceArrayOutput values. You can construct a concrete instance of `PoolPersistenceArrayInput` via:

PoolPersistenceArray{ PoolPersistenceArgs{...} }

type PoolPersistenceArrayOutput

type PoolPersistenceArrayOutput struct{ *pulumi.OutputState }

func (PoolPersistenceArrayOutput) ElementType

func (PoolPersistenceArrayOutput) ElementType() reflect.Type

func (PoolPersistenceArrayOutput) Index

func (PoolPersistenceArrayOutput) ToPoolPersistenceArrayOutput

func (o PoolPersistenceArrayOutput) ToPoolPersistenceArrayOutput() PoolPersistenceArrayOutput

func (PoolPersistenceArrayOutput) ToPoolPersistenceArrayOutputWithContext

func (o PoolPersistenceArrayOutput) ToPoolPersistenceArrayOutputWithContext(ctx context.Context) PoolPersistenceArrayOutput

type PoolPersistenceInput

type PoolPersistenceInput interface {
	pulumi.Input

	ToPoolPersistenceOutput() PoolPersistenceOutput
	ToPoolPersistenceOutputWithContext(context.Context) PoolPersistenceOutput
}

PoolPersistenceInput is an input type that accepts PoolPersistenceArgs and PoolPersistenceOutput values. You can construct a concrete instance of `PoolPersistenceInput` via:

PoolPersistenceArgs{...}

type PoolPersistenceOutput

type PoolPersistenceOutput struct{ *pulumi.OutputState }

func (PoolPersistenceOutput) CookieName

The name of the cookie if persistence mode is set appropriately. Required if `type = APP_COOKIE`.

func (PoolPersistenceOutput) ElementType

func (PoolPersistenceOutput) ElementType() reflect.Type

func (PoolPersistenceOutput) Timeout

Specifies the sticky session timeout duration in minutes. This parameter is invalid when type is set to APP_COOKIE. The value range varies depending on the protocol of the backend server group: + When the protocol of the backend server group is TCP or UDP, the value ranges from 1 to 60. + When the protocol of the backend server group is HTTP or HTTPS, the value ranges from 1 to 1440.

func (PoolPersistenceOutput) ToPoolPersistenceOutput

func (o PoolPersistenceOutput) ToPoolPersistenceOutput() PoolPersistenceOutput

func (PoolPersistenceOutput) ToPoolPersistenceOutputWithContext

func (o PoolPersistenceOutput) ToPoolPersistenceOutputWithContext(ctx context.Context) PoolPersistenceOutput

func (PoolPersistenceOutput) Type

The type of persistence mode. The current specification supports SOURCE_IP, HTTP_COOKIE, and APP_COOKIE.

type PoolState

type PoolState struct {
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable description for the pool.
	Description pulumi.StringPtrInput
	// The load balancing algorithm to distribute traffic to the pool's members. Must be one
	// of ROUND_ROBIN, LEAST_CONNECTIONS, or SOURCE_IP.
	LbMethod pulumi.StringPtrInput
	// The Listener on which the members of the pool will be associated with.
	// Changing this creates a new pool. Note:  At least one of LoadbalancerID or ListenerID must be provided.
	ListenerId pulumi.StringPtrInput
	// The load balancer on which to provision this pool. Changing this
	// creates a new pool. Note:  At least one of LoadbalancerID or ListenerID must be provided.
	LoadbalancerId pulumi.StringPtrInput
	// Human-readable name for the pool.
	Name pulumi.StringPtrInput
	// Omit this field to prevent session persistence. Indicates whether
	// connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.
	Persistences PoolPersistenceArrayInput
	// The protocol - can either be TCP, UDP or HTTP.
	// + When the protocol used by the listener is UDP, the protocol of the backend pool must be UDP.
	// + When the protocol used by the listener is TCP, the protocol of the backend pool must be TCP.
	// + When the protocol used by the listener is HTTP or TERMINATED_HTTPS, the protocol of the backend pool must be HTTP.
	Protocol pulumi.StringPtrInput
	// The region in which to create the ELB pool resource. If omitted, the the
	// provider-level region will be used. Changing this creates a new pool.
	Region pulumi.StringPtrInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
}

func (PoolState) ElementType

func (PoolState) ElementType() reflect.Type

type Whitelist

type Whitelist struct {
	pulumi.CustomResourceState

	// Specify whether to enable access control.
	EnableWhitelist pulumi.BoolPtrOutput `pulumi:"enableWhitelist"`
	// The Listener ID that the whitelist will be associated with. Changing this
	// creates a new whitelist.
	ListenerId pulumi.StringOutput `pulumi:"listenerId"`
	// The region in which to create the ELB whitelist resource. If omitted, the
	// provider-level region will be used. Changing this creates a new whitelist.
	Region pulumi.StringOutput `pulumi:"region"`
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// Specifies the IP addresses in the whitelist. Use commas(,) to separate the multiple
	// IP addresses.
	Whitelist pulumi.StringPtrOutput `pulumi:"whitelist"`
}

Manages an ELB whitelist resource within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		listener1, err := Elb.NewListener(ctx, "listener1", &Elb.ListenerArgs{
			Protocol:       pulumi.String("HTTP"),
			ProtocolPort:   pulumi.Int(8080),
			LoadbalancerId: pulumi.Any(_var.Loadbalancer_id),
		})
		if err != nil {
			return err
		}
		_, err = Elb.NewWhitelist(ctx, "whitelist1", &Elb.WhitelistArgs{
			EnableWhitelist: pulumi.Bool(true),
			Whitelist:       pulumi.String("192.168.11.1,192.168.0.1/24,192.168.201.18/8"),
			ListenerId:      listener1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ELB whitelist can be imported using the whitelist ID, e.g.

```sh

$ pulumi import huaweicloud:Elb/whitelist:Whitelist whitelist_1 5c20fdad-7288-11eb-b817-0255ac10158b

```

func GetWhitelist

func GetWhitelist(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WhitelistState, opts ...pulumi.ResourceOption) (*Whitelist, error)

GetWhitelist gets an existing Whitelist 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 NewWhitelist

func NewWhitelist(ctx *pulumi.Context,
	name string, args *WhitelistArgs, opts ...pulumi.ResourceOption) (*Whitelist, error)

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

func (*Whitelist) ElementType

func (*Whitelist) ElementType() reflect.Type

func (*Whitelist) ToWhitelistOutput

func (i *Whitelist) ToWhitelistOutput() WhitelistOutput

func (*Whitelist) ToWhitelistOutputWithContext

func (i *Whitelist) ToWhitelistOutputWithContext(ctx context.Context) WhitelistOutput

type WhitelistArgs

type WhitelistArgs struct {
	// Specify whether to enable access control.
	EnableWhitelist pulumi.BoolPtrInput
	// The Listener ID that the whitelist will be associated with. Changing this
	// creates a new whitelist.
	ListenerId pulumi.StringInput
	// The region in which to create the ELB whitelist resource. If omitted, the
	// provider-level region will be used. Changing this creates a new whitelist.
	Region pulumi.StringPtrInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
	// Specifies the IP addresses in the whitelist. Use commas(,) to separate the multiple
	// IP addresses.
	Whitelist pulumi.StringPtrInput
}

The set of arguments for constructing a Whitelist resource.

func (WhitelistArgs) ElementType

func (WhitelistArgs) ElementType() reflect.Type

type WhitelistArray

type WhitelistArray []WhitelistInput

func (WhitelistArray) ElementType

func (WhitelistArray) ElementType() reflect.Type

func (WhitelistArray) ToWhitelistArrayOutput

func (i WhitelistArray) ToWhitelistArrayOutput() WhitelistArrayOutput

func (WhitelistArray) ToWhitelistArrayOutputWithContext

func (i WhitelistArray) ToWhitelistArrayOutputWithContext(ctx context.Context) WhitelistArrayOutput

type WhitelistArrayInput

type WhitelistArrayInput interface {
	pulumi.Input

	ToWhitelistArrayOutput() WhitelistArrayOutput
	ToWhitelistArrayOutputWithContext(context.Context) WhitelistArrayOutput
}

WhitelistArrayInput is an input type that accepts WhitelistArray and WhitelistArrayOutput values. You can construct a concrete instance of `WhitelistArrayInput` via:

WhitelistArray{ WhitelistArgs{...} }

type WhitelistArrayOutput

type WhitelistArrayOutput struct{ *pulumi.OutputState }

func (WhitelistArrayOutput) ElementType

func (WhitelistArrayOutput) ElementType() reflect.Type

func (WhitelistArrayOutput) Index

func (WhitelistArrayOutput) ToWhitelistArrayOutput

func (o WhitelistArrayOutput) ToWhitelistArrayOutput() WhitelistArrayOutput

func (WhitelistArrayOutput) ToWhitelistArrayOutputWithContext

func (o WhitelistArrayOutput) ToWhitelistArrayOutputWithContext(ctx context.Context) WhitelistArrayOutput

type WhitelistInput

type WhitelistInput interface {
	pulumi.Input

	ToWhitelistOutput() WhitelistOutput
	ToWhitelistOutputWithContext(ctx context.Context) WhitelistOutput
}

type WhitelistMap

type WhitelistMap map[string]WhitelistInput

func (WhitelistMap) ElementType

func (WhitelistMap) ElementType() reflect.Type

func (WhitelistMap) ToWhitelistMapOutput

func (i WhitelistMap) ToWhitelistMapOutput() WhitelistMapOutput

func (WhitelistMap) ToWhitelistMapOutputWithContext

func (i WhitelistMap) ToWhitelistMapOutputWithContext(ctx context.Context) WhitelistMapOutput

type WhitelistMapInput

type WhitelistMapInput interface {
	pulumi.Input

	ToWhitelistMapOutput() WhitelistMapOutput
	ToWhitelistMapOutputWithContext(context.Context) WhitelistMapOutput
}

WhitelistMapInput is an input type that accepts WhitelistMap and WhitelistMapOutput values. You can construct a concrete instance of `WhitelistMapInput` via:

WhitelistMap{ "key": WhitelistArgs{...} }

type WhitelistMapOutput

type WhitelistMapOutput struct{ *pulumi.OutputState }

func (WhitelistMapOutput) ElementType

func (WhitelistMapOutput) ElementType() reflect.Type

func (WhitelistMapOutput) MapIndex

func (WhitelistMapOutput) ToWhitelistMapOutput

func (o WhitelistMapOutput) ToWhitelistMapOutput() WhitelistMapOutput

func (WhitelistMapOutput) ToWhitelistMapOutputWithContext

func (o WhitelistMapOutput) ToWhitelistMapOutputWithContext(ctx context.Context) WhitelistMapOutput

type WhitelistOutput

type WhitelistOutput struct{ *pulumi.OutputState }

func (WhitelistOutput) ElementType

func (WhitelistOutput) ElementType() reflect.Type

func (WhitelistOutput) EnableWhitelist

func (o WhitelistOutput) EnableWhitelist() pulumi.BoolPtrOutput

Specify whether to enable access control.

func (WhitelistOutput) ListenerId

func (o WhitelistOutput) ListenerId() pulumi.StringOutput

The Listener ID that the whitelist will be associated with. Changing this creates a new whitelist.

func (WhitelistOutput) Region

func (o WhitelistOutput) Region() pulumi.StringOutput

The region in which to create the ELB whitelist resource. If omitted, the provider-level region will be used. Changing this creates a new whitelist.

func (WhitelistOutput) TenantId deprecated

func (o WhitelistOutput) TenantId() pulumi.StringOutput

Deprecated: tenant_id is deprecated

func (WhitelistOutput) ToWhitelistOutput

func (o WhitelistOutput) ToWhitelistOutput() WhitelistOutput

func (WhitelistOutput) ToWhitelistOutputWithContext

func (o WhitelistOutput) ToWhitelistOutputWithContext(ctx context.Context) WhitelistOutput

func (WhitelistOutput) Whitelist

func (o WhitelistOutput) Whitelist() pulumi.StringPtrOutput

Specifies the IP addresses in the whitelist. Use commas(,) to separate the multiple IP addresses.

type WhitelistState

type WhitelistState struct {
	// Specify whether to enable access control.
	EnableWhitelist pulumi.BoolPtrInput
	// The Listener ID that the whitelist will be associated with. Changing this
	// creates a new whitelist.
	ListenerId pulumi.StringPtrInput
	// The region in which to create the ELB whitelist resource. If omitted, the
	// provider-level region will be used. Changing this creates a new whitelist.
	Region pulumi.StringPtrInput
	// Deprecated: tenant_id is deprecated
	TenantId pulumi.StringPtrInput
	// Specifies the IP addresses in the whitelist. Use commas(,) to separate the multiple
	// IP addresses.
	Whitelist pulumi.StringPtrInput
}

func (WhitelistState) ElementType

func (WhitelistState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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