"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.StaticIp = exports.LoadBalancerTlsCertificate = exports.LoadBalancer = exports.InstanceSnapshot = exports.Instance = exports.getStaticIpOutput = exports.getStaticIp = exports.getLoadBalancerTlsCertificateOutput = exports.getLoadBalancerTlsCertificate = exports.getLoadBalancerOutput = exports.getLoadBalancer = exports.getInstanceSnapshotOutput = exports.getInstanceSnapshot = exports.getInstanceOutput = exports.getInstance = exports.getDiskOutput = exports.getDisk = exports.getDatabaseOutput = exports.getDatabase = exports.getContainerOutput = exports.getContainer = exports.getCertificateOutput = exports.getCertificate = exports.getBucketOutput = exports.getBucket = exports.getAlarmOutput = exports.getAlarm = exports.Disk = exports.Database = exports.Container = exports.Certificate = exports.Bucket = exports.Alarm = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
exports.Alarm = null;
utilities.lazyLoad(exports, ["Alarm"], () => require("./alarm"));
exports.Bucket = null;
utilities.lazyLoad(exports, ["Bucket"], () => require("./bucket"));
exports.Certificate = null;
utilities.lazyLoad(exports, ["Certificate"], () => require("./certificate"));
exports.Container = null;
utilities.lazyLoad(exports, ["Container"], () => require("./container"));
exports.Database = null;
utilities.lazyLoad(exports, ["Database"], () => require("./database"));
exports.Disk = null;
utilities.lazyLoad(exports, ["Disk"], () => require("./disk"));
exports.getAlarm = null;
exports.getAlarmOutput = null;
utilities.lazyLoad(exports, ["getAlarm", "getAlarmOutput"], () => require("./getAlarm"));
exports.getBucket = null;
exports.getBucketOutput = null;
utilities.lazyLoad(exports, ["getBucket", "getBucketOutput"], () => require("./getBucket"));
exports.getCertificate = null;
exports.getCertificateOutput = null;
utilities.lazyLoad(exports, ["getCertificate", "getCertificateOutput"], () => require("./getCertificate"));
exports.getContainer = null;
exports.getContainerOutput = null;
utilities.lazyLoad(exports, ["getContainer", "getContainerOutput"], () => require("./getContainer"));
exports.getDatabase = null;
exports.getDatabaseOutput = null;
utilities.lazyLoad(exports, ["getDatabase", "getDatabaseOutput"], () => require("./getDatabase"));
exports.getDisk = null;
exports.getDiskOutput = null;
utilities.lazyLoad(exports, ["getDisk", "getDiskOutput"], () => require("./getDisk"));
exports.getInstance = null;
exports.getInstanceOutput = null;
utilities.lazyLoad(exports, ["getInstance", "getInstanceOutput"], () => require("./getInstance"));
exports.getInstanceSnapshot = null;
exports.getInstanceSnapshotOutput = null;
utilities.lazyLoad(exports, ["getInstanceSnapshot", "getInstanceSnapshotOutput"], () => require("./getInstanceSnapshot"));
exports.getLoadBalancer = null;
exports.getLoadBalancerOutput = null;
utilities.lazyLoad(exports, ["getLoadBalancer", "getLoadBalancerOutput"], () => require("./getLoadBalancer"));
exports.getLoadBalancerTlsCertificate = null;
exports.getLoadBalancerTlsCertificateOutput = null;
utilities.lazyLoad(exports, ["getLoadBalancerTlsCertificate", "getLoadBalancerTlsCertificateOutput"], () => require("./getLoadBalancerTlsCertificate"));
exports.getStaticIp = null;
exports.getStaticIpOutput = null;
utilities.lazyLoad(exports, ["getStaticIp", "getStaticIpOutput"], () => require("./getStaticIp"));
exports.Instance = null;
utilities.lazyLoad(exports, ["Instance"], () => require("./instance"));
exports.InstanceSnapshot = null;
utilities.lazyLoad(exports, ["InstanceSnapshot"], () => require("./instanceSnapshot"));
exports.LoadBalancer = null;
utilities.lazyLoad(exports, ["LoadBalancer"], () => require("./loadBalancer"));
exports.LoadBalancerTlsCertificate = null;
utilities.lazyLoad(exports, ["LoadBalancerTlsCertificate"], () => require("./loadBalancerTlsCertificate"));
exports.StaticIp = null;
utilities.lazyLoad(exports, ["StaticIp"], () => require("./staticIp"));
// Export enums:
__exportStar(require("../types/enums/lightsail"), exports);
const _module = {
    version: utilities.getVersion(),
    construct: (name, type, urn) => {
        switch (type) {
            case "aws-native:lightsail:Alarm":
                return new exports.Alarm(name, undefined, { urn });
            case "aws-native:lightsail:Bucket":
                return new exports.Bucket(name, undefined, { urn });
            case "aws-native:lightsail:Certificate":
                return new exports.Certificate(name, undefined, { urn });
            case "aws-native:lightsail:Container":
                return new exports.Container(name, undefined, { urn });
            case "aws-native:lightsail:Database":
                return new exports.Database(name, undefined, { urn });
            case "aws-native:lightsail:Disk":
                return new exports.Disk(name, undefined, { urn });
            case "aws-native:lightsail:Instance":
                return new exports.Instance(name, undefined, { urn });
            case "aws-native:lightsail:InstanceSnapshot":
                return new exports.InstanceSnapshot(name, undefined, { urn });
            case "aws-native:lightsail:LoadBalancer":
                return new exports.LoadBalancer(name, undefined, { urn });
            case "aws-native:lightsail:LoadBalancerTlsCertificate":
                return new exports.LoadBalancerTlsCertificate(name, undefined, { urn });
            case "aws-native:lightsail:StaticIp":
                return new exports.StaticIp(name, undefined, { urn });
            default:
                throw new Error(`unknown resource type ${type}`);
        }
    },
};
pulumi.runtime.registerResourceModule("aws-native", "lightsail", _module);
//# sourceMappingURL=index.js.map