UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 67 kB
"use strict";var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnStorageConfiguration=exports.CfnStage=exports.CfnPublicKey=exports.CfnPlaybackRestrictionPolicy=exports.CfnIngestConfiguration=exports.CfnEncoderConfiguration=exports.CfnStreamKey=exports.CfnRecordingConfiguration=exports.CfnPlaybackKeyPair=exports.CfnChannel=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");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 CfnChannel extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnChannelPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnChannel(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}constructor(scope,id,props={}){super(scope,id,{type:CfnChannel.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ivs_CfnChannelProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnChannel),error}this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrIngestEndpoint=cdk().Token.asString(this.getAtt("IngestEndpoint",cdk().ResolutionTypeHint.STRING)),this.attrPlaybackUrl=cdk().Token.asString(this.getAtt("PlaybackUrl",cdk().ResolutionTypeHint.STRING)),this.authorized=props.authorized,this.containerFormat=props.containerFormat,this.insecureIngest=props.insecureIngest,this.latencyMode=props.latencyMode,this.multitrackInputConfiguration=props.multitrackInputConfiguration,this.name=props.name,this.preset=props.preset,this.recordingConfigurationArn=props.recordingConfigurationArn,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IVS::Channel",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.type=props.type}get cfnProperties(){return{authorized:this.authorized,containerFormat:this.containerFormat,insecureIngest:this.insecureIngest,latencyMode:this.latencyMode,multitrackInputConfiguration:this.multitrackInputConfiguration,name:this.name,preset:this.preset,recordingConfigurationArn:this.recordingConfigurationArn,tags:this.tags.renderTags(),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",CfnChannel.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnChannelPropsToCloudFormation(props)}}exports.CfnChannel=CfnChannel,_a=JSII_RTTI_SYMBOL_1,CfnChannel[_a]={fqn:"aws-cdk-lib.aws_ivs.CfnChannel",version:"2.202.0"},CfnChannel.CFN_RESOURCE_TYPE_NAME="AWS::IVS::Channel";function CfnChannelMultitrackInputConfigurationPropertyValidator(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("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("maximumResolution",cdk().validateString)(properties.maximumResolution)),errors.collect(cdk().propertyValidator("policy",cdk().validateString)(properties.policy)),errors.wrap('supplied properties not correct for "MultitrackInputConfigurationProperty"')}function convertCfnChannelMultitrackInputConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnChannelMultitrackInputConfigurationPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),MaximumResolution:cdk().stringToCloudFormation(properties.maximumResolution),Policy:cdk().stringToCloudFormation(properties.policy)}):properties}function CfnChannelMultitrackInputConfigurationPropertyFromCloudFormation(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("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("maximumResolution","MaximumResolution",properties.MaximumResolution!=null?cfn_parse().FromCloudFormation.getString(properties.MaximumResolution):void 0),ret.addPropertyResult("policy","Policy",properties.Policy!=null?cfn_parse().FromCloudFormation.getString(properties.Policy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnChannelPropsValidator(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("authorized",cdk().validateBoolean)(properties.authorized)),errors.collect(cdk().propertyValidator("containerFormat",cdk().validateString)(properties.containerFormat)),errors.collect(cdk().propertyValidator("insecureIngest",cdk().validateBoolean)(properties.insecureIngest)),errors.collect(cdk().propertyValidator("latencyMode",cdk().validateString)(properties.latencyMode)),errors.collect(cdk().propertyValidator("multitrackInputConfiguration",CfnChannelMultitrackInputConfigurationPropertyValidator)(properties.multitrackInputConfiguration)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("preset",cdk().validateString)(properties.preset)),errors.collect(cdk().propertyValidator("recordingConfigurationArn",cdk().validateString)(properties.recordingConfigurationArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnChannelProps"')}function convertCfnChannelPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnChannelPropsValidator(properties).assertSuccess(),{Authorized:cdk().booleanToCloudFormation(properties.authorized),ContainerFormat:cdk().stringToCloudFormation(properties.containerFormat),InsecureIngest:cdk().booleanToCloudFormation(properties.insecureIngest),LatencyMode:cdk().stringToCloudFormation(properties.latencyMode),MultitrackInputConfiguration:convertCfnChannelMultitrackInputConfigurationPropertyToCloudFormation(properties.multitrackInputConfiguration),Name:cdk().stringToCloudFormation(properties.name),Preset:cdk().stringToCloudFormation(properties.preset),RecordingConfigurationArn:cdk().stringToCloudFormation(properties.recordingConfigurationArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnChannelPropsFromCloudFormation(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("authorized","Authorized",properties.Authorized!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Authorized):void 0),ret.addPropertyResult("containerFormat","ContainerFormat",properties.ContainerFormat!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerFormat):void 0),ret.addPropertyResult("insecureIngest","InsecureIngest",properties.InsecureIngest!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InsecureIngest):void 0),ret.addPropertyResult("latencyMode","LatencyMode",properties.LatencyMode!=null?cfn_parse().FromCloudFormation.getString(properties.LatencyMode):void 0),ret.addPropertyResult("multitrackInputConfiguration","MultitrackInputConfiguration",properties.MultitrackInputConfiguration!=null?CfnChannelMultitrackInputConfigurationPropertyFromCloudFormation(properties.MultitrackInputConfiguration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("preset","Preset",properties.Preset!=null?cfn_parse().FromCloudFormation.getString(properties.Preset):void 0),ret.addPropertyResult("recordingConfigurationArn","RecordingConfigurationArn",properties.RecordingConfigurationArn!=null?cfn_parse().FromCloudFormation.getString(properties.RecordingConfigurationArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPlaybackKeyPair extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPlaybackKeyPairPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnPlaybackKeyPair(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}constructor(scope,id,props={}){super(scope,id,{type:CfnPlaybackKeyPair.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ivs_CfnPlaybackKeyPairProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPlaybackKeyPair),error}this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrFingerprint=cdk().Token.asString(this.getAtt("Fingerprint",cdk().ResolutionTypeHint.STRING)),this.name=props.name,this.publicKeyMaterial=props.publicKeyMaterial,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IVS::PlaybackKeyPair",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{name:this.name,publicKeyMaterial:this.publicKeyMaterial,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",CfnPlaybackKeyPair.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPlaybackKeyPairPropsToCloudFormation(props)}}exports.CfnPlaybackKeyPair=CfnPlaybackKeyPair,_b=JSII_RTTI_SYMBOL_1,CfnPlaybackKeyPair[_b]={fqn:"aws-cdk-lib.aws_ivs.CfnPlaybackKeyPair",version:"2.202.0"},CfnPlaybackKeyPair.CFN_RESOURCE_TYPE_NAME="AWS::IVS::PlaybackKeyPair";function CfnPlaybackKeyPairPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("publicKeyMaterial",cdk().validateString)(properties.publicKeyMaterial)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnPlaybackKeyPairProps"')}function convertCfnPlaybackKeyPairPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlaybackKeyPairPropsValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),PublicKeyMaterial:cdk().stringToCloudFormation(properties.publicKeyMaterial),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnPlaybackKeyPairPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("publicKeyMaterial","PublicKeyMaterial",properties.PublicKeyMaterial!=null?cfn_parse().FromCloudFormation.getString(properties.PublicKeyMaterial):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 CfnRecordingConfiguration extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRecordingConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnRecordingConfiguration(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}constructor(scope,id,props){super(scope,id,{type:CfnRecordingConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ivs_CfnRecordingConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRecordingConfiguration),error}cdk().requireProperty(props,"destinationConfiguration",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrState=cdk().Token.asString(this.getAtt("State",cdk().ResolutionTypeHint.STRING)),this.destinationConfiguration=props.destinationConfiguration,this.name=props.name,this.recordingReconnectWindowSeconds=props.recordingReconnectWindowSeconds,this.renditionConfiguration=props.renditionConfiguration,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IVS::RecordingConfiguration",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.thumbnailConfiguration=props.thumbnailConfiguration}get cfnProperties(){return{destinationConfiguration:this.destinationConfiguration,name:this.name,recordingReconnectWindowSeconds:this.recordingReconnectWindowSeconds,renditionConfiguration:this.renditionConfiguration,tags:this.tags.renderTags(),thumbnailConfiguration:this.thumbnailConfiguration}}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",CfnRecordingConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRecordingConfigurationPropsToCloudFormation(props)}}exports.CfnRecordingConfiguration=CfnRecordingConfiguration,_c=JSII_RTTI_SYMBOL_1,CfnRecordingConfiguration[_c]={fqn:"aws-cdk-lib.aws_ivs.CfnRecordingConfiguration",version:"2.202.0"},CfnRecordingConfiguration.CFN_RESOURCE_TYPE_NAME="AWS::IVS::RecordingConfiguration";function CfnRecordingConfigurationS3DestinationConfigurationPropertyValidator(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("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.wrap('supplied properties not correct for "S3DestinationConfigurationProperty"')}function convertCfnRecordingConfigurationS3DestinationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRecordingConfigurationS3DestinationConfigurationPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName)}):properties}function CfnRecordingConfigurationS3DestinationConfigurationPropertyFromCloudFormation(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("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRecordingConfigurationDestinationConfigurationPropertyValidator(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("s3",CfnRecordingConfigurationS3DestinationConfigurationPropertyValidator)(properties.s3)),errors.wrap('supplied properties not correct for "DestinationConfigurationProperty"')}function convertCfnRecordingConfigurationDestinationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRecordingConfigurationDestinationConfigurationPropertyValidator(properties).assertSuccess(),{S3:convertCfnRecordingConfigurationS3DestinationConfigurationPropertyToCloudFormation(properties.s3)}):properties}function CfnRecordingConfigurationDestinationConfigurationPropertyFromCloudFormation(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("s3","S3",properties.S3!=null?CfnRecordingConfigurationS3DestinationConfigurationPropertyFromCloudFormation(properties.S3):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRecordingConfigurationRenditionConfigurationPropertyValidator(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("renditionSelection",cdk().validateString)(properties.renditionSelection)),errors.collect(cdk().propertyValidator("renditions",cdk().listValidator(cdk().validateString))(properties.renditions)),errors.wrap('supplied properties not correct for "RenditionConfigurationProperty"')}function convertCfnRecordingConfigurationRenditionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRecordingConfigurationRenditionConfigurationPropertyValidator(properties).assertSuccess(),{RenditionSelection:cdk().stringToCloudFormation(properties.renditionSelection),Renditions:cdk().listMapper(cdk().stringToCloudFormation)(properties.renditions)}):properties}function CfnRecordingConfigurationRenditionConfigurationPropertyFromCloudFormation(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("renditions","Renditions",properties.Renditions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Renditions):void 0),ret.addPropertyResult("renditionSelection","RenditionSelection",properties.RenditionSelection!=null?cfn_parse().FromCloudFormation.getString(properties.RenditionSelection):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRecordingConfigurationThumbnailConfigurationPropertyValidator(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("recordingMode",cdk().validateString)(properties.recordingMode)),errors.collect(cdk().propertyValidator("resolution",cdk().validateString)(properties.resolution)),errors.collect(cdk().propertyValidator("storage",cdk().listValidator(cdk().validateString))(properties.storage)),errors.collect(cdk().propertyValidator("targetIntervalSeconds",cdk().validateNumber)(properties.targetIntervalSeconds)),errors.wrap('supplied properties not correct for "ThumbnailConfigurationProperty"')}function convertCfnRecordingConfigurationThumbnailConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRecordingConfigurationThumbnailConfigurationPropertyValidator(properties).assertSuccess(),{RecordingMode:cdk().stringToCloudFormation(properties.recordingMode),Resolution:cdk().stringToCloudFormation(properties.resolution),Storage:cdk().listMapper(cdk().stringToCloudFormation)(properties.storage),TargetIntervalSeconds:cdk().numberToCloudFormation(properties.targetIntervalSeconds)}):properties}function CfnRecordingConfigurationThumbnailConfigurationPropertyFromCloudFormation(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("recordingMode","RecordingMode",properties.RecordingMode!=null?cfn_parse().FromCloudFormation.getString(properties.RecordingMode):void 0),ret.addPropertyResult("resolution","Resolution",properties.Resolution!=null?cfn_parse().FromCloudFormation.getString(properties.Resolution):void 0),ret.addPropertyResult("storage","Storage",properties.Storage!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Storage):void 0),ret.addPropertyResult("targetIntervalSeconds","TargetIntervalSeconds",properties.TargetIntervalSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.TargetIntervalSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRecordingConfigurationPropsValidator(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("destinationConfiguration",cdk().requiredValidator)(properties.destinationConfiguration)),errors.collect(cdk().propertyValidator("destinationConfiguration",CfnRecordingConfigurationDestinationConfigurationPropertyValidator)(properties.destinationConfiguration)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("recordingReconnectWindowSeconds",cdk().validateNumber)(properties.recordingReconnectWindowSeconds)),errors.collect(cdk().propertyValidator("renditionConfiguration",CfnRecordingConfigurationRenditionConfigurationPropertyValidator)(properties.renditionConfiguration)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("thumbnailConfiguration",CfnRecordingConfigurationThumbnailConfigurationPropertyValidator)(properties.thumbnailConfiguration)),errors.wrap('supplied properties not correct for "CfnRecordingConfigurationProps"')}function convertCfnRecordingConfigurationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRecordingConfigurationPropsValidator(properties).assertSuccess(),{DestinationConfiguration:convertCfnRecordingConfigurationDestinationConfigurationPropertyToCloudFormation(properties.destinationConfiguration),Name:cdk().stringToCloudFormation(properties.name),RecordingReconnectWindowSeconds:cdk().numberToCloudFormation(properties.recordingReconnectWindowSeconds),RenditionConfiguration:convertCfnRecordingConfigurationRenditionConfigurationPropertyToCloudFormation(properties.renditionConfiguration),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),ThumbnailConfiguration:convertCfnRecordingConfigurationThumbnailConfigurationPropertyToCloudFormation(properties.thumbnailConfiguration)}):properties}function CfnRecordingConfigurationPropsFromCloudFormation(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("destinationConfiguration","DestinationConfiguration",properties.DestinationConfiguration!=null?CfnRecordingConfigurationDestinationConfigurationPropertyFromCloudFormation(properties.DestinationConfiguration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("recordingReconnectWindowSeconds","RecordingReconnectWindowSeconds",properties.RecordingReconnectWindowSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.RecordingReconnectWindowSeconds):void 0),ret.addPropertyResult("renditionConfiguration","RenditionConfiguration",properties.RenditionConfiguration!=null?CfnRecordingConfigurationRenditionConfigurationPropertyFromCloudFormation(properties.RenditionConfiguration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("thumbnailConfiguration","ThumbnailConfiguration",properties.ThumbnailConfiguration!=null?CfnRecordingConfigurationThumbnailConfigurationPropertyFromCloudFormation(properties.ThumbnailConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStreamKey extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStreamKeyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnStreamKey(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}constructor(scope,id,props){super(scope,id,{type:CfnStreamKey.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ivs_CfnStreamKeyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStreamKey),error}cdk().requireProperty(props,"channelArn",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrValue=cdk().Token.asString(this.getAtt("Value",cdk().ResolutionTypeHint.STRING)),this.channelArn=props.channelArn,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IVS::StreamKey",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{channelArn:this.channelArn,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",CfnStreamKey.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnStreamKeyPropsToCloudFormation(props)}}exports.CfnStreamKey=CfnStreamKey,_d=JSII_RTTI_SYMBOL_1,CfnStreamKey[_d]={fqn:"aws-cdk-lib.aws_ivs.CfnStreamKey",version:"2.202.0"},CfnStreamKey.CFN_RESOURCE_TYPE_NAME="AWS::IVS::StreamKey";function CfnStreamKeyPropsValidator(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("channelArn",cdk().requiredValidator)(properties.channelArn)),errors.collect(cdk().propertyValidator("channelArn",cdk().validateString)(properties.channelArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnStreamKeyProps"')}function convertCfnStreamKeyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStreamKeyPropsValidator(properties).assertSuccess(),{ChannelArn:cdk().stringToCloudFormation(properties.channelArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnStreamKeyPropsFromCloudFormation(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("channelArn","ChannelArn",properties.ChannelArn!=null?cfn_parse().FromCloudFormation.getString(properties.ChannelArn):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 CfnEncoderConfiguration extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnEncoderConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnEncoderConfiguration(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}constructor(scope,id,props={}){super(scope,id,{type:CfnEncoderConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ivs_CfnEncoderConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnEncoderConfiguration),error}this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IVS::EncoderConfiguration",void 0,{tagPropertyName:"tags"}),this.name=props.name,this.tags=props.tags,this.video=props.video}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),name:this.name,video:this.video}}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",CfnEncoderConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnEncoderConfigurationPropsToCloudFormation(props)}}exports.CfnEncoderConfiguration=CfnEncoderConfiguration,_e=JSII_RTTI_SYMBOL_1,CfnEncoderConfiguration[_e]={fqn:"aws-cdk-lib.aws_ivs.CfnEncoderConfiguration",version:"2.202.0"},CfnEncoderConfiguration.CFN_RESOURCE_TYPE_NAME="AWS::IVS::EncoderConfiguration";function CfnEncoderConfigurationVideoPropertyValidator(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("bitrate",cdk().validateNumber)(properties.bitrate)),errors.collect(cdk().propertyValidator("framerate",cdk().validateNumber)(properties.framerate)),errors.collect(cdk().propertyValidator("height",cdk().validateNumber)(properties.height)),errors.collect(cdk().propertyValidator("width",cdk().validateNumber)(properties.width)),errors.wrap('supplied properties not correct for "VideoProperty"')}function convertCfnEncoderConfigurationVideoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEncoderConfigurationVideoPropertyValidator(properties).assertSuccess(),{Bitrate:cdk().numberToCloudFormation(properties.bitrate),Framerate:cdk().numberToCloudFormation(properties.framerate),Height:cdk().numberToCloudFormation(properties.height),Width:cdk().numberToCloudFormation(properties.width)}):properties}function CfnEncoderConfigurationVideoPropertyFromCloudFormation(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("bitrate","Bitrate",properties.Bitrate!=null?cfn_parse().FromCloudFormation.getNumber(properties.Bitrate):void 0),ret.addPropertyResult("framerate","Framerate",properties.Framerate!=null?cfn_parse().FromCloudFormation.getNumber(properties.Framerate):void 0),ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getNumber(properties.Height):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getNumber(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEncoderConfigurationPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("video",CfnEncoderConfigurationVideoPropertyValidator)(properties.video)),errors.wrap('supplied properties not correct for "CfnEncoderConfigurationProps"')}function convertCfnEncoderConfigurationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEncoderConfigurationPropsValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Video:convertCfnEncoderConfigurationVideoPropertyToCloudFormation(properties.video)}):properties}function CfnEncoderConfigurationPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("video","Video",properties.Video!=null?CfnEncoderConfigurationVideoPropertyFromCloudFormation(properties.Video):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnIngestConfiguration extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIngestConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnIngestConfiguration(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}constructor(scope,id,props={}){super(scope,id,{type:CfnIngestConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ivs_CfnIngestConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIngestConfiguration),error}this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrParticipantId=cdk().Token.asString(this.getAtt("ParticipantId",cdk().ResolutionTypeHint.STRING)),this.attrState=cdk().Token.asString(this.getAtt("State",cdk().ResolutionTypeHint.STRING)),this.attrStreamKey=cdk().Token.asString(this.getAtt("StreamKey",cdk().ResolutionTypeHint.STRING)),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IVS::IngestConfiguration",void 0,{tagPropertyName:"tags"}),this.ingestProtocol=props.ingestProtocol,this.insecureIngest=props.insecureIngest,this.name=props.name,this.stageArn=props.stageArn,this.tags=props.tags,this.userId=props.userId}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),ingestProtocol:this.ingestProtocol,insecureIngest:this.insecureIngest,name:this.name,stageArn:this.stageArn,userId:this.userId}}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",CfnIngestConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIngestConfigurationPropsToCloudFormation(props)}}exports.CfnIngestConfiguration=CfnIngestConfiguration,_f=JSII_RTTI_SYMBOL_1,CfnIngestConfiguration[_f]={fqn:"aws-cdk-lib.aws_ivs.CfnIngestConfiguration",version:"2.202.0"},CfnIngestConfiguration.CFN_RESOURCE_TYPE_NAME="AWS::IVS::IngestConfiguration";function CfnIngestConfigurationPropsValidator(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("ingestProtocol",cdk().validateString)(properties.ingestProtocol)),errors.collect(cdk().propertyValidator("insecureIngest",cdk().validateBoolean)(properties.insecureIngest)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("stageArn",cdk().validateString)(properties.stageArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("userId",cdk().validateString)(properties.userId)),errors.wrap('supplied properties not correct for "CfnIngestConfigurationProps"')}function convertCfnIngestConfigurationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIngestConfigurationPropsValidator(properties).assertSuccess(),{IngestProtocol:cdk().stringToCloudFormation(properties.ingestProtocol),InsecureIngest:cdk().booleanToCloudFormation(properties.insecureIngest),Name:cdk().stringToCloudFormation(properties.name),StageArn:cdk().stringToCloudFormation(properties.stageArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),UserId:cdk().stringToCloudFormation(properties.userId)}):properties}function CfnIngestConfigurationPropsFromCloudFormation(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("ingestProtocol","IngestProtocol",properties.IngestProtocol!=null?cfn_parse().FromCloudFormation.getString(properties.IngestProtocol):void 0),ret.addPropertyResult("insecureIngest","InsecureIngest",properties.InsecureIngest!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InsecureIngest):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("stageArn","StageArn",properties.StageArn!=null?cfn_parse().FromCloudFormation.getString(properties.StageArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("userId","UserId",properties.UserId!=null?cfn_parse().FromCloudFormation.getString(properties.UserId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPlaybackRestrictionPolicy extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPlaybackRestrictionPolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnPlaybackRestrictionPolicy(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}constructor(scope,id,props){super(scope,id,{type:CfnPlaybackRestrictionPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ivs_CfnPlaybackRestrictionPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPlaybackRestrictionPolicy),error}cdk().requireProperty(props,"allowedCountries",this),cdk().requireProperty(props,"allowedOrigins",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.allowedCountries=props.allowedCountries,this.allowedOrigins=props.allowedOrigins,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::IVS::PlaybackRestrictionPolicy",void 0,{tagPropertyName:"tags"}),this.enableStrictOriginEnforcement=props.enableStrictOriginEnforcement,this.name=props.name,this.tags=props.tags}get cfnProperties(){return{allowedCountries:this.allowedCountries,allowedOrigins:this.allowedOrigins,tags:this.cdkTagManager.renderTags(this.tags),enableStrictOriginEnforcement:this.enableStrictOriginEnforcement,name:this.name}}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",CfnPlaybackRestrictionPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPlaybackRestrictionPolicyPropsToCloudFormation(props)}}exports.CfnPlaybackRestrictionPolicy=CfnPlaybackRestrictionPolicy,_g=JSII_RTTI_SYMBOL_1,CfnPlaybackRestrictionPolicy[_g]={fqn:"aws-cdk-lib.aws_ivs.CfnPlaybackRestrictionPolicy",version:"2.202.0"},CfnPlaybackRestrictionPolicy.CFN_RESOURCE_TYPE_NAME="AWS::IVS::PlaybackRestrictionPolicy";function CfnPlaybackRestrictionPolicyPropsValidator(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("allowedCountries",cdk().requiredValidator)(properties.allowedCountries)),errors.collect(cdk().propertyValidator("allowedCountries",cdk().listValidator(cdk().validateString))(properties.allowedCountries)),errors.collect(cdk().propertyValidator("allowedOrigins",cdk().requiredValidator)(properties.allowedOrigins)),errors.collect(cdk().propertyValidator("allowedOrigins",cdk().listValidator(cdk().validateString))(properties.allowedOrigins)),errors.collect(cdk().propertyValidator("enableStrictOriginEnforcement",cdk().validateBoolean)(properties.enableStrictOriginEnforcement)),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 "CfnPlaybackRestrictionPolicyProps"')}function convertCfnPlaybackRestrictionPolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlaybackRestrictionPolicyPropsValidator(properties).assertSuccess(),{AllowedCountries:cdk().listMapper(cdk().stringToCloudFormation)(properties.allowedCountries),AllowedOrigins:cdk().listMapper(cdk().stringToCloudFormation)(properties.allowedOrigins),EnableStrictOriginEnforcement:cdk().booleanToCloudFormation(properties.enableStrictOriginEnforcement),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnPlaybackRestrictionPolicyPropsFromCloudFormation(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("allowedCountries","AllowedCountries",properties.AllowedCountries!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AllowedCountries):void 0),ret.addPropertyResult("allowedOrigins","AllowedOrigins",properties.AllowedOrigins!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AllowedOrigins):void 0),ret.addPropertyResult("enableStrictOriginEnforcement","EnableStrictOriginEnforcement",properties.EnableStrictOriginEnforcement!=null?cfn_parse().FromCloudFormation.getBoolean(propert