Files
2026-05-06 18:55:16 -05:00

2 lines
141 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnResourcePolicy=exports.CfnResourceDataSync=exports.CfnPatchBaseline=exports.CfnParameter=exports.CfnMaintenanceWindowTask=exports.CfnMaintenanceWindowTarget=exports.CfnMaintenanceWindow=exports.CfnDocument=exports.CfnAssociation=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 CfnAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssm.CfnAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSM::Association";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAssociation(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 isCfnAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAssociation.CFN_RESOURCE_TYPE_NAME}static fromAssociationId(scope,id,associationId){class Import extends cdk().Resource{associationRef;constructor(scope2,id2,associationId2){super(scope2,id2),this.associationRef={associationId:associationId2}}}return new Import(scope,id,associationId)}static arnForAssociation(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_ssm_IAssociationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAssociation),error}return new(cfn_parse()).TemplateString("arn:${Partition}:ssm:${Region}:${Account}:association/${AssociationId}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,AssociationId:resource.associationRef.associationId})}_applyOnlyAtCronInterval;_associationName;_automationTargetParameterName;_calendarNames;_complianceSeverity;_documentVersion;_instanceId;_maxConcurrency;_maxErrors;_name;_outputLocation;_parameters;_scheduleExpression;_scheduleOffset;_syncCompliance;_targets;_waitForSuccessTimeoutSeconds;cfnPropertyNames={applyOnlyAtCronInterval:"ApplyOnlyAtCronInterval",associationName:"AssociationName",automationTargetParameterName:"AutomationTargetParameterName",calendarNames:"CalendarNames",complianceSeverity:"ComplianceSeverity",documentVersion:"DocumentVersion",instanceId:"InstanceId",maxConcurrency:"MaxConcurrency",maxErrors:"MaxErrors",name:"Name",outputLocation:"OutputLocation",parameters:"Parameters",scheduleExpression:"ScheduleExpression",scheduleOffset:"ScheduleOffset",syncCompliance:"SyncCompliance",targets:"Targets",waitForSuccessTimeoutSeconds:"WaitForSuccessTimeoutSeconds"};constructor(scope,id,props){super(scope,id,{type:CfnAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssm_CfnAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAssociation),error}cdk().requireProperty(props,"name",this),this._applyOnlyAtCronInterval=props.applyOnlyAtCronInterval,this._associationName=props.associationName,this._automationTargetParameterName=props.automationTargetParameterName,this._calendarNames=props.calendarNames,this._complianceSeverity=props.complianceSeverity,this._documentVersion=props.documentVersion,this._instanceId=props.instanceId,this._maxConcurrency=props.maxConcurrency,this._maxErrors=props.maxErrors,this._name=cdk().getRefProperty(props.name?.documentRef,"documentName")??cdk().ensureStringOrUndefined(props.name,"name","ssm.IDocumentRef | string"),this._outputLocation=props.outputLocation,this._parameters=props.parameters,this._scheduleExpression=props.scheduleExpression,this._scheduleOffset=props.scheduleOffset,this._syncCompliance=props.syncCompliance,this._targets=props.targets,this._waitForSuccessTimeoutSeconds=props.waitForSuccessTimeoutSeconds}get associationRef(){return{associationId:this.ref}}get applyOnlyAtCronInterval(){return this._applyOnlyAtCronInterval}set applyOnlyAtCronInterval(value){cdk().traceProperty(this.node,"ApplyOnlyAtCronInterval"),this._applyOnlyAtCronInterval=value}get associationName(){return this._associationName}set associationName(value){cdk().traceProperty(this.node,"AssociationName"),this._associationName=value}get automationTargetParameterName(){return this._automationTargetParameterName}set automationTargetParameterName(value){cdk().traceProperty(this.node,"AutomationTargetParameterName"),this._automationTargetParameterName=value}get calendarNames(){return this._calendarNames}set calendarNames(value){cdk().traceProperty(this.node,"CalendarNames"),this._calendarNames=value}get complianceSeverity(){return this._complianceSeverity}set complianceSeverity(value){cdk().traceProperty(this.node,"ComplianceSeverity"),this._complianceSeverity=value}get documentVersion(){return this._documentVersion}set documentVersion(value){cdk().traceProperty(this.node,"DocumentVersion"),this._documentVersion=value}get instanceId(){return this._instanceId}set instanceId(value){cdk().traceProperty(this.node,"InstanceId"),this._instanceId=value}get maxConcurrency(){return this._maxConcurrency}set maxConcurrency(value){cdk().traceProperty(this.node,"MaxConcurrency"),this._maxConcurrency=value}get maxErrors(){return this._maxErrors}set maxErrors(value){cdk().traceProperty(this.node,"MaxErrors"),this._maxErrors=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get outputLocation(){return this._outputLocation}set outputLocation(value){cdk().traceProperty(this.node,"OutputLocation"),this._outputLocation=value}get parameters(){return this._parameters}set parameters(value){cdk().traceProperty(this.node,"Parameters"),this._parameters=value}get scheduleExpression(){return this._scheduleExpression}set scheduleExpression(value){cdk().traceProperty(this.node,"ScheduleExpression"),this._scheduleExpression=value}get scheduleOffset(){return this._scheduleOffset}set scheduleOffset(value){cdk().traceProperty(this.node,"ScheduleOffset"),this._scheduleOffset=value}get syncCompliance(){return this._syncCompliance}set syncCompliance(value){cdk().traceProperty(this.node,"SyncCompliance"),this._syncCompliance=value}get targets(){return this._targets}set targets(value){cdk().traceProperty(this.node,"Targets"),this._targets=value}get waitForSuccessTimeoutSeconds(){return this._waitForSuccessTimeoutSeconds}set waitForSuccessTimeoutSeconds(value){cdk().traceProperty(this.node,"WaitForSuccessTimeoutSeconds"),this._waitForSuccessTimeoutSeconds=value}get attrAssociationId(){return cdk().Token.asString(this.getAtt("AssociationId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{applyOnlyAtCronInterval:this._applyOnlyAtCronInterval,associationName:this._associationName,automationTargetParameterName:this._automationTargetParameterName,calendarNames:this._calendarNames,complianceSeverity:this._complianceSeverity,documentVersion:this._documentVersion,instanceId:this._instanceId,maxConcurrency:this._maxConcurrency,maxErrors:this._maxErrors,name:this._name,outputLocation:this._outputLocation,parameters:this._parameters,scheduleExpression:this._scheduleExpression,scheduleOffset:this._scheduleOffset,syncCompliance:this._syncCompliance,targets:this._targets,waitForSuccessTimeoutSeconds:this._waitForSuccessTimeoutSeconds}}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",CfnAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAssociationPropsToCloudFormation(props)}}exports.CfnAssociation=CfnAssociation;function CfnAssociationTargetPropertyValidator(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("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "TargetProperty"')}function convertCfnAssociationTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationTargetPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnAssociationTargetPropertyFromCloudFormation(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("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationS3OutputLocationPropertyValidator(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("outputS3BucketName",cdk().validateString)(properties.outputS3BucketName)),errors.collect(cdk().propertyValidator("outputS3KeyPrefix",cdk().validateString)(properties.outputS3KeyPrefix)),errors.collect(cdk().propertyValidator("outputS3Region",cdk().validateString)(properties.outputS3Region)),errors.wrap('supplied properties not correct for "S3OutputLocationProperty"')}function convertCfnAssociationS3OutputLocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationS3OutputLocationPropertyValidator(properties).assertSuccess(),{OutputS3BucketName:cdk().stringToCloudFormation(properties.outputS3BucketName),OutputS3KeyPrefix:cdk().stringToCloudFormation(properties.outputS3KeyPrefix),OutputS3Region:cdk().stringToCloudFormation(properties.outputS3Region)}):properties}function CfnAssociationS3OutputLocationPropertyFromCloudFormation(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("outputS3BucketName","OutputS3BucketName",properties.OutputS3BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.OutputS3BucketName):void 0),ret.addPropertyResult("outputS3KeyPrefix","OutputS3KeyPrefix",properties.OutputS3KeyPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.OutputS3KeyPrefix):void 0),ret.addPropertyResult("outputS3Region","OutputS3Region",properties.OutputS3Region!=null?cfn_parse().FromCloudFormation.getString(properties.OutputS3Region):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationInstanceAssociationOutputLocationPropertyValidator(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("s3Location",CfnAssociationS3OutputLocationPropertyValidator)(properties.s3Location)),errors.wrap('supplied properties not correct for "InstanceAssociationOutputLocationProperty"')}function convertCfnAssociationInstanceAssociationOutputLocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationInstanceAssociationOutputLocationPropertyValidator(properties).assertSuccess(),{S3Location:convertCfnAssociationS3OutputLocationPropertyToCloudFormation(properties.s3Location)}):properties}function CfnAssociationInstanceAssociationOutputLocationPropertyFromCloudFormation(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("s3Location","S3Location",properties.S3Location!=null?CfnAssociationS3OutputLocationPropertyFromCloudFormation(properties.S3Location):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationPropsValidator(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("applyOnlyAtCronInterval",cdk().validateBoolean)(properties.applyOnlyAtCronInterval)),errors.collect(cdk().propertyValidator("associationName",cdk().validateString)(properties.associationName)),errors.collect(cdk().propertyValidator("automationTargetParameterName",cdk().validateString)(properties.automationTargetParameterName)),errors.collect(cdk().propertyValidator("calendarNames",cdk().listValidator(cdk().validateString))(properties.calendarNames)),errors.collect(cdk().propertyValidator("complianceSeverity",cdk().validateString)(properties.complianceSeverity)),errors.collect(cdk().propertyValidator("documentVersion",cdk().validateString)(properties.documentVersion)),errors.collect(cdk().propertyValidator("instanceId",cdk().validateString)(properties.instanceId)),errors.collect(cdk().propertyValidator("maxConcurrency",cdk().validateString)(properties.maxConcurrency)),errors.collect(cdk().propertyValidator("maxErrors",cdk().validateString)(properties.maxErrors)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("outputLocation",CfnAssociationInstanceAssociationOutputLocationPropertyValidator)(properties.outputLocation)),errors.collect(cdk().propertyValidator("parameters",cdk().validateObject)(properties.parameters)),errors.collect(cdk().propertyValidator("scheduleExpression",cdk().validateString)(properties.scheduleExpression)),errors.collect(cdk().propertyValidator("scheduleOffset",cdk().validateNumber)(properties.scheduleOffset)),errors.collect(cdk().propertyValidator("syncCompliance",cdk().validateString)(properties.syncCompliance)),errors.collect(cdk().propertyValidator("targets",cdk().listValidator(CfnAssociationTargetPropertyValidator))(properties.targets)),errors.collect(cdk().propertyValidator("waitForSuccessTimeoutSeconds",cdk().validateNumber)(properties.waitForSuccessTimeoutSeconds)),errors.wrap('supplied properties not correct for "CfnAssociationProps"')}function convertCfnAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationPropsValidator(properties).assertSuccess(),{ApplyOnlyAtCronInterval:cdk().booleanToCloudFormation(properties.applyOnlyAtCronInterval),AssociationName:cdk().stringToCloudFormation(properties.associationName),AutomationTargetParameterName:cdk().stringToCloudFormation(properties.automationTargetParameterName),CalendarNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.calendarNames),ComplianceSeverity:cdk().stringToCloudFormation(properties.complianceSeverity),DocumentVersion:cdk().stringToCloudFormation(properties.documentVersion),InstanceId:cdk().stringToCloudFormation(properties.instanceId),MaxConcurrency:cdk().stringToCloudFormation(properties.maxConcurrency),MaxErrors:cdk().stringToCloudFormation(properties.maxErrors),Name:cdk().stringToCloudFormation(properties.name),OutputLocation:convertCfnAssociationInstanceAssociationOutputLocationPropertyToCloudFormation(properties.outputLocation),Parameters:cdk().objectToCloudFormation(properties.parameters),ScheduleExpression:cdk().stringToCloudFormation(properties.scheduleExpression),ScheduleOffset:cdk().numberToCloudFormation(properties.scheduleOffset),SyncCompliance:cdk().stringToCloudFormation(properties.syncCompliance),Targets:cdk().listMapper(convertCfnAssociationTargetPropertyToCloudFormation)(properties.targets),WaitForSuccessTimeoutSeconds:cdk().numberToCloudFormation(properties.waitForSuccessTimeoutSeconds)}):properties}function CfnAssociationPropsFromCloudFormation(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("applyOnlyAtCronInterval","ApplyOnlyAtCronInterval",properties.ApplyOnlyAtCronInterval!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ApplyOnlyAtCronInterval):void 0),ret.addPropertyResult("associationName","AssociationName",properties.AssociationName!=null?cfn_parse().FromCloudFormation.getString(properties.AssociationName):void 0),ret.addPropertyResult("automationTargetParameterName","AutomationTargetParameterName",properties.AutomationTargetParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.AutomationTargetParameterName):void 0),ret.addPropertyResult("calendarNames","CalendarNames",properties.CalendarNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CalendarNames):void 0),ret.addPropertyResult("complianceSeverity","ComplianceSeverity",properties.ComplianceSeverity!=null?cfn_parse().FromCloudFormation.getString(properties.ComplianceSeverity):void 0),ret.addPropertyResult("documentVersion","DocumentVersion",properties.DocumentVersion!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentVersion):void 0),ret.addPropertyResult("instanceId","InstanceId",properties.InstanceId!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceId):void 0),ret.addPropertyResult("maxConcurrency","MaxConcurrency",properties.MaxConcurrency!=null?cfn_parse().FromCloudFormation.getString(properties.MaxConcurrency):void 0),ret.addPropertyResult("maxErrors","MaxErrors",properties.MaxErrors!=null?cfn_parse().FromCloudFormation.getString(properties.MaxErrors):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("outputLocation","OutputLocation",properties.OutputLocation!=null?CfnAssociationInstanceAssociationOutputLocationPropertyFromCloudFormation(properties.OutputLocation):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addPropertyResult("scheduleExpression","ScheduleExpression",properties.ScheduleExpression!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduleExpression):void 0),ret.addPropertyResult("scheduleOffset","ScheduleOffset",properties.ScheduleOffset!=null?cfn_parse().FromCloudFormation.getNumber(properties.ScheduleOffset):void 0),ret.addPropertyResult("syncCompliance","SyncCompliance",properties.SyncCompliance!=null?cfn_parse().FromCloudFormation.getString(properties.SyncCompliance):void 0),ret.addPropertyResult("targets","Targets",properties.Targets!=null?cfn_parse().FromCloudFormation.getArray(CfnAssociationTargetPropertyFromCloudFormation)(properties.Targets):void 0),ret.addPropertyResult("waitForSuccessTimeoutSeconds","WaitForSuccessTimeoutSeconds",properties.WaitForSuccessTimeoutSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.WaitForSuccessTimeoutSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDocument extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssm.CfnDocument",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSM::Document";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDocumentPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDocument(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 isCfnDocument(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDocument.CFN_RESOURCE_TYPE_NAME}static fromDocumentName(scope,id,documentName){class Import extends cdk().Resource{documentRef;constructor(scope2,id2,documentName2){super(scope2,id2),this.documentRef={documentName:documentName2}}}return new Import(scope,id,documentName)}static arnForDocument(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_ssm_IDocumentRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDocument),error}return new(cfn_parse()).TemplateString("arn:${Partition}:ssm:${Region}:${Account}:document/${DocumentName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,DocumentName:resource.documentRef.documentName})}_attachments;_content;_documentFormat;_documentType;_name;_requires;tags;_tagsRaw;_targetType;_updateMethod;_versionName;cfnPropertyNames={attachments:"Attachments",content:"Content",documentFormat:"DocumentFormat",documentType:"DocumentType",name:"Name",requires:"Requires",tags:"Tags",targetType:"TargetType",updateMethod:"UpdateMethod",versionName:"VersionName"};constructor(scope,id,props){super(scope,id,{type:CfnDocument.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssm_CfnDocumentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDocument),error}cdk().requireProperty(props,"content",this),this._attachments=props.attachments,this._content=props.content,this._documentFormat=props.documentFormat,this._documentType=props.documentType,this._name=props.name,this._requires=props.requires,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::SSM::Document",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._targetType=props.targetType,this._updateMethod=props.updateMethod,this._versionName=props.versionName}get documentRef(){return{documentName:this.ref}}get attachments(){return this._attachments}set attachments(value){cdk().traceProperty(this.node,"Attachments"),this._attachments=value}get content(){return this._content}set content(value){cdk().traceProperty(this.node,"Content"),this._content=value}get documentFormat(){return this._documentFormat}set documentFormat(value){cdk().traceProperty(this.node,"DocumentFormat"),this._documentFormat=value}get documentType(){return this._documentType}set documentType(value){cdk().traceProperty(this.node,"DocumentType"),this._documentType=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get requires(){return this._requires}set requires(value){cdk().traceProperty(this.node,"Requires"),this._requires=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get targetType(){return this._targetType}set targetType(value){cdk().traceProperty(this.node,"TargetType"),this._targetType=value}get updateMethod(){return this._updateMethod}set updateMethod(value){cdk().traceProperty(this.node,"UpdateMethod"),this._updateMethod=value}get versionName(){return this._versionName}set versionName(value){cdk().traceProperty(this.node,"VersionName"),this._versionName=value}get cfnProperties(){return{attachments:this._attachments,content:this._content,documentFormat:this._documentFormat,documentType:this._documentType,name:this._name,requires:this._requires,tags:this.tags.renderTags(),targetType:this._targetType,updateMethod:this._updateMethod,versionName:this._versionName}}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",CfnDocument.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDocumentPropsToCloudFormation(props)}}exports.CfnDocument=CfnDocument;function CfnDocumentDocumentRequiresPropertyValidator(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("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "DocumentRequiresProperty"')}function convertCfnDocumentDocumentRequiresPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDocumentDocumentRequiresPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnDocumentDocumentRequiresPropertyFromCloudFormation(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("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDocumentAttachmentsSourcePropertyValidator(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().validateString)(properties.key)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "AttachmentsSourceProperty"')}function convertCfnDocumentAttachmentsSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDocumentAttachmentsSourcePropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Name:cdk().stringToCloudFormation(properties.name),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnDocumentAttachmentsSourcePropertyFromCloudFormation(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("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDocumentPropsValidator(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("attachments",cdk().listValidator(CfnDocumentAttachmentsSourcePropertyValidator))(properties.attachments)),errors.collect(cdk().propertyValidator("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",cdk().validateObject)(properties.content)),errors.collect(cdk().propertyValidator("documentFormat",cdk().validateString)(properties.documentFormat)),errors.collect(cdk().propertyValidator("documentType",cdk().validateString)(properties.documentType)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("requires",cdk().listValidator(CfnDocumentDocumentRequiresPropertyValidator))(properties.requires)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("targetType",cdk().validateString)(properties.targetType)),errors.collect(cdk().propertyValidator("updateMethod",cdk().validateString)(properties.updateMethod)),errors.collect(cdk().propertyValidator("versionName",cdk().validateString)(properties.versionName)),errors.wrap('supplied properties not correct for "CfnDocumentProps"')}function convertCfnDocumentPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDocumentPropsValidator(properties).assertSuccess(),{Attachments:cdk().listMapper(convertCfnDocumentAttachmentsSourcePropertyToCloudFormation)(properties.attachments),Content:cdk().objectToCloudFormation(properties.content),DocumentFormat:cdk().stringToCloudFormation(properties.documentFormat),DocumentType:cdk().stringToCloudFormation(properties.documentType),Name:cdk().stringToCloudFormation(properties.name),Requires:cdk().listMapper(convertCfnDocumentDocumentRequiresPropertyToCloudFormation)(properties.requires),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TargetType:cdk().stringToCloudFormation(properties.targetType),UpdateMethod:cdk().stringToCloudFormation(properties.updateMethod),VersionName:cdk().stringToCloudFormation(properties.versionName)}):properties}function CfnDocumentPropsFromCloudFormation(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("attachments","Attachments",properties.Attachments!=null?cfn_parse().FromCloudFormation.getArray(CfnDocumentAttachmentsSourcePropertyFromCloudFormation)(properties.Attachments):void 0),ret.addPropertyResult("content","Content",properties.Content!=null?cfn_parse().FromCloudFormation.getAny(properties.Content):void 0),ret.addPropertyResult("documentFormat","DocumentFormat",properties.DocumentFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentFormat):void 0),ret.addPropertyResult("documentType","DocumentType",properties.DocumentType!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentType):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("requires","Requires",properties.Requires!=null?cfn_parse().FromCloudFormation.getArray(CfnDocumentDocumentRequiresPropertyFromCloudFormation)(properties.Requires):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetType","TargetType",properties.TargetType!=null?cfn_parse().FromCloudFormation.getString(properties.TargetType):void 0),ret.addPropertyResult("updateMethod","UpdateMethod",properties.UpdateMethod!=null?cfn_parse().FromCloudFormation.getString(properties.UpdateMethod):void 0),ret.addPropertyResult("versionName","VersionName",properties.VersionName!=null?cfn_parse().FromCloudFormation.getString(properties.VersionName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMaintenanceWindow extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssm.CfnMaintenanceWindow",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSM::MaintenanceWindow";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMaintenanceWindowPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnMaintenanceWindow(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 isCfnMaintenanceWindow(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnMaintenanceWindow.CFN_RESOURCE_TYPE_NAME}_allowUnassociatedTargets;_cutoff;_description;_duration;_endDate;_name;_schedule;_scheduleOffset;_scheduleTimezone;_startDate;tags;_tagsRaw;cfnPropertyNames={allowUnassociatedTargets:"AllowUnassociatedTargets",cutoff:"Cutoff",description:"Description",duration:"Duration",endDate:"EndDate",name:"Name",schedule:"Schedule",scheduleOffset:"ScheduleOffset",scheduleTimezone:"ScheduleTimezone",startDate:"StartDate",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnMaintenanceWindow.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssm_CfnMaintenanceWindowProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMaintenanceWindow),error}cdk().requireProperty(props,"allowUnassociatedTargets",this),cdk().requireProperty(props,"cutoff",this),cdk().requireProperty(props,"duration",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"schedule",this),this._allowUnassociatedTargets=props.allowUnassociatedTargets,this._cutoff=props.cutoff,this._description=props.description,this._duration=props.duration,this._endDate=props.endDate,this._name=props.name,this._schedule=props.schedule,this._scheduleOffset=props.scheduleOffset,this._scheduleTimezone=props.scheduleTimezone,this._startDate=props.startDate,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::SSM::MaintenanceWindow",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get maintenanceWindowRef(){return{windowId:this.ref}}get allowUnassociatedTargets(){return this._allowUnassociatedTargets}set allowUnassociatedTargets(value){cdk().traceProperty(this.node,"AllowUnassociatedTargets"),this._allowUnassociatedTargets=value}get cutoff(){return this._cutoff}set cutoff(value){cdk().traceProperty(this.node,"Cutoff"),this._cutoff=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get duration(){return this._duration}set duration(value){cdk().traceProperty(this.node,"Duration"),this._duration=value}get endDate(){return this._endDate}set endDate(value){cdk().traceProperty(this.node,"EndDate"),this._endDate=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get schedule(){return this._schedule}set schedule(value){cdk().traceProperty(this.node,"Schedule"),this._schedule=value}get scheduleOffset(){return this._scheduleOffset}set scheduleOffset(value){cdk().traceProperty(this.node,"ScheduleOffset"),this._scheduleOffset=value}get scheduleTimezone(){return this._scheduleTimezone}set scheduleTimezone(value){cdk().traceProperty(this.node,"ScheduleTimezone"),this._scheduleTimezone=value}get startDate(){return this._startDate}set startDate(value){cdk().traceProperty(this.node,"StartDate"),this._startDate=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrWindowId(){return cdk().Token.asString(this.getAtt("WindowId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{allowUnassociatedTargets:this._allowUnassociatedTargets,cutoff:this._cutoff,description:this._description,duration:this._duration,endDate:this._endDate,name:this._name,schedule:this._schedule,scheduleOffset:this._scheduleOffset,scheduleTimezone:this._scheduleTimezone,startDate:this._startDate,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",CfnMaintenanceWindow.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnMaintenanceWindowPropsToCloudFormation(props)}}exports.CfnMaintenanceWindow=CfnMaintenanceWindow;function CfnMaintenanceWindowPropsValidator(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("allowUnassociatedTargets",cdk().requiredValidator)(properties.allowUnassociatedTargets)),errors.collect(cdk().propertyValidator("allowUnassociatedTargets",cdk().validateBoolean)(properties.allowUnassociatedTargets)),errors.collect(cdk().propertyValidator("cutoff",cdk().requiredValidator)(properties.cutoff)),errors.collect(cdk().propertyValidator("cutoff",cdk().validateNumber)(properties.cutoff)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("duration",cdk().requiredValidator)(properties.duration)),errors.collect(cdk().propertyValidator("duration",cdk().validateNumber)(properties.duration)),errors.collect(cdk().propertyValidator("endDate",cdk().validateString)(properties.endDate)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("schedule",cdk().requiredValidator)(properties.schedule)),errors.collect(cdk().propertyValidator("schedule",cdk().validateString)(properties.schedule)),errors.collect(cdk().propertyValidator("scheduleOffset",cdk().validateNumber)(properties.scheduleOffset)),errors.collect(cdk().propertyValidator("scheduleTimezone",cdk().validateString)(properties.scheduleTimezone)),errors.collect(cdk().propertyValidator("startDate",cdk().validateString)(properties.startDate)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnMaintenanceWindowProps"')}function convertCfnMaintenanceWindowPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowPropsValidator(properties).assertSuccess(),{AllowUnassociatedTargets:cdk().booleanToCloudFormation(properties.allowUnassociatedTargets),Cutoff:cdk().numberToCloudFormation(properties.cutoff),Description:cdk().stringToCloudFormation(properties.description),Duration:cdk().numberToCloudFormation(properties.duration),EndDate:cdk().stringToCloudFormation(properties.endDate),Name:cdk().stringToCloudFormation(properties.name),Schedule:cdk().stringToCloudFormation(properties.schedule),ScheduleOffset:cdk().numberToCloudFormation(properties.scheduleOffset),ScheduleTimezone:cdk().stringToCloudFormation(properties.scheduleTimezone),StartDate:cdk().stringToCloudFormation(properties.startDate),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnMaintenanceWindowPropsFromCloudFormation(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("allowUnassociatedTargets","AllowUnassociatedTargets",properties.AllowUnassociatedTargets!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowUnassociatedTargets):void 0),ret.addPropertyResult("cutoff","Cutoff",properties.Cutoff!=null?cfn_parse().FromCloudFormation.getNumber(properties.Cutoff):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("duration","Duration",properties.Duration!=null?cfn_parse().FromCloudFormation.getNumber(properties.Duration):void 0),ret.addPropertyResult("endDate","EndDate",properties.EndDate!=null?cfn_parse().FromCloudFormation.getString(properties.EndDate):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("schedule","Schedule",properties.Schedule!=null?cfn_parse().FromCloudFormation.getString(properties.Schedule):void 0),ret.addPropertyResult("scheduleOffset","ScheduleOffset",properties.ScheduleOffset!=null?cfn_parse().FromCloudFormation.getNumber(properties.ScheduleOffset):void 0),ret.addPropertyResult("scheduleTimezone","ScheduleTimezone",properties.ScheduleTimezone!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduleTimezone):void 0),ret.addPropertyResult("startDate","StartDate",properties.StartDate!=null?cfn_parse().FromCloudFormation.getString(properties.StartDate):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 CfnMaintenanceWindowTarget extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssm.CfnMaintenanceWindowTarget",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSM::MaintenanceWindowTarget";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMaintenanceWindowTargetPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnMaintenanceWindowTarget(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 isCfnMaintenanceWindowTarget(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnMaintenanceWindowTarget.CFN_RESOURCE_TYPE_NAME}static arnForMaintenanceWindowTarget(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_ssm_IMaintenanceWindowTargetRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForMaintenanceWindowTarget),error}return new(cfn_parse()).TemplateString("arn:${Partition}:ssm:${Region}:${Account}:windowtarget/${WindowTargetId}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,WindowTargetId:resource.maintenanceWindowTargetRef.windowTargetId})}_description;_name;_ownerInformation;_resourceType;_targets;_windowId;cfnPropertyNames={description:"Description",name:"Name",ownerInformation:"OwnerInformation",resourceType:"ResourceType",targets:"Targets",windowId:"WindowId"};constructor(scope,id,props){super(scope,id,{type:CfnMaintenanceWindowTarget.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssm_CfnMaintenanceWindowTargetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMaintenanceWindowTarget),error}cdk().requireProperty(props,"resourceType",this),cdk().requireProperty(props,"targets",this),cdk().requireProperty(props,"windowId",this),this._description=props.description,this._name=props.name,this._ownerInformation=props.ownerInformation,this._resourceType=props.resourceType,this._targets=props.targets,this._windowId=props.windowId}get maintenanceWindowTargetRef(){return{windowId:this.windowId,windowTargetId:this.ref}}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 ownerInformation(){return this._ownerInformation}set ownerInformation(value){cdk().traceProperty(this.node,"OwnerInformation"),this._ownerInformation=value}get resourceType(){return this._resourceType}set resourceType(value){cdk().traceProperty(this.node,"ResourceType"),this._resourceType=value}get targets(){return this._targets}set targets(value){cdk().traceProperty(this.node,"Targets"),this._targets=value}get windowId(){return this._windowId}set windowId(value){cdk().traceProperty(this.node,"WindowId"),this._windowId=value}get attrWindowTargetId(){return cdk().Token.asString(this.getAtt("WindowTargetId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,name:this._name,ownerInformation:this._ownerInformation,resourceType:this._resourceType,targets:this._targets,windowId:this._windowId}}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",CfnMaintenanceWindowTarget.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnMaintenanceWindowTargetPropsToCloudFormation(props)}}exports.CfnMaintenanceWindowTarget=CfnMaintenanceWindowTarget;function CfnMaintenanceWindowTargetTargetsPropertyValidator(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("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "TargetsProperty"')}function convertCfnMaintenanceWindowTargetTargetsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowTargetTargetsPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnMaintenanceWindowTargetTargetsPropertyFromCloudFormation(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("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMaintenanceWindowTargetPropsValidator(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("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("ownerInformation",cdk().validateString)(properties.ownerInformation)),errors.collect(cdk().propertyValidator("resourceType",cdk().requiredValidator)(properties.resourceType)),errors.collect(cdk().propertyValidator("resourceType",cdk().validateString)(properties.resourceType)),errors.collect(cdk().propertyValidator("targets",cdk().requiredValidator)(properties.targets)),errors.collect(cdk().propertyValidator("targets",cdk().listValidator(CfnMaintenanceWindowTargetTargetsPropertyValidator))(properties.targets)),errors.collect(cdk().propertyValidator("windowId",cdk().requiredValidator)(properties.windowId)),errors.collect(cdk().propertyValidator("windowId",cdk().validateString)(properties.windowId)),errors.wrap('supplied properties not correct for "CfnMaintenanceWindowTargetProps"')}function convertCfnMaintenanceWindowTargetPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowTargetPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),OwnerInformation:cdk().stringToCloudFormation(properties.ownerInformation),ResourceType:cdk().stringToCloudFormation(properties.resourceType),Targets:cdk().listMapper(convertCfnMaintenanceWindowTargetTargetsPropertyToCloudFormation)(properties.targets),WindowId:cdk().stringToCloudFormation(properties.windowId)}):properties}function CfnMaintenanceWindowTargetPropsFromCloudFormation(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("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("ownerInformation","OwnerInformation",properties.OwnerInformation!=null?cfn_parse().FromCloudFormation.getString(properties.OwnerInformation):void 0),ret.addPropertyResult("resourceType","ResourceType",properties.ResourceType!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceType):void 0),ret.addPropertyResult("targets","Targets",properties.Targets!=null?cfn_parse().FromCloudFormation.getArray(CfnMaintenanceWindowTargetTargetsPropertyFromCloudFormation)(properties.Targets):void 0),ret.addPropertyResult("windowId","WindowId",properties.WindowId!=null?cfn_parse().FromCloudFormation.getString(properties.WindowId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMaintenanceWindowTask extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssm.CfnMaintenanceWindowTask",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSM::MaintenanceWindowTask";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMaintenanceWindowTaskPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnMaintenanceWindowTask(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 isCfnMaintenanceWindowTask(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnMaintenanceWindowTask.CFN_RESOURCE_TYPE_NAME}static arnForMaintenanceWindowTask(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_ssm_IMaintenanceWindowTaskRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForMaintenanceWindowTask),error}return new(cfn_parse()).TemplateString("arn:${Partition}:ssm:${Region}:${Account}:windowtask/${WindowTaskId}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,WindowTaskId:resource.maintenanceWindowTaskRef.windowTaskId})}_cutoffBehavior;_description;_loggingInfo;_maxConcurrency;_maxErrors;_name;_priority;_serviceRoleArn;_targets;_taskArn;_taskInvocationParameters;_taskParameters;_taskType;_windowId;cfnPropertyNames={cutoffBehavior:"CutoffBehavior",description:"Description",loggingInfo:"LoggingInfo",maxConcurrency:"MaxConcurrency",maxErrors:"MaxErrors",name:"Name",priority:"Priority",serviceRoleArn:"ServiceRoleArn",targets:"Targets",taskArn:"TaskArn",taskInvocationParameters:"TaskInvocationParameters",taskParameters:"TaskParameters",taskType:"TaskType",windowId:"WindowId"};constructor(scope,id,props){super(scope,id,{type:CfnMaintenanceWindowTask.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssm_CfnMaintenanceWindowTaskProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMaintenanceWindowTask),error}cdk().requireProperty(props,"priority",this),cdk().requireProperty(props,"taskArn",this),cdk().requireProperty(props,"taskType",this),cdk().requireProperty(props,"windowId",this),this._cutoffBehavior=props.cutoffBehavior,this._description=props.description,this._loggingInfo=props.loggingInfo,this._maxConcurrency=props.maxConcurrency,this._maxErrors=props.maxErrors,this._name=props.name,this._priority=props.priority,this._serviceRoleArn=props.serviceRoleArn,this._targets=props.targets,this._taskArn=props.taskArn,this._taskInvocationParameters=props.taskInvocationParameters,this._taskParameters=props.taskParameters,this._taskType=props.taskType,this._windowId=props.windowId}get maintenanceWindowTaskRef(){return{windowId:this.windowId,windowTaskId:this.ref}}get cutoffBehavior(){return this._cutoffBehavior}set cutoffBehavior(value){cdk().traceProperty(this.node,"CutoffBehavior"),this._cutoffBehavior=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get loggingInfo(){return this._loggingInfo}set loggingInfo(value){cdk().traceProperty(this.node,"LoggingInfo"),this._loggingInfo=value}get maxConcurrency(){return this._maxConcurrency}set maxConcurrency(value){cdk().traceProperty(this.node,"MaxConcurrency"),this._maxConcurrency=value}get maxErrors(){return this._maxErrors}set maxErrors(value){cdk().traceProperty(this.node,"MaxErrors"),this._maxErrors=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get priority(){return this._priority}set priority(value){cdk().traceProperty(this.node,"Priority"),this._priority=value}get serviceRoleArn(){return this._serviceRoleArn}set serviceRoleArn(value){cdk().traceProperty(this.node,"ServiceRoleArn"),this._serviceRoleArn=value}get targets(){return this._targets}set targets(value){cdk().traceProperty(this.node,"Targets"),this._targets=value}get taskArn(){return this._taskArn}set taskArn(value){cdk().traceProperty(this.node,"TaskArn"),this._taskArn=value}get taskInvocationParameters(){return this._taskInvocationParameters}set taskInvocationParameters(value){cdk().traceProperty(this.node,"TaskInvocationParameters"),this._taskInvocationParameters=value}get taskParameters(){return this._taskParameters}set taskParameters(value){cdk().traceProperty(this.node,"TaskParameters"),this._taskParameters=value}get taskType(){return this._taskType}set taskType(value){cdk().traceProperty(this.node,"TaskType"),this._taskType=value}get windowId(){return this._windowId}set windowId(value){cdk().traceProperty(this.node,"WindowId"),this._windowId=value}get attrWindowTaskId(){return cdk().Token.asString(this.getAtt("WindowTaskId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{cutoffBehavior:this._cutoffBehavior,description:this._description,loggingInfo:this._loggingInfo,maxConcurrency:this._maxConcurrency,maxErrors:this._maxErrors,name:this._name,priority:this._priority,serviceRoleArn:this._serviceRoleArn,targets:this._targets,taskArn:this._taskArn,taskInvocationParameters:this._taskInvocationParameters,taskParameters:this._taskParameters,taskType:this._taskType,windowId:this._windowId}}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",CfnMaintenanceWindowTask.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnMaintenanceWindowTaskPropsToCloudFormation(props)}}exports.CfnMaintenanceWindowTask=CfnMaintenanceWindowTask;function CfnMaintenanceWindowTaskTargetPropertyValidator(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("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "TargetProperty"')}function convertCfnMaintenanceWindowTaskTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowTaskTargetPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnMaintenanceWindowTaskTargetPropertyFromCloudFormation(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("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMaintenanceWindowTaskCloudWatchOutputConfigPropertyValidator(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("cloudWatchLogGroupName",cdk().validateString)(properties.cloudWatchLogGroupName)),errors.collect(cdk().propertyValidator("cloudWatchOutputEnabled",cdk().validateBoolean)(properties.cloudWatchOutputEnabled)),errors.wrap('supplied properties not correct for "CloudWatchOutputConfigProperty"')}function convertCfnMaintenanceWindowTaskCloudWatchOutputConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowTaskCloudWatchOutputConfigPropertyValidator(properties).assertSuccess(),{CloudWatchLogGroupName:cdk().stringToCloudFormation(properties.cloudWatchLogGroupName),CloudWatchOutputEnabled:cdk().booleanToCloudFormation(properties.cloudWatchOutputEnabled)}):properties}function CfnMaintenanceWindowTaskCloudWatchOutputConfigPropertyFromCloudFormation(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("cloudWatchLogGroupName","CloudWatchLogGroupName",properties.CloudWatchLogGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.CloudWatchLogGroupName):void 0),ret.addPropertyResult("cloudWatchOutputEnabled","CloudWatchOutputEnabled",properties.CloudWatchOutputEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CloudWatchOutputEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMaintenanceWindowTaskNotificationConfigPropertyValidator(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("notificationArn",cdk().requiredValidator)(properties.notificationArn)),errors.collect(cdk().propertyValidator("notificationArn",cdk().validateString)(properties.notificationArn)),errors.collect(cdk().propertyValidator("notificationEvents",cdk().listValidator(cdk().validateString))(properties.notificationEvents)),errors.collect(cdk().propertyValidator("notificationType",cdk().validateString)(properties.notificationType)),errors.wrap('supplied properties not correct for "NotificationConfigProperty"')}function convertCfnMaintenanceWindowTaskNotificationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowTaskNotificationConfigPropertyValidator(properties).assertSuccess(),{NotificationArn:cdk().stringToCloudFormation(properties.notificationArn),NotificationEvents:cdk().listMapper(cdk().stringToCloudFormation)(properties.notificationEvents),NotificationType:cdk().stringToCloudFormation(properties.notificationType)}):properties}function CfnMaintenanceWindowTaskNotificationConfigPropertyFromCloudFormation(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("notificationArn","NotificationArn",properties.NotificationArn!=null?cfn_parse().FromCloudFormation.getString(properties.NotificationArn):void 0),ret.addPropertyResult("notificationEvents","NotificationEvents",properties.NotificationEvents!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.NotificationEvents):void 0),ret.addPropertyResult("notificationType","NotificationType",properties.NotificationType!=null?cfn_parse().FromCloudFormation.getString(properties.NotificationType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMaintenanceWindowTaskMaintenanceWindowRunCommandParametersPropertyValidator(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("cloudWatchOutputConfig",CfnMaintenanceWindowTaskCloudWatchOutputConfigPropertyValidator)(properties.cloudWatchOutputConfig)),errors.collect(cdk().propertyValidator("comment",cdk().validateString)(properties.comment)),errors.collect(cdk().propertyValidator("documentHash",cdk().validateString)(properties.documentHash)),errors.collect(cdk().propertyValidator("documentHashType",cdk().validateString)(properties.documentHashType)),errors.collect(cdk().propertyValidator("documentVersion",cdk().validateString)(properties.documentVersion)),errors.collect(cdk().propertyValidator("notificationConfig",CfnMaintenanceWindowTaskNotificationConfigPropertyValidator)(properties.notificationConfig)),errors.collect(cdk().propertyValidator("outputS3BucketName",cdk().validateString)(properties.outputS3BucketName)),errors.collect(cdk().propertyValidator("outputS3KeyPrefix",cdk().validateString)(properties.outputS3KeyPrefix)),errors.collect(cdk().propertyValidator("parameters",cdk().validateObject)(properties.parameters)),errors.collect(cdk().propertyValidator("serviceRoleArn",cdk().validateString)(properties.serviceRoleArn)),errors.collect(cdk().propertyValidator("timeoutSeconds",cdk().validateNumber)(properties.timeoutSeconds)),errors.wrap('supplied properties not correct for "MaintenanceWindowRunCommandParametersProperty"')}function convertCfnMaintenanceWindowTaskMaintenanceWindowRunCommandParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowTaskMaintenanceWindowRunCommandParametersPropertyValidator(properties).assertSuccess(),{CloudWatchOutputConfig:convertCfnMaintenanceWindowTaskCloudWatchOutputConfigPropertyToCloudFormation(properties.cloudWatchOutputConfig),Comment:cdk().stringToCloudFormation(properties.comment),DocumentHash:cdk().stringToCloudFormation(properties.documentHash),DocumentHashType:cdk().stringToCloudFormation(properties.documentHashType),DocumentVersion:cdk().stringToCloudFormation(properties.documentVersion),NotificationConfig:convertCfnMaintenanceWindowTaskNotificationConfigPropertyToCloudFormation(properties.notificationConfig),OutputS3BucketName:cdk().stringToCloudFormation(properties.outputS3BucketName),OutputS3KeyPrefix:cdk().stringToCloudFormation(properties.outputS3KeyPrefix),Parameters:cdk().objectToCloudFormation(properties.parameters),ServiceRoleArn:cdk().stringToCloudFormation(properties.serviceRoleArn),TimeoutSeconds:cdk().numberToCloudFormation(properties.timeoutSeconds)}):properties}function CfnMaintenanceWindowTaskMaintenanceWindowRunCommandParametersPropertyFromCloudFormation(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("cloudWatchOutputConfig","CloudWatchOutputConfig",properties.CloudWatchOutputConfig!=null?CfnMaintenanceWindowTaskCloudWatchOutputConfigPropertyFromCloudFormation(properties.CloudWatchOutputConfig):void 0),ret.addPropertyResult("comment","Comment",properties.Comment!=null?cfn_parse().FromCloudFormation.getString(properties.Comment):void 0),ret.addPropertyResult("documentHash","DocumentHash",properties.DocumentHash!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentHash):void 0),ret.addPropertyResult("documentHashType","DocumentHashType",properties.DocumentHashType!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentHashType):void 0),ret.addPropertyResult("documentVersion","DocumentVersion",properties.DocumentVersion!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentVersion):void 0),ret.addPropertyResult("notificationConfig","NotificationConfig",properties.NotificationConfig!=null?CfnMaintenanceWindowTaskNotificationConfigPropertyFromCloudFormation(properties.NotificationConfig):void 0),ret.addPropertyResult("outputS3BucketName","OutputS3BucketName",properties.OutputS3BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.OutputS3BucketName):void 0),ret.addPropertyResult("outputS3KeyPrefix","OutputS3KeyPrefix",properties.OutputS3KeyPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.OutputS3KeyPrefix):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addPropertyResult("serviceRoleArn","ServiceRoleArn",properties.ServiceRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceRoleArn):void 0),ret.addPropertyResult("timeoutSeconds","TimeoutSeconds",properties.TimeoutSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMaintenanceWindowTaskMaintenanceWindowAutomationParametersPropertyValidator(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("documentVersion",cdk().validateString)(properties.documentVersion)),errors.collect(cdk().propertyValidator("parameters",cdk().validateObject)(properties.parameters)),errors.wrap('supplied properties not correct for "MaintenanceWindowAutomationParametersProperty"')}function convertCfnMaintenanceWindowTaskMaintenanceWindowAutomationParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowTaskMaintenanceWindowAutomationParametersPropertyValidator(properties).assertSuccess(),{DocumentVersion:cdk().stringToCloudFormation(properties.documentVersion),Parameters:cdk().objectToCloudFormation(properties.parameters)}):properties}function CfnMaintenanceWindowTaskMaintenanceWindowAutomationParametersPropertyFromCloudFormation(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("documentVersion","DocumentVersion",properties.DocumentVersion!=null?cfn_parse().FromCloudFormation.getString(properties.DocumentVersion):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMaintenanceWindowTaskMaintenanceWindowStepFunctionsParametersPropertyValidator(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("input",cdk().validateString)(properties.input)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "MaintenanceWindowStepFunctionsParametersProperty"')}function convertCfnMaintenanceWindowTaskMaintenanceWindowStepFunctionsParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowTaskMaintenanceWindowStepFunctionsParametersPropertyValidator(properties).assertSuccess(),{Input:cdk().stringToCloudFormation(properties.input),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnMaintenanceWindowTaskMaintenanceWindowStepFunctionsParametersPropertyFromCloudFormation(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("input","Input",properties.Input!=null?cfn_parse().FromCloudFormation.getString(properties.Input):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMaintenanceWindowTaskMaintenanceWindowLambdaParametersPropertyValidator(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("clientContext",cdk().validateString)(properties.clientContext)),errors.collect(cdk().propertyValidator("payload",cdk().validateString)(properties.payload)),errors.collect(cdk().propertyValidator("qualifier",cdk().validateString)(properties.qualifier)),errors.wrap('supplied properties not correct for "MaintenanceWindowLambdaParametersProperty"')}function convertCfnMaintenanceWindowTaskMaintenanceWindowLambdaParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowTaskMaintenanceWindowLambdaParametersPropertyValidator(properties).assertSuccess(),{ClientContext:cdk().stringToCloudFormation(properties.clientContext),Payload:cdk().stringToCloudFormation(properties.payload),Qualifier:cdk().stringToCloudFormation(properties.qualifier)}):properties}function CfnMaintenanceWindowTaskMaintenanceWindowLambdaParametersPropertyFromCloudFormation(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("clientContext","ClientContext",properties.ClientContext!=null?cfn_parse().FromCloudFormation.getString(properties.ClientContext):void 0),ret.addPropertyResult("payload","Payload",properties.Payload!=null?cfn_parse().FromCloudFormation.getString(properties.Payload):void 0),ret.addPropertyResult("qualifier","Qualifier",properties.Qualifier!=null?cfn_parse().FromCloudFormation.getString(properties.Qualifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMaintenanceWindowTaskTaskInvocationParametersPropertyValidator(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("maintenanceWindowAutomationParameters",CfnMaintenanceWindowTaskMaintenanceWindowAutomationParametersPropertyValidator)(properties.maintenanceWindowAutomationParameters)),errors.collect(cdk().propertyValidator("maintenanceWindowLambdaParameters",CfnMaintenanceWindowTaskMaintenanceWindowLambdaParametersPropertyValidator)(properties.maintenanceWindowLambdaParameters)),errors.collect(cdk().propertyValidator("maintenanceWindowRunCommandParameters",CfnMaintenanceWindowTaskMaintenanceWindowRunCommandParametersPropertyValidator)(properties.maintenanceWindowRunCommandParameters)),errors.collect(cdk().propertyValidator("maintenanceWindowStepFunctionsParameters",CfnMaintenanceWindowTaskMaintenanceWindowStepFunctionsParametersPropertyValidator)(properties.maintenanceWindowStepFunctionsParameters)),errors.wrap('supplied properties not correct for "TaskInvocationParametersProperty"')}function convertCfnMaintenanceWindowTaskTaskInvocationParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowTaskTaskInvocationParametersPropertyValidator(properties).assertSuccess(),{MaintenanceWindowAutomationParameters:convertCfnMaintenanceWindowTaskMaintenanceWindowAutomationParametersPropertyToCloudFormation(properties.maintenanceWindowAutomationParameters),MaintenanceWindowLambdaParameters:convertCfnMaintenanceWindowTaskMaintenanceWindowLambdaParametersPropertyToCloudFormation(properties.maintenanceWindowLambdaParameters),MaintenanceWindowRunCommandParameters:convertCfnMaintenanceWindowTaskMaintenanceWindowRunCommandParametersPropertyToCloudFormation(properties.maintenanceWindowRunCommandParameters),MaintenanceWindowStepFunctionsParameters:convertCfnMaintenanceWindowTaskMaintenanceWindowStepFunctionsParametersPropertyToCloudFormation(properties.maintenanceWindowStepFunctionsParameters)}):properties}function CfnMaintenanceWindowTaskTaskInvocationParametersPropertyFromCloudFormation(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("maintenanceWindowAutomationParameters","MaintenanceWindowAutomationParameters",properties.MaintenanceWindowAutomationParameters!=null?CfnMaintenanceWindowTaskMaintenanceWindowAutomationParametersPropertyFromCloudFormation(properties.MaintenanceWindowAutomationParameters):void 0),ret.addPropertyResult("maintenanceWindowLambdaParameters","MaintenanceWindowLambdaParameters",properties.MaintenanceWindowLambdaParameters!=null?CfnMaintenanceWindowTaskMaintenanceWindowLambdaParametersPropertyFromCloudFormation(properties.MaintenanceWindowLambdaParameters):void 0),ret.addPropertyResult("maintenanceWindowRunCommandParameters","MaintenanceWindowRunCommandParameters",properties.MaintenanceWindowRunCommandParameters!=null?CfnMaintenanceWindowTaskMaintenanceWindowRunCommandParametersPropertyFromCloudFormation(properties.MaintenanceWindowRunCommandParameters):void 0),ret.addPropertyResult("maintenanceWindowStepFunctionsParameters","MaintenanceWindowStepFunctionsParameters",properties.MaintenanceWindowStepFunctionsParameters!=null?CfnMaintenanceWindowTaskMaintenanceWindowStepFunctionsParametersPropertyFromCloudFormation(properties.MaintenanceWindowStepFunctionsParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMaintenanceWindowTaskLoggingInfoPropertyValidator(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("region",cdk().requiredValidator)(properties.region)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.collect(cdk().propertyValidator("s3Bucket",cdk().requiredValidator)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Bucket",cdk().validateString)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Prefix",cdk().validateString)(properties.s3Prefix)),errors.wrap('supplied properties not correct for "LoggingInfoProperty"')}function convertCfnMaintenanceWindowTaskLoggingInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowTaskLoggingInfoPropertyValidator(properties).assertSuccess(),{Region:cdk().stringToCloudFormation(properties.region),S3Bucket:cdk().stringToCloudFormation(properties.s3Bucket),S3Prefix:cdk().stringToCloudFormation(properties.s3Prefix)}):properties}function CfnMaintenanceWindowTaskLoggingInfoPropertyFromCloudFormation(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("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addPropertyResult("s3Bucket","S3Bucket",properties.S3Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.S3Bucket):void 0),ret.addPropertyResult("s3Prefix","S3Prefix",properties.S3Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.S3Prefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMaintenanceWindowTaskPropsValidator(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("cutoffBehavior",cdk().validateString)(properties.cutoffBehavior)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("loggingInfo",CfnMaintenanceWindowTaskLoggingInfoPropertyValidator)(properties.loggingInfo)),errors.collect(cdk().propertyValidator("maxConcurrency",cdk().validateString)(properties.maxConcurrency)),errors.collect(cdk().propertyValidator("maxErrors",cdk().validateString)(properties.maxErrors)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("priority",cdk().requiredValidator)(properties.priority)),errors.collect(cdk().propertyValidator("priority",cdk().validateNumber)(properties.priority)),errors.collect(cdk().propertyValidator("serviceRoleArn",cdk().validateString)(properties.serviceRoleArn)),errors.collect(cdk().propertyValidator("targets",cdk().listValidator(CfnMaintenanceWindowTaskTargetPropertyValidator))(properties.targets)),errors.collect(cdk().propertyValidator("taskArn",cdk().requiredValidator)(properties.taskArn)),errors.collect(cdk().propertyValidator("taskArn",cdk().validateString)(properties.taskArn)),errors.collect(cdk().propertyValidator("taskInvocationParameters",CfnMaintenanceWindowTaskTaskInvocationParametersPropertyValidator)(properties.taskInvocationParameters)),errors.collect(cdk().propertyValidator("taskParameters",cdk().validateObject)(properties.taskParameters)),errors.collect(cdk().propertyValidator("taskType",cdk().requiredValidator)(properties.taskType)),errors.collect(cdk().propertyValidator("taskType",cdk().validateString)(properties.taskType)),errors.collect(cdk().propertyValidator("windowId",cdk().requiredValidator)(properties.windowId)),errors.collect(cdk().propertyValidator("windowId",cdk().validateString)(properties.windowId)),errors.wrap('supplied properties not correct for "CfnMaintenanceWindowTaskProps"')}function convertCfnMaintenanceWindowTaskPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMaintenanceWindowTaskPropsValidator(properties).assertSuccess(),{CutoffBehavior:cdk().stringToCloudFormation(properties.cutoffBehavior),Description:cdk().stringToCloudFormation(properties.description),LoggingInfo:convertCfnMaintenanceWindowTaskLoggingInfoPropertyToCloudFormation(properties.loggingInfo),MaxConcurrency:cdk().stringToCloudFormation(properties.maxConcurrency),MaxErrors:cdk().stringToCloudFormation(properties.maxErrors),Name:cdk().stringToCloudFormation(properties.name),Priority:cdk().numberToCloudFormation(properties.priority),ServiceRoleArn:cdk().stringToCloudFormation(properties.serviceRoleArn),Targets:cdk().listMapper(convertCfnMaintenanceWindowTaskTargetPropertyToCloudFormation)(properties.targets),TaskArn:cdk().stringToCloudFormation(properties.taskArn),TaskInvocationParameters:convertCfnMaintenanceWindowTaskTaskInvocationParametersPropertyToCloudFormation(properties.taskInvocationParameters),TaskParameters:cdk().objectToCloudFormation(properties.taskParameters),TaskType:cdk().stringToCloudFormation(properties.taskType),WindowId:cdk().stringToCloudFormation(properties.windowId)}):properties}function CfnMaintenanceWindowTaskPropsFromCloudFormation(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("cutoffBehavior","CutoffBehavior",properties.CutoffBehavior!=null?cfn_parse().FromCloudFormation.getString(properties.CutoffBehavior):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("loggingInfo","LoggingInfo",properties.LoggingInfo!=null?CfnMaintenanceWindowTaskLoggingInfoPropertyFromCloudFormation(properties.LoggingInfo):void 0),ret.addPropertyResult("maxConcurrency","MaxConcurrency",properties.MaxConcurrency!=null?cfn_parse().FromCloudFormation.getString(properties.MaxConcurrency):void 0),ret.addPropertyResult("maxErrors","MaxErrors",properties.MaxErrors!=null?cfn_parse().FromCloudFormation.getString(properties.MaxErrors):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("priority","Priority",properties.Priority!=null?cfn_parse().FromCloudFormation.getNumber(properties.Priority):void 0),ret.addPropertyResult("serviceRoleArn","ServiceRoleArn",properties.ServiceRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceRoleArn):void 0),ret.addPropertyResult("targets","Targets",properties.Targets!=null?cfn_parse().FromCloudFormation.getArray(CfnMaintenanceWindowTaskTargetPropertyFromCloudFormation)(properties.Targets):void 0),ret.addPropertyResult("taskArn","TaskArn",properties.TaskArn!=null?cfn_parse().FromCloudFormation.getString(properties.TaskArn):void 0),ret.addPropertyResult("taskInvocationParameters","TaskInvocationParameters",properties.TaskInvocationParameters!=null?CfnMaintenanceWindowTaskTaskInvocationParametersPropertyFromCloudFormation(properties.TaskInvocationParameters):void 0),ret.addPropertyResult("taskParameters","TaskParameters",properties.TaskParameters!=null?cfn_parse().FromCloudFormation.getAny(properties.TaskParameters):void 0),ret.addPropertyResult("taskType","TaskType",properties.TaskType!=null?cfn_parse().FromCloudFormation.getString(properties.TaskType):void 0),ret.addPropertyResult("windowId","WindowId",properties.WindowId!=null?cfn_parse().FromCloudFormation.getString(properties.WindowId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnParameter extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssm.CfnParameter",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSM::Parameter";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnParameterPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnParameter(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 isCfnParameter(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnParameter.CFN_RESOURCE_TYPE_NAME}_allowedPattern;_dataType;_description;_name;_policies;tags;_tagsRaw;_tier;_type;_value;cfnPropertyNames={allowedPattern:"AllowedPattern",dataType:"DataType",description:"Description",name:"Name",policies:"Policies",tags:"Tags",tier:"Tier",type:"Type",value:"Value"};constructor(scope,id,props){super(scope,id,{type:CfnParameter.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssm_CfnParameterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnParameter),error}cdk().requireProperty(props,"type",this),cdk().requireProperty(props,"value",this),this._allowedPattern=props.allowedPattern,this._dataType=props.dataType,this._description=props.description,this._name=props.name,this._policies=props.policies,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::SSM::Parameter",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._tier=props.tier,this._type=props.type,this._value=props.value}get parameterRef(){return{parameterName:this.ref}}get allowedPattern(){return this._allowedPattern}set allowedPattern(value){cdk().traceProperty(this.node,"AllowedPattern"),this._allowedPattern=value}get dataType(){return this._dataType}set dataType(value){cdk().traceProperty(this.node,"DataType"),this._dataType=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 policies(){return this._policies}set policies(value){cdk().traceProperty(this.node,"Policies"),this._policies=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get tier(){return this._tier}set tier(value){cdk().traceProperty(this.node,"Tier"),this._tier=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get value(){return this._value}set value(value){cdk().traceProperty(this.node,"Value"),this._value=value}get attrType(){return cdk().Token.asString(this.getAtt("Type",cdk().ResolutionTypeHint.STRING))}get attrValue(){return cdk().Token.asString(this.getAtt("Value",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{allowedPattern:this._allowedPattern,dataType:this._dataType,description:this._description,name:this._name,policies:this._policies,tags:this.tags.renderTags(),tier:this._tier,type:this._type,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",CfnParameter.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnParameterPropsToCloudFormation(props)}}exports.CfnParameter=CfnParameter;function CfnParameterPropsValidator(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("allowedPattern",cdk().validateString)(properties.allowedPattern)),errors.collect(cdk().propertyValidator("dataType",cdk().validateString)(properties.dataType)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("policies",cdk().validateString)(properties.policies)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("tier",cdk().validateString)(properties.tier)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),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 "CfnParameterProps"')}function convertCfnParameterPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnParameterPropsValidator(properties).assertSuccess(),{AllowedPattern:cdk().stringToCloudFormation(properties.allowedPattern),DataType:cdk().stringToCloudFormation(properties.dataType),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Policies:cdk().stringToCloudFormation(properties.policies),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),Tier:cdk().stringToCloudFormation(properties.tier),Type:cdk().stringToCloudFormation(properties.type),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnParameterPropsFromCloudFormation(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("allowedPattern","AllowedPattern",properties.AllowedPattern!=null?cfn_parse().FromCloudFormation.getString(properties.AllowedPattern):void 0),ret.addPropertyResult("dataType","DataType",properties.DataType!=null?cfn_parse().FromCloudFormation.getString(properties.DataType):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.addPropertyResult("policies","Policies",properties.Policies!=null?cfn_parse().FromCloudFormation.getString(properties.Policies):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("tier","Tier",properties.Tier!=null?cfn_parse().FromCloudFormation.getString(properties.Tier):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPatchBaseline extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssm.CfnPatchBaseline",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSM::PatchBaseline";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPatchBaselinePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPatchBaseline(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 isCfnPatchBaseline(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPatchBaseline.CFN_RESOURCE_TYPE_NAME}_approvalRules;_approvedPatches;_approvedPatchesComplianceLevel;_approvedPatchesEnableNonSecurity;_availableSecurityUpdatesComplianceStatus;_defaultBaseline;_description;_globalFilters;_name;_operatingSystem;_patchGroups;_rejectedPatches;_rejectedPatchesAction;_sources;tags;_tagsRaw;cfnPropertyNames={approvalRules:"ApprovalRules",approvedPatches:"ApprovedPatches",approvedPatchesComplianceLevel:"ApprovedPatchesComplianceLevel",approvedPatchesEnableNonSecurity:"ApprovedPatchesEnableNonSecurity",availableSecurityUpdatesComplianceStatus:"AvailableSecurityUpdatesComplianceStatus",defaultBaseline:"DefaultBaseline",description:"Description",globalFilters:"GlobalFilters",name:"Name",operatingSystem:"OperatingSystem",patchGroups:"PatchGroups",rejectedPatches:"RejectedPatches",rejectedPatchesAction:"RejectedPatchesAction",sources:"Sources",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnPatchBaseline.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssm_CfnPatchBaselineProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPatchBaseline),error}cdk().requireProperty(props,"name",this),this._approvalRules=props.approvalRules,this._approvedPatches=props.approvedPatches,this._approvedPatchesComplianceLevel=props.approvedPatchesComplianceLevel,this._approvedPatchesEnableNonSecurity=props.approvedPatchesEnableNonSecurity,this._availableSecurityUpdatesComplianceStatus=props.availableSecurityUpdatesComplianceStatus,this._defaultBaseline=props.defaultBaseline,this._description=props.description,this._globalFilters=props.globalFilters,this._name=props.name,this._operatingSystem=props.operatingSystem,this._patchGroups=props.patchGroups,this._rejectedPatches=props.rejectedPatches,this._rejectedPatchesAction=props.rejectedPatchesAction,this._sources=props.sources,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::SSM::PatchBaseline",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get patchBaselineRef(){return{patchBaselineId:this.ref}}get approvalRules(){return this._approvalRules}set approvalRules(value){cdk().traceProperty(this.node,"ApprovalRules"),this._approvalRules=value}get approvedPatches(){return this._approvedPatches}set approvedPatches(value){cdk().traceProperty(this.node,"ApprovedPatches"),this._approvedPatches=value}get approvedPatchesComplianceLevel(){return this._approvedPatchesComplianceLevel}set approvedPatchesComplianceLevel(value){cdk().traceProperty(this.node,"ApprovedPatchesComplianceLevel"),this._approvedPatchesComplianceLevel=value}get approvedPatchesEnableNonSecurity(){return this._approvedPatchesEnableNonSecurity}set approvedPatchesEnableNonSecurity(value){cdk().traceProperty(this.node,"ApprovedPatchesEnableNonSecurity"),this._approvedPatchesEnableNonSecurity=value}get availableSecurityUpdatesComplianceStatus(){return this._availableSecurityUpdatesComplianceStatus}set availableSecurityUpdatesComplianceStatus(value){cdk().traceProperty(this.node,"AvailableSecurityUpdatesComplianceStatus"),this._availableSecurityUpdatesComplianceStatus=value}get defaultBaseline(){return this._defaultBaseline}set defaultBaseline(value){cdk().traceProperty(this.node,"DefaultBaseline"),this._defaultBaseline=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get globalFilters(){return this._globalFilters}set globalFilters(value){cdk().traceProperty(this.node,"GlobalFilters"),this._globalFilters=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get operatingSystem(){return this._operatingSystem}set operatingSystem(value){cdk().traceProperty(this.node,"OperatingSystem"),this._operatingSystem=value}get patchGroups(){return this._patchGroups}set patchGroups(value){cdk().traceProperty(this.node,"PatchGroups"),this._patchGroups=value}get rejectedPatches(){return this._rejectedPatches}set rejectedPatches(value){cdk().traceProperty(this.node,"RejectedPatches"),this._rejectedPatches=value}get rejectedPatchesAction(){return this._rejectedPatchesAction}set rejectedPatchesAction(value){cdk().traceProperty(this.node,"RejectedPatchesAction"),this._rejectedPatchesAction=value}get sources(){return this._sources}set sources(value){cdk().traceProperty(this.node,"Sources"),this._sources=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 cfnProperties(){return{approvalRules:this._approvalRules,approvedPatches:this._approvedPatches,approvedPatchesComplianceLevel:this._approvedPatchesComplianceLevel,approvedPatchesEnableNonSecurity:this._approvedPatchesEnableNonSecurity,availableSecurityUpdatesComplianceStatus:this._availableSecurityUpdatesComplianceStatus,defaultBaseline:this._defaultBaseline,description:this._description,globalFilters:this._globalFilters,name:this._name,operatingSystem:this._operatingSystem,patchGroups:this._patchGroups,rejectedPatches:this._rejectedPatches,rejectedPatchesAction:this._rejectedPatchesAction,sources:this._sources,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",CfnPatchBaseline.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPatchBaselinePropsToCloudFormation(props)}}exports.CfnPatchBaseline=CfnPatchBaseline;function CfnPatchBaselinePatchFilterPropertyValidator(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().validateString)(properties.key)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "PatchFilterProperty"')}function convertCfnPatchBaselinePatchFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPatchBaselinePatchFilterPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnPatchBaselinePatchFilterPropertyFromCloudFormation(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("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPatchBaselinePatchFilterGroupPropertyValidator(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("patchFilters",cdk().listValidator(CfnPatchBaselinePatchFilterPropertyValidator))(properties.patchFilters)),errors.wrap('supplied properties not correct for "PatchFilterGroupProperty"')}function convertCfnPatchBaselinePatchFilterGroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPatchBaselinePatchFilterGroupPropertyValidator(properties).assertSuccess(),{PatchFilters:cdk().listMapper(convertCfnPatchBaselinePatchFilterPropertyToCloudFormation)(properties.patchFilters)}):properties}function CfnPatchBaselinePatchFilterGroupPropertyFromCloudFormation(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("patchFilters","PatchFilters",properties.PatchFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnPatchBaselinePatchFilterPropertyFromCloudFormation)(properties.PatchFilters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPatchBaselineRulePropertyValidator(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("approveAfterDays",cdk().validateNumber)(properties.approveAfterDays)),errors.collect(cdk().propertyValidator("approveUntilDate",cdk().validateString)(properties.approveUntilDate)),errors.collect(cdk().propertyValidator("complianceLevel",cdk().validateString)(properties.complianceLevel)),errors.collect(cdk().propertyValidator("enableNonSecurity",cdk().validateBoolean)(properties.enableNonSecurity)),errors.collect(cdk().propertyValidator("patchFilterGroup",CfnPatchBaselinePatchFilterGroupPropertyValidator)(properties.patchFilterGroup)),errors.wrap('supplied properties not correct for "RuleProperty"')}function convertCfnPatchBaselineRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPatchBaselineRulePropertyValidator(properties).assertSuccess(),{ApproveAfterDays:cdk().numberToCloudFormation(properties.approveAfterDays),ApproveUntilDate:cdk().stringToCloudFormation(properties.approveUntilDate),ComplianceLevel:cdk().stringToCloudFormation(properties.complianceLevel),EnableNonSecurity:cdk().booleanToCloudFormation(properties.enableNonSecurity),PatchFilterGroup:convertCfnPatchBaselinePatchFilterGroupPropertyToCloudFormation(properties.patchFilterGroup)}):properties}function CfnPatchBaselineRulePropertyFromCloudFormation(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("approveAfterDays","ApproveAfterDays",properties.ApproveAfterDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.ApproveAfterDays):void 0),ret.addPropertyResult("approveUntilDate","ApproveUntilDate",properties.ApproveUntilDate!=null?cfn_parse().FromCloudFormation.getString(properties.ApproveUntilDate):void 0),ret.addPropertyResult("complianceLevel","ComplianceLevel",properties.ComplianceLevel!=null?cfn_parse().FromCloudFormation.getString(properties.ComplianceLevel):void 0),ret.addPropertyResult("enableNonSecurity","EnableNonSecurity",properties.EnableNonSecurity!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableNonSecurity):void 0),ret.addPropertyResult("patchFilterGroup","PatchFilterGroup",properties.PatchFilterGroup!=null?CfnPatchBaselinePatchFilterGroupPropertyFromCloudFormation(properties.PatchFilterGroup):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPatchBaselineRuleGroupPropertyValidator(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("patchRules",cdk().listValidator(CfnPatchBaselineRulePropertyValidator))(properties.patchRules)),errors.wrap('supplied properties not correct for "RuleGroupProperty"')}function convertCfnPatchBaselineRuleGroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPatchBaselineRuleGroupPropertyValidator(properties).assertSuccess(),{PatchRules:cdk().listMapper(convertCfnPatchBaselineRulePropertyToCloudFormation)(properties.patchRules)}):properties}function CfnPatchBaselineRuleGroupPropertyFromCloudFormation(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("patchRules","PatchRules",properties.PatchRules!=null?cfn_parse().FromCloudFormation.getArray(CfnPatchBaselineRulePropertyFromCloudFormation)(properties.PatchRules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPatchBaselinePatchSourcePropertyValidator(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("configuration",cdk().validateString)(properties.configuration)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("products",cdk().listValidator(cdk().validateString))(properties.products)),errors.wrap('supplied properties not correct for "PatchSourceProperty"')}function convertCfnPatchBaselinePatchSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPatchBaselinePatchSourcePropertyValidator(properties).assertSuccess(),{Configuration:cdk().stringToCloudFormation(properties.configuration),Name:cdk().stringToCloudFormation(properties.name),Products:cdk().listMapper(cdk().stringToCloudFormation)(properties.products)}):properties}function CfnPatchBaselinePatchSourcePropertyFromCloudFormation(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("configuration","Configuration",properties.Configuration!=null?cfn_parse().FromCloudFormation.getString(properties.Configuration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("products","Products",properties.Products!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Products):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPatchBaselinePropsValidator(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("approvalRules",CfnPatchBaselineRuleGroupPropertyValidator)(properties.approvalRules)),errors.collect(cdk().propertyValidator("approvedPatches",cdk().listValidator(cdk().validateString))(properties.approvedPatches)),errors.collect(cdk().propertyValidator("approvedPatchesComplianceLevel",cdk().validateString)(properties.approvedPatchesComplianceLevel)),errors.collect(cdk().propertyValidator("approvedPatchesEnableNonSecurity",cdk().validateBoolean)(properties.approvedPatchesEnableNonSecurity)),errors.collect(cdk().propertyValidator("availableSecurityUpdatesComplianceStatus",cdk().validateString)(properties.availableSecurityUpdatesComplianceStatus)),errors.collect(cdk().propertyValidator("defaultBaseline",cdk().validateBoolean)(properties.defaultBaseline)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("globalFilters",CfnPatchBaselinePatchFilterGroupPropertyValidator)(properties.globalFilters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("operatingSystem",cdk().validateString)(properties.operatingSystem)),errors.collect(cdk().propertyValidator("patchGroups",cdk().listValidator(cdk().validateString))(properties.patchGroups)),errors.collect(cdk().propertyValidator("rejectedPatches",cdk().listValidator(cdk().validateString))(properties.rejectedPatches)),errors.collect(cdk().propertyValidator("rejectedPatchesAction",cdk().validateString)(properties.rejectedPatchesAction)),errors.collect(cdk().propertyValidator("sources",cdk().listValidator(CfnPatchBaselinePatchSourcePropertyValidator))(properties.sources)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnPatchBaselineProps"')}function convertCfnPatchBaselinePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPatchBaselinePropsValidator(properties).assertSuccess(),{ApprovalRules:convertCfnPatchBaselineRuleGroupPropertyToCloudFormation(properties.approvalRules),ApprovedPatches:cdk().listMapper(cdk().stringToCloudFormation)(properties.approvedPatches),ApprovedPatchesComplianceLevel:cdk().stringToCloudFormation(properties.approvedPatchesComplianceLevel),ApprovedPatchesEnableNonSecurity:cdk().booleanToCloudFormation(properties.approvedPatchesEnableNonSecurity),AvailableSecurityUpdatesComplianceStatus:cdk().stringToCloudFormation(properties.availableSecurityUpdatesComplianceStatus),DefaultBaseline:cdk().booleanToCloudFormation(properties.defaultBaseline),Description:cdk().stringToCloudFormation(properties.description),GlobalFilters:convertCfnPatchBaselinePatchFilterGroupPropertyToCloudFormation(properties.globalFilters),Name:cdk().stringToCloudFormation(properties.name),OperatingSystem:cdk().stringToCloudFormation(properties.operatingSystem),PatchGroups:cdk().listMapper(cdk().stringToCloudFormation)(properties.patchGroups),RejectedPatches:cdk().listMapper(cdk().stringToCloudFormation)(properties.rejectedPatches),RejectedPatchesAction:cdk().stringToCloudFormation(properties.rejectedPatchesAction),Sources:cdk().listMapper(convertCfnPatchBaselinePatchSourcePropertyToCloudFormation)(properties.sources),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnPatchBaselinePropsFromCloudFormation(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("approvalRules","ApprovalRules",properties.ApprovalRules!=null?CfnPatchBaselineRuleGroupPropertyFromCloudFormation(properties.ApprovalRules):void 0),ret.addPropertyResult("approvedPatches","ApprovedPatches",properties.ApprovedPatches!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ApprovedPatches):void 0),ret.addPropertyResult("approvedPatchesComplianceLevel","ApprovedPatchesComplianceLevel",properties.ApprovedPatchesComplianceLevel!=null?cfn_parse().FromCloudFormation.getString(properties.ApprovedPatchesComplianceLevel):void 0),ret.addPropertyResult("approvedPatchesEnableNonSecurity","ApprovedPatchesEnableNonSecurity",properties.ApprovedPatchesEnableNonSecurity!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ApprovedPatchesEnableNonSecurity):void 0),ret.addPropertyResult("availableSecurityUpdatesComplianceStatus","AvailableSecurityUpdatesComplianceStatus",properties.AvailableSecurityUpdatesComplianceStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailableSecurityUpdatesComplianceStatus):void 0),ret.addPropertyResult("defaultBaseline","DefaultBaseline",properties.DefaultBaseline!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DefaultBaseline):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("globalFilters","GlobalFilters",properties.GlobalFilters!=null?CfnPatchBaselinePatchFilterGroupPropertyFromCloudFormation(properties.GlobalFilters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("operatingSystem","OperatingSystem",properties.OperatingSystem!=null?cfn_parse().FromCloudFormation.getString(properties.OperatingSystem):void 0),ret.addPropertyResult("patchGroups","PatchGroups",properties.PatchGroups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PatchGroups):void 0),ret.addPropertyResult("rejectedPatches","RejectedPatches",properties.RejectedPatches!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RejectedPatches):void 0),ret.addPropertyResult("rejectedPatchesAction","RejectedPatchesAction",properties.RejectedPatchesAction!=null?cfn_parse().FromCloudFormation.getString(properties.RejectedPatchesAction):void 0),ret.addPropertyResult("sources","Sources",properties.Sources!=null?cfn_parse().FromCloudFormation.getArray(CfnPatchBaselinePatchSourcePropertyFromCloudFormation)(properties.Sources):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 CfnResourceDataSync extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssm.CfnResourceDataSync",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSM::ResourceDataSync";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResourceDataSyncPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResourceDataSync(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 isCfnResourceDataSync(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResourceDataSync.CFN_RESOURCE_TYPE_NAME}static fromSyncName(scope,id,syncName){class Import extends cdk().Resource{resourceDataSyncRef;constructor(scope2,id2,syncName2){super(scope2,id2),this.resourceDataSyncRef={syncName:syncName2}}}return new Import(scope,id,syncName)}static arnForResourceDataSync(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_ssm_IResourceDataSyncRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForResourceDataSync),error}return new(cfn_parse()).TemplateString("arn:${Partition}:ssm:${Region}:${Account}:resource-data-sync/${SyncName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,SyncName:resource.resourceDataSyncRef.syncName})}_bucketName;_bucketPrefix;_bucketRegion;_kmsKeyArn;_s3Destination;_syncFormat;_syncName;_syncSource;_syncType;cfnPropertyNames={bucketName:"BucketName",bucketPrefix:"BucketPrefix",bucketRegion:"BucketRegion",kmsKeyArn:"KMSKeyArn",s3Destination:"S3Destination",syncFormat:"SyncFormat",syncName:"SyncName",syncSource:"SyncSource",syncType:"SyncType"};constructor(scope,id,props){super(scope,id,{type:CfnResourceDataSync.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssm_CfnResourceDataSyncProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResourceDataSync),error}cdk().requireProperty(props,"syncName",this),this._bucketName=cdk().getRefProperty(props.bucketName?.bucketRef,"bucketName")??cdk().ensureStringOrUndefined(props.bucketName,"bucketName","s3.IBucketRef | string"),this._bucketPrefix=props.bucketPrefix,this._bucketRegion=props.bucketRegion,this._kmsKeyArn=props.kmsKeyArn,this._s3Destination=props.s3Destination,this._syncFormat=props.syncFormat,this._syncName=props.syncName,this._syncSource=props.syncSource,this._syncType=props.syncType}get resourceDataSyncRef(){return{syncName:this.ref}}get bucketName(){return this._bucketName}set bucketName(value){cdk().traceProperty(this.node,"BucketName"),this._bucketName=value}get bucketPrefix(){return this._bucketPrefix}set bucketPrefix(value){cdk().traceProperty(this.node,"BucketPrefix"),this._bucketPrefix=value}get bucketRegion(){return this._bucketRegion}set bucketRegion(value){cdk().traceProperty(this.node,"BucketRegion"),this._bucketRegion=value}get kmsKeyArn(){return this._kmsKeyArn}set kmsKeyArn(value){cdk().traceProperty(this.node,"KMSKeyArn"),this._kmsKeyArn=value}get s3Destination(){return this._s3Destination}set s3Destination(value){cdk().traceProperty(this.node,"S3Destination"),this._s3Destination=value}get syncFormat(){return this._syncFormat}set syncFormat(value){cdk().traceProperty(this.node,"SyncFormat"),this._syncFormat=value}get syncName(){return this._syncName}set syncName(value){cdk().traceProperty(this.node,"SyncName"),this._syncName=value}get syncSource(){return this._syncSource}set syncSource(value){cdk().traceProperty(this.node,"SyncSource"),this._syncSource=value}get syncType(){return this._syncType}set syncType(value){cdk().traceProperty(this.node,"SyncType"),this._syncType=value}get attrSyncName(){return cdk().Token.asString(this.getAtt("SyncName",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{bucketName:this._bucketName,bucketPrefix:this._bucketPrefix,bucketRegion:this._bucketRegion,kmsKeyArn:this._kmsKeyArn,s3Destination:this._s3Destination,syncFormat:this._syncFormat,syncName:this._syncName,syncSource:this._syncSource,syncType:this._syncType}}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",CfnResourceDataSync.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResourceDataSyncPropsToCloudFormation(props)}}exports.CfnResourceDataSync=CfnResourceDataSync;function CfnResourceDataSyncS3DestinationPropertyValidator(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("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketPrefix",cdk().validateString)(properties.bucketPrefix)),errors.collect(cdk().propertyValidator("bucketRegion",cdk().requiredValidator)(properties.bucketRegion)),errors.collect(cdk().propertyValidator("bucketRegion",cdk().validateString)(properties.bucketRegion)),errors.collect(cdk().propertyValidator("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("syncFormat",cdk().requiredValidator)(properties.syncFormat)),errors.collect(cdk().propertyValidator("syncFormat",cdk().validateString)(properties.syncFormat)),errors.wrap('supplied properties not correct for "S3DestinationProperty"')}function convertCfnResourceDataSyncS3DestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDataSyncS3DestinationPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName),BucketPrefix:cdk().stringToCloudFormation(properties.bucketPrefix),BucketRegion:cdk().stringToCloudFormation(properties.bucketRegion),KMSKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),SyncFormat:cdk().stringToCloudFormation(properties.syncFormat)}):properties}function CfnResourceDataSyncS3DestinationPropertyFromCloudFormation(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("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("bucketPrefix","BucketPrefix",properties.BucketPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.BucketPrefix):void 0),ret.addPropertyResult("bucketRegion","BucketRegion",properties.BucketRegion!=null?cfn_parse().FromCloudFormation.getString(properties.BucketRegion):void 0),ret.addPropertyResult("kmsKeyArn","KMSKeyArn",properties.KMSKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KMSKeyArn):void 0),ret.addPropertyResult("syncFormat","SyncFormat",properties.SyncFormat!=null?cfn_parse().FromCloudFormation.getString(properties.SyncFormat):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDataSyncAwsOrganizationsSourcePropertyValidator(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("organizationSourceType",cdk().requiredValidator)(properties.organizationSourceType)),errors.collect(cdk().propertyValidator("organizationSourceType",cdk().validateString)(properties.organizationSourceType)),errors.collect(cdk().propertyValidator("organizationalUnits",cdk().listValidator(cdk().validateString))(properties.organizationalUnits)),errors.wrap('supplied properties not correct for "AwsOrganizationsSourceProperty"')}function convertCfnResourceDataSyncAwsOrganizationsSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDataSyncAwsOrganizationsSourcePropertyValidator(properties).assertSuccess(),{OrganizationSourceType:cdk().stringToCloudFormation(properties.organizationSourceType),OrganizationalUnits:cdk().listMapper(cdk().stringToCloudFormation)(properties.organizationalUnits)}):properties}function CfnResourceDataSyncAwsOrganizationsSourcePropertyFromCloudFormation(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("organizationalUnits","OrganizationalUnits",properties.OrganizationalUnits!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.OrganizationalUnits):void 0),ret.addPropertyResult("organizationSourceType","OrganizationSourceType",properties.OrganizationSourceType!=null?cfn_parse().FromCloudFormation.getString(properties.OrganizationSourceType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDataSyncSyncSourcePropertyValidator(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("awsOrganizationsSource",CfnResourceDataSyncAwsOrganizationsSourcePropertyValidator)(properties.awsOrganizationsSource)),errors.collect(cdk().propertyValidator("includeFutureRegions",cdk().validateBoolean)(properties.includeFutureRegions)),errors.collect(cdk().propertyValidator("sourceRegions",cdk().requiredValidator)(properties.sourceRegions)),errors.collect(cdk().propertyValidator("sourceRegions",cdk().listValidator(cdk().validateString))(properties.sourceRegions)),errors.collect(cdk().propertyValidator("sourceType",cdk().requiredValidator)(properties.sourceType)),errors.collect(cdk().propertyValidator("sourceType",cdk().validateString)(properties.sourceType)),errors.wrap('supplied properties not correct for "SyncSourceProperty"')}function convertCfnResourceDataSyncSyncSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDataSyncSyncSourcePropertyValidator(properties).assertSuccess(),{AwsOrganizationsSource:convertCfnResourceDataSyncAwsOrganizationsSourcePropertyToCloudFormation(properties.awsOrganizationsSource),IncludeFutureRegions:cdk().booleanToCloudFormation(properties.includeFutureRegions),SourceRegions:cdk().listMapper(cdk().stringToCloudFormation)(properties.sourceRegions),SourceType:cdk().stringToCloudFormation(properties.sourceType)}):properties}function CfnResourceDataSyncSyncSourcePropertyFromCloudFormation(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("awsOrganizationsSource","AwsOrganizationsSource",properties.AwsOrganizationsSource!=null?CfnResourceDataSyncAwsOrganizationsSourcePropertyFromCloudFormation(properties.AwsOrganizationsSource):void 0),ret.addPropertyResult("includeFutureRegions","IncludeFutureRegions",properties.IncludeFutureRegions!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeFutureRegions):void 0),ret.addPropertyResult("sourceRegions","SourceRegions",properties.SourceRegions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SourceRegions):void 0),ret.addPropertyResult("sourceType","SourceType",properties.SourceType!=null?cfn_parse().FromCloudFormation.getString(properties.SourceType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDataSyncPropsValidator(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("bucketName",cdk().validateString)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketPrefix",cdk().validateString)(properties.bucketPrefix)),errors.collect(cdk().propertyValidator("bucketRegion",cdk().validateString)(properties.bucketRegion)),errors.collect(cdk().propertyValidator("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("s3Destination",CfnResourceDataSyncS3DestinationPropertyValidator)(properties.s3Destination)),errors.collect(cdk().propertyValidator("syncFormat",cdk().validateString)(properties.syncFormat)),errors.collect(cdk().propertyValidator("syncName",cdk().requiredValidator)(properties.syncName)),errors.collect(cdk().propertyValidator("syncName",cdk().validateString)(properties.syncName)),errors.collect(cdk().propertyValidator("syncSource",CfnResourceDataSyncSyncSourcePropertyValidator)(properties.syncSource)),errors.collect(cdk().propertyValidator("syncType",cdk().validateString)(properties.syncType)),errors.wrap('supplied properties not correct for "CfnResourceDataSyncProps"')}function convertCfnResourceDataSyncPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDataSyncPropsValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName),BucketPrefix:cdk().stringToCloudFormation(properties.bucketPrefix),BucketRegion:cdk().stringToCloudFormation(properties.bucketRegion),KMSKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),S3Destination:convertCfnResourceDataSyncS3DestinationPropertyToCloudFormation(properties.s3Destination),SyncFormat:cdk().stringToCloudFormation(properties.syncFormat),SyncName:cdk().stringToCloudFormation(properties.syncName),SyncSource:convertCfnResourceDataSyncSyncSourcePropertyToCloudFormation(properties.syncSource),SyncType:cdk().stringToCloudFormation(properties.syncType)}):properties}function CfnResourceDataSyncPropsFromCloudFormation(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("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("bucketPrefix","BucketPrefix",properties.BucketPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.BucketPrefix):void 0),ret.addPropertyResult("bucketRegion","BucketRegion",properties.BucketRegion!=null?cfn_parse().FromCloudFormation.getString(properties.BucketRegion):void 0),ret.addPropertyResult("kmsKeyArn","KMSKeyArn",properties.KMSKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KMSKeyArn):void 0),ret.addPropertyResult("s3Destination","S3Destination",properties.S3Destination!=null?CfnResourceDataSyncS3DestinationPropertyFromCloudFormation(properties.S3Destination):void 0),ret.addPropertyResult("syncFormat","SyncFormat",properties.SyncFormat!=null?cfn_parse().FromCloudFormation.getString(properties.SyncFormat):void 0),ret.addPropertyResult("syncName","SyncName",properties.SyncName!=null?cfn_parse().FromCloudFormation.getString(properties.SyncName):void 0),ret.addPropertyResult("syncSource","SyncSource",properties.SyncSource!=null?CfnResourceDataSyncSyncSourcePropertyFromCloudFormation(properties.SyncSource):void 0),ret.addPropertyResult("syncType","SyncType",properties.SyncType!=null?cfn_parse().FromCloudFormation.getString(properties.SyncType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResourcePolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssm.CfnResourcePolicy",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSM::ResourcePolicy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResourcePolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResourcePolicy(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 isCfnResourcePolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResourcePolicy.CFN_RESOURCE_TYPE_NAME}_policy;_resourceArn;cfnPropertyNames={policy:"Policy",resourceArn:"ResourceArn"};constructor(scope,id,props){super(scope,id,{type:CfnResourcePolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssm_CfnResourcePolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResourcePolicy),error}cdk().requireProperty(props,"policy",this),cdk().requireProperty(props,"resourceArn",this),this._policy=props.policy,this._resourceArn=props.resourceArn}get resourcePolicyRef(){return{policyId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),resourceArn:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get policy(){return this._policy}set policy(value){cdk().traceProperty(this.node,"Policy"),this._policy=value}get resourceArn(){return this._resourceArn}set resourceArn(value){cdk().traceProperty(this.node,"ResourceArn"),this._resourceArn=value}get attrPolicyHash(){return cdk().Token.asString(this.getAtt("PolicyHash",cdk().ResolutionTypeHint.STRING))}get attrPolicyId(){return cdk().Token.asString(this.getAtt("PolicyId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{policy:this._policy,resourceArn:this._resourceArn}}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",CfnResourcePolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResourcePolicyPropsToCloudFormation(props)}}exports.CfnResourcePolicy=CfnResourcePolicy;function CfnResourcePolicyPropsValidator(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("policy",cdk().requiredValidator)(properties.policy)),errors.collect(cdk().propertyValidator("policy",cdk().validateObject)(properties.policy)),errors.collect(cdk().propertyValidator("resourceArn",cdk().requiredValidator)(properties.resourceArn)),errors.collect(cdk().propertyValidator("resourceArn",cdk().validateString)(properties.resourceArn)),errors.wrap('supplied properties not correct for "CfnResourcePolicyProps"')}function convertCfnResourcePolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourcePolicyPropsValidator(properties).assertSuccess(),{Policy:cdk().objectToCloudFormation(properties.policy),ResourceArn:cdk().stringToCloudFormation(properties.resourceArn)}):properties}function CfnResourcePolicyPropsFromCloudFormation(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("policy","Policy",properties.Policy!=null?cfn_parse().FromCloudFormation.getAny(properties.Policy):void 0),ret.addPropertyResult("resourceArn","ResourceArn",properties.ResourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}