waf

package
v3.55.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Certificate added in v3.8.0

type Certificate struct {
	pulumi.CustomResourceState

	// Certificate file content.
	Certificate pulumi.StringPtrOutput `pulumi:"certificate"`
	// The certificate id is automatically generated when you upload your certificate content.**NOTE:** you can also use Certificate ID saved in SSL.
	CertificateId pulumi.StringOutput `pulumi:"certificateId"`
	// Certificate file name.
	CertificateName pulumi.StringOutput `pulumi:"certificateName"`
	// The domain that you want to add to WAF.
	Domain pulumi.StringOutput `pulumi:"domain"`
	// The ID of the WAF instance.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The private key.
	PrivateKey pulumi.StringPtrOutput `pulumi:"privateKey"`
}

Provides a WAF Certificate resource.

For information about WAF Certificate and how to use it, see [What is Certificate](https://www.alibabacloud.com/help/doc-detail/28517.htm).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := waf.NewCertificate(ctx, "default", &waf.CertificateArgs{
			CertificateName: pulumi.String("your_certificate_name"),
			InstanceId:      pulumi.String("your_instance_id"),
			Domain:          pulumi.String("your_domain_name"),
			PrivateKey:      pulumi.String("your_private_key"),
			Certificate:     pulumi.String("your_certificate"),
		})
		if err != nil {
			return err
		}
		_, err = waf.NewCertificate(ctx, "default2", &waf.CertificateArgs{
			InstanceId:    pulumi.String("your_instance_id"),
			Domain:        pulumi.String("your_domain_name"),
			CertificateId: pulumi.String("your_certificate_id"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

WAF Certificate can be imported using the id, e.g.

```sh $ pulumi import alicloud:waf/certificate:Certificate example <instance_id>:<domain>:<certificate_id> ```

func GetCertificate added in v3.8.0

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

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

func (*Certificate) ElementType() reflect.Type

func (*Certificate) ToCertificateOutput added in v3.8.0

func (i *Certificate) ToCertificateOutput() CertificateOutput

func (*Certificate) ToCertificateOutputWithContext added in v3.8.0

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

type CertificateArgs added in v3.8.0

type CertificateArgs struct {
	// Certificate file content.
	Certificate pulumi.StringPtrInput
	// The certificate id is automatically generated when you upload your certificate content.**NOTE:** you can also use Certificate ID saved in SSL.
	CertificateId pulumi.StringPtrInput
	// Certificate file name.
	CertificateName pulumi.StringPtrInput
	// The domain that you want to add to WAF.
	Domain pulumi.StringInput
	// The ID of the WAF instance.
	InstanceId pulumi.StringInput
	// The private key.
	PrivateKey pulumi.StringPtrInput
}

The set of arguments for constructing a Certificate resource.

func (CertificateArgs) ElementType added in v3.8.0

func (CertificateArgs) ElementType() reflect.Type

type CertificateArray added in v3.8.0

type CertificateArray []CertificateInput

func (CertificateArray) ElementType added in v3.8.0

func (CertificateArray) ElementType() reflect.Type

func (CertificateArray) ToCertificateArrayOutput added in v3.8.0

func (i CertificateArray) ToCertificateArrayOutput() CertificateArrayOutput

func (CertificateArray) ToCertificateArrayOutputWithContext added in v3.8.0

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

type CertificateArrayInput added in v3.8.0

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

type CertificateArrayOutput struct{ *pulumi.OutputState }

func (CertificateArrayOutput) ElementType added in v3.8.0

func (CertificateArrayOutput) ElementType() reflect.Type

func (CertificateArrayOutput) Index added in v3.8.0

func (CertificateArrayOutput) ToCertificateArrayOutput added in v3.8.0

func (o CertificateArrayOutput) ToCertificateArrayOutput() CertificateArrayOutput

func (CertificateArrayOutput) ToCertificateArrayOutputWithContext added in v3.8.0

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

type CertificateInput added in v3.8.0

type CertificateInput interface {
	pulumi.Input

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

type CertificateMap added in v3.8.0

type CertificateMap map[string]CertificateInput

func (CertificateMap) ElementType added in v3.8.0

func (CertificateMap) ElementType() reflect.Type

func (CertificateMap) ToCertificateMapOutput added in v3.8.0

func (i CertificateMap) ToCertificateMapOutput() CertificateMapOutput

func (CertificateMap) ToCertificateMapOutputWithContext added in v3.8.0

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

type CertificateMapInput added in v3.8.0

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

type CertificateMapOutput struct{ *pulumi.OutputState }

func (CertificateMapOutput) ElementType added in v3.8.0

func (CertificateMapOutput) ElementType() reflect.Type

func (CertificateMapOutput) MapIndex added in v3.8.0

func (CertificateMapOutput) ToCertificateMapOutput added in v3.8.0

func (o CertificateMapOutput) ToCertificateMapOutput() CertificateMapOutput

func (CertificateMapOutput) ToCertificateMapOutputWithContext added in v3.8.0

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

type CertificateOutput added in v3.8.0

type CertificateOutput struct{ *pulumi.OutputState }

func (CertificateOutput) Certificate added in v3.27.0

func (o CertificateOutput) Certificate() pulumi.StringPtrOutput

Certificate file content.

func (CertificateOutput) CertificateId added in v3.27.0

func (o CertificateOutput) CertificateId() pulumi.StringOutput

The certificate id is automatically generated when you upload your certificate content.**NOTE:** you can also use Certificate ID saved in SSL.

func (CertificateOutput) CertificateName added in v3.27.0

func (o CertificateOutput) CertificateName() pulumi.StringOutput

Certificate file name.

func (CertificateOutput) Domain added in v3.27.0

The domain that you want to add to WAF.

func (CertificateOutput) ElementType added in v3.8.0

func (CertificateOutput) ElementType() reflect.Type

func (CertificateOutput) InstanceId added in v3.27.0

func (o CertificateOutput) InstanceId() pulumi.StringOutput

The ID of the WAF instance.

func (CertificateOutput) PrivateKey added in v3.27.0

func (o CertificateOutput) PrivateKey() pulumi.StringPtrOutput

The private key.

func (CertificateOutput) ToCertificateOutput added in v3.8.0

func (o CertificateOutput) ToCertificateOutput() CertificateOutput

func (CertificateOutput) ToCertificateOutputWithContext added in v3.8.0

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

type CertificateState added in v3.8.0

type CertificateState struct {
	// Certificate file content.
	Certificate pulumi.StringPtrInput
	// The certificate id is automatically generated when you upload your certificate content.**NOTE:** you can also use Certificate ID saved in SSL.
	CertificateId pulumi.StringPtrInput
	// Certificate file name.
	CertificateName pulumi.StringPtrInput
	// The domain that you want to add to WAF.
	Domain pulumi.StringPtrInput
	// The ID of the WAF instance.
	InstanceId pulumi.StringPtrInput
	// The private key.
	PrivateKey pulumi.StringPtrInput
}

func (CertificateState) ElementType added in v3.8.0

func (CertificateState) ElementType() reflect.Type

type Domain

type Domain struct {
	pulumi.CustomResourceState

	// The type of the WAF cluster. Valid values: `PhysicalCluster` and `VirtualCluster`. Default to `PhysicalCluster`.
	ClusterType pulumi.StringPtrOutput `pulumi:"clusterType"`
	// The CNAME record assigned by the WAF instance to the specified domain.
	Cname pulumi.StringOutput `pulumi:"cname"`
	// The connection timeout for WAF exclusive clusters. Unit: seconds.
	ConnectionTime pulumi.IntPtrOutput `pulumi:"connectionTime"`
	// Field `domain` has been deprecated from version 1.94.0. Use `domainName` instead.
	//
	// Deprecated: Field 'domain' has been deprecated from version 1.94.0. Use 'domain_name' instead.
	Domain pulumi.StringOutput `pulumi:"domain"`
	// The domain that you want to add to WAF. The `domainName` is required when the value of the `domain`  is Empty.
	DomainName pulumi.StringOutput `pulumi:"domainName"`
	// List of the HTTP 2.0 ports.
	Http2Ports pulumi.StringArrayOutput `pulumi:"http2Ports"`
	// List of the HTTP ports.
	HttpPorts pulumi.StringArrayOutput `pulumi:"httpPorts"`
	// Specifies whether to enable the HTTP back-to-origin feature. After this feature is enabled, the WAF instance can use HTTP to forward HTTPS requests to the origin server.
	// By default, port 80 is used to forward the requests to the origin server. Valid values: `On` and `Off`. Default to `Off`.
	HttpToUserIp pulumi.StringPtrOutput `pulumi:"httpToUserIp"`
	// List of the HTTPS ports.
	HttpsPorts pulumi.StringArrayOutput `pulumi:"httpsPorts"`
	// Specifies whether to redirect HTTP requests as HTTPS requests. Valid values: "On" and `Off`. Default to `Off`.
	HttpsRedirect pulumi.StringPtrOutput `pulumi:"httpsRedirect"`
	// The ID of the WAF instance.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// Specifies whether to configure a Layer-7 proxy, such as Anti-DDoS Pro or CDN, to filter the inbound traffic before it is forwarded to WAF. Valid values: `On` and `Off`. Default to `Off`.
	IsAccessProduct pulumi.StringOutput `pulumi:"isAccessProduct"`
	// The load balancing algorithm that is used to forward requests to the origin. Valid values: `IpHash` and `RoundRobin`. Default to `IpHash`.
	LoadBalancing pulumi.StringPtrOutput `pulumi:"loadBalancing"`
	// The key-value pair that is used to mark the traffic that flows through WAF to the domain. Each item contains two field:
	// * key: The key of label
	// * value: The value of label
	LogHeaders DomainLogHeaderArrayOutput `pulumi:"logHeaders"`
	// The read timeout of a WAF exclusive cluster. Unit: seconds.
	ReadTime pulumi.IntPtrOutput `pulumi:"readTime"`
	// The ID of the resource group to which the queried domain belongs in Resource Management. By default, no value is specified, indicating that the domain belongs to the default resource group.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// List of the IP address or domain of the origin server to which the specified domain points.
	SourceIps pulumi.StringArrayOutput `pulumi:"sourceIps"`
	// The timeout period for a WAF exclusive cluster write connection. Unit: seconds.
	WriteTime pulumi.IntPtrOutput `pulumi:"writeTime"`
}

> **DEPRECATED:** This resource has been deprecated and using wafv3.Domain instead.

Provides a WAF Domain resource to create domain in the Web Application Firewall.

For information about WAF and how to use it, see [What is Alibaba Cloud WAF](https://www.alibabacloud.com/help/doc-detail/28517.htm).

> **NOTE:** Available in 1.82.0+ .

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := waf.NewDomain(ctx, "domain", &waf.DomainArgs{
			DomainName:      pulumi.String("alicloud-provider.cn"),
			InstanceId:      pulumi.String("waf-123455"),
			IsAccessProduct: pulumi.String("On"),
			SourceIps: pulumi.StringArray{
				pulumi.String("1.1.1.1"),
			},
			ClusterType: pulumi.String("PhysicalCluster"),
			Http2Ports: pulumi.StringArray{
				pulumi.String("443"),
			},
			HttpPorts: pulumi.StringArray{
				pulumi.String("80"),
			},
			HttpsPorts: pulumi.StringArray{
				pulumi.String("443"),
			},
			HttpToUserIp:  pulumi.String("Off"),
			HttpsRedirect: pulumi.String("Off"),
			LoadBalancing: pulumi.String("IpHash"),
			LogHeaders: waf.DomainLogHeaderArray{
				&waf.DomainLogHeaderArgs{
					Key:   pulumi.String("foo"),
					Value: pulumi.String("http"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

WAF domain can be imported using the id, e.g.

```sh $ pulumi import alicloud:waf/domain:Domain domain waf-132435:www.domain.com ```

func GetDomain

func GetDomain(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DomainState, opts ...pulumi.ResourceOption) (*Domain, error)

GetDomain gets an existing Domain 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 NewDomain

func NewDomain(ctx *pulumi.Context,
	name string, args *DomainArgs, opts ...pulumi.ResourceOption) (*Domain, error)

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

func (*Domain) ElementType

func (*Domain) ElementType() reflect.Type

func (*Domain) ToDomainOutput

func (i *Domain) ToDomainOutput() DomainOutput

func (*Domain) ToDomainOutputWithContext

func (i *Domain) ToDomainOutputWithContext(ctx context.Context) DomainOutput

type DomainArgs

type DomainArgs struct {
	// The type of the WAF cluster. Valid values: `PhysicalCluster` and `VirtualCluster`. Default to `PhysicalCluster`.
	ClusterType pulumi.StringPtrInput
	// The connection timeout for WAF exclusive clusters. Unit: seconds.
	ConnectionTime pulumi.IntPtrInput
	// Field `domain` has been deprecated from version 1.94.0. Use `domainName` instead.
	//
	// Deprecated: Field 'domain' has been deprecated from version 1.94.0. Use 'domain_name' instead.
	Domain pulumi.StringPtrInput
	// The domain that you want to add to WAF. The `domainName` is required when the value of the `domain`  is Empty.
	DomainName pulumi.StringPtrInput
	// List of the HTTP 2.0 ports.
	Http2Ports pulumi.StringArrayInput
	// List of the HTTP ports.
	HttpPorts pulumi.StringArrayInput
	// Specifies whether to enable the HTTP back-to-origin feature. After this feature is enabled, the WAF instance can use HTTP to forward HTTPS requests to the origin server.
	// By default, port 80 is used to forward the requests to the origin server. Valid values: `On` and `Off`. Default to `Off`.
	HttpToUserIp pulumi.StringPtrInput
	// List of the HTTPS ports.
	HttpsPorts pulumi.StringArrayInput
	// Specifies whether to redirect HTTP requests as HTTPS requests. Valid values: "On" and `Off`. Default to `Off`.
	HttpsRedirect pulumi.StringPtrInput
	// The ID of the WAF instance.
	InstanceId pulumi.StringInput
	// Specifies whether to configure a Layer-7 proxy, such as Anti-DDoS Pro or CDN, to filter the inbound traffic before it is forwarded to WAF. Valid values: `On` and `Off`. Default to `Off`.
	IsAccessProduct pulumi.StringInput
	// The load balancing algorithm that is used to forward requests to the origin. Valid values: `IpHash` and `RoundRobin`. Default to `IpHash`.
	LoadBalancing pulumi.StringPtrInput
	// The key-value pair that is used to mark the traffic that flows through WAF to the domain. Each item contains two field:
	// * key: The key of label
	// * value: The value of label
	LogHeaders DomainLogHeaderArrayInput
	// The read timeout of a WAF exclusive cluster. Unit: seconds.
	ReadTime pulumi.IntPtrInput
	// The ID of the resource group to which the queried domain belongs in Resource Management. By default, no value is specified, indicating that the domain belongs to the default resource group.
	ResourceGroupId pulumi.StringPtrInput
	// List of the IP address or domain of the origin server to which the specified domain points.
	SourceIps pulumi.StringArrayInput
	// The timeout period for a WAF exclusive cluster write connection. Unit: seconds.
	WriteTime pulumi.IntPtrInput
}

The set of arguments for constructing a Domain resource.

func (DomainArgs) ElementType

func (DomainArgs) ElementType() reflect.Type

type DomainArray

type DomainArray []DomainInput

func (DomainArray) ElementType

func (DomainArray) ElementType() reflect.Type

func (DomainArray) ToDomainArrayOutput

func (i DomainArray) ToDomainArrayOutput() DomainArrayOutput

func (DomainArray) ToDomainArrayOutputWithContext

func (i DomainArray) ToDomainArrayOutputWithContext(ctx context.Context) DomainArrayOutput

type DomainArrayInput

type DomainArrayInput interface {
	pulumi.Input

	ToDomainArrayOutput() DomainArrayOutput
	ToDomainArrayOutputWithContext(context.Context) DomainArrayOutput
}

DomainArrayInput is an input type that accepts DomainArray and DomainArrayOutput values. You can construct a concrete instance of `DomainArrayInput` via:

DomainArray{ DomainArgs{...} }

type DomainArrayOutput

type DomainArrayOutput struct{ *pulumi.OutputState }

func (DomainArrayOutput) ElementType

func (DomainArrayOutput) ElementType() reflect.Type

func (DomainArrayOutput) Index

func (DomainArrayOutput) ToDomainArrayOutput

func (o DomainArrayOutput) ToDomainArrayOutput() DomainArrayOutput

func (DomainArrayOutput) ToDomainArrayOutputWithContext

func (o DomainArrayOutput) ToDomainArrayOutputWithContext(ctx context.Context) DomainArrayOutput

type DomainInput

type DomainInput interface {
	pulumi.Input

	ToDomainOutput() DomainOutput
	ToDomainOutputWithContext(ctx context.Context) DomainOutput
}

type DomainLogHeader

type DomainLogHeader struct {
	Key   *string `pulumi:"key"`
	Value *string `pulumi:"value"`
}

type DomainLogHeaderArgs

type DomainLogHeaderArgs struct {
	Key   pulumi.StringPtrInput `pulumi:"key"`
	Value pulumi.StringPtrInput `pulumi:"value"`
}

func (DomainLogHeaderArgs) ElementType

func (DomainLogHeaderArgs) ElementType() reflect.Type

func (DomainLogHeaderArgs) ToDomainLogHeaderOutput

func (i DomainLogHeaderArgs) ToDomainLogHeaderOutput() DomainLogHeaderOutput

func (DomainLogHeaderArgs) ToDomainLogHeaderOutputWithContext

func (i DomainLogHeaderArgs) ToDomainLogHeaderOutputWithContext(ctx context.Context) DomainLogHeaderOutput

type DomainLogHeaderArray

type DomainLogHeaderArray []DomainLogHeaderInput

func (DomainLogHeaderArray) ElementType

func (DomainLogHeaderArray) ElementType() reflect.Type

func (DomainLogHeaderArray) ToDomainLogHeaderArrayOutput

func (i DomainLogHeaderArray) ToDomainLogHeaderArrayOutput() DomainLogHeaderArrayOutput

func (DomainLogHeaderArray) ToDomainLogHeaderArrayOutputWithContext

func (i DomainLogHeaderArray) ToDomainLogHeaderArrayOutputWithContext(ctx context.Context) DomainLogHeaderArrayOutput

type DomainLogHeaderArrayInput

type DomainLogHeaderArrayInput interface {
	pulumi.Input

	ToDomainLogHeaderArrayOutput() DomainLogHeaderArrayOutput
	ToDomainLogHeaderArrayOutputWithContext(context.Context) DomainLogHeaderArrayOutput
}

DomainLogHeaderArrayInput is an input type that accepts DomainLogHeaderArray and DomainLogHeaderArrayOutput values. You can construct a concrete instance of `DomainLogHeaderArrayInput` via:

DomainLogHeaderArray{ DomainLogHeaderArgs{...} }

type DomainLogHeaderArrayOutput

type DomainLogHeaderArrayOutput struct{ *pulumi.OutputState }

func (DomainLogHeaderArrayOutput) ElementType

func (DomainLogHeaderArrayOutput) ElementType() reflect.Type

func (DomainLogHeaderArrayOutput) Index

func (DomainLogHeaderArrayOutput) ToDomainLogHeaderArrayOutput

func (o DomainLogHeaderArrayOutput) ToDomainLogHeaderArrayOutput() DomainLogHeaderArrayOutput

func (DomainLogHeaderArrayOutput) ToDomainLogHeaderArrayOutputWithContext

func (o DomainLogHeaderArrayOutput) ToDomainLogHeaderArrayOutputWithContext(ctx context.Context) DomainLogHeaderArrayOutput

type DomainLogHeaderInput

type DomainLogHeaderInput interface {
	pulumi.Input

	ToDomainLogHeaderOutput() DomainLogHeaderOutput
	ToDomainLogHeaderOutputWithContext(context.Context) DomainLogHeaderOutput
}

DomainLogHeaderInput is an input type that accepts DomainLogHeaderArgs and DomainLogHeaderOutput values. You can construct a concrete instance of `DomainLogHeaderInput` via:

DomainLogHeaderArgs{...}

type DomainLogHeaderOutput

type DomainLogHeaderOutput struct{ *pulumi.OutputState }

func (DomainLogHeaderOutput) ElementType

func (DomainLogHeaderOutput) ElementType() reflect.Type

func (DomainLogHeaderOutput) Key

func (DomainLogHeaderOutput) ToDomainLogHeaderOutput

func (o DomainLogHeaderOutput) ToDomainLogHeaderOutput() DomainLogHeaderOutput

func (DomainLogHeaderOutput) ToDomainLogHeaderOutputWithContext

func (o DomainLogHeaderOutput) ToDomainLogHeaderOutputWithContext(ctx context.Context) DomainLogHeaderOutput

func (DomainLogHeaderOutput) Value

type DomainMap

type DomainMap map[string]DomainInput

func (DomainMap) ElementType

func (DomainMap) ElementType() reflect.Type

func (DomainMap) ToDomainMapOutput

func (i DomainMap) ToDomainMapOutput() DomainMapOutput

func (DomainMap) ToDomainMapOutputWithContext

func (i DomainMap) ToDomainMapOutputWithContext(ctx context.Context) DomainMapOutput

type DomainMapInput

type DomainMapInput interface {
	pulumi.Input

	ToDomainMapOutput() DomainMapOutput
	ToDomainMapOutputWithContext(context.Context) DomainMapOutput
}

DomainMapInput is an input type that accepts DomainMap and DomainMapOutput values. You can construct a concrete instance of `DomainMapInput` via:

DomainMap{ "key": DomainArgs{...} }

type DomainMapOutput

type DomainMapOutput struct{ *pulumi.OutputState }

func (DomainMapOutput) ElementType

func (DomainMapOutput) ElementType() reflect.Type

func (DomainMapOutput) MapIndex

func (DomainMapOutput) ToDomainMapOutput

func (o DomainMapOutput) ToDomainMapOutput() DomainMapOutput

func (DomainMapOutput) ToDomainMapOutputWithContext

func (o DomainMapOutput) ToDomainMapOutputWithContext(ctx context.Context) DomainMapOutput

type DomainOutput

type DomainOutput struct{ *pulumi.OutputState }

func (DomainOutput) ClusterType added in v3.27.0

func (o DomainOutput) ClusterType() pulumi.StringPtrOutput

The type of the WAF cluster. Valid values: `PhysicalCluster` and `VirtualCluster`. Default to `PhysicalCluster`.

func (DomainOutput) Cname added in v3.27.0

func (o DomainOutput) Cname() pulumi.StringOutput

The CNAME record assigned by the WAF instance to the specified domain.

func (DomainOutput) ConnectionTime added in v3.27.0

func (o DomainOutput) ConnectionTime() pulumi.IntPtrOutput

The connection timeout for WAF exclusive clusters. Unit: seconds.

func (DomainOutput) Domain deprecated added in v3.27.0

func (o DomainOutput) Domain() pulumi.StringOutput

Field `domain` has been deprecated from version 1.94.0. Use `domainName` instead.

Deprecated: Field 'domain' has been deprecated from version 1.94.0. Use 'domain_name' instead.

func (DomainOutput) DomainName added in v3.27.0

func (o DomainOutput) DomainName() pulumi.StringOutput

The domain that you want to add to WAF. The `domainName` is required when the value of the `domain` is Empty.

func (DomainOutput) ElementType

func (DomainOutput) ElementType() reflect.Type

func (DomainOutput) Http2Ports added in v3.27.0

func (o DomainOutput) Http2Ports() pulumi.StringArrayOutput

List of the HTTP 2.0 ports.

func (DomainOutput) HttpPorts added in v3.27.0

func (o DomainOutput) HttpPorts() pulumi.StringArrayOutput

List of the HTTP ports.

func (DomainOutput) HttpToUserIp added in v3.27.0

func (o DomainOutput) HttpToUserIp() pulumi.StringPtrOutput

Specifies whether to enable the HTTP back-to-origin feature. After this feature is enabled, the WAF instance can use HTTP to forward HTTPS requests to the origin server. By default, port 80 is used to forward the requests to the origin server. Valid values: `On` and `Off`. Default to `Off`.

func (DomainOutput) HttpsPorts added in v3.27.0

func (o DomainOutput) HttpsPorts() pulumi.StringArrayOutput

List of the HTTPS ports.

func (DomainOutput) HttpsRedirect added in v3.27.0

func (o DomainOutput) HttpsRedirect() pulumi.StringPtrOutput

Specifies whether to redirect HTTP requests as HTTPS requests. Valid values: "On" and `Off`. Default to `Off`.

func (DomainOutput) InstanceId added in v3.27.0

func (o DomainOutput) InstanceId() pulumi.StringOutput

The ID of the WAF instance.

func (DomainOutput) IsAccessProduct added in v3.27.0

func (o DomainOutput) IsAccessProduct() pulumi.StringOutput

Specifies whether to configure a Layer-7 proxy, such as Anti-DDoS Pro or CDN, to filter the inbound traffic before it is forwarded to WAF. Valid values: `On` and `Off`. Default to `Off`.

func (DomainOutput) LoadBalancing added in v3.27.0

func (o DomainOutput) LoadBalancing() pulumi.StringPtrOutput

The load balancing algorithm that is used to forward requests to the origin. Valid values: `IpHash` and `RoundRobin`. Default to `IpHash`.

func (DomainOutput) LogHeaders added in v3.27.0

The key-value pair that is used to mark the traffic that flows through WAF to the domain. Each item contains two field: * key: The key of label * value: The value of label

func (DomainOutput) ReadTime added in v3.27.0

func (o DomainOutput) ReadTime() pulumi.IntPtrOutput

The read timeout of a WAF exclusive cluster. Unit: seconds.

func (DomainOutput) ResourceGroupId added in v3.27.0

func (o DomainOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group to which the queried domain belongs in Resource Management. By default, no value is specified, indicating that the domain belongs to the default resource group.

func (DomainOutput) SourceIps added in v3.27.0

func (o DomainOutput) SourceIps() pulumi.StringArrayOutput

List of the IP address or domain of the origin server to which the specified domain points.

func (DomainOutput) ToDomainOutput

func (o DomainOutput) ToDomainOutput() DomainOutput

func (DomainOutput) ToDomainOutputWithContext

func (o DomainOutput) ToDomainOutputWithContext(ctx context.Context) DomainOutput

func (DomainOutput) WriteTime added in v3.27.0

func (o DomainOutput) WriteTime() pulumi.IntPtrOutput

The timeout period for a WAF exclusive cluster write connection. Unit: seconds.

type DomainState

type DomainState struct {
	// The type of the WAF cluster. Valid values: `PhysicalCluster` and `VirtualCluster`. Default to `PhysicalCluster`.
	ClusterType pulumi.StringPtrInput
	// The CNAME record assigned by the WAF instance to the specified domain.
	Cname pulumi.StringPtrInput
	// The connection timeout for WAF exclusive clusters. Unit: seconds.
	ConnectionTime pulumi.IntPtrInput
	// Field `domain` has been deprecated from version 1.94.0. Use `domainName` instead.
	//
	// Deprecated: Field 'domain' has been deprecated from version 1.94.0. Use 'domain_name' instead.
	Domain pulumi.StringPtrInput
	// The domain that you want to add to WAF. The `domainName` is required when the value of the `domain`  is Empty.
	DomainName pulumi.StringPtrInput
	// List of the HTTP 2.0 ports.
	Http2Ports pulumi.StringArrayInput
	// List of the HTTP ports.
	HttpPorts pulumi.StringArrayInput
	// Specifies whether to enable the HTTP back-to-origin feature. After this feature is enabled, the WAF instance can use HTTP to forward HTTPS requests to the origin server.
	// By default, port 80 is used to forward the requests to the origin server. Valid values: `On` and `Off`. Default to `Off`.
	HttpToUserIp pulumi.StringPtrInput
	// List of the HTTPS ports.
	HttpsPorts pulumi.StringArrayInput
	// Specifies whether to redirect HTTP requests as HTTPS requests. Valid values: "On" and `Off`. Default to `Off`.
	HttpsRedirect pulumi.StringPtrInput
	// The ID of the WAF instance.
	InstanceId pulumi.StringPtrInput
	// Specifies whether to configure a Layer-7 proxy, such as Anti-DDoS Pro or CDN, to filter the inbound traffic before it is forwarded to WAF. Valid values: `On` and `Off`. Default to `Off`.
	IsAccessProduct pulumi.StringPtrInput
	// The load balancing algorithm that is used to forward requests to the origin. Valid values: `IpHash` and `RoundRobin`. Default to `IpHash`.
	LoadBalancing pulumi.StringPtrInput
	// The key-value pair that is used to mark the traffic that flows through WAF to the domain. Each item contains two field:
	// * key: The key of label
	// * value: The value of label
	LogHeaders DomainLogHeaderArrayInput
	// The read timeout of a WAF exclusive cluster. Unit: seconds.
	ReadTime pulumi.IntPtrInput
	// The ID of the resource group to which the queried domain belongs in Resource Management. By default, no value is specified, indicating that the domain belongs to the default resource group.
	ResourceGroupId pulumi.StringPtrInput
	// List of the IP address or domain of the origin server to which the specified domain points.
	SourceIps pulumi.StringArrayInput
	// The timeout period for a WAF exclusive cluster write connection. Unit: seconds.
	WriteTime pulumi.IntPtrInput
}

func (DomainState) ElementType

func (DomainState) ElementType() reflect.Type

type GetCertificatesArgs added in v3.8.0

type GetCertificatesArgs struct {
	// WAF domain name.
	Domain *string `pulumi:"domain"`
	// A list of Certificate IDs.
	Ids []string `pulumi:"ids"`
	// WAF instance ID.
	InstanceId string `pulumi:"instanceId"`
	// A regex string to filter results by Certificate name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getCertificates.

type GetCertificatesCertificate added in v3.8.0

type GetCertificatesCertificate struct {
	// Certificate recording ID.
	CertificateId string `pulumi:"certificateId"`
	// Your certificate name.
	CertificateName string `pulumi:"certificateName"`
	// Certificate bound to the domain name.
	CommonName string `pulumi:"commonName"`
	// The domain that you want to add to WAF.
	Domain string `pulumi:"domain"`
	// The ID of the Certificate.
	Id string `pulumi:"id"`
	// WAF instance ID.
	InstanceId string   `pulumi:"instanceId"`
	IsUsing    bool     `pulumi:"isUsing"`
	Sans       []string `pulumi:"sans"`
}

type GetCertificatesCertificateArgs added in v3.8.0

type GetCertificatesCertificateArgs struct {
	// Certificate recording ID.
	CertificateId pulumi.StringInput `pulumi:"certificateId"`
	// Your certificate name.
	CertificateName pulumi.StringInput `pulumi:"certificateName"`
	// Certificate bound to the domain name.
	CommonName pulumi.StringInput `pulumi:"commonName"`
	// The domain that you want to add to WAF.
	Domain pulumi.StringInput `pulumi:"domain"`
	// The ID of the Certificate.
	Id pulumi.StringInput `pulumi:"id"`
	// WAF instance ID.
	InstanceId pulumi.StringInput      `pulumi:"instanceId"`
	IsUsing    pulumi.BoolInput        `pulumi:"isUsing"`
	Sans       pulumi.StringArrayInput `pulumi:"sans"`
}

func (GetCertificatesCertificateArgs) ElementType added in v3.8.0

func (GetCertificatesCertificateArgs) ToGetCertificatesCertificateOutput added in v3.8.0

func (i GetCertificatesCertificateArgs) ToGetCertificatesCertificateOutput() GetCertificatesCertificateOutput

func (GetCertificatesCertificateArgs) ToGetCertificatesCertificateOutputWithContext added in v3.8.0

func (i GetCertificatesCertificateArgs) ToGetCertificatesCertificateOutputWithContext(ctx context.Context) GetCertificatesCertificateOutput

type GetCertificatesCertificateArray added in v3.8.0

type GetCertificatesCertificateArray []GetCertificatesCertificateInput

func (GetCertificatesCertificateArray) ElementType added in v3.8.0

func (GetCertificatesCertificateArray) ToGetCertificatesCertificateArrayOutput added in v3.8.0

func (i GetCertificatesCertificateArray) ToGetCertificatesCertificateArrayOutput() GetCertificatesCertificateArrayOutput

func (GetCertificatesCertificateArray) ToGetCertificatesCertificateArrayOutputWithContext added in v3.8.0

func (i GetCertificatesCertificateArray) ToGetCertificatesCertificateArrayOutputWithContext(ctx context.Context) GetCertificatesCertificateArrayOutput

type GetCertificatesCertificateArrayInput added in v3.8.0

type GetCertificatesCertificateArrayInput interface {
	pulumi.Input

	ToGetCertificatesCertificateArrayOutput() GetCertificatesCertificateArrayOutput
	ToGetCertificatesCertificateArrayOutputWithContext(context.Context) GetCertificatesCertificateArrayOutput
}

GetCertificatesCertificateArrayInput is an input type that accepts GetCertificatesCertificateArray and GetCertificatesCertificateArrayOutput values. You can construct a concrete instance of `GetCertificatesCertificateArrayInput` via:

GetCertificatesCertificateArray{ GetCertificatesCertificateArgs{...} }

type GetCertificatesCertificateArrayOutput added in v3.8.0

type GetCertificatesCertificateArrayOutput struct{ *pulumi.OutputState }

func (GetCertificatesCertificateArrayOutput) ElementType added in v3.8.0

func (GetCertificatesCertificateArrayOutput) Index added in v3.8.0

func (GetCertificatesCertificateArrayOutput) ToGetCertificatesCertificateArrayOutput added in v3.8.0

func (o GetCertificatesCertificateArrayOutput) ToGetCertificatesCertificateArrayOutput() GetCertificatesCertificateArrayOutput

func (GetCertificatesCertificateArrayOutput) ToGetCertificatesCertificateArrayOutputWithContext added in v3.8.0

func (o GetCertificatesCertificateArrayOutput) ToGetCertificatesCertificateArrayOutputWithContext(ctx context.Context) GetCertificatesCertificateArrayOutput

type GetCertificatesCertificateInput added in v3.8.0

type GetCertificatesCertificateInput interface {
	pulumi.Input

	ToGetCertificatesCertificateOutput() GetCertificatesCertificateOutput
	ToGetCertificatesCertificateOutputWithContext(context.Context) GetCertificatesCertificateOutput
}

GetCertificatesCertificateInput is an input type that accepts GetCertificatesCertificateArgs and GetCertificatesCertificateOutput values. You can construct a concrete instance of `GetCertificatesCertificateInput` via:

GetCertificatesCertificateArgs{...}

type GetCertificatesCertificateOutput added in v3.8.0

type GetCertificatesCertificateOutput struct{ *pulumi.OutputState }

func (GetCertificatesCertificateOutput) CertificateId added in v3.8.0

Certificate recording ID.

func (GetCertificatesCertificateOutput) CertificateName added in v3.8.0

Your certificate name.

func (GetCertificatesCertificateOutput) CommonName added in v3.8.0

Certificate bound to the domain name.

func (GetCertificatesCertificateOutput) Domain added in v3.8.0

The domain that you want to add to WAF.

func (GetCertificatesCertificateOutput) ElementType added in v3.8.0

func (GetCertificatesCertificateOutput) Id added in v3.8.0

The ID of the Certificate.

func (GetCertificatesCertificateOutput) InstanceId added in v3.8.0

WAF instance ID.

func (GetCertificatesCertificateOutput) IsUsing added in v3.8.0

func (GetCertificatesCertificateOutput) Sans added in v3.8.0

func (GetCertificatesCertificateOutput) ToGetCertificatesCertificateOutput added in v3.8.0

func (o GetCertificatesCertificateOutput) ToGetCertificatesCertificateOutput() GetCertificatesCertificateOutput

func (GetCertificatesCertificateOutput) ToGetCertificatesCertificateOutputWithContext added in v3.8.0

func (o GetCertificatesCertificateOutput) ToGetCertificatesCertificateOutputWithContext(ctx context.Context) GetCertificatesCertificateOutput

type GetCertificatesOutputArgs added in v3.9.0

type GetCertificatesOutputArgs struct {
	// WAF domain name.
	Domain pulumi.StringPtrInput `pulumi:"domain"`
	// A list of Certificate IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// WAF instance ID.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// A regex string to filter results by Certificate name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getCertificates.

func (GetCertificatesOutputArgs) ElementType added in v3.9.0

func (GetCertificatesOutputArgs) ElementType() reflect.Type

type GetCertificatesResult added in v3.8.0

type GetCertificatesResult struct {
	Certificates []GetCertificatesCertificate `pulumi:"certificates"`
	Domain       *string                      `pulumi:"domain"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	Ids        []string `pulumi:"ids"`
	InstanceId string   `pulumi:"instanceId"`
	NameRegex  *string  `pulumi:"nameRegex"`
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
}

A collection of values returned by getCertificates.

func GetCertificates added in v3.8.0

func GetCertificates(ctx *pulumi.Context, args *GetCertificatesArgs, opts ...pulumi.InvokeOption) (*GetCertificatesResult, error)

This data source provides the Waf Certificates of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := waf.GetCertificates(ctx, &waf.GetCertificatesArgs{
			Ids: []string{
				"your_certificate_id",
			},
			InstanceId: "your_instance_id",
			Domain:     pulumi.StringRef("your_domain_name"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("wafCertificate", _default.Certificates[0])
		return nil
	})
}

```

type GetCertificatesResultOutput added in v3.9.0

type GetCertificatesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCertificates.

func GetCertificatesOutput added in v3.9.0

func (GetCertificatesResultOutput) Certificates added in v3.9.0

func (GetCertificatesResultOutput) Domain added in v3.9.0

func (GetCertificatesResultOutput) ElementType added in v3.9.0

func (GetCertificatesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetCertificatesResultOutput) Ids added in v3.9.0

func (GetCertificatesResultOutput) InstanceId added in v3.9.0

func (GetCertificatesResultOutput) NameRegex added in v3.9.0

func (GetCertificatesResultOutput) Names added in v3.9.0

func (GetCertificatesResultOutput) OutputFile added in v3.9.0

func (GetCertificatesResultOutput) ToGetCertificatesResultOutput added in v3.9.0

func (o GetCertificatesResultOutput) ToGetCertificatesResultOutput() GetCertificatesResultOutput

func (GetCertificatesResultOutput) ToGetCertificatesResultOutputWithContext added in v3.9.0

func (o GetCertificatesResultOutput) ToGetCertificatesResultOutputWithContext(ctx context.Context) GetCertificatesResultOutput

type GetDomainsArgs

type GetDomainsArgs struct {
	// Default to false and only output `id`, `domainName`. Set it to true can output more details.
	EnableDetails *bool `pulumi:"enableDetails"`
	// A list of WAF domain names. Each item is domain name.
	Ids []string `pulumi:"ids"`
	// The Id of waf instance to which waf domain belongs.
	InstanceId string `pulumi:"instanceId"`
	// A regex string to filter results by domain name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the resource group to which the queried domain belongs in Resource Management.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
}

A collection of arguments for invoking getDomains.

type GetDomainsDomain

type GetDomainsDomain struct {
	// The type of the WAF cluster.
	ClusterType string `pulumi:"clusterType"`
	// The CNAME record assigned by the WAF instance to the specified domain.
	Cname string `pulumi:"cname"`
	// The connection timeout for WAF exclusive clusters. Valid values: `PhysicalCluster` and `VirtualCluster`. Default to `PhysicalCluster`.
	ConnectionTime int `pulumi:"connectionTime"`
	// Field `domain` has been deprecated from version 1.94.0. Use `domainName` instead.
	Domain string `pulumi:"domain"`
	// Name of the domain.
	DomainName string `pulumi:"domainName"`
	// List of the HTTP 2.0 ports.
	Http2Ports []string `pulumi:"http2Ports"`
	// List of the HTTP ports.
	HttpPorts []string `pulumi:"httpPorts"`
	// Specifies whether to enable the HTTP back-to-origin feature. After this feature is enabled, the WAF instance can use HTTP to forward HTTPS requests to the origin server.
	HttpToUserIp string `pulumi:"httpToUserIp"`
	// List of the HTTPS ports.
	HttpsPorts []string `pulumi:"httpsPorts"`
	// Specifies whether to redirect HTTP requests as HTTPS requests. Valid values: `On` and `Off`. Default to `Off`.
	HttpsRedirect string `pulumi:"httpsRedirect"`
	// The ID of domain self ID, value as `domainName`.
	Id string `pulumi:"id"`
	// Specifies whether to configure a Layer-7 proxy, such as Anti-DDoS Pro or CDN, to filter the inbound traffic before it is forwarded to WAF. Valid values: `On` and "Off". Default to `Off`.
	IsAccessProduct string `pulumi:"isAccessProduct"`
	// The load balancing algorithm that is used to forward requests to the origin. Valid values: `IpHash` and `RoundRobin`. Default to `IpHash`.
	LoadBalancing string `pulumi:"loadBalancing"`
	// The key-value pair that is used to mark the traffic that flows through WAF to the domain. Each item contains two field:
	LogHeaders []GetDomainsDomainLogHeader `pulumi:"logHeaders"`
	// The read timeout of a WAF exclusive cluster. Unit: seconds.
	ReadTime int `pulumi:"readTime"`
	// The ID of the resource group to which the queried domain belongs in Resource Management.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// List of the IP address or domain of the origin server to which the specified domain points.
	SourceIps []string `pulumi:"sourceIps"`
	// The system data identifier that is used to control optimistic locking.
	Version int `pulumi:"version"`
	// The timeout period for a WAF exclusive cluster write connection. Unit: seconds.
	WriteTime int `pulumi:"writeTime"`
}

type GetDomainsDomainArgs

type GetDomainsDomainArgs struct {
	// The type of the WAF cluster.
	ClusterType pulumi.StringInput `pulumi:"clusterType"`
	// The CNAME record assigned by the WAF instance to the specified domain.
	Cname pulumi.StringInput `pulumi:"cname"`
	// The connection timeout for WAF exclusive clusters. Valid values: `PhysicalCluster` and `VirtualCluster`. Default to `PhysicalCluster`.
	ConnectionTime pulumi.IntInput `pulumi:"connectionTime"`
	// Field `domain` has been deprecated from version 1.94.0. Use `domainName` instead.
	Domain pulumi.StringInput `pulumi:"domain"`
	// Name of the domain.
	DomainName pulumi.StringInput `pulumi:"domainName"`
	// List of the HTTP 2.0 ports.
	Http2Ports pulumi.StringArrayInput `pulumi:"http2Ports"`
	// List of the HTTP ports.
	HttpPorts pulumi.StringArrayInput `pulumi:"httpPorts"`
	// Specifies whether to enable the HTTP back-to-origin feature. After this feature is enabled, the WAF instance can use HTTP to forward HTTPS requests to the origin server.
	HttpToUserIp pulumi.StringInput `pulumi:"httpToUserIp"`
	// List of the HTTPS ports.
	HttpsPorts pulumi.StringArrayInput `pulumi:"httpsPorts"`
	// Specifies whether to redirect HTTP requests as HTTPS requests. Valid values: `On` and `Off`. Default to `Off`.
	HttpsRedirect pulumi.StringInput `pulumi:"httpsRedirect"`
	// The ID of domain self ID, value as `domainName`.
	Id pulumi.StringInput `pulumi:"id"`
	// Specifies whether to configure a Layer-7 proxy, such as Anti-DDoS Pro or CDN, to filter the inbound traffic before it is forwarded to WAF. Valid values: `On` and "Off". Default to `Off`.
	IsAccessProduct pulumi.StringInput `pulumi:"isAccessProduct"`
	// The load balancing algorithm that is used to forward requests to the origin. Valid values: `IpHash` and `RoundRobin`. Default to `IpHash`.
	LoadBalancing pulumi.StringInput `pulumi:"loadBalancing"`
	// The key-value pair that is used to mark the traffic that flows through WAF to the domain. Each item contains two field:
	LogHeaders GetDomainsDomainLogHeaderArrayInput `pulumi:"logHeaders"`
	// The read timeout of a WAF exclusive cluster. Unit: seconds.
	ReadTime pulumi.IntInput `pulumi:"readTime"`
	// The ID of the resource group to which the queried domain belongs in Resource Management.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// List of the IP address or domain of the origin server to which the specified domain points.
	SourceIps pulumi.StringArrayInput `pulumi:"sourceIps"`
	// The system data identifier that is used to control optimistic locking.
	Version pulumi.IntInput `pulumi:"version"`
	// The timeout period for a WAF exclusive cluster write connection. Unit: seconds.
	WriteTime pulumi.IntInput `pulumi:"writeTime"`
}

func (GetDomainsDomainArgs) ElementType

func (GetDomainsDomainArgs) ElementType() reflect.Type

func (GetDomainsDomainArgs) ToGetDomainsDomainOutput

func (i GetDomainsDomainArgs) ToGetDomainsDomainOutput() GetDomainsDomainOutput

func (GetDomainsDomainArgs) ToGetDomainsDomainOutputWithContext

func (i GetDomainsDomainArgs) ToGetDomainsDomainOutputWithContext(ctx context.Context) GetDomainsDomainOutput

type GetDomainsDomainArray

type GetDomainsDomainArray []GetDomainsDomainInput

func (GetDomainsDomainArray) ElementType

func (GetDomainsDomainArray) ElementType() reflect.Type

func (GetDomainsDomainArray) ToGetDomainsDomainArrayOutput

func (i GetDomainsDomainArray) ToGetDomainsDomainArrayOutput() GetDomainsDomainArrayOutput

func (GetDomainsDomainArray) ToGetDomainsDomainArrayOutputWithContext

func (i GetDomainsDomainArray) ToGetDomainsDomainArrayOutputWithContext(ctx context.Context) GetDomainsDomainArrayOutput

type GetDomainsDomainArrayInput

type GetDomainsDomainArrayInput interface {
	pulumi.Input

	ToGetDomainsDomainArrayOutput() GetDomainsDomainArrayOutput
	ToGetDomainsDomainArrayOutputWithContext(context.Context) GetDomainsDomainArrayOutput
}

GetDomainsDomainArrayInput is an input type that accepts GetDomainsDomainArray and GetDomainsDomainArrayOutput values. You can construct a concrete instance of `GetDomainsDomainArrayInput` via:

GetDomainsDomainArray{ GetDomainsDomainArgs{...} }

type GetDomainsDomainArrayOutput

type GetDomainsDomainArrayOutput struct{ *pulumi.OutputState }

func (GetDomainsDomainArrayOutput) ElementType

func (GetDomainsDomainArrayOutput) Index

func (GetDomainsDomainArrayOutput) ToGetDomainsDomainArrayOutput

func (o GetDomainsDomainArrayOutput) ToGetDomainsDomainArrayOutput() GetDomainsDomainArrayOutput

func (GetDomainsDomainArrayOutput) ToGetDomainsDomainArrayOutputWithContext

func (o GetDomainsDomainArrayOutput) ToGetDomainsDomainArrayOutputWithContext(ctx context.Context) GetDomainsDomainArrayOutput

type GetDomainsDomainInput

type GetDomainsDomainInput interface {
	pulumi.Input

	ToGetDomainsDomainOutput() GetDomainsDomainOutput
	ToGetDomainsDomainOutputWithContext(context.Context) GetDomainsDomainOutput
}

GetDomainsDomainInput is an input type that accepts GetDomainsDomainArgs and GetDomainsDomainOutput values. You can construct a concrete instance of `GetDomainsDomainInput` via:

GetDomainsDomainArgs{...}

type GetDomainsDomainLogHeader

type GetDomainsDomainLogHeader struct {
	// The key of label.
	Key string `pulumi:"key"`
	// The value of label.
	Value string `pulumi:"value"`
}

type GetDomainsDomainLogHeaderArgs

type GetDomainsDomainLogHeaderArgs struct {
	// The key of label.
	Key pulumi.StringInput `pulumi:"key"`
	// The value of label.
	Value pulumi.StringInput `pulumi:"value"`
}

func (GetDomainsDomainLogHeaderArgs) ElementType

func (GetDomainsDomainLogHeaderArgs) ToGetDomainsDomainLogHeaderOutput

func (i GetDomainsDomainLogHeaderArgs) ToGetDomainsDomainLogHeaderOutput() GetDomainsDomainLogHeaderOutput

func (GetDomainsDomainLogHeaderArgs) ToGetDomainsDomainLogHeaderOutputWithContext

func (i GetDomainsDomainLogHeaderArgs) ToGetDomainsDomainLogHeaderOutputWithContext(ctx context.Context) GetDomainsDomainLogHeaderOutput

type GetDomainsDomainLogHeaderArray

type GetDomainsDomainLogHeaderArray []GetDomainsDomainLogHeaderInput

func (GetDomainsDomainLogHeaderArray) ElementType

func (GetDomainsDomainLogHeaderArray) ToGetDomainsDomainLogHeaderArrayOutput

func (i GetDomainsDomainLogHeaderArray) ToGetDomainsDomainLogHeaderArrayOutput() GetDomainsDomainLogHeaderArrayOutput

func (GetDomainsDomainLogHeaderArray) ToGetDomainsDomainLogHeaderArrayOutputWithContext

func (i GetDomainsDomainLogHeaderArray) ToGetDomainsDomainLogHeaderArrayOutputWithContext(ctx context.Context) GetDomainsDomainLogHeaderArrayOutput

type GetDomainsDomainLogHeaderArrayInput

type GetDomainsDomainLogHeaderArrayInput interface {
	pulumi.Input

	ToGetDomainsDomainLogHeaderArrayOutput() GetDomainsDomainLogHeaderArrayOutput
	ToGetDomainsDomainLogHeaderArrayOutputWithContext(context.Context) GetDomainsDomainLogHeaderArrayOutput
}

GetDomainsDomainLogHeaderArrayInput is an input type that accepts GetDomainsDomainLogHeaderArray and GetDomainsDomainLogHeaderArrayOutput values. You can construct a concrete instance of `GetDomainsDomainLogHeaderArrayInput` via:

GetDomainsDomainLogHeaderArray{ GetDomainsDomainLogHeaderArgs{...} }

type GetDomainsDomainLogHeaderArrayOutput

type GetDomainsDomainLogHeaderArrayOutput struct{ *pulumi.OutputState }

func (GetDomainsDomainLogHeaderArrayOutput) ElementType

func (GetDomainsDomainLogHeaderArrayOutput) Index

func (GetDomainsDomainLogHeaderArrayOutput) ToGetDomainsDomainLogHeaderArrayOutput

func (o GetDomainsDomainLogHeaderArrayOutput) ToGetDomainsDomainLogHeaderArrayOutput() GetDomainsDomainLogHeaderArrayOutput

func (GetDomainsDomainLogHeaderArrayOutput) ToGetDomainsDomainLogHeaderArrayOutputWithContext

func (o GetDomainsDomainLogHeaderArrayOutput) ToGetDomainsDomainLogHeaderArrayOutputWithContext(ctx context.Context) GetDomainsDomainLogHeaderArrayOutput

type GetDomainsDomainLogHeaderInput

type GetDomainsDomainLogHeaderInput interface {
	pulumi.Input

	ToGetDomainsDomainLogHeaderOutput() GetDomainsDomainLogHeaderOutput
	ToGetDomainsDomainLogHeaderOutputWithContext(context.Context) GetDomainsDomainLogHeaderOutput
}

GetDomainsDomainLogHeaderInput is an input type that accepts GetDomainsDomainLogHeaderArgs and GetDomainsDomainLogHeaderOutput values. You can construct a concrete instance of `GetDomainsDomainLogHeaderInput` via:

GetDomainsDomainLogHeaderArgs{...}

type GetDomainsDomainLogHeaderOutput

type GetDomainsDomainLogHeaderOutput struct{ *pulumi.OutputState }

func (GetDomainsDomainLogHeaderOutput) ElementType

func (GetDomainsDomainLogHeaderOutput) Key

The key of label.

func (GetDomainsDomainLogHeaderOutput) ToGetDomainsDomainLogHeaderOutput

func (o GetDomainsDomainLogHeaderOutput) ToGetDomainsDomainLogHeaderOutput() GetDomainsDomainLogHeaderOutput

func (GetDomainsDomainLogHeaderOutput) ToGetDomainsDomainLogHeaderOutputWithContext

func (o GetDomainsDomainLogHeaderOutput) ToGetDomainsDomainLogHeaderOutputWithContext(ctx context.Context) GetDomainsDomainLogHeaderOutput

func (GetDomainsDomainLogHeaderOutput) Value

The value of label.

type GetDomainsDomainOutput

type GetDomainsDomainOutput struct{ *pulumi.OutputState }

func (GetDomainsDomainOutput) ClusterType

func (o GetDomainsDomainOutput) ClusterType() pulumi.StringOutput

The type of the WAF cluster.

func (GetDomainsDomainOutput) Cname

The CNAME record assigned by the WAF instance to the specified domain.

func (GetDomainsDomainOutput) ConnectionTime

func (o GetDomainsDomainOutput) ConnectionTime() pulumi.IntOutput

The connection timeout for WAF exclusive clusters. Valid values: `PhysicalCluster` and `VirtualCluster`. Default to `PhysicalCluster`.

func (GetDomainsDomainOutput) Domain

Field `domain` has been deprecated from version 1.94.0. Use `domainName` instead.

func (GetDomainsDomainOutput) DomainName

Name of the domain.

func (GetDomainsDomainOutput) ElementType

func (GetDomainsDomainOutput) ElementType() reflect.Type

func (GetDomainsDomainOutput) Http2Ports

List of the HTTP 2.0 ports.

func (GetDomainsDomainOutput) HttpPorts

List of the HTTP ports.

func (GetDomainsDomainOutput) HttpToUserIp

func (o GetDomainsDomainOutput) HttpToUserIp() pulumi.StringOutput

Specifies whether to enable the HTTP back-to-origin feature. After this feature is enabled, the WAF instance can use HTTP to forward HTTPS requests to the origin server.

func (GetDomainsDomainOutput) HttpsPorts

List of the HTTPS ports.

func (GetDomainsDomainOutput) HttpsRedirect

func (o GetDomainsDomainOutput) HttpsRedirect() pulumi.StringOutput

Specifies whether to redirect HTTP requests as HTTPS requests. Valid values: `On` and `Off`. Default to `Off`.

func (GetDomainsDomainOutput) Id

The ID of domain self ID, value as `domainName`.

func (GetDomainsDomainOutput) IsAccessProduct

func (o GetDomainsDomainOutput) IsAccessProduct() pulumi.StringOutput

Specifies whether to configure a Layer-7 proxy, such as Anti-DDoS Pro or CDN, to filter the inbound traffic before it is forwarded to WAF. Valid values: `On` and "Off". Default to `Off`.

func (GetDomainsDomainOutput) LoadBalancing

func (o GetDomainsDomainOutput) LoadBalancing() pulumi.StringOutput

The load balancing algorithm that is used to forward requests to the origin. Valid values: `IpHash` and `RoundRobin`. Default to `IpHash`.

func (GetDomainsDomainOutput) LogHeaders

The key-value pair that is used to mark the traffic that flows through WAF to the domain. Each item contains two field:

func (GetDomainsDomainOutput) ReadTime

The read timeout of a WAF exclusive cluster. Unit: seconds.

func (GetDomainsDomainOutput) ResourceGroupId

func (o GetDomainsDomainOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group to which the queried domain belongs in Resource Management.

func (GetDomainsDomainOutput) SourceIps

List of the IP address or domain of the origin server to which the specified domain points.

func (GetDomainsDomainOutput) ToGetDomainsDomainOutput

func (o GetDomainsDomainOutput) ToGetDomainsDomainOutput() GetDomainsDomainOutput

func (GetDomainsDomainOutput) ToGetDomainsDomainOutputWithContext

func (o GetDomainsDomainOutput) ToGetDomainsDomainOutputWithContext(ctx context.Context) GetDomainsDomainOutput

func (GetDomainsDomainOutput) Version

The system data identifier that is used to control optimistic locking.

func (GetDomainsDomainOutput) WriteTime

func (o GetDomainsDomainOutput) WriteTime() pulumi.IntOutput

The timeout period for a WAF exclusive cluster write connection. Unit: seconds.

type GetDomainsOutputArgs added in v3.9.0

type GetDomainsOutputArgs struct {
	// Default to false and only output `id`, `domainName`. Set it to true can output more details.
	EnableDetails pulumi.BoolPtrInput `pulumi:"enableDetails"`
	// A list of WAF domain names. Each item is domain name.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The Id of waf instance to which waf domain belongs.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// A regex string to filter results by domain name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the resource group to which the queried domain belongs in Resource Management.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
}

A collection of arguments for invoking getDomains.

func (GetDomainsOutputArgs) ElementType added in v3.9.0

func (GetDomainsOutputArgs) ElementType() reflect.Type

type GetDomainsResult

type GetDomainsResult struct {
	// A list of Domains. Each element contains the following attributes:
	Domains       []GetDomainsDomain `pulumi:"domains"`
	EnableDetails *bool              `pulumi:"enableDetails"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of WAF domain self ID, value as `domainName`.
	Ids        []string `pulumi:"ids"`
	InstanceId string   `pulumi:"instanceId"`
	NameRegex  *string  `pulumi:"nameRegex"`
	// A list of WAF domain names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// The ID of the resource group to which the queried domain belongs in Resource Management.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
}

A collection of values returned by getDomains.

func GetDomains

func GetDomains(ctx *pulumi.Context, args *GetDomainsArgs, opts ...pulumi.InvokeOption) (*GetDomainsResult, error)

Provides a WAF datasource to retrieve domains.

For information about WAF and how to use it, see [What is Alibaba Cloud WAF](https://www.alibabacloud.com/help/doc-detail/28517.htm).

> **NOTE:** Available in 1.86.0+ .

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := waf.GetDomains(ctx, &waf.GetDomainsArgs{
			InstanceId: "waf-cf-xxxxx",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetDomainsResultOutput added in v3.9.0

type GetDomainsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDomains.

func GetDomainsOutput added in v3.9.0

func GetDomainsOutput(ctx *pulumi.Context, args GetDomainsOutputArgs, opts ...pulumi.InvokeOption) GetDomainsResultOutput

func (GetDomainsResultOutput) Domains added in v3.9.0

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

func (GetDomainsResultOutput) ElementType added in v3.9.0

func (GetDomainsResultOutput) ElementType() reflect.Type

func (GetDomainsResultOutput) EnableDetails added in v3.9.0

func (o GetDomainsResultOutput) EnableDetails() pulumi.BoolPtrOutput

func (GetDomainsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetDomainsResultOutput) Ids added in v3.9.0

A list of WAF domain self ID, value as `domainName`.

func (GetDomainsResultOutput) InstanceId added in v3.9.0

func (GetDomainsResultOutput) NameRegex added in v3.9.0

func (GetDomainsResultOutput) Names added in v3.9.0

A list of WAF domain names.

func (GetDomainsResultOutput) OutputFile added in v3.9.0

func (GetDomainsResultOutput) ResourceGroupId added in v3.9.0

func (o GetDomainsResultOutput) ResourceGroupId() pulumi.StringPtrOutput

The ID of the resource group to which the queried domain belongs in Resource Management.

func (GetDomainsResultOutput) ToGetDomainsResultOutput added in v3.9.0

func (o GetDomainsResultOutput) ToGetDomainsResultOutput() GetDomainsResultOutput

func (GetDomainsResultOutput) ToGetDomainsResultOutputWithContext added in v3.9.0

func (o GetDomainsResultOutput) ToGetDomainsResultOutputWithContext(ctx context.Context) GetDomainsResultOutput

type GetInstancesArgs

type GetInstancesArgs struct {
	// A list of WAF instance IDs.
	Ids []string `pulumi:"ids"`
	// The source of the WAF instance.
	InstanceSource *string `pulumi:"instanceSource"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of resource group to which WAF instance belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The status of WAF instance to filter results. Optional value: `0`: The instance has expired, `1` : The instance has not expired and is working properly.
	Status *int `pulumi:"status"`
}

A collection of arguments for invoking getInstances.

type GetInstancesInstance

type GetInstancesInstance struct {
	// The timestamp (in seconds) indicating when the WAF instance expires.
	EndDate int `pulumi:"endDate"`
	// The ID of the WAF instance.
	Id string `pulumi:"id"`
	// Indicates whether the WAF instance has overdue payments.
	InDebt int `pulumi:"inDebt"`
	// The ID of WAF the instance.
	InstanceId string `pulumi:"instanceId"`
	// The number of days before the trial period of the WAF instance expires.
	RemainDay int `pulumi:"remainDay"`
	// The status of WAF instance to filter results. Optional value: `0`: The instance has expired, `1` : The instance has not expired and is working properly.
	Status           int    `pulumi:"status"`
	SubscriptionType string `pulumi:"subscriptionType"`
	// Indicates whether this is a trial instance.
	Trial int `pulumi:"trial"`
}

type GetInstancesInstanceArgs

type GetInstancesInstanceArgs struct {
	// The timestamp (in seconds) indicating when the WAF instance expires.
	EndDate pulumi.IntInput `pulumi:"endDate"`
	// The ID of the WAF instance.
	Id pulumi.StringInput `pulumi:"id"`
	// Indicates whether the WAF instance has overdue payments.
	InDebt pulumi.IntInput `pulumi:"inDebt"`
	// The ID of WAF the instance.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// The number of days before the trial period of the WAF instance expires.
	RemainDay pulumi.IntInput `pulumi:"remainDay"`
	// The status of WAF instance to filter results. Optional value: `0`: The instance has expired, `1` : The instance has not expired and is working properly.
	Status           pulumi.IntInput    `pulumi:"status"`
	SubscriptionType pulumi.StringInput `pulumi:"subscriptionType"`
	// Indicates whether this is a trial instance.
	Trial pulumi.IntInput `pulumi:"trial"`
}

func (GetInstancesInstanceArgs) ElementType

func (GetInstancesInstanceArgs) ElementType() reflect.Type

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutput

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext(ctx context.Context) GetInstancesInstanceOutput

type GetInstancesInstanceArray

type GetInstancesInstanceArray []GetInstancesInstanceInput

func (GetInstancesInstanceArray) ElementType

func (GetInstancesInstanceArray) ElementType() reflect.Type

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext(ctx context.Context) GetInstancesInstanceArrayOutput

type GetInstancesInstanceArrayInput

type GetInstancesInstanceArrayInput interface {
	pulumi.Input

	ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput
	ToGetInstancesInstanceArrayOutputWithContext(context.Context) GetInstancesInstanceArrayOutput
}

GetInstancesInstanceArrayInput is an input type that accepts GetInstancesInstanceArray and GetInstancesInstanceArrayOutput values. You can construct a concrete instance of `GetInstancesInstanceArrayInput` via:

GetInstancesInstanceArray{ GetInstancesInstanceArgs{...} }

type GetInstancesInstanceArrayOutput

type GetInstancesInstanceArrayOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceArrayOutput) ElementType

func (GetInstancesInstanceArrayOutput) Index

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext(ctx context.Context) GetInstancesInstanceArrayOutput

type GetInstancesInstanceInput

type GetInstancesInstanceInput interface {
	pulumi.Input

	ToGetInstancesInstanceOutput() GetInstancesInstanceOutput
	ToGetInstancesInstanceOutputWithContext(context.Context) GetInstancesInstanceOutput
}

GetInstancesInstanceInput is an input type that accepts GetInstancesInstanceArgs and GetInstancesInstanceOutput values. You can construct a concrete instance of `GetInstancesInstanceInput` via:

GetInstancesInstanceArgs{...}

type GetInstancesInstanceOutput

type GetInstancesInstanceOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceOutput) ElementType

func (GetInstancesInstanceOutput) ElementType() reflect.Type

func (GetInstancesInstanceOutput) EndDate

The timestamp (in seconds) indicating when the WAF instance expires.

func (GetInstancesInstanceOutput) Id

The ID of the WAF instance.

func (GetInstancesInstanceOutput) InDebt

Indicates whether the WAF instance has overdue payments.

func (GetInstancesInstanceOutput) InstanceId

The ID of WAF the instance.

func (GetInstancesInstanceOutput) RemainDay

The number of days before the trial period of the WAF instance expires.

func (GetInstancesInstanceOutput) Status

The status of WAF instance to filter results. Optional value: `0`: The instance has expired, `1` : The instance has not expired and is working properly.

func (GetInstancesInstanceOutput) SubscriptionType

func (o GetInstancesInstanceOutput) SubscriptionType() pulumi.StringOutput

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutput

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext(ctx context.Context) GetInstancesInstanceOutput

func (GetInstancesInstanceOutput) Trial

Indicates whether this is a trial instance.

type GetInstancesOutputArgs added in v3.9.0

type GetInstancesOutputArgs struct {
	// A list of WAF instance IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The source of the WAF instance.
	InstanceSource pulumi.StringPtrInput `pulumi:"instanceSource"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of resource group to which WAF instance belongs.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The status of WAF instance to filter results. Optional value: `0`: The instance has expired, `1` : The instance has not expired and is working properly.
	Status pulumi.IntPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getInstances.

func (GetInstancesOutputArgs) ElementType added in v3.9.0

func (GetInstancesOutputArgs) ElementType() reflect.Type

type GetInstancesResult

type GetInstancesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Optional) A list of WAF instance IDs.
	Ids            []string `pulumi:"ids"`
	InstanceSource *string  `pulumi:"instanceSource"`
	// A list of WAF instances. Each element contains the following attributes:
	Instances       []GetInstancesInstance `pulumi:"instances"`
	OutputFile      *string                `pulumi:"outputFile"`
	ResourceGroupId *string                `pulumi:"resourceGroupId"`
	// Indicates whether the WAF instance has expired.
	Status *int `pulumi:"status"`
}

A collection of values returned by getInstances.

func GetInstances

func GetInstances(ctx *pulumi.Context, args *GetInstancesArgs, opts ...pulumi.InvokeOption) (*GetInstancesResult, error)

Provides a WAF datasource to retrieve instances.

For information about WAF and how to use it, see [What is Alibaba Cloud WAF](https://www.alibabacloud.com/help/doc-detail/28517.htm).

> **NOTE:** Available in 1.90.0+ .

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := waf.GetInstances(ctx, &waf.GetInstancesArgs{
			Ids: []string{
				"waf-cn-09k********",
			},
			Status:          pulumi.IntRef(1),
			ResourceGroupId: pulumi.StringRef("rg-acfmwvv********"),
			InstanceSource:  pulumi.StringRef("waf-cloud"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("theFirstWafInstanceId", _default.Instances[0].Id)
		return nil
	})
}

```

type GetInstancesResultOutput added in v3.9.0

type GetInstancesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstances.

func GetInstancesOutput added in v3.9.0

func GetInstancesOutput(ctx *pulumi.Context, args GetInstancesOutputArgs, opts ...pulumi.InvokeOption) GetInstancesResultOutput

func (GetInstancesResultOutput) ElementType added in v3.9.0

func (GetInstancesResultOutput) ElementType() reflect.Type

func (GetInstancesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetInstancesResultOutput) Ids added in v3.9.0

(Optional) A list of WAF instance IDs.

func (GetInstancesResultOutput) InstanceSource added in v3.9.0

func (o GetInstancesResultOutput) InstanceSource() pulumi.StringPtrOutput

func (GetInstancesResultOutput) Instances added in v3.9.0

A list of WAF instances. Each element contains the following attributes:

func (GetInstancesResultOutput) OutputFile added in v3.9.0

func (GetInstancesResultOutput) ResourceGroupId added in v3.9.0

func (o GetInstancesResultOutput) ResourceGroupId() pulumi.StringPtrOutput

func (GetInstancesResultOutput) Status added in v3.9.0

Indicates whether the WAF instance has expired.

func (GetInstancesResultOutput) ToGetInstancesResultOutput added in v3.9.0

func (o GetInstancesResultOutput) ToGetInstancesResultOutput() GetInstancesResultOutput

func (GetInstancesResultOutput) ToGetInstancesResultOutputWithContext added in v3.9.0

func (o GetInstancesResultOutput) ToGetInstancesResultOutputWithContext(ctx context.Context) GetInstancesResultOutput

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// Specify whether big screen is supported. Valid values: ["0", "1"]. "0" for false and "1" for true.
	BigScreen pulumi.StringOutput `pulumi:"bigScreen"`
	// Specify the number of exclusive WAF IP addresses.
	ExclusiveIpPackage pulumi.StringOutput `pulumi:"exclusiveIpPackage"`
	// The extra bandwidth. Unit: Mbit/s.
	ExtBandwidth pulumi.StringOutput `pulumi:"extBandwidth"`
	// The number of extra domains.
	ExtDomainPackage pulumi.StringOutput `pulumi:"extDomainPackage"`
	// Log storage size. Unit: T. Valid values: [3, 5, 10, 20, 50].
	LogStorage pulumi.StringOutput `pulumi:"logStorage"`
	// Log storage period. Unit: day. Valid values: [180, 360].
	LogTime pulumi.StringOutput `pulumi:"logTime"`
	// Type of configuration change. Valid value: Upgrade.
	ModifyType pulumi.StringPtrOutput `pulumi:"modifyType"`
	// Subscription plan:
	// * China site customers can purchase the following versions of China Mainland region, valid values: ["version3", "version4", "version5"].
	// * China site customers can purchase the following versions of International region, valid values: ["versionProAsia", "versionBusinessAsia", "versionEnterpriseAsia"]
	// * International site customers can purchase the following versions of China Mainland region: ["versionProChina", "versionBusinessChina", "versionEnterpriseChina"]
	// * International site customers can purchase the following versions of International region: ["versionPro", "versionBusiness", "versionEnterprise"].
	PackageCode pulumi.StringOutput `pulumi:"packageCode"`
	// Service time of Web Application Firewall.
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// Specify whether professional service is supported. Valid values: ["true", "false"]
	PrefessionalService pulumi.StringOutput `pulumi:"prefessionalService"`
	// The instance region ID.
	Region pulumi.StringPtrOutput `pulumi:"region"`
	// Renewal period of WAF service. Unit: month
	RenewPeriod pulumi.IntPtrOutput `pulumi:"renewPeriod"`
	// Renewal status of WAF service. Valid values:
	// * AutoRenewal: The service time of WAF is renewed automatically.
	// * ManualRenewal (default): The service time of WAF is renewed manually.Specifies whether to configure a Layer-7 proxy, such as Anti-DDoS Pro or CDN, to filter the inbound traffic before it is forwarded to WAF. Valid values: "On" and "Off". Default to "Off".
	RenewalStatus pulumi.StringPtrOutput `pulumi:"renewalStatus"`
	// The resource group ID.
	ResourceGroupId pulumi.StringPtrOutput `pulumi:"resourceGroupId"`
	// The status of the instance.
	Status pulumi.IntOutput `pulumi:"status"`
	// Subscription of WAF service. Valid values: ["Subscription", "PayAsYouGo"].
	SubscriptionType pulumi.StringOutput `pulumi:"subscriptionType"`
	// Specify whether Log service is supported. Valid values: ["true", "false"]
	WafLog pulumi.StringOutput `pulumi:"wafLog"`
}

> **DEPRECATED:** This resource has been deprecated and using wafv3.Instance instead.

Provides a WAF Instance resource to create instance in the Web Application Firewall.

For information about WAF and how to use it, see [What is Alibaba Cloud WAF](https://www.alibabacloud.com/help/doc-detail/28517.htm).

> **NOTE:** Available in 1.83.0+ .

## Example Usage

```go package main

import (

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

) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _default, err := waf.GetInstances(ctx, nil, nil); if err != nil { return err } var defaultInstance []*waf.Instance

for index := 0; index < %!v(PANIC=Format method: fatal: A failure has occurred: unlowered conditional expression @ example.pp:4,13-50); index++ {
    key0 := index
    _ := index

__res, err := waf.NewInstance(ctx, fmt.Sprintf("default-%v", key0), &waf.InstanceArgs{ BigScreen: pulumi.String("0"), ExclusiveIpPackage: pulumi.String("1"), ExtBandwidth: pulumi.String("50"), ExtDomainPackage: pulumi.String("1"), PackageCode: pulumi.String("version_3"), PrefessionalService: pulumi.String("false"), SubscriptionType: pulumi.String("Subscription"), Period: pulumi.Int(1), WafLog: pulumi.String("false"), LogStorage: pulumi.String("3"), LogTime: pulumi.String("180"), ResourceGroupId: pulumi.String("rs-abc12345"), }) if err != nil { return err } defaultInstance = append(defaultInstance, __res) } return nil }) } ```

## Import

WAF instance can be imported using the id, e.g.

```sh $ pulumi import alicloud:waf/instance:Instance default waf-cn-132435 ```

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error)

GetInstance gets an existing Instance 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 NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error)

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

func (*Instance) ElementType

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext

func (i *Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

type InstanceArgs

type InstanceArgs struct {
	// Specify whether big screen is supported. Valid values: ["0", "1"]. "0" for false and "1" for true.
	BigScreen pulumi.StringInput
	// Specify the number of exclusive WAF IP addresses.
	ExclusiveIpPackage pulumi.StringInput
	// The extra bandwidth. Unit: Mbit/s.
	ExtBandwidth pulumi.StringInput
	// The number of extra domains.
	ExtDomainPackage pulumi.StringInput
	// Log storage size. Unit: T. Valid values: [3, 5, 10, 20, 50].
	LogStorage pulumi.StringInput
	// Log storage period. Unit: day. Valid values: [180, 360].
	LogTime pulumi.StringInput
	// Type of configuration change. Valid value: Upgrade.
	ModifyType pulumi.StringPtrInput
	// Subscription plan:
	// * China site customers can purchase the following versions of China Mainland region, valid values: ["version3", "version4", "version5"].
	// * China site customers can purchase the following versions of International region, valid values: ["versionProAsia", "versionBusinessAsia", "versionEnterpriseAsia"]
	// * International site customers can purchase the following versions of China Mainland region: ["versionProChina", "versionBusinessChina", "versionEnterpriseChina"]
	// * International site customers can purchase the following versions of International region: ["versionPro", "versionBusiness", "versionEnterprise"].
	PackageCode pulumi.StringInput
	// Service time of Web Application Firewall.
	Period pulumi.IntPtrInput
	// Specify whether professional service is supported. Valid values: ["true", "false"]
	PrefessionalService pulumi.StringInput
	// The instance region ID.
	Region pulumi.StringPtrInput
	// Renewal period of WAF service. Unit: month
	RenewPeriod pulumi.IntPtrInput
	// Renewal status of WAF service. Valid values:
	// * AutoRenewal: The service time of WAF is renewed automatically.
	// * ManualRenewal (default): The service time of WAF is renewed manually.Specifies whether to configure a Layer-7 proxy, such as Anti-DDoS Pro or CDN, to filter the inbound traffic before it is forwarded to WAF. Valid values: "On" and "Off". Default to "Off".
	RenewalStatus pulumi.StringPtrInput
	// The resource group ID.
	ResourceGroupId pulumi.StringPtrInput
	// Subscription of WAF service. Valid values: ["Subscription", "PayAsYouGo"].
	SubscriptionType pulumi.StringInput
	// Specify whether Log service is supported. Valid values: ["true", "false"]
	WafLog pulumi.StringInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray

type InstanceArray []InstanceInput

func (InstanceArray) ElementType

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext

func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceArrayInput

type InstanceArrayInput interface {
	pulumi.Input

	ToInstanceArrayOutput() InstanceArrayOutput
	ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput
}

InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. You can construct a concrete instance of `InstanceArrayInput` via:

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index

func (InstanceArrayOutput) ToInstanceArrayOutput

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext

func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceInput

type InstanceInput interface {
	pulumi.Input

	ToInstanceOutput() InstanceOutput
	ToInstanceOutputWithContext(ctx context.Context) InstanceOutput
}

type InstanceMap

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext

func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceMapInput

type InstanceMapInput interface {
	pulumi.Input

	ToInstanceMapOutput() InstanceMapOutput
	ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput
}

InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. You can construct a concrete instance of `InstanceMapInput` via:

InstanceMap{ "key": InstanceArgs{...} }

type InstanceMapOutput

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex

func (InstanceMapOutput) ToInstanceMapOutput

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext

func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) BigScreen added in v3.27.0

func (o InstanceOutput) BigScreen() pulumi.StringOutput

Specify whether big screen is supported. Valid values: ["0", "1"]. "0" for false and "1" for true.

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) ExclusiveIpPackage added in v3.27.0

func (o InstanceOutput) ExclusiveIpPackage() pulumi.StringOutput

Specify the number of exclusive WAF IP addresses.

func (InstanceOutput) ExtBandwidth added in v3.27.0

func (o InstanceOutput) ExtBandwidth() pulumi.StringOutput

The extra bandwidth. Unit: Mbit/s.

func (InstanceOutput) ExtDomainPackage added in v3.27.0

func (o InstanceOutput) ExtDomainPackage() pulumi.StringOutput

The number of extra domains.

func (InstanceOutput) LogStorage added in v3.27.0

func (o InstanceOutput) LogStorage() pulumi.StringOutput

Log storage size. Unit: T. Valid values: [3, 5, 10, 20, 50].

func (InstanceOutput) LogTime added in v3.27.0

func (o InstanceOutput) LogTime() pulumi.StringOutput

Log storage period. Unit: day. Valid values: [180, 360].

func (InstanceOutput) ModifyType added in v3.27.0

func (o InstanceOutput) ModifyType() pulumi.StringPtrOutput

Type of configuration change. Valid value: Upgrade.

func (InstanceOutput) PackageCode added in v3.27.0

func (o InstanceOutput) PackageCode() pulumi.StringOutput

Subscription plan: * China site customers can purchase the following versions of China Mainland region, valid values: ["version3", "version4", "version5"]. * China site customers can purchase the following versions of International region, valid values: ["versionProAsia", "versionBusinessAsia", "versionEnterpriseAsia"] * International site customers can purchase the following versions of China Mainland region: ["versionProChina", "versionBusinessChina", "versionEnterpriseChina"] * International site customers can purchase the following versions of International region: ["versionPro", "versionBusiness", "versionEnterprise"].

func (InstanceOutput) Period added in v3.27.0

func (o InstanceOutput) Period() pulumi.IntPtrOutput

Service time of Web Application Firewall.

func (InstanceOutput) PrefessionalService added in v3.27.0

func (o InstanceOutput) PrefessionalService() pulumi.StringOutput

Specify whether professional service is supported. Valid values: ["true", "false"]

func (InstanceOutput) Region added in v3.27.0

The instance region ID.

func (InstanceOutput) RenewPeriod added in v3.27.0

func (o InstanceOutput) RenewPeriod() pulumi.IntPtrOutput

Renewal period of WAF service. Unit: month

func (InstanceOutput) RenewalStatus added in v3.27.0

func (o InstanceOutput) RenewalStatus() pulumi.StringPtrOutput

Renewal status of WAF service. Valid values: * AutoRenewal: The service time of WAF is renewed automatically. * ManualRenewal (default): The service time of WAF is renewed manually.Specifies whether to configure a Layer-7 proxy, such as Anti-DDoS Pro or CDN, to filter the inbound traffic before it is forwarded to WAF. Valid values: "On" and "Off". Default to "Off".

func (InstanceOutput) ResourceGroupId added in v3.27.0

func (o InstanceOutput) ResourceGroupId() pulumi.StringPtrOutput

The resource group ID.

func (InstanceOutput) Status added in v3.27.0

func (o InstanceOutput) Status() pulumi.IntOutput

The status of the instance.

func (InstanceOutput) SubscriptionType added in v3.27.0

func (o InstanceOutput) SubscriptionType() pulumi.StringOutput

Subscription of WAF service. Valid values: ["Subscription", "PayAsYouGo"].

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

func (InstanceOutput) WafLog added in v3.27.0

func (o InstanceOutput) WafLog() pulumi.StringOutput

Specify whether Log service is supported. Valid values: ["true", "false"]

type InstanceState

type InstanceState struct {
	// Specify whether big screen is supported. Valid values: ["0", "1"]. "0" for false and "1" for true.
	BigScreen pulumi.StringPtrInput
	// Specify the number of exclusive WAF IP addresses.
	ExclusiveIpPackage pulumi.StringPtrInput
	// The extra bandwidth. Unit: Mbit/s.
	ExtBandwidth pulumi.StringPtrInput
	// The number of extra domains.
	ExtDomainPackage pulumi.StringPtrInput
	// Log storage size. Unit: T. Valid values: [3, 5, 10, 20, 50].
	LogStorage pulumi.StringPtrInput
	// Log storage period. Unit: day. Valid values: [180, 360].
	LogTime pulumi.StringPtrInput
	// Type of configuration change. Valid value: Upgrade.
	ModifyType pulumi.StringPtrInput
	// Subscription plan:
	// * China site customers can purchase the following versions of China Mainland region, valid values: ["version3", "version4", "version5"].
	// * China site customers can purchase the following versions of International region, valid values: ["versionProAsia", "versionBusinessAsia", "versionEnterpriseAsia"]
	// * International site customers can purchase the following versions of China Mainland region: ["versionProChina", "versionBusinessChina", "versionEnterpriseChina"]
	// * International site customers can purchase the following versions of International region: ["versionPro", "versionBusiness", "versionEnterprise"].
	PackageCode pulumi.StringPtrInput
	// Service time of Web Application Firewall.
	Period pulumi.IntPtrInput
	// Specify whether professional service is supported. Valid values: ["true", "false"]
	PrefessionalService pulumi.StringPtrInput
	// The instance region ID.
	Region pulumi.StringPtrInput
	// Renewal period of WAF service. Unit: month
	RenewPeriod pulumi.IntPtrInput
	// Renewal status of WAF service. Valid values:
	// * AutoRenewal: The service time of WAF is renewed automatically.
	// * ManualRenewal (default): The service time of WAF is renewed manually.Specifies whether to configure a Layer-7 proxy, such as Anti-DDoS Pro or CDN, to filter the inbound traffic before it is forwarded to WAF. Valid values: "On" and "Off". Default to "Off".
	RenewalStatus pulumi.StringPtrInput
	// The resource group ID.
	ResourceGroupId pulumi.StringPtrInput
	// The status of the instance.
	Status pulumi.IntPtrInput
	// Subscription of WAF service. Valid values: ["Subscription", "PayAsYouGo"].
	SubscriptionType pulumi.StringPtrInput
	// Specify whether Log service is supported. Valid values: ["true", "false"]
	WafLog pulumi.StringPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type ProtectionModule added in v3.9.0

type ProtectionModule struct {
	pulumi.CustomResourceState

	// The Protection Module. Valid values: `acCc`, `antifraud`, `dld`, `normalized`, `waf`.
	DefenseType pulumi.StringOutput `pulumi:"defenseType"`
	// The domain name that is added to WAF.
	Domain pulumi.StringOutput `pulumi:"domain"`
	// The ID of the WAF instance.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The protection mode of the specified protection module. **NOTE:** The value of the Mode parameter varies based on the value of the `defenseType` parameter.
	// * The `defenseType` is `waf`. `0`: block mode. `1`: warn mode.
	// * The `defenseType` is `dld`. `0`: warn mode. `1`: block mode.
	// * The `defenseType` is `acCc`. `0`: prevention mode. `1`: protection-emergency mode.
	// * The `defenseType` is `antifraud`. `0`: warn mode. `1`: block mode. `2`: strict interception mode.
	// * The `defenseType` is `normalized`. `0`: warn mode. `1`: block mode.
	Mode pulumi.IntOutput `pulumi:"mode"`
	// The status of the resource. Valid values: `0`, `1`.
	Status pulumi.IntPtrOutput `pulumi:"status"`
}

Provides a Web Application Firewall(WAF) Protection Module resource.

For information about Web Application Firewall(WAF) Protection Module and how to use it, see [What is Protection Module](https://www.alibabacloud.com/help/en/doc-detail/160775.htm).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := waf.GetInstances(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultDomain, err := waf.NewDomain(ctx, "default", &waf.DomainArgs{
			DomainName:      pulumi.String("you domain"),
			InstanceId:      pulumi.String(_default.Ids[0]),
			IsAccessProduct: pulumi.String("On"),
			SourceIps: pulumi.StringArray{
				pulumi.String("1.1.1.1"),
			},
			ClusterType: pulumi.String("PhysicalCluster"),
			Http2Ports: pulumi.StringArray{
				pulumi.String("443"),
			},
			HttpPorts: pulumi.StringArray{
				pulumi.String("80"),
			},
			HttpsPorts: pulumi.StringArray{
				pulumi.String("443"),
			},
			HttpToUserIp:  pulumi.String("Off"),
			HttpsRedirect: pulumi.String("Off"),
			LoadBalancing: pulumi.String("IpHash"),
			LogHeaders: waf.DomainLogHeaderArray{
				&waf.DomainLogHeaderArgs{
					Key:   pulumi.String("foo"),
					Value: pulumi.String("http"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = waf.NewProtectionModule(ctx, "default", &waf.ProtectionModuleArgs{
			InstanceId:  pulumi.String(_default.Ids[0]),
			Domain:      defaultDomain.DomainName,
			DefenseType: pulumi.String("ac_cc"),
			Mode:        pulumi.Int(0),
			Status:      pulumi.Int(0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Web Application Firewall(WAF) Protection Module can be imported using the id, e.g.

```sh $ pulumi import alicloud:waf/protectionModule:ProtectionModule example <instance_id>:<domain>:<defense_type> ```

func GetProtectionModule added in v3.9.0

func GetProtectionModule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProtectionModuleState, opts ...pulumi.ResourceOption) (*ProtectionModule, error)

GetProtectionModule gets an existing ProtectionModule 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 NewProtectionModule added in v3.9.0

func NewProtectionModule(ctx *pulumi.Context,
	name string, args *ProtectionModuleArgs, opts ...pulumi.ResourceOption) (*ProtectionModule, error)

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

func (*ProtectionModule) ElementType added in v3.9.0

func (*ProtectionModule) ElementType() reflect.Type

func (*ProtectionModule) ToProtectionModuleOutput added in v3.9.0

func (i *ProtectionModule) ToProtectionModuleOutput() ProtectionModuleOutput

func (*ProtectionModule) ToProtectionModuleOutputWithContext added in v3.9.0

func (i *ProtectionModule) ToProtectionModuleOutputWithContext(ctx context.Context) ProtectionModuleOutput

type ProtectionModuleArgs added in v3.9.0

type ProtectionModuleArgs struct {
	// The Protection Module. Valid values: `acCc`, `antifraud`, `dld`, `normalized`, `waf`.
	DefenseType pulumi.StringInput
	// The domain name that is added to WAF.
	Domain pulumi.StringInput
	// The ID of the WAF instance.
	InstanceId pulumi.StringInput
	// The protection mode of the specified protection module. **NOTE:** The value of the Mode parameter varies based on the value of the `defenseType` parameter.
	// * The `defenseType` is `waf`. `0`: block mode. `1`: warn mode.
	// * The `defenseType` is `dld`. `0`: warn mode. `1`: block mode.
	// * The `defenseType` is `acCc`. `0`: prevention mode. `1`: protection-emergency mode.
	// * The `defenseType` is `antifraud`. `0`: warn mode. `1`: block mode. `2`: strict interception mode.
	// * The `defenseType` is `normalized`. `0`: warn mode. `1`: block mode.
	Mode pulumi.IntInput
	// The status of the resource. Valid values: `0`, `1`.
	Status pulumi.IntPtrInput
}

The set of arguments for constructing a ProtectionModule resource.

func (ProtectionModuleArgs) ElementType added in v3.9.0

func (ProtectionModuleArgs) ElementType() reflect.Type

type ProtectionModuleArray added in v3.9.0

type ProtectionModuleArray []ProtectionModuleInput

func (ProtectionModuleArray) ElementType added in v3.9.0

func (ProtectionModuleArray) ElementType() reflect.Type

func (ProtectionModuleArray) ToProtectionModuleArrayOutput added in v3.9.0

func (i ProtectionModuleArray) ToProtectionModuleArrayOutput() ProtectionModuleArrayOutput

func (ProtectionModuleArray) ToProtectionModuleArrayOutputWithContext added in v3.9.0

func (i ProtectionModuleArray) ToProtectionModuleArrayOutputWithContext(ctx context.Context) ProtectionModuleArrayOutput

type ProtectionModuleArrayInput added in v3.9.0

type ProtectionModuleArrayInput interface {
	pulumi.Input

	ToProtectionModuleArrayOutput() ProtectionModuleArrayOutput
	ToProtectionModuleArrayOutputWithContext(context.Context) ProtectionModuleArrayOutput
}

ProtectionModuleArrayInput is an input type that accepts ProtectionModuleArray and ProtectionModuleArrayOutput values. You can construct a concrete instance of `ProtectionModuleArrayInput` via:

ProtectionModuleArray{ ProtectionModuleArgs{...} }

type ProtectionModuleArrayOutput added in v3.9.0

type ProtectionModuleArrayOutput struct{ *pulumi.OutputState }

func (ProtectionModuleArrayOutput) ElementType added in v3.9.0

func (ProtectionModuleArrayOutput) Index added in v3.9.0

func (ProtectionModuleArrayOutput) ToProtectionModuleArrayOutput added in v3.9.0

func (o ProtectionModuleArrayOutput) ToProtectionModuleArrayOutput() ProtectionModuleArrayOutput

func (ProtectionModuleArrayOutput) ToProtectionModuleArrayOutputWithContext added in v3.9.0

func (o ProtectionModuleArrayOutput) ToProtectionModuleArrayOutputWithContext(ctx context.Context) ProtectionModuleArrayOutput

type ProtectionModuleInput added in v3.9.0

type ProtectionModuleInput interface {
	pulumi.Input

	ToProtectionModuleOutput() ProtectionModuleOutput
	ToProtectionModuleOutputWithContext(ctx context.Context) ProtectionModuleOutput
}

type ProtectionModuleMap added in v3.9.0

type ProtectionModuleMap map[string]ProtectionModuleInput

func (ProtectionModuleMap) ElementType added in v3.9.0

func (ProtectionModuleMap) ElementType() reflect.Type

func (ProtectionModuleMap) ToProtectionModuleMapOutput added in v3.9.0

func (i ProtectionModuleMap) ToProtectionModuleMapOutput() ProtectionModuleMapOutput

func (ProtectionModuleMap) ToProtectionModuleMapOutputWithContext added in v3.9.0

func (i ProtectionModuleMap) ToProtectionModuleMapOutputWithContext(ctx context.Context) ProtectionModuleMapOutput

type ProtectionModuleMapInput added in v3.9.0

type ProtectionModuleMapInput interface {
	pulumi.Input

	ToProtectionModuleMapOutput() ProtectionModuleMapOutput
	ToProtectionModuleMapOutputWithContext(context.Context) ProtectionModuleMapOutput
}

ProtectionModuleMapInput is an input type that accepts ProtectionModuleMap and ProtectionModuleMapOutput values. You can construct a concrete instance of `ProtectionModuleMapInput` via:

ProtectionModuleMap{ "key": ProtectionModuleArgs{...} }

type ProtectionModuleMapOutput added in v3.9.0

type ProtectionModuleMapOutput struct{ *pulumi.OutputState }

func (ProtectionModuleMapOutput) ElementType added in v3.9.0

func (ProtectionModuleMapOutput) ElementType() reflect.Type

func (ProtectionModuleMapOutput) MapIndex added in v3.9.0

func (ProtectionModuleMapOutput) ToProtectionModuleMapOutput added in v3.9.0

func (o ProtectionModuleMapOutput) ToProtectionModuleMapOutput() ProtectionModuleMapOutput

func (ProtectionModuleMapOutput) ToProtectionModuleMapOutputWithContext added in v3.9.0

func (o ProtectionModuleMapOutput) ToProtectionModuleMapOutputWithContext(ctx context.Context) ProtectionModuleMapOutput

type ProtectionModuleOutput added in v3.9.0

type ProtectionModuleOutput struct{ *pulumi.OutputState }

func (ProtectionModuleOutput) DefenseType added in v3.27.0

func (o ProtectionModuleOutput) DefenseType() pulumi.StringOutput

The Protection Module. Valid values: `acCc`, `antifraud`, `dld`, `normalized`, `waf`.

func (ProtectionModuleOutput) Domain added in v3.27.0

The domain name that is added to WAF.

func (ProtectionModuleOutput) ElementType added in v3.9.0

func (ProtectionModuleOutput) ElementType() reflect.Type

func (ProtectionModuleOutput) InstanceId added in v3.27.0

The ID of the WAF instance.

func (ProtectionModuleOutput) Mode added in v3.27.0

The protection mode of the specified protection module. **NOTE:** The value of the Mode parameter varies based on the value of the `defenseType` parameter. * The `defenseType` is `waf`. `0`: block mode. `1`: warn mode. * The `defenseType` is `dld`. `0`: warn mode. `1`: block mode. * The `defenseType` is `acCc`. `0`: prevention mode. `1`: protection-emergency mode. * The `defenseType` is `antifraud`. `0`: warn mode. `1`: block mode. `2`: strict interception mode. * The `defenseType` is `normalized`. `0`: warn mode. `1`: block mode.

func (ProtectionModuleOutput) Status added in v3.27.0

The status of the resource. Valid values: `0`, `1`.

func (ProtectionModuleOutput) ToProtectionModuleOutput added in v3.9.0

func (o ProtectionModuleOutput) ToProtectionModuleOutput() ProtectionModuleOutput

func (ProtectionModuleOutput) ToProtectionModuleOutputWithContext added in v3.9.0

func (o ProtectionModuleOutput) ToProtectionModuleOutputWithContext(ctx context.Context) ProtectionModuleOutput

type ProtectionModuleState added in v3.9.0

type ProtectionModuleState struct {
	// The Protection Module. Valid values: `acCc`, `antifraud`, `dld`, `normalized`, `waf`.
	DefenseType pulumi.StringPtrInput
	// The domain name that is added to WAF.
	Domain pulumi.StringPtrInput
	// The ID of the WAF instance.
	InstanceId pulumi.StringPtrInput
	// The protection mode of the specified protection module. **NOTE:** The value of the Mode parameter varies based on the value of the `defenseType` parameter.
	// * The `defenseType` is `waf`. `0`: block mode. `1`: warn mode.
	// * The `defenseType` is `dld`. `0`: warn mode. `1`: block mode.
	// * The `defenseType` is `acCc`. `0`: prevention mode. `1`: protection-emergency mode.
	// * The `defenseType` is `antifraud`. `0`: warn mode. `1`: block mode. `2`: strict interception mode.
	// * The `defenseType` is `normalized`. `0`: warn mode. `1`: block mode.
	Mode pulumi.IntPtrInput
	// The status of the resource. Valid values: `0`, `1`.
	Status pulumi.IntPtrInput
}

func (ProtectionModuleState) ElementType added in v3.9.0

func (ProtectionModuleState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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