ListenerAclAttachmentArgs

data class ListenerAclAttachmentArgs(val aclId: Output<String>? = null, val aclType: Output<String>? = null, val listenerId: Output<String>? = null) : ConvertibleToJava<ListenerAclAttachmentArgs>

Provides a Application Load Balancer (ALB) Listener Acl Attachment resource. For information about Application Load Balancer (ALB) Listener Acl Attachment and how to use it, see What is Listener Acl Attachment.

NOTE: Available in v1.163.0+. NOTE: You can associate at most three ACLs with a listener. NOTE: You can only configure either a whitelist or a blacklist for listener, not at the same time.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;
import com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;
import com.pulumi.alicloud.alb.Acl;
import com.pulumi.alicloud.alb.AclArgs;
import com.pulumi.alicloud.alb.inputs.AclAclEntryArgs;
import com.pulumi.alicloud.alb.AlbFunctions;
import com.pulumi.alicloud.alb.inputs.GetZonesArgs;
import com.pulumi.alicloud.vpc.VpcFunctions;
import com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;
import com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;
import com.pulumi.alicloud.alb.LoadBalancer;
import com.pulumi.alicloud.alb.LoadBalancerArgs;
import com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;
import com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;
import com.pulumi.alicloud.alb.inputs.LoadBalancerModificationProtectionConfigArgs;
import com.pulumi.alicloud.alb.ServerGroup;
import com.pulumi.alicloud.alb.ServerGroupArgs;
import com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;
import com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;
import com.pulumi.alicloud.alb.Listener;
import com.pulumi.alicloud.alb.ListenerArgs;
import com.pulumi.alicloud.alb.inputs.ListenerDefaultActionArgs;
import com.pulumi.alicloud.alb.inputs.ListenerDefaultActionForwardGroupConfigArgs;
import com.pulumi.alicloud.alb.ListenerAclAttachment;
import com.pulumi.alicloud.alb.ListenerAclAttachmentArgs;
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 defaultResourceGroups = ResourcemanagerFunctions.getResourceGroups();
var defaultAcl = new Acl("defaultAcl", AclArgs.builder()
.aclName("example_value")
.resourceGroupId(defaultResourceGroups.applyValue(getResourceGroupsResult -> getResourceGroupsResult.groups()[0].id()))
.aclEntries(AclAclEntryArgs.builder()
.description("description")
.entry("10.0.0.0/24")
.build())
.build());
final var defaultZones = AlbFunctions.getZones();
final var defaultNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()
.nameRegex("default-NODELETING")
.build());
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 defaultLoadBalancer = new LoadBalancer("defaultLoadBalancer", LoadBalancerArgs.builder()
.vpcId(defaultNetworks.applyValue(getNetworksResult -> getNetworksResult.ids()[0]))
.addressType("Internet")
.addressAllocatedMode("Fixed")
.loadBalancerName("example_value")
.loadBalancerEdition("Standard")
.resourceGroupId(defaultResourceGroups.applyValue(getResourceGroupsResult -> getResourceGroupsResult.groups()[0].id()))
.loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()
.payType("PayAsYouGo")
.build())
.tags(Map.of("Created", "TF"))
.zoneMappings(
LoadBalancerZoneMappingArgs.builder()
.vswitchId(default1.applyValue(getSwitchesResult -> getSwitchesResult.ids()[0]))
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.build(),
LoadBalancerZoneMappingArgs.builder()
.vswitchId(default2.applyValue(getSwitchesResult -> getSwitchesResult.ids()[0]))
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[1].id()))
.build())
.modificationProtectionConfig(LoadBalancerModificationProtectionConfigArgs.builder()
.status("NonProtection")
.build())
.build());
var defaultServerGroup = new ServerGroup("defaultServerGroup", ServerGroupArgs.builder()
.protocol("HTTP")
.vpcId(defaultNetworks.applyValue(getNetworksResult -> getNetworksResult.vpcs()[0].id()))
.serverGroupName("example_value")
.resourceGroupId(defaultResourceGroups.applyValue(getResourceGroupsResult -> getResourceGroupsResult.groups()[0].id()))
.healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()
.healthCheckEnabled("false")
.build())
.stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()
.stickySessionEnabled("false")
.build())
.tags(Map.of("Created", "TF"))
.build());
var defaultListener = new Listener("defaultListener", ListenerArgs.builder()
.loadBalancerId(defaultLoadBalancer.id())
.listenerProtocol("HTTP")
.listenerPort(80)
.listenerDescription("example_value")
.defaultActions(ListenerDefaultActionArgs.builder()
.type("ForwardGroup")
.forwardGroupConfig(ListenerDefaultActionForwardGroupConfigArgs.builder()
.serverGroupTuples(ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs.builder()
.serverGroupId(defaultServerGroup.id())
.build())
.build())
.build())
.build());
var defaultListenerAclAttachment = new ListenerAclAttachment("defaultListenerAclAttachment", ListenerAclAttachmentArgs.builder()
.aclId(defaultAcl.id())
.listenerId(defaultListener.id())
.aclType("White")
.build());
}
}

Import

Application Load Balancer (ALB) Listener Acl Attachment can be imported using the id, e.g.

$ pulumi import alicloud:alb/listenerAclAttachment:ListenerAclAttachment example <listener_id>:<acl_id>

Constructors

Link copied to clipboard
fun ListenerAclAttachmentArgs(aclId: Output<String>? = null, aclType: Output<String>? = null, listenerId: Output<String>? = null)

Functions

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

Properties

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

The ID of the Acl.

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

The type of the ACL. Valid values:

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

The ID of the ALB listener.