Class CfnVPC

All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:39.129Z") @Stability(Stable) public class CfnVPC extends CfnResource implements IInspectable
A CloudFormation AWS::EC2::VPC.

Specifies a virtual private cloud (VPC).

You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

For more information, see Virtual private clouds (VPC) in the Amazon VPC User Guide .

Example:

 CfnInclude cfnTemplate;
 // using from*Attributes()
 CfnSubnet privateCfnSubnet1;
 CfnSubnet privateCfnSubnet2;
 // using from*Name()
 CfnBucket cfnBucket = (CfnBucket)cfnTemplate.getResource("Bucket");
 IBucket bucket = Bucket.fromBucketName(this, "L2Bucket", cfnBucket.getRef());
 // using from*Arn()
 CfnKey cfnKey = (CfnKey)cfnTemplate.getResource("Key");
 IKey key = Key.fromKeyArn(this, "L2Key", cfnKey.getAttrArn());
 CfnVPC cfnVpc = (CfnVPC)cfnTemplate.getResource("Vpc");
 IVpc vpc = Vpc.fromVpcAttributes(this, "L2Vpc", VpcAttributes.builder()
         .vpcId(cfnVpc.getRef())
         .availabilityZones(Fn.getAzs())
         .privateSubnetIds(List.of(privateCfnSubnet1.getRef(), privateCfnSubnet2.getRef()))
         .build());
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnVPC

      protected CfnVPC(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnVPC

      protected CfnVPC(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnVPC

      @Stability(Stable) public CfnVPC(@NotNull Construct scope, @NotNull String id, @Nullable CfnVPCProps props)
      Create a new AWS::EC2::VPC.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
    • CfnVPC

      @Stability(Stable) public CfnVPC(@NotNull Construct scope, @NotNull String id)
      Create a new AWS::EC2::VPC.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrCidrBlock

      @Stability(Stable) @NotNull public String getAttrCidrBlock()
      The primary IPv4 CIDR block for the VPC.

      For example, 10.0.0.0/16.

    • getAttrCidrBlockAssociations

      @Stability(Stable) @NotNull public List<String> getAttrCidrBlockAssociations()
      The association IDs of the IPv4 CIDR blocks for the VPC.

      For example, [ vpc-cidr-assoc-0280ab6b ].

    • getAttrDefaultNetworkAcl

      @Stability(Stable) @NotNull public String getAttrDefaultNetworkAcl()
      The ID of the default network ACL for the VPC.

      For example, acl-814dafe3.

    • getAttrDefaultSecurityGroup

      @Stability(Stable) @NotNull public String getAttrDefaultSecurityGroup()
      The ID of the default security group for the VPC.

      For example, sg-b178e0d3.

    • getAttrIpv6CidrBlocks

      @Stability(Stable) @NotNull public List<String> getAttrIpv6CidrBlocks()
      The IPv6 CIDR blocks for the VPC.

      For example, [ 2001:db8:1234:1a00::/56 ].

    • getAttrVpcId

      @Stability(Stable) @NotNull public String getAttrVpcId()
      The ID of the VPC.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      The tags for the VPC.
    • getCidrBlock

      @Stability(Stable) @Nullable public String getCidrBlock()
      The IPv4 network range for the VPC, in CIDR notation.

      For example, 10.0.0.0/16 . We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18 , we modify it to 100.68.0.0/18 .

      You must specify either CidrBlock or Ipv4IpamPoolId .

    • setCidrBlock

      @Stability(Stable) public void setCidrBlock(@Nullable String value)
      The IPv4 network range for the VPC, in CIDR notation.

      For example, 10.0.0.0/16 . We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18 , we modify it to 100.68.0.0/18 .

      You must specify either CidrBlock or Ipv4IpamPoolId .

    • getEnableDnsHostnames

      @Stability(Stable) @Nullable public Object getEnableDnsHostnames()
      Indicates whether the instances launched in the VPC get DNS hostnames.

      If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs. For more information, see DNS attributes in your VPC .

      You can only enable DNS hostnames if you've enabled DNS support.

    • setEnableDnsHostnames

      @Stability(Stable) public void setEnableDnsHostnames(@Nullable Boolean value)
      Indicates whether the instances launched in the VPC get DNS hostnames.

      If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs. For more information, see DNS attributes in your VPC .

      You can only enable DNS hostnames if you've enabled DNS support.

    • setEnableDnsHostnames

      @Stability(Stable) public void setEnableDnsHostnames(@Nullable IResolvable value)
      Indicates whether the instances launched in the VPC get DNS hostnames.

      If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs. For more information, see DNS attributes in your VPC .

      You can only enable DNS hostnames if you've enabled DNS support.

    • getEnableDnsSupport

      @Stability(Stable) @Nullable public Object getEnableDnsSupport()
      Indicates whether the DNS resolution is supported for the VPC.

      If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default. For more information, see DNS attributes in your VPC .

    • setEnableDnsSupport

      @Stability(Stable) public void setEnableDnsSupport(@Nullable Boolean value)
      Indicates whether the DNS resolution is supported for the VPC.

      If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default. For more information, see DNS attributes in your VPC .

    • setEnableDnsSupport

      @Stability(Stable) public void setEnableDnsSupport(@Nullable IResolvable value)
      Indicates whether the DNS resolution is supported for the VPC.

      If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default. For more information, see DNS attributes in your VPC .

    • getInstanceTenancy

      @Stability(Stable) @Nullable public String getInstanceTenancy()
      The allowed tenancy of instances launched into the VPC.

      • default : An instance launched into the VPC runs on shared hardware by default, unless you explicitly specify a different tenancy during instance launch.
      • dedicated : An instance launched into the VPC runs on dedicated hardware by default, unless you explicitly specify a tenancy of host during instance launch. You cannot specify a tenancy of default during instance launch.

      Updating InstanceTenancy requires no replacement only if you are updating its value from dedicated to default . Updating InstanceTenancy from default to dedicated requires replacement.

    • setInstanceTenancy

      @Stability(Stable) public void setInstanceTenancy(@Nullable String value)
      The allowed tenancy of instances launched into the VPC.

      • default : An instance launched into the VPC runs on shared hardware by default, unless you explicitly specify a different tenancy during instance launch.
      • dedicated : An instance launched into the VPC runs on dedicated hardware by default, unless you explicitly specify a tenancy of host during instance launch. You cannot specify a tenancy of default during instance launch.

      Updating InstanceTenancy requires no replacement only if you are updating its value from dedicated to default . Updating InstanceTenancy from default to dedicated requires replacement.

    • getIpv4IpamPoolId

      @Stability(Stable) @Nullable public String getIpv4IpamPoolId()
      The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR.

      For more information, see What is IPAM? in the Amazon VPC IPAM User Guide .

      You must specify either CidrBlock or Ipv4IpamPoolId .

    • setIpv4IpamPoolId

      @Stability(Stable) public void setIpv4IpamPoolId(@Nullable String value)
      The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR.

      For more information, see What is IPAM? in the Amazon VPC IPAM User Guide .

      You must specify either CidrBlock or Ipv4IpamPoolId .

    • getIpv4NetmaskLength

      @Stability(Stable) @Nullable public Number getIpv4NetmaskLength()
      The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool.

      For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide .

    • setIpv4NetmaskLength

      @Stability(Stable) public void setIpv4NetmaskLength(@Nullable Number value)
      The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool.

      For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide .