waf

package
v2.30.0 Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2021 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

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

)

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 added in v2.25.1

func (Domain) ElementType() reflect.Type

func (Domain) ToDomainOutput added in v2.25.1

func (i Domain) ToDomainOutput() DomainOutput

func (Domain) ToDomainOutputWithContext added in v2.25.1

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.
	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 DomainInput added in v2.25.1

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 DomainOutput added in v2.25.1

type DomainOutput struct {
	*pulumi.OutputState
}

func (DomainOutput) ElementType added in v2.25.1

func (DomainOutput) ElementType() reflect.Type

func (DomainOutput) ToDomainOutput added in v2.25.1

func (o DomainOutput) ToDomainOutput() DomainOutput

func (DomainOutput) ToDomainOutputWithContext added in v2.25.1

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

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

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

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

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

func (GetDomainsDomainArgs) ElementType() reflect.Type

func (GetDomainsDomainArgs) ToGetDomainsDomainOutput added in v2.8.0

func (i GetDomainsDomainArgs) ToGetDomainsDomainOutput() GetDomainsDomainOutput

func (GetDomainsDomainArgs) ToGetDomainsDomainOutputWithContext added in v2.8.0

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

type GetDomainsDomainArray added in v2.8.0

type GetDomainsDomainArray []GetDomainsDomainInput

func (GetDomainsDomainArray) ElementType added in v2.8.0

func (GetDomainsDomainArray) ElementType() reflect.Type

func (GetDomainsDomainArray) ToGetDomainsDomainArrayOutput added in v2.8.0

func (i GetDomainsDomainArray) ToGetDomainsDomainArrayOutput() GetDomainsDomainArrayOutput

func (GetDomainsDomainArray) ToGetDomainsDomainArrayOutputWithContext added in v2.8.0

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

type GetDomainsDomainArrayInput added in v2.8.0

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

type GetDomainsDomainArrayOutput struct{ *pulumi.OutputState }

func (GetDomainsDomainArrayOutput) ElementType added in v2.8.0

func (GetDomainsDomainArrayOutput) Index added in v2.8.0

func (GetDomainsDomainArrayOutput) ToGetDomainsDomainArrayOutput added in v2.8.0

func (o GetDomainsDomainArrayOutput) ToGetDomainsDomainArrayOutput() GetDomainsDomainArrayOutput

func (GetDomainsDomainArrayOutput) ToGetDomainsDomainArrayOutputWithContext added in v2.8.0

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

type GetDomainsDomainInput added in v2.8.0

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 added in v2.15.0

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

type GetDomainsDomainLogHeaderArgs added in v2.15.0

type GetDomainsDomainLogHeaderArgs struct {
	Key   pulumi.StringInput `pulumi:"key"`
	Value pulumi.StringInput `pulumi:"value"`
}

func (GetDomainsDomainLogHeaderArgs) ElementType added in v2.15.0

func (GetDomainsDomainLogHeaderArgs) ToGetDomainsDomainLogHeaderOutput added in v2.15.0

func (i GetDomainsDomainLogHeaderArgs) ToGetDomainsDomainLogHeaderOutput() GetDomainsDomainLogHeaderOutput

func (GetDomainsDomainLogHeaderArgs) ToGetDomainsDomainLogHeaderOutputWithContext added in v2.15.0

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

type GetDomainsDomainLogHeaderArray added in v2.15.0

type GetDomainsDomainLogHeaderArray []GetDomainsDomainLogHeaderInput

func (GetDomainsDomainLogHeaderArray) ElementType added in v2.15.0

func (GetDomainsDomainLogHeaderArray) ToGetDomainsDomainLogHeaderArrayOutput added in v2.15.0

func (i GetDomainsDomainLogHeaderArray) ToGetDomainsDomainLogHeaderArrayOutput() GetDomainsDomainLogHeaderArrayOutput

func (GetDomainsDomainLogHeaderArray) ToGetDomainsDomainLogHeaderArrayOutputWithContext added in v2.15.0

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

type GetDomainsDomainLogHeaderArrayInput added in v2.15.0

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 added in v2.15.0

type GetDomainsDomainLogHeaderArrayOutput struct{ *pulumi.OutputState }

func (GetDomainsDomainLogHeaderArrayOutput) ElementType added in v2.15.0

func (GetDomainsDomainLogHeaderArrayOutput) Index added in v2.15.0

func (GetDomainsDomainLogHeaderArrayOutput) ToGetDomainsDomainLogHeaderArrayOutput added in v2.15.0

func (o GetDomainsDomainLogHeaderArrayOutput) ToGetDomainsDomainLogHeaderArrayOutput() GetDomainsDomainLogHeaderArrayOutput

func (GetDomainsDomainLogHeaderArrayOutput) ToGetDomainsDomainLogHeaderArrayOutputWithContext added in v2.15.0

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

type GetDomainsDomainLogHeaderInput added in v2.15.0

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 added in v2.15.0

type GetDomainsDomainLogHeaderOutput struct{ *pulumi.OutputState }

func (GetDomainsDomainLogHeaderOutput) ElementType added in v2.15.0

func (GetDomainsDomainLogHeaderOutput) Key added in v2.15.0

func (GetDomainsDomainLogHeaderOutput) ToGetDomainsDomainLogHeaderOutput added in v2.15.0

func (o GetDomainsDomainLogHeaderOutput) ToGetDomainsDomainLogHeaderOutput() GetDomainsDomainLogHeaderOutput

func (GetDomainsDomainLogHeaderOutput) ToGetDomainsDomainLogHeaderOutputWithContext added in v2.15.0

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

func (GetDomainsDomainLogHeaderOutput) Value added in v2.15.0

type GetDomainsDomainOutput added in v2.8.0

type GetDomainsDomainOutput struct{ *pulumi.OutputState }

func (GetDomainsDomainOutput) ClusterType added in v2.15.0

func (o GetDomainsDomainOutput) ClusterType() pulumi.StringOutput

The type of the WAF cluster.

func (GetDomainsDomainOutput) Cname added in v2.15.0

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

func (GetDomainsDomainOutput) ConnectionTime added in v2.15.0

func (o GetDomainsDomainOutput) ConnectionTime() pulumi.IntOutput

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

func (GetDomainsDomainOutput) Domain added in v2.8.0

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

func (GetDomainsDomainOutput) DomainName added in v2.15.0

Name of the domain.

func (GetDomainsDomainOutput) ElementType added in v2.8.0

func (GetDomainsDomainOutput) ElementType() reflect.Type

func (GetDomainsDomainOutput) Http2Ports added in v2.15.0

List of the HTTP 2.0 ports.

func (GetDomainsDomainOutput) HttpPorts added in v2.15.0

List of the HTTP ports.

func (GetDomainsDomainOutput) HttpToUserIp added in v2.15.0

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 added in v2.15.0

List of the HTTPS ports.

func (GetDomainsDomainOutput) HttpsRedirect added in v2.15.0

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 added in v2.15.0

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

func (GetDomainsDomainOutput) IsAccessProduct added in v2.15.0

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 added in v2.15.0

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 added in v2.15.0

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

func (GetDomainsDomainOutput) ReadTime added in v2.15.0

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

func (GetDomainsDomainOutput) ResourceGroupId added in v2.15.0

func (o GetDomainsDomainOutput) ResourceGroupId() pulumi.StringOutput

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

func (GetDomainsDomainOutput) SourceIps added in v2.15.0

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

func (GetDomainsDomainOutput) ToGetDomainsDomainOutput added in v2.8.0

func (o GetDomainsDomainOutput) ToGetDomainsDomainOutput() GetDomainsDomainOutput

func (GetDomainsDomainOutput) ToGetDomainsDomainOutputWithContext added in v2.8.0

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

func (GetDomainsDomainOutput) Version added in v2.15.0

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

func (GetDomainsDomainOutput) WriteTime added in v2.15.0

func (o GetDomainsDomainOutput) WriteTime() pulumi.IntOutput

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

type GetDomainsResult added in v2.8.0

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

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

)

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

```

type GetInstancesArgs added in v2.12.0

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 added in v2.12.0

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 added in v2.12.0

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 added in v2.12.0

func (GetInstancesInstanceArgs) ElementType() reflect.Type

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutput added in v2.12.0

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext added in v2.12.0

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

type GetInstancesInstanceArray added in v2.12.0

type GetInstancesInstanceArray []GetInstancesInstanceInput

func (GetInstancesInstanceArray) ElementType added in v2.12.0

func (GetInstancesInstanceArray) ElementType() reflect.Type

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput added in v2.12.0

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext added in v2.12.0

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

type GetInstancesInstanceArrayInput added in v2.12.0

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 added in v2.12.0

type GetInstancesInstanceArrayOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceArrayOutput) ElementType added in v2.12.0

func (GetInstancesInstanceArrayOutput) Index added in v2.12.0

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput added in v2.12.0

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext added in v2.12.0

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

type GetInstancesInstanceInput added in v2.12.0

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 added in v2.12.0

type GetInstancesInstanceOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceOutput) ElementType added in v2.12.0

func (GetInstancesInstanceOutput) ElementType() reflect.Type

func (GetInstancesInstanceOutput) EndDate added in v2.12.0

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

func (GetInstancesInstanceOutput) Id added in v2.12.0

The ID of the WAF instance.

func (GetInstancesInstanceOutput) InDebt added in v2.12.0

Indicates whether the WAF instance has overdue payments.

func (GetInstancesInstanceOutput) InstanceId added in v2.12.0

The ID of WAF the instance.

func (GetInstancesInstanceOutput) RemainDay added in v2.12.0

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

func (GetInstancesInstanceOutput) Status added in v2.12.0

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 added in v2.12.0

func (o GetInstancesInstanceOutput) SubscriptionType() pulumi.StringOutput

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutput added in v2.12.0

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext added in v2.12.0

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

func (GetInstancesInstanceOutput) Trial added in v2.12.0

Indicates whether this is a trial instance.

type GetInstancesResult added in v2.12.0

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 added in v2.12.0

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

)

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

```

type Instance added in v2.5.0

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

)

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 added in v2.5.0

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 added in v2.5.0

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 added in v2.25.1

func (Instance) ElementType() reflect.Type

func (Instance) ToInstanceOutput added in v2.25.1

func (i Instance) ToInstanceOutput() InstanceOutput

func (Instance) ToInstanceOutputWithContext added in v2.25.1

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

type InstanceArgs added in v2.5.0

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
	// 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 added in v2.5.0

func (InstanceArgs) ElementType() reflect.Type

type InstanceInput added in v2.25.1

type InstanceInput interface {
	pulumi.Input

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

type InstanceOutput added in v2.25.1

type InstanceOutput struct {
	*pulumi.OutputState
}

func (InstanceOutput) ElementType added in v2.25.1

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) ToInstanceOutput added in v2.25.1

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext added in v2.25.1

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

type InstanceState added in v2.5.0

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
	// 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 added in v2.5.0

func (InstanceState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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