"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.getRoleAliasOutput = exports.getRoleAlias = exports.getResourceSpecificLoggingOutput = exports.getResourceSpecificLogging = exports.getProvisioningTemplateOutput = exports.getProvisioningTemplate = exports.getPolicyOutput = exports.getPolicy = exports.getMitigationActionOutput = exports.getMitigationAction = exports.getLoggingOutput = exports.getLogging = exports.getJobTemplateOutput = exports.getJobTemplate = exports.getFleetMetricOutput = exports.getFleetMetric = exports.getEncryptionConfigurationOutput = exports.getEncryptionConfiguration = exports.getDomainConfigurationOutput = exports.getDomainConfiguration = exports.getDimensionOutput = exports.getDimension = exports.getCustomMetricOutput = exports.getCustomMetric = exports.getCommandOutput = exports.getCommand = exports.getCertificateProviderOutput = exports.getCertificateProvider = exports.getCertificateOutput = exports.getCertificate = exports.getCaCertificateOutput = exports.getCaCertificate = exports.getBillingGroupOutput = exports.getBillingGroup = exports.getAuthorizerOutput = exports.getAuthorizer = exports.getAccountAuditConfigurationOutput = exports.getAccountAuditConfiguration = exports.FleetMetric = exports.EncryptionConfiguration = exports.DomainConfiguration = exports.Dimension = exports.CustomMetric = exports.Command = exports.CertificateProvider = exports.Certificate = exports.CaCertificate = exports.BillingGroup = exports.Authorizer = exports.AccountAuditConfiguration = void 0;
exports.TopicRuleDestination = exports.TopicRule = exports.ThingType = exports.ThingGroup = exports.Thing = exports.SoftwarePackageVersion = exports.SoftwarePackage = exports.SecurityProfile = exports.ScheduledAudit = exports.RoleAlias = exports.ResourceSpecificLogging = exports.ProvisioningTemplate = exports.Policy = exports.MitigationAction = exports.Logging = exports.JobTemplate = exports.getTopicRuleDestinationOutput = exports.getTopicRuleDestination = exports.getTopicRuleOutput = exports.getTopicRule = exports.getThingTypeOutput = exports.getThingType = exports.getThingGroupOutput = exports.getThingGroup = exports.getThingOutput = exports.getThing = exports.getSoftwarePackageVersionOutput = exports.getSoftwarePackageVersion = exports.getSoftwarePackageOutput = exports.getSoftwarePackage = exports.getSecurityProfileOutput = exports.getSecurityProfile = exports.getScheduledAuditOutput = exports.getScheduledAudit = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
exports.AccountAuditConfiguration = null;
utilities.lazyLoad(exports, ["AccountAuditConfiguration"], () => require("./accountAuditConfiguration"));
exports.Authorizer = null;
utilities.lazyLoad(exports, ["Authorizer"], () => require("./authorizer"));
exports.BillingGroup = null;
utilities.lazyLoad(exports, ["BillingGroup"], () => require("./billingGroup"));
exports.CaCertificate = null;
utilities.lazyLoad(exports, ["CaCertificate"], () => require("./caCertificate"));
exports.Certificate = null;
utilities.lazyLoad(exports, ["Certificate"], () => require("./certificate"));
exports.CertificateProvider = null;
utilities.lazyLoad(exports, ["CertificateProvider"], () => require("./certificateProvider"));
exports.Command = null;
utilities.lazyLoad(exports, ["Command"], () => require("./command"));
exports.CustomMetric = null;
utilities.lazyLoad(exports, ["CustomMetric"], () => require("./customMetric"));
exports.Dimension = null;
utilities.lazyLoad(exports, ["Dimension"], () => require("./dimension"));
exports.DomainConfiguration = null;
utilities.lazyLoad(exports, ["DomainConfiguration"], () => require("./domainConfiguration"));
exports.EncryptionConfiguration = null;
utilities.lazyLoad(exports, ["EncryptionConfiguration"], () => require("./encryptionConfiguration"));
exports.FleetMetric = null;
utilities.lazyLoad(exports, ["FleetMetric"], () => require("./fleetMetric"));
exports.getAccountAuditConfiguration = null;
exports.getAccountAuditConfigurationOutput = null;
utilities.lazyLoad(exports, ["getAccountAuditConfiguration", "getAccountAuditConfigurationOutput"], () => require("./getAccountAuditConfiguration"));
exports.getAuthorizer = null;
exports.getAuthorizerOutput = null;
utilities.lazyLoad(exports, ["getAuthorizer", "getAuthorizerOutput"], () => require("./getAuthorizer"));
exports.getBillingGroup = null;
exports.getBillingGroupOutput = null;
utilities.lazyLoad(exports, ["getBillingGroup", "getBillingGroupOutput"], () => require("./getBillingGroup"));
exports.getCaCertificate = null;
exports.getCaCertificateOutput = null;
utilities.lazyLoad(exports, ["getCaCertificate", "getCaCertificateOutput"], () => require("./getCaCertificate"));
exports.getCertificate = null;
exports.getCertificateOutput = null;
utilities.lazyLoad(exports, ["getCertificate", "getCertificateOutput"], () => require("./getCertificate"));
exports.getCertificateProvider = null;
exports.getCertificateProviderOutput = null;
utilities.lazyLoad(exports, ["getCertificateProvider", "getCertificateProviderOutput"], () => require("./getCertificateProvider"));
exports.getCommand = null;
exports.getCommandOutput = null;
utilities.lazyLoad(exports, ["getCommand", "getCommandOutput"], () => require("./getCommand"));
exports.getCustomMetric = null;
exports.getCustomMetricOutput = null;
utilities.lazyLoad(exports, ["getCustomMetric", "getCustomMetricOutput"], () => require("./getCustomMetric"));
exports.getDimension = null;
exports.getDimensionOutput = null;
utilities.lazyLoad(exports, ["getDimension", "getDimensionOutput"], () => require("./getDimension"));
exports.getDomainConfiguration = null;
exports.getDomainConfigurationOutput = null;
utilities.lazyLoad(exports, ["getDomainConfiguration", "getDomainConfigurationOutput"], () => require("./getDomainConfiguration"));
exports.getEncryptionConfiguration = null;
exports.getEncryptionConfigurationOutput = null;
utilities.lazyLoad(exports, ["getEncryptionConfiguration", "getEncryptionConfigurationOutput"], () => require("./getEncryptionConfiguration"));
exports.getFleetMetric = null;
exports.getFleetMetricOutput = null;
utilities.lazyLoad(exports, ["getFleetMetric", "getFleetMetricOutput"], () => require("./getFleetMetric"));
exports.getJobTemplate = null;
exports.getJobTemplateOutput = null;
utilities.lazyLoad(exports, ["getJobTemplate", "getJobTemplateOutput"], () => require("./getJobTemplate"));
exports.getLogging = null;
exports.getLoggingOutput = null;
utilities.lazyLoad(exports, ["getLogging", "getLoggingOutput"], () => require("./getLogging"));
exports.getMitigationAction = null;
exports.getMitigationActionOutput = null;
utilities.lazyLoad(exports, ["getMitigationAction", "getMitigationActionOutput"], () => require("./getMitigationAction"));
exports.getPolicy = null;
exports.getPolicyOutput = null;
utilities.lazyLoad(exports, ["getPolicy", "getPolicyOutput"], () => require("./getPolicy"));
exports.getProvisioningTemplate = null;
exports.getProvisioningTemplateOutput = null;
utilities.lazyLoad(exports, ["getProvisioningTemplate", "getProvisioningTemplateOutput"], () => require("./getProvisioningTemplate"));
exports.getResourceSpecificLogging = null;
exports.getResourceSpecificLoggingOutput = null;
utilities.lazyLoad(exports, ["getResourceSpecificLogging", "getResourceSpecificLoggingOutput"], () => require("./getResourceSpecificLogging"));
exports.getRoleAlias = null;
exports.getRoleAliasOutput = null;
utilities.lazyLoad(exports, ["getRoleAlias", "getRoleAliasOutput"], () => require("./getRoleAlias"));
exports.getScheduledAudit = null;
exports.getScheduledAuditOutput = null;
utilities.lazyLoad(exports, ["getScheduledAudit", "getScheduledAuditOutput"], () => require("./getScheduledAudit"));
exports.getSecurityProfile = null;
exports.getSecurityProfileOutput = null;
utilities.lazyLoad(exports, ["getSecurityProfile", "getSecurityProfileOutput"], () => require("./getSecurityProfile"));
exports.getSoftwarePackage = null;
exports.getSoftwarePackageOutput = null;
utilities.lazyLoad(exports, ["getSoftwarePackage", "getSoftwarePackageOutput"], () => require("./getSoftwarePackage"));
exports.getSoftwarePackageVersion = null;
exports.getSoftwarePackageVersionOutput = null;
utilities.lazyLoad(exports, ["getSoftwarePackageVersion", "getSoftwarePackageVersionOutput"], () => require("./getSoftwarePackageVersion"));
exports.getThing = null;
exports.getThingOutput = null;
utilities.lazyLoad(exports, ["getThing", "getThingOutput"], () => require("./getThing"));
exports.getThingGroup = null;
exports.getThingGroupOutput = null;
utilities.lazyLoad(exports, ["getThingGroup", "getThingGroupOutput"], () => require("./getThingGroup"));
exports.getThingType = null;
exports.getThingTypeOutput = null;
utilities.lazyLoad(exports, ["getThingType", "getThingTypeOutput"], () => require("./getThingType"));
exports.getTopicRule = null;
exports.getTopicRuleOutput = null;
utilities.lazyLoad(exports, ["getTopicRule", "getTopicRuleOutput"], () => require("./getTopicRule"));
exports.getTopicRuleDestination = null;
exports.getTopicRuleDestinationOutput = null;
utilities.lazyLoad(exports, ["getTopicRuleDestination", "getTopicRuleDestinationOutput"], () => require("./getTopicRuleDestination"));
exports.JobTemplate = null;
utilities.lazyLoad(exports, ["JobTemplate"], () => require("./jobTemplate"));
exports.Logging = null;
utilities.lazyLoad(exports, ["Logging"], () => require("./logging"));
exports.MitigationAction = null;
utilities.lazyLoad(exports, ["MitigationAction"], () => require("./mitigationAction"));
exports.Policy = null;
utilities.lazyLoad(exports, ["Policy"], () => require("./policy"));
exports.ProvisioningTemplate = null;
utilities.lazyLoad(exports, ["ProvisioningTemplate"], () => require("./provisioningTemplate"));
exports.ResourceSpecificLogging = null;
utilities.lazyLoad(exports, ["ResourceSpecificLogging"], () => require("./resourceSpecificLogging"));
exports.RoleAlias = null;
utilities.lazyLoad(exports, ["RoleAlias"], () => require("./roleAlias"));
exports.ScheduledAudit = null;
utilities.lazyLoad(exports, ["ScheduledAudit"], () => require("./scheduledAudit"));
exports.SecurityProfile = null;
utilities.lazyLoad(exports, ["SecurityProfile"], () => require("./securityProfile"));
exports.SoftwarePackage = null;
utilities.lazyLoad(exports, ["SoftwarePackage"], () => require("./softwarePackage"));
exports.SoftwarePackageVersion = null;
utilities.lazyLoad(exports, ["SoftwarePackageVersion"], () => require("./softwarePackageVersion"));
exports.Thing = null;
utilities.lazyLoad(exports, ["Thing"], () => require("./thing"));
exports.ThingGroup = null;
utilities.lazyLoad(exports, ["ThingGroup"], () => require("./thingGroup"));
exports.ThingType = null;
utilities.lazyLoad(exports, ["ThingType"], () => require("./thingType"));
exports.TopicRule = null;
utilities.lazyLoad(exports, ["TopicRule"], () => require("./topicRule"));
exports.TopicRuleDestination = null;
utilities.lazyLoad(exports, ["TopicRuleDestination"], () => require("./topicRuleDestination"));
// Export enums:
__exportStar(require("../types/enums/iot"), exports);
const _module = {
    version: utilities.getVersion(),
    construct: (name, type, urn) => {
        switch (type) {
            case "aws-native:iot:AccountAuditConfiguration":
                return new exports.AccountAuditConfiguration(name, undefined, { urn });
            case "aws-native:iot:Authorizer":
                return new exports.Authorizer(name, undefined, { urn });
            case "aws-native:iot:BillingGroup":
                return new exports.BillingGroup(name, undefined, { urn });
            case "aws-native:iot:CaCertificate":
                return new exports.CaCertificate(name, undefined, { urn });
            case "aws-native:iot:Certificate":
                return new exports.Certificate(name, undefined, { urn });
            case "aws-native:iot:CertificateProvider":
                return new exports.CertificateProvider(name, undefined, { urn });
            case "aws-native:iot:Command":
                return new exports.Command(name, undefined, { urn });
            case "aws-native:iot:CustomMetric":
                return new exports.CustomMetric(name, undefined, { urn });
            case "aws-native:iot:Dimension":
                return new exports.Dimension(name, undefined, { urn });
            case "aws-native:iot:DomainConfiguration":
                return new exports.DomainConfiguration(name, undefined, { urn });
            case "aws-native:iot:EncryptionConfiguration":
                return new exports.EncryptionConfiguration(name, undefined, { urn });
            case "aws-native:iot:FleetMetric":
                return new exports.FleetMetric(name, undefined, { urn });
            case "aws-native:iot:JobTemplate":
                return new exports.JobTemplate(name, undefined, { urn });
            case "aws-native:iot:Logging":
                return new exports.Logging(name, undefined, { urn });
            case "aws-native:iot:MitigationAction":
                return new exports.MitigationAction(name, undefined, { urn });
            case "aws-native:iot:Policy":
                return new exports.Policy(name, undefined, { urn });
            case "aws-native:iot:ProvisioningTemplate":
                return new exports.ProvisioningTemplate(name, undefined, { urn });
            case "aws-native:iot:ResourceSpecificLogging":
                return new exports.ResourceSpecificLogging(name, undefined, { urn });
            case "aws-native:iot:RoleAlias":
                return new exports.RoleAlias(name, undefined, { urn });
            case "aws-native:iot:ScheduledAudit":
                return new exports.ScheduledAudit(name, undefined, { urn });
            case "aws-native:iot:SecurityProfile":
                return new exports.SecurityProfile(name, undefined, { urn });
            case "aws-native:iot:SoftwarePackage":
                return new exports.SoftwarePackage(name, undefined, { urn });
            case "aws-native:iot:SoftwarePackageVersion":
                return new exports.SoftwarePackageVersion(name, undefined, { urn });
            case "aws-native:iot:Thing":
                return new exports.Thing(name, undefined, { urn });
            case "aws-native:iot:ThingGroup":
                return new exports.ThingGroup(name, undefined, { urn });
            case "aws-native:iot:ThingType":
                return new exports.ThingType(name, undefined, { urn });
            case "aws-native:iot:TopicRule":
                return new exports.TopicRule(name, undefined, { urn });
            case "aws-native:iot:TopicRuleDestination":
                return new exports.TopicRuleDestination(name, undefined, { urn });
            default:
                throw new Error(`unknown resource type ${type}`);
        }
    },
};
pulumi.runtime.registerResourceModule("aws-native", "iot", _module);
//# sourceMappingURL=index.js.map