"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.VpcEndpoint = exports.SecurityPolicy = exports.SecurityConfig = exports.LifecyclePolicy = exports.Index = exports.getVpcEndpointOutput = exports.getVpcEndpoint = exports.getSecurityPolicyOutput = exports.getSecurityPolicy = exports.getSecurityConfigOutput = exports.getSecurityConfig = exports.getLifecyclePolicyOutput = exports.getLifecyclePolicy = exports.getIndexOutput = exports.getIndex = exports.getCollectionOutput = exports.getCollection = exports.getAccessPolicyOutput = exports.getAccessPolicy = exports.Collection = exports.AccessPolicy = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
exports.AccessPolicy = null;
utilities.lazyLoad(exports, ["AccessPolicy"], () => require("./accessPolicy"));
exports.Collection = null;
utilities.lazyLoad(exports, ["Collection"], () => require("./collection"));
exports.getAccessPolicy = null;
exports.getAccessPolicyOutput = null;
utilities.lazyLoad(exports, ["getAccessPolicy", "getAccessPolicyOutput"], () => require("./getAccessPolicy"));
exports.getCollection = null;
exports.getCollectionOutput = null;
utilities.lazyLoad(exports, ["getCollection", "getCollectionOutput"], () => require("./getCollection"));
exports.getIndex = null;
exports.getIndexOutput = null;
utilities.lazyLoad(exports, ["getIndex", "getIndexOutput"], () => require("./getIndex"));
exports.getLifecyclePolicy = null;
exports.getLifecyclePolicyOutput = null;
utilities.lazyLoad(exports, ["getLifecyclePolicy", "getLifecyclePolicyOutput"], () => require("./getLifecyclePolicy"));
exports.getSecurityConfig = null;
exports.getSecurityConfigOutput = null;
utilities.lazyLoad(exports, ["getSecurityConfig", "getSecurityConfigOutput"], () => require("./getSecurityConfig"));
exports.getSecurityPolicy = null;
exports.getSecurityPolicyOutput = null;
utilities.lazyLoad(exports, ["getSecurityPolicy", "getSecurityPolicyOutput"], () => require("./getSecurityPolicy"));
exports.getVpcEndpoint = null;
exports.getVpcEndpointOutput = null;
utilities.lazyLoad(exports, ["getVpcEndpoint", "getVpcEndpointOutput"], () => require("./getVpcEndpoint"));
exports.Index = null;
utilities.lazyLoad(exports, ["Index"], () => require("./index_"));
exports.LifecyclePolicy = null;
utilities.lazyLoad(exports, ["LifecyclePolicy"], () => require("./lifecyclePolicy"));
exports.SecurityConfig = null;
utilities.lazyLoad(exports, ["SecurityConfig"], () => require("./securityConfig"));
exports.SecurityPolicy = null;
utilities.lazyLoad(exports, ["SecurityPolicy"], () => require("./securityPolicy"));
exports.VpcEndpoint = null;
utilities.lazyLoad(exports, ["VpcEndpoint"], () => require("./vpcEndpoint"));
// Export enums:
__exportStar(require("../types/enums/opensearchserverless"), exports);
const _module = {
    version: utilities.getVersion(),
    construct: (name, type, urn) => {
        switch (type) {
            case "aws-native:opensearchserverless:AccessPolicy":
                return new exports.AccessPolicy(name, undefined, { urn });
            case "aws-native:opensearchserverless:Collection":
                return new exports.Collection(name, undefined, { urn });
            case "aws-native:opensearchserverless:Index":
                return new exports.Index(name, undefined, { urn });
            case "aws-native:opensearchserverless:LifecyclePolicy":
                return new exports.LifecyclePolicy(name, undefined, { urn });
            case "aws-native:opensearchserverless:SecurityConfig":
                return new exports.SecurityConfig(name, undefined, { urn });
            case "aws-native:opensearchserverless:SecurityPolicy":
                return new exports.SecurityPolicy(name, undefined, { urn });
            case "aws-native:opensearchserverless:VpcEndpoint":
                return new exports.VpcEndpoint(name, undefined, { urn });
            default:
                throw new Error(`unknown resource type ${type}`);
        }
    },
};
pulumi.runtime.registerResourceModule("aws-native", "opensearchserverless", _module);
//# sourceMappingURL=index.js.map