# 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 ._enums import *
from .cluster import *
from .cluster_endpoint import *
from .cluster_instance import *
from .cluster_parameter_group import *
from .cluster_snapshot import *
from .event_subscription import *
from .get_certificate import *
from .get_cluster import *
from .get_cluster_snapshot import *
from .get_engine_version import *
from .get_event_categories import *
from .get_instance import *
from .get_orderable_db_instance import *
from .get_snapshot import *
from .get_subnet_group import *
from .global_cluster import *
from .instance import *
from .option_group import *
from .parameter_group import *
from .proxy import *
from .proxy_default_target_group import *
from .proxy_target import *
from .role_association import *
from .security_group import *
from .snapshot import *
from .subnet_group 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:rds/cluster:Cluster":
                return Cluster(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/clusterEndpoint:ClusterEndpoint":
                return ClusterEndpoint(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/clusterInstance:ClusterInstance":
                return ClusterInstance(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/clusterParameterGroup:ClusterParameterGroup":
                return ClusterParameterGroup(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/clusterSnapshot:ClusterSnapshot":
                return ClusterSnapshot(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/eventSubscription:EventSubscription":
                return EventSubscription(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/globalCluster:GlobalCluster":
                return GlobalCluster(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/instance:Instance":
                return Instance(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/optionGroup:OptionGroup":
                return OptionGroup(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/parameterGroup:ParameterGroup":
                return ParameterGroup(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/proxy:Proxy":
                return Proxy(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup":
                return ProxyDefaultTargetGroup(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/proxyTarget:ProxyTarget":
                return ProxyTarget(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/roleAssociation:RoleAssociation":
                return RoleAssociation(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/securityGroup:SecurityGroup":
                return SecurityGroup(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/snapshot:Snapshot":
                return Snapshot(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "aws:rds/subnetGroup:SubnetGroup":
                return SubnetGroup(name, pulumi.ResourceOptions(urn=urn))
            else:
                raise Exception(f"unknown resource type {typ}")


    _module_instance = Module()
    pulumi.runtime.register_resource_module("aws", "rds/cluster", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/clusterEndpoint", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/clusterInstance", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/clusterParameterGroup", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/clusterSnapshot", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/eventSubscription", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/globalCluster", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/instance", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/optionGroup", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/parameterGroup", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/proxy", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/proxyDefaultTargetGroup", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/proxyTarget", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/roleAssociation", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/securityGroup", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/snapshot", _module_instance)
    pulumi.runtime.register_resource_module("aws", "rds/subnetGroup", _module_instance)

_register_module()
