1. Packages
  2. Alibaba Cloud Provider
  3. API Docs
  4. esa
  5. RoutineRoute
Alibaba Cloud v3.83.0 published on Monday, Jul 21, 2025 by Pulumi

alicloud.esa.RoutineRoute

Explore with Pulumi AI

alicloud logo
Alibaba Cloud v3.83.0 published on Monday, Jul 21, 2025 by Pulumi

    Provides a ESA Routine Route resource.

    For information about ESA Routine Route and how to use it, see What is Routine Route.

    NOTE: Available since v1.251.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 _default = alicloud.esa.getSites({
        planSubscribeType: "enterpriseplan",
    });
    const defaultSite = new alicloud.esa.Site("default", {
        siteName: "chenxin0116.site",
        instanceId: _default.then(_default => _default.sites?.[0]?.instanceId),
        coverage: "overseas",
        accessType: "NS",
    });
    const defaultRoutine = new alicloud.esa.Routine("default", {
        description: "example-routine2",
        name: "example-routine2",
    });
    const defaultRoutineRoute = new alicloud.esa.RoutineRoute("default", {
        routeEnable: "on",
        rule: "(http.host eq \"video.example1.com\")",
        sequence: 1,
        routineName: defaultRoutine.name,
        siteId: defaultSite.id,
        bypass: "off",
        routeName: "example_routine",
    });
    
    import pulumi
    import pulumi_alicloud as alicloud
    
    config = pulumi.Config()
    name = config.get("name")
    if name is None:
        name = "terraform-example"
    default = alicloud.esa.get_sites(plan_subscribe_type="enterpriseplan")
    default_site = alicloud.esa.Site("default",
        site_name="chenxin0116.site",
        instance_id=default.sites[0].instance_id,
        coverage="overseas",
        access_type="NS")
    default_routine = alicloud.esa.Routine("default",
        description="example-routine2",
        name="example-routine2")
    default_routine_route = alicloud.esa.RoutineRoute("default",
        route_enable="on",
        rule="(http.host eq \"video.example1.com\")",
        sequence=1,
        routine_name=default_routine.name,
        site_id=default_site.id,
        bypass="off",
        route_name="example_routine")
    
    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.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
    		}
    		defaultRoutine, err := esa.NewRoutine(ctx, "default", &esa.RoutineArgs{
    			Description: pulumi.String("example-routine2"),
    			Name:        pulumi.String("example-routine2"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = esa.NewRoutineRoute(ctx, "default", &esa.RoutineRouteArgs{
    			RouteEnable: pulumi.String("on"),
    			Rule:        pulumi.String("(http.host eq \"video.example1.com\")"),
    			Sequence:    pulumi.Int(1),
    			RoutineName: defaultRoutine.Name,
    			SiteId:      defaultSite.ID(),
    			Bypass:      pulumi.String("off"),
    			RouteName:   pulumi.String("example_routine"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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 @default = AliCloud.Esa.GetSites.Invoke(new()
        {
            PlanSubscribeType = "enterpriseplan",
        });
    
        var defaultSite = new AliCloud.Esa.Site("default", new()
        {
            SiteName = "chenxin0116.site",
            InstanceId = @default.Apply(@default => @default.Apply(getSitesResult => getSitesResult.Sites[0]?.InstanceId)),
            Coverage = "overseas",
            AccessType = "NS",
        });
    
        var defaultRoutine = new AliCloud.Esa.Routine("default", new()
        {
            Description = "example-routine2",
            Name = "example-routine2",
        });
    
        var defaultRoutineRoute = new AliCloud.Esa.RoutineRoute("default", new()
        {
            RouteEnable = "on",
            Rule = "(http.host eq \"video.example1.com\")",
            Sequence = 1,
            RoutineName = defaultRoutine.Name,
            SiteId = defaultSite.Id,
            Bypass = "off",
            RouteName = "example_routine",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.alicloud.esa.EsaFunctions;
    import com.pulumi.alicloud.esa.inputs.GetSitesArgs;
    import com.pulumi.alicloud.esa.Site;
    import com.pulumi.alicloud.esa.SiteArgs;
    import com.pulumi.alicloud.esa.Routine;
    import com.pulumi.alicloud.esa.RoutineArgs;
    import com.pulumi.alicloud.esa.RoutineRoute;
    import com.pulumi.alicloud.esa.RoutineRouteArgs;
    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");
            final var default = EsaFunctions.getSites(GetSitesArgs.builder()
                .planSubscribeType("enterpriseplan")
                .build());
    
            var defaultSite = new Site("defaultSite", SiteArgs.builder()
                .siteName("chenxin0116.site")
                .instanceId(default_.sites()[0].instanceId())
                .coverage("overseas")
                .accessType("NS")
                .build());
    
            var defaultRoutine = new Routine("defaultRoutine", RoutineArgs.builder()
                .description("example-routine2")
                .name("example-routine2")
                .build());
    
            var defaultRoutineRoute = new RoutineRoute("defaultRoutineRoute", RoutineRouteArgs.builder()
                .routeEnable("on")
                .rule("(http.host eq \"video.example1.com\")")
                .sequence(1)
                .routineName(defaultRoutine.name())
                .siteId(defaultSite.id())
                .bypass("off")
                .routeName("example_routine")
                .build());
    
        }
    }
    
    configuration:
      name:
        type: string
        default: terraform-example
    resources:
      defaultSite:
        type: alicloud:esa:Site
        name: default
        properties:
          siteName: chenxin0116.site
          instanceId: ${default.sites[0].instanceId}
          coverage: overseas
          accessType: NS
      defaultRoutine:
        type: alicloud:esa:Routine
        name: default
        properties:
          description: example-routine2
          name: example-routine2
      defaultRoutineRoute:
        type: alicloud:esa:RoutineRoute
        name: default
        properties:
          routeEnable: on
          rule: (http.host eq "video.example1.com")
          sequence: '1'
          routineName: ${defaultRoutine.name}
          siteId: ${defaultSite.id}
          bypass: off
          routeName: example_routine
    variables:
      default:
        fn::invoke:
          function: alicloud:esa:getSites
          arguments:
            planSubscribeType: enterpriseplan
    

    Create RoutineRoute Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new RoutineRoute(name: string, args: RoutineRouteArgs, opts?: CustomResourceOptions);
    @overload
    def RoutineRoute(resource_name: str,
                     args: RoutineRouteArgs,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def RoutineRoute(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     routine_name: Optional[str] = None,
                     site_id: Optional[int] = None,
                     bypass: Optional[str] = None,
                     route_enable: Optional[str] = None,
                     route_name: Optional[str] = None,
                     rule: Optional[str] = None,
                     sequence: Optional[int] = None)
    func NewRoutineRoute(ctx *Context, name string, args RoutineRouteArgs, opts ...ResourceOption) (*RoutineRoute, error)
    public RoutineRoute(string name, RoutineRouteArgs args, CustomResourceOptions? opts = null)
    public RoutineRoute(String name, RoutineRouteArgs args)
    public RoutineRoute(String name, RoutineRouteArgs args, CustomResourceOptions options)
    
    type: alicloud:esa:RoutineRoute
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args RoutineRouteArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args RoutineRouteArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args RoutineRouteArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RoutineRouteArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RoutineRouteArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var routineRouteResource = new AliCloud.Esa.RoutineRoute("routineRouteResource", new()
    {
        RoutineName = "string",
        SiteId = 0,
        Bypass = "string",
        RouteEnable = "string",
        RouteName = "string",
        Rule = "string",
        Sequence = 0,
    });
    
    example, err := esa.NewRoutineRoute(ctx, "routineRouteResource", &esa.RoutineRouteArgs{
    	RoutineName: pulumi.String("string"),
    	SiteId:      pulumi.Int(0),
    	Bypass:      pulumi.String("string"),
    	RouteEnable: pulumi.String("string"),
    	RouteName:   pulumi.String("string"),
    	Rule:        pulumi.String("string"),
    	Sequence:    pulumi.Int(0),
    })
    
    var routineRouteResource = new RoutineRoute("routineRouteResource", RoutineRouteArgs.builder()
        .routineName("string")
        .siteId(0)
        .bypass("string")
        .routeEnable("string")
        .routeName("string")
        .rule("string")
        .sequence(0)
        .build());
    
    routine_route_resource = alicloud.esa.RoutineRoute("routineRouteResource",
        routine_name="string",
        site_id=0,
        bypass="string",
        route_enable="string",
        route_name="string",
        rule="string",
        sequence=0)
    
    const routineRouteResource = new alicloud.esa.RoutineRoute("routineRouteResource", {
        routineName: "string",
        siteId: 0,
        bypass: "string",
        routeEnable: "string",
        routeName: "string",
        rule: "string",
        sequence: 0,
    });
    
    type: alicloud:esa:RoutineRoute
    properties:
        bypass: string
        routeEnable: string
        routeName: string
        routineName: string
        rule: string
        sequence: 0
        siteId: 0
    

    RoutineRoute Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The RoutineRoute resource accepts the following input properties:

    RoutineName string
    The edge function Routine name.
    SiteId int
    Site Id
    Bypass string
    Bypass mode. Value range:

    • on: Open
    • off: off
    RouteEnable string
    Routing switch. Value range:

    • on: Open
    • off: off
    RouteName string
    The route name.
    Rule string
    The rule content.
    Sequence int
    Rule execution order.
    RoutineName string
    The edge function Routine name.
    SiteId int
    Site Id
    Bypass string
    Bypass mode. Value range:

    • on: Open
    • off: off
    RouteEnable string
    Routing switch. Value range:

    • on: Open
    • off: off
    RouteName string
    The route name.
    Rule string
    The rule content.
    Sequence int
    Rule execution order.
    routineName String
    The edge function Routine name.
    siteId Integer
    Site Id
    bypass String
    Bypass mode. Value range:

    • on: Open
    • off: off
    routeEnable String
    Routing switch. Value range:

    • on: Open
    • off: off
    routeName String
    The route name.
    rule String
    The rule content.
    sequence Integer
    Rule execution order.
    routineName string
    The edge function Routine name.
    siteId number
    Site Id
    bypass string
    Bypass mode. Value range:

    • on: Open
    • off: off
    routeEnable string
    Routing switch. Value range:

    • on: Open
    • off: off
    routeName string
    The route name.
    rule string
    The rule content.
    sequence number
    Rule execution order.
    routine_name str
    The edge function Routine name.
    site_id int
    Site Id
    bypass str
    Bypass mode. Value range:

    • on: Open
    • off: off
    route_enable str
    Routing switch. Value range:

    • on: Open
    • off: off
    route_name str
    The route name.
    rule str
    The rule content.
    sequence int
    Rule execution order.
    routineName String
    The edge function Routine name.
    siteId Number
    Site Id
    bypass String
    Bypass mode. Value range:

    • on: Open
    • off: off
    routeEnable String
    Routing switch. Value range:

    • on: Open
    • off: off
    routeName String
    The route name.
    rule String
    The rule content.
    sequence Number
    Rule execution order.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the RoutineRoute resource produces the following output properties:

    ConfigId int
    Config Id
    Id string
    The provider-assigned unique ID for this managed resource.
    ConfigId int
    Config Id
    Id string
    The provider-assigned unique ID for this managed resource.
    configId Integer
    Config Id
    id String
    The provider-assigned unique ID for this managed resource.
    configId number
    Config Id
    id string
    The provider-assigned unique ID for this managed resource.
    config_id int
    Config Id
    id str
    The provider-assigned unique ID for this managed resource.
    configId Number
    Config Id
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing RoutineRoute Resource

    Get an existing RoutineRoute resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: RoutineRouteState, opts?: CustomResourceOptions): RoutineRoute
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            bypass: Optional[str] = None,
            config_id: Optional[int] = None,
            route_enable: Optional[str] = None,
            route_name: Optional[str] = None,
            routine_name: Optional[str] = None,
            rule: Optional[str] = None,
            sequence: Optional[int] = None,
            site_id: Optional[int] = None) -> RoutineRoute
    func GetRoutineRoute(ctx *Context, name string, id IDInput, state *RoutineRouteState, opts ...ResourceOption) (*RoutineRoute, error)
    public static RoutineRoute Get(string name, Input<string> id, RoutineRouteState? state, CustomResourceOptions? opts = null)
    public static RoutineRoute get(String name, Output<String> id, RoutineRouteState state, CustomResourceOptions options)
    resources:  _:    type: alicloud:esa:RoutineRoute    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Bypass string
    Bypass mode. Value range:

    • on: Open
    • off: off
    ConfigId int
    Config Id
    RouteEnable string
    Routing switch. Value range:

    • on: Open
    • off: off
    RouteName string
    The route name.
    RoutineName string
    The edge function Routine name.
    Rule string
    The rule content.
    Sequence int
    Rule execution order.
    SiteId int
    Site Id
    Bypass string
    Bypass mode. Value range:

    • on: Open
    • off: off
    ConfigId int
    Config Id
    RouteEnable string
    Routing switch. Value range:

    • on: Open
    • off: off
    RouteName string
    The route name.
    RoutineName string
    The edge function Routine name.
    Rule string
    The rule content.
    Sequence int
    Rule execution order.
    SiteId int
    Site Id
    bypass String
    Bypass mode. Value range:

    • on: Open
    • off: off
    configId Integer
    Config Id
    routeEnable String
    Routing switch. Value range:

    • on: Open
    • off: off
    routeName String
    The route name.
    routineName String
    The edge function Routine name.
    rule String
    The rule content.
    sequence Integer
    Rule execution order.
    siteId Integer
    Site Id
    bypass string
    Bypass mode. Value range:

    • on: Open
    • off: off
    configId number
    Config Id
    routeEnable string
    Routing switch. Value range:

    • on: Open
    • off: off
    routeName string
    The route name.
    routineName string
    The edge function Routine name.
    rule string
    The rule content.
    sequence number
    Rule execution order.
    siteId number
    Site Id
    bypass str
    Bypass mode. Value range:

    • on: Open
    • off: off
    config_id int
    Config Id
    route_enable str
    Routing switch. Value range:

    • on: Open
    • off: off
    route_name str
    The route name.
    routine_name str
    The edge function Routine name.
    rule str
    The rule content.
    sequence int
    Rule execution order.
    site_id int
    Site Id
    bypass String
    Bypass mode. Value range:

    • on: Open
    • off: off
    configId Number
    Config Id
    routeEnable String
    Routing switch. Value range:

    • on: Open
    • off: off
    routeName String
    The route name.
    routineName String
    The edge function Routine name.
    rule String
    The rule content.
    sequence Number
    Rule execution order.
    siteId Number
    Site Id

    Import

    ESA Routine Route can be imported using the id, e.g.

    $ pulumi import alicloud:esa/routineRoute:RoutineRoute example <site_id>:<routine_name>:<config_id>
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Alibaba Cloud pulumi/pulumi-alicloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the alicloud Terraform Provider.
    alicloud logo
    Alibaba Cloud v3.83.0 published on Monday, Jul 21, 2025 by Pulumi