"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnPrivateConnection=exports.CfnService=exports.CfnAssociation=exports.CfnAgentSpace=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 CfnAgentSpace extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_devopsagent.CfnAgentSpace",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DevOpsAgent::AgentSpace";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAgentSpacePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAgentSpace(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 isCfnAgentSpace(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAgentSpace.CFN_RESOURCE_TYPE_NAME}static fromAgentSpaceArn(scope,id,arn){class Import extends cdk().Resource{agentSpaceRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:aidevops:${Region}:${Account}:agentspace/${AgentSpaceId}").parse(arn2);this.agentSpaceRef={agentSpaceId:variables.AgentSpaceId,agentSpaceArn:arn2}}}return new Import(scope,id,arn)}static fromAgentSpaceId(scope,id,agentSpaceId){class Import extends cdk().Resource{agentSpaceRef;constructor(scope2,id2,agentSpaceId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:aidevops:${Region}:${Account}:agentspace/${AgentSpaceId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,AgentSpaceId:agentSpaceId2});super(scope2,id2,{environmentFromArn:arn}),this.agentSpaceRef={agentSpaceId:agentSpaceId2,agentSpaceArn:arn}}}return new Import(scope,id,agentSpaceId)}static arnForAgentSpace(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_devopsagent_IAgentSpaceRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAgentSpace),error}return resource.agentSpaceRef.agentSpaceArn}cdkTagManager;_description;_kmsKeyArn;_name;_operatorApp;_tags;cfnPropertyNames={tags:"Tags",description:"Description",kmsKeyArn:"KmsKeyArn",name:"Name",operatorApp:"OperatorApp"};constructor(scope,id,props){super(scope,id,{type:CfnAgentSpace.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_devopsagent_CfnAgentSpaceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAgentSpace),error}cdk().requireProperty(props,"name",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DevOpsAgent::AgentSpace",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._kmsKeyArn=props.kmsKeyArn,this._name=props.name,this._operatorApp=props.operatorApp,this._tags=props.tags}get agentSpaceRef(){return{agentSpaceId:this.ref,agentSpaceArn:this.attrArn}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get kmsKeyArn(){return this._kmsKeyArn}set kmsKeyArn(value){cdk().traceProperty(this.node,"KmsKeyArn"),this._kmsKeyArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get operatorApp(){return this._operatorApp}set operatorApp(value){cdk().traceProperty(this.node,"OperatorApp"),this._operatorApp=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrAgentSpaceId(){return cdk().Token.asString(this.getAtt("AgentSpaceId",cdk().ResolutionTypeHint.STRING))}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrOperatorAppIamCreatedAt(){return cdk().Token.asString(this.getAtt("OperatorApp.Iam.CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrOperatorAppIamUpdatedAt(){return cdk().Token.asString(this.getAtt("OperatorApp.Iam.UpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrOperatorAppIdcCreatedAt(){return cdk().Token.asString(this.getAtt("OperatorApp.Idc.CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrOperatorAppIdcIdcApplicationArn(){return cdk().Token.asString(this.getAtt("OperatorApp.Idc.IdcApplicationArn",cdk().ResolutionTypeHint.STRING))}get attrOperatorAppIdcUpdatedAt(){return cdk().Token.asString(this.getAtt("OperatorApp.Idc.UpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,kmsKeyArn:this._kmsKeyArn,name:this._name,operatorApp:this._operatorApp}}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",CfnAgentSpace.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAgentSpacePropsToCloudFormation(props)}}exports.CfnAgentSpace=CfnAgentSpace;function CfnAgentSpaceIamAuthConfigurationPropertyValidator(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("createdAt",cdk().validateString)(properties.createdAt)),errors.collect(cdk().propertyValidator("operatorAppRoleArn",cdk().requiredValidator)(properties.operatorAppRoleArn)),errors.collect(cdk().propertyValidator("operatorAppRoleArn",cdk().validateString)(properties.operatorAppRoleArn)),errors.collect(cdk().propertyValidator("updatedAt",cdk().validateString)(properties.updatedAt)),errors.wrap('supplied properties not correct for "IamAuthConfigurationProperty"')}function convertCfnAgentSpaceIamAuthConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentSpaceIamAuthConfigurationPropertyValidator(properties).assertSuccess(),{CreatedAt:cdk().stringToCloudFormation(properties.createdAt),OperatorAppRoleArn:cdk().stringToCloudFormation(properties.operatorAppRoleArn),UpdatedAt:cdk().stringToCloudFormation(properties.updatedAt)}):properties}function CfnAgentSpaceIamAuthConfigurationPropertyFromCloudFormation(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("createdAt","CreatedAt",properties.CreatedAt!=null?cfn_parse().FromCloudFormation.getString(properties.CreatedAt):void 0),ret.addPropertyResult("operatorAppRoleArn","OperatorAppRoleArn",properties.OperatorAppRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.OperatorAppRoleArn):void 0),ret.addPropertyResult("updatedAt","UpdatedAt",properties.UpdatedAt!=null?cfn_parse().FromCloudFormation.getString(properties.UpdatedAt):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentSpaceIdcAuthConfigurationPropertyValidator(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("createdAt",cdk().validateString)(properties.createdAt)),errors.collect(cdk().propertyValidator("idcApplicationArn",cdk().validateString)(properties.idcApplicationArn)),errors.collect(cdk().propertyValidator("idcInstanceArn",cdk().requiredValidator)(properties.idcInstanceArn)),errors.collect(cdk().propertyValidator("idcInstanceArn",cdk().validateString)(properties.idcInstanceArn)),errors.collect(cdk().propertyValidator("operatorAppRoleArn",cdk().requiredValidator)(properties.operatorAppRoleArn)),errors.collect(cdk().propertyValidator("operatorAppRoleArn",cdk().validateString)(properties.operatorAppRoleArn)),errors.collect(cdk().propertyValidator("updatedAt",cdk().validateString)(properties.updatedAt)),errors.wrap('supplied properties not correct for "IdcAuthConfigurationProperty"')}function convertCfnAgentSpaceIdcAuthConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentSpaceIdcAuthConfigurationPropertyValidator(properties).assertSuccess(),{CreatedAt:cdk().stringToCloudFormation(properties.createdAt),IdcApplicationArn:cdk().stringToCloudFormation(properties.idcApplicationArn),IdcInstanceArn:cdk().stringToCloudFormation(properties.idcInstanceArn),OperatorAppRoleArn:cdk().stringToCloudFormation(properties.operatorAppRoleArn),UpdatedAt:cdk().stringToCloudFormation(properties.updatedAt)}):properties}function CfnAgentSpaceIdcAuthConfigurationPropertyFromCloudFormation(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("createdAt","CreatedAt",properties.CreatedAt!=null?cfn_parse().FromCloudFormation.getString(properties.CreatedAt):void 0),ret.addPropertyResult("idcApplicationArn","IdcApplicationArn",properties.IdcApplicationArn!=null?cfn_parse().FromCloudFormation.getString(properties.IdcApplicationArn):void 0),ret.addPropertyResult("idcInstanceArn","IdcInstanceArn",properties.IdcInstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.IdcInstanceArn):void 0),ret.addPropertyResult("operatorAppRoleArn","OperatorAppRoleArn",properties.OperatorAppRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.OperatorAppRoleArn):void 0),ret.addPropertyResult("updatedAt","UpdatedAt",properties.UpdatedAt!=null?cfn_parse().FromCloudFormation.getString(properties.UpdatedAt):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentSpaceOperatorAppPropertyValidator(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("iam",CfnAgentSpaceIamAuthConfigurationPropertyValidator)(properties.iam)),errors.collect(cdk().propertyValidator("idc",CfnAgentSpaceIdcAuthConfigurationPropertyValidator)(properties.idc)),errors.wrap('supplied properties not correct for "OperatorAppProperty"')}function convertCfnAgentSpaceOperatorAppPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentSpaceOperatorAppPropertyValidator(properties).assertSuccess(),{Iam:convertCfnAgentSpaceIamAuthConfigurationPropertyToCloudFormation(properties.iam),Idc:convertCfnAgentSpaceIdcAuthConfigurationPropertyToCloudFormation(properties.idc)}):properties}function CfnAgentSpaceOperatorAppPropertyFromCloudFormation(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("iam","Iam",properties.Iam!=null?CfnAgentSpaceIamAuthConfigurationPropertyFromCloudFormation(properties.Iam):void 0),ret.addPropertyResult("idc","Idc",properties.Idc!=null?CfnAgentSpaceIdcAuthConfigurationPropertyFromCloudFormation(properties.Idc):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgentSpacePropsValidator(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("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("operatorApp",CfnAgentSpaceOperatorAppPropertyValidator)(properties.operatorApp)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAgentSpaceProps"')}function convertCfnAgentSpacePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentSpacePropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),Name:cdk().stringToCloudFormation(properties.name),OperatorApp:convertCfnAgentSpaceOperatorAppPropertyToCloudFormation(properties.operatorApp),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAgentSpacePropsFromCloudFormation(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("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("operatorApp","OperatorApp",properties.OperatorApp!=null?CfnAgentSpaceOperatorAppPropertyFromCloudFormation(properties.OperatorApp):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 CfnAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_devopsagent.CfnAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DevOpsAgent::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}_agentSpaceId;_configuration;_linkedAssociationIds;_serviceId;cfnPropertyNames={agentSpaceId:"AgentSpaceId",configuration:"Configuration",linkedAssociationIds:"LinkedAssociationIds",serviceId:"ServiceId"};constructor(scope,id,props){super(scope,id,{type:CfnAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_devopsagent_CfnAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAssociation),error}cdk().requireProperty(props,"agentSpaceId",this),cdk().requireProperty(props,"configuration",this),cdk().requireProperty(props,"serviceId",this),this._agentSpaceId=props.agentSpaceId,this._configuration=props.configuration,this._linkedAssociationIds=props.linkedAssociationIds,this._serviceId=props.serviceId}get associationRef(){return{agentSpaceId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),associationId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get agentSpaceId(){return this._agentSpaceId}set agentSpaceId(value){cdk().traceProperty(this.node,"AgentSpaceId"),this._agentSpaceId=value}get configuration(){return this._configuration}set configuration(value){cdk().traceProperty(this.node,"Configuration"),this._configuration=value}get linkedAssociationIds(){return this._linkedAssociationIds}set linkedAssociationIds(value){cdk().traceProperty(this.node,"LinkedAssociationIds"),this._linkedAssociationIds=value}get serviceId(){return this._serviceId}set serviceId(value){cdk().traceProperty(this.node,"ServiceId"),this._serviceId=value}get attrAssociationId(){return cdk().Token.asString(this.getAtt("AssociationId",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{agentSpaceId:this._agentSpaceId,configuration:this._configuration,linkedAssociationIds:this._linkedAssociationIds,serviceId:this._serviceId}}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 CfnAssociationAWSResourcePropertyValidator(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("resourceArn",cdk().requiredValidator)(properties.resourceArn)),errors.collect(cdk().propertyValidator("resourceArn",cdk().validateString)(properties.resourceArn)),errors.collect(cdk().propertyValidator("resourceMetadata",cdk().validateObject)(properties.resourceMetadata)),errors.collect(cdk().propertyValidator("resourceType",cdk().validateString)(properties.resourceType)),errors.wrap('supplied properties not correct for "AWSResourceProperty"')}function convertCfnAssociationAWSResourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationAWSResourcePropertyValidator(properties).assertSuccess(),{ResourceArn:cdk().stringToCloudFormation(properties.resourceArn),ResourceMetadata:cdk().objectToCloudFormation(properties.resourceMetadata),ResourceType:cdk().stringToCloudFormation(properties.resourceType)}):properties}function CfnAssociationAWSResourcePropertyFromCloudFormation(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("resourceArn","ResourceArn",properties.ResourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceArn):void 0),ret.addPropertyResult("resourceMetadata","ResourceMetadata",properties.ResourceMetadata!=null?cfn_parse().FromCloudFormation.getAny(properties.ResourceMetadata):void 0),ret.addPropertyResult("resourceType","ResourceType",properties.ResourceType!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationKeyValuePairPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "KeyValuePairProperty"')}function convertCfnAssociationKeyValuePairPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationKeyValuePairPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnAssociationKeyValuePairPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationSourceAwsConfigurationPropertyValidator(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("accountId",cdk().requiredValidator)(properties.accountId)),errors.collect(cdk().propertyValidator("accountId",cdk().validateString)(properties.accountId)),errors.collect(cdk().propertyValidator("accountType",cdk().requiredValidator)(properties.accountType)),errors.collect(cdk().propertyValidator("accountType",cdk().validateString)(properties.accountType)),errors.collect(cdk().propertyValidator("assumableRoleArn",cdk().requiredValidator)(properties.assumableRoleArn)),errors.collect(cdk().propertyValidator("assumableRoleArn",cdk().validateString)(properties.assumableRoleArn)),errors.collect(cdk().propertyValidator("resources",cdk().listValidator(CfnAssociationAWSResourcePropertyValidator))(properties.resources)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(CfnAssociationKeyValuePairPropertyValidator))(properties.tags)),errors.wrap('supplied properties not correct for "SourceAwsConfigurationProperty"')}function convertCfnAssociationSourceAwsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationSourceAwsConfigurationPropertyValidator(properties).assertSuccess(),{AccountId:cdk().stringToCloudFormation(properties.accountId),AccountType:cdk().stringToCloudFormation(properties.accountType),AssumableRoleArn:cdk().stringToCloudFormation(properties.assumableRoleArn),Resources:cdk().listMapper(convertCfnAssociationAWSResourcePropertyToCloudFormation)(properties.resources),Tags:cdk().listMapper(convertCfnAssociationKeyValuePairPropertyToCloudFormation)(properties.tags)}):properties}function CfnAssociationSourceAwsConfigurationPropertyFromCloudFormation(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("accountId","AccountId",properties.AccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AccountId):void 0),ret.addPropertyResult("accountType","AccountType",properties.AccountType!=null?cfn_parse().FromCloudFormation.getString(properties.AccountType):void 0),ret.addPropertyResult("assumableRoleArn","AssumableRoleArn",properties.AssumableRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.AssumableRoleArn):void 0),ret.addPropertyResult("resources","Resources",properties.Resources!=null?cfn_parse().FromCloudFormation.getArray(CfnAssociationAWSResourcePropertyFromCloudFormation)(properties.Resources):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(CfnAssociationKeyValuePairPropertyFromCloudFormation)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationAWSConfigurationPropertyValidator(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("accountId",cdk().requiredValidator)(properties.accountId)),errors.collect(cdk().propertyValidator("accountId",cdk().validateString)(properties.accountId)),errors.collect(cdk().propertyValidator("accountType",cdk().requiredValidator)(properties.accountType)),errors.collect(cdk().propertyValidator("accountType",cdk().validateString)(properties.accountType)),errors.collect(cdk().propertyValidator("assumableRoleArn",cdk().requiredValidator)(properties.assumableRoleArn)),errors.collect(cdk().propertyValidator("assumableRoleArn",cdk().validateString)(properties.assumableRoleArn)),errors.collect(cdk().propertyValidator("resources",cdk().listValidator(CfnAssociationAWSResourcePropertyValidator))(properties.resources)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(CfnAssociationKeyValuePairPropertyValidator))(properties.tags)),errors.wrap('supplied properties not correct for "AWSConfigurationProperty"')}function convertCfnAssociationAWSConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationAWSConfigurationPropertyValidator(properties).assertSuccess(),{AccountId:cdk().stringToCloudFormation(properties.accountId),AccountType:cdk().stringToCloudFormation(properties.accountType),AssumableRoleArn:cdk().stringToCloudFormation(properties.assumableRoleArn),Resources:cdk().listMapper(convertCfnAssociationAWSResourcePropertyToCloudFormation)(properties.resources),Tags:cdk().listMapper(convertCfnAssociationKeyValuePairPropertyToCloudFormation)(properties.tags)}):properties}function CfnAssociationAWSConfigurationPropertyFromCloudFormation(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("accountId","AccountId",properties.AccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AccountId):void 0),ret.addPropertyResult("accountType","AccountType",properties.AccountType!=null?cfn_parse().FromCloudFormation.getString(properties.AccountType):void 0),ret.addPropertyResult("assumableRoleArn","AssumableRoleArn",properties.AssumableRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.AssumableRoleArn):void 0),ret.addPropertyResult("resources","Resources",properties.Resources!=null?cfn_parse().FromCloudFormation.getArray(CfnAssociationAWSResourcePropertyFromCloudFormation)(properties.Resources):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(CfnAssociationKeyValuePairPropertyFromCloudFormation)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationGitHubConfigurationPropertyValidator(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("owner",cdk().requiredValidator)(properties.owner)),errors.collect(cdk().propertyValidator("owner",cdk().validateString)(properties.owner)),errors.collect(cdk().propertyValidator("ownerType",cdk().requiredValidator)(properties.ownerType)),errors.collect(cdk().propertyValidator("ownerType",cdk().validateString)(properties.ownerType)),errors.collect(cdk().propertyValidator("repoId",cdk().requiredValidator)(properties.repoId)),errors.collect(cdk().propertyValidator("repoId",cdk().validateString)(properties.repoId)),errors.collect(cdk().propertyValidator("repoName",cdk().requiredValidator)(properties.repoName)),errors.collect(cdk().propertyValidator("repoName",cdk().validateString)(properties.repoName)),errors.wrap('supplied properties not correct for "GitHubConfigurationProperty"')}function convertCfnAssociationGitHubConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationGitHubConfigurationPropertyValidator(properties).assertSuccess(),{Owner:cdk().stringToCloudFormation(properties.owner),OwnerType:cdk().stringToCloudFormation(properties.ownerType),RepoId:cdk().stringToCloudFormation(properties.repoId),RepoName:cdk().stringToCloudFormation(properties.repoName)}):properties}function CfnAssociationGitHubConfigurationPropertyFromCloudFormation(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("owner","Owner",properties.Owner!=null?cfn_parse().FromCloudFormation.getString(properties.Owner):void 0),ret.addPropertyResult("ownerType","OwnerType",properties.OwnerType!=null?cfn_parse().FromCloudFormation.getString(properties.OwnerType):void 0),ret.addPropertyResult("repoId","RepoId",properties.RepoId!=null?cfn_parse().FromCloudFormation.getString(properties.RepoId):void 0),ret.addPropertyResult("repoName","RepoName",properties.RepoName!=null?cfn_parse().FromCloudFormation.getString(properties.RepoName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationSlackChannelPropertyValidator(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("channelId",cdk().requiredValidator)(properties.channelId)),errors.collect(cdk().propertyValidator("channelId",cdk().validateString)(properties.channelId)),errors.collect(cdk().propertyValidator("channelName",cdk().validateString)(properties.channelName)),errors.wrap('supplied properties not correct for "SlackChannelProperty"')}function convertCfnAssociationSlackChannelPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationSlackChannelPropertyValidator(properties).assertSuccess(),{ChannelId:cdk().stringToCloudFormation(properties.channelId),ChannelName:cdk().stringToCloudFormation(properties.channelName)}):properties}function CfnAssociationSlackChannelPropertyFromCloudFormation(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("channelId","ChannelId",properties.ChannelId!=null?cfn_parse().FromCloudFormation.getString(properties.ChannelId):void 0),ret.addPropertyResult("channelName","ChannelName",properties.ChannelName!=null?cfn_parse().FromCloudFormation.getString(properties.ChannelName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationSlackTransmissionTargetPropertyValidator(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("incidentResponseTarget",cdk().requiredValidator)(properties.incidentResponseTarget)),errors.collect(cdk().propertyValidator("incidentResponseTarget",CfnAssociationSlackChannelPropertyValidator)(properties.incidentResponseTarget)),errors.wrap('supplied properties not correct for "SlackTransmissionTargetProperty"')}function convertCfnAssociationSlackTransmissionTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationSlackTransmissionTargetPropertyValidator(properties).assertSuccess(),{IncidentResponseTarget:convertCfnAssociationSlackChannelPropertyToCloudFormation(properties.incidentResponseTarget)}):properties}function CfnAssociationSlackTransmissionTargetPropertyFromCloudFormation(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("incidentResponseTarget","IncidentResponseTarget",properties.IncidentResponseTarget!=null?CfnAssociationSlackChannelPropertyFromCloudFormation(properties.IncidentResponseTarget):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationSlackConfigurationPropertyValidator(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("transmissionTarget",cdk().requiredValidator)(properties.transmissionTarget)),errors.collect(cdk().propertyValidator("transmissionTarget",CfnAssociationSlackTransmissionTargetPropertyValidator)(properties.transmissionTarget)),errors.collect(cdk().propertyValidator("workspaceId",cdk().requiredValidator)(properties.workspaceId)),errors.collect(cdk().propertyValidator("workspaceId",cdk().validateString)(properties.workspaceId)),errors.collect(cdk().propertyValidator("workspaceName",cdk().requiredValidator)(properties.workspaceName)),errors.collect(cdk().propertyValidator("workspaceName",cdk().validateString)(properties.workspaceName)),errors.wrap('supplied properties not correct for "SlackConfigurationProperty"')}function convertCfnAssociationSlackConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationSlackConfigurationPropertyValidator(properties).assertSuccess(),{TransmissionTarget:convertCfnAssociationSlackTransmissionTargetPropertyToCloudFormation(properties.transmissionTarget),WorkspaceId:cdk().stringToCloudFormation(properties.workspaceId),WorkspaceName:cdk().stringToCloudFormation(properties.workspaceName)}):properties}function CfnAssociationSlackConfigurationPropertyFromCloudFormation(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("transmissionTarget","TransmissionTarget",properties.TransmissionTarget!=null?CfnAssociationSlackTransmissionTargetPropertyFromCloudFormation(properties.TransmissionTarget):void 0),ret.addPropertyResult("workspaceId","WorkspaceId",properties.WorkspaceId!=null?cfn_parse().FromCloudFormation.getString(properties.WorkspaceId):void 0),ret.addPropertyResult("workspaceName","WorkspaceName",properties.WorkspaceName!=null?cfn_parse().FromCloudFormation.getString(properties.WorkspaceName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationDynatraceConfigurationPropertyValidator(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("enableWebhookUpdates",cdk().validateBoolean)(properties.enableWebhookUpdates)),errors.collect(cdk().propertyValidator("envId",cdk().requiredValidator)(properties.envId)),errors.collect(cdk().propertyValidator("envId",cdk().validateString)(properties.envId)),errors.collect(cdk().propertyValidator("resources",cdk().listValidator(cdk().validateString))(properties.resources)),errors.wrap('supplied properties not correct for "DynatraceConfigurationProperty"')}function convertCfnAssociationDynatraceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationDynatraceConfigurationPropertyValidator(properties).assertSuccess(),{EnableWebhookUpdates:cdk().booleanToCloudFormation(properties.enableWebhookUpdates),EnvId:cdk().stringToCloudFormation(properties.envId),Resources:cdk().listMapper(cdk().stringToCloudFormation)(properties.resources)}):properties}function CfnAssociationDynatraceConfigurationPropertyFromCloudFormation(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("enableWebhookUpdates","EnableWebhookUpdates",properties.EnableWebhookUpdates!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableWebhookUpdates):void 0),ret.addPropertyResult("envId","EnvId",properties.EnvId!=null?cfn_parse().FromCloudFormation.getString(properties.EnvId):void 0),ret.addPropertyResult("resources","Resources",properties.Resources!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Resources):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationServiceNowConfigurationPropertyValidator(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("enableWebhookUpdates",cdk().validateBoolean)(properties.enableWebhookUpdates)),errors.collect(cdk().propertyValidator("instanceId",cdk().validateString)(properties.instanceId)),errors.wrap('supplied properties not correct for "ServiceNowConfigurationProperty"')}function convertCfnAssociationServiceNowConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationServiceNowConfigurationPropertyValidator(properties).assertSuccess(),{EnableWebhookUpdates:cdk().booleanToCloudFormation(properties.enableWebhookUpdates),InstanceId:cdk().stringToCloudFormation(properties.instanceId)}):properties}function CfnAssociationServiceNowConfigurationPropertyFromCloudFormation(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("enableWebhookUpdates","EnableWebhookUpdates",properties.EnableWebhookUpdates!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableWebhookUpdates):void 0),ret.addPropertyResult("instanceId","InstanceId",properties.InstanceId!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationMCPServerConfigurationPropertyValidator(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("enableWebhookUpdates",cdk().validateBoolean)(properties.enableWebhookUpdates)),errors.collect(cdk().propertyValidator("endpoint",cdk().requiredValidator)(properties.endpoint)),errors.collect(cdk().propertyValidator("endpoint",cdk().validateString)(properties.endpoint)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tools",cdk().requiredValidator)(properties.tools)),errors.collect(cdk().propertyValidator("tools",cdk().listValidator(cdk().validateString))(properties.tools)),errors.wrap('supplied properties not correct for "MCPServerConfigurationProperty"')}function convertCfnAssociationMCPServerConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationMCPServerConfigurationPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),EnableWebhookUpdates:cdk().booleanToCloudFormation(properties.enableWebhookUpdates),Endpoint:cdk().stringToCloudFormation(properties.endpoint),Name:cdk().stringToCloudFormation(properties.name),Tools:cdk().listMapper(cdk().stringToCloudFormation)(properties.tools)}):properties}function CfnAssociationMCPServerConfigurationPropertyFromCloudFormation(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("enableWebhookUpdates","EnableWebhookUpdates",properties.EnableWebhookUpdates!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableWebhookUpdates):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?cfn_parse().FromCloudFormation.getString(properties.Endpoint):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tools","Tools",properties.Tools!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Tools):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationGitLabConfigurationPropertyValidator(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("enableWebhookUpdates",cdk().validateBoolean)(properties.enableWebhookUpdates)),errors.collect(cdk().propertyValidator("instanceIdentifier",cdk().validateString)(properties.instanceIdentifier)),errors.collect(cdk().propertyValidator("projectId",cdk().requiredValidator)(properties.projectId)),errors.collect(cdk().propertyValidator("projectId",cdk().validateString)(properties.projectId)),errors.collect(cdk().propertyValidator("projectPath",cdk().requiredValidator)(properties.projectPath)),errors.collect(cdk().propertyValidator("projectPath",cdk().validateString)(properties.projectPath)),errors.wrap('supplied properties not correct for "GitLabConfigurationProperty"')}function convertCfnAssociationGitLabConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationGitLabConfigurationPropertyValidator(properties).assertSuccess(),{EnableWebhookUpdates:cdk().booleanToCloudFormation(properties.enableWebhookUpdates),InstanceIdentifier:cdk().stringToCloudFormation(properties.instanceIdentifier),ProjectId:cdk().stringToCloudFormation(properties.projectId),ProjectPath:cdk().stringToCloudFormation(properties.projectPath)}):properties}function CfnAssociationGitLabConfigurationPropertyFromCloudFormation(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("enableWebhookUpdates","EnableWebhookUpdates",properties.EnableWebhookUpdates!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableWebhookUpdates):void 0),ret.addPropertyResult("instanceIdentifier","InstanceIdentifier",properties.InstanceIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceIdentifier):void 0),ret.addPropertyResult("projectId","ProjectId",properties.ProjectId!=null?cfn_parse().FromCloudFormation.getString(properties.ProjectId):void 0),ret.addPropertyResult("projectPath","ProjectPath",properties.ProjectPath!=null?cfn_parse().FromCloudFormation.getString(properties.ProjectPath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationMCPServerDatadogConfigurationPropertyValidator(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("enableWebhookUpdates",cdk().validateBoolean)(properties.enableWebhookUpdates)),errors.collect(cdk().propertyValidator("endpoint",cdk().requiredValidator)(properties.endpoint)),errors.collect(cdk().propertyValidator("endpoint",cdk().validateString)(properties.endpoint)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "MCPServerDatadogConfigurationProperty"')}function convertCfnAssociationMCPServerDatadogConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationMCPServerDatadogConfigurationPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),EnableWebhookUpdates:cdk().booleanToCloudFormation(properties.enableWebhookUpdates),Endpoint:cdk().stringToCloudFormation(properties.endpoint),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnAssociationMCPServerDatadogConfigurationPropertyFromCloudFormation(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("enableWebhookUpdates","EnableWebhookUpdates",properties.EnableWebhookUpdates!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableWebhookUpdates):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?cfn_parse().FromCloudFormation.getString(properties.Endpoint):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationMCPServerSplunkConfigurationPropertyValidator(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("enableWebhookUpdates",cdk().validateBoolean)(properties.enableWebhookUpdates)),errors.collect(cdk().propertyValidator("endpoint",cdk().requiredValidator)(properties.endpoint)),errors.collect(cdk().propertyValidator("endpoint",cdk().validateString)(properties.endpoint)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "MCPServerSplunkConfigurationProperty"')}function convertCfnAssociationMCPServerSplunkConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationMCPServerSplunkConfigurationPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),EnableWebhookUpdates:cdk().booleanToCloudFormation(properties.enableWebhookUpdates),Endpoint:cdk().stringToCloudFormation(properties.endpoint),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnAssociationMCPServerSplunkConfigurationPropertyFromCloudFormation(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("enableWebhookUpdates","EnableWebhookUpdates",properties.EnableWebhookUpdates!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableWebhookUpdates):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?cfn_parse().FromCloudFormation.getString(properties.Endpoint):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationMCPServerNewRelicConfigurationPropertyValidator(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("accountId",cdk().requiredValidator)(properties.accountId)),errors.collect(cdk().propertyValidator("accountId",cdk().validateString)(properties.accountId)),errors.collect(cdk().propertyValidator("endpoint",cdk().requiredValidator)(properties.endpoint)),errors.collect(cdk().propertyValidator("endpoint",cdk().validateString)(properties.endpoint)),errors.wrap('supplied properties not correct for "MCPServerNewRelicConfigurationProperty"')}function convertCfnAssociationMCPServerNewRelicConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationMCPServerNewRelicConfigurationPropertyValidator(properties).assertSuccess(),{AccountId:cdk().stringToCloudFormation(properties.accountId),Endpoint:cdk().stringToCloudFormation(properties.endpoint)}):properties}function CfnAssociationMCPServerNewRelicConfigurationPropertyFromCloudFormation(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("accountId","AccountId",properties.AccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AccountId):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?cfn_parse().FromCloudFormation.getString(properties.Endpoint):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationEventChannelConfigurationPropertyValidator(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("enableWebhookUpdates",cdk().validateBoolean)(properties.enableWebhookUpdates)),errors.wrap('supplied properties not correct for "EventChannelConfigurationProperty"')}function convertCfnAssociationEventChannelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationEventChannelConfigurationPropertyValidator(properties).assertSuccess(),{EnableWebhookUpdates:cdk().booleanToCloudFormation(properties.enableWebhookUpdates)}):properties}function CfnAssociationEventChannelConfigurationPropertyFromCloudFormation(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("enableWebhookUpdates","EnableWebhookUpdates",properties.EnableWebhookUpdates!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableWebhookUpdates):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationPagerDutyConfigurationPropertyValidator(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("customerEmail",cdk().requiredValidator)(properties.customerEmail)),errors.collect(cdk().propertyValidator("customerEmail",cdk().validateString)(properties.customerEmail)),errors.collect(cdk().propertyValidator("enableWebhookUpdates",cdk().validateBoolean)(properties.enableWebhookUpdates)),errors.collect(cdk().propertyValidator("services",cdk().requiredValidator)(properties.services)),errors.collect(cdk().propertyValidator("services",cdk().listValidator(cdk().validateString))(properties.services)),errors.wrap('supplied properties not correct for "PagerDutyConfigurationProperty"')}function convertCfnAssociationPagerDutyConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationPagerDutyConfigurationPropertyValidator(properties).assertSuccess(),{CustomerEmail:cdk().stringToCloudFormation(properties.customerEmail),EnableWebhookUpdates:cdk().booleanToCloudFormation(properties.enableWebhookUpdates),Services:cdk().listMapper(cdk().stringToCloudFormation)(properties.services)}):properties}function CfnAssociationPagerDutyConfigurationPropertyFromCloudFormation(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("customerEmail","CustomerEmail",properties.CustomerEmail!=null?cfn_parse().FromCloudFormation.getString(properties.CustomerEmail):void 0),ret.addPropertyResult("enableWebhookUpdates","EnableWebhookUpdates",properties.EnableWebhookUpdates!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableWebhookUpdates):void 0),ret.addPropertyResult("services","Services",properties.Services!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Services):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationAzureConfigurationPropertyValidator(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("subscriptionId",cdk().requiredValidator)(properties.subscriptionId)),errors.collect(cdk().propertyValidator("subscriptionId",cdk().validateString)(properties.subscriptionId)),errors.wrap('supplied properties not correct for "AzureConfigurationProperty"')}function convertCfnAssociationAzureConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationAzureConfigurationPropertyValidator(properties).assertSuccess(),{SubscriptionId:cdk().stringToCloudFormation(properties.subscriptionId)}):properties}function CfnAssociationAzureConfigurationPropertyFromCloudFormation(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("subscriptionId","SubscriptionId",properties.SubscriptionId!=null?cfn_parse().FromCloudFormation.getString(properties.SubscriptionId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationMCPServerSigV4ConfigurationPropertyValidator(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("tools",cdk().requiredValidator)(properties.tools)),errors.collect(cdk().propertyValidator("tools",cdk().listValidator(cdk().validateString))(properties.tools)),errors.wrap('supplied properties not correct for "MCPServerSigV4ConfigurationProperty"')}function convertCfnAssociationMCPServerSigV4ConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationMCPServerSigV4ConfigurationPropertyValidator(properties).assertSuccess(),{Tools:cdk().listMapper(cdk().stringToCloudFormation)(properties.tools)}):properties}function CfnAssociationMCPServerSigV4ConfigurationPropertyFromCloudFormation(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("tools","Tools",properties.Tools!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Tools):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssociationServiceConfigurationPropertyValidator(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("aws",CfnAssociationAWSConfigurationPropertyValidator)(properties.aws)),errors.collect(cdk().propertyValidator("azure",CfnAssociationAzureConfigurationPropertyValidator)(properties.azure)),errors.collect(cdk().propertyValidator("dynatrace",CfnAssociationDynatraceConfigurationPropertyValidator)(properties.dynatrace)),errors.collect(cdk().propertyValidator("eventChannel",CfnAssociationEventChannelConfigurationPropertyValidator)(properties.eventChannel)),errors.collect(cdk().propertyValidator("gitHub",CfnAssociationGitHubConfigurationPropertyValidator)(properties.gitHub)),errors.collect(cdk().propertyValidator("gitLab",CfnAssociationGitLabConfigurationPropertyValidator)(properties.gitLab)),errors.collect(cdk().propertyValidator("mcpServer",CfnAssociationMCPServerConfigurationPropertyValidator)(properties.mcpServer)),errors.collect(cdk().propertyValidator("mcpServerDatadog",CfnAssociationMCPServerDatadogConfigurationPropertyValidator)(properties.mcpServerDatadog)),errors.collect(cdk().propertyValidator("mcpServerNewRelic",CfnAssociationMCPServerNewRelicConfigurationPropertyValidator)(properties.mcpServerNewRelic)),errors.collect(cdk().propertyValidator("mcpServerSigV4",CfnAssociationMCPServerSigV4ConfigurationPropertyValidator)(properties.mcpServerSigV4)),errors.collect(cdk().propertyValidator("mcpServerSplunk",CfnAssociationMCPServerSplunkConfigurationPropertyValidator)(properties.mcpServerSplunk)),errors.collect(cdk().propertyValidator("pagerDuty",CfnAssociationPagerDutyConfigurationPropertyValidator)(properties.pagerDuty)),errors.collect(cdk().propertyValidator("serviceNow",CfnAssociationServiceNowConfigurationPropertyValidator)(properties.serviceNow)),errors.collect(cdk().propertyValidator("slack",CfnAssociationSlackConfigurationPropertyValidator)(properties.slack)),errors.collect(cdk().propertyValidator("sourceAws",CfnAssociationSourceAwsConfigurationPropertyValidator)(properties.sourceAws)),errors.wrap('supplied properties not correct for "ServiceConfigurationProperty"')}function convertCfnAssociationServiceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationServiceConfigurationPropertyValidator(properties).assertSuccess(),{Aws:convertCfnAssociationAWSConfigurationPropertyToCloudFormation(properties.aws),Azure:convertCfnAssociationAzureConfigurationPropertyToCloudFormation(properties.azure),Dynatrace:convertCfnAssociationDynatraceConfigurationPropertyToCloudFormation(properties.dynatrace),EventChannel:convertCfnAssociationEventChannelConfigurationPropertyToCloudFormation(properties.eventChannel),GitHub:convertCfnAssociationGitHubConfigurationPropertyToCloudFormation(properties.gitHub),GitLab:convertCfnAssociationGitLabConfigurationPropertyToCloudFormation(properties.gitLab),MCPServer:convertCfnAssociationMCPServerConfigurationPropertyToCloudFormation(properties.mcpServer),MCPServerDatadog:convertCfnAssociationMCPServerDatadogConfigurationPropertyToCloudFormation(properties.mcpServerDatadog),MCPServerNewRelic:convertCfnAssociationMCPServerNewRelicConfigurationPropertyToCloudFormation(properties.mcpServerNewRelic),MCPServerSigV4:convertCfnAssociationMCPServerSigV4ConfigurationPropertyToCloudFormation(properties.mcpServerSigV4),MCPServerSplunk:convertCfnAssociationMCPServerSplunkConfigurationPropertyToCloudFormation(properties.mcpServerSplunk),PagerDuty:convertCfnAssociationPagerDutyConfigurationPropertyToCloudFormation(properties.pagerDuty),ServiceNow:convertCfnAssociationServiceNowConfigurationPropertyToCloudFormation(properties.serviceNow),Slack:convertCfnAssociationSlackConfigurationPropertyToCloudFormation(properties.slack),SourceAws:convertCfnAssociationSourceAwsConfigurationPropertyToCloudFormation(properties.sourceAws)}):properties}function CfnAssociationServiceConfigurationPropertyFromCloudFormation(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("aws","Aws",properties.Aws!=null?CfnAssociationAWSConfigurationPropertyFromCloudFormation(properties.Aws):void 0),ret.addPropertyResult("azure","Azure",properties.Azure!=null?CfnAssociationAzureConfigurationPropertyFromCloudFormation(properties.Azure):void 0),ret.addPropertyResult("dynatrace","Dynatrace",properties.Dynatrace!=null?CfnAssociationDynatraceConfigurationPropertyFromCloudFormation(properties.Dynatrace):void 0),ret.addPropertyResult("eventChannel","EventChannel",properties.EventChannel!=null?CfnAssociationEventChannelConfigurationPropertyFromCloudFormation(properties.EventChannel):void 0),ret.addPropertyResult("gitHub","GitHub",properties.GitHub!=null?CfnAssociationGitHubConfigurationPropertyFromCloudFormation(properties.GitHub):void 0),ret.addPropertyResult("gitLab","GitLab",properties.GitLab!=null?CfnAssociationGitLabConfigurationPropertyFromCloudFormation(properties.GitLab):void 0),ret.addPropertyResult("mcpServer","MCPServer",properties.MCPServer!=null?CfnAssociationMCPServerConfigurationPropertyFromCloudFormation(properties.MCPServer):void 0),ret.addPropertyResult("mcpServerDatadog","MCPServerDatadog",properties.MCPServerDatadog!=null?CfnAssociationMCPServerDatadogConfigurationPropertyFromCloudFormation(properties.MCPServerDatadog):void 0),ret.addPropertyResult("mcpServerNewRelic","MCPServerNewRelic",properties.MCPServerNewRelic!=null?CfnAssociationMCPServerNewRelicConfigurationPropertyFromCloudFormation(properties.MCPServerNewRelic):void 0),ret.addPropertyResult("mcpServerSigV4","MCPServerSigV4",properties.MCPServerSigV4!=null?CfnAssociationMCPServerSigV4ConfigurationPropertyFromCloudFormation(properties.MCPServerSigV4):void 0),ret.addPropertyResult("mcpServerSplunk","MCPServerSplunk",properties.MCPServerSplunk!=null?CfnAssociationMCPServerSplunkConfigurationPropertyFromCloudFormation(properties.MCPServerSplunk):void 0),ret.addPropertyResult("pagerDuty","PagerDuty",properties.PagerDuty!=null?CfnAssociationPagerDutyConfigurationPropertyFromCloudFormation(properties.PagerDuty):void 0),ret.addPropertyResult("serviceNow","ServiceNow",properties.ServiceNow!=null?CfnAssociationServiceNowConfigurationPropertyFromCloudFormation(properties.ServiceNow):void 0),ret.addPropertyResult("slack","Slack",properties.Slack!=null?CfnAssociationSlackConfigurationPropertyFromCloudFormation(properties.Slack):void 0),ret.addPropertyResult("sourceAws","SourceAws",properties.SourceAws!=null?CfnAssociationSourceAwsConfigurationPropertyFromCloudFormation(properties.SourceAws):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("agentSpaceId",cdk().requiredValidator)(properties.agentSpaceId)),errors.collect(cdk().propertyValidator("agentSpaceId",cdk().validateString)(properties.agentSpaceId)),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnAssociationServiceConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("linkedAssociationIds",cdk().listValidator(cdk().validateString))(properties.linkedAssociationIds)),errors.collect(cdk().propertyValidator("serviceId",cdk().requiredValidator)(properties.serviceId)),errors.collect(cdk().propertyValidator("serviceId",cdk().validateString)(properties.serviceId)),errors.wrap('supplied properties not correct for "CfnAssociationProps"')}function convertCfnAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssociationPropsValidator(properties).assertSuccess(),{AgentSpaceId:cdk().stringToCloudFormation(properties.agentSpaceId),Configuration:convertCfnAssociationServiceConfigurationPropertyToCloudFormation(properties.configuration),LinkedAssociationIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.linkedAssociationIds),ServiceId:cdk().stringToCloudFormation(properties.serviceId)}):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("agentSpaceId","AgentSpaceId",properties.AgentSpaceId!=null?cfn_parse().FromCloudFormation.getString(properties.AgentSpaceId):void 0),ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnAssociationServiceConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("linkedAssociationIds","LinkedAssociationIds",properties.LinkedAssociationIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.LinkedAssociationIds):void 0),ret.addPropertyResult("serviceId","ServiceId",properties.ServiceId!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnService extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_devopsagent.CfnService",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DevOpsAgent::Service";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnServicePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnService(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 isCfnService(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnService.CFN_RESOURCE_TYPE_NAME}static fromServiceArn(scope,id,arn){class Import extends cdk().Resource{serviceRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:aidevops:${Region}:${Account}:service/${ServiceId}").parse(arn2);this.serviceRef={serviceId:variables.ServiceId,serviceArn:arn2}}}return new Import(scope,id,arn)}static fromServiceId(scope,id,serviceId){class Import extends cdk().Resource{serviceRef;constructor(scope2,id2,serviceId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:aidevops:${Region}:${Account}:service/${ServiceId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,ServiceId:serviceId2});super(scope2,id2,{environmentFromArn:arn}),this.serviceRef={serviceId:serviceId2,serviceArn:arn}}}return new Import(scope,id,serviceId)}static arnForService(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_devopsagent_IServiceRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForService),error}return resource.serviceRef.serviceArn}cdkTagManager;_kmsKeyArn;_serviceDetails;_serviceType;_tags;cfnPropertyNames={tags:"Tags",kmsKeyArn:"KmsKeyArn",serviceDetails:"ServiceDetails",serviceType:"ServiceType"};constructor(scope,id,props){super(scope,id,{type:CfnService.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_devopsagent_CfnServiceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnService),error}cdk().requireProperty(props,"serviceType",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DevOpsAgent::Service",void 0,{tagPropertyName:"tags"}),this._kmsKeyArn=props.kmsKeyArn,this._serviceDetails=props.serviceDetails,this._serviceType=props.serviceType,this._tags=props.tags}get serviceRef(){return{serviceId:this.ref,serviceArn:this.attrArn}}get kmsKeyArn(){return this._kmsKeyArn}set kmsKeyArn(value){cdk().traceProperty(this.node,"KmsKeyArn"),this._kmsKeyArn=value}get serviceDetails(){return this._serviceDetails}set serviceDetails(value){cdk().traceProperty(this.node,"ServiceDetails"),this._serviceDetails=value}get serviceType(){return this._serviceType}set serviceType(value){cdk().traceProperty(this.node,"ServiceType"),this._serviceType=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrAccessibleResources(){return this.getAtt("AccessibleResources")}get attrAdditionalServiceDetails(){return this.getAtt("AdditionalServiceDetails")}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrServiceId(){return cdk().Token.asString(this.getAtt("ServiceId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),kmsKeyArn:this._kmsKeyArn,serviceDetails:this._serviceDetails,serviceType:this._serviceType}}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",CfnService.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnServicePropsToCloudFormation(props)}}exports.CfnService=CfnService;function CfnServiceOAuthClientDetailsPropertyValidator(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("clientId",cdk().requiredValidator)(properties.clientId)),errors.collect(cdk().propertyValidator("clientId",cdk().validateString)(properties.clientId)),errors.collect(cdk().propertyValidator("clientName",cdk().validateString)(properties.clientName)),errors.collect(cdk().propertyValidator("clientSecret",cdk().requiredValidator)(properties.clientSecret)),errors.collect(cdk().propertyValidator("clientSecret",cdk().validateString)(properties.clientSecret)),errors.collect(cdk().propertyValidator("exchangeParameters",cdk().validateObject)(properties.exchangeParameters)),errors.wrap('supplied properties not correct for "OAuthClientDetailsProperty"')}function convertCfnServiceOAuthClientDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceOAuthClientDetailsPropertyValidator(properties).assertSuccess(),{ClientId:cdk().stringToCloudFormation(properties.clientId),ClientName:cdk().stringToCloudFormation(properties.clientName),ClientSecret:cdk().stringToCloudFormation(properties.clientSecret),ExchangeParameters:cdk().objectToCloudFormation(properties.exchangeParameters)}):properties}function CfnServiceOAuthClientDetailsPropertyFromCloudFormation(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("clientId","ClientId",properties.ClientId!=null?cfn_parse().FromCloudFormation.getString(properties.ClientId):void 0),ret.addPropertyResult("clientName","ClientName",properties.ClientName!=null?cfn_parse().FromCloudFormation.getString(properties.ClientName):void 0),ret.addPropertyResult("clientSecret","ClientSecret",properties.ClientSecret!=null?cfn_parse().FromCloudFormation.getString(properties.ClientSecret):void 0),ret.addPropertyResult("exchangeParameters","ExchangeParameters",properties.ExchangeParameters!=null?cfn_parse().FromCloudFormation.getAny(properties.ExchangeParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceDynatraceAuthorizationConfigPropertyValidator(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("oAuthClientCredentials",CfnServiceOAuthClientDetailsPropertyValidator)(properties.oAuthClientCredentials)),errors.wrap('supplied properties not correct for "DynatraceAuthorizationConfigProperty"')}function convertCfnServiceDynatraceAuthorizationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceDynatraceAuthorizationConfigPropertyValidator(properties).assertSuccess(),{OAuthClientCredentials:convertCfnServiceOAuthClientDetailsPropertyToCloudFormation(properties.oAuthClientCredentials)}):properties}function CfnServiceDynatraceAuthorizationConfigPropertyFromCloudFormation(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("oAuthClientCredentials","OAuthClientCredentials",properties.OAuthClientCredentials!=null?CfnServiceOAuthClientDetailsPropertyFromCloudFormation(properties.OAuthClientCredentials):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceDynatraceServiceDetailsPropertyValidator(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("accountUrn",cdk().requiredValidator)(properties.accountUrn)),errors.collect(cdk().propertyValidator("accountUrn",cdk().validateString)(properties.accountUrn)),errors.collect(cdk().propertyValidator("authorizationConfig",CfnServiceDynatraceAuthorizationConfigPropertyValidator)(properties.authorizationConfig)),errors.wrap('supplied properties not correct for "DynatraceServiceDetailsProperty"')}function convertCfnServiceDynatraceServiceDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceDynatraceServiceDetailsPropertyValidator(properties).assertSuccess(),{AccountUrn:cdk().stringToCloudFormation(properties.accountUrn),AuthorizationConfig:convertCfnServiceDynatraceAuthorizationConfigPropertyToCloudFormation(properties.authorizationConfig)}):properties}function CfnServiceDynatraceServiceDetailsPropertyFromCloudFormation(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("accountUrn","AccountUrn",properties.AccountUrn!=null?cfn_parse().FromCloudFormation.getString(properties.AccountUrn):void 0),ret.addPropertyResult("authorizationConfig","AuthorizationConfig",properties.AuthorizationConfig!=null?CfnServiceDynatraceAuthorizationConfigPropertyFromCloudFormation(properties.AuthorizationConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceMCPServerOAuthClientCredentialsConfigPropertyValidator(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("clientId",cdk().requiredValidator)(properties.clientId)),errors.collect(cdk().propertyValidator("clientId",cdk().validateString)(properties.clientId)),errors.collect(cdk().propertyValidator("clientName",cdk().validateString)(properties.clientName)),errors.collect(cdk().propertyValidator("clientSecret",cdk().requiredValidator)(properties.clientSecret)),errors.collect(cdk().propertyValidator("clientSecret",cdk().validateString)(properties.clientSecret)),errors.collect(cdk().propertyValidator("exchangeParameters",cdk().validateObject)(properties.exchangeParameters)),errors.collect(cdk().propertyValidator("exchangeUrl",cdk().requiredValidator)(properties.exchangeUrl)),errors.collect(cdk().propertyValidator("exchangeUrl",cdk().validateString)(properties.exchangeUrl)),errors.collect(cdk().propertyValidator("scopes",cdk().listValidator(cdk().validateString))(properties.scopes)),errors.wrap('supplied properties not correct for "MCPServerOAuthClientCredentialsConfigProperty"')}function convertCfnServiceMCPServerOAuthClientCredentialsConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceMCPServerOAuthClientCredentialsConfigPropertyValidator(properties).assertSuccess(),{ClientId:cdk().stringToCloudFormation(properties.clientId),ClientName:cdk().stringToCloudFormation(properties.clientName),ClientSecret:cdk().stringToCloudFormation(properties.clientSecret),ExchangeParameters:cdk().objectToCloudFormation(properties.exchangeParameters),ExchangeUrl:cdk().stringToCloudFormation(properties.exchangeUrl),Scopes:cdk().listMapper(cdk().stringToCloudFormation)(properties.scopes)}):properties}function CfnServiceMCPServerOAuthClientCredentialsConfigPropertyFromCloudFormation(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("clientId","ClientId",properties.ClientId!=null?cfn_parse().FromCloudFormation.getString(properties.ClientId):void 0),ret.addPropertyResult("clientName","ClientName",properties.ClientName!=null?cfn_parse().FromCloudFormation.getString(properties.ClientName):void 0),ret.addPropertyResult("clientSecret","ClientSecret",properties.ClientSecret!=null?cfn_parse().FromCloudFormation.getString(properties.ClientSecret):void 0),ret.addPropertyResult("exchangeParameters","ExchangeParameters",properties.ExchangeParameters!=null?cfn_parse().FromCloudFormation.getAny(properties.ExchangeParameters):void 0),ret.addPropertyResult("exchangeUrl","ExchangeUrl",properties.ExchangeUrl!=null?cfn_parse().FromCloudFormation.getString(properties.ExchangeUrl):void 0),ret.addPropertyResult("scopes","Scopes",properties.Scopes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Scopes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceApiKeyDetailsPropertyValidator(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("apiKeyHeader",cdk().requiredValidator)(properties.apiKeyHeader)),errors.collect(cdk().propertyValidator("apiKeyHeader",cdk().validateString)(properties.apiKeyHeader)),errors.collect(cdk().propertyValidator("apiKeyName",cdk().requiredValidator)(properties.apiKeyName)),errors.collect(cdk().propertyValidator("apiKeyName",cdk().validateString)(properties.apiKeyName)),errors.collect(cdk().propertyValidator("apiKeyValue",cdk().requiredValidator)(properties.apiKeyValue)),errors.collect(cdk().propertyValidator("apiKeyValue",cdk().validateString)(properties.apiKeyValue)),errors.wrap('supplied properties not correct for "ApiKeyDetailsProperty"')}function convertCfnServiceApiKeyDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceApiKeyDetailsPropertyValidator(properties).assertSuccess(),{ApiKeyHeader:cdk().stringToCloudFormation(properties.apiKeyHeader),ApiKeyName:cdk().stringToCloudFormation(properties.apiKeyName),ApiKeyValue:cdk().stringToCloudFormation(properties.apiKeyValue)}):properties}function CfnServiceApiKeyDetailsPropertyFromCloudFormation(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("apiKeyHeader","ApiKeyHeader",properties.ApiKeyHeader!=null?cfn_parse().FromCloudFormation.getString(properties.ApiKeyHeader):void 0),ret.addPropertyResult("apiKeyName","ApiKeyName",properties.ApiKeyName!=null?cfn_parse().FromCloudFormation.getString(properties.ApiKeyName):void 0),ret.addPropertyResult("apiKeyValue","ApiKeyValue",properties.ApiKeyValue!=null?cfn_parse().FromCloudFormation.getString(properties.ApiKeyValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceMCPServerAuthorizationConfigPropertyValidator(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("apiKey",CfnServiceApiKeyDetailsPropertyValidator)(properties.apiKey)),errors.collect(cdk().propertyValidator("oAuthClientCredentials",CfnServiceMCPServerOAuthClientCredentialsConfigPropertyValidator)(properties.oAuthClientCredentials)),errors.wrap('supplied properties not correct for "MCPServerAuthorizationConfigProperty"')}function convertCfnServiceMCPServerAuthorizationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceMCPServerAuthorizationConfigPropertyValidator(properties).assertSuccess(),{ApiKey:convertCfnServiceApiKeyDetailsPropertyToCloudFormation(properties.apiKey),OAuthClientCredentials:convertCfnServiceMCPServerOAuthClientCredentialsConfigPropertyToCloudFormation(properties.oAuthClientCredentials)}):properties}function CfnServiceMCPServerAuthorizationConfigPropertyFromCloudFormation(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("apiKey","ApiKey",properties.ApiKey!=null?CfnServiceApiKeyDetailsPropertyFromCloudFormation(properties.ApiKey):void 0),ret.addPropertyResult("oAuthClientCredentials","OAuthClientCredentials",properties.OAuthClientCredentials!=null?CfnServiceMCPServerOAuthClientCredentialsConfigPropertyFromCloudFormation(properties.OAuthClientCredentials):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceMCPServerDetailsPropertyValidator(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("authorizationConfig",cdk().requiredValidator)(properties.authorizationConfig)),errors.collect(cdk().propertyValidator("authorizationConfig",CfnServiceMCPServerAuthorizationConfigPropertyValidator)(properties.authorizationConfig)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("endpoint",cdk().requiredValidator)(properties.endpoint)),errors.collect(cdk().propertyValidator("endpoint",cdk().validateString)(properties.endpoint)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "MCPServerDetailsProperty"')}function convertCfnServiceMCPServerDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceMCPServerDetailsPropertyValidator(properties).assertSuccess(),{AuthorizationConfig:convertCfnServiceMCPServerAuthorizationConfigPropertyToCloudFormation(properties.authorizationConfig),Description:cdk().stringToCloudFormation(properties.description),Endpoint:cdk().stringToCloudFormation(properties.endpoint),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnServiceMCPServerDetailsPropertyFromCloudFormation(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("authorizationConfig","AuthorizationConfig",properties.AuthorizationConfig!=null?CfnServiceMCPServerAuthorizationConfigPropertyFromCloudFormation(properties.AuthorizationConfig):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?cfn_parse().FromCloudFormation.getString(properties.Endpoint):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceBearerTokenDetailsPropertyValidator(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("authorizationHeader",cdk().validateString)(properties.authorizationHeader)),errors.collect(cdk().propertyValidator("tokenName",cdk().requiredValidator)(properties.tokenName)),errors.collect(cdk().propertyValidator("tokenName",cdk().validateString)(properties.tokenName)),errors.collect(cdk().propertyValidator("tokenValue",cdk().requiredValidator)(properties.tokenValue)),errors.collect(cdk().propertyValidator("tokenValue",cdk().validateString)(properties.tokenValue)),errors.wrap('supplied properties not correct for "BearerTokenDetailsProperty"')}function convertCfnServiceBearerTokenDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceBearerTokenDetailsPropertyValidator(properties).assertSuccess(),{AuthorizationHeader:cdk().stringToCloudFormation(properties.authorizationHeader),TokenName:cdk().stringToCloudFormation(properties.tokenName),TokenValue:cdk().stringToCloudFormation(properties.tokenValue)}):properties}function CfnServiceBearerTokenDetailsPropertyFromCloudFormation(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("authorizationHeader","AuthorizationHeader",properties.AuthorizationHeader!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizationHeader):void 0),ret.addPropertyResult("tokenName","TokenName",properties.TokenName!=null?cfn_parse().FromCloudFormation.getString(properties.TokenName):void 0),ret.addPropertyResult("tokenValue","TokenValue",properties.TokenValue!=null?cfn_parse().FromCloudFormation.getString(properties.TokenValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceMCPServerSplunkAuthorizationConfigPropertyValidator(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("bearerToken",cdk().requiredValidator)(properties.bearerToken)),errors.collect(cdk().propertyValidator("bearerToken",CfnServiceBearerTokenDetailsPropertyValidator)(properties.bearerToken)),errors.wrap('supplied properties not correct for "MCPServerSplunkAuthorizationConfigProperty"')}function convertCfnServiceMCPServerSplunkAuthorizationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceMCPServerSplunkAuthorizationConfigPropertyValidator(properties).assertSuccess(),{BearerToken:convertCfnServiceBearerTokenDetailsPropertyToCloudFormation(properties.bearerToken)}):properties}function CfnServiceMCPServerSplunkAuthorizationConfigPropertyFromCloudFormation(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("bearerToken","BearerToken",properties.BearerToken!=null?CfnServiceBearerTokenDetailsPropertyFromCloudFormation(properties.BearerToken):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceMCPServerSplunkDetailsPropertyValidator(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("authorizationConfig",cdk().requiredValidator)(properties.authorizationConfig)),errors.collect(cdk().propertyValidator("authorizationConfig",CfnServiceMCPServerSplunkAuthorizationConfigPropertyValidator)(properties.authorizationConfig)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("endpoint",cdk().requiredValidator)(properties.endpoint)),errors.collect(cdk().propertyValidator("endpoint",cdk().validateString)(properties.endpoint)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "MCPServerSplunkDetailsProperty"')}function convertCfnServiceMCPServerSplunkDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceMCPServerSplunkDetailsPropertyValidator(properties).assertSuccess(),{AuthorizationConfig:convertCfnServiceMCPServerSplunkAuthorizationConfigPropertyToCloudFormation(properties.authorizationConfig),Description:cdk().stringToCloudFormation(properties.description),Endpoint:cdk().stringToCloudFormation(properties.endpoint),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnServiceMCPServerSplunkDetailsPropertyFromCloudFormation(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("authorizationConfig","AuthorizationConfig",properties.AuthorizationConfig!=null?CfnServiceMCPServerSplunkAuthorizationConfigPropertyFromCloudFormation(properties.AuthorizationConfig):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?cfn_parse().FromCloudFormation.getString(properties.Endpoint):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceNewRelicApiKeyConfigPropertyValidator(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("accountId",cdk().requiredValidator)(properties.accountId)),errors.collect(cdk().propertyValidator("accountId",cdk().validateString)(properties.accountId)),errors.collect(cdk().propertyValidator("alertPolicyIds",cdk().listValidator(cdk().validateString))(properties.alertPolicyIds)),errors.collect(cdk().propertyValidator("apiKey",cdk().requiredValidator)(properties.apiKey)),errors.collect(cdk().propertyValidator("apiKey",cdk().validateString)(properties.apiKey)),errors.collect(cdk().propertyValidator("applicationIds",cdk().listValidator(cdk().validateString))(properties.applicationIds)),errors.collect(cdk().propertyValidator("entityGuids",cdk().listValidator(cdk().validateString))(properties.entityGuids)),errors.collect(cdk().propertyValidator("region",cdk().requiredValidator)(properties.region)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.wrap('supplied properties not correct for "NewRelicApiKeyConfigProperty"')}function convertCfnServiceNewRelicApiKeyConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceNewRelicApiKeyConfigPropertyValidator(properties).assertSuccess(),{AccountId:cdk().stringToCloudFormation(properties.accountId),AlertPolicyIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.alertPolicyIds),ApiKey:cdk().stringToCloudFormation(properties.apiKey),ApplicationIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.applicationIds),EntityGuids:cdk().listMapper(cdk().stringToCloudFormation)(properties.entityGuids),Region:cdk().stringToCloudFormation(properties.region)}):properties}function CfnServiceNewRelicApiKeyConfigPropertyFromCloudFormation(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("accountId","AccountId",properties.AccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AccountId):void 0),ret.addPropertyResult("alertPolicyIds","AlertPolicyIds",properties.AlertPolicyIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AlertPolicyIds):void 0),ret.addPropertyResult("apiKey","ApiKey",properties.ApiKey!=null?cfn_parse().FromCloudFormation.getString(properties.ApiKey):void 0),ret.addPropertyResult("applicationIds","ApplicationIds",properties.ApplicationIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ApplicationIds):void 0),ret.addPropertyResult("entityGuids","EntityGuids",properties.EntityGuids!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.EntityGuids):void 0),ret.addPropertyResult("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceNewRelicAuthorizationConfigPropertyValidator(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("apiKey",cdk().requiredValidator)(properties.apiKey)),errors.collect(cdk().propertyValidator("apiKey",CfnServiceNewRelicApiKeyConfigPropertyValidator)(properties.apiKey)),errors.wrap('supplied properties not correct for "NewRelicAuthorizationConfigProperty"')}function convertCfnServiceNewRelicAuthorizationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceNewRelicAuthorizationConfigPropertyValidator(properties).assertSuccess(),{ApiKey:convertCfnServiceNewRelicApiKeyConfigPropertyToCloudFormation(properties.apiKey)}):properties}function CfnServiceNewRelicAuthorizationConfigPropertyFromCloudFormation(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("apiKey","ApiKey",properties.ApiKey!=null?CfnServiceNewRelicApiKeyConfigPropertyFromCloudFormation(properties.ApiKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceNewRelicServiceDetailsPropertyValidator(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("authorizationConfig",cdk().requiredValidator)(properties.authorizationConfig)),errors.collect(cdk().propertyValidator("authorizationConfig",CfnServiceNewRelicAuthorizationConfigPropertyValidator)(properties.authorizationConfig)),errors.wrap('supplied properties not correct for "NewRelicServiceDetailsProperty"')}function convertCfnServiceNewRelicServiceDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceNewRelicServiceDetailsPropertyValidator(properties).assertSuccess(),{AuthorizationConfig:convertCfnServiceNewRelicAuthorizationConfigPropertyToCloudFormation(properties.authorizationConfig)}):properties}function CfnServiceNewRelicServiceDetailsPropertyFromCloudFormation(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("authorizationConfig","AuthorizationConfig",properties.AuthorizationConfig!=null?CfnServiceNewRelicAuthorizationConfigPropertyFromCloudFormation(properties.AuthorizationConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceGitLabDetailsPropertyValidator(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("groupId",cdk().validateString)(properties.groupId)),errors.collect(cdk().propertyValidator("targetUrl",cdk().requiredValidator)(properties.targetUrl)),errors.collect(cdk().propertyValidator("targetUrl",cdk().validateString)(properties.targetUrl)),errors.collect(cdk().propertyValidator("tokenType",cdk().requiredValidator)(properties.tokenType)),errors.collect(cdk().propertyValidator("tokenType",cdk().validateString)(properties.tokenType)),errors.collect(cdk().propertyValidator("tokenValue",cdk().requiredValidator)(properties.tokenValue)),errors.collect(cdk().propertyValidator("tokenValue",cdk().validateString)(properties.tokenValue)),errors.wrap('supplied properties not correct for "GitLabDetailsProperty"')}function convertCfnServiceGitLabDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceGitLabDetailsPropertyValidator(properties).assertSuccess(),{GroupId:cdk().stringToCloudFormation(properties.groupId),TargetUrl:cdk().stringToCloudFormation(properties.targetUrl),TokenType:cdk().stringToCloudFormation(properties.tokenType),TokenValue:cdk().stringToCloudFormation(properties.tokenValue)}):properties}function CfnServiceGitLabDetailsPropertyFromCloudFormation(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("groupId","GroupId",properties.GroupId!=null?cfn_parse().FromCloudFormation.getString(properties.GroupId):void 0),ret.addPropertyResult("targetUrl","TargetUrl",properties.TargetUrl!=null?cfn_parse().FromCloudFormation.getString(properties.TargetUrl):void 0),ret.addPropertyResult("tokenType","TokenType",properties.TokenType!=null?cfn_parse().FromCloudFormation.getString(properties.TokenType):void 0),ret.addPropertyResult("tokenValue","TokenValue",properties.TokenValue!=null?cfn_parse().FromCloudFormation.getString(properties.TokenValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceServiceNowAuthorizationConfigPropertyValidator(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("oAuthClientCredentials",CfnServiceOAuthClientDetailsPropertyValidator)(properties.oAuthClientCredentials)),errors.wrap('supplied properties not correct for "ServiceNowAuthorizationConfigProperty"')}function convertCfnServiceServiceNowAuthorizationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceServiceNowAuthorizationConfigPropertyValidator(properties).assertSuccess(),{OAuthClientCredentials:convertCfnServiceOAuthClientDetailsPropertyToCloudFormation(properties.oAuthClientCredentials)}):properties}function CfnServiceServiceNowAuthorizationConfigPropertyFromCloudFormation(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("oAuthClientCredentials","OAuthClientCredentials",properties.OAuthClientCredentials!=null?CfnServiceOAuthClientDetailsPropertyFromCloudFormation(properties.OAuthClientCredentials):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceServiceNowServiceDetailsPropertyValidator(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("authorizationConfig",CfnServiceServiceNowAuthorizationConfigPropertyValidator)(properties.authorizationConfig)),errors.collect(cdk().propertyValidator("instanceUrl",cdk().requiredValidator)(properties.instanceUrl)),errors.collect(cdk().propertyValidator("instanceUrl",cdk().validateString)(properties.instanceUrl)),errors.wrap('supplied properties not correct for "ServiceNowServiceDetailsProperty"')}function convertCfnServiceServiceNowServiceDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceServiceNowServiceDetailsPropertyValidator(properties).assertSuccess(),{AuthorizationConfig:convertCfnServiceServiceNowAuthorizationConfigPropertyToCloudFormation(properties.authorizationConfig),InstanceUrl:cdk().stringToCloudFormation(properties.instanceUrl)}):properties}function CfnServiceServiceNowServiceDetailsPropertyFromCloudFormation(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("authorizationConfig","AuthorizationConfig",properties.AuthorizationConfig!=null?CfnServiceServiceNowAuthorizationConfigPropertyFromCloudFormation(properties.AuthorizationConfig):void 0),ret.addPropertyResult("instanceUrl","InstanceUrl",properties.InstanceUrl!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceUrl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServicePagerDutyAuthorizationConfigPropertyValidator(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("oAuthClientCredentials",CfnServiceOAuthClientDetailsPropertyValidator)(properties.oAuthClientCredentials)),errors.wrap('supplied properties not correct for "PagerDutyAuthorizationConfigProperty"')}function convertCfnServicePagerDutyAuthorizationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServicePagerDutyAuthorizationConfigPropertyValidator(properties).assertSuccess(),{OAuthClientCredentials:convertCfnServiceOAuthClientDetailsPropertyToCloudFormation(properties.oAuthClientCredentials)}):properties}function CfnServicePagerDutyAuthorizationConfigPropertyFromCloudFormation(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("oAuthClientCredentials","OAuthClientCredentials",properties.OAuthClientCredentials!=null?CfnServiceOAuthClientDetailsPropertyFromCloudFormation(properties.OAuthClientCredentials):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServicePagerDutyDetailsPropertyValidator(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("authorizationConfig",cdk().requiredValidator)(properties.authorizationConfig)),errors.collect(cdk().propertyValidator("authorizationConfig",CfnServicePagerDutyAuthorizationConfigPropertyValidator)(properties.authorizationConfig)),errors.collect(cdk().propertyValidator("scopes",cdk().requiredValidator)(properties.scopes)),errors.collect(cdk().propertyValidator("scopes",cdk().listValidator(cdk().validateString))(properties.scopes)),errors.wrap('supplied properties not correct for "PagerDutyDetailsProperty"')}function convertCfnServicePagerDutyDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServicePagerDutyDetailsPropertyValidator(properties).assertSuccess(),{AuthorizationConfig:convertCfnServicePagerDutyAuthorizationConfigPropertyToCloudFormation(properties.authorizationConfig),Scopes:cdk().listMapper(cdk().stringToCloudFormation)(properties.scopes)}):properties}function CfnServicePagerDutyDetailsPropertyFromCloudFormation(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("authorizationConfig","AuthorizationConfig",properties.AuthorizationConfig!=null?CfnServicePagerDutyAuthorizationConfigPropertyFromCloudFormation(properties.AuthorizationConfig):void 0),ret.addPropertyResult("scopes","Scopes",properties.Scopes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Scopes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceAzureIdentityServiceDetailsPropertyValidator(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("clientId",cdk().requiredValidator)(properties.clientId)),errors.collect(cdk().propertyValidator("clientId",cdk().validateString)(properties.clientId)),errors.collect(cdk().propertyValidator("tenantId",cdk().requiredValidator)(properties.tenantId)),errors.collect(cdk().propertyValidator("tenantId",cdk().validateString)(properties.tenantId)),errors.collect(cdk().propertyValidator("webIdentityRoleArn",cdk().requiredValidator)(properties.webIdentityRoleArn)),errors.collect(cdk().propertyValidator("webIdentityRoleArn",cdk().validateString)(properties.webIdentityRoleArn)),errors.collect(cdk().propertyValidator("webIdentityTokenAudiences",cdk().requiredValidator)(properties.webIdentityTokenAudiences)),errors.collect(cdk().propertyValidator("webIdentityTokenAudiences",cdk().listValidator(cdk().validateString))(properties.webIdentityTokenAudiences)),errors.wrap('supplied properties not correct for "AzureIdentityServiceDetailsProperty"')}function convertCfnServiceAzureIdentityServiceDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceAzureIdentityServiceDetailsPropertyValidator(properties).assertSuccess(),{ClientId:cdk().stringToCloudFormation(properties.clientId),TenantId:cdk().stringToCloudFormation(properties.tenantId),WebIdentityRoleArn:cdk().stringToCloudFormation(properties.webIdentityRoleArn),WebIdentityTokenAudiences:cdk().listMapper(cdk().stringToCloudFormation)(properties.webIdentityTokenAudiences)}):properties}function CfnServiceAzureIdentityServiceDetailsPropertyFromCloudFormation(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("clientId","ClientId",properties.ClientId!=null?cfn_parse().FromCloudFormation.getString(properties.ClientId):void 0),ret.addPropertyResult("tenantId","TenantId",properties.TenantId!=null?cfn_parse().FromCloudFormation.getString(properties.TenantId):void 0),ret.addPropertyResult("webIdentityRoleArn","WebIdentityRoleArn",properties.WebIdentityRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.WebIdentityRoleArn):void 0),ret.addPropertyResult("webIdentityTokenAudiences","WebIdentityTokenAudiences",properties.WebIdentityTokenAudiences!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.WebIdentityTokenAudiences):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceMCPServerSigV4AuthorizationConfigPropertyValidator(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("customHeaders",cdk().hashValidator(cdk().validateString))(properties.customHeaders)),errors.collect(cdk().propertyValidator("region",cdk().requiredValidator)(properties.region)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("service",cdk().requiredValidator)(properties.service)),errors.collect(cdk().propertyValidator("service",cdk().validateString)(properties.service)),errors.wrap('supplied properties not correct for "MCPServerSigV4AuthorizationConfigProperty"')}function convertCfnServiceMCPServerSigV4AuthorizationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceMCPServerSigV4AuthorizationConfigPropertyValidator(properties).assertSuccess(),{CustomHeaders:cdk().hashMapper(cdk().stringToCloudFormation)(properties.customHeaders),Region:cdk().stringToCloudFormation(properties.region),RoleArn:cdk().stringToCloudFormation(properties.roleArn),Service:cdk().stringToCloudFormation(properties.service)}):properties}function CfnServiceMCPServerSigV4AuthorizationConfigPropertyFromCloudFormation(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("customHeaders","CustomHeaders",properties.CustomHeaders!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.CustomHeaders):void 0),ret.addPropertyResult("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("service","Service",properties.Service!=null?cfn_parse().FromCloudFormation.getString(properties.Service):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceMCPServerSigV4DetailsPropertyValidator(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("authorizationConfig",cdk().requiredValidator)(properties.authorizationConfig)),errors.collect(cdk().propertyValidator("authorizationConfig",CfnServiceMCPServerSigV4AuthorizationConfigPropertyValidator)(properties.authorizationConfig)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("endpoint",cdk().requiredValidator)(properties.endpoint)),errors.collect(cdk().propertyValidator("endpoint",cdk().validateString)(properties.endpoint)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "MCPServerSigV4DetailsProperty"')}function convertCfnServiceMCPServerSigV4DetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceMCPServerSigV4DetailsPropertyValidator(properties).assertSuccess(),{AuthorizationConfig:convertCfnServiceMCPServerSigV4AuthorizationConfigPropertyToCloudFormation(properties.authorizationConfig),Description:cdk().stringToCloudFormation(properties.description),Endpoint:cdk().stringToCloudFormation(properties.endpoint),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnServiceMCPServerSigV4DetailsPropertyFromCloudFormation(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("authorizationConfig","AuthorizationConfig",properties.AuthorizationConfig!=null?CfnServiceMCPServerSigV4AuthorizationConfigPropertyFromCloudFormation(properties.AuthorizationConfig):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?cfn_parse().FromCloudFormation.getString(properties.Endpoint):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceServiceDetailsPropertyValidator(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("azureIdentity",CfnServiceAzureIdentityServiceDetailsPropertyValidator)(properties.azureIdentity)),errors.collect(cdk().propertyValidator("dynatrace",CfnServiceDynatraceServiceDetailsPropertyValidator)(properties.dynatrace)),errors.collect(cdk().propertyValidator("gitLab",CfnServiceGitLabDetailsPropertyValidator)(properties.gitLab)),errors.collect(cdk().propertyValidator("mcpServer",CfnServiceMCPServerDetailsPropertyValidator)(properties.mcpServer)),errors.collect(cdk().propertyValidator("mcpServerNewRelic",CfnServiceNewRelicServiceDetailsPropertyValidator)(properties.mcpServerNewRelic)),errors.collect(cdk().propertyValidator("mcpServerSigV4",CfnServiceMCPServerSigV4DetailsPropertyValidator)(properties.mcpServerSigV4)),errors.collect(cdk().propertyValidator("mcpServerSplunk",CfnServiceMCPServerSplunkDetailsPropertyValidator)(properties.mcpServerSplunk)),errors.collect(cdk().propertyValidator("pagerDuty",CfnServicePagerDutyDetailsPropertyValidator)(properties.pagerDuty)),errors.collect(cdk().propertyValidator("serviceNow",CfnServiceServiceNowServiceDetailsPropertyValidator)(properties.serviceNow)),errors.wrap('supplied properties not correct for "ServiceDetailsProperty"')}function convertCfnServiceServiceDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceServiceDetailsPropertyValidator(properties).assertSuccess(),{AzureIdentity:convertCfnServiceAzureIdentityServiceDetailsPropertyToCloudFormation(properties.azureIdentity),Dynatrace:convertCfnServiceDynatraceServiceDetailsPropertyToCloudFormation(properties.dynatrace),GitLab:convertCfnServiceGitLabDetailsPropertyToCloudFormation(properties.gitLab),MCPServer:convertCfnServiceMCPServerDetailsPropertyToCloudFormation(properties.mcpServer),MCPServerNewRelic:convertCfnServiceNewRelicServiceDetailsPropertyToCloudFormation(properties.mcpServerNewRelic),MCPServerSigV4:convertCfnServiceMCPServerSigV4DetailsPropertyToCloudFormation(properties.mcpServerSigV4),MCPServerSplunk:convertCfnServiceMCPServerSplunkDetailsPropertyToCloudFormation(properties.mcpServerSplunk),PagerDuty:convertCfnServicePagerDutyDetailsPropertyToCloudFormation(properties.pagerDuty),ServiceNow:convertCfnServiceServiceNowServiceDetailsPropertyToCloudFormation(properties.serviceNow)}):properties}function CfnServiceServiceDetailsPropertyFromCloudFormation(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("azureIdentity","AzureIdentity",properties.AzureIdentity!=null?CfnServiceAzureIdentityServiceDetailsPropertyFromCloudFormation(properties.AzureIdentity):void 0),ret.addPropertyResult("dynatrace","Dynatrace",properties.Dynatrace!=null?CfnServiceDynatraceServiceDetailsPropertyFromCloudFormation(properties.Dynatrace):void 0),ret.addPropertyResult("gitLab","GitLab",properties.GitLab!=null?CfnServiceGitLabDetailsPropertyFromCloudFormation(properties.GitLab):void 0),ret.addPropertyResult("mcpServer","MCPServer",properties.MCPServer!=null?CfnServiceMCPServerDetailsPropertyFromCloudFormation(properties.MCPServer):void 0),ret.addPropertyResult("mcpServerNewRelic","MCPServerNewRelic",properties.MCPServerNewRelic!=null?CfnServiceNewRelicServiceDetailsPropertyFromCloudFormation(properties.MCPServerNewRelic):void 0),ret.addPropertyResult("mcpServerSigV4","MCPServerSigV4",properties.MCPServerSigV4!=null?CfnServiceMCPServerSigV4DetailsPropertyFromCloudFormation(properties.MCPServerSigV4):void 0),ret.addPropertyResult("mcpServerSplunk","MCPServerSplunk",properties.MCPServerSplunk!=null?CfnServiceMCPServerSplunkDetailsPropertyFromCloudFormation(properties.MCPServerSplunk):void 0),ret.addPropertyResult("pagerDuty","PagerDuty",properties.PagerDuty!=null?CfnServicePagerDutyDetailsPropertyFromCloudFormation(properties.PagerDuty):void 0),ret.addPropertyResult("serviceNow","ServiceNow",properties.ServiceNow!=null?CfnServiceServiceNowServiceDetailsPropertyFromCloudFormation(properties.ServiceNow):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceRegisteredMCPServerDetailsPropertyValidator(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("apiKeyHeader",cdk().validateString)(properties.apiKeyHeader)),errors.collect(cdk().propertyValidator("authorizationMethod",cdk().requiredValidator)(properties.authorizationMethod)),errors.collect(cdk().propertyValidator("authorizationMethod",cdk().validateString)(properties.authorizationMethod)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("endpoint",cdk().requiredValidator)(properties.endpoint)),errors.collect(cdk().propertyValidator("endpoint",cdk().validateString)(properties.endpoint)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "RegisteredMCPServerDetailsProperty"')}function convertCfnServiceRegisteredMCPServerDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceRegisteredMCPServerDetailsPropertyValidator(properties).assertSuccess(),{ApiKeyHeader:cdk().stringToCloudFormation(properties.apiKeyHeader),AuthorizationMethod:cdk().stringToCloudFormation(properties.authorizationMethod),Description:cdk().stringToCloudFormation(properties.description),Endpoint:cdk().stringToCloudFormation(properties.endpoint),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnServiceRegisteredMCPServerDetailsPropertyFromCloudFormation(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("apiKeyHeader","ApiKeyHeader",properties.ApiKeyHeader!=null?cfn_parse().FromCloudFormation.getString(properties.ApiKeyHeader):void 0),ret.addPropertyResult("authorizationMethod","AuthorizationMethod",properties.AuthorizationMethod!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizationMethod):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?cfn_parse().FromCloudFormation.getString(properties.Endpoint):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceRegisteredGitLabServiceDetailsPropertyValidator(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("groupId",cdk().validateString)(properties.groupId)),errors.collect(cdk().propertyValidator("targetUrl",cdk().requiredValidator)(properties.targetUrl)),errors.collect(cdk().propertyValidator("targetUrl",cdk().validateString)(properties.targetUrl)),errors.collect(cdk().propertyValidator("tokenType",cdk().requiredValidator)(properties.tokenType)),errors.collect(cdk().propertyValidator("tokenType",cdk().validateString)(properties.tokenType)),errors.wrap('supplied properties not correct for "RegisteredGitLabServiceDetailsProperty"')}function convertCfnServiceRegisteredGitLabServiceDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceRegisteredGitLabServiceDetailsPropertyValidator(properties).assertSuccess(),{GroupId:cdk().stringToCloudFormation(properties.groupId),TargetUrl:cdk().stringToCloudFormation(properties.targetUrl),TokenType:cdk().stringToCloudFormation(properties.tokenType)}):properties}function CfnServiceRegisteredGitLabServiceDetailsPropertyFromCloudFormation(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("groupId","GroupId",properties.GroupId!=null?cfn_parse().FromCloudFormation.getString(properties.GroupId):void 0),ret.addPropertyResult("targetUrl","TargetUrl",properties.TargetUrl!=null?cfn_parse().FromCloudFormation.getString(properties.TargetUrl):void 0),ret.addPropertyResult("tokenType","TokenType",properties.TokenType!=null?cfn_parse().FromCloudFormation.getString(properties.TokenType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceRegisteredNewRelicDetailsPropertyValidator(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("accountId",cdk().requiredValidator)(properties.accountId)),errors.collect(cdk().propertyValidator("accountId",cdk().validateString)(properties.accountId)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("region",cdk().requiredValidator)(properties.region)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.wrap('supplied properties not correct for "RegisteredNewRelicDetailsProperty"')}function convertCfnServiceRegisteredNewRelicDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceRegisteredNewRelicDetailsPropertyValidator(properties).assertSuccess(),{AccountId:cdk().stringToCloudFormation(properties.accountId),Description:cdk().stringToCloudFormation(properties.description),Region:cdk().stringToCloudFormation(properties.region)}):properties}function CfnServiceRegisteredNewRelicDetailsPropertyFromCloudFormation(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("accountId","AccountId",properties.AccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AccountId):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceRegisteredDynatraceDetailsPropertyValidator(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("accountUrn",cdk().requiredValidator)(properties.accountUrn)),errors.collect(cdk().propertyValidator("accountUrn",cdk().validateString)(properties.accountUrn)),errors.wrap('supplied properties not correct for "RegisteredDynatraceDetailsProperty"')}function convertCfnServiceRegisteredDynatraceDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceRegisteredDynatraceDetailsPropertyValidator(properties).assertSuccess(),{AccountUrn:cdk().stringToCloudFormation(properties.accountUrn)}):properties}function CfnServiceRegisteredDynatraceDetailsPropertyFromCloudFormation(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("accountUrn","AccountUrn",properties.AccountUrn!=null?cfn_parse().FromCloudFormation.getString(properties.AccountUrn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceRegisteredServiceNowDetailsPropertyValidator(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("instanceUrl",cdk().requiredValidator)(properties.instanceUrl)),errors.collect(cdk().propertyValidator("instanceUrl",cdk().validateString)(properties.instanceUrl)),errors.wrap('supplied properties not correct for "RegisteredServiceNowDetailsProperty"')}function convertCfnServiceRegisteredServiceNowDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceRegisteredServiceNowDetailsPropertyValidator(properties).assertSuccess(),{InstanceUrl:cdk().stringToCloudFormation(properties.instanceUrl)}):properties}function CfnServiceRegisteredServiceNowDetailsPropertyFromCloudFormation(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("instanceUrl","InstanceUrl",properties.InstanceUrl!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceUrl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceRegisteredPagerDutyDetailsPropertyValidator(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("scopes",cdk().requiredValidator)(properties.scopes)),errors.collect(cdk().propertyValidator("scopes",cdk().listValidator(cdk().validateString))(properties.scopes)),errors.wrap('supplied properties not correct for "RegisteredPagerDutyDetailsProperty"')}function convertCfnServiceRegisteredPagerDutyDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceRegisteredPagerDutyDetailsPropertyValidator(properties).assertSuccess(),{Scopes:cdk().listMapper(cdk().stringToCloudFormation)(properties.scopes)}):properties}function CfnServiceRegisteredPagerDutyDetailsPropertyFromCloudFormation(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("scopes","Scopes",properties.Scopes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Scopes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceRegisteredAzureIdentityDetailsPropertyValidator(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("clientId",cdk().requiredValidator)(properties.clientId)),errors.collect(cdk().propertyValidator("clientId",cdk().validateString)(properties.clientId)),errors.collect(cdk().propertyValidator("tenantId",cdk().requiredValidator)(properties.tenantId)),errors.collect(cdk().propertyValidator("tenantId",cdk().validateString)(properties.tenantId)),errors.collect(cdk().propertyValidator("webIdentityRoleArn",cdk().requiredValidator)(properties.webIdentityRoleArn)),errors.collect(cdk().propertyValidator("webIdentityRoleArn",cdk().validateString)(properties.webIdentityRoleArn)),errors.collect(cdk().propertyValidator("webIdentityTokenAudiences",cdk().requiredValidator)(properties.webIdentityTokenAudiences)),errors.collect(cdk().propertyValidator("webIdentityTokenAudiences",cdk().listValidator(cdk().validateString))(properties.webIdentityTokenAudiences)),errors.wrap('supplied properties not correct for "RegisteredAzureIdentityDetailsProperty"')}function convertCfnServiceRegisteredAzureIdentityDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceRegisteredAzureIdentityDetailsPropertyValidator(properties).assertSuccess(),{ClientId:cdk().stringToCloudFormation(properties.clientId),TenantId:cdk().stringToCloudFormation(properties.tenantId),WebIdentityRoleArn:cdk().stringToCloudFormation(properties.webIdentityRoleArn),WebIdentityTokenAudiences:cdk().listMapper(cdk().stringToCloudFormation)(properties.webIdentityTokenAudiences)}):properties}function CfnServiceRegisteredAzureIdentityDetailsPropertyFromCloudFormation(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("clientId","ClientId",properties.ClientId!=null?cfn_parse().FromCloudFormation.getString(properties.ClientId):void 0),ret.addPropertyResult("tenantId","TenantId",properties.TenantId!=null?cfn_parse().FromCloudFormation.getString(properties.TenantId):void 0),ret.addPropertyResult("webIdentityRoleArn","WebIdentityRoleArn",properties.WebIdentityRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.WebIdentityRoleArn):void 0),ret.addPropertyResult("webIdentityTokenAudiences","WebIdentityTokenAudiences",properties.WebIdentityTokenAudiences!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.WebIdentityTokenAudiences):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceRegisteredMCPServerSigV4DetailsPropertyValidator(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("customHeaders",cdk().hashValidator(cdk().validateString))(properties.customHeaders)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("endpoint",cdk().requiredValidator)(properties.endpoint)),errors.collect(cdk().propertyValidator("endpoint",cdk().validateString)(properties.endpoint)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("region",cdk().requiredValidator)(properties.region)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("service",cdk().requiredValidator)(properties.service)),errors.collect(cdk().propertyValidator("service",cdk().validateString)(properties.service)),errors.wrap('supplied properties not correct for "RegisteredMCPServerSigV4DetailsProperty"')}function convertCfnServiceRegisteredMCPServerSigV4DetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceRegisteredMCPServerSigV4DetailsPropertyValidator(properties).assertSuccess(),{CustomHeaders:cdk().hashMapper(cdk().stringToCloudFormation)(properties.customHeaders),Description:cdk().stringToCloudFormation(properties.description),Endpoint:cdk().stringToCloudFormation(properties.endpoint),Name:cdk().stringToCloudFormation(properties.name),Region:cdk().stringToCloudFormation(properties.region),RoleArn:cdk().stringToCloudFormation(properties.roleArn),Service:cdk().stringToCloudFormation(properties.service)}):properties}function CfnServiceRegisteredMCPServerSigV4DetailsPropertyFromCloudFormation(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("customHeaders","CustomHeaders",properties.CustomHeaders!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.CustomHeaders):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?cfn_parse().FromCloudFormation.getString(properties.Endpoint):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("service","Service",properties.Service!=null?cfn_parse().FromCloudFormation.getString(properties.Service):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceAdditionalServiceDetailsPropertyValidator(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("azureIdentity",CfnServiceRegisteredAzureIdentityDetailsPropertyValidator)(properties.azureIdentity)),errors.collect(cdk().propertyValidator("dynatrace",CfnServiceRegisteredDynatraceDetailsPropertyValidator)(properties.dynatrace)),errors.collect(cdk().propertyValidator("gitLab",CfnServiceRegisteredGitLabServiceDetailsPropertyValidator)(properties.gitLab)),errors.collect(cdk().propertyValidator("mcpServer",CfnServiceRegisteredMCPServerDetailsPropertyValidator)(properties.mcpServer)),errors.collect(cdk().propertyValidator("mcpServerNewRelic",CfnServiceRegisteredNewRelicDetailsPropertyValidator)(properties.mcpServerNewRelic)),errors.collect(cdk().propertyValidator("mcpServerSigV4",CfnServiceRegisteredMCPServerSigV4DetailsPropertyValidator)(properties.mcpServerSigV4)),errors.collect(cdk().propertyValidator("mcpServerSplunk",CfnServiceRegisteredMCPServerDetailsPropertyValidator)(properties.mcpServerSplunk)),errors.collect(cdk().propertyValidator("pagerDuty",CfnServiceRegisteredPagerDutyDetailsPropertyValidator)(properties.pagerDuty)),errors.collect(cdk().propertyValidator("serviceNow",CfnServiceRegisteredServiceNowDetailsPropertyValidator)(properties.serviceNow)),errors.wrap('supplied properties not correct for "AdditionalServiceDetailsProperty"')}function convertCfnServiceAdditionalServiceDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceAdditionalServiceDetailsPropertyValidator(properties).assertSuccess(),{AzureIdentity:convertCfnServiceRegisteredAzureIdentityDetailsPropertyToCloudFormation(properties.azureIdentity),Dynatrace:convertCfnServiceRegisteredDynatraceDetailsPropertyToCloudFormation(properties.dynatrace),GitLab:convertCfnServiceRegisteredGitLabServiceDetailsPropertyToCloudFormation(properties.gitLab),MCPServer:convertCfnServiceRegisteredMCPServerDetailsPropertyToCloudFormation(properties.mcpServer),MCPServerNewRelic:convertCfnServiceRegisteredNewRelicDetailsPropertyToCloudFormation(properties.mcpServerNewRelic),MCPServerSigV4:convertCfnServiceRegisteredMCPServerSigV4DetailsPropertyToCloudFormation(properties.mcpServerSigV4),MCPServerSplunk:convertCfnServiceRegisteredMCPServerDetailsPropertyToCloudFormation(properties.mcpServerSplunk),PagerDuty:convertCfnServiceRegisteredPagerDutyDetailsPropertyToCloudFormation(properties.pagerDuty),ServiceNow:convertCfnServiceRegisteredServiceNowDetailsPropertyToCloudFormation(properties.serviceNow)}):properties}function CfnServiceAdditionalServiceDetailsPropertyFromCloudFormation(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("azureIdentity","AzureIdentity",properties.AzureIdentity!=null?CfnServiceRegisteredAzureIdentityDetailsPropertyFromCloudFormation(properties.AzureIdentity):void 0),ret.addPropertyResult("dynatrace","Dynatrace",properties.Dynatrace!=null?CfnServiceRegisteredDynatraceDetailsPropertyFromCloudFormation(properties.Dynatrace):void 0),ret.addPropertyResult("gitLab","GitLab",properties.GitLab!=null?CfnServiceRegisteredGitLabServiceDetailsPropertyFromCloudFormation(properties.GitLab):void 0),ret.addPropertyResult("mcpServer","MCPServer",properties.MCPServer!=null?CfnServiceRegisteredMCPServerDetailsPropertyFromCloudFormation(properties.MCPServer):void 0),ret.addPropertyResult("mcpServerNewRelic","MCPServerNewRelic",properties.MCPServerNewRelic!=null?CfnServiceRegisteredNewRelicDetailsPropertyFromCloudFormation(properties.MCPServerNewRelic):void 0),ret.addPropertyResult("mcpServerSigV4","MCPServerSigV4",properties.MCPServerSigV4!=null?CfnServiceRegisteredMCPServerSigV4DetailsPropertyFromCloudFormation(properties.MCPServerSigV4):void 0),ret.addPropertyResult("mcpServerSplunk","MCPServerSplunk",properties.MCPServerSplunk!=null?CfnServiceRegisteredMCPServerDetailsPropertyFromCloudFormation(properties.MCPServerSplunk):void 0),ret.addPropertyResult("pagerDuty","PagerDuty",properties.PagerDuty!=null?CfnServiceRegisteredPagerDutyDetailsPropertyFromCloudFormation(properties.PagerDuty):void 0),ret.addPropertyResult("serviceNow","ServiceNow",properties.ServiceNow!=null?CfnServiceRegisteredServiceNowDetailsPropertyFromCloudFormation(properties.ServiceNow):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServicePropsValidator(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("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("serviceDetails",CfnServiceServiceDetailsPropertyValidator)(properties.serviceDetails)),errors.collect(cdk().propertyValidator("serviceType",cdk().requiredValidator)(properties.serviceType)),errors.collect(cdk().propertyValidator("serviceType",cdk().validateString)(properties.serviceType)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnServiceProps"')}function convertCfnServicePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServicePropsValidator(properties).assertSuccess(),{KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),ServiceDetails:convertCfnServiceServiceDetailsPropertyToCloudFormation(properties.serviceDetails),ServiceType:cdk().stringToCloudFormation(properties.serviceType),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnServicePropsFromCloudFormation(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("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("serviceDetails","ServiceDetails",properties.ServiceDetails!=null?CfnServiceServiceDetailsPropertyFromCloudFormation(properties.ServiceDetails):void 0),ret.addPropertyResult("serviceType","ServiceType",properties.ServiceType!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceType):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 CfnPrivateConnection extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_devopsagent.CfnPrivateConnection",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DevOpsAgent::PrivateConnection";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPrivateConnectionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPrivateConnection(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 isCfnPrivateConnection(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPrivateConnection.CFN_RESOURCE_TYPE_NAME}static arnForPrivateConnection(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_devopsagent_IPrivateConnectionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPrivateConnection),error}return resource.privateConnectionRef.privateConnectionArn}cdkTagManager;_certificate;_connectionConfiguration;_name;_tags;cfnPropertyNames={tags:"Tags",certificate:"Certificate",connectionConfiguration:"ConnectionConfiguration",name:"Name"};constructor(scope,id,props){super(scope,id,{type:CfnPrivateConnection.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_devopsagent_CfnPrivateConnectionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPrivateConnection),error}cdk().requireProperty(props,"connectionConfiguration",this),cdk().requireProperty(props,"name",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DevOpsAgent::PrivateConnection",void 0,{tagPropertyName:"tags"}),this._certificate=props.certificate,this._connectionConfiguration=props.connectionConfiguration,this._name=props.name,this._tags=props.tags}get privateConnectionRef(){return{privateConnectionName:this.ref,privateConnectionArn:this.attrArn}}get certificate(){return this._certificate}set certificate(value){cdk().traceProperty(this.node,"Certificate"),this._certificate=value}get connectionConfiguration(){return this._connectionConfiguration}set connectionConfiguration(value){cdk().traceProperty(this.node,"ConnectionConfiguration"),this._connectionConfiguration=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCertificateExpiryTime(){return cdk().Token.asString(this.getAtt("CertificateExpiryTime",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),certificate:this._certificate,connectionConfiguration:this._connectionConfiguration,name:this._name}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnPrivateConnection.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPrivateConnectionPropsToCloudFormation(props)}}exports.CfnPrivateConnection=CfnPrivateConnection;function CfnPrivateConnectionSelfManagedModePropertyValidator(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("resourceConfigurationId",cdk().requiredValidator)(properties.resourceConfigurationId)),errors.collect(cdk().propertyValidator("resourceConfigurationId",cdk().validateString)(properties.resourceConfigurationId)),errors.wrap('supplied properties not correct for "SelfManagedModeProperty"')}function convertCfnPrivateConnectionSelfManagedModePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPrivateConnectionSelfManagedModePropertyValidator(properties).assertSuccess(),{ResourceConfigurationId:cdk().stringToCloudFormation(properties.resourceConfigurationId)}):properties}function CfnPrivateConnectionSelfManagedModePropertyFromCloudFormation(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("resourceConfigurationId","ResourceConfigurationId",properties.ResourceConfigurationId!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceConfigurationId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPrivateConnectionServiceManagedModePropertyValidator(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("hostAddress",cdk().requiredValidator)(properties.hostAddress)),errors.collect(cdk().propertyValidator("hostAddress",cdk().validateString)(properties.hostAddress)),errors.collect(cdk().propertyValidator("ipAddressType",cdk().validateString)(properties.ipAddressType)),errors.collect(cdk().propertyValidator("ipv4AddressesPerEni",cdk().validateNumber)(properties.ipv4AddressesPerEni)),errors.collect(cdk().propertyValidator("portRanges",cdk().listValidator(cdk().validateString))(properties.portRanges)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.collect(cdk().propertyValidator("vpcId",cdk().requiredValidator)(properties.vpcId)),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "ServiceManagedModeProperty"')}function convertCfnPrivateConnectionServiceManagedModePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPrivateConnectionServiceManagedModePropertyValidator(properties).assertSuccess(),{HostAddress:cdk().stringToCloudFormation(properties.hostAddress),IpAddressType:cdk().stringToCloudFormation(properties.ipAddressType),Ipv4AddressesPerEni:cdk().numberToCloudFormation(properties.ipv4AddressesPerEni),PortRanges:cdk().listMapper(cdk().stringToCloudFormation)(properties.portRanges),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnPrivateConnectionServiceManagedModePropertyFromCloudFormation(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("hostAddress","HostAddress",properties.HostAddress!=null?cfn_parse().FromCloudFormation.getString(properties.HostAddress):void 0),ret.addPropertyResult("ipAddressType","IpAddressType",properties.IpAddressType!=null?cfn_parse().FromCloudFormation.getString(properties.IpAddressType):void 0),ret.addPropertyResult("ipv4AddressesPerEni","Ipv4AddressesPerEni",properties.Ipv4AddressesPerEni!=null?cfn_parse().FromCloudFormation.getNumber(properties.Ipv4AddressesPerEni):void 0),ret.addPropertyResult("portRanges","PortRanges",properties.PortRanges!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PortRanges):void 0),ret.addPropertyResult("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPrivateConnectionConnectionConfigurationPropertyValidator(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("selfManaged",CfnPrivateConnectionSelfManagedModePropertyValidator)(properties.selfManaged)),errors.collect(cdk().propertyValidator("serviceManaged",CfnPrivateConnectionServiceManagedModePropertyValidator)(properties.serviceManaged)),errors.wrap('supplied properties not correct for "ConnectionConfigurationProperty"')}function convertCfnPrivateConnectionConnectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPrivateConnectionConnectionConfigurationPropertyValidator(properties).assertSuccess(),{SelfManaged:convertCfnPrivateConnectionSelfManagedModePropertyToCloudFormation(properties.selfManaged),ServiceManaged:convertCfnPrivateConnectionServiceManagedModePropertyToCloudFormation(properties.serviceManaged)}):properties}function CfnPrivateConnectionConnectionConfigurationPropertyFromCloudFormation(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("selfManaged","SelfManaged",properties.SelfManaged!=null?CfnPrivateConnectionSelfManagedModePropertyFromCloudFormation(properties.SelfManaged):void 0),ret.addPropertyResult("serviceManaged","ServiceManaged",properties.ServiceManaged!=null?CfnPrivateConnectionServiceManagedModePropertyFromCloudFormation(properties.ServiceManaged):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPrivateConnectionPropsValidator(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("certificate",cdk().validateString)(properties.certificate)),errors.collect(cdk().propertyValidator("connectionConfiguration",cdk().requiredValidator)(properties.connectionConfiguration)),errors.collect(cdk().propertyValidator("connectionConfiguration",CfnPrivateConnectionConnectionConfigurationPropertyValidator)(properties.connectionConfiguration)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnPrivateConnectionProps"')}function convertCfnPrivateConnectionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPrivateConnectionPropsValidator(properties).assertSuccess(),{Certificate:cdk().stringToCloudFormation(properties.certificate),ConnectionConfiguration:convertCfnPrivateConnectionConnectionConfigurationPropertyToCloudFormation(properties.connectionConfiguration),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnPrivateConnectionPropsFromCloudFormation(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("certificate","Certificate",properties.Certificate!=null?cfn_parse().FromCloudFormation.getString(properties.Certificate):void 0),ret.addPropertyResult("connectionConfiguration","ConnectionConfiguration",properties.ConnectionConfiguration!=null?CfnPrivateConnectionConnectionConfigurationPropertyFromCloudFormation(properties.ConnectionConfiguration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):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}