RewriteUrlRule

class RewriteUrlRule : KotlinCustomResource

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";
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 resourceRewriteUrlRuleSiteExample = new alicloud.esa.Site("resource_RewriteUrlRule_Site_example", {
siteName: "gositecdn.cn",
instanceId: resourceRewriteUrlRuleRatePlanInstanceExample.id,
coverage: "overseas",
accessType: "NS",
});
const _default = 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
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")
resource_rewrite_url_rule_site_example = alicloud.esa.Site("resource_RewriteUrlRule_Site_example",
site_name="gositecdn.cn",
instance_id=resource_rewrite_url_rule_rate_plan_instance_example.id,
coverage="overseas",
access_type="NS")
default = 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;
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 resourceRewriteUrlRuleSiteExample = new AliCloud.Esa.Site("resource_RewriteUrlRule_Site_example", new()
{
SiteName = "gositecdn.cn",
InstanceId = resourceRewriteUrlRuleRatePlanInstanceExample.Id,
Coverage = "overseas",
AccessType = "NS",
});
var @default = 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 (
"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
})
}
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.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 resourceRewriteUrlRuleSiteExample = new Site("resourceRewriteUrlRuleSiteExample", SiteArgs.builder()
.siteName("gositecdn.cn")
.instanceId(resourceRewriteUrlRuleRatePlanInstanceExample.id())
.coverage("overseas")
.accessType("NS")
.build());
var default_ = new RewriteUrlRule("default", 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
resourceRewriteUrlRuleSiteExample:
type: alicloud:esa:Site
name: resource_RewriteUrlRule_Site_example
properties:
siteName: gositecdn.cn
instanceId: ${resourceRewriteUrlRuleRatePlanInstanceExample.id}
coverage: overseas
accessType: NS
default:
type: alicloud:esa:RewriteUrlRule
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>

Properties

Link copied to clipboard
val configId: Output<Int>

ConfigId

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val queryString: Output<String>?

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

Link copied to clipboard

Query string rewrite type. Value range:

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

URI rewrite type. Value range:

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

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>?

Indicates whether the rule is enabled. Valid values:

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

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

Link copied to clipboard
val siteId: Output<Int>

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

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

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>?

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

Link copied to clipboard
val urn: Output<String>