aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 80.3 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f,_g;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnProject=exports.CfnPortal=exports.CfnGateway=exports.CfnDashboard=exports.CfnAssetModel=exports.CfnAsset=exports.CfnAccessPolicy=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnAccessPolicyPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accessPolicyIdentity",cdk.requiredValidator)(properties.accessPolicyIdentity)),errors.collect(cdk.propertyValidator("accessPolicyIdentity",CfnAccessPolicy_AccessPolicyIdentityPropertyValidator)(properties.accessPolicyIdentity)),errors.collect(cdk.propertyValidator("accessPolicyPermission",cdk.requiredValidator)(properties.accessPolicyPermission)),errors.collect(cdk.propertyValidator("accessPolicyPermission",cdk.validateString)(properties.accessPolicyPermission)),errors.collect(cdk.propertyValidator("accessPolicyResource",cdk.requiredValidator)(properties.accessPolicyResource)),errors.collect(cdk.propertyValidator("accessPolicyResource",CfnAccessPolicy_AccessPolicyResourcePropertyValidator)(properties.accessPolicyResource)),errors.wrap('supplied properties not correct for "CfnAccessPolicyProps"')}function cfnAccessPolicyPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPolicyPropsValidator(properties).assertSuccess(),{AccessPolicyIdentity:cfnAccessPolicyAccessPolicyIdentityPropertyToCloudFormation(properties.accessPolicyIdentity),AccessPolicyPermission:cdk.stringToCloudFormation(properties.accessPolicyPermission),AccessPolicyResource:cfnAccessPolicyAccessPolicyResourcePropertyToCloudFormation(properties.accessPolicyResource)}):properties}function CfnAccessPolicyPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accessPolicyIdentity","AccessPolicyIdentity",CfnAccessPolicyAccessPolicyIdentityPropertyFromCloudFormation(properties.AccessPolicyIdentity)),ret.addPropertyResult("accessPolicyPermission","AccessPolicyPermission",cfn_parse.FromCloudFormation.getString(properties.AccessPolicyPermission)),ret.addPropertyResult("accessPolicyResource","AccessPolicyResource",CfnAccessPolicyAccessPolicyResourcePropertyFromCloudFormation(properties.AccessPolicyResource)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAccessPolicy extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnAccessPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iotsitewise_CfnAccessPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAccessPolicy),error}cdk.requireProperty(props,"accessPolicyIdentity",this),cdk.requireProperty(props,"accessPolicyPermission",this),cdk.requireProperty(props,"accessPolicyResource",this),this.attrAccessPolicyArn=cdk.Token.asString(this.getAtt("AccessPolicyArn",cdk.ResolutionTypeHint.STRING)),this.attrAccessPolicyId=cdk.Token.asString(this.getAtt("AccessPolicyId",cdk.ResolutionTypeHint.STRING)),this.accessPolicyIdentity=props.accessPolicyIdentity,this.accessPolicyPermission=props.accessPolicyPermission,this.accessPolicyResource=props.accessPolicyResource}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccessPolicyPropsFromCloudFormation(resourceProperties),ret=new CfnAccessPolicy(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}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",CfnAccessPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{accessPolicyIdentity:this.accessPolicyIdentity,accessPolicyPermission:this.accessPolicyPermission,accessPolicyResource:this.accessPolicyResource}}renderProperties(props){return cfnAccessPolicyPropsToCloudFormation(props)}}exports.CfnAccessPolicy=CfnAccessPolicy,_a=JSII_RTTI_SYMBOL_1,CfnAccessPolicy[_a]={fqn:"aws-cdk-lib.aws_iotsitewise.CfnAccessPolicy",version:"2.70.0"},CfnAccessPolicy.CFN_RESOURCE_TYPE_NAME="AWS::IoTSiteWise::AccessPolicy";function CfnAccessPolicy_AccessPolicyIdentityPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("iamRole",CfnAccessPolicy_IamRolePropertyValidator)(properties.iamRole)),errors.collect(cdk.propertyValidator("iamUser",CfnAccessPolicy_IamUserPropertyValidator)(properties.iamUser)),errors.collect(cdk.propertyValidator("user",CfnAccessPolicy_UserPropertyValidator)(properties.user)),errors.wrap('supplied properties not correct for "AccessPolicyIdentityProperty"')}function cfnAccessPolicyAccessPolicyIdentityPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPolicy_AccessPolicyIdentityPropertyValidator(properties).assertSuccess(),{IamRole:cfnAccessPolicyIamRolePropertyToCloudFormation(properties.iamRole),IamUser:cfnAccessPolicyIamUserPropertyToCloudFormation(properties.iamUser),User:cfnAccessPolicyUserPropertyToCloudFormation(properties.user)}):properties}function CfnAccessPolicyAccessPolicyIdentityPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("iamRole","IamRole",properties.IamRole!=null?CfnAccessPolicyIamRolePropertyFromCloudFormation(properties.IamRole):void 0),ret.addPropertyResult("iamUser","IamUser",properties.IamUser!=null?CfnAccessPolicyIamUserPropertyFromCloudFormation(properties.IamUser):void 0),ret.addPropertyResult("user","User",properties.User!=null?CfnAccessPolicyUserPropertyFromCloudFormation(properties.User):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPolicy_AccessPolicyResourcePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("portal",CfnAccessPolicy_PortalPropertyValidator)(properties.portal)),errors.collect(cdk.propertyValidator("project",CfnAccessPolicy_ProjectPropertyValidator)(properties.project)),errors.wrap('supplied properties not correct for "AccessPolicyResourceProperty"')}function cfnAccessPolicyAccessPolicyResourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPolicy_AccessPolicyResourcePropertyValidator(properties).assertSuccess(),{Portal:cfnAccessPolicyPortalPropertyToCloudFormation(properties.portal),Project:cfnAccessPolicyProjectPropertyToCloudFormation(properties.project)}):properties}function CfnAccessPolicyAccessPolicyResourcePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("portal","Portal",properties.Portal!=null?CfnAccessPolicyPortalPropertyFromCloudFormation(properties.Portal):void 0),ret.addPropertyResult("project","Project",properties.Project!=null?CfnAccessPolicyProjectPropertyFromCloudFormation(properties.Project):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPolicy_IamRolePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("arn",cdk.validateString)(properties.arn)),errors.wrap('supplied properties not correct for "IamRoleProperty"')}function cfnAccessPolicyIamRolePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPolicy_IamRolePropertyValidator(properties).assertSuccess(),{arn:cdk.stringToCloudFormation(properties.arn)}):properties}function CfnAccessPolicyIamRolePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","arn",properties.arn!=null?cfn_parse.FromCloudFormation.getString(properties.arn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPolicy_IamUserPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("arn",cdk.validateString)(properties.arn)),errors.wrap('supplied properties not correct for "IamUserProperty"')}function cfnAccessPolicyIamUserPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPolicy_IamUserPropertyValidator(properties).assertSuccess(),{arn:cdk.stringToCloudFormation(properties.arn)}):properties}function CfnAccessPolicyIamUserPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","arn",properties.arn!=null?cfn_parse.FromCloudFormation.getString(properties.arn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPolicy_PortalPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.wrap('supplied properties not correct for "PortalProperty"')}function cfnAccessPolicyPortalPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPolicy_PortalPropertyValidator(properties).assertSuccess(),{id:cdk.stringToCloudFormation(properties.id)}):properties}function CfnAccessPolicyPortalPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPolicy_ProjectPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.wrap('supplied properties not correct for "ProjectProperty"')}function cfnAccessPolicyProjectPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPolicy_ProjectPropertyValidator(properties).assertSuccess(),{id:cdk.stringToCloudFormation(properties.id)}):properties}function CfnAccessPolicyProjectPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPolicy_UserPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.wrap('supplied properties not correct for "UserProperty"')}function cfnAccessPolicyUserPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPolicy_UserPropertyValidator(properties).assertSuccess(),{id:cdk.stringToCloudFormation(properties.id)}):properties}function CfnAccessPolicyUserPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("assetDescription",cdk.validateString)(properties.assetDescription)),errors.collect(cdk.propertyValidator("assetHierarchies",cdk.listValidator(CfnAsset_AssetHierarchyPropertyValidator))(properties.assetHierarchies)),errors.collect(cdk.propertyValidator("assetModelId",cdk.requiredValidator)(properties.assetModelId)),errors.collect(cdk.propertyValidator("assetModelId",cdk.validateString)(properties.assetModelId)),errors.collect(cdk.propertyValidator("assetName",cdk.requiredValidator)(properties.assetName)),errors.collect(cdk.propertyValidator("assetName",cdk.validateString)(properties.assetName)),errors.collect(cdk.propertyValidator("assetProperties",cdk.listValidator(CfnAsset_AssetPropertyPropertyValidator))(properties.assetProperties)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAssetProps"')}function cfnAssetPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAssetPropsValidator(properties).assertSuccess(),{AssetModelId:cdk.stringToCloudFormation(properties.assetModelId),AssetName:cdk.stringToCloudFormation(properties.assetName),AssetDescription:cdk.stringToCloudFormation(properties.assetDescription),AssetHierarchies:cdk.listMapper(cfnAssetAssetHierarchyPropertyToCloudFormation)(properties.assetHierarchies),AssetProperties:cdk.listMapper(cfnAssetAssetPropertyPropertyToCloudFormation)(properties.assetProperties),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAssetPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("assetModelId","AssetModelId",cfn_parse.FromCloudFormation.getString(properties.AssetModelId)),ret.addPropertyResult("assetName","AssetName",cfn_parse.FromCloudFormation.getString(properties.AssetName)),ret.addPropertyResult("assetDescription","AssetDescription",properties.AssetDescription!=null?cfn_parse.FromCloudFormation.getString(properties.AssetDescription):void 0),ret.addPropertyResult("assetHierarchies","AssetHierarchies",properties.AssetHierarchies!=null?cfn_parse.FromCloudFormation.getArray(CfnAssetAssetHierarchyPropertyFromCloudFormation)(properties.AssetHierarchies):void 0),ret.addPropertyResult("assetProperties","AssetProperties",properties.AssetProperties!=null?cfn_parse.FromCloudFormation.getArray(CfnAssetAssetPropertyPropertyFromCloudFormation)(properties.AssetProperties):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAsset extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnAsset.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iotsitewise_CfnAssetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAsset),error}cdk.requireProperty(props,"assetModelId",this),cdk.requireProperty(props,"assetName",this),this.attrAssetArn=cdk.Token.asString(this.getAtt("AssetArn",cdk.ResolutionTypeHint.STRING)),this.attrAssetId=cdk.Token.asString(this.getAtt("AssetId",cdk.ResolutionTypeHint.STRING)),this.assetModelId=props.assetModelId,this.assetName=props.assetName,this.assetDescription=props.assetDescription,this.assetHierarchies=props.assetHierarchies,this.assetProperties=props.assetProperties,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoTSiteWise::Asset",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAssetPropsFromCloudFormation(resourceProperties),ret=new CfnAsset(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}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",CfnAsset.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{assetModelId:this.assetModelId,assetName:this.assetName,assetDescription:this.assetDescription,assetHierarchies:this.assetHierarchies,assetProperties:this.assetProperties,tags:this.tags.renderTags()}}renderProperties(props){return cfnAssetPropsToCloudFormation(props)}}exports.CfnAsset=CfnAsset,_b=JSII_RTTI_SYMBOL_1,CfnAsset[_b]={fqn:"aws-cdk-lib.aws_iotsitewise.CfnAsset",version:"2.70.0"},CfnAsset.CFN_RESOURCE_TYPE_NAME="AWS::IoTSiteWise::Asset";function CfnAsset_AssetHierarchyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("childAssetId",cdk.requiredValidator)(properties.childAssetId)),errors.collect(cdk.propertyValidator("childAssetId",cdk.validateString)(properties.childAssetId)),errors.collect(cdk.propertyValidator("logicalId",cdk.requiredValidator)(properties.logicalId)),errors.collect(cdk.propertyValidator("logicalId",cdk.validateString)(properties.logicalId)),errors.wrap('supplied properties not correct for "AssetHierarchyProperty"')}function cfnAssetAssetHierarchyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAsset_AssetHierarchyPropertyValidator(properties).assertSuccess(),{ChildAssetId:cdk.stringToCloudFormation(properties.childAssetId),LogicalId:cdk.stringToCloudFormation(properties.logicalId)}):properties}function CfnAssetAssetHierarchyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("childAssetId","ChildAssetId",cfn_parse.FromCloudFormation.getString(properties.ChildAssetId)),ret.addPropertyResult("logicalId","LogicalId",cfn_parse.FromCloudFormation.getString(properties.LogicalId)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAsset_AssetPropertyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("alias",cdk.validateString)(properties.alias)),errors.collect(cdk.propertyValidator("logicalId",cdk.requiredValidator)(properties.logicalId)),errors.collect(cdk.propertyValidator("logicalId",cdk.validateString)(properties.logicalId)),errors.collect(cdk.propertyValidator("notificationState",cdk.validateString)(properties.notificationState)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),errors.wrap('supplied properties not correct for "AssetPropertyProperty"')}function cfnAssetAssetPropertyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAsset_AssetPropertyPropertyValidator(properties).assertSuccess(),{Alias:cdk.stringToCloudFormation(properties.alias),LogicalId:cdk.stringToCloudFormation(properties.logicalId),NotificationState:cdk.stringToCloudFormation(properties.notificationState),Unit:cdk.stringToCloudFormation(properties.unit)}):properties}function CfnAssetAssetPropertyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse.FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("logicalId","LogicalId",cfn_parse.FromCloudFormation.getString(properties.LogicalId)),ret.addPropertyResult("notificationState","NotificationState",properties.NotificationState!=null?cfn_parse.FromCloudFormation.getString(properties.NotificationState):void 0),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("assetModelCompositeModels",cdk.listValidator(CfnAssetModel_AssetModelCompositeModelPropertyValidator))(properties.assetModelCompositeModels)),errors.collect(cdk.propertyValidator("assetModelDescription",cdk.validateString)(properties.assetModelDescription)),errors.collect(cdk.propertyValidator("assetModelHierarchies",cdk.listValidator(CfnAssetModel_AssetModelHierarchyPropertyValidator))(properties.assetModelHierarchies)),errors.collect(cdk.propertyValidator("assetModelName",cdk.requiredValidator)(properties.assetModelName)),errors.collect(cdk.propertyValidator("assetModelName",cdk.validateString)(properties.assetModelName)),errors.collect(cdk.propertyValidator("assetModelProperties",cdk.listValidator(CfnAssetModel_AssetModelPropertyPropertyValidator))(properties.assetModelProperties)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAssetModelProps"')}function cfnAssetModelPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAssetModelPropsValidator(properties).assertSuccess(),{AssetModelName:cdk.stringToCloudFormation(properties.assetModelName),AssetModelCompositeModels:cdk.listMapper(cfnAssetModelAssetModelCompositeModelPropertyToCloudFormation)(properties.assetModelCompositeModels),AssetModelDescription:cdk.stringToCloudFormation(properties.assetModelDescription),AssetModelHierarchies:cdk.listMapper(cfnAssetModelAssetModelHierarchyPropertyToCloudFormation)(properties.assetModelHierarchies),AssetModelProperties:cdk.listMapper(cfnAssetModelAssetModelPropertyPropertyToCloudFormation)(properties.assetModelProperties),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAssetModelPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("assetModelName","AssetModelName",cfn_parse.FromCloudFormation.getString(properties.AssetModelName)),ret.addPropertyResult("assetModelCompositeModels","AssetModelCompositeModels",properties.AssetModelCompositeModels!=null?cfn_parse.FromCloudFormation.getArray(CfnAssetModelAssetModelCompositeModelPropertyFromCloudFormation)(properties.AssetModelCompositeModels):void 0),ret.addPropertyResult("assetModelDescription","AssetModelDescription",properties.AssetModelDescription!=null?cfn_parse.FromCloudFormation.getString(properties.AssetModelDescription):void 0),ret.addPropertyResult("assetModelHierarchies","AssetModelHierarchies",properties.AssetModelHierarchies!=null?cfn_parse.FromCloudFormation.getArray(CfnAssetModelAssetModelHierarchyPropertyFromCloudFormation)(properties.AssetModelHierarchies):void 0),ret.addPropertyResult("assetModelProperties","AssetModelProperties",properties.AssetModelProperties!=null?cfn_parse.FromCloudFormation.getArray(CfnAssetModelAssetModelPropertyPropertyFromCloudFormation)(properties.AssetModelProperties):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAssetModel extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnAssetModel.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iotsitewise_CfnAssetModelProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAssetModel),error}cdk.requireProperty(props,"assetModelName",this),this.attrAssetModelArn=cdk.Token.asString(this.getAtt("AssetModelArn",cdk.ResolutionTypeHint.STRING)),this.attrAssetModelId=cdk.Token.asString(this.getAtt("AssetModelId",cdk.ResolutionTypeHint.STRING)),this.assetModelName=props.assetModelName,this.assetModelCompositeModels=props.assetModelCompositeModels,this.assetModelDescription=props.assetModelDescription,this.assetModelHierarchies=props.assetModelHierarchies,this.assetModelProperties=props.assetModelProperties,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoTSiteWise::AssetModel",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAssetModelPropsFromCloudFormation(resourceProperties),ret=new CfnAssetModel(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}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",CfnAssetModel.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{assetModelName:this.assetModelName,assetModelCompositeModels:this.assetModelCompositeModels,assetModelDescription:this.assetModelDescription,assetModelHierarchies:this.assetModelHierarchies,assetModelProperties:this.assetModelProperties,tags:this.tags.renderTags()}}renderProperties(props){return cfnAssetModelPropsToCloudFormation(props)}}exports.CfnAssetModel=CfnAssetModel,_c=JSII_RTTI_SYMBOL_1,CfnAssetModel[_c]={fqn:"aws-cdk-lib.aws_iotsitewise.CfnAssetModel",version:"2.70.0"},CfnAssetModel.CFN_RESOURCE_TYPE_NAME="AWS::IoTSiteWise::AssetModel";function CfnAssetModel_AssetModelCompositeModelPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("compositeModelProperties",cdk.listValidator(CfnAssetModel_AssetModelPropertyPropertyValidator))(properties.compositeModelProperties)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("type",cdk.requiredValidator)(properties.type)),errors.collect(cdk.propertyValidator("type",cdk.validateString)(properties.type)),errors.wrap('supplied properties not correct for "AssetModelCompositeModelProperty"')}function cfnAssetModelAssetModelCompositeModelPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAssetModel_AssetModelCompositeModelPropertyValidator(properties).assertSuccess(),{CompositeModelProperties:cdk.listMapper(cfnAssetModelAssetModelPropertyPropertyToCloudFormation)(properties.compositeModelProperties),Description:cdk.stringToCloudFormation(properties.description),Name:cdk.stringToCloudFormation(properties.name),Type:cdk.stringToCloudFormation(properties.type)}):properties}function CfnAssetModelAssetModelCompositeModelPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("compositeModelProperties","CompositeModelProperties",properties.CompositeModelProperties!=null?cfn_parse.FromCloudFormation.getArray(CfnAssetModelAssetModelPropertyPropertyFromCloudFormation)(properties.CompositeModelProperties):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("type","Type",cfn_parse.FromCloudFormation.getString(properties.Type)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModel_AssetModelHierarchyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("childAssetModelId",cdk.requiredValidator)(properties.childAssetModelId)),errors.collect(cdk.propertyValidator("childAssetModelId",cdk.validateString)(properties.childAssetModelId)),errors.collect(cdk.propertyValidator("logicalId",cdk.requiredValidator)(properties.logicalId)),errors.collect(cdk.propertyValidator("logicalId",cdk.validateString)(properties.logicalId)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "AssetModelHierarchyProperty"')}function cfnAssetModelAssetModelHierarchyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAssetModel_AssetModelHierarchyPropertyValidator(properties).assertSuccess(),{ChildAssetModelId:cdk.stringToCloudFormation(properties.childAssetModelId),LogicalId:cdk.stringToCloudFormation(properties.logicalId),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnAssetModelAssetModelHierarchyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("childAssetModelId","ChildAssetModelId",cfn_parse.FromCloudFormation.getString(properties.ChildAssetModelId)),ret.addPropertyResult("logicalId","LogicalId",cfn_parse.FromCloudFormation.getString(properties.LogicalId)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModel_AssetModelPropertyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dataType",cdk.requiredValidator)(properties.dataType)),errors.collect(cdk.propertyValidator("dataType",cdk.validateString)(properties.dataType)),errors.collect(cdk.propertyValidator("dataTypeSpec",cdk.validateString)(properties.dataTypeSpec)),errors.collect(cdk.propertyValidator("logicalId",cdk.requiredValidator)(properties.logicalId)),errors.collect(cdk.propertyValidator("logicalId",cdk.validateString)(properties.logicalId)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("type",cdk.requiredValidator)(properties.type)),errors.collect(cdk.propertyValidator("type",CfnAssetModel_PropertyTypePropertyValidator)(properties.type)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),errors.wrap('supplied properties not correct for "AssetModelPropertyProperty"')}function cfnAssetModelAssetModelPropertyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAssetModel_AssetModelPropertyPropertyValidator(properties).assertSuccess(),{DataType:cdk.stringToCloudFormation(properties.dataType),DataTypeSpec:cdk.stringToCloudFormation(properties.dataTypeSpec),LogicalId:cdk.stringToCloudFormation(properties.logicalId),Name:cdk.stringToCloudFormation(properties.name),Type:cfnAssetModelPropertyTypePropertyToCloudFormation(properties.type),Unit:cdk.stringToCloudFormation(properties.unit)}):properties}function CfnAssetModelAssetModelPropertyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dataType","DataType",cfn_parse.FromCloudFormation.getString(properties.DataType)),ret.addPropertyResult("dataTypeSpec","DataTypeSpec",properties.DataTypeSpec!=null?cfn_parse.FromCloudFormation.getString(properties.DataTypeSpec):void 0),ret.addPropertyResult("logicalId","LogicalId",cfn_parse.FromCloudFormation.getString(properties.LogicalId)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("type","Type",CfnAssetModelPropertyTypePropertyFromCloudFormation(properties.Type)),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModel_AttributePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("defaultValue",cdk.validateString)(properties.defaultValue)),errors.wrap('supplied properties not correct for "AttributeProperty"')}function cfnAssetModelAttributePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAssetModel_AttributePropertyValidator(properties).assertSuccess(),{DefaultValue:cdk.stringToCloudFormation(properties.defaultValue)}):properties}function CfnAssetModelAttributePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValue","DefaultValue",properties.DefaultValue!=null?cfn_parse.FromCloudFormation.getString(properties.DefaultValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModel_ExpressionVariablePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("value",cdk.requiredValidator)(properties.value)),errors.collect(cdk.propertyValidator("value",CfnAssetModel_VariableValuePropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "ExpressionVariableProperty"')}function cfnAssetModelExpressionVariablePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAssetModel_ExpressionVariablePropertyValidator(properties).assertSuccess(),{Name:cdk.stringToCloudFormation(properties.name),Value:cfnAssetModelVariableValuePropertyToCloudFormation(properties.value)}):properties}function CfnAssetModelExpressionVariablePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("value","Value",CfnAssetModelVariableValuePropertyFromCloudFormation(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModel_MetricPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("expression",cdk.requiredValidator)(properties.expression)),errors.collect(cdk.propertyValidator("expression",cdk.validateString)(properties.expression)),errors.collect(cdk.propertyValidator("variables",cdk.requiredValidator)(properties.variables)),errors.collect(cdk.propertyValidator("variables",cdk.listValidator(CfnAssetModel_ExpressionVariablePropertyValidator))(properties.variables)),errors.collect(cdk.propertyValidator("window",cdk.requiredValidator)(properties.window)),errors.collect(cdk.propertyValidator("window",CfnAssetModel_MetricWindowPropertyValidator)(properties.window)),errors.wrap('supplied properties not correct for "MetricProperty"')}function cfnAssetModelMetricPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAssetModel_MetricPropertyValidator(properties).assertSuccess(),{Expression:cdk.stringToCloudFormation(properties.expression),Variables:cdk.listMapper(cfnAssetModelExpressionVariablePropertyToCloudFormation)(properties.variables),Window:cfnAssetModelMetricWindowPropertyToCloudFormation(properties.window)}):properties}function CfnAssetModelMetricPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("expression","Expression",cfn_parse.FromCloudFormation.getString(properties.Expression)),ret.addPropertyResult("variables","Variables",cfn_parse.FromCloudFormation.getArray(CfnAssetModelExpressionVariablePropertyFromCloudFormation)(properties.Variables)),ret.addPropertyResult("window","Window",CfnAssetModelMetricWindowPropertyFromCloudFormation(properties.Window)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModel_MetricWindowPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("tumbling",CfnAssetModel_TumblingWindowPropertyValidator)(properties.tumbling)),errors.wrap('supplied properties not correct for "MetricWindowProperty"')}function cfnAssetModelMetricWindowPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAssetModel_MetricWindowPropertyValidator(properties).assertSuccess(),{Tumbling:cfnAssetModelTumblingWindowPropertyToCloudFormation(properties.tumbling)}):properties}function CfnAssetModelMetricWindowPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("tumbling","Tumbling",properties.Tumbling!=null?CfnAssetModelTumblingWindowPropertyFromCloudFormation(properties.Tumbling):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModel_PropertyTypePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("attribute",CfnAssetModel_AttributePropertyValidator)(properties.attribute)),errors.collect(cdk.propertyValidator("metric",CfnAssetModel_MetricPropertyValidator)(properties.metric)),errors.collect(cdk.propertyValidator("transform",CfnAssetModel_TransformPropertyValidator)(properties.transform)),errors.collect(cdk.propertyValidator("typeName",cdk.requiredValidator)(properties.typeName)),errors.collect(cdk.propertyValidator("typeName",cdk.validateString)(properties.typeName)),errors.wrap('supplied properties not correct for "PropertyTypeProperty"')}function cfnAssetModelPropertyTypePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAssetModel_PropertyTypePropertyValidator(properties).assertSuccess(),{Attribute:cfnAssetModelAttributePropertyToCloudFormation(properties.attribute),Metric:cfnAssetModelMetricPropertyToCloudFormation(properties.metric),Transform:cfnAssetModelTransformPropertyToCloudFormation(properties.transform),TypeName:cdk.stringToCloudFormation(properties.typeName)}):properties}function CfnAssetModelPropertyTypePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("attribute","Attribute",properties.Attribute!=null?CfnAssetModelAttributePropertyFromCloudFormation(properties.Attribute):void 0),ret.addPropertyResult("metric","Metric",properties.Metric!=null?CfnAssetModelMetricPropertyFromCloudFormation(properties.Metric):void 0),ret.addPropertyResult("transform","Transform",properties.Transform!=null?CfnAssetModelTransformPropertyFromCloudFormation(properties.Transform):void 0),ret.addPropertyResult("typeName","TypeName",cfn_parse.FromCloudFormation.getString(properties.TypeName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModel_TransformPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("expression",cdk.requiredValidator)(properties.expression)),errors.collect(cdk.propertyValidator("expression",cdk.validateString)(properties.expression)),errors.collect(cdk.propertyValidator("variables",cdk.requiredValidator)(properties.variables)),errors.collect(cdk.propertyValidator("variables",cdk.listValidator(CfnAssetModel_ExpressionVariablePropertyValidator))(properties.variables)),errors.wrap('supplied properties not correct for "TransformProperty"')}function cfnAssetModelTransformPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAssetModel_TransformPropertyValidator(properties).assertSuccess(),{Expression:cdk.stringToCloudFormation(properties.expression),Variables:cdk.listMapper(cfnAssetModelExpressionVariablePropertyToCloudFormation)(properties.variables)}):properties}function CfnAssetModelTransformPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("expression","Expression",cfn_parse.FromCloudFormation.getString(properties.Expression)),ret.addPropertyResult("variables","Variables",cfn_parse.FromCloudFormation.getArray(CfnAssetModelExpressionVariablePropertyFromCloudFormation)(properties.Variables)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModel_TumblingWindowPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("interval",cdk.requiredValidator)(properties.interval)),errors.collect(cdk.propertyValidator("interval",cdk.validateString)(properties.interval)),errors.collect(cdk.propertyValidator("offset",cdk.validateString)(properties.offset)),errors.wrap('supplied properties not correct for "TumblingWindowProperty"')}function cfnAssetModelTumblingWindowPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAssetModel_TumblingWindowPropertyValidator(properties).assertSuccess(),{Interval:cdk.stringToCloudFormation(properties.interval),Offset:cdk.stringToCloudFormation(properties.offset)}):properties}function CfnAssetModelTumblingWindowPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("interval","Interval",cfn_parse.FromCloudFormation.getString(properties.Interval)),ret.addPropertyResult("offset","Offset",properties.Offset!=null?cfn_parse.FromCloudFormation.getString(properties.Offset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModel_VariableValuePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.Validati