alicloud logo
Alibaba Cloud v3.34.0, Mar 17 23

alicloud.slb.Rule

A forwarding rule is configured in HTTP/HTTPS listener and it used to listen a list of backend servers which in one specified virtual backend server group. You can add forwarding rules to a listener to forward requests based on the domain names or the URL in the request.

NOTE: One virtual backend server group can be attached in multiple forwarding rules.

NOTE: At least one “Domain” or “Url” must be specified when creating a new rule.

NOTE: Having the same ‘Domain’ and ‘Url’ rule can not be created repeatedly in the one listener.

NOTE: Rule only be created in the HTTP or HTTPS listener.

NOTE: Only rule’s virtual server group can be modified.

Example Usage

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;

return await Deployment.RunAsync(() => 
{
    var config = new Config();
    var slbRuleName = config.Get("slbRuleName") ?? "forSlbRule";
    var ruleZones = AliCloud.GetZones.Invoke(new()
    {
        AvailableDiskCategory = "cloud_efficiency",
        AvailableResourceCreation = "VSwitch",
    });

    var ruleInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()
    {
        AvailabilityZone = ruleZones.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
        CpuCoreCount = 1,
        MemorySize = 2,
    });

    var ruleImages = AliCloud.Ecs.GetImages.Invoke(new()
    {
        NameRegex = "^ubuntu_18.*64",
        MostRecent = true,
        Owners = "system",
    });

    var ruleNetwork = new AliCloud.Vpc.Network("ruleNetwork", new()
    {
        VpcName = slbRuleName,
        CidrBlock = "172.16.0.0/16",
    });

    var ruleSwitch = new AliCloud.Vpc.Switch("ruleSwitch", new()
    {
        VpcId = ruleNetwork.Id,
        CidrBlock = "172.16.0.0/16",
        ZoneId = ruleZones.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
        VswitchName = slbRuleName,
    });

    var ruleSecurityGroup = new AliCloud.Ecs.SecurityGroup("ruleSecurityGroup", new()
    {
        VpcId = ruleNetwork.Id,
    });

    var ruleInstance = new AliCloud.Ecs.Instance("ruleInstance", new()
    {
        ImageId = ruleImages.Apply(getImagesResult => getImagesResult.Images[0]?.Id),
        InstanceType = ruleInstanceTypes.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id),
        SecurityGroups = new[]
        {
            ruleSecurityGroup,
        }.Select(__item => __item.Id).ToList(),
        InternetChargeType = "PayByTraffic",
        InternetMaxBandwidthOut = 10,
        AvailabilityZone = ruleZones.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
        InstanceChargeType = "PostPaid",
        SystemDiskCategory = "cloud_efficiency",
        VswitchId = ruleSwitch.Id,
        InstanceName = slbRuleName,
    });

    var ruleApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer("ruleApplicationLoadBalancer", new()
    {
        LoadBalancerName = slbRuleName,
        VswitchId = ruleSwitch.Id,
        InstanceChargeType = "PayByCLCU",
    });

    var ruleListener = new AliCloud.Slb.Listener("ruleListener", new()
    {
        LoadBalancerId = ruleApplicationLoadBalancer.Id,
        BackendPort = 22,
        FrontendPort = 22,
        Protocol = "http",
        Bandwidth = 5,
        HealthCheckConnectPort = 20,
    });

    var ruleServerGroup = new AliCloud.Slb.ServerGroup("ruleServerGroup", new()
    {
        LoadBalancerId = ruleApplicationLoadBalancer.Id,
    });

    var ruleServerGroupServerAttachment = new AliCloud.Slb.ServerGroupServerAttachment("ruleServerGroupServerAttachment", new()
    {
        ServerGroupId = ruleServerGroup.Id,
        ServerId = ruleInstance.Id,
        Port = 80,
        Weight = 100,
    });

    var ruleRule = new AliCloud.Slb.Rule("ruleRule", new()
    {
        LoadBalancerId = ruleApplicationLoadBalancer.Id,
        FrontendPort = ruleListener.FrontendPort,
        Domain = "*.aliyun.com",
        Url = "/image",
        ServerGroupId = ruleServerGroup.Id,
        Cookie = "23ffsa",
        CookieTimeout = 100,
        HealthCheckHttpCode = "http_2xx",
        HealthCheckInterval = 10,
        HealthCheckUri = "/test",
        HealthCheckConnectPort = 80,
        HealthCheckTimeout = 30,
        HealthyThreshold = 3,
        UnhealthyThreshold = 5,
        StickySession = "on",
        StickySessionType = "server",
        ListenerSync = "off",
        Scheduler = "rr",
        HealthCheckDomain = "test",
        HealthCheck = "on",
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
import com.pulumi.alicloud.ecs.inputs.GetImagesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.ecs.Instance;
import com.pulumi.alicloud.ecs.InstanceArgs;
import com.pulumi.alicloud.slb.ApplicationLoadBalancer;
import com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;
import com.pulumi.alicloud.slb.Listener;
import com.pulumi.alicloud.slb.ListenerArgs;
import com.pulumi.alicloud.slb.ServerGroup;
import com.pulumi.alicloud.slb.ServerGroupArgs;
import com.pulumi.alicloud.slb.ServerGroupServerAttachment;
import com.pulumi.alicloud.slb.ServerGroupServerAttachmentArgs;
import com.pulumi.alicloud.slb.Rule;
import com.pulumi.alicloud.slb.RuleArgs;
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 slbRuleName = config.get("slbRuleName").orElse("forSlbRule");
        final var ruleZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
            .availableDiskCategory("cloud_efficiency")
            .availableResourceCreation("VSwitch")
            .build());

        final var ruleInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
            .availabilityZone(ruleZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
            .cpuCoreCount(1)
            .memorySize(2)
            .build());

        final var ruleImages = EcsFunctions.getImages(GetImagesArgs.builder()
            .nameRegex("^ubuntu_18.*64")
            .mostRecent(true)
            .owners("system")
            .build());

        var ruleNetwork = new Network("ruleNetwork", NetworkArgs.builder()        
            .vpcName(slbRuleName)
            .cidrBlock("172.16.0.0/16")
            .build());

        var ruleSwitch = new Switch("ruleSwitch", SwitchArgs.builder()        
            .vpcId(ruleNetwork.id())
            .cidrBlock("172.16.0.0/16")
            .zoneId(ruleZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
            .vswitchName(slbRuleName)
            .build());

        var ruleSecurityGroup = new SecurityGroup("ruleSecurityGroup", SecurityGroupArgs.builder()        
            .vpcId(ruleNetwork.id())
            .build());

        var ruleInstance = new Instance("ruleInstance", InstanceArgs.builder()        
            .imageId(ruleImages.applyValue(getImagesResult -> getImagesResult.images()[0].id()))
            .instanceType(ruleInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.instanceTypes()[0].id()))
            .securityGroups(ruleSecurityGroup.stream().map(element -> element.id()).collect(toList()))
            .internetChargeType("PayByTraffic")
            .internetMaxBandwidthOut("10")
            .availabilityZone(ruleZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
            .instanceChargeType("PostPaid")
            .systemDiskCategory("cloud_efficiency")
            .vswitchId(ruleSwitch.id())
            .instanceName(slbRuleName)
            .build());

        var ruleApplicationLoadBalancer = new ApplicationLoadBalancer("ruleApplicationLoadBalancer", ApplicationLoadBalancerArgs.builder()        
            .loadBalancerName(slbRuleName)
            .vswitchId(ruleSwitch.id())
            .instanceChargeType("PayByCLCU")
            .build());

        var ruleListener = new Listener("ruleListener", ListenerArgs.builder()        
            .loadBalancerId(ruleApplicationLoadBalancer.id())
            .backendPort(22)
            .frontendPort(22)
            .protocol("http")
            .bandwidth(5)
            .healthCheckConnectPort("20")
            .build());

        var ruleServerGroup = new ServerGroup("ruleServerGroup", ServerGroupArgs.builder()        
            .loadBalancerId(ruleApplicationLoadBalancer.id())
            .build());

        var ruleServerGroupServerAttachment = new ServerGroupServerAttachment("ruleServerGroupServerAttachment", ServerGroupServerAttachmentArgs.builder()        
            .serverGroupId(ruleServerGroup.id())
            .serverId(ruleInstance.id())
            .port(80)
            .weight(100)
            .build());

        var ruleRule = new Rule("ruleRule", RuleArgs.builder()        
            .loadBalancerId(ruleApplicationLoadBalancer.id())
            .frontendPort(ruleListener.frontendPort())
            .domain("*.aliyun.com")
            .url("/image")
            .serverGroupId(ruleServerGroup.id())
            .cookie("23ffsa")
            .cookieTimeout(100)
            .healthCheckHttpCode("http_2xx")
            .healthCheckInterval(10)
            .healthCheckUri("/test")
            .healthCheckConnectPort(80)
            .healthCheckTimeout(30)
            .healthyThreshold(3)
            .unhealthyThreshold(5)
            .stickySession("on")
            .stickySessionType("server")
            .listenerSync("off")
            .scheduler("rr")
            .healthCheckDomain("test")
            .healthCheck("on")
            .build());

    }
}
import pulumi
import pulumi_alicloud as alicloud

config = pulumi.Config()
slb_rule_name = config.get("slbRuleName")
if slb_rule_name is None:
    slb_rule_name = "forSlbRule"
rule_zones = alicloud.get_zones(available_disk_category="cloud_efficiency",
    available_resource_creation="VSwitch")
rule_instance_types = alicloud.ecs.get_instance_types(availability_zone=rule_zones.zones[0].id,
    cpu_core_count=1,
    memory_size=2)
rule_images = alicloud.ecs.get_images(name_regex="^ubuntu_18.*64",
    most_recent=True,
    owners="system")
rule_network = alicloud.vpc.Network("ruleNetwork",
    vpc_name=slb_rule_name,
    cidr_block="172.16.0.0/16")
rule_switch = alicloud.vpc.Switch("ruleSwitch",
    vpc_id=rule_network.id,
    cidr_block="172.16.0.0/16",
    zone_id=rule_zones.zones[0].id,
    vswitch_name=slb_rule_name)
rule_security_group = alicloud.ecs.SecurityGroup("ruleSecurityGroup", vpc_id=rule_network.id)
rule_instance = alicloud.ecs.Instance("ruleInstance",
    image_id=rule_images.images[0].id,
    instance_type=rule_instance_types.instance_types[0].id,
    security_groups=[__item.id for __item in [rule_security_group]],
    internet_charge_type="PayByTraffic",
    internet_max_bandwidth_out=10,
    availability_zone=rule_zones.zones[0].id,
    instance_charge_type="PostPaid",
    system_disk_category="cloud_efficiency",
    vswitch_id=rule_switch.id,
    instance_name=slb_rule_name)
rule_application_load_balancer = alicloud.slb.ApplicationLoadBalancer("ruleApplicationLoadBalancer",
    load_balancer_name=slb_rule_name,
    vswitch_id=rule_switch.id,
    instance_charge_type="PayByCLCU")
rule_listener = alicloud.slb.Listener("ruleListener",
    load_balancer_id=rule_application_load_balancer.id,
    backend_port=22,
    frontend_port=22,
    protocol="http",
    bandwidth=5,
    health_check_connect_port=20)
rule_server_group = alicloud.slb.ServerGroup("ruleServerGroup", load_balancer_id=rule_application_load_balancer.id)
rule_server_group_server_attachment = alicloud.slb.ServerGroupServerAttachment("ruleServerGroupServerAttachment",
    server_group_id=rule_server_group.id,
    server_id=rule_instance.id,
    port=80,
    weight=100)
rule_rule = alicloud.slb.Rule("ruleRule",
    load_balancer_id=rule_application_load_balancer.id,
    frontend_port=rule_listener.frontend_port,
    domain="*.aliyun.com",
    url="/image",
    server_group_id=rule_server_group.id,
    cookie="23ffsa",
    cookie_timeout=100,
    health_check_http_code="http_2xx",
    health_check_interval=10,
    health_check_uri="/test",
    health_check_connect_port=80,
    health_check_timeout=30,
    healthy_threshold=3,
    unhealthy_threshold=5,
    sticky_session="on",
    sticky_session_type="server",
    listener_sync="off",
    scheduler="rr",
    health_check_domain="test",
    health_check="on")
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const config = new pulumi.Config();
const slbRuleName = config.get("slbRuleName") || "forSlbRule";
const ruleZones = alicloud.getZones({
    availableDiskCategory: "cloud_efficiency",
    availableResourceCreation: "VSwitch",
});
const ruleInstanceTypes = ruleZones.then(ruleZones => alicloud.ecs.getInstanceTypes({
    availabilityZone: ruleZones.zones?.[0]?.id,
    cpuCoreCount: 1,
    memorySize: 2,
}));
const ruleImages = alicloud.ecs.getImages({
    nameRegex: "^ubuntu_18.*64",
    mostRecent: true,
    owners: "system",
});
const ruleNetwork = new alicloud.vpc.Network("ruleNetwork", {
    vpcName: slbRuleName,
    cidrBlock: "172.16.0.0/16",
});
const ruleSwitch = new alicloud.vpc.Switch("ruleSwitch", {
    vpcId: ruleNetwork.id,
    cidrBlock: "172.16.0.0/16",
    zoneId: ruleZones.then(ruleZones => ruleZones.zones?.[0]?.id),
    vswitchName: slbRuleName,
});
const ruleSecurityGroup = new alicloud.ecs.SecurityGroup("ruleSecurityGroup", {vpcId: ruleNetwork.id});
const ruleInstance = new alicloud.ecs.Instance("ruleInstance", {
    imageId: ruleImages.then(ruleImages => ruleImages.images?.[0]?.id),
    instanceType: ruleInstanceTypes.then(ruleInstanceTypes => ruleInstanceTypes.instanceTypes?.[0]?.id),
    securityGroups: [ruleSecurityGroup].map(__item => __item.id),
    internetChargeType: "PayByTraffic",
    internetMaxBandwidthOut: 10,
    availabilityZone: ruleZones.then(ruleZones => ruleZones.zones?.[0]?.id),
    instanceChargeType: "PostPaid",
    systemDiskCategory: "cloud_efficiency",
    vswitchId: ruleSwitch.id,
    instanceName: slbRuleName,
});
const ruleApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer("ruleApplicationLoadBalancer", {
    loadBalancerName: slbRuleName,
    vswitchId: ruleSwitch.id,
    instanceChargeType: "PayByCLCU",
});
const ruleListener = new alicloud.slb.Listener("ruleListener", {
    loadBalancerId: ruleApplicationLoadBalancer.id,
    backendPort: 22,
    frontendPort: 22,
    protocol: "http",
    bandwidth: 5,
    healthCheckConnectPort: 20,
});
const ruleServerGroup = new alicloud.slb.ServerGroup("ruleServerGroup", {loadBalancerId: ruleApplicationLoadBalancer.id});
const ruleServerGroupServerAttachment = new alicloud.slb.ServerGroupServerAttachment("ruleServerGroupServerAttachment", {
    serverGroupId: ruleServerGroup.id,
    serverId: ruleInstance.id,
    port: 80,
    weight: 100,
});
const ruleRule = new alicloud.slb.Rule("ruleRule", {
    loadBalancerId: ruleApplicationLoadBalancer.id,
    frontendPort: ruleListener.frontendPort,
    domain: "*.aliyun.com",
    url: "/image",
    serverGroupId: ruleServerGroup.id,
    cookie: "23ffsa",
    cookieTimeout: 100,
    healthCheckHttpCode: "http_2xx",
    healthCheckInterval: 10,
    healthCheckUri: "/test",
    healthCheckConnectPort: 80,
    healthCheckTimeout: 30,
    healthyThreshold: 3,
    unhealthyThreshold: 5,
    stickySession: "on",
    stickySessionType: "server",
    listenerSync: "off",
    scheduler: "rr",
    healthCheckDomain: "test",
    healthCheck: "on",
});

Coming soon!

Create Rule Resource

new Rule(name: string, args: RuleArgs, opts?: CustomResourceOptions);
@overload
def Rule(resource_name: str,
         opts: Optional[ResourceOptions] = None,
         cookie: Optional[str] = None,
         cookie_timeout: Optional[int] = None,
         delete_protection_validation: Optional[bool] = None,
         domain: Optional[str] = None,
         frontend_port: Optional[int] = None,
         health_check: Optional[str] = None,
         health_check_connect_port: Optional[int] = None,
         health_check_domain: Optional[str] = None,
         health_check_http_code: Optional[str] = None,
         health_check_interval: Optional[int] = None,
         health_check_timeout: Optional[int] = None,
         health_check_uri: Optional[str] = None,
         healthy_threshold: Optional[int] = None,
         listener_sync: Optional[str] = None,
         load_balancer_id: Optional[str] = None,
         name: Optional[str] = None,
         scheduler: Optional[str] = None,
         server_group_id: Optional[str] = None,
         sticky_session: Optional[str] = None,
         sticky_session_type: Optional[str] = None,
         unhealthy_threshold: Optional[int] = None,
         url: Optional[str] = None)
@overload
def Rule(resource_name: str,
         args: RuleArgs,
         opts: Optional[ResourceOptions] = None)
func NewRule(ctx *Context, name string, args RuleArgs, opts ...ResourceOption) (*Rule, error)
public Rule(string name, RuleArgs args, CustomResourceOptions? opts = null)
public Rule(String name, RuleArgs args)
public Rule(String name, RuleArgs args, CustomResourceOptions options)
type: alicloud:slb:Rule
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args RuleArgs
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 RuleArgs
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 RuleArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args RuleArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args RuleArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Rule Resource Properties

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

Inputs

The Rule resource accepts the following input properties:

FrontendPort int

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

LoadBalancerId string

The Load Balancer ID which is used to launch the new forwarding rule.

ServerGroupId string

ID of a virtual server group that will be forwarded.

Cookie string

The cookie configured on the server. It is mandatory when sticky_session is "on" and sticky_session_type is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.

CookieTimeout int

Cookie timeout. It is mandatory when sticky_session is "on" and sticky_session_type is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.

DeleteProtectionValidation bool

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

Domain string

Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.), and wildcard characters. The following two domain name formats are supported:

  • Standard domain name: www.test.com
  • Wildcard domain name: .test.com. wildcard () must be the first character in the format of (*.)
HealthCheck string

Whether to enable health check. Valid values areon and off. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required and takes effect only when ListenerSync is set to off.

HealthCheckConnectPort int

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

HealthCheckDomain string

Domain name used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty, Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.

HealthCheckHttpCode string

Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when health_check is on. Default to http_2xx. Valid values are: http_2xx, http_3xx, http_4xx and http_5xx.

HealthCheckInterval int

Time interval of health checks. It is required when health_check is on. Valid value range: [1-50] in seconds. Default to 2.

HealthCheckTimeout int

Maximum timeout of each health check response. It is required when health_check is on. Valid value range: [1-300] in seconds. Default to 5. Note: If health_check_timeout < health_check_interval, its will be replaced by health_check_interval.

HealthCheckUri string

URI used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.

HealthyThreshold int

Threshold determining the result of the health check is success. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

ListenerSync string

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

Name string

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

Scheduler string

Scheduling algorithm, Valid values are wrr, rr and wlc. Default to "wrr". This parameter is required and takes effect only when ListenerSync is set to off.

StickySession string

Whether to enable session persistence, Valid values are on and off. Default to off. This parameter is required and takes effect only when ListenerSync is set to off.

StickySessionType string

Mode for handling the cookie. If sticky_session is "on", it is mandatory. Otherwise, it will be ignored. Valid values are insert and server. insert means it is inserted from Server Load Balancer; server means the Server Load Balancer learns from the backend server.

UnhealthyThreshold int

Threshold determining the result of the health check is fail. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

Url string

Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9, and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.

FrontendPort int

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

LoadBalancerId string

The Load Balancer ID which is used to launch the new forwarding rule.

ServerGroupId string

ID of a virtual server group that will be forwarded.

Cookie string

The cookie configured on the server. It is mandatory when sticky_session is "on" and sticky_session_type is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.

CookieTimeout int

Cookie timeout. It is mandatory when sticky_session is "on" and sticky_session_type is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.

DeleteProtectionValidation bool

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

Domain string

Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.), and wildcard characters. The following two domain name formats are supported:

  • Standard domain name: www.test.com
  • Wildcard domain name: .test.com. wildcard () must be the first character in the format of (*.)
HealthCheck string

Whether to enable health check. Valid values areon and off. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required and takes effect only when ListenerSync is set to off.

HealthCheckConnectPort int

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

HealthCheckDomain string

Domain name used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty, Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.

HealthCheckHttpCode string

Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when health_check is on. Default to http_2xx. Valid values are: http_2xx, http_3xx, http_4xx and http_5xx.

HealthCheckInterval int

Time interval of health checks. It is required when health_check is on. Valid value range: [1-50] in seconds. Default to 2.

HealthCheckTimeout int

Maximum timeout of each health check response. It is required when health_check is on. Valid value range: [1-300] in seconds. Default to 5. Note: If health_check_timeout < health_check_interval, its will be replaced by health_check_interval.

HealthCheckUri string

URI used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.

HealthyThreshold int

Threshold determining the result of the health check is success. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

ListenerSync string

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

Name string

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

Scheduler string

Scheduling algorithm, Valid values are wrr, rr and wlc. Default to "wrr". This parameter is required and takes effect only when ListenerSync is set to off.

StickySession string

Whether to enable session persistence, Valid values are on and off. Default to off. This parameter is required and takes effect only when ListenerSync is set to off.

StickySessionType string

Mode for handling the cookie. If sticky_session is "on", it is mandatory. Otherwise, it will be ignored. Valid values are insert and server. insert means it is inserted from Server Load Balancer; server means the Server Load Balancer learns from the backend server.

UnhealthyThreshold int

Threshold determining the result of the health check is fail. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

Url string

Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9, and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.

frontendPort Integer

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

loadBalancerId String

The Load Balancer ID which is used to launch the new forwarding rule.

serverGroupId String

ID of a virtual server group that will be forwarded.

cookie String

The cookie configured on the server. It is mandatory when sticky_session is "on" and sticky_session_type is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.

cookieTimeout Integer

Cookie timeout. It is mandatory when sticky_session is "on" and sticky_session_type is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.

deleteProtectionValidation Boolean

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

domain String

Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.), and wildcard characters. The following two domain name formats are supported:

  • Standard domain name: www.test.com
  • Wildcard domain name: .test.com. wildcard () must be the first character in the format of (*.)
healthCheck String

Whether to enable health check. Valid values areon and off. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required and takes effect only when ListenerSync is set to off.

healthCheckConnectPort Integer

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

healthCheckDomain String

Domain name used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty, Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.

healthCheckHttpCode String

Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when health_check is on. Default to http_2xx. Valid values are: http_2xx, http_3xx, http_4xx and http_5xx.

healthCheckInterval Integer

Time interval of health checks. It is required when health_check is on. Valid value range: [1-50] in seconds. Default to 2.

healthCheckTimeout Integer

Maximum timeout of each health check response. It is required when health_check is on. Valid value range: [1-300] in seconds. Default to 5. Note: If health_check_timeout < health_check_interval, its will be replaced by health_check_interval.

healthCheckUri String

URI used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.

healthyThreshold Integer

Threshold determining the result of the health check is success. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

listenerSync String

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

name String

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

scheduler String

Scheduling algorithm, Valid values are wrr, rr and wlc. Default to "wrr". This parameter is required and takes effect only when ListenerSync is set to off.

stickySession String

Whether to enable session persistence, Valid values are on and off. Default to off. This parameter is required and takes effect only when ListenerSync is set to off.

stickySessionType String

Mode for handling the cookie. If sticky_session is "on", it is mandatory. Otherwise, it will be ignored. Valid values are insert and server. insert means it is inserted from Server Load Balancer; server means the Server Load Balancer learns from the backend server.

unhealthyThreshold Integer

Threshold determining the result of the health check is fail. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

url String

Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9, and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.

frontendPort number

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

loadBalancerId string

The Load Balancer ID which is used to launch the new forwarding rule.

serverGroupId string

ID of a virtual server group that will be forwarded.

cookie string

The cookie configured on the server. It is mandatory when sticky_session is "on" and sticky_session_type is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.

cookieTimeout number

Cookie timeout. It is mandatory when sticky_session is "on" and sticky_session_type is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.

deleteProtectionValidation boolean

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

domain string

Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.), and wildcard characters. The following two domain name formats are supported:

  • Standard domain name: www.test.com
  • Wildcard domain name: .test.com. wildcard () must be the first character in the format of (*.)
healthCheck string

Whether to enable health check. Valid values areon and off. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required and takes effect only when ListenerSync is set to off.

healthCheckConnectPort number

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

healthCheckDomain string

Domain name used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty, Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.

healthCheckHttpCode string

Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when health_check is on. Default to http_2xx. Valid values are: http_2xx, http_3xx, http_4xx and http_5xx.

healthCheckInterval number

Time interval of health checks. It is required when health_check is on. Valid value range: [1-50] in seconds. Default to 2.

healthCheckTimeout number

Maximum timeout of each health check response. It is required when health_check is on. Valid value range: [1-300] in seconds. Default to 5. Note: If health_check_timeout < health_check_interval, its will be replaced by health_check_interval.

healthCheckUri string

URI used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.

healthyThreshold number

Threshold determining the result of the health check is success. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

listenerSync string

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

name string

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

scheduler string

Scheduling algorithm, Valid values are wrr, rr and wlc. Default to "wrr". This parameter is required and takes effect only when ListenerSync is set to off.

stickySession string

Whether to enable session persistence, Valid values are on and off. Default to off. This parameter is required and takes effect only when ListenerSync is set to off.

stickySessionType string

Mode for handling the cookie. If sticky_session is "on", it is mandatory. Otherwise, it will be ignored. Valid values are insert and server. insert means it is inserted from Server Load Balancer; server means the Server Load Balancer learns from the backend server.

unhealthyThreshold number

Threshold determining the result of the health check is fail. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

url string

Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9, and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.

frontend_port int

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

load_balancer_id str

The Load Balancer ID which is used to launch the new forwarding rule.

server_group_id str

ID of a virtual server group that will be forwarded.

cookie str

The cookie configured on the server. It is mandatory when sticky_session is "on" and sticky_session_type is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.

cookie_timeout int

Cookie timeout. It is mandatory when sticky_session is "on" and sticky_session_type is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.

delete_protection_validation bool

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

domain str

Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.), and wildcard characters. The following two domain name formats are supported:

  • Standard domain name: www.test.com
  • Wildcard domain name: .test.com. wildcard () must be the first character in the format of (*.)
health_check str

Whether to enable health check. Valid values areon and off. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required and takes effect only when ListenerSync is set to off.

health_check_connect_port int

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

health_check_domain str

Domain name used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty, Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.

health_check_http_code str

Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when health_check is on. Default to http_2xx. Valid values are: http_2xx, http_3xx, http_4xx and http_5xx.

health_check_interval int

Time interval of health checks. It is required when health_check is on. Valid value range: [1-50] in seconds. Default to 2.

health_check_timeout int

Maximum timeout of each health check response. It is required when health_check is on. Valid value range: [1-300] in seconds. Default to 5. Note: If health_check_timeout < health_check_interval, its will be replaced by health_check_interval.

health_check_uri str

URI used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.

healthy_threshold int

Threshold determining the result of the health check is success. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

listener_sync str

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

name str

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

scheduler str

Scheduling algorithm, Valid values are wrr, rr and wlc. Default to "wrr". This parameter is required and takes effect only when ListenerSync is set to off.

sticky_session str

Whether to enable session persistence, Valid values are on and off. Default to off. This parameter is required and takes effect only when ListenerSync is set to off.

sticky_session_type str

Mode for handling the cookie. If sticky_session is "on", it is mandatory. Otherwise, it will be ignored. Valid values are insert and server. insert means it is inserted from Server Load Balancer; server means the Server Load Balancer learns from the backend server.

unhealthy_threshold int

Threshold determining the result of the health check is fail. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

url str

Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9, and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.

frontendPort Number

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

loadBalancerId String

The Load Balancer ID which is used to launch the new forwarding rule.

serverGroupId String

ID of a virtual server group that will be forwarded.

cookie String

The cookie configured on the server. It is mandatory when sticky_session is "on" and sticky_session_type is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.

cookieTimeout Number

Cookie timeout. It is mandatory when sticky_session is "on" and sticky_session_type is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.

deleteProtectionValidation Boolean

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

domain String

Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.), and wildcard characters. The following two domain name formats are supported:

  • Standard domain name: www.test.com
  • Wildcard domain name: .test.com. wildcard () must be the first character in the format of (*.)
healthCheck String

Whether to enable health check. Valid values areon and off. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required and takes effect only when ListenerSync is set to off.

healthCheckConnectPort Number

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

healthCheckDomain String

Domain name used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty, Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.

healthCheckHttpCode String

Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when health_check is on. Default to http_2xx. Valid values are: http_2xx, http_3xx, http_4xx and http_5xx.

healthCheckInterval Number

Time interval of health checks. It is required when health_check is on. Valid value range: [1-50] in seconds. Default to 2.

healthCheckTimeout Number

Maximum timeout of each health check response. It is required when health_check is on. Valid value range: [1-300] in seconds. Default to 5. Note: If health_check_timeout < health_check_interval, its will be replaced by health_check_interval.

healthCheckUri String

URI used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.

healthyThreshold Number

Threshold determining the result of the health check is success. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

listenerSync String

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

name String

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

scheduler String

Scheduling algorithm, Valid values are wrr, rr and wlc. Default to "wrr". This parameter is required and takes effect only when ListenerSync is set to off.

stickySession String

Whether to enable session persistence, Valid values are on and off. Default to off. This parameter is required and takes effect only when ListenerSync is set to off.

stickySessionType String

Mode for handling the cookie. If sticky_session is "on", it is mandatory. Otherwise, it will be ignored. Valid values are insert and server. insert means it is inserted from Server Load Balancer; server means the Server Load Balancer learns from the backend server.

unhealthyThreshold Number

Threshold determining the result of the health check is fail. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

url String

Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9, and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.

Outputs

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

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up Existing Rule Resource

Get an existing Rule 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?: RuleState, opts?: CustomResourceOptions): Rule
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        cookie: Optional[str] = None,
        cookie_timeout: Optional[int] = None,
        delete_protection_validation: Optional[bool] = None,
        domain: Optional[str] = None,
        frontend_port: Optional[int] = None,
        health_check: Optional[str] = None,
        health_check_connect_port: Optional[int] = None,
        health_check_domain: Optional[str] = None,
        health_check_http_code: Optional[str] = None,
        health_check_interval: Optional[int] = None,
        health_check_timeout: Optional[int] = None,
        health_check_uri: Optional[str] = None,
        healthy_threshold: Optional[int] = None,
        listener_sync: Optional[str] = None,
        load_balancer_id: Optional[str] = None,
        name: Optional[str] = None,
        scheduler: Optional[str] = None,
        server_group_id: Optional[str] = None,
        sticky_session: Optional[str] = None,
        sticky_session_type: Optional[str] = None,
        unhealthy_threshold: Optional[int] = None,
        url: Optional[str] = None) -> Rule
func GetRule(ctx *Context, name string, id IDInput, state *RuleState, opts ...ResourceOption) (*Rule, error)
public static Rule Get(string name, Input<string> id, RuleState? state, CustomResourceOptions? opts = null)
public static Rule get(String name, Output<String> id, RuleState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
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:
Cookie string

The cookie configured on the server. It is mandatory when sticky_session is "on" and sticky_session_type is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.

CookieTimeout int

Cookie timeout. It is mandatory when sticky_session is "on" and sticky_session_type is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.

DeleteProtectionValidation bool

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

Domain string

Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.), and wildcard characters. The following two domain name formats are supported:

  • Standard domain name: www.test.com
  • Wildcard domain name: .test.com. wildcard () must be the first character in the format of (*.)
FrontendPort int

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

HealthCheck string

Whether to enable health check. Valid values areon and off. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required and takes effect only when ListenerSync is set to off.

HealthCheckConnectPort int

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

HealthCheckDomain string

Domain name used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty, Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.

HealthCheckHttpCode string

Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when health_check is on. Default to http_2xx. Valid values are: http_2xx, http_3xx, http_4xx and http_5xx.

HealthCheckInterval int

Time interval of health checks. It is required when health_check is on. Valid value range: [1-50] in seconds. Default to 2.

HealthCheckTimeout int

Maximum timeout of each health check response. It is required when health_check is on. Valid value range: [1-300] in seconds. Default to 5. Note: If health_check_timeout < health_check_interval, its will be replaced by health_check_interval.

HealthCheckUri string

URI used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.

HealthyThreshold int

Threshold determining the result of the health check is success. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

ListenerSync string

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

LoadBalancerId string

The Load Balancer ID which is used to launch the new forwarding rule.

Name string

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

Scheduler string

Scheduling algorithm, Valid values are wrr, rr and wlc. Default to "wrr". This parameter is required and takes effect only when ListenerSync is set to off.

ServerGroupId string

ID of a virtual server group that will be forwarded.

StickySession string

Whether to enable session persistence, Valid values are on and off. Default to off. This parameter is required and takes effect only when ListenerSync is set to off.

StickySessionType string

Mode for handling the cookie. If sticky_session is "on", it is mandatory. Otherwise, it will be ignored. Valid values are insert and server. insert means it is inserted from Server Load Balancer; server means the Server Load Balancer learns from the backend server.

UnhealthyThreshold int

Threshold determining the result of the health check is fail. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

Url string

Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9, and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.

Cookie string

The cookie configured on the server. It is mandatory when sticky_session is "on" and sticky_session_type is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.

CookieTimeout int

Cookie timeout. It is mandatory when sticky_session is "on" and sticky_session_type is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.

DeleteProtectionValidation bool

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

Domain string

Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.), and wildcard characters. The following two domain name formats are supported:

  • Standard domain name: www.test.com
  • Wildcard domain name: .test.com. wildcard () must be the first character in the format of (*.)
FrontendPort int

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

HealthCheck string

Whether to enable health check. Valid values areon and off. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required and takes effect only when ListenerSync is set to off.

HealthCheckConnectPort int

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

HealthCheckDomain string

Domain name used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty, Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.

HealthCheckHttpCode string

Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when health_check is on. Default to http_2xx. Valid values are: http_2xx, http_3xx, http_4xx and http_5xx.

HealthCheckInterval int

Time interval of health checks. It is required when health_check is on. Valid value range: [1-50] in seconds. Default to 2.

HealthCheckTimeout int

Maximum timeout of each health check response. It is required when health_check is on. Valid value range: [1-300] in seconds. Default to 5. Note: If health_check_timeout < health_check_interval, its will be replaced by health_check_interval.

HealthCheckUri string

URI used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.

HealthyThreshold int

Threshold determining the result of the health check is success. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

ListenerSync string

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

LoadBalancerId string

The Load Balancer ID which is used to launch the new forwarding rule.

Name string

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

Scheduler string

Scheduling algorithm, Valid values are wrr, rr and wlc. Default to "wrr". This parameter is required and takes effect only when ListenerSync is set to off.

ServerGroupId string

ID of a virtual server group that will be forwarded.

StickySession string

Whether to enable session persistence, Valid values are on and off. Default to off. This parameter is required and takes effect only when ListenerSync is set to off.

StickySessionType string

Mode for handling the cookie. If sticky_session is "on", it is mandatory. Otherwise, it will be ignored. Valid values are insert and server. insert means it is inserted from Server Load Balancer; server means the Server Load Balancer learns from the backend server.

UnhealthyThreshold int

Threshold determining the result of the health check is fail. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

Url string

Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9, and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.

cookie String

The cookie configured on the server. It is mandatory when sticky_session is "on" and sticky_session_type is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.

cookieTimeout Integer

Cookie timeout. It is mandatory when sticky_session is "on" and sticky_session_type is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.

deleteProtectionValidation Boolean

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

domain String

Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.), and wildcard characters. The following two domain name formats are supported:

  • Standard domain name: www.test.com
  • Wildcard domain name: .test.com. wildcard () must be the first character in the format of (*.)
frontendPort Integer

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

healthCheck String

Whether to enable health check. Valid values areon and off. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required and takes effect only when ListenerSync is set to off.

healthCheckConnectPort Integer

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

healthCheckDomain String

Domain name used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty, Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.

healthCheckHttpCode String

Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when health_check is on. Default to http_2xx. Valid values are: http_2xx, http_3xx, http_4xx and http_5xx.

healthCheckInterval Integer

Time interval of health checks. It is required when health_check is on. Valid value range: [1-50] in seconds. Default to 2.

healthCheckTimeout Integer

Maximum timeout of each health check response. It is required when health_check is on. Valid value range: [1-300] in seconds. Default to 5. Note: If health_check_timeout < health_check_interval, its will be replaced by health_check_interval.

healthCheckUri String

URI used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.

healthyThreshold Integer

Threshold determining the result of the health check is success. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

listenerSync String

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

loadBalancerId String

The Load Balancer ID which is used to launch the new forwarding rule.

name String

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

scheduler String

Scheduling algorithm, Valid values are wrr, rr and wlc. Default to "wrr". This parameter is required and takes effect only when ListenerSync is set to off.

serverGroupId String

ID of a virtual server group that will be forwarded.

stickySession String

Whether to enable session persistence, Valid values are on and off. Default to off. This parameter is required and takes effect only when ListenerSync is set to off.

stickySessionType String

Mode for handling the cookie. If sticky_session is "on", it is mandatory. Otherwise, it will be ignored. Valid values are insert and server. insert means it is inserted from Server Load Balancer; server means the Server Load Balancer learns from the backend server.

unhealthyThreshold Integer

Threshold determining the result of the health check is fail. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

url String

Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9, and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.

cookie string

The cookie configured on the server. It is mandatory when sticky_session is "on" and sticky_session_type is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.

cookieTimeout number

Cookie timeout. It is mandatory when sticky_session is "on" and sticky_session_type is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.

deleteProtectionValidation boolean

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

domain string

Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.), and wildcard characters. The following two domain name formats are supported:

  • Standard domain name: www.test.com
  • Wildcard domain name: .test.com. wildcard () must be the first character in the format of (*.)
frontendPort number

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

healthCheck string

Whether to enable health check. Valid values areon and off. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required and takes effect only when ListenerSync is set to off.

healthCheckConnectPort number

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

healthCheckDomain string

Domain name used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty, Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.

healthCheckHttpCode string

Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when health_check is on. Default to http_2xx. Valid values are: http_2xx, http_3xx, http_4xx and http_5xx.

healthCheckInterval number

Time interval of health checks. It is required when health_check is on. Valid value range: [1-50] in seconds. Default to 2.

healthCheckTimeout number

Maximum timeout of each health check response. It is required when health_check is on. Valid value range: [1-300] in seconds. Default to 5. Note: If health_check_timeout < health_check_interval, its will be replaced by health_check_interval.

healthCheckUri string

URI used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.

healthyThreshold number

Threshold determining the result of the health check is success. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

listenerSync string

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

loadBalancerId string

The Load Balancer ID which is used to launch the new forwarding rule.

name string

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

scheduler string

Scheduling algorithm, Valid values are wrr, rr and wlc. Default to "wrr". This parameter is required and takes effect only when ListenerSync is set to off.

serverGroupId string

ID of a virtual server group that will be forwarded.

stickySession string

Whether to enable session persistence, Valid values are on and off. Default to off. This parameter is required and takes effect only when ListenerSync is set to off.

stickySessionType string

Mode for handling the cookie. If sticky_session is "on", it is mandatory. Otherwise, it will be ignored. Valid values are insert and server. insert means it is inserted from Server Load Balancer; server means the Server Load Balancer learns from the backend server.

unhealthyThreshold number

Threshold determining the result of the health check is fail. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

url string

Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9, and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.

cookie str

The cookie configured on the server. It is mandatory when sticky_session is "on" and sticky_session_type is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.

cookie_timeout int

Cookie timeout. It is mandatory when sticky_session is "on" and sticky_session_type is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.

delete_protection_validation bool

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

domain str

Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.), and wildcard characters. The following two domain name formats are supported:

  • Standard domain name: www.test.com
  • Wildcard domain name: .test.com. wildcard () must be the first character in the format of (*.)
frontend_port int

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

health_check str

Whether to enable health check. Valid values areon and off. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required and takes effect only when ListenerSync is set to off.

health_check_connect_port int

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

health_check_domain str

Domain name used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty, Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.

health_check_http_code str

Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when health_check is on. Default to http_2xx. Valid values are: http_2xx, http_3xx, http_4xx and http_5xx.

health_check_interval int

Time interval of health checks. It is required when health_check is on. Valid value range: [1-50] in seconds. Default to 2.

health_check_timeout int

Maximum timeout of each health check response. It is required when health_check is on. Valid value range: [1-300] in seconds. Default to 5. Note: If health_check_timeout < health_check_interval, its will be replaced by health_check_interval.

health_check_uri str

URI used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.

healthy_threshold int

Threshold determining the result of the health check is success. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

listener_sync str

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

load_balancer_id str

The Load Balancer ID which is used to launch the new forwarding rule.

name str

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

scheduler str

Scheduling algorithm, Valid values are wrr, rr and wlc. Default to "wrr". This parameter is required and takes effect only when ListenerSync is set to off.

server_group_id str

ID of a virtual server group that will be forwarded.

sticky_session str

Whether to enable session persistence, Valid values are on and off. Default to off. This parameter is required and takes effect only when ListenerSync is set to off.

sticky_session_type str

Mode for handling the cookie. If sticky_session is "on", it is mandatory. Otherwise, it will be ignored. Valid values are insert and server. insert means it is inserted from Server Load Balancer; server means the Server Load Balancer learns from the backend server.

unhealthy_threshold int

Threshold determining the result of the health check is fail. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

url str

Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9, and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.

cookie String

The cookie configured on the server. It is mandatory when sticky_session is "on" and sticky_session_type is "server". Otherwise, it will be ignored. Valid value:String in line with RFC 2965, with length being 1- 200. It only contains characters such as ASCII codes, English letters and digits instead of the comma, semicolon or spacing, and it cannot start with $.

cookieTimeout Number

Cookie timeout. It is mandatory when sticky_session is "on" and sticky_session_type is "insert". Otherwise, it will be ignored. Valid value range: [1-86400] in seconds.

deleteProtectionValidation Boolean

Checking DeleteProtection of SLB instance before deleting. If true, this resource will not be deleted when its SLB instance enabled DeleteProtection. Default to false.

domain String

Domain name of the forwarding rule. It can contain letters a-z, numbers 0-9, hyphens (-), and periods (.), and wildcard characters. The following two domain name formats are supported:

  • Standard domain name: www.test.com
  • Wildcard domain name: .test.com. wildcard () must be the first character in the format of (*.)
frontendPort Number

The listener frontend port which is used to launch the new forwarding rule. Valid range: [1-65535].

healthCheck String

Whether to enable health check. Valid values areon and off. TCP and UDP listener's HealthCheck is always on, so it will be ignore when launching TCP or UDP listener. This parameter is required and takes effect only when ListenerSync is set to off.

healthCheckConnectPort Number

Port used for health check. Valid value range: [1-65535]. Default to "None" means the backend server port is used.

healthCheckDomain String

Domain name used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and only characters such as letters, digits, ‘-‘ and ‘.’ are allowed. When it is not set or empty, Server Load Balancer uses the private network IP address of each backend server as Domain used for health check.

healthCheckHttpCode String

Regular health check HTTP status code. Multiple codes are segmented by “,”. It is required when health_check is on. Default to http_2xx. Valid values are: http_2xx, http_3xx, http_4xx and http_5xx.

healthCheckInterval Number

Time interval of health checks. It is required when health_check is on. Valid value range: [1-50] in seconds. Default to 2.

healthCheckTimeout Number

Maximum timeout of each health check response. It is required when health_check is on. Valid value range: [1-300] in seconds. Default to 5. Note: If health_check_timeout < health_check_interval, its will be replaced by health_check_interval.

healthCheckUri String

URI used for health check. When it used to launch TCP listener, health_check_type must be "http". Its length is limited to 1-80 and it must start with /. Only characters such as letters, digits, ‘-’, ‘/’, ‘.’, ‘%’, ‘?’, #’ and ‘&’ are allowed.

healthyThreshold Number

Threshold determining the result of the health check is success. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

listenerSync String

Indicates whether a forwarding rule inherits the settings of a health check , session persistence, and scheduling algorithm from a listener. Default to on.

loadBalancerId String

The Load Balancer ID which is used to launch the new forwarding rule.

name String

Name of the forwarding rule. Our plugin provides a default name: "tf-slb-rule".

scheduler String

Scheduling algorithm, Valid values are wrr, rr and wlc. Default to "wrr". This parameter is required and takes effect only when ListenerSync is set to off.

serverGroupId String

ID of a virtual server group that will be forwarded.

stickySession String

Whether to enable session persistence, Valid values are on and off. Default to off. This parameter is required and takes effect only when ListenerSync is set to off.

stickySessionType String

Mode for handling the cookie. If sticky_session is "on", it is mandatory. Otherwise, it will be ignored. Valid values are insert and server. insert means it is inserted from Server Load Balancer; server means the Server Load Balancer learns from the backend server.

unhealthyThreshold Number

Threshold determining the result of the health check is fail. It is required when health_check is on. Valid value range: [1-10] in seconds. Default to 3.

url String

Domain of the forwarding rule. It must be 2-80 characters in length. Only letters a-z, numbers 0-9, and characters '-' '/' '?' '%' '#' and '&' are allowed. URLs must be started with the character '/', but cannot be '/' alone.

Import

Load balancer forwarding rule can be imported using the id, e.g.

 $ pulumi import alicloud:slb/rule:Rule example rule-abc123456

Package Details

Repository
Alibaba Cloud pulumi/pulumi-alicloud
License
Apache-2.0
Notes

This Pulumi package is based on the alicloud Terraform Provider.