HttpResponseHeaderModificationRuleArgs

data class HttpResponseHeaderModificationRuleArgs(val responseHeaderModifications: Output<List<HttpResponseHeaderModificationRuleResponseHeaderModificationArgs>>? = null, val rule: Output<String>? = null, val ruleEnable: Output<String>? = null, val ruleName: Output<String>? = null, val siteId: Output<Int>? = null, val siteVersion: Output<Int>? = null) : ConvertibleToJava<HttpResponseHeaderModificationRuleArgs>

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.

NOTE: Available since v1.243.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
import * as random from "@pulumi/random";
const config = new pulumi.Config();
const name = config.get("name") || "terraform-example";
const resourceHttpResponseHeaderModificationRuleExample = new alicloud.esa.RatePlanInstance("resource_HttpResponseHeaderModificationRule_example", {
type: "NS",
autoRenew: false,
period: 1,
paymentType: "Subscription",
coverage: "overseas",
autoPay: true,
planName: "high",
});
const _default = new random.index.Integer("default", {
min: 10000,
max: 99999,
});
const resourceSiteHttpResponseHeaderModificationRuleExample = new alicloud.esa.Site("resource_Site_HttpResponseHeaderModificationRule_example", {
siteName: `gositecdn-${_default.result}.cn`,
instanceId: resourceHttpResponseHeaderModificationRuleExample.id,
coverage: "overseas",
accessType: "NS",
});
const defaultHttpResponseHeaderModificationRule = new alicloud.esa.HttpResponseHeaderModificationRule("default", {
ruleEnable: "on",
responseHeaderModifications: [
{
value: "add",
operation: "add",
name: "exampleadd",
},
{
operation: "del",
name: "exampledel",
},
{
operation: "modify",
name: "examplemodify",
value: "modify",
},
],
rule: "(http.host eq \"video.example.com\")",
siteVersion: 0,
ruleName: "exampleResponseHeader",
siteId: resourceSiteHttpResponseHeaderModificationRuleExample.id,
});
import pulumi
import pulumi_alicloud as alicloud
import pulumi_random as random
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "terraform-example"
resource_http_response_header_modification_rule_example = alicloud.esa.RatePlanInstance("resource_HttpResponseHeaderModificationRule_example",
type="NS",
auto_renew=False,
period=1,
payment_type="Subscription",
coverage="overseas",
auto_pay=True,
plan_name="high")
default = random.index.Integer("default",
min=10000,
max=99999)
resource_site_http_response_header_modification_rule_example = alicloud.esa.Site("resource_Site_HttpResponseHeaderModificationRule_example",
site_name=f"gositecdn-{default['result']}.cn",
instance_id=resource_http_response_header_modification_rule_example.id,
coverage="overseas",
access_type="NS")
default_http_response_header_modification_rule = alicloud.esa.HttpResponseHeaderModificationRule("default",
rule_enable="on",
response_header_modifications=[
{
"value": "add",
"operation": "add",
"name": "exampleadd",
},
{
"operation": "del",
"name": "exampledel",
},
{
"operation": "modify",
"name": "examplemodify",
"value": "modify",
},
],
rule="(http.host eq \"video.example.com\")",
site_version=0,
rule_name="exampleResponseHeader",
site_id=resource_site_http_response_header_modification_rule_example.id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "terraform-example";
var resourceHttpResponseHeaderModificationRuleExample = new AliCloud.Esa.RatePlanInstance("resource_HttpResponseHeaderModificationRule_example", new()
{
Type = "NS",
AutoRenew = false,
Period = 1,
PaymentType = "Subscription",
Coverage = "overseas",
AutoPay = true,
PlanName = "high",
});
var @default = new Random.Index.Integer("default", new()
{
Min = 10000,
Max = 99999,
});
var resourceSiteHttpResponseHeaderModificationRuleExample = new AliCloud.Esa.Site("resource_Site_HttpResponseHeaderModificationRule_example", new()
{
SiteName = $"gositecdn-{@default.Result}.cn",
InstanceId = resourceHttpResponseHeaderModificationRuleExample.Id,
Coverage = "overseas",
AccessType = "NS",
});
var defaultHttpResponseHeaderModificationRule = new AliCloud.Esa.HttpResponseHeaderModificationRule("default", new()
{
RuleEnable = "on",
ResponseHeaderModifications = new[]
{
new AliCloud.Esa.Inputs.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs
{
Value = "add",
Operation = "add",
Name = "exampleadd",
},
new AliCloud.Esa.Inputs.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs
{
Operation = "del",
Name = "exampledel",
},
new AliCloud.Esa.Inputs.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs
{
Operation = "modify",
Name = "examplemodify",
Value = "modify",
},
},
Rule = "(http.host eq \"video.example.com\")",
SiteVersion = 0,
RuleName = "exampleResponseHeader",
SiteId = resourceSiteHttpResponseHeaderModificationRuleExample.Id,
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa"
"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
}
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
}
_default, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
Min: 10000,
Max: 99999,
})
if err != nil {
return err
}
resourceSiteHttpResponseHeaderModificationRuleExample, err := esa.NewSite(ctx, "resource_Site_HttpResponseHeaderModificationRule_example", &esa.SiteArgs{
SiteName: pulumi.Sprintf("gositecdn-%v.cn", _default.Result),
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
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.esa.RatePlanInstance;
import com.pulumi.alicloud.esa.RatePlanInstanceArgs;
import com.pulumi.random.integer;
import com.pulumi.random.integerArgs;
import com.pulumi.alicloud.esa.Site;
import com.pulumi.alicloud.esa.SiteArgs;
import com.pulumi.alicloud.esa.HttpResponseHeaderModificationRule;
import com.pulumi.alicloud.esa.HttpResponseHeaderModificationRuleArgs;
import com.pulumi.alicloud.esa.inputs.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var config = ctx.config();
final var name = config.get("name").orElse("terraform-example");
var resourceHttpResponseHeaderModificationRuleExample = new RatePlanInstance("resourceHttpResponseHeaderModificationRuleExample", RatePlanInstanceArgs.builder()
.type("NS")
.autoRenew(false)
.period(1)
.paymentType("Subscription")
.coverage("overseas")
.autoPay(true)
.planName("high")
.build());
var default_ = new Integer("default", IntegerArgs.builder()
.min(10000)
.max(99999)
.build());
var resourceSiteHttpResponseHeaderModificationRuleExample = new Site("resourceSiteHttpResponseHeaderModificationRuleExample", SiteArgs.builder()
.siteName(String.format("gositecdn-%s.cn", default_.result()))
.instanceId(resourceHttpResponseHeaderModificationRuleExample.id())
.coverage("overseas")
.accessType("NS")
.build());
var defaultHttpResponseHeaderModificationRule = new HttpResponseHeaderModificationRule("defaultHttpResponseHeaderModificationRule", HttpResponseHeaderModificationRuleArgs.builder()
.ruleEnable("on")
.responseHeaderModifications(
HttpResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()
.value("add")
.operation("add")
.name("exampleadd")
.build(),
HttpResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()
.operation("del")
.name("exampledel")
.build(),
HttpResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()
.operation("modify")
.name("examplemodify")
.value("modify")
.build())
.rule("(http.host eq \"video.example.com\")")
.siteVersion(0)
.ruleName("exampleResponseHeader")
.siteId(resourceSiteHttpResponseHeaderModificationRuleExample.id())
.build());
}
}
configuration:
name:
type: string
default: terraform-example
resources:
resourceHttpResponseHeaderModificationRuleExample:
type: alicloud:esa:RatePlanInstance
name: resource_HttpResponseHeaderModificationRule_example
properties:
type: NS
autoRenew: 'false'
period: '1'
paymentType: Subscription
coverage: overseas
autoPay: 'true'
planName: high
default:
type: random:integer
properties:
min: 10000
max: 99999
resourceSiteHttpResponseHeaderModificationRuleExample:
type: alicloud:esa:Site
name: resource_Site_HttpResponseHeaderModificationRule_example
properties:
siteName: gositecdn-${default.result}.cn
instanceId: ${resourceHttpResponseHeaderModificationRuleExample.id}
coverage: overseas
accessType: NS
defaultHttpResponseHeaderModificationRule:
type: alicloud:esa:HttpResponseHeaderModificationRule
name: default
properties:
ruleEnable: on
responseHeaderModifications:
- value: add
operation: add
name: exampleadd
- operation: del
name: exampledel
- operation: modify
name: examplemodify
value: modify
rule: (http.host eq "video.example.com")
siteVersion: '0'
ruleName: exampleResponseHeader
siteId: ${resourceSiteHttpResponseHeaderModificationRuleExample.id}

Import

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

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

Constructors

Link copied to clipboard
constructor(responseHeaderModifications: Output<List<HttpResponseHeaderModificationRuleResponseHeaderModificationArgs>>? = null, rule: Output<String>? = null, ruleEnable: Output<String>? = null, ruleName: Output<String>? = null, siteId: Output<Int>? = null, siteVersion: Output<Int>? = null)

Properties

Link copied to clipboard

Modify response headers, supporting add, delete, and modify operations. See response_header_modification below.

Link copied to clipboard
val rule: Output<String>? = null

Rule content.

Link copied to clipboard
val ruleEnable: Output<String>? = null

Rule switch. Possible values:

Link copied to clipboard
val ruleName: Output<String>? = null

Rule name.

Link copied to clipboard
val siteId: Output<Int>? = null

The site ID.

Link copied to clipboard
val siteVersion: Output<Int>? = null

The version number of the website configurations.

Functions

Link copied to clipboard
open override fun toJava(): HttpResponseHeaderModificationRuleArgs