"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.OTelEnrichment = exports.MetricStream = exports.getOTelEnrichmentOutput = exports.getOTelEnrichment = exports.getMetricStreamOutput = exports.getMetricStream = exports.getDashboardOutput = exports.getDashboard = exports.getCompositeAlarmOutput = exports.getCompositeAlarm = exports.getAlarmMuteRuleOutput = exports.getAlarmMuteRule = exports.getAlarmOutput = exports.getAlarm = exports.Dashboard = exports.CompositeAlarm = exports.AlarmMuteRule = exports.Alarm = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
exports.Alarm = null;
utilities.lazyLoad(exports, ["Alarm"], () => require("./alarm"));
exports.AlarmMuteRule = null;
utilities.lazyLoad(exports, ["AlarmMuteRule"], () => require("./alarmMuteRule"));
exports.CompositeAlarm = null;
utilities.lazyLoad(exports, ["CompositeAlarm"], () => require("./compositeAlarm"));
exports.Dashboard = null;
utilities.lazyLoad(exports, ["Dashboard"], () => require("./dashboard"));
exports.getAlarm = null;
exports.getAlarmOutput = null;
utilities.lazyLoad(exports, ["getAlarm", "getAlarmOutput"], () => require("./getAlarm"));
exports.getAlarmMuteRule = null;
exports.getAlarmMuteRuleOutput = null;
utilities.lazyLoad(exports, ["getAlarmMuteRule", "getAlarmMuteRuleOutput"], () => require("./getAlarmMuteRule"));
exports.getCompositeAlarm = null;
exports.getCompositeAlarmOutput = null;
utilities.lazyLoad(exports, ["getCompositeAlarm", "getCompositeAlarmOutput"], () => require("./getCompositeAlarm"));
exports.getDashboard = null;
exports.getDashboardOutput = null;
utilities.lazyLoad(exports, ["getDashboard", "getDashboardOutput"], () => require("./getDashboard"));
exports.getMetricStream = null;
exports.getMetricStreamOutput = null;
utilities.lazyLoad(exports, ["getMetricStream", "getMetricStreamOutput"], () => require("./getMetricStream"));
exports.getOTelEnrichment = null;
exports.getOTelEnrichmentOutput = null;
utilities.lazyLoad(exports, ["getOTelEnrichment", "getOTelEnrichmentOutput"], () => require("./getOTelEnrichment"));
exports.MetricStream = null;
utilities.lazyLoad(exports, ["MetricStream"], () => require("./metricStream"));
exports.OTelEnrichment = null;
utilities.lazyLoad(exports, ["OTelEnrichment"], () => require("./otelEnrichment"));
// Export enums:
__exportStar(require("../types/enums/cloudwatch"), exports);
const _module = {
    version: utilities.getVersion(),
    construct: (name, type, urn) => {
        switch (type) {
            case "aws-native:cloudwatch:Alarm":
                return new exports.Alarm(name, undefined, { urn });
            case "aws-native:cloudwatch:AlarmMuteRule":
                return new exports.AlarmMuteRule(name, undefined, { urn });
            case "aws-native:cloudwatch:CompositeAlarm":
                return new exports.CompositeAlarm(name, undefined, { urn });
            case "aws-native:cloudwatch:Dashboard":
                return new exports.Dashboard(name, undefined, { urn });
            case "aws-native:cloudwatch:MetricStream":
                return new exports.MetricStream(name, undefined, { urn });
            case "aws-native:cloudwatch:OTelEnrichment":
                return new exports.OTelEnrichment(name, undefined, { urn });
            default:
                throw new Error(`unknown resource type ${type}`);
        }
    },
};
pulumi.runtime.registerResourceModule("aws-native", "cloudwatch", _module);
//# sourceMappingURL=index.js.map