import { Value } from '../../cloudformation/Value';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  Associates a CIDR block with your VPC. You can only associate a single IPv6 CIDR block with your VPC. The IPv6 CIDR block size is fixed at /56.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html">the AWS Docs</a>
*/
export type VPCCidrBlock = AwsResource<'AWS::EC2::VPCCidrBlock', VPCCidrBlockProperties>;
export declare function vPCCidrBlock(vPCCidrBlockProps: VPCCidrBlockProperties): VPCCidrBlock;
/**
  Associates a CIDR block with your VPC. You can only associate a single IPv6 CIDR block with your VPC. The IPv6 CIDR block size is fixed at /56.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html">the AWS Docs</a>
*/
export interface VPCCidrBlockProperties {
    /** <code>AmazonProvidedIpv6CidrBlock</code>  <a name="cfn-ec2-vpccidrblock-amazonprovidedipv6cidrblock"></a>
  Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    amazonProvidedIpv6CidrBlock?: Value<boolean>;
    /** <code>CidrBlock</code>  <a name="cfn-ec2-vpccidrblock-cidrblock"></a>
  An IPv4 CIDR block to associate with the VPC.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    cidrBlock?: Value<string>;
    /** <code>Ipv4IpamPoolId</code>  <a name="cfn-ec2-vpccidrblock-ipv4ipampoolid"></a>
  Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see <a href="https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html">What is IPAM?</a> in the
  Amazon VPC IPAM User Guide: br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    ipv4IpamPoolId?: Value<string>;
    /** <code>Ipv4NetmaskLength</code>  <a name="cfn-ec2-vpccidrblock-ipv4netmasklength"></a>
  The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see <a href="https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html">What is IPAM?</a> in the
  Amazon VPC IPAM User Guide: br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    ipv4NetmaskLength?: Value<number>;
    /** <code>Ipv6CidrBlock</code>  <a name="cfn-ec2-vpccidrblock-ipv6cidrblock"></a>
  An IPv6 CIDR block from the IPv6 address pool. You must also specify <code>Ipv6Pool</code> in the request.<br />
  To let Amazon choose the IPv6 CIDR block for you, omit this parameter.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    ipv6CidrBlock?: Value<string>;
    /** <code>Ipv6IpamPoolId</code>  <a name="cfn-ec2-vpccidrblock-ipv6ipampoolid"></a>
  Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see <a href="https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html">What is IPAM?</a> in the
  Amazon VPC IPAM User Guide: br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    ipv6IpamPoolId?: Value<string>;
    /** <code>Ipv6NetmaskLength</code>  <a name="cfn-ec2-vpccidrblock-ipv6netmasklength"></a>
  The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see <a href="https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html">What is IPAM?</a> in the
  Amazon VPC IPAM User Guide: br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    ipv6NetmaskLength?: Value<number>;
    /** <code>Ipv6Pool</code>  <a name="cfn-ec2-vpccidrblock-ipv6pool"></a>
  The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    ipv6Pool?: Value<string>;
    /** <code>VpcId</code>  <a name="cfn-ec2-vpccidrblock-vpcid"></a>
  The ID of the VPC.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    vpcId: Value<string>;
}
