get Security Group Rules
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
A collection of arguments for invoking getSecurityGroupRules.
Return
A collection of values returned by getSecurityGroupRules.
See also
Parameters
Authorization direction. Valid values are: ingress or egress.
The ID of the security group that owns the rules.
The IP protocol. Valid values are: tcp, udp, icmp, gre and all.
Refers to the network type. Can be either internet or intranet. The default value is internet.
File name where to save data source results (after running pulumi preview).
Authorization policy. Can be either accept or drop. The default value is accept.
Return
A collection of values returned by getSecurityGroupRules.
See also
Parameters
Builder for com.pulumi.alicloud.ecs.kotlin.inputs.GetSecurityGroupRulesPlainArgs.