"use strict";
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TablePolicy = exports.TableBucketPolicy = exports.TableBucket = exports.Table = exports.Namespace = exports.getTablePolicyOutput = exports.getTablePolicy = exports.getTableBucketPolicyOutput = exports.getTableBucketPolicy = exports.getTableBucketOutput = exports.getTableBucket = exports.getTableOutput = exports.getTable = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
exports.getTable = null;
exports.getTableOutput = null;
utilities.lazyLoad(exports, ["getTable", "getTableOutput"], () => require("./getTable"));
exports.getTableBucket = null;
exports.getTableBucketOutput = null;
utilities.lazyLoad(exports, ["getTableBucket", "getTableBucketOutput"], () => require("./getTableBucket"));
exports.getTableBucketPolicy = null;
exports.getTableBucketPolicyOutput = null;
utilities.lazyLoad(exports, ["getTableBucketPolicy", "getTableBucketPolicyOutput"], () => require("./getTableBucketPolicy"));
exports.getTablePolicy = null;
exports.getTablePolicyOutput = null;
utilities.lazyLoad(exports, ["getTablePolicy", "getTablePolicyOutput"], () => require("./getTablePolicy"));
exports.Namespace = null;
utilities.lazyLoad(exports, ["Namespace"], () => require("./namespace"));
exports.Table = null;
utilities.lazyLoad(exports, ["Table"], () => require("./table"));
exports.TableBucket = null;
utilities.lazyLoad(exports, ["TableBucket"], () => require("./tableBucket"));
exports.TableBucketPolicy = null;
utilities.lazyLoad(exports, ["TableBucketPolicy"], () => require("./tableBucketPolicy"));
exports.TablePolicy = null;
utilities.lazyLoad(exports, ["TablePolicy"], () => require("./tablePolicy"));
// Export enums:
__exportStar(require("../types/enums/s3tables"), exports);
const _module = {
    version: utilities.getVersion(),
    construct: (name, type, urn) => {
        switch (type) {
            case "aws-native:s3tables:Namespace":
                return new exports.Namespace(name, undefined, { urn });
            case "aws-native:s3tables:Table":
                return new exports.Table(name, undefined, { urn });
            case "aws-native:s3tables:TableBucket":
                return new exports.TableBucket(name, undefined, { urn });
            case "aws-native:s3tables:TableBucketPolicy":
                return new exports.TableBucketPolicy(name, undefined, { urn });
            case "aws-native:s3tables:TablePolicy":
                return new exports.TablePolicy(name, undefined, { urn });
            default:
                throw new Error(`unknown resource type ${type}`);
        }
    },
};
pulumi.runtime.registerResourceModule("aws-native", "s3tables", _module);
//# sourceMappingURL=index.js.map