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.