waf

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v0.0.1

func PkgVersion() (semver.Version, error)

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

Types

type Certificate

type Certificate struct {
	pulumi.CustomResourceState

	// 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/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/waf"

)

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

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

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

func NewCertificate

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

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

func (*Certificate) ElementType

func (*Certificate) ElementType() reflect.Type

func (*Certificate) ToCertificateOutput

func (i *Certificate) ToCertificateOutput() CertificateOutput

func (*Certificate) ToCertificateOutputWithContext

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

type CertificateArgs

type CertificateArgs struct {
	// 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

func (CertificateArgs) ElementType() reflect.Type

type CertificateArray

type CertificateArray []CertificateInput

func (CertificateArray) ElementType

func (CertificateArray) ElementType() reflect.Type

func (CertificateArray) ToCertificateArrayOutput

func (i CertificateArray) ToCertificateArrayOutput() CertificateArrayOutput

func (CertificateArray) ToCertificateArrayOutputWithContext

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

type CertificateArrayInput

type CertificateArrayInput interface {
	pulumi.Input

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

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

CertificateArray{ CertificateArgs{...} }

type CertificateArrayOutput

type CertificateArrayOutput struct{ *pulumi.OutputState }

func (CertificateArrayOutput) ElementType

func (CertificateArrayOutput) ElementType() reflect.Type

func (CertificateArrayOutput) Index

func (CertificateArrayOutput) ToCertificateArrayOutput

func (o CertificateArrayOutput) ToCertificateArrayOutput() CertificateArrayOutput

func (CertificateArrayOutput) ToCertificateArrayOutputWithContext

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

type CertificateInput

type CertificateInput interface {
	pulumi.Input

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

type CertificateMap

type CertificateMap map[string]CertificateInput

func (CertificateMap) ElementType

func (CertificateMap) ElementType() reflect.Type

func (CertificateMap) ToCertificateMapOutput

func (i CertificateMap) ToCertificateMapOutput() CertificateMapOutput

func (CertificateMap) ToCertificateMapOutputWithContext

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

type CertificateMapInput

type CertificateMapInput interface {
	pulumi.Input

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

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

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

type CertificateMapOutput

type CertificateMapOutput struct{ *pulumi.OutputState }

func (CertificateMapOutput) ElementType

func (CertificateMapOutput) ElementType() reflect.Type

func (CertificateMapOutput) MapIndex

func (CertificateMapOutput) ToCertificateMapOutput

func (o CertificateMapOutput) ToCertificateMapOutput() CertificateMapOutput

func (CertificateMapOutput) ToCertificateMapOutputWithContext

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

type CertificateOutput

type CertificateOutput struct{ *pulumi.OutputState }

func (CertificateOutput) Certificate

func (o CertificateOutput) Certificate() pulumi.StringPtrOutput

Certificate file content.

func (CertificateOutput) CertificateId

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

func (o CertificateOutput) CertificateName() pulumi.StringOutput

Certificate file name.

func (CertificateOutput) Domain

The domain that you want to add to WAF.

func (CertificateOutput) ElementType

func (CertificateOutput) ElementType() reflect.Type

func (CertificateOutput) InstanceId

func (o CertificateOutput) InstanceId() pulumi.StringOutput

The ID of the WAF instance.

func (CertificateOutput) PrivateKey

func (o CertificateOutput) PrivateKey() pulumi.StringPtrOutput

The private key.

func (CertificateOutput) ToCertificateOutput

func (o CertificateOutput) ToCertificateOutput() CertificateOutput

func (CertificateOutput) ToCertificateOutputWithContext

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

type CertificateState

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

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

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/go/alicloud/waf"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/waf"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := waf.NewDomain(ctx, "domain", &waf.DomainArgs{
			ClusterType: pulumi.String("PhysicalCluster"),
			Domain:      pulumi.String("www.aliyun.com"),
			Http2Ports: pulumi.StringArray{
				pulumi.String("443"),
			},
			HttpPorts: pulumi.StringArray{
				pulumi.String("80"),
			},
			HttpToUserIp: pulumi.String("Off"),
			HttpsPorts: pulumi.StringArray{
				pulumi.String("443"),
			},
			HttpsRedirect:   pulumi.String("Off"),
			InstanceId:      pulumi.String("waf-123455"),
			IsAccessProduct: pulumi.String("On"),
			LoadBalancing:   pulumi.String("IpHash"),
			LogHeaders: waf.DomainLogHeaderArray{
				&waf.DomainLogHeaderArgs{
					Key:   pulumi.String("foo"),
					Value: pulumi.String("http"),
				},
			},
			SourceIps: pulumi.StringArray{
				pulumi.String("1.1.1.1"),
			},
		})
		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

func (o DomainOutput) ClusterType() pulumi.StringPtrOutput

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

func (DomainOutput) Cname

func (o DomainOutput) Cname() pulumi.StringOutput

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

func (DomainOutput) ConnectionTime

func (o DomainOutput) ConnectionTime() pulumi.IntPtrOutput

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

func (DomainOutput) Domain deprecated

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

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

func (o DomainOutput) Http2Ports() pulumi.StringArrayOutput

List of the HTTP 2.0 ports.

func (DomainOutput) HttpPorts

func (o DomainOutput) HttpPorts() pulumi.StringArrayOutput

List of the HTTP ports.

func (DomainOutput) HttpToUserIp

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

func (o DomainOutput) HttpsPorts() pulumi.StringArrayOutput

List of the HTTPS ports.

func (DomainOutput) HttpsRedirect

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

func (o DomainOutput) InstanceId() pulumi.StringOutput

The ID of the WAF instance.

func (DomainOutput) IsAccessProduct

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

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

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

func (o DomainOutput) ReadTime() pulumi.IntPtrOutput

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

func (DomainOutput) ResourceGroupId

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

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

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

type GetCertificatesArgs struct {
	// The domain that you want to add to WAF.
	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"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getCertificates.

type GetCertificatesCertificate

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

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

func (GetCertificatesCertificateArgs) ToGetCertificatesCertificateOutput

func (i GetCertificatesCertificateArgs) ToGetCertificatesCertificateOutput() GetCertificatesCertificateOutput

func (GetCertificatesCertificateArgs) ToGetCertificatesCertificateOutputWithContext

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

type GetCertificatesCertificateArray

type GetCertificatesCertificateArray []GetCertificatesCertificateInput

func (GetCertificatesCertificateArray) ElementType

func (GetCertificatesCertificateArray) ToGetCertificatesCertificateArrayOutput

func (i GetCertificatesCertificateArray) ToGetCertificatesCertificateArrayOutput() GetCertificatesCertificateArrayOutput

func (GetCertificatesCertificateArray) ToGetCertificatesCertificateArrayOutputWithContext

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

type GetCertificatesCertificateArrayInput

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

type GetCertificatesCertificateArrayOutput struct{ *pulumi.OutputState }

func (GetCertificatesCertificateArrayOutput) ElementType

func (GetCertificatesCertificateArrayOutput) Index

func (GetCertificatesCertificateArrayOutput) ToGetCertificatesCertificateArrayOutput

func (o GetCertificatesCertificateArrayOutput) ToGetCertificatesCertificateArrayOutput() GetCertificatesCertificateArrayOutput

func (GetCertificatesCertificateArrayOutput) ToGetCertificatesCertificateArrayOutputWithContext

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

type GetCertificatesCertificateInput

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

type GetCertificatesCertificateOutput struct{ *pulumi.OutputState }

func (GetCertificatesCertificateOutput) CertificateId

Certificate recording ID.

func (GetCertificatesCertificateOutput) CertificateName

Your certificate name.

func (GetCertificatesCertificateOutput) CommonName

Certificate bound to the domain name.

func (GetCertificatesCertificateOutput) Domain

The domain that you want to add to WAF.

func (GetCertificatesCertificateOutput) ElementType

func (GetCertificatesCertificateOutput) Id

The ID of the Certificate.

func (GetCertificatesCertificateOutput) InstanceId

WAF instance ID.

func (GetCertificatesCertificateOutput) IsUsing

func (GetCertificatesCertificateOutput) Sans

func (GetCertificatesCertificateOutput) ToGetCertificatesCertificateOutput

func (o GetCertificatesCertificateOutput) ToGetCertificatesCertificateOutput() GetCertificatesCertificateOutput

func (GetCertificatesCertificateOutput) ToGetCertificatesCertificateOutputWithContext

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

type GetCertificatesOutputArgs

type GetCertificatesOutputArgs struct {
	// The domain that you want to add to WAF.
	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"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getCertificates.

func (GetCertificatesOutputArgs) ElementType

func (GetCertificatesOutputArgs) ElementType() reflect.Type

type GetCertificatesResult

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

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/go/alicloud/waf"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/waf"

)

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

type GetCertificatesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCertificates.

func (GetCertificatesResultOutput) Certificates

func (GetCertificatesResultOutput) Domain

func (GetCertificatesResultOutput) ElementType

func (GetCertificatesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetCertificatesResultOutput) Ids

func (GetCertificatesResultOutput) InstanceId

func (GetCertificatesResultOutput) NameRegex

func (GetCertificatesResultOutput) Names

func (GetCertificatesResultOutput) OutputFile

func (GetCertificatesResultOutput) ToGetCertificatesResultOutput

func (o GetCertificatesResultOutput) ToGetCertificatesResultOutput() GetCertificatesResultOutput

func (GetCertificatesResultOutput) ToGetCertificatesResultOutputWithContext

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"`
	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:
	// * `key`: The key of label.
	// * `value`: The value of label.
	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:
	// * `key`: The key of label.
	// * `value`: The value of label.
	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 {
	Key   string `pulumi:"key"`
	Value string `pulumi:"value"`
}

type GetDomainsDomainLogHeaderArgs

type GetDomainsDomainLogHeaderArgs struct {
	Key   pulumi.StringInput `pulumi:"key"`
	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

func (GetDomainsDomainLogHeaderOutput) ToGetDomainsDomainLogHeaderOutput

func (o GetDomainsDomainLogHeaderOutput) ToGetDomainsDomainLogHeaderOutput() GetDomainsDomainLogHeaderOutput

func (GetDomainsDomainLogHeaderOutput) ToGetDomainsDomainLogHeaderOutputWithContext

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

func (GetDomainsDomainLogHeaderOutput) Value

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: * `key`: The key of label. * `value`: The value of label.

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

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

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/go/alicloud/waf"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/waf"

)

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

type GetDomainsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDomains.

func (GetDomainsResultOutput) Domains

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

func (GetDomainsResultOutput) ElementType

func (GetDomainsResultOutput) ElementType() reflect.Type

func (GetDomainsResultOutput) EnableDetails

func (o GetDomainsResultOutput) EnableDetails() pulumi.BoolPtrOutput

func (GetDomainsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDomainsResultOutput) Ids

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

func (GetDomainsResultOutput) InstanceId

func (GetDomainsResultOutput) NameRegex

func (GetDomainsResultOutput) Names

A list of WAF domain names.

func (GetDomainsResultOutput) OutputFile

func (GetDomainsResultOutput) ResourceGroupId

func (o GetDomainsResultOutput) ResourceGroupId() pulumi.StringPtrOutput

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

func (GetDomainsResultOutput) ToGetDomainsResultOutput

func (o GetDomainsResultOutput) ToGetDomainsResultOutput() GetDomainsResultOutput

func (GetDomainsResultOutput) ToGetDomainsResultOutputWithContext

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

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

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/go/alicloud/waf"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/waf"

)

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

type GetInstancesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstances.

func (GetInstancesResultOutput) ElementType

func (GetInstancesResultOutput) ElementType() reflect.Type

func (GetInstancesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetInstancesResultOutput) Ids

(Optional) A list of WAF instance IDs.

func (GetInstancesResultOutput) InstanceSource

func (o GetInstancesResultOutput) InstanceSource() pulumi.StringPtrOutput

func (GetInstancesResultOutput) Instances

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

func (GetInstancesResultOutput) OutputFile

func (GetInstancesResultOutput) ResourceGroupId

func (o GetInstancesResultOutput) ResourceGroupId() pulumi.StringPtrOutput

func (GetInstancesResultOutput) Status

Indicates whether the WAF instance has expired.

func (GetInstancesResultOutput) ToGetInstancesResultOutput

func (o GetInstancesResultOutput) ToGetInstancesResultOutput() GetInstancesResultOutput

func (GetInstancesResultOutput) ToGetInstancesResultOutputWithContext

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

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/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/waf"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := waf.NewInstance(ctx, "default", &waf.InstanceArgs{
			BigScreen:           pulumi.String("0"),
			ExclusiveIpPackage:  pulumi.String("1"),
			ExtBandwidth:        pulumi.String("50"),
			ExtDomainPackage:    pulumi.String("1"),
			LogStorage:          pulumi.String("3"),
			LogTime:             pulumi.String("180"),
			PackageCode:         pulumi.String("version_3"),
			Period:              pulumi.Int(1),
			PrefessionalService: pulumi.String("false"),
			ResourceGroupId:     pulumi.String("rs-abc12345"),
			SubscriptionType:    pulumi.String("Subscription"),
			WafLog:              pulumi.String("false"),
		})
		if err != nil {
			return err
		}
		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

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

func (o InstanceOutput) ExclusiveIpPackage() pulumi.StringOutput

Specify the number of exclusive WAF IP addresses.

func (InstanceOutput) ExtBandwidth

func (o InstanceOutput) ExtBandwidth() pulumi.StringOutput

The extra bandwidth. Unit: Mbit/s.

func (InstanceOutput) ExtDomainPackage

func (o InstanceOutput) ExtDomainPackage() pulumi.StringOutput

The number of extra domains.

func (InstanceOutput) LogStorage

func (o InstanceOutput) LogStorage() pulumi.StringOutput

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

func (InstanceOutput) LogTime

func (o InstanceOutput) LogTime() pulumi.StringOutput

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

func (InstanceOutput) ModifyType

func (o InstanceOutput) ModifyType() pulumi.StringPtrOutput

Type of configuration change. Valid value: Upgrade.

func (InstanceOutput) PackageCode

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

func (o InstanceOutput) Period() pulumi.IntPtrOutput

Service time of Web Application Firewall.

func (InstanceOutput) PrefessionalService

func (o InstanceOutput) PrefessionalService() pulumi.StringOutput

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

func (InstanceOutput) Region

The instance region ID.

func (InstanceOutput) RenewPeriod

func (o InstanceOutput) RenewPeriod() pulumi.IntPtrOutput

Renewal period of WAF service. Unit: month

func (InstanceOutput) RenewalStatus

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

func (o InstanceOutput) ResourceGroupId() pulumi.StringPtrOutput

The resource group ID.

func (InstanceOutput) Status

func (o InstanceOutput) Status() pulumi.IntOutput

The status of the instance.

func (InstanceOutput) SubscriptionType

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

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

type ProtectionModule struct {
	pulumi.CustomResourceState

	// The Protection Module. Valid values: `acCc`, `antifraud`, `dld`, `normalized`, `waf`.
	// * `waf`: RegEx Protection Engine.
	// * `dld`: Big Data Deep Learning Engine.
	// * `acCc`: HTTP Flood Protection.
	// * `antifraud`: Data Risk Control.
	// * `normalized`: Positive Security Model.
	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`.
	// * `0`: disables the protection module.
	// * `1`: enables the protection module.
	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/go/alicloud/waf"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/waf"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultInstances, err := waf.GetInstances(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultDomain, err := waf.NewDomain(ctx, "defaultDomain", &waf.DomainArgs{
			DomainName:      pulumi.String("you domain"),
			InstanceId:      pulumi.String(defaultInstances.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, "defaultProtectionModule", &waf.ProtectionModuleArgs{
			InstanceId:  pulumi.String(defaultInstances.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

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

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

func (*ProtectionModule) ElementType() reflect.Type

func (*ProtectionModule) ToProtectionModuleOutput

func (i *ProtectionModule) ToProtectionModuleOutput() ProtectionModuleOutput

func (*ProtectionModule) ToProtectionModuleOutputWithContext

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

type ProtectionModuleArgs

type ProtectionModuleArgs struct {
	// The Protection Module. Valid values: `acCc`, `antifraud`, `dld`, `normalized`, `waf`.
	// * `waf`: RegEx Protection Engine.
	// * `dld`: Big Data Deep Learning Engine.
	// * `acCc`: HTTP Flood Protection.
	// * `antifraud`: Data Risk Control.
	// * `normalized`: Positive Security Model.
	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`.
	// * `0`: disables the protection module.
	// * `1`: enables the protection module.
	Status pulumi.IntPtrInput
}

The set of arguments for constructing a ProtectionModule resource.

func (ProtectionModuleArgs) ElementType

func (ProtectionModuleArgs) ElementType() reflect.Type

type ProtectionModuleArray

type ProtectionModuleArray []ProtectionModuleInput

func (ProtectionModuleArray) ElementType

func (ProtectionModuleArray) ElementType() reflect.Type

func (ProtectionModuleArray) ToProtectionModuleArrayOutput

func (i ProtectionModuleArray) ToProtectionModuleArrayOutput() ProtectionModuleArrayOutput

func (ProtectionModuleArray) ToProtectionModuleArrayOutputWithContext

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

type ProtectionModuleArrayInput

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

type ProtectionModuleArrayOutput struct{ *pulumi.OutputState }

func (ProtectionModuleArrayOutput) ElementType

func (ProtectionModuleArrayOutput) Index

func (ProtectionModuleArrayOutput) ToProtectionModuleArrayOutput

func (o ProtectionModuleArrayOutput) ToProtectionModuleArrayOutput() ProtectionModuleArrayOutput

func (ProtectionModuleArrayOutput) ToProtectionModuleArrayOutputWithContext

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

type ProtectionModuleInput

type ProtectionModuleInput interface {
	pulumi.Input

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

type ProtectionModuleMap

type ProtectionModuleMap map[string]ProtectionModuleInput

func (ProtectionModuleMap) ElementType

func (ProtectionModuleMap) ElementType() reflect.Type

func (ProtectionModuleMap) ToProtectionModuleMapOutput

func (i ProtectionModuleMap) ToProtectionModuleMapOutput() ProtectionModuleMapOutput

func (ProtectionModuleMap) ToProtectionModuleMapOutputWithContext

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

type ProtectionModuleMapInput

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

type ProtectionModuleMapOutput struct{ *pulumi.OutputState }

func (ProtectionModuleMapOutput) ElementType

func (ProtectionModuleMapOutput) ElementType() reflect.Type

func (ProtectionModuleMapOutput) MapIndex

func (ProtectionModuleMapOutput) ToProtectionModuleMapOutput

func (o ProtectionModuleMapOutput) ToProtectionModuleMapOutput() ProtectionModuleMapOutput

func (ProtectionModuleMapOutput) ToProtectionModuleMapOutputWithContext

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

type ProtectionModuleOutput

type ProtectionModuleOutput struct{ *pulumi.OutputState }

func (ProtectionModuleOutput) DefenseType

func (o ProtectionModuleOutput) DefenseType() pulumi.StringOutput

The Protection Module. Valid values: `acCc`, `antifraud`, `dld`, `normalized`, `waf`. * `waf`: RegEx Protection Engine. * `dld`: Big Data Deep Learning Engine. * `acCc`: HTTP Flood Protection. * `antifraud`: Data Risk Control. * `normalized`: Positive Security Model.

func (ProtectionModuleOutput) Domain

The domain name that is added to WAF.

func (ProtectionModuleOutput) ElementType

func (ProtectionModuleOutput) ElementType() reflect.Type

func (ProtectionModuleOutput) InstanceId

The ID of the WAF instance.

func (ProtectionModuleOutput) Mode

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

The status of the resource. Valid values: `0`, `1`. * `0`: disables the protection module. * `1`: enables the protection module.

func (ProtectionModuleOutput) ToProtectionModuleOutput

func (o ProtectionModuleOutput) ToProtectionModuleOutput() ProtectionModuleOutput

func (ProtectionModuleOutput) ToProtectionModuleOutputWithContext

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

type ProtectionModuleState

type ProtectionModuleState struct {
	// The Protection Module. Valid values: `acCc`, `antifraud`, `dld`, `normalized`, `waf`.
	// * `waf`: RegEx Protection Engine.
	// * `dld`: Big Data Deep Learning Engine.
	// * `acCc`: HTTP Flood Protection.
	// * `antifraud`: Data Risk Control.
	// * `normalized`: Positive Security Model.
	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`.
	// * `0`: disables the protection module.
	// * `1`: enables the protection module.
	Status pulumi.IntPtrInput
}

func (ProtectionModuleState) ElementType

func (ProtectionModuleState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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