aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines • 150 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnDataset=exports.CfnComputationModel=exports.CfnProject=exports.CfnPortal=exports.CfnGateway=exports.CfnDashboard=exports.CfnAssetModel=exports.CfnAsset=exports.CfnAccessPolicy=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 CfnAccessPolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotsitewise.CfnAccessPolicy",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTSiteWise::AccessPolicy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccessPolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const 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}static isCfnAccessPolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAccessPolicy.CFN_RESOURCE_TYPE_NAME}static fromAccessPolicyArn(scope,id,arn){class Import extends cdk().Resource{accessPolicyRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId}").parse(arn2);this.accessPolicyRef={accessPolicyId:variables.AccessPolicyId,accessPolicyArn:arn2}}}return new Import(scope,id,arn)}static fromAccessPolicyId(scope,id,accessPolicyId){class Import extends cdk().Resource{accessPolicyRef;constructor(scope2,id2,accessPolicyId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,AccessPolicyId:accessPolicyId2});super(scope2,id2,{environmentFromArn:arn}),this.accessPolicyRef={accessPolicyId:accessPolicyId2,accessPolicyArn:arn}}}return new Import(scope,id,accessPolicyId)}static arnForAccessPolicy(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotsitewise_IAccessPolicyRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAccessPolicy),error}return resource.accessPolicyRef.accessPolicyArn}attrAccessPolicyArn;attrAccessPolicyId;accessPolicyIdentity;accessPolicyPermission;accessPolicyResource;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}get accessPolicyRef(){return{accessPolicyId:this.ref,accessPolicyArn:this.attrAccessPolicyArn}}get cfnProperties(){return{accessPolicyIdentity:this.accessPolicyIdentity,accessPolicyPermission:this.accessPolicyPermission,accessPolicyResource:this.accessPolicyResource}}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)}renderProperties(props){return convertCfnAccessPolicyPropsToCloudFormation(props)}}exports.CfnAccessPolicy=CfnAccessPolicy;function CfnAccessPolicyProjectPropertyValidator(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().validateString)(properties.id)),errors.wrap('supplied properties not correct for "ProjectProperty"')}function convertCfnAccessPolicyProjectPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessPolicyProjectPropertyValidator(properties).assertSuccess(),{id:cdk().stringToCloudFormation(properties.id)}):properties}function CfnAccessPolicyProjectPropertyFromCloudFormation(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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPolicyPortalPropertyValidator(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().validateString)(properties.id)),errors.wrap('supplied properties not correct for "PortalProperty"')}function convertCfnAccessPolicyPortalPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessPolicyPortalPropertyValidator(properties).assertSuccess(),{id:cdk().stringToCloudFormation(properties.id)}):properties}function CfnAccessPolicyPortalPropertyFromCloudFormation(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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPolicyAccessPolicyResourcePropertyValidator(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("portal",CfnAccessPolicyPortalPropertyValidator)(properties.portal)),errors.collect(cdk().propertyValidator("project",CfnAccessPolicyProjectPropertyValidator)(properties.project)),errors.wrap('supplied properties not correct for "AccessPolicyResourceProperty"')}function convertCfnAccessPolicyAccessPolicyResourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessPolicyAccessPolicyResourcePropertyValidator(properties).assertSuccess(),{Portal:convertCfnAccessPolicyPortalPropertyToCloudFormation(properties.portal),Project:convertCfnAccessPolicyProjectPropertyToCloudFormation(properties.project)}):properties}function CfnAccessPolicyAccessPolicyResourcePropertyFromCloudFormation(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("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 CfnAccessPolicyUserPropertyValidator(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().validateString)(properties.id)),errors.wrap('supplied properties not correct for "UserProperty"')}function convertCfnAccessPolicyUserPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessPolicyUserPropertyValidator(properties).assertSuccess(),{id:cdk().stringToCloudFormation(properties.id)}):properties}function CfnAccessPolicyUserPropertyFromCloudFormation(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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPolicyIamUserPropertyValidator(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().validateString)(properties.arn)),errors.wrap('supplied properties not correct for "IamUserProperty"')}function convertCfnAccessPolicyIamUserPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessPolicyIamUserPropertyValidator(properties).assertSuccess(),{arn:cdk().stringToCloudFormation(properties.arn)}):properties}function CfnAccessPolicyIamUserPropertyFromCloudFormation(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("arn","arn",properties.arn!=null?cfn_parse().FromCloudFormation.getString(properties.arn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPolicyIamRolePropertyValidator(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().validateString)(properties.arn)),errors.wrap('supplied properties not correct for "IamRoleProperty"')}function convertCfnAccessPolicyIamRolePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessPolicyIamRolePropertyValidator(properties).assertSuccess(),{arn:cdk().stringToCloudFormation(properties.arn)}):properties}function CfnAccessPolicyIamRolePropertyFromCloudFormation(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("arn","arn",properties.arn!=null?cfn_parse().FromCloudFormation.getString(properties.arn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPolicyAccessPolicyIdentityPropertyValidator(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("iamRole",CfnAccessPolicyIamRolePropertyValidator)(properties.iamRole)),errors.collect(cdk().propertyValidator("iamUser",CfnAccessPolicyIamUserPropertyValidator)(properties.iamUser)),errors.collect(cdk().propertyValidator("user",CfnAccessPolicyUserPropertyValidator)(properties.user)),errors.wrap('supplied properties not correct for "AccessPolicyIdentityProperty"')}function convertCfnAccessPolicyAccessPolicyIdentityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessPolicyAccessPolicyIdentityPropertyValidator(properties).assertSuccess(),{IamRole:convertCfnAccessPolicyIamRolePropertyToCloudFormation(properties.iamRole),IamUser:convertCfnAccessPolicyIamUserPropertyToCloudFormation(properties.iamUser),User:convertCfnAccessPolicyUserPropertyToCloudFormation(properties.user)}):properties}function CfnAccessPolicyAccessPolicyIdentityPropertyFromCloudFormation(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("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 CfnAccessPolicyPropsValidator(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("accessPolicyIdentity",cdk().requiredValidator)(properties.accessPolicyIdentity)),errors.collect(cdk().propertyValidator("accessPolicyIdentity",CfnAccessPolicyAccessPolicyIdentityPropertyValidator)(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",CfnAccessPolicyAccessPolicyResourcePropertyValidator)(properties.accessPolicyResource)),errors.wrap('supplied properties not correct for "CfnAccessPolicyProps"')}function convertCfnAccessPolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessPolicyPropsValidator(properties).assertSuccess(),{AccessPolicyIdentity:convertCfnAccessPolicyAccessPolicyIdentityPropertyToCloudFormation(properties.accessPolicyIdentity),AccessPolicyPermission:cdk().stringToCloudFormation(properties.accessPolicyPermission),AccessPolicyResource:convertCfnAccessPolicyAccessPolicyResourcePropertyToCloudFormation(properties.accessPolicyResource)}):properties}function CfnAccessPolicyPropsFromCloudFormation(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("accessPolicyIdentity","AccessPolicyIdentity",properties.AccessPolicyIdentity!=null?CfnAccessPolicyAccessPolicyIdentityPropertyFromCloudFormation(properties.AccessPolicyIdentity):void 0),ret.addPropertyResult("accessPolicyPermission","AccessPolicyPermission",properties.AccessPolicyPermission!=null?cfn_parse().FromCloudFormation.getString(properties.AccessPolicyPermission):void 0),ret.addPropertyResult("accessPolicyResource","AccessPolicyResource",properties.AccessPolicyResource!=null?CfnAccessPolicyAccessPolicyResourcePropertyFromCloudFormation(properties.AccessPolicyResource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAsset extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotsitewise.CfnAsset",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTSiteWise::Asset";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAssetPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const 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}static isCfnAsset(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAsset.CFN_RESOURCE_TYPE_NAME}static fromAssetArn(scope,id,arn){class Import extends cdk().Resource{assetRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}").parse(arn2);this.assetRef={assetId:variables.AssetId,assetArn:arn2}}}return new Import(scope,id,arn)}static fromAssetId(scope,id,assetId){class Import extends cdk().Resource{assetRef;constructor(scope2,id2,assetId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,AssetId:assetId2});super(scope2,id2,{environmentFromArn:arn}),this.assetRef={assetId:assetId2,assetArn:arn}}}return new Import(scope,id,assetId)}static arnForAsset(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotsitewise_IAssetRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAsset),error}return resource.assetRef.assetArn}attrAssetArn;attrAssetId;assetDescription;assetExternalId;assetHierarchies;assetModelId;assetName;assetProperties;tags;tagsRaw;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.assetDescription=props.assetDescription,this.assetExternalId=props.assetExternalId,this.assetHierarchies=props.assetHierarchies,this.assetModelId=props.assetModelId?.assetModelRef?.assetModelId??cdk().ensureStringOrUndefined(props.assetModelId,"assetModelId","iotsitewise.IAssetModelRef | string"),this.assetName=props.assetName,this.assetProperties=props.assetProperties,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTSiteWise::Asset",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get assetRef(){return{assetId:this.ref,assetArn:this.attrAssetArn}}get cfnProperties(){return{assetDescription:this.assetDescription,assetExternalId:this.assetExternalId,assetHierarchies:this.assetHierarchies,assetModelId:this.assetModelId,assetName:this.assetName,assetProperties:this.assetProperties,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",CfnAsset.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAssetPropsToCloudFormation(props)}}exports.CfnAsset=CfnAsset;function CfnAssetAssetPropertyPropertyValidator(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("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),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 convertCfnAssetAssetPropertyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetAssetPropertyPropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),ExternalId:cdk().stringToCloudFormation(properties.externalId),Id:cdk().stringToCloudFormation(properties.id),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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))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("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("logicalId","LogicalId",properties.LogicalId!=null?cfn_parse().FromCloudFormation.getString(properties.LogicalId):void 0),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 CfnAssetAssetHierarchyPropertyValidator(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("childAssetId",cdk().requiredValidator)(properties.childAssetId)),errors.collect(cdk().propertyValidator("childAssetId",cdk().validateString)(properties.childAssetId)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("logicalId",cdk().validateString)(properties.logicalId)),errors.wrap('supplied properties not correct for "AssetHierarchyProperty"')}function convertCfnAssetAssetHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetAssetHierarchyPropertyValidator(properties).assertSuccess(),{ChildAssetId:cdk().stringToCloudFormation(properties.childAssetId),ExternalId:cdk().stringToCloudFormation(properties.externalId),Id:cdk().stringToCloudFormation(properties.id),LogicalId:cdk().stringToCloudFormation(properties.logicalId)}):properties}function CfnAssetAssetHierarchyPropertyFromCloudFormation(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("childAssetId","ChildAssetId",properties.ChildAssetId!=null?cfn_parse().FromCloudFormation.getString(properties.ChildAssetId):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("logicalId","LogicalId",properties.LogicalId!=null?cfn_parse().FromCloudFormation.getString(properties.LogicalId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetPropsValidator(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("assetDescription",cdk().validateString)(properties.assetDescription)),errors.collect(cdk().propertyValidator("assetExternalId",cdk().validateString)(properties.assetExternalId)),errors.collect(cdk().propertyValidator("assetHierarchies",cdk().listValidator(CfnAssetAssetHierarchyPropertyValidator))(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(CfnAssetAssetPropertyPropertyValidator))(properties.assetProperties)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAssetProps"')}function convertCfnAssetPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetPropsValidator(properties).assertSuccess(),{AssetDescription:cdk().stringToCloudFormation(properties.assetDescription),AssetExternalId:cdk().stringToCloudFormation(properties.assetExternalId),AssetHierarchies:cdk().listMapper(convertCfnAssetAssetHierarchyPropertyToCloudFormation)(properties.assetHierarchies),AssetModelId:cdk().stringToCloudFormation(properties.assetModelId),AssetName:cdk().stringToCloudFormation(properties.assetName),AssetProperties:cdk().listMapper(convertCfnAssetAssetPropertyPropertyToCloudFormation)(properties.assetProperties),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAssetPropsFromCloudFormation(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("assetDescription","AssetDescription",properties.AssetDescription!=null?cfn_parse().FromCloudFormation.getString(properties.AssetDescription):void 0),ret.addPropertyResult("assetExternalId","AssetExternalId",properties.AssetExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.AssetExternalId):void 0),ret.addPropertyResult("assetHierarchies","AssetHierarchies",properties.AssetHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAssetAssetHierarchyPropertyFromCloudFormation)(properties.AssetHierarchies):void 0),ret.addPropertyResult("assetModelId","AssetModelId",properties.AssetModelId!=null?cfn_parse().FromCloudFormation.getString(properties.AssetModelId):void 0),ret.addPropertyResult("assetName","AssetName",properties.AssetName!=null?cfn_parse().FromCloudFormation.getString(properties.AssetName):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 CfnAssetModel extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotsitewise.CfnAssetModel",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTSiteWise::AssetModel";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAssetModelPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const 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}static isCfnAssetModel(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAssetModel.CFN_RESOURCE_TYPE_NAME}static fromAssetModelArn(scope,id,arn){class Import extends cdk().Resource{assetModelRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}").parse(arn2);this.assetModelRef={assetModelId:variables.AssetModelId,assetModelArn:arn2}}}return new Import(scope,id,arn)}static fromAssetModelId(scope,id,assetModelId){class Import extends cdk().Resource{assetModelRef;constructor(scope2,id2,assetModelId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,AssetModelId:assetModelId2});super(scope2,id2,{environmentFromArn:arn}),this.assetModelRef={assetModelId:assetModelId2,assetModelArn:arn}}}return new Import(scope,id,assetModelId)}static arnForAssetModel(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotsitewise_IAssetModelRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAssetModel),error}return resource.assetModelRef.assetModelArn}attrAssetModelArn;attrAssetModelId;assetModelCompositeModels;assetModelDescription;assetModelExternalId;assetModelHierarchies;assetModelName;assetModelProperties;assetModelType;enforcedAssetModelInterfaceRelationships;tags;tagsRaw;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.assetModelCompositeModels=props.assetModelCompositeModels,this.assetModelDescription=props.assetModelDescription,this.assetModelExternalId=props.assetModelExternalId,this.assetModelHierarchies=props.assetModelHierarchies,this.assetModelName=props.assetModelName,this.assetModelProperties=props.assetModelProperties,this.assetModelType=props.assetModelType,this.enforcedAssetModelInterfaceRelationships=props.enforcedAssetModelInterfaceRelationships,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTSiteWise::AssetModel",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get assetModelRef(){return{assetModelId:this.ref,assetModelArn:this.attrAssetModelArn}}get cfnProperties(){return{assetModelCompositeModels:this.assetModelCompositeModels,assetModelDescription:this.assetModelDescription,assetModelExternalId:this.assetModelExternalId,assetModelHierarchies:this.assetModelHierarchies,assetModelName:this.assetModelName,assetModelProperties:this.assetModelProperties,assetModelType:this.assetModelType,enforcedAssetModelInterfaceRelationships:this.enforcedAssetModelInterfaceRelationships,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",CfnAssetModel.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAssetModelPropsToCloudFormation(props)}}exports.CfnAssetModel=CfnAssetModel;function CfnAssetModelAttributePropertyValidator(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("defaultValue",cdk().validateString)(properties.defaultValue)),errors.wrap('supplied properties not correct for "AttributeProperty"')}function convertCfnAssetModelAttributePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelAttributePropertyValidator(properties).assertSuccess(),{DefaultValue:cdk().stringToCloudFormation(properties.defaultValue)}):properties}function CfnAssetModelAttributePropertyFromCloudFormation(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("defaultValue","DefaultValue",properties.DefaultValue!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelPropertyPathDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "PropertyPathDefinitionProperty"')}function convertCfnAssetModelPropertyPathDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelPropertyPathDefinitionPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnAssetModelPropertyPathDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelVariableValuePropertyValidator(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("hierarchyExternalId",cdk().validateString)(properties.hierarchyExternalId)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.collect(cdk().propertyValidator("hierarchyLogicalId",cdk().validateString)(properties.hierarchyLogicalId)),errors.collect(cdk().propertyValidator("propertyExternalId",cdk().validateString)(properties.propertyExternalId)),errors.collect(cdk().propertyValidator("propertyId",cdk().validateString)(properties.propertyId)),errors.collect(cdk().propertyValidator("propertyLogicalId",cdk().validateString)(properties.propertyLogicalId)),errors.collect(cdk().propertyValidator("propertyPath",cdk().listValidator(CfnAssetModelPropertyPathDefinitionPropertyValidator))(properties.propertyPath)),errors.wrap('supplied properties not correct for "VariableValueProperty"')}function convertCfnAssetModelVariableValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelVariableValuePropertyValidator(properties).assertSuccess(),{HierarchyExternalId:cdk().stringToCloudFormation(properties.hierarchyExternalId),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId),HierarchyLogicalId:cdk().stringToCloudFormation(properties.hierarchyLogicalId),PropertyExternalId:cdk().stringToCloudFormation(properties.propertyExternalId),PropertyId:cdk().stringToCloudFormation(properties.propertyId),PropertyLogicalId:cdk().stringToCloudFormation(properties.propertyLogicalId),PropertyPath:cdk().listMapper(convertCfnAssetModelPropertyPathDefinitionPropertyToCloudFormation)(properties.propertyPath)}):properties}function CfnAssetModelVariableValuePropertyFromCloudFormation(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("hierarchyExternalId","HierarchyExternalId",properties.HierarchyExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyExternalId):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addPropertyResult("hierarchyLogicalId","HierarchyLogicalId",properties.HierarchyLogicalId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyLogicalId):void 0),ret.addPropertyResult("propertyExternalId","PropertyExternalId",properties.PropertyExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.PropertyExternalId):void 0),ret.addPropertyResult("propertyId","PropertyId",properties.PropertyId!=null?cfn_parse().FromCloudFormation.getString(properties.PropertyId):void 0),ret.addPropertyResult("propertyLogicalId","PropertyLogicalId",properties.PropertyLogicalId!=null?cfn_parse().FromCloudFormation.getString(properties.PropertyLogicalId):void 0),ret.addPropertyResult("propertyPath","PropertyPath",properties.PropertyPath!=null?cfn_parse().FromCloudFormation.getArray(CfnAssetModelPropertyPathDefinitionPropertyFromCloudFormation)(properties.PropertyPath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelExpressionVariablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().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",CfnAssetModelVariableValuePropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "ExpressionVariableProperty"')}function convertCfnAssetModelExpressionVariablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelExpressionVariablePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:convertCfnAssetModelVariableValuePropertyToCloudFormation(properties.value)}):properties}function CfnAssetModelExpressionVariablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnAssetModelVariableValuePropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelTumblingWindowPropertyValidator(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("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 convertCfnAssetModelTumblingWindowPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelTumblingWindowPropertyValidator(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("interval","Interval",properties.Interval!=null?cfn_parse().FromCloudFormation.getString(properties.Interval):void 0),ret.addPropertyResult("offset","Offset",properties.Offset!=null?cfn_parse().FromCloudFormation.getString(properties.Offset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelMetricWindowPropertyValidator(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("tumbling",CfnAssetModelTumblingWindowPropertyValidator)(properties.tumbling)),errors.wrap('supplied properties not correct for "MetricWindowProperty"')}function convertCfnAssetModelMetricWindowPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelMetricWindowPropertyValidator(properties).assertSuccess(),{Tumbling:convertCfnAssetModelTumblingWindowPropertyToCloudFormation(properties.tumbling)}):properties}function CfnAssetModelMetricWindowPropertyFromCloudFormation(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("tumbling","Tumbling",properties.Tumbling!=null?CfnAssetModelTumblingWindowPropertyFromCloudFormation(properties.Tumbling):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelMetricPropertyValidator(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("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(CfnAssetModelExpressionVariablePropertyValidator))(properties.variables)),errors.collect(cdk().propertyValidator("window",cdk().requiredValidator)(properties.window)),errors.collect(cdk().propertyValidator("window",CfnAssetModelMetricWindowPropertyValidator)(properties.window)),errors.wrap('supplied properties not correct for "MetricProperty"')}function convertCfnAssetModelMetricPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelMetricPropertyValidator(properties).assertSuccess(),{Expression:cdk().stringToCloudFormation(properties.expression),Variables:cdk().listMapper(convertCfnAssetModelExpressionVariablePropertyToCloudFormation)(properties.variables),Window:convertCfnAssetModelMetricWindowPropertyToCloudFormation(properties.window)}):properties}function CfnAssetModelMetricPropertyFromCloudFormation(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("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("variables","Variables",properties.Variables!=null?cfn_parse().FromCloudFormation.getArray(CfnAssetModelExpressionVariablePropertyFromCloudFormation)(properties.Variables):void 0),ret.addPropertyResult("window","Window",properties.Window!=null?CfnAssetModelMetricWindowPropertyFromCloudFormation(properties.Window):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelTransformPropertyValidator(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("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(CfnAssetModelExpressionVariablePropertyValidator))(properties.variables)),errors.wrap('supplied properties not correct for "TransformProperty"')}function convertCfnAssetModelTransformPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelTransformPropertyValidator(properties).assertSuccess(),{Expression:cdk().stringToCloudFormation(properties.expression),Variables:cdk().listMapper(convertCfnAssetModelExpressionVariablePropertyToCloudFormation)(properties.variables)}):properties}function CfnAssetModelTransformPropertyFromCloudFormation(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("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("variables","Variables",properties.Variables!=null?cfn_parse().FromCloudFormation.getArray(CfnAssetModelExpressionVariablePropertyFromCloudFormation)(properties.Variables):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelPropertyTypePropertyValidator(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("attribute",CfnAssetModelAttributePropertyValidator)(properties.attribute)),errors.collect(cdk().propertyValidator("metric",CfnAssetModelMetricPropertyValidator)(properties.metric)),errors.collect(cdk().propertyValidator("transform",CfnAssetModelTransformPropertyValidator)(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 convertCfnAssetModelPropertyTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelPropertyTypePropertyValidator(properties).assertSuccess(),{Attribute:convertCfnAssetModelAttributePropertyToCloudFormation(properties.attribute),Metric:convertCfnAssetModelMetricPropertyToCloudFormation(properties.metric),Transform:convertCfnAssetModelTransformPropertyToCloudFormation(properties.transform),TypeName:cdk().stringToCloudFormation(properties.typeName)}):properties}function CfnAssetModelPropertyTypePropertyFromCloudFormation(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("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",properties.TypeName!=null?cfn_parse().FromCloudFormation.getString(properties.TypeName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelAssetModelPropertyPropertyValidator(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("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("externalId",cdk().validateString)(properties.externalId)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),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",CfnAssetModelPropertyTypePropertyValidator)(properties.type)),errors.collect(cdk().propertyValidator("unit",cdk().validateString)(properties.unit)),errors.wrap('supplied properties not correct for "AssetModelPropertyProperty"')}function convertCfnAssetModelAssetModelPropertyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelAssetModelPropertyPropertyValidator(properties).assertSuccess(),{DataType:cdk().stringToCloudFormation(properties.dataType),DataTypeSpec:cdk().stringToCloudFormation(properties.dataTypeSpec),ExternalId:cdk().stringToCloudFormation(properties.externalId),Id:cdk().stringToCloudFormation(properties.id),LogicalId:cdk().stringToCloudFormation(properties.logicalId),Name:cdk().stringToCloudFormation(properties.name),Type:convertCfnAssetModelPropertyTypePropertyToCloudFormation(properties.type),Unit:cdk().stringToCloudFormation(properties.unit)}):properties}function CfnAssetModelAssetModelPropertyPropertyFromCloudFormation(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("dataType","DataType",properties.DataType!=null?cfn_parse().FromCloudFormation.getString(properties.DataType):void 0),ret.addPropertyResult("dataTypeSpec","DataTypeSpec",properties.DataTypeSpec!=null?cfn_parse().FromCloudFormation.getString(properties.DataTypeSpec):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("logicalId","LogicalId",properties.LogicalId!=null?cfn_parse().FromCloudFormation.getString(properties.LogicalId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?CfnAssetModelPropertyTypePropertyFromCloudFormation(properties.Type):void 0),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse().FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelAssetModelCompositeModelPropertyValidator(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("composedAssetModelId",cdk().validateString)(properties.composedAssetModelId)),errors.collect(cdk().propertyValidator("compositeModelProperties",cdk().listValidator(CfnAssetModelAssetModelPropertyPropertyValidator))(properties.compositeModelProperties)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),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("parentAssetModelCompositeModelExternalId",cdk().validateString)(properties.parentAssetModelCompositeModelExternalId)),errors.collect(cdk().propertyValidator("path",cdk().listValidator(cdk().validateString))(properties.path)),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 convertCfnAssetModelAssetModelCompositeModelPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelAssetModelCompositeModelPropertyValidator(properties).assertSuccess(),{ComposedAssetModelId:cdk().stringToCloudFormation(properties.composedAssetModelId),CompositeModelProperties:cdk().listMapper(convertCfnAssetModelAssetModelPropertyPropertyToCloudFormation)(properties.compositeModelProperties),Description:cdk().stringToCloudFormation(properties.description),ExternalId:cdk().stringToCloudFormation(properties.externalId),Id:cdk().stringToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name),ParentAssetModelCompositeModelExternalId:cdk().stringToCloudFormation(properties.parentAssetModelCompositeModelExternalId),Path:cdk().listMapper(cdk().stringToCloudFormation)(properties.path),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAssetModelAssetModelCompositeModelPropertyFromCloudFormation(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("composedAssetModelId","ComposedAssetModelId",properties.ComposedAssetModelId!=null?cfn_parse().FromCloudFormation.getString(properties.ComposedAssetModelId):void 0),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("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),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("parentAssetModelCompositeModelExternalId","ParentAssetModelCompositeModelExternalId",properties.ParentAssetModelCompositeModelExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ParentAssetModelCompositeModelExternalId):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Path):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelAssetModelHierarchyPropertyValidator(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("childAssetModelId",cdk().requiredValidator)(properties.childAssetModelId)),errors.collect(cdk().propertyValidator("childAssetModelId",cdk().validateString)(properties.childAssetModelId)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),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 convertCfnAssetModelAssetModelHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelAssetModelHierarchyPropertyValidator(properties).assertSuccess(),{ChildAssetModelId:cdk().stringToCloudFormation(properties.childAssetModelId),ExternalId:cdk().stringToCloudFormation(properties.externalId),Id:cdk().stringToCloudFormation(properties.id),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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("childAssetModelId","ChildAssetModelId",properties.ChildAssetModelId!=null?cfn_parse().FromCloudFormation.getString(properties.ChildAssetModelId):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("logicalId","LogicalId",properties.LogicalId!=null?cfn_parse().FromCloudFormation.getString(properties.LogicalId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelEnforcedAssetModelInterfacePropertyMappingPropertyValidator(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("assetModelPropertyExternalId",cdk().validateString)(properties.assetModelPropertyExternalId)),errors.collect(cdk().propertyValidator("assetModelPropertyLogicalId",cdk().validateString)(properties.assetModelPropertyLogicalId)),errors.collect(cdk().propertyValidator("interfaceAssetModelPropertyExternalId",cdk().requiredValidator)(properties.interfaceAssetModelPropertyExternalId)),errors.collect(cdk().propertyValidator("interfaceAssetModelPropertyExternalId",cdk().validateString)(properties.interfaceAssetModelPropertyExternalId)),errors.wrap('supplied properties not correct for "EnforcedAssetModelInterfacePropertyMappingProperty"')}function convertCfnAssetModelEnforcedAssetModelInterfacePropertyMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelEnforcedAssetModelInterfacePropertyMappingPropertyValidator(properties).assertSuccess(),{AssetModelPropertyExternalId:cdk().stringToCloudFormation(properties.assetModelPropertyExternalId),AssetModelPropertyLogicalId:cdk().stringToCloudFormation(properties.assetModelPropertyLogicalId),InterfaceAssetModelPropertyExternalId:cdk().stringToCloudFormation(properties.interfaceAssetModelPropertyExternalId)}):properties}function CfnAssetModelEnforcedAssetModelInterfacePropertyMappingPropertyFromCloudFormation(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("assetModelPropertyExternalId","AssetModelPropertyExternalId",properties.AssetModelPropertyExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.AssetModelPropertyExternalId):void 0),ret.addPropertyResult("assetModelPropertyLogicalId","AssetModelPropertyLogicalId",properties.AssetModelPropertyLogicalId!=null?cfn_parse().FromCloudFormation.getString(properties.AssetModelPropertyLogicalId):void 0),ret.addPropertyResult("interfaceAssetModelPropertyExternalId","InterfaceAssetModelPropertyExternalId",properties.InterfaceAssetModelPropertyExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.InterfaceAssetModelPropertyExternalId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelEnforcedAssetModelInterfaceRelationshipPropertyValidator(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("interfaceAssetModelId",cdk().validateString)(properties.interfaceAssetModelId)),errors.collect(cdk().propertyValidator("propertyMappings",cdk().listValidator(CfnAssetModelEnforcedAssetModelInterfacePropertyMappingPropertyValidator))(properties.propertyMappings)),errors.wrap('supplied properties not correct for "EnforcedAssetModelInterfaceRelationshipProperty"')}function convertCfnAssetModelEnforcedAssetModelInterfaceRelationshipPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelEnforcedAssetModelInterfaceRelationshipPropertyValidator(properties).assertSuccess(),{InterfaceAssetModelId:cdk().stringToCloudFormation(properties.interfaceAssetModelId),PropertyMappings:cdk().listMapper(convertCfnAssetModelEnforcedAssetModelInterfacePropertyMappingPropertyToCloudFormation)(properties.propertyMappings)}):properties}function CfnAssetModelEnforcedAssetModelInterfaceRelationshipPropertyFromCloudFormation(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("interfaceAssetModelId","InterfaceAssetModelId",properties.InterfaceAssetModelId!=null?cfn_parse().FromCloudFormation.getString(properties.InterfaceAssetModelId):void 0),ret.addPropertyResult("propertyMappings","PropertyMappings",properties.PropertyMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnAssetModelEnforcedAssetModelInterfacePropertyMappingPropertyFromCloudFormation)(properties.PropertyMappings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAssetModelPropsValidator(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("assetModelCompositeModels",cdk().listValidator(CfnAssetModelAssetModelCompositeModelPropertyValidator))(properties.assetModelCompositeModels)),errors.collect(cdk().propertyValidator("assetModelDescription",cdk().validateString)(properties.assetModelDescription)),errors.collect(cdk().propertyValidator("assetModelExternalId",cdk().validateString)(properties.assetModelExternalId)),errors.collect(cdk().propertyValidator("assetModelHierarchies",cdk().listValidator(CfnAssetModelAssetModelHierarchyPropertyValidator))(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(CfnAssetModelAssetModelPropertyPropertyValidator))(properties.assetModelProperties)),errors.collect(cdk().propertyValidator("assetModelType",cdk().validateString)(properties.assetModelType)),errors.collect(cdk().propertyValidator("enforcedAssetModelInterfaceRelationships",cdk().listValidator(CfnAssetModelEnforcedAssetModelInterfaceRelationshipPropertyValidator))(properties.enforcedAssetModelInterfaceRelationships)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAssetModelProps"')}function convertCfnAssetModelPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAssetModelPropsValidator(properties).assertSuccess(),{AssetModelCompositeModels:cdk().listMapper(convertCfnAssetModelAssetModelCompositeModelPropertyToCloudFormation)(properties.assetModelCompositeModels),AssetModelDescription:cdk().stringToCloudFormation(properties.assetModelDescription),AssetModelExternalId:cdk().stringToCloudFormation(properties.assetModelExternalId),AssetModelHierarchies:cdk().listMapper(convertCfnAssetModelAssetModelHierarchyPropertyToCloudFormation)(properties.assetModelHierarchies),AssetModelName:cdk().stringToCloudFormation(properties.assetModelName),AssetModelProperties:cdk().listMapper(convertCfnAssetModelAssetModelPropertyPropertyToCloudFormation)(properties.assetModelProperties),AssetModelType:cdk().stringToCloudFormation(properties.assetModelType),EnforcedAssetModelInterfaceRelationships:cdk().listMapper(convertCfnAssetModelEnforcedAssetModelInterfaceRelationshipPropertyToCloudFormation)(properties.enforcedAssetModelInterfaceRelationships),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAssetModelPropsFromCloudFormation(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("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("assetModelExternalId","AssetModelExternalId",properties.AssetModelExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.AssetModelExternalId):void 0),ret.addPropertyResult("assetModelHierarchies","AssetModelHierarchies",properties.AssetModelHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAssetModelAssetModelHierarchyPropertyFromCloudFormation)(properties.AssetModelHierarchies):void 0),ret.addPropertyResult("assetModelName","AssetModelName",properties.AssetModelName!=null?cfn_parse().FromCloudFormation.getString(properties.AssetModelName):void 0),ret.addPropertyResult("assetModelProperties","AssetModelProperties",properties.AssetModelProperties!=null?cfn_parse().FromCloudFormation.getArray(CfnAssetModelAssetModelPropertyPropertyFromCloudFormation)(properties.AssetModelProperties):void 0),ret.addPropertyResult("assetModelType","AssetModelType",properties.AssetModelType!=null?cfn_parse().FromCloudFormation.getString(properties.AssetModelType):void 0),ret.addPropertyResult("enforcedAssetModelInterfaceRelationships","EnforcedAssetModelInterfaceRelationships",properties.EnforcedAssetModelInterfaceRelationships!=null?cfn_parse().FromCloudFormation.getArray(CfnAssetModelEnforcedAssetModelInterfaceRelationshipPropertyFromCloudFormation)(properties.EnforcedAssetModelInterfaceRelationships):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 CfnDashboard extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotsitewise.CfnDashboard",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTSiteWise::Dashboard";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDashboardPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnDashboard(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 isCfnDashboard(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDashboard.CFN_RESOURCE_TYPE_NAME}static fromDashboardArn(scope,id,arn){class Import extends cdk().Resource{dashboardRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId}").parse(arn2);this.dashboardRef={dashboardId:variables.DashboardId,dashboardArn:arn2}}}return new Import(scope,id,arn)}static fromDashboardId(scope,id,dashboardId){class Import extends cdk().Resource{dashboardRef;constructor(scope2,id2,dashboardId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,DashboardId:dashboardId2});super(scope2,id2,{environmentFromArn:arn}),this.dashboardRef={dashboardId:dashboardId2,dashboardArn:arn}}}return new Import(scope,id,dashboardId)}static arnForDashboard(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotsitewise_IDashboardRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDashboard),error}return resource.dashboardRef.dashboardArn}attrDashboardArn;attrDashboardId;dashboardDefinition;dashboardDescription;dashboardName;projectId;tags;tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnDashboard.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotsitewise_CfnDashboardProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDashboard),error}cdk().requireProperty(props,"dashboardDefinition",this),cdk().requireProperty(props,"dashboardDescription",this),cdk().requireProperty(props,"dashboardName",this),this.attrDashboardArn=cdk().Token.asString(this.getAtt("DashboardArn",cdk().ResolutionTypeHint.STRING)),this.attrDashboardId=cdk().Token.asString(this.getAtt("DashboardId",cdk().ResolutionTypeHint.STRING)),this.dashboardDefinition=props.dashboardDefinition,this.dashboardDescription=props.dashboardDescription,this.dashboardName=props.dashboardName,this.projectId=props.projectId,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTSiteWise::Dashboard",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get dashboardRef(){return{dashboardId:this.ref,dashboardArn:this.attrDashboardArn}}get cfnProperties(){return{dashboardDefinition:this.dashboardDefinition,dashboardDescription:this.dashboardDescription,dashboardName:this.dashboardName,projectId:this.projectId,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",CfnDashboard.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDashboardPropsToCloudFormation(props)}}exports.CfnDashboard=CfnDashboard;function CfnDashboardPropsValidator(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("dashboardDefinition",cdk().requiredValidator)(properties.dashboardDefinition)),errors.collect(cdk().propertyValidator("dashboardDefinition",cdk().validateString)(properties.dashboardDefinition)),errors.collect(cdk().propertyValidator("dashboardDescription",cdk().requiredValidator)(properties.dashboardDescription)),errors.collect(cdk().propertyValidator("dashboardDescription",cdk().validateString)(properties.dashboardDescription)),errors.collect(cdk().propertyValidator("dashboardName",cdk().requiredValidator)(properties.dashboardName)),errors.collect(cdk().propertyValidator("dashboardName",cdk().validateString)(properties.dashboardName)),errors.collect(cdk().propertyValidator("projectId",cdk().validateString)(properties.projectId)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDashboardProps"')}function convertCfnDashboardPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPropsValidator(properties).assertSuccess(),{DashboardDefinition:cdk().stringToCloudFormation(properties.dashboardDefinition),DashboardDescription:cdk().stringToCloudFormation(properties.dashboardDescription),DashboardName:cdk().stringToCloudFormation(properties.dashboardName),ProjectId:cdk().stringToCloudFormation(properties.projectId),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDashboardPropsFromCloudFormation(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("dashboardDefinition","DashboardDefinition",properties.DashboardDefinition!=null?cfn_parse().FromCloudFormation.getString(properties.DashboardDefinition):void 0),ret.addPropertyResult("dashboardDescription","DashboardDescription",properties.DashboardDescription!=null?cfn_parse().FromCloudFormation.getString(properties.DashboardDescription):void 0),ret.addPropertyResult("dashboardName","DashboardName",properties.DashboardName!=null?cfn_parse().FromCloudFormation.getString(properties.DashboardName):void 0),ret.addPropertyResult("projectId","ProjectId",properties.ProjectId!=null?cfn_parse().FromCloudFormation.getString(properties.ProjectId):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 CfnGateway extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotsitewise.CfnGateway",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTSiteWise::Gateway";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGatewayPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnGateway(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 isCfnGateway(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnGateway.CFN_RESOURCE_TYPE_NAME}static fromGatewayId(scope,id,gatewayId){class Import extends cdk().Resource{gatewayRef;constructor(scope2,id2,gatewayId2){super(scope2,id2),this.gatewayRef={gatewayId:gatewayId2}}}return new Import(scope,id,gatewayId)}static arnForGateway(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotsitewise_IGatewayRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForGateway),error}return new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:cdk().Stack.of(resource).region,Account:cdk().Stack.of(resource).account,GatewayId:resource.gatewayRef.gatewayId})}attrGatewayId;gatewayCapabilitySummaries;gatewayName;gatewayPlatform;gatewayVersion;tags;tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnGateway.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotsitewise_CfnGatewayProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGateway),error}cdk().requireProperty(props,"gatewayName",this),cdk().requireProperty(props,"gatewayPlatform",this),this.attrGatewayId=cdk().Token.asString(this.getAtt("GatewayId",cdk().ResolutionTypeHint.STRING)),this.gatewayCapabilitySummaries=props.gatewayCapabilitySummaries,this.gatewayName=props.gatewayName,this.gatewayPlatform=props.gatewayPlatform,this.gatewayVersion=props.gatewayVersion,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTSiteWise::Gateway",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get gatewayRef(){return{gatewayId:this.ref}}get cfnProperties(){return{gatewayCapabilitySummaries:this.gatewayCapabilitySummaries,gatewayName:this.gatewayName,gatewayPlatform:this.gatewayPlatform,gatewayVersion:this.gatewayVersion,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",CfnGateway.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGatewayPropsToCloudFormation(props)}}exports.CfnGateway=CfnGateway;function CfnGatewayGatewayCapabilitySummaryPropertyValidator(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("capabilityConfiguration",cdk().validateString)(properties.capabilityConfiguration)),errors.collect(cdk().propertyValidator("capabilityNamespace",cdk().requiredValidator)(properties.capabilityNamespace)),errors.collect(cdk().propertyValidator("capabilityNamespace",cdk().validateString)(properties.capabilityNamespace)),errors.wrap('supplied properties not correct for "GatewayCapabilitySummaryProperty"')}function convertCfnGatewayGatewayCapabilitySummaryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayGatewayCapabilitySummaryPropertyValidator(properties).assertSuccess(),{CapabilityConfiguration:cdk().stringToCloudFormation(properties.capabilityConfiguration),CapabilityNamespace:cdk().stringToCloudFormation(properties.capabilityNamespace)}):properties}function CfnGatewayGatewayCapabilitySummaryPropertyFromCloudFormation(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("capabilityConfiguration","CapabilityConfiguration",properties.CapabilityConfiguration!=null?cfn_parse().FromCloudFormation.getString(properties.CapabilityConfiguration):void 0),ret.addPropertyResult("capabilityNamespace","CapabilityNamespace",properties.CapabilityNamespace!=null?cfn_parse().FromCloudFormation.getString(properties.CapabilityNamespace):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayGreengrassV2PropertyValidator(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("coreDeviceOperatingSystem",cdk().validateString)(properties.coreDeviceOperatingSystem)),errors.collect(cdk().propertyValidator("coreDeviceThingName",cdk().requiredValidator)(properties.coreDeviceThingName)),errors.collect(cdk().propertyValidator("coreDeviceThingName",cdk().validateString)(properties.coreDeviceThingName)),errors.wrap('supplied properties not correct for "GreengrassV2Property"')}function convertCfnGatewayGreengrassV2PropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayGreengrassV2PropertyValidator(properties).assertSuccess(),{CoreDeviceOperatingSystem:cdk().stringToCloudFormation(properties.coreDeviceOperatingSystem),CoreDeviceThingName:cdk().stringToCloudFormation(properties.coreDeviceThingName)}):properties}function CfnGatewayGreengrassV2PropertyFromCloudFormation(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("coreDeviceOperatingSystem","CoreDeviceOperatingSystem",properties.CoreDeviceOperatingSystem!=null?cfn_parse().FromCloudFormation.getString(properties.CoreDeviceOperatingSystem):void 0),ret.addPropertyResult("coreDeviceThingName","CoreDeviceThingName",properties.CoreDeviceThingName!=null?cfn_parse().FromCloudFormation.getString(properties.CoreDeviceThingName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayGreengrassPropertyValidator(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("groupArn",cdk().requiredValidator)(properties.groupArn)),errors.collect(cdk().propertyValidator("groupArn",cdk().validateString)(properties.groupArn)),errors.wrap('supplied properties not correct for "GreengrassProperty"')}function convertCfnGatewayGreengrassPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayGreengrassPropertyValidator(properties).assertSuccess(),{GroupArn:cdk().stringToCloudFormation(properties.groupArn)}):properties}function CfnGatewayGreengrassPropertyFromCloudFormation(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("groupArn","GroupArn",properties.GroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.GroupArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewaySiemensIEPropertyValidator(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("iotCoreThingName",cdk().requiredValidator)(properties.iotCoreThingName)),errors.collect(cdk().propertyValidator("iotCoreThingName",cdk().validateString)(properties.iotCoreThingName)),errors.wrap('supplied properties not correct for "SiemensIEProperty"')}function convertCfnGatewaySiemensIEPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewaySiemensIEPropertyValidator(properties).assertSuccess(),{IotCoreThingName:cdk().stringToCloudFormation(properties.iotCoreThingName)}):properties}function CfnGatewaySiemensIEPropertyFromCloudFormation(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("iotCoreThingName","IotCoreThingName",properties.IotCoreThingName!=null?cfn_parse().FromCloudFormation.getString(properties.IotCoreThingName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayGatewayPlatformPropertyValidator(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("greengrass",CfnGatewayGreengrassPropertyValidator)(properties.greengrass)),errors.collect(cdk().propertyValidator("greengrassV2",CfnGatewayGreengrassV2PropertyValidator)(properties.greengrassV2)),errors.collect(cdk().propertyValidator("siemensIe",CfnGatewaySiemensIEPropertyValidator)(properties.siemensIe)),errors.wrap('supplied properties not correct for "GatewayPlatformProperty"')}function convertCfnGatewayGatewayPlatformPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayGatewayPlatformPropertyValidator(properties).assertSuccess(),{Greengrass:convertCfnGatewayGreengrassPropertyToCloudFormation(properties.greengrass),GreengrassV2:convertCfnGatewayGreengrassV2PropertyToCloudFormation(properties.greengrassV2),SiemensIE:convertCfnGatewaySiemensIEPropertyToCloudFormation(properties.siemensIe)}):properties}function CfnGatewayGatewayPlatformPropertyFromCloudFormation(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("greengrass","Greengrass",properties.Greengrass!=null?CfnGatewayGreengrassPropertyFromCloudFormation(properties.Greengrass):void 0),ret.addPropertyResult("greengrassV2","GreengrassV2",properties.GreengrassV2!=null?CfnGatewayGreengrassV2PropertyFromCloudFormation(properties.GreengrassV2):void 0),ret.addPropertyResult("siemensIe","SiemensIE",properties.SiemensIE!=null?CfnGatewaySiemensIEPropertyFromCloudFormation(properties.SiemensIE):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGatewayPropsValidator(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("gatewayCapabilitySummaries",cdk().listValidator(CfnGatewayGatewayCapabilitySummaryPropertyValidator))(properties.gatewayCapabilitySummaries)),errors.collect(cdk().propertyValidator("gatewayName",cdk().requiredValidator)(properties.gatewayName)),errors.collect(cdk().propertyValidator("gatewayName",cdk().validateString)(properties.gatewayName)),errors.collect(cdk().propertyValidator("gatewayPlatform",cdk().requiredValidator)(properties.gatewayPlatform)),errors.collect(cdk().propertyValidator("gatewayPlatform",CfnGatewayGatewayPlatformPropertyValidator)(properties.gatewayPlatform)),errors.collect(cdk().propertyValidator("gatewayVersion",cdk().validateString)(properties.gatewayVersion)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnGatewayProps"')}function convertCfnGatewayPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGatewayPropsValidator(properties).assertSuccess(),{GatewayCapabilitySummaries:cdk().listMapper(convertCfnGatewayGatewayCapabilitySummaryPropertyToCloudFormation)(properties.gatewayCapabilitySummaries),GatewayName:cdk().stringToCloudFormation(properties.gatewayName),GatewayPlatform:convertCfnGatewayGatewayPlatformPropertyToCloudFormation(properties.gatewayPlatform),GatewayVersion:cdk().stringToCloudFormation(properties.gatewayVersion),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnGatewayPropsFromCloudFormation(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("gatewayCapabilitySummaries","GatewayCapabilitySummaries",properties.GatewayCapabilitySummaries!=null?cfn_parse().FromCloudFormation.getArray(CfnGatewayGatewayCapabilitySummaryPropertyFromCloudFormation)(properties.GatewayCapabilitySummaries):void 0),ret.addPropertyResult("gatewayName","GatewayName",properties.GatewayName!=null?cfn_parse().FromCloudFormation.getString(properties.GatewayName):void 0),ret.addPropertyResult("gatewayPlatform","GatewayPlatform",properties.GatewayPlatform!=null?CfnGatewayGatewayPlatformPropertyFromCloudFormation(properties.GatewayPlatform):void 0),ret.addPropertyResult("gatewayVersion","GatewayVersion",properties.GatewayVersion!=null?cfn_parse().FromCloudFormation.getString(properties.GatewayVersion):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 CfnPortal extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotsitewise.CfnPortal",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTSiteWise::Portal";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPortalPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnPortal(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 isCfnPortal(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPortal.CFN_RESOURCE_TYPE_NAME}static fromPortalArn(scope,id,arn){class Import extends cdk().Resource{portalRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId}").parse(arn2);this.portalRef={portalId:variables.PortalId,portalArn:arn2}}}return new Import(scope,id,arn)}static fromPortalId(scope,id,portalId){class Import extends cdk().Resource{portalRef;constructor(scope2,id2,portalId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,PortalId:portalId2});super(scope2,id2,{environmentFromArn:arn}),this.portalRef={portalId:portalId2,portalArn:arn}}}return new Import(scope,id,portalId)}static arnForPortal(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotsitewise_IPortalRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPortal),error}return resource.portalRef.portalArn}attrPortalArn;attrPortalClientId;attrPortalId;attrPortalStartUrl;alarms;notificationSenderEmail;portalAuthMode;portalContactEmail;portalDescription;portalName;portalType;portalTypeConfiguration;roleArn;tags;tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnPortal.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotsitewise_CfnPortalProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPortal),error}cdk().requireProperty(props,"portalContactEmail",this),cdk().requireProperty(props,"portalName",this),cdk().requireProperty(props,"roleArn",this),this.attrPortalArn=cdk().Token.asString(this.getAtt("PortalArn",cdk().ResolutionTypeHint.STRING)),this.attrPortalClientId=cdk().Token.asString(this.getAtt("PortalClientId",cdk().ResolutionTypeHint.STRING)),this.attrPortalId=cdk().Token.asString(this.getAtt("PortalId",cdk().ResolutionTypeHint.STRING)),this.attrPortalStartUrl=cdk().Token.asString(this.getAtt("PortalStartUrl",cdk().ResolutionTypeHint.STRING)),this.alarms=props.alarms,this.notificationSenderEmail=props.notificationSenderEmail,this.portalAuthMode=props.portalAuthMode,this.portalContactEmail=props.portalContactEmail,this.portalDescription=props.portalDescription,this.portalName=props.portalName,this.portalType=props.portalType,this.portalTypeConfiguration=props.portalTypeConfiguration,this.roleArn=props.roleArn,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTSiteWise::Portal",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get portalRef(){return{portalId:this.ref,portalArn:this.attrPortalArn}}get cfnProperties(){return{alarms:this.alarms,notificationSenderEmail:this.notificationSenderEmail,portalAuthMode:this.portalAuthMode,portalContactEmail:this.portalContactEmail,portalDescription:this.portalDescription,portalName:this.portalName,portalType:this.portalType,portalTypeConfiguration:this.portalTypeConfiguration,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",CfnPortal.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPortalPropsToCloudFormation(props)}}exports.CfnPortal=CfnPortal;function CfnPortalAlarmsPropertyValidator(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("alarmRoleArn",cdk().validateString)(properties.alarmRoleArn)),errors.collect(cdk().propertyValidator("notificationLambdaArn",cdk().validateString)(properties.notificationLambdaArn)),errors.wrap('supplied properties not correct for "AlarmsProperty"')}function convertCfnPortalAlarmsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPortalAlarmsPropertyValidator(properties).assertSuccess(),{AlarmRoleArn:cdk().stringToCloudFormation(properties.alarmRoleArn),NotificationLambdaArn:cdk().stringToCloudFormation(properties.notificationLambdaArn)}):properties}function CfnPortalAlarmsPropertyFromCloudFormation(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("alarmRoleArn","AlarmRoleArn",properties.AlarmRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.AlarmRoleArn):void 0),ret.addPropertyResult("notificationLambdaArn","NotificationLambdaArn",properties.NotificationLambdaArn!=null?cfn_parse().FromCloudFormation.getString(properties.NotificationLambdaArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPortalPortalTypeEntryPropertyValidator(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("portalTools",cdk().requiredValidator)(properties.portalTools)),errors.collect(cdk().propertyValidator("portalTools",cdk().listValidator(cdk().validateString))(properties.portalTools)),errors.wrap('supplied properties not correct for "PortalTypeEntryProperty"')}function convertCfnPortalPortalTypeEntryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPortalPortalTypeEntryPropertyValidator(properties).assertSuccess(),{PortalTools:cdk().listMapper(cdk().stringToCloudFormation)(properties.portalTools)}):properties}function CfnPortalPortalTypeEntryPropertyFromCloudFormation(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("portalTools","PortalTools",properties.PortalTools!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PortalTools):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPortalPropsValidator(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("alarms",cdk().validateObject)(properties.alarms)),errors.collect(cdk().propertyValidator("notificationSenderEmail",cdk().validateString)(properties.notificationSenderEmail)),errors.collect(cdk().propertyValidator("portalAuthMode",cdk().validateString)(properties.portalAuthMode)),errors.collect(cdk().propertyValidator("portalContactEmail",cdk().requiredValidator)(properties.portalContactEmail)),errors.collect(cdk().propertyValidator("portalContactEmail",cdk().validateString)(properties.portalContactEmail)),errors.collect(cdk().propertyValidator("portalDescription",cdk().validateString)(properties.portalDescription)),errors.collect(cdk().propertyValidator("portalName",cdk().requiredValidator)(properties.portalName)),errors.collect(cdk().propertyValidator("portalName",cdk().validateString)(properties.portalName)),errors.collect(cdk().propertyValidator("portalType",cdk().validateString)(properties.portalType)),errors.collect(cdk().propertyValidator("portalTypeConfiguration",cdk().hashValidator(CfnPortalPortalTypeEntryPropertyValidator))(properties.portalTypeConfiguration)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnPortalProps"')}function convertCfnPortalPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPortalPropsValidator(properties).assertSuccess(),{Alarms:cdk().objectToCloudFormation(properties.alarms),NotificationSenderEmail:cdk().stringToCloudFormation(properties.notificationSenderEmail),PortalAuthMode:cdk().stringToCloudFormation(properties.portalAuthMode),PortalContactEmail:cdk().stringToCloudFormation(properties.portalContactEmail),PortalDescription:cdk().stringToCloudFormation(properties.portalDescription),PortalName:cdk().stringToCloudFormation(properties.portalName),PortalType:cdk().stringToCloudFormation(properties.portalType),PortalTypeConfiguration:cdk().hashMapper(convertCfnPortalPortalTypeEntryPropertyToCloudFormation)(properties.portalTypeConfiguration),RoleArn:cdk().stringToCloudFormation(properties.roleArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnPortalPropsFromCloudFormation(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("alarms","Alarms",properties.Alarms!=null?cfn_parse().FromCloudFormation.getAny(properties.Alarms):void 0),ret.addPropertyResult("notificationSenderEmail","NotificationSenderEmail",properties.NotificationSenderEmail!=null?cfn_parse().FromCloudFormation.getString(properties.NotificationSenderEmail):void 0),ret.addPropertyResult("portalAuthMode","PortalAuthMode",properties.PortalAuthMode!=null?cfn_parse().FromCloudFormation.getString(properties.PortalAuthMode):void 0),ret.addPropertyResult("portalContactEmail","PortalContactEmail",properties.PortalContactEmail!=null?cfn_parse().FromCloudFormation.getString(properties.PortalContactEmail):void 0),ret.addPropertyResult("portalDescription","PortalDescription",properties.PortalDescription!=null?cfn_parse().FromCloudFormation.getString(properties.PortalDescription):void 0),ret.addPropertyResult("portalName","PortalName",properties.PortalName!=null?cfn_parse().FromCloudFormation.getString(properties.PortalName):void 0),ret.addPropertyResult("portalType","PortalType",properties.PortalType!=null?cfn_parse().FromCloudFormation.getString(properties.PortalType):void 0),ret.addPropertyResult("portalTypeConfiguration","PortalTypeConfiguration",properties.PortalTypeConfiguration!=null?cfn_parse().FromCloudFormation.getMap(CfnPortalPortalTypeEntryPropertyFromCloudFormation)(properties.PortalTypeConfiguration):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.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnProject extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotsitewise.CfnProject",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTSiteWise::Project";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnProjectPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnProject(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 isCfnProject(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnProject.CFN_RESOURCE_TYPE_NAME}static fromProjectArn(scope,id,arn){class Import extends cdk().Resource{projectRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}").parse(arn2);this.projectRef={projectId:variables.ProjectId,projectArn:arn2}}}return new Import(scope,id,arn)}static fromProjectId(scope,id,projectId){class Import extends cdk().Resource{projectRef;constructor(scope2,id2,projectId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,ProjectId:projectId2});super(scope2,id2,{environmentFromArn:arn}),this.projectRef={projectId:projectId2,projectArn:arn}}}return new Import(scope,id,projectId)}static arnForProject(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotsitewise_IProjectRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForProject),error}return resource.projectRef.projectArn}attrProjectArn;attrProjectId;assetIds;portalId;projectDescription;projectName;tags;tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnProject.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotsitewise_CfnProjectProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnProject),error}cdk().requireProperty(props,"portalId",this),cdk().requireProperty(props,"projectName",this),this.attrProjectArn=cdk().Token.asString(this.getAtt("ProjectArn",cdk().ResolutionTypeHint.STRING)),this.attrProjectId=cdk().Token.asString(this.getAtt("ProjectId",cdk().ResolutionTypeHint.STRING)),this.assetIds=props.assetIds,this.portalId=props.portalId,this.projectDescription=props.projectDescription,this.projectName=props.projectName,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTSiteWise::Project",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get projectRef(){return{projectId:this.ref,projectArn:this.attrProjectArn}}get cfnProperties(){return{assetIds:this.assetIds,portalId:this.portalId,projectDescription:this.projectDescription,projectName:this.projectName,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",CfnProject.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnProjectPropsToCloudFormation(props)}}exports.CfnProject=CfnProject;function CfnProjectPropsValidator(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("assetIds",cdk().listValidator(cdk().validateString))(properties.assetIds)),errors.collect(cdk().propertyValidator("portalId",cdk().requiredValidator)(properties.portalId)),errors.collect(cdk().propertyValidator("portalId",cdk().validateString)(properties.portalId)),errors.collect(cdk().propertyValidator("projectDescription",cdk().validateString)(properties.projectDescription)),errors.collect(cdk().propertyValidator("projectName",cdk().requiredValidator)(properties.projectName)),errors.collect(cdk().propertyValidator("projectName",cdk().validateString)(properties.projectName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnProjectProps"')}function convertCfnProjectPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnProjectPropsValidator(properties).assertSuccess(),{AssetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.assetIds),PortalId:cdk().stringToCloudFormation(properties.portalId),ProjectDescription:cdk().stringToCloudFormation(properties.projectDescription),ProjectName:cdk().stringToCloudFormation(properties.projectName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnProjectPropsFromCloudFormation(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("assetIds","AssetIds",properties.AssetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AssetIds):void 0),ret.addPropertyResult("portalId","PortalId",properties.PortalId!=null?cfn_parse().FromCloudFormation.getString(properties.PortalId):void 0),ret.addPropertyResult("projectDescription","ProjectDescription",properties.ProjectDescription!=null?cfn_parse().FromCloudFormation.getString(properties.ProjectDescription):void 0),ret.addPropertyResult("projectName","ProjectName",properties.ProjectName!=null?cfn_parse().FromCloudFormation.getString(properties.ProjectName):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 CfnComputationModel extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotsitewise.CfnComputationModel",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTSiteWise::ComputationModel";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnComputationModelPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnComputationModel(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 isCfnComputationModel(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnComputationModel.CFN_RESOURCE_TYPE_NAME}static fromComputationModelArn(scope,id,arn){class Import extends cdk().Resource{computationModelRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:computation-model/${ComputationModelId}").parse(arn2);this.computationModelRef={computationModelId:variables.ComputationModelId,computationModelArn:arn2}}}return new Import(scope,id,arn)}static fromComputationModelId(scope,id,computationModelId){class Import extends cdk().Resource{computationModelRef;constructor(scope2,id2,computationModelId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:computation-model/${ComputationModelId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,ComputationModelId:computationModelId2});super(scope2,id2,{environmentFromArn:arn}),this.computationModelRef={computationModelId:computationModelId2,computationModelArn:arn}}}return new Import(scope,id,computationModelId)}static arnForComputationModel(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotsitewise_IComputationModelRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForComputationModel),error}return resource.computationModelRef.computationModelArn}attrComputationModelArn;attrComputationModelId;cdkTagManager;computationModelConfiguration;computationModelDataBinding;computationModelDescription;computationModelName;tags;constructor(scope,id,props){super(scope,id,{type:CfnComputationModel.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotsitewise_CfnComputationModelProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnComputationModel),error}cdk().requireProperty(props,"computationModelConfiguration",this),cdk().requireProperty(props,"computationModelDataBinding",this),cdk().requireProperty(props,"computationModelName",this),this.attrComputationModelArn=cdk().Token.asString(this.getAtt("ComputationModelArn",cdk().ResolutionTypeHint.STRING)),this.attrComputationModelId=cdk().Token.asString(this.getAtt("ComputationModelId",cdk().ResolutionTypeHint.STRING)),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTSiteWise::ComputationModel",void 0,{tagPropertyName:"tags"}),this.computationModelConfiguration=props.computationModelConfiguration,this.computationModelDataBinding=props.computationModelDataBinding,this.computationModelDescription=props.computationModelDescription,this.computationModelName=props.computationModelName,this.tags=props.tags}get computationModelRef(){return{computationModelId:this.ref,computationModelArn:this.attrComputationModelArn}}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),computationModelConfiguration:this.computationModelConfiguration,computationModelDataBinding:this.computationModelDataBinding,computationModelDescription:this.computationModelDescription,computationModelName:this.computationModelName}}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",CfnComputationModel.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnComputationModelPropsToCloudFormation(props)}}exports.CfnComputationModel=CfnComputationModel;function CfnComputationModelAnomalyDetectionComputationModelConfigurationPropertyValidator(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("inputProperties",cdk().requiredValidator)(properties.inputProperties)),errors.collect(cdk().propertyValidator("inputProperties",cdk().validateString)(properties.inputProperties)),errors.collect(cdk().propertyValidator("resultProperty",cdk().requiredValidator)(properties.resultProperty)),errors.collect(cdk().propertyValidator("resultProperty",cdk().validateString)(properties.resultProperty)),errors.wrap('supplied properties not correct for "AnomalyDetectionComputationModelConfigurationProperty"')}function convertCfnComputationModelAnomalyDetectionComputationModelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputationModelAnomalyDetectionComputationModelConfigurationPropertyValidator(properties).assertSuccess(),{InputProperties:cdk().stringToCloudFormation(properties.inputProperties),ResultProperty:cdk().stringToCloudFormation(properties.resultProperty)}):properties}function CfnComputationModelAnomalyDetectionComputationModelConfigurationPropertyFromCloudFormation(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("inputProperties","InputProperties",properties.InputProperties!=null?cfn_parse().FromCloudFormation.getString(properties.InputProperties):void 0),ret.addPropertyResult("resultProperty","ResultProperty",properties.ResultProperty!=null?cfn_parse().FromCloudFormation.getString(properties.ResultProperty):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComputationModelComputationModelConfigurationPropertyValidator(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("anomalyDetection",CfnComputationModelAnomalyDetectionComputationModelConfigurationPropertyValidator)(properties.anomalyDetection)),errors.wrap('supplied properties not correct for "ComputationModelConfigurationProperty"')}function convertCfnComputationModelComputationModelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputationModelComputationModelConfigurationPropertyValidator(properties).assertSuccess(),{AnomalyDetection:convertCfnComputationModelAnomalyDetectionComputationModelConfigurationPropertyToCloudFormation(properties.anomalyDetection)}):properties}function CfnComputationModelComputationModelConfigurationPropertyFromCloudFormation(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("anomalyDetection","AnomalyDetection",properties.AnomalyDetection!=null?CfnComputationModelAnomalyDetectionComputationModelConfigurationPropertyFromCloudFormation(properties.AnomalyDetection):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComputationModelAssetModelPropertyBindingValuePropertyValidator(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("assetModelId",cdk().requiredValidator)(properties.assetModelId)),errors.collect(cdk().propertyValidator("assetModelId",cdk().validateString)(properties.assetModelId)),errors.collect(cdk().propertyValidator("propertyId",cdk().requiredValidator)(properties.propertyId)),errors.collect(cdk().propertyValidator("propertyId",cdk().validateString)(properties.propertyId)),errors.wrap('supplied properties not correct for "AssetModelPropertyBindingValueProperty"')}function convertCfnComputationModelAssetModelPropertyBindingValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputationModelAssetModelPropertyBindingValuePropertyValidator(properties).assertSuccess(),{AssetModelId:cdk().stringToCloudFormation(properties.assetModelId),PropertyId:cdk().stringToCloudFormation(properties.propertyId)}):properties}function CfnComputationModelAssetModelPropertyBindingValuePropertyFromCloudFormation(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("assetModelId","AssetModelId",properties.AssetModelId!=null?cfn_parse().FromCloudFormation.getString(properties.AssetModelId):void 0),ret.addPropertyResult("propertyId","PropertyId",properties.PropertyId!=null?cfn_parse().FromCloudFormation.getString(properties.PropertyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComputationModelAssetPropertyBindingValuePropertyValidator(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("assetId",cdk().requiredValidator)(properties.assetId)),errors.collect(cdk().propertyValidator("assetId",cdk().validateString)(properties.assetId)),errors.collect(cdk().propertyValidator("propertyId",cdk().requiredValidator)(properties.propertyId)),errors.collect(cdk().propertyValidator("propertyId",cdk().validateString)(properties.propertyId)),errors.wrap('supplied properties not correct for "AssetPropertyBindingValueProperty"')}function convertCfnComputationModelAssetPropertyBindingValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputationModelAssetPropertyBindingValuePropertyValidator(properties).assertSuccess(),{AssetId:cdk().stringToCloudFormation(properties.assetId),PropertyId:cdk().stringToCloudFormation(properties.propertyId)}):properties}function CfnComputationModelAssetPropertyBindingValuePropertyFromCloudFormation(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("assetId","AssetId",properties.AssetId!=null?cfn_parse().FromCloudFormation.getString(properties.AssetId):void 0),ret.addPropertyResult("propertyId","PropertyId",properties.PropertyId!=null?cfn_parse().FromCloudFormation.getString(properties.PropertyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComputationModelComputationModelDataBindingValuePropertyValidator(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("assetModelProperty",CfnComputationModelAssetModelPropertyBindingValuePropertyValidator)(properties.assetModelProperty)),errors.collect(cdk().propertyValidator("assetProperty",CfnComputationModelAssetPropertyBindingValuePropertyValidator)(properties.assetProperty)),errors.collect(cdk().propertyValidator("list",cdk().listValidator(CfnComputationModelComputationModelDataBindingValuePropertyValidator))(properties.list)),errors.wrap('supplied properties not correct for "ComputationModelDataBindingValueProperty"')}function convertCfnComputationModelComputationModelDataBindingValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputationModelComputationModelDataBindingValuePropertyValidator(properties).assertSuccess(),{AssetModelProperty:convertCfnComputationModelAssetModelPropertyBindingValuePropertyToCloudFormation(properties.assetModelProperty),AssetProperty:convertCfnComputationModelAssetPropertyBindingValuePropertyToCloudFormation(properties.assetProperty),List:cdk().listMapper(convertCfnComputationModelComputationModelDataBindingValuePropertyToCloudFormation)(properties.list)}):properties}function CfnComputationModelComputationModelDataBindingValuePropertyFromCloudFormation(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("assetModelProperty","AssetModelProperty",properties.AssetModelProperty!=null?CfnComputationModelAssetModelPropertyBindingValuePropertyFromCloudFormation(properties.AssetModelProperty):void 0),ret.addPropertyResult("assetProperty","AssetProperty",properties.AssetProperty!=null?CfnComputationModelAssetPropertyBindingValuePropertyFromCloudFormation(properties.AssetProperty):void 0),ret.addPropertyResult("list","List",properties.List!=null?cfn_parse().FromCloudFormation.getArray(CfnComputationModelComputationModelDataBindingValuePropertyFromCloudFormation)(properties.List):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComputationModelPropsValidator(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("computationModelConfiguration",cdk().requiredValidator)(properties.computationModelConfiguration)),errors.collect(cdk().propertyValidator("computationModelConfiguration",CfnComputationModelComputationModelConfigurationPropertyValidator)(properties.computationModelConfiguration)),errors.collect(cdk().propertyValidator("computationModelDataBinding",cdk().requiredValidator)(properties.computationModelDataBinding)),errors.collect(cdk().propertyValidator("computationModelDataBinding",cdk().hashValidator(CfnComputationModelComputationModelDataBindingValuePropertyValidator))(properties.computationModelDataBinding)),errors.collect(cdk().propertyValidator("computationModelDescription",cdk().validateString)(properties.computationModelDescription)),errors.collect(cdk().propertyValidator("computationModelName",cdk().requiredValidator)(properties.computationModelName)),errors.collect(cdk().propertyValidator("computationModelName",cdk().validateString)(properties.computationModelName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnComputationModelProps"')}function convertCfnComputationModelPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputationModelPropsValidator(properties).assertSuccess(),{ComputationModelConfiguration:convertCfnComputationModelComputationModelConfigurationPropertyToCloudFormation(properties.computationModelConfiguration),ComputationModelDataBinding:cdk().hashMapper(convertCfnComputationModelComputationModelDataBindingValuePropertyToCloudFormation)(properties.computationModelDataBinding),ComputationModelDescription:cdk().stringToCloudFormation(properties.computationModelDescription),ComputationModelName:cdk().stringToCloudFormation(properties.computationModelName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnComputationModelPropsFromCloudFormation(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("computationModelConfiguration","ComputationModelConfiguration",properties.ComputationModelConfiguration!=null?CfnComputationModelComputationModelConfigurationPropertyFromCloudFormation(properties.ComputationModelConfiguration):void 0),ret.addPropertyResult("computationModelDataBinding","ComputationModelDataBinding",properties.ComputationModelDataBinding!=null?cfn_parse().FromCloudFormation.getMap(CfnComputationModelComputationModelDataBindingValuePropertyFromCloudFormation)(properties.ComputationModelDataBinding):void 0),ret.addPropertyResult("computationModelDescription","ComputationModelDescription",properties.ComputationModelDescription!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationModelDescription):void 0),ret.addPropertyResult("computationModelName","ComputationModelName",properties.ComputationModelName!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationModelName):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 CfnDataset extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotsitewise.CfnDataset",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTSiteWise::Dataset";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDatasetPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnDataset(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 isCfnDataset(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDataset.CFN_RESOURCE_TYPE_NAME}static fromDatasetArn(scope,id,arn){class Import extends cdk().Resource{datasetRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:dataset/${DatasetId}").parse(arn2);this.datasetRef={datasetId:variables.DatasetId,datasetArn:arn2}}}return new Import(scope,id,arn)}static fromDatasetId(scope,id,datasetId){class Import extends cdk().Resource{datasetRef;constructor(scope2,id2,datasetId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotsitewise:${Region}:${Account}:dataset/${DatasetId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,DatasetId:datasetId2});super(scope2,id2,{environmentFromArn:arn}),this.datasetRef={datasetId:datasetId2,datasetArn:arn}}}return new Import(scope,id,datasetId)}static arnForDataset(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotsitewise_IDatasetRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDataset),error}return resource.datasetRef.datasetArn}attrDatasetArn;attrDatasetId;cdkTagManager;datasetDescription;datasetName;datasetSource;tags;constructor(scope,id,props){super(scope,id,{type:CfnDataset.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotsitewise_CfnDatasetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataset),error}cdk().requireProperty(props,"datasetName",this),cdk().requireProperty(props,"datasetSource",this),this.attrDatasetArn=cdk().Token.asString(this.getAtt("DatasetArn",cdk().ResolutionTypeHint.STRING)),this.attrDatasetId=cdk().Token.asString(this.getAtt("DatasetId",cdk().ResolutionTypeHint.STRING)),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTSiteWise::Dataset",void 0,{tagPropertyName:"tags"}),this.datasetDescription=props.datasetDescription,this.datasetName=props.datasetName,this.datasetSource=props.datasetSource,this.tags=props.tags}get datasetRef(){return{datasetId:this.ref,datasetArn:this.attrDatasetArn}}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),datasetDescription:this.datasetDescription,datasetName:this.datasetName,datasetSource:this.datasetSource}}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",CfnDataset.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDatasetPropsToCloudFormation(props)}}exports.CfnDataset=CfnDataset;function CfnDatasetKendraSourceDetailPropertyValidator(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("knowledgeBaseArn",cdk().requiredValidator)(properties.knowledgeBaseArn)),errors.collect(cdk().propertyValidator("knowledgeBaseArn",cdk().validateString)(properties.knowledgeBaseArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "KendraSourceDetailProperty"')}function convertCfnDatasetKendraSourceDetailPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDatasetKendraSourceDetailPropertyValidator(properties).assertSuccess(),{KnowledgeBaseArn:cdk().stringToCloudFormation(properties.knowledgeBaseArn),RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnDatasetKendraSourceDetailPropertyFromCloudFormation(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("knowledgeBaseArn","KnowledgeBaseArn",properties.KnowledgeBaseArn!=null?cfn_parse().FromCloudFormation.getString(properties.KnowledgeBaseArn):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDatasetSourceDetailPropertyValidator(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("kendra",CfnDatasetKendraSourceDetailPropertyValidator)(properties.kendra)),errors.wrap('supplied properties not correct for "SourceDetailProperty"')}function convertCfnDatasetSourceDetailPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDatasetSourceDetailPropertyValidator(properties).assertSuccess(),{Kendra:convertCfnDatasetKendraSourceDetailPropertyToCloudFormation(properties.kendra)}):properties}function CfnDatasetSourceDetailPropertyFromCloudFormation(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("kendra","Kendra",properties.Kendra!=null?CfnDatasetKendraSourceDetailPropertyFromCloudFormation(properties.Kendra):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDatasetDatasetSourcePropertyValidator(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("sourceDetail",CfnDatasetSourceDetailPropertyValidator)(properties.sourceDetail)),errors.collect(cdk().propertyValidator("sourceFormat",cdk().requiredValidator)(properties.sourceFormat)),errors.collect(cdk().propertyValidator("sourceFormat",cdk().validateString)(properties.sourceFormat)),errors.collect(cdk().propertyValidator("sourceType",cdk().requiredValidator)(properties.sourceType)),errors.collect(cdk().propertyValidator("sourceType",cdk().validateString)(properties.sourceType)),errors.wrap('supplied properties not correct for "DatasetSourceProperty"')}function convertCfnDatasetDatasetSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDatasetDatasetSourcePropertyValidator(properties).assertSuccess(),{SourceDetail:convertCfnDatasetSourceDetailPropertyToCloudFormation(properties.sourceDetail),SourceFormat:cdk().stringToCloudFormation(properties.sourceFormat),SourceType:cdk().stringToCloudFormation(properties.sourceType)}):properties}function CfnDatasetDatasetSourcePropertyFromCloudFormation(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("sourceDetail","SourceDetail",properties.SourceDetail!=null?CfnDatasetSourceDetailPropertyFromCloudFormation(properties.SourceDetail):void 0),ret.addPropertyResult("sourceFormat","SourceFormat",properties.SourceFormat!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFormat):void 0),ret.addPropertyResult("sourceType","SourceType",properties.SourceType!=null?cfn_parse().FromCloudFormation.getString(properties.SourceType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDatasetPropsValidator(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("datasetDescription",cdk().validateString)(properties.datasetDescription)),errors.collect(cdk().propertyValidator("datasetName",cdk().requiredValidator)(properties.datasetName)),errors.collect(cdk().propertyValidator("datasetName",cdk().validateString)(properties.datasetName)),errors.collect(cdk().propertyValidator("datasetSource",cdk().requiredValidator)(properties.datasetSource)),errors.collect(cdk().propertyValidator("datasetSource",CfnDatasetDatasetSourcePropertyValidator)(properties.datasetSource)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDatasetProps"')}function convertCfnDatasetPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDatasetPropsValidator(properties).assertSuccess(),{DatasetDescription:cdk().stringToCloudFormation(properties.datasetDescription),DatasetName:cdk().stringToCloudFormation(properties.datasetName),DatasetSource:convertCfnDatasetDatasetSourcePropertyToCloudFormation(properties.datasetSource),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDatasetPropsFromCloudFormation(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("datasetDescription","DatasetDescription",properties.DatasetDescription!=null?cfn_parse().FromCloudFormation.getString(properties.DatasetDescription):void 0),ret.addPropertyResult("datasetName","DatasetName",properties.DatasetName!=null?cfn_parse().FromCloudFormation.getString(properties.DatasetName):void 0),ret.addPropertyResult("datasetSource","DatasetSource",properties.DatasetSource!=null?CfnDatasetDatasetSourcePropertyFromCloudFormation(properties.DatasetSource):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}