# 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 .api_key import *
from .data_feed import *
from .data_source import *
from .get_dns_sec import *
from .get_record import *
from .get_zone import *
from .monitoring_job import *
from .notify_list import *
from .provider import *
from .record import *
from .team import *
from .user import *
from .zone import *
from ._inputs import *
from . import outputs

# Make subpackages available:
from . import (
    config,
)

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 == "ns1:index/aPIKey:APIKey":
                return APIKey(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "ns1:index/dataFeed:DataFeed":
                return DataFeed(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "ns1:index/dataSource:DataSource":
                return DataSource(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "ns1:index/monitoringJob:MonitoringJob":
                return MonitoringJob(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "ns1:index/notifyList:NotifyList":
                return NotifyList(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "ns1:index/record:Record":
                return Record(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "ns1:index/team:Team":
                return Team(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "ns1:index/user:User":
                return User(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "ns1:index/zone:Zone":
                return Zone(name, pulumi.ResourceOptions(urn=urn))
            else:
                raise Exception(f"unknown resource type {typ}")


    _module_instance = Module()
    pulumi.runtime.register_resource_module("ns1", "index/aPIKey", _module_instance)
    pulumi.runtime.register_resource_module("ns1", "index/dataFeed", _module_instance)
    pulumi.runtime.register_resource_module("ns1", "index/dataSource", _module_instance)
    pulumi.runtime.register_resource_module("ns1", "index/monitoringJob", _module_instance)
    pulumi.runtime.register_resource_module("ns1", "index/notifyList", _module_instance)
    pulumi.runtime.register_resource_module("ns1", "index/record", _module_instance)
    pulumi.runtime.register_resource_module("ns1", "index/team", _module_instance)
    pulumi.runtime.register_resource_module("ns1", "index/user", _module_instance)
    pulumi.runtime.register_resource_module("ns1", "index/zone", _module_instance)


    class Package(pulumi.runtime.ResourcePackage):
        _version = _utilities.get_semver_version()

        def version(self):
            return Package._version

        def construct_provider(self, name: str, typ: str, urn: str) -> pulumi.ProviderResource:
            if typ != "pulumi:providers:ns1":
                raise Exception(f"unknown provider type {typ}")
            return Provider(name, pulumi.ResourceOptions(urn=urn))


    pulumi.runtime.register_resource_package("ns1", Package())

_register_module()
