aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 84.9 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f,_g;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTagAssociation=exports.CfnTag=exports.CfnResource=exports.CfnPrincipalPermissions=exports.CfnPermissions=exports.CfnDataLakeSettings=exports.CfnDataCellsFilter=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnDataCellsFilterPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("columnNames",cdk.listValidator(cdk.validateString))(properties.columnNames)),errors.collect(cdk.propertyValidator("columnWildcard",CfnDataCellsFilter_ColumnWildcardPropertyValidator)(properties.columnWildcard)),errors.collect(cdk.propertyValidator("databaseName",cdk.requiredValidator)(properties.databaseName)),errors.collect(cdk.propertyValidator("databaseName",cdk.validateString)(properties.databaseName)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("rowFilter",CfnDataCellsFilter_RowFilterPropertyValidator)(properties.rowFilter)),errors.collect(cdk.propertyValidator("tableCatalogId",cdk.requiredValidator)(properties.tableCatalogId)),errors.collect(cdk.propertyValidator("tableCatalogId",cdk.validateString)(properties.tableCatalogId)),errors.collect(cdk.propertyValidator("tableName",cdk.requiredValidator)(properties.tableName)),errors.collect(cdk.propertyValidator("tableName",cdk.validateString)(properties.tableName)),errors.wrap('supplied properties not correct for "CfnDataCellsFilterProps"')}function cfnDataCellsFilterPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDataCellsFilterPropsValidator(properties).assertSuccess(),{DatabaseName:cdk.stringToCloudFormation(properties.databaseName),Name:cdk.stringToCloudFormation(properties.name),TableCatalogId:cdk.stringToCloudFormation(properties.tableCatalogId),TableName:cdk.stringToCloudFormation(properties.tableName),ColumnNames:cdk.listMapper(cdk.stringToCloudFormation)(properties.columnNames),ColumnWildcard:cfnDataCellsFilterColumnWildcardPropertyToCloudFormation(properties.columnWildcard),RowFilter:cfnDataCellsFilterRowFilterPropertyToCloudFormation(properties.rowFilter)}):properties}function CfnDataCellsFilterPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("databaseName","DatabaseName",cfn_parse.FromCloudFormation.getString(properties.DatabaseName)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("tableCatalogId","TableCatalogId",cfn_parse.FromCloudFormation.getString(properties.TableCatalogId)),ret.addPropertyResult("tableName","TableName",cfn_parse.FromCloudFormation.getString(properties.TableName)),ret.addPropertyResult("columnNames","ColumnNames",properties.ColumnNames!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ColumnNames):void 0),ret.addPropertyResult("columnWildcard","ColumnWildcard",properties.ColumnWildcard!=null?CfnDataCellsFilterColumnWildcardPropertyFromCloudFormation(properties.ColumnWildcard):void 0),ret.addPropertyResult("rowFilter","RowFilter",properties.RowFilter!=null?CfnDataCellsFilterRowFilterPropertyFromCloudFormation(properties.RowFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDataCellsFilter extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnDataCellsFilter.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lakeformation_CfnDataCellsFilterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataCellsFilter),error}cdk.requireProperty(props,"databaseName",this),cdk.requireProperty(props,"name",this),cdk.requireProperty(props,"tableCatalogId",this),cdk.requireProperty(props,"tableName",this),this.databaseName=props.databaseName,this.name=props.name,this.tableCatalogId=props.tableCatalogId,this.tableName=props.tableName,this.columnNames=props.columnNames,this.columnWildcard=props.columnWildcard,this.rowFilter=props.rowFilter}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataCellsFilterPropsFromCloudFormation(resourceProperties),ret=new CfnDataCellsFilter(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDataCellsFilter.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{databaseName:this.databaseName,name:this.name,tableCatalogId:this.tableCatalogId,tableName:this.tableName,columnNames:this.columnNames,columnWildcard:this.columnWildcard,rowFilter:this.rowFilter}}renderProperties(props){return cfnDataCellsFilterPropsToCloudFormation(props)}}exports.CfnDataCellsFilter=CfnDataCellsFilter,_a=JSII_RTTI_SYMBOL_1,CfnDataCellsFilter[_a]={fqn:"aws-cdk-lib.aws_lakeformation.CfnDataCellsFilter",version:"2.70.0"},CfnDataCellsFilter.CFN_RESOURCE_TYPE_NAME="AWS::LakeFormation::DataCellsFilter";function CfnDataCellsFilter_ColumnWildcardPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("excludedColumnNames",cdk.listValidator(cdk.validateString))(properties.excludedColumnNames)),errors.wrap('supplied properties not correct for "ColumnWildcardProperty"')}function cfnDataCellsFilterColumnWildcardPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDataCellsFilter_ColumnWildcardPropertyValidator(properties).assertSuccess(),{ExcludedColumnNames:cdk.listMapper(cdk.stringToCloudFormation)(properties.excludedColumnNames)}):properties}function CfnDataCellsFilterColumnWildcardPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("excludedColumnNames","ExcludedColumnNames",properties.ExcludedColumnNames!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ExcludedColumnNames):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataCellsFilter_RowFilterPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("allRowsWildcard",cdk.validateObject)(properties.allRowsWildcard)),errors.collect(cdk.propertyValidator("filterExpression",cdk.validateString)(properties.filterExpression)),errors.wrap('supplied properties not correct for "RowFilterProperty"')}function cfnDataCellsFilterRowFilterPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDataCellsFilter_RowFilterPropertyValidator(properties).assertSuccess(),{AllRowsWildcard:cdk.objectToCloudFormation(properties.allRowsWildcard),FilterExpression:cdk.stringToCloudFormation(properties.filterExpression)}):properties}function CfnDataCellsFilterRowFilterPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("allRowsWildcard","AllRowsWildcard",properties.AllRowsWildcard!=null?cfn_parse.FromCloudFormation.getAny(properties.AllRowsWildcard):void 0),ret.addPropertyResult("filterExpression","FilterExpression",properties.FilterExpression!=null?cfn_parse.FromCloudFormation.getString(properties.FilterExpression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataLakeSettingsPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("admins",cdk.listValidator(CfnDataLakeSettings_DataLakePrincipalPropertyValidator))(properties.admins)),errors.collect(cdk.propertyValidator("trustedResourceOwners",cdk.listValidator(cdk.validateString))(properties.trustedResourceOwners)),errors.wrap('supplied properties not correct for "CfnDataLakeSettingsProps"')}function cfnDataLakeSettingsPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDataLakeSettingsPropsValidator(properties).assertSuccess(),{Admins:cdk.listMapper(cfnDataLakeSettingsDataLakePrincipalPropertyToCloudFormation)(properties.admins),TrustedResourceOwners:cdk.listMapper(cdk.stringToCloudFormation)(properties.trustedResourceOwners)}):properties}function CfnDataLakeSettingsPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("admins","Admins",properties.Admins!=null?cfn_parse.FromCloudFormation.getArray(CfnDataLakeSettingsDataLakePrincipalPropertyFromCloudFormation)(properties.Admins):void 0),ret.addPropertyResult("trustedResourceOwners","TrustedResourceOwners",properties.TrustedResourceOwners!=null?cfn_parse.FromCloudFormation.getStringArray(properties.TrustedResourceOwners):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDataLakeSettings extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnDataLakeSettings.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lakeformation_CfnDataLakeSettingsProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataLakeSettings),error}this.admins=props.admins,this.trustedResourceOwners=props.trustedResourceOwners}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataLakeSettingsPropsFromCloudFormation(resourceProperties),ret=new CfnDataLakeSettings(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDataLakeSettings.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{admins:this.admins,trustedResourceOwners:this.trustedResourceOwners}}renderProperties(props){return cfnDataLakeSettingsPropsToCloudFormation(props)}}exports.CfnDataLakeSettings=CfnDataLakeSettings,_b=JSII_RTTI_SYMBOL_1,CfnDataLakeSettings[_b]={fqn:"aws-cdk-lib.aws_lakeformation.CfnDataLakeSettings",version:"2.70.0"},CfnDataLakeSettings.CFN_RESOURCE_TYPE_NAME="AWS::LakeFormation::DataLakeSettings";function CfnDataLakeSettings_DataLakePrincipalPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dataLakePrincipalIdentifier",cdk.validateString)(properties.dataLakePrincipalIdentifier)),errors.wrap('supplied properties not correct for "DataLakePrincipalProperty"')}function cfnDataLakeSettingsDataLakePrincipalPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDataLakeSettings_DataLakePrincipalPropertyValidator(properties).assertSuccess(),{DataLakePrincipalIdentifier:cdk.stringToCloudFormation(properties.dataLakePrincipalIdentifier)}):properties}function CfnDataLakeSettingsDataLakePrincipalPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dataLakePrincipalIdentifier","DataLakePrincipalIdentifier",properties.DataLakePrincipalIdentifier!=null?cfn_parse.FromCloudFormation.getString(properties.DataLakePrincipalIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPermissionsPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dataLakePrincipal",cdk.requiredValidator)(properties.dataLakePrincipal)),errors.collect(cdk.propertyValidator("dataLakePrincipal",CfnPermissions_DataLakePrincipalPropertyValidator)(properties.dataLakePrincipal)),errors.collect(cdk.propertyValidator("permissions",cdk.listValidator(cdk.validateString))(properties.permissions)),errors.collect(cdk.propertyValidator("permissionsWithGrantOption",cdk.listValidator(cdk.validateString))(properties.permissionsWithGrantOption)),errors.collect(cdk.propertyValidator("resource",cdk.requiredValidator)(properties.resource)),errors.collect(cdk.propertyValidator("resource",CfnPermissions_ResourcePropertyValidator)(properties.resource)),errors.wrap('supplied properties not correct for "CfnPermissionsProps"')}function cfnPermissionsPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPermissionsPropsValidator(properties).assertSuccess(),{DataLakePrincipal:cfnPermissionsDataLakePrincipalPropertyToCloudFormation(properties.dataLakePrincipal),Resource:cfnPermissionsResourcePropertyToCloudFormation(properties.resource),Permissions:cdk.listMapper(cdk.stringToCloudFormation)(properties.permissions),PermissionsWithGrantOption:cdk.listMapper(cdk.stringToCloudFormation)(properties.permissionsWithGrantOption)}):properties}function CfnPermissionsPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dataLakePrincipal","DataLakePrincipal",CfnPermissionsDataLakePrincipalPropertyFromCloudFormation(properties.DataLakePrincipal)),ret.addPropertyResult("resource","Resource",CfnPermissionsResourcePropertyFromCloudFormation(properties.Resource)),ret.addPropertyResult("permissions","Permissions",properties.Permissions!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Permissions):void 0),ret.addPropertyResult("permissionsWithGrantOption","PermissionsWithGrantOption",properties.PermissionsWithGrantOption!=null?cfn_parse.FromCloudFormation.getStringArray(properties.PermissionsWithGrantOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPermissions extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnPermissions.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lakeformation_CfnPermissionsProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPermissions),error}cdk.requireProperty(props,"dataLakePrincipal",this),cdk.requireProperty(props,"resource",this),this.dataLakePrincipal=props.dataLakePrincipal,this.resource=props.resource,this.permissions=props.permissions,this.permissionsWithGrantOption=props.permissionsWithGrantOption}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPermissionsPropsFromCloudFormation(resourceProperties),ret=new CfnPermissions(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnPermissions.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{dataLakePrincipal:this.dataLakePrincipal,resource:this.resource,permissions:this.permissions,permissionsWithGrantOption:this.permissionsWithGrantOption}}renderProperties(props){return cfnPermissionsPropsToCloudFormation(props)}}exports.CfnPermissions=CfnPermissions,_c=JSII_RTTI_SYMBOL_1,CfnPermissions[_c]={fqn:"aws-cdk-lib.aws_lakeformation.CfnPermissions",version:"2.70.0"},CfnPermissions.CFN_RESOURCE_TYPE_NAME="AWS::LakeFormation::Permissions";function CfnPermissions_ColumnWildcardPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("excludedColumnNames",cdk.listValidator(cdk.validateString))(properties.excludedColumnNames)),errors.wrap('supplied properties not correct for "ColumnWildcardProperty"')}function cfnPermissionsColumnWildcardPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPermissions_ColumnWildcardPropertyValidator(properties).assertSuccess(),{ExcludedColumnNames:cdk.listMapper(cdk.stringToCloudFormation)(properties.excludedColumnNames)}):properties}function CfnPermissionsColumnWildcardPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("excludedColumnNames","ExcludedColumnNames",properties.ExcludedColumnNames!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ExcludedColumnNames):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPermissions_DataLakePrincipalPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dataLakePrincipalIdentifier",cdk.validateString)(properties.dataLakePrincipalIdentifier)),errors.wrap('supplied properties not correct for "DataLakePrincipalProperty"')}function cfnPermissionsDataLakePrincipalPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPermissions_DataLakePrincipalPropertyValidator(properties).assertSuccess(),{DataLakePrincipalIdentifier:cdk.stringToCloudFormation(properties.dataLakePrincipalIdentifier)}):properties}function CfnPermissionsDataLakePrincipalPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dataLakePrincipalIdentifier","DataLakePrincipalIdentifier",properties.DataLakePrincipalIdentifier!=null?cfn_parse.FromCloudFormation.getString(properties.DataLakePrincipalIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPermissions_DataLocationResourcePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("catalogId",cdk.validateString)(properties.catalogId)),errors.collect(cdk.propertyValidator("s3Resource",cdk.validateString)(properties.s3Resource)),errors.wrap('supplied properties not correct for "DataLocationResourceProperty"')}function cfnPermissionsDataLocationResourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPermissions_DataLocationResourcePropertyValidator(properties).assertSuccess(),{CatalogId:cdk.stringToCloudFormation(properties.catalogId),S3Resource:cdk.stringToCloudFormation(properties.s3Resource)}):properties}function CfnPermissionsDataLocationResourcePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("catalogId","CatalogId",properties.CatalogId!=null?cfn_parse.FromCloudFormation.getString(properties.CatalogId):void 0),ret.addPropertyResult("s3Resource","S3Resource",properties.S3Resource!=null?cfn_parse.FromCloudFormation.getString(properties.S3Resource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPermissions_DatabaseResourcePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("catalogId",cdk.validateString)(properties.catalogId)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "DatabaseResourceProperty"')}function cfnPermissionsDatabaseResourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPermissions_DatabaseResourcePropertyValidator(properties).assertSuccess(),{CatalogId:cdk.stringToCloudFormation(properties.catalogId),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnPermissionsDatabaseResourcePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("catalogId","CatalogId",properties.CatalogId!=null?cfn_parse.FromCloudFormation.getString(properties.CatalogId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPermissions_ResourcePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dataLocationResource",CfnPermissions_DataLocationResourcePropertyValidator)(properties.dataLocationResource)),errors.collect(cdk.propertyValidator("databaseResource",CfnPermissions_DatabaseResourcePropertyValidator)(properties.databaseResource)),errors.collect(cdk.propertyValidator("tableResource",CfnPermissions_TableResourcePropertyValidator)(properties.tableResource)),errors.collect(cdk.propertyValidator("tableWithColumnsResource",CfnPermissions_TableWithColumnsResourcePropertyValidator)(properties.tableWithColumnsResource)),errors.wrap('supplied properties not correct for "ResourceProperty"')}function cfnPermissionsResourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPermissions_ResourcePropertyValidator(properties).assertSuccess(),{DataLocationResource:cfnPermissionsDataLocationResourcePropertyToCloudFormation(properties.dataLocationResource),DatabaseResource:cfnPermissionsDatabaseResourcePropertyToCloudFormation(properties.databaseResource),TableResource:cfnPermissionsTableResourcePropertyToCloudFormation(properties.tableResource),TableWithColumnsResource:cfnPermissionsTableWithColumnsResourcePropertyToCloudFormation(properties.tableWithColumnsResource)}):properties}function CfnPermissionsResourcePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dataLocationResource","DataLocationResource",properties.DataLocationResource!=null?CfnPermissionsDataLocationResourcePropertyFromCloudFormation(properties.DataLocationResource):void 0),ret.addPropertyResult("databaseResource","DatabaseResource",properties.DatabaseResource!=null?CfnPermissionsDatabaseResourcePropertyFromCloudFormation(properties.DatabaseResource):void 0),ret.addPropertyResult("tableResource","TableResource",properties.TableResource!=null?CfnPermissionsTableResourcePropertyFromCloudFormation(properties.TableResource):void 0),ret.addPropertyResult("tableWithColumnsResource","TableWithColumnsResource",properties.TableWithColumnsResource!=null?CfnPermissionsTableWithColumnsResourcePropertyFromCloudFormation(properties.TableWithColumnsResource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPermissions_TableResourcePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("catalogId",cdk.validateString)(properties.catalogId)),errors.collect(cdk.propertyValidator("databaseName",cdk.validateString)(properties.databaseName)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("tableWildcard",CfnPermissions_TableWildcardPropertyValidator)(properties.tableWildcard)),errors.wrap('supplied properties not correct for "TableResourceProperty"')}function cfnPermissionsTableResourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPermissions_TableResourcePropertyValidator(properties).assertSuccess(),{CatalogId:cdk.stringToCloudFormation(properties.catalogId),DatabaseName:cdk.stringToCloudFormation(properties.databaseName),Name:cdk.stringToCloudFormation(properties.name),TableWildcard:cfnPermissionsTableWildcardPropertyToCloudFormation(properties.tableWildcard)}):properties}function CfnPermissionsTableResourcePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("catalogId","CatalogId",properties.CatalogId!=null?cfn_parse.FromCloudFormation.getString(properties.CatalogId):void 0),ret.addPropertyResult("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse.FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tableWildcard","TableWildcard",properties.TableWildcard!=null?CfnPermissionsTableWildcardPropertyFromCloudFormation(properties.TableWildcard):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPermissions_TableWildcardPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.wrap('supplied properties not correct for "TableWildcardProperty"')}function cfnPermissionsTableWildcardPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPermissions_TableWildcardPropertyValidator(properties).assertSuccess(),{}):properties}function CfnPermissionsTableWildcardPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPermissions_TableWithColumnsResourcePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("catalogId",cdk.validateString)(properties.catalogId)),errors.collect(cdk.propertyValidator("columnNames",cdk.listValidator(cdk.validateString))(properties.columnNames)),errors.collect(cdk.propertyValidator("columnWildcard",CfnPermissions_ColumnWildcardPropertyValidator)(properties.columnWildcard)),errors.collect(cdk.propertyValidator("databaseName",cdk.validateString)(properties.databaseName)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "TableWithColumnsResourceProperty"')}function cfnPermissionsTableWithColumnsResourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPermissions_TableWithColumnsResourcePropertyValidator(properties).assertSuccess(),{CatalogId:cdk.stringToCloudFormation(properties.catalogId),ColumnNames:cdk.listMapper(cdk.stringToCloudFormation)(properties.columnNames),ColumnWildcard:cfnPermissionsColumnWildcardPropertyToCloudFormation(properties.columnWildcard),DatabaseName:cdk.stringToCloudFormation(properties.databaseName),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnPermissionsTableWithColumnsResourcePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("catalogId","CatalogId",properties.CatalogId!=null?cfn_parse.FromCloudFormation.getString(properties.CatalogId):void 0),ret.addPropertyResult("columnNames","ColumnNames",properties.ColumnNames!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ColumnNames):void 0),ret.addPropertyResult("columnWildcard","ColumnWildcard",properties.ColumnWildcard!=null?CfnPermissionsColumnWildcardPropertyFromCloudFormation(properties.ColumnWildcard):void 0),ret.addPropertyResult("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse.FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPrincipalPermissionsPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("catalog",cdk.validateString)(properties.catalog)),errors.collect(cdk.propertyValidator("permissions",cdk.requiredValidator)(properties.permissions)),errors.collect(cdk.propertyValidator("permissions",cdk.listValidator(cdk.validateString))(properties.permissions)),errors.collect(cdk.propertyValidator("permissionsWithGrantOption",cdk.requiredValidator)(properties.permissionsWithGrantOption)),errors.collect(cdk.propertyValidator("permissionsWithGrantOption",cdk.listValidator(cdk.validateString))(properties.permissionsWithGrantOption)),errors.collect(cdk.propertyValidator("principal",cdk.requiredValidator)(properties.principal)),errors.collect(cdk.propertyValidator("principal",CfnPrincipalPermissions_DataLakePrincipalPropertyValidator)(properties.principal)),errors.collect(cdk.propertyValidator("resource",cdk.requiredValidator)(properties.resource)),errors.collect(cdk.propertyValidator("resource",CfnPrincipalPermissions_ResourcePropertyValidator)(properties.resource)),errors.wrap('supplied properties not correct for "CfnPrincipalPermissionsProps"')}function cfnPrincipalPermissionsPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPrincipalPermissionsPropsValidator(properties).assertSuccess(),{Permissions:cdk.listMapper(cdk.stringToCloudFormation)(properties.permissions),PermissionsWithGrantOption:cdk.listMapper(cdk.stringToCloudFormation)(properties.permissionsWithGrantOption),Principal:cfnPrincipalPermissionsDataLakePrincipalPropertyToCloudFormation(properties.principal),Resource:cfnPrincipalPermissionsResourcePropertyToCloudFormation(properties.resource),Catalog:cdk.stringToCloudFormation(properties.catalog)}):properties}function CfnPrincipalPermissionsPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("permissions","Permissions",cfn_parse.FromCloudFormation.getStringArray(properties.Permissions)),ret.addPropertyResult("permissionsWithGrantOption","PermissionsWithGrantOption",cfn_parse.FromCloudFormation.getStringArray(properties.PermissionsWithGrantOption)),ret.addPropertyResult("principal","Principal",CfnPrincipalPermissionsDataLakePrincipalPropertyFromCloudFormation(properties.Principal)),ret.addPropertyResult("resource","Resource",CfnPrincipalPermissionsResourcePropertyFromCloudFormation(properties.Resource)),ret.addPropertyResult("catalog","Catalog",properties.Catalog!=null?cfn_parse.FromCloudFormation.getString(properties.Catalog):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPrincipalPermissions extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnPrincipalPermissions.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_lakeformation_CfnPrincipalPermissionsProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPrincipalPermissions),error}cdk.requireProperty(props,"permissions",this),cdk.requireProperty(props,"permissionsWithGrantOption",this),cdk.requireProperty(props,"principal",this),cdk.requireProperty(props,"resource",this),this.attrPrincipalIdentifier=cdk.Token.asString(this.getAtt("PrincipalIdentifier",cdk.ResolutionTypeHint.STRING)),this.attrResourceIdentifier=cdk.Token.asString(this.getAtt("ResourceIdentifier",cdk.ResolutionTypeHint.STRING)),this.permissions=props.permissions,this.permissionsWithGrantOption=props.permissionsWithGrantOption,this.principal=props.principal,this.resource=props.resource,this.catalog=props.catalog}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPrincipalPermissionsPropsFromCloudFormation(resourceProperties),ret=new CfnPrincipalPermissions(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnPrincipalPermissions.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{permissions:this.permissions,permissionsWithGrantOption:this.permissionsWithGrantOption,principal:this.principal,resource:this.resource,catalog:this.catalog}}renderProperties(props){return cfnPrincipalPermissionsPropsToCloudFormation(props)}}exports.CfnPrincipalPermissions=CfnPrincipalPermissions,_d=JSII_RTTI_SYMBOL_1,CfnPrincipalPermissions[_d]={fqn:"aws-cdk-lib.aws_lakeformation.CfnPrincipalPermissions",version:"2.70.0"},CfnPrincipalPermissions.CFN_RESOURCE_TYPE_NAME="AWS::LakeFormation::PrincipalPermissions";function CfnPrincipalPermissions_ColumnWildcardPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("excludedColumnNames",cdk.listValidator(cdk.validateString))(properties.excludedColumnNames)),errors.wrap('supplied properties not correct for "ColumnWildcardProperty"')}function cfnPrincipalPermissionsColumnWildcardPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPrincipalPermissions_ColumnWildcardPropertyValidator(properties).assertSuccess(),{ExcludedColumnNames:cdk.listMapper(cdk.stringToCloudFormation)(properties.excludedColumnNames)}):properties}function CfnPrincipalPermissionsColumnWildcardPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("excludedColumnNames","ExcludedColumnNames",properties.ExcludedColumnNames!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ExcludedColumnNames):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPrincipalPermissions_DataCellsFilterResourcePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("databaseName",cdk.requiredValidator)(properties.databaseName)),errors.collect(cdk.propertyValidator("databaseName",cdk.validateString)(properties.databaseName)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("tableCatalogId",cdk.requiredValidator)(properties.tableCatalogId)),errors.collect(cdk.propertyValidator("tableCatalogId",cdk.validateString)(properties.tableCatalogId)),errors.collect(cdk.propertyValidator("tableName",cdk.requiredValidator)(properties.tableName)),errors.collect(cdk.propertyValidator("tableName",cdk.validateString)(properties.tableName)),errors.wrap('supplied properties not correct for "DataCellsFilterResourceProperty"')}function cfnPrincipalPermissionsDataCellsFilterResourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPrincipalPermissions_DataCellsFilterResourcePropertyValidator(properties).assertSuccess(),{DatabaseName:cdk.stringToCloudFormation(properties.databaseName),Name:cdk.stringToCloudFormation(properties.name),TableCatalogId:cdk.stringToCloudFormation(properties.tableCatalogId),TableName:cdk.stringToCloudFormation(properties.tableName)}):properties}function CfnPrincipalPermissionsDataCellsFilterResourcePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("databaseName","DatabaseName",cfn_parse.FromCloudFormation.getString(properties.DatabaseName)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("tableCatalogId","TableCatalogId",cfn_parse.FromCloudFormation.getString(properties.TableCatalogId)),ret.addPropertyResult("tableName","TableName",cfn_parse.FromCloudFormation.getString(properties.TableName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPrincipalPermissions_DataLakePrincipalPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dataLakePrincipalIdentifier",cdk.validateString)(properties.dataLakePrincipalIdentifier)),errors.wrap('supplied properties not correct for "DataLakePrincipalProperty"')}function cfnPrincipalPermissionsDataLakePrincipalPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPrincipalPermissions_DataLakePrincipalPropertyValidator(properties).assertSuccess(),{DataLakePrincipalIdentifier:cdk.stringToCloudFormation(properties.dataLakePrincipalIdentifier)}):properties}function CfnPrincipalPermissionsDataLakePrincipalPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dataLakePrincipalIdentifier","DataLakePrincipalIdentifier",properties.DataLakePrincipalIdentifier!=null?cfn_parse.FromCloudFormation.getString(properties.DataLakePrincipalIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPrincipalPermissions_DataLocationResourcePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("catalogId",cdk.requiredValidator)(properties.catalogId)),errors.collect(cdk.propertyValidator("catalogId",cdk.validateString)(properties.catalogId)),errors.collect(cdk.propertyValidator("resourceArn",cdk.requiredValidator)(properties.resourceArn)),errors.collect(cdk.propertyValidator("resourceArn",cdk.validateString)(properties.resourceArn)),errors.wrap('supplied properties not correct for "DataLocationResourceProperty"')}function cfnPrincipalPermissionsDataLocationResourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPrincipalPermissions_DataLocationResourcePropertyValidator(properties).assertSuccess(),{CatalogId:cdk.stringToCloudFormation(properties.catalogId),ResourceArn:cdk.stringToCloudFormation(properties.resourceArn)}):properties}function CfnPrincipalPermissionsDataLocationResourcePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("catalogId","CatalogId",cfn_parse.FromCloudFormation.getString(properties.CatalogId)),ret.addPropertyResult("resourceArn","ResourceArn",cfn_parse.FromCloudFormation.getString(properties.ResourceArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPrincipalPermissions_DatabaseResourcePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("catalogId",cdk.requiredValidator)(properties.catalogId)),errors.collect(cdk.propertyValidator("catalogId",cdk.validateString)(properties.catalogId)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "DatabaseResourceProperty"')}function cfnPrincipalPermissionsDatabaseResourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPrincipalPermissions_DatabaseResourcePropertyValidator(properties).assertSuccess(),{CatalogId:cdk.stringToCloudFormation(properties.catalogId),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnPrincipalPermissionsDatabaseResourcePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("catalogId","CatalogId",cfn_parse.FromCloudFormation.getString(properties.CatalogId)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPrincipalPermissions_LFTagPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("tagKey",cdk.validateString)(properties.tagKey)),errors.collect(cdk.propertyValidator("tagValues",cdk.listValidator(cdk.validateString))(properties.tagValues)),errors.wrap('supplied properties not correct for "LFTagProperty"')}function cfnPrincipalPermissionsLFTagPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPrincipalPermissions_LFTagPropertyValidator(properties).assertSuccess(),{TagKey:cdk.stringToCloudFormation(properties.tagKey),TagValues:cdk.listMapper(cdk.stringToCloudFormation)(properties.tagValues)}):properties}function CfnPrincipalPermissionsLFTagPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("tagKey","TagKey",properties.TagKey!=null?cfn_parse.FromCloudFormation.getString(properties.TagKey):void 0),ret.addPropertyResult("tagValues","TagValues",properties.TagValues!=null?cfn_parse.FromCloudFormation.getStringArray(properties.TagValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPrincipalPermissions_LFTagKeyResourcePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("catalogId",cdk.requiredValidator)(properties.catalogId)),errors.collect(cdk.propertyValidator("catalogId",cdk.validateString)(properties.catalogId)),errors.collect(cdk.propertyValidator("tagKey",cdk.requiredValidator)(properties.tagKey)),errors.collect(cdk.propertyValidator("tagKey",cdk.validateString)(properties.tagKey)),errors.collect(cdk.propertyValidator("tagValues",cdk.requiredValidator)(properties.tagVa