:doc:`EC2 <../../ec2>` / Client / create_default_vpc

******************
create_default_vpc
******************



.. py:method:: EC2.Client.create_default_vpc(**kwargs)

  

  Creates a default VPC with a size ``/16`` IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see `Default VPCs <https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html>`__ in the *Amazon VPC User Guide*. You cannot specify the components of the default VPC yourself.

   

  If you deleted your previous default VPC, you can create a default VPC. You cannot have more than one default VPC per Region.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc>`_  


  **Request Syntax**
  ::

    response = client.create_default_vpc(
        DryRun=True|False
    )
    
  :type DryRun: boolean
  :param DryRun: 

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is ``DryRunOperation``. Otherwise, it is ``UnauthorizedOperation``.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'Vpc': {
              'OwnerId': 'string',
              'InstanceTenancy': 'default'|'dedicated'|'host',
              'Ipv6CidrBlockAssociationSet': [
                  {
                      'AssociationId': 'string',
                      'Ipv6CidrBlock': 'string',
                      'Ipv6CidrBlockState': {
                          'State': 'associating'|'associated'|'disassociating'|'disassociated'|'failing'|'failed',
                          'StatusMessage': 'string'
                      },
                      'NetworkBorderGroup': 'string',
                      'Ipv6Pool': 'string',
                      'Ipv6AddressAttribute': 'public'|'private',
                      'IpSource': 'amazon'|'byoip'|'none'
                  },
              ],
              'CidrBlockAssociationSet': [
                  {
                      'AssociationId': 'string',
                      'CidrBlock': 'string',
                      'CidrBlockState': {
                          'State': 'associating'|'associated'|'disassociating'|'disassociated'|'failing'|'failed',
                          'StatusMessage': 'string'
                      }
                  },
              ],
              'IsDefault': True|False,
              'EncryptionControl': {
                  'VpcId': 'string',
                  'VpcEncryptionControlId': 'string',
                  'Mode': 'monitor'|'enforce',
                  'State': 'enforce-in-progress'|'monitor-in-progress'|'enforce-failed'|'monitor-failed'|'deleting'|'deleted'|'available'|'creating'|'delete-failed',
                  'StateMessage': 'string',
                  'ResourceExclusions': {
                      'InternetGateway': {
                          'State': 'enabling'|'enabled'|'disabling'|'disabled',
                          'StateMessage': 'string'
                      },
                      'EgressOnlyInternetGateway': {
                          'State': 'enabling'|'enabled'|'disabling'|'disabled',
                          'StateMessage': 'string'
                      },
                      'NatGateway': {
                          'State': 'enabling'|'enabled'|'disabling'|'disabled',
                          'StateMessage': 'string'
                      },
                      'VirtualPrivateGateway': {
                          'State': 'enabling'|'enabled'|'disabling'|'disabled',
                          'StateMessage': 'string'
                      },
                      'VpcPeering': {
                          'State': 'enabling'|'enabled'|'disabling'|'disabled',
                          'StateMessage': 'string'
                      },
                      'Lambda': {
                          'State': 'enabling'|'enabled'|'disabling'|'disabled',
                          'StateMessage': 'string'
                      },
                      'VpcLattice': {
                          'State': 'enabling'|'enabled'|'disabling'|'disabled',
                          'StateMessage': 'string'
                      },
                      'ElasticFileSystem': {
                          'State': 'enabling'|'enabled'|'disabling'|'disabled',
                          'StateMessage': 'string'
                      }
                  },
                  'Tags': [
                      {
                          'Key': 'string',
                          'Value': 'string'
                      },
                  ]
              },
              'Tags': [
                  {
                      'Key': 'string',
                      'Value': 'string'
                  },
              ],
              'BlockPublicAccessStates': {
                  'InternetGatewayBlockMode': 'off'|'block-bidirectional'|'block-ingress'
              },
              'VpcId': 'string',
              'State': 'pending'|'available',
              'CidrBlock': 'string',
              'DhcpOptionsId': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Vpc** *(dict) --* 

        Information about the VPC.

        
        

        - **OwnerId** *(string) --* 

          The ID of the Amazon Web Services account that owns the VPC.

          
        

        - **InstanceTenancy** *(string) --* 

          The allowed tenancy of instances launched into the VPC.

          
        

        - **Ipv6CidrBlockAssociationSet** *(list) --* 

          Information about the IPv6 CIDR blocks associated with the VPC.

          
          

          - *(dict) --* 

            Describes an IPv6 CIDR block associated with a VPC.

            
            

            - **AssociationId** *(string) --* 

              The association ID for the IPv6 CIDR block.

              
            

            - **Ipv6CidrBlock** *(string) --* 

              The IPv6 CIDR block.

              
            

            - **Ipv6CidrBlockState** *(dict) --* 

              Information about the state of the CIDR block.

              
              

              - **State** *(string) --* 

                The state of the CIDR block.

                
              

              - **StatusMessage** *(string) --* 

                A message about the status of the CIDR block, if applicable.

                
          
            

            - **NetworkBorderGroup** *(string) --* 

              The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses, for example, ``us-east-1-wl1-bos-wlz-1``.

              
            

            - **Ipv6Pool** *(string) --* 

              The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

              
            

            - **Ipv6AddressAttribute** *(string) --* 

              Public IPv6 addresses are those advertised on the internet from Amazon Web Services. Private IP addresses are not and cannot be advertised on the internet from Amazon Web Services.

              
            

            - **IpSource** *(string) --* 

              The source that allocated the IP address space. ``byoip`` or ``amazon`` indicates public IP address space allocated by Amazon or space that you have allocated with Bring your own IP (BYOIP). ``none`` indicates private space.

              
        
      
        

        - **CidrBlockAssociationSet** *(list) --* 

          Information about the IPv4 CIDR blocks associated with the VPC.

          
          

          - *(dict) --* 

            Describes an IPv4 CIDR block associated with a VPC.

            
            

            - **AssociationId** *(string) --* 

              The association ID for the IPv4 CIDR block.

              
            

            - **CidrBlock** *(string) --* 

              The IPv4 CIDR block.

              
            

            - **CidrBlockState** *(dict) --* 

              Information about the state of the CIDR block.

              
              

              - **State** *(string) --* 

                The state of the CIDR block.

                
              

              - **StatusMessage** *(string) --* 

                A message about the status of the CIDR block, if applicable.

                
          
        
      
        

        - **IsDefault** *(boolean) --* 

          Indicates whether the VPC is the default VPC.

          
        

        - **EncryptionControl** *(dict) --* 

          Describes the configuration and state of VPC encryption controls.

           

          For more information, see `Enforce VPC encryption in transit <https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html>`__ in the *Amazon VPC User Guide*.

          
          

          - **VpcId** *(string) --* 

            The ID of the VPC associated with the encryption control configuration.

            
          

          - **VpcEncryptionControlId** *(string) --* 

            The ID of the VPC Encryption Control configuration.

            
          

          - **Mode** *(string) --* 

            The encryption mode for the VPC Encryption Control configuration.

            
          

          - **State** *(string) --* 

            The current state of the VPC Encryption Control configuration.

            
          

          - **StateMessage** *(string) --* 

            A message providing additional information about the encryption control state.

            
          

          - **ResourceExclusions** *(dict) --* 

            Information about resource exclusions for the VPC Encryption Control configuration.

            
            

            - **InternetGateway** *(dict) --* 

              The exclusion configuration for internet gateway traffic.

              
              

              - **State** *(string) --* 

                The current state of the exclusion configuration.

                
              

              - **StateMessage** *(string) --* 

                A message providing additional information about the exclusion state.

                
          
            

            - **EgressOnlyInternetGateway** *(dict) --* 

              The exclusion configuration for egress-only internet gateway traffic.

              
              

              - **State** *(string) --* 

                The current state of the exclusion configuration.

                
              

              - **StateMessage** *(string) --* 

                A message providing additional information about the exclusion state.

                
          
            

            - **NatGateway** *(dict) --* 

              The exclusion configuration for NAT gateway traffic.

              
              

              - **State** *(string) --* 

                The current state of the exclusion configuration.

                
              

              - **StateMessage** *(string) --* 

                A message providing additional information about the exclusion state.

                
          
            

            - **VirtualPrivateGateway** *(dict) --* 

              The exclusion configuration for virtual private gateway traffic.

              
              

              - **State** *(string) --* 

                The current state of the exclusion configuration.

                
              

              - **StateMessage** *(string) --* 

                A message providing additional information about the exclusion state.

                
          
            

            - **VpcPeering** *(dict) --* 

              The exclusion configuration for VPC peering connection traffic.

              
              

              - **State** *(string) --* 

                The current state of the exclusion configuration.

                
              

              - **StateMessage** *(string) --* 

                A message providing additional information about the exclusion state.

                
          
            

            - **Lambda** *(dict) --* 

              The exclusion configuration for Lambda function traffic.

              
              

              - **State** *(string) --* 

                The current state of the exclusion configuration.

                
              

              - **StateMessage** *(string) --* 

                A message providing additional information about the exclusion state.

                
          
            

            - **VpcLattice** *(dict) --* 

              The exclusion configuration for VPC Lattice traffic.

              
              

              - **State** *(string) --* 

                The current state of the exclusion configuration.

                
              

              - **StateMessage** *(string) --* 

                A message providing additional information about the exclusion state.

                
          
            

            - **ElasticFileSystem** *(dict) --* 

              The exclusion configuration for Elastic File System traffic.

              
              

              - **State** *(string) --* 

                The current state of the exclusion configuration.

                
              

              - **StateMessage** *(string) --* 

                A message providing additional information about the exclusion state.

                
          
        
          

          - **Tags** *(list) --* 

            The tags assigned to the VPC Encryption Control configuration.

            
            

            - *(dict) --* 

              Describes a tag.

              
              

              - **Key** *(string) --* 

                The key of the tag.

                 

                Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with ``aws:``.

                
              

              - **Value** *(string) --* 

                The value of the tag.

                 

                Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

                
          
        
      
        

        - **Tags** *(list) --* 

          Any tags assigned to the VPC.

          
          

          - *(dict) --* 

            Describes a tag.

            
            

            - **Key** *(string) --* 

              The key of the tag.

               

              Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with ``aws:``.

              
            

            - **Value** *(string) --* 

              The value of the tag.

               

              Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

              
        
      
        

        - **BlockPublicAccessStates** *(dict) --* 

          The state of VPC Block Public Access (BPA).

          
          

          - **InternetGatewayBlockMode** *(string) --* 

            The mode of VPC BPA.

             

            
            * ``off``: VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.
             
            * ``block-bidirectional``: Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).
             
            * ``block-ingress``: Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.
            

            
      
        

        - **VpcId** *(string) --* 

          The ID of the VPC.

          
        

        - **State** *(string) --* 

          The current state of the VPC.

          
        

        - **CidrBlock** *(string) --* 

          The primary IPv4 CIDR block for the VPC.

          
        

        - **DhcpOptionsId** *(string) --* 

          The ID of the set of DHCP options you've associated with the VPC.

          
    
  