Volcengine v0.0.27 published on Tuesday, Dec 10, 2024 by Volcengine
volcengine.clb.Rules
Explore with Pulumi AI
Use this data source to query detailed information of clb rules
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as volcengine from "@pulumi/volcengine";
import * as volcengine from "@volcengine/pulumi";
const fooZones = volcengine.ecs.Zones({});
const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
    vpcName: "acc-test-vpc",
    cidrBlock: "172.16.0.0/16",
});
const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", {
    subnetName: "acc-test-subnet",
    cidrBlock: "172.16.0.0/24",
    zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
    vpcId: fooVpc.id,
});
const fooClb = new volcengine.clb.Clb("fooClb", {
    type: "public",
    subnetId: fooSubnet.id,
    loadBalancerSpec: "small_1",
    description: "acc0Demo",
    loadBalancerName: "acc-test-create",
    eipBillingConfig: {
        isp: "BGP",
        eipBillingType: "PostPaidByBandwidth",
        bandwidth: 1,
    },
});
const fooServerGroup = new volcengine.clb.ServerGroup("fooServerGroup", {
    loadBalancerId: fooClb.id,
    serverGroupName: "acc-test-create",
    description: "hello demo11",
});
const fooListener = new volcengine.clb.Listener("fooListener", {
    loadBalancerId: fooClb.id,
    listenerName: "acc-test-listener",
    protocol: "HTTP",
    port: 90,
    serverGroupId: fooServerGroup.id,
    healthCheck: {
        enabled: "on",
        interval: 10,
        timeout: 3,
        healthyThreshold: 5,
        unHealthyThreshold: 2,
        domain: "volcengine.com",
        httpCode: "http_2xx",
        method: "GET",
        uri: "/",
    },
    enabled: "on",
});
const fooRule = new volcengine.clb.Rule("fooRule", {
    listenerId: fooListener.id,
    serverGroupId: fooServerGroup.id,
    domain: "test-volc123.com",
    url: "/yyyy",
});
const fooRules = volcengine.clb.RulesOutput({
    ids: [fooRule.id],
    listenerId: fooListener.id,
});
import pulumi
import pulumi_volcengine as volcengine
foo_zones = volcengine.ecs.zones()
foo_vpc = volcengine.vpc.Vpc("fooVpc",
    vpc_name="acc-test-vpc",
    cidr_block="172.16.0.0/16")
foo_subnet = volcengine.vpc.Subnet("fooSubnet",
    subnet_name="acc-test-subnet",
    cidr_block="172.16.0.0/24",
    zone_id=foo_zones.zones[0].id,
    vpc_id=foo_vpc.id)
foo_clb = volcengine.clb.Clb("fooClb",
    type="public",
    subnet_id=foo_subnet.id,
    load_balancer_spec="small_1",
    description="acc0Demo",
    load_balancer_name="acc-test-create",
    eip_billing_config=volcengine.clb.ClbEipBillingConfigArgs(
        isp="BGP",
        eip_billing_type="PostPaidByBandwidth",
        bandwidth=1,
    ))
foo_server_group = volcengine.clb.ServerGroup("fooServerGroup",
    load_balancer_id=foo_clb.id,
    server_group_name="acc-test-create",
    description="hello demo11")
foo_listener = volcengine.clb.Listener("fooListener",
    load_balancer_id=foo_clb.id,
    listener_name="acc-test-listener",
    protocol="HTTP",
    port=90,
    server_group_id=foo_server_group.id,
    health_check=volcengine.clb.ListenerHealthCheckArgs(
        enabled="on",
        interval=10,
        timeout=3,
        healthy_threshold=5,
        un_healthy_threshold=2,
        domain="volcengine.com",
        http_code="http_2xx",
        method="GET",
        uri="/",
    ),
    enabled="on")
foo_rule = volcengine.clb.Rule("fooRule",
    listener_id=foo_listener.id,
    server_group_id=foo_server_group.id,
    domain="test-volc123.com",
    url="/yyyy")
foo_rules = volcengine.clb.rules_output(ids=[foo_rule.id],
    listener_id=foo_listener.id)
package main
import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/clb"
	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/ecs"
	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/vpc"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooZones, err := ecs.Zones(ctx, nil, nil)
		if err != nil {
			return err
		}
		fooVpc, err := vpc.NewVpc(ctx, "fooVpc", &vpc.VpcArgs{
			VpcName:   pulumi.String("acc-test-vpc"),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		fooSubnet, err := vpc.NewSubnet(ctx, "fooSubnet", &vpc.SubnetArgs{
			SubnetName: pulumi.String("acc-test-subnet"),
			CidrBlock:  pulumi.String("172.16.0.0/24"),
			ZoneId:     pulumi.String(fooZones.Zones[0].Id),
			VpcId:      fooVpc.ID(),
		})
		if err != nil {
			return err
		}
		fooClb, err := clb.NewClb(ctx, "fooClb", &clb.ClbArgs{
			Type:             pulumi.String("public"),
			SubnetId:         fooSubnet.ID(),
			LoadBalancerSpec: pulumi.String("small_1"),
			Description:      pulumi.String("acc0Demo"),
			LoadBalancerName: pulumi.String("acc-test-create"),
			EipBillingConfig: &clb.ClbEipBillingConfigArgs{
				Isp:            pulumi.String("BGP"),
				EipBillingType: pulumi.String("PostPaidByBandwidth"),
				Bandwidth:      pulumi.Int(1),
			},
		})
		if err != nil {
			return err
		}
		fooServerGroup, err := clb.NewServerGroup(ctx, "fooServerGroup", &clb.ServerGroupArgs{
			LoadBalancerId:  fooClb.ID(),
			ServerGroupName: pulumi.String("acc-test-create"),
			Description:     pulumi.String("hello demo11"),
		})
		if err != nil {
			return err
		}
		fooListener, err := clb.NewListener(ctx, "fooListener", &clb.ListenerArgs{
			LoadBalancerId: fooClb.ID(),
			ListenerName:   pulumi.String("acc-test-listener"),
			Protocol:       pulumi.String("HTTP"),
			Port:           pulumi.Int(90),
			ServerGroupId:  fooServerGroup.ID(),
			HealthCheck: &clb.ListenerHealthCheckArgs{
				Enabled:            pulumi.String("on"),
				Interval:           pulumi.Int(10),
				Timeout:            pulumi.Int(3),
				HealthyThreshold:   pulumi.Int(5),
				UnHealthyThreshold: pulumi.Int(2),
				Domain:             pulumi.String("volcengine.com"),
				HttpCode:           pulumi.String("http_2xx"),
				Method:             pulumi.String("GET"),
				Uri:                pulumi.String("/"),
			},
			Enabled: pulumi.String("on"),
		})
		if err != nil {
			return err
		}
		fooRule, err := clb.NewRule(ctx, "fooRule", &clb.RuleArgs{
			ListenerId:    fooListener.ID(),
			ServerGroupId: fooServerGroup.ID(),
			Domain:        pulumi.String("test-volc123.com"),
			Url:           pulumi.String("/yyyy"),
		})
		if err != nil {
			return err
		}
		_ = clb.RulesOutput(ctx, clb.RulesOutputArgs{
			Ids: pulumi.StringArray{
				fooRule.ID(),
			},
			ListenerId: fooListener.ID(),
		}, nil)
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Volcengine = Pulumi.Volcengine;
return await Deployment.RunAsync(() => 
{
    var fooZones = Volcengine.Ecs.Zones.Invoke();
    var fooVpc = new Volcengine.Vpc.Vpc("fooVpc", new()
    {
        VpcName = "acc-test-vpc",
        CidrBlock = "172.16.0.0/16",
    });
    var fooSubnet = new Volcengine.Vpc.Subnet("fooSubnet", new()
    {
        SubnetName = "acc-test-subnet",
        CidrBlock = "172.16.0.0/24",
        ZoneId = fooZones.Apply(zonesResult => zonesResult.Zones[0]?.Id),
        VpcId = fooVpc.Id,
    });
    var fooClb = new Volcengine.Clb.Clb("fooClb", new()
    {
        Type = "public",
        SubnetId = fooSubnet.Id,
        LoadBalancerSpec = "small_1",
        Description = "acc0Demo",
        LoadBalancerName = "acc-test-create",
        EipBillingConfig = new Volcengine.Clb.Inputs.ClbEipBillingConfigArgs
        {
            Isp = "BGP",
            EipBillingType = "PostPaidByBandwidth",
            Bandwidth = 1,
        },
    });
    var fooServerGroup = new Volcengine.Clb.ServerGroup("fooServerGroup", new()
    {
        LoadBalancerId = fooClb.Id,
        ServerGroupName = "acc-test-create",
        Description = "hello demo11",
    });
    var fooListener = new Volcengine.Clb.Listener("fooListener", new()
    {
        LoadBalancerId = fooClb.Id,
        ListenerName = "acc-test-listener",
        Protocol = "HTTP",
        Port = 90,
        ServerGroupId = fooServerGroup.Id,
        HealthCheck = new Volcengine.Clb.Inputs.ListenerHealthCheckArgs
        {
            Enabled = "on",
            Interval = 10,
            Timeout = 3,
            HealthyThreshold = 5,
            UnHealthyThreshold = 2,
            Domain = "volcengine.com",
            HttpCode = "http_2xx",
            Method = "GET",
            Uri = "/",
        },
        Enabled = "on",
    });
    var fooRule = new Volcengine.Clb.Rule("fooRule", new()
    {
        ListenerId = fooListener.Id,
        ServerGroupId = fooServerGroup.Id,
        Domain = "test-volc123.com",
        Url = "/yyyy",
    });
    var fooRules = Volcengine.Clb.Rules.Invoke(new()
    {
        Ids = new[]
        {
            fooRule.Id,
        },
        ListenerId = fooListener.Id,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.volcengine.ecs.EcsFunctions;
import com.pulumi.volcengine.ecs.inputs.ZonesArgs;
import com.pulumi.volcengine.vpc.Vpc;
import com.pulumi.volcengine.vpc.VpcArgs;
import com.pulumi.volcengine.vpc.Subnet;
import com.pulumi.volcengine.vpc.SubnetArgs;
import com.pulumi.volcengine.clb.Clb;
import com.pulumi.volcengine.clb.ClbArgs;
import com.pulumi.volcengine.clb.inputs.ClbEipBillingConfigArgs;
import com.pulumi.volcengine.clb.ServerGroup;
import com.pulumi.volcengine.clb.ServerGroupArgs;
import com.pulumi.volcengine.clb.Listener;
import com.pulumi.volcengine.clb.ListenerArgs;
import com.pulumi.volcengine.clb.inputs.ListenerHealthCheckArgs;
import com.pulumi.volcengine.clb.Rule;
import com.pulumi.volcengine.clb.RuleArgs;
import com.pulumi.volcengine.clb.ClbFunctions;
import com.pulumi.volcengine.clb.inputs.RulesArgs;
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 fooZones = EcsFunctions.Zones();
        var fooVpc = new Vpc("fooVpc", VpcArgs.builder()        
            .vpcName("acc-test-vpc")
            .cidrBlock("172.16.0.0/16")
            .build());
        var fooSubnet = new Subnet("fooSubnet", SubnetArgs.builder()        
            .subnetName("acc-test-subnet")
            .cidrBlock("172.16.0.0/24")
            .zoneId(fooZones.applyValue(zonesResult -> zonesResult.zones()[0].id()))
            .vpcId(fooVpc.id())
            .build());
        var fooClb = new Clb("fooClb", ClbArgs.builder()        
            .type("public")
            .subnetId(fooSubnet.id())
            .loadBalancerSpec("small_1")
            .description("acc0Demo")
            .loadBalancerName("acc-test-create")
            .eipBillingConfig(ClbEipBillingConfigArgs.builder()
                .isp("BGP")
                .eipBillingType("PostPaidByBandwidth")
                .bandwidth(1)
                .build())
            .build());
        var fooServerGroup = new ServerGroup("fooServerGroup", ServerGroupArgs.builder()        
            .loadBalancerId(fooClb.id())
            .serverGroupName("acc-test-create")
            .description("hello demo11")
            .build());
        var fooListener = new Listener("fooListener", ListenerArgs.builder()        
            .loadBalancerId(fooClb.id())
            .listenerName("acc-test-listener")
            .protocol("HTTP")
            .port(90)
            .serverGroupId(fooServerGroup.id())
            .healthCheck(ListenerHealthCheckArgs.builder()
                .enabled("on")
                .interval(10)
                .timeout(3)
                .healthyThreshold(5)
                .unHealthyThreshold(2)
                .domain("volcengine.com")
                .httpCode("http_2xx")
                .method("GET")
                .uri("/")
                .build())
            .enabled("on")
            .build());
        var fooRule = new Rule("fooRule", RuleArgs.builder()        
            .listenerId(fooListener.id())
            .serverGroupId(fooServerGroup.id())
            .domain("test-volc123.com")
            .url("/yyyy")
            .build());
        final var fooRules = ClbFunctions.Rules(RulesArgs.builder()
            .ids(fooRule.id())
            .listenerId(fooListener.id())
            .build());
    }
}
resources:
  fooVpc:
    type: volcengine:vpc:Vpc
    properties:
      vpcName: acc-test-vpc
      cidrBlock: 172.16.0.0/16
  fooSubnet:
    type: volcengine:vpc:Subnet
    properties:
      subnetName: acc-test-subnet
      cidrBlock: 172.16.0.0/24
      zoneId: ${fooZones.zones[0].id}
      vpcId: ${fooVpc.id}
  fooClb:
    type: volcengine:clb:Clb
    properties:
      type: public
      subnetId: ${fooSubnet.id}
      loadBalancerSpec: small_1
      description: acc0Demo
      loadBalancerName: acc-test-create
      eipBillingConfig:
        isp: BGP
        eipBillingType: PostPaidByBandwidth
        bandwidth: 1
  fooServerGroup:
    type: volcengine:clb:ServerGroup
    properties:
      loadBalancerId: ${fooClb.id}
      serverGroupName: acc-test-create
      description: hello demo11
  fooListener:
    type: volcengine:clb:Listener
    properties:
      loadBalancerId: ${fooClb.id}
      listenerName: acc-test-listener
      protocol: HTTP
      port: 90
      serverGroupId: ${fooServerGroup.id}
      healthCheck:
        enabled: on
        interval: 10
        timeout: 3
        healthyThreshold: 5
        unHealthyThreshold: 2
        domain: volcengine.com
        httpCode: http_2xx
        method: GET
        uri: /
      enabled: on
  fooRule:
    type: volcengine:clb:Rule
    properties:
      listenerId: ${fooListener.id}
      serverGroupId: ${fooServerGroup.id}
      domain: test-volc123.com
      url: /yyyy
variables:
  fooZones:
    fn::invoke:
      Function: volcengine:ecs:Zones
      Arguments: {}
  fooRules:
    fn::invoke:
      Function: volcengine:clb:Rules
      Arguments:
        ids:
          - ${fooRule.id}
        listenerId: ${fooListener.id}
Using Rules
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function rules(args: RulesArgs, opts?: InvokeOptions): Promise<RulesResult>
function rulesOutput(args: RulesOutputArgs, opts?: InvokeOptions): Output<RulesResult>def rules(ids: Optional[Sequence[str]] = None,
          listener_id: Optional[str] = None,
          output_file: Optional[str] = None,
          opts: Optional[InvokeOptions] = None) -> RulesResult
def rules_output(ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
          listener_id: Optional[pulumi.Input[str]] = None,
          output_file: Optional[pulumi.Input[str]] = None,
          opts: Optional[InvokeOptions] = None) -> Output[RulesResult]func Rules(ctx *Context, args *RulesArgs, opts ...InvokeOption) (*RulesResult, error)
func RulesOutput(ctx *Context, args *RulesOutputArgs, opts ...InvokeOption) RulesResultOutputpublic static class Rules 
{
    public static Task<RulesResult> InvokeAsync(RulesArgs args, InvokeOptions? opts = null)
    public static Output<RulesResult> Invoke(RulesInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<RulesResult> rules(RulesArgs args, InvokeOptions options)
public static Output<RulesResult> rules(RulesArgs args, InvokeOptions options)
fn::invoke:
  function: volcengine:clb:Rules
  arguments:
    # arguments dictionaryThe following arguments are supported:
- ListenerId string
- The Id of listener.
- Ids List<string>
- A list of Rule IDs.
- OutputFile string
- File name where to save data source results.
- ListenerId string
- The Id of listener.
- Ids []string
- A list of Rule IDs.
- OutputFile string
- File name where to save data source results.
- listenerId String
- The Id of listener.
- ids List<String>
- A list of Rule IDs.
- outputFile String
- File name where to save data source results.
- listenerId string
- The Id of listener.
- ids string[]
- A list of Rule IDs.
- outputFile string
- File name where to save data source results.
- listener_id str
- The Id of listener.
- ids Sequence[str]
- A list of Rule IDs.
- output_file str
- File name where to save data source results.
- listenerId String
- The Id of listener.
- ids List<String>
- A list of Rule IDs.
- outputFile String
- File name where to save data source results.
Rules Result
The following output properties are available:
- Id string
- The provider-assigned unique ID for this managed resource.
- ListenerId string
- Rules
List<RulesRule> 
- The collection of Rule query.
- Ids List<string>
- OutputFile string
- Id string
- The provider-assigned unique ID for this managed resource.
- ListenerId string
- Rules
[]RulesRule 
- The collection of Rule query.
- Ids []string
- OutputFile string
- id String
- The provider-assigned unique ID for this managed resource.
- listenerId String
- rules
List<RulesRule> 
- The collection of Rule query.
- ids List<String>
- outputFile String
- id string
- The provider-assigned unique ID for this managed resource.
- listenerId string
- rules
RulesRule[] 
- The collection of Rule query.
- ids string[]
- outputFile string
- id str
- The provider-assigned unique ID for this managed resource.
- listener_id str
- rules
Sequence[RulesRule] 
- The collection of Rule query.
- ids Sequence[str]
- output_file str
- id String
- The provider-assigned unique ID for this managed resource.
- listenerId String
- rules List<Property Map>
- The collection of Rule query.
- ids List<String>
- outputFile String
Supporting Types
RulesRule 
- Description string
- The Description of Rule.
- Domain string
- The Domain of Rule.
- Id string
- The Id of Rule.
- RuleId string
- The Id of Rule.
- ServerGroup stringId 
- The Id of Server Group.
- Url string
- The Url of Rule.
- Description string
- The Description of Rule.
- Domain string
- The Domain of Rule.
- Id string
- The Id of Rule.
- RuleId string
- The Id of Rule.
- ServerGroup stringId 
- The Id of Server Group.
- Url string
- The Url of Rule.
- description String
- The Description of Rule.
- domain String
- The Domain of Rule.
- id String
- The Id of Rule.
- ruleId String
- The Id of Rule.
- serverGroup StringId 
- The Id of Server Group.
- url String
- The Url of Rule.
- description string
- The Description of Rule.
- domain string
- The Domain of Rule.
- id string
- The Id of Rule.
- ruleId string
- The Id of Rule.
- serverGroup stringId 
- The Id of Server Group.
- url string
- The Url of Rule.
- description str
- The Description of Rule.
- domain str
- The Domain of Rule.
- id str
- The Id of Rule.
- rule_id str
- The Id of Rule.
- server_group_ strid 
- The Id of Server Group.
- url str
- The Url of Rule.
- description String
- The Description of Rule.
- domain String
- The Domain of Rule.
- id String
- The Id of Rule.
- ruleId String
- The Id of Rule.
- serverGroup StringId 
- The Id of Server Group.
- url String
- The Url of Rule.
Package Details
- Repository
- volcengine volcengine/pulumi-volcengine
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the volcengineTerraform Provider.