# 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! ***

# Export this package's modules as members:
from .get_direct_connect_gateway_attachment import *
from .get_peering_attachment import *
from .get_route_table import *
from .get_transit_gateway import *
from .get_vpc_attachment import *
from .get_vpn_attachment import *
from .peering_attachment import *
from .route import *
from .route_table import *
from .route_table_association import *
from .route_table_propagation import *
from .transit_gateway import *
from .vpc_attachment import *
from .vpc_attachment_accepter import *
from ._inputs import *
from . import outputs

def _register_module():
    import pulumi
    from .. import _utilities


    class Module(pulumi.runtime.ResourceModule):
        _version = _utilities.get_semver_version()

        def version(self):
            return Module._version

        def construct(self, name: str, typ: str, urn: str) -> pulumi.Resource:
            if typ == "aws:ec2transitgateway/peeringAttachment:PeeringAttachment":
                return PeeringAttachment(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:ec2transitgateway/route:Route":
                return Route(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:ec2transitgateway/routeTable:RouteTable":
                return RouteTable(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation":
                return RouteTableAssociation(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation":
                return RouteTablePropagation(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:ec2transitgateway/transitGateway:TransitGateway":
                return TransitGateway(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:ec2transitgateway/vpcAttachment:VpcAttachment":
                return VpcAttachment(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter":
                return VpcAttachmentAccepter(name, pulumi.ResourceOptions(urn=urn))
            else:
                raise Exception(f"unknown resource type {typ}")


    _module_instance = Module()
    pulumi.runtime.register_resource_module("aws", "ec2transitgateway/peeringAttachment", _module_instance)
    pulumi.runtime.register_resource_module("aws", "ec2transitgateway/route", _module_instance)
    pulumi.runtime.register_resource_module("aws", "ec2transitgateway/routeTable", _module_instance)
    pulumi.runtime.register_resource_module("aws", "ec2transitgateway/routeTableAssociation", _module_instance)
    pulumi.runtime.register_resource_module("aws", "ec2transitgateway/routeTablePropagation", _module_instance)
    pulumi.runtime.register_resource_module("aws", "ec2transitgateway/transitGateway", _module_instance)
    pulumi.runtime.register_resource_module("aws", "ec2transitgateway/vpcAttachment", _module_instance)
    pulumi.runtime.register_resource_module("aws", "ec2transitgateway/vpcAttachmentAccepter", _module_instance)

_register_module()
