# 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 .bucket import *
from .bucket_access_control import *
from .bucket_acl import *
from .bucket_iam_binding import *
from .bucket_iam_member import *
from .bucket_iam_policy import *
from .bucket_object import *
from .default_object_access_control import *
from .default_object_acl import *
from .get_bucket_object import *
from .get_bucket_object_content import *
from .get_object_signed_url import *
from .get_project_service_account import *
from .get_transfer_project_servie_account import *
from .hmac_key import *
from .notification import *
from .object_access_control import *
from .object_acl import *
from .transfer_job 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 == "gcp:storage/bucket:Bucket":
                return Bucket(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/bucketACL:BucketACL":
                return BucketACL(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/bucketAccessControl:BucketAccessControl":
                return BucketAccessControl(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/bucketIAMBinding:BucketIAMBinding":
                return BucketIAMBinding(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/bucketIAMMember:BucketIAMMember":
                return BucketIAMMember(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/bucketIAMPolicy:BucketIAMPolicy":
                return BucketIAMPolicy(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/bucketObject:BucketObject":
                return BucketObject(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/defaultObjectACL:DefaultObjectACL":
                return DefaultObjectACL(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/defaultObjectAccessControl:DefaultObjectAccessControl":
                return DefaultObjectAccessControl(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/hmacKey:HmacKey":
                return HmacKey(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/notification:Notification":
                return Notification(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/objectACL:ObjectACL":
                return ObjectACL(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/objectAccessControl:ObjectAccessControl":
                return ObjectAccessControl(name, pulumi.ResourceOptions(urn=urn))
            elif typ == "gcp:storage/transferJob:TransferJob":
                return TransferJob(name, pulumi.ResourceOptions(urn=urn))
            else:
                raise Exception(f"unknown resource type {typ}")


    _module_instance = Module()
    pulumi.runtime.register_resource_module("gcp", "storage/bucket", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/bucketACL", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/bucketAccessControl", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/bucketIAMBinding", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/bucketIAMMember", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/bucketIAMPolicy", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/bucketObject", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/defaultObjectACL", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/defaultObjectAccessControl", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/hmacKey", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/notification", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/objectACL", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/objectAccessControl", _module_instance)
    pulumi.runtime.register_resource_module("gcp", "storage/transferJob", _module_instance)

_register_module()
