Class NetworkAcl


  • public class NetworkAcl
    extends com.pulumi.resources.CustomResource
    Provides an network ACL resource. You might set up network ACLs with rules similar to your security groups in order to add an additional layer of security to your VPC. > **NOTE on Network ACLs and Network ACL Rules:** This provider currently provides both a standalone Network ACL Rule resource and a Network ACL resource with rules defined in-line. At this time you cannot use a Network ACL with in-line rules in conjunction with any Network ACL Rule resources. Doing so will cause a conflict of rule settings and will overwrite rules. > **NOTE on Network ACLs and Network ACL Associations:** the provider provides both a standalone network ACL association resource and a network ACL resource with a `subnetIds` attribute. Do not use the same subnet ID in both a network ACL resource and a network ACL association resource. Doing so will cause a conflict of associations and will overwrite the association. ## Example Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.ec2.NetworkAcl;
     import com.pulumi.aws.ec2.NetworkAclArgs;
     import com.pulumi.aws.ec2.inputs.NetworkAclEgressArgs;
     import com.pulumi.aws.ec2.inputs.NetworkAclIngressArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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) {
             var main = new NetworkAcl("main", NetworkAclArgs.builder()
                 .egress(NetworkAclEgressArgs.builder()
                     .protocol("tcp")
                     .ruleNo(200)
                     .action("allow")
                     .cidrBlock("10.3.0.0/18")
                     .fromPort(443)
                     .toPort(443)
                     .build())
                 .ingress(NetworkAclIngressArgs.builder()
                     .protocol("tcp")
                     .ruleNo(100)
                     .action("allow")
                     .cidrBlock("10.3.0.0/18")
                     .fromPort(80)
                     .toPort(80)
                     .build())
                 .vpcId(mainAwsVpc.id())
                 .tags(Map.of("Name", "main"))
                 .build());
     
         }
     }
     
     
    ## Import ### Identity Schema #### Required * `id` (String) ID of the Network ACL. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import Network ACLs using the `id`. For example: ```sh $ pulumi import aws:ec2/networkAcl:NetworkAcl main acl-7aaabd18 ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.lang.String> arn()  
      com.pulumi.core.Output<java.util.List<NetworkAclEgress>> egress()  
      static NetworkAcl get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, NetworkAclState state, com.pulumi.resources.CustomResourceOptions options)
      Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
      com.pulumi.core.Output<java.util.List<NetworkAclIngress>> ingress()  
      com.pulumi.core.Output<java.lang.String> ownerId()  
      com.pulumi.core.Output<java.lang.String> region()  
      com.pulumi.core.Output<java.util.List<java.lang.String>> subnetIds()  
      com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()  
      com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()  
      com.pulumi.core.Output<java.lang.String> vpcId()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • NetworkAcl

        public NetworkAcl​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • NetworkAcl

        public NetworkAcl​(java.lang.String name,
                          NetworkAclArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • NetworkAcl

        public NetworkAcl​(java.lang.String name,
                          NetworkAclArgs args,
                          @Nullable
                          com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        The ARN of the network ACL
      • egress

        public com.pulumi.core.Output<java.util.List<NetworkAclEgress>> egress()
        Returns:
        Specifies an egress rule. Parameters defined below.
      • ingress

        public com.pulumi.core.Output<java.util.List<NetworkAclIngress>> ingress()
        Returns:
        Specifies an ingress rule. Parameters defined below.
      • ownerId

        public com.pulumi.core.Output<java.lang.String> ownerId()
        Returns:
        The ID of the AWS account that owns the network ACL.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • subnetIds

        public com.pulumi.core.Output<java.util.List<java.lang.String>> subnetIds()
        Returns:
        A list of Subnet IDs to apply the ACL to
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • vpcId

        public com.pulumi.core.Output<java.lang.String> vpcId()
        Returns:
        The ID of the associated VPC.
      • get

        public static NetworkAcl get​(java.lang.String name,
                                     com.pulumi.core.Output<java.lang.String> id,
                                     @Nullable
                                     NetworkAclState state,
                                     @Nullable
                                     com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.