getSecurityGroupRules

The alicloud.ecs.getSecurityGroupRules data source provides a collection of security permissions of a specific security group. Each collection item represents a single ingress or egress permission rule. The ID of the security group can be provided via a variable or the result from the other data source alicloud.ecs.getSecurityGroups.

Example Usage

The following example shows how to obtain details about a security group rule and how to pass its data to an instance at launch time.

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetSecurityGroupsArgs;
import com.pulumi.alicloud.ecs.inputs.GetSecurityGroupRulesArgs;
import com.pulumi.alicloud.ecs.Instance;
import com.pulumi.alicloud.ecs.InstanceArgs;
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 securityGroupId = config.get("securityGroupId");
final var groupsDs = EcsFunctions.getSecurityGroups(GetSecurityGroupsArgs.builder()
.nameRegex("api")
.build());
final var ingressRulesDs = EcsFunctions.getSecurityGroupRules(GetSecurityGroupRulesArgs.builder()
.direction("ingress")
.groupId(groupsDs.applyValue(getSecurityGroupsResult -> getSecurityGroupsResult.groups()[0].id()))
.ipProtocol("tcp")
.nicType("internet")
.build());
var backend = new Instance("backend", InstanceArgs.builder()
.userData(String.format("config_service.sh --portrange=%s", ingressRulesDs.applyValue(getSecurityGroupRulesResult -> getSecurityGroupRulesResult.rules()[0].portRange())))
.build());
}
}

Return

A collection of values returned by getSecurityGroupRules.

Parameters

argument

A collection of arguments for invoking getSecurityGroupRules.


suspend fun getSecurityGroupRules(direction: String? = null, groupId: String, ipProtocol: String? = null, nicType: String? = null, outputFile: String? = null, policy: String? = null): GetSecurityGroupRulesResult

Return

A collection of values returned by getSecurityGroupRules.

See also

Parameters

direction

Authorization direction. Valid values are: ingress or egress.

groupId

The ID of the security group that owns the rules.

ipProtocol

The IP protocol. Valid values are: tcp, udp, icmp, gre and all.

nicType

Refers to the network type. Can be either internet or intranet. The default value is internet.

outputFile

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

policy

Authorization policy. Can be either accept or drop. The default value is accept.


Return

A collection of values returned by getSecurityGroupRules.

See also

Parameters

argument

Builder for com.pulumi.alicloud.ecs.kotlin.inputs.GetSecurityGroupRulesPlainArgs.