LoadBalancerSecurityGroupAttachmentArgs

data class LoadBalancerSecurityGroupAttachmentArgs(val dryRun: Output<Boolean>? = null, val loadBalancerId: Output<String>? = null, val securityGroupId: Output<String>? = null) : ConvertibleToJava<LoadBalancerSecurityGroupAttachmentArgs>

Provides a Nlb Load Balancer Security Group Attachment resource. For information about Nlb Load Balancer Security Group Attachment and how to use it, see What is Load Balancer Security Group Attachment.

NOTE: Available in v1.198.0+.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.nlb.NlbFunctions;
import com.pulumi.alicloud.nlb.inputs.GetZonesArgs;
import com.pulumi.alicloud.vpc.VpcFunctions;
import com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;
import com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;
import com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;
import com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.nlb.LoadBalancer;
import com.pulumi.alicloud.nlb.LoadBalancerArgs;
import com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;
import com.pulumi.alicloud.nlb.LoadBalancerSecurityGroupAttachment;
import com.pulumi.alicloud.nlb.LoadBalancerSecurityGroupAttachmentArgs;
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 defaultZones = NlbFunctions.getZones();
final var defaultNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()
.nameRegex("^default-NODELETING$")
.build());
final var defaultResourceGroups = ResourcemanagerFunctions.getResourceGroups();
final var default1 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()
.vpcId(defaultNetworks.applyValue(getNetworksResult -> getNetworksResult.ids()[0]))
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.build());
final var default2 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()
.vpcId(defaultNetworks.applyValue(getNetworksResult -> getNetworksResult.ids()[0]))
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[1].id()))
.build());
var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()
.vpcId(defaultNetworks.applyValue(getNetworksResult -> getNetworksResult.ids()[0]))
.build());
final var zoneId1 = defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id());
final var vswitchId1 = default1.applyValue(getSwitchesResult -> getSwitchesResult.ids()[0]);
final var zoneId2 = defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[1].id());
final var vswitchId2 = default2.applyValue(getSwitchesResult -> getSwitchesResult.ids()[0]);
var defaultLoadBalancer = new LoadBalancer("defaultLoadBalancer", LoadBalancerArgs.builder()
.loadBalancerName(var_.name())
.resourceGroupId(defaultResourceGroups.applyValue(getResourceGroupsResult -> getResourceGroupsResult.ids()[0]))
.loadBalancerType("Network")
.addressType("Internet")
.addressIpVersion("Ipv4")
.vpcId(defaultNetworks.applyValue(getNetworksResult -> getNetworksResult.ids()[0]))
.zoneMappings(
LoadBalancerZoneMappingArgs.builder()
.vswitchId(vswitchId1)
.zoneId(zoneId1)
.build(),
LoadBalancerZoneMappingArgs.builder()
.vswitchId(vswitchId2)
.zoneId(zoneId2)
.build())
.build());
var defaultLoadBalancerSecurityGroupAttachment = new LoadBalancerSecurityGroupAttachment("defaultLoadBalancerSecurityGroupAttachment", LoadBalancerSecurityGroupAttachmentArgs.builder()
.securityGroupId(defaultSecurityGroup.id())
.loadBalancerId(defaultLoadBalancer.id())
.build());
}
}

Import

Nlb Load Balancer Security Group Attachment can be imported using the id, e.g.

$ pulumi import alicloud:nlb/loadBalancerSecurityGroupAttachment:LoadBalancerSecurityGroupAttachment example <LoadBalancerId>:<SecurityGroupId>

Constructors

Link copied to clipboard
fun LoadBalancerSecurityGroupAttachmentArgs(dryRun: Output<Boolean>? = null, loadBalancerId: Output<String>? = null, securityGroupId: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): LoadBalancerSecurityGroupAttachmentArgs

Properties

Link copied to clipboard
val dryRun: Output<Boolean>? = null

Whether to PreCheck this request only. Value:-true: sends a check request and does not bind a security group to the instance. Check items include whether required parameters, request format, and business restrictions have been filled in. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.-false (default): Sends a normal request, returns the HTTP 2xx status code after the check, and directly performs the operation.

Link copied to clipboard
val loadBalancerId: Output<String>? = null

The ID of the network-based server load balancer instance to be bound to the security group.

Link copied to clipboard
val securityGroupId: Output<String>? = null

The ID of security groups.