esa

package
v3.75.0 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CacheRule added in v3.75.0

type CacheRule struct {
	pulumi.CustomResourceState

	// Enable caching on the specified port. value: 8880, 2052, 2082, 2086, 2095, 2053, 2083, 2087, 2096.
	AdditionalCacheablePorts pulumi.StringPtrOutput `pulumi:"additionalCacheablePorts"`
	// Browser cache mode. value:
	BrowserCacheMode pulumi.StringPtrOutput `pulumi:"browserCacheMode"`
	// The browser cache expiration time, in seconds.
	BrowserCacheTtl pulumi.StringPtrOutput `pulumi:"browserCacheTtl"`
	// Set the cache bypass mode. value:
	BypassCache pulumi.StringPtrOutput `pulumi:"bypassCache"`
	// Cache spoofing defense. Used to defend against Web cache spoofing attacks, the cached content that passes the check is cached. value:
	CacheDeceptionArmor pulumi.StringPtrOutput `pulumi:"cacheDeceptionArmor"`
	// Cache retention eligibility. Used to control whether the user request bypasses the cache retention node when returning to the source. value:
	CacheReserveEligibility pulumi.StringPtrOutput `pulumi:"cacheReserveEligibility"`
	// The configured ConfigId. You can call the ListCacheRules operation to obtain the ConfigId.
	CacheRuleId pulumi.IntOutput `pulumi:"cacheRuleId"`
	// When generating the cache key, check whether the cookie exists, and if so, add the cookie name to the cache key (the cookie name is not case sensitive). Multiple cookie names are supported, with multiple values separated by spaces.
	CheckPresenceCookie pulumi.StringPtrOutput `pulumi:"checkPresenceCookie"`
	// When the cache key is generated, check whether the header exists. If the header exists, add the header name to the cache key (the header name is not case sensitive). You can enter multiple header names, with multiple values separated by spaces.
	CheckPresenceHeader pulumi.StringPtrOutput `pulumi:"checkPresenceHeader"`
	// Node cache mode. value:
	EdgeCacheMode pulumi.StringPtrOutput `pulumi:"edgeCacheMode"`
	// The node cache expiration time, in seconds.
	EdgeCacheTtl pulumi.StringPtrOutput `pulumi:"edgeCacheTtl"`
	// Status code cache expiration time, in seconds.
	EdgeStatusCodeCacheTtl pulumi.StringPtrOutput `pulumi:"edgeStatusCodeCacheTtl"`
	// When generating a cache key, it includes the specified cookie name and its value. You can enter multiple values separated by spaces.
	IncludeCookie pulumi.StringPtrOutput `pulumi:"includeCookie"`
	// When generating a cache key, it includes the specified header name and its value. You can enter multiple values separated by spaces.
	IncludeHeader pulumi.StringPtrOutput `pulumi:"includeHeader"`
	// The query string to be retained or deleted. You can enter multiple values separated by spaces.
	QueryString pulumi.StringPtrOutput `pulumi:"queryString"`
	// The processing mode for the query string when the cache key is generated. value:
	QueryStringMode pulumi.StringPtrOutput `pulumi:"queryStringMode"`
	// The rule content.
	Rule pulumi.StringPtrOutput `pulumi:"rule"`
	// Rule switch. value:
	RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"`
	// Rule name, you can find out the rule whose rule name is the passed field.
	RuleName pulumi.StringPtrOutput `pulumi:"ruleName"`
	// Response expiration cache. After enabling, nodes can still use cached expired files to respond to user requests even if the source server is unavailable. value:
	ServeStale pulumi.StringPtrOutput `pulumi:"serveStale"`
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// Version number of the site configuration. For a site with configuration version management enabled, you can use this parameter to specify the site version in which the configuration takes effect. The default version is 0.
	SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"`
	// Query string sorting, which is disabled by default. value:
	SortQueryStringForCache pulumi.StringPtrOutput `pulumi:"sortQueryStringForCache"`
	// When generating the cache key, add the client device type. value:
	UserDeviceType pulumi.StringPtrOutput `pulumi:"userDeviceType"`
	// When generating the cache key, add the client geographic location. value:
	UserGeo pulumi.StringPtrOutput `pulumi:"userGeo"`
	// When generating the cache key, add the client language type. value:
	UserLanguage pulumi.StringPtrOutput `pulumi:"userLanguage"`
}

Provides a ESA Cache Rule resource.

For information about ESA Cache Rule and how to use it, see [What is Cache Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateCacheRule).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = esa.NewCacheRule(ctx, "default", &esa.CacheRuleArgs{
			UserDeviceType:           pulumi.String("off"),
			BrowserCacheMode:         pulumi.String("no_cache"),
			UserLanguage:             pulumi.String("off"),
			CheckPresenceHeader:      pulumi.String("headername"),
			IncludeCookie:            pulumi.String("cookie_exapmle"),
			EdgeCacheMode:            pulumi.String("follow_origin"),
			AdditionalCacheablePorts: pulumi.String("2053"),
			RuleName:                 pulumi.String("rule_example"),
			EdgeStatusCodeCacheTtl:   pulumi.String("300"),
			BrowserCacheTtl:          pulumi.String("300"),
			QueryString:              pulumi.String("example"),
			UserGeo:                  pulumi.String("off"),
			SortQueryStringForCache:  pulumi.String("off"),
			CheckPresenceCookie:      pulumi.String("cookiename"),
			CacheReserveEligibility:  pulumi.String("bypass_cache_reserve"),
			QueryStringMode:          pulumi.String("ignore_all"),
			Rule:                     pulumi.String("http.host eq \"video.example.com\""),
			CacheDeceptionArmor:      pulumi.String("off"),
			SiteId:                   pulumi.Int(_default.Sites[0].Id),
			BypassCache:              pulumi.String("cache_all"),
			EdgeCacheTtl:             pulumi.String("300"),
			RuleEnable:               pulumi.String("off"),
			SiteVersion:              pulumi.Int(0),
			IncludeHeader:            pulumi.String("example"),
			ServeStale:               pulumi.String("off"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Cache Rule can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/cacheRule:CacheRule example <site_id>:<cache_rule_id> ```

func GetCacheRule added in v3.75.0

func GetCacheRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CacheRuleState, opts ...pulumi.ResourceOption) (*CacheRule, error)

GetCacheRule gets an existing CacheRule 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 NewCacheRule added in v3.75.0

func NewCacheRule(ctx *pulumi.Context,
	name string, args *CacheRuleArgs, opts ...pulumi.ResourceOption) (*CacheRule, error)

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

func (*CacheRule) ElementType added in v3.75.0

func (*CacheRule) ElementType() reflect.Type

func (*CacheRule) ToCacheRuleOutput added in v3.75.0

func (i *CacheRule) ToCacheRuleOutput() CacheRuleOutput

func (*CacheRule) ToCacheRuleOutputWithContext added in v3.75.0

func (i *CacheRule) ToCacheRuleOutputWithContext(ctx context.Context) CacheRuleOutput

type CacheRuleArgs added in v3.75.0

type CacheRuleArgs struct {
	// Enable caching on the specified port. value: 8880, 2052, 2082, 2086, 2095, 2053, 2083, 2087, 2096.
	AdditionalCacheablePorts pulumi.StringPtrInput
	// Browser cache mode. value:
	BrowserCacheMode pulumi.StringPtrInput
	// The browser cache expiration time, in seconds.
	BrowserCacheTtl pulumi.StringPtrInput
	// Set the cache bypass mode. value:
	BypassCache pulumi.StringPtrInput
	// Cache spoofing defense. Used to defend against Web cache spoofing attacks, the cached content that passes the check is cached. value:
	CacheDeceptionArmor pulumi.StringPtrInput
	// Cache retention eligibility. Used to control whether the user request bypasses the cache retention node when returning to the source. value:
	CacheReserveEligibility pulumi.StringPtrInput
	// When generating the cache key, check whether the cookie exists, and if so, add the cookie name to the cache key (the cookie name is not case sensitive). Multiple cookie names are supported, with multiple values separated by spaces.
	CheckPresenceCookie pulumi.StringPtrInput
	// When the cache key is generated, check whether the header exists. If the header exists, add the header name to the cache key (the header name is not case sensitive). You can enter multiple header names, with multiple values separated by spaces.
	CheckPresenceHeader pulumi.StringPtrInput
	// Node cache mode. value:
	EdgeCacheMode pulumi.StringPtrInput
	// The node cache expiration time, in seconds.
	EdgeCacheTtl pulumi.StringPtrInput
	// Status code cache expiration time, in seconds.
	EdgeStatusCodeCacheTtl pulumi.StringPtrInput
	// When generating a cache key, it includes the specified cookie name and its value. You can enter multiple values separated by spaces.
	IncludeCookie pulumi.StringPtrInput
	// When generating a cache key, it includes the specified header name and its value. You can enter multiple values separated by spaces.
	IncludeHeader pulumi.StringPtrInput
	// The query string to be retained or deleted. You can enter multiple values separated by spaces.
	QueryString pulumi.StringPtrInput
	// The processing mode for the query string when the cache key is generated. value:
	QueryStringMode pulumi.StringPtrInput
	// The rule content.
	Rule pulumi.StringPtrInput
	// Rule switch. value:
	RuleEnable pulumi.StringPtrInput
	// Rule name, you can find out the rule whose rule name is the passed field.
	RuleName pulumi.StringPtrInput
	// Response expiration cache. After enabling, nodes can still use cached expired files to respond to user requests even if the source server is unavailable. value:
	ServeStale pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntInput
	// Version number of the site configuration. For a site with configuration version management enabled, you can use this parameter to specify the site version in which the configuration takes effect. The default version is 0.
	SiteVersion pulumi.IntPtrInput
	// Query string sorting, which is disabled by default. value:
	SortQueryStringForCache pulumi.StringPtrInput
	// When generating the cache key, add the client device type. value:
	UserDeviceType pulumi.StringPtrInput
	// When generating the cache key, add the client geographic location. value:
	UserGeo pulumi.StringPtrInput
	// When generating the cache key, add the client language type. value:
	UserLanguage pulumi.StringPtrInput
}

The set of arguments for constructing a CacheRule resource.

func (CacheRuleArgs) ElementType added in v3.75.0

func (CacheRuleArgs) ElementType() reflect.Type

type CacheRuleArray added in v3.75.0

type CacheRuleArray []CacheRuleInput

func (CacheRuleArray) ElementType added in v3.75.0

func (CacheRuleArray) ElementType() reflect.Type

func (CacheRuleArray) ToCacheRuleArrayOutput added in v3.75.0

func (i CacheRuleArray) ToCacheRuleArrayOutput() CacheRuleArrayOutput

func (CacheRuleArray) ToCacheRuleArrayOutputWithContext added in v3.75.0

func (i CacheRuleArray) ToCacheRuleArrayOutputWithContext(ctx context.Context) CacheRuleArrayOutput

type CacheRuleArrayInput added in v3.75.0

type CacheRuleArrayInput interface {
	pulumi.Input

	ToCacheRuleArrayOutput() CacheRuleArrayOutput
	ToCacheRuleArrayOutputWithContext(context.Context) CacheRuleArrayOutput
}

CacheRuleArrayInput is an input type that accepts CacheRuleArray and CacheRuleArrayOutput values. You can construct a concrete instance of `CacheRuleArrayInput` via:

CacheRuleArray{ CacheRuleArgs{...} }

type CacheRuleArrayOutput added in v3.75.0

type CacheRuleArrayOutput struct{ *pulumi.OutputState }

func (CacheRuleArrayOutput) ElementType added in v3.75.0

func (CacheRuleArrayOutput) ElementType() reflect.Type

func (CacheRuleArrayOutput) Index added in v3.75.0

func (CacheRuleArrayOutput) ToCacheRuleArrayOutput added in v3.75.0

func (o CacheRuleArrayOutput) ToCacheRuleArrayOutput() CacheRuleArrayOutput

func (CacheRuleArrayOutput) ToCacheRuleArrayOutputWithContext added in v3.75.0

func (o CacheRuleArrayOutput) ToCacheRuleArrayOutputWithContext(ctx context.Context) CacheRuleArrayOutput

type CacheRuleInput added in v3.75.0

type CacheRuleInput interface {
	pulumi.Input

	ToCacheRuleOutput() CacheRuleOutput
	ToCacheRuleOutputWithContext(ctx context.Context) CacheRuleOutput
}

type CacheRuleMap added in v3.75.0

type CacheRuleMap map[string]CacheRuleInput

func (CacheRuleMap) ElementType added in v3.75.0

func (CacheRuleMap) ElementType() reflect.Type

func (CacheRuleMap) ToCacheRuleMapOutput added in v3.75.0

func (i CacheRuleMap) ToCacheRuleMapOutput() CacheRuleMapOutput

func (CacheRuleMap) ToCacheRuleMapOutputWithContext added in v3.75.0

func (i CacheRuleMap) ToCacheRuleMapOutputWithContext(ctx context.Context) CacheRuleMapOutput

type CacheRuleMapInput added in v3.75.0

type CacheRuleMapInput interface {
	pulumi.Input

	ToCacheRuleMapOutput() CacheRuleMapOutput
	ToCacheRuleMapOutputWithContext(context.Context) CacheRuleMapOutput
}

CacheRuleMapInput is an input type that accepts CacheRuleMap and CacheRuleMapOutput values. You can construct a concrete instance of `CacheRuleMapInput` via:

CacheRuleMap{ "key": CacheRuleArgs{...} }

type CacheRuleMapOutput added in v3.75.0

type CacheRuleMapOutput struct{ *pulumi.OutputState }

func (CacheRuleMapOutput) ElementType added in v3.75.0

func (CacheRuleMapOutput) ElementType() reflect.Type

func (CacheRuleMapOutput) MapIndex added in v3.75.0

func (CacheRuleMapOutput) ToCacheRuleMapOutput added in v3.75.0

func (o CacheRuleMapOutput) ToCacheRuleMapOutput() CacheRuleMapOutput

func (CacheRuleMapOutput) ToCacheRuleMapOutputWithContext added in v3.75.0

func (o CacheRuleMapOutput) ToCacheRuleMapOutputWithContext(ctx context.Context) CacheRuleMapOutput

type CacheRuleOutput added in v3.75.0

type CacheRuleOutput struct{ *pulumi.OutputState }

func (CacheRuleOutput) AdditionalCacheablePorts added in v3.75.0

func (o CacheRuleOutput) AdditionalCacheablePorts() pulumi.StringPtrOutput

Enable caching on the specified port. value: 8880, 2052, 2082, 2086, 2095, 2053, 2083, 2087, 2096.

func (CacheRuleOutput) BrowserCacheMode added in v3.75.0

func (o CacheRuleOutput) BrowserCacheMode() pulumi.StringPtrOutput

Browser cache mode. value:

func (CacheRuleOutput) BrowserCacheTtl added in v3.75.0

func (o CacheRuleOutput) BrowserCacheTtl() pulumi.StringPtrOutput

The browser cache expiration time, in seconds.

func (CacheRuleOutput) BypassCache added in v3.75.0

func (o CacheRuleOutput) BypassCache() pulumi.StringPtrOutput

Set the cache bypass mode. value:

func (CacheRuleOutput) CacheDeceptionArmor added in v3.75.0

func (o CacheRuleOutput) CacheDeceptionArmor() pulumi.StringPtrOutput

Cache spoofing defense. Used to defend against Web cache spoofing attacks, the cached content that passes the check is cached. value:

func (CacheRuleOutput) CacheReserveEligibility added in v3.75.0

func (o CacheRuleOutput) CacheReserveEligibility() pulumi.StringPtrOutput

Cache retention eligibility. Used to control whether the user request bypasses the cache retention node when returning to the source. value:

func (CacheRuleOutput) CacheRuleId added in v3.75.0

func (o CacheRuleOutput) CacheRuleId() pulumi.IntOutput

The configured ConfigId. You can call the ListCacheRules operation to obtain the ConfigId.

func (CacheRuleOutput) CheckPresenceCookie added in v3.75.0

func (o CacheRuleOutput) CheckPresenceCookie() pulumi.StringPtrOutput

When generating the cache key, check whether the cookie exists, and if so, add the cookie name to the cache key (the cookie name is not case sensitive). Multiple cookie names are supported, with multiple values separated by spaces.

func (CacheRuleOutput) CheckPresenceHeader added in v3.75.0

func (o CacheRuleOutput) CheckPresenceHeader() pulumi.StringPtrOutput

When the cache key is generated, check whether the header exists. If the header exists, add the header name to the cache key (the header name is not case sensitive). You can enter multiple header names, with multiple values separated by spaces.

func (CacheRuleOutput) EdgeCacheMode added in v3.75.0

func (o CacheRuleOutput) EdgeCacheMode() pulumi.StringPtrOutput

Node cache mode. value:

func (CacheRuleOutput) EdgeCacheTtl added in v3.75.0

func (o CacheRuleOutput) EdgeCacheTtl() pulumi.StringPtrOutput

The node cache expiration time, in seconds.

func (CacheRuleOutput) EdgeStatusCodeCacheTtl added in v3.75.0

func (o CacheRuleOutput) EdgeStatusCodeCacheTtl() pulumi.StringPtrOutput

Status code cache expiration time, in seconds.

func (CacheRuleOutput) ElementType added in v3.75.0

func (CacheRuleOutput) ElementType() reflect.Type

func (CacheRuleOutput) IncludeCookie added in v3.75.0

func (o CacheRuleOutput) IncludeCookie() pulumi.StringPtrOutput

When generating a cache key, it includes the specified cookie name and its value. You can enter multiple values separated by spaces.

func (CacheRuleOutput) IncludeHeader added in v3.75.0

func (o CacheRuleOutput) IncludeHeader() pulumi.StringPtrOutput

When generating a cache key, it includes the specified header name and its value. You can enter multiple values separated by spaces.

func (CacheRuleOutput) QueryString added in v3.75.0

func (o CacheRuleOutput) QueryString() pulumi.StringPtrOutput

The query string to be retained or deleted. You can enter multiple values separated by spaces.

func (CacheRuleOutput) QueryStringMode added in v3.75.0

func (o CacheRuleOutput) QueryStringMode() pulumi.StringPtrOutput

The processing mode for the query string when the cache key is generated. value:

func (CacheRuleOutput) Rule added in v3.75.0

The rule content.

func (CacheRuleOutput) RuleEnable added in v3.75.0

func (o CacheRuleOutput) RuleEnable() pulumi.StringPtrOutput

Rule switch. value:

func (CacheRuleOutput) RuleName added in v3.75.0

func (o CacheRuleOutput) RuleName() pulumi.StringPtrOutput

Rule name, you can find out the rule whose rule name is the passed field.

func (CacheRuleOutput) ServeStale added in v3.75.0

func (o CacheRuleOutput) ServeStale() pulumi.StringPtrOutput

Response expiration cache. After enabling, nodes can still use cached expired files to respond to user requests even if the source server is unavailable. value:

func (CacheRuleOutput) SiteId added in v3.75.0

func (o CacheRuleOutput) SiteId() pulumi.IntOutput

The site ID, which can be obtained by calling the ListSites API.

func (CacheRuleOutput) SiteVersion added in v3.75.0

func (o CacheRuleOutput) SiteVersion() pulumi.IntPtrOutput

Version number of the site configuration. For a site with configuration version management enabled, you can use this parameter to specify the site version in which the configuration takes effect. The default version is 0.

func (CacheRuleOutput) SortQueryStringForCache added in v3.75.0

func (o CacheRuleOutput) SortQueryStringForCache() pulumi.StringPtrOutput

Query string sorting, which is disabled by default. value:

func (CacheRuleOutput) ToCacheRuleOutput added in v3.75.0

func (o CacheRuleOutput) ToCacheRuleOutput() CacheRuleOutput

func (CacheRuleOutput) ToCacheRuleOutputWithContext added in v3.75.0

func (o CacheRuleOutput) ToCacheRuleOutputWithContext(ctx context.Context) CacheRuleOutput

func (CacheRuleOutput) UserDeviceType added in v3.75.0

func (o CacheRuleOutput) UserDeviceType() pulumi.StringPtrOutput

When generating the cache key, add the client device type. value:

func (CacheRuleOutput) UserGeo added in v3.75.0

When generating the cache key, add the client geographic location. value:

func (CacheRuleOutput) UserLanguage added in v3.75.0

func (o CacheRuleOutput) UserLanguage() pulumi.StringPtrOutput

When generating the cache key, add the client language type. value:

type CacheRuleState added in v3.75.0

type CacheRuleState struct {
	// Enable caching on the specified port. value: 8880, 2052, 2082, 2086, 2095, 2053, 2083, 2087, 2096.
	AdditionalCacheablePorts pulumi.StringPtrInput
	// Browser cache mode. value:
	BrowserCacheMode pulumi.StringPtrInput
	// The browser cache expiration time, in seconds.
	BrowserCacheTtl pulumi.StringPtrInput
	// Set the cache bypass mode. value:
	BypassCache pulumi.StringPtrInput
	// Cache spoofing defense. Used to defend against Web cache spoofing attacks, the cached content that passes the check is cached. value:
	CacheDeceptionArmor pulumi.StringPtrInput
	// Cache retention eligibility. Used to control whether the user request bypasses the cache retention node when returning to the source. value:
	CacheReserveEligibility pulumi.StringPtrInput
	// The configured ConfigId. You can call the ListCacheRules operation to obtain the ConfigId.
	CacheRuleId pulumi.IntPtrInput
	// When generating the cache key, check whether the cookie exists, and if so, add the cookie name to the cache key (the cookie name is not case sensitive). Multiple cookie names are supported, with multiple values separated by spaces.
	CheckPresenceCookie pulumi.StringPtrInput
	// When the cache key is generated, check whether the header exists. If the header exists, add the header name to the cache key (the header name is not case sensitive). You can enter multiple header names, with multiple values separated by spaces.
	CheckPresenceHeader pulumi.StringPtrInput
	// Node cache mode. value:
	EdgeCacheMode pulumi.StringPtrInput
	// The node cache expiration time, in seconds.
	EdgeCacheTtl pulumi.StringPtrInput
	// Status code cache expiration time, in seconds.
	EdgeStatusCodeCacheTtl pulumi.StringPtrInput
	// When generating a cache key, it includes the specified cookie name and its value. You can enter multiple values separated by spaces.
	IncludeCookie pulumi.StringPtrInput
	// When generating a cache key, it includes the specified header name and its value. You can enter multiple values separated by spaces.
	IncludeHeader pulumi.StringPtrInput
	// The query string to be retained or deleted. You can enter multiple values separated by spaces.
	QueryString pulumi.StringPtrInput
	// The processing mode for the query string when the cache key is generated. value:
	QueryStringMode pulumi.StringPtrInput
	// The rule content.
	Rule pulumi.StringPtrInput
	// Rule switch. value:
	RuleEnable pulumi.StringPtrInput
	// Rule name, you can find out the rule whose rule name is the passed field.
	RuleName pulumi.StringPtrInput
	// Response expiration cache. After enabling, nodes can still use cached expired files to respond to user requests even if the source server is unavailable. value:
	ServeStale pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntPtrInput
	// Version number of the site configuration. For a site with configuration version management enabled, you can use this parameter to specify the site version in which the configuration takes effect. The default version is 0.
	SiteVersion pulumi.IntPtrInput
	// Query string sorting, which is disabled by default. value:
	SortQueryStringForCache pulumi.StringPtrInput
	// When generating the cache key, add the client device type. value:
	UserDeviceType pulumi.StringPtrInput
	// When generating the cache key, add the client geographic location. value:
	UserGeo pulumi.StringPtrInput
	// When generating the cache key, add the client language type. value:
	UserLanguage pulumi.StringPtrInput
}

func (CacheRuleState) ElementType added in v3.75.0

func (CacheRuleState) ElementType() reflect.Type

type Certificate added in v3.75.0

type Certificate struct {
	pulumi.CustomResourceState

	// The certificate ID on Certificate Management Service.
	CasId pulumi.StringPtrOutput `pulumi:"casId"`
	// The certificate ID on ESA.
	CertId pulumi.StringOutput `pulumi:"certId"`
	// The certificate name.
	CertName pulumi.StringOutput `pulumi:"certName"`
	// The certificate content.
	Certificate pulumi.StringOutput `pulumi:"certificate"`
	// Creation time.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The certificate ID on Certificate Management Service. Valid values:
	// - free: a free certificate.
	// - cas: a certificate purchased by using Certificate Management Service.
	// - upload: a custom certificate that you upload.
	CreatedType pulumi.StringOutput `pulumi:"createdType"`
	// The Subject Alternative Name (SAN) of the certificate.
	Domains pulumi.StringPtrOutput `pulumi:"domains"`
	// The certificate content.
	PrivateKey pulumi.StringPtrOutput `pulumi:"privateKey"`
	// The private key of the certificate.
	Region pulumi.StringOutput `pulumi:"region"`
	// Site ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) interface.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// Certificate status.(within 30 days).- issued.- applying.- application failed.- canceled.
	Status pulumi.StringOutput `pulumi:"status"`
	// The certificate type. Valid values:
	// - cas: a certificate purchased by using Certificate Management Service.
	// - upload: a custom certificate that you upload.
	Type pulumi.StringOutput `pulumi:"type"`
}

Provides a ESA Certificate resource.

For information about ESA Certificate and how to use it, see [What is Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/SetCertificate).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
			SiteName:          pulumi.StringRef("gositecdn.cn"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = esa.NewCertificate(ctx, "default", &esa.CertificateArgs{
			CreatedType: pulumi.String("free"),
			Domains:     pulumi.String("101.gositecdn.cn"),
			SiteId:      pulumi.Int(_default.Sites[0].Id),
			Type:        pulumi.String("lets_encrypt"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import alicloud:esa/certificate:Certificate example <site_id>:<cert_id> ```

func GetCertificate added in v3.75.0

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

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

func NewCertificate added in v3.75.0

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

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

func (*Certificate) ElementType added in v3.75.0

func (*Certificate) ElementType() reflect.Type

func (*Certificate) ToCertificateOutput added in v3.75.0

func (i *Certificate) ToCertificateOutput() CertificateOutput

func (*Certificate) ToCertificateOutputWithContext added in v3.75.0

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

type CertificateArgs added in v3.75.0

type CertificateArgs struct {
	// The certificate ID on Certificate Management Service.
	CasId pulumi.StringPtrInput
	// The certificate ID on ESA.
	CertId pulumi.StringPtrInput
	// The certificate name.
	CertName pulumi.StringPtrInput
	// The certificate content.
	Certificate pulumi.StringPtrInput
	// The certificate ID on Certificate Management Service. Valid values:
	// - free: a free certificate.
	// - cas: a certificate purchased by using Certificate Management Service.
	// - upload: a custom certificate that you upload.
	CreatedType pulumi.StringInput
	// The Subject Alternative Name (SAN) of the certificate.
	Domains pulumi.StringPtrInput
	// The certificate content.
	PrivateKey pulumi.StringPtrInput
	// The private key of the certificate.
	Region pulumi.StringPtrInput
	// Site ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) interface.
	SiteId pulumi.IntInput
	// The certificate type. Valid values:
	// - cas: a certificate purchased by using Certificate Management Service.
	// - upload: a custom certificate that you upload.
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a Certificate resource.

func (CertificateArgs) ElementType added in v3.75.0

func (CertificateArgs) ElementType() reflect.Type

type CertificateArray added in v3.75.0

type CertificateArray []CertificateInput

func (CertificateArray) ElementType added in v3.75.0

func (CertificateArray) ElementType() reflect.Type

func (CertificateArray) ToCertificateArrayOutput added in v3.75.0

func (i CertificateArray) ToCertificateArrayOutput() CertificateArrayOutput

func (CertificateArray) ToCertificateArrayOutputWithContext added in v3.75.0

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

type CertificateArrayInput added in v3.75.0

type CertificateArrayInput interface {
	pulumi.Input

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

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

CertificateArray{ CertificateArgs{...} }

type CertificateArrayOutput added in v3.75.0

type CertificateArrayOutput struct{ *pulumi.OutputState }

func (CertificateArrayOutput) ElementType added in v3.75.0

func (CertificateArrayOutput) ElementType() reflect.Type

func (CertificateArrayOutput) Index added in v3.75.0

func (CertificateArrayOutput) ToCertificateArrayOutput added in v3.75.0

func (o CertificateArrayOutput) ToCertificateArrayOutput() CertificateArrayOutput

func (CertificateArrayOutput) ToCertificateArrayOutputWithContext added in v3.75.0

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

type CertificateInput added in v3.75.0

type CertificateInput interface {
	pulumi.Input

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

type CertificateMap added in v3.75.0

type CertificateMap map[string]CertificateInput

func (CertificateMap) ElementType added in v3.75.0

func (CertificateMap) ElementType() reflect.Type

func (CertificateMap) ToCertificateMapOutput added in v3.75.0

func (i CertificateMap) ToCertificateMapOutput() CertificateMapOutput

func (CertificateMap) ToCertificateMapOutputWithContext added in v3.75.0

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

type CertificateMapInput added in v3.75.0

type CertificateMapInput interface {
	pulumi.Input

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

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

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

type CertificateMapOutput added in v3.75.0

type CertificateMapOutput struct{ *pulumi.OutputState }

func (CertificateMapOutput) ElementType added in v3.75.0

func (CertificateMapOutput) ElementType() reflect.Type

func (CertificateMapOutput) MapIndex added in v3.75.0

func (CertificateMapOutput) ToCertificateMapOutput added in v3.75.0

func (o CertificateMapOutput) ToCertificateMapOutput() CertificateMapOutput

func (CertificateMapOutput) ToCertificateMapOutputWithContext added in v3.75.0

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

type CertificateOutput added in v3.75.0

type CertificateOutput struct{ *pulumi.OutputState }

func (CertificateOutput) CasId added in v3.75.0

The certificate ID on Certificate Management Service.

func (CertificateOutput) CertId added in v3.75.0

The certificate ID on ESA.

func (CertificateOutput) CertName added in v3.75.0

func (o CertificateOutput) CertName() pulumi.StringOutput

The certificate name.

func (CertificateOutput) Certificate added in v3.75.0

func (o CertificateOutput) Certificate() pulumi.StringOutput

The certificate content.

func (CertificateOutput) CreateTime added in v3.75.0

func (o CertificateOutput) CreateTime() pulumi.StringOutput

Creation time.

func (CertificateOutput) CreatedType added in v3.75.0

func (o CertificateOutput) CreatedType() pulumi.StringOutput

The certificate ID on Certificate Management Service. Valid values: - free: a free certificate. - cas: a certificate purchased by using Certificate Management Service. - upload: a custom certificate that you upload.

func (CertificateOutput) Domains added in v3.75.0

The Subject Alternative Name (SAN) of the certificate.

func (CertificateOutput) ElementType added in v3.75.0

func (CertificateOutput) ElementType() reflect.Type

func (CertificateOutput) PrivateKey added in v3.75.0

func (o CertificateOutput) PrivateKey() pulumi.StringPtrOutput

The certificate content.

func (CertificateOutput) Region added in v3.75.0

The private key of the certificate.

func (CertificateOutput) SiteId added in v3.75.0

func (o CertificateOutput) SiteId() pulumi.IntOutput

Site ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) interface.

func (CertificateOutput) Status added in v3.75.0

Certificate status.(within 30 days).- issued.- applying.- application failed.- canceled.

func (CertificateOutput) ToCertificateOutput added in v3.75.0

func (o CertificateOutput) ToCertificateOutput() CertificateOutput

func (CertificateOutput) ToCertificateOutputWithContext added in v3.75.0

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

func (CertificateOutput) Type added in v3.75.0

The certificate type. Valid values: - cas: a certificate purchased by using Certificate Management Service. - upload: a custom certificate that you upload.

type CertificateState added in v3.75.0

type CertificateState struct {
	// The certificate ID on Certificate Management Service.
	CasId pulumi.StringPtrInput
	// The certificate ID on ESA.
	CertId pulumi.StringPtrInput
	// The certificate name.
	CertName pulumi.StringPtrInput
	// The certificate content.
	Certificate pulumi.StringPtrInput
	// Creation time.
	CreateTime pulumi.StringPtrInput
	// The certificate ID on Certificate Management Service. Valid values:
	// - free: a free certificate.
	// - cas: a certificate purchased by using Certificate Management Service.
	// - upload: a custom certificate that you upload.
	CreatedType pulumi.StringPtrInput
	// The Subject Alternative Name (SAN) of the certificate.
	Domains pulumi.StringPtrInput
	// The certificate content.
	PrivateKey pulumi.StringPtrInput
	// The private key of the certificate.
	Region pulumi.StringPtrInput
	// Site ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) interface.
	SiteId pulumi.IntPtrInput
	// Certificate status.(within 30 days).- issued.- applying.- application failed.- canceled.
	Status pulumi.StringPtrInput
	// The certificate type. Valid values:
	// - cas: a certificate purchased by using Certificate Management Service.
	// - upload: a custom certificate that you upload.
	Type pulumi.StringPtrInput
}

func (CertificateState) ElementType added in v3.75.0

func (CertificateState) ElementType() reflect.Type

type ClientCaCertificate added in v3.75.0

type ClientCaCertificate struct {
	pulumi.CustomResourceState

	// Certificate content.
	Certificate pulumi.StringOutput `pulumi:"certificate"`
	// ClientCaCertificate Id
	ClientCaCertId pulumi.StringOutput `pulumi:"clientCaCertId"`
	// The certificate name.
	ClientCaCertName pulumi.StringPtrOutput `pulumi:"clientCaCertName"`
	// Creation time.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Site Id
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// Certificate status.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a ESA Client Ca Certificate resource.

For information about ESA Client Ca Certificate and how to use it, see [What is Client Ca Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/UploadClientCaCertificate).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
			SiteName:          pulumi.StringRef("gositecdn.cn"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = esa.NewClientCaCertificate(ctx, "default", &esa.ClientCaCertificateArgs{
			Certificate:      pulumi.String("-----BEGIN CERTIFICATE-----\n****-----END CERTIFICATE-----"),
			ClientCaCertName: pulumi.String("example"),
			SiteId:           pulumi.Int(_default.Sites[0].Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Client Ca Certificate can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/clientCaCertificate:ClientCaCertificate example <site_id>:<client_ca_cert_id> ```

func GetClientCaCertificate added in v3.75.0

func GetClientCaCertificate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientCaCertificateState, opts ...pulumi.ResourceOption) (*ClientCaCertificate, error)

GetClientCaCertificate gets an existing ClientCaCertificate 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 NewClientCaCertificate added in v3.75.0

func NewClientCaCertificate(ctx *pulumi.Context,
	name string, args *ClientCaCertificateArgs, opts ...pulumi.ResourceOption) (*ClientCaCertificate, error)

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

func (*ClientCaCertificate) ElementType added in v3.75.0

func (*ClientCaCertificate) ElementType() reflect.Type

func (*ClientCaCertificate) ToClientCaCertificateOutput added in v3.75.0

func (i *ClientCaCertificate) ToClientCaCertificateOutput() ClientCaCertificateOutput

func (*ClientCaCertificate) ToClientCaCertificateOutputWithContext added in v3.75.0

func (i *ClientCaCertificate) ToClientCaCertificateOutputWithContext(ctx context.Context) ClientCaCertificateOutput

type ClientCaCertificateArgs added in v3.75.0

type ClientCaCertificateArgs struct {
	// Certificate content.
	Certificate pulumi.StringInput
	// The certificate name.
	ClientCaCertName pulumi.StringPtrInput
	// Site Id
	SiteId pulumi.IntInput
}

The set of arguments for constructing a ClientCaCertificate resource.

func (ClientCaCertificateArgs) ElementType added in v3.75.0

func (ClientCaCertificateArgs) ElementType() reflect.Type

type ClientCaCertificateArray added in v3.75.0

type ClientCaCertificateArray []ClientCaCertificateInput

func (ClientCaCertificateArray) ElementType added in v3.75.0

func (ClientCaCertificateArray) ElementType() reflect.Type

func (ClientCaCertificateArray) ToClientCaCertificateArrayOutput added in v3.75.0

func (i ClientCaCertificateArray) ToClientCaCertificateArrayOutput() ClientCaCertificateArrayOutput

func (ClientCaCertificateArray) ToClientCaCertificateArrayOutputWithContext added in v3.75.0

func (i ClientCaCertificateArray) ToClientCaCertificateArrayOutputWithContext(ctx context.Context) ClientCaCertificateArrayOutput

type ClientCaCertificateArrayInput added in v3.75.0

type ClientCaCertificateArrayInput interface {
	pulumi.Input

	ToClientCaCertificateArrayOutput() ClientCaCertificateArrayOutput
	ToClientCaCertificateArrayOutputWithContext(context.Context) ClientCaCertificateArrayOutput
}

ClientCaCertificateArrayInput is an input type that accepts ClientCaCertificateArray and ClientCaCertificateArrayOutput values. You can construct a concrete instance of `ClientCaCertificateArrayInput` via:

ClientCaCertificateArray{ ClientCaCertificateArgs{...} }

type ClientCaCertificateArrayOutput added in v3.75.0

type ClientCaCertificateArrayOutput struct{ *pulumi.OutputState }

func (ClientCaCertificateArrayOutput) ElementType added in v3.75.0

func (ClientCaCertificateArrayOutput) Index added in v3.75.0

func (ClientCaCertificateArrayOutput) ToClientCaCertificateArrayOutput added in v3.75.0

func (o ClientCaCertificateArrayOutput) ToClientCaCertificateArrayOutput() ClientCaCertificateArrayOutput

func (ClientCaCertificateArrayOutput) ToClientCaCertificateArrayOutputWithContext added in v3.75.0

func (o ClientCaCertificateArrayOutput) ToClientCaCertificateArrayOutputWithContext(ctx context.Context) ClientCaCertificateArrayOutput

type ClientCaCertificateInput added in v3.75.0

type ClientCaCertificateInput interface {
	pulumi.Input

	ToClientCaCertificateOutput() ClientCaCertificateOutput
	ToClientCaCertificateOutputWithContext(ctx context.Context) ClientCaCertificateOutput
}

type ClientCaCertificateMap added in v3.75.0

type ClientCaCertificateMap map[string]ClientCaCertificateInput

func (ClientCaCertificateMap) ElementType added in v3.75.0

func (ClientCaCertificateMap) ElementType() reflect.Type

func (ClientCaCertificateMap) ToClientCaCertificateMapOutput added in v3.75.0

func (i ClientCaCertificateMap) ToClientCaCertificateMapOutput() ClientCaCertificateMapOutput

func (ClientCaCertificateMap) ToClientCaCertificateMapOutputWithContext added in v3.75.0

func (i ClientCaCertificateMap) ToClientCaCertificateMapOutputWithContext(ctx context.Context) ClientCaCertificateMapOutput

type ClientCaCertificateMapInput added in v3.75.0

type ClientCaCertificateMapInput interface {
	pulumi.Input

	ToClientCaCertificateMapOutput() ClientCaCertificateMapOutput
	ToClientCaCertificateMapOutputWithContext(context.Context) ClientCaCertificateMapOutput
}

ClientCaCertificateMapInput is an input type that accepts ClientCaCertificateMap and ClientCaCertificateMapOutput values. You can construct a concrete instance of `ClientCaCertificateMapInput` via:

ClientCaCertificateMap{ "key": ClientCaCertificateArgs{...} }

type ClientCaCertificateMapOutput added in v3.75.0

type ClientCaCertificateMapOutput struct{ *pulumi.OutputState }

func (ClientCaCertificateMapOutput) ElementType added in v3.75.0

func (ClientCaCertificateMapOutput) MapIndex added in v3.75.0

func (ClientCaCertificateMapOutput) ToClientCaCertificateMapOutput added in v3.75.0

func (o ClientCaCertificateMapOutput) ToClientCaCertificateMapOutput() ClientCaCertificateMapOutput

func (ClientCaCertificateMapOutput) ToClientCaCertificateMapOutputWithContext added in v3.75.0

func (o ClientCaCertificateMapOutput) ToClientCaCertificateMapOutputWithContext(ctx context.Context) ClientCaCertificateMapOutput

type ClientCaCertificateOutput added in v3.75.0

type ClientCaCertificateOutput struct{ *pulumi.OutputState }

func (ClientCaCertificateOutput) Certificate added in v3.75.0

Certificate content.

func (ClientCaCertificateOutput) ClientCaCertId added in v3.75.0

func (o ClientCaCertificateOutput) ClientCaCertId() pulumi.StringOutput

ClientCaCertificate Id

func (ClientCaCertificateOutput) ClientCaCertName added in v3.75.0

func (o ClientCaCertificateOutput) ClientCaCertName() pulumi.StringPtrOutput

The certificate name.

func (ClientCaCertificateOutput) CreateTime added in v3.75.0

Creation time.

func (ClientCaCertificateOutput) ElementType added in v3.75.0

func (ClientCaCertificateOutput) ElementType() reflect.Type

func (ClientCaCertificateOutput) SiteId added in v3.75.0

Site Id

func (ClientCaCertificateOutput) Status added in v3.75.0

Certificate status.

func (ClientCaCertificateOutput) ToClientCaCertificateOutput added in v3.75.0

func (o ClientCaCertificateOutput) ToClientCaCertificateOutput() ClientCaCertificateOutput

func (ClientCaCertificateOutput) ToClientCaCertificateOutputWithContext added in v3.75.0

func (o ClientCaCertificateOutput) ToClientCaCertificateOutputWithContext(ctx context.Context) ClientCaCertificateOutput

type ClientCaCertificateState added in v3.75.0

type ClientCaCertificateState struct {
	// Certificate content.
	Certificate pulumi.StringPtrInput
	// ClientCaCertificate Id
	ClientCaCertId pulumi.StringPtrInput
	// The certificate name.
	ClientCaCertName pulumi.StringPtrInput
	// Creation time.
	CreateTime pulumi.StringPtrInput
	// Site Id
	SiteId pulumi.IntPtrInput
	// Certificate status.
	Status pulumi.StringPtrInput
}

func (ClientCaCertificateState) ElementType added in v3.75.0

func (ClientCaCertificateState) ElementType() reflect.Type

type ClientCertificate added in v3.75.0

type ClientCertificate struct {
	pulumi.CustomResourceState

	// ClientCertificate Id
	ClientCertId pulumi.StringOutput `pulumi:"clientCertId"`
	// The time when the certificate was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Certificate signing request content.
	Csr pulumi.StringPtrOutput `pulumi:"csr"`
	// The private key algorithm type.
	PkeyType pulumi.StringPtrOutput `pulumi:"pkeyType"`
	// Site Id
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// The certificate status. Valid values: `revoked`, `active`.
	Status pulumi.StringOutput `pulumi:"status"`
	// Certificate validity period.
	ValidityDays pulumi.StringOutput `pulumi:"validityDays"`
}

Provides a ESA Client Certificate resource.

For information about ESA Client Certificate and how to use it, see [What is Client Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateClientCertificate).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
			SiteName:          pulumi.StringRef("gositecdn.cn"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = esa.NewClientCertificate(ctx, "default", &esa.ClientCertificateArgs{
			SiteId:       pulumi.Int(_default.Sites[0].Id),
			PkeyType:     pulumi.String("RSA"),
			ValidityDays: pulumi.String("365"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Client Certificate can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/clientCertificate:ClientCertificate example <site_id>:<client_cert_id> ```

func GetClientCertificate added in v3.75.0

func GetClientCertificate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientCertificateState, opts ...pulumi.ResourceOption) (*ClientCertificate, error)

GetClientCertificate gets an existing ClientCertificate 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 NewClientCertificate added in v3.75.0

func NewClientCertificate(ctx *pulumi.Context,
	name string, args *ClientCertificateArgs, opts ...pulumi.ResourceOption) (*ClientCertificate, error)

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

func (*ClientCertificate) ElementType added in v3.75.0

func (*ClientCertificate) ElementType() reflect.Type

func (*ClientCertificate) ToClientCertificateOutput added in v3.75.0

func (i *ClientCertificate) ToClientCertificateOutput() ClientCertificateOutput

func (*ClientCertificate) ToClientCertificateOutputWithContext added in v3.75.0

func (i *ClientCertificate) ToClientCertificateOutputWithContext(ctx context.Context) ClientCertificateOutput

type ClientCertificateArgs added in v3.75.0

type ClientCertificateArgs struct {
	// Certificate signing request content.
	Csr pulumi.StringPtrInput
	// The private key algorithm type.
	PkeyType pulumi.StringPtrInput
	// Site Id
	SiteId pulumi.IntInput
	// The certificate status. Valid values: `revoked`, `active`.
	Status pulumi.StringPtrInput
	// Certificate validity period.
	ValidityDays pulumi.StringInput
}

The set of arguments for constructing a ClientCertificate resource.

func (ClientCertificateArgs) ElementType added in v3.75.0

func (ClientCertificateArgs) ElementType() reflect.Type

type ClientCertificateArray added in v3.75.0

type ClientCertificateArray []ClientCertificateInput

func (ClientCertificateArray) ElementType added in v3.75.0

func (ClientCertificateArray) ElementType() reflect.Type

func (ClientCertificateArray) ToClientCertificateArrayOutput added in v3.75.0

func (i ClientCertificateArray) ToClientCertificateArrayOutput() ClientCertificateArrayOutput

func (ClientCertificateArray) ToClientCertificateArrayOutputWithContext added in v3.75.0

func (i ClientCertificateArray) ToClientCertificateArrayOutputWithContext(ctx context.Context) ClientCertificateArrayOutput

type ClientCertificateArrayInput added in v3.75.0

type ClientCertificateArrayInput interface {
	pulumi.Input

	ToClientCertificateArrayOutput() ClientCertificateArrayOutput
	ToClientCertificateArrayOutputWithContext(context.Context) ClientCertificateArrayOutput
}

ClientCertificateArrayInput is an input type that accepts ClientCertificateArray and ClientCertificateArrayOutput values. You can construct a concrete instance of `ClientCertificateArrayInput` via:

ClientCertificateArray{ ClientCertificateArgs{...} }

type ClientCertificateArrayOutput added in v3.75.0

type ClientCertificateArrayOutput struct{ *pulumi.OutputState }

func (ClientCertificateArrayOutput) ElementType added in v3.75.0

func (ClientCertificateArrayOutput) Index added in v3.75.0

func (ClientCertificateArrayOutput) ToClientCertificateArrayOutput added in v3.75.0

func (o ClientCertificateArrayOutput) ToClientCertificateArrayOutput() ClientCertificateArrayOutput

func (ClientCertificateArrayOutput) ToClientCertificateArrayOutputWithContext added in v3.75.0

func (o ClientCertificateArrayOutput) ToClientCertificateArrayOutputWithContext(ctx context.Context) ClientCertificateArrayOutput

type ClientCertificateInput added in v3.75.0

type ClientCertificateInput interface {
	pulumi.Input

	ToClientCertificateOutput() ClientCertificateOutput
	ToClientCertificateOutputWithContext(ctx context.Context) ClientCertificateOutput
}

type ClientCertificateMap added in v3.75.0

type ClientCertificateMap map[string]ClientCertificateInput

func (ClientCertificateMap) ElementType added in v3.75.0

func (ClientCertificateMap) ElementType() reflect.Type

func (ClientCertificateMap) ToClientCertificateMapOutput added in v3.75.0

func (i ClientCertificateMap) ToClientCertificateMapOutput() ClientCertificateMapOutput

func (ClientCertificateMap) ToClientCertificateMapOutputWithContext added in v3.75.0

func (i ClientCertificateMap) ToClientCertificateMapOutputWithContext(ctx context.Context) ClientCertificateMapOutput

type ClientCertificateMapInput added in v3.75.0

type ClientCertificateMapInput interface {
	pulumi.Input

	ToClientCertificateMapOutput() ClientCertificateMapOutput
	ToClientCertificateMapOutputWithContext(context.Context) ClientCertificateMapOutput
}

ClientCertificateMapInput is an input type that accepts ClientCertificateMap and ClientCertificateMapOutput values. You can construct a concrete instance of `ClientCertificateMapInput` via:

ClientCertificateMap{ "key": ClientCertificateArgs{...} }

type ClientCertificateMapOutput added in v3.75.0

type ClientCertificateMapOutput struct{ *pulumi.OutputState }

func (ClientCertificateMapOutput) ElementType added in v3.75.0

func (ClientCertificateMapOutput) ElementType() reflect.Type

func (ClientCertificateMapOutput) MapIndex added in v3.75.0

func (ClientCertificateMapOutput) ToClientCertificateMapOutput added in v3.75.0

func (o ClientCertificateMapOutput) ToClientCertificateMapOutput() ClientCertificateMapOutput

func (ClientCertificateMapOutput) ToClientCertificateMapOutputWithContext added in v3.75.0

func (o ClientCertificateMapOutput) ToClientCertificateMapOutputWithContext(ctx context.Context) ClientCertificateMapOutput

type ClientCertificateOutput added in v3.75.0

type ClientCertificateOutput struct{ *pulumi.OutputState }

func (ClientCertificateOutput) ClientCertId added in v3.75.0

func (o ClientCertificateOutput) ClientCertId() pulumi.StringOutput

ClientCertificate Id

func (ClientCertificateOutput) CreateTime added in v3.75.0

The time when the certificate was created.

func (ClientCertificateOutput) Csr added in v3.75.0

Certificate signing request content.

func (ClientCertificateOutput) ElementType added in v3.75.0

func (ClientCertificateOutput) ElementType() reflect.Type

func (ClientCertificateOutput) PkeyType added in v3.75.0

The private key algorithm type.

func (ClientCertificateOutput) SiteId added in v3.75.0

Site Id

func (ClientCertificateOutput) Status added in v3.75.0

The certificate status. Valid values: `revoked`, `active`.

func (ClientCertificateOutput) ToClientCertificateOutput added in v3.75.0

func (o ClientCertificateOutput) ToClientCertificateOutput() ClientCertificateOutput

func (ClientCertificateOutput) ToClientCertificateOutputWithContext added in v3.75.0

func (o ClientCertificateOutput) ToClientCertificateOutputWithContext(ctx context.Context) ClientCertificateOutput

func (ClientCertificateOutput) ValidityDays added in v3.75.0

func (o ClientCertificateOutput) ValidityDays() pulumi.StringOutput

Certificate validity period.

type ClientCertificateState added in v3.75.0

type ClientCertificateState struct {
	// ClientCertificate Id
	ClientCertId pulumi.StringPtrInput
	// The time when the certificate was created.
	CreateTime pulumi.StringPtrInput
	// Certificate signing request content.
	Csr pulumi.StringPtrInput
	// The private key algorithm type.
	PkeyType pulumi.StringPtrInput
	// Site Id
	SiteId pulumi.IntPtrInput
	// The certificate status. Valid values: `revoked`, `active`.
	Status pulumi.StringPtrInput
	// Certificate validity period.
	ValidityDays pulumi.StringPtrInput
}

func (ClientCertificateState) ElementType added in v3.75.0

func (ClientCertificateState) ElementType() reflect.Type

type CompressionRule added in v3.75.0

type CompressionRule struct {
	pulumi.CustomResourceState

	// Brotli compression. Value range:
	Brotli pulumi.StringPtrOutput `pulumi:"brotli"`
	// Config Id
	ConfigId pulumi.IntOutput `pulumi:"configId"`
	// Gzip compression. Value range:
	Gzip pulumi.StringPtrOutput `pulumi:"gzip"`
	// Rule Content.
	Rule pulumi.StringPtrOutput `pulumi:"rule"`
	// Rule switch. Value range:
	RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"`
	// Rule name, you can find out the rule whose rule name is the passed field.
	RuleName pulumi.StringPtrOutput `pulumi:"ruleName"`
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// The version of the website configurations.
	SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"`
	// Zstd compression. Value range:
	Zstd pulumi.StringPtrOutput `pulumi:"zstd"`
}

Provides a ESA Compression Rule resource.

For information about ESA Compression Rule and how to use it, see [What is Compression Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateCompressionRule).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
		}, nil)
		if err != nil {
			return err
		}
		example, err := esa.NewSite(ctx, "example", &esa.SiteArgs{
			SiteName:   pulumi.String("compression.example.com"),
			InstanceId: pulumi.String(_default.Sites[0].InstanceId),
			Coverage:   pulumi.String("domestic"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		_, err = esa.NewCompressionRule(ctx, "default", &esa.CompressionRuleArgs{
			Gzip:        pulumi.String("off"),
			Brotli:      pulumi.String("off"),
			Rule:        pulumi.String("http.host eq \"video.example.com\""),
			SiteVersion: pulumi.Int(0),
			RuleName:    pulumi.String("rule_example"),
			SiteId:      example.ID(),
			Zstd:        pulumi.String("off"),
			RuleEnable:  pulumi.String("off"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Compression Rule can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/compressionRule:CompressionRule example <site_id>:<config_id> ```

func GetCompressionRule added in v3.75.0

func GetCompressionRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CompressionRuleState, opts ...pulumi.ResourceOption) (*CompressionRule, error)

GetCompressionRule gets an existing CompressionRule 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 NewCompressionRule added in v3.75.0

func NewCompressionRule(ctx *pulumi.Context,
	name string, args *CompressionRuleArgs, opts ...pulumi.ResourceOption) (*CompressionRule, error)

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

func (*CompressionRule) ElementType added in v3.75.0

func (*CompressionRule) ElementType() reflect.Type

func (*CompressionRule) ToCompressionRuleOutput added in v3.75.0

func (i *CompressionRule) ToCompressionRuleOutput() CompressionRuleOutput

func (*CompressionRule) ToCompressionRuleOutputWithContext added in v3.75.0

func (i *CompressionRule) ToCompressionRuleOutputWithContext(ctx context.Context) CompressionRuleOutput

type CompressionRuleArgs added in v3.75.0

type CompressionRuleArgs struct {
	// Brotli compression. Value range:
	Brotli pulumi.StringPtrInput
	// Gzip compression. Value range:
	Gzip pulumi.StringPtrInput
	// Rule Content.
	Rule pulumi.StringPtrInput
	// Rule switch. Value range:
	RuleEnable pulumi.StringPtrInput
	// Rule name, you can find out the rule whose rule name is the passed field.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntInput
	// The version of the website configurations.
	SiteVersion pulumi.IntPtrInput
	// Zstd compression. Value range:
	Zstd pulumi.StringPtrInput
}

The set of arguments for constructing a CompressionRule resource.

func (CompressionRuleArgs) ElementType added in v3.75.0

func (CompressionRuleArgs) ElementType() reflect.Type

type CompressionRuleArray added in v3.75.0

type CompressionRuleArray []CompressionRuleInput

func (CompressionRuleArray) ElementType added in v3.75.0

func (CompressionRuleArray) ElementType() reflect.Type

func (CompressionRuleArray) ToCompressionRuleArrayOutput added in v3.75.0

func (i CompressionRuleArray) ToCompressionRuleArrayOutput() CompressionRuleArrayOutput

func (CompressionRuleArray) ToCompressionRuleArrayOutputWithContext added in v3.75.0

func (i CompressionRuleArray) ToCompressionRuleArrayOutputWithContext(ctx context.Context) CompressionRuleArrayOutput

type CompressionRuleArrayInput added in v3.75.0

type CompressionRuleArrayInput interface {
	pulumi.Input

	ToCompressionRuleArrayOutput() CompressionRuleArrayOutput
	ToCompressionRuleArrayOutputWithContext(context.Context) CompressionRuleArrayOutput
}

CompressionRuleArrayInput is an input type that accepts CompressionRuleArray and CompressionRuleArrayOutput values. You can construct a concrete instance of `CompressionRuleArrayInput` via:

CompressionRuleArray{ CompressionRuleArgs{...} }

type CompressionRuleArrayOutput added in v3.75.0

type CompressionRuleArrayOutput struct{ *pulumi.OutputState }

func (CompressionRuleArrayOutput) ElementType added in v3.75.0

func (CompressionRuleArrayOutput) ElementType() reflect.Type

func (CompressionRuleArrayOutput) Index added in v3.75.0

func (CompressionRuleArrayOutput) ToCompressionRuleArrayOutput added in v3.75.0

func (o CompressionRuleArrayOutput) ToCompressionRuleArrayOutput() CompressionRuleArrayOutput

func (CompressionRuleArrayOutput) ToCompressionRuleArrayOutputWithContext added in v3.75.0

func (o CompressionRuleArrayOutput) ToCompressionRuleArrayOutputWithContext(ctx context.Context) CompressionRuleArrayOutput

type CompressionRuleInput added in v3.75.0

type CompressionRuleInput interface {
	pulumi.Input

	ToCompressionRuleOutput() CompressionRuleOutput
	ToCompressionRuleOutputWithContext(ctx context.Context) CompressionRuleOutput
}

type CompressionRuleMap added in v3.75.0

type CompressionRuleMap map[string]CompressionRuleInput

func (CompressionRuleMap) ElementType added in v3.75.0

func (CompressionRuleMap) ElementType() reflect.Type

func (CompressionRuleMap) ToCompressionRuleMapOutput added in v3.75.0

func (i CompressionRuleMap) ToCompressionRuleMapOutput() CompressionRuleMapOutput

func (CompressionRuleMap) ToCompressionRuleMapOutputWithContext added in v3.75.0

func (i CompressionRuleMap) ToCompressionRuleMapOutputWithContext(ctx context.Context) CompressionRuleMapOutput

type CompressionRuleMapInput added in v3.75.0

type CompressionRuleMapInput interface {
	pulumi.Input

	ToCompressionRuleMapOutput() CompressionRuleMapOutput
	ToCompressionRuleMapOutputWithContext(context.Context) CompressionRuleMapOutput
}

CompressionRuleMapInput is an input type that accepts CompressionRuleMap and CompressionRuleMapOutput values. You can construct a concrete instance of `CompressionRuleMapInput` via:

CompressionRuleMap{ "key": CompressionRuleArgs{...} }

type CompressionRuleMapOutput added in v3.75.0

type CompressionRuleMapOutput struct{ *pulumi.OutputState }

func (CompressionRuleMapOutput) ElementType added in v3.75.0

func (CompressionRuleMapOutput) ElementType() reflect.Type

func (CompressionRuleMapOutput) MapIndex added in v3.75.0

func (CompressionRuleMapOutput) ToCompressionRuleMapOutput added in v3.75.0

func (o CompressionRuleMapOutput) ToCompressionRuleMapOutput() CompressionRuleMapOutput

func (CompressionRuleMapOutput) ToCompressionRuleMapOutputWithContext added in v3.75.0

func (o CompressionRuleMapOutput) ToCompressionRuleMapOutputWithContext(ctx context.Context) CompressionRuleMapOutput

type CompressionRuleOutput added in v3.75.0

type CompressionRuleOutput struct{ *pulumi.OutputState }

func (CompressionRuleOutput) Brotli added in v3.75.0

Brotli compression. Value range:

func (CompressionRuleOutput) ConfigId added in v3.75.0

func (o CompressionRuleOutput) ConfigId() pulumi.IntOutput

Config Id

func (CompressionRuleOutput) ElementType added in v3.75.0

func (CompressionRuleOutput) ElementType() reflect.Type

func (CompressionRuleOutput) Gzip added in v3.75.0

Gzip compression. Value range:

func (CompressionRuleOutput) Rule added in v3.75.0

Rule Content.

func (CompressionRuleOutput) RuleEnable added in v3.75.0

Rule switch. Value range:

func (CompressionRuleOutput) RuleName added in v3.75.0

Rule name, you can find out the rule whose rule name is the passed field.

func (CompressionRuleOutput) SiteId added in v3.75.0

The site ID, which can be obtained by calling the ListSites API.

func (CompressionRuleOutput) SiteVersion added in v3.75.0

func (o CompressionRuleOutput) SiteVersion() pulumi.IntPtrOutput

The version of the website configurations.

func (CompressionRuleOutput) ToCompressionRuleOutput added in v3.75.0

func (o CompressionRuleOutput) ToCompressionRuleOutput() CompressionRuleOutput

func (CompressionRuleOutput) ToCompressionRuleOutputWithContext added in v3.75.0

func (o CompressionRuleOutput) ToCompressionRuleOutputWithContext(ctx context.Context) CompressionRuleOutput

func (CompressionRuleOutput) Zstd added in v3.75.0

Zstd compression. Value range:

type CompressionRuleState added in v3.75.0

type CompressionRuleState struct {
	// Brotli compression. Value range:
	Brotli pulumi.StringPtrInput
	// Config Id
	ConfigId pulumi.IntPtrInput
	// Gzip compression. Value range:
	Gzip pulumi.StringPtrInput
	// Rule Content.
	Rule pulumi.StringPtrInput
	// Rule switch. Value range:
	RuleEnable pulumi.StringPtrInput
	// Rule name, you can find out the rule whose rule name is the passed field.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntPtrInput
	// The version of the website configurations.
	SiteVersion pulumi.IntPtrInput
	// Zstd compression. Value range:
	Zstd pulumi.StringPtrInput
}

func (CompressionRuleState) ElementType added in v3.75.0

func (CompressionRuleState) ElementType() reflect.Type

type GetSitesArgs added in v3.75.0

type GetSitesArgs struct {
	// Access type. Value:-**NS**: Managed access via NS.-**CNAME**: access through CNAME.
	AccessType *string `pulumi:"accessType"`
	// Acceleration area
	Coverage *string `pulumi:"coverage"`
	// A list of Site IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Group Metric Rule name.
	NameRegex *string `pulumi:"nameRegex"`
	// Only the Enterprise version, pass **true** when the table only queries the enterprise version of the site.
	OnlyEnterprise *bool `pulumi:"onlyEnterprise"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// Current page number.
	PageNumber *int `pulumi:"pageNumber"`
	// Number of records per page.
	PageSize *int `pulumi:"pageSize"`
	// Package subscription type. Value:-**basicplan**: Basic version.-**standardplan**: Standard version.-**advancedplan**: Advanced version.-**enterpriseplan**: Enterprise Edition.
	PlanSubscribeType *string `pulumi:"planSubscribeType"`
	// The ID of the resource group
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// Site Name
	SiteName *string `pulumi:"siteName"`
	// The search match pattern for the site name. The default value is exact match. Valid values:-**prefix**: matches the prefix.-**suffix**: The suffix matches.-**exact**: exact match.-**fuzzy**: fuzzy match.
	SiteSearchType *string `pulumi:"siteSearchType"`
	// The status of the resource
	Status *string `pulumi:"status"`
	// Resource tags
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getSites.

type GetSitesOutputArgs added in v3.75.0

type GetSitesOutputArgs struct {
	// Access type. Value:-**NS**: Managed access via NS.-**CNAME**: access through CNAME.
	AccessType pulumi.StringPtrInput `pulumi:"accessType"`
	// Acceleration area
	Coverage pulumi.StringPtrInput `pulumi:"coverage"`
	// A list of Site IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Group Metric Rule name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// Only the Enterprise version, pass **true** when the table only queries the enterprise version of the site.
	OnlyEnterprise pulumi.BoolPtrInput `pulumi:"onlyEnterprise"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Current page number.
	PageNumber pulumi.IntPtrInput `pulumi:"pageNumber"`
	// Number of records per page.
	PageSize pulumi.IntPtrInput `pulumi:"pageSize"`
	// Package subscription type. Value:-**basicplan**: Basic version.-**standardplan**: Standard version.-**advancedplan**: Advanced version.-**enterpriseplan**: Enterprise Edition.
	PlanSubscribeType pulumi.StringPtrInput `pulumi:"planSubscribeType"`
	// The ID of the resource group
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// Site Name
	SiteName pulumi.StringPtrInput `pulumi:"siteName"`
	// The search match pattern for the site name. The default value is exact match. Valid values:-**prefix**: matches the prefix.-**suffix**: The suffix matches.-**exact**: exact match.-**fuzzy**: fuzzy match.
	SiteSearchType pulumi.StringPtrInput `pulumi:"siteSearchType"`
	// The status of the resource
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Resource tags
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getSites.

func (GetSitesOutputArgs) ElementType added in v3.75.0

func (GetSitesOutputArgs) ElementType() reflect.Type

type GetSitesResult added in v3.75.0

type GetSitesResult struct {
	// Access type. Value:-**NS**: Managed access via NS.-**CNAME**: access through CNAME.
	AccessType *string `pulumi:"accessType"`
	// Acceleration area
	Coverage *string `pulumi:"coverage"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of Site IDs.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of name of Sites.
	Names             []string `pulumi:"names"`
	OnlyEnterprise    *bool    `pulumi:"onlyEnterprise"`
	OutputFile        *string  `pulumi:"outputFile"`
	PageNumber        *int     `pulumi:"pageNumber"`
	PageSize          *int     `pulumi:"pageSize"`
	PlanSubscribeType *string  `pulumi:"planSubscribeType"`
	// The ID of the resource group
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// Site Name
	SiteName       *string `pulumi:"siteName"`
	SiteSearchType *string `pulumi:"siteSearchType"`
	// A list of Site Entries. Each element contains the following attributes:
	Sites []GetSitesSite `pulumi:"sites"`
	// The status of the resource
	Status *string           `pulumi:"status"`
	Tags   map[string]string `pulumi:"tags"`
}

A collection of values returned by getSites.

func GetSites added in v3.75.0

func GetSites(ctx *pulumi.Context, args *GetSitesArgs, opts ...pulumi.InvokeOption) (*GetSitesResult, error)

This data source provides Esa Site available to the user.[What is Site](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateSite)

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

## Example Usage

```go package main

import (

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

) func main() { pulumi.Run(func(ctx *pulumi.Context) error { cfg := config.New(ctx, "") name := "terraform-example"; if param := cfg.Get("name"); param != ""{ name = param } defaultIEoDfU, err := esa.NewRatePlanInstance(ctx, "defaultIEoDfU", &esa.RatePlanInstanceArgs{ Type: pulumi.String("NS"), AutoRenew: pulumi.Bool(true), Period: pulumi.Int(1), PaymentType: pulumi.String("Subscription"), Coverage: pulumi.String("overseas"), AutoPay: pulumi.Bool(true), PlanName: pulumi.String("basic"), }) if err != nil { return err } defaultSite, err := esa.NewSite(ctx, "default", &esa.SiteArgs{ SiteName: pulumi.String("bcd.com"), Coverage: pulumi.String("overseas"), AccessType: pulumi.String("NS"), InstanceId: defaultIEoDfU.ID(), }) if err != nil { return err } _default := esa.GetSitesOutput(ctx, esa.GetSitesOutputArgs{ Ids: pulumi.StringArray{ defaultSite.ID(), }, NameRegex: defaultSite.SiteName, SiteName: pulumi.String("bcd.com"), }, nil); ctx.Export("alicloudEsaSiteExampleId", _default.ApplyT(func(_default esa.GetSitesResult) (*int, error) { return &default.Sites[0].Id, nil }).(pulumi.IntPtrOutput)) return nil }) } ```

type GetSitesResultOutput added in v3.75.0

type GetSitesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSites.

func GetSitesOutput added in v3.75.0

func GetSitesOutput(ctx *pulumi.Context, args GetSitesOutputArgs, opts ...pulumi.InvokeOption) GetSitesResultOutput

func (GetSitesResultOutput) AccessType added in v3.75.0

Access type. Value:-**NS**: Managed access via NS.-**CNAME**: access through CNAME.

func (GetSitesResultOutput) Coverage added in v3.75.0

Acceleration area

func (GetSitesResultOutput) ElementType added in v3.75.0

func (GetSitesResultOutput) ElementType() reflect.Type

func (GetSitesResultOutput) Id added in v3.75.0

The provider-assigned unique ID for this managed resource.

func (GetSitesResultOutput) Ids added in v3.75.0

A list of Site IDs.

func (GetSitesResultOutput) NameRegex added in v3.75.0

func (GetSitesResultOutput) Names added in v3.75.0

A list of name of Sites.

func (GetSitesResultOutput) OnlyEnterprise added in v3.75.0

func (o GetSitesResultOutput) OnlyEnterprise() pulumi.BoolPtrOutput

func (GetSitesResultOutput) OutputFile added in v3.75.0

func (GetSitesResultOutput) PageNumber added in v3.75.0

func (o GetSitesResultOutput) PageNumber() pulumi.IntPtrOutput

func (GetSitesResultOutput) PageSize added in v3.75.0

func (GetSitesResultOutput) PlanSubscribeType added in v3.75.0

func (o GetSitesResultOutput) PlanSubscribeType() pulumi.StringPtrOutput

func (GetSitesResultOutput) ResourceGroupId added in v3.75.0

func (o GetSitesResultOutput) ResourceGroupId() pulumi.StringPtrOutput

The ID of the resource group

func (GetSitesResultOutput) SiteName added in v3.75.0

Site Name

func (GetSitesResultOutput) SiteSearchType added in v3.75.0

func (o GetSitesResultOutput) SiteSearchType() pulumi.StringPtrOutput

func (GetSitesResultOutput) Sites added in v3.75.0

A list of Site Entries. Each element contains the following attributes:

func (GetSitesResultOutput) Status added in v3.75.0

The status of the resource

func (GetSitesResultOutput) Tags added in v3.75.0

func (GetSitesResultOutput) ToGetSitesResultOutput added in v3.75.0

func (o GetSitesResultOutput) ToGetSitesResultOutput() GetSitesResultOutput

func (GetSitesResultOutput) ToGetSitesResultOutputWithContext added in v3.75.0

func (o GetSitesResultOutput) ToGetSitesResultOutputWithContext(ctx context.Context) GetSitesResultOutput

type GetSitesSite added in v3.75.0

type GetSitesSite struct {
	// Access type. Value:-**NS**: Managed access via NS.-**CNAME**: access through CNAME.
	AccessType string `pulumi:"accessType"`
	// Acceleration area
	Coverage string `pulumi:"coverage"`
	// Creation time
	CreateTime string `pulumi:"createTime"`
	// The ID of the resource supplied above.
	Id int `pulumi:"id"`
	// The ID of the associated package instance.
	InstanceId string `pulumi:"instanceId"`
	// Modification time
	ModifyTime string `pulumi:"modifyTime"`
	// Site Resolution Name Server List
	NameServerList string `pulumi:"nameServerList"`
	// The ID of the resource group
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// Site ID
	SiteId int `pulumi:"siteId"`
	// Site Name
	SiteName string `pulumi:"siteName"`
	// The status of the resource
	Status string `pulumi:"status"`
}

type GetSitesSiteArgs added in v3.75.0

type GetSitesSiteArgs struct {
	// Access type. Value:-**NS**: Managed access via NS.-**CNAME**: access through CNAME.
	AccessType pulumi.StringInput `pulumi:"accessType"`
	// Acceleration area
	Coverage pulumi.StringInput `pulumi:"coverage"`
	// Creation time
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The ID of the resource supplied above.
	Id pulumi.IntInput `pulumi:"id"`
	// The ID of the associated package instance.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// Modification time
	ModifyTime pulumi.StringInput `pulumi:"modifyTime"`
	// Site Resolution Name Server List
	NameServerList pulumi.StringInput `pulumi:"nameServerList"`
	// The ID of the resource group
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// Site ID
	SiteId pulumi.IntInput `pulumi:"siteId"`
	// Site Name
	SiteName pulumi.StringInput `pulumi:"siteName"`
	// The status of the resource
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetSitesSiteArgs) ElementType added in v3.75.0

func (GetSitesSiteArgs) ElementType() reflect.Type

func (GetSitesSiteArgs) ToGetSitesSiteOutput added in v3.75.0

func (i GetSitesSiteArgs) ToGetSitesSiteOutput() GetSitesSiteOutput

func (GetSitesSiteArgs) ToGetSitesSiteOutputWithContext added in v3.75.0

func (i GetSitesSiteArgs) ToGetSitesSiteOutputWithContext(ctx context.Context) GetSitesSiteOutput

type GetSitesSiteArray added in v3.75.0

type GetSitesSiteArray []GetSitesSiteInput

func (GetSitesSiteArray) ElementType added in v3.75.0

func (GetSitesSiteArray) ElementType() reflect.Type

func (GetSitesSiteArray) ToGetSitesSiteArrayOutput added in v3.75.0

func (i GetSitesSiteArray) ToGetSitesSiteArrayOutput() GetSitesSiteArrayOutput

func (GetSitesSiteArray) ToGetSitesSiteArrayOutputWithContext added in v3.75.0

func (i GetSitesSiteArray) ToGetSitesSiteArrayOutputWithContext(ctx context.Context) GetSitesSiteArrayOutput

type GetSitesSiteArrayInput added in v3.75.0

type GetSitesSiteArrayInput interface {
	pulumi.Input

	ToGetSitesSiteArrayOutput() GetSitesSiteArrayOutput
	ToGetSitesSiteArrayOutputWithContext(context.Context) GetSitesSiteArrayOutput
}

GetSitesSiteArrayInput is an input type that accepts GetSitesSiteArray and GetSitesSiteArrayOutput values. You can construct a concrete instance of `GetSitesSiteArrayInput` via:

GetSitesSiteArray{ GetSitesSiteArgs{...} }

type GetSitesSiteArrayOutput added in v3.75.0

type GetSitesSiteArrayOutput struct{ *pulumi.OutputState }

func (GetSitesSiteArrayOutput) ElementType added in v3.75.0

func (GetSitesSiteArrayOutput) ElementType() reflect.Type

func (GetSitesSiteArrayOutput) Index added in v3.75.0

func (GetSitesSiteArrayOutput) ToGetSitesSiteArrayOutput added in v3.75.0

func (o GetSitesSiteArrayOutput) ToGetSitesSiteArrayOutput() GetSitesSiteArrayOutput

func (GetSitesSiteArrayOutput) ToGetSitesSiteArrayOutputWithContext added in v3.75.0

func (o GetSitesSiteArrayOutput) ToGetSitesSiteArrayOutputWithContext(ctx context.Context) GetSitesSiteArrayOutput

type GetSitesSiteInput added in v3.75.0

type GetSitesSiteInput interface {
	pulumi.Input

	ToGetSitesSiteOutput() GetSitesSiteOutput
	ToGetSitesSiteOutputWithContext(context.Context) GetSitesSiteOutput
}

GetSitesSiteInput is an input type that accepts GetSitesSiteArgs and GetSitesSiteOutput values. You can construct a concrete instance of `GetSitesSiteInput` via:

GetSitesSiteArgs{...}

type GetSitesSiteOutput added in v3.75.0

type GetSitesSiteOutput struct{ *pulumi.OutputState }

func (GetSitesSiteOutput) AccessType added in v3.75.0

func (o GetSitesSiteOutput) AccessType() pulumi.StringOutput

Access type. Value:-**NS**: Managed access via NS.-**CNAME**: access through CNAME.

func (GetSitesSiteOutput) Coverage added in v3.75.0

func (o GetSitesSiteOutput) Coverage() pulumi.StringOutput

Acceleration area

func (GetSitesSiteOutput) CreateTime added in v3.75.0

func (o GetSitesSiteOutput) CreateTime() pulumi.StringOutput

Creation time

func (GetSitesSiteOutput) ElementType added in v3.75.0

func (GetSitesSiteOutput) ElementType() reflect.Type

func (GetSitesSiteOutput) Id added in v3.75.0

The ID of the resource supplied above.

func (GetSitesSiteOutput) InstanceId added in v3.75.0

func (o GetSitesSiteOutput) InstanceId() pulumi.StringOutput

The ID of the associated package instance.

func (GetSitesSiteOutput) ModifyTime added in v3.75.0

func (o GetSitesSiteOutput) ModifyTime() pulumi.StringOutput

Modification time

func (GetSitesSiteOutput) NameServerList added in v3.75.0

func (o GetSitesSiteOutput) NameServerList() pulumi.StringOutput

Site Resolution Name Server List

func (GetSitesSiteOutput) ResourceGroupId added in v3.75.0

func (o GetSitesSiteOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group

func (GetSitesSiteOutput) SiteId added in v3.75.0

func (o GetSitesSiteOutput) SiteId() pulumi.IntOutput

Site ID

func (GetSitesSiteOutput) SiteName added in v3.75.0

func (o GetSitesSiteOutput) SiteName() pulumi.StringOutput

Site Name

func (GetSitesSiteOutput) Status added in v3.75.0

The status of the resource

func (GetSitesSiteOutput) ToGetSitesSiteOutput added in v3.75.0

func (o GetSitesSiteOutput) ToGetSitesSiteOutput() GetSitesSiteOutput

func (GetSitesSiteOutput) ToGetSitesSiteOutputWithContext added in v3.75.0

func (o GetSitesSiteOutput) ToGetSitesSiteOutputWithContext(ctx context.Context) GetSitesSiteOutput

type HttpRequestHeaderModificationRule added in v3.74.0

type HttpRequestHeaderModificationRule struct {
	pulumi.CustomResourceState

	// Config Id
	ConfigId pulumi.IntOutput `pulumi:"configId"`
	// The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below.
	RequestHeaderModifications HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput `pulumi:"requestHeaderModifications"`
	// The rule content.
	Rule pulumi.StringPtrOutput `pulumi:"rule"`
	// Rule switch. Value range:
	// on: Open.
	// off: off.
	RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"`
	// Rule Name.
	RuleName pulumi.StringPtrOutput `pulumi:"ruleName"`
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// The version number of the website configurations.
	SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"`
}

Provides a ESA Http Request Header Modification Rule resource.

For information about ESA Http Request Header Modification Rule and how to use it, see [What is Http Request Header Modification Rule](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-createhttprequestheadermodificationrule).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		instance, err := esa.NewRatePlanInstance(ctx, "instance", &esa.RatePlanInstanceArgs{
			Type:        pulumi.String("NS"),
			AutoRenew:   pulumi.Bool(false),
			Period:      pulumi.Int(1),
			PaymentType: pulumi.String("Subscription"),
			Coverage:    pulumi.String("overseas"),
			AutoPay:     pulumi.Bool(true),
			PlanName:    pulumi.String("high"),
		})
		if err != nil {
			return err
		}
		site, err := esa.NewSite(ctx, "site", &esa.SiteArgs{
			SiteName:   pulumi.String("gositecdn.cn"),
			InstanceId: instance.ID(),
			Coverage:   pulumi.String("overseas"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		_, err = esa.NewHttpRequestHeaderModificationRule(ctx, "default", &esa.HttpRequestHeaderModificationRuleArgs{
			RuleName: pulumi.String("example_modify"),
			RequestHeaderModifications: esa.HttpRequestHeaderModificationRuleRequestHeaderModificationArray{
				&esa.HttpRequestHeaderModificationRuleRequestHeaderModificationArgs{
					Value:     pulumi.String("modify1"),
					Operation: pulumi.String("modify"),
					Name:      pulumi.String("example_modify1"),
				},
			},
			SiteId:      site.ID(),
			RuleEnable:  pulumi.String("off"),
			Rule:        pulumi.String("(http.request.uri eq \"/content?page=1234\")"),
			SiteVersion: pulumi.Int(0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Http Request Header Modification Rule can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/httpRequestHeaderModificationRule:HttpRequestHeaderModificationRule example <site_id>:<config_id> ```

func GetHttpRequestHeaderModificationRule added in v3.74.0

func GetHttpRequestHeaderModificationRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HttpRequestHeaderModificationRuleState, opts ...pulumi.ResourceOption) (*HttpRequestHeaderModificationRule, error)

GetHttpRequestHeaderModificationRule gets an existing HttpRequestHeaderModificationRule 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 NewHttpRequestHeaderModificationRule added in v3.74.0

func NewHttpRequestHeaderModificationRule(ctx *pulumi.Context,
	name string, args *HttpRequestHeaderModificationRuleArgs, opts ...pulumi.ResourceOption) (*HttpRequestHeaderModificationRule, error)

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

func (*HttpRequestHeaderModificationRule) ElementType added in v3.74.0

func (*HttpRequestHeaderModificationRule) ToHttpRequestHeaderModificationRuleOutput added in v3.74.0

func (i *HttpRequestHeaderModificationRule) ToHttpRequestHeaderModificationRuleOutput() HttpRequestHeaderModificationRuleOutput

func (*HttpRequestHeaderModificationRule) ToHttpRequestHeaderModificationRuleOutputWithContext added in v3.74.0

func (i *HttpRequestHeaderModificationRule) ToHttpRequestHeaderModificationRuleOutputWithContext(ctx context.Context) HttpRequestHeaderModificationRuleOutput

type HttpRequestHeaderModificationRuleArgs added in v3.74.0

type HttpRequestHeaderModificationRuleArgs struct {
	// The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below.
	RequestHeaderModifications HttpRequestHeaderModificationRuleRequestHeaderModificationArrayInput
	// The rule content.
	Rule pulumi.StringPtrInput
	// Rule switch. Value range:
	// on: Open.
	// off: off.
	RuleEnable pulumi.StringPtrInput
	// Rule Name.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntInput
	// The version number of the website configurations.
	SiteVersion pulumi.IntPtrInput
}

The set of arguments for constructing a HttpRequestHeaderModificationRule resource.

func (HttpRequestHeaderModificationRuleArgs) ElementType added in v3.74.0

type HttpRequestHeaderModificationRuleArray added in v3.74.0

type HttpRequestHeaderModificationRuleArray []HttpRequestHeaderModificationRuleInput

func (HttpRequestHeaderModificationRuleArray) ElementType added in v3.74.0

func (HttpRequestHeaderModificationRuleArray) ToHttpRequestHeaderModificationRuleArrayOutput added in v3.74.0

func (i HttpRequestHeaderModificationRuleArray) ToHttpRequestHeaderModificationRuleArrayOutput() HttpRequestHeaderModificationRuleArrayOutput

func (HttpRequestHeaderModificationRuleArray) ToHttpRequestHeaderModificationRuleArrayOutputWithContext added in v3.74.0

func (i HttpRequestHeaderModificationRuleArray) ToHttpRequestHeaderModificationRuleArrayOutputWithContext(ctx context.Context) HttpRequestHeaderModificationRuleArrayOutput

type HttpRequestHeaderModificationRuleArrayInput added in v3.74.0

type HttpRequestHeaderModificationRuleArrayInput interface {
	pulumi.Input

	ToHttpRequestHeaderModificationRuleArrayOutput() HttpRequestHeaderModificationRuleArrayOutput
	ToHttpRequestHeaderModificationRuleArrayOutputWithContext(context.Context) HttpRequestHeaderModificationRuleArrayOutput
}

HttpRequestHeaderModificationRuleArrayInput is an input type that accepts HttpRequestHeaderModificationRuleArray and HttpRequestHeaderModificationRuleArrayOutput values. You can construct a concrete instance of `HttpRequestHeaderModificationRuleArrayInput` via:

HttpRequestHeaderModificationRuleArray{ HttpRequestHeaderModificationRuleArgs{...} }

type HttpRequestHeaderModificationRuleArrayOutput added in v3.74.0

type HttpRequestHeaderModificationRuleArrayOutput struct{ *pulumi.OutputState }

func (HttpRequestHeaderModificationRuleArrayOutput) ElementType added in v3.74.0

func (HttpRequestHeaderModificationRuleArrayOutput) Index added in v3.74.0

func (HttpRequestHeaderModificationRuleArrayOutput) ToHttpRequestHeaderModificationRuleArrayOutput added in v3.74.0

func (o HttpRequestHeaderModificationRuleArrayOutput) ToHttpRequestHeaderModificationRuleArrayOutput() HttpRequestHeaderModificationRuleArrayOutput

func (HttpRequestHeaderModificationRuleArrayOutput) ToHttpRequestHeaderModificationRuleArrayOutputWithContext added in v3.74.0

func (o HttpRequestHeaderModificationRuleArrayOutput) ToHttpRequestHeaderModificationRuleArrayOutputWithContext(ctx context.Context) HttpRequestHeaderModificationRuleArrayOutput

type HttpRequestHeaderModificationRuleInput added in v3.74.0

type HttpRequestHeaderModificationRuleInput interface {
	pulumi.Input

	ToHttpRequestHeaderModificationRuleOutput() HttpRequestHeaderModificationRuleOutput
	ToHttpRequestHeaderModificationRuleOutputWithContext(ctx context.Context) HttpRequestHeaderModificationRuleOutput
}

type HttpRequestHeaderModificationRuleMap added in v3.74.0

type HttpRequestHeaderModificationRuleMap map[string]HttpRequestHeaderModificationRuleInput

func (HttpRequestHeaderModificationRuleMap) ElementType added in v3.74.0

func (HttpRequestHeaderModificationRuleMap) ToHttpRequestHeaderModificationRuleMapOutput added in v3.74.0

func (i HttpRequestHeaderModificationRuleMap) ToHttpRequestHeaderModificationRuleMapOutput() HttpRequestHeaderModificationRuleMapOutput

func (HttpRequestHeaderModificationRuleMap) ToHttpRequestHeaderModificationRuleMapOutputWithContext added in v3.74.0

func (i HttpRequestHeaderModificationRuleMap) ToHttpRequestHeaderModificationRuleMapOutputWithContext(ctx context.Context) HttpRequestHeaderModificationRuleMapOutput

type HttpRequestHeaderModificationRuleMapInput added in v3.74.0

type HttpRequestHeaderModificationRuleMapInput interface {
	pulumi.Input

	ToHttpRequestHeaderModificationRuleMapOutput() HttpRequestHeaderModificationRuleMapOutput
	ToHttpRequestHeaderModificationRuleMapOutputWithContext(context.Context) HttpRequestHeaderModificationRuleMapOutput
}

HttpRequestHeaderModificationRuleMapInput is an input type that accepts HttpRequestHeaderModificationRuleMap and HttpRequestHeaderModificationRuleMapOutput values. You can construct a concrete instance of `HttpRequestHeaderModificationRuleMapInput` via:

HttpRequestHeaderModificationRuleMap{ "key": HttpRequestHeaderModificationRuleArgs{...} }

type HttpRequestHeaderModificationRuleMapOutput added in v3.74.0

type HttpRequestHeaderModificationRuleMapOutput struct{ *pulumi.OutputState }

func (HttpRequestHeaderModificationRuleMapOutput) ElementType added in v3.74.0

func (HttpRequestHeaderModificationRuleMapOutput) MapIndex added in v3.74.0

func (HttpRequestHeaderModificationRuleMapOutput) ToHttpRequestHeaderModificationRuleMapOutput added in v3.74.0

func (o HttpRequestHeaderModificationRuleMapOutput) ToHttpRequestHeaderModificationRuleMapOutput() HttpRequestHeaderModificationRuleMapOutput

func (HttpRequestHeaderModificationRuleMapOutput) ToHttpRequestHeaderModificationRuleMapOutputWithContext added in v3.74.0

func (o HttpRequestHeaderModificationRuleMapOutput) ToHttpRequestHeaderModificationRuleMapOutputWithContext(ctx context.Context) HttpRequestHeaderModificationRuleMapOutput

type HttpRequestHeaderModificationRuleOutput added in v3.74.0

type HttpRequestHeaderModificationRuleOutput struct{ *pulumi.OutputState }

func (HttpRequestHeaderModificationRuleOutput) ConfigId added in v3.74.0

Config Id

func (HttpRequestHeaderModificationRuleOutput) ElementType added in v3.74.0

func (HttpRequestHeaderModificationRuleOutput) RequestHeaderModifications added in v3.74.0

The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below.

func (HttpRequestHeaderModificationRuleOutput) Rule added in v3.74.0

The rule content.

func (HttpRequestHeaderModificationRuleOutput) RuleEnable added in v3.74.0

Rule switch. Value range: on: Open. off: off.

func (HttpRequestHeaderModificationRuleOutput) RuleName added in v3.74.0

Rule Name.

func (HttpRequestHeaderModificationRuleOutput) SiteId added in v3.74.0

The site ID, which can be obtained by calling the ListSites API.

func (HttpRequestHeaderModificationRuleOutput) SiteVersion added in v3.74.0

The version number of the website configurations.

func (HttpRequestHeaderModificationRuleOutput) ToHttpRequestHeaderModificationRuleOutput added in v3.74.0

func (o HttpRequestHeaderModificationRuleOutput) ToHttpRequestHeaderModificationRuleOutput() HttpRequestHeaderModificationRuleOutput

func (HttpRequestHeaderModificationRuleOutput) ToHttpRequestHeaderModificationRuleOutputWithContext added in v3.74.0

func (o HttpRequestHeaderModificationRuleOutput) ToHttpRequestHeaderModificationRuleOutputWithContext(ctx context.Context) HttpRequestHeaderModificationRuleOutput

type HttpRequestHeaderModificationRuleRequestHeaderModification added in v3.74.0

type HttpRequestHeaderModificationRuleRequestHeaderModification struct {
	// Request Header Name.
	Name string `pulumi:"name"`
	// Mode of operation. Value range:
	// add: add.
	// del: delete
	// modify: change.
	Operation string `pulumi:"operation"`
	// Request header value
	Value *string `pulumi:"value"`
}

type HttpRequestHeaderModificationRuleRequestHeaderModificationArgs added in v3.74.0

type HttpRequestHeaderModificationRuleRequestHeaderModificationArgs struct {
	// Request Header Name.
	Name pulumi.StringInput `pulumi:"name"`
	// Mode of operation. Value range:
	// add: add.
	// del: delete
	// modify: change.
	Operation pulumi.StringInput `pulumi:"operation"`
	// Request header value
	Value pulumi.StringPtrInput `pulumi:"value"`
}

func (HttpRequestHeaderModificationRuleRequestHeaderModificationArgs) ElementType added in v3.74.0

func (HttpRequestHeaderModificationRuleRequestHeaderModificationArgs) ToHttpRequestHeaderModificationRuleRequestHeaderModificationOutput added in v3.74.0

func (HttpRequestHeaderModificationRuleRequestHeaderModificationArgs) ToHttpRequestHeaderModificationRuleRequestHeaderModificationOutputWithContext added in v3.74.0

func (i HttpRequestHeaderModificationRuleRequestHeaderModificationArgs) ToHttpRequestHeaderModificationRuleRequestHeaderModificationOutputWithContext(ctx context.Context) HttpRequestHeaderModificationRuleRequestHeaderModificationOutput

type HttpRequestHeaderModificationRuleRequestHeaderModificationArray added in v3.74.0

type HttpRequestHeaderModificationRuleRequestHeaderModificationArray []HttpRequestHeaderModificationRuleRequestHeaderModificationInput

func (HttpRequestHeaderModificationRuleRequestHeaderModificationArray) ElementType added in v3.74.0

func (HttpRequestHeaderModificationRuleRequestHeaderModificationArray) ToHttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput added in v3.74.0

func (HttpRequestHeaderModificationRuleRequestHeaderModificationArray) ToHttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutputWithContext added in v3.74.0

func (i HttpRequestHeaderModificationRuleRequestHeaderModificationArray) ToHttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutputWithContext(ctx context.Context) HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput

type HttpRequestHeaderModificationRuleRequestHeaderModificationArrayInput added in v3.74.0

type HttpRequestHeaderModificationRuleRequestHeaderModificationArrayInput interface {
	pulumi.Input

	ToHttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput() HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput
	ToHttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutputWithContext(context.Context) HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput
}

HttpRequestHeaderModificationRuleRequestHeaderModificationArrayInput is an input type that accepts HttpRequestHeaderModificationRuleRequestHeaderModificationArray and HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput values. You can construct a concrete instance of `HttpRequestHeaderModificationRuleRequestHeaderModificationArrayInput` via:

HttpRequestHeaderModificationRuleRequestHeaderModificationArray{ HttpRequestHeaderModificationRuleRequestHeaderModificationArgs{...} }

type HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput added in v3.74.0

type HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput struct{ *pulumi.OutputState }

func (HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput) ElementType added in v3.74.0

func (HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput) Index added in v3.74.0

func (HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput) ToHttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput added in v3.74.0

func (HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput) ToHttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutputWithContext added in v3.74.0

func (o HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput) ToHttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutputWithContext(ctx context.Context) HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput

type HttpRequestHeaderModificationRuleRequestHeaderModificationInput added in v3.74.0

type HttpRequestHeaderModificationRuleRequestHeaderModificationInput interface {
	pulumi.Input

	ToHttpRequestHeaderModificationRuleRequestHeaderModificationOutput() HttpRequestHeaderModificationRuleRequestHeaderModificationOutput
	ToHttpRequestHeaderModificationRuleRequestHeaderModificationOutputWithContext(context.Context) HttpRequestHeaderModificationRuleRequestHeaderModificationOutput
}

HttpRequestHeaderModificationRuleRequestHeaderModificationInput is an input type that accepts HttpRequestHeaderModificationRuleRequestHeaderModificationArgs and HttpRequestHeaderModificationRuleRequestHeaderModificationOutput values. You can construct a concrete instance of `HttpRequestHeaderModificationRuleRequestHeaderModificationInput` via:

HttpRequestHeaderModificationRuleRequestHeaderModificationArgs{...}

type HttpRequestHeaderModificationRuleRequestHeaderModificationOutput added in v3.74.0

type HttpRequestHeaderModificationRuleRequestHeaderModificationOutput struct{ *pulumi.OutputState }

func (HttpRequestHeaderModificationRuleRequestHeaderModificationOutput) ElementType added in v3.74.0

func (HttpRequestHeaderModificationRuleRequestHeaderModificationOutput) Name added in v3.74.0

Request Header Name.

func (HttpRequestHeaderModificationRuleRequestHeaderModificationOutput) Operation added in v3.74.0

Mode of operation. Value range: add: add. del: delete modify: change.

func (HttpRequestHeaderModificationRuleRequestHeaderModificationOutput) ToHttpRequestHeaderModificationRuleRequestHeaderModificationOutput added in v3.74.0

func (HttpRequestHeaderModificationRuleRequestHeaderModificationOutput) ToHttpRequestHeaderModificationRuleRequestHeaderModificationOutputWithContext added in v3.74.0

func (o HttpRequestHeaderModificationRuleRequestHeaderModificationOutput) ToHttpRequestHeaderModificationRuleRequestHeaderModificationOutputWithContext(ctx context.Context) HttpRequestHeaderModificationRuleRequestHeaderModificationOutput

func (HttpRequestHeaderModificationRuleRequestHeaderModificationOutput) Value added in v3.74.0

Request header value

type HttpRequestHeaderModificationRuleState added in v3.74.0

type HttpRequestHeaderModificationRuleState struct {
	// Config Id
	ConfigId pulumi.IntPtrInput
	// The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below.
	RequestHeaderModifications HttpRequestHeaderModificationRuleRequestHeaderModificationArrayInput
	// The rule content.
	Rule pulumi.StringPtrInput
	// Rule switch. Value range:
	// on: Open.
	// off: off.
	RuleEnable pulumi.StringPtrInput
	// Rule Name.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntPtrInput
	// The version number of the website configurations.
	SiteVersion pulumi.IntPtrInput
}

func (HttpRequestHeaderModificationRuleState) ElementType added in v3.74.0

type HttpResponseHeaderModificationRule added in v3.75.0

type HttpResponseHeaderModificationRule struct {
	pulumi.CustomResourceState

	// Config Id
	ConfigId pulumi.IntOutput `pulumi:"configId"`
	// The configurations of modifying response headers. You can add, delete, or modify a response header. See `responseHeaderModification` below.
	ResponseHeaderModifications HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput `pulumi:"responseHeaderModifications"`
	// The rule content.
	Rule pulumi.StringPtrOutput `pulumi:"rule"`
	// Indicates whether the rule is enabled. Valid values:
	//
	// - on
	// - off
	RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"`
	// The rule name.
	RuleName pulumi.StringPtrOutput `pulumi:"ruleName"`
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// The version number of the website configurations.
	SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"`
}

Provides a ESA Http Response Header Modification Rule resource.

For information about ESA Http Response Header Modification Rule and how to use it, see [What is Http Response Header Modification Rule](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-createhttpresponseheadermodificationrule).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		resourceHttpResponseHeaderModificationRuleExample, err := esa.NewRatePlanInstance(ctx, "resource_HttpResponseHeaderModificationRule_example", &esa.RatePlanInstanceArgs{
			Type:        pulumi.String("NS"),
			AutoRenew:   pulumi.Bool(false),
			Period:      pulumi.Int(1),
			PaymentType: pulumi.String("Subscription"),
			Coverage:    pulumi.String("overseas"),
			AutoPay:     pulumi.Bool(true),
			PlanName:    pulumi.String("high"),
		})
		if err != nil {
			return err
		}
		resourceSiteHttpResponseHeaderModificationRuleExample, err := esa.NewSite(ctx, "resource_Site_HttpResponseHeaderModificationRule_example", &esa.SiteArgs{
			SiteName:   pulumi.String("gositecdn.cn"),
			InstanceId: resourceHttpResponseHeaderModificationRuleExample.ID(),
			Coverage:   pulumi.String("overseas"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		_, err = esa.NewHttpResponseHeaderModificationRule(ctx, "default", &esa.HttpResponseHeaderModificationRuleArgs{
			RuleEnable: pulumi.String("on"),
			ResponseHeaderModifications: esa.HttpResponseHeaderModificationRuleResponseHeaderModificationArray{
				&esa.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs{
					Value:     pulumi.String("add"),
					Operation: pulumi.String("add"),
					Name:      pulumi.String("exampleadd"),
				},
				&esa.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs{
					Operation: pulumi.String("del"),
					Name:      pulumi.String("exampledel"),
				},
				&esa.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs{
					Operation: pulumi.String("modify"),
					Name:      pulumi.String("examplemodify"),
					Value:     pulumi.String("modify"),
				},
			},
			Rule:        pulumi.String("(http.host eq \"video.example.com\")"),
			SiteVersion: pulumi.Int(0),
			RuleName:    pulumi.String("exampleResponseHeader"),
			SiteId:      resourceSiteHttpResponseHeaderModificationRuleExample.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Http Response Header Modification Rule can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/httpResponseHeaderModificationRule:HttpResponseHeaderModificationRule example <site_id>:<config_id> ```

func GetHttpResponseHeaderModificationRule added in v3.75.0

func GetHttpResponseHeaderModificationRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HttpResponseHeaderModificationRuleState, opts ...pulumi.ResourceOption) (*HttpResponseHeaderModificationRule, error)

GetHttpResponseHeaderModificationRule gets an existing HttpResponseHeaderModificationRule 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 NewHttpResponseHeaderModificationRule added in v3.75.0

func NewHttpResponseHeaderModificationRule(ctx *pulumi.Context,
	name string, args *HttpResponseHeaderModificationRuleArgs, opts ...pulumi.ResourceOption) (*HttpResponseHeaderModificationRule, error)

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

func (*HttpResponseHeaderModificationRule) ElementType added in v3.75.0

func (*HttpResponseHeaderModificationRule) ToHttpResponseHeaderModificationRuleOutput added in v3.75.0

func (i *HttpResponseHeaderModificationRule) ToHttpResponseHeaderModificationRuleOutput() HttpResponseHeaderModificationRuleOutput

func (*HttpResponseHeaderModificationRule) ToHttpResponseHeaderModificationRuleOutputWithContext added in v3.75.0

func (i *HttpResponseHeaderModificationRule) ToHttpResponseHeaderModificationRuleOutputWithContext(ctx context.Context) HttpResponseHeaderModificationRuleOutput

type HttpResponseHeaderModificationRuleArgs added in v3.75.0

type HttpResponseHeaderModificationRuleArgs struct {
	// The configurations of modifying response headers. You can add, delete, or modify a response header. See `responseHeaderModification` below.
	ResponseHeaderModifications HttpResponseHeaderModificationRuleResponseHeaderModificationArrayInput
	// The rule content.
	Rule pulumi.StringPtrInput
	// Indicates whether the rule is enabled. Valid values:
	//
	// - on
	// - off
	RuleEnable pulumi.StringPtrInput
	// The rule name.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntInput
	// The version number of the website configurations.
	SiteVersion pulumi.IntPtrInput
}

The set of arguments for constructing a HttpResponseHeaderModificationRule resource.

func (HttpResponseHeaderModificationRuleArgs) ElementType added in v3.75.0

type HttpResponseHeaderModificationRuleArray added in v3.75.0

type HttpResponseHeaderModificationRuleArray []HttpResponseHeaderModificationRuleInput

func (HttpResponseHeaderModificationRuleArray) ElementType added in v3.75.0

func (HttpResponseHeaderModificationRuleArray) ToHttpResponseHeaderModificationRuleArrayOutput added in v3.75.0

func (i HttpResponseHeaderModificationRuleArray) ToHttpResponseHeaderModificationRuleArrayOutput() HttpResponseHeaderModificationRuleArrayOutput

func (HttpResponseHeaderModificationRuleArray) ToHttpResponseHeaderModificationRuleArrayOutputWithContext added in v3.75.0

func (i HttpResponseHeaderModificationRuleArray) ToHttpResponseHeaderModificationRuleArrayOutputWithContext(ctx context.Context) HttpResponseHeaderModificationRuleArrayOutput

type HttpResponseHeaderModificationRuleArrayInput added in v3.75.0

type HttpResponseHeaderModificationRuleArrayInput interface {
	pulumi.Input

	ToHttpResponseHeaderModificationRuleArrayOutput() HttpResponseHeaderModificationRuleArrayOutput
	ToHttpResponseHeaderModificationRuleArrayOutputWithContext(context.Context) HttpResponseHeaderModificationRuleArrayOutput
}

HttpResponseHeaderModificationRuleArrayInput is an input type that accepts HttpResponseHeaderModificationRuleArray and HttpResponseHeaderModificationRuleArrayOutput values. You can construct a concrete instance of `HttpResponseHeaderModificationRuleArrayInput` via:

HttpResponseHeaderModificationRuleArray{ HttpResponseHeaderModificationRuleArgs{...} }

type HttpResponseHeaderModificationRuleArrayOutput added in v3.75.0

type HttpResponseHeaderModificationRuleArrayOutput struct{ *pulumi.OutputState }

func (HttpResponseHeaderModificationRuleArrayOutput) ElementType added in v3.75.0

func (HttpResponseHeaderModificationRuleArrayOutput) Index added in v3.75.0

func (HttpResponseHeaderModificationRuleArrayOutput) ToHttpResponseHeaderModificationRuleArrayOutput added in v3.75.0

func (o HttpResponseHeaderModificationRuleArrayOutput) ToHttpResponseHeaderModificationRuleArrayOutput() HttpResponseHeaderModificationRuleArrayOutput

func (HttpResponseHeaderModificationRuleArrayOutput) ToHttpResponseHeaderModificationRuleArrayOutputWithContext added in v3.75.0

func (o HttpResponseHeaderModificationRuleArrayOutput) ToHttpResponseHeaderModificationRuleArrayOutputWithContext(ctx context.Context) HttpResponseHeaderModificationRuleArrayOutput

type HttpResponseHeaderModificationRuleInput added in v3.75.0

type HttpResponseHeaderModificationRuleInput interface {
	pulumi.Input

	ToHttpResponseHeaderModificationRuleOutput() HttpResponseHeaderModificationRuleOutput
	ToHttpResponseHeaderModificationRuleOutputWithContext(ctx context.Context) HttpResponseHeaderModificationRuleOutput
}

type HttpResponseHeaderModificationRuleMap added in v3.75.0

type HttpResponseHeaderModificationRuleMap map[string]HttpResponseHeaderModificationRuleInput

func (HttpResponseHeaderModificationRuleMap) ElementType added in v3.75.0

func (HttpResponseHeaderModificationRuleMap) ToHttpResponseHeaderModificationRuleMapOutput added in v3.75.0

func (i HttpResponseHeaderModificationRuleMap) ToHttpResponseHeaderModificationRuleMapOutput() HttpResponseHeaderModificationRuleMapOutput

func (HttpResponseHeaderModificationRuleMap) ToHttpResponseHeaderModificationRuleMapOutputWithContext added in v3.75.0

func (i HttpResponseHeaderModificationRuleMap) ToHttpResponseHeaderModificationRuleMapOutputWithContext(ctx context.Context) HttpResponseHeaderModificationRuleMapOutput

type HttpResponseHeaderModificationRuleMapInput added in v3.75.0

type HttpResponseHeaderModificationRuleMapInput interface {
	pulumi.Input

	ToHttpResponseHeaderModificationRuleMapOutput() HttpResponseHeaderModificationRuleMapOutput
	ToHttpResponseHeaderModificationRuleMapOutputWithContext(context.Context) HttpResponseHeaderModificationRuleMapOutput
}

HttpResponseHeaderModificationRuleMapInput is an input type that accepts HttpResponseHeaderModificationRuleMap and HttpResponseHeaderModificationRuleMapOutput values. You can construct a concrete instance of `HttpResponseHeaderModificationRuleMapInput` via:

HttpResponseHeaderModificationRuleMap{ "key": HttpResponseHeaderModificationRuleArgs{...} }

type HttpResponseHeaderModificationRuleMapOutput added in v3.75.0

type HttpResponseHeaderModificationRuleMapOutput struct{ *pulumi.OutputState }

func (HttpResponseHeaderModificationRuleMapOutput) ElementType added in v3.75.0

func (HttpResponseHeaderModificationRuleMapOutput) MapIndex added in v3.75.0

func (HttpResponseHeaderModificationRuleMapOutput) ToHttpResponseHeaderModificationRuleMapOutput added in v3.75.0

func (o HttpResponseHeaderModificationRuleMapOutput) ToHttpResponseHeaderModificationRuleMapOutput() HttpResponseHeaderModificationRuleMapOutput

func (HttpResponseHeaderModificationRuleMapOutput) ToHttpResponseHeaderModificationRuleMapOutputWithContext added in v3.75.0

func (o HttpResponseHeaderModificationRuleMapOutput) ToHttpResponseHeaderModificationRuleMapOutputWithContext(ctx context.Context) HttpResponseHeaderModificationRuleMapOutput

type HttpResponseHeaderModificationRuleOutput added in v3.75.0

type HttpResponseHeaderModificationRuleOutput struct{ *pulumi.OutputState }

func (HttpResponseHeaderModificationRuleOutput) ConfigId added in v3.75.0

Config Id

func (HttpResponseHeaderModificationRuleOutput) ElementType added in v3.75.0

func (HttpResponseHeaderModificationRuleOutput) ResponseHeaderModifications added in v3.75.0

The configurations of modifying response headers. You can add, delete, or modify a response header. See `responseHeaderModification` below.

func (HttpResponseHeaderModificationRuleOutput) Rule added in v3.75.0

The rule content.

func (HttpResponseHeaderModificationRuleOutput) RuleEnable added in v3.75.0

Indicates whether the rule is enabled. Valid values:

- on - off

func (HttpResponseHeaderModificationRuleOutput) RuleName added in v3.75.0

The rule name.

func (HttpResponseHeaderModificationRuleOutput) SiteId added in v3.75.0

The site ID, which can be obtained by calling the ListSites API.

func (HttpResponseHeaderModificationRuleOutput) SiteVersion added in v3.75.0

The version number of the website configurations.

func (HttpResponseHeaderModificationRuleOutput) ToHttpResponseHeaderModificationRuleOutput added in v3.75.0

func (o HttpResponseHeaderModificationRuleOutput) ToHttpResponseHeaderModificationRuleOutput() HttpResponseHeaderModificationRuleOutput

func (HttpResponseHeaderModificationRuleOutput) ToHttpResponseHeaderModificationRuleOutputWithContext added in v3.75.0

func (o HttpResponseHeaderModificationRuleOutput) ToHttpResponseHeaderModificationRuleOutputWithContext(ctx context.Context) HttpResponseHeaderModificationRuleOutput

type HttpResponseHeaderModificationRuleResponseHeaderModification added in v3.75.0

type HttpResponseHeaderModificationRuleResponseHeaderModification struct {
	// The response header name.
	Name string `pulumi:"name"`
	// Mode of operation.
	Operation string `pulumi:"operation"`
	// The response header value.
	Value *string `pulumi:"value"`
}

type HttpResponseHeaderModificationRuleResponseHeaderModificationArgs added in v3.75.0

type HttpResponseHeaderModificationRuleResponseHeaderModificationArgs struct {
	// The response header name.
	Name pulumi.StringInput `pulumi:"name"`
	// Mode of operation.
	Operation pulumi.StringInput `pulumi:"operation"`
	// The response header value.
	Value pulumi.StringPtrInput `pulumi:"value"`
}

func (HttpResponseHeaderModificationRuleResponseHeaderModificationArgs) ElementType added in v3.75.0

func (HttpResponseHeaderModificationRuleResponseHeaderModificationArgs) ToHttpResponseHeaderModificationRuleResponseHeaderModificationOutput added in v3.75.0

func (HttpResponseHeaderModificationRuleResponseHeaderModificationArgs) ToHttpResponseHeaderModificationRuleResponseHeaderModificationOutputWithContext added in v3.75.0

func (i HttpResponseHeaderModificationRuleResponseHeaderModificationArgs) ToHttpResponseHeaderModificationRuleResponseHeaderModificationOutputWithContext(ctx context.Context) HttpResponseHeaderModificationRuleResponseHeaderModificationOutput

type HttpResponseHeaderModificationRuleResponseHeaderModificationArray added in v3.75.0

type HttpResponseHeaderModificationRuleResponseHeaderModificationArray []HttpResponseHeaderModificationRuleResponseHeaderModificationInput

func (HttpResponseHeaderModificationRuleResponseHeaderModificationArray) ElementType added in v3.75.0

func (HttpResponseHeaderModificationRuleResponseHeaderModificationArray) ToHttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput added in v3.75.0

func (HttpResponseHeaderModificationRuleResponseHeaderModificationArray) ToHttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutputWithContext added in v3.75.0

func (i HttpResponseHeaderModificationRuleResponseHeaderModificationArray) ToHttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutputWithContext(ctx context.Context) HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput

type HttpResponseHeaderModificationRuleResponseHeaderModificationArrayInput added in v3.75.0

type HttpResponseHeaderModificationRuleResponseHeaderModificationArrayInput interface {
	pulumi.Input

	ToHttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput() HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput
	ToHttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutputWithContext(context.Context) HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput
}

HttpResponseHeaderModificationRuleResponseHeaderModificationArrayInput is an input type that accepts HttpResponseHeaderModificationRuleResponseHeaderModificationArray and HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput values. You can construct a concrete instance of `HttpResponseHeaderModificationRuleResponseHeaderModificationArrayInput` via:

HttpResponseHeaderModificationRuleResponseHeaderModificationArray{ HttpResponseHeaderModificationRuleResponseHeaderModificationArgs{...} }

type HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput added in v3.75.0

type HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput struct{ *pulumi.OutputState }

func (HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput) ElementType added in v3.75.0

func (HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput) Index added in v3.75.0

func (HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput) ToHttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput added in v3.75.0

func (HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput) ToHttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutputWithContext added in v3.75.0

func (o HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput) ToHttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutputWithContext(ctx context.Context) HttpResponseHeaderModificationRuleResponseHeaderModificationArrayOutput

type HttpResponseHeaderModificationRuleResponseHeaderModificationInput added in v3.75.0

type HttpResponseHeaderModificationRuleResponseHeaderModificationInput interface {
	pulumi.Input

	ToHttpResponseHeaderModificationRuleResponseHeaderModificationOutput() HttpResponseHeaderModificationRuleResponseHeaderModificationOutput
	ToHttpResponseHeaderModificationRuleResponseHeaderModificationOutputWithContext(context.Context) HttpResponseHeaderModificationRuleResponseHeaderModificationOutput
}

HttpResponseHeaderModificationRuleResponseHeaderModificationInput is an input type that accepts HttpResponseHeaderModificationRuleResponseHeaderModificationArgs and HttpResponseHeaderModificationRuleResponseHeaderModificationOutput values. You can construct a concrete instance of `HttpResponseHeaderModificationRuleResponseHeaderModificationInput` via:

HttpResponseHeaderModificationRuleResponseHeaderModificationArgs{...}

type HttpResponseHeaderModificationRuleResponseHeaderModificationOutput added in v3.75.0

type HttpResponseHeaderModificationRuleResponseHeaderModificationOutput struct{ *pulumi.OutputState }

func (HttpResponseHeaderModificationRuleResponseHeaderModificationOutput) ElementType added in v3.75.0

func (HttpResponseHeaderModificationRuleResponseHeaderModificationOutput) Name added in v3.75.0

The response header name.

func (HttpResponseHeaderModificationRuleResponseHeaderModificationOutput) Operation added in v3.75.0

Mode of operation.

func (HttpResponseHeaderModificationRuleResponseHeaderModificationOutput) ToHttpResponseHeaderModificationRuleResponseHeaderModificationOutput added in v3.75.0

func (HttpResponseHeaderModificationRuleResponseHeaderModificationOutput) ToHttpResponseHeaderModificationRuleResponseHeaderModificationOutputWithContext added in v3.75.0

func (o HttpResponseHeaderModificationRuleResponseHeaderModificationOutput) ToHttpResponseHeaderModificationRuleResponseHeaderModificationOutputWithContext(ctx context.Context) HttpResponseHeaderModificationRuleResponseHeaderModificationOutput

func (HttpResponseHeaderModificationRuleResponseHeaderModificationOutput) Value added in v3.75.0

The response header value.

type HttpResponseHeaderModificationRuleState added in v3.75.0

type HttpResponseHeaderModificationRuleState struct {
	// Config Id
	ConfigId pulumi.IntPtrInput
	// The configurations of modifying response headers. You can add, delete, or modify a response header. See `responseHeaderModification` below.
	ResponseHeaderModifications HttpResponseHeaderModificationRuleResponseHeaderModificationArrayInput
	// The rule content.
	Rule pulumi.StringPtrInput
	// Indicates whether the rule is enabled. Valid values:
	//
	// - on
	// - off
	RuleEnable pulumi.StringPtrInput
	// The rule name.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntPtrInput
	// The version number of the website configurations.
	SiteVersion pulumi.IntPtrInput
}

func (HttpResponseHeaderModificationRuleState) ElementType added in v3.75.0

type HttpsApplicationConfiguration added in v3.75.0

type HttpsApplicationConfiguration struct {
	pulumi.CustomResourceState

	// Function switch, default off. Value range:
	AltSvc pulumi.StringPtrOutput `pulumi:"altSvc"`
	// Alt-Svc whether The header contains the clear parameter. This parameter is disabled by default. Value range:
	AltSvcClear pulumi.StringPtrOutput `pulumi:"altSvcClear"`
	// The effective time of the Alt-Svc, in seconds. The default value is 86400 seconds.
	AltSvcMa pulumi.StringPtrOutput `pulumi:"altSvcMa"`
	// Alt-Svc whether The header contains the persist parameter. This parameter is disabled by default. Value range:
	AltSvcPersist pulumi.StringPtrOutput `pulumi:"altSvcPersist"`
	// Config Id
	ConfigId pulumi.IntOutput `pulumi:"configId"`
	// Whether to enable HSTS. It is disabled by default. Value range:
	Hsts pulumi.StringPtrOutput `pulumi:"hsts"`
	// Whether to include subdomains in HSTS is disabled by default. Value range:
	HstsIncludeSubdomains pulumi.StringPtrOutput `pulumi:"hstsIncludeSubdomains"`
	// The expiration time of HSTS, in seconds.
	HstsMaxAge pulumi.StringPtrOutput `pulumi:"hstsMaxAge"`
	// Whether to enable HSTS preloading. It is disabled by default. Value range:
	HstsPreload pulumi.StringPtrOutput `pulumi:"hstsPreload"`
	// Whether to enable forced HTTPS. It is disabled by default. Value range:
	HttpsForce pulumi.StringPtrOutput `pulumi:"httpsForce"`
	// Forced HTTPS jump status code, value range:
	HttpsForceCode pulumi.StringPtrOutput `pulumi:"httpsForceCode"`
	// Rule Content.
	Rule pulumi.StringPtrOutput `pulumi:"rule"`
	// Rule switch. Value range:
	RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"`
	// Rule name, you can find out the rule whose rule name is the passed field.
	RuleName pulumi.StringPtrOutput `pulumi:"ruleName"`
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// The version of the website configurations.
	SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"`
}

Provides a ESA Https Application Configuration resource.

For information about ESA Https Application Configuration and how to use it, see [What is Https Application Configuration](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpsApplicationConfiguration).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
		}, nil)
		if err != nil {
			return err
		}
		defaultSite, err := esa.NewSite(ctx, "default", &esa.SiteArgs{
			SiteName:   pulumi.String("httpsapplicationconfiguration.example.com"),
			InstanceId: pulumi.String(_default.Sites[0].InstanceId),
			Coverage:   pulumi.String("domestic"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		_, err = esa.NewHttpsApplicationConfiguration(ctx, "default", &esa.HttpsApplicationConfigurationArgs{
			HstsMaxAge:            pulumi.String("31536000"),
			AltSvcClear:           pulumi.String("off"),
			Rule:                  pulumi.String("http.host eq \"video.example.com\""),
			HttpsForce:            pulumi.String("off"),
			AltSvcMa:              pulumi.String("86400"),
			Hsts:                  pulumi.String("off"),
			RuleName:              pulumi.String("rule_example"),
			RuleEnable:            pulumi.String("off"),
			SiteId:                defaultSite.ID(),
			AltSvcPersist:         pulumi.String("off"),
			HstsPreload:           pulumi.String("off"),
			HstsIncludeSubdomains: pulumi.String("off"),
			AltSvc:                pulumi.String("off"),
			HttpsForceCode:        pulumi.String("301"),
			SiteVersion:           pulumi.Int(0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Https Application Configuration can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/httpsApplicationConfiguration:HttpsApplicationConfiguration example <site_id>:<config_id> ```

func GetHttpsApplicationConfiguration added in v3.75.0

func GetHttpsApplicationConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HttpsApplicationConfigurationState, opts ...pulumi.ResourceOption) (*HttpsApplicationConfiguration, error)

GetHttpsApplicationConfiguration gets an existing HttpsApplicationConfiguration 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 NewHttpsApplicationConfiguration added in v3.75.0

func NewHttpsApplicationConfiguration(ctx *pulumi.Context,
	name string, args *HttpsApplicationConfigurationArgs, opts ...pulumi.ResourceOption) (*HttpsApplicationConfiguration, error)

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

func (*HttpsApplicationConfiguration) ElementType added in v3.75.0

func (*HttpsApplicationConfiguration) ToHttpsApplicationConfigurationOutput added in v3.75.0

func (i *HttpsApplicationConfiguration) ToHttpsApplicationConfigurationOutput() HttpsApplicationConfigurationOutput

func (*HttpsApplicationConfiguration) ToHttpsApplicationConfigurationOutputWithContext added in v3.75.0

func (i *HttpsApplicationConfiguration) ToHttpsApplicationConfigurationOutputWithContext(ctx context.Context) HttpsApplicationConfigurationOutput

type HttpsApplicationConfigurationArgs added in v3.75.0

type HttpsApplicationConfigurationArgs struct {
	// Function switch, default off. Value range:
	AltSvc pulumi.StringPtrInput
	// Alt-Svc whether The header contains the clear parameter. This parameter is disabled by default. Value range:
	AltSvcClear pulumi.StringPtrInput
	// The effective time of the Alt-Svc, in seconds. The default value is 86400 seconds.
	AltSvcMa pulumi.StringPtrInput
	// Alt-Svc whether The header contains the persist parameter. This parameter is disabled by default. Value range:
	AltSvcPersist pulumi.StringPtrInput
	// Whether to enable HSTS. It is disabled by default. Value range:
	Hsts pulumi.StringPtrInput
	// Whether to include subdomains in HSTS is disabled by default. Value range:
	HstsIncludeSubdomains pulumi.StringPtrInput
	// The expiration time of HSTS, in seconds.
	HstsMaxAge pulumi.StringPtrInput
	// Whether to enable HSTS preloading. It is disabled by default. Value range:
	HstsPreload pulumi.StringPtrInput
	// Whether to enable forced HTTPS. It is disabled by default. Value range:
	HttpsForce pulumi.StringPtrInput
	// Forced HTTPS jump status code, value range:
	HttpsForceCode pulumi.StringPtrInput
	// Rule Content.
	Rule pulumi.StringPtrInput
	// Rule switch. Value range:
	RuleEnable pulumi.StringPtrInput
	// Rule name, you can find out the rule whose rule name is the passed field.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntInput
	// The version of the website configurations.
	SiteVersion pulumi.IntPtrInput
}

The set of arguments for constructing a HttpsApplicationConfiguration resource.

func (HttpsApplicationConfigurationArgs) ElementType added in v3.75.0

type HttpsApplicationConfigurationArray added in v3.75.0

type HttpsApplicationConfigurationArray []HttpsApplicationConfigurationInput

func (HttpsApplicationConfigurationArray) ElementType added in v3.75.0

func (HttpsApplicationConfigurationArray) ToHttpsApplicationConfigurationArrayOutput added in v3.75.0

func (i HttpsApplicationConfigurationArray) ToHttpsApplicationConfigurationArrayOutput() HttpsApplicationConfigurationArrayOutput

func (HttpsApplicationConfigurationArray) ToHttpsApplicationConfigurationArrayOutputWithContext added in v3.75.0

func (i HttpsApplicationConfigurationArray) ToHttpsApplicationConfigurationArrayOutputWithContext(ctx context.Context) HttpsApplicationConfigurationArrayOutput

type HttpsApplicationConfigurationArrayInput added in v3.75.0

type HttpsApplicationConfigurationArrayInput interface {
	pulumi.Input

	ToHttpsApplicationConfigurationArrayOutput() HttpsApplicationConfigurationArrayOutput
	ToHttpsApplicationConfigurationArrayOutputWithContext(context.Context) HttpsApplicationConfigurationArrayOutput
}

HttpsApplicationConfigurationArrayInput is an input type that accepts HttpsApplicationConfigurationArray and HttpsApplicationConfigurationArrayOutput values. You can construct a concrete instance of `HttpsApplicationConfigurationArrayInput` via:

HttpsApplicationConfigurationArray{ HttpsApplicationConfigurationArgs{...} }

type HttpsApplicationConfigurationArrayOutput added in v3.75.0

type HttpsApplicationConfigurationArrayOutput struct{ *pulumi.OutputState }

func (HttpsApplicationConfigurationArrayOutput) ElementType added in v3.75.0

func (HttpsApplicationConfigurationArrayOutput) Index added in v3.75.0

func (HttpsApplicationConfigurationArrayOutput) ToHttpsApplicationConfigurationArrayOutput added in v3.75.0

func (o HttpsApplicationConfigurationArrayOutput) ToHttpsApplicationConfigurationArrayOutput() HttpsApplicationConfigurationArrayOutput

func (HttpsApplicationConfigurationArrayOutput) ToHttpsApplicationConfigurationArrayOutputWithContext added in v3.75.0

func (o HttpsApplicationConfigurationArrayOutput) ToHttpsApplicationConfigurationArrayOutputWithContext(ctx context.Context) HttpsApplicationConfigurationArrayOutput

type HttpsApplicationConfigurationInput added in v3.75.0

type HttpsApplicationConfigurationInput interface {
	pulumi.Input

	ToHttpsApplicationConfigurationOutput() HttpsApplicationConfigurationOutput
	ToHttpsApplicationConfigurationOutputWithContext(ctx context.Context) HttpsApplicationConfigurationOutput
}

type HttpsApplicationConfigurationMap added in v3.75.0

type HttpsApplicationConfigurationMap map[string]HttpsApplicationConfigurationInput

func (HttpsApplicationConfigurationMap) ElementType added in v3.75.0

func (HttpsApplicationConfigurationMap) ToHttpsApplicationConfigurationMapOutput added in v3.75.0

func (i HttpsApplicationConfigurationMap) ToHttpsApplicationConfigurationMapOutput() HttpsApplicationConfigurationMapOutput

func (HttpsApplicationConfigurationMap) ToHttpsApplicationConfigurationMapOutputWithContext added in v3.75.0

func (i HttpsApplicationConfigurationMap) ToHttpsApplicationConfigurationMapOutputWithContext(ctx context.Context) HttpsApplicationConfigurationMapOutput

type HttpsApplicationConfigurationMapInput added in v3.75.0

type HttpsApplicationConfigurationMapInput interface {
	pulumi.Input

	ToHttpsApplicationConfigurationMapOutput() HttpsApplicationConfigurationMapOutput
	ToHttpsApplicationConfigurationMapOutputWithContext(context.Context) HttpsApplicationConfigurationMapOutput
}

HttpsApplicationConfigurationMapInput is an input type that accepts HttpsApplicationConfigurationMap and HttpsApplicationConfigurationMapOutput values. You can construct a concrete instance of `HttpsApplicationConfigurationMapInput` via:

HttpsApplicationConfigurationMap{ "key": HttpsApplicationConfigurationArgs{...} }

type HttpsApplicationConfigurationMapOutput added in v3.75.0

type HttpsApplicationConfigurationMapOutput struct{ *pulumi.OutputState }

func (HttpsApplicationConfigurationMapOutput) ElementType added in v3.75.0

func (HttpsApplicationConfigurationMapOutput) MapIndex added in v3.75.0

func (HttpsApplicationConfigurationMapOutput) ToHttpsApplicationConfigurationMapOutput added in v3.75.0

func (o HttpsApplicationConfigurationMapOutput) ToHttpsApplicationConfigurationMapOutput() HttpsApplicationConfigurationMapOutput

func (HttpsApplicationConfigurationMapOutput) ToHttpsApplicationConfigurationMapOutputWithContext added in v3.75.0

func (o HttpsApplicationConfigurationMapOutput) ToHttpsApplicationConfigurationMapOutputWithContext(ctx context.Context) HttpsApplicationConfigurationMapOutput

type HttpsApplicationConfigurationOutput added in v3.75.0

type HttpsApplicationConfigurationOutput struct{ *pulumi.OutputState }

func (HttpsApplicationConfigurationOutput) AltSvc added in v3.75.0

Function switch, default off. Value range:

func (HttpsApplicationConfigurationOutput) AltSvcClear added in v3.75.0

Alt-Svc whether The header contains the clear parameter. This parameter is disabled by default. Value range:

func (HttpsApplicationConfigurationOutput) AltSvcMa added in v3.75.0

The effective time of the Alt-Svc, in seconds. The default value is 86400 seconds.

func (HttpsApplicationConfigurationOutput) AltSvcPersist added in v3.75.0

Alt-Svc whether The header contains the persist parameter. This parameter is disabled by default. Value range:

func (HttpsApplicationConfigurationOutput) ConfigId added in v3.75.0

Config Id

func (HttpsApplicationConfigurationOutput) ElementType added in v3.75.0

func (HttpsApplicationConfigurationOutput) Hsts added in v3.75.0

Whether to enable HSTS. It is disabled by default. Value range:

func (HttpsApplicationConfigurationOutput) HstsIncludeSubdomains added in v3.75.0

Whether to include subdomains in HSTS is disabled by default. Value range:

func (HttpsApplicationConfigurationOutput) HstsMaxAge added in v3.75.0

The expiration time of HSTS, in seconds.

func (HttpsApplicationConfigurationOutput) HstsPreload added in v3.75.0

Whether to enable HSTS preloading. It is disabled by default. Value range:

func (HttpsApplicationConfigurationOutput) HttpsForce added in v3.75.0

Whether to enable forced HTTPS. It is disabled by default. Value range:

func (HttpsApplicationConfigurationOutput) HttpsForceCode added in v3.75.0

Forced HTTPS jump status code, value range:

func (HttpsApplicationConfigurationOutput) Rule added in v3.75.0

Rule Content.

func (HttpsApplicationConfigurationOutput) RuleEnable added in v3.75.0

Rule switch. Value range:

func (HttpsApplicationConfigurationOutput) RuleName added in v3.75.0

Rule name, you can find out the rule whose rule name is the passed field.

func (HttpsApplicationConfigurationOutput) SiteId added in v3.75.0

The site ID, which can be obtained by calling the ListSites API.

func (HttpsApplicationConfigurationOutput) SiteVersion added in v3.75.0

The version of the website configurations.

func (HttpsApplicationConfigurationOutput) ToHttpsApplicationConfigurationOutput added in v3.75.0

func (o HttpsApplicationConfigurationOutput) ToHttpsApplicationConfigurationOutput() HttpsApplicationConfigurationOutput

func (HttpsApplicationConfigurationOutput) ToHttpsApplicationConfigurationOutputWithContext added in v3.75.0

func (o HttpsApplicationConfigurationOutput) ToHttpsApplicationConfigurationOutputWithContext(ctx context.Context) HttpsApplicationConfigurationOutput

type HttpsApplicationConfigurationState added in v3.75.0

type HttpsApplicationConfigurationState struct {
	// Function switch, default off. Value range:
	AltSvc pulumi.StringPtrInput
	// Alt-Svc whether The header contains the clear parameter. This parameter is disabled by default. Value range:
	AltSvcClear pulumi.StringPtrInput
	// The effective time of the Alt-Svc, in seconds. The default value is 86400 seconds.
	AltSvcMa pulumi.StringPtrInput
	// Alt-Svc whether The header contains the persist parameter. This parameter is disabled by default. Value range:
	AltSvcPersist pulumi.StringPtrInput
	// Config Id
	ConfigId pulumi.IntPtrInput
	// Whether to enable HSTS. It is disabled by default. Value range:
	Hsts pulumi.StringPtrInput
	// Whether to include subdomains in HSTS is disabled by default. Value range:
	HstsIncludeSubdomains pulumi.StringPtrInput
	// The expiration time of HSTS, in seconds.
	HstsMaxAge pulumi.StringPtrInput
	// Whether to enable HSTS preloading. It is disabled by default. Value range:
	HstsPreload pulumi.StringPtrInput
	// Whether to enable forced HTTPS. It is disabled by default. Value range:
	HttpsForce pulumi.StringPtrInput
	// Forced HTTPS jump status code, value range:
	HttpsForceCode pulumi.StringPtrInput
	// Rule Content.
	Rule pulumi.StringPtrInput
	// Rule switch. Value range:
	RuleEnable pulumi.StringPtrInput
	// Rule name, you can find out the rule whose rule name is the passed field.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntPtrInput
	// The version of the website configurations.
	SiteVersion pulumi.IntPtrInput
}

func (HttpsApplicationConfigurationState) ElementType added in v3.75.0

type HttpsBasicConfiguration added in v3.75.0

type HttpsBasicConfiguration struct {
	pulumi.CustomResourceState

	// Custom cipher suite, indicating the specific encryption algorithm selected when CiphersuiteGroup is set to custom.
	Ciphersuite pulumi.StringPtrOutput `pulumi:"ciphersuite"`
	// Cipher suite group. Default is all cipher suites. Possible values:
	// - all: All cipher suites.
	// - strict: Strong cipher suites.
	// - custom: Custom cipher suites.
	CiphersuiteGroup pulumi.StringPtrOutput `pulumi:"ciphersuiteGroup"`
	// ConfigId of the configuration, which can be obtained by calling the [ListHttpsBasicConfigurations](https://www.alibabacloud.com/help/en/doc-detail/2867470.html) interface.
	ConfigId pulumi.IntOutput `pulumi:"configId"`
	// Indicates whether HTTP2 is enabled. Default is on. Possible values:
	// - on: Enabled.
	// - off: Disabled.
	Http2 pulumi.StringPtrOutput `pulumi:"http2"`
	// Whether to enable HTTP3, which is enabled by default. The value can be:
	// - on: Enabled.
	// - off: Disabled.
	Http3 pulumi.StringPtrOutput `pulumi:"http3"`
	// Whether to enable HTTPS. Default is enabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Https pulumi.StringPtrOutput `pulumi:"https"`
	// Indicates whether OCSP is enabled. Default is off. Possible values:
	// - on: Enabled.
	// - off: Disabled.
	OcspStapling pulumi.StringPtrOutput `pulumi:"ocspStapling"`
	// Matching rule content.
	Rule pulumi.StringPtrOutput `pulumi:"rule"`
	// Rule switch. Possible values:
	// - on: Enable.
	// - off: Disable.
	RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"`
	// Rule name, which can be used to find the rule with the specified name.
	RuleName pulumi.StringPtrOutput `pulumi:"ruleName"`
	// Site ID, which can be obtained by calling the ListSites interface.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// Whether to enable TLS1.0. Default is disabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Tls10 pulumi.StringPtrOutput `pulumi:"tls10"`
	// Whether to enable TLS1.1. Default is enabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Tls11 pulumi.StringPtrOutput `pulumi:"tls11"`
	// Whether to enable TLS1.2. Default is enabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Tls12 pulumi.StringPtrOutput `pulumi:"tls12"`
	// Whether to enable TLS1.3. Default is enabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Tls13 pulumi.StringPtrOutput `pulumi:"tls13"`
}

Provides a ESA Https Basic Configuration resource.

For information about ESA Https Basic Configuration and how to use it, see [What is Https Basic Configuration](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpsBasicConfiguration).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		example, err := esa.NewRatePlanInstance(ctx, "example", &esa.RatePlanInstanceArgs{
			Type:        pulumi.String("NS"),
			AutoRenew:   pulumi.Bool(false),
			Period:      pulumi.Int(1),
			PaymentType: pulumi.String("Subscription"),
			Coverage:    pulumi.String("overseas"),
			AutoPay:     pulumi.Bool(true),
			PlanName:    pulumi.String("high"),
		})
		if err != nil {
			return err
		}
		resourceHttpBasicConfigurationSetExample, err := esa.NewSite(ctx, "resource_HttpBasicConfiguration_set_example", &esa.SiteArgs{
			SiteName:   pulumi.String("gositecdn.cn"),
			InstanceId: example.ID(),
			Coverage:   pulumi.String("overseas"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		_, err = esa.NewHttpsBasicConfiguration(ctx, "default", &esa.HttpsBasicConfigurationArgs{
			Https:      pulumi.String("on"),
			Rule:       pulumi.String("true"),
			RuleName:   pulumi.String("example2"),
			SiteId:     resourceHttpBasicConfigurationSetExample.ID(),
			RuleEnable: pulumi.String("on"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Https Basic Configuration can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/httpsBasicConfiguration:HttpsBasicConfiguration example <site_id>:<config_id> ```

func GetHttpsBasicConfiguration added in v3.75.0

func GetHttpsBasicConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HttpsBasicConfigurationState, opts ...pulumi.ResourceOption) (*HttpsBasicConfiguration, error)

GetHttpsBasicConfiguration gets an existing HttpsBasicConfiguration 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 NewHttpsBasicConfiguration added in v3.75.0

func NewHttpsBasicConfiguration(ctx *pulumi.Context,
	name string, args *HttpsBasicConfigurationArgs, opts ...pulumi.ResourceOption) (*HttpsBasicConfiguration, error)

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

func (*HttpsBasicConfiguration) ElementType added in v3.75.0

func (*HttpsBasicConfiguration) ElementType() reflect.Type

func (*HttpsBasicConfiguration) ToHttpsBasicConfigurationOutput added in v3.75.0

func (i *HttpsBasicConfiguration) ToHttpsBasicConfigurationOutput() HttpsBasicConfigurationOutput

func (*HttpsBasicConfiguration) ToHttpsBasicConfigurationOutputWithContext added in v3.75.0

func (i *HttpsBasicConfiguration) ToHttpsBasicConfigurationOutputWithContext(ctx context.Context) HttpsBasicConfigurationOutput

type HttpsBasicConfigurationArgs added in v3.75.0

type HttpsBasicConfigurationArgs struct {
	// Custom cipher suite, indicating the specific encryption algorithm selected when CiphersuiteGroup is set to custom.
	Ciphersuite pulumi.StringPtrInput
	// Cipher suite group. Default is all cipher suites. Possible values:
	// - all: All cipher suites.
	// - strict: Strong cipher suites.
	// - custom: Custom cipher suites.
	CiphersuiteGroup pulumi.StringPtrInput
	// Indicates whether HTTP2 is enabled. Default is on. Possible values:
	// - on: Enabled.
	// - off: Disabled.
	Http2 pulumi.StringPtrInput
	// Whether to enable HTTP3, which is enabled by default. The value can be:
	// - on: Enabled.
	// - off: Disabled.
	Http3 pulumi.StringPtrInput
	// Whether to enable HTTPS. Default is enabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Https pulumi.StringPtrInput
	// Indicates whether OCSP is enabled. Default is off. Possible values:
	// - on: Enabled.
	// - off: Disabled.
	OcspStapling pulumi.StringPtrInput
	// Matching rule content.
	Rule pulumi.StringPtrInput
	// Rule switch. Possible values:
	// - on: Enable.
	// - off: Disable.
	RuleEnable pulumi.StringPtrInput
	// Rule name, which can be used to find the rule with the specified name.
	RuleName pulumi.StringPtrInput
	// Site ID, which can be obtained by calling the ListSites interface.
	SiteId pulumi.IntInput
	// Whether to enable TLS1.0. Default is disabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Tls10 pulumi.StringPtrInput
	// Whether to enable TLS1.1. Default is enabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Tls11 pulumi.StringPtrInput
	// Whether to enable TLS1.2. Default is enabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Tls12 pulumi.StringPtrInput
	// Whether to enable TLS1.3. Default is enabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Tls13 pulumi.StringPtrInput
}

The set of arguments for constructing a HttpsBasicConfiguration resource.

func (HttpsBasicConfigurationArgs) ElementType added in v3.75.0

type HttpsBasicConfigurationArray added in v3.75.0

type HttpsBasicConfigurationArray []HttpsBasicConfigurationInput

func (HttpsBasicConfigurationArray) ElementType added in v3.75.0

func (HttpsBasicConfigurationArray) ToHttpsBasicConfigurationArrayOutput added in v3.75.0

func (i HttpsBasicConfigurationArray) ToHttpsBasicConfigurationArrayOutput() HttpsBasicConfigurationArrayOutput

func (HttpsBasicConfigurationArray) ToHttpsBasicConfigurationArrayOutputWithContext added in v3.75.0

func (i HttpsBasicConfigurationArray) ToHttpsBasicConfigurationArrayOutputWithContext(ctx context.Context) HttpsBasicConfigurationArrayOutput

type HttpsBasicConfigurationArrayInput added in v3.75.0

type HttpsBasicConfigurationArrayInput interface {
	pulumi.Input

	ToHttpsBasicConfigurationArrayOutput() HttpsBasicConfigurationArrayOutput
	ToHttpsBasicConfigurationArrayOutputWithContext(context.Context) HttpsBasicConfigurationArrayOutput
}

HttpsBasicConfigurationArrayInput is an input type that accepts HttpsBasicConfigurationArray and HttpsBasicConfigurationArrayOutput values. You can construct a concrete instance of `HttpsBasicConfigurationArrayInput` via:

HttpsBasicConfigurationArray{ HttpsBasicConfigurationArgs{...} }

type HttpsBasicConfigurationArrayOutput added in v3.75.0

type HttpsBasicConfigurationArrayOutput struct{ *pulumi.OutputState }

func (HttpsBasicConfigurationArrayOutput) ElementType added in v3.75.0

func (HttpsBasicConfigurationArrayOutput) Index added in v3.75.0

func (HttpsBasicConfigurationArrayOutput) ToHttpsBasicConfigurationArrayOutput added in v3.75.0

func (o HttpsBasicConfigurationArrayOutput) ToHttpsBasicConfigurationArrayOutput() HttpsBasicConfigurationArrayOutput

func (HttpsBasicConfigurationArrayOutput) ToHttpsBasicConfigurationArrayOutputWithContext added in v3.75.0

func (o HttpsBasicConfigurationArrayOutput) ToHttpsBasicConfigurationArrayOutputWithContext(ctx context.Context) HttpsBasicConfigurationArrayOutput

type HttpsBasicConfigurationInput added in v3.75.0

type HttpsBasicConfigurationInput interface {
	pulumi.Input

	ToHttpsBasicConfigurationOutput() HttpsBasicConfigurationOutput
	ToHttpsBasicConfigurationOutputWithContext(ctx context.Context) HttpsBasicConfigurationOutput
}

type HttpsBasicConfigurationMap added in v3.75.0

type HttpsBasicConfigurationMap map[string]HttpsBasicConfigurationInput

func (HttpsBasicConfigurationMap) ElementType added in v3.75.0

func (HttpsBasicConfigurationMap) ElementType() reflect.Type

func (HttpsBasicConfigurationMap) ToHttpsBasicConfigurationMapOutput added in v3.75.0

func (i HttpsBasicConfigurationMap) ToHttpsBasicConfigurationMapOutput() HttpsBasicConfigurationMapOutput

func (HttpsBasicConfigurationMap) ToHttpsBasicConfigurationMapOutputWithContext added in v3.75.0

func (i HttpsBasicConfigurationMap) ToHttpsBasicConfigurationMapOutputWithContext(ctx context.Context) HttpsBasicConfigurationMapOutput

type HttpsBasicConfigurationMapInput added in v3.75.0

type HttpsBasicConfigurationMapInput interface {
	pulumi.Input

	ToHttpsBasicConfigurationMapOutput() HttpsBasicConfigurationMapOutput
	ToHttpsBasicConfigurationMapOutputWithContext(context.Context) HttpsBasicConfigurationMapOutput
}

HttpsBasicConfigurationMapInput is an input type that accepts HttpsBasicConfigurationMap and HttpsBasicConfigurationMapOutput values. You can construct a concrete instance of `HttpsBasicConfigurationMapInput` via:

HttpsBasicConfigurationMap{ "key": HttpsBasicConfigurationArgs{...} }

type HttpsBasicConfigurationMapOutput added in v3.75.0

type HttpsBasicConfigurationMapOutput struct{ *pulumi.OutputState }

func (HttpsBasicConfigurationMapOutput) ElementType added in v3.75.0

func (HttpsBasicConfigurationMapOutput) MapIndex added in v3.75.0

func (HttpsBasicConfigurationMapOutput) ToHttpsBasicConfigurationMapOutput added in v3.75.0

func (o HttpsBasicConfigurationMapOutput) ToHttpsBasicConfigurationMapOutput() HttpsBasicConfigurationMapOutput

func (HttpsBasicConfigurationMapOutput) ToHttpsBasicConfigurationMapOutputWithContext added in v3.75.0

func (o HttpsBasicConfigurationMapOutput) ToHttpsBasicConfigurationMapOutputWithContext(ctx context.Context) HttpsBasicConfigurationMapOutput

type HttpsBasicConfigurationOutput added in v3.75.0

type HttpsBasicConfigurationOutput struct{ *pulumi.OutputState }

func (HttpsBasicConfigurationOutput) Ciphersuite added in v3.75.0

Custom cipher suite, indicating the specific encryption algorithm selected when CiphersuiteGroup is set to custom.

func (HttpsBasicConfigurationOutput) CiphersuiteGroup added in v3.75.0

Cipher suite group. Default is all cipher suites. Possible values: - all: All cipher suites. - strict: Strong cipher suites. - custom: Custom cipher suites.

func (HttpsBasicConfigurationOutput) ConfigId added in v3.75.0

ConfigId of the configuration, which can be obtained by calling the [ListHttpsBasicConfigurations](https://www.alibabacloud.com/help/en/doc-detail/2867470.html) interface.

func (HttpsBasicConfigurationOutput) ElementType added in v3.75.0

func (HttpsBasicConfigurationOutput) Http2 added in v3.75.0

Indicates whether HTTP2 is enabled. Default is on. Possible values: - on: Enabled. - off: Disabled.

func (HttpsBasicConfigurationOutput) Http3 added in v3.75.0

Whether to enable HTTP3, which is enabled by default. The value can be: - on: Enabled. - off: Disabled.

func (HttpsBasicConfigurationOutput) Https added in v3.75.0

Whether to enable HTTPS. Default is enabled. Possible values: - on: Enable. - off: Disable.

func (HttpsBasicConfigurationOutput) OcspStapling added in v3.75.0

Indicates whether OCSP is enabled. Default is off. Possible values: - on: Enabled. - off: Disabled.

func (HttpsBasicConfigurationOutput) Rule added in v3.75.0

Matching rule content.

func (HttpsBasicConfigurationOutput) RuleEnable added in v3.75.0

Rule switch. Possible values: - on: Enable. - off: Disable.

func (HttpsBasicConfigurationOutput) RuleName added in v3.75.0

Rule name, which can be used to find the rule with the specified name.

func (HttpsBasicConfigurationOutput) SiteId added in v3.75.0

Site ID, which can be obtained by calling the ListSites interface.

func (HttpsBasicConfigurationOutput) Tls10 added in v3.75.0

Whether to enable TLS1.0. Default is disabled. Possible values: - on: Enable. - off: Disable.

func (HttpsBasicConfigurationOutput) Tls11 added in v3.75.0

Whether to enable TLS1.1. Default is enabled. Possible values: - on: Enable. - off: Disable.

func (HttpsBasicConfigurationOutput) Tls12 added in v3.75.0

Whether to enable TLS1.2. Default is enabled. Possible values: - on: Enable. - off: Disable.

func (HttpsBasicConfigurationOutput) Tls13 added in v3.75.0

Whether to enable TLS1.3. Default is enabled. Possible values: - on: Enable. - off: Disable.

func (HttpsBasicConfigurationOutput) ToHttpsBasicConfigurationOutput added in v3.75.0

func (o HttpsBasicConfigurationOutput) ToHttpsBasicConfigurationOutput() HttpsBasicConfigurationOutput

func (HttpsBasicConfigurationOutput) ToHttpsBasicConfigurationOutputWithContext added in v3.75.0

func (o HttpsBasicConfigurationOutput) ToHttpsBasicConfigurationOutputWithContext(ctx context.Context) HttpsBasicConfigurationOutput

type HttpsBasicConfigurationState added in v3.75.0

type HttpsBasicConfigurationState struct {
	// Custom cipher suite, indicating the specific encryption algorithm selected when CiphersuiteGroup is set to custom.
	Ciphersuite pulumi.StringPtrInput
	// Cipher suite group. Default is all cipher suites. Possible values:
	// - all: All cipher suites.
	// - strict: Strong cipher suites.
	// - custom: Custom cipher suites.
	CiphersuiteGroup pulumi.StringPtrInput
	// ConfigId of the configuration, which can be obtained by calling the [ListHttpsBasicConfigurations](https://www.alibabacloud.com/help/en/doc-detail/2867470.html) interface.
	ConfigId pulumi.IntPtrInput
	// Indicates whether HTTP2 is enabled. Default is on. Possible values:
	// - on: Enabled.
	// - off: Disabled.
	Http2 pulumi.StringPtrInput
	// Whether to enable HTTP3, which is enabled by default. The value can be:
	// - on: Enabled.
	// - off: Disabled.
	Http3 pulumi.StringPtrInput
	// Whether to enable HTTPS. Default is enabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Https pulumi.StringPtrInput
	// Indicates whether OCSP is enabled. Default is off. Possible values:
	// - on: Enabled.
	// - off: Disabled.
	OcspStapling pulumi.StringPtrInput
	// Matching rule content.
	Rule pulumi.StringPtrInput
	// Rule switch. Possible values:
	// - on: Enable.
	// - off: Disable.
	RuleEnable pulumi.StringPtrInput
	// Rule name, which can be used to find the rule with the specified name.
	RuleName pulumi.StringPtrInput
	// Site ID, which can be obtained by calling the ListSites interface.
	SiteId pulumi.IntPtrInput
	// Whether to enable TLS1.0. Default is disabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Tls10 pulumi.StringPtrInput
	// Whether to enable TLS1.1. Default is enabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Tls11 pulumi.StringPtrInput
	// Whether to enable TLS1.2. Default is enabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Tls12 pulumi.StringPtrInput
	// Whether to enable TLS1.3. Default is enabled. Possible values:
	// - on: Enable.
	// - off: Disable.
	Tls13 pulumi.StringPtrInput
}

func (HttpsBasicConfigurationState) ElementType added in v3.75.0

type ImageTransform added in v3.75.0

type ImageTransform struct {
	pulumi.CustomResourceState

	// Config Id
	ConfigId pulumi.IntOutput `pulumi:"configId"`
	// Indicates whether the image transformations feature is enabled. Valid values:
	Enable pulumi.StringPtrOutput `pulumi:"enable"`
	// The rule content, which is a policy or conditional expression.
	Rule pulumi.StringPtrOutput `pulumi:"rule"`
	// Indicates whether the rule is enabled. Valid values:
	RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"`
	// Rule name, you can find out the rule whose rule name is the passed field.
	RuleName pulumi.StringPtrOutput `pulumi:"ruleName"`
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// The version number of the website.
	SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"`
}

Provides a ESA Image Transform resource.

For information about ESA Image Transform and how to use it, see [What is Image Transform](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateImageTransform).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
		}, nil)
		if err != nil {
			return err
		}
		defaultSite, err := esa.NewSite(ctx, "default", &esa.SiteArgs{
			SiteName:   pulumi.String("imagetransform.tf.com"),
			InstanceId: pulumi.String(_default.Sites[0].InstanceId),
			Coverage:   pulumi.String("domestic"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		_, err = esa.NewImageTransform(ctx, "default", &esa.ImageTransformArgs{
			Rule:        pulumi.String("http.host eq \"video.example.com\""),
			SiteVersion: pulumi.Int(0),
			RuleName:    pulumi.String("rule_example"),
			SiteId:      defaultSite.ID(),
			RuleEnable:  pulumi.String("off"),
			Enable:      pulumi.String("off"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Image Transform can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/imageTransform:ImageTransform example <site_id>:<config_id> ```

func GetImageTransform added in v3.75.0

func GetImageTransform(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ImageTransformState, opts ...pulumi.ResourceOption) (*ImageTransform, error)

GetImageTransform gets an existing ImageTransform 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 NewImageTransform added in v3.75.0

func NewImageTransform(ctx *pulumi.Context,
	name string, args *ImageTransformArgs, opts ...pulumi.ResourceOption) (*ImageTransform, error)

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

func (*ImageTransform) ElementType added in v3.75.0

func (*ImageTransform) ElementType() reflect.Type

func (*ImageTransform) ToImageTransformOutput added in v3.75.0

func (i *ImageTransform) ToImageTransformOutput() ImageTransformOutput

func (*ImageTransform) ToImageTransformOutputWithContext added in v3.75.0

func (i *ImageTransform) ToImageTransformOutputWithContext(ctx context.Context) ImageTransformOutput

type ImageTransformArgs added in v3.75.0

type ImageTransformArgs struct {
	// Indicates whether the image transformations feature is enabled. Valid values:
	Enable pulumi.StringPtrInput
	// The rule content, which is a policy or conditional expression.
	Rule pulumi.StringPtrInput
	// Indicates whether the rule is enabled. Valid values:
	RuleEnable pulumi.StringPtrInput
	// Rule name, you can find out the rule whose rule name is the passed field.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntInput
	// The version number of the website.
	SiteVersion pulumi.IntPtrInput
}

The set of arguments for constructing a ImageTransform resource.

func (ImageTransformArgs) ElementType added in v3.75.0

func (ImageTransformArgs) ElementType() reflect.Type

type ImageTransformArray added in v3.75.0

type ImageTransformArray []ImageTransformInput

func (ImageTransformArray) ElementType added in v3.75.0

func (ImageTransformArray) ElementType() reflect.Type

func (ImageTransformArray) ToImageTransformArrayOutput added in v3.75.0

func (i ImageTransformArray) ToImageTransformArrayOutput() ImageTransformArrayOutput

func (ImageTransformArray) ToImageTransformArrayOutputWithContext added in v3.75.0

func (i ImageTransformArray) ToImageTransformArrayOutputWithContext(ctx context.Context) ImageTransformArrayOutput

type ImageTransformArrayInput added in v3.75.0

type ImageTransformArrayInput interface {
	pulumi.Input

	ToImageTransformArrayOutput() ImageTransformArrayOutput
	ToImageTransformArrayOutputWithContext(context.Context) ImageTransformArrayOutput
}

ImageTransformArrayInput is an input type that accepts ImageTransformArray and ImageTransformArrayOutput values. You can construct a concrete instance of `ImageTransformArrayInput` via:

ImageTransformArray{ ImageTransformArgs{...} }

type ImageTransformArrayOutput added in v3.75.0

type ImageTransformArrayOutput struct{ *pulumi.OutputState }

func (ImageTransformArrayOutput) ElementType added in v3.75.0

func (ImageTransformArrayOutput) ElementType() reflect.Type

func (ImageTransformArrayOutput) Index added in v3.75.0

func (ImageTransformArrayOutput) ToImageTransformArrayOutput added in v3.75.0

func (o ImageTransformArrayOutput) ToImageTransformArrayOutput() ImageTransformArrayOutput

func (ImageTransformArrayOutput) ToImageTransformArrayOutputWithContext added in v3.75.0

func (o ImageTransformArrayOutput) ToImageTransformArrayOutputWithContext(ctx context.Context) ImageTransformArrayOutput

type ImageTransformInput added in v3.75.0

type ImageTransformInput interface {
	pulumi.Input

	ToImageTransformOutput() ImageTransformOutput
	ToImageTransformOutputWithContext(ctx context.Context) ImageTransformOutput
}

type ImageTransformMap added in v3.75.0

type ImageTransformMap map[string]ImageTransformInput

func (ImageTransformMap) ElementType added in v3.75.0

func (ImageTransformMap) ElementType() reflect.Type

func (ImageTransformMap) ToImageTransformMapOutput added in v3.75.0

func (i ImageTransformMap) ToImageTransformMapOutput() ImageTransformMapOutput

func (ImageTransformMap) ToImageTransformMapOutputWithContext added in v3.75.0

func (i ImageTransformMap) ToImageTransformMapOutputWithContext(ctx context.Context) ImageTransformMapOutput

type ImageTransformMapInput added in v3.75.0

type ImageTransformMapInput interface {
	pulumi.Input

	ToImageTransformMapOutput() ImageTransformMapOutput
	ToImageTransformMapOutputWithContext(context.Context) ImageTransformMapOutput
}

ImageTransformMapInput is an input type that accepts ImageTransformMap and ImageTransformMapOutput values. You can construct a concrete instance of `ImageTransformMapInput` via:

ImageTransformMap{ "key": ImageTransformArgs{...} }

type ImageTransformMapOutput added in v3.75.0

type ImageTransformMapOutput struct{ *pulumi.OutputState }

func (ImageTransformMapOutput) ElementType added in v3.75.0

func (ImageTransformMapOutput) ElementType() reflect.Type

func (ImageTransformMapOutput) MapIndex added in v3.75.0

func (ImageTransformMapOutput) ToImageTransformMapOutput added in v3.75.0

func (o ImageTransformMapOutput) ToImageTransformMapOutput() ImageTransformMapOutput

func (ImageTransformMapOutput) ToImageTransformMapOutputWithContext added in v3.75.0

func (o ImageTransformMapOutput) ToImageTransformMapOutputWithContext(ctx context.Context) ImageTransformMapOutput

type ImageTransformOutput added in v3.75.0

type ImageTransformOutput struct{ *pulumi.OutputState }

func (ImageTransformOutput) ConfigId added in v3.75.0

func (o ImageTransformOutput) ConfigId() pulumi.IntOutput

Config Id

func (ImageTransformOutput) ElementType added in v3.75.0

func (ImageTransformOutput) ElementType() reflect.Type

func (ImageTransformOutput) Enable added in v3.75.0

Indicates whether the image transformations feature is enabled. Valid values:

func (ImageTransformOutput) Rule added in v3.75.0

The rule content, which is a policy or conditional expression.

func (ImageTransformOutput) RuleEnable added in v3.75.0

Indicates whether the rule is enabled. Valid values:

func (ImageTransformOutput) RuleName added in v3.75.0

Rule name, you can find out the rule whose rule name is the passed field.

func (ImageTransformOutput) SiteId added in v3.75.0

The site ID, which can be obtained by calling the ListSites API.

func (ImageTransformOutput) SiteVersion added in v3.75.0

func (o ImageTransformOutput) SiteVersion() pulumi.IntPtrOutput

The version number of the website.

func (ImageTransformOutput) ToImageTransformOutput added in v3.75.0

func (o ImageTransformOutput) ToImageTransformOutput() ImageTransformOutput

func (ImageTransformOutput) ToImageTransformOutputWithContext added in v3.75.0

func (o ImageTransformOutput) ToImageTransformOutputWithContext(ctx context.Context) ImageTransformOutput

type ImageTransformState added in v3.75.0

type ImageTransformState struct {
	// Config Id
	ConfigId pulumi.IntPtrInput
	// Indicates whether the image transformations feature is enabled. Valid values:
	Enable pulumi.StringPtrInput
	// The rule content, which is a policy or conditional expression.
	Rule pulumi.StringPtrInput
	// Indicates whether the rule is enabled. Valid values:
	RuleEnable pulumi.StringPtrInput
	// Rule name, you can find out the rule whose rule name is the passed field.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntPtrInput
	// The version number of the website.
	SiteVersion pulumi.IntPtrInput
}

func (ImageTransformState) ElementType added in v3.75.0

func (ImageTransformState) ElementType() reflect.Type

type KvNamespace added in v3.75.0

type KvNamespace struct {
	pulumi.CustomResourceState

	// The description of the namespace.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// KV storage space name
	KvNamespace pulumi.StringOutput `pulumi:"kvNamespace"`
	// KV storage space State
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a ESA Kv Namespace resource.

For information about ESA Kv Namespace and how to use it, see [What is Kv Namespace](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateKvNamespace).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := esa.NewKvNamespace(ctx, "default", &esa.KvNamespaceArgs{
			Description: pulumi.String("this is a example namespace."),
			KvNamespace: pulumi.String("example_namespace"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Kv Namespace can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/kvNamespace:KvNamespace example <id> ```

func GetKvNamespace added in v3.75.0

func GetKvNamespace(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *KvNamespaceState, opts ...pulumi.ResourceOption) (*KvNamespace, error)

GetKvNamespace gets an existing KvNamespace 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 NewKvNamespace added in v3.75.0

func NewKvNamespace(ctx *pulumi.Context,
	name string, args *KvNamespaceArgs, opts ...pulumi.ResourceOption) (*KvNamespace, error)

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

func (*KvNamespace) ElementType added in v3.75.0

func (*KvNamespace) ElementType() reflect.Type

func (*KvNamespace) ToKvNamespaceOutput added in v3.75.0

func (i *KvNamespace) ToKvNamespaceOutput() KvNamespaceOutput

func (*KvNamespace) ToKvNamespaceOutputWithContext added in v3.75.0

func (i *KvNamespace) ToKvNamespaceOutputWithContext(ctx context.Context) KvNamespaceOutput

type KvNamespaceArgs added in v3.75.0

type KvNamespaceArgs struct {
	// The description of the namespace.
	Description pulumi.StringPtrInput
	// KV storage space name
	KvNamespace pulumi.StringInput
}

The set of arguments for constructing a KvNamespace resource.

func (KvNamespaceArgs) ElementType added in v3.75.0

func (KvNamespaceArgs) ElementType() reflect.Type

type KvNamespaceArray added in v3.75.0

type KvNamespaceArray []KvNamespaceInput

func (KvNamespaceArray) ElementType added in v3.75.0

func (KvNamespaceArray) ElementType() reflect.Type

func (KvNamespaceArray) ToKvNamespaceArrayOutput added in v3.75.0

func (i KvNamespaceArray) ToKvNamespaceArrayOutput() KvNamespaceArrayOutput

func (KvNamespaceArray) ToKvNamespaceArrayOutputWithContext added in v3.75.0

func (i KvNamespaceArray) ToKvNamespaceArrayOutputWithContext(ctx context.Context) KvNamespaceArrayOutput

type KvNamespaceArrayInput added in v3.75.0

type KvNamespaceArrayInput interface {
	pulumi.Input

	ToKvNamespaceArrayOutput() KvNamespaceArrayOutput
	ToKvNamespaceArrayOutputWithContext(context.Context) KvNamespaceArrayOutput
}

KvNamespaceArrayInput is an input type that accepts KvNamespaceArray and KvNamespaceArrayOutput values. You can construct a concrete instance of `KvNamespaceArrayInput` via:

KvNamespaceArray{ KvNamespaceArgs{...} }

type KvNamespaceArrayOutput added in v3.75.0

type KvNamespaceArrayOutput struct{ *pulumi.OutputState }

func (KvNamespaceArrayOutput) ElementType added in v3.75.0

func (KvNamespaceArrayOutput) ElementType() reflect.Type

func (KvNamespaceArrayOutput) Index added in v3.75.0

func (KvNamespaceArrayOutput) ToKvNamespaceArrayOutput added in v3.75.0

func (o KvNamespaceArrayOutput) ToKvNamespaceArrayOutput() KvNamespaceArrayOutput

func (KvNamespaceArrayOutput) ToKvNamespaceArrayOutputWithContext added in v3.75.0

func (o KvNamespaceArrayOutput) ToKvNamespaceArrayOutputWithContext(ctx context.Context) KvNamespaceArrayOutput

type KvNamespaceInput added in v3.75.0

type KvNamespaceInput interface {
	pulumi.Input

	ToKvNamespaceOutput() KvNamespaceOutput
	ToKvNamespaceOutputWithContext(ctx context.Context) KvNamespaceOutput
}

type KvNamespaceMap added in v3.75.0

type KvNamespaceMap map[string]KvNamespaceInput

func (KvNamespaceMap) ElementType added in v3.75.0

func (KvNamespaceMap) ElementType() reflect.Type

func (KvNamespaceMap) ToKvNamespaceMapOutput added in v3.75.0

func (i KvNamespaceMap) ToKvNamespaceMapOutput() KvNamespaceMapOutput

func (KvNamespaceMap) ToKvNamespaceMapOutputWithContext added in v3.75.0

func (i KvNamespaceMap) ToKvNamespaceMapOutputWithContext(ctx context.Context) KvNamespaceMapOutput

type KvNamespaceMapInput added in v3.75.0

type KvNamespaceMapInput interface {
	pulumi.Input

	ToKvNamespaceMapOutput() KvNamespaceMapOutput
	ToKvNamespaceMapOutputWithContext(context.Context) KvNamespaceMapOutput
}

KvNamespaceMapInput is an input type that accepts KvNamespaceMap and KvNamespaceMapOutput values. You can construct a concrete instance of `KvNamespaceMapInput` via:

KvNamespaceMap{ "key": KvNamespaceArgs{...} }

type KvNamespaceMapOutput added in v3.75.0

type KvNamespaceMapOutput struct{ *pulumi.OutputState }

func (KvNamespaceMapOutput) ElementType added in v3.75.0

func (KvNamespaceMapOutput) ElementType() reflect.Type

func (KvNamespaceMapOutput) MapIndex added in v3.75.0

func (KvNamespaceMapOutput) ToKvNamespaceMapOutput added in v3.75.0

func (o KvNamespaceMapOutput) ToKvNamespaceMapOutput() KvNamespaceMapOutput

func (KvNamespaceMapOutput) ToKvNamespaceMapOutputWithContext added in v3.75.0

func (o KvNamespaceMapOutput) ToKvNamespaceMapOutputWithContext(ctx context.Context) KvNamespaceMapOutput

type KvNamespaceOutput added in v3.75.0

type KvNamespaceOutput struct{ *pulumi.OutputState }

func (KvNamespaceOutput) Description added in v3.75.0

func (o KvNamespaceOutput) Description() pulumi.StringPtrOutput

The description of the namespace.

func (KvNamespaceOutput) ElementType added in v3.75.0

func (KvNamespaceOutput) ElementType() reflect.Type

func (KvNamespaceOutput) KvNamespace added in v3.75.0

func (o KvNamespaceOutput) KvNamespace() pulumi.StringOutput

KV storage space name

func (KvNamespaceOutput) Status added in v3.75.0

KV storage space State

func (KvNamespaceOutput) ToKvNamespaceOutput added in v3.75.0

func (o KvNamespaceOutput) ToKvNamespaceOutput() KvNamespaceOutput

func (KvNamespaceOutput) ToKvNamespaceOutputWithContext added in v3.75.0

func (o KvNamespaceOutput) ToKvNamespaceOutputWithContext(ctx context.Context) KvNamespaceOutput

type KvNamespaceState added in v3.75.0

type KvNamespaceState struct {
	// The description of the namespace.
	Description pulumi.StringPtrInput
	// KV storage space name
	KvNamespace pulumi.StringPtrInput
	// KV storage space State
	Status pulumi.StringPtrInput
}

func (KvNamespaceState) ElementType added in v3.75.0

func (KvNamespaceState) ElementType() reflect.Type

type List added in v3.74.0

type List struct {
	pulumi.CustomResourceState

	// The new description of the list.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The items in the updated list. The value is a JSON array.
	Items pulumi.StringArrayOutput `pulumi:"items"`
	// The type of the list that you want to create.
	Kind pulumi.StringPtrOutput `pulumi:"kind"`
	// The new name of the list.
	Name pulumi.StringOutput `pulumi:"name"`
}

Provides a ESA List resource.

For information about ESA List and how to use it, see [What is List](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/user-guide/grouping).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := esa.NewList(ctx, "default", &esa.ListArgs{
			Description: pulumi.String("resource example ip list"),
			Kind:        pulumi.String("ip"),
			Items: pulumi.StringArray{
				pulumi.String("10.1.1.1"),
				pulumi.String("10.1.1.2"),
				pulumi.String("10.1.1.3"),
			},
			Name: pulumi.String("resource_example_ip_list"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA List can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/list:List example <id> ```

func GetList added in v3.74.0

func GetList(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ListState, opts ...pulumi.ResourceOption) (*List, error)

GetList gets an existing List 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 NewList added in v3.74.0

func NewList(ctx *pulumi.Context,
	name string, args *ListArgs, opts ...pulumi.ResourceOption) (*List, error)

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

func (*List) ElementType added in v3.74.0

func (*List) ElementType() reflect.Type

func (*List) ToListOutput added in v3.74.0

func (i *List) ToListOutput() ListOutput

func (*List) ToListOutputWithContext added in v3.74.0

func (i *List) ToListOutputWithContext(ctx context.Context) ListOutput

type ListArgs added in v3.74.0

type ListArgs struct {
	// The new description of the list.
	Description pulumi.StringPtrInput
	// The items in the updated list. The value is a JSON array.
	Items pulumi.StringArrayInput
	// The type of the list that you want to create.
	Kind pulumi.StringPtrInput
	// The new name of the list.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a List resource.

func (ListArgs) ElementType added in v3.74.0

func (ListArgs) ElementType() reflect.Type

type ListArray added in v3.74.0

type ListArray []ListInput

func (ListArray) ElementType added in v3.74.0

func (ListArray) ElementType() reflect.Type

func (ListArray) ToListArrayOutput added in v3.74.0

func (i ListArray) ToListArrayOutput() ListArrayOutput

func (ListArray) ToListArrayOutputWithContext added in v3.74.0

func (i ListArray) ToListArrayOutputWithContext(ctx context.Context) ListArrayOutput

type ListArrayInput added in v3.74.0

type ListArrayInput interface {
	pulumi.Input

	ToListArrayOutput() ListArrayOutput
	ToListArrayOutputWithContext(context.Context) ListArrayOutput
}

ListArrayInput is an input type that accepts ListArray and ListArrayOutput values. You can construct a concrete instance of `ListArrayInput` via:

ListArray{ ListArgs{...} }

type ListArrayOutput added in v3.74.0

type ListArrayOutput struct{ *pulumi.OutputState }

func (ListArrayOutput) ElementType added in v3.74.0

func (ListArrayOutput) ElementType() reflect.Type

func (ListArrayOutput) Index added in v3.74.0

func (ListArrayOutput) ToListArrayOutput added in v3.74.0

func (o ListArrayOutput) ToListArrayOutput() ListArrayOutput

func (ListArrayOutput) ToListArrayOutputWithContext added in v3.74.0

func (o ListArrayOutput) ToListArrayOutputWithContext(ctx context.Context) ListArrayOutput

type ListInput added in v3.74.0

type ListInput interface {
	pulumi.Input

	ToListOutput() ListOutput
	ToListOutputWithContext(ctx context.Context) ListOutput
}

type ListMap added in v3.74.0

type ListMap map[string]ListInput

func (ListMap) ElementType added in v3.74.0

func (ListMap) ElementType() reflect.Type

func (ListMap) ToListMapOutput added in v3.74.0

func (i ListMap) ToListMapOutput() ListMapOutput

func (ListMap) ToListMapOutputWithContext added in v3.74.0

func (i ListMap) ToListMapOutputWithContext(ctx context.Context) ListMapOutput

type ListMapInput added in v3.74.0

type ListMapInput interface {
	pulumi.Input

	ToListMapOutput() ListMapOutput
	ToListMapOutputWithContext(context.Context) ListMapOutput
}

ListMapInput is an input type that accepts ListMap and ListMapOutput values. You can construct a concrete instance of `ListMapInput` via:

ListMap{ "key": ListArgs{...} }

type ListMapOutput added in v3.74.0

type ListMapOutput struct{ *pulumi.OutputState }

func (ListMapOutput) ElementType added in v3.74.0

func (ListMapOutput) ElementType() reflect.Type

func (ListMapOutput) MapIndex added in v3.74.0

func (ListMapOutput) ToListMapOutput added in v3.74.0

func (o ListMapOutput) ToListMapOutput() ListMapOutput

func (ListMapOutput) ToListMapOutputWithContext added in v3.74.0

func (o ListMapOutput) ToListMapOutputWithContext(ctx context.Context) ListMapOutput

type ListOutput added in v3.74.0

type ListOutput struct{ *pulumi.OutputState }

func (ListOutput) Description added in v3.74.0

func (o ListOutput) Description() pulumi.StringPtrOutput

The new description of the list.

func (ListOutput) ElementType added in v3.74.0

func (ListOutput) ElementType() reflect.Type

func (ListOutput) Items added in v3.74.0

The items in the updated list. The value is a JSON array.

func (ListOutput) Kind added in v3.74.0

The type of the list that you want to create.

func (ListOutput) Name added in v3.74.0

func (o ListOutput) Name() pulumi.StringOutput

The new name of the list.

func (ListOutput) ToListOutput added in v3.74.0

func (o ListOutput) ToListOutput() ListOutput

func (ListOutput) ToListOutputWithContext added in v3.74.0

func (o ListOutput) ToListOutputWithContext(ctx context.Context) ListOutput

type ListState added in v3.74.0

type ListState struct {
	// The new description of the list.
	Description pulumi.StringPtrInput
	// The items in the updated list. The value is a JSON array.
	Items pulumi.StringArrayInput
	// The type of the list that you want to create.
	Kind pulumi.StringPtrInput
	// The new name of the list.
	Name pulumi.StringPtrInput
}

func (ListState) ElementType added in v3.74.0

func (ListState) ElementType() reflect.Type

type NetworkOptimization added in v3.75.0

type NetworkOptimization struct {
	pulumi.CustomResourceState

	// ConfigId of the configuration, which can be obtained by calling the ListNetworkOptimizations.
	ConfigId pulumi.IntOutput `pulumi:"configId"`
	// Indicates whether to enable GRPC, disabled by default. Possible values:
	// - on: Enable
	// - off: Disable
	Grpc pulumi.StringPtrOutput `pulumi:"grpc"`
	// Indicates whether to enable HTTP2 origin, disabled by default. Possible values:
	// - on: Enable
	// - off: Disable
	Http2Origin pulumi.StringPtrOutput `pulumi:"http2Origin"`
	// Rule content.
	Rule pulumi.StringPtrOutput `pulumi:"rule"`
	// Rule switch. Possible values:
	// - on: Enable
	// - off: Disable
	RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"`
	// Rule name, which can be used to find the rule with the specified name.
	RuleName pulumi.StringPtrOutput `pulumi:"ruleName"`
	// Site ID, which can be obtained by calling the ListSites interface.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// Version number of the site configuration. For sites with version management enabled, this parameter specifies the version to which the configuration applies, defaulting to version 0.
	SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"`
	// Indicates whether to enable smart routing service, disabled by default. Possible values:
	// - on: Enable
	// - off: Disable
	SmartRouting pulumi.StringPtrOutput `pulumi:"smartRouting"`
	// Maximum upload file size, in MB, value range: 100~500.
	UploadMaxFilesize pulumi.StringPtrOutput `pulumi:"uploadMaxFilesize"`
	// Indicates whether to enable Websocket, enabled by default. Possible values:
	// - on: Enable
	// - off: Disable
	Websocket pulumi.StringPtrOutput `pulumi:"websocket"`
}

Provides a ESA Network Optimization resource.

For information about ESA Network Optimization and how to use it, see [What is Network Optimization](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateNetworkOptimization).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
		}, nil)
		if err != nil {
			return err
		}
		defaultSite, err := esa.NewSite(ctx, "default", &esa.SiteArgs{
			SiteName:   pulumi.String("gositecdn.cn"),
			InstanceId: pulumi.String(_default.Sites[0].InstanceId),
			Coverage:   pulumi.String("overseas"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		_, err = esa.NewNetworkOptimization(ctx, "default", &esa.NetworkOptimizationArgs{
			SiteVersion:       pulumi.Int(0),
			SiteId:            defaultSite.ID(),
			RuleEnable:        pulumi.String("on"),
			Websocket:         pulumi.String("off"),
			Rule:              pulumi.String("(http.host eq \"tf.example.com\")"),
			Grpc:              pulumi.String("off"),
			Http2Origin:       pulumi.String("off"),
			SmartRouting:      pulumi.String("off"),
			UploadMaxFilesize: pulumi.String("100"),
			RuleName:          pulumi.String("network_optimization"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Network Optimization can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/networkOptimization:NetworkOptimization example <site_id>:<config_id> ```

func GetNetworkOptimization added in v3.75.0

func GetNetworkOptimization(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkOptimizationState, opts ...pulumi.ResourceOption) (*NetworkOptimization, error)

GetNetworkOptimization gets an existing NetworkOptimization 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 NewNetworkOptimization added in v3.75.0

func NewNetworkOptimization(ctx *pulumi.Context,
	name string, args *NetworkOptimizationArgs, opts ...pulumi.ResourceOption) (*NetworkOptimization, error)

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

func (*NetworkOptimization) ElementType added in v3.75.0

func (*NetworkOptimization) ElementType() reflect.Type

func (*NetworkOptimization) ToNetworkOptimizationOutput added in v3.75.0

func (i *NetworkOptimization) ToNetworkOptimizationOutput() NetworkOptimizationOutput

func (*NetworkOptimization) ToNetworkOptimizationOutputWithContext added in v3.75.0

func (i *NetworkOptimization) ToNetworkOptimizationOutputWithContext(ctx context.Context) NetworkOptimizationOutput

type NetworkOptimizationArgs added in v3.75.0

type NetworkOptimizationArgs struct {
	// Indicates whether to enable GRPC, disabled by default. Possible values:
	// - on: Enable
	// - off: Disable
	Grpc pulumi.StringPtrInput
	// Indicates whether to enable HTTP2 origin, disabled by default. Possible values:
	// - on: Enable
	// - off: Disable
	Http2Origin pulumi.StringPtrInput
	// Rule content.
	Rule pulumi.StringPtrInput
	// Rule switch. Possible values:
	// - on: Enable
	// - off: Disable
	RuleEnable pulumi.StringPtrInput
	// Rule name, which can be used to find the rule with the specified name.
	RuleName pulumi.StringPtrInput
	// Site ID, which can be obtained by calling the ListSites interface.
	SiteId pulumi.IntInput
	// Version number of the site configuration. For sites with version management enabled, this parameter specifies the version to which the configuration applies, defaulting to version 0.
	SiteVersion pulumi.IntPtrInput
	// Indicates whether to enable smart routing service, disabled by default. Possible values:
	// - on: Enable
	// - off: Disable
	SmartRouting pulumi.StringPtrInput
	// Maximum upload file size, in MB, value range: 100~500.
	UploadMaxFilesize pulumi.StringPtrInput
	// Indicates whether to enable Websocket, enabled by default. Possible values:
	// - on: Enable
	// - off: Disable
	Websocket pulumi.StringPtrInput
}

The set of arguments for constructing a NetworkOptimization resource.

func (NetworkOptimizationArgs) ElementType added in v3.75.0

func (NetworkOptimizationArgs) ElementType() reflect.Type

type NetworkOptimizationArray added in v3.75.0

type NetworkOptimizationArray []NetworkOptimizationInput

func (NetworkOptimizationArray) ElementType added in v3.75.0

func (NetworkOptimizationArray) ElementType() reflect.Type

func (NetworkOptimizationArray) ToNetworkOptimizationArrayOutput added in v3.75.0

func (i NetworkOptimizationArray) ToNetworkOptimizationArrayOutput() NetworkOptimizationArrayOutput

func (NetworkOptimizationArray) ToNetworkOptimizationArrayOutputWithContext added in v3.75.0

func (i NetworkOptimizationArray) ToNetworkOptimizationArrayOutputWithContext(ctx context.Context) NetworkOptimizationArrayOutput

type NetworkOptimizationArrayInput added in v3.75.0

type NetworkOptimizationArrayInput interface {
	pulumi.Input

	ToNetworkOptimizationArrayOutput() NetworkOptimizationArrayOutput
	ToNetworkOptimizationArrayOutputWithContext(context.Context) NetworkOptimizationArrayOutput
}

NetworkOptimizationArrayInput is an input type that accepts NetworkOptimizationArray and NetworkOptimizationArrayOutput values. You can construct a concrete instance of `NetworkOptimizationArrayInput` via:

NetworkOptimizationArray{ NetworkOptimizationArgs{...} }

type NetworkOptimizationArrayOutput added in v3.75.0

type NetworkOptimizationArrayOutput struct{ *pulumi.OutputState }

func (NetworkOptimizationArrayOutput) ElementType added in v3.75.0

func (NetworkOptimizationArrayOutput) Index added in v3.75.0

func (NetworkOptimizationArrayOutput) ToNetworkOptimizationArrayOutput added in v3.75.0

func (o NetworkOptimizationArrayOutput) ToNetworkOptimizationArrayOutput() NetworkOptimizationArrayOutput

func (NetworkOptimizationArrayOutput) ToNetworkOptimizationArrayOutputWithContext added in v3.75.0

func (o NetworkOptimizationArrayOutput) ToNetworkOptimizationArrayOutputWithContext(ctx context.Context) NetworkOptimizationArrayOutput

type NetworkOptimizationInput added in v3.75.0

type NetworkOptimizationInput interface {
	pulumi.Input

	ToNetworkOptimizationOutput() NetworkOptimizationOutput
	ToNetworkOptimizationOutputWithContext(ctx context.Context) NetworkOptimizationOutput
}

type NetworkOptimizationMap added in v3.75.0

type NetworkOptimizationMap map[string]NetworkOptimizationInput

func (NetworkOptimizationMap) ElementType added in v3.75.0

func (NetworkOptimizationMap) ElementType() reflect.Type

func (NetworkOptimizationMap) ToNetworkOptimizationMapOutput added in v3.75.0

func (i NetworkOptimizationMap) ToNetworkOptimizationMapOutput() NetworkOptimizationMapOutput

func (NetworkOptimizationMap) ToNetworkOptimizationMapOutputWithContext added in v3.75.0

func (i NetworkOptimizationMap) ToNetworkOptimizationMapOutputWithContext(ctx context.Context) NetworkOptimizationMapOutput

type NetworkOptimizationMapInput added in v3.75.0

type NetworkOptimizationMapInput interface {
	pulumi.Input

	ToNetworkOptimizationMapOutput() NetworkOptimizationMapOutput
	ToNetworkOptimizationMapOutputWithContext(context.Context) NetworkOptimizationMapOutput
}

NetworkOptimizationMapInput is an input type that accepts NetworkOptimizationMap and NetworkOptimizationMapOutput values. You can construct a concrete instance of `NetworkOptimizationMapInput` via:

NetworkOptimizationMap{ "key": NetworkOptimizationArgs{...} }

type NetworkOptimizationMapOutput added in v3.75.0

type NetworkOptimizationMapOutput struct{ *pulumi.OutputState }

func (NetworkOptimizationMapOutput) ElementType added in v3.75.0

func (NetworkOptimizationMapOutput) MapIndex added in v3.75.0

func (NetworkOptimizationMapOutput) ToNetworkOptimizationMapOutput added in v3.75.0

func (o NetworkOptimizationMapOutput) ToNetworkOptimizationMapOutput() NetworkOptimizationMapOutput

func (NetworkOptimizationMapOutput) ToNetworkOptimizationMapOutputWithContext added in v3.75.0

func (o NetworkOptimizationMapOutput) ToNetworkOptimizationMapOutputWithContext(ctx context.Context) NetworkOptimizationMapOutput

type NetworkOptimizationOutput added in v3.75.0

type NetworkOptimizationOutput struct{ *pulumi.OutputState }

func (NetworkOptimizationOutput) ConfigId added in v3.75.0

ConfigId of the configuration, which can be obtained by calling the ListNetworkOptimizations.

func (NetworkOptimizationOutput) ElementType added in v3.75.0

func (NetworkOptimizationOutput) ElementType() reflect.Type

func (NetworkOptimizationOutput) Grpc added in v3.75.0

Indicates whether to enable GRPC, disabled by default. Possible values: - on: Enable - off: Disable

func (NetworkOptimizationOutput) Http2Origin added in v3.75.0

Indicates whether to enable HTTP2 origin, disabled by default. Possible values: - on: Enable - off: Disable

func (NetworkOptimizationOutput) Rule added in v3.75.0

Rule content.

func (NetworkOptimizationOutput) RuleEnable added in v3.75.0

Rule switch. Possible values: - on: Enable - off: Disable

func (NetworkOptimizationOutput) RuleName added in v3.75.0

Rule name, which can be used to find the rule with the specified name.

func (NetworkOptimizationOutput) SiteId added in v3.75.0

Site ID, which can be obtained by calling the ListSites interface.

func (NetworkOptimizationOutput) SiteVersion added in v3.75.0

Version number of the site configuration. For sites with version management enabled, this parameter specifies the version to which the configuration applies, defaulting to version 0.

func (NetworkOptimizationOutput) SmartRouting added in v3.75.0

Indicates whether to enable smart routing service, disabled by default. Possible values: - on: Enable - off: Disable

func (NetworkOptimizationOutput) ToNetworkOptimizationOutput added in v3.75.0

func (o NetworkOptimizationOutput) ToNetworkOptimizationOutput() NetworkOptimizationOutput

func (NetworkOptimizationOutput) ToNetworkOptimizationOutputWithContext added in v3.75.0

func (o NetworkOptimizationOutput) ToNetworkOptimizationOutputWithContext(ctx context.Context) NetworkOptimizationOutput

func (NetworkOptimizationOutput) UploadMaxFilesize added in v3.75.0

func (o NetworkOptimizationOutput) UploadMaxFilesize() pulumi.StringPtrOutput

Maximum upload file size, in MB, value range: 100~500.

func (NetworkOptimizationOutput) Websocket added in v3.75.0

Indicates whether to enable Websocket, enabled by default. Possible values: - on: Enable - off: Disable

type NetworkOptimizationState added in v3.75.0

type NetworkOptimizationState struct {
	// ConfigId of the configuration, which can be obtained by calling the ListNetworkOptimizations.
	ConfigId pulumi.IntPtrInput
	// Indicates whether to enable GRPC, disabled by default. Possible values:
	// - on: Enable
	// - off: Disable
	Grpc pulumi.StringPtrInput
	// Indicates whether to enable HTTP2 origin, disabled by default. Possible values:
	// - on: Enable
	// - off: Disable
	Http2Origin pulumi.StringPtrInput
	// Rule content.
	Rule pulumi.StringPtrInput
	// Rule switch. Possible values:
	// - on: Enable
	// - off: Disable
	RuleEnable pulumi.StringPtrInput
	// Rule name, which can be used to find the rule with the specified name.
	RuleName pulumi.StringPtrInput
	// Site ID, which can be obtained by calling the ListSites interface.
	SiteId pulumi.IntPtrInput
	// Version number of the site configuration. For sites with version management enabled, this parameter specifies the version to which the configuration applies, defaulting to version 0.
	SiteVersion pulumi.IntPtrInput
	// Indicates whether to enable smart routing service, disabled by default. Possible values:
	// - on: Enable
	// - off: Disable
	SmartRouting pulumi.StringPtrInput
	// Maximum upload file size, in MB, value range: 100~500.
	UploadMaxFilesize pulumi.StringPtrInput
	// Indicates whether to enable Websocket, enabled by default. Possible values:
	// - on: Enable
	// - off: Disable
	Websocket pulumi.StringPtrInput
}

func (NetworkOptimizationState) ElementType added in v3.75.0

func (NetworkOptimizationState) ElementType() reflect.Type

type OriginPool added in v3.75.0

type OriginPool struct {
	pulumi.CustomResourceState

	// Whether the source address pool is enabled:
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// OriginPool Id
	OriginPoolId pulumi.IntOutput `pulumi:"originPoolId"`
	// The source address pool name.
	OriginPoolName pulumi.StringOutput `pulumi:"originPoolName"`
	// The Source station information added to the source address pool. Multiple Source stations use arrays to transfer values. See `origins` below.
	Origins OriginPoolOriginArrayOutput `pulumi:"origins"`
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
}

Provides a ESA Origin Pool resource.

For information about ESA Origin Pool and how to use it, see [What is Origin Pool](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateOriginPool).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "example.site"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
		}, nil)
		if err != nil {
			return err
		}
		defaultSite, err := esa.NewSite(ctx, "default", &esa.SiteArgs{
			SiteName:   pulumi.String(name),
			InstanceId: pulumi.String(_default.Sites[0].InstanceId),
			Coverage:   pulumi.String("overseas"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		_, err = esa.NewOriginPool(ctx, "default", &esa.OriginPoolArgs{
			Origins: esa.OriginPoolOriginArray{
				&esa.OriginPoolOriginArgs{
					Type:    pulumi.String("OSS"),
					Address: pulumi.String("example.oss-cn-beijing.aliyuncs.com"),
					Header:  pulumi.String("{\"Host\":[\"example.oss-cn-beijing.aliyuncs.com\"]}"),
					Enabled: pulumi.Bool(true),
					AuthConf: &esa.OriginPoolOriginAuthConfArgs{
						SecretKey: pulumi.String("bd8tjba5lXxxxxiRXFIBvoCIfJIL2WJ"),
						AuthType:  pulumi.String("private_cross_account"),
						AccessKey: pulumi.String("LTAI5tGLgmPe1wFwpX8645BF"),
					},
					Weight: pulumi.Int(50),
					Name:   pulumi.String("origin1"),
				},
				&esa.OriginPoolOriginArgs{
					Address: pulumi.String("example.s3.com"),
					Header:  pulumi.String("{\"Host\": [\"example1.com\"]}"),
					Enabled: pulumi.Bool(true),
					AuthConf: &esa.OriginPoolOriginAuthConfArgs{
						Version:   pulumi.String("v2"),
						Region:    pulumi.String("us-east-1"),
						AuthType:  pulumi.String("private"),
						AccessKey: pulumi.String("LTAI5tGLgmPe1wFwpX8645BF"),
						SecretKey: pulumi.String("bd8tjba5lXxxxxiRXFIBvoCIfJIL2WJ"),
					},
					Weight: pulumi.Int(50),
					Name:   pulumi.String("origin2"),
					Type:   pulumi.String("S3"),
				},
				&esa.OriginPoolOriginArgs{
					Type:    pulumi.String("S3"),
					Address: pulumi.String("example1111.s3.com"),
					Header:  pulumi.String("{\"Host\":[\"example1111.com\"]}"),
					Enabled: pulumi.Bool(true),
					AuthConf: &esa.OriginPoolOriginAuthConfArgs{
						SecretKey: pulumi.String("bd8tjba5lXxxxxiRXFIBvoCIfJIL2WJ"),
						Version:   pulumi.String("v2"),
						Region:    pulumi.String("us-east-1"),
						AuthType:  pulumi.String("private"),
						AccessKey: pulumi.String("LTAI5tGLgmPe1wFwpX8645BF"),
					},
					Weight: pulumi.Int(30),
					Name:   pulumi.String("origin3"),
				},
			},
			SiteId:         defaultSite.ID(),
			OriginPoolName: pulumi.String("exampleoriginpool"),
			Enabled:        pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Origin Pool can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/originPool:OriginPool example <site_id>:<origin_pool_id> ```

func GetOriginPool added in v3.75.0

func GetOriginPool(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OriginPoolState, opts ...pulumi.ResourceOption) (*OriginPool, error)

GetOriginPool gets an existing OriginPool 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 NewOriginPool added in v3.75.0

func NewOriginPool(ctx *pulumi.Context,
	name string, args *OriginPoolArgs, opts ...pulumi.ResourceOption) (*OriginPool, error)

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

func (*OriginPool) ElementType added in v3.75.0

func (*OriginPool) ElementType() reflect.Type

func (*OriginPool) ToOriginPoolOutput added in v3.75.0

func (i *OriginPool) ToOriginPoolOutput() OriginPoolOutput

func (*OriginPool) ToOriginPoolOutputWithContext added in v3.75.0

func (i *OriginPool) ToOriginPoolOutputWithContext(ctx context.Context) OriginPoolOutput

type OriginPoolArgs added in v3.75.0

type OriginPoolArgs struct {
	// Whether the source address pool is enabled:
	Enabled pulumi.BoolPtrInput
	// The source address pool name.
	OriginPoolName pulumi.StringInput
	// The Source station information added to the source address pool. Multiple Source stations use arrays to transfer values. See `origins` below.
	Origins OriginPoolOriginArrayInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntInput
}

The set of arguments for constructing a OriginPool resource.

func (OriginPoolArgs) ElementType added in v3.75.0

func (OriginPoolArgs) ElementType() reflect.Type

type OriginPoolArray added in v3.75.0

type OriginPoolArray []OriginPoolInput

func (OriginPoolArray) ElementType added in v3.75.0

func (OriginPoolArray) ElementType() reflect.Type

func (OriginPoolArray) ToOriginPoolArrayOutput added in v3.75.0

func (i OriginPoolArray) ToOriginPoolArrayOutput() OriginPoolArrayOutput

func (OriginPoolArray) ToOriginPoolArrayOutputWithContext added in v3.75.0

func (i OriginPoolArray) ToOriginPoolArrayOutputWithContext(ctx context.Context) OriginPoolArrayOutput

type OriginPoolArrayInput added in v3.75.0

type OriginPoolArrayInput interface {
	pulumi.Input

	ToOriginPoolArrayOutput() OriginPoolArrayOutput
	ToOriginPoolArrayOutputWithContext(context.Context) OriginPoolArrayOutput
}

OriginPoolArrayInput is an input type that accepts OriginPoolArray and OriginPoolArrayOutput values. You can construct a concrete instance of `OriginPoolArrayInput` via:

OriginPoolArray{ OriginPoolArgs{...} }

type OriginPoolArrayOutput added in v3.75.0

type OriginPoolArrayOutput struct{ *pulumi.OutputState }

func (OriginPoolArrayOutput) ElementType added in v3.75.0

func (OriginPoolArrayOutput) ElementType() reflect.Type

func (OriginPoolArrayOutput) Index added in v3.75.0

func (OriginPoolArrayOutput) ToOriginPoolArrayOutput added in v3.75.0

func (o OriginPoolArrayOutput) ToOriginPoolArrayOutput() OriginPoolArrayOutput

func (OriginPoolArrayOutput) ToOriginPoolArrayOutputWithContext added in v3.75.0

func (o OriginPoolArrayOutput) ToOriginPoolArrayOutputWithContext(ctx context.Context) OriginPoolArrayOutput

type OriginPoolInput added in v3.75.0

type OriginPoolInput interface {
	pulumi.Input

	ToOriginPoolOutput() OriginPoolOutput
	ToOriginPoolOutputWithContext(ctx context.Context) OriginPoolOutput
}

type OriginPoolMap added in v3.75.0

type OriginPoolMap map[string]OriginPoolInput

func (OriginPoolMap) ElementType added in v3.75.0

func (OriginPoolMap) ElementType() reflect.Type

func (OriginPoolMap) ToOriginPoolMapOutput added in v3.75.0

func (i OriginPoolMap) ToOriginPoolMapOutput() OriginPoolMapOutput

func (OriginPoolMap) ToOriginPoolMapOutputWithContext added in v3.75.0

func (i OriginPoolMap) ToOriginPoolMapOutputWithContext(ctx context.Context) OriginPoolMapOutput

type OriginPoolMapInput added in v3.75.0

type OriginPoolMapInput interface {
	pulumi.Input

	ToOriginPoolMapOutput() OriginPoolMapOutput
	ToOriginPoolMapOutputWithContext(context.Context) OriginPoolMapOutput
}

OriginPoolMapInput is an input type that accepts OriginPoolMap and OriginPoolMapOutput values. You can construct a concrete instance of `OriginPoolMapInput` via:

OriginPoolMap{ "key": OriginPoolArgs{...} }

type OriginPoolMapOutput added in v3.75.0

type OriginPoolMapOutput struct{ *pulumi.OutputState }

func (OriginPoolMapOutput) ElementType added in v3.75.0

func (OriginPoolMapOutput) ElementType() reflect.Type

func (OriginPoolMapOutput) MapIndex added in v3.75.0

func (OriginPoolMapOutput) ToOriginPoolMapOutput added in v3.75.0

func (o OriginPoolMapOutput) ToOriginPoolMapOutput() OriginPoolMapOutput

func (OriginPoolMapOutput) ToOriginPoolMapOutputWithContext added in v3.75.0

func (o OriginPoolMapOutput) ToOriginPoolMapOutputWithContext(ctx context.Context) OriginPoolMapOutput

type OriginPoolOrigin added in v3.75.0

type OriginPoolOrigin struct {
	// Origin Address.
	Address *string `pulumi:"address"`
	// The authentication information. When the source Station is an OSS or S3 and other source stations need to be authenticated, the authentication-related configuration information needs to be transmitted. See `authConf` below.
	AuthConf *OriginPoolOriginAuthConf `pulumi:"authConf"`
	// Whether the source station is enabled:
	Enabled *bool `pulumi:"enabled"`
	// The request header that is sent when returning to the source. Only Host is supported.
	Header *string `pulumi:"header"`
	// Origin Name.
	Name *string `pulumi:"name"`
	// Origin ID.
	OriginId *int `pulumi:"originId"`
	// Source station type:
	Type *string `pulumi:"type"`
	// Weight, 0-100.
	Weight *int `pulumi:"weight"`
}

type OriginPoolOriginArgs added in v3.75.0

type OriginPoolOriginArgs struct {
	// Origin Address.
	Address pulumi.StringPtrInput `pulumi:"address"`
	// The authentication information. When the source Station is an OSS or S3 and other source stations need to be authenticated, the authentication-related configuration information needs to be transmitted. See `authConf` below.
	AuthConf OriginPoolOriginAuthConfPtrInput `pulumi:"authConf"`
	// Whether the source station is enabled:
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// The request header that is sent when returning to the source. Only Host is supported.
	Header pulumi.StringPtrInput `pulumi:"header"`
	// Origin Name.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Origin ID.
	OriginId pulumi.IntPtrInput `pulumi:"originId"`
	// Source station type:
	Type pulumi.StringPtrInput `pulumi:"type"`
	// Weight, 0-100.
	Weight pulumi.IntPtrInput `pulumi:"weight"`
}

func (OriginPoolOriginArgs) ElementType added in v3.75.0

func (OriginPoolOriginArgs) ElementType() reflect.Type

func (OriginPoolOriginArgs) ToOriginPoolOriginOutput added in v3.75.0

func (i OriginPoolOriginArgs) ToOriginPoolOriginOutput() OriginPoolOriginOutput

func (OriginPoolOriginArgs) ToOriginPoolOriginOutputWithContext added in v3.75.0

func (i OriginPoolOriginArgs) ToOriginPoolOriginOutputWithContext(ctx context.Context) OriginPoolOriginOutput

type OriginPoolOriginArray added in v3.75.0

type OriginPoolOriginArray []OriginPoolOriginInput

func (OriginPoolOriginArray) ElementType added in v3.75.0

func (OriginPoolOriginArray) ElementType() reflect.Type

func (OriginPoolOriginArray) ToOriginPoolOriginArrayOutput added in v3.75.0

func (i OriginPoolOriginArray) ToOriginPoolOriginArrayOutput() OriginPoolOriginArrayOutput

func (OriginPoolOriginArray) ToOriginPoolOriginArrayOutputWithContext added in v3.75.0

func (i OriginPoolOriginArray) ToOriginPoolOriginArrayOutputWithContext(ctx context.Context) OriginPoolOriginArrayOutput

type OriginPoolOriginArrayInput added in v3.75.0

type OriginPoolOriginArrayInput interface {
	pulumi.Input

	ToOriginPoolOriginArrayOutput() OriginPoolOriginArrayOutput
	ToOriginPoolOriginArrayOutputWithContext(context.Context) OriginPoolOriginArrayOutput
}

OriginPoolOriginArrayInput is an input type that accepts OriginPoolOriginArray and OriginPoolOriginArrayOutput values. You can construct a concrete instance of `OriginPoolOriginArrayInput` via:

OriginPoolOriginArray{ OriginPoolOriginArgs{...} }

type OriginPoolOriginArrayOutput added in v3.75.0

type OriginPoolOriginArrayOutput struct{ *pulumi.OutputState }

func (OriginPoolOriginArrayOutput) ElementType added in v3.75.0

func (OriginPoolOriginArrayOutput) Index added in v3.75.0

func (OriginPoolOriginArrayOutput) ToOriginPoolOriginArrayOutput added in v3.75.0

func (o OriginPoolOriginArrayOutput) ToOriginPoolOriginArrayOutput() OriginPoolOriginArrayOutput

func (OriginPoolOriginArrayOutput) ToOriginPoolOriginArrayOutputWithContext added in v3.75.0

func (o OriginPoolOriginArrayOutput) ToOriginPoolOriginArrayOutputWithContext(ctx context.Context) OriginPoolOriginArrayOutput

type OriginPoolOriginAuthConf added in v3.75.0

type OriginPoolOriginAuthConf struct {
	// The AccessKey to be passed when AuthType is set to privateCrossAccount or private.
	AccessKey *string `pulumi:"accessKey"`
	// Authentication type.
	AuthType *string `pulumi:"authType"`
	// The Region of the source station to be transmitted when the source station is AWS S3.
	Region *string `pulumi:"region"`
	// The SecretKey to be passed when AuthType is set to privateCrossAccount or private.
	SecretKey *string `pulumi:"secretKey"`
	// The signature version to be transmitted when the source station is AWS S3.
	Version *string `pulumi:"version"`
}

type OriginPoolOriginAuthConfArgs added in v3.75.0

type OriginPoolOriginAuthConfArgs struct {
	// The AccessKey to be passed when AuthType is set to privateCrossAccount or private.
	AccessKey pulumi.StringPtrInput `pulumi:"accessKey"`
	// Authentication type.
	AuthType pulumi.StringPtrInput `pulumi:"authType"`
	// The Region of the source station to be transmitted when the source station is AWS S3.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The SecretKey to be passed when AuthType is set to privateCrossAccount or private.
	SecretKey pulumi.StringPtrInput `pulumi:"secretKey"`
	// The signature version to be transmitted when the source station is AWS S3.
	Version pulumi.StringPtrInput `pulumi:"version"`
}

func (OriginPoolOriginAuthConfArgs) ElementType added in v3.75.0

func (OriginPoolOriginAuthConfArgs) ToOriginPoolOriginAuthConfOutput added in v3.75.0

func (i OriginPoolOriginAuthConfArgs) ToOriginPoolOriginAuthConfOutput() OriginPoolOriginAuthConfOutput

func (OriginPoolOriginAuthConfArgs) ToOriginPoolOriginAuthConfOutputWithContext added in v3.75.0

func (i OriginPoolOriginAuthConfArgs) ToOriginPoolOriginAuthConfOutputWithContext(ctx context.Context) OriginPoolOriginAuthConfOutput

func (OriginPoolOriginAuthConfArgs) ToOriginPoolOriginAuthConfPtrOutput added in v3.75.0

func (i OriginPoolOriginAuthConfArgs) ToOriginPoolOriginAuthConfPtrOutput() OriginPoolOriginAuthConfPtrOutput

func (OriginPoolOriginAuthConfArgs) ToOriginPoolOriginAuthConfPtrOutputWithContext added in v3.75.0

func (i OriginPoolOriginAuthConfArgs) ToOriginPoolOriginAuthConfPtrOutputWithContext(ctx context.Context) OriginPoolOriginAuthConfPtrOutput

type OriginPoolOriginAuthConfInput added in v3.75.0

type OriginPoolOriginAuthConfInput interface {
	pulumi.Input

	ToOriginPoolOriginAuthConfOutput() OriginPoolOriginAuthConfOutput
	ToOriginPoolOriginAuthConfOutputWithContext(context.Context) OriginPoolOriginAuthConfOutput
}

OriginPoolOriginAuthConfInput is an input type that accepts OriginPoolOriginAuthConfArgs and OriginPoolOriginAuthConfOutput values. You can construct a concrete instance of `OriginPoolOriginAuthConfInput` via:

OriginPoolOriginAuthConfArgs{...}

type OriginPoolOriginAuthConfOutput added in v3.75.0

type OriginPoolOriginAuthConfOutput struct{ *pulumi.OutputState }

func (OriginPoolOriginAuthConfOutput) AccessKey added in v3.75.0

The AccessKey to be passed when AuthType is set to privateCrossAccount or private.

func (OriginPoolOriginAuthConfOutput) AuthType added in v3.75.0

Authentication type.

func (OriginPoolOriginAuthConfOutput) ElementType added in v3.75.0

func (OriginPoolOriginAuthConfOutput) Region added in v3.75.0

The Region of the source station to be transmitted when the source station is AWS S3.

func (OriginPoolOriginAuthConfOutput) SecretKey added in v3.75.0

The SecretKey to be passed when AuthType is set to privateCrossAccount or private.

func (OriginPoolOriginAuthConfOutput) ToOriginPoolOriginAuthConfOutput added in v3.75.0

func (o OriginPoolOriginAuthConfOutput) ToOriginPoolOriginAuthConfOutput() OriginPoolOriginAuthConfOutput

func (OriginPoolOriginAuthConfOutput) ToOriginPoolOriginAuthConfOutputWithContext added in v3.75.0

func (o OriginPoolOriginAuthConfOutput) ToOriginPoolOriginAuthConfOutputWithContext(ctx context.Context) OriginPoolOriginAuthConfOutput

func (OriginPoolOriginAuthConfOutput) ToOriginPoolOriginAuthConfPtrOutput added in v3.75.0

func (o OriginPoolOriginAuthConfOutput) ToOriginPoolOriginAuthConfPtrOutput() OriginPoolOriginAuthConfPtrOutput

func (OriginPoolOriginAuthConfOutput) ToOriginPoolOriginAuthConfPtrOutputWithContext added in v3.75.0

func (o OriginPoolOriginAuthConfOutput) ToOriginPoolOriginAuthConfPtrOutputWithContext(ctx context.Context) OriginPoolOriginAuthConfPtrOutput

func (OriginPoolOriginAuthConfOutput) Version added in v3.75.0

The signature version to be transmitted when the source station is AWS S3.

type OriginPoolOriginAuthConfPtrInput added in v3.75.0

type OriginPoolOriginAuthConfPtrInput interface {
	pulumi.Input

	ToOriginPoolOriginAuthConfPtrOutput() OriginPoolOriginAuthConfPtrOutput
	ToOriginPoolOriginAuthConfPtrOutputWithContext(context.Context) OriginPoolOriginAuthConfPtrOutput
}

OriginPoolOriginAuthConfPtrInput is an input type that accepts OriginPoolOriginAuthConfArgs, OriginPoolOriginAuthConfPtr and OriginPoolOriginAuthConfPtrOutput values. You can construct a concrete instance of `OriginPoolOriginAuthConfPtrInput` via:

        OriginPoolOriginAuthConfArgs{...}

or:

        nil

func OriginPoolOriginAuthConfPtr added in v3.75.0

func OriginPoolOriginAuthConfPtr(v *OriginPoolOriginAuthConfArgs) OriginPoolOriginAuthConfPtrInput

type OriginPoolOriginAuthConfPtrOutput added in v3.75.0

type OriginPoolOriginAuthConfPtrOutput struct{ *pulumi.OutputState }

func (OriginPoolOriginAuthConfPtrOutput) AccessKey added in v3.75.0

The AccessKey to be passed when AuthType is set to privateCrossAccount or private.

func (OriginPoolOriginAuthConfPtrOutput) AuthType added in v3.75.0

Authentication type.

func (OriginPoolOriginAuthConfPtrOutput) Elem added in v3.75.0

func (OriginPoolOriginAuthConfPtrOutput) ElementType added in v3.75.0

func (OriginPoolOriginAuthConfPtrOutput) Region added in v3.75.0

The Region of the source station to be transmitted when the source station is AWS S3.

func (OriginPoolOriginAuthConfPtrOutput) SecretKey added in v3.75.0

The SecretKey to be passed when AuthType is set to privateCrossAccount or private.

func (OriginPoolOriginAuthConfPtrOutput) ToOriginPoolOriginAuthConfPtrOutput added in v3.75.0

func (o OriginPoolOriginAuthConfPtrOutput) ToOriginPoolOriginAuthConfPtrOutput() OriginPoolOriginAuthConfPtrOutput

func (OriginPoolOriginAuthConfPtrOutput) ToOriginPoolOriginAuthConfPtrOutputWithContext added in v3.75.0

func (o OriginPoolOriginAuthConfPtrOutput) ToOriginPoolOriginAuthConfPtrOutputWithContext(ctx context.Context) OriginPoolOriginAuthConfPtrOutput

func (OriginPoolOriginAuthConfPtrOutput) Version added in v3.75.0

The signature version to be transmitted when the source station is AWS S3.

type OriginPoolOriginInput added in v3.75.0

type OriginPoolOriginInput interface {
	pulumi.Input

	ToOriginPoolOriginOutput() OriginPoolOriginOutput
	ToOriginPoolOriginOutputWithContext(context.Context) OriginPoolOriginOutput
}

OriginPoolOriginInput is an input type that accepts OriginPoolOriginArgs and OriginPoolOriginOutput values. You can construct a concrete instance of `OriginPoolOriginInput` via:

OriginPoolOriginArgs{...}

type OriginPoolOriginOutput added in v3.75.0

type OriginPoolOriginOutput struct{ *pulumi.OutputState }

func (OriginPoolOriginOutput) Address added in v3.75.0

Origin Address.

func (OriginPoolOriginOutput) AuthConf added in v3.75.0

The authentication information. When the source Station is an OSS or S3 and other source stations need to be authenticated, the authentication-related configuration information needs to be transmitted. See `authConf` below.

func (OriginPoolOriginOutput) ElementType added in v3.75.0

func (OriginPoolOriginOutput) ElementType() reflect.Type

func (OriginPoolOriginOutput) Enabled added in v3.75.0

Whether the source station is enabled:

func (OriginPoolOriginOutput) Header added in v3.75.0

The request header that is sent when returning to the source. Only Host is supported.

func (OriginPoolOriginOutput) Name added in v3.75.0

Origin Name.

func (OriginPoolOriginOutput) OriginId added in v3.75.0

Origin ID.

func (OriginPoolOriginOutput) ToOriginPoolOriginOutput added in v3.75.0

func (o OriginPoolOriginOutput) ToOriginPoolOriginOutput() OriginPoolOriginOutput

func (OriginPoolOriginOutput) ToOriginPoolOriginOutputWithContext added in v3.75.0

func (o OriginPoolOriginOutput) ToOriginPoolOriginOutputWithContext(ctx context.Context) OriginPoolOriginOutput

func (OriginPoolOriginOutput) Type added in v3.75.0

Source station type:

func (OriginPoolOriginOutput) Weight added in v3.75.0

Weight, 0-100.

type OriginPoolOutput added in v3.75.0

type OriginPoolOutput struct{ *pulumi.OutputState }

func (OriginPoolOutput) ElementType added in v3.75.0

func (OriginPoolOutput) ElementType() reflect.Type

func (OriginPoolOutput) Enabled added in v3.75.0

Whether the source address pool is enabled:

func (OriginPoolOutput) OriginPoolId added in v3.75.0

func (o OriginPoolOutput) OriginPoolId() pulumi.IntOutput

OriginPool Id

func (OriginPoolOutput) OriginPoolName added in v3.75.0

func (o OriginPoolOutput) OriginPoolName() pulumi.StringOutput

The source address pool name.

func (OriginPoolOutput) Origins added in v3.75.0

The Source station information added to the source address pool. Multiple Source stations use arrays to transfer values. See `origins` below.

func (OriginPoolOutput) SiteId added in v3.75.0

func (o OriginPoolOutput) SiteId() pulumi.IntOutput

The site ID, which can be obtained by calling the ListSites API.

func (OriginPoolOutput) ToOriginPoolOutput added in v3.75.0

func (o OriginPoolOutput) ToOriginPoolOutput() OriginPoolOutput

func (OriginPoolOutput) ToOriginPoolOutputWithContext added in v3.75.0

func (o OriginPoolOutput) ToOriginPoolOutputWithContext(ctx context.Context) OriginPoolOutput

type OriginPoolState added in v3.75.0

type OriginPoolState struct {
	// Whether the source address pool is enabled:
	Enabled pulumi.BoolPtrInput
	// OriginPool Id
	OriginPoolId pulumi.IntPtrInput
	// The source address pool name.
	OriginPoolName pulumi.StringPtrInput
	// The Source station information added to the source address pool. Multiple Source stations use arrays to transfer values. See `origins` below.
	Origins OriginPoolOriginArrayInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntPtrInput
}

func (OriginPoolState) ElementType added in v3.75.0

func (OriginPoolState) ElementType() reflect.Type

type OriginRule added in v3.75.0

type OriginRule struct {
	pulumi.CustomResourceState

	// Config Id
	ConfigId pulumi.IntOutput `pulumi:"configId"`
	// Overwrite the DNS resolution record of the origin request.
	DnsRecord pulumi.StringPtrOutput `pulumi:"dnsRecord"`
	// The HOST carried in the back-to-origin request.
	OriginHost pulumi.StringPtrOutput `pulumi:"originHost"`
	// The port of the origin station accessed when the HTTP protocol is used to return to the origin.
	OriginHttpPort pulumi.StringPtrOutput `pulumi:"originHttpPort"`
	// The port of the origin station accessed when the HTTPS protocol is used to return to the origin.
	OriginHttpsPort pulumi.StringPtrOutput `pulumi:"originHttpsPort"`
	// The protocol used by the back-to-origin request. Value range:
	OriginScheme pulumi.StringPtrOutput `pulumi:"originScheme"`
	// SNI carried in the back-to-origin request.
	OriginSni pulumi.StringPtrOutput `pulumi:"originSni"`
	// Use the range sharding method to download the file from the source. Value range:
	Range pulumi.StringPtrOutput `pulumi:"range"`
	// Rule Content.
	Rule pulumi.StringPtrOutput `pulumi:"rule"`
	// Rule switch. Value range:
	RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"`
	// Rule Name.
	RuleName pulumi.StringPtrOutput `pulumi:"ruleName"`
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// Version number of the site.
	SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"`
}

Provides a ESA Origin Rule resource.

For information about ESA Origin Rule and how to use it, see [What is Origin Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateOriginRule).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = esa.NewOriginRule(ctx, "default", &esa.OriginRuleArgs{
			OriginSni:       pulumi.String("origin.example.com"),
			SiteId:          pulumi.Int(_default.Sites[0].Id),
			OriginHost:      pulumi.String("origin.example.com"),
			DnsRecord:       pulumi.String("tf.example.com"),
			SiteVersion:     pulumi.Int(0),
			RuleName:        pulumi.String("tf"),
			OriginHttpsPort: pulumi.String("443"),
			OriginScheme:    pulumi.String("http"),
			Range:           pulumi.String("on"),
			OriginHttpPort:  pulumi.String("8080"),
			Rule:            pulumi.String("(http.host eq \"video.example.com\")"),
			RuleEnable:      pulumi.String("on"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Origin Rule can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/originRule:OriginRule example <site_id>:<config_id> ```

func GetOriginRule added in v3.75.0

func GetOriginRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OriginRuleState, opts ...pulumi.ResourceOption) (*OriginRule, error)

GetOriginRule gets an existing OriginRule 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 NewOriginRule added in v3.75.0

func NewOriginRule(ctx *pulumi.Context,
	name string, args *OriginRuleArgs, opts ...pulumi.ResourceOption) (*OriginRule, error)

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

func (*OriginRule) ElementType added in v3.75.0

func (*OriginRule) ElementType() reflect.Type

func (*OriginRule) ToOriginRuleOutput added in v3.75.0

func (i *OriginRule) ToOriginRuleOutput() OriginRuleOutput

func (*OriginRule) ToOriginRuleOutputWithContext added in v3.75.0

func (i *OriginRule) ToOriginRuleOutputWithContext(ctx context.Context) OriginRuleOutput

type OriginRuleArgs added in v3.75.0

type OriginRuleArgs struct {
	// Overwrite the DNS resolution record of the origin request.
	DnsRecord pulumi.StringPtrInput
	// The HOST carried in the back-to-origin request.
	OriginHost pulumi.StringPtrInput
	// The port of the origin station accessed when the HTTP protocol is used to return to the origin.
	OriginHttpPort pulumi.StringPtrInput
	// The port of the origin station accessed when the HTTPS protocol is used to return to the origin.
	OriginHttpsPort pulumi.StringPtrInput
	// The protocol used by the back-to-origin request. Value range:
	OriginScheme pulumi.StringPtrInput
	// SNI carried in the back-to-origin request.
	OriginSni pulumi.StringPtrInput
	// Use the range sharding method to download the file from the source. Value range:
	Range pulumi.StringPtrInput
	// Rule Content.
	Rule pulumi.StringPtrInput
	// Rule switch. Value range:
	RuleEnable pulumi.StringPtrInput
	// Rule Name.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntInput
	// Version number of the site.
	SiteVersion pulumi.IntPtrInput
}

The set of arguments for constructing a OriginRule resource.

func (OriginRuleArgs) ElementType added in v3.75.0

func (OriginRuleArgs) ElementType() reflect.Type

type OriginRuleArray added in v3.75.0

type OriginRuleArray []OriginRuleInput

func (OriginRuleArray) ElementType added in v3.75.0

func (OriginRuleArray) ElementType() reflect.Type

func (OriginRuleArray) ToOriginRuleArrayOutput added in v3.75.0

func (i OriginRuleArray) ToOriginRuleArrayOutput() OriginRuleArrayOutput

func (OriginRuleArray) ToOriginRuleArrayOutputWithContext added in v3.75.0

func (i OriginRuleArray) ToOriginRuleArrayOutputWithContext(ctx context.Context) OriginRuleArrayOutput

type OriginRuleArrayInput added in v3.75.0

type OriginRuleArrayInput interface {
	pulumi.Input

	ToOriginRuleArrayOutput() OriginRuleArrayOutput
	ToOriginRuleArrayOutputWithContext(context.Context) OriginRuleArrayOutput
}

OriginRuleArrayInput is an input type that accepts OriginRuleArray and OriginRuleArrayOutput values. You can construct a concrete instance of `OriginRuleArrayInput` via:

OriginRuleArray{ OriginRuleArgs{...} }

type OriginRuleArrayOutput added in v3.75.0

type OriginRuleArrayOutput struct{ *pulumi.OutputState }

func (OriginRuleArrayOutput) ElementType added in v3.75.0

func (OriginRuleArrayOutput) ElementType() reflect.Type

func (OriginRuleArrayOutput) Index added in v3.75.0

func (OriginRuleArrayOutput) ToOriginRuleArrayOutput added in v3.75.0

func (o OriginRuleArrayOutput) ToOriginRuleArrayOutput() OriginRuleArrayOutput

func (OriginRuleArrayOutput) ToOriginRuleArrayOutputWithContext added in v3.75.0

func (o OriginRuleArrayOutput) ToOriginRuleArrayOutputWithContext(ctx context.Context) OriginRuleArrayOutput

type OriginRuleInput added in v3.75.0

type OriginRuleInput interface {
	pulumi.Input

	ToOriginRuleOutput() OriginRuleOutput
	ToOriginRuleOutputWithContext(ctx context.Context) OriginRuleOutput
}

type OriginRuleMap added in v3.75.0

type OriginRuleMap map[string]OriginRuleInput

func (OriginRuleMap) ElementType added in v3.75.0

func (OriginRuleMap) ElementType() reflect.Type

func (OriginRuleMap) ToOriginRuleMapOutput added in v3.75.0

func (i OriginRuleMap) ToOriginRuleMapOutput() OriginRuleMapOutput

func (OriginRuleMap) ToOriginRuleMapOutputWithContext added in v3.75.0

func (i OriginRuleMap) ToOriginRuleMapOutputWithContext(ctx context.Context) OriginRuleMapOutput

type OriginRuleMapInput added in v3.75.0

type OriginRuleMapInput interface {
	pulumi.Input

	ToOriginRuleMapOutput() OriginRuleMapOutput
	ToOriginRuleMapOutputWithContext(context.Context) OriginRuleMapOutput
}

OriginRuleMapInput is an input type that accepts OriginRuleMap and OriginRuleMapOutput values. You can construct a concrete instance of `OriginRuleMapInput` via:

OriginRuleMap{ "key": OriginRuleArgs{...} }

type OriginRuleMapOutput added in v3.75.0

type OriginRuleMapOutput struct{ *pulumi.OutputState }

func (OriginRuleMapOutput) ElementType added in v3.75.0

func (OriginRuleMapOutput) ElementType() reflect.Type

func (OriginRuleMapOutput) MapIndex added in v3.75.0

func (OriginRuleMapOutput) ToOriginRuleMapOutput added in v3.75.0

func (o OriginRuleMapOutput) ToOriginRuleMapOutput() OriginRuleMapOutput

func (OriginRuleMapOutput) ToOriginRuleMapOutputWithContext added in v3.75.0

func (o OriginRuleMapOutput) ToOriginRuleMapOutputWithContext(ctx context.Context) OriginRuleMapOutput

type OriginRuleOutput added in v3.75.0

type OriginRuleOutput struct{ *pulumi.OutputState }

func (OriginRuleOutput) ConfigId added in v3.75.0

func (o OriginRuleOutput) ConfigId() pulumi.IntOutput

Config Id

func (OriginRuleOutput) DnsRecord added in v3.75.0

func (o OriginRuleOutput) DnsRecord() pulumi.StringPtrOutput

Overwrite the DNS resolution record of the origin request.

func (OriginRuleOutput) ElementType added in v3.75.0

func (OriginRuleOutput) ElementType() reflect.Type

func (OriginRuleOutput) OriginHost added in v3.75.0

func (o OriginRuleOutput) OriginHost() pulumi.StringPtrOutput

The HOST carried in the back-to-origin request.

func (OriginRuleOutput) OriginHttpPort added in v3.75.0

func (o OriginRuleOutput) OriginHttpPort() pulumi.StringPtrOutput

The port of the origin station accessed when the HTTP protocol is used to return to the origin.

func (OriginRuleOutput) OriginHttpsPort added in v3.75.0

func (o OriginRuleOutput) OriginHttpsPort() pulumi.StringPtrOutput

The port of the origin station accessed when the HTTPS protocol is used to return to the origin.

func (OriginRuleOutput) OriginScheme added in v3.75.0

func (o OriginRuleOutput) OriginScheme() pulumi.StringPtrOutput

The protocol used by the back-to-origin request. Value range:

func (OriginRuleOutput) OriginSni added in v3.75.0

func (o OriginRuleOutput) OriginSni() pulumi.StringPtrOutput

SNI carried in the back-to-origin request.

func (OriginRuleOutput) Range added in v3.75.0

Use the range sharding method to download the file from the source. Value range:

func (OriginRuleOutput) Rule added in v3.75.0

Rule Content.

func (OriginRuleOutput) RuleEnable added in v3.75.0

func (o OriginRuleOutput) RuleEnable() pulumi.StringPtrOutput

Rule switch. Value range:

func (OriginRuleOutput) RuleName added in v3.75.0

Rule Name.

func (OriginRuleOutput) SiteId added in v3.75.0

func (o OriginRuleOutput) SiteId() pulumi.IntOutput

The site ID, which can be obtained by calling the ListSites API.

func (OriginRuleOutput) SiteVersion added in v3.75.0

func (o OriginRuleOutput) SiteVersion() pulumi.IntPtrOutput

Version number of the site.

func (OriginRuleOutput) ToOriginRuleOutput added in v3.75.0

func (o OriginRuleOutput) ToOriginRuleOutput() OriginRuleOutput

func (OriginRuleOutput) ToOriginRuleOutputWithContext added in v3.75.0

func (o OriginRuleOutput) ToOriginRuleOutputWithContext(ctx context.Context) OriginRuleOutput

type OriginRuleState added in v3.75.0

type OriginRuleState struct {
	// Config Id
	ConfigId pulumi.IntPtrInput
	// Overwrite the DNS resolution record of the origin request.
	DnsRecord pulumi.StringPtrInput
	// The HOST carried in the back-to-origin request.
	OriginHost pulumi.StringPtrInput
	// The port of the origin station accessed when the HTTP protocol is used to return to the origin.
	OriginHttpPort pulumi.StringPtrInput
	// The port of the origin station accessed when the HTTPS protocol is used to return to the origin.
	OriginHttpsPort pulumi.StringPtrInput
	// The protocol used by the back-to-origin request. Value range:
	OriginScheme pulumi.StringPtrInput
	// SNI carried in the back-to-origin request.
	OriginSni pulumi.StringPtrInput
	// Use the range sharding method to download the file from the source. Value range:
	Range pulumi.StringPtrInput
	// Rule Content.
	Rule pulumi.StringPtrInput
	// Rule switch. Value range:
	RuleEnable pulumi.StringPtrInput
	// Rule Name.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntPtrInput
	// Version number of the site.
	SiteVersion pulumi.IntPtrInput
}

func (OriginRuleState) ElementType added in v3.75.0

func (OriginRuleState) ElementType() reflect.Type

type Page added in v3.74.0

type Page struct {
	pulumi.CustomResourceState

	// The Content-Type field in the HTTP header. Valid values:
	//
	// - text/html
	// - application/json
	Content pulumi.StringPtrOutput `pulumi:"content"`
	// The description of the custom error page.
	ContentType pulumi.StringOutput `pulumi:"contentType"`
	// The name of the custom error page.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ID of the custom error page, which can be obtained by calling the [ListPages](https://www.alibabacloud.com/help/en/doc-detail/2850223.html) operation.
	PageName pulumi.StringOutput `pulumi:"pageName"`
}

Provides a ESA Page resource.

For information about ESA Page and how to use it, see [What is Page](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/user-guide/customize-page).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := esa.NewPage(ctx, "default", &esa.PageArgs{
			Description: pulumi.String("example resource html page"),
			ContentType: pulumi.String("text/html"),
			Content:     pulumi.String("PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+"),
			PageName:    pulumi.String("resource_example_html_page"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Page can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/page:Page example <id> ```

func GetPage added in v3.74.0

func GetPage(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PageState, opts ...pulumi.ResourceOption) (*Page, error)

GetPage gets an existing Page 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 NewPage added in v3.74.0

func NewPage(ctx *pulumi.Context,
	name string, args *PageArgs, opts ...pulumi.ResourceOption) (*Page, error)

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

func (*Page) ElementType added in v3.74.0

func (*Page) ElementType() reflect.Type

func (*Page) ToPageOutput added in v3.74.0

func (i *Page) ToPageOutput() PageOutput

func (*Page) ToPageOutputWithContext added in v3.74.0

func (i *Page) ToPageOutputWithContext(ctx context.Context) PageOutput

type PageArgs added in v3.74.0

type PageArgs struct {
	// The Content-Type field in the HTTP header. Valid values:
	//
	// - text/html
	// - application/json
	Content pulumi.StringPtrInput
	// The description of the custom error page.
	ContentType pulumi.StringInput
	// The name of the custom error page.
	Description pulumi.StringPtrInput
	// The ID of the custom error page, which can be obtained by calling the [ListPages](https://www.alibabacloud.com/help/en/doc-detail/2850223.html) operation.
	PageName pulumi.StringInput
}

The set of arguments for constructing a Page resource.

func (PageArgs) ElementType added in v3.74.0

func (PageArgs) ElementType() reflect.Type

type PageArray added in v3.74.0

type PageArray []PageInput

func (PageArray) ElementType added in v3.74.0

func (PageArray) ElementType() reflect.Type

func (PageArray) ToPageArrayOutput added in v3.74.0

func (i PageArray) ToPageArrayOutput() PageArrayOutput

func (PageArray) ToPageArrayOutputWithContext added in v3.74.0

func (i PageArray) ToPageArrayOutputWithContext(ctx context.Context) PageArrayOutput

type PageArrayInput added in v3.74.0

type PageArrayInput interface {
	pulumi.Input

	ToPageArrayOutput() PageArrayOutput
	ToPageArrayOutputWithContext(context.Context) PageArrayOutput
}

PageArrayInput is an input type that accepts PageArray and PageArrayOutput values. You can construct a concrete instance of `PageArrayInput` via:

PageArray{ PageArgs{...} }

type PageArrayOutput added in v3.74.0

type PageArrayOutput struct{ *pulumi.OutputState }

func (PageArrayOutput) ElementType added in v3.74.0

func (PageArrayOutput) ElementType() reflect.Type

func (PageArrayOutput) Index added in v3.74.0

func (PageArrayOutput) ToPageArrayOutput added in v3.74.0

func (o PageArrayOutput) ToPageArrayOutput() PageArrayOutput

func (PageArrayOutput) ToPageArrayOutputWithContext added in v3.74.0

func (o PageArrayOutput) ToPageArrayOutputWithContext(ctx context.Context) PageArrayOutput

type PageInput added in v3.74.0

type PageInput interface {
	pulumi.Input

	ToPageOutput() PageOutput
	ToPageOutputWithContext(ctx context.Context) PageOutput
}

type PageMap added in v3.74.0

type PageMap map[string]PageInput

func (PageMap) ElementType added in v3.74.0

func (PageMap) ElementType() reflect.Type

func (PageMap) ToPageMapOutput added in v3.74.0

func (i PageMap) ToPageMapOutput() PageMapOutput

func (PageMap) ToPageMapOutputWithContext added in v3.74.0

func (i PageMap) ToPageMapOutputWithContext(ctx context.Context) PageMapOutput

type PageMapInput added in v3.74.0

type PageMapInput interface {
	pulumi.Input

	ToPageMapOutput() PageMapOutput
	ToPageMapOutputWithContext(context.Context) PageMapOutput
}

PageMapInput is an input type that accepts PageMap and PageMapOutput values. You can construct a concrete instance of `PageMapInput` via:

PageMap{ "key": PageArgs{...} }

type PageMapOutput added in v3.74.0

type PageMapOutput struct{ *pulumi.OutputState }

func (PageMapOutput) ElementType added in v3.74.0

func (PageMapOutput) ElementType() reflect.Type

func (PageMapOutput) MapIndex added in v3.74.0

func (PageMapOutput) ToPageMapOutput added in v3.74.0

func (o PageMapOutput) ToPageMapOutput() PageMapOutput

func (PageMapOutput) ToPageMapOutputWithContext added in v3.74.0

func (o PageMapOutput) ToPageMapOutputWithContext(ctx context.Context) PageMapOutput

type PageOutput added in v3.74.0

type PageOutput struct{ *pulumi.OutputState }

func (PageOutput) Content added in v3.74.0

func (o PageOutput) Content() pulumi.StringPtrOutput

The Content-Type field in the HTTP header. Valid values:

- text/html - application/json

func (PageOutput) ContentType added in v3.74.0

func (o PageOutput) ContentType() pulumi.StringOutput

The description of the custom error page.

func (PageOutput) Description added in v3.74.0

func (o PageOutput) Description() pulumi.StringPtrOutput

The name of the custom error page.

func (PageOutput) ElementType added in v3.74.0

func (PageOutput) ElementType() reflect.Type

func (PageOutput) PageName added in v3.74.0

func (o PageOutput) PageName() pulumi.StringOutput

The ID of the custom error page, which can be obtained by calling the [ListPages](https://www.alibabacloud.com/help/en/doc-detail/2850223.html) operation.

func (PageOutput) ToPageOutput added in v3.74.0

func (o PageOutput) ToPageOutput() PageOutput

func (PageOutput) ToPageOutputWithContext added in v3.74.0

func (o PageOutput) ToPageOutputWithContext(ctx context.Context) PageOutput

type PageState added in v3.74.0

type PageState struct {
	// The Content-Type field in the HTTP header. Valid values:
	//
	// - text/html
	// - application/json
	Content pulumi.StringPtrInput
	// The description of the custom error page.
	ContentType pulumi.StringPtrInput
	// The name of the custom error page.
	Description pulumi.StringPtrInput
	// The ID of the custom error page, which can be obtained by calling the [ListPages](https://www.alibabacloud.com/help/en/doc-detail/2850223.html) operation.
	PageName pulumi.StringPtrInput
}

func (PageState) ElementType added in v3.74.0

func (PageState) ElementType() reflect.Type

type RatePlanInstance

type RatePlanInstance struct {
	pulumi.CustomResourceState

	// Whether to pay automatically.
	AutoPay pulumi.BoolPtrOutput `pulumi:"autoPay"`
	// Auto Renew:
	//
	// true: Automatic renewal.
	//
	// false: Do not renew automatically.
	AutoRenew pulumi.BoolPtrOutput `pulumi:"autoRenew"`
	// Acceleration area:
	//
	// domestic: Mainland China only.
	//
	// global: global.
	//
	// overseas: Global (excluding Mainland China).
	Coverage pulumi.StringPtrOutput `pulumi:"coverage"`
	// The new purchase time of the package instance.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Renewing: renewing
	InstanceStatus pulumi.StringOutput `pulumi:"instanceStatus"`
	// The payment type of the resource
	PaymentType pulumi.StringOutput `pulumi:"paymentType"`
	// Purchase cycle (in months).
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// The plan name, which is obtained from the DescribeRatePlanPrice interface.
	PlanName pulumi.StringPtrOutput `pulumi:"planName"`
	// The status of the resource
	Status pulumi.StringOutput `pulumi:"status"`
	// Site access type:
	//
	// NS:NS access.
	//
	// CNAME:CNAME access.
	Type pulumi.StringPtrOutput `pulumi:"type"`
}

Provides a ESA Rate Plan Instance resource.

For information about ESA Rate Plan Instance and how to use it, see [What is Rate Plan Instance](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/product-overview/query-package-information).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := esa.NewRatePlanInstance(ctx, "default", &esa.RatePlanInstanceArgs{
			Type:        pulumi.String("NS"),
			AutoRenew:   pulumi.Bool(true),
			Period:      pulumi.Int(1),
			PaymentType: pulumi.String("Subscription"),
			Coverage:    pulumi.String("overseas"),
			PlanName:    pulumi.String("basic"),
			AutoPay:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Rate Plan Instance can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/ratePlanInstance:RatePlanInstance example <id> ```

func GetRatePlanInstance

func GetRatePlanInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RatePlanInstanceState, opts ...pulumi.ResourceOption) (*RatePlanInstance, error)

GetRatePlanInstance gets an existing RatePlanInstance 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 NewRatePlanInstance

func NewRatePlanInstance(ctx *pulumi.Context,
	name string, args *RatePlanInstanceArgs, opts ...pulumi.ResourceOption) (*RatePlanInstance, error)

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

func (*RatePlanInstance) ElementType

func (*RatePlanInstance) ElementType() reflect.Type

func (*RatePlanInstance) ToRatePlanInstanceOutput

func (i *RatePlanInstance) ToRatePlanInstanceOutput() RatePlanInstanceOutput

func (*RatePlanInstance) ToRatePlanInstanceOutputWithContext

func (i *RatePlanInstance) ToRatePlanInstanceOutputWithContext(ctx context.Context) RatePlanInstanceOutput

type RatePlanInstanceArgs

type RatePlanInstanceArgs struct {
	// Whether to pay automatically.
	AutoPay pulumi.BoolPtrInput
	// Auto Renew:
	//
	// true: Automatic renewal.
	//
	// false: Do not renew automatically.
	AutoRenew pulumi.BoolPtrInput
	// Acceleration area:
	//
	// domestic: Mainland China only.
	//
	// global: global.
	//
	// overseas: Global (excluding Mainland China).
	Coverage pulumi.StringPtrInput
	// The payment type of the resource
	PaymentType pulumi.StringPtrInput
	// Purchase cycle (in months).
	Period pulumi.IntPtrInput
	// The plan name, which is obtained from the DescribeRatePlanPrice interface.
	PlanName pulumi.StringPtrInput
	// Site access type:
	//
	// NS:NS access.
	//
	// CNAME:CNAME access.
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a RatePlanInstance resource.

func (RatePlanInstanceArgs) ElementType

func (RatePlanInstanceArgs) ElementType() reflect.Type

type RatePlanInstanceArray

type RatePlanInstanceArray []RatePlanInstanceInput

func (RatePlanInstanceArray) ElementType

func (RatePlanInstanceArray) ElementType() reflect.Type

func (RatePlanInstanceArray) ToRatePlanInstanceArrayOutput

func (i RatePlanInstanceArray) ToRatePlanInstanceArrayOutput() RatePlanInstanceArrayOutput

func (RatePlanInstanceArray) ToRatePlanInstanceArrayOutputWithContext

func (i RatePlanInstanceArray) ToRatePlanInstanceArrayOutputWithContext(ctx context.Context) RatePlanInstanceArrayOutput

type RatePlanInstanceArrayInput

type RatePlanInstanceArrayInput interface {
	pulumi.Input

	ToRatePlanInstanceArrayOutput() RatePlanInstanceArrayOutput
	ToRatePlanInstanceArrayOutputWithContext(context.Context) RatePlanInstanceArrayOutput
}

RatePlanInstanceArrayInput is an input type that accepts RatePlanInstanceArray and RatePlanInstanceArrayOutput values. You can construct a concrete instance of `RatePlanInstanceArrayInput` via:

RatePlanInstanceArray{ RatePlanInstanceArgs{...} }

type RatePlanInstanceArrayOutput

type RatePlanInstanceArrayOutput struct{ *pulumi.OutputState }

func (RatePlanInstanceArrayOutput) ElementType

func (RatePlanInstanceArrayOutput) Index

func (RatePlanInstanceArrayOutput) ToRatePlanInstanceArrayOutput

func (o RatePlanInstanceArrayOutput) ToRatePlanInstanceArrayOutput() RatePlanInstanceArrayOutput

func (RatePlanInstanceArrayOutput) ToRatePlanInstanceArrayOutputWithContext

func (o RatePlanInstanceArrayOutput) ToRatePlanInstanceArrayOutputWithContext(ctx context.Context) RatePlanInstanceArrayOutput

type RatePlanInstanceInput

type RatePlanInstanceInput interface {
	pulumi.Input

	ToRatePlanInstanceOutput() RatePlanInstanceOutput
	ToRatePlanInstanceOutputWithContext(ctx context.Context) RatePlanInstanceOutput
}

type RatePlanInstanceMap

type RatePlanInstanceMap map[string]RatePlanInstanceInput

func (RatePlanInstanceMap) ElementType

func (RatePlanInstanceMap) ElementType() reflect.Type

func (RatePlanInstanceMap) ToRatePlanInstanceMapOutput

func (i RatePlanInstanceMap) ToRatePlanInstanceMapOutput() RatePlanInstanceMapOutput

func (RatePlanInstanceMap) ToRatePlanInstanceMapOutputWithContext

func (i RatePlanInstanceMap) ToRatePlanInstanceMapOutputWithContext(ctx context.Context) RatePlanInstanceMapOutput

type RatePlanInstanceMapInput

type RatePlanInstanceMapInput interface {
	pulumi.Input

	ToRatePlanInstanceMapOutput() RatePlanInstanceMapOutput
	ToRatePlanInstanceMapOutputWithContext(context.Context) RatePlanInstanceMapOutput
}

RatePlanInstanceMapInput is an input type that accepts RatePlanInstanceMap and RatePlanInstanceMapOutput values. You can construct a concrete instance of `RatePlanInstanceMapInput` via:

RatePlanInstanceMap{ "key": RatePlanInstanceArgs{...} }

type RatePlanInstanceMapOutput

type RatePlanInstanceMapOutput struct{ *pulumi.OutputState }

func (RatePlanInstanceMapOutput) ElementType

func (RatePlanInstanceMapOutput) ElementType() reflect.Type

func (RatePlanInstanceMapOutput) MapIndex

func (RatePlanInstanceMapOutput) ToRatePlanInstanceMapOutput

func (o RatePlanInstanceMapOutput) ToRatePlanInstanceMapOutput() RatePlanInstanceMapOutput

func (RatePlanInstanceMapOutput) ToRatePlanInstanceMapOutputWithContext

func (o RatePlanInstanceMapOutput) ToRatePlanInstanceMapOutputWithContext(ctx context.Context) RatePlanInstanceMapOutput

type RatePlanInstanceOutput

type RatePlanInstanceOutput struct{ *pulumi.OutputState }

func (RatePlanInstanceOutput) AutoPay

Whether to pay automatically.

func (RatePlanInstanceOutput) AutoRenew

Auto Renew:

true: Automatic renewal.

false: Do not renew automatically.

func (RatePlanInstanceOutput) Coverage

Acceleration area:

domestic: Mainland China only.

global: global.

overseas: Global (excluding Mainland China).

func (RatePlanInstanceOutput) CreateTime

The new purchase time of the package instance.

func (RatePlanInstanceOutput) ElementType

func (RatePlanInstanceOutput) ElementType() reflect.Type

func (RatePlanInstanceOutput) InstanceStatus

func (o RatePlanInstanceOutput) InstanceStatus() pulumi.StringOutput

Renewing: renewing

func (RatePlanInstanceOutput) PaymentType

func (o RatePlanInstanceOutput) PaymentType() pulumi.StringOutput

The payment type of the resource

func (RatePlanInstanceOutput) Period

Purchase cycle (in months).

func (RatePlanInstanceOutput) PlanName

The plan name, which is obtained from the DescribeRatePlanPrice interface.

func (RatePlanInstanceOutput) Status

The status of the resource

func (RatePlanInstanceOutput) ToRatePlanInstanceOutput

func (o RatePlanInstanceOutput) ToRatePlanInstanceOutput() RatePlanInstanceOutput

func (RatePlanInstanceOutput) ToRatePlanInstanceOutputWithContext

func (o RatePlanInstanceOutput) ToRatePlanInstanceOutputWithContext(ctx context.Context) RatePlanInstanceOutput

func (RatePlanInstanceOutput) Type

Site access type:

NS:NS access.

CNAME:CNAME access.

type RatePlanInstanceState

type RatePlanInstanceState struct {
	// Whether to pay automatically.
	AutoPay pulumi.BoolPtrInput
	// Auto Renew:
	//
	// true: Automatic renewal.
	//
	// false: Do not renew automatically.
	AutoRenew pulumi.BoolPtrInput
	// Acceleration area:
	//
	// domestic: Mainland China only.
	//
	// global: global.
	//
	// overseas: Global (excluding Mainland China).
	Coverage pulumi.StringPtrInput
	// The new purchase time of the package instance.
	CreateTime pulumi.StringPtrInput
	// Renewing: renewing
	InstanceStatus pulumi.StringPtrInput
	// The payment type of the resource
	PaymentType pulumi.StringPtrInput
	// Purchase cycle (in months).
	Period pulumi.IntPtrInput
	// The plan name, which is obtained from the DescribeRatePlanPrice interface.
	PlanName pulumi.StringPtrInput
	// The status of the resource
	Status pulumi.StringPtrInput
	// Site access type:
	//
	// NS:NS access.
	//
	// CNAME:CNAME access.
	Type pulumi.StringPtrInput
}

func (RatePlanInstanceState) ElementType

func (RatePlanInstanceState) ElementType() reflect.Type

type Record added in v3.72.0

type Record struct {
	pulumi.CustomResourceState

	// The origin authentication information of the CNAME record. See `authConf` below.
	AuthConf RecordAuthConfPtrOutput `pulumi:"authConf"`
	// The business scenario of the record for acceleration. Valid values:
	BizName pulumi.StringPtrOutput `pulumi:"bizName"`
	// The comments of the record.
	Comment pulumi.StringPtrOutput `pulumi:"comment"`
	// The creation time of the record. The date format follows ISO8601 notation and uses UTC time. The format is yyyy-MM-ddTHH:mm:ssZ.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The DNS record information. The format of this field varies based on the record type. For more information, see [Add DNS records](https://www.alibabacloud.com/help/doc-detail/2708761.html). See `data` below.
	Data RecordDataOutput `pulumi:"data"`
	// The origin host policy. This policy takes effect when the record type is CNAME. You can set the policy in two modes:
	HostPolicy pulumi.StringPtrOutput `pulumi:"hostPolicy"`
	// Filters by whether the record is proxied. Valid values:
	Proxied pulumi.BoolPtrOutput `pulumi:"proxied"`
	// The record name. This parameter specifies a filter condition for the query.
	RecordName pulumi.StringOutput `pulumi:"recordName"`
	// The DNS record type.
	RecordType pulumi.StringOutput `pulumi:"recordType"`
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// The origin type of the record. Only CNAME records can be filtered by using this field. Valid values:
	//
	// - `OSS`: OSS bucket.
	// - `S3`: S3 bucket.
	// - `LB`: load balancer.
	// - `OP`: origin pool.
	// - `Domain`: domain name.
	SourceType pulumi.StringPtrOutput `pulumi:"sourceType"`
	// The TTL of the record. Unit: seconds. The range is 30 to 86,400, or 1. If the value is 1, the TTL of the record is determined by the system.
	Ttl pulumi.IntPtrOutput `pulumi:"ttl"`
}

Provides a ESA Record resource.

For information about ESA Record and how to use it, see [What is Record](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/user-guide/add-parsing-record/).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := esa.NewRatePlanInstance(ctx, "default", &esa.RatePlanInstanceArgs{
			Type:        pulumi.String("NS"),
			AutoRenew:   pulumi.Bool(false),
			Period:      pulumi.Int(1),
			PaymentType: pulumi.String("Subscription"),
			Coverage:    pulumi.String("overseas"),
			AutoPay:     pulumi.Bool(true),
			PlanName:    pulumi.String("high"),
		})
		if err != nil {
			return err
		}
		defaultSite, err := esa.NewSite(ctx, "default", &esa.SiteArgs{
			SiteName:   pulumi.String("idlexamplerecord.com"),
			InstanceId: _default.ID(),
			Coverage:   pulumi.String("overseas"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		_, err = esa.NewRecord(ctx, "default", &esa.RecordArgs{
			Data: &esa.RecordDataArgs{
				Value:    pulumi.String("www.eerrraaa.com"),
				Weight:   pulumi.Int(1),
				Priority: pulumi.Int(1),
				Port:     pulumi.Int(80),
			},
			Ttl:        pulumi.Int(100),
			RecordName: pulumi.String("_udp._sip.idlexamplerecord.com"),
			Comment:    pulumi.String("This is a remark"),
			SiteId:     defaultSite.ID(),
			RecordType: pulumi.String("SRV"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Record can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/record:Record example <id> ```

func GetRecord added in v3.72.0

func GetRecord(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RecordState, opts ...pulumi.ResourceOption) (*Record, error)

GetRecord gets an existing Record 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 NewRecord added in v3.72.0

func NewRecord(ctx *pulumi.Context,
	name string, args *RecordArgs, opts ...pulumi.ResourceOption) (*Record, error)

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

func (*Record) ElementType added in v3.72.0

func (*Record) ElementType() reflect.Type

func (*Record) ToRecordOutput added in v3.72.0

func (i *Record) ToRecordOutput() RecordOutput

func (*Record) ToRecordOutputWithContext added in v3.72.0

func (i *Record) ToRecordOutputWithContext(ctx context.Context) RecordOutput

type RecordArgs added in v3.72.0

type RecordArgs struct {
	// The origin authentication information of the CNAME record. See `authConf` below.
	AuthConf RecordAuthConfPtrInput
	// The business scenario of the record for acceleration. Valid values:
	BizName pulumi.StringPtrInput
	// The comments of the record.
	Comment pulumi.StringPtrInput
	// The DNS record information. The format of this field varies based on the record type. For more information, see [Add DNS records](https://www.alibabacloud.com/help/doc-detail/2708761.html). See `data` below.
	Data RecordDataInput
	// The origin host policy. This policy takes effect when the record type is CNAME. You can set the policy in two modes:
	HostPolicy pulumi.StringPtrInput
	// Filters by whether the record is proxied. Valid values:
	Proxied pulumi.BoolPtrInput
	// The record name. This parameter specifies a filter condition for the query.
	RecordName pulumi.StringInput
	// The DNS record type.
	RecordType pulumi.StringInput
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	SiteId pulumi.IntInput
	// The origin type of the record. Only CNAME records can be filtered by using this field. Valid values:
	//
	// - `OSS`: OSS bucket.
	// - `S3`: S3 bucket.
	// - `LB`: load balancer.
	// - `OP`: origin pool.
	// - `Domain`: domain name.
	SourceType pulumi.StringPtrInput
	// The TTL of the record. Unit: seconds. The range is 30 to 86,400, or 1. If the value is 1, the TTL of the record is determined by the system.
	Ttl pulumi.IntPtrInput
}

The set of arguments for constructing a Record resource.

func (RecordArgs) ElementType added in v3.72.0

func (RecordArgs) ElementType() reflect.Type

type RecordArray added in v3.72.0

type RecordArray []RecordInput

func (RecordArray) ElementType added in v3.72.0

func (RecordArray) ElementType() reflect.Type

func (RecordArray) ToRecordArrayOutput added in v3.72.0

func (i RecordArray) ToRecordArrayOutput() RecordArrayOutput

func (RecordArray) ToRecordArrayOutputWithContext added in v3.72.0

func (i RecordArray) ToRecordArrayOutputWithContext(ctx context.Context) RecordArrayOutput

type RecordArrayInput added in v3.72.0

type RecordArrayInput interface {
	pulumi.Input

	ToRecordArrayOutput() RecordArrayOutput
	ToRecordArrayOutputWithContext(context.Context) RecordArrayOutput
}

RecordArrayInput is an input type that accepts RecordArray and RecordArrayOutput values. You can construct a concrete instance of `RecordArrayInput` via:

RecordArray{ RecordArgs{...} }

type RecordArrayOutput added in v3.72.0

type RecordArrayOutput struct{ *pulumi.OutputState }

func (RecordArrayOutput) ElementType added in v3.72.0

func (RecordArrayOutput) ElementType() reflect.Type

func (RecordArrayOutput) Index added in v3.72.0

func (RecordArrayOutput) ToRecordArrayOutput added in v3.72.0

func (o RecordArrayOutput) ToRecordArrayOutput() RecordArrayOutput

func (RecordArrayOutput) ToRecordArrayOutputWithContext added in v3.72.0

func (o RecordArrayOutput) ToRecordArrayOutputWithContext(ctx context.Context) RecordArrayOutput

type RecordAuthConf added in v3.72.0

type RecordAuthConf struct {
	// The access key of the account to which the origin server belongs. This parameter is required when the SourceType is OSS, and AuthType is private_same_account, or when the SourceType is S3 and AuthType is private.
	AccessKey *string `pulumi:"accessKey"`
	// The authentication type of the origin server. Different origins support different authentication types. The type of origin refers to the SourceType parameter in this operation. If the type of origin is OSS or S3, you must specify the authentication type of the origin. Valid values:
	AuthType *string `pulumi:"authType"`
	// The version of the signature algorithm. This parameter is required when the origin type is S3 and AuthType is private. The following two types are supported:
	Region *string `pulumi:"region"`
	// The secret access key of the account to which the origin server belongs. This parameter is required when the SourceType is OSS, and AuthType is private_same_account, or when the SourceType is S3 and AuthType is private.
	SecretKey *string `pulumi:"secretKey"`
	// The region of the origin. If the origin type is S3, you must specify this value. You can get the region information from the official website of S3.
	Version *string `pulumi:"version"`
}

type RecordAuthConfArgs added in v3.72.0

type RecordAuthConfArgs struct {
	// The access key of the account to which the origin server belongs. This parameter is required when the SourceType is OSS, and AuthType is private_same_account, or when the SourceType is S3 and AuthType is private.
	AccessKey pulumi.StringPtrInput `pulumi:"accessKey"`
	// The authentication type of the origin server. Different origins support different authentication types. The type of origin refers to the SourceType parameter in this operation. If the type of origin is OSS or S3, you must specify the authentication type of the origin. Valid values:
	AuthType pulumi.StringPtrInput `pulumi:"authType"`
	// The version of the signature algorithm. This parameter is required when the origin type is S3 and AuthType is private. The following two types are supported:
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The secret access key of the account to which the origin server belongs. This parameter is required when the SourceType is OSS, and AuthType is private_same_account, or when the SourceType is S3 and AuthType is private.
	SecretKey pulumi.StringPtrInput `pulumi:"secretKey"`
	// The region of the origin. If the origin type is S3, you must specify this value. You can get the region information from the official website of S3.
	Version pulumi.StringPtrInput `pulumi:"version"`
}

func (RecordAuthConfArgs) ElementType added in v3.72.0

func (RecordAuthConfArgs) ElementType() reflect.Type

func (RecordAuthConfArgs) ToRecordAuthConfOutput added in v3.72.0

func (i RecordAuthConfArgs) ToRecordAuthConfOutput() RecordAuthConfOutput

func (RecordAuthConfArgs) ToRecordAuthConfOutputWithContext added in v3.72.0

func (i RecordAuthConfArgs) ToRecordAuthConfOutputWithContext(ctx context.Context) RecordAuthConfOutput

func (RecordAuthConfArgs) ToRecordAuthConfPtrOutput added in v3.72.0

func (i RecordAuthConfArgs) ToRecordAuthConfPtrOutput() RecordAuthConfPtrOutput

func (RecordAuthConfArgs) ToRecordAuthConfPtrOutputWithContext added in v3.72.0

func (i RecordAuthConfArgs) ToRecordAuthConfPtrOutputWithContext(ctx context.Context) RecordAuthConfPtrOutput

type RecordAuthConfInput added in v3.72.0

type RecordAuthConfInput interface {
	pulumi.Input

	ToRecordAuthConfOutput() RecordAuthConfOutput
	ToRecordAuthConfOutputWithContext(context.Context) RecordAuthConfOutput
}

RecordAuthConfInput is an input type that accepts RecordAuthConfArgs and RecordAuthConfOutput values. You can construct a concrete instance of `RecordAuthConfInput` via:

RecordAuthConfArgs{...}

type RecordAuthConfOutput added in v3.72.0

type RecordAuthConfOutput struct{ *pulumi.OutputState }

func (RecordAuthConfOutput) AccessKey added in v3.72.0

The access key of the account to which the origin server belongs. This parameter is required when the SourceType is OSS, and AuthType is private_same_account, or when the SourceType is S3 and AuthType is private.

func (RecordAuthConfOutput) AuthType added in v3.72.0

The authentication type of the origin server. Different origins support different authentication types. The type of origin refers to the SourceType parameter in this operation. If the type of origin is OSS or S3, you must specify the authentication type of the origin. Valid values:

func (RecordAuthConfOutput) ElementType added in v3.72.0

func (RecordAuthConfOutput) ElementType() reflect.Type

func (RecordAuthConfOutput) Region added in v3.72.0

The version of the signature algorithm. This parameter is required when the origin type is S3 and AuthType is private. The following two types are supported:

func (RecordAuthConfOutput) SecretKey added in v3.72.0

The secret access key of the account to which the origin server belongs. This parameter is required when the SourceType is OSS, and AuthType is private_same_account, or when the SourceType is S3 and AuthType is private.

func (RecordAuthConfOutput) ToRecordAuthConfOutput added in v3.72.0

func (o RecordAuthConfOutput) ToRecordAuthConfOutput() RecordAuthConfOutput

func (RecordAuthConfOutput) ToRecordAuthConfOutputWithContext added in v3.72.0

func (o RecordAuthConfOutput) ToRecordAuthConfOutputWithContext(ctx context.Context) RecordAuthConfOutput

func (RecordAuthConfOutput) ToRecordAuthConfPtrOutput added in v3.72.0

func (o RecordAuthConfOutput) ToRecordAuthConfPtrOutput() RecordAuthConfPtrOutput

func (RecordAuthConfOutput) ToRecordAuthConfPtrOutputWithContext added in v3.72.0

func (o RecordAuthConfOutput) ToRecordAuthConfPtrOutputWithContext(ctx context.Context) RecordAuthConfPtrOutput

func (RecordAuthConfOutput) Version added in v3.72.0

The region of the origin. If the origin type is S3, you must specify this value. You can get the region information from the official website of S3.

type RecordAuthConfPtrInput added in v3.72.0

type RecordAuthConfPtrInput interface {
	pulumi.Input

	ToRecordAuthConfPtrOutput() RecordAuthConfPtrOutput
	ToRecordAuthConfPtrOutputWithContext(context.Context) RecordAuthConfPtrOutput
}

RecordAuthConfPtrInput is an input type that accepts RecordAuthConfArgs, RecordAuthConfPtr and RecordAuthConfPtrOutput values. You can construct a concrete instance of `RecordAuthConfPtrInput` via:

        RecordAuthConfArgs{...}

or:

        nil

func RecordAuthConfPtr added in v3.72.0

func RecordAuthConfPtr(v *RecordAuthConfArgs) RecordAuthConfPtrInput

type RecordAuthConfPtrOutput added in v3.72.0

type RecordAuthConfPtrOutput struct{ *pulumi.OutputState }

func (RecordAuthConfPtrOutput) AccessKey added in v3.72.0

The access key of the account to which the origin server belongs. This parameter is required when the SourceType is OSS, and AuthType is private_same_account, or when the SourceType is S3 and AuthType is private.

func (RecordAuthConfPtrOutput) AuthType added in v3.72.0

The authentication type of the origin server. Different origins support different authentication types. The type of origin refers to the SourceType parameter in this operation. If the type of origin is OSS or S3, you must specify the authentication type of the origin. Valid values:

func (RecordAuthConfPtrOutput) Elem added in v3.72.0

func (RecordAuthConfPtrOutput) ElementType added in v3.72.0

func (RecordAuthConfPtrOutput) ElementType() reflect.Type

func (RecordAuthConfPtrOutput) Region added in v3.72.0

The version of the signature algorithm. This parameter is required when the origin type is S3 and AuthType is private. The following two types are supported:

func (RecordAuthConfPtrOutput) SecretKey added in v3.72.0

The secret access key of the account to which the origin server belongs. This parameter is required when the SourceType is OSS, and AuthType is private_same_account, or when the SourceType is S3 and AuthType is private.

func (RecordAuthConfPtrOutput) ToRecordAuthConfPtrOutput added in v3.72.0

func (o RecordAuthConfPtrOutput) ToRecordAuthConfPtrOutput() RecordAuthConfPtrOutput

func (RecordAuthConfPtrOutput) ToRecordAuthConfPtrOutputWithContext added in v3.72.0

func (o RecordAuthConfPtrOutput) ToRecordAuthConfPtrOutputWithContext(ctx context.Context) RecordAuthConfPtrOutput

func (RecordAuthConfPtrOutput) Version added in v3.72.0

The region of the origin. If the origin type is S3, you must specify this value. You can get the region information from the official website of S3.

type RecordData added in v3.72.0

type RecordData struct {
	// The encryption algorithm used for the record, specified within the range from 0 to 255. This parameter is required when you add CERT or SSHFP records.
	Algorithm *int `pulumi:"algorithm"`
	// The public key of the certificate. This parameter is required when you add CERT, SMIMEA, or TLSA records.
	Certificate *string `pulumi:"certificate"`
	// The public key fingerprint of the record. This parameter is required when you add a SSHFP record.
	Fingerprint *string `pulumi:"fingerprint"`
	// The flag bit of the record. The Flag for a CAA record indicates its priority and how it is processed, specified within the range of 0 to 255. This parameter is required when you add a CAA record.
	Flag *int `pulumi:"flag"`
	// The public key identification for the record, specified within the range of 0 to 65,535. This parameter is required when you add a CAA record.
	KeyTag *int `pulumi:"keyTag"`
	// The algorithm policy used to match or validate the certificate, specified within the range 0 to 255. This parameter is required when you add SMIMEA or TLSA records.
	MatchingType *int `pulumi:"matchingType"`
	// The port of the record, specified within the range of 0 to 65,535. This parameter is required when you add an SRV record.
	Port *int `pulumi:"port"`
	// The priority of the record, specified within the range of 0 to 65,535. A smaller value indicates a higher priority. This parameter is required when you add MX, SRV, and URI records.
	Priority *int `pulumi:"priority"`
	// The type of certificate or public key, specified within the range of 0 to 255. This parameter is required when you add SMIMEA or TLSA records.
	Selector *int `pulumi:"selector"`
	// The label of the record. The Tag of a CAA record indicate its specific type and usage. This parameter is required when you add a CAA record.
	Tag *string `pulumi:"tag"`
	// The certificate type of the record (in CERT records), or the public key type (in SSHFP records). This parameter is required when you add CERT or SSHFP records.
	Type *int `pulumi:"type"`
	// The usage identifier of the record, specified within the range of 0 to 255. This parameter is required when you add SMIMEA or TLSA records.
	Usage *int `pulumi:"usage"`
	// The record value or part of the record content. This parameter is required when you add A/AAAA, CNAME, NS, MX, TXT, CAA, SRV, and URI records. It has different meanings based on different types of records:
	//
	// - **A/AAAA**: the IP address(es). Separate multiple IPs with commas (,). You must have at least one IPv4 address.
	// - `CNAME`: the target domain name.
	// - `NS`: the name servers for the domain name.
	// - `MX`: a valid domain name of the target mail server.
	// - `TXT`: a valid text string.
	// - `CAA`: a valid domain name of the certificate authority.
	// - `SRV`: a valid domain name of the target host.
	// - `URI`: a valid URI string.
	Value *string `pulumi:"value"`
	// The weight of the record, specified within the range of 0 to 65,535. This parameter is required when you add SRV or URI records.
	Weight *int `pulumi:"weight"`
}

type RecordDataArgs added in v3.72.0

type RecordDataArgs struct {
	// The encryption algorithm used for the record, specified within the range from 0 to 255. This parameter is required when you add CERT or SSHFP records.
	Algorithm pulumi.IntPtrInput `pulumi:"algorithm"`
	// The public key of the certificate. This parameter is required when you add CERT, SMIMEA, or TLSA records.
	Certificate pulumi.StringPtrInput `pulumi:"certificate"`
	// The public key fingerprint of the record. This parameter is required when you add a SSHFP record.
	Fingerprint pulumi.StringPtrInput `pulumi:"fingerprint"`
	// The flag bit of the record. The Flag for a CAA record indicates its priority and how it is processed, specified within the range of 0 to 255. This parameter is required when you add a CAA record.
	Flag pulumi.IntPtrInput `pulumi:"flag"`
	// The public key identification for the record, specified within the range of 0 to 65,535. This parameter is required when you add a CAA record.
	KeyTag pulumi.IntPtrInput `pulumi:"keyTag"`
	// The algorithm policy used to match or validate the certificate, specified within the range 0 to 255. This parameter is required when you add SMIMEA or TLSA records.
	MatchingType pulumi.IntPtrInput `pulumi:"matchingType"`
	// The port of the record, specified within the range of 0 to 65,535. This parameter is required when you add an SRV record.
	Port pulumi.IntPtrInput `pulumi:"port"`
	// The priority of the record, specified within the range of 0 to 65,535. A smaller value indicates a higher priority. This parameter is required when you add MX, SRV, and URI records.
	Priority pulumi.IntPtrInput `pulumi:"priority"`
	// The type of certificate or public key, specified within the range of 0 to 255. This parameter is required when you add SMIMEA or TLSA records.
	Selector pulumi.IntPtrInput `pulumi:"selector"`
	// The label of the record. The Tag of a CAA record indicate its specific type and usage. This parameter is required when you add a CAA record.
	Tag pulumi.StringPtrInput `pulumi:"tag"`
	// The certificate type of the record (in CERT records), or the public key type (in SSHFP records). This parameter is required when you add CERT or SSHFP records.
	Type pulumi.IntPtrInput `pulumi:"type"`
	// The usage identifier of the record, specified within the range of 0 to 255. This parameter is required when you add SMIMEA or TLSA records.
	Usage pulumi.IntPtrInput `pulumi:"usage"`
	// The record value or part of the record content. This parameter is required when you add A/AAAA, CNAME, NS, MX, TXT, CAA, SRV, and URI records. It has different meanings based on different types of records:
	//
	// - **A/AAAA**: the IP address(es). Separate multiple IPs with commas (,). You must have at least one IPv4 address.
	// - `CNAME`: the target domain name.
	// - `NS`: the name servers for the domain name.
	// - `MX`: a valid domain name of the target mail server.
	// - `TXT`: a valid text string.
	// - `CAA`: a valid domain name of the certificate authority.
	// - `SRV`: a valid domain name of the target host.
	// - `URI`: a valid URI string.
	Value pulumi.StringPtrInput `pulumi:"value"`
	// The weight of the record, specified within the range of 0 to 65,535. This parameter is required when you add SRV or URI records.
	Weight pulumi.IntPtrInput `pulumi:"weight"`
}

func (RecordDataArgs) ElementType added in v3.72.0

func (RecordDataArgs) ElementType() reflect.Type

func (RecordDataArgs) ToRecordDataOutput added in v3.72.0

func (i RecordDataArgs) ToRecordDataOutput() RecordDataOutput

func (RecordDataArgs) ToRecordDataOutputWithContext added in v3.72.0

func (i RecordDataArgs) ToRecordDataOutputWithContext(ctx context.Context) RecordDataOutput

func (RecordDataArgs) ToRecordDataPtrOutput added in v3.72.0

func (i RecordDataArgs) ToRecordDataPtrOutput() RecordDataPtrOutput

func (RecordDataArgs) ToRecordDataPtrOutputWithContext added in v3.72.0

func (i RecordDataArgs) ToRecordDataPtrOutputWithContext(ctx context.Context) RecordDataPtrOutput

type RecordDataInput added in v3.72.0

type RecordDataInput interface {
	pulumi.Input

	ToRecordDataOutput() RecordDataOutput
	ToRecordDataOutputWithContext(context.Context) RecordDataOutput
}

RecordDataInput is an input type that accepts RecordDataArgs and RecordDataOutput values. You can construct a concrete instance of `RecordDataInput` via:

RecordDataArgs{...}

type RecordDataOutput added in v3.72.0

type RecordDataOutput struct{ *pulumi.OutputState }

func (RecordDataOutput) Algorithm added in v3.72.0

func (o RecordDataOutput) Algorithm() pulumi.IntPtrOutput

The encryption algorithm used for the record, specified within the range from 0 to 255. This parameter is required when you add CERT or SSHFP records.

func (RecordDataOutput) Certificate added in v3.72.0

func (o RecordDataOutput) Certificate() pulumi.StringPtrOutput

The public key of the certificate. This parameter is required when you add CERT, SMIMEA, or TLSA records.

func (RecordDataOutput) ElementType added in v3.72.0

func (RecordDataOutput) ElementType() reflect.Type

func (RecordDataOutput) Fingerprint added in v3.72.0

func (o RecordDataOutput) Fingerprint() pulumi.StringPtrOutput

The public key fingerprint of the record. This parameter is required when you add a SSHFP record.

func (RecordDataOutput) Flag added in v3.72.0

The flag bit of the record. The Flag for a CAA record indicates its priority and how it is processed, specified within the range of 0 to 255. This parameter is required when you add a CAA record.

func (RecordDataOutput) KeyTag added in v3.72.0

The public key identification for the record, specified within the range of 0 to 65,535. This parameter is required when you add a CAA record.

func (RecordDataOutput) MatchingType added in v3.72.0

func (o RecordDataOutput) MatchingType() pulumi.IntPtrOutput

The algorithm policy used to match or validate the certificate, specified within the range 0 to 255. This parameter is required when you add SMIMEA or TLSA records.

func (RecordDataOutput) Port added in v3.72.0

The port of the record, specified within the range of 0 to 65,535. This parameter is required when you add an SRV record.

func (RecordDataOutput) Priority added in v3.72.0

func (o RecordDataOutput) Priority() pulumi.IntPtrOutput

The priority of the record, specified within the range of 0 to 65,535. A smaller value indicates a higher priority. This parameter is required when you add MX, SRV, and URI records.

func (RecordDataOutput) Selector added in v3.72.0

func (o RecordDataOutput) Selector() pulumi.IntPtrOutput

The type of certificate or public key, specified within the range of 0 to 255. This parameter is required when you add SMIMEA or TLSA records.

func (RecordDataOutput) Tag added in v3.72.0

The label of the record. The Tag of a CAA record indicate its specific type and usage. This parameter is required when you add a CAA record.

func (RecordDataOutput) ToRecordDataOutput added in v3.72.0

func (o RecordDataOutput) ToRecordDataOutput() RecordDataOutput

func (RecordDataOutput) ToRecordDataOutputWithContext added in v3.72.0

func (o RecordDataOutput) ToRecordDataOutputWithContext(ctx context.Context) RecordDataOutput

func (RecordDataOutput) ToRecordDataPtrOutput added in v3.72.0

func (o RecordDataOutput) ToRecordDataPtrOutput() RecordDataPtrOutput

func (RecordDataOutput) ToRecordDataPtrOutputWithContext added in v3.72.0

func (o RecordDataOutput) ToRecordDataPtrOutputWithContext(ctx context.Context) RecordDataPtrOutput

func (RecordDataOutput) Type added in v3.72.0

The certificate type of the record (in CERT records), or the public key type (in SSHFP records). This parameter is required when you add CERT or SSHFP records.

func (RecordDataOutput) Usage added in v3.72.0

The usage identifier of the record, specified within the range of 0 to 255. This parameter is required when you add SMIMEA or TLSA records.

func (RecordDataOutput) Value added in v3.72.0

The record value or part of the record content. This parameter is required when you add A/AAAA, CNAME, NS, MX, TXT, CAA, SRV, and URI records. It has different meanings based on different types of records:

- **A/AAAA**: the IP address(es). Separate multiple IPs with commas (,). You must have at least one IPv4 address. - `CNAME`: the target domain name. - `NS`: the name servers for the domain name. - `MX`: a valid domain name of the target mail server. - `TXT`: a valid text string. - `CAA`: a valid domain name of the certificate authority. - `SRV`: a valid domain name of the target host. - `URI`: a valid URI string.

func (RecordDataOutput) Weight added in v3.72.0

The weight of the record, specified within the range of 0 to 65,535. This parameter is required when you add SRV or URI records.

type RecordDataPtrInput added in v3.72.0

type RecordDataPtrInput interface {
	pulumi.Input

	ToRecordDataPtrOutput() RecordDataPtrOutput
	ToRecordDataPtrOutputWithContext(context.Context) RecordDataPtrOutput
}

RecordDataPtrInput is an input type that accepts RecordDataArgs, RecordDataPtr and RecordDataPtrOutput values. You can construct a concrete instance of `RecordDataPtrInput` via:

        RecordDataArgs{...}

or:

        nil

func RecordDataPtr added in v3.72.0

func RecordDataPtr(v *RecordDataArgs) RecordDataPtrInput

type RecordDataPtrOutput added in v3.72.0

type RecordDataPtrOutput struct{ *pulumi.OutputState }

func (RecordDataPtrOutput) Algorithm added in v3.72.0

func (o RecordDataPtrOutput) Algorithm() pulumi.IntPtrOutput

The encryption algorithm used for the record, specified within the range from 0 to 255. This parameter is required when you add CERT or SSHFP records.

func (RecordDataPtrOutput) Certificate added in v3.72.0

func (o RecordDataPtrOutput) Certificate() pulumi.StringPtrOutput

The public key of the certificate. This parameter is required when you add CERT, SMIMEA, or TLSA records.

func (RecordDataPtrOutput) Elem added in v3.72.0

func (RecordDataPtrOutput) ElementType added in v3.72.0

func (RecordDataPtrOutput) ElementType() reflect.Type

func (RecordDataPtrOutput) Fingerprint added in v3.72.0

func (o RecordDataPtrOutput) Fingerprint() pulumi.StringPtrOutput

The public key fingerprint of the record. This parameter is required when you add a SSHFP record.

func (RecordDataPtrOutput) Flag added in v3.72.0

The flag bit of the record. The Flag for a CAA record indicates its priority and how it is processed, specified within the range of 0 to 255. This parameter is required when you add a CAA record.

func (RecordDataPtrOutput) KeyTag added in v3.72.0

The public key identification for the record, specified within the range of 0 to 65,535. This parameter is required when you add a CAA record.

func (RecordDataPtrOutput) MatchingType added in v3.72.0

func (o RecordDataPtrOutput) MatchingType() pulumi.IntPtrOutput

The algorithm policy used to match or validate the certificate, specified within the range 0 to 255. This parameter is required when you add SMIMEA or TLSA records.

func (RecordDataPtrOutput) Port added in v3.72.0

The port of the record, specified within the range of 0 to 65,535. This parameter is required when you add an SRV record.

func (RecordDataPtrOutput) Priority added in v3.72.0

The priority of the record, specified within the range of 0 to 65,535. A smaller value indicates a higher priority. This parameter is required when you add MX, SRV, and URI records.

func (RecordDataPtrOutput) Selector added in v3.72.0

The type of certificate or public key, specified within the range of 0 to 255. This parameter is required when you add SMIMEA or TLSA records.

func (RecordDataPtrOutput) Tag added in v3.72.0

The label of the record. The Tag of a CAA record indicate its specific type and usage. This parameter is required when you add a CAA record.

func (RecordDataPtrOutput) ToRecordDataPtrOutput added in v3.72.0

func (o RecordDataPtrOutput) ToRecordDataPtrOutput() RecordDataPtrOutput

func (RecordDataPtrOutput) ToRecordDataPtrOutputWithContext added in v3.72.0

func (o RecordDataPtrOutput) ToRecordDataPtrOutputWithContext(ctx context.Context) RecordDataPtrOutput

func (RecordDataPtrOutput) Type added in v3.72.0

The certificate type of the record (in CERT records), or the public key type (in SSHFP records). This parameter is required when you add CERT or SSHFP records.

func (RecordDataPtrOutput) Usage added in v3.72.0

The usage identifier of the record, specified within the range of 0 to 255. This parameter is required when you add SMIMEA or TLSA records.

func (RecordDataPtrOutput) Value added in v3.72.0

The record value or part of the record content. This parameter is required when you add A/AAAA, CNAME, NS, MX, TXT, CAA, SRV, and URI records. It has different meanings based on different types of records:

- **A/AAAA**: the IP address(es). Separate multiple IPs with commas (,). You must have at least one IPv4 address. - `CNAME`: the target domain name. - `NS`: the name servers for the domain name. - `MX`: a valid domain name of the target mail server. - `TXT`: a valid text string. - `CAA`: a valid domain name of the certificate authority. - `SRV`: a valid domain name of the target host. - `URI`: a valid URI string.

func (RecordDataPtrOutput) Weight added in v3.72.0

The weight of the record, specified within the range of 0 to 65,535. This parameter is required when you add SRV or URI records.

type RecordInput added in v3.72.0

type RecordInput interface {
	pulumi.Input

	ToRecordOutput() RecordOutput
	ToRecordOutputWithContext(ctx context.Context) RecordOutput
}

type RecordMap added in v3.72.0

type RecordMap map[string]RecordInput

func (RecordMap) ElementType added in v3.72.0

func (RecordMap) ElementType() reflect.Type

func (RecordMap) ToRecordMapOutput added in v3.72.0

func (i RecordMap) ToRecordMapOutput() RecordMapOutput

func (RecordMap) ToRecordMapOutputWithContext added in v3.72.0

func (i RecordMap) ToRecordMapOutputWithContext(ctx context.Context) RecordMapOutput

type RecordMapInput added in v3.72.0

type RecordMapInput interface {
	pulumi.Input

	ToRecordMapOutput() RecordMapOutput
	ToRecordMapOutputWithContext(context.Context) RecordMapOutput
}

RecordMapInput is an input type that accepts RecordMap and RecordMapOutput values. You can construct a concrete instance of `RecordMapInput` via:

RecordMap{ "key": RecordArgs{...} }

type RecordMapOutput added in v3.72.0

type RecordMapOutput struct{ *pulumi.OutputState }

func (RecordMapOutput) ElementType added in v3.72.0

func (RecordMapOutput) ElementType() reflect.Type

func (RecordMapOutput) MapIndex added in v3.72.0

func (RecordMapOutput) ToRecordMapOutput added in v3.72.0

func (o RecordMapOutput) ToRecordMapOutput() RecordMapOutput

func (RecordMapOutput) ToRecordMapOutputWithContext added in v3.72.0

func (o RecordMapOutput) ToRecordMapOutputWithContext(ctx context.Context) RecordMapOutput

type RecordOutput added in v3.72.0

type RecordOutput struct{ *pulumi.OutputState }

func (RecordOutput) AuthConf added in v3.72.0

The origin authentication information of the CNAME record. See `authConf` below.

func (RecordOutput) BizName added in v3.72.0

func (o RecordOutput) BizName() pulumi.StringPtrOutput

The business scenario of the record for acceleration. Valid values:

func (RecordOutput) Comment added in v3.72.0

func (o RecordOutput) Comment() pulumi.StringPtrOutput

The comments of the record.

func (RecordOutput) CreateTime added in v3.72.0

func (o RecordOutput) CreateTime() pulumi.StringOutput

The creation time of the record. The date format follows ISO8601 notation and uses UTC time. The format is yyyy-MM-ddTHH:mm:ssZ.

func (RecordOutput) Data added in v3.72.0

func (o RecordOutput) Data() RecordDataOutput

The DNS record information. The format of this field varies based on the record type. For more information, see [Add DNS records](https://www.alibabacloud.com/help/doc-detail/2708761.html). See `data` below.

func (RecordOutput) ElementType added in v3.72.0

func (RecordOutput) ElementType() reflect.Type

func (RecordOutput) HostPolicy added in v3.72.0

func (o RecordOutput) HostPolicy() pulumi.StringPtrOutput

The origin host policy. This policy takes effect when the record type is CNAME. You can set the policy in two modes:

func (RecordOutput) Proxied added in v3.72.0

func (o RecordOutput) Proxied() pulumi.BoolPtrOutput

Filters by whether the record is proxied. Valid values:

func (RecordOutput) RecordName added in v3.72.0

func (o RecordOutput) RecordName() pulumi.StringOutput

The record name. This parameter specifies a filter condition for the query.

func (RecordOutput) RecordType added in v3.72.0

func (o RecordOutput) RecordType() pulumi.StringOutput

The DNS record type.

func (RecordOutput) SiteId added in v3.72.0

func (o RecordOutput) SiteId() pulumi.IntOutput

The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.

func (RecordOutput) SourceType added in v3.72.0

func (o RecordOutput) SourceType() pulumi.StringPtrOutput

The origin type of the record. Only CNAME records can be filtered by using this field. Valid values:

- `OSS`: OSS bucket. - `S3`: S3 bucket. - `LB`: load balancer. - `OP`: origin pool. - `Domain`: domain name.

func (RecordOutput) ToRecordOutput added in v3.72.0

func (o RecordOutput) ToRecordOutput() RecordOutput

func (RecordOutput) ToRecordOutputWithContext added in v3.72.0

func (o RecordOutput) ToRecordOutputWithContext(ctx context.Context) RecordOutput

func (RecordOutput) Ttl added in v3.72.0

The TTL of the record. Unit: seconds. The range is 30 to 86,400, or 1. If the value is 1, the TTL of the record is determined by the system.

type RecordState added in v3.72.0

type RecordState struct {
	// The origin authentication information of the CNAME record. See `authConf` below.
	AuthConf RecordAuthConfPtrInput
	// The business scenario of the record for acceleration. Valid values:
	BizName pulumi.StringPtrInput
	// The comments of the record.
	Comment pulumi.StringPtrInput
	// The creation time of the record. The date format follows ISO8601 notation and uses UTC time. The format is yyyy-MM-ddTHH:mm:ssZ.
	CreateTime pulumi.StringPtrInput
	// The DNS record information. The format of this field varies based on the record type. For more information, see [Add DNS records](https://www.alibabacloud.com/help/doc-detail/2708761.html). See `data` below.
	Data RecordDataPtrInput
	// The origin host policy. This policy takes effect when the record type is CNAME. You can set the policy in two modes:
	HostPolicy pulumi.StringPtrInput
	// Filters by whether the record is proxied. Valid values:
	Proxied pulumi.BoolPtrInput
	// The record name. This parameter specifies a filter condition for the query.
	RecordName pulumi.StringPtrInput
	// The DNS record type.
	RecordType pulumi.StringPtrInput
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	SiteId pulumi.IntPtrInput
	// The origin type of the record. Only CNAME records can be filtered by using this field. Valid values:
	//
	// - `OSS`: OSS bucket.
	// - `S3`: S3 bucket.
	// - `LB`: load balancer.
	// - `OP`: origin pool.
	// - `Domain`: domain name.
	SourceType pulumi.StringPtrInput
	// The TTL of the record. Unit: seconds. The range is 30 to 86,400, or 1. If the value is 1, the TTL of the record is determined by the system.
	Ttl pulumi.IntPtrInput
}

func (RecordState) ElementType added in v3.72.0

func (RecordState) ElementType() reflect.Type

type RedirectRule added in v3.75.0

type RedirectRule struct {
	pulumi.CustomResourceState

	// Config Id
	ConfigId pulumi.IntOutput `pulumi:"configId"`
	// Indicates whether the feature of retaining the query string is enabled. Valid values:
	//
	// - on
	// - off
	ReserveQueryString pulumi.StringOutput `pulumi:"reserveQueryString"`
	// The rule content.
	Rule pulumi.StringPtrOutput `pulumi:"rule"`
	// Indicates whether the rule is enabled. Valid values:
	RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"`
	// 规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效
	RuleName pulumi.StringPtrOutput `pulumi:"ruleName"`
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// The version of the website configurations.
	SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"`
	// The response code that you want to use to indicate URL redirection. Valid values:
	//
	// - 301
	// - 302
	// - 303
	// - 307
	// - 308
	StatusCode pulumi.StringOutput `pulumi:"statusCode"`
	// The destination URL to which requests are redirected.
	TargetUrl pulumi.StringOutput `pulumi:"targetUrl"`
	// The redirect type. Valid value:
	//
	// - static
	Type pulumi.StringOutput `pulumi:"type"`
}

Provides a ESA Redirect Rule resource.

For information about ESA Redirect Rule and how to use it, see [What is Redirect Rule](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-createredirectrule).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		resourceRedirectRuleExample, err := esa.NewRatePlanInstance(ctx, "resource_RedirectRule_example", &esa.RatePlanInstanceArgs{
			Type:        pulumi.String("NS"),
			AutoRenew:   pulumi.Bool(false),
			Period:      pulumi.Int(1),
			PaymentType: pulumi.String("Subscription"),
			Coverage:    pulumi.String("overseas"),
			AutoPay:     pulumi.Bool(true),
			PlanName:    pulumi.String("high"),
		})
		if err != nil {
			return err
		}
		resourceSiteRedirectRuleExample, err := esa.NewSite(ctx, "resource_Site_RedirectRule_example", &esa.SiteArgs{
			SiteName:   pulumi.String("gositecdn.cn"),
			InstanceId: resourceRedirectRuleExample.ID(),
			Coverage:   pulumi.String("overseas"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		_, err = esa.NewRedirectRule(ctx, "default", &esa.RedirectRuleArgs{
			StatusCode:         pulumi.String("301"),
			RuleName:           pulumi.String("example"),
			SiteId:             resourceSiteRedirectRuleExample.ID(),
			Type:               pulumi.String("static"),
			ReserveQueryString: pulumi.String("on"),
			TargetUrl:          pulumi.String("http://www.exapmle.com/index.html"),
			RuleEnable:         pulumi.String("on"),
			SiteVersion:        pulumi.Int(0),
			Rule:               pulumi.String("(http.host eq \"video.example.com\")"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Redirect Rule can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/redirectRule:RedirectRule example <site_id>:<config_id> ```

func GetRedirectRule added in v3.75.0

func GetRedirectRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RedirectRuleState, opts ...pulumi.ResourceOption) (*RedirectRule, error)

GetRedirectRule gets an existing RedirectRule 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 NewRedirectRule added in v3.75.0

func NewRedirectRule(ctx *pulumi.Context,
	name string, args *RedirectRuleArgs, opts ...pulumi.ResourceOption) (*RedirectRule, error)

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

func (*RedirectRule) ElementType added in v3.75.0

func (*RedirectRule) ElementType() reflect.Type

func (*RedirectRule) ToRedirectRuleOutput added in v3.75.0

func (i *RedirectRule) ToRedirectRuleOutput() RedirectRuleOutput

func (*RedirectRule) ToRedirectRuleOutputWithContext added in v3.75.0

func (i *RedirectRule) ToRedirectRuleOutputWithContext(ctx context.Context) RedirectRuleOutput

type RedirectRuleArgs added in v3.75.0

type RedirectRuleArgs struct {
	// Indicates whether the feature of retaining the query string is enabled. Valid values:
	//
	// - on
	// - off
	ReserveQueryString pulumi.StringInput
	// The rule content.
	Rule pulumi.StringPtrInput
	// Indicates whether the rule is enabled. Valid values:
	RuleEnable pulumi.StringPtrInput
	// 规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效
	RuleName pulumi.StringPtrInput
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	SiteId pulumi.IntInput
	// The version of the website configurations.
	SiteVersion pulumi.IntPtrInput
	// The response code that you want to use to indicate URL redirection. Valid values:
	//
	// - 301
	// - 302
	// - 303
	// - 307
	// - 308
	StatusCode pulumi.StringInput
	// The destination URL to which requests are redirected.
	TargetUrl pulumi.StringInput
	// The redirect type. Valid value:
	//
	// - static
	Type pulumi.StringInput
}

The set of arguments for constructing a RedirectRule resource.

func (RedirectRuleArgs) ElementType added in v3.75.0

func (RedirectRuleArgs) ElementType() reflect.Type

type RedirectRuleArray added in v3.75.0

type RedirectRuleArray []RedirectRuleInput

func (RedirectRuleArray) ElementType added in v3.75.0

func (RedirectRuleArray) ElementType() reflect.Type

func (RedirectRuleArray) ToRedirectRuleArrayOutput added in v3.75.0

func (i RedirectRuleArray) ToRedirectRuleArrayOutput() RedirectRuleArrayOutput

func (RedirectRuleArray) ToRedirectRuleArrayOutputWithContext added in v3.75.0

func (i RedirectRuleArray) ToRedirectRuleArrayOutputWithContext(ctx context.Context) RedirectRuleArrayOutput

type RedirectRuleArrayInput added in v3.75.0

type RedirectRuleArrayInput interface {
	pulumi.Input

	ToRedirectRuleArrayOutput() RedirectRuleArrayOutput
	ToRedirectRuleArrayOutputWithContext(context.Context) RedirectRuleArrayOutput
}

RedirectRuleArrayInput is an input type that accepts RedirectRuleArray and RedirectRuleArrayOutput values. You can construct a concrete instance of `RedirectRuleArrayInput` via:

RedirectRuleArray{ RedirectRuleArgs{...} }

type RedirectRuleArrayOutput added in v3.75.0

type RedirectRuleArrayOutput struct{ *pulumi.OutputState }

func (RedirectRuleArrayOutput) ElementType added in v3.75.0

func (RedirectRuleArrayOutput) ElementType() reflect.Type

func (RedirectRuleArrayOutput) Index added in v3.75.0

func (RedirectRuleArrayOutput) ToRedirectRuleArrayOutput added in v3.75.0

func (o RedirectRuleArrayOutput) ToRedirectRuleArrayOutput() RedirectRuleArrayOutput

func (RedirectRuleArrayOutput) ToRedirectRuleArrayOutputWithContext added in v3.75.0

func (o RedirectRuleArrayOutput) ToRedirectRuleArrayOutputWithContext(ctx context.Context) RedirectRuleArrayOutput

type RedirectRuleInput added in v3.75.0

type RedirectRuleInput interface {
	pulumi.Input

	ToRedirectRuleOutput() RedirectRuleOutput
	ToRedirectRuleOutputWithContext(ctx context.Context) RedirectRuleOutput
}

type RedirectRuleMap added in v3.75.0

type RedirectRuleMap map[string]RedirectRuleInput

func (RedirectRuleMap) ElementType added in v3.75.0

func (RedirectRuleMap) ElementType() reflect.Type

func (RedirectRuleMap) ToRedirectRuleMapOutput added in v3.75.0

func (i RedirectRuleMap) ToRedirectRuleMapOutput() RedirectRuleMapOutput

func (RedirectRuleMap) ToRedirectRuleMapOutputWithContext added in v3.75.0

func (i RedirectRuleMap) ToRedirectRuleMapOutputWithContext(ctx context.Context) RedirectRuleMapOutput

type RedirectRuleMapInput added in v3.75.0

type RedirectRuleMapInput interface {
	pulumi.Input

	ToRedirectRuleMapOutput() RedirectRuleMapOutput
	ToRedirectRuleMapOutputWithContext(context.Context) RedirectRuleMapOutput
}

RedirectRuleMapInput is an input type that accepts RedirectRuleMap and RedirectRuleMapOutput values. You can construct a concrete instance of `RedirectRuleMapInput` via:

RedirectRuleMap{ "key": RedirectRuleArgs{...} }

type RedirectRuleMapOutput added in v3.75.0

type RedirectRuleMapOutput struct{ *pulumi.OutputState }

func (RedirectRuleMapOutput) ElementType added in v3.75.0

func (RedirectRuleMapOutput) ElementType() reflect.Type

func (RedirectRuleMapOutput) MapIndex added in v3.75.0

func (RedirectRuleMapOutput) ToRedirectRuleMapOutput added in v3.75.0

func (o RedirectRuleMapOutput) ToRedirectRuleMapOutput() RedirectRuleMapOutput

func (RedirectRuleMapOutput) ToRedirectRuleMapOutputWithContext added in v3.75.0

func (o RedirectRuleMapOutput) ToRedirectRuleMapOutputWithContext(ctx context.Context) RedirectRuleMapOutput

type RedirectRuleOutput added in v3.75.0

type RedirectRuleOutput struct{ *pulumi.OutputState }

func (RedirectRuleOutput) ConfigId added in v3.75.0

func (o RedirectRuleOutput) ConfigId() pulumi.IntOutput

Config Id

func (RedirectRuleOutput) ElementType added in v3.75.0

func (RedirectRuleOutput) ElementType() reflect.Type

func (RedirectRuleOutput) ReserveQueryString added in v3.75.0

func (o RedirectRuleOutput) ReserveQueryString() pulumi.StringOutput

Indicates whether the feature of retaining the query string is enabled. Valid values:

- on - off

func (RedirectRuleOutput) Rule added in v3.75.0

The rule content.

func (RedirectRuleOutput) RuleEnable added in v3.75.0

func (o RedirectRuleOutput) RuleEnable() pulumi.StringPtrOutput

Indicates whether the rule is enabled. Valid values:

func (RedirectRuleOutput) RuleName added in v3.75.0

规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效

func (RedirectRuleOutput) SiteId added in v3.75.0

func (o RedirectRuleOutput) SiteId() pulumi.IntOutput

The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.

func (RedirectRuleOutput) SiteVersion added in v3.75.0

func (o RedirectRuleOutput) SiteVersion() pulumi.IntPtrOutput

The version of the website configurations.

func (RedirectRuleOutput) StatusCode added in v3.75.0

func (o RedirectRuleOutput) StatusCode() pulumi.StringOutput

The response code that you want to use to indicate URL redirection. Valid values:

- 301 - 302 - 303 - 307 - 308

func (RedirectRuleOutput) TargetUrl added in v3.75.0

func (o RedirectRuleOutput) TargetUrl() pulumi.StringOutput

The destination URL to which requests are redirected.

func (RedirectRuleOutput) ToRedirectRuleOutput added in v3.75.0

func (o RedirectRuleOutput) ToRedirectRuleOutput() RedirectRuleOutput

func (RedirectRuleOutput) ToRedirectRuleOutputWithContext added in v3.75.0

func (o RedirectRuleOutput) ToRedirectRuleOutputWithContext(ctx context.Context) RedirectRuleOutput

func (RedirectRuleOutput) Type added in v3.75.0

The redirect type. Valid value:

- static

type RedirectRuleState added in v3.75.0

type RedirectRuleState struct {
	// Config Id
	ConfigId pulumi.IntPtrInput
	// Indicates whether the feature of retaining the query string is enabled. Valid values:
	//
	// - on
	// - off
	ReserveQueryString pulumi.StringPtrInput
	// The rule content.
	Rule pulumi.StringPtrInput
	// Indicates whether the rule is enabled. Valid values:
	RuleEnable pulumi.StringPtrInput
	// 规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效
	RuleName pulumi.StringPtrInput
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	SiteId pulumi.IntPtrInput
	// The version of the website configurations.
	SiteVersion pulumi.IntPtrInput
	// The response code that you want to use to indicate URL redirection. Valid values:
	//
	// - 301
	// - 302
	// - 303
	// - 307
	// - 308
	StatusCode pulumi.StringPtrInput
	// The destination URL to which requests are redirected.
	TargetUrl pulumi.StringPtrInput
	// The redirect type. Valid value:
	//
	// - static
	Type pulumi.StringPtrInput
}

func (RedirectRuleState) ElementType added in v3.75.0

func (RedirectRuleState) ElementType() reflect.Type

type RewriteUrlRule added in v3.75.0

type RewriteUrlRule struct {
	pulumi.CustomResourceState

	// ConfigId
	ConfigId pulumi.IntOutput `pulumi:"configId"`
	// The desired query string to which you want to rewrite the query string in the original request.
	QueryString pulumi.StringPtrOutput `pulumi:"queryString"`
	// The query string rewrite method. Valid value:
	//
	// - static
	RewriteQueryStringType pulumi.StringPtrOutput `pulumi:"rewriteQueryStringType"`
	// The path rewrite method. Valid value:
	//
	// - static
	RewriteUriType pulumi.StringPtrOutput `pulumi:"rewriteUriType"`
	// The rule content.
	Rule pulumi.StringPtrOutput `pulumi:"rule"`
	// Indicates whether the rule is enabled. Valid values:
	//
	// - on
	// - off
	RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"`
	// Rule name. You can find the rule whose field is passed by the rule name. The rule takes effect only if functionName is passed.
	RuleName pulumi.StringPtrOutput `pulumi:"ruleName"`
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// The version number of the website configurations.
	SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"`
	// The desired URI to which you want to rewrite the path in the original request.
	Uri pulumi.StringPtrOutput `pulumi:"uri"`
}

Provides a ESA Rewrite Url Rule resource.

For information about ESA Rewrite Url Rule and how to use it, see [What is Rewrite Url Rule](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-createrewriteurlrule).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		resourceRewriteUrlRuleRatePlanInstanceExample, err := esa.NewRatePlanInstance(ctx, "resource_RewriteUrlRule_RatePlanInstance_example", &esa.RatePlanInstanceArgs{
			Type:        pulumi.String("NS"),
			AutoRenew:   pulumi.Bool(false),
			Period:      pulumi.Int(1),
			PaymentType: pulumi.String("Subscription"),
			Coverage:    pulumi.String("overseas"),
			AutoPay:     pulumi.Bool(true),
			PlanName:    pulumi.String("high"),
		})
		if err != nil {
			return err
		}
		resourceRewriteUrlRuleSiteExample, err := esa.NewSite(ctx, "resource_RewriteUrlRule_Site_example", &esa.SiteArgs{
			SiteName:   pulumi.String("gositecdn.cn"),
			InstanceId: resourceRewriteUrlRuleRatePlanInstanceExample.ID(),
			Coverage:   pulumi.String("overseas"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		_, err = esa.NewRewriteUrlRule(ctx, "default", &esa.RewriteUrlRuleArgs{
			RewriteUriType:         pulumi.String("static"),
			RewriteQueryStringType: pulumi.String("static"),
			SiteId:                 resourceRewriteUrlRuleSiteExample.ID(),
			RuleName:               pulumi.String("example"),
			RuleEnable:             pulumi.String("on"),
			QueryString:            pulumi.String("example=123"),
			SiteVersion:            pulumi.Int(0),
			Rule:                   pulumi.String("http.host eq \"video.example.com\""),
			Uri:                    pulumi.String("/image/example.jpg"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Rewrite Url Rule can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/rewriteUrlRule:RewriteUrlRule example <site_id>:<config_id> ```

func GetRewriteUrlRule added in v3.75.0

func GetRewriteUrlRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RewriteUrlRuleState, opts ...pulumi.ResourceOption) (*RewriteUrlRule, error)

GetRewriteUrlRule gets an existing RewriteUrlRule 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 NewRewriteUrlRule added in v3.75.0

func NewRewriteUrlRule(ctx *pulumi.Context,
	name string, args *RewriteUrlRuleArgs, opts ...pulumi.ResourceOption) (*RewriteUrlRule, error)

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

func (*RewriteUrlRule) ElementType added in v3.75.0

func (*RewriteUrlRule) ElementType() reflect.Type

func (*RewriteUrlRule) ToRewriteUrlRuleOutput added in v3.75.0

func (i *RewriteUrlRule) ToRewriteUrlRuleOutput() RewriteUrlRuleOutput

func (*RewriteUrlRule) ToRewriteUrlRuleOutputWithContext added in v3.75.0

func (i *RewriteUrlRule) ToRewriteUrlRuleOutputWithContext(ctx context.Context) RewriteUrlRuleOutput

type RewriteUrlRuleArgs added in v3.75.0

type RewriteUrlRuleArgs struct {
	// The desired query string to which you want to rewrite the query string in the original request.
	QueryString pulumi.StringPtrInput
	// The query string rewrite method. Valid value:
	//
	// - static
	RewriteQueryStringType pulumi.StringPtrInput
	// The path rewrite method. Valid value:
	//
	// - static
	RewriteUriType pulumi.StringPtrInput
	// The rule content.
	Rule pulumi.StringPtrInput
	// Indicates whether the rule is enabled. Valid values:
	//
	// - on
	// - off
	RuleEnable pulumi.StringPtrInput
	// Rule name. You can find the rule whose field is passed by the rule name. The rule takes effect only if functionName is passed.
	RuleName pulumi.StringPtrInput
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	SiteId pulumi.IntInput
	// The version number of the website configurations.
	SiteVersion pulumi.IntPtrInput
	// The desired URI to which you want to rewrite the path in the original request.
	Uri pulumi.StringPtrInput
}

The set of arguments for constructing a RewriteUrlRule resource.

func (RewriteUrlRuleArgs) ElementType added in v3.75.0

func (RewriteUrlRuleArgs) ElementType() reflect.Type

type RewriteUrlRuleArray added in v3.75.0

type RewriteUrlRuleArray []RewriteUrlRuleInput

func (RewriteUrlRuleArray) ElementType added in v3.75.0

func (RewriteUrlRuleArray) ElementType() reflect.Type

func (RewriteUrlRuleArray) ToRewriteUrlRuleArrayOutput added in v3.75.0

func (i RewriteUrlRuleArray) ToRewriteUrlRuleArrayOutput() RewriteUrlRuleArrayOutput

func (RewriteUrlRuleArray) ToRewriteUrlRuleArrayOutputWithContext added in v3.75.0

func (i RewriteUrlRuleArray) ToRewriteUrlRuleArrayOutputWithContext(ctx context.Context) RewriteUrlRuleArrayOutput

type RewriteUrlRuleArrayInput added in v3.75.0

type RewriteUrlRuleArrayInput interface {
	pulumi.Input

	ToRewriteUrlRuleArrayOutput() RewriteUrlRuleArrayOutput
	ToRewriteUrlRuleArrayOutputWithContext(context.Context) RewriteUrlRuleArrayOutput
}

RewriteUrlRuleArrayInput is an input type that accepts RewriteUrlRuleArray and RewriteUrlRuleArrayOutput values. You can construct a concrete instance of `RewriteUrlRuleArrayInput` via:

RewriteUrlRuleArray{ RewriteUrlRuleArgs{...} }

type RewriteUrlRuleArrayOutput added in v3.75.0

type RewriteUrlRuleArrayOutput struct{ *pulumi.OutputState }

func (RewriteUrlRuleArrayOutput) ElementType added in v3.75.0

func (RewriteUrlRuleArrayOutput) ElementType() reflect.Type

func (RewriteUrlRuleArrayOutput) Index added in v3.75.0

func (RewriteUrlRuleArrayOutput) ToRewriteUrlRuleArrayOutput added in v3.75.0

func (o RewriteUrlRuleArrayOutput) ToRewriteUrlRuleArrayOutput() RewriteUrlRuleArrayOutput

func (RewriteUrlRuleArrayOutput) ToRewriteUrlRuleArrayOutputWithContext added in v3.75.0

func (o RewriteUrlRuleArrayOutput) ToRewriteUrlRuleArrayOutputWithContext(ctx context.Context) RewriteUrlRuleArrayOutput

type RewriteUrlRuleInput added in v3.75.0

type RewriteUrlRuleInput interface {
	pulumi.Input

	ToRewriteUrlRuleOutput() RewriteUrlRuleOutput
	ToRewriteUrlRuleOutputWithContext(ctx context.Context) RewriteUrlRuleOutput
}

type RewriteUrlRuleMap added in v3.75.0

type RewriteUrlRuleMap map[string]RewriteUrlRuleInput

func (RewriteUrlRuleMap) ElementType added in v3.75.0

func (RewriteUrlRuleMap) ElementType() reflect.Type

func (RewriteUrlRuleMap) ToRewriteUrlRuleMapOutput added in v3.75.0

func (i RewriteUrlRuleMap) ToRewriteUrlRuleMapOutput() RewriteUrlRuleMapOutput

func (RewriteUrlRuleMap) ToRewriteUrlRuleMapOutputWithContext added in v3.75.0

func (i RewriteUrlRuleMap) ToRewriteUrlRuleMapOutputWithContext(ctx context.Context) RewriteUrlRuleMapOutput

type RewriteUrlRuleMapInput added in v3.75.0

type RewriteUrlRuleMapInput interface {
	pulumi.Input

	ToRewriteUrlRuleMapOutput() RewriteUrlRuleMapOutput
	ToRewriteUrlRuleMapOutputWithContext(context.Context) RewriteUrlRuleMapOutput
}

RewriteUrlRuleMapInput is an input type that accepts RewriteUrlRuleMap and RewriteUrlRuleMapOutput values. You can construct a concrete instance of `RewriteUrlRuleMapInput` via:

RewriteUrlRuleMap{ "key": RewriteUrlRuleArgs{...} }

type RewriteUrlRuleMapOutput added in v3.75.0

type RewriteUrlRuleMapOutput struct{ *pulumi.OutputState }

func (RewriteUrlRuleMapOutput) ElementType added in v3.75.0

func (RewriteUrlRuleMapOutput) ElementType() reflect.Type

func (RewriteUrlRuleMapOutput) MapIndex added in v3.75.0

func (RewriteUrlRuleMapOutput) ToRewriteUrlRuleMapOutput added in v3.75.0

func (o RewriteUrlRuleMapOutput) ToRewriteUrlRuleMapOutput() RewriteUrlRuleMapOutput

func (RewriteUrlRuleMapOutput) ToRewriteUrlRuleMapOutputWithContext added in v3.75.0

func (o RewriteUrlRuleMapOutput) ToRewriteUrlRuleMapOutputWithContext(ctx context.Context) RewriteUrlRuleMapOutput

type RewriteUrlRuleOutput added in v3.75.0

type RewriteUrlRuleOutput struct{ *pulumi.OutputState }

func (RewriteUrlRuleOutput) ConfigId added in v3.75.0

func (o RewriteUrlRuleOutput) ConfigId() pulumi.IntOutput

ConfigId

func (RewriteUrlRuleOutput) ElementType added in v3.75.0

func (RewriteUrlRuleOutput) ElementType() reflect.Type

func (RewriteUrlRuleOutput) QueryString added in v3.75.0

The desired query string to which you want to rewrite the query string in the original request.

func (RewriteUrlRuleOutput) RewriteQueryStringType added in v3.75.0

func (o RewriteUrlRuleOutput) RewriteQueryStringType() pulumi.StringPtrOutput

The query string rewrite method. Valid value:

- static

func (RewriteUrlRuleOutput) RewriteUriType added in v3.75.0

func (o RewriteUrlRuleOutput) RewriteUriType() pulumi.StringPtrOutput

The path rewrite method. Valid value:

- static

func (RewriteUrlRuleOutput) Rule added in v3.75.0

The rule content.

func (RewriteUrlRuleOutput) RuleEnable added in v3.75.0

Indicates whether the rule is enabled. Valid values:

- on - off

func (RewriteUrlRuleOutput) RuleName added in v3.75.0

Rule name. You can find the rule whose field is passed by the rule name. The rule takes effect only if functionName is passed.

func (RewriteUrlRuleOutput) SiteId added in v3.75.0

The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.

func (RewriteUrlRuleOutput) SiteVersion added in v3.75.0

func (o RewriteUrlRuleOutput) SiteVersion() pulumi.IntPtrOutput

The version number of the website configurations.

func (RewriteUrlRuleOutput) ToRewriteUrlRuleOutput added in v3.75.0

func (o RewriteUrlRuleOutput) ToRewriteUrlRuleOutput() RewriteUrlRuleOutput

func (RewriteUrlRuleOutput) ToRewriteUrlRuleOutputWithContext added in v3.75.0

func (o RewriteUrlRuleOutput) ToRewriteUrlRuleOutputWithContext(ctx context.Context) RewriteUrlRuleOutput

func (RewriteUrlRuleOutput) Uri added in v3.75.0

The desired URI to which you want to rewrite the path in the original request.

type RewriteUrlRuleState added in v3.75.0

type RewriteUrlRuleState struct {
	// ConfigId
	ConfigId pulumi.IntPtrInput
	// The desired query string to which you want to rewrite the query string in the original request.
	QueryString pulumi.StringPtrInput
	// The query string rewrite method. Valid value:
	//
	// - static
	RewriteQueryStringType pulumi.StringPtrInput
	// The path rewrite method. Valid value:
	//
	// - static
	RewriteUriType pulumi.StringPtrInput
	// The rule content.
	Rule pulumi.StringPtrInput
	// Indicates whether the rule is enabled. Valid values:
	//
	// - on
	// - off
	RuleEnable pulumi.StringPtrInput
	// Rule name. You can find the rule whose field is passed by the rule name. The rule takes effect only if functionName is passed.
	RuleName pulumi.StringPtrInput
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	SiteId pulumi.IntPtrInput
	// The version number of the website configurations.
	SiteVersion pulumi.IntPtrInput
	// The desired URI to which you want to rewrite the path in the original request.
	Uri pulumi.StringPtrInput
}

func (RewriteUrlRuleState) ElementType added in v3.75.0

func (RewriteUrlRuleState) ElementType() reflect.Type

type Site

type Site struct {
	pulumi.CustomResourceState

	// Site Access Type
	AccessType pulumi.StringPtrOutput `pulumi:"accessType"`
	// Add the Visitor geolocation header. Value range:
	// - on
	// - off
	AddClientGeolocationHeader pulumi.StringPtrOutput `pulumi:"addClientGeolocationHeader"`
	// Add the "ali-real-client-ip" header containing the real client IP. Value range:
	// - on
	// - off
	AddRealClientIpHeader pulumi.StringPtrOutput `pulumi:"addRealClientIpHeader"`
	// Multi-level cache architecture pattern. Value range:
	// edge: edge caching layer.
	// edge_smart: Edge Cache layer + Smart Cache layer.
	// edge_regional: Edge Cache layer + regional cache layer.
	// edge_regional_smart: Edge Cache layer + regional cache layer + intelligent cache layer.
	CacheArchitectureMode pulumi.StringOutput `pulumi:"cacheArchitectureMode"`
	// Acceleration area
	Coverage pulumi.StringPtrOutput `pulumi:"coverage"`
	// Creation time
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The ID of the associated package instance.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// IPv6 switch. Value:
	// - on
	// - off
	Ipv6Enable pulumi.StringOutput `pulumi:"ipv6Enable"`
	// The ID of the resource group
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// Site Name
	SiteName pulumi.StringOutput `pulumi:"siteName"`
	// The version number of the site. For a site with version management enabled, you can use this parameter to specify the effective site version. The default version is 0.
	SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"`
	// The status of the resource
	Status pulumi.StringOutput `pulumi:"status"`
	// Resource tags
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides a ESA Site resource.

For information about ESA Site and how to use it, see [What is Site](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/user-guide/site-management).

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

## Example Usage

Basic Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{}, nil)
		if err != nil {
			return err
		}
		defaultIEoDfU, err := esa.NewRatePlanInstance(ctx, "defaultIEoDfU", &esa.RatePlanInstanceArgs{
			Type:        pulumi.String("NS"),
			AutoRenew:   pulumi.Bool(true),
			Period:      pulumi.Int(1),
			PaymentType: pulumi.String("Subscription"),
			Coverage:    pulumi.String("overseas"),
			AutoPay:     pulumi.Bool(true),
			PlanName:    pulumi.String("basic"),
		})
		if err != nil {
			return err
		}
		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
			Min: 10000,
			Max: 99999,
		})
		if err != nil {
			return err
		}
		_, err = esa.NewSite(ctx, "default", &esa.SiteArgs{
			SiteName:        pulumi.Sprintf("bcd%v.com", defaultInteger.Result),
			Coverage:        pulumi.String("overseas"),
			AccessType:      pulumi.String("NS"),
			InstanceId:      defaultIEoDfU.ID(),
			ResourceGroupId: pulumi.String(_default.Ids[0]),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Site can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/site:Site example <id> ```

func GetSite

func GetSite(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SiteState, opts ...pulumi.ResourceOption) (*Site, error)

GetSite gets an existing Site 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 NewSite

func NewSite(ctx *pulumi.Context,
	name string, args *SiteArgs, opts ...pulumi.ResourceOption) (*Site, error)

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

func (*Site) ElementType

func (*Site) ElementType() reflect.Type

func (*Site) ToSiteOutput

func (i *Site) ToSiteOutput() SiteOutput

func (*Site) ToSiteOutputWithContext

func (i *Site) ToSiteOutputWithContext(ctx context.Context) SiteOutput

type SiteArgs

type SiteArgs struct {
	// Site Access Type
	AccessType pulumi.StringPtrInput
	// Add the Visitor geolocation header. Value range:
	// - on
	// - off
	AddClientGeolocationHeader pulumi.StringPtrInput
	// Add the "ali-real-client-ip" header containing the real client IP. Value range:
	// - on
	// - off
	AddRealClientIpHeader pulumi.StringPtrInput
	// Multi-level cache architecture pattern. Value range:
	// edge: edge caching layer.
	// edge_smart: Edge Cache layer + Smart Cache layer.
	// edge_regional: Edge Cache layer + regional cache layer.
	// edge_regional_smart: Edge Cache layer + regional cache layer + intelligent cache layer.
	CacheArchitectureMode pulumi.StringPtrInput
	// Acceleration area
	Coverage pulumi.StringPtrInput
	// The ID of the associated package instance.
	InstanceId pulumi.StringInput
	// IPv6 switch. Value:
	// - on
	// - off
	Ipv6Enable pulumi.StringPtrInput
	// The ID of the resource group
	ResourceGroupId pulumi.StringPtrInput
	// Site Name
	SiteName pulumi.StringInput
	// The version number of the site. For a site with version management enabled, you can use this parameter to specify the effective site version. The default version is 0.
	SiteVersion pulumi.IntPtrInput
	// Resource tags
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Site resource.

func (SiteArgs) ElementType

func (SiteArgs) ElementType() reflect.Type

type SiteArray

type SiteArray []SiteInput

func (SiteArray) ElementType

func (SiteArray) ElementType() reflect.Type

func (SiteArray) ToSiteArrayOutput

func (i SiteArray) ToSiteArrayOutput() SiteArrayOutput

func (SiteArray) ToSiteArrayOutputWithContext

func (i SiteArray) ToSiteArrayOutputWithContext(ctx context.Context) SiteArrayOutput

type SiteArrayInput

type SiteArrayInput interface {
	pulumi.Input

	ToSiteArrayOutput() SiteArrayOutput
	ToSiteArrayOutputWithContext(context.Context) SiteArrayOutput
}

SiteArrayInput is an input type that accepts SiteArray and SiteArrayOutput values. You can construct a concrete instance of `SiteArrayInput` via:

SiteArray{ SiteArgs{...} }

type SiteArrayOutput

type SiteArrayOutput struct{ *pulumi.OutputState }

func (SiteArrayOutput) ElementType

func (SiteArrayOutput) ElementType() reflect.Type

func (SiteArrayOutput) Index

func (SiteArrayOutput) ToSiteArrayOutput

func (o SiteArrayOutput) ToSiteArrayOutput() SiteArrayOutput

func (SiteArrayOutput) ToSiteArrayOutputWithContext

func (o SiteArrayOutput) ToSiteArrayOutputWithContext(ctx context.Context) SiteArrayOutput

type SiteInput

type SiteInput interface {
	pulumi.Input

	ToSiteOutput() SiteOutput
	ToSiteOutputWithContext(ctx context.Context) SiteOutput
}

type SiteMap

type SiteMap map[string]SiteInput

func (SiteMap) ElementType

func (SiteMap) ElementType() reflect.Type

func (SiteMap) ToSiteMapOutput

func (i SiteMap) ToSiteMapOutput() SiteMapOutput

func (SiteMap) ToSiteMapOutputWithContext

func (i SiteMap) ToSiteMapOutputWithContext(ctx context.Context) SiteMapOutput

type SiteMapInput

type SiteMapInput interface {
	pulumi.Input

	ToSiteMapOutput() SiteMapOutput
	ToSiteMapOutputWithContext(context.Context) SiteMapOutput
}

SiteMapInput is an input type that accepts SiteMap and SiteMapOutput values. You can construct a concrete instance of `SiteMapInput` via:

SiteMap{ "key": SiteArgs{...} }

type SiteMapOutput

type SiteMapOutput struct{ *pulumi.OutputState }

func (SiteMapOutput) ElementType

func (SiteMapOutput) ElementType() reflect.Type

func (SiteMapOutput) MapIndex

func (SiteMapOutput) ToSiteMapOutput

func (o SiteMapOutput) ToSiteMapOutput() SiteMapOutput

func (SiteMapOutput) ToSiteMapOutputWithContext

func (o SiteMapOutput) ToSiteMapOutputWithContext(ctx context.Context) SiteMapOutput

type SiteOutput

type SiteOutput struct{ *pulumi.OutputState }

func (SiteOutput) AccessType

func (o SiteOutput) AccessType() pulumi.StringPtrOutput

Site Access Type

func (SiteOutput) AddClientGeolocationHeader added in v3.75.0

func (o SiteOutput) AddClientGeolocationHeader() pulumi.StringPtrOutput

Add the Visitor geolocation header. Value range: - on - off

func (SiteOutput) AddRealClientIpHeader added in v3.75.0

func (o SiteOutput) AddRealClientIpHeader() pulumi.StringPtrOutput

Add the "ali-real-client-ip" header containing the real client IP. Value range: - on - off

func (SiteOutput) CacheArchitectureMode added in v3.75.0

func (o SiteOutput) CacheArchitectureMode() pulumi.StringOutput

Multi-level cache architecture pattern. Value range: edge: edge caching layer. edge_smart: Edge Cache layer + Smart Cache layer. edge_regional: Edge Cache layer + regional cache layer. edge_regional_smart: Edge Cache layer + regional cache layer + intelligent cache layer.

func (SiteOutput) Coverage

func (o SiteOutput) Coverage() pulumi.StringPtrOutput

Acceleration area

func (SiteOutput) CreateTime

func (o SiteOutput) CreateTime() pulumi.StringOutput

Creation time

func (SiteOutput) ElementType

func (SiteOutput) ElementType() reflect.Type

func (SiteOutput) InstanceId

func (o SiteOutput) InstanceId() pulumi.StringOutput

The ID of the associated package instance.

func (SiteOutput) Ipv6Enable added in v3.75.0

func (o SiteOutput) Ipv6Enable() pulumi.StringOutput

IPv6 switch. Value: - on - off

func (SiteOutput) ResourceGroupId

func (o SiteOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group

func (SiteOutput) SiteName

func (o SiteOutput) SiteName() pulumi.StringOutput

Site Name

func (SiteOutput) SiteVersion added in v3.75.0

func (o SiteOutput) SiteVersion() pulumi.IntPtrOutput

The version number of the site. For a site with version management enabled, you can use this parameter to specify the effective site version. The default version is 0.

func (SiteOutput) Status

func (o SiteOutput) Status() pulumi.StringOutput

The status of the resource

func (SiteOutput) Tags

Resource tags

func (SiteOutput) ToSiteOutput

func (o SiteOutput) ToSiteOutput() SiteOutput

func (SiteOutput) ToSiteOutputWithContext

func (o SiteOutput) ToSiteOutputWithContext(ctx context.Context) SiteOutput

type SiteState

type SiteState struct {
	// Site Access Type
	AccessType pulumi.StringPtrInput
	// Add the Visitor geolocation header. Value range:
	// - on
	// - off
	AddClientGeolocationHeader pulumi.StringPtrInput
	// Add the "ali-real-client-ip" header containing the real client IP. Value range:
	// - on
	// - off
	AddRealClientIpHeader pulumi.StringPtrInput
	// Multi-level cache architecture pattern. Value range:
	// edge: edge caching layer.
	// edge_smart: Edge Cache layer + Smart Cache layer.
	// edge_regional: Edge Cache layer + regional cache layer.
	// edge_regional_smart: Edge Cache layer + regional cache layer + intelligent cache layer.
	CacheArchitectureMode pulumi.StringPtrInput
	// Acceleration area
	Coverage pulumi.StringPtrInput
	// Creation time
	CreateTime pulumi.StringPtrInput
	// The ID of the associated package instance.
	InstanceId pulumi.StringPtrInput
	// IPv6 switch. Value:
	// - on
	// - off
	Ipv6Enable pulumi.StringPtrInput
	// The ID of the resource group
	ResourceGroupId pulumi.StringPtrInput
	// Site Name
	SiteName pulumi.StringPtrInput
	// The version number of the site. For a site with version management enabled, you can use this parameter to specify the effective site version. The default version is 0.
	SiteVersion pulumi.IntPtrInput
	// The status of the resource
	Status pulumi.StringPtrInput
	// Resource tags
	Tags pulumi.StringMapInput
}

func (SiteState) ElementType

func (SiteState) ElementType() reflect.Type

type WaitingRoom added in v3.75.0

type WaitingRoom struct {
	pulumi.CustomResourceState

	// The name of the custom cookie.
	CookieName pulumi.StringOutput `pulumi:"cookieName"`
	// The HTML content or identifier of the custom queuing page. This parameter is valid only when `WaitingRoomType` is set to `custom`. The content must be URL-encoded.
	CustomPageHtml pulumi.StringPtrOutput `pulumi:"customPageHtml"`
	// Specifies whether to enable JSON response. If you set this parameter to on, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:
	//
	// - on
	// - off
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.
	DisableSessionRenewalEnable pulumi.StringPtrOutput `pulumi:"disableSessionRenewalEnable"`
	// The details of the hostname and path. See `hostNameAndPath` below.
	HostNameAndPaths WaitingRoomHostNameAndPathArrayOutput `pulumi:"hostNameAndPaths"`
	// Indicates whether JSON response is enabled. If you set this parameter to on, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:
	//
	// - on
	// - off
	JsonResponseEnable pulumi.StringPtrOutput `pulumi:"jsonResponseEnable"`
	// The language of the waiting room page. This parameter is returned when the waiting room type is set to default. Valid values:
	//
	// - enus: English.
	// - zhcn: Simplified Chinese.
	// - zhhk: Traditional Chinese.
	Language pulumi.StringPtrOutput `pulumi:"language"`
	// The maximum number of new users per minute.
	NewUsersPerMinute pulumi.StringOutput `pulumi:"newUsersPerMinute"`
	// Indicates whether all requests must be queued. Valid values:
	//
	// - on
	// - off
	QueueAllEnable pulumi.StringPtrOutput `pulumi:"queueAllEnable"`
	// The queuing method. Valid values:
	//
	// - random: Users gain access to the origin randomly, regardless of the arrival time.
	// - fifo: Users gain access to the origin in order of arrival.
	// - passthrough: Users pass through the waiting room and go straight to the origin.
	// - reject-all: Users are blocked from reaching the origin.
	QueuingMethod pulumi.StringOutput `pulumi:"queuingMethod"`
	// The queuing method. Valid values:
	//
	// - random: Users gain access to the origin randomly, regardless of the arrival time.
	// - fifo: Users gain access to the origin in order of arrival.
	// - passthrough: Users pass through the waiting room and go straight to the origin.
	// - reject-all: Users are blocked from reaching the origin.
	QueuingStatusCode pulumi.StringOutput `pulumi:"queuingStatusCode"`
	// The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.
	SessionDuration pulumi.StringOutput `pulumi:"sessionDuration"`
	SiteId          pulumi.IntOutput    `pulumi:"siteId"`
	// The ID of the waiting room, which can be obtained by calling the [ListWaitingRooms](https://www.alibabacloud.com/help/en/doc-detail/2850279.html) operation.
	Status pulumi.StringOutput `pulumi:"status"`
	// The maximum number of active users.
	TotalActiveUsers pulumi.StringOutput `pulumi:"totalActiveUsers"`
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	WaitingRoomId pulumi.StringOutput `pulumi:"waitingRoomId"`
	// Specifies whether to enable the waiting room. Valid values:
	//
	// - on
	// - off
	WaitingRoomName pulumi.StringOutput `pulumi:"waitingRoomName"`
	// The type of the waiting room. Valid values:
	//
	// - default
	// - custom
	WaitingRoomType pulumi.StringOutput `pulumi:"waitingRoomType"`
}

Provides a ESA Waiting Room resource.

For information about ESA Waiting Room and how to use it, see [What is Waiting Room](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWaitingRoom).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
		}, nil)
		if err != nil {
			return err
		}
		resourceSiteExample, err := esa.NewSite(ctx, "resource_Site_example", &esa.SiteArgs{
			SiteName:   pulumi.String("terraform.site"),
			InstanceId: pulumi.String(_default.Sites[0].InstanceId),
			Coverage:   pulumi.String("overseas"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		_, err = esa.NewWaitingRoom(ctx, "default", &esa.WaitingRoomArgs{
			QueuingMethod:    pulumi.String("fifo"),
			SessionDuration:  pulumi.String("5"),
			TotalActiveUsers: pulumi.String("300"),
			HostNameAndPaths: esa.WaitingRoomHostNameAndPathArray{
				&esa.WaitingRoomHostNameAndPathArgs{
					Domain:    pulumi.String("sub_domain.com"),
					Path:      pulumi.String("/example"),
					Subdomain: pulumi.String("example_sub_domain.com."),
				},
				&esa.WaitingRoomHostNameAndPathArgs{
					Domain:    pulumi.String("sub_domain.com"),
					Path:      pulumi.String("/example"),
					Subdomain: pulumi.String("example_sub_domain1.com."),
				},
				&esa.WaitingRoomHostNameAndPathArgs{
					Path:      pulumi.String("/example"),
					Subdomain: pulumi.String("example_sub_domain2.com."),
					Domain:    pulumi.String("sub_domain.com"),
				},
			},
			WaitingRoomType:             pulumi.String("default"),
			NewUsersPerMinute:           pulumi.String("200"),
			CustomPageHtml:              pulumi.String(""),
			Language:                    pulumi.String("zhcn"),
			QueuingStatusCode:           pulumi.String("200"),
			WaitingRoomName:             pulumi.String("waitingroom_example"),
			Status:                      pulumi.String("off"),
			SiteId:                      resourceSiteExample.ID(),
			QueueAllEnable:              pulumi.String("off"),
			DisableSessionRenewalEnable: pulumi.String("off"),
			Description:                 pulumi.String("example"),
			JsonResponseEnable:          pulumi.String("off"),
			CookieName:                  pulumi.String("__aliwaitingroom_example"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Waiting Room can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/waitingRoom:WaitingRoom example <site_id>:<waiting_room_id> ```

func GetWaitingRoom added in v3.75.0

func GetWaitingRoom(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WaitingRoomState, opts ...pulumi.ResourceOption) (*WaitingRoom, error)

GetWaitingRoom gets an existing WaitingRoom 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 NewWaitingRoom added in v3.75.0

func NewWaitingRoom(ctx *pulumi.Context,
	name string, args *WaitingRoomArgs, opts ...pulumi.ResourceOption) (*WaitingRoom, error)

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

func (*WaitingRoom) ElementType added in v3.75.0

func (*WaitingRoom) ElementType() reflect.Type

func (*WaitingRoom) ToWaitingRoomOutput added in v3.75.0

func (i *WaitingRoom) ToWaitingRoomOutput() WaitingRoomOutput

func (*WaitingRoom) ToWaitingRoomOutputWithContext added in v3.75.0

func (i *WaitingRoom) ToWaitingRoomOutputWithContext(ctx context.Context) WaitingRoomOutput

type WaitingRoomArgs added in v3.75.0

type WaitingRoomArgs struct {
	// The name of the custom cookie.
	CookieName pulumi.StringInput
	// The HTML content or identifier of the custom queuing page. This parameter is valid only when `WaitingRoomType` is set to `custom`. The content must be URL-encoded.
	CustomPageHtml pulumi.StringPtrInput
	// Specifies whether to enable JSON response. If you set this parameter to on, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:
	//
	// - on
	// - off
	Description pulumi.StringPtrInput
	// The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.
	DisableSessionRenewalEnable pulumi.StringPtrInput
	// The details of the hostname and path. See `hostNameAndPath` below.
	HostNameAndPaths WaitingRoomHostNameAndPathArrayInput
	// Indicates whether JSON response is enabled. If you set this parameter to on, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:
	//
	// - on
	// - off
	JsonResponseEnable pulumi.StringPtrInput
	// The language of the waiting room page. This parameter is returned when the waiting room type is set to default. Valid values:
	//
	// - enus: English.
	// - zhcn: Simplified Chinese.
	// - zhhk: Traditional Chinese.
	Language pulumi.StringPtrInput
	// The maximum number of new users per minute.
	NewUsersPerMinute pulumi.StringInput
	// Indicates whether all requests must be queued. Valid values:
	//
	// - on
	// - off
	QueueAllEnable pulumi.StringPtrInput
	// The queuing method. Valid values:
	//
	// - random: Users gain access to the origin randomly, regardless of the arrival time.
	// - fifo: Users gain access to the origin in order of arrival.
	// - passthrough: Users pass through the waiting room and go straight to the origin.
	// - reject-all: Users are blocked from reaching the origin.
	QueuingMethod pulumi.StringInput
	// The queuing method. Valid values:
	//
	// - random: Users gain access to the origin randomly, regardless of the arrival time.
	// - fifo: Users gain access to the origin in order of arrival.
	// - passthrough: Users pass through the waiting room and go straight to the origin.
	// - reject-all: Users are blocked from reaching the origin.
	QueuingStatusCode pulumi.StringInput
	// The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.
	SessionDuration pulumi.StringInput
	SiteId          pulumi.IntInput
	// The ID of the waiting room, which can be obtained by calling the [ListWaitingRooms](https://www.alibabacloud.com/help/en/doc-detail/2850279.html) operation.
	Status pulumi.StringInput
	// The maximum number of active users.
	TotalActiveUsers pulumi.StringInput
	// Specifies whether to enable the waiting room. Valid values:
	//
	// - on
	// - off
	WaitingRoomName pulumi.StringInput
	// The type of the waiting room. Valid values:
	//
	// - default
	// - custom
	WaitingRoomType pulumi.StringInput
}

The set of arguments for constructing a WaitingRoom resource.

func (WaitingRoomArgs) ElementType added in v3.75.0

func (WaitingRoomArgs) ElementType() reflect.Type

type WaitingRoomArray added in v3.75.0

type WaitingRoomArray []WaitingRoomInput

func (WaitingRoomArray) ElementType added in v3.75.0

func (WaitingRoomArray) ElementType() reflect.Type

func (WaitingRoomArray) ToWaitingRoomArrayOutput added in v3.75.0

func (i WaitingRoomArray) ToWaitingRoomArrayOutput() WaitingRoomArrayOutput

func (WaitingRoomArray) ToWaitingRoomArrayOutputWithContext added in v3.75.0

func (i WaitingRoomArray) ToWaitingRoomArrayOutputWithContext(ctx context.Context) WaitingRoomArrayOutput

type WaitingRoomArrayInput added in v3.75.0

type WaitingRoomArrayInput interface {
	pulumi.Input

	ToWaitingRoomArrayOutput() WaitingRoomArrayOutput
	ToWaitingRoomArrayOutputWithContext(context.Context) WaitingRoomArrayOutput
}

WaitingRoomArrayInput is an input type that accepts WaitingRoomArray and WaitingRoomArrayOutput values. You can construct a concrete instance of `WaitingRoomArrayInput` via:

WaitingRoomArray{ WaitingRoomArgs{...} }

type WaitingRoomArrayOutput added in v3.75.0

type WaitingRoomArrayOutput struct{ *pulumi.OutputState }

func (WaitingRoomArrayOutput) ElementType added in v3.75.0

func (WaitingRoomArrayOutput) ElementType() reflect.Type

func (WaitingRoomArrayOutput) Index added in v3.75.0

func (WaitingRoomArrayOutput) ToWaitingRoomArrayOutput added in v3.75.0

func (o WaitingRoomArrayOutput) ToWaitingRoomArrayOutput() WaitingRoomArrayOutput

func (WaitingRoomArrayOutput) ToWaitingRoomArrayOutputWithContext added in v3.75.0

func (o WaitingRoomArrayOutput) ToWaitingRoomArrayOutputWithContext(ctx context.Context) WaitingRoomArrayOutput

type WaitingRoomEvent added in v3.75.0

type WaitingRoomEvent struct {
	pulumi.CustomResourceState

	// The type of the waiting room. Valid values:
	//
	// - default
	// - custom
	CustomPageHtml pulumi.StringPtrOutput `pulumi:"customPageHtml"`
	// Specifies whether to enable JSON response. Valid values:
	//
	// - on
	// - off
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.
	DisableSessionRenewalEnable pulumi.StringPtrOutput `pulumi:"disableSessionRenewalEnable"`
	// The start time of the event. This value is a UNIX timestamp.
	EndTime pulumi.StringOutput `pulumi:"endTime"`
	// The HTTP status code to return while a user is in the queue. Valid values:
	//
	// - 200
	// - 202
	// - 429
	JsonResponseEnable pulumi.StringPtrOutput `pulumi:"jsonResponseEnable"`
	// Specifies whether to enable random queuing.
	//
	// - on
	// - off
	Language pulumi.StringPtrOutput `pulumi:"language"`
	// The maximum number of active users.
	NewUsersPerMinute pulumi.StringOutput `pulumi:"newUsersPerMinute"`
	// The end time of the event. This value is a UNIX timestamp.
	PreQueueEnable pulumi.StringPtrOutput `pulumi:"preQueueEnable"`
	// Specifies whether to enable pre-queuing.
	//
	// - on
	// - off
	PreQueueStartTime pulumi.StringPtrOutput `pulumi:"preQueueStartTime"`
	// Specifies whether to disable session renewal. Valid values:
	//
	// - on
	// - off
	QueuingMethod pulumi.StringOutput `pulumi:"queuingMethod"`
	// The queuing method. Valid values:
	//
	// - random: Users gain access to the origin randomly, regardless of the arrival time.
	// - fifo: Users gain access to the origin in order of arrival.
	// - passthrough: Users pass through the waiting room and go straight to the origin.
	// - reject-all: All requests are blocked from accessing the origin.
	QueuingStatusCode pulumi.StringOutput `pulumi:"queuingStatusCode"`
	// The start time for pre-queuing.
	RandomPreQueueEnable pulumi.StringPtrOutput `pulumi:"randomPreQueueEnable"`
	// The maximum number of new users per minute.
	SessionDuration pulumi.StringOutput `pulumi:"sessionDuration"`
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// The content of the custom waiting room page. You must specify this parameter if you set WaitingRoomType to custom. The content must be Base64-encoded.
	StartTime pulumi.StringOutput `pulumi:"startTime"`
	// The ID of the waiting room event, which can be obtained by calling the [ListWaitingRoomEvents](https://www.alibabacloud.com/help/en/doc-detail/2850279.html) operation.
	Status pulumi.StringOutput `pulumi:"status"`
	// The name of the waiting room event.
	TotalActiveUsers pulumi.StringOutput `pulumi:"totalActiveUsers"`
	// The unique ID of the waiting room, which can be obtained by calling the [ListWaitingRooms](https://www.alibabacloud.com/help/en/doc-detail/2850279.html) operation.
	WaitingRoomEventId pulumi.IntOutput `pulumi:"waitingRoomEventId"`
	// Specifies whether to enable the waiting room event. Valid values:
	WaitingRoomEventName pulumi.StringOutput `pulumi:"waitingRoomEventName"`
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	WaitingRoomId pulumi.StringOutput `pulumi:"waitingRoomId"`
	// The description of the waiting room.
	WaitingRoomType pulumi.StringOutput `pulumi:"waitingRoomType"`
}

Provides a ESA Waiting Room Event resource.

For information about ESA Waiting Room Event and how to use it, see [What is Waiting Room Event](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWaitingRoomEvent).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
		}, nil)
		if err != nil {
			return err
		}
		defaultSite, err := esa.NewSite(ctx, "default", &esa.SiteArgs{
			SiteName:   pulumi.String("chenxin0116.site"),
			InstanceId: pulumi.String(_default.Sites[0].InstanceId),
			Coverage:   pulumi.String("overseas"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		defaultWaitingRoom, err := esa.NewWaitingRoom(ctx, "default", &esa.WaitingRoomArgs{
			Status:                      pulumi.String("off"),
			SiteId:                      defaultSite.ID(),
			JsonResponseEnable:          pulumi.String("off"),
			Description:                 pulumi.String("example"),
			WaitingRoomType:             pulumi.String("default"),
			DisableSessionRenewalEnable: pulumi.String("off"),
			CookieName:                  pulumi.String("__aliwaitingroom_example"),
			WaitingRoomName:             pulumi.String("waitingroom_example"),
			QueueAllEnable:              pulumi.String("off"),
			QueuingStatusCode:           pulumi.String("200"),
			CustomPageHtml:              pulumi.String(""),
			NewUsersPerMinute:           pulumi.String("200"),
			SessionDuration:             pulumi.String("5"),
			Language:                    pulumi.String("zhcn"),
			TotalActiveUsers:            pulumi.String("300"),
			QueuingMethod:               pulumi.String("fifo"),
			HostNameAndPaths: esa.WaitingRoomHostNameAndPathArray{
				&esa.WaitingRoomHostNameAndPathArgs{
					Domain:    pulumi.String("sub_domain.com"),
					Path:      pulumi.String("/example"),
					Subdomain: pulumi.String("example_sub_domain.com."),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = esa.NewWaitingRoomEvent(ctx, "default", &esa.WaitingRoomEventArgs{
			WaitingRoomId:               defaultWaitingRoom.WaitingRoomId,
			EndTime:                     pulumi.String("1719863200"),
			WaitingRoomEventName:        pulumi.String("WaitingRoomEvent_example"),
			PreQueueStartTime:           pulumi.String(""),
			RandomPreQueueEnable:        pulumi.String("off"),
			JsonResponseEnable:          pulumi.String("off"),
			SiteId:                      defaultSite.ID(),
			PreQueueEnable:              pulumi.String("off"),
			Description:                 pulumi.String("example"),
			NewUsersPerMinute:           pulumi.String("200"),
			QueuingStatusCode:           pulumi.String("200"),
			CustomPageHtml:              pulumi.String(""),
			Language:                    pulumi.String("zhcn"),
			TotalActiveUsers:            pulumi.String("300"),
			WaitingRoomType:             pulumi.String("default"),
			StartTime:                   pulumi.String("1719763200"),
			Status:                      pulumi.String("off"),
			DisableSessionRenewalEnable: pulumi.String("off"),
			QueuingMethod:               pulumi.String("fifo"),
			SessionDuration:             pulumi.String("5"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Waiting Room Event can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/waitingRoomEvent:WaitingRoomEvent example <site_id>:<waiting_room_id>:<waiting_room_event_id> ```

func GetWaitingRoomEvent added in v3.75.0

func GetWaitingRoomEvent(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WaitingRoomEventState, opts ...pulumi.ResourceOption) (*WaitingRoomEvent, error)

GetWaitingRoomEvent gets an existing WaitingRoomEvent 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 NewWaitingRoomEvent added in v3.75.0

func NewWaitingRoomEvent(ctx *pulumi.Context,
	name string, args *WaitingRoomEventArgs, opts ...pulumi.ResourceOption) (*WaitingRoomEvent, error)

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

func (*WaitingRoomEvent) ElementType added in v3.75.0

func (*WaitingRoomEvent) ElementType() reflect.Type

func (*WaitingRoomEvent) ToWaitingRoomEventOutput added in v3.75.0

func (i *WaitingRoomEvent) ToWaitingRoomEventOutput() WaitingRoomEventOutput

func (*WaitingRoomEvent) ToWaitingRoomEventOutputWithContext added in v3.75.0

func (i *WaitingRoomEvent) ToWaitingRoomEventOutputWithContext(ctx context.Context) WaitingRoomEventOutput

type WaitingRoomEventArgs added in v3.75.0

type WaitingRoomEventArgs struct {
	// The type of the waiting room. Valid values:
	//
	// - default
	// - custom
	CustomPageHtml pulumi.StringPtrInput
	// Specifies whether to enable JSON response. Valid values:
	//
	// - on
	// - off
	Description pulumi.StringPtrInput
	// The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.
	DisableSessionRenewalEnable pulumi.StringPtrInput
	// The start time of the event. This value is a UNIX timestamp.
	EndTime pulumi.StringInput
	// The HTTP status code to return while a user is in the queue. Valid values:
	//
	// - 200
	// - 202
	// - 429
	JsonResponseEnable pulumi.StringPtrInput
	// Specifies whether to enable random queuing.
	//
	// - on
	// - off
	Language pulumi.StringPtrInput
	// The maximum number of active users.
	NewUsersPerMinute pulumi.StringInput
	// The end time of the event. This value is a UNIX timestamp.
	PreQueueEnable pulumi.StringPtrInput
	// Specifies whether to enable pre-queuing.
	//
	// - on
	// - off
	PreQueueStartTime pulumi.StringPtrInput
	// Specifies whether to disable session renewal. Valid values:
	//
	// - on
	// - off
	QueuingMethod pulumi.StringInput
	// The queuing method. Valid values:
	//
	// - random: Users gain access to the origin randomly, regardless of the arrival time.
	// - fifo: Users gain access to the origin in order of arrival.
	// - passthrough: Users pass through the waiting room and go straight to the origin.
	// - reject-all: All requests are blocked from accessing the origin.
	QueuingStatusCode pulumi.StringInput
	// The start time for pre-queuing.
	RandomPreQueueEnable pulumi.StringPtrInput
	// The maximum number of new users per minute.
	SessionDuration pulumi.StringInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntInput
	// The content of the custom waiting room page. You must specify this parameter if you set WaitingRoomType to custom. The content must be Base64-encoded.
	StartTime pulumi.StringInput
	// The ID of the waiting room event, which can be obtained by calling the [ListWaitingRoomEvents](https://www.alibabacloud.com/help/en/doc-detail/2850279.html) operation.
	Status pulumi.StringInput
	// The name of the waiting room event.
	TotalActiveUsers pulumi.StringInput
	// Specifies whether to enable the waiting room event. Valid values:
	WaitingRoomEventName pulumi.StringInput
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	WaitingRoomId pulumi.StringPtrInput
	// The description of the waiting room.
	WaitingRoomType pulumi.StringInput
}

The set of arguments for constructing a WaitingRoomEvent resource.

func (WaitingRoomEventArgs) ElementType added in v3.75.0

func (WaitingRoomEventArgs) ElementType() reflect.Type

type WaitingRoomEventArray added in v3.75.0

type WaitingRoomEventArray []WaitingRoomEventInput

func (WaitingRoomEventArray) ElementType added in v3.75.0

func (WaitingRoomEventArray) ElementType() reflect.Type

func (WaitingRoomEventArray) ToWaitingRoomEventArrayOutput added in v3.75.0

func (i WaitingRoomEventArray) ToWaitingRoomEventArrayOutput() WaitingRoomEventArrayOutput

func (WaitingRoomEventArray) ToWaitingRoomEventArrayOutputWithContext added in v3.75.0

func (i WaitingRoomEventArray) ToWaitingRoomEventArrayOutputWithContext(ctx context.Context) WaitingRoomEventArrayOutput

type WaitingRoomEventArrayInput added in v3.75.0

type WaitingRoomEventArrayInput interface {
	pulumi.Input

	ToWaitingRoomEventArrayOutput() WaitingRoomEventArrayOutput
	ToWaitingRoomEventArrayOutputWithContext(context.Context) WaitingRoomEventArrayOutput
}

WaitingRoomEventArrayInput is an input type that accepts WaitingRoomEventArray and WaitingRoomEventArrayOutput values. You can construct a concrete instance of `WaitingRoomEventArrayInput` via:

WaitingRoomEventArray{ WaitingRoomEventArgs{...} }

type WaitingRoomEventArrayOutput added in v3.75.0

type WaitingRoomEventArrayOutput struct{ *pulumi.OutputState }

func (WaitingRoomEventArrayOutput) ElementType added in v3.75.0

func (WaitingRoomEventArrayOutput) Index added in v3.75.0

func (WaitingRoomEventArrayOutput) ToWaitingRoomEventArrayOutput added in v3.75.0

func (o WaitingRoomEventArrayOutput) ToWaitingRoomEventArrayOutput() WaitingRoomEventArrayOutput

func (WaitingRoomEventArrayOutput) ToWaitingRoomEventArrayOutputWithContext added in v3.75.0

func (o WaitingRoomEventArrayOutput) ToWaitingRoomEventArrayOutputWithContext(ctx context.Context) WaitingRoomEventArrayOutput

type WaitingRoomEventInput added in v3.75.0

type WaitingRoomEventInput interface {
	pulumi.Input

	ToWaitingRoomEventOutput() WaitingRoomEventOutput
	ToWaitingRoomEventOutputWithContext(ctx context.Context) WaitingRoomEventOutput
}

type WaitingRoomEventMap added in v3.75.0

type WaitingRoomEventMap map[string]WaitingRoomEventInput

func (WaitingRoomEventMap) ElementType added in v3.75.0

func (WaitingRoomEventMap) ElementType() reflect.Type

func (WaitingRoomEventMap) ToWaitingRoomEventMapOutput added in v3.75.0

func (i WaitingRoomEventMap) ToWaitingRoomEventMapOutput() WaitingRoomEventMapOutput

func (WaitingRoomEventMap) ToWaitingRoomEventMapOutputWithContext added in v3.75.0

func (i WaitingRoomEventMap) ToWaitingRoomEventMapOutputWithContext(ctx context.Context) WaitingRoomEventMapOutput

type WaitingRoomEventMapInput added in v3.75.0

type WaitingRoomEventMapInput interface {
	pulumi.Input

	ToWaitingRoomEventMapOutput() WaitingRoomEventMapOutput
	ToWaitingRoomEventMapOutputWithContext(context.Context) WaitingRoomEventMapOutput
}

WaitingRoomEventMapInput is an input type that accepts WaitingRoomEventMap and WaitingRoomEventMapOutput values. You can construct a concrete instance of `WaitingRoomEventMapInput` via:

WaitingRoomEventMap{ "key": WaitingRoomEventArgs{...} }

type WaitingRoomEventMapOutput added in v3.75.0

type WaitingRoomEventMapOutput struct{ *pulumi.OutputState }

func (WaitingRoomEventMapOutput) ElementType added in v3.75.0

func (WaitingRoomEventMapOutput) ElementType() reflect.Type

func (WaitingRoomEventMapOutput) MapIndex added in v3.75.0

func (WaitingRoomEventMapOutput) ToWaitingRoomEventMapOutput added in v3.75.0

func (o WaitingRoomEventMapOutput) ToWaitingRoomEventMapOutput() WaitingRoomEventMapOutput

func (WaitingRoomEventMapOutput) ToWaitingRoomEventMapOutputWithContext added in v3.75.0

func (o WaitingRoomEventMapOutput) ToWaitingRoomEventMapOutputWithContext(ctx context.Context) WaitingRoomEventMapOutput

type WaitingRoomEventOutput added in v3.75.0

type WaitingRoomEventOutput struct{ *pulumi.OutputState }

func (WaitingRoomEventOutput) CustomPageHtml added in v3.75.0

func (o WaitingRoomEventOutput) CustomPageHtml() pulumi.StringPtrOutput

The type of the waiting room. Valid values:

- default - custom

func (WaitingRoomEventOutput) Description added in v3.75.0

Specifies whether to enable JSON response. Valid values:

- on - off

func (WaitingRoomEventOutput) DisableSessionRenewalEnable added in v3.75.0

func (o WaitingRoomEventOutput) DisableSessionRenewalEnable() pulumi.StringPtrOutput

The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.

func (WaitingRoomEventOutput) ElementType added in v3.75.0

func (WaitingRoomEventOutput) ElementType() reflect.Type

func (WaitingRoomEventOutput) EndTime added in v3.75.0

The start time of the event. This value is a UNIX timestamp.

func (WaitingRoomEventOutput) JsonResponseEnable added in v3.75.0

func (o WaitingRoomEventOutput) JsonResponseEnable() pulumi.StringPtrOutput

The HTTP status code to return while a user is in the queue. Valid values:

- 200 - 202 - 429

func (WaitingRoomEventOutput) Language added in v3.75.0

Specifies whether to enable random queuing.

- on - off

func (WaitingRoomEventOutput) NewUsersPerMinute added in v3.75.0

func (o WaitingRoomEventOutput) NewUsersPerMinute() pulumi.StringOutput

The maximum number of active users.

func (WaitingRoomEventOutput) PreQueueEnable added in v3.75.0

func (o WaitingRoomEventOutput) PreQueueEnable() pulumi.StringPtrOutput

The end time of the event. This value is a UNIX timestamp.

func (WaitingRoomEventOutput) PreQueueStartTime added in v3.75.0

func (o WaitingRoomEventOutput) PreQueueStartTime() pulumi.StringPtrOutput

Specifies whether to enable pre-queuing.

- on - off

func (WaitingRoomEventOutput) QueuingMethod added in v3.75.0

func (o WaitingRoomEventOutput) QueuingMethod() pulumi.StringOutput

Specifies whether to disable session renewal. Valid values:

- on - off

func (WaitingRoomEventOutput) QueuingStatusCode added in v3.75.0

func (o WaitingRoomEventOutput) QueuingStatusCode() pulumi.StringOutput

The queuing method. Valid values:

- random: Users gain access to the origin randomly, regardless of the arrival time. - fifo: Users gain access to the origin in order of arrival. - passthrough: Users pass through the waiting room and go straight to the origin. - reject-all: All requests are blocked from accessing the origin.

func (WaitingRoomEventOutput) RandomPreQueueEnable added in v3.75.0

func (o WaitingRoomEventOutput) RandomPreQueueEnable() pulumi.StringPtrOutput

The start time for pre-queuing.

func (WaitingRoomEventOutput) SessionDuration added in v3.75.0

func (o WaitingRoomEventOutput) SessionDuration() pulumi.StringOutput

The maximum number of new users per minute.

func (WaitingRoomEventOutput) SiteId added in v3.75.0

The site ID, which can be obtained by calling the ListSites API.

func (WaitingRoomEventOutput) StartTime added in v3.75.0

The content of the custom waiting room page. You must specify this parameter if you set WaitingRoomType to custom. The content must be Base64-encoded.

func (WaitingRoomEventOutput) Status added in v3.75.0

The ID of the waiting room event, which can be obtained by calling the [ListWaitingRoomEvents](https://www.alibabacloud.com/help/en/doc-detail/2850279.html) operation.

func (WaitingRoomEventOutput) ToWaitingRoomEventOutput added in v3.75.0

func (o WaitingRoomEventOutput) ToWaitingRoomEventOutput() WaitingRoomEventOutput

func (WaitingRoomEventOutput) ToWaitingRoomEventOutputWithContext added in v3.75.0

func (o WaitingRoomEventOutput) ToWaitingRoomEventOutputWithContext(ctx context.Context) WaitingRoomEventOutput

func (WaitingRoomEventOutput) TotalActiveUsers added in v3.75.0

func (o WaitingRoomEventOutput) TotalActiveUsers() pulumi.StringOutput

The name of the waiting room event.

func (WaitingRoomEventOutput) WaitingRoomEventId added in v3.75.0

func (o WaitingRoomEventOutput) WaitingRoomEventId() pulumi.IntOutput

The unique ID of the waiting room, which can be obtained by calling the [ListWaitingRooms](https://www.alibabacloud.com/help/en/doc-detail/2850279.html) operation.

func (WaitingRoomEventOutput) WaitingRoomEventName added in v3.75.0

func (o WaitingRoomEventOutput) WaitingRoomEventName() pulumi.StringOutput

Specifies whether to enable the waiting room event. Valid values:

func (WaitingRoomEventOutput) WaitingRoomId added in v3.75.0

func (o WaitingRoomEventOutput) WaitingRoomId() pulumi.StringOutput

The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.

func (WaitingRoomEventOutput) WaitingRoomType added in v3.75.0

func (o WaitingRoomEventOutput) WaitingRoomType() pulumi.StringOutput

The description of the waiting room.

type WaitingRoomEventState added in v3.75.0

type WaitingRoomEventState struct {
	// The type of the waiting room. Valid values:
	//
	// - default
	// - custom
	CustomPageHtml pulumi.StringPtrInput
	// Specifies whether to enable JSON response. Valid values:
	//
	// - on
	// - off
	Description pulumi.StringPtrInput
	// The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.
	DisableSessionRenewalEnable pulumi.StringPtrInput
	// The start time of the event. This value is a UNIX timestamp.
	EndTime pulumi.StringPtrInput
	// The HTTP status code to return while a user is in the queue. Valid values:
	//
	// - 200
	// - 202
	// - 429
	JsonResponseEnable pulumi.StringPtrInput
	// Specifies whether to enable random queuing.
	//
	// - on
	// - off
	Language pulumi.StringPtrInput
	// The maximum number of active users.
	NewUsersPerMinute pulumi.StringPtrInput
	// The end time of the event. This value is a UNIX timestamp.
	PreQueueEnable pulumi.StringPtrInput
	// Specifies whether to enable pre-queuing.
	//
	// - on
	// - off
	PreQueueStartTime pulumi.StringPtrInput
	// Specifies whether to disable session renewal. Valid values:
	//
	// - on
	// - off
	QueuingMethod pulumi.StringPtrInput
	// The queuing method. Valid values:
	//
	// - random: Users gain access to the origin randomly, regardless of the arrival time.
	// - fifo: Users gain access to the origin in order of arrival.
	// - passthrough: Users pass through the waiting room and go straight to the origin.
	// - reject-all: All requests are blocked from accessing the origin.
	QueuingStatusCode pulumi.StringPtrInput
	// The start time for pre-queuing.
	RandomPreQueueEnable pulumi.StringPtrInput
	// The maximum number of new users per minute.
	SessionDuration pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntPtrInput
	// The content of the custom waiting room page. You must specify this parameter if you set WaitingRoomType to custom. The content must be Base64-encoded.
	StartTime pulumi.StringPtrInput
	// The ID of the waiting room event, which can be obtained by calling the [ListWaitingRoomEvents](https://www.alibabacloud.com/help/en/doc-detail/2850279.html) operation.
	Status pulumi.StringPtrInput
	// The name of the waiting room event.
	TotalActiveUsers pulumi.StringPtrInput
	// The unique ID of the waiting room, which can be obtained by calling the [ListWaitingRooms](https://www.alibabacloud.com/help/en/doc-detail/2850279.html) operation.
	WaitingRoomEventId pulumi.IntPtrInput
	// Specifies whether to enable the waiting room event. Valid values:
	WaitingRoomEventName pulumi.StringPtrInput
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	WaitingRoomId pulumi.StringPtrInput
	// The description of the waiting room.
	WaitingRoomType pulumi.StringPtrInput
}

func (WaitingRoomEventState) ElementType added in v3.75.0

func (WaitingRoomEventState) ElementType() reflect.Type

type WaitingRoomHostNameAndPath added in v3.75.0

type WaitingRoomHostNameAndPath struct {
	// The domain name.
	Domain string `pulumi:"domain"`
	// The path.
	Path string `pulumi:"path"`
	// The subdomain.
	Subdomain string `pulumi:"subdomain"`
}

type WaitingRoomHostNameAndPathArgs added in v3.75.0

type WaitingRoomHostNameAndPathArgs struct {
	// The domain name.
	Domain pulumi.StringInput `pulumi:"domain"`
	// The path.
	Path pulumi.StringInput `pulumi:"path"`
	// The subdomain.
	Subdomain pulumi.StringInput `pulumi:"subdomain"`
}

func (WaitingRoomHostNameAndPathArgs) ElementType added in v3.75.0

func (WaitingRoomHostNameAndPathArgs) ToWaitingRoomHostNameAndPathOutput added in v3.75.0

func (i WaitingRoomHostNameAndPathArgs) ToWaitingRoomHostNameAndPathOutput() WaitingRoomHostNameAndPathOutput

func (WaitingRoomHostNameAndPathArgs) ToWaitingRoomHostNameAndPathOutputWithContext added in v3.75.0

func (i WaitingRoomHostNameAndPathArgs) ToWaitingRoomHostNameAndPathOutputWithContext(ctx context.Context) WaitingRoomHostNameAndPathOutput

type WaitingRoomHostNameAndPathArray added in v3.75.0

type WaitingRoomHostNameAndPathArray []WaitingRoomHostNameAndPathInput

func (WaitingRoomHostNameAndPathArray) ElementType added in v3.75.0

func (WaitingRoomHostNameAndPathArray) ToWaitingRoomHostNameAndPathArrayOutput added in v3.75.0

func (i WaitingRoomHostNameAndPathArray) ToWaitingRoomHostNameAndPathArrayOutput() WaitingRoomHostNameAndPathArrayOutput

func (WaitingRoomHostNameAndPathArray) ToWaitingRoomHostNameAndPathArrayOutputWithContext added in v3.75.0

func (i WaitingRoomHostNameAndPathArray) ToWaitingRoomHostNameAndPathArrayOutputWithContext(ctx context.Context) WaitingRoomHostNameAndPathArrayOutput

type WaitingRoomHostNameAndPathArrayInput added in v3.75.0

type WaitingRoomHostNameAndPathArrayInput interface {
	pulumi.Input

	ToWaitingRoomHostNameAndPathArrayOutput() WaitingRoomHostNameAndPathArrayOutput
	ToWaitingRoomHostNameAndPathArrayOutputWithContext(context.Context) WaitingRoomHostNameAndPathArrayOutput
}

WaitingRoomHostNameAndPathArrayInput is an input type that accepts WaitingRoomHostNameAndPathArray and WaitingRoomHostNameAndPathArrayOutput values. You can construct a concrete instance of `WaitingRoomHostNameAndPathArrayInput` via:

WaitingRoomHostNameAndPathArray{ WaitingRoomHostNameAndPathArgs{...} }

type WaitingRoomHostNameAndPathArrayOutput added in v3.75.0

type WaitingRoomHostNameAndPathArrayOutput struct{ *pulumi.OutputState }

func (WaitingRoomHostNameAndPathArrayOutput) ElementType added in v3.75.0

func (WaitingRoomHostNameAndPathArrayOutput) Index added in v3.75.0

func (WaitingRoomHostNameAndPathArrayOutput) ToWaitingRoomHostNameAndPathArrayOutput added in v3.75.0

func (o WaitingRoomHostNameAndPathArrayOutput) ToWaitingRoomHostNameAndPathArrayOutput() WaitingRoomHostNameAndPathArrayOutput

func (WaitingRoomHostNameAndPathArrayOutput) ToWaitingRoomHostNameAndPathArrayOutputWithContext added in v3.75.0

func (o WaitingRoomHostNameAndPathArrayOutput) ToWaitingRoomHostNameAndPathArrayOutputWithContext(ctx context.Context) WaitingRoomHostNameAndPathArrayOutput

type WaitingRoomHostNameAndPathInput added in v3.75.0

type WaitingRoomHostNameAndPathInput interface {
	pulumi.Input

	ToWaitingRoomHostNameAndPathOutput() WaitingRoomHostNameAndPathOutput
	ToWaitingRoomHostNameAndPathOutputWithContext(context.Context) WaitingRoomHostNameAndPathOutput
}

WaitingRoomHostNameAndPathInput is an input type that accepts WaitingRoomHostNameAndPathArgs and WaitingRoomHostNameAndPathOutput values. You can construct a concrete instance of `WaitingRoomHostNameAndPathInput` via:

WaitingRoomHostNameAndPathArgs{...}

type WaitingRoomHostNameAndPathOutput added in v3.75.0

type WaitingRoomHostNameAndPathOutput struct{ *pulumi.OutputState }

func (WaitingRoomHostNameAndPathOutput) Domain added in v3.75.0

The domain name.

func (WaitingRoomHostNameAndPathOutput) ElementType added in v3.75.0

func (WaitingRoomHostNameAndPathOutput) Path added in v3.75.0

The path.

func (WaitingRoomHostNameAndPathOutput) Subdomain added in v3.75.0

The subdomain.

func (WaitingRoomHostNameAndPathOutput) ToWaitingRoomHostNameAndPathOutput added in v3.75.0

func (o WaitingRoomHostNameAndPathOutput) ToWaitingRoomHostNameAndPathOutput() WaitingRoomHostNameAndPathOutput

func (WaitingRoomHostNameAndPathOutput) ToWaitingRoomHostNameAndPathOutputWithContext added in v3.75.0

func (o WaitingRoomHostNameAndPathOutput) ToWaitingRoomHostNameAndPathOutputWithContext(ctx context.Context) WaitingRoomHostNameAndPathOutput

type WaitingRoomInput added in v3.75.0

type WaitingRoomInput interface {
	pulumi.Input

	ToWaitingRoomOutput() WaitingRoomOutput
	ToWaitingRoomOutputWithContext(ctx context.Context) WaitingRoomOutput
}

type WaitingRoomMap added in v3.75.0

type WaitingRoomMap map[string]WaitingRoomInput

func (WaitingRoomMap) ElementType added in v3.75.0

func (WaitingRoomMap) ElementType() reflect.Type

func (WaitingRoomMap) ToWaitingRoomMapOutput added in v3.75.0

func (i WaitingRoomMap) ToWaitingRoomMapOutput() WaitingRoomMapOutput

func (WaitingRoomMap) ToWaitingRoomMapOutputWithContext added in v3.75.0

func (i WaitingRoomMap) ToWaitingRoomMapOutputWithContext(ctx context.Context) WaitingRoomMapOutput

type WaitingRoomMapInput added in v3.75.0

type WaitingRoomMapInput interface {
	pulumi.Input

	ToWaitingRoomMapOutput() WaitingRoomMapOutput
	ToWaitingRoomMapOutputWithContext(context.Context) WaitingRoomMapOutput
}

WaitingRoomMapInput is an input type that accepts WaitingRoomMap and WaitingRoomMapOutput values. You can construct a concrete instance of `WaitingRoomMapInput` via:

WaitingRoomMap{ "key": WaitingRoomArgs{...} }

type WaitingRoomMapOutput added in v3.75.0

type WaitingRoomMapOutput struct{ *pulumi.OutputState }

func (WaitingRoomMapOutput) ElementType added in v3.75.0

func (WaitingRoomMapOutput) ElementType() reflect.Type

func (WaitingRoomMapOutput) MapIndex added in v3.75.0

func (WaitingRoomMapOutput) ToWaitingRoomMapOutput added in v3.75.0

func (o WaitingRoomMapOutput) ToWaitingRoomMapOutput() WaitingRoomMapOutput

func (WaitingRoomMapOutput) ToWaitingRoomMapOutputWithContext added in v3.75.0

func (o WaitingRoomMapOutput) ToWaitingRoomMapOutputWithContext(ctx context.Context) WaitingRoomMapOutput

type WaitingRoomOutput added in v3.75.0

type WaitingRoomOutput struct{ *pulumi.OutputState }

func (WaitingRoomOutput) CookieName added in v3.75.0

func (o WaitingRoomOutput) CookieName() pulumi.StringOutput

The name of the custom cookie.

func (WaitingRoomOutput) CustomPageHtml added in v3.75.0

func (o WaitingRoomOutput) CustomPageHtml() pulumi.StringPtrOutput

The HTML content or identifier of the custom queuing page. This parameter is valid only when `WaitingRoomType` is set to `custom`. The content must be URL-encoded.

func (WaitingRoomOutput) Description added in v3.75.0

func (o WaitingRoomOutput) Description() pulumi.StringPtrOutput

Specifies whether to enable JSON response. If you set this parameter to on, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:

- on - off

func (WaitingRoomOutput) DisableSessionRenewalEnable added in v3.75.0

func (o WaitingRoomOutput) DisableSessionRenewalEnable() pulumi.StringPtrOutput

The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.

func (WaitingRoomOutput) ElementType added in v3.75.0

func (WaitingRoomOutput) ElementType() reflect.Type

func (WaitingRoomOutput) HostNameAndPaths added in v3.75.0

The details of the hostname and path. See `hostNameAndPath` below.

func (WaitingRoomOutput) JsonResponseEnable added in v3.75.0

func (o WaitingRoomOutput) JsonResponseEnable() pulumi.StringPtrOutput

Indicates whether JSON response is enabled. If you set this parameter to on, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:

- on - off

func (WaitingRoomOutput) Language added in v3.75.0

The language of the waiting room page. This parameter is returned when the waiting room type is set to default. Valid values:

- enus: English. - zhcn: Simplified Chinese. - zhhk: Traditional Chinese.

func (WaitingRoomOutput) NewUsersPerMinute added in v3.75.0

func (o WaitingRoomOutput) NewUsersPerMinute() pulumi.StringOutput

The maximum number of new users per minute.

func (WaitingRoomOutput) QueueAllEnable added in v3.75.0

func (o WaitingRoomOutput) QueueAllEnable() pulumi.StringPtrOutput

Indicates whether all requests must be queued. Valid values:

- on - off

func (WaitingRoomOutput) QueuingMethod added in v3.75.0

func (o WaitingRoomOutput) QueuingMethod() pulumi.StringOutput

The queuing method. Valid values:

- random: Users gain access to the origin randomly, regardless of the arrival time. - fifo: Users gain access to the origin in order of arrival. - passthrough: Users pass through the waiting room and go straight to the origin. - reject-all: Users are blocked from reaching the origin.

func (WaitingRoomOutput) QueuingStatusCode added in v3.75.0

func (o WaitingRoomOutput) QueuingStatusCode() pulumi.StringOutput

The queuing method. Valid values:

- random: Users gain access to the origin randomly, regardless of the arrival time. - fifo: Users gain access to the origin in order of arrival. - passthrough: Users pass through the waiting room and go straight to the origin. - reject-all: Users are blocked from reaching the origin.

func (WaitingRoomOutput) SessionDuration added in v3.75.0

func (o WaitingRoomOutput) SessionDuration() pulumi.StringOutput

The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.

func (WaitingRoomOutput) SiteId added in v3.75.0

func (o WaitingRoomOutput) SiteId() pulumi.IntOutput

func (WaitingRoomOutput) Status added in v3.75.0

The ID of the waiting room, which can be obtained by calling the [ListWaitingRooms](https://www.alibabacloud.com/help/en/doc-detail/2850279.html) operation.

func (WaitingRoomOutput) ToWaitingRoomOutput added in v3.75.0

func (o WaitingRoomOutput) ToWaitingRoomOutput() WaitingRoomOutput

func (WaitingRoomOutput) ToWaitingRoomOutputWithContext added in v3.75.0

func (o WaitingRoomOutput) ToWaitingRoomOutputWithContext(ctx context.Context) WaitingRoomOutput

func (WaitingRoomOutput) TotalActiveUsers added in v3.75.0

func (o WaitingRoomOutput) TotalActiveUsers() pulumi.StringOutput

The maximum number of active users.

func (WaitingRoomOutput) WaitingRoomId added in v3.75.0

func (o WaitingRoomOutput) WaitingRoomId() pulumi.StringOutput

The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.

func (WaitingRoomOutput) WaitingRoomName added in v3.75.0

func (o WaitingRoomOutput) WaitingRoomName() pulumi.StringOutput

Specifies whether to enable the waiting room. Valid values:

- on - off

func (WaitingRoomOutput) WaitingRoomType added in v3.75.0

func (o WaitingRoomOutput) WaitingRoomType() pulumi.StringOutput

The type of the waiting room. Valid values:

- default - custom

type WaitingRoomRule added in v3.75.0

type WaitingRoomRule struct {
	pulumi.CustomResourceState

	// Specifies whether to enable the rule. Valid values:
	//
	// - on
	// - off
	Rule pulumi.StringOutput `pulumi:"rule"`
	// Optional. The rule ID, which can be used to query a specific rule.
	RuleName pulumi.StringOutput `pulumi:"ruleName"`
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntOutput `pulumi:"siteId"`
	// The rule name.
	Status pulumi.StringOutput `pulumi:"status"`
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	WaitingRoomId pulumi.StringOutput `pulumi:"waitingRoomId"`
	// WaitingRoomRuleId Id
	WaitingRoomRuleId pulumi.IntOutput `pulumi:"waitingRoomRuleId"`
}

Provides a ESA Waiting Room Rule resource.

For information about ESA Waiting Room Rule and how to use it, see [What is Waiting Room Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWaitingRoomRule).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
		}, nil)
		if err != nil {
			return err
		}
		defaultSite, err := esa.NewSite(ctx, "default", &esa.SiteArgs{
			SiteName:   pulumi.String("terraform.site"),
			InstanceId: pulumi.String(_default.Sites[0].InstanceId),
			Coverage:   pulumi.String("overseas"),
			AccessType: pulumi.String("NS"),
		})
		if err != nil {
			return err
		}
		defaultWaitingRoom, err := esa.NewWaitingRoom(ctx, "default", &esa.WaitingRoomArgs{
			Status:                      pulumi.String("off"),
			SiteId:                      defaultSite.ID(),
			JsonResponseEnable:          pulumi.String("off"),
			Description:                 pulumi.String("example"),
			WaitingRoomType:             pulumi.String("default"),
			DisableSessionRenewalEnable: pulumi.String("off"),
			CookieName:                  pulumi.String("__aliwaitingroom_example"),
			WaitingRoomName:             pulumi.String("waitingroom_example"),
			QueueAllEnable:              pulumi.String("off"),
			QueuingStatusCode:           pulumi.String("200"),
			CustomPageHtml:              pulumi.String(""),
			NewUsersPerMinute:           pulumi.String("200"),
			SessionDuration:             pulumi.String("5"),
			Language:                    pulumi.String("zhcn"),
			TotalActiveUsers:            pulumi.String("300"),
			QueuingMethod:               pulumi.String("fifo"),
			HostNameAndPaths: esa.WaitingRoomHostNameAndPathArray{
				&esa.WaitingRoomHostNameAndPathArgs{
					Domain:    pulumi.String("sub_domain.com"),
					Path:      pulumi.String("/example"),
					Subdomain: pulumi.String("example_sub_domain.com."),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = esa.NewWaitingRoomRule(ctx, "default", &esa.WaitingRoomRuleArgs{
			Rule:          pulumi.String("(http.host eq \"video.example.com\")"),
			WaitingRoomId: defaultWaitingRoom.WaitingRoomId,
			RuleName:      pulumi.String("WaitingRoomRule_example1"),
			Status:        pulumi.String("off"),
			SiteId:        defaultSite.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESA Waiting Room Rule can be imported using the id, e.g.

```sh $ pulumi import alicloud:esa/waitingRoomRule:WaitingRoomRule example <site_id>:<waiting_room_id>:<waiting_room_rule_id> ```

func GetWaitingRoomRule added in v3.75.0

func GetWaitingRoomRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WaitingRoomRuleState, opts ...pulumi.ResourceOption) (*WaitingRoomRule, error)

GetWaitingRoomRule gets an existing WaitingRoomRule 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 NewWaitingRoomRule added in v3.75.0

func NewWaitingRoomRule(ctx *pulumi.Context,
	name string, args *WaitingRoomRuleArgs, opts ...pulumi.ResourceOption) (*WaitingRoomRule, error)

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

func (*WaitingRoomRule) ElementType added in v3.75.0

func (*WaitingRoomRule) ElementType() reflect.Type

func (*WaitingRoomRule) ToWaitingRoomRuleOutput added in v3.75.0

func (i *WaitingRoomRule) ToWaitingRoomRuleOutput() WaitingRoomRuleOutput

func (*WaitingRoomRule) ToWaitingRoomRuleOutputWithContext added in v3.75.0

func (i *WaitingRoomRule) ToWaitingRoomRuleOutputWithContext(ctx context.Context) WaitingRoomRuleOutput

type WaitingRoomRuleArgs added in v3.75.0

type WaitingRoomRuleArgs struct {
	// Specifies whether to enable the rule. Valid values:
	//
	// - on
	// - off
	Rule pulumi.StringInput
	// Optional. The rule ID, which can be used to query a specific rule.
	RuleName pulumi.StringInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntInput
	// The rule name.
	Status pulumi.StringInput
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	WaitingRoomId pulumi.StringInput
}

The set of arguments for constructing a WaitingRoomRule resource.

func (WaitingRoomRuleArgs) ElementType added in v3.75.0

func (WaitingRoomRuleArgs) ElementType() reflect.Type

type WaitingRoomRuleArray added in v3.75.0

type WaitingRoomRuleArray []WaitingRoomRuleInput

func (WaitingRoomRuleArray) ElementType added in v3.75.0

func (WaitingRoomRuleArray) ElementType() reflect.Type

func (WaitingRoomRuleArray) ToWaitingRoomRuleArrayOutput added in v3.75.0

func (i WaitingRoomRuleArray) ToWaitingRoomRuleArrayOutput() WaitingRoomRuleArrayOutput

func (WaitingRoomRuleArray) ToWaitingRoomRuleArrayOutputWithContext added in v3.75.0

func (i WaitingRoomRuleArray) ToWaitingRoomRuleArrayOutputWithContext(ctx context.Context) WaitingRoomRuleArrayOutput

type WaitingRoomRuleArrayInput added in v3.75.0

type WaitingRoomRuleArrayInput interface {
	pulumi.Input

	ToWaitingRoomRuleArrayOutput() WaitingRoomRuleArrayOutput
	ToWaitingRoomRuleArrayOutputWithContext(context.Context) WaitingRoomRuleArrayOutput
}

WaitingRoomRuleArrayInput is an input type that accepts WaitingRoomRuleArray and WaitingRoomRuleArrayOutput values. You can construct a concrete instance of `WaitingRoomRuleArrayInput` via:

WaitingRoomRuleArray{ WaitingRoomRuleArgs{...} }

type WaitingRoomRuleArrayOutput added in v3.75.0

type WaitingRoomRuleArrayOutput struct{ *pulumi.OutputState }

func (WaitingRoomRuleArrayOutput) ElementType added in v3.75.0

func (WaitingRoomRuleArrayOutput) ElementType() reflect.Type

func (WaitingRoomRuleArrayOutput) Index added in v3.75.0

func (WaitingRoomRuleArrayOutput) ToWaitingRoomRuleArrayOutput added in v3.75.0

func (o WaitingRoomRuleArrayOutput) ToWaitingRoomRuleArrayOutput() WaitingRoomRuleArrayOutput

func (WaitingRoomRuleArrayOutput) ToWaitingRoomRuleArrayOutputWithContext added in v3.75.0

func (o WaitingRoomRuleArrayOutput) ToWaitingRoomRuleArrayOutputWithContext(ctx context.Context) WaitingRoomRuleArrayOutput

type WaitingRoomRuleInput added in v3.75.0

type WaitingRoomRuleInput interface {
	pulumi.Input

	ToWaitingRoomRuleOutput() WaitingRoomRuleOutput
	ToWaitingRoomRuleOutputWithContext(ctx context.Context) WaitingRoomRuleOutput
}

type WaitingRoomRuleMap added in v3.75.0

type WaitingRoomRuleMap map[string]WaitingRoomRuleInput

func (WaitingRoomRuleMap) ElementType added in v3.75.0

func (WaitingRoomRuleMap) ElementType() reflect.Type

func (WaitingRoomRuleMap) ToWaitingRoomRuleMapOutput added in v3.75.0

func (i WaitingRoomRuleMap) ToWaitingRoomRuleMapOutput() WaitingRoomRuleMapOutput

func (WaitingRoomRuleMap) ToWaitingRoomRuleMapOutputWithContext added in v3.75.0

func (i WaitingRoomRuleMap) ToWaitingRoomRuleMapOutputWithContext(ctx context.Context) WaitingRoomRuleMapOutput

type WaitingRoomRuleMapInput added in v3.75.0

type WaitingRoomRuleMapInput interface {
	pulumi.Input

	ToWaitingRoomRuleMapOutput() WaitingRoomRuleMapOutput
	ToWaitingRoomRuleMapOutputWithContext(context.Context) WaitingRoomRuleMapOutput
}

WaitingRoomRuleMapInput is an input type that accepts WaitingRoomRuleMap and WaitingRoomRuleMapOutput values. You can construct a concrete instance of `WaitingRoomRuleMapInput` via:

WaitingRoomRuleMap{ "key": WaitingRoomRuleArgs{...} }

type WaitingRoomRuleMapOutput added in v3.75.0

type WaitingRoomRuleMapOutput struct{ *pulumi.OutputState }

func (WaitingRoomRuleMapOutput) ElementType added in v3.75.0

func (WaitingRoomRuleMapOutput) ElementType() reflect.Type

func (WaitingRoomRuleMapOutput) MapIndex added in v3.75.0

func (WaitingRoomRuleMapOutput) ToWaitingRoomRuleMapOutput added in v3.75.0

func (o WaitingRoomRuleMapOutput) ToWaitingRoomRuleMapOutput() WaitingRoomRuleMapOutput

func (WaitingRoomRuleMapOutput) ToWaitingRoomRuleMapOutputWithContext added in v3.75.0

func (o WaitingRoomRuleMapOutput) ToWaitingRoomRuleMapOutputWithContext(ctx context.Context) WaitingRoomRuleMapOutput

type WaitingRoomRuleOutput added in v3.75.0

type WaitingRoomRuleOutput struct{ *pulumi.OutputState }

func (WaitingRoomRuleOutput) ElementType added in v3.75.0

func (WaitingRoomRuleOutput) ElementType() reflect.Type

func (WaitingRoomRuleOutput) Rule added in v3.75.0

Specifies whether to enable the rule. Valid values:

- on - off

func (WaitingRoomRuleOutput) RuleName added in v3.75.0

Optional. The rule ID, which can be used to query a specific rule.

func (WaitingRoomRuleOutput) SiteId added in v3.75.0

The site ID, which can be obtained by calling the ListSites API.

func (WaitingRoomRuleOutput) Status added in v3.75.0

The rule name.

func (WaitingRoomRuleOutput) ToWaitingRoomRuleOutput added in v3.75.0

func (o WaitingRoomRuleOutput) ToWaitingRoomRuleOutput() WaitingRoomRuleOutput

func (WaitingRoomRuleOutput) ToWaitingRoomRuleOutputWithContext added in v3.75.0

func (o WaitingRoomRuleOutput) ToWaitingRoomRuleOutputWithContext(ctx context.Context) WaitingRoomRuleOutput

func (WaitingRoomRuleOutput) WaitingRoomId added in v3.75.0

func (o WaitingRoomRuleOutput) WaitingRoomId() pulumi.StringOutput

The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.

func (WaitingRoomRuleOutput) WaitingRoomRuleId added in v3.75.0

func (o WaitingRoomRuleOutput) WaitingRoomRuleId() pulumi.IntOutput

WaitingRoomRuleId Id

type WaitingRoomRuleState added in v3.75.0

type WaitingRoomRuleState struct {
	// Specifies whether to enable the rule. Valid values:
	//
	// - on
	// - off
	Rule pulumi.StringPtrInput
	// Optional. The rule ID, which can be used to query a specific rule.
	RuleName pulumi.StringPtrInput
	// The site ID, which can be obtained by calling the ListSites API.
	SiteId pulumi.IntPtrInput
	// The rule name.
	Status pulumi.StringPtrInput
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	WaitingRoomId pulumi.StringPtrInput
	// WaitingRoomRuleId Id
	WaitingRoomRuleId pulumi.IntPtrInput
}

func (WaitingRoomRuleState) ElementType added in v3.75.0

func (WaitingRoomRuleState) ElementType() reflect.Type

type WaitingRoomState added in v3.75.0

type WaitingRoomState struct {
	// The name of the custom cookie.
	CookieName pulumi.StringPtrInput
	// The HTML content or identifier of the custom queuing page. This parameter is valid only when `WaitingRoomType` is set to `custom`. The content must be URL-encoded.
	CustomPageHtml pulumi.StringPtrInput
	// Specifies whether to enable JSON response. If you set this parameter to on, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:
	//
	// - on
	// - off
	Description pulumi.StringPtrInput
	// The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.
	DisableSessionRenewalEnable pulumi.StringPtrInput
	// The details of the hostname and path. See `hostNameAndPath` below.
	HostNameAndPaths WaitingRoomHostNameAndPathArrayInput
	// Indicates whether JSON response is enabled. If you set this parameter to on, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:
	//
	// - on
	// - off
	JsonResponseEnable pulumi.StringPtrInput
	// The language of the waiting room page. This parameter is returned when the waiting room type is set to default. Valid values:
	//
	// - enus: English.
	// - zhcn: Simplified Chinese.
	// - zhhk: Traditional Chinese.
	Language pulumi.StringPtrInput
	// The maximum number of new users per minute.
	NewUsersPerMinute pulumi.StringPtrInput
	// Indicates whether all requests must be queued. Valid values:
	//
	// - on
	// - off
	QueueAllEnable pulumi.StringPtrInput
	// The queuing method. Valid values:
	//
	// - random: Users gain access to the origin randomly, regardless of the arrival time.
	// - fifo: Users gain access to the origin in order of arrival.
	// - passthrough: Users pass through the waiting room and go straight to the origin.
	// - reject-all: Users are blocked from reaching the origin.
	QueuingMethod pulumi.StringPtrInput
	// The queuing method. Valid values:
	//
	// - random: Users gain access to the origin randomly, regardless of the arrival time.
	// - fifo: Users gain access to the origin in order of arrival.
	// - passthrough: Users pass through the waiting room and go straight to the origin.
	// - reject-all: Users are blocked from reaching the origin.
	QueuingStatusCode pulumi.StringPtrInput
	// The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.
	SessionDuration pulumi.StringPtrInput
	SiteId          pulumi.IntPtrInput
	// The ID of the waiting room, which can be obtained by calling the [ListWaitingRooms](https://www.alibabacloud.com/help/en/doc-detail/2850279.html) operation.
	Status pulumi.StringPtrInput
	// The maximum number of active users.
	TotalActiveUsers pulumi.StringPtrInput
	// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.
	WaitingRoomId pulumi.StringPtrInput
	// Specifies whether to enable the waiting room. Valid values:
	//
	// - on
	// - off
	WaitingRoomName pulumi.StringPtrInput
	// The type of the waiting room. Valid values:
	//
	// - default
	// - custom
	WaitingRoomType pulumi.StringPtrInput
}

func (WaitingRoomState) ElementType added in v3.75.0

func (WaitingRoomState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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