aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 55.1 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnVPCEConfiguration=exports.CfnTestGridProject=exports.CfnProject=exports.CfnNetworkProfile=exports.CfnInstanceProfile=exports.CfnDevicePool=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 CfnDevicePool extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_devicefarm.CfnDevicePool",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DeviceFarm::DevicePool";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDevicePoolPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDevicePool(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 isCfnDevicePool(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDevicePool.CFN_RESOURCE_TYPE_NAME}static arnForDevicePool(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_devicefarm_IDevicePoolRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDevicePool),error}return resource.devicePoolRef.devicePoolArn}_description;_maxDevices;_name;_projectArn;_rules;tags;_tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnDevicePool.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_devicefarm_CfnDevicePoolProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDevicePool),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"projectArn",this),cdk().requireProperty(props,"rules",this),this._description=props.description,this._maxDevices=props.maxDevices,this._name=props.name,this._projectArn=props.projectArn,this._rules=props.rules,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DeviceFarm::DevicePool",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get devicePoolRef(){return{devicePoolArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get maxDevices(){return this._maxDevices}set maxDevices(value){cdk().traceProperty(this.node,"MaxDevices"),this._maxDevices=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get projectArn(){return this._projectArn}set projectArn(value){cdk().traceProperty(this.node,"ProjectArn"),this._projectArn=value}get rules(){return this._rules}set rules(value){cdk().traceProperty(this.node,"Rules"),this._rules=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,maxDevices:this._maxDevices,name:this._name,projectArn:this._projectArn,rules:this._rules,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",CfnDevicePool.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDevicePoolPropsToCloudFormation(props)}}exports.CfnDevicePool=CfnDevicePool;function CfnDevicePoolRulePropertyValidator(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",cdk().validateString)(properties.attribute)),errors.collect(cdk().propertyValidator("operator",cdk().validateString)(properties.operator)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "RuleProperty"')}function convertCfnDevicePoolRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDevicePoolRulePropertyValidator(properties).assertSuccess(),{Attribute:cdk().stringToCloudFormation(properties.attribute),Operator:cdk().stringToCloudFormation(properties.operator),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnDevicePoolRulePropertyFromCloudFormation(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?cfn_parse().FromCloudFormation.getString(properties.Attribute):void 0),ret.addPropertyResult("operator","Operator",properties.Operator!=null?cfn_parse().FromCloudFormation.getString(properties.Operator):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDevicePoolPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("maxDevices",cdk().validateNumber)(properties.maxDevices)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("projectArn",cdk().requiredValidator)(properties.projectArn)),errors.collect(cdk().propertyValidator("projectArn",cdk().validateString)(properties.projectArn)),errors.collect(cdk().propertyValidator("rules",cdk().requiredValidator)(properties.rules)),errors.collect(cdk().propertyValidator("rules",cdk().listValidator(CfnDevicePoolRulePropertyValidator))(properties.rules)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDevicePoolProps"')}function convertCfnDevicePoolPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDevicePoolPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),MaxDevices:cdk().numberToCloudFormation(properties.maxDevices),Name:cdk().stringToCloudFormation(properties.name),ProjectArn:cdk().stringToCloudFormation(properties.projectArn),Rules:cdk().listMapper(convertCfnDevicePoolRulePropertyToCloudFormation)(properties.rules),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDevicePoolPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("maxDevices","MaxDevices",properties.MaxDevices!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxDevices):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("projectArn","ProjectArn",properties.ProjectArn!=null?cfn_parse().FromCloudFormation.getString(properties.ProjectArn):void 0),ret.addPropertyResult("rules","Rules",properties.Rules!=null?cfn_parse().FromCloudFormation.getArray(CfnDevicePoolRulePropertyFromCloudFormation)(properties.Rules):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 CfnInstanceProfile extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_devicefarm.CfnInstanceProfile",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DeviceFarm::InstanceProfile";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnInstanceProfilePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnInstanceProfile(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 isCfnInstanceProfile(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnInstanceProfile.CFN_RESOURCE_TYPE_NAME}static arnForInstanceProfile(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_devicefarm_IInstanceProfileRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForInstanceProfile),error}return resource.instanceProfileRef.instanceProfileArn}_description;_excludeAppPackagesFromCleanup;_name;_packageCleanup;_rebootAfterUse;tags;_tagsRaw;constructor(scope,id,props){super(scope,id,{type:CfnInstanceProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_devicefarm_CfnInstanceProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnInstanceProfile),error}cdk().requireProperty(props,"name",this),this._description=props.description,this._excludeAppPackagesFromCleanup=props.excludeAppPackagesFromCleanup,this._name=props.name,this._packageCleanup=props.packageCleanup,this._rebootAfterUse=props.rebootAfterUse,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DeviceFarm::InstanceProfile",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get instanceProfileRef(){return{instanceProfileArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get excludeAppPackagesFromCleanup(){return this._excludeAppPackagesFromCleanup}set excludeAppPackagesFromCleanup(value){cdk().traceProperty(this.node,"ExcludeAppPackagesFromCleanup"),this._excludeAppPackagesFromCleanup=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get packageCleanup(){return this._packageCleanup}set packageCleanup(value){cdk().traceProperty(this.node,"PackageCleanup"),this._packageCleanup=value}get rebootAfterUse(){return this._rebootAfterUse}set rebootAfterUse(value){cdk().traceProperty(this.node,"RebootAfterUse"),this._rebootAfterUse=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,excludeAppPackagesFromCleanup:this._excludeAppPackagesFromCleanup,name:this._name,packageCleanup:this._packageCleanup,rebootAfterUse:this._rebootAfterUse,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",CfnInstanceProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnInstanceProfilePropsToCloudFormation(props)}}exports.CfnInstanceProfile=CfnInstanceProfile;function CfnInstanceProfilePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("excludeAppPackagesFromCleanup",cdk().listValidator(cdk().validateString))(properties.excludeAppPackagesFromCleanup)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("packageCleanup",cdk().validateBoolean)(properties.packageCleanup)),errors.collect(cdk().propertyValidator("rebootAfterUse",cdk().validateBoolean)(properties.rebootAfterUse)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnInstanceProfileProps"')}function convertCfnInstanceProfilePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInstanceProfilePropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),ExcludeAppPackagesFromCleanup:cdk().listMapper(cdk().stringToCloudFormation)(properties.excludeAppPackagesFromCleanup),Name:cdk().stringToCloudFormation(properties.name),PackageCleanup:cdk().booleanToCloudFormation(properties.packageCleanup),RebootAfterUse:cdk().booleanToCloudFormation(properties.rebootAfterUse),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnInstanceProfilePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("excludeAppPackagesFromCleanup","ExcludeAppPackagesFromCleanup",properties.ExcludeAppPackagesFromCleanup!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExcludeAppPackagesFromCleanup):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("packageCleanup","PackageCleanup",properties.PackageCleanup!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PackageCleanup):void 0),ret.addPropertyResult("rebootAfterUse","RebootAfterUse",properties.RebootAfterUse!=null?cfn_parse().FromCloudFormation.getBoolean(properties.RebootAfterUse):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 CfnNetworkProfile extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_devicefarm.CfnNetworkProfile",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DeviceFarm::NetworkProfile";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnNetworkProfilePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnNetworkProfile(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 isCfnNetworkProfile(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnNetworkProfile.CFN_RESOURCE_TYPE_NAME}static arnForNetworkProfile(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_devicefarm_INetworkProfileRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForNetworkProfile),error}return resource.networkProfileRef.networkProfileArn}_description;_downlinkBandwidthBits;_downlinkDelayMs;_downlinkJitterMs;_downlinkLossPercent;_name;_projectArn;tags;_tagsRaw;_uplinkBandwidthBits;_uplinkDelayMs;_uplinkJitterMs;_uplinkLossPercent;constructor(scope,id,props){super(scope,id,{type:CfnNetworkProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_devicefarm_CfnNetworkProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnNetworkProfile),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"projectArn",this),this._description=props.description,this._downlinkBandwidthBits=props.downlinkBandwidthBits,this._downlinkDelayMs=props.downlinkDelayMs,this._downlinkJitterMs=props.downlinkJitterMs,this._downlinkLossPercent=props.downlinkLossPercent,this._name=props.name,this._projectArn=props.projectArn,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DeviceFarm::NetworkProfile",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._uplinkBandwidthBits=props.uplinkBandwidthBits,this._uplinkDelayMs=props.uplinkDelayMs,this._uplinkJitterMs=props.uplinkJitterMs,this._uplinkLossPercent=props.uplinkLossPercent}get networkProfileRef(){return{networkProfileArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get downlinkBandwidthBits(){return this._downlinkBandwidthBits}set downlinkBandwidthBits(value){cdk().traceProperty(this.node,"DownlinkBandwidthBits"),this._downlinkBandwidthBits=value}get downlinkDelayMs(){return this._downlinkDelayMs}set downlinkDelayMs(value){cdk().traceProperty(this.node,"DownlinkDelayMs"),this._downlinkDelayMs=value}get downlinkJitterMs(){return this._downlinkJitterMs}set downlinkJitterMs(value){cdk().traceProperty(this.node,"DownlinkJitterMs"),this._downlinkJitterMs=value}get downlinkLossPercent(){return this._downlinkLossPercent}set downlinkLossPercent(value){cdk().traceProperty(this.node,"DownlinkLossPercent"),this._downlinkLossPercent=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get projectArn(){return this._projectArn}set projectArn(value){cdk().traceProperty(this.node,"ProjectArn"),this._projectArn=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get uplinkBandwidthBits(){return this._uplinkBandwidthBits}set uplinkBandwidthBits(value){cdk().traceProperty(this.node,"UplinkBandwidthBits"),this._uplinkBandwidthBits=value}get uplinkDelayMs(){return this._uplinkDelayMs}set uplinkDelayMs(value){cdk().traceProperty(this.node,"UplinkDelayMs"),this._uplinkDelayMs=value}get uplinkJitterMs(){return this._uplinkJitterMs}set uplinkJitterMs(value){cdk().traceProperty(this.node,"UplinkJitterMs"),this._uplinkJitterMs=value}get uplinkLossPercent(){return this._uplinkLossPercent}set uplinkLossPercent(value){cdk().traceProperty(this.node,"UplinkLossPercent"),this._uplinkLossPercent=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,downlinkBandwidthBits:this._downlinkBandwidthBits,downlinkDelayMs:this._downlinkDelayMs,downlinkJitterMs:this._downlinkJitterMs,downlinkLossPercent:this._downlinkLossPercent,name:this._name,projectArn:this._projectArn,tags:this.tags.renderTags(),uplinkBandwidthBits:this._uplinkBandwidthBits,uplinkDelayMs:this._uplinkDelayMs,uplinkJitterMs:this._uplinkJitterMs,uplinkLossPercent:this._uplinkLossPercent}}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",CfnNetworkProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnNetworkProfilePropsToCloudFormation(props)}}exports.CfnNetworkProfile=CfnNetworkProfile;function CfnNetworkProfilePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("downlinkBandwidthBits",cdk().validateNumber)(properties.downlinkBandwidthBits)),errors.collect(cdk().propertyValidator("downlinkDelayMs",cdk().validateNumber)(properties.downlinkDelayMs)),errors.collect(cdk().propertyValidator("downlinkJitterMs",cdk().validateNumber)(properties.downlinkJitterMs)),errors.collect(cdk().propertyValidator("downlinkLossPercent",cdk().validateNumber)(properties.downlinkLossPercent)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("projectArn",cdk().requiredValidator)(properties.projectArn)),errors.collect(cdk().propertyValidator("projectArn",cdk().validateString)(properties.projectArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("uplinkBandwidthBits",cdk().validateNumber)(properties.uplinkBandwidthBits)),errors.collect(cdk().propertyValidator("uplinkDelayMs",cdk().validateNumber)(properties.uplinkDelayMs)),errors.collect(cdk().propertyValidator("uplinkJitterMs",cdk().validateNumber)(properties.uplinkJitterMs)),errors.collect(cdk().propertyValidator("uplinkLossPercent",cdk().validateNumber)(properties.uplinkLossPercent)),errors.wrap('supplied properties not correct for "CfnNetworkProfileProps"')}function convertCfnNetworkProfilePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNetworkProfilePropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),DownlinkBandwidthBits:cdk().numberToCloudFormation(properties.downlinkBandwidthBits),DownlinkDelayMs:cdk().numberToCloudFormation(properties.downlinkDelayMs),DownlinkJitterMs:cdk().numberToCloudFormation(properties.downlinkJitterMs),DownlinkLossPercent:cdk().numberToCloudFormation(properties.downlinkLossPercent),Name:cdk().stringToCloudFormation(properties.name),ProjectArn:cdk().stringToCloudFormation(properties.projectArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),UplinkBandwidthBits:cdk().numberToCloudFormation(properties.uplinkBandwidthBits),UplinkDelayMs:cdk().numberToCloudFormation(properties.uplinkDelayMs),UplinkJitterMs:cdk().numberToCloudFormation(properties.uplinkJitterMs),UplinkLossPercent:cdk().numberToCloudFormation(properties.uplinkLossPercent)}):properties}function CfnNetworkProfilePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("downlinkBandwidthBits","DownlinkBandwidthBits",properties.DownlinkBandwidthBits!=null?cfn_parse().FromCloudFormation.getNumber(properties.DownlinkBandwidthBits):void 0),ret.addPropertyResult("downlinkDelayMs","DownlinkDelayMs",properties.DownlinkDelayMs!=null?cfn_parse().FromCloudFormation.getNumber(properties.DownlinkDelayMs):void 0),ret.addPropertyResult("downlinkJitterMs","DownlinkJitterMs",properties.DownlinkJitterMs!=null?cfn_parse().FromCloudFormation.getNumber(properties.DownlinkJitterMs):void 0),ret.addPropertyResult("downlinkLossPercent","DownlinkLossPercent",properties.DownlinkLossPercent!=null?cfn_parse().FromCloudFormation.getNumber(properties.DownlinkLossPercent):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("projectArn","ProjectArn",properties.ProjectArn!=null?cfn_parse().FromCloudFormation.getString(properties.ProjectArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("uplinkBandwidthBits","UplinkBandwidthBits",properties.UplinkBandwidthBits!=null?cfn_parse().FromCloudFormation.getNumber(properties.UplinkBandwidthBits):void 0),ret.addPropertyResult("uplinkDelayMs","UplinkDelayMs",properties.UplinkDelayMs!=null?cfn_parse().FromCloudFormation.getNumber(properties.UplinkDelayMs):void 0),ret.addPropertyResult("uplinkJitterMs","UplinkJitterMs",properties.UplinkJitterMs!=null?cfn_parse().FromCloudFormation.getNumber(properties.UplinkJitterMs):void 0),ret.addPropertyResult("uplinkLossPercent","UplinkLossPercent",properties.UplinkLossPercent!=null?cfn_parse().FromCloudFormation.getNumber(properties.UplinkLossPercent):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnProject extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_devicefarm.CfnProject",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DeviceFarm::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(cfn_parse().lit`UnexpectedIResolvable`,"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 arnForProject(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_devicefarm_IProjectRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForProject),error}return resource.projectRef.projectArn}_defaultJobTimeoutMinutes;_environmentVariables;_executionRoleArn;_name;tags;_tagsRaw;_vpcConfig;constructor(scope,id,props){super(scope,id,{type:CfnProject.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_devicefarm_CfnProjectProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnProject),error}cdk().requireProperty(props,"name",this),this._defaultJobTimeoutMinutes=props.defaultJobTimeoutMinutes,this._environmentVariables=props.environmentVariables,this._executionRoleArn=props.executionRoleArn,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DeviceFarm::Project",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._vpcConfig=props.vpcConfig}get projectRef(){return{projectArn:this.ref}}get defaultJobTimeoutMinutes(){return this._defaultJobTimeoutMinutes}set defaultJobTimeoutMinutes(value){cdk().traceProperty(this.node,"DefaultJobTimeoutMinutes"),this._defaultJobTimeoutMinutes=value}get environmentVariables(){return this._environmentVariables}set environmentVariables(value){cdk().traceProperty(this.node,"EnvironmentVariables"),this._environmentVariables=value}get executionRoleArn(){return this._executionRoleArn}set executionRoleArn(value){cdk().traceProperty(this.node,"ExecutionRoleArn"),this._executionRoleArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get vpcConfig(){return this._vpcConfig}set vpcConfig(value){cdk().traceProperty(this.node,"VpcConfig"),this._vpcConfig=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{defaultJobTimeoutMinutes:this._defaultJobTimeoutMinutes,environmentVariables:this._environmentVariables,executionRoleArn:this._executionRoleArn,name:this._name,tags:this.tags.renderTags(),vpcConfig:this._vpcConfig}}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnProjectPropsToCloudFormation(props)}}exports.CfnProject=CfnProject;function CfnProjectVpcConfigPropertyValidator(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("securityGroupIds",cdk().requiredValidator)(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().requiredValidator)(properties.subnetIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.collect(cdk().propertyValidator("vpcId",cdk().requiredValidator)(properties.vpcId)),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "VpcConfigProperty"')}function convertCfnProjectVpcConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnProjectVpcConfigPropertyValidator(properties).assertSuccess(),{SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnProjectVpcConfigPropertyFromCloudFormation(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("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnProjectEnvironmentVariablePropertyValidator(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",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "EnvironmentVariableProperty"')}function convertCfnProjectEnvironmentVariablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnProjectEnvironmentVariablePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnProjectEnvironmentVariablePropertyFromCloudFormation(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?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}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("defaultJobTimeoutMinutes",cdk().validateNumber)(properties.defaultJobTimeoutMinutes)),errors.collect(cdk().propertyValidator("environmentVariables",cdk().listValidator(CfnProjectEnvironmentVariablePropertyValidator))(properties.environmentVariables)),errors.collect(cdk().propertyValidator("executionRoleArn",cdk().validateString)(properties.executionRoleArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("vpcConfig",CfnProjectVpcConfigPropertyValidator)(properties.vpcConfig)),errors.wrap('supplied properties not correct for "CfnProjectProps"')}function convertCfnProjectPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnProjectPropsValidator(properties).assertSuccess(),{DefaultJobTimeoutMinutes:cdk().numberToCloudFormation(properties.defaultJobTimeoutMinutes),EnvironmentVariables:cdk().listMapper(convertCfnProjectEnvironmentVariablePropertyToCloudFormation)(properties.environmentVariables),ExecutionRoleArn:cdk().stringToCloudFormation(properties.executionRoleArn),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),VpcConfig:convertCfnProjectVpcConfigPropertyToCloudFormation(properties.vpcConfig)}):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("defaultJobTimeoutMinutes","DefaultJobTimeoutMinutes",properties.DefaultJobTimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.DefaultJobTimeoutMinutes):void 0),ret.addPropertyResult("environmentVariables","EnvironmentVariables",properties.EnvironmentVariables!=null?cfn_parse().FromCloudFormation.getArray(CfnProjectEnvironmentVariablePropertyFromCloudFormation)(properties.EnvironmentVariables):void 0),ret.addPropertyResult("executionRoleArn","ExecutionRoleArn",properties.ExecutionRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.ExecutionRoleArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("vpcConfig","VpcConfig",properties.VpcConfig!=null?CfnProjectVpcConfigPropertyFromCloudFormation(properties.VpcConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTestGridProject extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_devicefarm.CfnTestGridProject",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DeviceFarm::TestGridProject";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTestGridProjectPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTestGridProject(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 isCfnTestGridProject(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTestGridProject.CFN_RESOURCE_TYPE_NAME}static arnForTestGridProject(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_devicefarm_ITestGridProjectRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTestGridProject),error}return resource.testGridProjectRef.testGridProjectArn}_description;_name;tags;_tagsRaw;_vpcConfig;constructor(scope,id,props){super(scope,id,{type:CfnTestGridProject.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_devicefarm_CfnTestGridProjectProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTestGridProject),error}cdk().requireProperty(props,"name",this),this._description=props.description,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DeviceFarm::TestGridProject",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._vpcConfig=props.vpcConfig}get testGridProjectRef(){return{testGridProjectArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get vpcConfig(){return this._vpcConfig}set vpcConfig(value){cdk().traceProperty(this.node,"VpcConfig"),this._vpcConfig=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,name:this._name,tags:this.tags.renderTags(),vpcConfig:this._vpcConfig}}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",CfnTestGridProject.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTestGridProjectPropsToCloudFormation(props)}}exports.CfnTestGridProject=CfnTestGridProject;function CfnTestGridProjectVpcConfigPropertyValidator(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("securityGroupIds",cdk().requiredValidator)(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().requiredValidator)(properties.subnetIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.collect(cdk().propertyValidator("vpcId",cdk().requiredValidator)(properties.vpcId)),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "VpcConfigProperty"')}function convertCfnTestGridProjectVpcConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTestGridProjectVpcConfigPropertyValidator(properties).assertSuccess(),{SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnTestGridProjectVpcConfigPropertyFromCloudFormation(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("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTestGridProjectPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("vpcConfig",CfnTestGridProjectVpcConfigPropertyValidator)(properties.vpcConfig)),errors.wrap('supplied properties not correct for "CfnTestGridProjectProps"')}function convertCfnTestGridProjectPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTestGridProjectPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),VpcConfig:convertCfnTestGridProjectVpcConfigPropertyToCloudFormation(properties.vpcConfig)}):properties}function CfnTestGridProjectPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("vpcConfig","VpcConfig",properties.VpcConfig!=null?CfnTestGridProjectVpcConfigPropertyFromCloudFormation(properties.VpcConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnVPCEConfiguration extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_devicefarm.CfnVPCEConfiguration",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DeviceFarm::VPCEConfiguration";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnVPCEConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnVPCEConfiguration(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 isCfnVPCEConfiguration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnVPCEConfiguration.CFN_RESOURCE_TYPE_NAME}static arnForVPCEConfiguration(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_devicefarm_IVPCEConfigurationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForVPCEConfiguration),error}return resource.vpceConfigurationRef.vpceConfigurationArn}_serviceDnsName;tags;_tagsRaw;_vpceConfigurationDescription;_vpceConfigurationName;_vpceServiceName;constructor(scope,id,props){super(scope,id,{type:CfnVPCEConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_devicefarm_CfnVPCEConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnVPCEConfiguration),error}cdk().requireProperty(props,"serviceDnsName",this),cdk().requireProperty(props,"vpceConfigurationName",this),cdk().requireProperty(props,"vpceServiceName",this),this._serviceDnsName=props.serviceDnsName,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DeviceFarm::VPCEConfiguration",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._vpceConfigurationDescription=props.vpceConfigurationDescription,this._vpceConfigurationName=props.vpceConfigurationName,this._vpceServiceName=props.vpceServiceName}get vpceConfigurationRef(){return