"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.TagOptionAssociation = exports.TagOption = exports.StackSetConstraint = exports.ServiceActionAssociation = exports.ServiceAction = exports.ResourceUpdateConstraint = exports.PortfolioShare = exports.PortfolioProductAssociation = exports.PortfolioPrincipalAssociation = exports.Portfolio = exports.LaunchTemplateConstraint = exports.LaunchRoleConstraint = exports.LaunchNotificationConstraint = exports.getTagOptionOutput = exports.getTagOption = exports.getStackSetConstraintOutput = exports.getStackSetConstraint = exports.getServiceActionOutput = exports.getServiceAction = exports.getResourceUpdateConstraintOutput = exports.getResourceUpdateConstraint = exports.getPortfolioShareOutput = exports.getPortfolioShare = exports.getPortfolioOutput = exports.getPortfolio = exports.getLaunchTemplateConstraintOutput = exports.getLaunchTemplateConstraint = exports.getLaunchRoleConstraintOutput = exports.getLaunchRoleConstraint = exports.getLaunchNotificationConstraintOutput = exports.getLaunchNotificationConstraint = exports.getCloudFormationProvisionedProductOutput = exports.getCloudFormationProvisionedProduct = exports.getCloudFormationProductOutput = exports.getCloudFormationProduct = exports.CloudFormationProvisionedProduct = exports.CloudFormationProduct = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
exports.CloudFormationProduct = null;
utilities.lazyLoad(exports, ["CloudFormationProduct"], () => require("./cloudFormationProduct"));
exports.CloudFormationProvisionedProduct = null;
utilities.lazyLoad(exports, ["CloudFormationProvisionedProduct"], () => require("./cloudFormationProvisionedProduct"));
exports.getCloudFormationProduct = null;
exports.getCloudFormationProductOutput = null;
utilities.lazyLoad(exports, ["getCloudFormationProduct", "getCloudFormationProductOutput"], () => require("./getCloudFormationProduct"));
exports.getCloudFormationProvisionedProduct = null;
exports.getCloudFormationProvisionedProductOutput = null;
utilities.lazyLoad(exports, ["getCloudFormationProvisionedProduct", "getCloudFormationProvisionedProductOutput"], () => require("./getCloudFormationProvisionedProduct"));
exports.getLaunchNotificationConstraint = null;
exports.getLaunchNotificationConstraintOutput = null;
utilities.lazyLoad(exports, ["getLaunchNotificationConstraint", "getLaunchNotificationConstraintOutput"], () => require("./getLaunchNotificationConstraint"));
exports.getLaunchRoleConstraint = null;
exports.getLaunchRoleConstraintOutput = null;
utilities.lazyLoad(exports, ["getLaunchRoleConstraint", "getLaunchRoleConstraintOutput"], () => require("./getLaunchRoleConstraint"));
exports.getLaunchTemplateConstraint = null;
exports.getLaunchTemplateConstraintOutput = null;
utilities.lazyLoad(exports, ["getLaunchTemplateConstraint", "getLaunchTemplateConstraintOutput"], () => require("./getLaunchTemplateConstraint"));
exports.getPortfolio = null;
exports.getPortfolioOutput = null;
utilities.lazyLoad(exports, ["getPortfolio", "getPortfolioOutput"], () => require("./getPortfolio"));
exports.getPortfolioShare = null;
exports.getPortfolioShareOutput = null;
utilities.lazyLoad(exports, ["getPortfolioShare", "getPortfolioShareOutput"], () => require("./getPortfolioShare"));
exports.getResourceUpdateConstraint = null;
exports.getResourceUpdateConstraintOutput = null;
utilities.lazyLoad(exports, ["getResourceUpdateConstraint", "getResourceUpdateConstraintOutput"], () => require("./getResourceUpdateConstraint"));
exports.getServiceAction = null;
exports.getServiceActionOutput = null;
utilities.lazyLoad(exports, ["getServiceAction", "getServiceActionOutput"], () => require("./getServiceAction"));
exports.getStackSetConstraint = null;
exports.getStackSetConstraintOutput = null;
utilities.lazyLoad(exports, ["getStackSetConstraint", "getStackSetConstraintOutput"], () => require("./getStackSetConstraint"));
exports.getTagOption = null;
exports.getTagOptionOutput = null;
utilities.lazyLoad(exports, ["getTagOption", "getTagOptionOutput"], () => require("./getTagOption"));
exports.LaunchNotificationConstraint = null;
utilities.lazyLoad(exports, ["LaunchNotificationConstraint"], () => require("./launchNotificationConstraint"));
exports.LaunchRoleConstraint = null;
utilities.lazyLoad(exports, ["LaunchRoleConstraint"], () => require("./launchRoleConstraint"));
exports.LaunchTemplateConstraint = null;
utilities.lazyLoad(exports, ["LaunchTemplateConstraint"], () => require("./launchTemplateConstraint"));
exports.Portfolio = null;
utilities.lazyLoad(exports, ["Portfolio"], () => require("./portfolio"));
exports.PortfolioPrincipalAssociation = null;
utilities.lazyLoad(exports, ["PortfolioPrincipalAssociation"], () => require("./portfolioPrincipalAssociation"));
exports.PortfolioProductAssociation = null;
utilities.lazyLoad(exports, ["PortfolioProductAssociation"], () => require("./portfolioProductAssociation"));
exports.PortfolioShare = null;
utilities.lazyLoad(exports, ["PortfolioShare"], () => require("./portfolioShare"));
exports.ResourceUpdateConstraint = null;
utilities.lazyLoad(exports, ["ResourceUpdateConstraint"], () => require("./resourceUpdateConstraint"));
exports.ServiceAction = null;
utilities.lazyLoad(exports, ["ServiceAction"], () => require("./serviceAction"));
exports.ServiceActionAssociation = null;
utilities.lazyLoad(exports, ["ServiceActionAssociation"], () => require("./serviceActionAssociation"));
exports.StackSetConstraint = null;
utilities.lazyLoad(exports, ["StackSetConstraint"], () => require("./stackSetConstraint"));
exports.TagOption = null;
utilities.lazyLoad(exports, ["TagOption"], () => require("./tagOption"));
exports.TagOptionAssociation = null;
utilities.lazyLoad(exports, ["TagOptionAssociation"], () => require("./tagOptionAssociation"));
// Export enums:
__exportStar(require("../types/enums/servicecatalog"), exports);
const _module = {
    version: utilities.getVersion(),
    construct: (name, type, urn) => {
        switch (type) {
            case "aws-native:servicecatalog:CloudFormationProduct":
                return new exports.CloudFormationProduct(name, undefined, { urn });
            case "aws-native:servicecatalog:CloudFormationProvisionedProduct":
                return new exports.CloudFormationProvisionedProduct(name, undefined, { urn });
            case "aws-native:servicecatalog:LaunchNotificationConstraint":
                return new exports.LaunchNotificationConstraint(name, undefined, { urn });
            case "aws-native:servicecatalog:LaunchRoleConstraint":
                return new exports.LaunchRoleConstraint(name, undefined, { urn });
            case "aws-native:servicecatalog:LaunchTemplateConstraint":
                return new exports.LaunchTemplateConstraint(name, undefined, { urn });
            case "aws-native:servicecatalog:Portfolio":
                return new exports.Portfolio(name, undefined, { urn });
            case "aws-native:servicecatalog:PortfolioPrincipalAssociation":
                return new exports.PortfolioPrincipalAssociation(name, undefined, { urn });
            case "aws-native:servicecatalog:PortfolioProductAssociation":
                return new exports.PortfolioProductAssociation(name, undefined, { urn });
            case "aws-native:servicecatalog:PortfolioShare":
                return new exports.PortfolioShare(name, undefined, { urn });
            case "aws-native:servicecatalog:ResourceUpdateConstraint":
                return new exports.ResourceUpdateConstraint(name, undefined, { urn });
            case "aws-native:servicecatalog:ServiceAction":
                return new exports.ServiceAction(name, undefined, { urn });
            case "aws-native:servicecatalog:ServiceActionAssociation":
                return new exports.ServiceActionAssociation(name, undefined, { urn });
            case "aws-native:servicecatalog:StackSetConstraint":
                return new exports.StackSetConstraint(name, undefined, { urn });
            case "aws-native:servicecatalog:TagOption":
                return new exports.TagOption(name, undefined, { urn });
            case "aws-native:servicecatalog:TagOptionAssociation":
                return new exports.TagOptionAssociation(name, undefined, { urn });
            default:
                throw new Error(`unknown resource type ${type}`);
        }
    },
};
pulumi.runtime.registerResourceModule("aws-native", "servicecatalog", _module);
//# sourceMappingURL=index.js.map