UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

2 lines 196 kB
"use strict";var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p,_q,_r;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnSubscriptionDefinitionVersion=exports.CfnSubscriptionDefinition=exports.CfnResourceDefinitionVersion=exports.CfnResourceDefinition=exports.CfnLoggerDefinitionVersion=exports.CfnLoggerDefinition=exports.CfnGroupVersion=exports.CfnGroup=exports.CfnFunctionDefinitionVersion=exports.CfnFunctionDefinition=exports.CfnDeviceDefinitionVersion=exports.CfnDeviceDefinition=exports.CfnCoreDefinitionVersion=exports.CfnCoreDefinition=exports.CfnConnectorDefinitionVersion=exports.CfnConnectorDefinition=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");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 CfnConnectorDefinition extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnConnectorDefinitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnConnectorDefinition(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}constructor(scope,id,props){super(scope,id,{type:CfnConnectorDefinition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnConnectorDefinitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnConnectorDefinition),error}cdk().requireProperty(props,"name",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrLatestVersionArn=cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.initialVersion=props.initialVersion,this.name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Greengrass::ConnectorDefinition",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{initialVersion:this.initialVersion,name:this.name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnConnectorDefinition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnConnectorDefinitionPropsToCloudFormation(props)}}exports.CfnConnectorDefinition=CfnConnectorDefinition,_a=JSII_RTTI_SYMBOL_1,CfnConnectorDefinition[_a]={fqn:"aws-cdk-lib.aws_greengrass.CfnConnectorDefinition",version:"2.202.0"},CfnConnectorDefinition.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::ConnectorDefinition";function CfnConnectorDefinitionConnectorPropertyValidator(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("connectorArn",cdk().requiredValidator)(properties.connectorArn)),errors.collect(cdk().propertyValidator("connectorArn",cdk().validateString)(properties.connectorArn)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("parameters",cdk().validateObject)(properties.parameters)),errors.wrap('supplied properties not correct for "ConnectorProperty"')}function convertCfnConnectorDefinitionConnectorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectorDefinitionConnectorPropertyValidator(properties).assertSuccess(),{ConnectorArn:cdk().stringToCloudFormation(properties.connectorArn),Id:cdk().stringToCloudFormation(properties.id),Parameters:cdk().objectToCloudFormation(properties.parameters)}):properties}function CfnConnectorDefinitionConnectorPropertyFromCloudFormation(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("connectorArn","ConnectorArn",properties.ConnectorArn!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectorArn):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectorDefinitionConnectorDefinitionVersionPropertyValidator(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("connectors",cdk().requiredValidator)(properties.connectors)),errors.collect(cdk().propertyValidator("connectors",cdk().listValidator(CfnConnectorDefinitionConnectorPropertyValidator))(properties.connectors)),errors.wrap('supplied properties not correct for "ConnectorDefinitionVersionProperty"')}function convertCfnConnectorDefinitionConnectorDefinitionVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectorDefinitionConnectorDefinitionVersionPropertyValidator(properties).assertSuccess(),{Connectors:cdk().listMapper(convertCfnConnectorDefinitionConnectorPropertyToCloudFormation)(properties.connectors)}):properties}function CfnConnectorDefinitionConnectorDefinitionVersionPropertyFromCloudFormation(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("connectors","Connectors",properties.Connectors!=null?cfn_parse().FromCloudFormation.getArray(CfnConnectorDefinitionConnectorPropertyFromCloudFormation)(properties.Connectors):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectorDefinitionPropsValidator(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("initialVersion",CfnConnectorDefinitionConnectorDefinitionVersionPropertyValidator)(properties.initialVersion)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.wrap('supplied properties not correct for "CfnConnectorDefinitionProps"')}function convertCfnConnectorDefinitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectorDefinitionPropsValidator(properties).assertSuccess(),{InitialVersion:convertCfnConnectorDefinitionConnectorDefinitionVersionPropertyToCloudFormation(properties.initialVersion),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().objectToCloudFormation(properties.tags)}):properties}function CfnConnectorDefinitionPropsFromCloudFormation(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("initialVersion","InitialVersion",properties.InitialVersion!=null?CfnConnectorDefinitionConnectorDefinitionVersionPropertyFromCloudFormation(properties.InitialVersion):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.getAny(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnConnectorDefinitionVersion extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnConnectorDefinitionVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnConnectorDefinitionVersion(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}constructor(scope,id,props){super(scope,id,{type:CfnConnectorDefinitionVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnConnectorDefinitionVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnConnectorDefinitionVersion),error}cdk().requireProperty(props,"connectorDefinitionId",this),cdk().requireProperty(props,"connectors",this),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.connectorDefinitionId=props.connectorDefinitionId,this.connectors=props.connectors}get cfnProperties(){return{connectorDefinitionId:this.connectorDefinitionId,connectors:this.connectors}}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",CfnConnectorDefinitionVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnConnectorDefinitionVersionPropsToCloudFormation(props)}}exports.CfnConnectorDefinitionVersion=CfnConnectorDefinitionVersion,_b=JSII_RTTI_SYMBOL_1,CfnConnectorDefinitionVersion[_b]={fqn:"aws-cdk-lib.aws_greengrass.CfnConnectorDefinitionVersion",version:"2.202.0"},CfnConnectorDefinitionVersion.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::ConnectorDefinitionVersion";function CfnConnectorDefinitionVersionConnectorPropertyValidator(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("connectorArn",cdk().requiredValidator)(properties.connectorArn)),errors.collect(cdk().propertyValidator("connectorArn",cdk().validateString)(properties.connectorArn)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("parameters",cdk().validateObject)(properties.parameters)),errors.wrap('supplied properties not correct for "ConnectorProperty"')}function convertCfnConnectorDefinitionVersionConnectorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectorDefinitionVersionConnectorPropertyValidator(properties).assertSuccess(),{ConnectorArn:cdk().stringToCloudFormation(properties.connectorArn),Id:cdk().stringToCloudFormation(properties.id),Parameters:cdk().objectToCloudFormation(properties.parameters)}):properties}function CfnConnectorDefinitionVersionConnectorPropertyFromCloudFormation(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("connectorArn","ConnectorArn",properties.ConnectorArn!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectorArn):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectorDefinitionVersionPropsValidator(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("connectorDefinitionId",cdk().requiredValidator)(properties.connectorDefinitionId)),errors.collect(cdk().propertyValidator("connectorDefinitionId",cdk().validateString)(properties.connectorDefinitionId)),errors.collect(cdk().propertyValidator("connectors",cdk().requiredValidator)(properties.connectors)),errors.collect(cdk().propertyValidator("connectors",cdk().listValidator(CfnConnectorDefinitionVersionConnectorPropertyValidator))(properties.connectors)),errors.wrap('supplied properties not correct for "CfnConnectorDefinitionVersionProps"')}function convertCfnConnectorDefinitionVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectorDefinitionVersionPropsValidator(properties).assertSuccess(),{ConnectorDefinitionId:cdk().stringToCloudFormation(properties.connectorDefinitionId),Connectors:cdk().listMapper(convertCfnConnectorDefinitionVersionConnectorPropertyToCloudFormation)(properties.connectors)}):properties}function CfnConnectorDefinitionVersionPropsFromCloudFormation(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("connectorDefinitionId","ConnectorDefinitionId",properties.ConnectorDefinitionId!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectorDefinitionId):void 0),ret.addPropertyResult("connectors","Connectors",properties.Connectors!=null?cfn_parse().FromCloudFormation.getArray(CfnConnectorDefinitionVersionConnectorPropertyFromCloudFormation)(properties.Connectors):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCoreDefinition extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCoreDefinitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnCoreDefinition(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}constructor(scope,id,props){super(scope,id,{type:CfnCoreDefinition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnCoreDefinitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCoreDefinition),error}cdk().requireProperty(props,"name",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrLatestVersionArn=cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.initialVersion=props.initialVersion,this.name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Greengrass::CoreDefinition",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{initialVersion:this.initialVersion,name:this.name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnCoreDefinition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCoreDefinitionPropsToCloudFormation(props)}}exports.CfnCoreDefinition=CfnCoreDefinition,_c=JSII_RTTI_SYMBOL_1,CfnCoreDefinition[_c]={fqn:"aws-cdk-lib.aws_greengrass.CfnCoreDefinition",version:"2.202.0"},CfnCoreDefinition.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::CoreDefinition";function CfnCoreDefinitionCorePropertyValidator(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("certificateArn",cdk().requiredValidator)(properties.certificateArn)),errors.collect(cdk().propertyValidator("certificateArn",cdk().validateString)(properties.certificateArn)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("syncShadow",cdk().validateBoolean)(properties.syncShadow)),errors.collect(cdk().propertyValidator("thingArn",cdk().requiredValidator)(properties.thingArn)),errors.collect(cdk().propertyValidator("thingArn",cdk().validateString)(properties.thingArn)),errors.wrap('supplied properties not correct for "CoreProperty"')}function convertCfnCoreDefinitionCorePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCoreDefinitionCorePropertyValidator(properties).assertSuccess(),{CertificateArn:cdk().stringToCloudFormation(properties.certificateArn),Id:cdk().stringToCloudFormation(properties.id),SyncShadow:cdk().booleanToCloudFormation(properties.syncShadow),ThingArn:cdk().stringToCloudFormation(properties.thingArn)}):properties}function CfnCoreDefinitionCorePropertyFromCloudFormation(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("certificateArn","CertificateArn",properties.CertificateArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateArn):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("syncShadow","SyncShadow",properties.SyncShadow!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SyncShadow):void 0),ret.addPropertyResult("thingArn","ThingArn",properties.ThingArn!=null?cfn_parse().FromCloudFormation.getString(properties.ThingArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCoreDefinitionCoreDefinitionVersionPropertyValidator(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("cores",cdk().requiredValidator)(properties.cores)),errors.collect(cdk().propertyValidator("cores",cdk().listValidator(CfnCoreDefinitionCorePropertyValidator))(properties.cores)),errors.wrap('supplied properties not correct for "CoreDefinitionVersionProperty"')}function convertCfnCoreDefinitionCoreDefinitionVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCoreDefinitionCoreDefinitionVersionPropertyValidator(properties).assertSuccess(),{Cores:cdk().listMapper(convertCfnCoreDefinitionCorePropertyToCloudFormation)(properties.cores)}):properties}function CfnCoreDefinitionCoreDefinitionVersionPropertyFromCloudFormation(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("cores","Cores",properties.Cores!=null?cfn_parse().FromCloudFormation.getArray(CfnCoreDefinitionCorePropertyFromCloudFormation)(properties.Cores):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCoreDefinitionPropsValidator(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("initialVersion",CfnCoreDefinitionCoreDefinitionVersionPropertyValidator)(properties.initialVersion)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.wrap('supplied properties not correct for "CfnCoreDefinitionProps"')}function convertCfnCoreDefinitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCoreDefinitionPropsValidator(properties).assertSuccess(),{InitialVersion:convertCfnCoreDefinitionCoreDefinitionVersionPropertyToCloudFormation(properties.initialVersion),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().objectToCloudFormation(properties.tags)}):properties}function CfnCoreDefinitionPropsFromCloudFormation(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("initialVersion","InitialVersion",properties.InitialVersion!=null?CfnCoreDefinitionCoreDefinitionVersionPropertyFromCloudFormation(properties.InitialVersion):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.getAny(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCoreDefinitionVersion extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCoreDefinitionVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnCoreDefinitionVersion(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}constructor(scope,id,props){super(scope,id,{type:CfnCoreDefinitionVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnCoreDefinitionVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCoreDefinitionVersion),error}cdk().requireProperty(props,"coreDefinitionId",this),cdk().requireProperty(props,"cores",this),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.coreDefinitionId=props.coreDefinitionId,this.cores=props.cores}get cfnProperties(){return{coreDefinitionId:this.coreDefinitionId,cores:this.cores}}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",CfnCoreDefinitionVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCoreDefinitionVersionPropsToCloudFormation(props)}}exports.CfnCoreDefinitionVersion=CfnCoreDefinitionVersion,_d=JSII_RTTI_SYMBOL_1,CfnCoreDefinitionVersion[_d]={fqn:"aws-cdk-lib.aws_greengrass.CfnCoreDefinitionVersion",version:"2.202.0"},CfnCoreDefinitionVersion.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::CoreDefinitionVersion";function CfnCoreDefinitionVersionCorePropertyValidator(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("certificateArn",cdk().requiredValidator)(properties.certificateArn)),errors.collect(cdk().propertyValidator("certificateArn",cdk().validateString)(properties.certificateArn)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("syncShadow",cdk().validateBoolean)(properties.syncShadow)),errors.collect(cdk().propertyValidator("thingArn",cdk().requiredValidator)(properties.thingArn)),errors.collect(cdk().propertyValidator("thingArn",cdk().validateString)(properties.thingArn)),errors.wrap('supplied properties not correct for "CoreProperty"')}function convertCfnCoreDefinitionVersionCorePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCoreDefinitionVersionCorePropertyValidator(properties).assertSuccess(),{CertificateArn:cdk().stringToCloudFormation(properties.certificateArn),Id:cdk().stringToCloudFormation(properties.id),SyncShadow:cdk().booleanToCloudFormation(properties.syncShadow),ThingArn:cdk().stringToCloudFormation(properties.thingArn)}):properties}function CfnCoreDefinitionVersionCorePropertyFromCloudFormation(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("certificateArn","CertificateArn",properties.CertificateArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateArn):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("syncShadow","SyncShadow",properties.SyncShadow!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SyncShadow):void 0),ret.addPropertyResult("thingArn","ThingArn",properties.ThingArn!=null?cfn_parse().FromCloudFormation.getString(properties.ThingArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCoreDefinitionVersionPropsValidator(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("coreDefinitionId",cdk().requiredValidator)(properties.coreDefinitionId)),errors.collect(cdk().propertyValidator("coreDefinitionId",cdk().validateString)(properties.coreDefinitionId)),errors.collect(cdk().propertyValidator("cores",cdk().requiredValidator)(properties.cores)),errors.collect(cdk().propertyValidator("cores",cdk().listValidator(CfnCoreDefinitionVersionCorePropertyValidator))(properties.cores)),errors.wrap('supplied properties not correct for "CfnCoreDefinitionVersionProps"')}function convertCfnCoreDefinitionVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCoreDefinitionVersionPropsValidator(properties).assertSuccess(),{CoreDefinitionId:cdk().stringToCloudFormation(properties.coreDefinitionId),Cores:cdk().listMapper(convertCfnCoreDefinitionVersionCorePropertyToCloudFormation)(properties.cores)}):properties}function CfnCoreDefinitionVersionPropsFromCloudFormation(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("coreDefinitionId","CoreDefinitionId",properties.CoreDefinitionId!=null?cfn_parse().FromCloudFormation.getString(properties.CoreDefinitionId):void 0),ret.addPropertyResult("cores","Cores",properties.Cores!=null?cfn_parse().FromCloudFormation.getArray(CfnCoreDefinitionVersionCorePropertyFromCloudFormation)(properties.Cores):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDeviceDefinition extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDeviceDefinitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnDeviceDefinition(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}constructor(scope,id,props){super(scope,id,{type:CfnDeviceDefinition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnDeviceDefinitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDeviceDefinition),error}cdk().requireProperty(props,"name",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrLatestVersionArn=cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.initialVersion=props.initialVersion,this.name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Greengrass::DeviceDefinition",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{initialVersion:this.initialVersion,name:this.name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDeviceDefinition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDeviceDefinitionPropsToCloudFormation(props)}}exports.CfnDeviceDefinition=CfnDeviceDefinition,_e=JSII_RTTI_SYMBOL_1,CfnDeviceDefinition[_e]={fqn:"aws-cdk-lib.aws_greengrass.CfnDeviceDefinition",version:"2.202.0"},CfnDeviceDefinition.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::DeviceDefinition";function CfnDeviceDefinitionDevicePropertyValidator(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("certificateArn",cdk().requiredValidator)(properties.certificateArn)),errors.collect(cdk().propertyValidator("certificateArn",cdk().validateString)(properties.certificateArn)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("syncShadow",cdk().validateBoolean)(properties.syncShadow)),errors.collect(cdk().propertyValidator("thingArn",cdk().requiredValidator)(properties.thingArn)),errors.collect(cdk().propertyValidator("thingArn",cdk().validateString)(properties.thingArn)),errors.wrap('supplied properties not correct for "DeviceProperty"')}function convertCfnDeviceDefinitionDevicePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDeviceDefinitionDevicePropertyValidator(properties).assertSuccess(),{CertificateArn:cdk().stringToCloudFormation(properties.certificateArn),Id:cdk().stringToCloudFormation(properties.id),SyncShadow:cdk().booleanToCloudFormation(properties.syncShadow),ThingArn:cdk().stringToCloudFormation(properties.thingArn)}):properties}function CfnDeviceDefinitionDevicePropertyFromCloudFormation(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("certificateArn","CertificateArn",properties.CertificateArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateArn):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("syncShadow","SyncShadow",properties.SyncShadow!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SyncShadow):void 0),ret.addPropertyResult("thingArn","ThingArn",properties.ThingArn!=null?cfn_parse().FromCloudFormation.getString(properties.ThingArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeviceDefinitionDeviceDefinitionVersionPropertyValidator(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("devices",cdk().requiredValidator)(properties.devices)),errors.collect(cdk().propertyValidator("devices",cdk().listValidator(CfnDeviceDefinitionDevicePropertyValidator))(properties.devices)),errors.wrap('supplied properties not correct for "DeviceDefinitionVersionProperty"')}function convertCfnDeviceDefinitionDeviceDefinitionVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDeviceDefinitionDeviceDefinitionVersionPropertyValidator(properties).assertSuccess(),{Devices:cdk().listMapper(convertCfnDeviceDefinitionDevicePropertyToCloudFormation)(properties.devices)}):properties}function CfnDeviceDefinitionDeviceDefinitionVersionPropertyFromCloudFormation(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("devices","Devices",properties.Devices!=null?cfn_parse().FromCloudFormation.getArray(CfnDeviceDefinitionDevicePropertyFromCloudFormation)(properties.Devices):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeviceDefinitionPropsValidator(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("initialVersion",CfnDeviceDefinitionDeviceDefinitionVersionPropertyValidator)(properties.initialVersion)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.wrap('supplied properties not correct for "CfnDeviceDefinitionProps"')}function convertCfnDeviceDefinitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDeviceDefinitionPropsValidator(properties).assertSuccess(),{InitialVersion:convertCfnDeviceDefinitionDeviceDefinitionVersionPropertyToCloudFormation(properties.initialVersion),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().objectToCloudFormation(properties.tags)}):properties}function CfnDeviceDefinitionPropsFromCloudFormation(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("initialVersion","InitialVersion",properties.InitialVersion!=null?CfnDeviceDefinitionDeviceDefinitionVersionPropertyFromCloudFormation(properties.InitialVersion):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.getAny(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDeviceDefinitionVersion extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDeviceDefinitionVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnDeviceDefinitionVersion(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}constructor(scope,id,props){super(scope,id,{type:CfnDeviceDefinitionVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnDeviceDefinitionVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDeviceDefinitionVersion),error}cdk().requireProperty(props,"deviceDefinitionId",this),cdk().requireProperty(props,"devices",this),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.deviceDefinitionId=props.deviceDefinitionId,this.devices=props.devices}get cfnProperties(){return{deviceDefinitionId:this.deviceDefinitionId,devices:this.devices}}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",CfnDeviceDefinitionVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDeviceDefinitionVersionPropsToCloudFormation(props)}}exports.CfnDeviceDefinitionVersion=CfnDeviceDefinitionVersion,_f=JSII_RTTI_SYMBOL_1,CfnDeviceDefinitionVersion[_f]={fqn:"aws-cdk-lib.aws_greengrass.CfnDeviceDefinitionVersion",version:"2.202.0"},CfnDeviceDefinitionVersion.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::DeviceDefinitionVersion";function CfnDeviceDefinitionVersionDevicePropertyValidator(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("certificateArn",cdk().requiredValidator)(properties.certificateArn)),errors.collect(cdk().propertyValidator("certificateArn",cdk().validateString)(properties.certificateArn)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("syncShadow",cdk().validateBoolean)(properties.syncShadow)),errors.collect(cdk().propertyValidator("thingArn",cdk().requiredValidator)(properties.thingArn)),errors.collect(cdk().propertyValidator("thingArn",cdk().validateString)(properties.thingArn)),errors.wrap('supplied properties not correct for "DeviceProperty"')}function convertCfnDeviceDefinitionVersionDevicePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDeviceDefinitionVersionDevicePropertyValidator(properties).assertSuccess(),{CertificateArn:cdk().stringToCloudFormation(properties.certificateArn),Id:cdk().stringToCloudFormation(properties.id),SyncShadow:cdk().booleanToCloudFormation(properties.syncShadow),ThingArn:cdk().stringToCloudFormation(properties.thingArn)}):properties}function CfnDeviceDefinitionVersionDevicePropertyFromCloudFormation(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("certificateArn","CertificateArn",properties.CertificateArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateArn):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("syncShadow","SyncShadow",properties.SyncShadow!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SyncShadow):void 0),ret.addPropertyResult("thingArn","ThingArn",properties.ThingArn!=null?cfn_parse().FromCloudFormation.getString(properties.ThingArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeviceDefinitionVersionPropsValidator(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("deviceDefinitionId",cdk().requiredValidator)(properties.deviceDefinitionId)),errors.collect(cdk().propertyValidator("deviceDefinitionId",cdk().validateString)(properties.deviceDefinitionId)),errors.collect(cdk().propertyValidator("devices",cdk().requiredValidator)(properties.devices)),errors.collect(cdk().propertyValidator("devices",cdk().listValidator(CfnDeviceDefinitionVersionDevicePropertyValidator))(properties.devices)),errors.wrap('supplied properties not correct for "CfnDeviceDefinitionVersionProps"')}function convertCfnDeviceDefinitionVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDeviceDefinitionVersionPropsValidator(properties).assertSuccess(),{DeviceDefinitionId:cdk().stringToCloudFormation(properties.deviceDefinitionId),Devices:cdk().listMapper(convertCfnDeviceDefinitionVersionDevicePropertyToCloudFormation)(properties.devices)}):properties}function CfnDeviceDefinitionVersionPropsFromCloudFormation(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("deviceDefinitionId","DeviceDefinitionId",properties.DeviceDefinitionId!=null?cfn_parse().FromCloudFormation.getString(properties.DeviceDefinitionId):void 0),ret.addPropertyResult("devices","Devices",properties.Devices!=null?cfn_parse().FromCloudFormation.getArray(CfnDeviceDefinitionVersionDevicePropertyFromCloudFormation)(properties.Devices):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFunctionDefinition extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFunctionDefinitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnFunctionDefinition(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}constructor(scope,id,props){super(scope,id,{type:CfnFunctionDefinition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnFunctionDefinitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFunctionDefinition),error}cdk().requireProperty(props,"name",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrLatestVersionArn=cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.initialVersion=props.initialVersion,this.name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Greengrass::FunctionDefinition",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{initialVersion:this.initialVersion,name:this.name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnFunctionDefinition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFunctionDefinitionPropsToCloudFormation(props)}}exports.CfnFunctionDefinition=CfnFunctionDefinition,_g=JSII_RTTI_SYMBOL_1,CfnFunctionDefinition[_g]={fqn:"aws-cdk-lib.aws_greengrass.CfnFunctionDefinition",version:"2.202.0"},CfnFunctionDefinition.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::FunctionDefinition";function CfnFunctionDefinitionRunAsPropertyValidator(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("gid",cdk().validateNumber)(properties.gid)),errors.collect(cdk().propertyValidator("uid",cdk().validateNumber)(properties.uid)),errors.wrap('supplied properties not correct for "RunAsProperty"')}function convertCfnFunctionDefinitionRunAsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionRunAsPropertyValidator(properties).assertSuccess(),{Gid:cdk().numberToCloudFormation(properties.gid),Uid:cdk().numberToCloudFormation(properties.uid)}):properties}function CfnFunctionDefinitionRunAsPropertyFromCloudFormation(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("gid","Gid",properties.Gid!=null?cfn_parse().FromCloudFormation.getNumber(properties.Gid):void 0),ret.addPropertyResult("uid","Uid",properties.Uid!=null?cfn_parse().FromCloudFormation.getNumber(properties.Uid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionExecutionPropertyValidator(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("isolationMode",cdk().validateString)(properties.isolationMode)),errors.collect(cdk().propertyValidator("runAs",CfnFunctionDefinitionRunAsPropertyValidator)(properties.runAs)),errors.wrap('supplied properties not correct for "ExecutionProperty"')}function convertCfnFunctionDefinitionExecutionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionExecutionPropertyValidator(properties).assertSuccess(),{IsolationMode:cdk().stringToCloudFormation(properties.isolationMode),RunAs:convertCfnFunctionDefinitionRunAsPropertyToCloudFormation(properties.runAs)}):properties}function CfnFunctionDefinitionExecutionPropertyFromCloudFormation(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("isolationMode","IsolationMode",properties.IsolationMode!=null?cfn_parse().FromCloudFormation.getString(properties.IsolationMode):void 0),ret.addPropertyResult("runAs","RunAs",properties.RunAs!=null?CfnFunctionDefinitionRunAsPropertyFromCloudFormation(properties.RunAs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionDefaultConfigPropertyValidator(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("execution",cdk().requiredValidator)(properties.execution)),errors.collect(cdk().propertyValidator("execution",CfnFunctionDefinitionExecutionPropertyValidator)(properties.execution)),errors.wrap('supplied properties not correct for "DefaultConfigProperty"')}function convertCfnFunctionDefinitionDefaultConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionDefaultConfigPropertyValidator(properties).assertSuccess(),{Execution:convertCfnFunctionDefinitionExecutionPropertyToCloudFormation(properties.execution)}):properties}function CfnFunctionDefinitionDefaultConfigPropertyFromCloudFormation(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("execution","Execution",properties.Execution!=null?CfnFunctionDefinitionExecutionPropertyFromCloudFormation(properties.Execution):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionResourceAccessPolicyPropertyValidator(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("permission",cdk().validateString)(properties.permission)),errors.collect(cdk().propertyValidator("resourceId",cdk().requiredValidator)(properties.resourceId)),errors.collect(cdk().propertyValidator("resourceId",cdk().validateString)(properties.resourceId)),errors.wrap('supplied properties not correct for "ResourceAccessPolicyProperty"')}function convertCfnFunctionDefinitionResourceAccessPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionResourceAccessPolicyPropertyValidator(properties).assertSuccess(),{Permission:cdk().stringToCloudFormation(properties.permission),ResourceId:cdk().stringToCloudFormation(properties.resourceId)}):properties}function CfnFunctionDefinitionResourceAccessPolicyPropertyFromCloudFormation(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("permission","Permission",properties.Permission!=null?cfn_parse().FromCloudFormation.getString(properties.Permission):void 0),ret.addPropertyResult("resourceId","ResourceId",properties.ResourceId!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionEnvironmentPropertyValidator(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("accessSysfs",cdk().validateBoolean)(properties.accessSysfs)),errors.collect(cdk().propertyValidator("execution",CfnFunctionDefinitionExecutionPropertyValidator)(properties.execution)),errors.collect(cdk().propertyValidator("resourceAccessPolicies",cdk().listValidator(CfnFunctionDefinitionResourceAccessPolicyPropertyValidator))(properties.resourceAccessPolicies)),errors.collect(cdk().propertyValidator("variables",cdk().validateObject)(properties.variables)),errors.wrap('supplied properties not correct for "EnvironmentProperty"')}function convertCfnFunctionDefinitionEnvironmentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionEnvironmentPropertyValidator(properties).assertSuccess(),{AccessSysfs:cdk().booleanToCloudFormation(properties.accessSysfs),Execution:convertCfnFunctionDefinitionExecutionPropertyToCloudFormation(properties.execution),ResourceAccessPolicies:cdk().listMapper(convertCfnFunctionDefinitionResourceAccessPolicyPropertyToCloudFormation)(properties.resourceAccessPolicies),Variables:cdk().objectToCloudFormation(properties.variables)}):properties}function CfnFunctionDefinitionEnvironmentPropertyFromCloudFormation(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("accessSysfs","AccessSysfs",properties.AccessSysfs!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AccessSysfs):void 0),ret.addPropertyResult("execution","Execution",properties.Execution!=null?CfnFunctionDefinitionExecutionPropertyFromCloudFormation(properties.Execution):void 0),ret.addPropertyResult("resourceAccessPolicies","ResourceAccessPolicies",properties.ResourceAccessPolicies!=null?cfn_parse().FromCloudFormation.getArray(CfnFunctionDefinitionResourceAccessPolicyPropertyFromCloudFormation)(properties.ResourceAccessPolicies):void 0),ret.addPropertyResult("variables","Variables",properties.Variables!=null?cfn_parse().FromCloudFormation.getAny(properties.Variables):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionFunctionConfigurationPropertyValidator(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("encodingType",cdk().validateString)(properties.encodingType)),errors.collect(cdk().propertyValidator("environment",CfnFunctionDefinitionEnvironmentPropertyValidator)(properties.environment)),errors.collect(cdk().propertyValidator("execArgs",cdk().validateString)(properties.execArgs)),errors.collect(cdk().propertyValidator("executable",cdk().validateString)(properties.executable)),errors.collect(cdk().propertyValidator("memorySize",cdk().validateNumber)(properties.memorySize)),errors.collect(cdk().propertyValidator("pinned",cdk().validateBoolean)(properties.pinned)),errors.collect(cdk().propertyValidator("timeout",cdk().validateNumber)(properties.timeout)),errors.wrap('supplied properties not correct for "FunctionConfigurationProperty"')}function convertCfnFunctionDefinitionFunctionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionFunctionConfigurationPropertyValidator(properties).assertSuccess(),{EncodingType:cdk().stringToCloudFormation(properties.encodingType),Environment:convertCfnFunctionDefinitionEnvironmentPropertyToCloudFormation(properties.environment),ExecArgs:cdk().stringToCloudFormation(properties.execArgs),Executable:cdk().stringToCloudFormation(properties.executable),MemorySize:cdk().numberToCloudFormation(properties.memorySize),Pinned:cdk().booleanToCloudFormation(properties.pinned),Timeout:cdk().numberToCloudFormation(properties.timeout)}):properties}function CfnFunctionDefinitionFunctionConfigurationPropertyFromCloudFormation(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("encodingType","EncodingType",properties.EncodingType!=null?cfn_parse().FromCloudFormation.getString(properties.EncodingType):void 0),ret.addPropertyResult("environment","Environment",properties.Environment!=null?CfnFunctionDefinitionEnvironmentPropertyFromCloudFormation(properties.Environment):void 0),ret.addPropertyResult("execArgs","ExecArgs",properties.ExecArgs!=null?cfn_parse().FromCloudFormation.getString(properties.ExecArgs):void 0),ret.addPropertyResult("executable","Executable",properties.Executable!=null?cfn_parse().FromCloudFormation.getString(properties.Executable):void 0),ret.addPropertyResult("memorySize","MemorySize",properties.MemorySize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MemorySize):void 0),ret.addPropertyResult("pinned","Pinned",properties.Pinned!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Pinned):void 0),ret.addPropertyResult("timeout","Timeout",properties.Timeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.Timeout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionFunctionPropertyValidator(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("functionArn",cdk().requiredValidator)(properties.functionArn)),errors.collect(cdk().propertyValidator("functionArn",cdk().validateString)(properties.functionArn)),errors.collect(cdk().propertyValidator("functionConfiguration",cdk().requiredValidator)(properties.functionConfiguration)),errors.collect(cdk().propertyValidator("functionConfiguration",CfnFunctionDefinitionFunctionConfigurationPropertyValidator)(properties.functionConfiguration)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.wrap('supplied properties not correct for "FunctionProperty"')}function convertCfnFunctionDefinitionFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionFunctionPropertyValidator(properties).assertSuccess(),{FunctionArn:cdk().stringToCloudFormation(properties.functionArn),FunctionConfiguration:convertCfnFunctionDefinitionFunctionConfigurationPropertyToCloudFormation(properties.functionConfiguration),Id:cdk().stringToCloudFormation(properties.id)}):properties}function CfnFunctionDefinitionFunctionPropertyFromCloudFormation(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("functionArn","FunctionArn",properties.FunctionArn!=null?cfn_parse().FromCloudFormation.getString(properties.FunctionArn):void 0),ret.addPropertyResult("functionConfiguration","FunctionConfiguration",properties.FunctionConfiguration!=null?CfnFunctionDefinitionFunctionConfigurationPropertyFromCloudFormation(properties.FunctionConfiguration):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionFunctionDefinitionVersionPropertyValidator(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("defaultConfig",CfnFunctionDefinitionDefaultConfigPropertyValidator)(properties.defaultConfig)),errors.collect(cdk().propertyValidator("functions",cdk().requiredValidator)(properties.functions)),errors.collect(cdk().propertyValidator("functions",cdk().listValidator(CfnFunctionDefinitionFunctionPropertyValidator))(properties.functions)),errors.wrap('supplied properties not correct for "FunctionDefinitionVersionProperty"')}function convertCfnFunctionDefinitionFunctionDefinitionVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionFunctionDefinitionVersionPropertyValidator(properties).assertSuccess(),{DefaultConfig:convertCfnFunctionDefinitionDefaultConfigPropertyToCloudFormation(properties.defaultConfig),Functions:cdk().listMapper(convertCfnFunctionDefinitionFunctionPropertyToCloudFormation)(properties.functions)}):properties}function CfnFunctionDefinitionFunctionDefinitionVersionPropertyFromCloudFormation(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("defaultConfig","DefaultConfig",properties.DefaultConfig!=null?CfnFunctionDefinitionDefaultConfigPropertyFromCloudFormation(properties.DefaultConfig):void 0),ret.addPropertyResult("functions","Functions",properties.Functions!=null?cfn_parse().FromCloudFormation.getArray(CfnFunctionDefinitionFunctionPropertyFromCloudFormation)(properties.Functions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionPropsValidator(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("initialVersion",CfnFunctionDefinitionFunctionDefinitionVersionPropertyValidator)(properties.initialVersion)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.wrap('supplied properties not correct for "CfnFunctionDefinitionProps"')}function convertCfnFunctionDefinitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionPropsValidator(properties).assertSuccess(),{InitialVersion:convertCfnFunctionDefinitionFunctionDefinitionVersionPropertyToCloudFormation(properties.initialVersion),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().objectToCloudFormation(properties.tags)}):properties}function CfnFunctionDefinitionPropsFromCloudFormation(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("initialVersion","InitialVersion",properties.InitialVersion!=null?CfnFunctionDefinitionFunctionDefinitionVersionPropertyFromCloudFormation(properties.InitialVersion):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.getAny(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFunctionDefinitionVersion extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFunctionDefinitionVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnFunctionDefinitionVersion(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}constructor(scope,id,props){super(scope,id,{type:CfnFunctionDefinitionVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnFunctionDefinitionVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFunctionDefinitionVersion),error}cdk().requireProperty(props,"functionDefinitionId",this),cdk().requireProperty(props,"functions",this),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.defaultConfig=props.defaultConfig,this.functionDefinitionId=props.functionDefinitionId,this.functions=props.functions}get cfnProperties(){return{defaultConfig:this.defaultConfig,functionDefinitionId:this.functionDefinitionId,functions:this.functions}}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",CfnFunctionDefinitionVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFunctionDefinitionVersionPropsToCloudFormation(props)}}exports.CfnFunctionDefinitionVersion=CfnFunctionDefinitionVersion,_h=JSII_RTTI_SYMBOL_1,CfnFunctionDefinitionVersion[_h]={fqn:"aws-cdk-lib.aws_greengrass.CfnFunctionDefinitionVersion",version:"2.202.0"},CfnFunctionDefinitionVersion.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::FunctionDefinitionVersion";function CfnFunctionDefinitionVersionRunAsPropertyValidator(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("gid",cdk().validateNumber)(properties.gid)),errors.collect(cdk().propertyValidator("uid",cdk().validateNumber)(properties.uid)),errors.wrap('supplied properties not correct for "RunAsProperty"')}function convertCfnFunctionDefinitionVersionRunAsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionVersionRunAsPropertyValidator(properties).assertSuccess(),{Gid:cdk().numberToCloudFormation(properties.gid),Uid:cdk().numberToCloudFormation(properties.uid)}):properties}function CfnFunctionDefinitionVersionRunAsPropertyFromCloudFormation(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("gid","Gid",properties.Gid!=null?cfn_parse().FromCloudFormation.getNumber(properties.Gid):void 0),ret.addPropertyResult("uid","Uid",properties.Uid!=null?cfn_parse().FromCloudFormation.getNumber(properties.Uid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionVersionExecutionPropertyValidator(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("isolationMode",cdk().validateString)(properties.isolationMode)),errors.collect(cdk().propertyValidator("runAs",CfnFunctionDefinitionVersionRunAsPropertyValidator)(properties.runAs)),errors.wrap('supplied properties not correct for "ExecutionProperty"')}function convertCfnFunctionDefinitionVersionExecutionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionVersionExecutionPropertyValidator(properties).assertSuccess(),{IsolationMode:cdk().stringToCloudFormation(properties.isolationMode),RunAs:convertCfnFunctionDefinitionVersionRunAsPropertyToCloudFormation(properties.runAs)}):properties}function CfnFunctionDefinitionVersionExecutionPropertyFromCloudFormation(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("isolationMode","IsolationMode",properties.IsolationMode!=null?cfn_parse().FromCloudFormation.getString(properties.IsolationMode):void 0),ret.addPropertyResult("runAs","RunAs",properties.RunAs!=null?CfnFunctionDefinitionVersionRunAsPropertyFromCloudFormation(properties.RunAs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionVersionDefaultConfigPropertyValidator(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("execution",cdk().requiredValidator)(properties.execution)),errors.collect(cdk().propertyValidator("execution",CfnFunctionDefinitionVersionExecutionPropertyValidator)(properties.execution)),errors.wrap('supplied properties not correct for "DefaultConfigProperty"')}function convertCfnFunctionDefinitionVersionDefaultConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionVersionDefaultConfigPropertyValidator(properties).assertSuccess(),{Execution:convertCfnFunctionDefinitionVersionExecutionPropertyToCloudFormation(properties.execution)}):properties}function CfnFunctionDefinitionVersionDefaultConfigPropertyFromCloudFormation(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("execution","Execution",properties.Execution!=null?CfnFunctionDefinitionVersionExecutionPropertyFromCloudFormation(properties.Execution):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionVersionResourceAccessPolicyPropertyValidator(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("permission",cdk().validateString)(properties.permission)),errors.collect(cdk().propertyValidator("resourceId",cdk().requiredValidator)(properties.resourceId)),errors.collect(cdk().propertyValidator("resourceId",cdk().validateString)(properties.resourceId)),errors.wrap('supplied properties not correct for "ResourceAccessPolicyProperty"')}function convertCfnFunctionDefinitionVersionResourceAccessPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionVersionResourceAccessPolicyPropertyValidator(properties).assertSuccess(),{Permission:cdk().stringToCloudFormation(properties.permission),ResourceId:cdk().stringToCloudFormation(properties.resourceId)}):properties}function CfnFunctionDefinitionVersionResourceAccessPolicyPropertyFromCloudFormation(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("permission","Permission",properties.Permission!=null?cfn_parse().FromCloudFormation.getString(properties.Permission):void 0),ret.addPropertyResult("resourceId","ResourceId",properties.ResourceId!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionVersionEnvironmentPropertyValidator(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("accessSysfs",cdk().validateBoolean)(properties.accessSysfs)),errors.collect(cdk().propertyValidator("execution",CfnFunctionDefinitionVersionExecutionPropertyValidator)(properties.execution)),errors.collect(cdk().propertyValidator("resourceAccessPolicies",cdk().listValidator(CfnFunctionDefinitionVersionResourceAccessPolicyPropertyValidator))(properties.resourceAccessPolicies)),errors.collect(cdk().propertyValidator("variables",cdk().validateObject)(properties.variables)),errors.wrap('supplied properties not correct for "EnvironmentProperty"')}function convertCfnFunctionDefinitionVersionEnvironmentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionVersionEnvironmentPropertyValidator(properties).assertSuccess(),{AccessSysfs:cdk().booleanToCloudFormation(properties.accessSysfs),Execution:convertCfnFunctionDefinitionVersionExecutionPropertyToCloudFormation(properties.execution),ResourceAccessPolicies:cdk().listMapper(convertCfnFunctionDefinitionVersionResourceAccessPolicyPropertyToCloudFormation)(properties.resourceAccessPolicies),Variables:cdk().objectToCloudFormation(properties.variables)}):properties}function CfnFunctionDefinitionVersionEnvironmentPropertyFromCloudFormation(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("accessSysfs","AccessSysfs",properties.AccessSysfs!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AccessSysfs):void 0),ret.addPropertyResult("execution","Execution",properties.Execution!=null?CfnFunctionDefinitionVersionExecutionPropertyFromCloudFormation(properties.Execution):void 0),ret.addPropertyResult("resourceAccessPolicies","ResourceAccessPolicies",properties.ResourceAccessPolicies!=null?cfn_parse().FromCloudFormation.getArray(CfnFunctionDefinitionVersionResourceAccessPolicyPropertyFromCloudFormation)(properties.ResourceAccessPolicies):void 0),ret.addPropertyResult("variables","Variables",properties.Variables!=null?cfn_parse().FromCloudFormation.getAny(properties.Variables):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionVersionFunctionConfigurationPropertyValidator(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("encodingType",cdk().validateString)(properties.encodingType)),errors.collect(cdk().propertyValidator("environment",CfnFunctionDefinitionVersionEnvironmentPropertyValidator)(properties.environment)),errors.collect(cdk().propertyValidator("execArgs",cdk().validateString)(properties.execArgs)),errors.collect(cdk().propertyValidator("executable",cdk().validateString)(properties.executable)),errors.collect(cdk().propertyValidator("memorySize",cdk().validateNumber)(properties.memorySize)),errors.collect(cdk().propertyValidator("pinned",cdk().validateBoolean)(properties.pinned)),errors.collect(cdk().propertyValidator("timeout",cdk().validateNumber)(properties.timeout)),errors.wrap('supplied properties not correct for "FunctionConfigurationProperty"')}function convertCfnFunctionDefinitionVersionFunctionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionVersionFunctionConfigurationPropertyValidator(properties).assertSuccess(),{EncodingType:cdk().stringToCloudFormation(properties.encodingType),Environment:convertCfnFunctionDefinitionVersionEnvironmentPropertyToCloudFormation(properties.environment),ExecArgs:cdk().stringToCloudFormation(properties.execArgs),Executable:cdk().stringToCloudFormation(properties.executable),MemorySize:cdk().numberToCloudFormation(properties.memorySize),Pinned:cdk().booleanToCloudFormation(properties.pinned),Timeout:cdk().numberToCloudFormation(properties.timeout)}):properties}function CfnFunctionDefinitionVersionFunctionConfigurationPropertyFromCloudFormation(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("encodingType","EncodingType",properties.EncodingType!=null?cfn_parse().FromCloudFormation.getString(properties.EncodingType):void 0),ret.addPropertyResult("environment","Environment",properties.Environment!=null?CfnFunctionDefinitionVersionEnvironmentPropertyFromCloudFormation(properties.Environment):void 0),ret.addPropertyResult("execArgs","ExecArgs",properties.ExecArgs!=null?cfn_parse().FromCloudFormation.getString(properties.ExecArgs):void 0),ret.addPropertyResult("executable","Executable",properties.Executable!=null?cfn_parse().FromCloudFormation.getString(properties.Executable):void 0),ret.addPropertyResult("memorySize","MemorySize",properties.MemorySize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MemorySize):void 0),ret.addPropertyResult("pinned","Pinned",properties.Pinned!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Pinned):void 0),ret.addPropertyResult("timeout","Timeout",properties.Timeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.Timeout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionVersionFunctionPropertyValidator(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("functionArn",cdk().requiredValidator)(properties.functionArn)),errors.collect(cdk().propertyValidator("functionArn",cdk().validateString)(properties.functionArn)),errors.collect(cdk().propertyValidator("functionConfiguration",cdk().requiredValidator)(properties.functionConfiguration)),errors.collect(cdk().propertyValidator("functionConfiguration",CfnFunctionDefinitionVersionFunctionConfigurationPropertyValidator)(properties.functionConfiguration)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.wrap('supplied properties not correct for "FunctionProperty"')}function convertCfnFunctionDefinitionVersionFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionVersionFunctionPropertyValidator(properties).assertSuccess(),{FunctionArn:cdk().stringToCloudFormation(properties.functionArn),FunctionConfiguration:convertCfnFunctionDefinitionVersionFunctionConfigurationPropertyToCloudFormation(properties.functionConfiguration),Id:cdk().stringToCloudFormation(properties.id)}):properties}function CfnFunctionDefinitionVersionFunctionPropertyFromCloudFormation(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("functionArn","FunctionArn",properties.FunctionArn!=null?cfn_parse().FromCloudFormation.getString(properties.FunctionArn):void 0),ret.addPropertyResult("functionConfiguration","FunctionConfiguration",properties.FunctionConfiguration!=null?CfnFunctionDefinitionVersionFunctionConfigurationPropertyFromCloudFormation(properties.FunctionConfiguration):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFunctionDefinitionVersionPropsValidator(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("defaultConfig",CfnFunctionDefinitionVersionDefaultConfigPropertyValidator)(properties.defaultConfig)),errors.collect(cdk().propertyValidator("functionDefinitionId",cdk().requiredValidator)(properties.functionDefinitionId)),errors.collect(cdk().propertyValidator("functionDefinitionId",cdk().validateString)(properties.functionDefinitionId)),errors.collect(cdk().propertyValidator("functions",cdk().requiredValidator)(properties.functions)),errors.collect(cdk().propertyValidator("functions",cdk().listValidator(CfnFunctionDefinitionVersionFunctionPropertyValidator))(properties.functions)),errors.wrap('supplied properties not correct for "CfnFunctionDefinitionVersionProps"')}function convertCfnFunctionDefinitionVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFunctionDefinitionVersionPropsValidator(properties).assertSuccess(),{DefaultConfig:convertCfnFunctionDefinitionVersionDefaultConfigPropertyToCloudFormation(properties.defaultConfig),FunctionDefinitionId:cdk().stringToCloudFormation(properties.functionDefinitionId),Functions:cdk().listMapper(convertCfnFunctionDefinitionVersionFunctionPropertyToCloudFormation)(properties.functions)}):properties}function CfnFunctionDefinitionVersionPropsFromCloudFormation(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("defaultConfig","DefaultConfig",properties.DefaultConfig!=null?CfnFunctionDefinitionVersionDefaultConfigPropertyFromCloudFormation(properties.DefaultConfig):void 0),ret.addPropertyResult("functionDefinitionId","FunctionDefinitionId",properties.FunctionDefinitionId!=null?cfn_parse().FromCloudFormation.getString(properties.FunctionDefinitionId):void 0),ret.addPropertyResult("functions","Functions",properties.Functions!=null?cfn_parse().FromCloudFormation.getArray(CfnFunctionDefinitionVersionFunctionPropertyFromCloudFormation)(properties.Functions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGroup extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnGroup(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}constructor(scope,id,props){super(scope,id,{type:CfnGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGroup),error}cdk().requireProperty(props,"name",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrLatestVersionArn=cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.attrRoleArn=cdk().Token.asString(this.getAtt("RoleArn",cdk().ResolutionTypeHint.STRING)),this.attrRoleAttachedAt=cdk().Token.asString(this.getAtt("RoleAttachedAt",cdk().ResolutionTypeHint.STRING)),this.initialVersion=props.initialVersion,this.name=props.name,this.roleArn=props.roleArn,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Greengrass::Group",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{initialVersion:this.initialVersion,name:this.name,roleArn:this.roleArn,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGroupPropsToCloudFormation(props)}}exports.CfnGroup=CfnGroup,_j=JSII_RTTI_SYMBOL_1,CfnGroup[_j]={fqn:"aws-cdk-lib.aws_greengrass.CfnGroup",version:"2.202.0"},CfnGroup.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::Group";function CfnGroupGroupVersionPropertyValidator(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("connectorDefinitionVersionArn",cdk().validateString)(properties.connectorDefinitionVersionArn)),errors.collect(cdk().propertyValidator("coreDefinitionVersionArn",cdk().validateString)(properties.coreDefinitionVersionArn)),errors.collect(cdk().propertyValidator("deviceDefinitionVersionArn",cdk().validateString)(properties.deviceDefinitionVersionArn)),errors.collect(cdk().propertyValidator("functionDefinitionVersionArn",cdk().validateString)(properties.functionDefinitionVersionArn)),errors.collect(cdk().propertyValidator("loggerDefinitionVersionArn",cdk().validateString)(properties.loggerDefinitionVersionArn)),errors.collect(cdk().propertyValidator("resourceDefinitionVersionArn",cdk().validateString)(properties.resourceDefinitionVersionArn)),errors.collect(cdk().propertyValidator("subscriptionDefinitionVersionArn",cdk().validateString)(properties.subscriptionDefinitionVersionArn)),errors.wrap('supplied properties not correct for "GroupVersionProperty"')}function convertCfnGroupGroupVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGroupGroupVersionPropertyValidator(properties).assertSuccess(),{ConnectorDefinitionVersionArn:cdk().stringToCloudFormation(properties.connectorDefinitionVersionArn),CoreDefinitionVersionArn:cdk().stringToCloudFormation(properties.coreDefinitionVersionArn),DeviceDefinitionVersionArn:cdk().stringToCloudFormation(properties.deviceDefinitionVersionArn),FunctionDefinitionVersionArn:cdk().stringToCloudFormation(properties.functionDefinitionVersionArn),LoggerDefinitionVersionArn:cdk().stringToCloudFormation(properties.loggerDefinitionVersionArn),ResourceDefinitionVersionArn:cdk().stringToCloudFormation(properties.resourceDefinitionVersionArn),SubscriptionDefinitionVersionArn:cdk().stringToCloudFormation(properties.subscriptionDefinitionVersionArn)}):properties}function CfnGroupGroupVersionPropertyFromCloudFormation(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("connectorDefinitionVersionArn","ConnectorDefinitionVersionArn",properties.ConnectorDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectorDefinitionVersionArn):void 0),ret.addPropertyResult("coreDefinitionVersionArn","CoreDefinitionVersionArn",properties.CoreDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.CoreDefinitionVersionArn):void 0),ret.addPropertyResult("deviceDefinitionVersionArn","DeviceDefinitionVersionArn",properties.DeviceDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.DeviceDefinitionVersionArn):void 0),ret.addPropertyResult("functionDefinitionVersionArn","FunctionDefinitionVersionArn",properties.FunctionDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.FunctionDefinitionVersionArn):void 0),ret.addPropertyResult("loggerDefinitionVersionArn","LoggerDefinitionVersionArn",properties.LoggerDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.LoggerDefinitionVersionArn):void 0),ret.addPropertyResult("resourceDefinitionVersionArn","ResourceDefinitionVersionArn",properties.ResourceDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceDefinitionVersionArn):void 0),ret.addPropertyResult("subscriptionDefinitionVersionArn","SubscriptionDefinitionVersionArn",properties.SubscriptionDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.SubscriptionDefinitionVersionArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGroupPropsValidator(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("initialVersion",CfnGroupGroupVersionPropertyValidator)(properties.initialVersion)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.wrap('supplied properties not correct for "CfnGroupProps"')}function convertCfnGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGroupPropsValidator(properties).assertSuccess(),{InitialVersion:convertCfnGroupGroupVersionPropertyToCloudFormation(properties.initialVersion),Name:cdk().stringToCloudFormation(properties.name),RoleArn:cdk().stringToCloudFormation(properties.roleArn),Tags:cdk().objectToCloudFormation(properties.tags)}):properties}function CfnGroupPropsFromCloudFormation(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("initialVersion","InitialVersion",properties.InitialVersion!=null?CfnGroupGroupVersionPropertyFromCloudFormation(properties.InitialVersion):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getAny(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGroupVersion extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGroupVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnGroupVersion(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}constructor(scope,id,props){super(scope,id,{type:CfnGroupVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnGroupVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGroupVersion),error}cdk().requireProperty(props,"groupId",this),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.connectorDefinitionVersionArn=props.connectorDefinitionVersionArn,this.coreDefinitionVersionArn=props.coreDefinitionVersionArn,this.deviceDefinitionVersionArn=props.deviceDefinitionVersionArn,this.functionDefinitionVersionArn=props.functionDefinitionVersionArn,this.groupId=props.groupId,this.loggerDefinitionVersionArn=props.loggerDefinitionVersionArn,this.resourceDefinitionVersionArn=props.resourceDefinitionVersionArn,this.subscriptionDefinitionVersionArn=props.subscriptionDefinitionVersionArn}get cfnProperties(){return{connectorDefinitionVersionArn:this.connectorDefinitionVersionArn,coreDefinitionVersionArn:this.coreDefinitionVersionArn,deviceDefinitionVersionArn:this.deviceDefinitionVersionArn,functionDefinitionVersionArn:this.functionDefinitionVersionArn,groupId:this.groupId,loggerDefinitionVersionArn:this.loggerDefinitionVersionArn,resourceDefinitionVersionArn:this.resourceDefinitionVersionArn,subscriptionDefinitionVersionArn:this.subscriptionDefinitionVersionArn}}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",CfnGroupVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGroupVersionPropsToCloudFormation(props)}}exports.CfnGroupVersion=CfnGroupVersion,_k=JSII_RTTI_SYMBOL_1,CfnGroupVersion[_k]={fqn:"aws-cdk-lib.aws_greengrass.CfnGroupVersion",version:"2.202.0"},CfnGroupVersion.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::GroupVersion";function CfnGroupVersionPropsValidator(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("connectorDefinitionVersionArn",cdk().validateString)(properties.connectorDefinitionVersionArn)),errors.collect(cdk().propertyValidator("coreDefinitionVersionArn",cdk().validateString)(properties.coreDefinitionVersionArn)),errors.collect(cdk().propertyValidator("deviceDefinitionVersionArn",cdk().validateString)(properties.deviceDefinitionVersionArn)),errors.collect(cdk().propertyValidator("functionDefinitionVersionArn",cdk().validateString)(properties.functionDefinitionVersionArn)),errors.collect(cdk().propertyValidator("groupId",cdk().requiredValidator)(properties.groupId)),errors.collect(cdk().propertyValidator("groupId",cdk().validateString)(properties.groupId)),errors.collect(cdk().propertyValidator("loggerDefinitionVersionArn",cdk().validateString)(properties.loggerDefinitionVersionArn)),errors.collect(cdk().propertyValidator("resourceDefinitionVersionArn",cdk().validateString)(properties.resourceDefinitionVersionArn)),errors.collect(cdk().propertyValidator("subscriptionDefinitionVersionArn",cdk().validateString)(properties.subscriptionDefinitionVersionArn)),errors.wrap('supplied properties not correct for "CfnGroupVersionProps"')}function convertCfnGroupVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGroupVersionPropsValidator(properties).assertSuccess(),{ConnectorDefinitionVersionArn:cdk().stringToCloudFormation(properties.connectorDefinitionVersionArn),CoreDefinitionVersionArn:cdk().stringToCloudFormation(properties.coreDefinitionVersionArn),DeviceDefinitionVersionArn:cdk().stringToCloudFormation(properties.deviceDefinitionVersionArn),FunctionDefinitionVersionArn:cdk().stringToCloudFormation(properties.functionDefinitionVersionArn),GroupId:cdk().stringToCloudFormation(properties.groupId),LoggerDefinitionVersionArn:cdk().stringToCloudFormation(properties.loggerDefinitionVersionArn),ResourceDefinitionVersionArn:cdk().stringToCloudFormation(properties.resourceDefinitionVersionArn),SubscriptionDefinitionVersionArn:cdk().stringToCloudFormation(properties.subscriptionDefinitionVersionArn)}):properties}function CfnGroupVersionPropsFromCloudFormation(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("connectorDefinitionVersionArn","ConnectorDefinitionVersionArn",properties.ConnectorDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectorDefinitionVersionArn):void 0),ret.addPropertyResult("coreDefinitionVersionArn","CoreDefinitionVersionArn",properties.CoreDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.CoreDefinitionVersionArn):void 0),ret.addPropertyResult("deviceDefinitionVersionArn","DeviceDefinitionVersionArn",properties.DeviceDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.DeviceDefinitionVersionArn):void 0),ret.addPropertyResult("functionDefinitionVersionArn","FunctionDefinitionVersionArn",properties.FunctionDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.FunctionDefinitionVersionArn):void 0),ret.addPropertyResult("groupId","GroupId",properties.GroupId!=null?cfn_parse().FromCloudFormation.getString(properties.GroupId):void 0),ret.addPropertyResult("loggerDefinitionVersionArn","LoggerDefinitionVersionArn",properties.LoggerDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.LoggerDefinitionVersionArn):void 0),ret.addPropertyResult("resourceDefinitionVersionArn","ResourceDefinitionVersionArn",properties.ResourceDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceDefinitionVersionArn):void 0),ret.addPropertyResult("subscriptionDefinitionVersionArn","SubscriptionDefinitionVersionArn",properties.SubscriptionDefinitionVersionArn!=null?cfn_parse().FromCloudFormation.getString(properties.SubscriptionDefinitionVersionArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnLoggerDefinition extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLoggerDefinitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnLoggerDefinition(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}constructor(scope,id,props){super(scope,id,{type:CfnLoggerDefinition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnLoggerDefinitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLoggerDefinition),error}cdk().requireProperty(props,"name",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrLatestVersionArn=cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.initialVersion=props.initialVersion,this.name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Greengrass::LoggerDefinition",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{initialVersion:this.initialVersion,name:this.name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnLoggerDefinition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLoggerDefinitionPropsToCloudFormation(props)}}exports.CfnLoggerDefinition=CfnLoggerDefinition,_l=JSII_RTTI_SYMBOL_1,CfnLoggerDefinition[_l]={fqn:"aws-cdk-lib.aws_greengrass.CfnLoggerDefinition",version:"2.202.0"},CfnLoggerDefinition.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::LoggerDefinition";function CfnLoggerDefinitionLoggerPropertyValidator(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("component",cdk().requiredValidator)(properties.component)),errors.collect(cdk().propertyValidator("component",cdk().validateString)(properties.component)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("level",cdk().requiredValidator)(properties.level)),errors.collect(cdk().propertyValidator("level",cdk().validateString)(properties.level)),errors.collect(cdk().propertyValidator("space",cdk().validateNumber)(properties.space)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "LoggerProperty"')}function convertCfnLoggerDefinitionLoggerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLoggerDefinitionLoggerPropertyValidator(properties).assertSuccess(),{Component:cdk().stringToCloudFormation(properties.component),Id:cdk().stringToCloudFormation(properties.id),Level:cdk().stringToCloudFormation(properties.level),Space:cdk().numberToCloudFormation(properties.space),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnLoggerDefinitionLoggerPropertyFromCloudFormation(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("component","Component",properties.Component!=null?cfn_parse().FromCloudFormation.getString(properties.Component):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("level","Level",properties.Level!=null?cfn_parse().FromCloudFormation.getString(properties.Level):void 0),ret.addPropertyResult("space","Space",properties.Space!=null?cfn_parse().FromCloudFormation.getNumber(properties.Space):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLoggerDefinitionLoggerDefinitionVersionPropertyValidator(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("loggers",cdk().requiredValidator)(properties.loggers)),errors.collect(cdk().propertyValidator("loggers",cdk().listValidator(CfnLoggerDefinitionLoggerPropertyValidator))(properties.loggers)),errors.wrap('supplied properties not correct for "LoggerDefinitionVersionProperty"')}function convertCfnLoggerDefinitionLoggerDefinitionVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLoggerDefinitionLoggerDefinitionVersionPropertyValidator(properties).assertSuccess(),{Loggers:cdk().listMapper(convertCfnLoggerDefinitionLoggerPropertyToCloudFormation)(properties.loggers)}):properties}function CfnLoggerDefinitionLoggerDefinitionVersionPropertyFromCloudFormation(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("loggers","Loggers",properties.Loggers!=null?cfn_parse().FromCloudFormation.getArray(CfnLoggerDefinitionLoggerPropertyFromCloudFormation)(properties.Loggers):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLoggerDefinitionPropsValidator(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("initialVersion",CfnLoggerDefinitionLoggerDefinitionVersionPropertyValidator)(properties.initialVersion)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.wrap('supplied properties not correct for "CfnLoggerDefinitionProps"')}function convertCfnLoggerDefinitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLoggerDefinitionPropsValidator(properties).assertSuccess(),{InitialVersion:convertCfnLoggerDefinitionLoggerDefinitionVersionPropertyToCloudFormation(properties.initialVersion),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().objectToCloudFormation(properties.tags)}):properties}function CfnLoggerDefinitionPropsFromCloudFormation(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("initialVersion","InitialVersion",properties.InitialVersion!=null?CfnLoggerDefinitionLoggerDefinitionVersionPropertyFromCloudFormation(properties.InitialVersion):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.getAny(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnLoggerDefinitionVersion extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLoggerDefinitionVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnLoggerDefinitionVersion(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}constructor(scope,id,props){super(scope,id,{type:CfnLoggerDefinitionVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnLoggerDefinitionVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLoggerDefinitionVersion),error}cdk().requireProperty(props,"loggerDefinitionId",this),cdk().requireProperty(props,"loggers",this),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.loggerDefinitionId=props.loggerDefinitionId,this.loggers=props.loggers}get cfnProperties(){return{loggerDefinitionId:this.loggerDefinitionId,loggers:this.loggers}}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",CfnLoggerDefinitionVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLoggerDefinitionVersionPropsToCloudFormation(props)}}exports.CfnLoggerDefinitionVersion=CfnLoggerDefinitionVersion,_m=JSII_RTTI_SYMBOL_1,CfnLoggerDefinitionVersion[_m]={fqn:"aws-cdk-lib.aws_greengrass.CfnLoggerDefinitionVersion",version:"2.202.0"},CfnLoggerDefinitionVersion.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::LoggerDefinitionVersion";function CfnLoggerDefinitionVersionLoggerPropertyValidator(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("component",cdk().requiredValidator)(properties.component)),errors.collect(cdk().propertyValidator("component",cdk().validateString)(properties.component)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("level",cdk().requiredValidator)(properties.level)),errors.collect(cdk().propertyValidator("level",cdk().validateString)(properties.level)),errors.collect(cdk().propertyValidator("space",cdk().validateNumber)(properties.space)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "LoggerProperty"')}function convertCfnLoggerDefinitionVersionLoggerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLoggerDefinitionVersionLoggerPropertyValidator(properties).assertSuccess(),{Component:cdk().stringToCloudFormation(properties.component),Id:cdk().stringToCloudFormation(properties.id),Level:cdk().stringToCloudFormation(properties.level),Space:cdk().numberToCloudFormation(properties.space),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnLoggerDefinitionVersionLoggerPropertyFromCloudFormation(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("component","Component",properties.Component!=null?cfn_parse().FromCloudFormation.getString(properties.Component):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("level","Level",properties.Level!=null?cfn_parse().FromCloudFormation.getString(properties.Level):void 0),ret.addPropertyResult("space","Space",properties.Space!=null?cfn_parse().FromCloudFormation.getNumber(properties.Space):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLoggerDefinitionVersionPropsValidator(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("loggerDefinitionId",cdk().requiredValidator)(properties.loggerDefinitionId)),errors.collect(cdk().propertyValidator("loggerDefinitionId",cdk().validateString)(properties.loggerDefinitionId)),errors.collect(cdk().propertyValidator("loggers",cdk().requiredValidator)(properties.loggers)),errors.collect(cdk().propertyValidator("loggers",cdk().listValidator(CfnLoggerDefinitionVersionLoggerPropertyValidator))(properties.loggers)),errors.wrap('supplied properties not correct for "CfnLoggerDefinitionVersionProps"')}function convertCfnLoggerDefinitionVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLoggerDefinitionVersionPropsValidator(properties).assertSuccess(),{LoggerDefinitionId:cdk().stringToCloudFormation(properties.loggerDefinitionId),Loggers:cdk().listMapper(convertCfnLoggerDefinitionVersionLoggerPropertyToCloudFormation)(properties.loggers)}):properties}function CfnLoggerDefinitionVersionPropsFromCloudFormation(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("loggerDefinitionId","LoggerDefinitionId",properties.LoggerDefinitionId!=null?cfn_parse().FromCloudFormation.getString(properties.LoggerDefinitionId):void 0),ret.addPropertyResult("loggers","Loggers",properties.Loggers!=null?cfn_parse().FromCloudFormation.getArray(CfnLoggerDefinitionVersionLoggerPropertyFromCloudFormation)(properties.Loggers):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResourceDefinition extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResourceDefinitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnResourceDefinition(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}constructor(scope,id,props){super(scope,id,{type:CfnResourceDefinition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnResourceDefinitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResourceDefinition),error}cdk().requireProperty(props,"name",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrLatestVersionArn=cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.initialVersion=props.initialVersion,this.name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Greengrass::ResourceDefinition",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{initialVersion:this.initialVersion,name:this.name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnResourceDefinition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResourceDefinitionPropsToCloudFormation(props)}}exports.CfnResourceDefinition=CfnResourceDefinition,_o=JSII_RTTI_SYMBOL_1,CfnResourceDefinition[_o]={fqn:"aws-cdk-lib.aws_greengrass.CfnResourceDefinition",version:"2.202.0"},CfnResourceDefinition.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::ResourceDefinition";function CfnResourceDefinitionSecretsManagerSecretResourceDataPropertyValidator(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("arn",cdk().requiredValidator)(properties.arn)),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("additionalStagingLabelsToDownload",cdk().listValidator(cdk().validateString))(properties.additionalStagingLabelsToDownload)),errors.wrap('supplied properties not correct for "SecretsManagerSecretResourceDataProperty"')}function convertCfnResourceDefinitionSecretsManagerSecretResourceDataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionSecretsManagerSecretResourceDataPropertyValidator(properties).assertSuccess(),{ARN:cdk().stringToCloudFormation(properties.arn),AdditionalStagingLabelsToDownload:cdk().listMapper(cdk().stringToCloudFormation)(properties.additionalStagingLabelsToDownload)}):properties}function CfnResourceDefinitionSecretsManagerSecretResourceDataPropertyFromCloudFormation(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("additionalStagingLabelsToDownload","AdditionalStagingLabelsToDownload",properties.AdditionalStagingLabelsToDownload!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AdditionalStagingLabelsToDownload):void 0),ret.addPropertyResult("arn","ARN",properties.ARN!=null?cfn_parse().FromCloudFormation.getString(properties.ARN):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionResourceDownloadOwnerSettingPropertyValidator(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("groupOwner",cdk().requiredValidator)(properties.groupOwner)),errors.collect(cdk().propertyValidator("groupOwner",cdk().validateString)(properties.groupOwner)),errors.collect(cdk().propertyValidator("groupPermission",cdk().requiredValidator)(properties.groupPermission)),errors.collect(cdk().propertyValidator("groupPermission",cdk().validateString)(properties.groupPermission)),errors.wrap('supplied properties not correct for "ResourceDownloadOwnerSettingProperty"')}function convertCfnResourceDefinitionResourceDownloadOwnerSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionResourceDownloadOwnerSettingPropertyValidator(properties).assertSuccess(),{GroupOwner:cdk().stringToCloudFormation(properties.groupOwner),GroupPermission:cdk().stringToCloudFormation(properties.groupPermission)}):properties}function CfnResourceDefinitionResourceDownloadOwnerSettingPropertyFromCloudFormation(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("groupOwner","GroupOwner",properties.GroupOwner!=null?cfn_parse().FromCloudFormation.getString(properties.GroupOwner):void 0),ret.addPropertyResult("groupPermission","GroupPermission",properties.GroupPermission!=null?cfn_parse().FromCloudFormation.getString(properties.GroupPermission):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionSageMakerMachineLearningModelResourceDataPropertyValidator(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("destinationPath",cdk().requiredValidator)(properties.destinationPath)),errors.collect(cdk().propertyValidator("destinationPath",cdk().validateString)(properties.destinationPath)),errors.collect(cdk().propertyValidator("ownerSetting",CfnResourceDefinitionResourceDownloadOwnerSettingPropertyValidator)(properties.ownerSetting)),errors.collect(cdk().propertyValidator("sageMakerJobArn",cdk().requiredValidator)(properties.sageMakerJobArn)),errors.collect(cdk().propertyValidator("sageMakerJobArn",cdk().validateString)(properties.sageMakerJobArn)),errors.wrap('supplied properties not correct for "SageMakerMachineLearningModelResourceDataProperty"')}function convertCfnResourceDefinitionSageMakerMachineLearningModelResourceDataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionSageMakerMachineLearningModelResourceDataPropertyValidator(properties).assertSuccess(),{DestinationPath:cdk().stringToCloudFormation(properties.destinationPath),OwnerSetting:convertCfnResourceDefinitionResourceDownloadOwnerSettingPropertyToCloudFormation(properties.ownerSetting),SageMakerJobArn:cdk().stringToCloudFormation(properties.sageMakerJobArn)}):properties}function CfnResourceDefinitionSageMakerMachineLearningModelResourceDataPropertyFromCloudFormation(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("destinationPath","DestinationPath",properties.DestinationPath!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationPath):void 0),ret.addPropertyResult("ownerSetting","OwnerSetting",properties.OwnerSetting!=null?CfnResourceDefinitionResourceDownloadOwnerSettingPropertyFromCloudFormation(properties.OwnerSetting):void 0),ret.addPropertyResult("sageMakerJobArn","SageMakerJobArn",properties.SageMakerJobArn!=null?cfn_parse().FromCloudFormation.getString(properties.SageMakerJobArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionGroupOwnerSettingPropertyValidator(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("autoAddGroupOwner",cdk().requiredValidator)(properties.autoAddGroupOwner)),errors.collect(cdk().propertyValidator("autoAddGroupOwner",cdk().validateBoolean)(properties.autoAddGroupOwner)),errors.collect(cdk().propertyValidator("groupOwner",cdk().validateString)(properties.groupOwner)),errors.wrap('supplied properties not correct for "GroupOwnerSettingProperty"')}function convertCfnResourceDefinitionGroupOwnerSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionGroupOwnerSettingPropertyValidator(properties).assertSuccess(),{AutoAddGroupOwner:cdk().booleanToCloudFormation(properties.autoAddGroupOwner),GroupOwner:cdk().stringToCloudFormation(properties.groupOwner)}):properties}function CfnResourceDefinitionGroupOwnerSettingPropertyFromCloudFormation(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("autoAddGroupOwner","AutoAddGroupOwner",properties.AutoAddGroupOwner!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoAddGroupOwner):void 0),ret.addPropertyResult("groupOwner","GroupOwner",properties.GroupOwner!=null?cfn_parse().FromCloudFormation.getString(properties.GroupOwner):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionLocalVolumeResourceDataPropertyValidator(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("destinationPath",cdk().requiredValidator)(properties.destinationPath)),errors.collect(cdk().propertyValidator("destinationPath",cdk().validateString)(properties.destinationPath)),errors.collect(cdk().propertyValidator("groupOwnerSetting",CfnResourceDefinitionGroupOwnerSettingPropertyValidator)(properties.groupOwnerSetting)),errors.collect(cdk().propertyValidator("sourcePath",cdk().requiredValidator)(properties.sourcePath)),errors.collect(cdk().propertyValidator("sourcePath",cdk().validateString)(properties.sourcePath)),errors.wrap('supplied properties not correct for "LocalVolumeResourceDataProperty"')}function convertCfnResourceDefinitionLocalVolumeResourceDataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionLocalVolumeResourceDataPropertyValidator(properties).assertSuccess(),{DestinationPath:cdk().stringToCloudFormation(properties.destinationPath),GroupOwnerSetting:convertCfnResourceDefinitionGroupOwnerSettingPropertyToCloudFormation(properties.groupOwnerSetting),SourcePath:cdk().stringToCloudFormation(properties.sourcePath)}):properties}function CfnResourceDefinitionLocalVolumeResourceDataPropertyFromCloudFormation(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("destinationPath","DestinationPath",properties.DestinationPath!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationPath):void 0),ret.addPropertyResult("groupOwnerSetting","GroupOwnerSetting",properties.GroupOwnerSetting!=null?CfnResourceDefinitionGroupOwnerSettingPropertyFromCloudFormation(properties.GroupOwnerSetting):void 0),ret.addPropertyResult("sourcePath","SourcePath",properties.SourcePath!=null?cfn_parse().FromCloudFormation.getString(properties.SourcePath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionLocalDeviceResourceDataPropertyValidator(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("groupOwnerSetting",CfnResourceDefinitionGroupOwnerSettingPropertyValidator)(properties.groupOwnerSetting)),errors.collect(cdk().propertyValidator("sourcePath",cdk().requiredValidator)(properties.sourcePath)),errors.collect(cdk().propertyValidator("sourcePath",cdk().validateString)(properties.sourcePath)),errors.wrap('supplied properties not correct for "LocalDeviceResourceDataProperty"')}function convertCfnResourceDefinitionLocalDeviceResourceDataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionLocalDeviceResourceDataPropertyValidator(properties).assertSuccess(),{GroupOwnerSetting:convertCfnResourceDefinitionGroupOwnerSettingPropertyToCloudFormation(properties.groupOwnerSetting),SourcePath:cdk().stringToCloudFormation(properties.sourcePath)}):properties}function CfnResourceDefinitionLocalDeviceResourceDataPropertyFromCloudFormation(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("groupOwnerSetting","GroupOwnerSetting",properties.GroupOwnerSetting!=null?CfnResourceDefinitionGroupOwnerSettingPropertyFromCloudFormation(properties.GroupOwnerSetting):void 0),ret.addPropertyResult("sourcePath","SourcePath",properties.SourcePath!=null?cfn_parse().FromCloudFormation.getString(properties.SourcePath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionS3MachineLearningModelResourceDataPropertyValidator(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("destinationPath",cdk().requiredValidator)(properties.destinationPath)),errors.collect(cdk().propertyValidator("destinationPath",cdk().validateString)(properties.destinationPath)),errors.collect(cdk().propertyValidator("ownerSetting",CfnResourceDefinitionResourceDownloadOwnerSettingPropertyValidator)(properties.ownerSetting)),errors.collect(cdk().propertyValidator("s3Uri",cdk().requiredValidator)(properties.s3Uri)),errors.collect(cdk().propertyValidator("s3Uri",cdk().validateString)(properties.s3Uri)),errors.wrap('supplied properties not correct for "S3MachineLearningModelResourceDataProperty"')}function convertCfnResourceDefinitionS3MachineLearningModelResourceDataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionS3MachineLearningModelResourceDataPropertyValidator(properties).assertSuccess(),{DestinationPath:cdk().stringToCloudFormation(properties.destinationPath),OwnerSetting:convertCfnResourceDefinitionResourceDownloadOwnerSettingPropertyToCloudFormation(properties.ownerSetting),S3Uri:cdk().stringToCloudFormation(properties.s3Uri)}):properties}function CfnResourceDefinitionS3MachineLearningModelResourceDataPropertyFromCloudFormation(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("destinationPath","DestinationPath",properties.DestinationPath!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationPath):void 0),ret.addPropertyResult("ownerSetting","OwnerSetting",properties.OwnerSetting!=null?CfnResourceDefinitionResourceDownloadOwnerSettingPropertyFromCloudFormation(properties.OwnerSetting):void 0),ret.addPropertyResult("s3Uri","S3Uri",properties.S3Uri!=null?cfn_parse().FromCloudFormation.getString(properties.S3Uri):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionResourceDataContainerPropertyValidator(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("localDeviceResourceData",CfnResourceDefinitionLocalDeviceResourceDataPropertyValidator)(properties.localDeviceResourceData)),errors.collect(cdk().propertyValidator("localVolumeResourceData",CfnResourceDefinitionLocalVolumeResourceDataPropertyValidator)(properties.localVolumeResourceData)),errors.collect(cdk().propertyValidator("s3MachineLearningModelResourceData",CfnResourceDefinitionS3MachineLearningModelResourceDataPropertyValidator)(properties.s3MachineLearningModelResourceData)),errors.collect(cdk().propertyValidator("sageMakerMachineLearningModelResourceData",CfnResourceDefinitionSageMakerMachineLearningModelResourceDataPropertyValidator)(properties.sageMakerMachineLearningModelResourceData)),errors.collect(cdk().propertyValidator("secretsManagerSecretResourceData",CfnResourceDefinitionSecretsManagerSecretResourceDataPropertyValidator)(properties.secretsManagerSecretResourceData)),errors.wrap('supplied properties not correct for "ResourceDataContainerProperty"')}function convertCfnResourceDefinitionResourceDataContainerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionResourceDataContainerPropertyValidator(properties).assertSuccess(),{LocalDeviceResourceData:convertCfnResourceDefinitionLocalDeviceResourceDataPropertyToCloudFormation(properties.localDeviceResourceData),LocalVolumeResourceData:convertCfnResourceDefinitionLocalVolumeResourceDataPropertyToCloudFormation(properties.localVolumeResourceData),S3MachineLearningModelResourceData:convertCfnResourceDefinitionS3MachineLearningModelResourceDataPropertyToCloudFormation(properties.s3MachineLearningModelResourceData),SageMakerMachineLearningModelResourceData:convertCfnResourceDefinitionSageMakerMachineLearningModelResourceDataPropertyToCloudFormation(properties.sageMakerMachineLearningModelResourceData),SecretsManagerSecretResourceData:convertCfnResourceDefinitionSecretsManagerSecretResourceDataPropertyToCloudFormation(properties.secretsManagerSecretResourceData)}):properties}function CfnResourceDefinitionResourceDataContainerPropertyFromCloudFormation(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("localDeviceResourceData","LocalDeviceResourceData",properties.LocalDeviceResourceData!=null?CfnResourceDefinitionLocalDeviceResourceDataPropertyFromCloudFormation(properties.LocalDeviceResourceData):void 0),ret.addPropertyResult("localVolumeResourceData","LocalVolumeResourceData",properties.LocalVolumeResourceData!=null?CfnResourceDefinitionLocalVolumeResourceDataPropertyFromCloudFormation(properties.LocalVolumeResourceData):void 0),ret.addPropertyResult("s3MachineLearningModelResourceData","S3MachineLearningModelResourceData",properties.S3MachineLearningModelResourceData!=null?CfnResourceDefinitionS3MachineLearningModelResourceDataPropertyFromCloudFormation(properties.S3MachineLearningModelResourceData):void 0),ret.addPropertyResult("sageMakerMachineLearningModelResourceData","SageMakerMachineLearningModelResourceData",properties.SageMakerMachineLearningModelResourceData!=null?CfnResourceDefinitionSageMakerMachineLearningModelResourceDataPropertyFromCloudFormation(properties.SageMakerMachineLearningModelResourceData):void 0),ret.addPropertyResult("secretsManagerSecretResourceData","SecretsManagerSecretResourceData",properties.SecretsManagerSecretResourceData!=null?CfnResourceDefinitionSecretsManagerSecretResourceDataPropertyFromCloudFormation(properties.SecretsManagerSecretResourceData):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionResourceInstancePropertyValidator(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("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("resourceDataContainer",cdk().requiredValidator)(properties.resourceDataContainer)),errors.collect(cdk().propertyValidator("resourceDataContainer",CfnResourceDefinitionResourceDataContainerPropertyValidator)(properties.resourceDataContainer)),errors.wrap('supplied properties not correct for "ResourceInstanceProperty"')}function convertCfnResourceDefinitionResourceInstancePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionResourceInstancePropertyValidator(properties).assertSuccess(),{Id:cdk().stringToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name),ResourceDataContainer:convertCfnResourceDefinitionResourceDataContainerPropertyToCloudFormation(properties.resourceDataContainer)}):properties}function CfnResourceDefinitionResourceInstancePropertyFromCloudFormation(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("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("resourceDataContainer","ResourceDataContainer",properties.ResourceDataContainer!=null?CfnResourceDefinitionResourceDataContainerPropertyFromCloudFormation(properties.ResourceDataContainer):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionResourceDefinitionVersionPropertyValidator(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("resources",cdk().requiredValidator)(properties.resources)),errors.collect(cdk().propertyValidator("resources",cdk().listValidator(CfnResourceDefinitionResourceInstancePropertyValidator))(properties.resources)),errors.wrap('supplied properties not correct for "ResourceDefinitionVersionProperty"')}function convertCfnResourceDefinitionResourceDefinitionVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionResourceDefinitionVersionPropertyValidator(properties).assertSuccess(),{Resources:cdk().listMapper(convertCfnResourceDefinitionResourceInstancePropertyToCloudFormation)(properties.resources)}):properties}function CfnResourceDefinitionResourceDefinitionVersionPropertyFromCloudFormation(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("resources","Resources",properties.Resources!=null?cfn_parse().FromCloudFormation.getArray(CfnResourceDefinitionResourceInstancePropertyFromCloudFormation)(properties.Resources):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionPropsValidator(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("initialVersion",CfnResourceDefinitionResourceDefinitionVersionPropertyValidator)(properties.initialVersion)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.wrap('supplied properties not correct for "CfnResourceDefinitionProps"')}function convertCfnResourceDefinitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionPropsValidator(properties).assertSuccess(),{InitialVersion:convertCfnResourceDefinitionResourceDefinitionVersionPropertyToCloudFormation(properties.initialVersion),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().objectToCloudFormation(properties.tags)}):properties}function CfnResourceDefinitionPropsFromCloudFormation(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("initialVersion","InitialVersion",properties.InitialVersion!=null?CfnResourceDefinitionResourceDefinitionVersionPropertyFromCloudFormation(properties.InitialVersion):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.getAny(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResourceDefinitionVersion extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResourceDefinitionVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnResourceDefinitionVersion(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}constructor(scope,id,props){super(scope,id,{type:CfnResourceDefinitionVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnResourceDefinitionVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResourceDefinitionVersion),error}cdk().requireProperty(props,"resourceDefinitionId",this),cdk().requireProperty(props,"resources",this),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.resourceDefinitionId=props.resourceDefinitionId,this.resources=props.resources}get cfnProperties(){return{resourceDefinitionId:this.resourceDefinitionId,resources:this.resources}}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",CfnResourceDefinitionVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResourceDefinitionVersionPropsToCloudFormation(props)}}exports.CfnResourceDefinitionVersion=CfnResourceDefinitionVersion,_p=JSII_RTTI_SYMBOL_1,CfnResourceDefinitionVersion[_p]={fqn:"aws-cdk-lib.aws_greengrass.CfnResourceDefinitionVersion",version:"2.202.0"},CfnResourceDefinitionVersion.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::ResourceDefinitionVersion";function CfnResourceDefinitionVersionSecretsManagerSecretResourceDataPropertyValidator(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("arn",cdk().requiredValidator)(properties.arn)),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("additionalStagingLabelsToDownload",cdk().listValidator(cdk().validateString))(properties.additionalStagingLabelsToDownload)),errors.wrap('supplied properties not correct for "SecretsManagerSecretResourceDataProperty"')}function convertCfnResourceDefinitionVersionSecretsManagerSecretResourceDataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionVersionSecretsManagerSecretResourceDataPropertyValidator(properties).assertSuccess(),{ARN:cdk().stringToCloudFormation(properties.arn),AdditionalStagingLabelsToDownload:cdk().listMapper(cdk().stringToCloudFormation)(properties.additionalStagingLabelsToDownload)}):properties}function CfnResourceDefinitionVersionSecretsManagerSecretResourceDataPropertyFromCloudFormation(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("additionalStagingLabelsToDownload","AdditionalStagingLabelsToDownload",properties.AdditionalStagingLabelsToDownload!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AdditionalStagingLabelsToDownload):void 0),ret.addPropertyResult("arn","ARN",properties.ARN!=null?cfn_parse().FromCloudFormation.getString(properties.ARN):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionVersionResourceDownloadOwnerSettingPropertyValidator(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("groupOwner",cdk().requiredValidator)(properties.groupOwner)),errors.collect(cdk().propertyValidator("groupOwner",cdk().validateString)(properties.groupOwner)),errors.collect(cdk().propertyValidator("groupPermission",cdk().requiredValidator)(properties.groupPermission)),errors.collect(cdk().propertyValidator("groupPermission",cdk().validateString)(properties.groupPermission)),errors.wrap('supplied properties not correct for "ResourceDownloadOwnerSettingProperty"')}function convertCfnResourceDefinitionVersionResourceDownloadOwnerSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionVersionResourceDownloadOwnerSettingPropertyValidator(properties).assertSuccess(),{GroupOwner:cdk().stringToCloudFormation(properties.groupOwner),GroupPermission:cdk().stringToCloudFormation(properties.groupPermission)}):properties}function CfnResourceDefinitionVersionResourceDownloadOwnerSettingPropertyFromCloudFormation(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("groupOwner","GroupOwner",properties.GroupOwner!=null?cfn_parse().FromCloudFormation.getString(properties.GroupOwner):void 0),ret.addPropertyResult("groupPermission","GroupPermission",properties.GroupPermission!=null?cfn_parse().FromCloudFormation.getString(properties.GroupPermission):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionVersionSageMakerMachineLearningModelResourceDataPropertyValidator(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("destinationPath",cdk().requiredValidator)(properties.destinationPath)),errors.collect(cdk().propertyValidator("destinationPath",cdk().validateString)(properties.destinationPath)),errors.collect(cdk().propertyValidator("ownerSetting",CfnResourceDefinitionVersionResourceDownloadOwnerSettingPropertyValidator)(properties.ownerSetting)),errors.collect(cdk().propertyValidator("sageMakerJobArn",cdk().requiredValidator)(properties.sageMakerJobArn)),errors.collect(cdk().propertyValidator("sageMakerJobArn",cdk().validateString)(properties.sageMakerJobArn)),errors.wrap('supplied properties not correct for "SageMakerMachineLearningModelResourceDataProperty"')}function convertCfnResourceDefinitionVersionSageMakerMachineLearningModelResourceDataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionVersionSageMakerMachineLearningModelResourceDataPropertyValidator(properties).assertSuccess(),{DestinationPath:cdk().stringToCloudFormation(properties.destinationPath),OwnerSetting:convertCfnResourceDefinitionVersionResourceDownloadOwnerSettingPropertyToCloudFormation(properties.ownerSetting),SageMakerJobArn:cdk().stringToCloudFormation(properties.sageMakerJobArn)}):properties}function CfnResourceDefinitionVersionSageMakerMachineLearningModelResourceDataPropertyFromCloudFormation(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("destinationPath","DestinationPath",properties.DestinationPath!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationPath):void 0),ret.addPropertyResult("ownerSetting","OwnerSetting",properties.OwnerSetting!=null?CfnResourceDefinitionVersionResourceDownloadOwnerSettingPropertyFromCloudFormation(properties.OwnerSetting):void 0),ret.addPropertyResult("sageMakerJobArn","SageMakerJobArn",properties.SageMakerJobArn!=null?cfn_parse().FromCloudFormation.getString(properties.SageMakerJobArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionVersionGroupOwnerSettingPropertyValidator(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("autoAddGroupOwner",cdk().requiredValidator)(properties.autoAddGroupOwner)),errors.collect(cdk().propertyValidator("autoAddGroupOwner",cdk().validateBoolean)(properties.autoAddGroupOwner)),errors.collect(cdk().propertyValidator("groupOwner",cdk().validateString)(properties.groupOwner)),errors.wrap('supplied properties not correct for "GroupOwnerSettingProperty"')}function convertCfnResourceDefinitionVersionGroupOwnerSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionVersionGroupOwnerSettingPropertyValidator(properties).assertSuccess(),{AutoAddGroupOwner:cdk().booleanToCloudFormation(properties.autoAddGroupOwner),GroupOwner:cdk().stringToCloudFormation(properties.groupOwner)}):properties}function CfnResourceDefinitionVersionGroupOwnerSettingPropertyFromCloudFormation(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("autoAddGroupOwner","AutoAddGroupOwner",properties.AutoAddGroupOwner!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoAddGroupOwner):void 0),ret.addPropertyResult("groupOwner","GroupOwner",properties.GroupOwner!=null?cfn_parse().FromCloudFormation.getString(properties.GroupOwner):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionVersionLocalVolumeResourceDataPropertyValidator(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("destinationPath",cdk().requiredValidator)(properties.destinationPath)),errors.collect(cdk().propertyValidator("destinationPath",cdk().validateString)(properties.destinationPath)),errors.collect(cdk().propertyValidator("groupOwnerSetting",CfnResourceDefinitionVersionGroupOwnerSettingPropertyValidator)(properties.groupOwnerSetting)),errors.collect(cdk().propertyValidator("sourcePath",cdk().requiredValidator)(properties.sourcePath)),errors.collect(cdk().propertyValidator("sourcePath",cdk().validateString)(properties.sourcePath)),errors.wrap('supplied properties not correct for "LocalVolumeResourceDataProperty"')}function convertCfnResourceDefinitionVersionLocalVolumeResourceDataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionVersionLocalVolumeResourceDataPropertyValidator(properties).assertSuccess(),{DestinationPath:cdk().stringToCloudFormation(properties.destinationPath),GroupOwnerSetting:convertCfnResourceDefinitionVersionGroupOwnerSettingPropertyToCloudFormation(properties.groupOwnerSetting),SourcePath:cdk().stringToCloudFormation(properties.sourcePath)}):properties}function CfnResourceDefinitionVersionLocalVolumeResourceDataPropertyFromCloudFormation(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("destinationPath","DestinationPath",properties.DestinationPath!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationPath):void 0),ret.addPropertyResult("groupOwnerSetting","GroupOwnerSetting",properties.GroupOwnerSetting!=null?CfnResourceDefinitionVersionGroupOwnerSettingPropertyFromCloudFormation(properties.GroupOwnerSetting):void 0),ret.addPropertyResult("sourcePath","SourcePath",properties.SourcePath!=null?cfn_parse().FromCloudFormation.getString(properties.SourcePath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionVersionLocalDeviceResourceDataPropertyValidator(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("groupOwnerSetting",CfnResourceDefinitionVersionGroupOwnerSettingPropertyValidator)(properties.groupOwnerSetting)),errors.collect(cdk().propertyValidator("sourcePath",cdk().requiredValidator)(properties.sourcePath)),errors.collect(cdk().propertyValidator("sourcePath",cdk().validateString)(properties.sourcePath)),errors.wrap('supplied properties not correct for "LocalDeviceResourceDataProperty"')}function convertCfnResourceDefinitionVersionLocalDeviceResourceDataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionVersionLocalDeviceResourceDataPropertyValidator(properties).assertSuccess(),{GroupOwnerSetting:convertCfnResourceDefinitionVersionGroupOwnerSettingPropertyToCloudFormation(properties.groupOwnerSetting),SourcePath:cdk().stringToCloudFormation(properties.sourcePath)}):properties}function CfnResourceDefinitionVersionLocalDeviceResourceDataPropertyFromCloudFormation(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("groupOwnerSetting","GroupOwnerSetting",properties.GroupOwnerSetting!=null?CfnResourceDefinitionVersionGroupOwnerSettingPropertyFromCloudFormation(properties.GroupOwnerSetting):void 0),ret.addPropertyResult("sourcePath","SourcePath",properties.SourcePath!=null?cfn_parse().FromCloudFormation.getString(properties.SourcePath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionVersionS3MachineLearningModelResourceDataPropertyValidator(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("destinationPath",cdk().requiredValidator)(properties.destinationPath)),errors.collect(cdk().propertyValidator("destinationPath",cdk().validateString)(properties.destinationPath)),errors.collect(cdk().propertyValidator("ownerSetting",CfnResourceDefinitionVersionResourceDownloadOwnerSettingPropertyValidator)(properties.ownerSetting)),errors.collect(cdk().propertyValidator("s3Uri",cdk().requiredValidator)(properties.s3Uri)),errors.collect(cdk().propertyValidator("s3Uri",cdk().validateString)(properties.s3Uri)),errors.wrap('supplied properties not correct for "S3MachineLearningModelResourceDataProperty"')}function convertCfnResourceDefinitionVersionS3MachineLearningModelResourceDataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionVersionS3MachineLearningModelResourceDataPropertyValidator(properties).assertSuccess(),{DestinationPath:cdk().stringToCloudFormation(properties.destinationPath),OwnerSetting:convertCfnResourceDefinitionVersionResourceDownloadOwnerSettingPropertyToCloudFormation(properties.ownerSetting),S3Uri:cdk().stringToCloudFormation(properties.s3Uri)}):properties}function CfnResourceDefinitionVersionS3MachineLearningModelResourceDataPropertyFromCloudFormation(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("destinationPath","DestinationPath",properties.DestinationPath!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationPath):void 0),ret.addPropertyResult("ownerSetting","OwnerSetting",properties.OwnerSetting!=null?CfnResourceDefinitionVersionResourceDownloadOwnerSettingPropertyFromCloudFormation(properties.OwnerSetting):void 0),ret.addPropertyResult("s3Uri","S3Uri",properties.S3Uri!=null?cfn_parse().FromCloudFormation.getString(properties.S3Uri):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionVersionResourceDataContainerPropertyValidator(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("localDeviceResourceData",CfnResourceDefinitionVersionLocalDeviceResourceDataPropertyValidator)(properties.localDeviceResourceData)),errors.collect(cdk().propertyValidator("localVolumeResourceData",CfnResourceDefinitionVersionLocalVolumeResourceDataPropertyValidator)(properties.localVolumeResourceData)),errors.collect(cdk().propertyValidator("s3MachineLearningModelResourceData",CfnResourceDefinitionVersionS3MachineLearningModelResourceDataPropertyValidator)(properties.s3MachineLearningModelResourceData)),errors.collect(cdk().propertyValidator("sageMakerMachineLearningModelResourceData",CfnResourceDefinitionVersionSageMakerMachineLearningModelResourceDataPropertyValidator)(properties.sageMakerMachineLearningModelResourceData)),errors.collect(cdk().propertyValidator("secretsManagerSecretResourceData",CfnResourceDefinitionVersionSecretsManagerSecretResourceDataPropertyValidator)(properties.secretsManagerSecretResourceData)),errors.wrap('supplied properties not correct for "ResourceDataContainerProperty"')}function convertCfnResourceDefinitionVersionResourceDataContainerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionVersionResourceDataContainerPropertyValidator(properties).assertSuccess(),{LocalDeviceResourceData:convertCfnResourceDefinitionVersionLocalDeviceResourceDataPropertyToCloudFormation(properties.localDeviceResourceData),LocalVolumeResourceData:convertCfnResourceDefinitionVersionLocalVolumeResourceDataPropertyToCloudFormation(properties.localVolumeResourceData),S3MachineLearningModelResourceData:convertCfnResourceDefinitionVersionS3MachineLearningModelResourceDataPropertyToCloudFormation(properties.s3MachineLearningModelResourceData),SageMakerMachineLearningModelResourceData:convertCfnResourceDefinitionVersionSageMakerMachineLearningModelResourceDataPropertyToCloudFormation(properties.sageMakerMachineLearningModelResourceData),SecretsManagerSecretResourceData:convertCfnResourceDefinitionVersionSecretsManagerSecretResourceDataPropertyToCloudFormation(properties.secretsManagerSecretResourceData)}):properties}function CfnResourceDefinitionVersionResourceDataContainerPropertyFromCloudFormation(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("localDeviceResourceData","LocalDeviceResourceData",properties.LocalDeviceResourceData!=null?CfnResourceDefinitionVersionLocalDeviceResourceDataPropertyFromCloudFormation(properties.LocalDeviceResourceData):void 0),ret.addPropertyResult("localVolumeResourceData","LocalVolumeResourceData",properties.LocalVolumeResourceData!=null?CfnResourceDefinitionVersionLocalVolumeResourceDataPropertyFromCloudFormation(properties.LocalVolumeResourceData):void 0),ret.addPropertyResult("s3MachineLearningModelResourceData","S3MachineLearningModelResourceData",properties.S3MachineLearningModelResourceData!=null?CfnResourceDefinitionVersionS3MachineLearningModelResourceDataPropertyFromCloudFormation(properties.S3MachineLearningModelResourceData):void 0),ret.addPropertyResult("sageMakerMachineLearningModelResourceData","SageMakerMachineLearningModelResourceData",properties.SageMakerMachineLearningModelResourceData!=null?CfnResourceDefinitionVersionSageMakerMachineLearningModelResourceDataPropertyFromCloudFormation(properties.SageMakerMachineLearningModelResourceData):void 0),ret.addPropertyResult("secretsManagerSecretResourceData","SecretsManagerSecretResourceData",properties.SecretsManagerSecretResourceData!=null?CfnResourceDefinitionVersionSecretsManagerSecretResourceDataPropertyFromCloudFormation(properties.SecretsManagerSecretResourceData):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionVersionResourceInstancePropertyValidator(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("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("resourceDataContainer",cdk().requiredValidator)(properties.resourceDataContainer)),errors.collect(cdk().propertyValidator("resourceDataContainer",CfnResourceDefinitionVersionResourceDataContainerPropertyValidator)(properties.resourceDataContainer)),errors.wrap('supplied properties not correct for "ResourceInstanceProperty"')}function convertCfnResourceDefinitionVersionResourceInstancePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionVersionResourceInstancePropertyValidator(properties).assertSuccess(),{Id:cdk().stringToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name),ResourceDataContainer:convertCfnResourceDefinitionVersionResourceDataContainerPropertyToCloudFormation(properties.resourceDataContainer)}):properties}function CfnResourceDefinitionVersionResourceInstancePropertyFromCloudFormation(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("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("resourceDataContainer","ResourceDataContainer",properties.ResourceDataContainer!=null?CfnResourceDefinitionVersionResourceDataContainerPropertyFromCloudFormation(properties.ResourceDataContainer):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceDefinitionVersionPropsValidator(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("resourceDefinitionId",cdk().requiredValidator)(properties.resourceDefinitionId)),errors.collect(cdk().propertyValidator("resourceDefinitionId",cdk().validateString)(properties.resourceDefinitionId)),errors.collect(cdk().propertyValidator("resources",cdk().requiredValidator)(properties.resources)),errors.collect(cdk().propertyValidator("resources",cdk().listValidator(CfnResourceDefinitionVersionResourceInstancePropertyValidator))(properties.resources)),errors.wrap('supplied properties not correct for "CfnResourceDefinitionVersionProps"')}function convertCfnResourceDefinitionVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourceDefinitionVersionPropsValidator(properties).assertSuccess(),{ResourceDefinitionId:cdk().stringToCloudFormation(properties.resourceDefinitionId),Resources:cdk().listMapper(convertCfnResourceDefinitionVersionResourceInstancePropertyToCloudFormation)(properties.resources)}):properties}function CfnResourceDefinitionVersionPropsFromCloudFormation(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("resourceDefinitionId","ResourceDefinitionId",properties.ResourceDefinitionId!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceDefinitionId):void 0),ret.addPropertyResult("resources","Resources",properties.Resources!=null?cfn_parse().FromCloudFormation.getArray(CfnResourceDefinitionVersionResourceInstancePropertyFromCloudFormation)(properties.Resources):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSubscriptionDefinition extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSubscriptionDefinitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnSubscriptionDefinition(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}constructor(scope,id,props){super(scope,id,{type:CfnSubscriptionDefinition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnSubscriptionDefinitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSubscriptionDefinition),error}cdk().requireProperty(props,"name",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrLatestVersionArn=cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.initialVersion=props.initialVersion,this.name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Greengrass::SubscriptionDefinition",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{initialVersion:this.initialVersion,name:this.name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnSubscriptionDefinition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSubscriptionDefinitionPropsToCloudFormation(props)}}exports.CfnSubscriptionDefinition=CfnSubscriptionDefinition,_q=JSII_RTTI_SYMBOL_1,CfnSubscriptionDefinition[_q]={fqn:"aws-cdk-lib.aws_greengrass.CfnSubscriptionDefinition",version:"2.202.0"},CfnSubscriptionDefinition.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::SubscriptionDefinition";function CfnSubscriptionDefinitionSubscriptionPropertyValidator(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("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",cdk().validateString)(properties.source)),errors.collect(cdk().propertyValidator("subject",cdk().requiredValidator)(properties.subject)),errors.collect(cdk().propertyValidator("subject",cdk().validateString)(properties.subject)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),errors.wrap('supplied properties not correct for "SubscriptionProperty"')}function convertCfnSubscriptionDefinitionSubscriptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSubscriptionDefinitionSubscriptionPropertyValidator(properties).assertSuccess(),{Id:cdk().stringToCloudFormation(properties.id),Source:cdk().stringToCloudFormation(properties.source),Subject:cdk().stringToCloudFormation(properties.subject),Target:cdk().stringToCloudFormation(properties.target)}):properties}function CfnSubscriptionDefinitionSubscriptionPropertyFromCloudFormation(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("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?cfn_parse().FromCloudFormation.getString(properties.Source):void 0),ret.addPropertyResult("subject","Subject",properties.Subject!=null?cfn_parse().FromCloudFormation.getString(properties.Subject):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSubscriptionDefinitionSubscriptionDefinitionVersionPropertyValidator(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("subscriptions",cdk().requiredValidator)(properties.subscriptions)),errors.collect(cdk().propertyValidator("subscriptions",cdk().listValidator(CfnSubscriptionDefinitionSubscriptionPropertyValidator))(properties.subscriptions)),errors.wrap('supplied properties not correct for "SubscriptionDefinitionVersionProperty"')}function convertCfnSubscriptionDefinitionSubscriptionDefinitionVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSubscriptionDefinitionSubscriptionDefinitionVersionPropertyValidator(properties).assertSuccess(),{Subscriptions:cdk().listMapper(convertCfnSubscriptionDefinitionSubscriptionPropertyToCloudFormation)(properties.subscriptions)}):properties}function CfnSubscriptionDefinitionSubscriptionDefinitionVersionPropertyFromCloudFormation(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("subscriptions","Subscriptions",properties.Subscriptions!=null?cfn_parse().FromCloudFormation.getArray(CfnSubscriptionDefinitionSubscriptionPropertyFromCloudFormation)(properties.Subscriptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSubscriptionDefinitionPropsValidator(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("initialVersion",CfnSubscriptionDefinitionSubscriptionDefinitionVersionPropertyValidator)(properties.initialVersion)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.wrap('supplied properties not correct for "CfnSubscriptionDefinitionProps"')}function convertCfnSubscriptionDefinitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSubscriptionDefinitionPropsValidator(properties).assertSuccess(),{InitialVersion:convertCfnSubscriptionDefinitionSubscriptionDefinitionVersionPropertyToCloudFormation(properties.initialVersion),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().objectToCloudFormation(properties.tags)}):properties}function CfnSubscriptionDefinitionPropsFromCloudFormation(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("initialVersion","InitialVersion",properties.InitialVersion!=null?CfnSubscriptionDefinitionSubscriptionDefinitionVersionPropertyFromCloudFormation(properties.InitialVersion):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.getAny(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSubscriptionDefinitionVersion extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSubscriptionDefinitionVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnSubscriptionDefinitionVersion(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}constructor(scope,id,props){super(scope,id,{type:CfnSubscriptionDefinitionVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_greengrass_CfnSubscriptionDefinitionVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSubscriptionDefinitionVersion),error}cdk().requireProperty(props,"subscriptionDefinitionId",this),cdk().requireProperty(props,"subscriptions",this),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.subscriptionDefinitionId=props.subscriptionDefinitionId,this.subscriptions=props.subscriptions}get cfnProperties(){return{subscriptionDefinitionId:this.subscriptionDefinitionId,subscriptions:this.subscriptions}}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",CfnSubscriptionDefinitionVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSubscriptionDefinitionVersionPropsToCloudFormation(props)}}exports.CfnSubscriptionDefinitionVersion=CfnSubscriptionDefinitionVersion,_r=JSII_RTTI_SYMBOL_1,CfnSubscriptionDefinitionVersion[_r]={fqn:"aws-cdk-lib.aws_greengrass.CfnSubscriptionDefinitionVersion",version:"2.202.0"},CfnSubscriptionDefinitionVersion.CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::SubscriptionDefinitionVersion";function CfnSubscriptionDefinitionVersionSubscriptionPropertyValidator(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("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",cdk().validateString)(properties.source)),errors.collect(cdk().propertyValidator("subject",cdk().requiredValidator)(properties.subject)),errors.collect(cdk().propertyValidator("subject",cdk().validateString)(properties.subject)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),errors.wrap('supplied properties not correct for "SubscriptionProperty"')}function convertCfnSubscriptionDefinitionVersionSubscriptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSubscriptionDefinitionVersionSubscriptionPropertyValidator(properties).assertSuccess(),{Id:cdk().stringToCloudFormation(properties.id),Source:cdk().stringToCloudFormation(properties.source),Subject:cdk().stringToCloudFormation(properties.subject),Target:cdk().stringToCloudFormation(properties.target)}):properties}function CfnSubscriptionDefinitionVersionSubscriptionPropertyFromCloudFormation(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("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?cfn_parse().FromCloudFormation.getString(properties.Source):void 0),ret.addPropertyResult("subject","Subject",properties.Subject!=null?cfn_parse().FromCloudFormation.getString(properties.Subject):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSubscriptionDefinitionVersionPropsValidator(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("subscriptionDefinitionId",cdk().requiredValidator)(properties.subscriptionDefinitionId)),errors.collect(cdk().propertyValidator("subscriptionDefinitionId",cdk().validateString)(properties.subscriptionDefinitionId)),errors.collect(cdk().propertyValidator("subscriptions",cdk().requiredValidator)(properties.subscriptions)),errors.collect(cdk().propertyValidator("subscriptions",cdk().listValidator(CfnSubscriptionDefinitionVersionSubscriptionPropertyValidator))(properties.subscriptions)),errors.wrap('supplied properties not correct for "CfnSubscriptionDefinitionVersionProps"')}function convertCfnSubscriptionDefinitionVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSubscriptionDefinitionVersionPropsValidator(properties).assertSuccess(),{SubscriptionDefinitionId:cdk().stringToCloudFormation(properties.subscriptionDefinitionId),Subscriptions:cdk().listMapper(convertCfnSubscriptionDefinitionVersionSubscriptionPropertyToCloudFormation)(properties.subscriptions)}):properties}function CfnSubscriptionDefinitionVersionPropsFromCloudFormation(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("subscriptionDefinitionId","SubscriptionDefinitionId",properties.SubscriptionDefinitionId!=null?cfn_parse().FromCloudFormation.getString(properties.SubscriptionDefinitionId):void 0),ret.addPropertyResult("subscriptions","Subscriptions",properties.Subscriptions!=null?cfn_parse().FromCloudFormation.getArray(CfnSubscriptionDefinitionVersionSubscriptionPropertyFromCloudFormation)(properties.Subscriptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}