"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTagOptionAssociation=exports.CfnTagOption=exports.CfnStackSetConstraint=exports.CfnServiceActionAssociation=exports.CfnServiceAction=exports.CfnResourceUpdateConstraint=exports.CfnPortfolioShare=exports.CfnPortfolioProductAssociation=exports.CfnPortfolioPrincipalAssociation=exports.CfnPortfolio=exports.CfnLaunchTemplateConstraint=exports.CfnLaunchRoleConstraint=exports.CfnLaunchNotificationConstraint=exports.CfnCloudFormationProvisionedProduct=exports.CfnCloudFormationProduct=exports.CfnAcceptedPortfolioShare=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core/lib");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnAcceptedPortfolioShare extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnAcceptedPortfolioShare",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::AcceptedPortfolioShare";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAcceptedPortfolioSharePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAcceptedPortfolioShare(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnAcceptedPortfolioShare(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAcceptedPortfolioShare.CFN_RESOURCE_TYPE_NAME}_acceptLanguage;_portfolioId;cfnPropertyNames={acceptLanguage:"AcceptLanguage",portfolioId:"PortfolioId"};constructor(scope,id,props){super(scope,id,{type:CfnAcceptedPortfolioShare.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnAcceptedPortfolioShareProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAcceptedPortfolioShare),error}cdk().requireProperty(props,"portfolioId",this),this._acceptLanguage=props.acceptLanguage,this._portfolioId=props.portfolioId}get acceptedPortfolioShareRef(){return{acceptedPortfolioShareId:this.ref}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get portfolioId(){return this._portfolioId}set portfolioId(value){cdk().traceProperty(this.node,"PortfolioId"),this._portfolioId=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,portfolioId:this._portfolioId}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnAcceptedPortfolioShare.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAcceptedPortfolioSharePropsToCloudFormation(props)}}exports.CfnAcceptedPortfolioShare=CfnAcceptedPortfolioShare;function CfnAcceptedPortfolioSharePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("portfolioId",cdk().requiredValidator)(properties.portfolioId)),errors.collect(cdk().propertyValidator("portfolioId",cdk().validateString)(properties.portfolioId)),errors.wrap('supplied properties not correct for "CfnAcceptedPortfolioShareProps"')}function convertCfnAcceptedPortfolioSharePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAcceptedPortfolioSharePropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),PortfolioId:cdk().stringToCloudFormation(properties.portfolioId)}):properties}function CfnAcceptedPortfolioSharePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("portfolioId","PortfolioId",properties.PortfolioId!=null?cfn_parse().FromCloudFormation.getString(properties.PortfolioId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCloudFormationProduct extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnCloudFormationProduct",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::CloudFormationProduct";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCloudFormationProductPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCloudFormationProduct(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnCloudFormationProduct(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCloudFormationProduct.CFN_RESOURCE_TYPE_NAME}_acceptLanguage;_description;_distributor;_name;_owner;_productType;_provisioningArtifactParameters;_replaceProvisioningArtifacts;_sourceConnection;_supportDescription;_supportEmail;_supportUrl;tags;_tagsRaw;cfnPropertyNames={acceptLanguage:"AcceptLanguage",description:"Description",distributor:"Distributor",name:"Name",owner:"Owner",productType:"ProductType",provisioningArtifactParameters:"ProvisioningArtifactParameters",replaceProvisioningArtifacts:"ReplaceProvisioningArtifacts",sourceConnection:"SourceConnection",supportDescription:"SupportDescription",supportEmail:"SupportEmail",supportUrl:"SupportUrl",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnCloudFormationProduct.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnCloudFormationProductProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCloudFormationProduct),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"owner",this),this._acceptLanguage=props.acceptLanguage,this._description=props.description,this._distributor=props.distributor,this._name=props.name,this._owner=props.owner,this._productType=props.productType,this._provisioningArtifactParameters=props.provisioningArtifactParameters,this._replaceProvisioningArtifacts=props.replaceProvisioningArtifacts,this._sourceConnection=props.sourceConnection,this._supportDescription=props.supportDescription,this._supportEmail=props.supportEmail,this._supportUrl=props.supportUrl,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ServiceCatalog::CloudFormationProduct",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get cloudFormationProductRef(){return{cloudFormationProductId:this.ref}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get distributor(){return this._distributor}set distributor(value){cdk().traceProperty(this.node,"Distributor"),this._distributor=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get owner(){return this._owner}set owner(value){cdk().traceProperty(this.node,"Owner"),this._owner=value}get productType(){return this._productType}set productType(value){cdk().traceProperty(this.node,"ProductType"),this._productType=value}get provisioningArtifactParameters(){return this._provisioningArtifactParameters}set provisioningArtifactParameters(value){cdk().traceProperty(this.node,"ProvisioningArtifactParameters"),this._provisioningArtifactParameters=value}get replaceProvisioningArtifacts(){return this._replaceProvisioningArtifacts}set replaceProvisioningArtifacts(value){cdk().traceProperty(this.node,"ReplaceProvisioningArtifacts"),this._replaceProvisioningArtifacts=value}get sourceConnection(){return this._sourceConnection}set sourceConnection(value){cdk().traceProperty(this.node,"SourceConnection"),this._sourceConnection=value}get supportDescription(){return this._supportDescription}set supportDescription(value){cdk().traceProperty(this.node,"SupportDescription"),this._supportDescription=value}get supportEmail(){return this._supportEmail}set supportEmail(value){cdk().traceProperty(this.node,"SupportEmail"),this._supportEmail=value}get supportUrl(){return this._supportUrl}set supportUrl(value){cdk().traceProperty(this.node,"SupportUrl"),this._supportUrl=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrProductName(){return cdk().Token.asString(this.getAtt("ProductName",cdk().ResolutionTypeHint.STRING))}get attrProvisioningArtifactIds(){return cdk().Token.asString(this.getAtt("ProvisioningArtifactIds",cdk().ResolutionTypeHint.STRING))}get attrProvisioningArtifactNames(){return cdk().Token.asString(this.getAtt("ProvisioningArtifactNames",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,description:this._description,distributor:this._distributor,name:this._name,owner:this._owner,productType:this._productType,provisioningArtifactParameters:this._provisioningArtifactParameters,replaceProvisioningArtifacts:this._replaceProvisioningArtifacts,sourceConnection:this._sourceConnection,supportDescription:this._supportDescription,supportEmail:this._supportEmail,supportUrl:this._supportUrl,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnCloudFormationProduct.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCloudFormationProductPropsToCloudFormation(props)}}exports.CfnCloudFormationProduct=CfnCloudFormationProduct;function CfnCloudFormationProductCodeStarParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("artifactPath",cdk().requiredValidator)(properties.artifactPath)),errors.collect(cdk().propertyValidator("artifactPath",cdk().validateString)(properties.artifactPath)),errors.collect(cdk().propertyValidator("branch",cdk().requiredValidator)(properties.branch)),errors.collect(cdk().propertyValidator("branch",cdk().validateString)(properties.branch)),errors.collect(cdk().propertyValidator("connectionArn",cdk().requiredValidator)(properties.connectionArn)),errors.collect(cdk().propertyValidator("connectionArn",cdk().validateString)(properties.connectionArn)),errors.collect(cdk().propertyValidator("repository",cdk().requiredValidator)(properties.repository)),errors.collect(cdk().propertyValidator("repository",cdk().validateString)(properties.repository)),errors.wrap('supplied properties not correct for "CodeStarParametersProperty"')}function convertCfnCloudFormationProductCodeStarParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCloudFormationProductCodeStarParametersPropertyValidator(properties).assertSuccess(),{ArtifactPath:cdk().stringToCloudFormation(properties.artifactPath),Branch:cdk().stringToCloudFormation(properties.branch),ConnectionArn:cdk().stringToCloudFormation(properties.connectionArn),Repository:cdk().stringToCloudFormation(properties.repository)}):properties}function CfnCloudFormationProductCodeStarParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("artifactPath","ArtifactPath",properties.ArtifactPath!=null?cfn_parse().FromCloudFormation.getString(properties.ArtifactPath):void 0),ret.addPropertyResult("branch","Branch",properties.Branch!=null?cfn_parse().FromCloudFormation.getString(properties.Branch):void 0),ret.addPropertyResult("connectionArn","ConnectionArn",properties.ConnectionArn!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionArn):void 0),ret.addPropertyResult("repository","Repository",properties.Repository!=null?cfn_parse().FromCloudFormation.getString(properties.Repository):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCloudFormationProductConnectionParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("codeStar",CfnCloudFormationProductCodeStarParametersPropertyValidator)(properties.codeStar)),errors.wrap('supplied properties not correct for "ConnectionParametersProperty"')}function convertCfnCloudFormationProductConnectionParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCloudFormationProductConnectionParametersPropertyValidator(properties).assertSuccess(),{CodeStar:convertCfnCloudFormationProductCodeStarParametersPropertyToCloudFormation(properties.codeStar)}):properties}function CfnCloudFormationProductConnectionParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("codeStar","CodeStar",properties.CodeStar!=null?CfnCloudFormationProductCodeStarParametersPropertyFromCloudFormation(properties.CodeStar):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCloudFormationProductSourceConnectionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("connectionParameters",cdk().requiredValidator)(properties.connectionParameters)),errors.collect(cdk().propertyValidator("connectionParameters",CfnCloudFormationProductConnectionParametersPropertyValidator)(properties.connectionParameters)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "SourceConnectionProperty"')}function convertCfnCloudFormationProductSourceConnectionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCloudFormationProductSourceConnectionPropertyValidator(properties).assertSuccess(),{ConnectionParameters:convertCfnCloudFormationProductConnectionParametersPropertyToCloudFormation(properties.connectionParameters),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnCloudFormationProductSourceConnectionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("connectionParameters","ConnectionParameters",properties.ConnectionParameters!=null?CfnCloudFormationProductConnectionParametersPropertyFromCloudFormation(properties.ConnectionParameters):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCloudFormationProductProvisioningArtifactPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("disableTemplateValidation",cdk().validateBoolean)(properties.disableTemplateValidation)),errors.collect(cdk().propertyValidator("info",cdk().requiredValidator)(properties.info)),errors.collect(cdk().propertyValidator("info",cdk().validateObject)(properties.info)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ProvisioningArtifactPropertiesProperty"')}function convertCfnCloudFormationProductProvisioningArtifactPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCloudFormationProductProvisioningArtifactPropertiesPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),DisableTemplateValidation:cdk().booleanToCloudFormation(properties.disableTemplateValidation),Info:cdk().objectToCloudFormation(properties.info),Name:cdk().stringToCloudFormation(properties.name),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnCloudFormationProductProvisioningArtifactPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("disableTemplateValidation","DisableTemplateValidation",properties.DisableTemplateValidation!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableTemplateValidation):void 0),ret.addPropertyResult("info","Info",properties.Info!=null?cfn_parse().FromCloudFormation.getAny(properties.Info):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCloudFormationProductPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("distributor",cdk().validateString)(properties.distributor)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("owner",cdk().requiredValidator)(properties.owner)),errors.collect(cdk().propertyValidator("owner",cdk().validateString)(properties.owner)),errors.collect(cdk().propertyValidator("productType",cdk().validateString)(properties.productType)),errors.collect(cdk().propertyValidator("provisioningArtifactParameters",cdk().listValidator(CfnCloudFormationProductProvisioningArtifactPropertiesPropertyValidator))(properties.provisioningArtifactParameters)),errors.collect(cdk().propertyValidator("replaceProvisioningArtifacts",cdk().validateBoolean)(properties.replaceProvisioningArtifacts)),errors.collect(cdk().propertyValidator("sourceConnection",CfnCloudFormationProductSourceConnectionPropertyValidator)(properties.sourceConnection)),errors.collect(cdk().propertyValidator("supportDescription",cdk().validateString)(properties.supportDescription)),errors.collect(cdk().propertyValidator("supportEmail",cdk().validateString)(properties.supportEmail)),errors.collect(cdk().propertyValidator("supportUrl",cdk().validateString)(properties.supportUrl)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnCloudFormationProductProps"')}function convertCfnCloudFormationProductPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCloudFormationProductPropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),Description:cdk().stringToCloudFormation(properties.description),Distributor:cdk().stringToCloudFormation(properties.distributor),Name:cdk().stringToCloudFormation(properties.name),Owner:cdk().stringToCloudFormation(properties.owner),ProductType:cdk().stringToCloudFormation(properties.productType),ProvisioningArtifactParameters:cdk().listMapper(convertCfnCloudFormationProductProvisioningArtifactPropertiesPropertyToCloudFormation)(properties.provisioningArtifactParameters),ReplaceProvisioningArtifacts:cdk().booleanToCloudFormation(properties.replaceProvisioningArtifacts),SourceConnection:convertCfnCloudFormationProductSourceConnectionPropertyToCloudFormation(properties.sourceConnection),SupportDescription:cdk().stringToCloudFormation(properties.supportDescription),SupportEmail:cdk().stringToCloudFormation(properties.supportEmail),SupportUrl:cdk().stringToCloudFormation(properties.supportUrl),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnCloudFormationProductPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("distributor","Distributor",properties.Distributor!=null?cfn_parse().FromCloudFormation.getString(properties.Distributor):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("owner","Owner",properties.Owner!=null?cfn_parse().FromCloudFormation.getString(properties.Owner):void 0),ret.addPropertyResult("productType","ProductType",properties.ProductType!=null?cfn_parse().FromCloudFormation.getString(properties.ProductType):void 0),ret.addPropertyResult("provisioningArtifactParameters","ProvisioningArtifactParameters",properties.ProvisioningArtifactParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnCloudFormationProductProvisioningArtifactPropertiesPropertyFromCloudFormation)(properties.ProvisioningArtifactParameters):void 0),ret.addPropertyResult("replaceProvisioningArtifacts","ReplaceProvisioningArtifacts",properties.ReplaceProvisioningArtifacts!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReplaceProvisioningArtifacts):void 0),ret.addPropertyResult("sourceConnection","SourceConnection",properties.SourceConnection!=null?CfnCloudFormationProductSourceConnectionPropertyFromCloudFormation(properties.SourceConnection):void 0),ret.addPropertyResult("supportDescription","SupportDescription",properties.SupportDescription!=null?cfn_parse().FromCloudFormation.getString(properties.SupportDescription):void 0),ret.addPropertyResult("supportEmail","SupportEmail",properties.SupportEmail!=null?cfn_parse().FromCloudFormation.getString(properties.SupportEmail):void 0),ret.addPropertyResult("supportUrl","SupportUrl",properties.SupportUrl!=null?cfn_parse().FromCloudFormation.getString(properties.SupportUrl):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCloudFormationProvisionedProduct extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnCloudFormationProvisionedProduct",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::CloudFormationProvisionedProduct";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCloudFormationProvisionedProductPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCloudFormationProvisionedProduct(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnCloudFormationProvisionedProduct(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCloudFormationProvisionedProduct.CFN_RESOURCE_TYPE_NAME}_acceptLanguage;_notificationArns;_pathId;_pathName;_productId;_productName;_provisionedProductName;_provisioningArtifactId;_provisioningArtifactName;_provisioningParameters;_provisioningPreferences;tags;_tagsRaw;cfnPropertyNames={acceptLanguage:"AcceptLanguage",notificationArns:"NotificationArns",pathId:"PathId",pathName:"PathName",productId:"ProductId",productName:"ProductName",provisionedProductName:"ProvisionedProductName",provisioningArtifactId:"ProvisioningArtifactId",provisioningArtifactName:"ProvisioningArtifactName",provisioningParameters:"ProvisioningParameters",provisioningPreferences:"ProvisioningPreferences",tags:"Tags"};constructor(scope,id,props={}){super(scope,id,{type:CfnCloudFormationProvisionedProduct.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnCloudFormationProvisionedProductProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCloudFormationProvisionedProduct),error}this._acceptLanguage=props.acceptLanguage,this._notificationArns=props.notificationArns,this._pathId=props.pathId,this._pathName=props.pathName,this._productId=props.productId,this._productName=props.productName,this._provisionedProductName=props.provisionedProductName,this._provisioningArtifactId=props.provisioningArtifactId,this._provisioningArtifactName=props.provisioningArtifactName,this._provisioningParameters=props.provisioningParameters,this._provisioningPreferences=props.provisioningPreferences,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ServiceCatalog::CloudFormationProvisionedProduct",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get cloudFormationProvisionedProductRef(){return{provisionedProductId:this.ref}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get notificationArns(){return this._notificationArns}set notificationArns(value){cdk().traceProperty(this.node,"NotificationArns"),this._notificationArns=value}get pathId(){return this._pathId}set pathId(value){cdk().traceProperty(this.node,"PathId"),this._pathId=value}get pathName(){return this._pathName}set pathName(value){cdk().traceProperty(this.node,"PathName"),this._pathName=value}get productId(){return this._productId}set productId(value){cdk().traceProperty(this.node,"ProductId"),this._productId=value}get productName(){return this._productName}set productName(value){cdk().traceProperty(this.node,"ProductName"),this._productName=value}get provisionedProductName(){return this._provisionedProductName}set provisionedProductName(value){cdk().traceProperty(this.node,"ProvisionedProductName"),this._provisionedProductName=value}get provisioningArtifactId(){return this._provisioningArtifactId}set provisioningArtifactId(value){cdk().traceProperty(this.node,"ProvisioningArtifactId"),this._provisioningArtifactId=value}get provisioningArtifactName(){return this._provisioningArtifactName}set provisioningArtifactName(value){cdk().traceProperty(this.node,"ProvisioningArtifactName"),this._provisioningArtifactName=value}get provisioningParameters(){return this._provisioningParameters}set provisioningParameters(value){cdk().traceProperty(this.node,"ProvisioningParameters"),this._provisioningParameters=value}get provisioningPreferences(){return this._provisioningPreferences}set provisioningPreferences(value){cdk().traceProperty(this.node,"ProvisioningPreferences"),this._provisioningPreferences=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrCloudformationStackArn(){return cdk().Token.asString(this.getAtt("CloudformationStackArn",cdk().ResolutionTypeHint.STRING))}get attrOutputs(){return this.getAtt("Outputs")}get attrProvisionedProductId(){return cdk().Token.asString(this.getAtt("ProvisionedProductId",cdk().ResolutionTypeHint.STRING))}get attrRecordId(){return cdk().Token.asString(this.getAtt("RecordId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,notificationArns:this._notificationArns,pathId:this._pathId,pathName:this._pathName,productId:this._productId,productName:this._productName,provisionedProductName:this._provisionedProductName,provisioningArtifactId:this._provisioningArtifactId,provisioningArtifactName:this._provisioningArtifactName,provisioningParameters:this._provisioningParameters,provisioningPreferences:this._provisioningPreferences,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnCloudFormationProvisionedProduct.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCloudFormationProvisionedProductPropsToCloudFormation(props)}}exports.CfnCloudFormationProvisionedProduct=CfnCloudFormationProvisionedProduct;function CfnCloudFormationProvisionedProductProvisioningParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "ProvisioningParameterProperty"')}function convertCfnCloudFormationProvisionedProductProvisioningParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCloudFormationProvisionedProductProvisioningParameterPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnCloudFormationProvisionedProductProvisioningParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCloudFormationProvisionedProductProvisioningPreferencesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("stackSetAccounts",cdk().listValidator(cdk().validateString))(properties.stackSetAccounts)),errors.collect(cdk().propertyValidator("stackSetFailureToleranceCount",cdk().validateNumber)(properties.stackSetFailureToleranceCount)),errors.collect(cdk().propertyValidator("stackSetFailureTolerancePercentage",cdk().validateNumber)(properties.stackSetFailureTolerancePercentage)),errors.collect(cdk().propertyValidator("stackSetMaxConcurrencyCount",cdk().validateNumber)(properties.stackSetMaxConcurrencyCount)),errors.collect(cdk().propertyValidator("stackSetMaxConcurrencyPercentage",cdk().validateNumber)(properties.stackSetMaxConcurrencyPercentage)),errors.collect(cdk().propertyValidator("stackSetOperationType",cdk().validateString)(properties.stackSetOperationType)),errors.collect(cdk().propertyValidator("stackSetRegions",cdk().listValidator(cdk().validateString))(properties.stackSetRegions)),errors.wrap('supplied properties not correct for "ProvisioningPreferencesProperty"')}function convertCfnCloudFormationProvisionedProductProvisioningPreferencesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCloudFormationProvisionedProductProvisioningPreferencesPropertyValidator(properties).assertSuccess(),{StackSetAccounts:cdk().listMapper(cdk().stringToCloudFormation)(properties.stackSetAccounts),StackSetFailureToleranceCount:cdk().numberToCloudFormation(properties.stackSetFailureToleranceCount),StackSetFailureTolerancePercentage:cdk().numberToCloudFormation(properties.stackSetFailureTolerancePercentage),StackSetMaxConcurrencyCount:cdk().numberToCloudFormation(properties.stackSetMaxConcurrencyCount),StackSetMaxConcurrencyPercentage:cdk().numberToCloudFormation(properties.stackSetMaxConcurrencyPercentage),StackSetOperationType:cdk().stringToCloudFormation(properties.stackSetOperationType),StackSetRegions:cdk().listMapper(cdk().stringToCloudFormation)(properties.stackSetRegions)}):properties}function CfnCloudFormationProvisionedProductProvisioningPreferencesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("stackSetAccounts","StackSetAccounts",properties.StackSetAccounts!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StackSetAccounts):void 0),ret.addPropertyResult("stackSetFailureToleranceCount","StackSetFailureToleranceCount",properties.StackSetFailureToleranceCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.StackSetFailureToleranceCount):void 0),ret.addPropertyResult("stackSetFailureTolerancePercentage","StackSetFailureTolerancePercentage",properties.StackSetFailureTolerancePercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.StackSetFailureTolerancePercentage):void 0),ret.addPropertyResult("stackSetMaxConcurrencyCount","StackSetMaxConcurrencyCount",properties.StackSetMaxConcurrencyCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.StackSetMaxConcurrencyCount):void 0),ret.addPropertyResult("stackSetMaxConcurrencyPercentage","StackSetMaxConcurrencyPercentage",properties.StackSetMaxConcurrencyPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.StackSetMaxConcurrencyPercentage):void 0),ret.addPropertyResult("stackSetOperationType","StackSetOperationType",properties.StackSetOperationType!=null?cfn_parse().FromCloudFormation.getString(properties.StackSetOperationType):void 0),ret.addPropertyResult("stackSetRegions","StackSetRegions",properties.StackSetRegions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StackSetRegions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCloudFormationProvisionedProductPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("notificationArns",cdk().listValidator(cdk().validateString))(properties.notificationArns)),errors.collect(cdk().propertyValidator("pathId",cdk().validateString)(properties.pathId)),errors.collect(cdk().propertyValidator("pathName",cdk().validateString)(properties.pathName)),errors.collect(cdk().propertyValidator("productId",cdk().validateString)(properties.productId)),errors.collect(cdk().propertyValidator("productName",cdk().validateString)(properties.productName)),errors.collect(cdk().propertyValidator("provisionedProductName",cdk().validateString)(properties.provisionedProductName)),errors.collect(cdk().propertyValidator("provisioningArtifactId",cdk().validateString)(properties.provisioningArtifactId)),errors.collect(cdk().propertyValidator("provisioningArtifactName",cdk().validateString)(properties.provisioningArtifactName)),errors.collect(cdk().propertyValidator("provisioningParameters",cdk().listValidator(CfnCloudFormationProvisionedProductProvisioningParameterPropertyValidator))(properties.provisioningParameters)),errors.collect(cdk().propertyValidator("provisioningPreferences",CfnCloudFormationProvisionedProductProvisioningPreferencesPropertyValidator)(properties.provisioningPreferences)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnCloudFormationProvisionedProductProps"')}function convertCfnCloudFormationProvisionedProductPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCloudFormationProvisionedProductPropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),NotificationArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.notificationArns),PathId:cdk().stringToCloudFormation(properties.pathId),PathName:cdk().stringToCloudFormation(properties.pathName),ProductId:cdk().stringToCloudFormation(properties.productId),ProductName:cdk().stringToCloudFormation(properties.productName),ProvisionedProductName:cdk().stringToCloudFormation(properties.provisionedProductName),ProvisioningArtifactId:cdk().stringToCloudFormation(properties.provisioningArtifactId),ProvisioningArtifactName:cdk().stringToCloudFormation(properties.provisioningArtifactName),ProvisioningParameters:cdk().listMapper(convertCfnCloudFormationProvisionedProductProvisioningParameterPropertyToCloudFormation)(properties.provisioningParameters),ProvisioningPreferences:convertCfnCloudFormationProvisionedProductProvisioningPreferencesPropertyToCloudFormation(properties.provisioningPreferences),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnCloudFormationProvisionedProductPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("notificationArns","NotificationArns",properties.NotificationArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.NotificationArns):void 0),ret.addPropertyResult("pathId","PathId",properties.PathId!=null?cfn_parse().FromCloudFormation.getString(properties.PathId):void 0),ret.addPropertyResult("pathName","PathName",properties.PathName!=null?cfn_parse().FromCloudFormation.getString(properties.PathName):void 0),ret.addPropertyResult("productId","ProductId",properties.ProductId!=null?cfn_parse().FromCloudFormation.getString(properties.ProductId):void 0),ret.addPropertyResult("productName","ProductName",properties.ProductName!=null?cfn_parse().FromCloudFormation.getString(properties.ProductName):void 0),ret.addPropertyResult("provisionedProductName","ProvisionedProductName",properties.ProvisionedProductName!=null?cfn_parse().FromCloudFormation.getString(properties.ProvisionedProductName):void 0),ret.addPropertyResult("provisioningArtifactId","ProvisioningArtifactId",properties.ProvisioningArtifactId!=null?cfn_parse().FromCloudFormation.getString(properties.ProvisioningArtifactId):void 0),ret.addPropertyResult("provisioningArtifactName","ProvisioningArtifactName",properties.ProvisioningArtifactName!=null?cfn_parse().FromCloudFormation.getString(properties.ProvisioningArtifactName):void 0),ret.addPropertyResult("provisioningParameters","ProvisioningParameters",properties.ProvisioningParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnCloudFormationProvisionedProductProvisioningParameterPropertyFromCloudFormation)(properties.ProvisioningParameters):void 0),ret.addPropertyResult("provisioningPreferences","ProvisioningPreferences",properties.ProvisioningPreferences!=null?CfnCloudFormationProvisionedProductProvisioningPreferencesPropertyFromCloudFormation(properties.ProvisioningPreferences):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnLaunchNotificationConstraint extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnLaunchNotificationConstraint",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::LaunchNotificationConstraint";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLaunchNotificationConstraintPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLaunchNotificationConstraint(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnLaunchNotificationConstraint(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLaunchNotificationConstraint.CFN_RESOURCE_TYPE_NAME}_acceptLanguage;_description;_notificationArns;_portfolioId;_productId;cfnPropertyNames={acceptLanguage:"AcceptLanguage",description:"Description",notificationArns:"NotificationArns",portfolioId:"PortfolioId",productId:"ProductId"};constructor(scope,id,props){super(scope,id,{type:CfnLaunchNotificationConstraint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnLaunchNotificationConstraintProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLaunchNotificationConstraint),error}cdk().requireProperty(props,"notificationArns",this),cdk().requireProperty(props,"portfolioId",this),cdk().requireProperty(props,"productId",this),this._acceptLanguage=props.acceptLanguage,this._description=props.description,this._notificationArns=props.notificationArns,this._portfolioId=props.portfolioId,this._productId=props.productId}get launchNotificationConstraintRef(){return{launchNotificationConstraintId:this.ref}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get notificationArns(){return this._notificationArns}set notificationArns(value){cdk().traceProperty(this.node,"NotificationArns"),this._notificationArns=value}get portfolioId(){return this._portfolioId}set portfolioId(value){cdk().traceProperty(this.node,"PortfolioId"),this._portfolioId=value}get productId(){return this._productId}set productId(value){cdk().traceProperty(this.node,"ProductId"),this._productId=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,description:this._description,notificationArns:this._notificationArns,portfolioId:this._portfolioId,productId:this._productId}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnLaunchNotificationConstraint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLaunchNotificationConstraintPropsToCloudFormation(props)}}exports.CfnLaunchNotificationConstraint=CfnLaunchNotificationConstraint;function CfnLaunchNotificationConstraintPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("notificationArns",cdk().requiredValidator)(properties.notificationArns)),errors.collect(cdk().propertyValidator("notificationArns",cdk().listValidator(cdk().validateString))(properties.notificationArns)),errors.collect(cdk().propertyValidator("portfolioId",cdk().requiredValidator)(properties.portfolioId)),errors.collect(cdk().propertyValidator("portfolioId",cdk().validateString)(properties.portfolioId)),errors.collect(cdk().propertyValidator("productId",cdk().requiredValidator)(properties.productId)),errors.collect(cdk().propertyValidator("productId",cdk().validateString)(properties.productId)),errors.wrap('supplied properties not correct for "CfnLaunchNotificationConstraintProps"')}function convertCfnLaunchNotificationConstraintPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLaunchNotificationConstraintPropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),Description:cdk().stringToCloudFormation(properties.description),NotificationArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.notificationArns),PortfolioId:cdk().stringToCloudFormation(properties.portfolioId),ProductId:cdk().stringToCloudFormation(properties.productId)}):properties}function CfnLaunchNotificationConstraintPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("notificationArns","NotificationArns",properties.NotificationArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.NotificationArns):void 0),ret.addPropertyResult("portfolioId","PortfolioId",properties.PortfolioId!=null?cfn_parse().FromCloudFormation.getString(properties.PortfolioId):void 0),ret.addPropertyResult("productId","ProductId",properties.ProductId!=null?cfn_parse().FromCloudFormation.getString(properties.ProductId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnLaunchRoleConstraint extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnLaunchRoleConstraint",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::LaunchRoleConstraint";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLaunchRoleConstraintPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLaunchRoleConstraint(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnLaunchRoleConstraint(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLaunchRoleConstraint.CFN_RESOURCE_TYPE_NAME}_acceptLanguage;_description;_localRoleName;_portfolioId;_productId;_roleArn;cfnPropertyNames={acceptLanguage:"AcceptLanguage",description:"Description",localRoleName:"LocalRoleName",portfolioId:"PortfolioId",productId:"ProductId",roleArn:"RoleArn"};constructor(scope,id,props){super(scope,id,{type:CfnLaunchRoleConstraint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnLaunchRoleConstraintProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLaunchRoleConstraint),error}cdk().requireProperty(props,"portfolioId",this),cdk().requireProperty(props,"productId",this),this._acceptLanguage=props.acceptLanguage,this._description=props.description,this._localRoleName=props.localRoleName,this._portfolioId=props.portfolioId,this._productId=props.productId,this._roleArn=props.roleArn}get launchRoleConstraintRef(){return{launchRoleConstraintId:this.ref}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get localRoleName(){return this._localRoleName}set localRoleName(value){cdk().traceProperty(this.node,"LocalRoleName"),this._localRoleName=value}get portfolioId(){return this._portfolioId}set portfolioId(value){cdk().traceProperty(this.node,"PortfolioId"),this._portfolioId=value}get productId(){return this._productId}set productId(value){cdk().traceProperty(this.node,"ProductId"),this._productId=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,description:this._description,localRoleName:this._localRoleName,portfolioId:this._portfolioId,productId:this._productId,roleArn:this._roleArn}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnLaunchRoleConstraint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLaunchRoleConstraintPropsToCloudFormation(props)}}exports.CfnLaunchRoleConstraint=CfnLaunchRoleConstraint;function CfnLaunchRoleConstraintPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("localRoleName",cdk().validateString)(properties.localRoleName)),errors.collect(cdk().propertyValidator("portfolioId",cdk().requiredValidator)(properties.portfolioId)),errors.collect(cdk().propertyValidator("portfolioId",cdk().validateString)(properties.portfolioId)),errors.collect(cdk().propertyValidator("productId",cdk().requiredValidator)(properties.productId)),errors.collect(cdk().propertyValidator("productId",cdk().validateString)(properties.productId)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "CfnLaunchRoleConstraintProps"')}function convertCfnLaunchRoleConstraintPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLaunchRoleConstraintPropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),Description:cdk().stringToCloudFormation(properties.description),LocalRoleName:cdk().stringToCloudFormation(properties.localRoleName),PortfolioId:cdk().stringToCloudFormation(properties.portfolioId),ProductId:cdk().stringToCloudFormation(properties.productId),RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnLaunchRoleConstraintPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("localRoleName","LocalRoleName",properties.LocalRoleName!=null?cfn_parse().FromCloudFormation.getString(properties.LocalRoleName):void 0),ret.addPropertyResult("portfolioId","PortfolioId",properties.PortfolioId!=null?cfn_parse().FromCloudFormation.getString(properties.PortfolioId):void 0),ret.addPropertyResult("productId","ProductId",properties.ProductId!=null?cfn_parse().FromCloudFormation.getString(properties.ProductId):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnLaunchTemplateConstraint extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnLaunchTemplateConstraint",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::LaunchTemplateConstraint";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLaunchTemplateConstraintPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLaunchTemplateConstraint(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnLaunchTemplateConstraint(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLaunchTemplateConstraint.CFN_RESOURCE_TYPE_NAME}_acceptLanguage;_description;_portfolioId;_productId;_rules;cfnPropertyNames={acceptLanguage:"AcceptLanguage",description:"Description",portfolioId:"PortfolioId",productId:"ProductId",rules:"Rules"};constructor(scope,id,props){super(scope,id,{type:CfnLaunchTemplateConstraint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnLaunchTemplateConstraintProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLaunchTemplateConstraint),error}cdk().requireProperty(props,"portfolioId",this),cdk().requireProperty(props,"productId",this),cdk().requireProperty(props,"rules",this),this._acceptLanguage=props.acceptLanguage,this._description=props.description,this._portfolioId=props.portfolioId,this._productId=props.productId,this._rules=props.rules}get launchTemplateConstraintRef(){return{launchTemplateConstraintId:this.ref}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get portfolioId(){return this._portfolioId}set portfolioId(value){cdk().traceProperty(this.node,"PortfolioId"),this._portfolioId=value}get productId(){return this._productId}set productId(value){cdk().traceProperty(this.node,"ProductId"),this._productId=value}get rules(){return this._rules}set rules(value){cdk().traceProperty(this.node,"Rules"),this._rules=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,description:this._description,portfolioId:this._portfolioId,productId:this._productId,rules:this._rules}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnLaunchTemplateConstraint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLaunchTemplateConstraintPropsToCloudFormation(props)}}exports.CfnLaunchTemplateConstraint=CfnLaunchTemplateConstraint;function CfnLaunchTemplateConstraintPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("portfolioId",cdk().requiredValidator)(properties.portfolioId)),errors.collect(cdk().propertyValidator("portfolioId",cdk().validateString)(properties.portfolioId)),errors.collect(cdk().propertyValidator("productId",cdk().requiredValidator)(properties.productId)),errors.collect(cdk().propertyValidator("productId",cdk().validateString)(properties.productId)),errors.collect(cdk().propertyValidator("rules",cdk().requiredValidator)(properties.rules)),errors.collect(cdk().propertyValidator("rules",cdk().validateString)(properties.rules)),errors.wrap('supplied properties not correct for "CfnLaunchTemplateConstraintProps"')}function convertCfnLaunchTemplateConstraintPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLaunchTemplateConstraintPropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),Description:cdk().stringToCloudFormation(properties.description),PortfolioId:cdk().stringToCloudFormation(properties.portfolioId),ProductId:cdk().stringToCloudFormation(properties.productId),Rules:cdk().stringToCloudFormation(properties.rules)}):properties}function CfnLaunchTemplateConstraintPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("portfolioId","PortfolioId",properties.PortfolioId!=null?cfn_parse().FromCloudFormation.getString(properties.PortfolioId):void 0),ret.addPropertyResult("productId","ProductId",properties.ProductId!=null?cfn_parse().FromCloudFormation.getString(properties.ProductId):void 0),ret.addPropertyResult("rules","Rules",properties.Rules!=null?cfn_parse().FromCloudFormation.getString(properties.Rules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPortfolio extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnPortfolio",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::Portfolio";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPortfolioPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPortfolio(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnPortfolio(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPortfolio.CFN_RESOURCE_TYPE_NAME}static fromPortfolioId(scope,id,portfolioId){class Import extends cdk().Resource{portfolioRef;constructor(scope2,id2,portfolioId2){super(scope2,id2),this.portfolioRef={portfolioId:portfolioId2}}}return new Import(scope,id,portfolioId)}static arnForPortfolio(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_servicecatalog_IPortfolioRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPortfolio),error}return new(cfn_parse()).TemplateString("arn:${Partition}:catalog:${Region}:${Account}:portfolio/${PortfolioId}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,PortfolioId:resource.portfolioRef.portfolioId})}_acceptLanguage;_description;_displayName;_providerName;tags;_tagsRaw;cfnPropertyNames={acceptLanguage:"AcceptLanguage",description:"Description",displayName:"DisplayName",providerName:"ProviderName",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnPortfolio.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnPortfolioProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPortfolio),error}cdk().requireProperty(props,"displayName",this),cdk().requireProperty(props,"providerName",this),this._acceptLanguage=props.acceptLanguage,this._description=props.description,this._displayName=props.displayName,this._providerName=props.providerName,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ServiceCatalog::Portfolio",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get portfolioRef(){return{portfolioId:this.ref}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get displayName(){return this._displayName}set displayName(value){cdk().traceProperty(this.node,"DisplayName"),this._displayName=value}get providerName(){return this._providerName}set providerName(value){cdk().traceProperty(this.node,"ProviderName"),this._providerName=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrPortfolioName(){return cdk().Token.asString(this.getAtt("PortfolioName",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,description:this._description,displayName:this._displayName,providerName:this._providerName,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnPortfolio.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPortfolioPropsToCloudFormation(props)}}exports.CfnPortfolio=CfnPortfolio;function CfnPortfolioPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("displayName",cdk().requiredValidator)(properties.displayName)),errors.collect(cdk().propertyValidator("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("providerName",cdk().requiredValidator)(properties.providerName)),errors.collect(cdk().propertyValidator("providerName",cdk().validateString)(properties.providerName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnPortfolioProps"')}function convertCfnPortfolioPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPortfolioPropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),Description:cdk().stringToCloudFormation(properties.description),DisplayName:cdk().stringToCloudFormation(properties.displayName),ProviderName:cdk().stringToCloudFormation(properties.providerName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnPortfolioPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("providerName","ProviderName",properties.ProviderName!=null?cfn_parse().FromCloudFormation.getString(properties.ProviderName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPortfolioPrincipalAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnPortfolioPrincipalAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::PortfolioPrincipalAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPortfolioPrincipalAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPortfolioPrincipalAssociation(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnPortfolioPrincipalAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPortfolioPrincipalAssociation.CFN_RESOURCE_TYPE_NAME}_acceptLanguage;_portfolioId;_principalArn;_principalType;cfnPropertyNames={acceptLanguage:"AcceptLanguage",portfolioId:"PortfolioId",principalArn:"PrincipalARN",principalType:"PrincipalType"};constructor(scope,id,props){super(scope,id,{type:CfnPortfolioPrincipalAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnPortfolioPrincipalAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPortfolioPrincipalAssociation),error}cdk().requireProperty(props,"principalType",this),this._acceptLanguage=props.acceptLanguage,this._portfolioId=props.portfolioId,this._principalArn=props.principalArn,this._principalType=props.principalType}get portfolioPrincipalAssociationRef(){return{portfolioId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),principalArn:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get portfolioId(){return this._portfolioId}set portfolioId(value){cdk().traceProperty(this.node,"PortfolioId"),this._portfolioId=value}get principalArn(){return this._principalArn}set principalArn(value){cdk().traceProperty(this.node,"PrincipalARN"),this._principalArn=value}get principalType(){return this._principalType}set principalType(value){cdk().traceProperty(this.node,"PrincipalType"),this._principalType=value}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,portfolioId:this._portfolioId,principalArn:this._principalArn,principalType:this._principalType}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnPortfolioPrincipalAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPortfolioPrincipalAssociationPropsToCloudFormation(props)}}exports.CfnPortfolioPrincipalAssociation=CfnPortfolioPrincipalAssociation;function CfnPortfolioPrincipalAssociationPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("portfolioId",cdk().validateString)(properties.portfolioId)),errors.collect(cdk().propertyValidator("principalArn",cdk().validateString)(properties.principalArn)),errors.collect(cdk().propertyValidator("principalType",cdk().requiredValidator)(properties.principalType)),errors.collect(cdk().propertyValidator("principalType",cdk().validateString)(properties.principalType)),errors.wrap('supplied properties not correct for "CfnPortfolioPrincipalAssociationProps"')}function convertCfnPortfolioPrincipalAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPortfolioPrincipalAssociationPropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),PortfolioId:cdk().stringToCloudFormation(properties.portfolioId),PrincipalARN:cdk().stringToCloudFormation(properties.principalArn),PrincipalType:cdk().stringToCloudFormation(properties.principalType)}):properties}function CfnPortfolioPrincipalAssociationPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("portfolioId","PortfolioId",properties.PortfolioId!=null?cfn_parse().FromCloudFormation.getString(properties.PortfolioId):void 0),ret.addPropertyResult("principalArn","PrincipalARN",properties.PrincipalARN!=null?cfn_parse().FromCloudFormation.getString(properties.PrincipalARN):void 0),ret.addPropertyResult("principalType","PrincipalType",properties.PrincipalType!=null?cfn_parse().FromCloudFormation.getString(properties.PrincipalType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPortfolioProductAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnPortfolioProductAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::PortfolioProductAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPortfolioProductAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPortfolioProductAssociation(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnPortfolioProductAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPortfolioProductAssociation.CFN_RESOURCE_TYPE_NAME}_acceptLanguage;_portfolioId;_productId;_sourcePortfolioId;cfnPropertyNames={acceptLanguage:"AcceptLanguage",portfolioId:"PortfolioId",productId:"ProductId",sourcePortfolioId:"SourcePortfolioId"};constructor(scope,id,props={}){super(scope,id,{type:CfnPortfolioProductAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnPortfolioProductAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPortfolioProductAssociation),error}this._acceptLanguage=props.acceptLanguage,this._portfolioId=props.portfolioId,this._productId=props.productId,this._sourcePortfolioId=props.sourcePortfolioId}get portfolioProductAssociationRef(){return{portfolioId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),productId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get portfolioId(){return this._portfolioId}set portfolioId(value){cdk().traceProperty(this.node,"PortfolioId"),this._portfolioId=value}get productId(){return this._productId}set productId(value){cdk().traceProperty(this.node,"ProductId"),this._productId=value}get sourcePortfolioId(){return this._sourcePortfolioId}set sourcePortfolioId(value){cdk().traceProperty(this.node,"SourcePortfolioId"),this._sourcePortfolioId=value}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,portfolioId:this._portfolioId,productId:this._productId,sourcePortfolioId:this._sourcePortfolioId}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnPortfolioProductAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPortfolioProductAssociationPropsToCloudFormation(props)}}exports.CfnPortfolioProductAssociation=CfnPortfolioProductAssociation;function CfnPortfolioProductAssociationPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("portfolioId",cdk().validateString)(properties.portfolioId)),errors.collect(cdk().propertyValidator("productId",cdk().validateString)(properties.productId)),errors.collect(cdk().propertyValidator("sourcePortfolioId",cdk().validateString)(properties.sourcePortfolioId)),errors.wrap('supplied properties not correct for "CfnPortfolioProductAssociationProps"')}function convertCfnPortfolioProductAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPortfolioProductAssociationPropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),PortfolioId:cdk().stringToCloudFormation(properties.portfolioId),ProductId:cdk().stringToCloudFormation(properties.productId),SourcePortfolioId:cdk().stringToCloudFormation(properties.sourcePortfolioId)}):properties}function CfnPortfolioProductAssociationPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("portfolioId","PortfolioId",properties.PortfolioId!=null?cfn_parse().FromCloudFormation.getString(properties.PortfolioId):void 0),ret.addPropertyResult("productId","ProductId",properties.ProductId!=null?cfn_parse().FromCloudFormation.getString(properties.ProductId):void 0),ret.addPropertyResult("sourcePortfolioId","SourcePortfolioId",properties.SourcePortfolioId!=null?cfn_parse().FromCloudFormation.getString(properties.SourcePortfolioId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPortfolioShare extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnPortfolioShare",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::PortfolioShare";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPortfolioSharePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPortfolioShare(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnPortfolioShare(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPortfolioShare.CFN_RESOURCE_TYPE_NAME}_acceptLanguage;_accountId;_portfolioId;_shareTagOptions;cfnPropertyNames={acceptLanguage:"AcceptLanguage",accountId:"AccountId",portfolioId:"PortfolioId",shareTagOptions:"ShareTagOptions"};constructor(scope,id,props){super(scope,id,{type:CfnPortfolioShare.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnPortfolioShareProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPortfolioShare),error}cdk().requireProperty(props,"accountId",this),cdk().requireProperty(props,"portfolioId",this),this._acceptLanguage=props.acceptLanguage,this._accountId=props.accountId,this._portfolioId=props.portfolioId,this._shareTagOptions=props.shareTagOptions}get portfolioShareRef(){return{portfolioId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),accountId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get accountId(){return this._accountId}set accountId(value){cdk().traceProperty(this.node,"AccountId"),this._accountId=value}get portfolioId(){return this._portfolioId}set portfolioId(value){cdk().traceProperty(this.node,"PortfolioId"),this._portfolioId=value}get shareTagOptions(){return this._shareTagOptions}set shareTagOptions(value){cdk().traceProperty(this.node,"ShareTagOptions"),this._shareTagOptions=value}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,accountId:this._accountId,portfolioId:this._portfolioId,shareTagOptions:this._shareTagOptions}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnPortfolioShare.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPortfolioSharePropsToCloudFormation(props)}}exports.CfnPortfolioShare=CfnPortfolioShare;function CfnPortfolioSharePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("accountId",cdk().requiredValidator)(properties.accountId)),errors.collect(cdk().propertyValidator("accountId",cdk().validateString)(properties.accountId)),errors.collect(cdk().propertyValidator("portfolioId",cdk().requiredValidator)(properties.portfolioId)),errors.collect(cdk().propertyValidator("portfolioId",cdk().validateString)(properties.portfolioId)),errors.collect(cdk().propertyValidator("shareTagOptions",cdk().validateBoolean)(properties.shareTagOptions)),errors.wrap('supplied properties not correct for "CfnPortfolioShareProps"')}function convertCfnPortfolioSharePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPortfolioSharePropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),AccountId:cdk().stringToCloudFormation(properties.accountId),PortfolioId:cdk().stringToCloudFormation(properties.portfolioId),ShareTagOptions:cdk().booleanToCloudFormation(properties.shareTagOptions)}):properties}function CfnPortfolioSharePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("accountId","AccountId",properties.AccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AccountId):void 0),ret.addPropertyResult("portfolioId","PortfolioId",properties.PortfolioId!=null?cfn_parse().FromCloudFormation.getString(properties.PortfolioId):void 0),ret.addPropertyResult("shareTagOptions","ShareTagOptions",properties.ShareTagOptions!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ShareTagOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResourceUpdateConstraint extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnResourceUpdateConstraint",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::ResourceUpdateConstraint";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResourceUpdateConstraintPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResourceUpdateConstraint(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnResourceUpdateConstraint(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResourceUpdateConstraint.CFN_RESOURCE_TYPE_NAME}_acceptLanguage;_description;_portfolioId;_productId;_tagUpdateOnProvisionedProduct;cfnPropertyNames={acceptLanguage:"AcceptLanguage",description:"Description",portfolioId:"PortfolioId",productId:"ProductId",tagUpdateOnProvisionedProduct:"TagUpdateOnProvisionedProduct"};constructor(scope,id,props){super(scope,id,{type:CfnResourceUpdateConstraint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnResourceUpdateConstraintProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResourceUpdateConstraint),error}cdk().requireProperty(props,"portfolioId",this),cdk().requireProperty(props,"productId",this),cdk().requireProperty(props,"tagUpdateOnProvisionedProduct",this),this._acceptLanguage=props.acceptLanguage,this._description=props.description,this._portfolioId=props.portfolioId,this._productId=props.productId,this._tagUpdateOnProvisionedProduct=props.tagUpdateOnProvisionedProduct}get resourceUpdateConstraintRef(){return{resourceUpdateConstraintId:this.ref}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get portfolioId(){return this._portfolioId}set portfolioId(value){cdk().traceProperty(this.node,"PortfolioId"),this._portfolioId=value}get productId(){return this._productId}set productId(value){cdk().traceProperty(this.node,"ProductId"),this._productId=value}get tagUpdateOnProvisionedProduct(){return this._tagUpdateOnProvisionedProduct}set tagUpdateOnProvisionedProduct(value){cdk().traceProperty(this.node,"TagUpdateOnProvisionedProduct"),this._tagUpdateOnProvisionedProduct=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,description:this._description,portfolioId:this._portfolioId,productId:this._productId,tagUpdateOnProvisionedProduct:this._tagUpdateOnProvisionedProduct}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnResourceUpdateConstraint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResourceUpdateConstraintPropsToCloudFormation(props)}}exports.CfnResourceUpdateConstraint=CfnResourceUpdateConstraint;function CfnResourceUpdateConstraintPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("portfolioId",cdk().requiredValidator)(properties.portfolioId)),errors.collect(cdk().propertyValidator("portfolioId",cdk().validateString)(properties.portfolioId)),errors.collect(cdk().propertyValidator("productId",cdk().requiredValidator)(properties.productId)),errors.collect(cdk().propertyValidator("productId",cdk().validateString)(properties.productId)),errors.collect(cdk().propertyValidator("tagUpdateOnProvisionedProduct",cdk().requiredValidator)(properties.tagUpdateOnProvisionedProduct)),errors.collect(cdk().propertyValidator("tagUpdateOnProvisionedProduct",cdk().validateString)(properties.tagUpdateOnProvisionedProduct)),errors.wrap('supplied properties not correct for "CfnResourceUpdateConstraintProps"')}function convertCfnResourceUpdateConstraintPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceUpdateConstraintPropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),Description:cdk().stringToCloudFormation(properties.description),PortfolioId:cdk().stringToCloudFormation(properties.portfolioId),ProductId:cdk().stringToCloudFormation(properties.productId),TagUpdateOnProvisionedProduct:cdk().stringToCloudFormation(properties.tagUpdateOnProvisionedProduct)}):properties}function CfnResourceUpdateConstraintPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("portfolioId","PortfolioId",properties.PortfolioId!=null?cfn_parse().FromCloudFormation.getString(properties.PortfolioId):void 0),ret.addPropertyResult("productId","ProductId",properties.ProductId!=null?cfn_parse().FromCloudFormation.getString(properties.ProductId):void 0),ret.addPropertyResult("tagUpdateOnProvisionedProduct","TagUpdateOnProvisionedProduct",properties.TagUpdateOnProvisionedProduct!=null?cfn_parse().FromCloudFormation.getString(properties.TagUpdateOnProvisionedProduct):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnServiceAction extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnServiceAction",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::ServiceAction";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnServiceActionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnServiceAction(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnServiceAction(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnServiceAction.CFN_RESOURCE_TYPE_NAME}_acceptLanguage;_definition;_definitionType;_description;_name;cfnPropertyNames={acceptLanguage:"AcceptLanguage",definition:"Definition",definitionType:"DefinitionType",description:"Description",name:"Name"};constructor(scope,id,props){super(scope,id,{type:CfnServiceAction.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnServiceActionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnServiceAction),error}cdk().requireProperty(props,"definition",this),cdk().requireProperty(props,"definitionType",this),cdk().requireProperty(props,"name",this),this._acceptLanguage=props.acceptLanguage,this._definition=props.definition,this._definitionType=props.definitionType,this._description=props.description,this._name=props.name}get serviceActionRef(){return{serviceActionId:this.ref}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get definition(){return this._definition}set definition(value){cdk().traceProperty(this.node,"Definition"),this._definition=value}get definitionType(){return this._definitionType}set definitionType(value){cdk().traceProperty(this.node,"DefinitionType"),this._definitionType=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,definition:this._definition,definitionType:this._definitionType,description:this._description,name:this._name}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnServiceAction.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnServiceActionPropsToCloudFormation(props)}}exports.CfnServiceAction=CfnServiceAction;function CfnServiceActionDefinitionParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "DefinitionParameterProperty"')}function convertCfnServiceActionDefinitionParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceActionDefinitionParameterPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnServiceActionDefinitionParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceActionPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("definition",cdk().requiredValidator)(properties.definition)),errors.collect(cdk().propertyValidator("definition",cdk().listValidator(CfnServiceActionDefinitionParameterPropertyValidator))(properties.definition)),errors.collect(cdk().propertyValidator("definitionType",cdk().requiredValidator)(properties.definitionType)),errors.collect(cdk().propertyValidator("definitionType",cdk().validateString)(properties.definitionType)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "CfnServiceActionProps"')}function convertCfnServiceActionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceActionPropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),Definition:cdk().listMapper(convertCfnServiceActionDefinitionParameterPropertyToCloudFormation)(properties.definition),DefinitionType:cdk().stringToCloudFormation(properties.definitionType),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnServiceActionPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("definition","Definition",properties.Definition!=null?cfn_parse().FromCloudFormation.getArray(CfnServiceActionDefinitionParameterPropertyFromCloudFormation)(properties.Definition):void 0),ret.addPropertyResult("definitionType","DefinitionType",properties.DefinitionType!=null?cfn_parse().FromCloudFormation.getString(properties.DefinitionType):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnServiceActionAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnServiceActionAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::ServiceActionAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnServiceActionAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnServiceActionAssociation(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnServiceActionAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnServiceActionAssociation.CFN_RESOURCE_TYPE_NAME}_productId;_provisioningArtifactId;_serviceActionId;cfnPropertyNames={productId:"ProductId",provisioningArtifactId:"ProvisioningArtifactId",serviceActionId:"ServiceActionId"};constructor(scope,id,props){super(scope,id,{type:CfnServiceActionAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnServiceActionAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnServiceActionAssociation),error}cdk().requireProperty(props,"productId",this),cdk().requireProperty(props,"provisioningArtifactId",this),cdk().requireProperty(props,"serviceActionId",this),this._productId=props.productId,this._provisioningArtifactId=props.provisioningArtifactId,this._serviceActionId=cdk().getRefProperty(props.serviceActionId?.serviceActionRef,"serviceActionId")??cdk().ensureStringOrUndefined(props.serviceActionId,"serviceActionId","servicecatalog.IServiceActionRef | string")}get serviceActionAssociationRef(){return{productId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),provisioningArtifactId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),serviceActionId:cdk().Fn.select(2,cdk().Fn.split("|",this.ref))}}get productId(){return this._productId}set productId(value){cdk().traceProperty(this.node,"ProductId"),this._productId=value}get provisioningArtifactId(){return this._provisioningArtifactId}set provisioningArtifactId(value){cdk().traceProperty(this.node,"ProvisioningArtifactId"),this._provisioningArtifactId=value}get serviceActionId(){return this._serviceActionId}set serviceActionId(value){cdk().traceProperty(this.node,"ServiceActionId"),this._serviceActionId=value}get cfnProperties(){return{productId:this._productId,provisioningArtifactId:this._provisioningArtifactId,serviceActionId:this._serviceActionId}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnServiceActionAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnServiceActionAssociationPropsToCloudFormation(props)}}exports.CfnServiceActionAssociation=CfnServiceActionAssociation;function CfnServiceActionAssociationPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("productId",cdk().requiredValidator)(properties.productId)),errors.collect(cdk().propertyValidator("productId",cdk().validateString)(properties.productId)),errors.collect(cdk().propertyValidator("provisioningArtifactId",cdk().requiredValidator)(properties.provisioningArtifactId)),errors.collect(cdk().propertyValidator("provisioningArtifactId",cdk().validateString)(properties.provisioningArtifactId)),errors.collect(cdk().propertyValidator("serviceActionId",cdk().requiredValidator)(properties.serviceActionId)),errors.collect(cdk().propertyValidator("serviceActionId",cdk().validateString)(properties.serviceActionId)),errors.wrap('supplied properties not correct for "CfnServiceActionAssociationProps"')}function convertCfnServiceActionAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceActionAssociationPropsValidator(properties).assertSuccess(),{ProductId:cdk().stringToCloudFormation(properties.productId),ProvisioningArtifactId:cdk().stringToCloudFormation(properties.provisioningArtifactId),ServiceActionId:cdk().stringToCloudFormation(properties.serviceActionId)}):properties}function CfnServiceActionAssociationPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("productId","ProductId",properties.ProductId!=null?cfn_parse().FromCloudFormation.getString(properties.ProductId):void 0),ret.addPropertyResult("provisioningArtifactId","ProvisioningArtifactId",properties.ProvisioningArtifactId!=null?cfn_parse().FromCloudFormation.getString(properties.ProvisioningArtifactId):void 0),ret.addPropertyResult("serviceActionId","ServiceActionId",properties.ServiceActionId!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceActionId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStackSetConstraint extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnStackSetConstraint",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::StackSetConstraint";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStackSetConstraintPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnStackSetConstraint(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnStackSetConstraint(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnStackSetConstraint.CFN_RESOURCE_TYPE_NAME}_acceptLanguage;_accountList;_adminRole;_description;_executionRole;_portfolioId;_productId;_regionList;_stackInstanceControl;cfnPropertyNames={acceptLanguage:"AcceptLanguage",accountList:"AccountList",adminRole:"AdminRole",description:"Description",executionRole:"ExecutionRole",portfolioId:"PortfolioId",productId:"ProductId",regionList:"RegionList",stackInstanceControl:"StackInstanceControl"};constructor(scope,id,props){super(scope,id,{type:CfnStackSetConstraint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnStackSetConstraintProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStackSetConstraint),error}cdk().requireProperty(props,"accountList",this),cdk().requireProperty(props,"adminRole",this),cdk().requireProperty(props,"description",this),cdk().requireProperty(props,"executionRole",this),cdk().requireProperty(props,"portfolioId",this),cdk().requireProperty(props,"productId",this),cdk().requireProperty(props,"regionList",this),cdk().requireProperty(props,"stackInstanceControl",this),this._acceptLanguage=props.acceptLanguage,this._accountList=props.accountList,this._adminRole=props.adminRole,this._description=props.description,this._executionRole=props.executionRole,this._portfolioId=props.portfolioId,this._productId=props.productId,this._regionList=props.regionList,this._stackInstanceControl=props.stackInstanceControl}get stackSetConstraintRef(){return{stackSetConstraintId:this.ref}}get acceptLanguage(){return this._acceptLanguage}set acceptLanguage(value){cdk().traceProperty(this.node,"AcceptLanguage"),this._acceptLanguage=value}get accountList(){return this._accountList}set accountList(value){cdk().traceProperty(this.node,"AccountList"),this._accountList=value}get adminRole(){return this._adminRole}set adminRole(value){cdk().traceProperty(this.node,"AdminRole"),this._adminRole=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get executionRole(){return this._executionRole}set executionRole(value){cdk().traceProperty(this.node,"ExecutionRole"),this._executionRole=value}get portfolioId(){return this._portfolioId}set portfolioId(value){cdk().traceProperty(this.node,"PortfolioId"),this._portfolioId=value}get productId(){return this._productId}set productId(value){cdk().traceProperty(this.node,"ProductId"),this._productId=value}get regionList(){return this._regionList}set regionList(value){cdk().traceProperty(this.node,"RegionList"),this._regionList=value}get stackInstanceControl(){return this._stackInstanceControl}set stackInstanceControl(value){cdk().traceProperty(this.node,"StackInstanceControl"),this._stackInstanceControl=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{acceptLanguage:this._acceptLanguage,accountList:this._accountList,adminRole:this._adminRole,description:this._description,executionRole:this._executionRole,portfolioId:this._portfolioId,productId:this._productId,regionList:this._regionList,stackInstanceControl:this._stackInstanceControl}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnStackSetConstraint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnStackSetConstraintPropsToCloudFormation(props)}}exports.CfnStackSetConstraint=CfnStackSetConstraint;function CfnStackSetConstraintPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptLanguage",cdk().validateString)(properties.acceptLanguage)),errors.collect(cdk().propertyValidator("accountList",cdk().requiredValidator)(properties.accountList)),errors.collect(cdk().propertyValidator("accountList",cdk().listValidator(cdk().validateString))(properties.accountList)),errors.collect(cdk().propertyValidator("adminRole",cdk().requiredValidator)(properties.adminRole)),errors.collect(cdk().propertyValidator("adminRole",cdk().validateString)(properties.adminRole)),errors.collect(cdk().propertyValidator("description",cdk().requiredValidator)(properties.description)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("executionRole",cdk().requiredValidator)(properties.executionRole)),errors.collect(cdk().propertyValidator("executionRole",cdk().validateString)(properties.executionRole)),errors.collect(cdk().propertyValidator("portfolioId",cdk().requiredValidator)(properties.portfolioId)),errors.collect(cdk().propertyValidator("portfolioId",cdk().validateString)(properties.portfolioId)),errors.collect(cdk().propertyValidator("productId",cdk().requiredValidator)(properties.productId)),errors.collect(cdk().propertyValidator("productId",cdk().validateString)(properties.productId)),errors.collect(cdk().propertyValidator("regionList",cdk().requiredValidator)(properties.regionList)),errors.collect(cdk().propertyValidator("regionList",cdk().listValidator(cdk().validateString))(properties.regionList)),errors.collect(cdk().propertyValidator("stackInstanceControl",cdk().requiredValidator)(properties.stackInstanceControl)),errors.collect(cdk().propertyValidator("stackInstanceControl",cdk().validateString)(properties.stackInstanceControl)),errors.wrap('supplied properties not correct for "CfnStackSetConstraintProps"')}function convertCfnStackSetConstraintPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStackSetConstraintPropsValidator(properties).assertSuccess(),{AcceptLanguage:cdk().stringToCloudFormation(properties.acceptLanguage),AccountList:cdk().listMapper(cdk().stringToCloudFormation)(properties.accountList),AdminRole:cdk().stringToCloudFormation(properties.adminRole),Description:cdk().stringToCloudFormation(properties.description),ExecutionRole:cdk().stringToCloudFormation(properties.executionRole),PortfolioId:cdk().stringToCloudFormation(properties.portfolioId),ProductId:cdk().stringToCloudFormation(properties.productId),RegionList:cdk().listMapper(cdk().stringToCloudFormation)(properties.regionList),StackInstanceControl:cdk().stringToCloudFormation(properties.stackInstanceControl)}):properties}function CfnStackSetConstraintPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptLanguage","AcceptLanguage",properties.AcceptLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.AcceptLanguage):void 0),ret.addPropertyResult("accountList","AccountList",properties.AccountList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AccountList):void 0),ret.addPropertyResult("adminRole","AdminRole",properties.AdminRole!=null?cfn_parse().FromCloudFormation.getString(properties.AdminRole):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("executionRole","ExecutionRole",properties.ExecutionRole!=null?cfn_parse().FromCloudFormation.getString(properties.ExecutionRole):void 0),ret.addPropertyResult("portfolioId","PortfolioId",properties.PortfolioId!=null?cfn_parse().FromCloudFormation.getString(properties.PortfolioId):void 0),ret.addPropertyResult("productId","ProductId",properties.ProductId!=null?cfn_parse().FromCloudFormation.getString(properties.ProductId):void 0),ret.addPropertyResult("regionList","RegionList",properties.RegionList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RegionList):void 0),ret.addPropertyResult("stackInstanceControl","StackInstanceControl",properties.StackInstanceControl!=null?cfn_parse().FromCloudFormation.getString(properties.StackInstanceControl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTagOption extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnTagOption",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::TagOption";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTagOptionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTagOption(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnTagOption(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTagOption.CFN_RESOURCE_TYPE_NAME}_active;_key;_value;cfnPropertyNames={active:"Active",key:"Key",value:"Value"};constructor(scope,id,props){super(scope,id,{type:CfnTagOption.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnTagOptionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTagOption),error}cdk().requireProperty(props,"key",this),cdk().requireProperty(props,"value",this),this._active=props.active,this._key=props.key,this._value=props.value}get tagOptionRef(){return{tagOptionId:this.ref}}get active(){return this._active}set active(value){cdk().traceProperty(this.node,"Active"),this._active=value}get key(){return this._key}set key(value){cdk().traceProperty(this.node,"Key"),this._key=value}get value(){return this._value}set value(value){cdk().traceProperty(this.node,"Value"),this._value=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{active:this._active,key:this._key,value:this._value}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnTagOption.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTagOptionPropsToCloudFormation(props)}}exports.CfnTagOption=CfnTagOption;function CfnTagOptionPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("active",cdk().validateBoolean)(properties.active)),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "CfnTagOptionProps"')}function convertCfnTagOptionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTagOptionPropsValidator(properties).assertSuccess(),{Active:cdk().booleanToCloudFormation(properties.active),Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnTagOptionPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("active","Active",properties.Active!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Active):void 0),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTagOptionAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_servicecatalog.CfnTagOptionAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ServiceCatalog::TagOptionAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTagOptionAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTagOptionAssociation(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnTagOptionAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTagOptionAssociation.CFN_RESOURCE_TYPE_NAME}_resourceId;_tagOptionId;cfnPropertyNames={resourceId:"ResourceId",tagOptionId:"TagOptionId"};constructor(scope,id,props={}){super(scope,id,{type:CfnTagOptionAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_servicecatalog_CfnTagOptionAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTagOptionAssociation),error}this._resourceId=props.resourceId,this._tagOptionId=props.tagOptionId}get tagOptionAssociationRef(){return{tagOptionId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),resourceId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get resourceId(){return this._resourceId}set resourceId(value){cdk().traceProperty(this.node,"ResourceId"),this._resourceId=value}get tagOptionId(){return this._tagOptionId}set tagOptionId(value){cdk().traceProperty(this.node,"TagOptionId"),this._tagOptionId=value}get cfnProperties(){return{resourceId:this._resourceId,tagOptionId:this._tagOptionId}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnTagOptionAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTagOptionAssociationPropsToCloudFormation(props)}}exports.CfnTagOptionAssociation=CfnTagOptionAssociation;function CfnTagOptionAssociationPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("resourceId",cdk().validateString)(properties.resourceId)),errors.collect(cdk().propertyValidator("tagOptionId",cdk().validateString)(properties.tagOptionId)),errors.wrap('supplied properties not correct for "CfnTagOptionAssociationProps"')}function convertCfnTagOptionAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTagOptionAssociationPropsValidator(properties).assertSuccess(),{ResourceId:cdk().stringToCloudFormation(properties.resourceId),TagOptionId:cdk().stringToCloudFormation(properties.tagOptionId)}):properties}function CfnTagOptionAssociationPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("resourceId","ResourceId",properties.ResourceId!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceId):void 0),ret.addPropertyResult("tagOptionId","TagOptionId",properties.TagOptionId!=null?cfn_parse().FromCloudFormation.getString(properties.TagOptionId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}