2 lines
217 KiB
JavaScript
2 lines
217 KiB
JavaScript
"use strict";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/lib");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnConnectorDefinition extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnConnectorDefinition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::ConnectorDefinition";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnConnectorDefinition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnConnectorDefinition.CFN_RESOURCE_TYPE_NAME}static fromConnectorDefinitionArn(scope,id,arn){class Import extends cdk().Resource{connectorDefinitionRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/connectors/${ConnectorDefinitionId}").parse(arn2);this.connectorDefinitionRef={connectorDefinitionId:variables.ConnectorDefinitionId,connectorDefinitionArn:arn2}}}return new Import(scope,id,arn)}static fromConnectorDefinitionId(scope,id,connectorDefinitionId){class Import extends cdk().Resource{connectorDefinitionRef;constructor(scope2,id2,connectorDefinitionId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/connectors/${ConnectorDefinitionId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,ConnectorDefinitionId:connectorDefinitionId2});super(scope2,id2,{environmentFromArn:arn}),this.connectorDefinitionRef={connectorDefinitionId:connectorDefinitionId2,connectorDefinitionArn:arn}}}return new Import(scope,id,connectorDefinitionId)}static arnForConnectorDefinition(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_greengrass_IConnectorDefinitionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForConnectorDefinition),error}return resource.connectorDefinitionRef.connectorDefinitionArn}_initialVersion;_name;tags;_tagsRaw;cfnPropertyNames={initialVersion:"InitialVersion",name:"Name",tags:"Tags"};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._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 connectorDefinitionRef(){return{connectorDefinitionId:this.ref,connectorDefinitionArn:this.attrArn}}get initialVersion(){return this._initialVersion}set initialVersion(value){cdk().traceProperty(this.node,"InitialVersion"),this._initialVersion=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrLatestVersionArn(){return cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnConnectorDefinitionPropsToCloudFormation(props)}}exports.CfnConnectorDefinition=CfnConnectorDefinition;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnConnectorDefinitionVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::ConnectorDefinitionVersion";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnConnectorDefinitionVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnConnectorDefinitionVersion.CFN_RESOURCE_TYPE_NAME}_connectorDefinitionId;_connectors;cfnPropertyNames={connectorDefinitionId:"ConnectorDefinitionId",connectors:"Connectors"};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._connectorDefinitionId=props.connectorDefinitionId,this._connectors=props.connectors}get connectorDefinitionVersionRef(){return{connectorDefinitionVersionId:this.ref}}get connectorDefinitionId(){return this._connectorDefinitionId}set connectorDefinitionId(value){cdk().traceProperty(this.node,"ConnectorDefinitionId"),this._connectorDefinitionId=value}get connectors(){return this._connectors}set connectors(value){cdk().traceProperty(this.node,"Connectors"),this._connectors=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnConnectorDefinitionVersionPropsToCloudFormation(props)}}exports.CfnConnectorDefinitionVersion=CfnConnectorDefinitionVersion;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnCoreDefinition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::CoreDefinition";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnCoreDefinition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCoreDefinition.CFN_RESOURCE_TYPE_NAME}static fromCoreDefinitionArn(scope,id,arn){class Import extends cdk().Resource{coreDefinitionRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/cores/${CoreDefinitionId}").parse(arn2);this.coreDefinitionRef={coreDefinitionId:variables.CoreDefinitionId,coreDefinitionArn:arn2}}}return new Import(scope,id,arn)}static fromCoreDefinitionId(scope,id,coreDefinitionId){class Import extends cdk().Resource{coreDefinitionRef;constructor(scope2,id2,coreDefinitionId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/cores/${CoreDefinitionId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,CoreDefinitionId:coreDefinitionId2});super(scope2,id2,{environmentFromArn:arn}),this.coreDefinitionRef={coreDefinitionId:coreDefinitionId2,coreDefinitionArn:arn}}}return new Import(scope,id,coreDefinitionId)}static arnForCoreDefinition(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_greengrass_ICoreDefinitionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForCoreDefinition),error}return resource.coreDefinitionRef.coreDefinitionArn}_initialVersion;_name;tags;_tagsRaw;cfnPropertyNames={initialVersion:"InitialVersion",name:"Name",tags:"Tags"};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._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 coreDefinitionRef(){return{coreDefinitionId:this.ref,coreDefinitionArn:this.attrArn}}get initialVersion(){return this._initialVersion}set initialVersion(value){cdk().traceProperty(this.node,"InitialVersion"),this._initialVersion=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrLatestVersionArn(){return cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCoreDefinitionPropsToCloudFormation(props)}}exports.CfnCoreDefinition=CfnCoreDefinition;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnCoreDefinitionVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::CoreDefinitionVersion";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnCoreDefinitionVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCoreDefinitionVersion.CFN_RESOURCE_TYPE_NAME}_coreDefinitionId;_cores;cfnPropertyNames={coreDefinitionId:"CoreDefinitionId",cores:"Cores"};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._coreDefinitionId=props.coreDefinitionId,this._cores=props.cores}get coreDefinitionVersionRef(){return{coreDefinitionVersionId:this.ref}}get coreDefinitionId(){return this._coreDefinitionId}set coreDefinitionId(value){cdk().traceProperty(this.node,"CoreDefinitionId"),this._coreDefinitionId=value}get cores(){return this._cores}set cores(value){cdk().traceProperty(this.node,"Cores"),this._cores=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCoreDefinitionVersionPropsToCloudFormation(props)}}exports.CfnCoreDefinitionVersion=CfnCoreDefinitionVersion;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnDeviceDefinition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::DeviceDefinition";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnDeviceDefinition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDeviceDefinition.CFN_RESOURCE_TYPE_NAME}static fromDeviceDefinitionArn(scope,id,arn){class Import extends cdk().Resource{deviceDefinitionRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/devices/${DeviceDefinitionId}").parse(arn2);this.deviceDefinitionRef={deviceDefinitionId:variables.DeviceDefinitionId,deviceDefinitionArn:arn2}}}return new Import(scope,id,arn)}static fromDeviceDefinitionId(scope,id,deviceDefinitionId){class Import extends cdk().Resource{deviceDefinitionRef;constructor(scope2,id2,deviceDefinitionId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/devices/${DeviceDefinitionId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,DeviceDefinitionId:deviceDefinitionId2});super(scope2,id2,{environmentFromArn:arn}),this.deviceDefinitionRef={deviceDefinitionId:deviceDefinitionId2,deviceDefinitionArn:arn}}}return new Import(scope,id,deviceDefinitionId)}static arnForDeviceDefinition(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_greengrass_IDeviceDefinitionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDeviceDefinition),error}return resource.deviceDefinitionRef.deviceDefinitionArn}_initialVersion;_name;tags;_tagsRaw;cfnPropertyNames={initialVersion:"InitialVersion",name:"Name",tags:"Tags"};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._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 deviceDefinitionRef(){return{deviceDefinitionId:this.ref,deviceDefinitionArn:this.attrArn}}get initialVersion(){return this._initialVersion}set initialVersion(value){cdk().traceProperty(this.node,"InitialVersion"),this._initialVersion=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrLatestVersionArn(){return cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDeviceDefinitionPropsToCloudFormation(props)}}exports.CfnDeviceDefinition=CfnDeviceDefinition;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnDeviceDefinitionVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::DeviceDefinitionVersion";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnDeviceDefinitionVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDeviceDefinitionVersion.CFN_RESOURCE_TYPE_NAME}_deviceDefinitionId;_devices;cfnPropertyNames={deviceDefinitionId:"DeviceDefinitionId",devices:"Devices"};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._deviceDefinitionId=props.deviceDefinitionId,this._devices=props.devices}get deviceDefinitionVersionRef(){return{deviceDefinitionVersionId:this.ref}}get deviceDefinitionId(){return this._deviceDefinitionId}set deviceDefinitionId(value){cdk().traceProperty(this.node,"DeviceDefinitionId"),this._deviceDefinitionId=value}get devices(){return this._devices}set devices(value){cdk().traceProperty(this.node,"Devices"),this._devices=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDeviceDefinitionVersionPropsToCloudFormation(props)}}exports.CfnDeviceDefinitionVersion=CfnDeviceDefinitionVersion;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnFunctionDefinition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::FunctionDefinition";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnFunctionDefinition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFunctionDefinition.CFN_RESOURCE_TYPE_NAME}static fromFunctionDefinitionArn(scope,id,arn){class Import extends cdk().Resource{functionDefinitionRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/functions/${FunctionDefinitionId}").parse(arn2);this.functionDefinitionRef={functionDefinitionId:variables.FunctionDefinitionId,functionDefinitionArn:arn2}}}return new Import(scope,id,arn)}static fromFunctionDefinitionId(scope,id,functionDefinitionId){class Import extends cdk().Resource{functionDefinitionRef;constructor(scope2,id2,functionDefinitionId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/functions/${FunctionDefinitionId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,FunctionDefinitionId:functionDefinitionId2});super(scope2,id2,{environmentFromArn:arn}),this.functionDefinitionRef={functionDefinitionId:functionDefinitionId2,functionDefinitionArn:arn}}}return new Import(scope,id,functionDefinitionId)}static arnForFunctionDefinition(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_greengrass_IFunctionDefinitionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFunctionDefinition),error}return resource.functionDefinitionRef.functionDefinitionArn}_initialVersion;_name;tags;_tagsRaw;cfnPropertyNames={initialVersion:"InitialVersion",name:"Name",tags:"Tags"};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._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 functionDefinitionRef(){return{functionDefinitionId:this.ref,functionDefinitionArn:this.attrArn}}get initialVersion(){return this._initialVersion}set initialVersion(value){cdk().traceProperty(this.node,"InitialVersion"),this._initialVersion=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrLatestVersionArn(){return cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFunctionDefinitionPropsToCloudFormation(props)}}exports.CfnFunctionDefinition=CfnFunctionDefinition;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnFunctionDefinitionVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::FunctionDefinitionVersion";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnFunctionDefinitionVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFunctionDefinitionVersion.CFN_RESOURCE_TYPE_NAME}_defaultConfig;_functionDefinitionId;_functions;cfnPropertyNames={defaultConfig:"DefaultConfig",functionDefinitionId:"FunctionDefinitionId",functions:"Functions"};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._defaultConfig=props.defaultConfig,this._functionDefinitionId=props.functionDefinitionId,this._functions=props.functions}get functionDefinitionVersionRef(){return{functionDefinitionVersionId:this.ref}}get defaultConfig(){return this._defaultConfig}set defaultConfig(value){cdk().traceProperty(this.node,"DefaultConfig"),this._defaultConfig=value}get functionDefinitionId(){return this._functionDefinitionId}set functionDefinitionId(value){cdk().traceProperty(this.node,"FunctionDefinitionId"),this._functionDefinitionId=value}get functions(){return this._functions}set functions(value){cdk().traceProperty(this.node,"Functions"),this._functions=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFunctionDefinitionVersionPropsToCloudFormation(props)}}exports.CfnFunctionDefinitionVersion=CfnFunctionDefinitionVersion;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::Group";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnGroup.CFN_RESOURCE_TYPE_NAME}static fromGroupArn(scope,id,arn){class Import extends cdk().Resource{groupRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}").parse(arn2);this.groupRef={groupId:variables.GroupId,groupArn:arn2}}}return new Import(scope,id,arn)}static fromGroupId(scope,id,groupId){class Import extends cdk().Resource{groupRef;constructor(scope2,id2,groupId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,GroupId:groupId2});super(scope2,id2,{environmentFromArn:arn}),this.groupRef={groupId:groupId2,groupArn:arn}}}return new Import(scope,id,groupId)}static arnForGroup(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_greengrass_IGroupRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForGroup),error}return resource.groupRef.groupArn}_initialVersion;_name;_roleArn;tags;_tagsRaw;cfnPropertyNames={initialVersion:"InitialVersion",name:"Name",roleArn:"RoleArn",tags:"Tags"};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._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 groupRef(){return{groupId:this.ref,groupArn:this.attrArn}}get initialVersion(){return this._initialVersion}set initialVersion(value){cdk().traceProperty(this.node,"InitialVersion"),this._initialVersion=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrLatestVersionArn(){return cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}get attrRoleArn(){return cdk().Token.asString(this.getAtt("RoleArn",cdk().ResolutionTypeHint.STRING))}get attrRoleAttachedAt(){return cdk().Token.asString(this.getAtt("RoleAttachedAt",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGroupPropsToCloudFormation(props)}}exports.CfnGroup=CfnGroup;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnGroupVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::GroupVersion";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnGroupVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnGroupVersion.CFN_RESOURCE_TYPE_NAME}_connectorDefinitionVersionArn;_coreDefinitionVersionArn;_deviceDefinitionVersionArn;_functionDefinitionVersionArn;_groupId;_loggerDefinitionVersionArn;_resourceDefinitionVersionArn;_subscriptionDefinitionVersionArn;cfnPropertyNames={connectorDefinitionVersionArn:"ConnectorDefinitionVersionArn",coreDefinitionVersionArn:"CoreDefinitionVersionArn",deviceDefinitionVersionArn:"DeviceDefinitionVersionArn",functionDefinitionVersionArn:"FunctionDefinitionVersionArn",groupId:"GroupId",loggerDefinitionVersionArn:"LoggerDefinitionVersionArn",resourceDefinitionVersionArn:"ResourceDefinitionVersionArn",subscriptionDefinitionVersionArn:"SubscriptionDefinitionVersionArn"};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._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 groupVersionRef(){return{groupVersionId:this.ref}}get connectorDefinitionVersionArn(){return this._connectorDefinitionVersionArn}set connectorDefinitionVersionArn(value){cdk().traceProperty(this.node,"ConnectorDefinitionVersionArn"),this._connectorDefinitionVersionArn=value}get coreDefinitionVersionArn(){return this._coreDefinitionVersionArn}set coreDefinitionVersionArn(value){cdk().traceProperty(this.node,"CoreDefinitionVersionArn"),this._coreDefinitionVersionArn=value}get deviceDefinitionVersionArn(){return this._deviceDefinitionVersionArn}set deviceDefinitionVersionArn(value){cdk().traceProperty(this.node,"DeviceDefinitionVersionArn"),this._deviceDefinitionVersionArn=value}get functionDefinitionVersionArn(){return this._functionDefinitionVersionArn}set functionDefinitionVersionArn(value){cdk().traceProperty(this.node,"FunctionDefinitionVersionArn"),this._functionDefinitionVersionArn=value}get groupId(){return this._groupId}set groupId(value){cdk().traceProperty(this.node,"GroupId"),this._groupId=value}get loggerDefinitionVersionArn(){return this._loggerDefinitionVersionArn}set loggerDefinitionVersionArn(value){cdk().traceProperty(this.node,"LoggerDefinitionVersionArn"),this._loggerDefinitionVersionArn=value}get resourceDefinitionVersionArn(){return this._resourceDefinitionVersionArn}set resourceDefinitionVersionArn(value){cdk().traceProperty(this.node,"ResourceDefinitionVersionArn"),this._resourceDefinitionVersionArn=value}get subscriptionDefinitionVersionArn(){return this._subscriptionDefinitionVersionArn}set subscriptionDefinitionVersionArn(value){cdk().traceProperty(this.node,"SubscriptionDefinitionVersionArn"),this._subscriptionDefinitionVersionArn=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGroupVersionPropsToCloudFormation(props)}}exports.CfnGroupVersion=CfnGroupVersion;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnLoggerDefinition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::LoggerDefinition";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnLoggerDefinition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLoggerDefinition.CFN_RESOURCE_TYPE_NAME}static fromLoggerDefinitionArn(scope,id,arn){class Import extends cdk().Resource{loggerDefinitionRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/loggers/${LoggerDefinitionId}").parse(arn2);this.loggerDefinitionRef={loggerDefinitionId:variables.LoggerDefinitionId,loggerDefinitionArn:arn2}}}return new Import(scope,id,arn)}static fromLoggerDefinitionId(scope,id,loggerDefinitionId){class Import extends cdk().Resource{loggerDefinitionRef;constructor(scope2,id2,loggerDefinitionId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/loggers/${LoggerDefinitionId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,LoggerDefinitionId:loggerDefinitionId2});super(scope2,id2,{environmentFromArn:arn}),this.loggerDefinitionRef={loggerDefinitionId:loggerDefinitionId2,loggerDefinitionArn:arn}}}return new Import(scope,id,loggerDefinitionId)}static arnForLoggerDefinition(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_greengrass_ILoggerDefinitionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForLoggerDefinition),error}return resource.loggerDefinitionRef.loggerDefinitionArn}_initialVersion;_name;tags;_tagsRaw;cfnPropertyNames={initialVersion:"InitialVersion",name:"Name",tags:"Tags"};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._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 loggerDefinitionRef(){return{loggerDefinitionId:this.ref,loggerDefinitionArn:this.attrArn}}get initialVersion(){return this._initialVersion}set initialVersion(value){cdk().traceProperty(this.node,"InitialVersion"),this._initialVersion=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrLatestVersionArn(){return cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLoggerDefinitionPropsToCloudFormation(props)}}exports.CfnLoggerDefinition=CfnLoggerDefinition;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnLoggerDefinitionVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::LoggerDefinitionVersion";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnLoggerDefinitionVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLoggerDefinitionVersion.CFN_RESOURCE_TYPE_NAME}_loggerDefinitionId;_loggers;cfnPropertyNames={loggerDefinitionId:"LoggerDefinitionId",loggers:"Loggers"};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._loggerDefinitionId=props.loggerDefinitionId,this._loggers=props.loggers}get loggerDefinitionVersionRef(){return{loggerDefinitionVersionId:this.ref}}get loggerDefinitionId(){return this._loggerDefinitionId}set loggerDefinitionId(value){cdk().traceProperty(this.node,"LoggerDefinitionId"),this._loggerDefinitionId=value}get loggers(){return this._loggers}set loggers(value){cdk().traceProperty(this.node,"Loggers"),this._loggers=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLoggerDefinitionVersionPropsToCloudFormation(props)}}exports.CfnLoggerDefinitionVersion=CfnLoggerDefinitionVersion;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnResourceDefinition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::ResourceDefinition";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnResourceDefinition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResourceDefinition.CFN_RESOURCE_TYPE_NAME}static fromResourceDefinitionArn(scope,id,arn){class Import extends cdk().Resource{resourceDefinitionRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/resources/${ResourceDefinitionId}").parse(arn2);this.resourceDefinitionRef={resourceDefinitionId:variables.ResourceDefinitionId,resourceDefinitionArn:arn2}}}return new Import(scope,id,arn)}static fromResourceDefinitionId(scope,id,resourceDefinitionId){class Import extends cdk().Resource{resourceDefinitionRef;constructor(scope2,id2,resourceDefinitionId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/resources/${ResourceDefinitionId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,ResourceDefinitionId:resourceDefinitionId2});super(scope2,id2,{environmentFromArn:arn}),this.resourceDefinitionRef={resourceDefinitionId:resourceDefinitionId2,resourceDefinitionArn:arn}}}return new Import(scope,id,resourceDefinitionId)}static arnForResourceDefinition(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_greengrass_IResourceDefinitionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForResourceDefinition),error}return resource.resourceDefinitionRef.resourceDefinitionArn}_initialVersion;_name;tags;_tagsRaw;cfnPropertyNames={initialVersion:"InitialVersion",name:"Name",tags:"Tags"};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._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 resourceDefinitionRef(){return{resourceDefinitionId:this.ref,resourceDefinitionArn:this.attrArn}}get initialVersion(){return this._initialVersion}set initialVersion(value){cdk().traceProperty(this.node,"InitialVersion"),this._initialVersion=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrLatestVersionArn(){return cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResourceDefinitionPropsToCloudFormation(props)}}exports.CfnResourceDefinition=CfnResourceDefinition;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnResourceDefinitionVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::ResourceDefinitionVersion";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnResourceDefinitionVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResourceDefinitionVersion.CFN_RESOURCE_TYPE_NAME}_resourceDefinitionId;_resources;cfnPropertyNames={resourceDefinitionId:"ResourceDefinitionId",resources:"Resources"};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._resourceDefinitionId=props.resourceDefinitionId,this._resources=props.resources}get resourceDefinitionVersionRef(){return{resourceDefinitionVersionId:this.ref}}get resourceDefinitionId(){return this._resourceDefinitionId}set resourceDefinitionId(value){cdk().traceProperty(this.node,"ResourceDefinitionId"),this._resourceDefinitionId=value}get resources(){return this._resources}set resources(value){cdk().traceProperty(this.node,"Resources"),this._resources=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResourceDefinitionVersionPropsToCloudFormation(props)}}exports.CfnResourceDefinitionVersion=CfnResourceDefinitionVersion;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnSubscriptionDefinition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::SubscriptionDefinition";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnSubscriptionDefinition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSubscriptionDefinition.CFN_RESOURCE_TYPE_NAME}static fromSubscriptionDefinitionArn(scope,id,arn){class Import extends cdk().Resource{subscriptionDefinitionRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/subscriptions/${SubscriptionDefinitionId}").parse(arn2);this.subscriptionDefinitionRef={subscriptionDefinitionId:variables.SubscriptionDefinitionId,subscriptionDefinitionArn:arn2}}}return new Import(scope,id,arn)}static fromSubscriptionDefinitionId(scope,id,subscriptionDefinitionId){class Import extends cdk().Resource{subscriptionDefinitionRef;constructor(scope2,id2,subscriptionDefinitionId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/subscriptions/${SubscriptionDefinitionId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,SubscriptionDefinitionId:subscriptionDefinitionId2});super(scope2,id2,{environmentFromArn:arn}),this.subscriptionDefinitionRef={subscriptionDefinitionId:subscriptionDefinitionId2,subscriptionDefinitionArn:arn}}}return new Import(scope,id,subscriptionDefinitionId)}static arnForSubscriptionDefinition(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_greengrass_ISubscriptionDefinitionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForSubscriptionDefinition),error}return resource.subscriptionDefinitionRef.subscriptionDefinitionArn}_initialVersion;_name;tags;_tagsRaw;cfnPropertyNames={initialVersion:"InitialVersion",name:"Name",tags:"Tags"};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._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 subscriptionDefinitionRef(){return{subscriptionDefinitionId:this.ref,subscriptionDefinitionArn:this.attrArn}}get initialVersion(){return this._initialVersion}set initialVersion(value){cdk().traceProperty(this.node,"InitialVersion"),this._initialVersion=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrLatestVersionArn(){return cdk().Token.asString(this.getAtt("LatestVersionArn",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSubscriptionDefinitionPropsToCloudFormation(props)}}exports.CfnSubscriptionDefinition=CfnSubscriptionDefinition;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_greengrass.CfnSubscriptionDefinitionVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Greengrass::SubscriptionDefinitionVersion";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnSubscriptionDefinitionVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSubscriptionDefinitionVersion.CFN_RESOURCE_TYPE_NAME}_subscriptionDefinitionId;_subscriptions;cfnPropertyNames={subscriptionDefinitionId:"SubscriptionDefinitionId",subscriptions:"Subscriptions"};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._subscriptionDefinitionId=props.subscriptionDefinitionId,this._subscriptions=props.subscriptions}get subscriptionDefinitionVersionRef(){return{subscriptionDefinitionVersionId:this.ref}}get subscriptionDefinitionId(){return this._subscriptionDefinitionId}set subscriptionDefinitionId(value){cdk().traceProperty(this.node,"SubscriptionDefinitionId"),this._subscriptionDefinitionId=value}get subscriptions(){return this._subscriptions}set subscriptions(value){cdk().traceProperty(this.node,"Subscriptions"),this._subscriptions=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSubscriptionDefinitionVersionPropsToCloudFormation(props)}}exports.CfnSubscriptionDefinitionVersion=CfnSubscriptionDefinitionVersion;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}
|