"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnWirelessGateway=exports.CfnWirelessDeviceImportTask=exports.CfnWirelessDevice=exports.CfnTaskDefinition=exports.CfnServiceProfile=exports.CfnPartnerAccount=exports.CfnNetworkAnalyzerConfiguration=exports.CfnMulticastGroup=exports.CfnFuotaTask=exports.CfnDeviceProfile=exports.CfnDestination=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 CfnDestination extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotwireless.CfnDestination",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTWireless::Destination";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDestinationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDestination(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 isCfnDestination(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDestination.CFN_RESOURCE_TYPE_NAME}static fromDestinationArn(scope,id,arn){class Import extends cdk().Resource{destinationRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:Destination/${DestinationName}").parse(arn2);this.destinationRef={destinationName:variables.DestinationName,destinationArn:arn2}}}return new Import(scope,id,arn)}static fromDestinationName(scope,id,destinationName){class Import extends cdk().Resource{destinationRef;constructor(scope2,id2,destinationName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:Destination/${DestinationName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,DestinationName:destinationName2});super(scope2,id2,{environmentFromArn:arn}),this.destinationRef={destinationName:destinationName2,destinationArn:arn}}}return new Import(scope,id,destinationName)}static arnForDestination(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotwireless_IDestinationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDestination),error}return resource.destinationRef.destinationArn}_description;_expression;_expressionType;_name;_roleArn;tags;_tagsRaw;cfnPropertyNames={description:"Description",expression:"Expression",expressionType:"ExpressionType",name:"Name",roleArn:"RoleArn",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnDestination.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotwireless_CfnDestinationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDestination),error}cdk().requireProperty(props,"expression",this),cdk().requireProperty(props,"expressionType",this),cdk().requireProperty(props,"name",this),this._description=props.description,this._expression=props.expression,this._expressionType=props.expressionType,this._name=props.name,this._roleArn=props.roleArn,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTWireless::Destination",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get destinationRef(){return{destinationName:this.ref,destinationArn:this.attrArn}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get expression(){return this._expression}set expression(value){cdk().traceProperty(this.node,"Expression"),this._expression=value}get expressionType(){return this._expressionType}set expressionType(value){cdk().traceProperty(this.node,"ExpressionType"),this._expressionType=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,expression:this._expression,expressionType:this._expressionType,name:this._name,roleArn:this._roleArn,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDestination.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDestinationPropsToCloudFormation(props)}}exports.CfnDestination=CfnDestination;function CfnDestinationPropsValidator(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("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("expressionType",cdk().requiredValidator)(properties.expressionType)),errors.collect(cdk().propertyValidator("expressionType",cdk().validateString)(properties.expressionType)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDestinationProps"')}function convertCfnDestinationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDestinationPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Expression:cdk().stringToCloudFormation(properties.expression),ExpressionType:cdk().stringToCloudFormation(properties.expressionType),Name:cdk().stringToCloudFormation(properties.name),RoleArn:cdk().stringToCloudFormation(properties.roleArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDestinationPropsFromCloudFormation(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("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("expressionType","ExpressionType",properties.ExpressionType!=null?cfn_parse().FromCloudFormation.getString(properties.ExpressionType):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDeviceProfile extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotwireless.CfnDeviceProfile",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTWireless::DeviceProfile";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDeviceProfilePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDeviceProfile(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 isCfnDeviceProfile(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDeviceProfile.CFN_RESOURCE_TYPE_NAME}static fromDeviceProfileArn(scope,id,arn){class Import extends cdk().Resource{deviceProfileRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:DeviceProfile/${DeviceProfileId}").parse(arn2);this.deviceProfileRef={deviceProfileId:variables.DeviceProfileId,deviceProfileArn:arn2}}}return new Import(scope,id,arn)}static fromDeviceProfileId(scope,id,deviceProfileId){class Import extends cdk().Resource{deviceProfileRef;constructor(scope2,id2,deviceProfileId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:DeviceProfile/${DeviceProfileId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,DeviceProfileId:deviceProfileId2});super(scope2,id2,{environmentFromArn:arn}),this.deviceProfileRef={deviceProfileId:deviceProfileId2,deviceProfileArn:arn}}}return new Import(scope,id,deviceProfileId)}static arnForDeviceProfile(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotwireless_IDeviceProfileRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDeviceProfile),error}return resource.deviceProfileRef.deviceProfileArn}_loRaWan;_name;tags;_tagsRaw;cfnPropertyNames={loRaWan:"LoRaWAN",name:"Name",tags:"Tags"};constructor(scope,id,props={}){super(scope,id,{type:CfnDeviceProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotwireless_CfnDeviceProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDeviceProfile),error}this._loRaWan=props.loRaWan,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTWireless::DeviceProfile",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get deviceProfileRef(){return{deviceProfileId:this.ref,deviceProfileArn:this.attrArn}}get loRaWan(){return this._loRaWan}set loRaWan(value){cdk().traceProperty(this.node,"LoRaWAN"),this._loRaWan=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{loRaWan:this._loRaWan,name:this._name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDeviceProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDeviceProfilePropsToCloudFormation(props)}}exports.CfnDeviceProfile=CfnDeviceProfile;function CfnDeviceProfileLoRaWANDeviceProfilePropertyValidator(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("classBTimeout",cdk().validateNumber)(properties.classBTimeout)),errors.collect(cdk().propertyValidator("classCTimeout",cdk().validateNumber)(properties.classCTimeout)),errors.collect(cdk().propertyValidator("factoryPresetFreqsList",cdk().listValidator(cdk().validateNumber))(properties.factoryPresetFreqsList)),errors.collect(cdk().propertyValidator("macVersion",cdk().validateString)(properties.macVersion)),errors.collect(cdk().propertyValidator("maxDutyCycle",cdk().validateNumber)(properties.maxDutyCycle)),errors.collect(cdk().propertyValidator("maxEirp",cdk().validateNumber)(properties.maxEirp)),errors.collect(cdk().propertyValidator("pingSlotDr",cdk().validateNumber)(properties.pingSlotDr)),errors.collect(cdk().propertyValidator("pingSlotFreq",cdk().validateNumber)(properties.pingSlotFreq)),errors.collect(cdk().propertyValidator("pingSlotPeriod",cdk().validateNumber)(properties.pingSlotPeriod)),errors.collect(cdk().propertyValidator("regParamsRevision",cdk().validateString)(properties.regParamsRevision)),errors.collect(cdk().propertyValidator("rfRegion",cdk().validateString)(properties.rfRegion)),errors.collect(cdk().propertyValidator("rxDataRate2",cdk().validateNumber)(properties.rxDataRate2)),errors.collect(cdk().propertyValidator("rxDelay1",cdk().validateNumber)(properties.rxDelay1)),errors.collect(cdk().propertyValidator("rxDrOffset1",cdk().validateNumber)(properties.rxDrOffset1)),errors.collect(cdk().propertyValidator("rxFreq2",cdk().validateNumber)(properties.rxFreq2)),errors.collect(cdk().propertyValidator("supports32BitFCnt",cdk().validateBoolean)(properties.supports32BitFCnt)),errors.collect(cdk().propertyValidator("supportsClassB",cdk().validateBoolean)(properties.supportsClassB)),errors.collect(cdk().propertyValidator("supportsClassC",cdk().validateBoolean)(properties.supportsClassC)),errors.collect(cdk().propertyValidator("supportsJoin",cdk().validateBoolean)(properties.supportsJoin)),errors.wrap('supplied properties not correct for "LoRaWANDeviceProfileProperty"')}function convertCfnDeviceProfileLoRaWANDeviceProfilePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDeviceProfileLoRaWANDeviceProfilePropertyValidator(properties).assertSuccess(),{ClassBTimeout:cdk().numberToCloudFormation(properties.classBTimeout),ClassCTimeout:cdk().numberToCloudFormation(properties.classCTimeout),FactoryPresetFreqsList:cdk().listMapper(cdk().numberToCloudFormation)(properties.factoryPresetFreqsList),MacVersion:cdk().stringToCloudFormation(properties.macVersion),MaxDutyCycle:cdk().numberToCloudFormation(properties.maxDutyCycle),MaxEirp:cdk().numberToCloudFormation(properties.maxEirp),PingSlotDr:cdk().numberToCloudFormation(properties.pingSlotDr),PingSlotFreq:cdk().numberToCloudFormation(properties.pingSlotFreq),PingSlotPeriod:cdk().numberToCloudFormation(properties.pingSlotPeriod),RegParamsRevision:cdk().stringToCloudFormation(properties.regParamsRevision),RfRegion:cdk().stringToCloudFormation(properties.rfRegion),RxDataRate2:cdk().numberToCloudFormation(properties.rxDataRate2),RxDelay1:cdk().numberToCloudFormation(properties.rxDelay1),RxDrOffset1:cdk().numberToCloudFormation(properties.rxDrOffset1),RxFreq2:cdk().numberToCloudFormation(properties.rxFreq2),Supports32BitFCnt:cdk().booleanToCloudFormation(properties.supports32BitFCnt),SupportsClassB:cdk().booleanToCloudFormation(properties.supportsClassB),SupportsClassC:cdk().booleanToCloudFormation(properties.supportsClassC),SupportsJoin:cdk().booleanToCloudFormation(properties.supportsJoin)}):properties}function CfnDeviceProfileLoRaWANDeviceProfilePropertyFromCloudFormation(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("classBTimeout","ClassBTimeout",properties.ClassBTimeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.ClassBTimeout):void 0),ret.addPropertyResult("classCTimeout","ClassCTimeout",properties.ClassCTimeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.ClassCTimeout):void 0),ret.addPropertyResult("factoryPresetFreqsList","FactoryPresetFreqsList",properties.FactoryPresetFreqsList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.FactoryPresetFreqsList):void 0),ret.addPropertyResult("macVersion","MacVersion",properties.MacVersion!=null?cfn_parse().FromCloudFormation.getString(properties.MacVersion):void 0),ret.addPropertyResult("maxDutyCycle","MaxDutyCycle",properties.MaxDutyCycle!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxDutyCycle):void 0),ret.addPropertyResult("maxEirp","MaxEirp",properties.MaxEirp!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxEirp):void 0),ret.addPropertyResult("pingSlotDr","PingSlotDr",properties.PingSlotDr!=null?cfn_parse().FromCloudFormation.getNumber(properties.PingSlotDr):void 0),ret.addPropertyResult("pingSlotFreq","PingSlotFreq",properties.PingSlotFreq!=null?cfn_parse().FromCloudFormation.getNumber(properties.PingSlotFreq):void 0),ret.addPropertyResult("pingSlotPeriod","PingSlotPeriod",properties.PingSlotPeriod!=null?cfn_parse().FromCloudFormation.getNumber(properties.PingSlotPeriod):void 0),ret.addPropertyResult("regParamsRevision","RegParamsRevision",properties.RegParamsRevision!=null?cfn_parse().FromCloudFormation.getString(properties.RegParamsRevision):void 0),ret.addPropertyResult("rfRegion","RfRegion",properties.RfRegion!=null?cfn_parse().FromCloudFormation.getString(properties.RfRegion):void 0),ret.addPropertyResult("rxDataRate2","RxDataRate2",properties.RxDataRate2!=null?cfn_parse().FromCloudFormation.getNumber(properties.RxDataRate2):void 0),ret.addPropertyResult("rxDelay1","RxDelay1",properties.RxDelay1!=null?cfn_parse().FromCloudFormation.getNumber(properties.RxDelay1):void 0),ret.addPropertyResult("rxDrOffset1","RxDrOffset1",properties.RxDrOffset1!=null?cfn_parse().FromCloudFormation.getNumber(properties.RxDrOffset1):void 0),ret.addPropertyResult("rxFreq2","RxFreq2",properties.RxFreq2!=null?cfn_parse().FromCloudFormation.getNumber(properties.RxFreq2):void 0),ret.addPropertyResult("supports32BitFCnt","Supports32BitFCnt",properties.Supports32BitFCnt!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Supports32BitFCnt):void 0),ret.addPropertyResult("supportsClassB","SupportsClassB",properties.SupportsClassB!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SupportsClassB):void 0),ret.addPropertyResult("supportsClassC","SupportsClassC",properties.SupportsClassC!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SupportsClassC):void 0),ret.addPropertyResult("supportsJoin","SupportsJoin",properties.SupportsJoin!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SupportsJoin):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeviceProfilePropsValidator(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("loRaWan",CfnDeviceProfileLoRaWANDeviceProfilePropertyValidator)(properties.loRaWan)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDeviceProfileProps"')}function convertCfnDeviceProfilePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDeviceProfilePropsValidator(properties).assertSuccess(),{LoRaWAN:convertCfnDeviceProfileLoRaWANDeviceProfilePropertyToCloudFormation(properties.loRaWan),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDeviceProfilePropsFromCloudFormation(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("loRaWan","LoRaWAN",properties.LoRaWAN!=null?CfnDeviceProfileLoRaWANDeviceProfilePropertyFromCloudFormation(properties.LoRaWAN):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.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFuotaTask extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotwireless.CfnFuotaTask",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTWireless::FuotaTask";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFuotaTaskPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFuotaTask(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 isCfnFuotaTask(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFuotaTask.CFN_RESOURCE_TYPE_NAME}static fromFuotaTaskArn(scope,id,arn){class Import extends cdk().Resource{fuotaTaskRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:FuotaTask/${FuotaTaskId}").parse(arn2);this.fuotaTaskRef={fuotaTaskId:variables.FuotaTaskId,fuotaTaskArn:arn2}}}return new Import(scope,id,arn)}static fromFuotaTaskId(scope,id,fuotaTaskId){class Import extends cdk().Resource{fuotaTaskRef;constructor(scope2,id2,fuotaTaskId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:FuotaTask/${FuotaTaskId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,FuotaTaskId:fuotaTaskId2});super(scope2,id2,{environmentFromArn:arn}),this.fuotaTaskRef={fuotaTaskId:fuotaTaskId2,fuotaTaskArn:arn}}}return new Import(scope,id,fuotaTaskId)}static arnForFuotaTask(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotwireless_IFuotaTaskRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFuotaTask),error}return resource.fuotaTaskRef.fuotaTaskArn}_associateMulticastGroup;_associateWirelessDevice;_description;_disassociateMulticastGroup;_disassociateWirelessDevice;_firmwareUpdateImage;_firmwareUpdateRole;_loRaWan;_name;tags;_tagsRaw;cfnPropertyNames={associateMulticastGroup:"AssociateMulticastGroup",associateWirelessDevice:"AssociateWirelessDevice",description:"Description",disassociateMulticastGroup:"DisassociateMulticastGroup",disassociateWirelessDevice:"DisassociateWirelessDevice",firmwareUpdateImage:"FirmwareUpdateImage",firmwareUpdateRole:"FirmwareUpdateRole",loRaWan:"LoRaWAN",name:"Name",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnFuotaTask.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotwireless_CfnFuotaTaskProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFuotaTask),error}cdk().requireProperty(props,"firmwareUpdateImage",this),cdk().requireProperty(props,"firmwareUpdateRole",this),cdk().requireProperty(props,"loRaWan",this),this._associateMulticastGroup=props.associateMulticastGroup,this._associateWirelessDevice=props.associateWirelessDevice,this._description=props.description,this._disassociateMulticastGroup=props.disassociateMulticastGroup,this._disassociateWirelessDevice=props.disassociateWirelessDevice,this._firmwareUpdateImage=props.firmwareUpdateImage,this._firmwareUpdateRole=props.firmwareUpdateRole,this._loRaWan=props.loRaWan,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTWireless::FuotaTask",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get fuotaTaskRef(){return{fuotaTaskId:this.ref,fuotaTaskArn:this.attrArn}}get associateMulticastGroup(){return this._associateMulticastGroup}set associateMulticastGroup(value){cdk().traceProperty(this.node,"AssociateMulticastGroup"),this._associateMulticastGroup=value}get associateWirelessDevice(){return this._associateWirelessDevice}set associateWirelessDevice(value){cdk().traceProperty(this.node,"AssociateWirelessDevice"),this._associateWirelessDevice=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get disassociateMulticastGroup(){return this._disassociateMulticastGroup}set disassociateMulticastGroup(value){cdk().traceProperty(this.node,"DisassociateMulticastGroup"),this._disassociateMulticastGroup=value}get disassociateWirelessDevice(){return this._disassociateWirelessDevice}set disassociateWirelessDevice(value){cdk().traceProperty(this.node,"DisassociateWirelessDevice"),this._disassociateWirelessDevice=value}get firmwareUpdateImage(){return this._firmwareUpdateImage}set firmwareUpdateImage(value){cdk().traceProperty(this.node,"FirmwareUpdateImage"),this._firmwareUpdateImage=value}get firmwareUpdateRole(){return this._firmwareUpdateRole}set firmwareUpdateRole(value){cdk().traceProperty(this.node,"FirmwareUpdateRole"),this._firmwareUpdateRole=value}get loRaWan(){return this._loRaWan}set loRaWan(value){cdk().traceProperty(this.node,"LoRaWAN"),this._loRaWan=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrFuotaTaskStatus(){return cdk().Token.asString(this.getAtt("FuotaTaskStatus",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrLoRaWanStartTime(){return cdk().Token.asString(this.getAtt("LoRaWAN.StartTime",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{associateMulticastGroup:this._associateMulticastGroup,associateWirelessDevice:this._associateWirelessDevice,description:this._description,disassociateMulticastGroup:this._disassociateMulticastGroup,disassociateWirelessDevice:this._disassociateWirelessDevice,firmwareUpdateImage:this._firmwareUpdateImage,firmwareUpdateRole:this._firmwareUpdateRole,loRaWan:this._loRaWan,name:this._name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnFuotaTask.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFuotaTaskPropsToCloudFormation(props)}}exports.CfnFuotaTask=CfnFuotaTask;function CfnFuotaTaskLoRaWANPropertyValidator(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("rfRegion",cdk().requiredValidator)(properties.rfRegion)),errors.collect(cdk().propertyValidator("rfRegion",cdk().validateString)(properties.rfRegion)),errors.collect(cdk().propertyValidator("startTime",cdk().validateString)(properties.startTime)),errors.wrap('supplied properties not correct for "LoRaWANProperty"')}function convertCfnFuotaTaskLoRaWANPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFuotaTaskLoRaWANPropertyValidator(properties).assertSuccess(),{RfRegion:cdk().stringToCloudFormation(properties.rfRegion),StartTime:cdk().stringToCloudFormation(properties.startTime)}):properties}function CfnFuotaTaskLoRaWANPropertyFromCloudFormation(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("rfRegion","RfRegion",properties.RfRegion!=null?cfn_parse().FromCloudFormation.getString(properties.RfRegion):void 0),ret.addPropertyResult("startTime","StartTime",properties.StartTime!=null?cfn_parse().FromCloudFormation.getString(properties.StartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFuotaTaskPropsValidator(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("associateMulticastGroup",cdk().validateString)(properties.associateMulticastGroup)),errors.collect(cdk().propertyValidator("associateWirelessDevice",cdk().validateString)(properties.associateWirelessDevice)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("disassociateMulticastGroup",cdk().validateString)(properties.disassociateMulticastGroup)),errors.collect(cdk().propertyValidator("disassociateWirelessDevice",cdk().validateString)(properties.disassociateWirelessDevice)),errors.collect(cdk().propertyValidator("firmwareUpdateImage",cdk().requiredValidator)(properties.firmwareUpdateImage)),errors.collect(cdk().propertyValidator("firmwareUpdateImage",cdk().validateString)(properties.firmwareUpdateImage)),errors.collect(cdk().propertyValidator("firmwareUpdateRole",cdk().requiredValidator)(properties.firmwareUpdateRole)),errors.collect(cdk().propertyValidator("firmwareUpdateRole",cdk().validateString)(properties.firmwareUpdateRole)),errors.collect(cdk().propertyValidator("loRaWan",cdk().requiredValidator)(properties.loRaWan)),errors.collect(cdk().propertyValidator("loRaWan",CfnFuotaTaskLoRaWANPropertyValidator)(properties.loRaWan)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnFuotaTaskProps"')}function convertCfnFuotaTaskPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFuotaTaskPropsValidator(properties).assertSuccess(),{AssociateMulticastGroup:cdk().stringToCloudFormation(properties.associateMulticastGroup),AssociateWirelessDevice:cdk().stringToCloudFormation(properties.associateWirelessDevice),Description:cdk().stringToCloudFormation(properties.description),DisassociateMulticastGroup:cdk().stringToCloudFormation(properties.disassociateMulticastGroup),DisassociateWirelessDevice:cdk().stringToCloudFormation(properties.disassociateWirelessDevice),FirmwareUpdateImage:cdk().stringToCloudFormation(properties.firmwareUpdateImage),FirmwareUpdateRole:cdk().stringToCloudFormation(properties.firmwareUpdateRole),LoRaWAN:convertCfnFuotaTaskLoRaWANPropertyToCloudFormation(properties.loRaWan),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnFuotaTaskPropsFromCloudFormation(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("associateMulticastGroup","AssociateMulticastGroup",properties.AssociateMulticastGroup!=null?cfn_parse().FromCloudFormation.getString(properties.AssociateMulticastGroup):void 0),ret.addPropertyResult("associateWirelessDevice","AssociateWirelessDevice",properties.AssociateWirelessDevice!=null?cfn_parse().FromCloudFormation.getString(properties.AssociateWirelessDevice):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("disassociateMulticastGroup","DisassociateMulticastGroup",properties.DisassociateMulticastGroup!=null?cfn_parse().FromCloudFormation.getString(properties.DisassociateMulticastGroup):void 0),ret.addPropertyResult("disassociateWirelessDevice","DisassociateWirelessDevice",properties.DisassociateWirelessDevice!=null?cfn_parse().FromCloudFormation.getString(properties.DisassociateWirelessDevice):void 0),ret.addPropertyResult("firmwareUpdateImage","FirmwareUpdateImage",properties.FirmwareUpdateImage!=null?cfn_parse().FromCloudFormation.getString(properties.FirmwareUpdateImage):void 0),ret.addPropertyResult("firmwareUpdateRole","FirmwareUpdateRole",properties.FirmwareUpdateRole!=null?cfn_parse().FromCloudFormation.getString(properties.FirmwareUpdateRole):void 0),ret.addPropertyResult("loRaWan","LoRaWAN",properties.LoRaWAN!=null?CfnFuotaTaskLoRaWANPropertyFromCloudFormation(properties.LoRaWAN):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.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMulticastGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotwireless.CfnMulticastGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTWireless::MulticastGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMulticastGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnMulticastGroup(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 isCfnMulticastGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnMulticastGroup.CFN_RESOURCE_TYPE_NAME}static fromMulticastGroupArn(scope,id,arn){class Import extends cdk().Resource{multicastGroupRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:MulticastGroup/${MulticastGroupId}").parse(arn2);this.multicastGroupRef={multicastGroupId:variables.MulticastGroupId,multicastGroupArn:arn2}}}return new Import(scope,id,arn)}static fromMulticastGroupId(scope,id,multicastGroupId){class Import extends cdk().Resource{multicastGroupRef;constructor(scope2,id2,multicastGroupId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:MulticastGroup/${MulticastGroupId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,MulticastGroupId:multicastGroupId2});super(scope2,id2,{environmentFromArn:arn}),this.multicastGroupRef={multicastGroupId:multicastGroupId2,multicastGroupArn:arn}}}return new Import(scope,id,multicastGroupId)}static arnForMulticastGroup(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotwireless_IMulticastGroupRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForMulticastGroup),error}return resource.multicastGroupRef.multicastGroupArn}_associateWirelessDevice;_description;_disassociateWirelessDevice;_loRaWan;_name;tags;_tagsRaw;cfnPropertyNames={associateWirelessDevice:"AssociateWirelessDevice",description:"Description",disassociateWirelessDevice:"DisassociateWirelessDevice",loRaWan:"LoRaWAN",name:"Name",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnMulticastGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotwireless_CfnMulticastGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMulticastGroup),error}cdk().requireProperty(props,"loRaWan",this),this._associateWirelessDevice=props.associateWirelessDevice,this._description=props.description,this._disassociateWirelessDevice=props.disassociateWirelessDevice,this._loRaWan=props.loRaWan,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTWireless::MulticastGroup",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get multicastGroupRef(){return{multicastGroupId:this.ref,multicastGroupArn:this.attrArn}}get associateWirelessDevice(){return this._associateWirelessDevice}set associateWirelessDevice(value){cdk().traceProperty(this.node,"AssociateWirelessDevice"),this._associateWirelessDevice=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get disassociateWirelessDevice(){return this._disassociateWirelessDevice}set disassociateWirelessDevice(value){cdk().traceProperty(this.node,"DisassociateWirelessDevice"),this._disassociateWirelessDevice=value}get loRaWan(){return this._loRaWan}set loRaWan(value){cdk().traceProperty(this.node,"LoRaWAN"),this._loRaWan=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrLoRaWanNumberOfDevicesInGroup(){return cdk().Token.asNumber(this.getAtt("LoRaWAN.NumberOfDevicesInGroup",cdk().ResolutionTypeHint.NUMBER))}get attrLoRaWanNumberOfDevicesRequested(){return cdk().Token.asNumber(this.getAtt("LoRaWAN.NumberOfDevicesRequested",cdk().ResolutionTypeHint.NUMBER))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{associateWirelessDevice:this._associateWirelessDevice,description:this._description,disassociateWirelessDevice:this._disassociateWirelessDevice,loRaWan:this._loRaWan,name:this._name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnMulticastGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnMulticastGroupPropsToCloudFormation(props)}}exports.CfnMulticastGroup=CfnMulticastGroup;function CfnMulticastGroupLoRaWANPropertyValidator(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("dlClass",cdk().requiredValidator)(properties.dlClass)),errors.collect(cdk().propertyValidator("dlClass",cdk().validateString)(properties.dlClass)),errors.collect(cdk().propertyValidator("numberOfDevicesInGroup",cdk().validateNumber)(properties.numberOfDevicesInGroup)),errors.collect(cdk().propertyValidator("numberOfDevicesRequested",cdk().validateNumber)(properties.numberOfDevicesRequested)),errors.collect(cdk().propertyValidator("rfRegion",cdk().requiredValidator)(properties.rfRegion)),errors.collect(cdk().propertyValidator("rfRegion",cdk().validateString)(properties.rfRegion)),errors.wrap('supplied properties not correct for "LoRaWANProperty"')}function convertCfnMulticastGroupLoRaWANPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMulticastGroupLoRaWANPropertyValidator(properties).assertSuccess(),{DlClass:cdk().stringToCloudFormation(properties.dlClass),NumberOfDevicesInGroup:cdk().numberToCloudFormation(properties.numberOfDevicesInGroup),NumberOfDevicesRequested:cdk().numberToCloudFormation(properties.numberOfDevicesRequested),RfRegion:cdk().stringToCloudFormation(properties.rfRegion)}):properties}function CfnMulticastGroupLoRaWANPropertyFromCloudFormation(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("dlClass","DlClass",properties.DlClass!=null?cfn_parse().FromCloudFormation.getString(properties.DlClass):void 0),ret.addPropertyResult("numberOfDevicesInGroup","NumberOfDevicesInGroup",properties.NumberOfDevicesInGroup!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfDevicesInGroup):void 0),ret.addPropertyResult("numberOfDevicesRequested","NumberOfDevicesRequested",properties.NumberOfDevicesRequested!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfDevicesRequested):void 0),ret.addPropertyResult("rfRegion","RfRegion",properties.RfRegion!=null?cfn_parse().FromCloudFormation.getString(properties.RfRegion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMulticastGroupPropsValidator(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("associateWirelessDevice",cdk().validateString)(properties.associateWirelessDevice)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("disassociateWirelessDevice",cdk().validateString)(properties.disassociateWirelessDevice)),errors.collect(cdk().propertyValidator("loRaWan",cdk().requiredValidator)(properties.loRaWan)),errors.collect(cdk().propertyValidator("loRaWan",CfnMulticastGroupLoRaWANPropertyValidator)(properties.loRaWan)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnMulticastGroupProps"')}function convertCfnMulticastGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMulticastGroupPropsValidator(properties).assertSuccess(),{AssociateWirelessDevice:cdk().stringToCloudFormation(properties.associateWirelessDevice),Description:cdk().stringToCloudFormation(properties.description),DisassociateWirelessDevice:cdk().stringToCloudFormation(properties.disassociateWirelessDevice),LoRaWAN:convertCfnMulticastGroupLoRaWANPropertyToCloudFormation(properties.loRaWan),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnMulticastGroupPropsFromCloudFormation(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("associateWirelessDevice","AssociateWirelessDevice",properties.AssociateWirelessDevice!=null?cfn_parse().FromCloudFormation.getString(properties.AssociateWirelessDevice):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("disassociateWirelessDevice","DisassociateWirelessDevice",properties.DisassociateWirelessDevice!=null?cfn_parse().FromCloudFormation.getString(properties.DisassociateWirelessDevice):void 0),ret.addPropertyResult("loRaWan","LoRaWAN",properties.LoRaWAN!=null?CfnMulticastGroupLoRaWANPropertyFromCloudFormation(properties.LoRaWAN):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.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnNetworkAnalyzerConfiguration extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotwireless.CfnNetworkAnalyzerConfiguration",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTWireless::NetworkAnalyzerConfiguration";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnNetworkAnalyzerConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnNetworkAnalyzerConfiguration(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 isCfnNetworkAnalyzerConfiguration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnNetworkAnalyzerConfiguration.CFN_RESOURCE_TYPE_NAME}static fromNetworkAnalyzerConfigurationArn(scope,id,arn){class Import extends cdk().Resource{networkAnalyzerConfigurationRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:NetworkAnalyzerConfiguration/${NetworkAnalyzerConfigurationName}").parse(arn2);this.networkAnalyzerConfigurationRef={networkAnalyzerConfigurationName:variables.NetworkAnalyzerConfigurationName,networkAnalyzerConfigurationArn:arn2}}}return new Import(scope,id,arn)}static fromNetworkAnalyzerConfigurationName(scope,id,networkAnalyzerConfigurationName){class Import extends cdk().Resource{networkAnalyzerConfigurationRef;constructor(scope2,id2,networkAnalyzerConfigurationName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:NetworkAnalyzerConfiguration/${NetworkAnalyzerConfigurationName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,NetworkAnalyzerConfigurationName:networkAnalyzerConfigurationName2});super(scope2,id2,{environmentFromArn:arn}),this.networkAnalyzerConfigurationRef={networkAnalyzerConfigurationName:networkAnalyzerConfigurationName2,networkAnalyzerConfigurationArn:arn}}}return new Import(scope,id,networkAnalyzerConfigurationName)}static arnForNetworkAnalyzerConfiguration(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotwireless_INetworkAnalyzerConfigurationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForNetworkAnalyzerConfiguration),error}return resource.networkAnalyzerConfigurationRef.networkAnalyzerConfigurationArn}_description;_name;tags;_tagsRaw;_traceContent;_wirelessDevices;_wirelessGateways;cfnPropertyNames={description:"Description",name:"Name",tags:"Tags",traceContent:"TraceContent",wirelessDevices:"WirelessDevices",wirelessGateways:"WirelessGateways"};constructor(scope,id,props){super(scope,id,{type:CfnNetworkAnalyzerConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotwireless_CfnNetworkAnalyzerConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnNetworkAnalyzerConfiguration),error}cdk().requireProperty(props,"name",this),this._description=props.description,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTWireless::NetworkAnalyzerConfiguration",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._traceContent=props.traceContent,this._wirelessDevices=props.wirelessDevices,this._wirelessGateways=props.wirelessGateways}get networkAnalyzerConfigurationRef(){return{networkAnalyzerConfigurationName:this.ref,networkAnalyzerConfigurationArn:this.attrArn}}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 traceContent(){return this._traceContent}set traceContent(value){cdk().traceProperty(this.node,"TraceContent"),this._traceContent=value}get wirelessDevices(){return this._wirelessDevices}set wirelessDevices(value){cdk().traceProperty(this.node,"WirelessDevices"),this._wirelessDevices=value}get wirelessGateways(){return this._wirelessGateways}set wirelessGateways(value){cdk().traceProperty(this.node,"WirelessGateways"),this._wirelessGateways=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(),traceContent:this._traceContent,wirelessDevices:this._wirelessDevices,wirelessGateways:this._wirelessGateways}}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",CfnNetworkAnalyzerConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnNetworkAnalyzerConfigurationPropsToCloudFormation(props)}}exports.CfnNetworkAnalyzerConfiguration=CfnNetworkAnalyzerConfiguration;function CfnNetworkAnalyzerConfigurationTraceContentPropertyValidator(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("logLevel",cdk().validateString)(properties.logLevel)),errors.collect(cdk().propertyValidator("wirelessDeviceFrameInfo",cdk().validateString)(properties.wirelessDeviceFrameInfo)),errors.wrap('supplied properties not correct for "TraceContentProperty"')}function convertCfnNetworkAnalyzerConfigurationTraceContentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNetworkAnalyzerConfigurationTraceContentPropertyValidator(properties).assertSuccess(),{LogLevel:cdk().stringToCloudFormation(properties.logLevel),WirelessDeviceFrameInfo:cdk().stringToCloudFormation(properties.wirelessDeviceFrameInfo)}):properties}function CfnNetworkAnalyzerConfigurationTraceContentPropertyFromCloudFormation(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("logLevel","LogLevel",properties.LogLevel!=null?cfn_parse().FromCloudFormation.getString(properties.LogLevel):void 0),ret.addPropertyResult("wirelessDeviceFrameInfo","WirelessDeviceFrameInfo",properties.WirelessDeviceFrameInfo!=null?cfn_parse().FromCloudFormation.getString(properties.WirelessDeviceFrameInfo):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnNetworkAnalyzerConfigurationPropsValidator(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("traceContent",cdk().validateObject)(properties.traceContent)),errors.collect(cdk().propertyValidator("wirelessDevices",cdk().listValidator(cdk().validateString))(properties.wirelessDevices)),errors.collect(cdk().propertyValidator("wirelessGateways",cdk().listValidator(cdk().validateString))(properties.wirelessGateways)),errors.wrap('supplied properties not correct for "CfnNetworkAnalyzerConfigurationProps"')}function convertCfnNetworkAnalyzerConfigurationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNetworkAnalyzerConfigurationPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TraceContent:cdk().objectToCloudFormation(properties.traceContent),WirelessDevices:cdk().listMapper(cdk().stringToCloudFormation)(properties.wirelessDevices),WirelessGateways:cdk().listMapper(cdk().stringToCloudFormation)(properties.wirelessGateways)}):properties}function CfnNetworkAnalyzerConfigurationPropsFromCloudFormation(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("traceContent","TraceContent",properties.TraceContent!=null?cfn_parse().FromCloudFormation.getAny(properties.TraceContent):void 0),ret.addPropertyResult("wirelessDevices","WirelessDevices",properties.WirelessDevices!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.WirelessDevices):void 0),ret.addPropertyResult("wirelessGateways","WirelessGateways",properties.WirelessGateways!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.WirelessGateways):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPartnerAccount extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotwireless.CfnPartnerAccount",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTWireless::PartnerAccount";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPartnerAccountPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPartnerAccount(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 isCfnPartnerAccount(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPartnerAccount.CFN_RESOURCE_TYPE_NAME}static arnForPartnerAccount(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotwireless_IPartnerAccountRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPartnerAccount),error}return resource.partnerAccountRef.partnerAccountArn}_accountLinked;_partnerAccountId;_partnerType;_sidewalk;_sidewalkResponse;_sidewalkUpdate;tags;_tagsRaw;cfnPropertyNames={accountLinked:"AccountLinked",partnerAccountId:"PartnerAccountId",partnerType:"PartnerType",sidewalk:"Sidewalk",sidewalkResponse:"SidewalkResponse",sidewalkUpdate:"SidewalkUpdate",tags:"Tags"};constructor(scope,id,props={}){super(scope,id,{type:CfnPartnerAccount.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotwireless_CfnPartnerAccountProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPartnerAccount),error}this._accountLinked=props.accountLinked,this._partnerAccountId=props.partnerAccountId,this._partnerType=props.partnerType,this._sidewalk=props.sidewalk,this._sidewalkResponse=props.sidewalkResponse,this._sidewalkUpdate=props.sidewalkUpdate,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTWireless::PartnerAccount",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get partnerAccountRef(){return{partnerAccountId:this.ref,partnerAccountArn:this.attrArn}}get accountLinked(){return this._accountLinked}set accountLinked(value){cdk().traceProperty(this.node,"AccountLinked"),this._accountLinked=value}get partnerAccountId(){return this._partnerAccountId}set partnerAccountId(value){cdk().traceProperty(this.node,"PartnerAccountId"),this._partnerAccountId=value}get partnerType(){return this._partnerType}set partnerType(value){cdk().traceProperty(this.node,"PartnerType"),this._partnerType=value}get sidewalk(){return this._sidewalk}set sidewalk(value){cdk().traceProperty(this.node,"Sidewalk"),this._sidewalk=value}get sidewalkResponse(){return this._sidewalkResponse}set sidewalkResponse(value){cdk().traceProperty(this.node,"SidewalkResponse"),this._sidewalkResponse=value}get sidewalkUpdate(){return this._sidewalkUpdate}set sidewalkUpdate(value){cdk().traceProperty(this.node,"SidewalkUpdate"),this._sidewalkUpdate=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 attrFingerprint(){return cdk().Token.asString(this.getAtt("Fingerprint",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{accountLinked:this._accountLinked,partnerAccountId:this._partnerAccountId,partnerType:this._partnerType,sidewalk:this._sidewalk,sidewalkResponse:this._sidewalkResponse,sidewalkUpdate:this._sidewalkUpdate,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",CfnPartnerAccount.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPartnerAccountPropsToCloudFormation(props)}}exports.CfnPartnerAccount=CfnPartnerAccount;function CfnPartnerAccountSidewalkAccountInfoWithFingerprintPropertyValidator(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("amazonId",cdk().validateString)(properties.amazonId)),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("fingerprint",cdk().validateString)(properties.fingerprint)),errors.wrap('supplied properties not correct for "SidewalkAccountInfoWithFingerprintProperty"')}function convertCfnPartnerAccountSidewalkAccountInfoWithFingerprintPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartnerAccountSidewalkAccountInfoWithFingerprintPropertyValidator(properties).assertSuccess(),{AmazonId:cdk().stringToCloudFormation(properties.amazonId),Arn:cdk().stringToCloudFormation(properties.arn),Fingerprint:cdk().stringToCloudFormation(properties.fingerprint)}):properties}function CfnPartnerAccountSidewalkAccountInfoWithFingerprintPropertyFromCloudFormation(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("amazonId","AmazonId",properties.AmazonId!=null?cfn_parse().FromCloudFormation.getString(properties.AmazonId):void 0),ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("fingerprint","Fingerprint",properties.Fingerprint!=null?cfn_parse().FromCloudFormation.getString(properties.Fingerprint):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPartnerAccountSidewalkAccountInfoPropertyValidator(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("appServerPrivateKey",cdk().requiredValidator)(properties.appServerPrivateKey)),errors.collect(cdk().propertyValidator("appServerPrivateKey",cdk().validateString)(properties.appServerPrivateKey)),errors.wrap('supplied properties not correct for "SidewalkAccountInfoProperty"')}function convertCfnPartnerAccountSidewalkAccountInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartnerAccountSidewalkAccountInfoPropertyValidator(properties).assertSuccess(),{AppServerPrivateKey:cdk().stringToCloudFormation(properties.appServerPrivateKey)}):properties}function CfnPartnerAccountSidewalkAccountInfoPropertyFromCloudFormation(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("appServerPrivateKey","AppServerPrivateKey",properties.AppServerPrivateKey!=null?cfn_parse().FromCloudFormation.getString(properties.AppServerPrivateKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPartnerAccountSidewalkUpdateAccountPropertyValidator(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("appServerPrivateKey",cdk().validateString)(properties.appServerPrivateKey)),errors.wrap('supplied properties not correct for "SidewalkUpdateAccountProperty"')}function convertCfnPartnerAccountSidewalkUpdateAccountPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartnerAccountSidewalkUpdateAccountPropertyValidator(properties).assertSuccess(),{AppServerPrivateKey:cdk().stringToCloudFormation(properties.appServerPrivateKey)}):properties}function CfnPartnerAccountSidewalkUpdateAccountPropertyFromCloudFormation(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("appServerPrivateKey","AppServerPrivateKey",properties.AppServerPrivateKey!=null?cfn_parse().FromCloudFormation.getString(properties.AppServerPrivateKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPartnerAccountPropsValidator(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("accountLinked",cdk().validateBoolean)(properties.accountLinked)),errors.collect(cdk().propertyValidator("partnerAccountId",cdk().validateString)(properties.partnerAccountId)),errors.collect(cdk().propertyValidator("partnerType",cdk().validateString)(properties.partnerType)),errors.collect(cdk().propertyValidator("sidewalk",CfnPartnerAccountSidewalkAccountInfoPropertyValidator)(properties.sidewalk)),errors.collect(cdk().propertyValidator("sidewalkResponse",CfnPartnerAccountSidewalkAccountInfoWithFingerprintPropertyValidator)(properties.sidewalkResponse)),errors.collect(cdk().propertyValidator("sidewalkUpdate",CfnPartnerAccountSidewalkUpdateAccountPropertyValidator)(properties.sidewalkUpdate)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnPartnerAccountProps"')}function convertCfnPartnerAccountPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartnerAccountPropsValidator(properties).assertSuccess(),{AccountLinked:cdk().booleanToCloudFormation(properties.accountLinked),PartnerAccountId:cdk().stringToCloudFormation(properties.partnerAccountId),PartnerType:cdk().stringToCloudFormation(properties.partnerType),Sidewalk:convertCfnPartnerAccountSidewalkAccountInfoPropertyToCloudFormation(properties.sidewalk),SidewalkResponse:convertCfnPartnerAccountSidewalkAccountInfoWithFingerprintPropertyToCloudFormation(properties.sidewalkResponse),SidewalkUpdate:convertCfnPartnerAccountSidewalkUpdateAccountPropertyToCloudFormation(properties.sidewalkUpdate),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnPartnerAccountPropsFromCloudFormation(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("accountLinked","AccountLinked",properties.AccountLinked!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AccountLinked):void 0),ret.addPropertyResult("partnerAccountId","PartnerAccountId",properties.PartnerAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.PartnerAccountId):void 0),ret.addPropertyResult("partnerType","PartnerType",properties.PartnerType!=null?cfn_parse().FromCloudFormation.getString(properties.PartnerType):void 0),ret.addPropertyResult("sidewalk","Sidewalk",properties.Sidewalk!=null?CfnPartnerAccountSidewalkAccountInfoPropertyFromCloudFormation(properties.Sidewalk):void 0),ret.addPropertyResult("sidewalkResponse","SidewalkResponse",properties.SidewalkResponse!=null?CfnPartnerAccountSidewalkAccountInfoWithFingerprintPropertyFromCloudFormation(properties.SidewalkResponse):void 0),ret.addPropertyResult("sidewalkUpdate","SidewalkUpdate",properties.SidewalkUpdate!=null?CfnPartnerAccountSidewalkUpdateAccountPropertyFromCloudFormation(properties.SidewalkUpdate):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 CfnServiceProfile extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotwireless.CfnServiceProfile",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTWireless::ServiceProfile";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnServiceProfilePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnServiceProfile(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 isCfnServiceProfile(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnServiceProfile.CFN_RESOURCE_TYPE_NAME}static fromServiceProfileArn(scope,id,arn){class Import extends cdk().Resource{serviceProfileRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:ServiceProfile/${ServiceProfileId}").parse(arn2);this.serviceProfileRef={serviceProfileId:variables.ServiceProfileId,serviceProfileArn:arn2}}}return new Import(scope,id,arn)}static fromServiceProfileId(scope,id,serviceProfileId){class Import extends cdk().Resource{serviceProfileRef;constructor(scope2,id2,serviceProfileId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:ServiceProfile/${ServiceProfileId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,ServiceProfileId:serviceProfileId2});super(scope2,id2,{environmentFromArn:arn}),this.serviceProfileRef={serviceProfileId:serviceProfileId2,serviceProfileArn:arn}}}return new Import(scope,id,serviceProfileId)}static arnForServiceProfile(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotwireless_IServiceProfileRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForServiceProfile),error}return resource.serviceProfileRef.serviceProfileArn}_loRaWan;_name;tags;_tagsRaw;cfnPropertyNames={loRaWan:"LoRaWAN",name:"Name",tags:"Tags"};constructor(scope,id,props={}){super(scope,id,{type:CfnServiceProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotwireless_CfnServiceProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnServiceProfile),error}this._loRaWan=props.loRaWan,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTWireless::ServiceProfile",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get serviceProfileRef(){return{serviceProfileId:this.ref,serviceProfileArn:this.attrArn}}get loRaWan(){return this._loRaWan}set loRaWan(value){cdk().traceProperty(this.node,"LoRaWAN"),this._loRaWan=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrLoRaWanChannelMask(){return cdk().Token.asString(this.getAtt("LoRaWAN.ChannelMask",cdk().ResolutionTypeHint.STRING))}get attrLoRaWanDevStatusReqFreq(){return cdk().Token.asNumber(this.getAtt("LoRaWAN.DevStatusReqFreq",cdk().ResolutionTypeHint.NUMBER))}get attrLoRaWanDlBucketSize(){return cdk().Token.asNumber(this.getAtt("LoRaWAN.DlBucketSize",cdk().ResolutionTypeHint.NUMBER))}get attrLoRaWanDlRate(){return cdk().Token.asNumber(this.getAtt("LoRaWAN.DlRate",cdk().ResolutionTypeHint.NUMBER))}get attrLoRaWanDlRatePolicy(){return cdk().Token.asString(this.getAtt("LoRaWAN.DlRatePolicy",cdk().ResolutionTypeHint.STRING))}get attrLoRaWanDrMax(){return cdk().Token.asNumber(this.getAtt("LoRaWAN.DrMax",cdk().ResolutionTypeHint.NUMBER))}get attrLoRaWanDrMin(){return cdk().Token.asNumber(this.getAtt("LoRaWAN.DrMin",cdk().ResolutionTypeHint.NUMBER))}get attrLoRaWanHrAllowed(){return this.getAtt("LoRaWAN.HrAllowed")}get attrLoRaWanMinGwDiversity(){return cdk().Token.asNumber(this.getAtt("LoRaWAN.MinGwDiversity",cdk().ResolutionTypeHint.NUMBER))}get attrLoRaWanNwkGeoLoc(){return this.getAtt("LoRaWAN.NwkGeoLoc")}get attrLoRaWanReportDevStatusBattery(){return this.getAtt("LoRaWAN.ReportDevStatusBattery")}get attrLoRaWanReportDevStatusMargin(){return this.getAtt("LoRaWAN.ReportDevStatusMargin")}get attrLoRaWanResponse(){return this.getAtt("LoRaWANResponse")}get attrLoRaWanTargetPer(){return cdk().Token.asNumber(this.getAtt("LoRaWAN.TargetPer",cdk().ResolutionTypeHint.NUMBER))}get attrLoRaWanUlBucketSize(){return cdk().Token.asNumber(this.getAtt("LoRaWAN.UlBucketSize",cdk().ResolutionTypeHint.NUMBER))}get attrLoRaWanUlRate(){return cdk().Token.asNumber(this.getAtt("LoRaWAN.UlRate",cdk().ResolutionTypeHint.NUMBER))}get attrLoRaWanUlRatePolicy(){return cdk().Token.asString(this.getAtt("LoRaWAN.UlRatePolicy",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{loRaWan:this._loRaWan,name:this._name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnServiceProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnServiceProfilePropsToCloudFormation(props)}}exports.CfnServiceProfile=CfnServiceProfile;function CfnServiceProfileLoRaWANServiceProfilePropertyValidator(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("addGwMetadata",cdk().validateBoolean)(properties.addGwMetadata)),errors.collect(cdk().propertyValidator("channelMask",cdk().validateString)(properties.channelMask)),errors.collect(cdk().propertyValidator("devStatusReqFreq",cdk().validateNumber)(properties.devStatusReqFreq)),errors.collect(cdk().propertyValidator("dlBucketSize",cdk().validateNumber)(properties.dlBucketSize)),errors.collect(cdk().propertyValidator("dlRate",cdk().validateNumber)(properties.dlRate)),errors.collect(cdk().propertyValidator("dlRatePolicy",cdk().validateString)(properties.dlRatePolicy)),errors.collect(cdk().propertyValidator("drMax",cdk().validateNumber)(properties.drMax)),errors.collect(cdk().propertyValidator("drMin",cdk().validateNumber)(properties.drMin)),errors.collect(cdk().propertyValidator("hrAllowed",cdk().validateBoolean)(properties.hrAllowed)),errors.collect(cdk().propertyValidator("minGwDiversity",cdk().validateNumber)(properties.minGwDiversity)),errors.collect(cdk().propertyValidator("nwkGeoLoc",cdk().validateBoolean)(properties.nwkGeoLoc)),errors.collect(cdk().propertyValidator("prAllowed",cdk().validateBoolean)(properties.prAllowed)),errors.collect(cdk().propertyValidator("raAllowed",cdk().validateBoolean)(properties.raAllowed)),errors.collect(cdk().propertyValidator("reportDevStatusBattery",cdk().validateBoolean)(properties.reportDevStatusBattery)),errors.collect(cdk().propertyValidator("reportDevStatusMargin",cdk().validateBoolean)(properties.reportDevStatusMargin)),errors.collect(cdk().propertyValidator("targetPer",cdk().validateNumber)(properties.targetPer)),errors.collect(cdk().propertyValidator("ulBucketSize",cdk().validateNumber)(properties.ulBucketSize)),errors.collect(cdk().propertyValidator("ulRate",cdk().validateNumber)(properties.ulRate)),errors.collect(cdk().propertyValidator("ulRatePolicy",cdk().validateString)(properties.ulRatePolicy)),errors.wrap('supplied properties not correct for "LoRaWANServiceProfileProperty"')}function convertCfnServiceProfileLoRaWANServiceProfilePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceProfileLoRaWANServiceProfilePropertyValidator(properties).assertSuccess(),{AddGwMetadata:cdk().booleanToCloudFormation(properties.addGwMetadata),ChannelMask:cdk().stringToCloudFormation(properties.channelMask),DevStatusReqFreq:cdk().numberToCloudFormation(properties.devStatusReqFreq),DlBucketSize:cdk().numberToCloudFormation(properties.dlBucketSize),DlRate:cdk().numberToCloudFormation(properties.dlRate),DlRatePolicy:cdk().stringToCloudFormation(properties.dlRatePolicy),DrMax:cdk().numberToCloudFormation(properties.drMax),DrMin:cdk().numberToCloudFormation(properties.drMin),HrAllowed:cdk().booleanToCloudFormation(properties.hrAllowed),MinGwDiversity:cdk().numberToCloudFormation(properties.minGwDiversity),NwkGeoLoc:cdk().booleanToCloudFormation(properties.nwkGeoLoc),PrAllowed:cdk().booleanToCloudFormation(properties.prAllowed),RaAllowed:cdk().booleanToCloudFormation(properties.raAllowed),ReportDevStatusBattery:cdk().booleanToCloudFormation(properties.reportDevStatusBattery),ReportDevStatusMargin:cdk().booleanToCloudFormation(properties.reportDevStatusMargin),TargetPer:cdk().numberToCloudFormation(properties.targetPer),UlBucketSize:cdk().numberToCloudFormation(properties.ulBucketSize),UlRate:cdk().numberToCloudFormation(properties.ulRate),UlRatePolicy:cdk().stringToCloudFormation(properties.ulRatePolicy)}):properties}function CfnServiceProfileLoRaWANServiceProfilePropertyFromCloudFormation(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("addGwMetadata","AddGwMetadata",properties.AddGwMetadata!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AddGwMetadata):void 0),ret.addPropertyResult("channelMask","ChannelMask",properties.ChannelMask!=null?cfn_parse().FromCloudFormation.getString(properties.ChannelMask):void 0),ret.addPropertyResult("devStatusReqFreq","DevStatusReqFreq",properties.DevStatusReqFreq!=null?cfn_parse().FromCloudFormation.getNumber(properties.DevStatusReqFreq):void 0),ret.addPropertyResult("dlBucketSize","DlBucketSize",properties.DlBucketSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.DlBucketSize):void 0),ret.addPropertyResult("dlRate","DlRate",properties.DlRate!=null?cfn_parse().FromCloudFormation.getNumber(properties.DlRate):void 0),ret.addPropertyResult("dlRatePolicy","DlRatePolicy",properties.DlRatePolicy!=null?cfn_parse().FromCloudFormation.getString(properties.DlRatePolicy):void 0),ret.addPropertyResult("drMax","DrMax",properties.DrMax!=null?cfn_parse().FromCloudFormation.getNumber(properties.DrMax):void 0),ret.addPropertyResult("drMin","DrMin",properties.DrMin!=null?cfn_parse().FromCloudFormation.getNumber(properties.DrMin):void 0),ret.addPropertyResult("hrAllowed","HrAllowed",properties.HrAllowed!=null?cfn_parse().FromCloudFormation.getBoolean(properties.HrAllowed):void 0),ret.addPropertyResult("minGwDiversity","MinGwDiversity",properties.MinGwDiversity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinGwDiversity):void 0),ret.addPropertyResult("nwkGeoLoc","NwkGeoLoc",properties.NwkGeoLoc!=null?cfn_parse().FromCloudFormation.getBoolean(properties.NwkGeoLoc):void 0),ret.addPropertyResult("prAllowed","PrAllowed",properties.PrAllowed!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PrAllowed):void 0),ret.addPropertyResult("raAllowed","RaAllowed",properties.RaAllowed!=null?cfn_parse().FromCloudFormation.getBoolean(properties.RaAllowed):void 0),ret.addPropertyResult("reportDevStatusBattery","ReportDevStatusBattery",properties.ReportDevStatusBattery!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReportDevStatusBattery):void 0),ret.addPropertyResult("reportDevStatusMargin","ReportDevStatusMargin",properties.ReportDevStatusMargin!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReportDevStatusMargin):void 0),ret.addPropertyResult("targetPer","TargetPer",properties.TargetPer!=null?cfn_parse().FromCloudFormation.getNumber(properties.TargetPer):void 0),ret.addPropertyResult("ulBucketSize","UlBucketSize",properties.UlBucketSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.UlBucketSize):void 0),ret.addPropertyResult("ulRate","UlRate",properties.UlRate!=null?cfn_parse().FromCloudFormation.getNumber(properties.UlRate):void 0),ret.addPropertyResult("ulRatePolicy","UlRatePolicy",properties.UlRatePolicy!=null?cfn_parse().FromCloudFormation.getString(properties.UlRatePolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceProfilePropsValidator(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("loRaWan",CfnServiceProfileLoRaWANServiceProfilePropertyValidator)(properties.loRaWan)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnServiceProfileProps"')}function convertCfnServiceProfilePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceProfilePropsValidator(properties).assertSuccess(),{LoRaWAN:convertCfnServiceProfileLoRaWANServiceProfilePropertyToCloudFormation(properties.loRaWan),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnServiceProfilePropsFromCloudFormation(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("loRaWan","LoRaWAN",properties.LoRaWAN!=null?CfnServiceProfileLoRaWANServiceProfilePropertyFromCloudFormation(properties.LoRaWAN):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.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTaskDefinition extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotwireless.CfnTaskDefinition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTWireless::TaskDefinition";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTaskDefinitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTaskDefinition(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 isCfnTaskDefinition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTaskDefinition.CFN_RESOURCE_TYPE_NAME}static arnForTaskDefinition(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotwireless_ITaskDefinitionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTaskDefinition),error}return resource.taskDefinitionRef.taskDefinitionArn}_autoCreateTasks;_loRaWanUpdateGatewayTaskEntry;_name;tags;_tagsRaw;_taskDefinitionType;_update;cfnPropertyNames={autoCreateTasks:"AutoCreateTasks",loRaWanUpdateGatewayTaskEntry:"LoRaWANUpdateGatewayTaskEntry",name:"Name",tags:"Tags",taskDefinitionType:"TaskDefinitionType",update:"Update"};constructor(scope,id,props){super(scope,id,{type:CfnTaskDefinition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotwireless_CfnTaskDefinitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTaskDefinition),error}cdk().requireProperty(props,"autoCreateTasks",this),this._autoCreateTasks=props.autoCreateTasks,this._loRaWanUpdateGatewayTaskEntry=props.loRaWanUpdateGatewayTaskEntry,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTWireless::TaskDefinition",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._taskDefinitionType=props.taskDefinitionType,this._update=props.update}get taskDefinitionRef(){return{taskDefinitionId:this.ref,taskDefinitionArn:this.attrArn}}get autoCreateTasks(){return this._autoCreateTasks}set autoCreateTasks(value){cdk().traceProperty(this.node,"AutoCreateTasks"),this._autoCreateTasks=value}get loRaWanUpdateGatewayTaskEntry(){return this._loRaWanUpdateGatewayTaskEntry}set loRaWanUpdateGatewayTaskEntry(value){cdk().traceProperty(this.node,"LoRaWANUpdateGatewayTaskEntry"),this._loRaWanUpdateGatewayTaskEntry=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 taskDefinitionType(){return this._taskDefinitionType}set taskDefinitionType(value){cdk().traceProperty(this.node,"TaskDefinitionType"),this._taskDefinitionType=value}get update(){return this._update}set update(value){cdk().traceProperty(this.node,"Update"),this._update=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{autoCreateTasks:this._autoCreateTasks,loRaWanUpdateGatewayTaskEntry:this._loRaWanUpdateGatewayTaskEntry,name:this._name,tags:this.tags.renderTags(),taskDefinitionType:this._taskDefinitionType,update:this._update}}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",CfnTaskDefinition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTaskDefinitionPropsToCloudFormation(props)}}exports.CfnTaskDefinition=CfnTaskDefinition;function CfnTaskDefinitionLoRaWANGatewayVersionPropertyValidator(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("model",cdk().validateString)(properties.model)),errors.collect(cdk().propertyValidator("packageVersion",cdk().validateString)(properties.packageVersion)),errors.collect(cdk().propertyValidator("station",cdk().validateString)(properties.station)),errors.wrap('supplied properties not correct for "LoRaWANGatewayVersionProperty"')}function convertCfnTaskDefinitionLoRaWANGatewayVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskDefinitionLoRaWANGatewayVersionPropertyValidator(properties).assertSuccess(),{Model:cdk().stringToCloudFormation(properties.model),PackageVersion:cdk().stringToCloudFormation(properties.packageVersion),Station:cdk().stringToCloudFormation(properties.station)}):properties}function CfnTaskDefinitionLoRaWANGatewayVersionPropertyFromCloudFormation(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("model","Model",properties.Model!=null?cfn_parse().FromCloudFormation.getString(properties.Model):void 0),ret.addPropertyResult("packageVersion","PackageVersion",properties.PackageVersion!=null?cfn_parse().FromCloudFormation.getString(properties.PackageVersion):void 0),ret.addPropertyResult("station","Station",properties.Station!=null?cfn_parse().FromCloudFormation.getString(properties.Station):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskDefinitionLoRaWANUpdateGatewayTaskEntryPropertyValidator(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("currentVersion",CfnTaskDefinitionLoRaWANGatewayVersionPropertyValidator)(properties.currentVersion)),errors.collect(cdk().propertyValidator("updateVersion",CfnTaskDefinitionLoRaWANGatewayVersionPropertyValidator)(properties.updateVersion)),errors.wrap('supplied properties not correct for "LoRaWANUpdateGatewayTaskEntryProperty"')}function convertCfnTaskDefinitionLoRaWANUpdateGatewayTaskEntryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskDefinitionLoRaWANUpdateGatewayTaskEntryPropertyValidator(properties).assertSuccess(),{CurrentVersion:convertCfnTaskDefinitionLoRaWANGatewayVersionPropertyToCloudFormation(properties.currentVersion),UpdateVersion:convertCfnTaskDefinitionLoRaWANGatewayVersionPropertyToCloudFormation(properties.updateVersion)}):properties}function CfnTaskDefinitionLoRaWANUpdateGatewayTaskEntryPropertyFromCloudFormation(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("currentVersion","CurrentVersion",properties.CurrentVersion!=null?CfnTaskDefinitionLoRaWANGatewayVersionPropertyFromCloudFormation(properties.CurrentVersion):void 0),ret.addPropertyResult("updateVersion","UpdateVersion",properties.UpdateVersion!=null?CfnTaskDefinitionLoRaWANGatewayVersionPropertyFromCloudFormation(properties.UpdateVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskDefinitionLoRaWANUpdateGatewayTaskCreatePropertyValidator(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("currentVersion",CfnTaskDefinitionLoRaWANGatewayVersionPropertyValidator)(properties.currentVersion)),errors.collect(cdk().propertyValidator("sigKeyCrc",cdk().validateNumber)(properties.sigKeyCrc)),errors.collect(cdk().propertyValidator("updateSignature",cdk().validateString)(properties.updateSignature)),errors.collect(cdk().propertyValidator("updateVersion",CfnTaskDefinitionLoRaWANGatewayVersionPropertyValidator)(properties.updateVersion)),errors.wrap('supplied properties not correct for "LoRaWANUpdateGatewayTaskCreateProperty"')}function convertCfnTaskDefinitionLoRaWANUpdateGatewayTaskCreatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskDefinitionLoRaWANUpdateGatewayTaskCreatePropertyValidator(properties).assertSuccess(),{CurrentVersion:convertCfnTaskDefinitionLoRaWANGatewayVersionPropertyToCloudFormation(properties.currentVersion),SigKeyCrc:cdk().numberToCloudFormation(properties.sigKeyCrc),UpdateSignature:cdk().stringToCloudFormation(properties.updateSignature),UpdateVersion:convertCfnTaskDefinitionLoRaWANGatewayVersionPropertyToCloudFormation(properties.updateVersion)}):properties}function CfnTaskDefinitionLoRaWANUpdateGatewayTaskCreatePropertyFromCloudFormation(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("currentVersion","CurrentVersion",properties.CurrentVersion!=null?CfnTaskDefinitionLoRaWANGatewayVersionPropertyFromCloudFormation(properties.CurrentVersion):void 0),ret.addPropertyResult("sigKeyCrc","SigKeyCrc",properties.SigKeyCrc!=null?cfn_parse().FromCloudFormation.getNumber(properties.SigKeyCrc):void 0),ret.addPropertyResult("updateSignature","UpdateSignature",properties.UpdateSignature!=null?cfn_parse().FromCloudFormation.getString(properties.UpdateSignature):void 0),ret.addPropertyResult("updateVersion","UpdateVersion",properties.UpdateVersion!=null?CfnTaskDefinitionLoRaWANGatewayVersionPropertyFromCloudFormation(properties.UpdateVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskDefinitionUpdateWirelessGatewayTaskCreatePropertyValidator(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("loRaWan",CfnTaskDefinitionLoRaWANUpdateGatewayTaskCreatePropertyValidator)(properties.loRaWan)),errors.collect(cdk().propertyValidator("updateDataRole",cdk().validateString)(properties.updateDataRole)),errors.collect(cdk().propertyValidator("updateDataSource",cdk().validateString)(properties.updateDataSource)),errors.wrap('supplied properties not correct for "UpdateWirelessGatewayTaskCreateProperty"')}function convertCfnTaskDefinitionUpdateWirelessGatewayTaskCreatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskDefinitionUpdateWirelessGatewayTaskCreatePropertyValidator(properties).assertSuccess(),{LoRaWAN:convertCfnTaskDefinitionLoRaWANUpdateGatewayTaskCreatePropertyToCloudFormation(properties.loRaWan),UpdateDataRole:cdk().stringToCloudFormation(properties.updateDataRole),UpdateDataSource:cdk().stringToCloudFormation(properties.updateDataSource)}):properties}function CfnTaskDefinitionUpdateWirelessGatewayTaskCreatePropertyFromCloudFormation(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("loRaWan","LoRaWAN",properties.LoRaWAN!=null?CfnTaskDefinitionLoRaWANUpdateGatewayTaskCreatePropertyFromCloudFormation(properties.LoRaWAN):void 0),ret.addPropertyResult("updateDataRole","UpdateDataRole",properties.UpdateDataRole!=null?cfn_parse().FromCloudFormation.getString(properties.UpdateDataRole):void 0),ret.addPropertyResult("updateDataSource","UpdateDataSource",properties.UpdateDataSource!=null?cfn_parse().FromCloudFormation.getString(properties.UpdateDataSource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskDefinitionPropsValidator(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("autoCreateTasks",cdk().requiredValidator)(properties.autoCreateTasks)),errors.collect(cdk().propertyValidator("autoCreateTasks",cdk().validateBoolean)(properties.autoCreateTasks)),errors.collect(cdk().propertyValidator("loRaWanUpdateGatewayTaskEntry",CfnTaskDefinitionLoRaWANUpdateGatewayTaskEntryPropertyValidator)(properties.loRaWanUpdateGatewayTaskEntry)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("taskDefinitionType",cdk().validateString)(properties.taskDefinitionType)),errors.collect(cdk().propertyValidator("update",CfnTaskDefinitionUpdateWirelessGatewayTaskCreatePropertyValidator)(properties.update)),errors.wrap('supplied properties not correct for "CfnTaskDefinitionProps"')}function convertCfnTaskDefinitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskDefinitionPropsValidator(properties).assertSuccess(),{AutoCreateTasks:cdk().booleanToCloudFormation(properties.autoCreateTasks),LoRaWANUpdateGatewayTaskEntry:convertCfnTaskDefinitionLoRaWANUpdateGatewayTaskEntryPropertyToCloudFormation(properties.loRaWanUpdateGatewayTaskEntry),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TaskDefinitionType:cdk().stringToCloudFormation(properties.taskDefinitionType),Update:convertCfnTaskDefinitionUpdateWirelessGatewayTaskCreatePropertyToCloudFormation(properties.update)}):properties}function CfnTaskDefinitionPropsFromCloudFormation(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("autoCreateTasks","AutoCreateTasks",properties.AutoCreateTasks!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoCreateTasks):void 0),ret.addPropertyResult("loRaWanUpdateGatewayTaskEntry","LoRaWANUpdateGatewayTaskEntry",properties.LoRaWANUpdateGatewayTaskEntry!=null?CfnTaskDefinitionLoRaWANUpdateGatewayTaskEntryPropertyFromCloudFormation(properties.LoRaWANUpdateGatewayTaskEntry):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("taskDefinitionType","TaskDefinitionType",properties.TaskDefinitionType!=null?cfn_parse().FromCloudFormation.getString(properties.TaskDefinitionType):void 0),ret.addPropertyResult("update","Update",properties.Update!=null?CfnTaskDefinitionUpdateWirelessGatewayTaskCreatePropertyFromCloudFormation(properties.Update):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnWirelessDevice extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotwireless.CfnWirelessDevice",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTWireless::WirelessDevice";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnWirelessDevicePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnWirelessDevice(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 isCfnWirelessDevice(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnWirelessDevice.CFN_RESOURCE_TYPE_NAME}static fromWirelessDeviceArn(scope,id,arn){class Import extends cdk().Resource{wirelessDeviceRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:WirelessDevice/${WirelessDeviceId}").parse(arn2);this.wirelessDeviceRef={wirelessDeviceId:variables.WirelessDeviceId,wirelessDeviceArn:arn2}}}return new Import(scope,id,arn)}static fromWirelessDeviceId(scope,id,wirelessDeviceId){class Import extends cdk().Resource{wirelessDeviceRef;constructor(scope2,id2,wirelessDeviceId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:WirelessDevice/${WirelessDeviceId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,WirelessDeviceId:wirelessDeviceId2});super(scope2,id2,{environmentFromArn:arn}),this.wirelessDeviceRef={wirelessDeviceId:wirelessDeviceId2,wirelessDeviceArn:arn}}}return new Import(scope,id,wirelessDeviceId)}static arnForWirelessDevice(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotwireless_IWirelessDeviceRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForWirelessDevice),error}return resource.wirelessDeviceRef.wirelessDeviceArn}_description;_destinationName;_lastUplinkReceivedAt;_loRaWan;_name;_positioning;tags;_tagsRaw;_thingArn;_type;cfnPropertyNames={description:"Description",destinationName:"DestinationName",lastUplinkReceivedAt:"LastUplinkReceivedAt",loRaWan:"LoRaWAN",name:"Name",positioning:"Positioning",tags:"Tags",thingArn:"ThingArn",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnWirelessDevice.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotwireless_CfnWirelessDeviceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnWirelessDevice),error}cdk().requireProperty(props,"destinationName",this),cdk().requireProperty(props,"type",this),this._description=props.description,this._destinationName=props.destinationName,this._lastUplinkReceivedAt=props.lastUplinkReceivedAt,this._loRaWan=props.loRaWan,this._name=props.name,this._positioning=props.positioning,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTWireless::WirelessDevice",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._thingArn=props.thingArn,this._type=props.type}get wirelessDeviceRef(){return{wirelessDeviceId:this.ref,wirelessDeviceArn:this.attrArn}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get destinationName(){return this._destinationName}set destinationName(value){cdk().traceProperty(this.node,"DestinationName"),this._destinationName=value}get lastUplinkReceivedAt(){return this._lastUplinkReceivedAt}set lastUplinkReceivedAt(value){cdk().traceProperty(this.node,"LastUplinkReceivedAt"),this._lastUplinkReceivedAt=value}get loRaWan(){return this._loRaWan}set loRaWan(value){cdk().traceProperty(this.node,"LoRaWAN"),this._loRaWan=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get positioning(){return this._positioning}set positioning(value){cdk().traceProperty(this.node,"Positioning"),this._positioning=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get thingArn(){return this._thingArn}set thingArn(value){cdk().traceProperty(this.node,"ThingArn"),this._thingArn=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrThingName(){return cdk().Token.asString(this.getAtt("ThingName",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,destinationName:this._destinationName,lastUplinkReceivedAt:this._lastUplinkReceivedAt,loRaWan:this._loRaWan,name:this._name,positioning:this._positioning,tags:this.tags.renderTags(),thingArn:this._thingArn,type:this._type}}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",CfnWirelessDevice.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnWirelessDevicePropsToCloudFormation(props)}}exports.CfnWirelessDevice=CfnWirelessDevice;function CfnWirelessDeviceSessionKeysAbpV10xPropertyValidator(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("appSKey",cdk().requiredValidator)(properties.appSKey)),errors.collect(cdk().propertyValidator("appSKey",cdk().validateString)(properties.appSKey)),errors.collect(cdk().propertyValidator("nwkSKey",cdk().requiredValidator)(properties.nwkSKey)),errors.collect(cdk().propertyValidator("nwkSKey",cdk().validateString)(properties.nwkSKey)),errors.wrap('supplied properties not correct for "SessionKeysAbpV10xProperty"')}function convertCfnWirelessDeviceSessionKeysAbpV10xPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessDeviceSessionKeysAbpV10xPropertyValidator(properties).assertSuccess(),{AppSKey:cdk().stringToCloudFormation(properties.appSKey),NwkSKey:cdk().stringToCloudFormation(properties.nwkSKey)}):properties}function CfnWirelessDeviceSessionKeysAbpV10xPropertyFromCloudFormation(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("appSKey","AppSKey",properties.AppSKey!=null?cfn_parse().FromCloudFormation.getString(properties.AppSKey):void 0),ret.addPropertyResult("nwkSKey","NwkSKey",properties.NwkSKey!=null?cfn_parse().FromCloudFormation.getString(properties.NwkSKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWirelessDeviceAbpV10xPropertyValidator(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("devAddr",cdk().requiredValidator)(properties.devAddr)),errors.collect(cdk().propertyValidator("devAddr",cdk().validateString)(properties.devAddr)),errors.collect(cdk().propertyValidator("sessionKeys",cdk().requiredValidator)(properties.sessionKeys)),errors.collect(cdk().propertyValidator("sessionKeys",CfnWirelessDeviceSessionKeysAbpV10xPropertyValidator)(properties.sessionKeys)),errors.wrap('supplied properties not correct for "AbpV10xProperty"')}function convertCfnWirelessDeviceAbpV10xPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessDeviceAbpV10xPropertyValidator(properties).assertSuccess(),{DevAddr:cdk().stringToCloudFormation(properties.devAddr),SessionKeys:convertCfnWirelessDeviceSessionKeysAbpV10xPropertyToCloudFormation(properties.sessionKeys)}):properties}function CfnWirelessDeviceAbpV10xPropertyFromCloudFormation(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("devAddr","DevAddr",properties.DevAddr!=null?cfn_parse().FromCloudFormation.getString(properties.DevAddr):void 0),ret.addPropertyResult("sessionKeys","SessionKeys",properties.SessionKeys!=null?CfnWirelessDeviceSessionKeysAbpV10xPropertyFromCloudFormation(properties.SessionKeys):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWirelessDeviceOtaaV11PropertyValidator(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("appKey",cdk().requiredValidator)(properties.appKey)),errors.collect(cdk().propertyValidator("appKey",cdk().validateString)(properties.appKey)),errors.collect(cdk().propertyValidator("joinEui",cdk().requiredValidator)(properties.joinEui)),errors.collect(cdk().propertyValidator("joinEui",cdk().validateString)(properties.joinEui)),errors.collect(cdk().propertyValidator("nwkKey",cdk().requiredValidator)(properties.nwkKey)),errors.collect(cdk().propertyValidator("nwkKey",cdk().validateString)(properties.nwkKey)),errors.wrap('supplied properties not correct for "OtaaV11Property"')}function convertCfnWirelessDeviceOtaaV11PropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessDeviceOtaaV11PropertyValidator(properties).assertSuccess(),{AppKey:cdk().stringToCloudFormation(properties.appKey),JoinEui:cdk().stringToCloudFormation(properties.joinEui),NwkKey:cdk().stringToCloudFormation(properties.nwkKey)}):properties}function CfnWirelessDeviceOtaaV11PropertyFromCloudFormation(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("appKey","AppKey",properties.AppKey!=null?cfn_parse().FromCloudFormation.getString(properties.AppKey):void 0),ret.addPropertyResult("joinEui","JoinEui",properties.JoinEui!=null?cfn_parse().FromCloudFormation.getString(properties.JoinEui):void 0),ret.addPropertyResult("nwkKey","NwkKey",properties.NwkKey!=null?cfn_parse().FromCloudFormation.getString(properties.NwkKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWirelessDeviceSessionKeysAbpV11PropertyValidator(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("appSKey",cdk().requiredValidator)(properties.appSKey)),errors.collect(cdk().propertyValidator("appSKey",cdk().validateString)(properties.appSKey)),errors.collect(cdk().propertyValidator("fNwkSIntKey",cdk().requiredValidator)(properties.fNwkSIntKey)),errors.collect(cdk().propertyValidator("fNwkSIntKey",cdk().validateString)(properties.fNwkSIntKey)),errors.collect(cdk().propertyValidator("nwkSEncKey",cdk().requiredValidator)(properties.nwkSEncKey)),errors.collect(cdk().propertyValidator("nwkSEncKey",cdk().validateString)(properties.nwkSEncKey)),errors.collect(cdk().propertyValidator("sNwkSIntKey",cdk().requiredValidator)(properties.sNwkSIntKey)),errors.collect(cdk().propertyValidator("sNwkSIntKey",cdk().validateString)(properties.sNwkSIntKey)),errors.wrap('supplied properties not correct for "SessionKeysAbpV11Property"')}function convertCfnWirelessDeviceSessionKeysAbpV11PropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessDeviceSessionKeysAbpV11PropertyValidator(properties).assertSuccess(),{AppSKey:cdk().stringToCloudFormation(properties.appSKey),FNwkSIntKey:cdk().stringToCloudFormation(properties.fNwkSIntKey),NwkSEncKey:cdk().stringToCloudFormation(properties.nwkSEncKey),SNwkSIntKey:cdk().stringToCloudFormation(properties.sNwkSIntKey)}):properties}function CfnWirelessDeviceSessionKeysAbpV11PropertyFromCloudFormation(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("appSKey","AppSKey",properties.AppSKey!=null?cfn_parse().FromCloudFormation.getString(properties.AppSKey):void 0),ret.addPropertyResult("fNwkSIntKey","FNwkSIntKey",properties.FNwkSIntKey!=null?cfn_parse().FromCloudFormation.getString(properties.FNwkSIntKey):void 0),ret.addPropertyResult("nwkSEncKey","NwkSEncKey",properties.NwkSEncKey!=null?cfn_parse().FromCloudFormation.getString(properties.NwkSEncKey):void 0),ret.addPropertyResult("sNwkSIntKey","SNwkSIntKey",properties.SNwkSIntKey!=null?cfn_parse().FromCloudFormation.getString(properties.SNwkSIntKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWirelessDeviceAbpV11PropertyValidator(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("devAddr",cdk().requiredValidator)(properties.devAddr)),errors.collect(cdk().propertyValidator("devAddr",cdk().validateString)(properties.devAddr)),errors.collect(cdk().propertyValidator("sessionKeys",cdk().requiredValidator)(properties.sessionKeys)),errors.collect(cdk().propertyValidator("sessionKeys",CfnWirelessDeviceSessionKeysAbpV11PropertyValidator)(properties.sessionKeys)),errors.wrap('supplied properties not correct for "AbpV11Property"')}function convertCfnWirelessDeviceAbpV11PropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessDeviceAbpV11PropertyValidator(properties).assertSuccess(),{DevAddr:cdk().stringToCloudFormation(properties.devAddr),SessionKeys:convertCfnWirelessDeviceSessionKeysAbpV11PropertyToCloudFormation(properties.sessionKeys)}):properties}function CfnWirelessDeviceAbpV11PropertyFromCloudFormation(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("devAddr","DevAddr",properties.DevAddr!=null?cfn_parse().FromCloudFormation.getString(properties.DevAddr):void 0),ret.addPropertyResult("sessionKeys","SessionKeys",properties.SessionKeys!=null?CfnWirelessDeviceSessionKeysAbpV11PropertyFromCloudFormation(properties.SessionKeys):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWirelessDeviceOtaaV10xPropertyValidator(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("appEui",cdk().requiredValidator)(properties.appEui)),errors.collect(cdk().propertyValidator("appEui",cdk().validateString)(properties.appEui)),errors.collect(cdk().propertyValidator("appKey",cdk().requiredValidator)(properties.appKey)),errors.collect(cdk().propertyValidator("appKey",cdk().validateString)(properties.appKey)),errors.wrap('supplied properties not correct for "OtaaV10xProperty"')}function convertCfnWirelessDeviceOtaaV10xPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessDeviceOtaaV10xPropertyValidator(properties).assertSuccess(),{AppEui:cdk().stringToCloudFormation(properties.appEui),AppKey:cdk().stringToCloudFormation(properties.appKey)}):properties}function CfnWirelessDeviceOtaaV10xPropertyFromCloudFormation(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("appEui","AppEui",properties.AppEui!=null?cfn_parse().FromCloudFormation.getString(properties.AppEui):void 0),ret.addPropertyResult("appKey","AppKey",properties.AppKey!=null?cfn_parse().FromCloudFormation.getString(properties.AppKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWirelessDeviceApplicationPropertyValidator(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("destinationName",cdk().validateString)(properties.destinationName)),errors.collect(cdk().propertyValidator("fPort",cdk().validateNumber)(properties.fPort)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ApplicationProperty"')}function convertCfnWirelessDeviceApplicationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessDeviceApplicationPropertyValidator(properties).assertSuccess(),{DestinationName:cdk().stringToCloudFormation(properties.destinationName),FPort:cdk().numberToCloudFormation(properties.fPort),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnWirelessDeviceApplicationPropertyFromCloudFormation(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("destinationName","DestinationName",properties.DestinationName!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationName):void 0),ret.addPropertyResult("fPort","FPort",properties.FPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.FPort):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWirelessDeviceFPortsPropertyValidator(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("applications",cdk().listValidator(CfnWirelessDeviceApplicationPropertyValidator))(properties.applications)),errors.wrap('supplied properties not correct for "FPortsProperty"')}function convertCfnWirelessDeviceFPortsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessDeviceFPortsPropertyValidator(properties).assertSuccess(),{Applications:cdk().listMapper(convertCfnWirelessDeviceApplicationPropertyToCloudFormation)(properties.applications)}):properties}function CfnWirelessDeviceFPortsPropertyFromCloudFormation(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("applications","Applications",properties.Applications!=null?cfn_parse().FromCloudFormation.getArray(CfnWirelessDeviceApplicationPropertyFromCloudFormation)(properties.Applications):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWirelessDeviceLoRaWANDevicePropertyValidator(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("abpV10X",CfnWirelessDeviceAbpV10xPropertyValidator)(properties.abpV10X)),errors.collect(cdk().propertyValidator("abpV11",CfnWirelessDeviceAbpV11PropertyValidator)(properties.abpV11)),errors.collect(cdk().propertyValidator("devEui",cdk().validateString)(properties.devEui)),errors.collect(cdk().propertyValidator("deviceProfileId",cdk().validateString)(properties.deviceProfileId)),errors.collect(cdk().propertyValidator("fPorts",CfnWirelessDeviceFPortsPropertyValidator)(properties.fPorts)),errors.collect(cdk().propertyValidator("otaaV10X",CfnWirelessDeviceOtaaV10xPropertyValidator)(properties.otaaV10X)),errors.collect(cdk().propertyValidator("otaaV11",CfnWirelessDeviceOtaaV11PropertyValidator)(properties.otaaV11)),errors.collect(cdk().propertyValidator("serviceProfileId",cdk().validateString)(properties.serviceProfileId)),errors.wrap('supplied properties not correct for "LoRaWANDeviceProperty"')}function convertCfnWirelessDeviceLoRaWANDevicePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessDeviceLoRaWANDevicePropertyValidator(properties).assertSuccess(),{AbpV10x:convertCfnWirelessDeviceAbpV10xPropertyToCloudFormation(properties.abpV10X),AbpV11:convertCfnWirelessDeviceAbpV11PropertyToCloudFormation(properties.abpV11),DevEui:cdk().stringToCloudFormation(properties.devEui),DeviceProfileId:cdk().stringToCloudFormation(properties.deviceProfileId),FPorts:convertCfnWirelessDeviceFPortsPropertyToCloudFormation(properties.fPorts),OtaaV10x:convertCfnWirelessDeviceOtaaV10xPropertyToCloudFormation(properties.otaaV10X),OtaaV11:convertCfnWirelessDeviceOtaaV11PropertyToCloudFormation(properties.otaaV11),ServiceProfileId:cdk().stringToCloudFormation(properties.serviceProfileId)}):properties}function CfnWirelessDeviceLoRaWANDevicePropertyFromCloudFormation(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("abpV10X","AbpV10x",properties.AbpV10x!=null?CfnWirelessDeviceAbpV10xPropertyFromCloudFormation(properties.AbpV10x):void 0),ret.addPropertyResult("abpV11","AbpV11",properties.AbpV11!=null?CfnWirelessDeviceAbpV11PropertyFromCloudFormation(properties.AbpV11):void 0),ret.addPropertyResult("devEui","DevEui",properties.DevEui!=null?cfn_parse().FromCloudFormation.getString(properties.DevEui):void 0),ret.addPropertyResult("deviceProfileId","DeviceProfileId",properties.DeviceProfileId!=null?cfn_parse().FromCloudFormation.getString(properties.DeviceProfileId):void 0),ret.addPropertyResult("fPorts","FPorts",properties.FPorts!=null?CfnWirelessDeviceFPortsPropertyFromCloudFormation(properties.FPorts):void 0),ret.addPropertyResult("otaaV10X","OtaaV10x",properties.OtaaV10x!=null?CfnWirelessDeviceOtaaV10xPropertyFromCloudFormation(properties.OtaaV10x):void 0),ret.addPropertyResult("otaaV11","OtaaV11",properties.OtaaV11!=null?CfnWirelessDeviceOtaaV11PropertyFromCloudFormation(properties.OtaaV11):void 0),ret.addPropertyResult("serviceProfileId","ServiceProfileId",properties.ServiceProfileId!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceProfileId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWirelessDevicePropsValidator(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("destinationName",cdk().requiredValidator)(properties.destinationName)),errors.collect(cdk().propertyValidator("destinationName",cdk().validateString)(properties.destinationName)),errors.collect(cdk().propertyValidator("lastUplinkReceivedAt",cdk().validateString)(properties.lastUplinkReceivedAt)),errors.collect(cdk().propertyValidator("loRaWan",CfnWirelessDeviceLoRaWANDevicePropertyValidator)(properties.loRaWan)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("positioning",cdk().validateString)(properties.positioning)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("thingArn",cdk().validateString)(properties.thingArn)),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 "CfnWirelessDeviceProps"')}function convertCfnWirelessDevicePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessDevicePropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),DestinationName:cdk().stringToCloudFormation(properties.destinationName),LastUplinkReceivedAt:cdk().stringToCloudFormation(properties.lastUplinkReceivedAt),LoRaWAN:convertCfnWirelessDeviceLoRaWANDevicePropertyToCloudFormation(properties.loRaWan),Name:cdk().stringToCloudFormation(properties.name),Positioning:cdk().stringToCloudFormation(properties.positioning),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),ThingArn:cdk().stringToCloudFormation(properties.thingArn),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnWirelessDevicePropsFromCloudFormation(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("destinationName","DestinationName",properties.DestinationName!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationName):void 0),ret.addPropertyResult("lastUplinkReceivedAt","LastUplinkReceivedAt",properties.LastUplinkReceivedAt!=null?cfn_parse().FromCloudFormation.getString(properties.LastUplinkReceivedAt):void 0),ret.addPropertyResult("loRaWan","LoRaWAN",properties.LoRaWAN!=null?CfnWirelessDeviceLoRaWANDevicePropertyFromCloudFormation(properties.LoRaWAN):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("positioning","Positioning",properties.Positioning!=null?cfn_parse().FromCloudFormation.getString(properties.Positioning):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("thingArn","ThingArn",properties.ThingArn!=null?cfn_parse().FromCloudFormation.getString(properties.ThingArn):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnWirelessDeviceImportTask extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotwireless.CfnWirelessDeviceImportTask",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTWireless::WirelessDeviceImportTask";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnWirelessDeviceImportTaskPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnWirelessDeviceImportTask(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 isCfnWirelessDeviceImportTask(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnWirelessDeviceImportTask.CFN_RESOURCE_TYPE_NAME}static fromWirelessDeviceImportTaskArn(scope,id,arn){class Import extends cdk().Resource{wirelessDeviceImportTaskRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:WirelessDeviceImportTask/${WirelessDeviceImportTaskId}").parse(arn2);this.wirelessDeviceImportTaskRef={wirelessDeviceImportTaskId:variables.WirelessDeviceImportTaskId,wirelessDeviceImportTaskArn:arn2}}}return new Import(scope,id,arn)}static fromWirelessDeviceImportTaskId(scope,id,wirelessDeviceImportTaskId){class Import extends cdk().Resource{wirelessDeviceImportTaskRef;constructor(scope2,id2,wirelessDeviceImportTaskId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:WirelessDeviceImportTask/${WirelessDeviceImportTaskId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,WirelessDeviceImportTaskId:wirelessDeviceImportTaskId2});super(scope2,id2,{environmentFromArn:arn}),this.wirelessDeviceImportTaskRef={wirelessDeviceImportTaskId:wirelessDeviceImportTaskId2,wirelessDeviceImportTaskArn:arn}}}return new Import(scope,id,wirelessDeviceImportTaskId)}static arnForWirelessDeviceImportTask(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotwireless_IWirelessDeviceImportTaskRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForWirelessDeviceImportTask),error}return resource.wirelessDeviceImportTaskRef.wirelessDeviceImportTaskArn}_destinationName;_sidewalk;tags;_tagsRaw;cfnPropertyNames={destinationName:"DestinationName",sidewalk:"Sidewalk",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnWirelessDeviceImportTask.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotwireless_CfnWirelessDeviceImportTaskProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnWirelessDeviceImportTask),error}cdk().requireProperty(props,"destinationName",this),cdk().requireProperty(props,"sidewalk",this),this._destinationName=props.destinationName,this._sidewalk=props.sidewalk,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTWireless::WirelessDeviceImportTask",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get wirelessDeviceImportTaskRef(){return{wirelessDeviceImportTaskId:this.ref,wirelessDeviceImportTaskArn:this.attrArn}}get destinationName(){return this._destinationName}set destinationName(value){cdk().traceProperty(this.node,"DestinationName"),this._destinationName=value}get sidewalk(){return this._sidewalk}set sidewalk(value){cdk().traceProperty(this.node,"Sidewalk"),this._sidewalk=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 attrCreationDate(){return cdk().Token.asString(this.getAtt("CreationDate",cdk().ResolutionTypeHint.STRING))}get attrFailedImportedDevicesCount(){return cdk().Token.asNumber(this.getAtt("FailedImportedDevicesCount",cdk().ResolutionTypeHint.NUMBER))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrInitializedImportedDevicesCount(){return cdk().Token.asNumber(this.getAtt("InitializedImportedDevicesCount",cdk().ResolutionTypeHint.NUMBER))}get attrOnboardedImportedDevicesCount(){return cdk().Token.asNumber(this.getAtt("OnboardedImportedDevicesCount",cdk().ResolutionTypeHint.NUMBER))}get attrPendingImportedDevicesCount(){return cdk().Token.asNumber(this.getAtt("PendingImportedDevicesCount",cdk().ResolutionTypeHint.NUMBER))}get attrSidewalkDeviceCreationFileList(){return cdk().Token.asList(this.getAtt("Sidewalk.DeviceCreationFileList",cdk().ResolutionTypeHint.STRING_LIST))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrStatusReason(){return cdk().Token.asString(this.getAtt("StatusReason",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{destinationName:this._destinationName,sidewalk:this._sidewalk,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",CfnWirelessDeviceImportTask.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnWirelessDeviceImportTaskPropsToCloudFormation(props)}}exports.CfnWirelessDeviceImportTask=CfnWirelessDeviceImportTask;function CfnWirelessDeviceImportTaskSidewalkPropertyValidator(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("deviceCreationFile",cdk().validateString)(properties.deviceCreationFile)),errors.collect(cdk().propertyValidator("deviceCreationFileList",cdk().listValidator(cdk().validateString))(properties.deviceCreationFileList)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.collect(cdk().propertyValidator("sidewalkManufacturingSn",cdk().validateString)(properties.sidewalkManufacturingSn)),errors.wrap('supplied properties not correct for "SidewalkProperty"')}function convertCfnWirelessDeviceImportTaskSidewalkPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessDeviceImportTaskSidewalkPropertyValidator(properties).assertSuccess(),{DeviceCreationFile:cdk().stringToCloudFormation(properties.deviceCreationFile),DeviceCreationFileList:cdk().listMapper(cdk().stringToCloudFormation)(properties.deviceCreationFileList),Role:cdk().stringToCloudFormation(properties.role),SidewalkManufacturingSn:cdk().stringToCloudFormation(properties.sidewalkManufacturingSn)}):properties}function CfnWirelessDeviceImportTaskSidewalkPropertyFromCloudFormation(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("deviceCreationFile","DeviceCreationFile",properties.DeviceCreationFile!=null?cfn_parse().FromCloudFormation.getString(properties.DeviceCreationFile):void 0),ret.addPropertyResult("deviceCreationFileList","DeviceCreationFileList",properties.DeviceCreationFileList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DeviceCreationFileList):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addPropertyResult("sidewalkManufacturingSn","SidewalkManufacturingSn",properties.SidewalkManufacturingSn!=null?cfn_parse().FromCloudFormation.getString(properties.SidewalkManufacturingSn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWirelessDeviceImportTaskPropsValidator(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("destinationName",cdk().requiredValidator)(properties.destinationName)),errors.collect(cdk().propertyValidator("destinationName",cdk().validateString)(properties.destinationName)),errors.collect(cdk().propertyValidator("sidewalk",cdk().requiredValidator)(properties.sidewalk)),errors.collect(cdk().propertyValidator("sidewalk",CfnWirelessDeviceImportTaskSidewalkPropertyValidator)(properties.sidewalk)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnWirelessDeviceImportTaskProps"')}function convertCfnWirelessDeviceImportTaskPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessDeviceImportTaskPropsValidator(properties).assertSuccess(),{DestinationName:cdk().stringToCloudFormation(properties.destinationName),Sidewalk:convertCfnWirelessDeviceImportTaskSidewalkPropertyToCloudFormation(properties.sidewalk),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnWirelessDeviceImportTaskPropsFromCloudFormation(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("destinationName","DestinationName",properties.DestinationName!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationName):void 0),ret.addPropertyResult("sidewalk","Sidewalk",properties.Sidewalk!=null?CfnWirelessDeviceImportTaskSidewalkPropertyFromCloudFormation(properties.Sidewalk):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 CfnWirelessGateway extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_iotwireless.CfnWirelessGateway",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::IoTWireless::WirelessGateway";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnWirelessGatewayPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnWirelessGateway(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 isCfnWirelessGateway(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnWirelessGateway.CFN_RESOURCE_TYPE_NAME}static fromWirelessGatewayArn(scope,id,arn){class Import extends cdk().Resource{wirelessGatewayRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:WirelessGateway/${WirelessGatewayId}").parse(arn2);this.wirelessGatewayRef={wirelessGatewayId:variables.WirelessGatewayId,wirelessGatewayArn:arn2}}}return new Import(scope,id,arn)}static fromWirelessGatewayId(scope,id,wirelessGatewayId){class Import extends cdk().Resource{wirelessGatewayRef;constructor(scope2,id2,wirelessGatewayId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:iotwireless:${Region}:${Account}:WirelessGateway/${WirelessGatewayId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,WirelessGatewayId:wirelessGatewayId2});super(scope2,id2,{environmentFromArn:arn}),this.wirelessGatewayRef={wirelessGatewayId:wirelessGatewayId2,wirelessGatewayArn:arn}}}return new Import(scope,id,wirelessGatewayId)}static arnForWirelessGateway(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_iotwireless_IWirelessGatewayRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForWirelessGateway),error}return resource.wirelessGatewayRef.wirelessGatewayArn}_description;_lastUplinkReceivedAt;_loRaWan;_name;tags;_tagsRaw;_thingArn;_thingName;cfnPropertyNames={description:"Description",lastUplinkReceivedAt:"LastUplinkReceivedAt",loRaWan:"LoRaWAN",name:"Name",tags:"Tags",thingArn:"ThingArn",thingName:"ThingName"};constructor(scope,id,props){super(scope,id,{type:CfnWirelessGateway.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iotwireless_CfnWirelessGatewayProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnWirelessGateway),error}cdk().requireProperty(props,"loRaWan",this),this._description=props.description,this._lastUplinkReceivedAt=props.lastUplinkReceivedAt,this._loRaWan=props.loRaWan,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IoTWireless::WirelessGateway",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._thingArn=props.thingArn,this._thingName=props.thingName}get wirelessGatewayRef(){return{wirelessGatewayId:this.ref,wirelessGatewayArn:this.attrArn}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get lastUplinkReceivedAt(){return this._lastUplinkReceivedAt}set lastUplinkReceivedAt(value){cdk().traceProperty(this.node,"LastUplinkReceivedAt"),this._lastUplinkReceivedAt=value}get loRaWan(){return this._loRaWan}set loRaWan(value){cdk().traceProperty(this.node,"LoRaWAN"),this._loRaWan=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 thingArn(){return this._thingArn}set thingArn(value){cdk().traceProperty(this.node,"ThingArn"),this._thingArn=value}get thingName(){return this._thingName}set thingName(value){cdk().traceProperty(this.node,"ThingName"),this._thingName=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,lastUplinkReceivedAt:this._lastUplinkReceivedAt,loRaWan:this._loRaWan,name:this._name,tags:this.tags.renderTags(),thingArn:this._thingArn,thingName:this._thingName}}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",CfnWirelessGateway.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnWirelessGatewayPropsToCloudFormation(props)}}exports.CfnWirelessGateway=CfnWirelessGateway;function CfnWirelessGatewayLoRaWANGatewayPropertyValidator(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("gatewayEui",cdk().requiredValidator)(properties.gatewayEui)),errors.collect(cdk().propertyValidator("gatewayEui",cdk().validateString)(properties.gatewayEui)),errors.collect(cdk().propertyValidator("rfRegion",cdk().requiredValidator)(properties.rfRegion)),errors.collect(cdk().propertyValidator("rfRegion",cdk().validateString)(properties.rfRegion)),errors.wrap('supplied properties not correct for "LoRaWANGatewayProperty"')}function convertCfnWirelessGatewayLoRaWANGatewayPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessGatewayLoRaWANGatewayPropertyValidator(properties).assertSuccess(),{GatewayEui:cdk().stringToCloudFormation(properties.gatewayEui),RfRegion:cdk().stringToCloudFormation(properties.rfRegion)}):properties}function CfnWirelessGatewayLoRaWANGatewayPropertyFromCloudFormation(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("gatewayEui","GatewayEui",properties.GatewayEui!=null?cfn_parse().FromCloudFormation.getString(properties.GatewayEui):void 0),ret.addPropertyResult("rfRegion","RfRegion",properties.RfRegion!=null?cfn_parse().FromCloudFormation.getString(properties.RfRegion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWirelessGatewayPropsValidator(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("lastUplinkReceivedAt",cdk().validateString)(properties.lastUplinkReceivedAt)),errors.collect(cdk().propertyValidator("loRaWan",cdk().requiredValidator)(properties.loRaWan)),errors.collect(cdk().propertyValidator("loRaWan",CfnWirelessGatewayLoRaWANGatewayPropertyValidator)(properties.loRaWan)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("thingArn",cdk().validateString)(properties.thingArn)),errors.collect(cdk().propertyValidator("thingName",cdk().validateString)(properties.thingName)),errors.wrap('supplied properties not correct for "CfnWirelessGatewayProps"')}function convertCfnWirelessGatewayPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWirelessGatewayPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),LastUplinkReceivedAt:cdk().stringToCloudFormation(properties.lastUplinkReceivedAt),LoRaWAN:convertCfnWirelessGatewayLoRaWANGatewayPropertyToCloudFormation(properties.loRaWan),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),ThingArn:cdk().stringToCloudFormation(properties.thingArn),ThingName:cdk().stringToCloudFormation(properties.thingName)}):properties}function CfnWirelessGatewayPropsFromCloudFormation(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("lastUplinkReceivedAt","LastUplinkReceivedAt",properties.LastUplinkReceivedAt!=null?cfn_parse().FromCloudFormation.getString(properties.LastUplinkReceivedAt):void 0),ret.addPropertyResult("loRaWan","LoRaWAN",properties.LoRaWAN!=null?CfnWirelessGatewayLoRaWANGatewayPropertyFromCloudFormation(properties.LoRaWAN):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("thingArn","ThingArn",properties.ThingArn!=null?cfn_parse().FromCloudFormation.getString(properties.ThingArn):void 0),ret.addPropertyResult("thingName","ThingName",properties.ThingName!=null?cfn_parse().FromCloudFormation.getString(properties.ThingName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}