RewriteUrlRuleArgs

data class RewriteUrlRuleArgs(val queryString: Output<String>? = null, val rewriteQueryStringType: Output<String>? = null, val rewriteUriType: Output<String>? = 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, val uri: Output<String>? = null) : ConvertibleToJava<RewriteUrlRuleArgs>

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.

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 resourceRewriteUrlRuleRatePlanInstanceExample = new alicloud.esa.RatePlanInstance("resource_RewriteUrlRule_RatePlanInstance_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 resourceRewriteUrlRuleSiteExample = new alicloud.esa.Site("resource_RewriteUrlRule_Site_example", {
siteName: `gositecdn-${_default.result}.cn`,
instanceId: resourceRewriteUrlRuleRatePlanInstanceExample.id,
coverage: "overseas",
accessType: "NS",
});
const defaultRewriteUrlRule = new alicloud.esa.RewriteUrlRule("default", {
rewriteUriType: "static",
rewriteQueryStringType: "static",
siteId: resourceRewriteUrlRuleSiteExample.id,
ruleName: "example",
ruleEnable: "on",
queryString: "example=123",
siteVersion: 0,
rule: "http.host eq \"video.example.com\"",
uri: "/image/example.jpg",
});
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_rewrite_url_rule_rate_plan_instance_example = alicloud.esa.RatePlanInstance("resource_RewriteUrlRule_RatePlanInstance_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_rewrite_url_rule_site_example = alicloud.esa.Site("resource_RewriteUrlRule_Site_example",
site_name=f"gositecdn-{default['result']}.cn",
instance_id=resource_rewrite_url_rule_rate_plan_instance_example.id,
coverage="overseas",
access_type="NS")
default_rewrite_url_rule = alicloud.esa.RewriteUrlRule("default",
rewrite_uri_type="static",
rewrite_query_string_type="static",
site_id=resource_rewrite_url_rule_site_example.id,
rule_name="example",
rule_enable="on",
query_string="example=123",
site_version=0,
rule="http.host eq \"video.example.com\"",
uri="/image/example.jpg")
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 resourceRewriteUrlRuleRatePlanInstanceExample = new AliCloud.Esa.RatePlanInstance("resource_RewriteUrlRule_RatePlanInstance_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 resourceRewriteUrlRuleSiteExample = new AliCloud.Esa.Site("resource_RewriteUrlRule_Site_example", new()
{
SiteName = $"gositecdn-{@default.Result}.cn",
InstanceId = resourceRewriteUrlRuleRatePlanInstanceExample.Id,
Coverage = "overseas",
AccessType = "NS",
});
var defaultRewriteUrlRule = new AliCloud.Esa.RewriteUrlRule("default", new()
{
RewriteUriType = "static",
RewriteQueryStringType = "static",
SiteId = resourceRewriteUrlRuleSiteExample.Id,
RuleName = "example",
RuleEnable = "on",
QueryString = "example=123",
SiteVersion = 0,
Rule = "http.host eq \"video.example.com\"",
Uri = "/image/example.jpg",
});
});
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
}
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
}
_default, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
Min: 10000,
Max: 99999,
})
if err != nil {
return err
}
resourceRewriteUrlRuleSiteExample, err := esa.NewSite(ctx, "resource_RewriteUrlRule_Site_example", &esa.SiteArgs{
SiteName: pulumi.Sprintf("gositecdn-%v.cn", _default.Result),
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
})
}
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.RewriteUrlRule;
import com.pulumi.alicloud.esa.RewriteUrlRuleArgs;
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 resourceRewriteUrlRuleRatePlanInstanceExample = new RatePlanInstance("resourceRewriteUrlRuleRatePlanInstanceExample", 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 resourceRewriteUrlRuleSiteExample = new Site("resourceRewriteUrlRuleSiteExample", SiteArgs.builder()
.siteName(String.format("gositecdn-%s.cn", default_.result()))
.instanceId(resourceRewriteUrlRuleRatePlanInstanceExample.id())
.coverage("overseas")
.accessType("NS")
.build());
var defaultRewriteUrlRule = new RewriteUrlRule("defaultRewriteUrlRule", RewriteUrlRuleArgs.builder()
.rewriteUriType("static")
.rewriteQueryStringType("static")
.siteId(resourceRewriteUrlRuleSiteExample.id())
.ruleName("example")
.ruleEnable("on")
.queryString("example=123")
.siteVersion(0)
.rule("http.host eq \"video.example.com\"")
.uri("/image/example.jpg")
.build());
}
}
configuration:
name:
type: string
default: terraform-example
resources:
resourceRewriteUrlRuleRatePlanInstanceExample:
type: alicloud:esa:RatePlanInstance
name: resource_RewriteUrlRule_RatePlanInstance_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
resourceRewriteUrlRuleSiteExample:
type: alicloud:esa:Site
name: resource_RewriteUrlRule_Site_example
properties:
siteName: gositecdn-${default.result}.cn
instanceId: ${resourceRewriteUrlRuleRatePlanInstanceExample.id}
coverage: overseas
accessType: NS
defaultRewriteUrlRule:
type: alicloud:esa:RewriteUrlRule
name: default
properties:
rewriteUriType: static
rewriteQueryStringType: static
siteId: ${resourceRewriteUrlRuleSiteExample.id}
ruleName: example
ruleEnable: on
queryString: example=123
siteVersion: '0'
rule: http.host eq "video.example.com"
uri: /image/example.jpg

Import

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

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

Constructors

Link copied to clipboard
constructor(queryString: Output<String>? = null, rewriteQueryStringType: Output<String>? = null, rewriteUriType: Output<String>? = null, rule: Output<String>? = null, ruleEnable: Output<String>? = null, ruleName: Output<String>? = null, siteId: Output<Int>? = null, siteVersion: Output<Int>? = null, uri: Output<String>? = null)

Properties

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

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

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

Query string rewrite type. Value range:

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

URI rewrite type. Value range:

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

Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: ● Match all incoming requests: value set to true ● Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\")

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

Indicates whether the rule is enabled. Valid values:

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

The rule name. You do not need to set this parameter when adding a global configuration.

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

The website ID, which can be obtained by calling the ListSites operation.

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

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.

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

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

Functions

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