# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import pulumi
import pulumi.runtime

class DefaultVpc(pulumi.CustomResource):
    """
    Provides a resource to manage the [default AWS VPC](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)
    in the current region.
    
    For AWS accounts created after 2013-12-04, each region comes with a Default VPC.
    **This is an advanced resource**, and has special caveats to be aware of when
    using it. Please read this document in its entirety before using this resource.
    
    The `aws_default_vpc` behaves differently from normal resources, in that
    Terraform does not _create_ this resource, but instead "adopts" it
    into management. 
    """
    def __init__(__self__, __name__, __opts__=None, enable_classiclink=None, enable_classiclink_dns_support=None, enable_dns_hostnames=None, enable_dns_support=None, tags=None):
        """Create a DefaultVpc resource with the given unique name, props, and options."""
        if not __name__:
            raise TypeError('Missing resource name argument (for URN creation)')
        if not isinstance(__name__, basestring):
            raise TypeError('Expected resource name to be a string')
        if __opts__ and not isinstance(__opts__, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')

        __props__ = dict()

        if enable_classiclink and not isinstance(enable_classiclink, bool):
            raise TypeError('Expected property enable_classiclink to be a bool')
        __self__.enable_classiclink = enable_classiclink
        """
        A boolean flag to enable/disable ClassicLink 
        for the VPC. Only valid in regions and accounts that support EC2 Classic.
        See the [ClassicLink documentation][1] for more information. Defaults false.
        """
        __props__['enableClassiclink'] = enable_classiclink

        if enable_classiclink_dns_support and not isinstance(enable_classiclink_dns_support, bool):
            raise TypeError('Expected property enable_classiclink_dns_support to be a bool')
        __self__.enable_classiclink_dns_support = enable_classiclink_dns_support
        __props__['enableClassiclinkDnsSupport'] = enable_classiclink_dns_support

        if enable_dns_hostnames and not isinstance(enable_dns_hostnames, bool):
            raise TypeError('Expected property enable_dns_hostnames to be a bool')
        __self__.enable_dns_hostnames = enable_dns_hostnames
        """
        A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
        """
        __props__['enableDnsHostnames'] = enable_dns_hostnames

        if enable_dns_support and not isinstance(enable_dns_support, bool):
            raise TypeError('Expected property enable_dns_support to be a bool')
        __self__.enable_dns_support = enable_dns_support
        """
        A boolean flag to enable/disable DNS support in the VPC. Defaults true.
        """
        __props__['enableDnsSupport'] = enable_dns_support

        if tags and not isinstance(tags, dict):
            raise TypeError('Expected property tags to be a dict')
        __self__.tags = tags
        """
        A mapping of tags to assign to the resource.
        """
        __props__['tags'] = tags

        __self__.assign_generated_ipv6_cidr_block = pulumi.runtime.UNKNOWN
        """
        Whether or not an Amazon-provided IPv6 CIDR 
        block with a /56 prefix length for the VPC was assigned
        """
        __self__.cidr_block = pulumi.runtime.UNKNOWN
        """
        The CIDR block of the VPC
        """
        __self__.default_network_acl_id = pulumi.runtime.UNKNOWN
        """
        The ID of the network ACL created by default on VPC creation
        """
        __self__.default_route_table_id = pulumi.runtime.UNKNOWN
        """
        The ID of the route table created by default on VPC creation
        """
        __self__.default_security_group_id = pulumi.runtime.UNKNOWN
        """
        The ID of the security group created by default on VPC creation
        """
        __self__.dhcp_options_id = pulumi.runtime.UNKNOWN
        __self__.instance_tenancy = pulumi.runtime.UNKNOWN
        """
        Tenancy of instances spin up within VPC.
        """
        __self__.ipv6_association_id = pulumi.runtime.UNKNOWN
        """
        The association ID for the IPv6 CIDR block of the VPC
        """
        __self__.ipv6_cidr_block = pulumi.runtime.UNKNOWN
        """
        The IPv6 CIDR block of the VPC
        """
        __self__.main_route_table_id = pulumi.runtime.UNKNOWN
        """
        The ID of the main route table associated with
        this VPC. Note that you can change a VPC's main route table by using an
        [`aws_main_route_table_association`](/docs/providers/aws/r/main_route_table_assoc.html)
        """

        super(DefaultVpc, __self__).__init__(
            'aws:ec2/defaultVpc:DefaultVpc',
            __name__,
            __props__,
            __opts__)

    def set_outputs(self, outs):
        if 'assignGeneratedIpv6CidrBlock' in outs:
            self.assign_generated_ipv6_cidr_block = outs['assignGeneratedIpv6CidrBlock']
        if 'cidrBlock' in outs:
            self.cidr_block = outs['cidrBlock']
        if 'defaultNetworkAclId' in outs:
            self.default_network_acl_id = outs['defaultNetworkAclId']
        if 'defaultRouteTableId' in outs:
            self.default_route_table_id = outs['defaultRouteTableId']
        if 'defaultSecurityGroupId' in outs:
            self.default_security_group_id = outs['defaultSecurityGroupId']
        if 'dhcpOptionsId' in outs:
            self.dhcp_options_id = outs['dhcpOptionsId']
        if 'enableClassiclink' in outs:
            self.enable_classiclink = outs['enableClassiclink']
        if 'enableClassiclinkDnsSupport' in outs:
            self.enable_classiclink_dns_support = outs['enableClassiclinkDnsSupport']
        if 'enableDnsHostnames' in outs:
            self.enable_dns_hostnames = outs['enableDnsHostnames']
        if 'enableDnsSupport' in outs:
            self.enable_dns_support = outs['enableDnsSupport']
        if 'instanceTenancy' in outs:
            self.instance_tenancy = outs['instanceTenancy']
        if 'ipv6AssociationId' in outs:
            self.ipv6_association_id = outs['ipv6AssociationId']
        if 'ipv6CidrBlock' in outs:
            self.ipv6_cidr_block = outs['ipv6CidrBlock']
        if 'mainRouteTableId' in outs:
            self.main_route_table_id = outs['mainRouteTableId']
        if 'tags' in outs:
            self.tags = outs['tags']

# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import pulumi
import pulumi.runtime

class DefaultVpc(pulumi.CustomResource):
    """
    Provides a resource to manage the [default AWS VPC](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)
    in the current region.
    
    For AWS accounts created after 2013-12-04, each region comes with a Default VPC.
    **This is an advanced resource**, and has special caveats to be aware of when
    using it. Please read this document in its entirety before using this resource.
    
    The `aws_default_vpc` behaves differently from normal resources, in that
    Terraform does not _create_ this resource, but instead "adopts" it
    into management. 
    """
    def __init__(__self__, __name__, __opts__=None, enable_classiclink=None, enable_classiclink_dns_support=None, enable_dns_hostnames=None, enable_dns_support=None, tags=None):
        """Create a DefaultVpc resource with the given unique name, props, and options."""
        if not __name__:
            raise TypeError('Missing resource name argument (for URN creation)')
        if not isinstance(__name__, basestring):
            raise TypeError('Expected resource name to be a string')
        if __opts__ and not isinstance(__opts__, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')

        __props__ = dict()

        if enable_classiclink and not isinstance(enable_classiclink, bool):
            raise TypeError('Expected property enable_classiclink to be a bool')
        __self__.enable_classiclink = enable_classiclink
        """
        A boolean flag to enable/disable ClassicLink 
        for the VPC. Only valid in regions and accounts that support EC2 Classic.
        See the [ClassicLink documentation][1] for more information. Defaults false.
        """
        __props__['enableClassiclink'] = enable_classiclink

        if enable_classiclink_dns_support and not isinstance(enable_classiclink_dns_support, bool):
            raise TypeError('Expected property enable_classiclink_dns_support to be a bool')
        __self__.enable_classiclink_dns_support = enable_classiclink_dns_support
        __props__['enableClassiclinkDnsSupport'] = enable_classiclink_dns_support

        if enable_dns_hostnames and not isinstance(enable_dns_hostnames, bool):
            raise TypeError('Expected property enable_dns_hostnames to be a bool')
        __self__.enable_dns_hostnames = enable_dns_hostnames
        """
        A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.
        """
        __props__['enableDnsHostnames'] = enable_dns_hostnames

        if enable_dns_support and not isinstance(enable_dns_support, bool):
            raise TypeError('Expected property enable_dns_support to be a bool')
        __self__.enable_dns_support = enable_dns_support
        """
        A boolean flag to enable/disable DNS support in the VPC. Defaults true.
        """
        __props__['enableDnsSupport'] = enable_dns_support

        if tags and not isinstance(tags, dict):
            raise TypeError('Expected property tags to be a dict')
        __self__.tags = tags
        """
        A mapping of tags to assign to the resource.
        """
        __props__['tags'] = tags

        __self__.assign_generated_ipv6_cidr_block = pulumi.runtime.UNKNOWN
        """
        Whether or not an Amazon-provided IPv6 CIDR 
        block with a /56 prefix length for the VPC was assigned
        """
        __self__.cidr_block = pulumi.runtime.UNKNOWN
        """
        The CIDR block of the VPC
        """
        __self__.default_network_acl_id = pulumi.runtime.UNKNOWN
        """
        The ID of the network ACL created by default on VPC creation
        """
        __self__.default_route_table_id = pulumi.runtime.UNKNOWN
        """
        The ID of the route table created by default on VPC creation
        """
        __self__.default_security_group_id = pulumi.runtime.UNKNOWN
        """
        The ID of the security group created by default on VPC creation
        """
        __self__.dhcp_options_id = pulumi.runtime.UNKNOWN
        __self__.instance_tenancy = pulumi.runtime.UNKNOWN
        """
        Tenancy of instances spin up within VPC.
        """
        __self__.ipv6_association_id = pulumi.runtime.UNKNOWN
        """
        The association ID for the IPv6 CIDR block of the VPC
        """
        __self__.ipv6_cidr_block = pulumi.runtime.UNKNOWN
        """
        The IPv6 CIDR block of the VPC
        """
        __self__.main_route_table_id = pulumi.runtime.UNKNOWN
        """
        The ID of the main route table associated with
        this VPC. Note that you can change a VPC's main route table by using an
        [`aws_main_route_table_association`](/docs/providers/aws/r/main_route_table_assoc.html)
        """

        super(DefaultVpc, __self__).__init__(
            'aws:ec2/defaultVpc:DefaultVpc',
            __name__,
            __props__,
            __opts__)

    def set_outputs(self, outs):
        if 'assignGeneratedIpv6CidrBlock' in outs:
            self.assign_generated_ipv6_cidr_block = outs['assignGeneratedIpv6CidrBlock']
        if 'cidrBlock' in outs:
            self.cidr_block = outs['cidrBlock']
        if 'defaultNetworkAclId' in outs:
            self.default_network_acl_id = outs['defaultNetworkAclId']
        if 'defaultRouteTableId' in outs:
            self.default_route_table_id = outs['defaultRouteTableId']
        if 'defaultSecurityGroupId' in outs:
            self.default_security_group_id = outs['defaultSecurityGroupId']
        if 'dhcpOptionsId' in outs:
            self.dhcp_options_id = outs['dhcpOptionsId']
        if 'enableClassiclink' in outs:
            self.enable_classiclink = outs['enableClassiclink']
        if 'enableClassiclinkDnsSupport' in outs:
            self.enable_classiclink_dns_support = outs['enableClassiclinkDnsSupport']
        if 'enableDnsHostnames' in outs:
            self.enable_dns_hostnames = outs['enableDnsHostnames']
        if 'enableDnsSupport' in outs:
            self.enable_dns_support = outs['enableDnsSupport']
        if 'instanceTenancy' in outs:
            self.instance_tenancy = outs['instanceTenancy']
        if 'ipv6AssociationId' in outs:
            self.ipv6_association_id = outs['ipv6AssociationId']
        if 'ipv6CidrBlock' in outs:
            self.ipv6_cidr_block = outs['ipv6CidrBlock']
        if 'mainRouteTableId' in outs:
            self.main_route_table_id = outs['mainRouteTableId']
        if 'tags' in outs:
            self.tags = outs['tags']

# coding=utf-8 # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** # *** Do not edit by hand unless you're certain you know what you are doing! *** Provides a resource to manage the [default AWS VPC](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)     in the current region.          For AWS accounts created after 2013-12-04, each region comes with a Default VPC.     **This is an advanced resource**, and has special caveats to be aware of when     using it. Please read this document in its entirety before using this resource.          The `aws_default_vpc` behaves differently from normal resources, in that     Terraform does not _create_ this resource, but instead "adopts" it     into management. Create a DefaultVpc resource with the given unique name, props, and options. A boolean flag to enable/disable ClassicLink          for the VPC. Only valid in regions and accounts that support EC2 Classic.         See the [ClassicLink documentation][1] for more information. Defaults false. A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false. A boolean flag to enable/disable DNS support in the VPC. Defaults true. A mapping of tags to assign to the resource. Whether or not an Amazon-provided IPv6 CIDR          block with a /56 prefix length for the VPC was assigned The CIDR block of the VPC The ID of the network ACL created by default on VPC creation The ID of the route table created by default on VPC creation The ID of the security group created by default on VPC creation Tenancy of instances spin up within VPC. The association ID for the IPv6 CIDR block of the VPC The IPv6 CIDR block of the VPC The ID of the main route table associated with         this VPC. Note that you can change a VPC's main route table by using an         [`aws_main_route_table_association`](/docs/providers/aws/r/main_route_table_assoc.html)