getRules

suspend fun getRules(argument: GetRulesPlainArgs): GetRulesResult

This data source provides the rules associated with a server load balancer listener.

Example Usage

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.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
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.Rule;
import com.pulumi.alicloud.slb.RuleArgs;
import com.pulumi.alicloud.slb.SlbFunctions;
import com.pulumi.alicloud.slb.inputs.GetRulesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var config = ctx.config();
final var name = config.get("name").orElse("slbrulebasicconfig");
final var defaultZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableDiskCategory("cloud_efficiency")
.availableResourceCreation("VSwitch")
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.cidrBlock("172.16.0.0/16")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vpcId(defaultNetwork.id())
.cidrBlock("172.16.0.0/16")
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.vswitchName(name)
.build());
var defaultApplicationLoadBalancer = new ApplicationLoadBalancer("defaultApplicationLoadBalancer", ApplicationLoadBalancerArgs.builder()
.loadBalancerName(name)
.vswitchId(defaultSwitch.id())
.build());
var defaultListener = new Listener("defaultListener", ListenerArgs.builder()
.loadBalancerId(defaultApplicationLoadBalancer.id())
.backendPort(22)
.frontendPort(22)
.protocol("http")
.bandwidth(5)
.healthCheckConnectPort("20")
.build());
var defaultServerGroup = new ServerGroup("defaultServerGroup", ServerGroupArgs.builder()
.loadBalancerId(defaultApplicationLoadBalancer.id())
.build());
var defaultRule = new Rule("defaultRule", RuleArgs.builder()
.loadBalancerId(defaultApplicationLoadBalancer.id())
.frontendPort(defaultListener.frontendPort())
.domain("*.aliyun.com")
.url("/image")
.serverGroupId(defaultServerGroup.id())
.build());
final var sampleDs = SlbFunctions.getRules(GetRulesArgs.builder()
.loadBalancerId(defaultApplicationLoadBalancer.id())
.frontendPort(22)
.build());
ctx.export("firstSlbRuleId", sampleDs.applyValue(getRulesResult -> getRulesResult).applyValue(sampleDs -> sampleDs.applyValue(getRulesResult -> getRulesResult.slbRules()[0].id())));
}
}

Return

A collection of values returned by getRules.

Parameters

argument

A collection of arguments for invoking getRules.


suspend fun getRules(frontendPort: Int, ids: List<String>? = null, loadBalancerId: String, nameRegex: String? = null, outputFile: String? = null): GetRulesResult

Return

A collection of values returned by getRules.

See also

Parameters

frontendPort

SLB listener port.

ids

A list of rules IDs to filter results.

loadBalancerId

ID of the SLB with listener rules.

nameRegex

A regex string to filter results by rule name.

outputFile

File name where to save data source results (after running pulumi preview).


suspend fun getRules(argument: suspend GetRulesPlainArgsBuilder.() -> Unit): GetRulesResult

Return

A collection of values returned by getRules.

See also

Parameters

argument

Builder for com.pulumi.alicloud.slb.kotlin.inputs.GetRulesPlainArgs.