"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnUsageProfile=exports.CfnTableOptimizer=exports.CfnIntegrationResourceProperty=exports.CfnIntegration=exports.CfnIdentityCenterConfiguration=exports.CfnCustomEntityType=exports.CfnCatalog=exports.CfnWorkflow=exports.CfnTrigger=exports.CfnTable=exports.CfnSecurityConfiguration=exports.CfnSchemaVersionMetadata=exports.CfnSchemaVersion=exports.CfnSchema=exports.CfnRegistry=exports.CfnPartition=exports.CfnMLTransform=exports.CfnJob=exports.CfnDevEndpoint=exports.CfnDatabase=exports.CfnDataQualityRuleset=exports.CfnDataCatalogEncryptionSettings=exports.CfnCrawler=exports.CfnConnection=exports.CfnClassifier=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core/lib");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnClassifier extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnClassifier",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Classifier";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnClassifierPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnClassifier(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnClassifier(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnClassifier.CFN_RESOURCE_TYPE_NAME}_csvClassifier;_grokClassifier;_jsonClassifier;_xmlClassifier;cfnPropertyNames={csvClassifier:"CsvClassifier",grokClassifier:"GrokClassifier",jsonClassifier:"JsonClassifier",xmlClassifier:"XMLClassifier"};constructor(scope,id,props={}){super(scope,id,{type:CfnClassifier.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnClassifierProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnClassifier),error}this._csvClassifier=props.csvClassifier,this._grokClassifier=props.grokClassifier,this._jsonClassifier=props.jsonClassifier,this._xmlClassifier=props.xmlClassifier}get classifierRef(){return{classifierId:this.ref}}get csvClassifier(){return this._csvClassifier}set csvClassifier(value){cdk().traceProperty(this.node,"CsvClassifier"),this._csvClassifier=value}get grokClassifier(){return this._grokClassifier}set grokClassifier(value){cdk().traceProperty(this.node,"GrokClassifier"),this._grokClassifier=value}get jsonClassifier(){return this._jsonClassifier}set jsonClassifier(value){cdk().traceProperty(this.node,"JsonClassifier"),this._jsonClassifier=value}get xmlClassifier(){return this._xmlClassifier}set xmlClassifier(value){cdk().traceProperty(this.node,"XMLClassifier"),this._xmlClassifier=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{csvClassifier:this._csvClassifier,grokClassifier:this._grokClassifier,jsonClassifier:this._jsonClassifier,xmlClassifier:this._xmlClassifier}}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",CfnClassifier.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnClassifierPropsToCloudFormation(props)}}exports.CfnClassifier=CfnClassifier;function CfnClassifierXMLClassifierPropertyValidator(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("classification",cdk().requiredValidator)(properties.classification)),errors.collect(cdk().propertyValidator("classification",cdk().validateString)(properties.classification)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("rowTag",cdk().requiredValidator)(properties.rowTag)),errors.collect(cdk().propertyValidator("rowTag",cdk().validateString)(properties.rowTag)),errors.wrap('supplied properties not correct for "XMLClassifierProperty"')}function convertCfnClassifierXMLClassifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClassifierXMLClassifierPropertyValidator(properties).assertSuccess(),{Classification:cdk().stringToCloudFormation(properties.classification),Name:cdk().stringToCloudFormation(properties.name),RowTag:cdk().stringToCloudFormation(properties.rowTag)}):properties}function CfnClassifierXMLClassifierPropertyFromCloudFormation(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("classification","Classification",properties.Classification!=null?cfn_parse().FromCloudFormation.getString(properties.Classification):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("rowTag","RowTag",properties.RowTag!=null?cfn_parse().FromCloudFormation.getString(properties.RowTag):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClassifierJsonClassifierPropertyValidator(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("jsonPath",cdk().requiredValidator)(properties.jsonPath)),errors.collect(cdk().propertyValidator("jsonPath",cdk().validateString)(properties.jsonPath)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "JsonClassifierProperty"')}function convertCfnClassifierJsonClassifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClassifierJsonClassifierPropertyValidator(properties).assertSuccess(),{JsonPath:cdk().stringToCloudFormation(properties.jsonPath),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnClassifierJsonClassifierPropertyFromCloudFormation(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("jsonPath","JsonPath",properties.JsonPath!=null?cfn_parse().FromCloudFormation.getString(properties.JsonPath):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClassifierCsvClassifierPropertyValidator(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("allowSingleColumn",cdk().validateBoolean)(properties.allowSingleColumn)),errors.collect(cdk().propertyValidator("containsCustomDatatype",cdk().listValidator(cdk().validateString))(properties.containsCustomDatatype)),errors.collect(cdk().propertyValidator("containsHeader",cdk().validateString)(properties.containsHeader)),errors.collect(cdk().propertyValidator("customDatatypeConfigured",cdk().validateBoolean)(properties.customDatatypeConfigured)),errors.collect(cdk().propertyValidator("delimiter",cdk().validateString)(properties.delimiter)),errors.collect(cdk().propertyValidator("disableValueTrimming",cdk().validateBoolean)(properties.disableValueTrimming)),errors.collect(cdk().propertyValidator("header",cdk().listValidator(cdk().validateString))(properties.header)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("quoteSymbol",cdk().validateString)(properties.quoteSymbol)),errors.wrap('supplied properties not correct for "CsvClassifierProperty"')}function convertCfnClassifierCsvClassifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClassifierCsvClassifierPropertyValidator(properties).assertSuccess(),{AllowSingleColumn:cdk().booleanToCloudFormation(properties.allowSingleColumn),ContainsCustomDatatype:cdk().listMapper(cdk().stringToCloudFormation)(properties.containsCustomDatatype),ContainsHeader:cdk().stringToCloudFormation(properties.containsHeader),CustomDatatypeConfigured:cdk().booleanToCloudFormation(properties.customDatatypeConfigured),Delimiter:cdk().stringToCloudFormation(properties.delimiter),DisableValueTrimming:cdk().booleanToCloudFormation(properties.disableValueTrimming),Header:cdk().listMapper(cdk().stringToCloudFormation)(properties.header),Name:cdk().stringToCloudFormation(properties.name),QuoteSymbol:cdk().stringToCloudFormation(properties.quoteSymbol)}):properties}function CfnClassifierCsvClassifierPropertyFromCloudFormation(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("allowSingleColumn","AllowSingleColumn",properties.AllowSingleColumn!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowSingleColumn):void 0),ret.addPropertyResult("containsCustomDatatype","ContainsCustomDatatype",properties.ContainsCustomDatatype!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ContainsCustomDatatype):void 0),ret.addPropertyResult("containsHeader","ContainsHeader",properties.ContainsHeader!=null?cfn_parse().FromCloudFormation.getString(properties.ContainsHeader):void 0),ret.addPropertyResult("customDatatypeConfigured","CustomDatatypeConfigured",properties.CustomDatatypeConfigured!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CustomDatatypeConfigured):void 0),ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse().FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("disableValueTrimming","DisableValueTrimming",properties.DisableValueTrimming!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableValueTrimming):void 0),ret.addPropertyResult("header","Header",properties.Header!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Header):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("quoteSymbol","QuoteSymbol",properties.QuoteSymbol!=null?cfn_parse().FromCloudFormation.getString(properties.QuoteSymbol):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClassifierGrokClassifierPropertyValidator(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("classification",cdk().requiredValidator)(properties.classification)),errors.collect(cdk().propertyValidator("classification",cdk().validateString)(properties.classification)),errors.collect(cdk().propertyValidator("customPatterns",cdk().validateString)(properties.customPatterns)),errors.collect(cdk().propertyValidator("grokPattern",cdk().requiredValidator)(properties.grokPattern)),errors.collect(cdk().propertyValidator("grokPattern",cdk().validateString)(properties.grokPattern)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "GrokClassifierProperty"')}function convertCfnClassifierGrokClassifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClassifierGrokClassifierPropertyValidator(properties).assertSuccess(),{Classification:cdk().stringToCloudFormation(properties.classification),CustomPatterns:cdk().stringToCloudFormation(properties.customPatterns),GrokPattern:cdk().stringToCloudFormation(properties.grokPattern),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnClassifierGrokClassifierPropertyFromCloudFormation(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("classification","Classification",properties.Classification!=null?cfn_parse().FromCloudFormation.getString(properties.Classification):void 0),ret.addPropertyResult("customPatterns","CustomPatterns",properties.CustomPatterns!=null?cfn_parse().FromCloudFormation.getString(properties.CustomPatterns):void 0),ret.addPropertyResult("grokPattern","GrokPattern",properties.GrokPattern!=null?cfn_parse().FromCloudFormation.getString(properties.GrokPattern):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnClassifierPropsValidator(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("csvClassifier",CfnClassifierCsvClassifierPropertyValidator)(properties.csvClassifier)),errors.collect(cdk().propertyValidator("grokClassifier",CfnClassifierGrokClassifierPropertyValidator)(properties.grokClassifier)),errors.collect(cdk().propertyValidator("jsonClassifier",CfnClassifierJsonClassifierPropertyValidator)(properties.jsonClassifier)),errors.collect(cdk().propertyValidator("xmlClassifier",CfnClassifierXMLClassifierPropertyValidator)(properties.xmlClassifier)),errors.wrap('supplied properties not correct for "CfnClassifierProps"')}function convertCfnClassifierPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnClassifierPropsValidator(properties).assertSuccess(),{CsvClassifier:convertCfnClassifierCsvClassifierPropertyToCloudFormation(properties.csvClassifier),GrokClassifier:convertCfnClassifierGrokClassifierPropertyToCloudFormation(properties.grokClassifier),JsonClassifier:convertCfnClassifierJsonClassifierPropertyToCloudFormation(properties.jsonClassifier),XMLClassifier:convertCfnClassifierXMLClassifierPropertyToCloudFormation(properties.xmlClassifier)}):properties}function CfnClassifierPropsFromCloudFormation(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("csvClassifier","CsvClassifier",properties.CsvClassifier!=null?CfnClassifierCsvClassifierPropertyFromCloudFormation(properties.CsvClassifier):void 0),ret.addPropertyResult("grokClassifier","GrokClassifier",properties.GrokClassifier!=null?CfnClassifierGrokClassifierPropertyFromCloudFormation(properties.GrokClassifier):void 0),ret.addPropertyResult("jsonClassifier","JsonClassifier",properties.JsonClassifier!=null?CfnClassifierJsonClassifierPropertyFromCloudFormation(properties.JsonClassifier):void 0),ret.addPropertyResult("xmlClassifier","XMLClassifier",properties.XMLClassifier!=null?CfnClassifierXMLClassifierPropertyFromCloudFormation(properties.XMLClassifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnConnection extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnConnection",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Connection";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnConnectionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnConnection(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnConnection(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnConnection.CFN_RESOURCE_TYPE_NAME}_catalogId;_connectionInput;cfnPropertyNames={catalogId:"CatalogId",connectionInput:"ConnectionInput"};constructor(scope,id,props){super(scope,id,{type:CfnConnection.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnConnectionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnConnection),error}cdk().requireProperty(props,"catalogId",this),cdk().requireProperty(props,"connectionInput",this),this._catalogId=props.catalogId,this._connectionInput=props.connectionInput}get connectionRef(){return{connectionId:this.ref}}get catalogId(){return this._catalogId}set catalogId(value){cdk().traceProperty(this.node,"CatalogId"),this._catalogId=value}get connectionInput(){return this._connectionInput}set connectionInput(value){cdk().traceProperty(this.node,"ConnectionInput"),this._connectionInput=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{catalogId:this._catalogId,connectionInput:this._connectionInput}}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",CfnConnection.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnConnectionPropsToCloudFormation(props)}}exports.CfnConnection=CfnConnection;function CfnConnectionPhysicalConnectionRequirementsPropertyValidator(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("availabilityZone",cdk().validateString)(properties.availabilityZone)),errors.collect(cdk().propertyValidator("securityGroupIdList",cdk().listValidator(cdk().validateString))(properties.securityGroupIdList)),errors.collect(cdk().propertyValidator("subnetId",cdk().validateString)(properties.subnetId)),errors.wrap('supplied properties not correct for "PhysicalConnectionRequirementsProperty"')}function convertCfnConnectionPhysicalConnectionRequirementsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectionPhysicalConnectionRequirementsPropertyValidator(properties).assertSuccess(),{AvailabilityZone:cdk().stringToCloudFormation(properties.availabilityZone),SecurityGroupIdList:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIdList),SubnetId:cdk().stringToCloudFormation(properties.subnetId)}):properties}function CfnConnectionPhysicalConnectionRequirementsPropertyFromCloudFormation(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("availabilityZone","AvailabilityZone",properties.AvailabilityZone!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityZone):void 0),ret.addPropertyResult("securityGroupIdList","SecurityGroupIdList",properties.SecurityGroupIdList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIdList):void 0),ret.addPropertyResult("subnetId","SubnetId",properties.SubnetId!=null?cfn_parse().FromCloudFormation.getString(properties.SubnetId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectionAuthorizationCodePropertiesPropertyValidator(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("authorizationCode",cdk().validateString)(properties.authorizationCode)),errors.collect(cdk().propertyValidator("redirectUri",cdk().validateString)(properties.redirectUri)),errors.wrap('supplied properties not correct for "AuthorizationCodePropertiesProperty"')}function convertCfnConnectionAuthorizationCodePropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectionAuthorizationCodePropertiesPropertyValidator(properties).assertSuccess(),{AuthorizationCode:cdk().stringToCloudFormation(properties.authorizationCode),RedirectUri:cdk().stringToCloudFormation(properties.redirectUri)}):properties}function CfnConnectionAuthorizationCodePropertiesPropertyFromCloudFormation(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("authorizationCode","AuthorizationCode",properties.AuthorizationCode!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizationCode):void 0),ret.addPropertyResult("redirectUri","RedirectUri",properties.RedirectUri!=null?cfn_parse().FromCloudFormation.getString(properties.RedirectUri):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectionOAuth2ClientApplicationPropertyValidator(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("awsManagedClientApplicationReference",cdk().validateString)(properties.awsManagedClientApplicationReference)),errors.collect(cdk().propertyValidator("userManagedClientApplicationClientId",cdk().validateString)(properties.userManagedClientApplicationClientId)),errors.wrap('supplied properties not correct for "OAuth2ClientApplicationProperty"')}function convertCfnConnectionOAuth2ClientApplicationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectionOAuth2ClientApplicationPropertyValidator(properties).assertSuccess(),{AWSManagedClientApplicationReference:cdk().stringToCloudFormation(properties.awsManagedClientApplicationReference),UserManagedClientApplicationClientId:cdk().stringToCloudFormation(properties.userManagedClientApplicationClientId)}):properties}function CfnConnectionOAuth2ClientApplicationPropertyFromCloudFormation(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("awsManagedClientApplicationReference","AWSManagedClientApplicationReference",properties.AWSManagedClientApplicationReference!=null?cfn_parse().FromCloudFormation.getString(properties.AWSManagedClientApplicationReference):void 0),ret.addPropertyResult("userManagedClientApplicationClientId","UserManagedClientApplicationClientId",properties.UserManagedClientApplicationClientId!=null?cfn_parse().FromCloudFormation.getString(properties.UserManagedClientApplicationClientId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectionOAuth2CredentialsPropertyValidator(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("accessToken",cdk().validateString)(properties.accessToken)),errors.collect(cdk().propertyValidator("jwtToken",cdk().validateString)(properties.jwtToken)),errors.collect(cdk().propertyValidator("refreshToken",cdk().validateString)(properties.refreshToken)),errors.collect(cdk().propertyValidator("userManagedClientApplicationClientSecret",cdk().validateString)(properties.userManagedClientApplicationClientSecret)),errors.wrap('supplied properties not correct for "OAuth2CredentialsProperty"')}function convertCfnConnectionOAuth2CredentialsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectionOAuth2CredentialsPropertyValidator(properties).assertSuccess(),{AccessToken:cdk().stringToCloudFormation(properties.accessToken),JwtToken:cdk().stringToCloudFormation(properties.jwtToken),RefreshToken:cdk().stringToCloudFormation(properties.refreshToken),UserManagedClientApplicationClientSecret:cdk().stringToCloudFormation(properties.userManagedClientApplicationClientSecret)}):properties}function CfnConnectionOAuth2CredentialsPropertyFromCloudFormation(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("accessToken","AccessToken",properties.AccessToken!=null?cfn_parse().FromCloudFormation.getString(properties.AccessToken):void 0),ret.addPropertyResult("jwtToken","JwtToken",properties.JwtToken!=null?cfn_parse().FromCloudFormation.getString(properties.JwtToken):void 0),ret.addPropertyResult("refreshToken","RefreshToken",properties.RefreshToken!=null?cfn_parse().FromCloudFormation.getString(properties.RefreshToken):void 0),ret.addPropertyResult("userManagedClientApplicationClientSecret","UserManagedClientApplicationClientSecret",properties.UserManagedClientApplicationClientSecret!=null?cfn_parse().FromCloudFormation.getString(properties.UserManagedClientApplicationClientSecret):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectionOAuth2PropertiesInputPropertyValidator(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("authorizationCodeProperties",CfnConnectionAuthorizationCodePropertiesPropertyValidator)(properties.authorizationCodeProperties)),errors.collect(cdk().propertyValidator("oAuth2ClientApplication",CfnConnectionOAuth2ClientApplicationPropertyValidator)(properties.oAuth2ClientApplication)),errors.collect(cdk().propertyValidator("oAuth2Credentials",CfnConnectionOAuth2CredentialsPropertyValidator)(properties.oAuth2Credentials)),errors.collect(cdk().propertyValidator("oAuth2GrantType",cdk().validateString)(properties.oAuth2GrantType)),errors.collect(cdk().propertyValidator("tokenUrl",cdk().validateString)(properties.tokenUrl)),errors.collect(cdk().propertyValidator("tokenUrlParametersMap",cdk().validateObject)(properties.tokenUrlParametersMap)),errors.wrap('supplied properties not correct for "OAuth2PropertiesInputProperty"')}function convertCfnConnectionOAuth2PropertiesInputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectionOAuth2PropertiesInputPropertyValidator(properties).assertSuccess(),{AuthorizationCodeProperties:convertCfnConnectionAuthorizationCodePropertiesPropertyToCloudFormation(properties.authorizationCodeProperties),OAuth2ClientApplication:convertCfnConnectionOAuth2ClientApplicationPropertyToCloudFormation(properties.oAuth2ClientApplication),OAuth2Credentials:convertCfnConnectionOAuth2CredentialsPropertyToCloudFormation(properties.oAuth2Credentials),OAuth2GrantType:cdk().stringToCloudFormation(properties.oAuth2GrantType),TokenUrl:cdk().stringToCloudFormation(properties.tokenUrl),TokenUrlParametersMap:cdk().objectToCloudFormation(properties.tokenUrlParametersMap)}):properties}function CfnConnectionOAuth2PropertiesInputPropertyFromCloudFormation(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("authorizationCodeProperties","AuthorizationCodeProperties",properties.AuthorizationCodeProperties!=null?CfnConnectionAuthorizationCodePropertiesPropertyFromCloudFormation(properties.AuthorizationCodeProperties):void 0),ret.addPropertyResult("oAuth2ClientApplication","OAuth2ClientApplication",properties.OAuth2ClientApplication!=null?CfnConnectionOAuth2ClientApplicationPropertyFromCloudFormation(properties.OAuth2ClientApplication):void 0),ret.addPropertyResult("oAuth2Credentials","OAuth2Credentials",properties.OAuth2Credentials!=null?CfnConnectionOAuth2CredentialsPropertyFromCloudFormation(properties.OAuth2Credentials):void 0),ret.addPropertyResult("oAuth2GrantType","OAuth2GrantType",properties.OAuth2GrantType!=null?cfn_parse().FromCloudFormation.getString(properties.OAuth2GrantType):void 0),ret.addPropertyResult("tokenUrl","TokenUrl",properties.TokenUrl!=null?cfn_parse().FromCloudFormation.getString(properties.TokenUrl):void 0),ret.addPropertyResult("tokenUrlParametersMap","TokenUrlParametersMap",properties.TokenUrlParametersMap!=null?cfn_parse().FromCloudFormation.getAny(properties.TokenUrlParametersMap):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectionBasicAuthenticationCredentialsPropertyValidator(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("password",cdk().validateString)(properties.password)),errors.collect(cdk().propertyValidator("username",cdk().validateString)(properties.username)),errors.wrap('supplied properties not correct for "BasicAuthenticationCredentialsProperty"')}function convertCfnConnectionBasicAuthenticationCredentialsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectionBasicAuthenticationCredentialsPropertyValidator(properties).assertSuccess(),{Password:cdk().stringToCloudFormation(properties.password),Username:cdk().stringToCloudFormation(properties.username)}):properties}function CfnConnectionBasicAuthenticationCredentialsPropertyFromCloudFormation(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("password","Password",properties.Password!=null?cfn_parse().FromCloudFormation.getString(properties.Password):void 0),ret.addPropertyResult("username","Username",properties.Username!=null?cfn_parse().FromCloudFormation.getString(properties.Username):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectionAuthenticationConfigurationInputPropertyValidator(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("authenticationType",cdk().requiredValidator)(properties.authenticationType)),errors.collect(cdk().propertyValidator("authenticationType",cdk().validateString)(properties.authenticationType)),errors.collect(cdk().propertyValidator("basicAuthenticationCredentials",CfnConnectionBasicAuthenticationCredentialsPropertyValidator)(properties.basicAuthenticationCredentials)),errors.collect(cdk().propertyValidator("customAuthenticationCredentials",cdk().validateObject)(properties.customAuthenticationCredentials)),errors.collect(cdk().propertyValidator("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("oAuth2Properties",CfnConnectionOAuth2PropertiesInputPropertyValidator)(properties.oAuth2Properties)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "AuthenticationConfigurationInputProperty"')}function convertCfnConnectionAuthenticationConfigurationInputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectionAuthenticationConfigurationInputPropertyValidator(properties).assertSuccess(),{AuthenticationType:cdk().stringToCloudFormation(properties.authenticationType),BasicAuthenticationCredentials:convertCfnConnectionBasicAuthenticationCredentialsPropertyToCloudFormation(properties.basicAuthenticationCredentials),CustomAuthenticationCredentials:cdk().objectToCloudFormation(properties.customAuthenticationCredentials),KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),OAuth2Properties:convertCfnConnectionOAuth2PropertiesInputPropertyToCloudFormation(properties.oAuth2Properties),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnConnectionAuthenticationConfigurationInputPropertyFromCloudFormation(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("authenticationType","AuthenticationType",properties.AuthenticationType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthenticationType):void 0),ret.addPropertyResult("basicAuthenticationCredentials","BasicAuthenticationCredentials",properties.BasicAuthenticationCredentials!=null?CfnConnectionBasicAuthenticationCredentialsPropertyFromCloudFormation(properties.BasicAuthenticationCredentials):void 0),ret.addPropertyResult("customAuthenticationCredentials","CustomAuthenticationCredentials",properties.CustomAuthenticationCredentials!=null?cfn_parse().FromCloudFormation.getAny(properties.CustomAuthenticationCredentials):void 0),ret.addPropertyResult("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("oAuth2Properties","OAuth2Properties",properties.OAuth2Properties!=null?CfnConnectionOAuth2PropertiesInputPropertyFromCloudFormation(properties.OAuth2Properties):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectionConnectionInputPropertyValidator(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("athenaProperties",cdk().validateObject)(properties.athenaProperties)),errors.collect(cdk().propertyValidator("authenticationConfiguration",CfnConnectionAuthenticationConfigurationInputPropertyValidator)(properties.authenticationConfiguration)),errors.collect(cdk().propertyValidator("connectionProperties",cdk().validateObject)(properties.connectionProperties)),errors.collect(cdk().propertyValidator("connectionType",cdk().requiredValidator)(properties.connectionType)),errors.collect(cdk().propertyValidator("connectionType",cdk().validateString)(properties.connectionType)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("matchCriteria",cdk().listValidator(cdk().validateString))(properties.matchCriteria)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("physicalConnectionRequirements",CfnConnectionPhysicalConnectionRequirementsPropertyValidator)(properties.physicalConnectionRequirements)),errors.collect(cdk().propertyValidator("pythonProperties",cdk().validateObject)(properties.pythonProperties)),errors.collect(cdk().propertyValidator("sparkProperties",cdk().validateObject)(properties.sparkProperties)),errors.collect(cdk().propertyValidator("validateCredentials",cdk().validateBoolean)(properties.validateCredentials)),errors.collect(cdk().propertyValidator("validateForComputeEnvironments",cdk().listValidator(cdk().validateString))(properties.validateForComputeEnvironments)),errors.wrap('supplied properties not correct for "ConnectionInputProperty"')}function convertCfnConnectionConnectionInputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectionConnectionInputPropertyValidator(properties).assertSuccess(),{AthenaProperties:cdk().objectToCloudFormation(properties.athenaProperties),AuthenticationConfiguration:convertCfnConnectionAuthenticationConfigurationInputPropertyToCloudFormation(properties.authenticationConfiguration),ConnectionProperties:cdk().objectToCloudFormation(properties.connectionProperties),ConnectionType:cdk().stringToCloudFormation(properties.connectionType),Description:cdk().stringToCloudFormation(properties.description),MatchCriteria:cdk().listMapper(cdk().stringToCloudFormation)(properties.matchCriteria),Name:cdk().stringToCloudFormation(properties.name),PhysicalConnectionRequirements:convertCfnConnectionPhysicalConnectionRequirementsPropertyToCloudFormation(properties.physicalConnectionRequirements),PythonProperties:cdk().objectToCloudFormation(properties.pythonProperties),SparkProperties:cdk().objectToCloudFormation(properties.sparkProperties),ValidateCredentials:cdk().booleanToCloudFormation(properties.validateCredentials),ValidateForComputeEnvironments:cdk().listMapper(cdk().stringToCloudFormation)(properties.validateForComputeEnvironments)}):properties}function CfnConnectionConnectionInputPropertyFromCloudFormation(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("athenaProperties","AthenaProperties",properties.AthenaProperties!=null?cfn_parse().FromCloudFormation.getAny(properties.AthenaProperties):void 0),ret.addPropertyResult("authenticationConfiguration","AuthenticationConfiguration",properties.AuthenticationConfiguration!=null?CfnConnectionAuthenticationConfigurationInputPropertyFromCloudFormation(properties.AuthenticationConfiguration):void 0),ret.addPropertyResult("connectionProperties","ConnectionProperties",properties.ConnectionProperties!=null?cfn_parse().FromCloudFormation.getAny(properties.ConnectionProperties):void 0),ret.addPropertyResult("connectionType","ConnectionType",properties.ConnectionType!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionType):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("matchCriteria","MatchCriteria",properties.MatchCriteria!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MatchCriteria):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("physicalConnectionRequirements","PhysicalConnectionRequirements",properties.PhysicalConnectionRequirements!=null?CfnConnectionPhysicalConnectionRequirementsPropertyFromCloudFormation(properties.PhysicalConnectionRequirements):void 0),ret.addPropertyResult("pythonProperties","PythonProperties",properties.PythonProperties!=null?cfn_parse().FromCloudFormation.getAny(properties.PythonProperties):void 0),ret.addPropertyResult("sparkProperties","SparkProperties",properties.SparkProperties!=null?cfn_parse().FromCloudFormation.getAny(properties.SparkProperties):void 0),ret.addPropertyResult("validateCredentials","ValidateCredentials",properties.ValidateCredentials!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ValidateCredentials):void 0),ret.addPropertyResult("validateForComputeEnvironments","ValidateForComputeEnvironments",properties.ValidateForComputeEnvironments!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ValidateForComputeEnvironments):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectionPropsValidator(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("catalogId",cdk().requiredValidator)(properties.catalogId)),errors.collect(cdk().propertyValidator("catalogId",cdk().validateString)(properties.catalogId)),errors.collect(cdk().propertyValidator("connectionInput",cdk().requiredValidator)(properties.connectionInput)),errors.collect(cdk().propertyValidator("connectionInput",CfnConnectionConnectionInputPropertyValidator)(properties.connectionInput)),errors.wrap('supplied properties not correct for "CfnConnectionProps"')}function convertCfnConnectionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectionPropsValidator(properties).assertSuccess(),{CatalogId:cdk().stringToCloudFormation(properties.catalogId),ConnectionInput:convertCfnConnectionConnectionInputPropertyToCloudFormation(properties.connectionInput)}):properties}function CfnConnectionPropsFromCloudFormation(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("catalogId","CatalogId",properties.CatalogId!=null?cfn_parse().FromCloudFormation.getString(properties.CatalogId):void 0),ret.addPropertyResult("connectionInput","ConnectionInput",properties.ConnectionInput!=null?CfnConnectionConnectionInputPropertyFromCloudFormation(properties.ConnectionInput):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCrawler extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnCrawler",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Crawler";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCrawlerPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCrawler(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnCrawler(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCrawler.CFN_RESOURCE_TYPE_NAME}static fromCrawlerName(scope,id,crawlerName){class Import extends cdk().Resource{crawlerRef;constructor(scope2,id2,crawlerName2){super(scope2,id2),this.crawlerRef={crawlerName:crawlerName2}}}return new Import(scope,id,crawlerName)}static arnForCrawler(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_glue_ICrawlerRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForCrawler),error}return new(cfn_parse()).TemplateString("arn:${Partition}:glue:${Region}:${Account}:crawler/${CrawlerName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,CrawlerName:resource.crawlerRef.crawlerName})}_classifiers;_configuration;_crawlerSecurityConfiguration;_databaseName;_description;_lakeFormationConfiguration;_name;_recrawlPolicy;_role;_schedule;_schemaChangePolicy;_tablePrefix;tags;_tagsRaw;_targets;cfnPropertyNames={classifiers:"Classifiers",configuration:"Configuration",crawlerSecurityConfiguration:"CrawlerSecurityConfiguration",databaseName:"DatabaseName",description:"Description",lakeFormationConfiguration:"LakeFormationConfiguration",name:"Name",recrawlPolicy:"RecrawlPolicy",role:"Role",schedule:"Schedule",schemaChangePolicy:"SchemaChangePolicy",tablePrefix:"TablePrefix",tags:"Tags",targets:"Targets"};constructor(scope,id,props){super(scope,id,{type:CfnCrawler.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnCrawlerProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCrawler),error}cdk().requireProperty(props,"role",this),cdk().requireProperty(props,"targets",this),this._classifiers=props.classifiers,this._configuration=props.configuration,this._crawlerSecurityConfiguration=props.crawlerSecurityConfiguration,this._databaseName=cdk().getRefProperty(props.databaseName?.bucketRef,"bucketName")??cdk().ensureStringOrUndefined(props.databaseName,"databaseName","s3.IBucketRef | string"),this._description=props.description,this._lakeFormationConfiguration=props.lakeFormationConfiguration,this._name=props.name,this._recrawlPolicy=props.recrawlPolicy,this._role=cdk().getRefProperty(props.role?.roleRef,"roleArn")??cdk().getRefProperty(props.role?.roleRef,"roleName")??cdk().ensureStringOrUndefined(props.role,"role","iam.IRoleRef | string"),this._schedule=props.schedule,this._schemaChangePolicy=props.schemaChangePolicy,this._tablePrefix=props.tablePrefix,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Glue::Crawler",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._targets=props.targets}get crawlerRef(){return{crawlerName:this.ref}}get classifiers(){return this._classifiers}set classifiers(value){cdk().traceProperty(this.node,"Classifiers"),this._classifiers=value}get configuration(){return this._configuration}set configuration(value){cdk().traceProperty(this.node,"Configuration"),this._configuration=value}get crawlerSecurityConfiguration(){return this._crawlerSecurityConfiguration}set crawlerSecurityConfiguration(value){cdk().traceProperty(this.node,"CrawlerSecurityConfiguration"),this._crawlerSecurityConfiguration=value}get databaseName(){return this._databaseName}set databaseName(value){cdk().traceProperty(this.node,"DatabaseName"),this._databaseName=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get lakeFormationConfiguration(){return this._lakeFormationConfiguration}set lakeFormationConfiguration(value){cdk().traceProperty(this.node,"LakeFormationConfiguration"),this._lakeFormationConfiguration=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get recrawlPolicy(){return this._recrawlPolicy}set recrawlPolicy(value){cdk().traceProperty(this.node,"RecrawlPolicy"),this._recrawlPolicy=value}get role(){return this._role}set role(value){cdk().traceProperty(this.node,"Role"),this._role=value}get schedule(){return this._schedule}set schedule(value){cdk().traceProperty(this.node,"Schedule"),this._schedule=value}get schemaChangePolicy(){return this._schemaChangePolicy}set schemaChangePolicy(value){cdk().traceProperty(this.node,"SchemaChangePolicy"),this._schemaChangePolicy=value}get tablePrefix(){return this._tablePrefix}set tablePrefix(value){cdk().traceProperty(this.node,"TablePrefix"),this._tablePrefix=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get targets(){return this._targets}set targets(value){cdk().traceProperty(this.node,"Targets"),this._targets=value}get cfnProperties(){return{classifiers:this._classifiers,configuration:this._configuration,crawlerSecurityConfiguration:this._crawlerSecurityConfiguration,databaseName:this._databaseName,description:this._description,lakeFormationConfiguration:this._lakeFormationConfiguration,name:this._name,recrawlPolicy:this._recrawlPolicy,role:this._role,schedule:this._schedule,schemaChangePolicy:this._schemaChangePolicy,tablePrefix:this._tablePrefix,tags:this.tags.renderTags(),targets:this._targets}}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",CfnCrawler.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCrawlerPropsToCloudFormation(props)}}exports.CfnCrawler=CfnCrawler;function CfnCrawlerSchemaChangePolicyPropertyValidator(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("deleteBehavior",cdk().validateString)(properties.deleteBehavior)),errors.collect(cdk().propertyValidator("updateBehavior",cdk().validateString)(properties.updateBehavior)),errors.wrap('supplied properties not correct for "SchemaChangePolicyProperty"')}function convertCfnCrawlerSchemaChangePolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerSchemaChangePolicyPropertyValidator(properties).assertSuccess(),{DeleteBehavior:cdk().stringToCloudFormation(properties.deleteBehavior),UpdateBehavior:cdk().stringToCloudFormation(properties.updateBehavior)}):properties}function CfnCrawlerSchemaChangePolicyPropertyFromCloudFormation(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("deleteBehavior","DeleteBehavior",properties.DeleteBehavior!=null?cfn_parse().FromCloudFormation.getString(properties.DeleteBehavior):void 0),ret.addPropertyResult("updateBehavior","UpdateBehavior",properties.UpdateBehavior!=null?cfn_parse().FromCloudFormation.getString(properties.UpdateBehavior):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerRecrawlPolicyPropertyValidator(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("recrawlBehavior",cdk().validateString)(properties.recrawlBehavior)),errors.wrap('supplied properties not correct for "RecrawlPolicyProperty"')}function convertCfnCrawlerRecrawlPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerRecrawlPolicyPropertyValidator(properties).assertSuccess(),{RecrawlBehavior:cdk().stringToCloudFormation(properties.recrawlBehavior)}):properties}function CfnCrawlerRecrawlPolicyPropertyFromCloudFormation(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("recrawlBehavior","RecrawlBehavior",properties.RecrawlBehavior!=null?cfn_parse().FromCloudFormation.getString(properties.RecrawlBehavior):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerS3TargetPropertyValidator(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("connectionName",cdk().validateString)(properties.connectionName)),errors.collect(cdk().propertyValidator("dlqEventQueueArn",cdk().validateString)(properties.dlqEventQueueArn)),errors.collect(cdk().propertyValidator("eventQueueArn",cdk().validateString)(properties.eventQueueArn)),errors.collect(cdk().propertyValidator("exclusions",cdk().listValidator(cdk().validateString))(properties.exclusions)),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.collect(cdk().propertyValidator("sampleSize",cdk().validateNumber)(properties.sampleSize)),errors.wrap('supplied properties not correct for "S3TargetProperty"')}function convertCfnCrawlerS3TargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerS3TargetPropertyValidator(properties).assertSuccess(),{ConnectionName:cdk().stringToCloudFormation(properties.connectionName),DlqEventQueueArn:cdk().stringToCloudFormation(properties.dlqEventQueueArn),EventQueueArn:cdk().stringToCloudFormation(properties.eventQueueArn),Exclusions:cdk().listMapper(cdk().stringToCloudFormation)(properties.exclusions),Path:cdk().stringToCloudFormation(properties.path),SampleSize:cdk().numberToCloudFormation(properties.sampleSize)}):properties}function CfnCrawlerS3TargetPropertyFromCloudFormation(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("connectionName","ConnectionName",properties.ConnectionName!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionName):void 0),ret.addPropertyResult("dlqEventQueueArn","DlqEventQueueArn",properties.DlqEventQueueArn!=null?cfn_parse().FromCloudFormation.getString(properties.DlqEventQueueArn):void 0),ret.addPropertyResult("eventQueueArn","EventQueueArn",properties.EventQueueArn!=null?cfn_parse().FromCloudFormation.getString(properties.EventQueueArn):void 0),ret.addPropertyResult("exclusions","Exclusions",properties.Exclusions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Exclusions):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("sampleSize","SampleSize",properties.SampleSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.SampleSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerCatalogTargetPropertyValidator(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("connectionName",cdk().validateString)(properties.connectionName)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("dlqEventQueueArn",cdk().validateString)(properties.dlqEventQueueArn)),errors.collect(cdk().propertyValidator("eventQueueArn",cdk().validateString)(properties.eventQueueArn)),errors.collect(cdk().propertyValidator("tables",cdk().listValidator(cdk().validateString))(properties.tables)),errors.wrap('supplied properties not correct for "CatalogTargetProperty"')}function convertCfnCrawlerCatalogTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerCatalogTargetPropertyValidator(properties).assertSuccess(),{ConnectionName:cdk().stringToCloudFormation(properties.connectionName),DatabaseName:cdk().stringToCloudFormation(properties.databaseName),DlqEventQueueArn:cdk().stringToCloudFormation(properties.dlqEventQueueArn),EventQueueArn:cdk().stringToCloudFormation(properties.eventQueueArn),Tables:cdk().listMapper(cdk().stringToCloudFormation)(properties.tables)}):properties}function CfnCrawlerCatalogTargetPropertyFromCloudFormation(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("connectionName","ConnectionName",properties.ConnectionName!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionName):void 0),ret.addPropertyResult("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("dlqEventQueueArn","DlqEventQueueArn",properties.DlqEventQueueArn!=null?cfn_parse().FromCloudFormation.getString(properties.DlqEventQueueArn):void 0),ret.addPropertyResult("eventQueueArn","EventQueueArn",properties.EventQueueArn!=null?cfn_parse().FromCloudFormation.getString(properties.EventQueueArn):void 0),ret.addPropertyResult("tables","Tables",properties.Tables!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Tables):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerDeltaTargetPropertyValidator(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("connectionName",cdk().validateString)(properties.connectionName)),errors.collect(cdk().propertyValidator("createNativeDeltaTable",cdk().validateBoolean)(properties.createNativeDeltaTable)),errors.collect(cdk().propertyValidator("deltaTables",cdk().listValidator(cdk().validateString))(properties.deltaTables)),errors.collect(cdk().propertyValidator("writeManifest",cdk().validateBoolean)(properties.writeManifest)),errors.wrap('supplied properties not correct for "DeltaTargetProperty"')}function convertCfnCrawlerDeltaTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerDeltaTargetPropertyValidator(properties).assertSuccess(),{ConnectionName:cdk().stringToCloudFormation(properties.connectionName),CreateNativeDeltaTable:cdk().booleanToCloudFormation(properties.createNativeDeltaTable),DeltaTables:cdk().listMapper(cdk().stringToCloudFormation)(properties.deltaTables),WriteManifest:cdk().booleanToCloudFormation(properties.writeManifest)}):properties}function CfnCrawlerDeltaTargetPropertyFromCloudFormation(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("connectionName","ConnectionName",properties.ConnectionName!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionName):void 0),ret.addPropertyResult("createNativeDeltaTable","CreateNativeDeltaTable",properties.CreateNativeDeltaTable!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CreateNativeDeltaTable):void 0),ret.addPropertyResult("deltaTables","DeltaTables",properties.DeltaTables!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DeltaTables):void 0),ret.addPropertyResult("writeManifest","WriteManifest",properties.WriteManifest!=null?cfn_parse().FromCloudFormation.getBoolean(properties.WriteManifest):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerMongoDBTargetPropertyValidator(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("connectionName",cdk().validateString)(properties.connectionName)),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.wrap('supplied properties not correct for "MongoDBTargetProperty"')}function convertCfnCrawlerMongoDBTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerMongoDBTargetPropertyValidator(properties).assertSuccess(),{ConnectionName:cdk().stringToCloudFormation(properties.connectionName),Path:cdk().stringToCloudFormation(properties.path)}):properties}function CfnCrawlerMongoDBTargetPropertyFromCloudFormation(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("connectionName","ConnectionName",properties.ConnectionName!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionName):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerJdbcTargetPropertyValidator(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("connectionName",cdk().validateString)(properties.connectionName)),errors.collect(cdk().propertyValidator("enableAdditionalMetadata",cdk().listValidator(cdk().validateString))(properties.enableAdditionalMetadata)),errors.collect(cdk().propertyValidator("exclusions",cdk().listValidator(cdk().validateString))(properties.exclusions)),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.wrap('supplied properties not correct for "JdbcTargetProperty"')}function convertCfnCrawlerJdbcTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerJdbcTargetPropertyValidator(properties).assertSuccess(),{ConnectionName:cdk().stringToCloudFormation(properties.connectionName),EnableAdditionalMetadata:cdk().listMapper(cdk().stringToCloudFormation)(properties.enableAdditionalMetadata),Exclusions:cdk().listMapper(cdk().stringToCloudFormation)(properties.exclusions),Path:cdk().stringToCloudFormation(properties.path)}):properties}function CfnCrawlerJdbcTargetPropertyFromCloudFormation(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("connectionName","ConnectionName",properties.ConnectionName!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionName):void 0),ret.addPropertyResult("enableAdditionalMetadata","EnableAdditionalMetadata",properties.EnableAdditionalMetadata!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.EnableAdditionalMetadata):void 0),ret.addPropertyResult("exclusions","Exclusions",properties.Exclusions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Exclusions):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerDynamoDBTargetPropertyValidator(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("path",cdk().validateString)(properties.path)),errors.collect(cdk().propertyValidator("scanAll",cdk().validateBoolean)(properties.scanAll)),errors.collect(cdk().propertyValidator("scanRate",cdk().validateNumber)(properties.scanRate)),errors.wrap('supplied properties not correct for "DynamoDBTargetProperty"')}function convertCfnCrawlerDynamoDBTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerDynamoDBTargetPropertyValidator(properties).assertSuccess(),{Path:cdk().stringToCloudFormation(properties.path),ScanAll:cdk().booleanToCloudFormation(properties.scanAll),ScanRate:cdk().numberToCloudFormation(properties.scanRate)}):properties}function CfnCrawlerDynamoDBTargetPropertyFromCloudFormation(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("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("scanAll","ScanAll",properties.ScanAll!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ScanAll):void 0),ret.addPropertyResult("scanRate","ScanRate",properties.ScanRate!=null?cfn_parse().FromCloudFormation.getNumber(properties.ScanRate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerIcebergTargetPropertyValidator(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("connectionName",cdk().validateString)(properties.connectionName)),errors.collect(cdk().propertyValidator("exclusions",cdk().listValidator(cdk().validateString))(properties.exclusions)),errors.collect(cdk().propertyValidator("maximumTraversalDepth",cdk().validateNumber)(properties.maximumTraversalDepth)),errors.collect(cdk().propertyValidator("paths",cdk().listValidator(cdk().validateString))(properties.paths)),errors.wrap('supplied properties not correct for "IcebergTargetProperty"')}function convertCfnCrawlerIcebergTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerIcebergTargetPropertyValidator(properties).assertSuccess(),{ConnectionName:cdk().stringToCloudFormation(properties.connectionName),Exclusions:cdk().listMapper(cdk().stringToCloudFormation)(properties.exclusions),MaximumTraversalDepth:cdk().numberToCloudFormation(properties.maximumTraversalDepth),Paths:cdk().listMapper(cdk().stringToCloudFormation)(properties.paths)}):properties}function CfnCrawlerIcebergTargetPropertyFromCloudFormation(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("connectionName","ConnectionName",properties.ConnectionName!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionName):void 0),ret.addPropertyResult("exclusions","Exclusions",properties.Exclusions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Exclusions):void 0),ret.addPropertyResult("maximumTraversalDepth","MaximumTraversalDepth",properties.MaximumTraversalDepth!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumTraversalDepth):void 0),ret.addPropertyResult("paths","Paths",properties.Paths!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Paths):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerHudiTargetPropertyValidator(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("connectionName",cdk().validateString)(properties.connectionName)),errors.collect(cdk().propertyValidator("exclusions",cdk().listValidator(cdk().validateString))(properties.exclusions)),errors.collect(cdk().propertyValidator("maximumTraversalDepth",cdk().validateNumber)(properties.maximumTraversalDepth)),errors.collect(cdk().propertyValidator("paths",cdk().listValidator(cdk().validateString))(properties.paths)),errors.wrap('supplied properties not correct for "HudiTargetProperty"')}function convertCfnCrawlerHudiTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerHudiTargetPropertyValidator(properties).assertSuccess(),{ConnectionName:cdk().stringToCloudFormation(properties.connectionName),Exclusions:cdk().listMapper(cdk().stringToCloudFormation)(properties.exclusions),MaximumTraversalDepth:cdk().numberToCloudFormation(properties.maximumTraversalDepth),Paths:cdk().listMapper(cdk().stringToCloudFormation)(properties.paths)}):properties}function CfnCrawlerHudiTargetPropertyFromCloudFormation(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("connectionName","ConnectionName",properties.ConnectionName!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionName):void 0),ret.addPropertyResult("exclusions","Exclusions",properties.Exclusions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Exclusions):void 0),ret.addPropertyResult("maximumTraversalDepth","MaximumTraversalDepth",properties.MaximumTraversalDepth!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumTraversalDepth):void 0),ret.addPropertyResult("paths","Paths",properties.Paths!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Paths):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerTargetsPropertyValidator(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("catalogTargets",cdk().listValidator(CfnCrawlerCatalogTargetPropertyValidator))(properties.catalogTargets)),errors.collect(cdk().propertyValidator("deltaTargets",cdk().listValidator(CfnCrawlerDeltaTargetPropertyValidator))(properties.deltaTargets)),errors.collect(cdk().propertyValidator("dynamoDbTargets",cdk().listValidator(CfnCrawlerDynamoDBTargetPropertyValidator))(properties.dynamoDbTargets)),errors.collect(cdk().propertyValidator("hudiTargets",cdk().listValidator(CfnCrawlerHudiTargetPropertyValidator))(properties.hudiTargets)),errors.collect(cdk().propertyValidator("icebergTargets",cdk().listValidator(CfnCrawlerIcebergTargetPropertyValidator))(properties.icebergTargets)),errors.collect(cdk().propertyValidator("jdbcTargets",cdk().listValidator(CfnCrawlerJdbcTargetPropertyValidator))(properties.jdbcTargets)),errors.collect(cdk().propertyValidator("mongoDbTargets",cdk().listValidator(CfnCrawlerMongoDBTargetPropertyValidator))(properties.mongoDbTargets)),errors.collect(cdk().propertyValidator("s3Targets",cdk().listValidator(CfnCrawlerS3TargetPropertyValidator))(properties.s3Targets)),errors.wrap('supplied properties not correct for "TargetsProperty"')}function convertCfnCrawlerTargetsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerTargetsPropertyValidator(properties).assertSuccess(),{CatalogTargets:cdk().listMapper(convertCfnCrawlerCatalogTargetPropertyToCloudFormation)(properties.catalogTargets),DeltaTargets:cdk().listMapper(convertCfnCrawlerDeltaTargetPropertyToCloudFormation)(properties.deltaTargets),DynamoDBTargets:cdk().listMapper(convertCfnCrawlerDynamoDBTargetPropertyToCloudFormation)(properties.dynamoDbTargets),HudiTargets:cdk().listMapper(convertCfnCrawlerHudiTargetPropertyToCloudFormation)(properties.hudiTargets),IcebergTargets:cdk().listMapper(convertCfnCrawlerIcebergTargetPropertyToCloudFormation)(properties.icebergTargets),JdbcTargets:cdk().listMapper(convertCfnCrawlerJdbcTargetPropertyToCloudFormation)(properties.jdbcTargets),MongoDBTargets:cdk().listMapper(convertCfnCrawlerMongoDBTargetPropertyToCloudFormation)(properties.mongoDbTargets),S3Targets:cdk().listMapper(convertCfnCrawlerS3TargetPropertyToCloudFormation)(properties.s3Targets)}):properties}function CfnCrawlerTargetsPropertyFromCloudFormation(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("catalogTargets","CatalogTargets",properties.CatalogTargets!=null?cfn_parse().FromCloudFormation.getArray(CfnCrawlerCatalogTargetPropertyFromCloudFormation)(properties.CatalogTargets):void 0),ret.addPropertyResult("deltaTargets","DeltaTargets",properties.DeltaTargets!=null?cfn_parse().FromCloudFormation.getArray(CfnCrawlerDeltaTargetPropertyFromCloudFormation)(properties.DeltaTargets):void 0),ret.addPropertyResult("dynamoDbTargets","DynamoDBTargets",properties.DynamoDBTargets!=null?cfn_parse().FromCloudFormation.getArray(CfnCrawlerDynamoDBTargetPropertyFromCloudFormation)(properties.DynamoDBTargets):void 0),ret.addPropertyResult("hudiTargets","HudiTargets",properties.HudiTargets!=null?cfn_parse().FromCloudFormation.getArray(CfnCrawlerHudiTargetPropertyFromCloudFormation)(properties.HudiTargets):void 0),ret.addPropertyResult("icebergTargets","IcebergTargets",properties.IcebergTargets!=null?cfn_parse().FromCloudFormation.getArray(CfnCrawlerIcebergTargetPropertyFromCloudFormation)(properties.IcebergTargets):void 0),ret.addPropertyResult("jdbcTargets","JdbcTargets",properties.JdbcTargets!=null?cfn_parse().FromCloudFormation.getArray(CfnCrawlerJdbcTargetPropertyFromCloudFormation)(properties.JdbcTargets):void 0),ret.addPropertyResult("mongoDbTargets","MongoDBTargets",properties.MongoDBTargets!=null?cfn_parse().FromCloudFormation.getArray(CfnCrawlerMongoDBTargetPropertyFromCloudFormation)(properties.MongoDBTargets):void 0),ret.addPropertyResult("s3Targets","S3Targets",properties.S3Targets!=null?cfn_parse().FromCloudFormation.getArray(CfnCrawlerS3TargetPropertyFromCloudFormation)(properties.S3Targets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerSchedulePropertyValidator(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("scheduleExpression",cdk().validateString)(properties.scheduleExpression)),errors.wrap('supplied properties not correct for "ScheduleProperty"')}function convertCfnCrawlerSchedulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerSchedulePropertyValidator(properties).assertSuccess(),{ScheduleExpression:cdk().stringToCloudFormation(properties.scheduleExpression)}):properties}function CfnCrawlerSchedulePropertyFromCloudFormation(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("scheduleExpression","ScheduleExpression",properties.ScheduleExpression!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduleExpression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerLakeFormationConfigurationPropertyValidator(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("accountId",cdk().validateString)(properties.accountId)),errors.collect(cdk().propertyValidator("useLakeFormationCredentials",cdk().validateBoolean)(properties.useLakeFormationCredentials)),errors.wrap('supplied properties not correct for "LakeFormationConfigurationProperty"')}function convertCfnCrawlerLakeFormationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerLakeFormationConfigurationPropertyValidator(properties).assertSuccess(),{AccountId:cdk().stringToCloudFormation(properties.accountId),UseLakeFormationCredentials:cdk().booleanToCloudFormation(properties.useLakeFormationCredentials)}):properties}function CfnCrawlerLakeFormationConfigurationPropertyFromCloudFormation(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("accountId","AccountId",properties.AccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AccountId):void 0),ret.addPropertyResult("useLakeFormationCredentials","UseLakeFormationCredentials",properties.UseLakeFormationCredentials!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseLakeFormationCredentials):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCrawlerPropsValidator(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("classifiers",cdk().listValidator(cdk().validateString))(properties.classifiers)),errors.collect(cdk().propertyValidator("configuration",cdk().validateString)(properties.configuration)),errors.collect(cdk().propertyValidator("crawlerSecurityConfiguration",cdk().validateString)(properties.crawlerSecurityConfiguration)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("lakeFormationConfiguration",CfnCrawlerLakeFormationConfigurationPropertyValidator)(properties.lakeFormationConfiguration)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("recrawlPolicy",CfnCrawlerRecrawlPolicyPropertyValidator)(properties.recrawlPolicy)),errors.collect(cdk().propertyValidator("role",cdk().requiredValidator)(properties.role)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.collect(cdk().propertyValidator("schedule",CfnCrawlerSchedulePropertyValidator)(properties.schedule)),errors.collect(cdk().propertyValidator("schemaChangePolicy",CfnCrawlerSchemaChangePolicyPropertyValidator)(properties.schemaChangePolicy)),errors.collect(cdk().propertyValidator("tablePrefix",cdk().validateString)(properties.tablePrefix)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.collect(cdk().propertyValidator("targets",cdk().requiredValidator)(properties.targets)),errors.collect(cdk().propertyValidator("targets",CfnCrawlerTargetsPropertyValidator)(properties.targets)),errors.wrap('supplied properties not correct for "CfnCrawlerProps"')}function convertCfnCrawlerPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCrawlerPropsValidator(properties).assertSuccess(),{Classifiers:cdk().listMapper(cdk().stringToCloudFormation)(properties.classifiers),Configuration:cdk().stringToCloudFormation(properties.configuration),CrawlerSecurityConfiguration:cdk().stringToCloudFormation(properties.crawlerSecurityConfiguration),DatabaseName:cdk().stringToCloudFormation(properties.databaseName),Description:cdk().stringToCloudFormation(properties.description),LakeFormationConfiguration:convertCfnCrawlerLakeFormationConfigurationPropertyToCloudFormation(properties.lakeFormationConfiguration),Name:cdk().stringToCloudFormation(properties.name),RecrawlPolicy:convertCfnCrawlerRecrawlPolicyPropertyToCloudFormation(properties.recrawlPolicy),Role:cdk().stringToCloudFormation(properties.role),Schedule:convertCfnCrawlerSchedulePropertyToCloudFormation(properties.schedule),SchemaChangePolicy:convertCfnCrawlerSchemaChangePolicyPropertyToCloudFormation(properties.schemaChangePolicy),TablePrefix:cdk().stringToCloudFormation(properties.tablePrefix),Tags:cdk().objectToCloudFormation(properties.tags),Targets:convertCfnCrawlerTargetsPropertyToCloudFormation(properties.targets)}):properties}function CfnCrawlerPropsFromCloudFormation(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("classifiers","Classifiers",properties.Classifiers!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Classifiers):void 0),ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?cfn_parse().FromCloudFormation.getString(properties.Configuration):void 0),ret.addPropertyResult("crawlerSecurityConfiguration","CrawlerSecurityConfiguration",properties.CrawlerSecurityConfiguration!=null?cfn_parse().FromCloudFormation.getString(properties.CrawlerSecurityConfiguration):void 0),ret.addPropertyResult("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("lakeFormationConfiguration","LakeFormationConfiguration",properties.LakeFormationConfiguration!=null?CfnCrawlerLakeFormationConfigurationPropertyFromCloudFormation(properties.LakeFormationConfiguration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("recrawlPolicy","RecrawlPolicy",properties.RecrawlPolicy!=null?CfnCrawlerRecrawlPolicyPropertyFromCloudFormation(properties.RecrawlPolicy):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addPropertyResult("schedule","Schedule",properties.Schedule!=null?CfnCrawlerSchedulePropertyFromCloudFormation(properties.Schedule):void 0),ret.addPropertyResult("schemaChangePolicy","SchemaChangePolicy",properties.SchemaChangePolicy!=null?CfnCrawlerSchemaChangePolicyPropertyFromCloudFormation(properties.SchemaChangePolicy):void 0),ret.addPropertyResult("tablePrefix","TablePrefix",properties.TablePrefix!=null?cfn_parse().FromCloudFormation.getString(properties.TablePrefix):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getAny(properties.Tags):void 0),ret.addPropertyResult("targets","Targets",properties.Targets!=null?CfnCrawlerTargetsPropertyFromCloudFormation(properties.Targets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDataCatalogEncryptionSettings extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnDataCatalogEncryptionSettings",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::DataCatalogEncryptionSettings";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataCatalogEncryptionSettingsPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDataCatalogEncryptionSettings(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDataCatalogEncryptionSettings(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDataCatalogEncryptionSettings.CFN_RESOURCE_TYPE_NAME}_catalogId;_dataCatalogEncryptionSettings;cfnPropertyNames={catalogId:"CatalogId",dataCatalogEncryptionSettings:"DataCatalogEncryptionSettings"};constructor(scope,id,props){super(scope,id,{type:CfnDataCatalogEncryptionSettings.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnDataCatalogEncryptionSettingsProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataCatalogEncryptionSettings),error}cdk().requireProperty(props,"catalogId",this),cdk().requireProperty(props,"dataCatalogEncryptionSettings",this),this._catalogId=props.catalogId,this._dataCatalogEncryptionSettings=props.dataCatalogEncryptionSettings}get dataCatalogEncryptionSettingsRef(){return{dataCatalogEncryptionSettingsId:this.ref}}get catalogId(){return this._catalogId}set catalogId(value){cdk().traceProperty(this.node,"CatalogId"),this._catalogId=value}get dataCatalogEncryptionSettings(){return this._dataCatalogEncryptionSettings}set dataCatalogEncryptionSettings(value){cdk().traceProperty(this.node,"DataCatalogEncryptionSettings"),this._dataCatalogEncryptionSettings=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{catalogId:this._catalogId,dataCatalogEncryptionSettings:this._dataCatalogEncryptionSettings}}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",CfnDataCatalogEncryptionSettings.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDataCatalogEncryptionSettingsPropsToCloudFormation(props)}}exports.CfnDataCatalogEncryptionSettings=CfnDataCatalogEncryptionSettings;function CfnDataCatalogEncryptionSettingsConnectionPasswordEncryptionPropertyValidator(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("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("returnConnectionPasswordEncrypted",cdk().validateBoolean)(properties.returnConnectionPasswordEncrypted)),errors.wrap('supplied properties not correct for "ConnectionPasswordEncryptionProperty"')}function convertCfnDataCatalogEncryptionSettingsConnectionPasswordEncryptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataCatalogEncryptionSettingsConnectionPasswordEncryptionPropertyValidator(properties).assertSuccess(),{KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),ReturnConnectionPasswordEncrypted:cdk().booleanToCloudFormation(properties.returnConnectionPasswordEncrypted)}):properties}function CfnDataCatalogEncryptionSettingsConnectionPasswordEncryptionPropertyFromCloudFormation(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("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("returnConnectionPasswordEncrypted","ReturnConnectionPasswordEncrypted",properties.ReturnConnectionPasswordEncrypted!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReturnConnectionPasswordEncrypted):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataCatalogEncryptionSettingsEncryptionAtRestPropertyValidator(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("catalogEncryptionMode",cdk().validateString)(properties.catalogEncryptionMode)),errors.collect(cdk().propertyValidator("catalogEncryptionServiceRole",cdk().validateString)(properties.catalogEncryptionServiceRole)),errors.collect(cdk().propertyValidator("sseAwsKmsKeyId",cdk().validateString)(properties.sseAwsKmsKeyId)),errors.wrap('supplied properties not correct for "EncryptionAtRestProperty"')}function convertCfnDataCatalogEncryptionSettingsEncryptionAtRestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataCatalogEncryptionSettingsEncryptionAtRestPropertyValidator(properties).assertSuccess(),{CatalogEncryptionMode:cdk().stringToCloudFormation(properties.catalogEncryptionMode),CatalogEncryptionServiceRole:cdk().stringToCloudFormation(properties.catalogEncryptionServiceRole),SseAwsKmsKeyId:cdk().stringToCloudFormation(properties.sseAwsKmsKeyId)}):properties}function CfnDataCatalogEncryptionSettingsEncryptionAtRestPropertyFromCloudFormation(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("catalogEncryptionMode","CatalogEncryptionMode",properties.CatalogEncryptionMode!=null?cfn_parse().FromCloudFormation.getString(properties.CatalogEncryptionMode):void 0),ret.addPropertyResult("catalogEncryptionServiceRole","CatalogEncryptionServiceRole",properties.CatalogEncryptionServiceRole!=null?cfn_parse().FromCloudFormation.getString(properties.CatalogEncryptionServiceRole):void 0),ret.addPropertyResult("sseAwsKmsKeyId","SseAwsKmsKeyId",properties.SseAwsKmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.SseAwsKmsKeyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataCatalogEncryptionSettingsDataCatalogEncryptionSettingsPropertyValidator(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("connectionPasswordEncryption",CfnDataCatalogEncryptionSettingsConnectionPasswordEncryptionPropertyValidator)(properties.connectionPasswordEncryption)),errors.collect(cdk().propertyValidator("encryptionAtRest",CfnDataCatalogEncryptionSettingsEncryptionAtRestPropertyValidator)(properties.encryptionAtRest)),errors.wrap('supplied properties not correct for "DataCatalogEncryptionSettingsProperty"')}function convertCfnDataCatalogEncryptionSettingsDataCatalogEncryptionSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataCatalogEncryptionSettingsDataCatalogEncryptionSettingsPropertyValidator(properties).assertSuccess(),{ConnectionPasswordEncryption:convertCfnDataCatalogEncryptionSettingsConnectionPasswordEncryptionPropertyToCloudFormation(properties.connectionPasswordEncryption),EncryptionAtRest:convertCfnDataCatalogEncryptionSettingsEncryptionAtRestPropertyToCloudFormation(properties.encryptionAtRest)}):properties}function CfnDataCatalogEncryptionSettingsDataCatalogEncryptionSettingsPropertyFromCloudFormation(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("connectionPasswordEncryption","ConnectionPasswordEncryption",properties.ConnectionPasswordEncryption!=null?CfnDataCatalogEncryptionSettingsConnectionPasswordEncryptionPropertyFromCloudFormation(properties.ConnectionPasswordEncryption):void 0),ret.addPropertyResult("encryptionAtRest","EncryptionAtRest",properties.EncryptionAtRest!=null?CfnDataCatalogEncryptionSettingsEncryptionAtRestPropertyFromCloudFormation(properties.EncryptionAtRest):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataCatalogEncryptionSettingsPropsValidator(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("catalogId",cdk().requiredValidator)(properties.catalogId)),errors.collect(cdk().propertyValidator("catalogId",cdk().validateString)(properties.catalogId)),errors.collect(cdk().propertyValidator("dataCatalogEncryptionSettings",cdk().requiredValidator)(properties.dataCatalogEncryptionSettings)),errors.collect(cdk().propertyValidator("dataCatalogEncryptionSettings",CfnDataCatalogEncryptionSettingsDataCatalogEncryptionSettingsPropertyValidator)(properties.dataCatalogEncryptionSettings)),errors.wrap('supplied properties not correct for "CfnDataCatalogEncryptionSettingsProps"')}function convertCfnDataCatalogEncryptionSettingsPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataCatalogEncryptionSettingsPropsValidator(properties).assertSuccess(),{CatalogId:cdk().stringToCloudFormation(properties.catalogId),DataCatalogEncryptionSettings:convertCfnDataCatalogEncryptionSettingsDataCatalogEncryptionSettingsPropertyToCloudFormation(properties.dataCatalogEncryptionSettings)}):properties}function CfnDataCatalogEncryptionSettingsPropsFromCloudFormation(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("catalogId","CatalogId",properties.CatalogId!=null?cfn_parse().FromCloudFormation.getString(properties.CatalogId):void 0),ret.addPropertyResult("dataCatalogEncryptionSettings","DataCatalogEncryptionSettings",properties.DataCatalogEncryptionSettings!=null?CfnDataCatalogEncryptionSettingsDataCatalogEncryptionSettingsPropertyFromCloudFormation(properties.DataCatalogEncryptionSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDataQualityRuleset extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnDataQualityRuleset",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::DataQualityRuleset";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataQualityRulesetPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDataQualityRuleset(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDataQualityRuleset(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDataQualityRuleset.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_clientToken;_description;_name;_ruleset;_tags;_targetTable;cfnPropertyNames={tags:"Tags",clientToken:"ClientToken",description:"Description",name:"Name",ruleset:"Ruleset",targetTable:"TargetTable"};constructor(scope,id,props={}){super(scope,id,{type:CfnDataQualityRuleset.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnDataQualityRulesetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataQualityRuleset),error}this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Glue::DataQualityRuleset",void 0,{tagPropertyName:"tags"}),this._clientToken=props.clientToken,this._description=props.description,this._name=props.name,this._ruleset=props.ruleset,this._tags=props.tags,this._targetTable=props.targetTable}get dataQualityRulesetRef(){return{dataQualityRulesetId:this.ref}}get clientToken(){return this._clientToken}set clientToken(value){cdk().traceProperty(this.node,"ClientToken"),this._clientToken=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get ruleset(){return this._ruleset}set ruleset(value){cdk().traceProperty(this.node,"Ruleset"),this._ruleset=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get targetTable(){return this._targetTable}set targetTable(value){cdk().traceProperty(this.node,"TargetTable"),this._targetTable=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),clientToken:this._clientToken,description:this._description,name:this._name,ruleset:this._ruleset,targetTable:this._targetTable}}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",CfnDataQualityRuleset.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDataQualityRulesetPropsToCloudFormation(props)}}exports.CfnDataQualityRuleset=CfnDataQualityRuleset;function CfnDataQualityRulesetDataQualityTargetTablePropertyValidator(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("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("tableName",cdk().validateString)(properties.tableName)),errors.wrap('supplied properties not correct for "DataQualityTargetTableProperty"')}function convertCfnDataQualityRulesetDataQualityTargetTablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataQualityRulesetDataQualityTargetTablePropertyValidator(properties).assertSuccess(),{DatabaseName:cdk().stringToCloudFormation(properties.databaseName),TableName:cdk().stringToCloudFormation(properties.tableName)}):properties}function CfnDataQualityRulesetDataQualityTargetTablePropertyFromCloudFormation(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("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("tableName","TableName",properties.TableName!=null?cfn_parse().FromCloudFormation.getString(properties.TableName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataQualityRulesetPropsValidator(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("clientToken",cdk().validateString)(properties.clientToken)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("ruleset",cdk().validateString)(properties.ruleset)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.collect(cdk().propertyValidator("targetTable",CfnDataQualityRulesetDataQualityTargetTablePropertyValidator)(properties.targetTable)),errors.wrap('supplied properties not correct for "CfnDataQualityRulesetProps"')}function convertCfnDataQualityRulesetPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataQualityRulesetPropsValidator(properties).assertSuccess(),{ClientToken:cdk().stringToCloudFormation(properties.clientToken),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Ruleset:cdk().stringToCloudFormation(properties.ruleset),Tags:cdk().objectToCloudFormation(properties.tags),TargetTable:convertCfnDataQualityRulesetDataQualityTargetTablePropertyToCloudFormation(properties.targetTable)}):properties}function CfnDataQualityRulesetPropsFromCloudFormation(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("clientToken","ClientToken",properties.ClientToken!=null?cfn_parse().FromCloudFormation.getString(properties.ClientToken):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("ruleset","Ruleset",properties.Ruleset!=null?cfn_parse().FromCloudFormation.getString(properties.Ruleset):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getAny(properties.Tags):void 0),ret.addPropertyResult("targetTable","TargetTable",properties.TargetTable!=null?CfnDataQualityRulesetDataQualityTargetTablePropertyFromCloudFormation(properties.TargetTable):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDatabase extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnDatabase",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Database";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDatabasePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDatabase(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDatabase(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDatabase.CFN_RESOURCE_TYPE_NAME}static fromDatabaseName(scope,id,databaseName){class Import extends cdk().Resource{databaseRef;constructor(scope2,id2,databaseName2){super(scope2,id2),this.databaseRef={databaseName:databaseName2}}}return new Import(scope,id,databaseName)}static arnForDatabase(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_glue_IDatabaseRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDatabase),error}return new(cfn_parse()).TemplateString("arn:${Partition}:glue:${Region}:${Account}:database/${DatabaseName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,DatabaseName:resource.databaseRef.databaseName})}_catalogId;_databaseInput;_databaseName;cfnPropertyNames={catalogId:"CatalogId",databaseInput:"DatabaseInput",databaseName:"DatabaseName"};constructor(scope,id,props){super(scope,id,{type:CfnDatabase.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnDatabaseProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDatabase),error}cdk().requireProperty(props,"catalogId",this),cdk().requireProperty(props,"databaseInput",this),this._catalogId=props.catalogId,this._databaseInput=props.databaseInput,this._databaseName=props.databaseName}get databaseRef(){return{databaseName:this.ref}}get catalogId(){return this._catalogId}set catalogId(value){cdk().traceProperty(this.node,"CatalogId"),this._catalogId=value}get databaseInput(){return this._databaseInput}set databaseInput(value){cdk().traceProperty(this.node,"DatabaseInput"),this._databaseInput=value}get databaseName(){return this._databaseName}set databaseName(value){cdk().traceProperty(this.node,"DatabaseName"),this._databaseName=value}get cfnProperties(){return{catalogId:this._catalogId,databaseInput:this._databaseInput,databaseName:this._databaseName}}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",CfnDatabase.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDatabasePropsToCloudFormation(props)}}exports.CfnDatabase=CfnDatabase;function CfnDatabaseDataLakePrincipalPropertyValidator(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("dataLakePrincipalIdentifier",cdk().validateString)(properties.dataLakePrincipalIdentifier)),errors.wrap('supplied properties not correct for "DataLakePrincipalProperty"')}function convertCfnDatabaseDataLakePrincipalPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDatabaseDataLakePrincipalPropertyValidator(properties).assertSuccess(),{DataLakePrincipalIdentifier:cdk().stringToCloudFormation(properties.dataLakePrincipalIdentifier)}):properties}function CfnDatabaseDataLakePrincipalPropertyFromCloudFormation(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("dataLakePrincipalIdentifier","DataLakePrincipalIdentifier",properties.DataLakePrincipalIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataLakePrincipalIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDatabasePrincipalPrivilegesPropertyValidator(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("permissions",cdk().listValidator(cdk().validateString))(properties.permissions)),errors.collect(cdk().propertyValidator("principal",CfnDatabaseDataLakePrincipalPropertyValidator)(properties.principal)),errors.wrap('supplied properties not correct for "PrincipalPrivilegesProperty"')}function convertCfnDatabasePrincipalPrivilegesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDatabasePrincipalPrivilegesPropertyValidator(properties).assertSuccess(),{Permissions:cdk().listMapper(cdk().stringToCloudFormation)(properties.permissions),Principal:convertCfnDatabaseDataLakePrincipalPropertyToCloudFormation(properties.principal)}):properties}function CfnDatabasePrincipalPrivilegesPropertyFromCloudFormation(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("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Permissions):void 0),ret.addPropertyResult("principal","Principal",properties.Principal!=null?CfnDatabaseDataLakePrincipalPropertyFromCloudFormation(properties.Principal):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDatabaseDatabaseIdentifierPropertyValidator(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("catalogId",cdk().validateString)(properties.catalogId)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.wrap('supplied properties not correct for "DatabaseIdentifierProperty"')}function convertCfnDatabaseDatabaseIdentifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDatabaseDatabaseIdentifierPropertyValidator(properties).assertSuccess(),{CatalogId:cdk().stringToCloudFormation(properties.catalogId),DatabaseName:cdk().stringToCloudFormation(properties.databaseName),Region:cdk().stringToCloudFormation(properties.region)}):properties}function CfnDatabaseDatabaseIdentifierPropertyFromCloudFormation(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("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("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDatabaseFederatedDatabasePropertyValidator(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("connectionName",cdk().validateString)(properties.connectionName)),errors.collect(cdk().propertyValidator("identifier",cdk().validateString)(properties.identifier)),errors.wrap('supplied properties not correct for "FederatedDatabaseProperty"')}function convertCfnDatabaseFederatedDatabasePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDatabaseFederatedDatabasePropertyValidator(properties).assertSuccess(),{ConnectionName:cdk().stringToCloudFormation(properties.connectionName),Identifier:cdk().stringToCloudFormation(properties.identifier)}):properties}function CfnDatabaseFederatedDatabasePropertyFromCloudFormation(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("connectionName","ConnectionName",properties.ConnectionName!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionName):void 0),ret.addPropertyResult("identifier","Identifier",properties.Identifier!=null?cfn_parse().FromCloudFormation.getString(properties.Identifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDatabaseDatabaseInputPropertyValidator(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("createTableDefaultPermissions",cdk().listValidator(CfnDatabasePrincipalPrivilegesPropertyValidator))(properties.createTableDefaultPermissions)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("federatedDatabase",CfnDatabaseFederatedDatabasePropertyValidator)(properties.federatedDatabase)),errors.collect(cdk().propertyValidator("locationUri",cdk().validateString)(properties.locationUri)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameters",cdk().validateObject)(properties.parameters)),errors.collect(cdk().propertyValidator("targetDatabase",CfnDatabaseDatabaseIdentifierPropertyValidator)(properties.targetDatabase)),errors.wrap('supplied properties not correct for "DatabaseInputProperty"')}function convertCfnDatabaseDatabaseInputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDatabaseDatabaseInputPropertyValidator(properties).assertSuccess(),{CreateTableDefaultPermissions:cdk().listMapper(convertCfnDatabasePrincipalPrivilegesPropertyToCloudFormation)(properties.createTableDefaultPermissions),Description:cdk().stringToCloudFormation(properties.description),FederatedDatabase:convertCfnDatabaseFederatedDatabasePropertyToCloudFormation(properties.federatedDatabase),LocationUri:cdk().stringToCloudFormation(properties.locationUri),Name:cdk().stringToCloudFormation(properties.name),Parameters:cdk().objectToCloudFormation(properties.parameters),TargetDatabase:convertCfnDatabaseDatabaseIdentifierPropertyToCloudFormation(properties.targetDatabase)}):properties}function CfnDatabaseDatabaseInputPropertyFromCloudFormation(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("createTableDefaultPermissions","CreateTableDefaultPermissions",properties.CreateTableDefaultPermissions!=null?cfn_parse().FromCloudFormation.getArray(CfnDatabasePrincipalPrivilegesPropertyFromCloudFormation)(properties.CreateTableDefaultPermissions):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("federatedDatabase","FederatedDatabase",properties.FederatedDatabase!=null?CfnDatabaseFederatedDatabasePropertyFromCloudFormation(properties.FederatedDatabase):void 0),ret.addPropertyResult("locationUri","LocationUri",properties.LocationUri!=null?cfn_parse().FromCloudFormation.getString(properties.LocationUri):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addPropertyResult("targetDatabase","TargetDatabase",properties.TargetDatabase!=null?CfnDatabaseDatabaseIdentifierPropertyFromCloudFormation(properties.TargetDatabase):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDatabasePropsValidator(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("catalogId",cdk().requiredValidator)(properties.catalogId)),errors.collect(cdk().propertyValidator("catalogId",cdk().validateString)(properties.catalogId)),errors.collect(cdk().propertyValidator("databaseInput",cdk().requiredValidator)(properties.databaseInput)),errors.collect(cdk().propertyValidator("databaseInput",CfnDatabaseDatabaseInputPropertyValidator)(properties.databaseInput)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.wrap('supplied properties not correct for "CfnDatabaseProps"')}function convertCfnDatabasePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDatabasePropsValidator(properties).assertSuccess(),{CatalogId:cdk().stringToCloudFormation(properties.catalogId),DatabaseInput:convertCfnDatabaseDatabaseInputPropertyToCloudFormation(properties.databaseInput),DatabaseName:cdk().stringToCloudFormation(properties.databaseName)}):properties}function CfnDatabasePropsFromCloudFormation(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("catalogId","CatalogId",properties.CatalogId!=null?cfn_parse().FromCloudFormation.getString(properties.CatalogId):void 0),ret.addPropertyResult("databaseInput","DatabaseInput",properties.DatabaseInput!=null?CfnDatabaseDatabaseInputPropertyFromCloudFormation(properties.DatabaseInput):void 0),ret.addPropertyResult("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDevEndpoint extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnDevEndpoint",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::DevEndpoint";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDevEndpointPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDevEndpoint(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDevEndpoint(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDevEndpoint.CFN_RESOURCE_TYPE_NAME}_arguments;_endpointName;_extraJarsS3Path;_extraPythonLibsS3Path;_glueVersion;_numberOfNodes;_numberOfWorkers;_publicKey;_publicKeys;_roleArn;_securityConfiguration;_securityGroupIds;_subnetId;tags;_tagsRaw;_workerType;cfnPropertyNames={arguments:"Arguments",endpointName:"EndpointName",extraJarsS3Path:"ExtraJarsS3Path",extraPythonLibsS3Path:"ExtraPythonLibsS3Path",glueVersion:"GlueVersion",numberOfNodes:"NumberOfNodes",numberOfWorkers:"NumberOfWorkers",publicKey:"PublicKey",publicKeys:"PublicKeys",roleArn:"RoleArn",securityConfiguration:"SecurityConfiguration",securityGroupIds:"SecurityGroupIds",subnetId:"SubnetId",tags:"Tags",workerType:"WorkerType"};constructor(scope,id,props){super(scope,id,{type:CfnDevEndpoint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnDevEndpointProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDevEndpoint),error}cdk().requireProperty(props,"roleArn",this),this._arguments=props.arguments,this._endpointName=props.endpointName,this._extraJarsS3Path=props.extraJarsS3Path,this._extraPythonLibsS3Path=props.extraPythonLibsS3Path,this._glueVersion=props.glueVersion,this._numberOfNodes=props.numberOfNodes,this._numberOfWorkers=props.numberOfWorkers,this._publicKey=props.publicKey,this._publicKeys=props.publicKeys,this._roleArn=props.roleArn,this._securityConfiguration=props.securityConfiguration,this._securityGroupIds=props.securityGroupIds,this._subnetId=props.subnetId,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Glue::DevEndpoint",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._workerType=props.workerType}get devEndpointRef(){return{endpointName:this.ref}}get arguments(){return this._arguments}set arguments(value){cdk().traceProperty(this.node,"Arguments"),this._arguments=value}get endpointName(){return this._endpointName}set endpointName(value){cdk().traceProperty(this.node,"EndpointName"),this._endpointName=value}get extraJarsS3Path(){return this._extraJarsS3Path}set extraJarsS3Path(value){cdk().traceProperty(this.node,"ExtraJarsS3Path"),this._extraJarsS3Path=value}get extraPythonLibsS3Path(){return this._extraPythonLibsS3Path}set extraPythonLibsS3Path(value){cdk().traceProperty(this.node,"ExtraPythonLibsS3Path"),this._extraPythonLibsS3Path=value}get glueVersion(){return this._glueVersion}set glueVersion(value){cdk().traceProperty(this.node,"GlueVersion"),this._glueVersion=value}get numberOfNodes(){return this._numberOfNodes}set numberOfNodes(value){cdk().traceProperty(this.node,"NumberOfNodes"),this._numberOfNodes=value}get numberOfWorkers(){return this._numberOfWorkers}set numberOfWorkers(value){cdk().traceProperty(this.node,"NumberOfWorkers"),this._numberOfWorkers=value}get publicKey(){return this._publicKey}set publicKey(value){cdk().traceProperty(this.node,"PublicKey"),this._publicKey=value}get publicKeys(){return this._publicKeys}set publicKeys(value){cdk().traceProperty(this.node,"PublicKeys"),this._publicKeys=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get securityConfiguration(){return this._securityConfiguration}set securityConfiguration(value){cdk().traceProperty(this.node,"SecurityConfiguration"),this._securityConfiguration=value}get securityGroupIds(){return this._securityGroupIds}set securityGroupIds(value){cdk().traceProperty(this.node,"SecurityGroupIds"),this._securityGroupIds=value}get subnetId(){return this._subnetId}set subnetId(value){cdk().traceProperty(this.node,"SubnetId"),this._subnetId=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get workerType(){return this._workerType}set workerType(value){cdk().traceProperty(this.node,"WorkerType"),this._workerType=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{arguments:this._arguments,endpointName:this._endpointName,extraJarsS3Path:this._extraJarsS3Path,extraPythonLibsS3Path:this._extraPythonLibsS3Path,glueVersion:this._glueVersion,numberOfNodes:this._numberOfNodes,numberOfWorkers:this._numberOfWorkers,publicKey:this._publicKey,publicKeys:this._publicKeys,roleArn:this._roleArn,securityConfiguration:this._securityConfiguration,securityGroupIds:this._securityGroupIds,subnetId:this._subnetId,tags:this.tags.renderTags(),workerType:this._workerType}}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",CfnDevEndpoint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDevEndpointPropsToCloudFormation(props)}}exports.CfnDevEndpoint=CfnDevEndpoint;function CfnDevEndpointPropsValidator(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("arguments",cdk().validateObject)(properties.arguments)),errors.collect(cdk().propertyValidator("endpointName",cdk().validateString)(properties.endpointName)),errors.collect(cdk().propertyValidator("extraJarsS3Path",cdk().validateString)(properties.extraJarsS3Path)),errors.collect(cdk().propertyValidator("extraPythonLibsS3Path",cdk().validateString)(properties.extraPythonLibsS3Path)),errors.collect(cdk().propertyValidator("glueVersion",cdk().validateString)(properties.glueVersion)),errors.collect(cdk().propertyValidator("numberOfNodes",cdk().validateNumber)(properties.numberOfNodes)),errors.collect(cdk().propertyValidator("numberOfWorkers",cdk().validateNumber)(properties.numberOfWorkers)),errors.collect(cdk().propertyValidator("publicKey",cdk().validateString)(properties.publicKey)),errors.collect(cdk().propertyValidator("publicKeys",cdk().listValidator(cdk().validateString))(properties.publicKeys)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("securityConfiguration",cdk().validateString)(properties.securityConfiguration)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetId",cdk().validateString)(properties.subnetId)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.collect(cdk().propertyValidator("workerType",cdk().validateString)(properties.workerType)),errors.wrap('supplied properties not correct for "CfnDevEndpointProps"')}function convertCfnDevEndpointPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDevEndpointPropsValidator(properties).assertSuccess(),{Arguments:cdk().objectToCloudFormation(properties.arguments),EndpointName:cdk().stringToCloudFormation(properties.endpointName),ExtraJarsS3Path:cdk().stringToCloudFormation(properties.extraJarsS3Path),ExtraPythonLibsS3Path:cdk().stringToCloudFormation(properties.extraPythonLibsS3Path),GlueVersion:cdk().stringToCloudFormation(properties.glueVersion),NumberOfNodes:cdk().numberToCloudFormation(properties.numberOfNodes),NumberOfWorkers:cdk().numberToCloudFormation(properties.numberOfWorkers),PublicKey:cdk().stringToCloudFormation(properties.publicKey),PublicKeys:cdk().listMapper(cdk().stringToCloudFormation)(properties.publicKeys),RoleArn:cdk().stringToCloudFormation(properties.roleArn),SecurityConfiguration:cdk().stringToCloudFormation(properties.securityConfiguration),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetId:cdk().stringToCloudFormation(properties.subnetId),Tags:cdk().objectToCloudFormation(properties.tags),WorkerType:cdk().stringToCloudFormation(properties.workerType)}):properties}function CfnDevEndpointPropsFromCloudFormation(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("arguments","Arguments",properties.Arguments!=null?cfn_parse().FromCloudFormation.getAny(properties.Arguments):void 0),ret.addPropertyResult("endpointName","EndpointName",properties.EndpointName!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointName):void 0),ret.addPropertyResult("extraJarsS3Path","ExtraJarsS3Path",properties.ExtraJarsS3Path!=null?cfn_parse().FromCloudFormation.getString(properties.ExtraJarsS3Path):void 0),ret.addPropertyResult("extraPythonLibsS3Path","ExtraPythonLibsS3Path",properties.ExtraPythonLibsS3Path!=null?cfn_parse().FromCloudFormation.getString(properties.ExtraPythonLibsS3Path):void 0),ret.addPropertyResult("glueVersion","GlueVersion",properties.GlueVersion!=null?cfn_parse().FromCloudFormation.getString(properties.GlueVersion):void 0),ret.addPropertyResult("numberOfNodes","NumberOfNodes",properties.NumberOfNodes!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfNodes):void 0),ret.addPropertyResult("numberOfWorkers","NumberOfWorkers",properties.NumberOfWorkers!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfWorkers):void 0),ret.addPropertyResult("publicKey","PublicKey",properties.PublicKey!=null?cfn_parse().FromCloudFormation.getString(properties.PublicKey):void 0),ret.addPropertyResult("publicKeys","PublicKeys",properties.PublicKeys!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PublicKeys):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("securityConfiguration","SecurityConfiguration",properties.SecurityConfiguration!=null?cfn_parse().FromCloudFormation.getString(properties.SecurityConfiguration):void 0),ret.addPropertyResult("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("subnetId","SubnetId",properties.SubnetId!=null?cfn_parse().FromCloudFormation.getString(properties.SubnetId):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getAny(properties.Tags):void 0),ret.addPropertyResult("workerType","WorkerType",properties.WorkerType!=null?cfn_parse().FromCloudFormation.getString(properties.WorkerType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnJob extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnJob",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Job";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnJobPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnJob(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnJob(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnJob.CFN_RESOURCE_TYPE_NAME}static fromJobName(scope,id,jobName){class Import extends cdk().Resource{jobRef;constructor(scope2,id2,jobName2){super(scope2,id2),this.jobRef={jobName:jobName2}}}return new Import(scope,id,jobName)}static arnForJob(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_glue_IJobRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForJob),error}return new(cfn_parse()).TemplateString("arn:${Partition}:glue:${Region}:${Account}:job/${JobName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,JobName:resource.jobRef.jobName})}_allocatedCapacity;_command;_connections;_defaultArguments;_description;_executionClass;_executionProperty;_glueVersion;_jobMode;_jobRunQueuingEnabled;_logUri;_maintenanceWindow;_maxCapacity;_maxRetries;_name;_nonOverridableArguments;_notificationProperty;_numberOfWorkers;_role;_securityConfiguration;tags;_tagsRaw;_timeout;_workerType;cfnPropertyNames={allocatedCapacity:"AllocatedCapacity",command:"Command",connections:"Connections",defaultArguments:"DefaultArguments",description:"Description",executionClass:"ExecutionClass",executionProperty:"ExecutionProperty",glueVersion:"GlueVersion",jobMode:"JobMode",jobRunQueuingEnabled:"JobRunQueuingEnabled",logUri:"LogUri",maintenanceWindow:"MaintenanceWindow",maxCapacity:"MaxCapacity",maxRetries:"MaxRetries",name:"Name",nonOverridableArguments:"NonOverridableArguments",notificationProperty:"NotificationProperty",numberOfWorkers:"NumberOfWorkers",role:"Role",securityConfiguration:"SecurityConfiguration",tags:"Tags",timeout:"Timeout",workerType:"WorkerType"};constructor(scope,id,props){super(scope,id,{type:CfnJob.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnJobProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnJob),error}cdk().requireProperty(props,"command",this),cdk().requireProperty(props,"role",this),this._allocatedCapacity=props.allocatedCapacity,this._command=props.command,this._connections=props.connections,this._defaultArguments=props.defaultArguments,this._description=props.description,this._executionClass=props.executionClass,this._executionProperty=props.executionProperty,this._glueVersion=props.glueVersion,this._jobMode=props.jobMode,this._jobRunQueuingEnabled=props.jobRunQueuingEnabled,this._logUri=props.logUri,this._maintenanceWindow=props.maintenanceWindow,this._maxCapacity=props.maxCapacity,this._maxRetries=props.maxRetries,this._name=props.name,this._nonOverridableArguments=props.nonOverridableArguments,this._notificationProperty=props.notificationProperty,this._numberOfWorkers=props.numberOfWorkers,this._role=cdk().getRefProperty(props.role?.roleRef,"roleArn")??cdk().getRefProperty(props.role?.roleRef,"roleName")??cdk().ensureStringOrUndefined(props.role,"role","iam.IRoleRef | string"),this._securityConfiguration=props.securityConfiguration,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Glue::Job",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._timeout=props.timeout,this._workerType=props.workerType}get jobRef(){return{jobName:this.ref}}get allocatedCapacity(){return this._allocatedCapacity}set allocatedCapacity(value){cdk().traceProperty(this.node,"AllocatedCapacity"),this._allocatedCapacity=value}get command(){return this._command}set command(value){cdk().traceProperty(this.node,"Command"),this._command=value}get connections(){return this._connections}set connections(value){cdk().traceProperty(this.node,"Connections"),this._connections=value}get defaultArguments(){return this._defaultArguments}set defaultArguments(value){cdk().traceProperty(this.node,"DefaultArguments"),this._defaultArguments=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get executionClass(){return this._executionClass}set executionClass(value){cdk().traceProperty(this.node,"ExecutionClass"),this._executionClass=value}get executionProperty(){return this._executionProperty}set executionProperty(value){cdk().traceProperty(this.node,"ExecutionProperty"),this._executionProperty=value}get glueVersion(){return this._glueVersion}set glueVersion(value){cdk().traceProperty(this.node,"GlueVersion"),this._glueVersion=value}get jobMode(){return this._jobMode}set jobMode(value){cdk().traceProperty(this.node,"JobMode"),this._jobMode=value}get jobRunQueuingEnabled(){return this._jobRunQueuingEnabled}set jobRunQueuingEnabled(value){cdk().traceProperty(this.node,"JobRunQueuingEnabled"),this._jobRunQueuingEnabled=value}get logUri(){return this._logUri}set logUri(value){cdk().traceProperty(this.node,"LogUri"),this._logUri=value}get maintenanceWindow(){return this._maintenanceWindow}set maintenanceWindow(value){cdk().traceProperty(this.node,"MaintenanceWindow"),this._maintenanceWindow=value}get maxCapacity(){return this._maxCapacity}set maxCapacity(value){cdk().traceProperty(this.node,"MaxCapacity"),this._maxCapacity=value}get maxRetries(){return this._maxRetries}set maxRetries(value){cdk().traceProperty(this.node,"MaxRetries"),this._maxRetries=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get nonOverridableArguments(){return this._nonOverridableArguments}set nonOverridableArguments(value){cdk().traceProperty(this.node,"NonOverridableArguments"),this._nonOverridableArguments=value}get notificationProperty(){return this._notificationProperty}set notificationProperty(value){cdk().traceProperty(this.node,"NotificationProperty"),this._notificationProperty=value}get numberOfWorkers(){return this._numberOfWorkers}set numberOfWorkers(value){cdk().traceProperty(this.node,"NumberOfWorkers"),this._numberOfWorkers=value}get role(){return this._role}set role(value){cdk().traceProperty(this.node,"Role"),this._role=value}get securityConfiguration(){return this._securityConfiguration}set securityConfiguration(value){cdk().traceProperty(this.node,"SecurityConfiguration"),this._securityConfiguration=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get timeout(){return this._timeout}set timeout(value){cdk().traceProperty(this.node,"Timeout"),this._timeout=value}get workerType(){return this._workerType}set workerType(value){cdk().traceProperty(this.node,"WorkerType"),this._workerType=value}get cfnProperties(){return{allocatedCapacity:this._allocatedCapacity,command:this._command,connections:this._connections,defaultArguments:this._defaultArguments,description:this._description,executionClass:this._executionClass,executionProperty:this._executionProperty,glueVersion:this._glueVersion,jobMode:this._jobMode,jobRunQueuingEnabled:this._jobRunQueuingEnabled,logUri:this._logUri,maintenanceWindow:this._maintenanceWindow,maxCapacity:this._maxCapacity,maxRetries:this._maxRetries,name:this._name,nonOverridableArguments:this._nonOverridableArguments,notificationProperty:this._notificationProperty,numberOfWorkers:this._numberOfWorkers,role:this._role,securityConfiguration:this._securityConfiguration,tags:this.tags.renderTags(),timeout:this._timeout,workerType:this._workerType}}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",CfnJob.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnJobPropsToCloudFormation(props)}}exports.CfnJob=CfnJob;function CfnJobConnectionsListPropertyValidator(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("connections",cdk().listValidator(cdk().validateString))(properties.connections)),errors.wrap('supplied properties not correct for "ConnectionsListProperty"')}function convertCfnJobConnectionsListPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobConnectionsListPropertyValidator(properties).assertSuccess(),{Connections:cdk().listMapper(cdk().stringToCloudFormation)(properties.connections)}):properties}function CfnJobConnectionsListPropertyFromCloudFormation(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("connections","Connections",properties.Connections!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Connections):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobNotificationPropertyPropertyValidator(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("notifyDelayAfter",cdk().validateNumber)(properties.notifyDelayAfter)),errors.wrap('supplied properties not correct for "NotificationPropertyProperty"')}function convertCfnJobNotificationPropertyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobNotificationPropertyPropertyValidator(properties).assertSuccess(),{NotifyDelayAfter:cdk().numberToCloudFormation(properties.notifyDelayAfter)}):properties}function CfnJobNotificationPropertyPropertyFromCloudFormation(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("notifyDelayAfter","NotifyDelayAfter",properties.NotifyDelayAfter!=null?cfn_parse().FromCloudFormation.getNumber(properties.NotifyDelayAfter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobJobCommandPropertyValidator(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("pythonVersion",cdk().validateString)(properties.pythonVersion)),errors.collect(cdk().propertyValidator("runtime",cdk().validateString)(properties.runtime)),errors.collect(cdk().propertyValidator("scriptLocation",cdk().validateString)(properties.scriptLocation)),errors.wrap('supplied properties not correct for "JobCommandProperty"')}function convertCfnJobJobCommandPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobJobCommandPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),PythonVersion:cdk().stringToCloudFormation(properties.pythonVersion),Runtime:cdk().stringToCloudFormation(properties.runtime),ScriptLocation:cdk().stringToCloudFormation(properties.scriptLocation)}):properties}function CfnJobJobCommandPropertyFromCloudFormation(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("pythonVersion","PythonVersion",properties.PythonVersion!=null?cfn_parse().FromCloudFormation.getString(properties.PythonVersion):void 0),ret.addPropertyResult("runtime","Runtime",properties.Runtime!=null?cfn_parse().FromCloudFormation.getString(properties.Runtime):void 0),ret.addPropertyResult("scriptLocation","ScriptLocation",properties.ScriptLocation!=null?cfn_parse().FromCloudFormation.getString(properties.ScriptLocation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobExecutionPropertyPropertyValidator(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("maxConcurrentRuns",cdk().validateNumber)(properties.maxConcurrentRuns)),errors.wrap('supplied properties not correct for "ExecutionPropertyProperty"')}function convertCfnJobExecutionPropertyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobExecutionPropertyPropertyValidator(properties).assertSuccess(),{MaxConcurrentRuns:cdk().numberToCloudFormation(properties.maxConcurrentRuns)}):properties}function CfnJobExecutionPropertyPropertyFromCloudFormation(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("maxConcurrentRuns","MaxConcurrentRuns",properties.MaxConcurrentRuns!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxConcurrentRuns):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobPropsValidator(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("allocatedCapacity",cdk().validateNumber)(properties.allocatedCapacity)),errors.collect(cdk().propertyValidator("command",cdk().requiredValidator)(properties.command)),errors.collect(cdk().propertyValidator("command",CfnJobJobCommandPropertyValidator)(properties.command)),errors.collect(cdk().propertyValidator("connections",CfnJobConnectionsListPropertyValidator)(properties.connections)),errors.collect(cdk().propertyValidator("defaultArguments",cdk().validateObject)(properties.defaultArguments)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("executionClass",cdk().validateString)(properties.executionClass)),errors.collect(cdk().propertyValidator("executionProperty",CfnJobExecutionPropertyPropertyValidator)(properties.executionProperty)),errors.collect(cdk().propertyValidator("glueVersion",cdk().validateString)(properties.glueVersion)),errors.collect(cdk().propertyValidator("jobMode",cdk().validateString)(properties.jobMode)),errors.collect(cdk().propertyValidator("jobRunQueuingEnabled",cdk().validateBoolean)(properties.jobRunQueuingEnabled)),errors.collect(cdk().propertyValidator("logUri",cdk().validateString)(properties.logUri)),errors.collect(cdk().propertyValidator("maintenanceWindow",cdk().validateString)(properties.maintenanceWindow)),errors.collect(cdk().propertyValidator("maxCapacity",cdk().validateNumber)(properties.maxCapacity)),errors.collect(cdk().propertyValidator("maxRetries",cdk().validateNumber)(properties.maxRetries)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("nonOverridableArguments",cdk().validateObject)(properties.nonOverridableArguments)),errors.collect(cdk().propertyValidator("notificationProperty",CfnJobNotificationPropertyPropertyValidator)(properties.notificationProperty)),errors.collect(cdk().propertyValidator("numberOfWorkers",cdk().validateNumber)(properties.numberOfWorkers)),errors.collect(cdk().propertyValidator("role",cdk().requiredValidator)(properties.role)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.collect(cdk().propertyValidator("securityConfiguration",cdk().validateString)(properties.securityConfiguration)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.collect(cdk().propertyValidator("timeout",cdk().validateNumber)(properties.timeout)),errors.collect(cdk().propertyValidator("workerType",cdk().validateString)(properties.workerType)),errors.wrap('supplied properties not correct for "CfnJobProps"')}function convertCfnJobPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobPropsValidator(properties).assertSuccess(),{AllocatedCapacity:cdk().numberToCloudFormation(properties.allocatedCapacity),Command:convertCfnJobJobCommandPropertyToCloudFormation(properties.command),Connections:convertCfnJobConnectionsListPropertyToCloudFormation(properties.connections),DefaultArguments:cdk().objectToCloudFormation(properties.defaultArguments),Description:cdk().stringToCloudFormation(properties.description),ExecutionClass:cdk().stringToCloudFormation(properties.executionClass),ExecutionProperty:convertCfnJobExecutionPropertyPropertyToCloudFormation(properties.executionProperty),GlueVersion:cdk().stringToCloudFormation(properties.glueVersion),JobMode:cdk().stringToCloudFormation(properties.jobMode),JobRunQueuingEnabled:cdk().booleanToCloudFormation(properties.jobRunQueuingEnabled),LogUri:cdk().stringToCloudFormation(properties.logUri),MaintenanceWindow:cdk().stringToCloudFormation(properties.maintenanceWindow),MaxCapacity:cdk().numberToCloudFormation(properties.maxCapacity),MaxRetries:cdk().numberToCloudFormation(properties.maxRetries),Name:cdk().stringToCloudFormation(properties.name),NonOverridableArguments:cdk().objectToCloudFormation(properties.nonOverridableArguments),NotificationProperty:convertCfnJobNotificationPropertyPropertyToCloudFormation(properties.notificationProperty),NumberOfWorkers:cdk().numberToCloudFormation(properties.numberOfWorkers),Role:cdk().stringToCloudFormation(properties.role),SecurityConfiguration:cdk().stringToCloudFormation(properties.securityConfiguration),Tags:cdk().objectToCloudFormation(properties.tags),Timeout:cdk().numberToCloudFormation(properties.timeout),WorkerType:cdk().stringToCloudFormation(properties.workerType)}):properties}function CfnJobPropsFromCloudFormation(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("allocatedCapacity","AllocatedCapacity",properties.AllocatedCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.AllocatedCapacity):void 0),ret.addPropertyResult("command","Command",properties.Command!=null?CfnJobJobCommandPropertyFromCloudFormation(properties.Command):void 0),ret.addPropertyResult("connections","Connections",properties.Connections!=null?CfnJobConnectionsListPropertyFromCloudFormation(properties.Connections):void 0),ret.addPropertyResult("defaultArguments","DefaultArguments",properties.DefaultArguments!=null?cfn_parse().FromCloudFormation.getAny(properties.DefaultArguments):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("executionClass","ExecutionClass",properties.ExecutionClass!=null?cfn_parse().FromCloudFormation.getString(properties.ExecutionClass):void 0),ret.addPropertyResult("executionProperty","ExecutionProperty",properties.ExecutionProperty!=null?CfnJobExecutionPropertyPropertyFromCloudFormation(properties.ExecutionProperty):void 0),ret.addPropertyResult("glueVersion","GlueVersion",properties.GlueVersion!=null?cfn_parse().FromCloudFormation.getString(properties.GlueVersion):void 0),ret.addPropertyResult("jobMode","JobMode",properties.JobMode!=null?cfn_parse().FromCloudFormation.getString(properties.JobMode):void 0),ret.addPropertyResult("jobRunQueuingEnabled","JobRunQueuingEnabled",properties.JobRunQueuingEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.JobRunQueuingEnabled):void 0),ret.addPropertyResult("logUri","LogUri",properties.LogUri!=null?cfn_parse().FromCloudFormation.getString(properties.LogUri):void 0),ret.addPropertyResult("maintenanceWindow","MaintenanceWindow",properties.MaintenanceWindow!=null?cfn_parse().FromCloudFormation.getString(properties.MaintenanceWindow):void 0),ret.addPropertyResult("maxCapacity","MaxCapacity",properties.MaxCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxCapacity):void 0),ret.addPropertyResult("maxRetries","MaxRetries",properties.MaxRetries!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxRetries):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("nonOverridableArguments","NonOverridableArguments",properties.NonOverridableArguments!=null?cfn_parse().FromCloudFormation.getAny(properties.NonOverridableArguments):void 0),ret.addPropertyResult("notificationProperty","NotificationProperty",properties.NotificationProperty!=null?CfnJobNotificationPropertyPropertyFromCloudFormation(properties.NotificationProperty):void 0),ret.addPropertyResult("numberOfWorkers","NumberOfWorkers",properties.NumberOfWorkers!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfWorkers):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addPropertyResult("securityConfiguration","SecurityConfiguration",properties.SecurityConfiguration!=null?cfn_parse().FromCloudFormation.getString(properties.SecurityConfiguration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getAny(properties.Tags):void 0),ret.addPropertyResult("timeout","Timeout",properties.Timeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.Timeout):void 0),ret.addPropertyResult("workerType","WorkerType",properties.WorkerType!=null?cfn_parse().FromCloudFormation.getString(properties.WorkerType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMLTransform extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnMLTransform",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::MLTransform";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMLTransformPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnMLTransform(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnMLTransform(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnMLTransform.CFN_RESOURCE_TYPE_NAME}_description;_glueVersion;_inputRecordTables;_maxCapacity;_maxRetries;_name;_numberOfWorkers;_role;tags;_tagsRaw;_timeout;_transformEncryption;_transformParameters;_workerType;cfnPropertyNames={description:"Description",glueVersion:"GlueVersion",inputRecordTables:"InputRecordTables",maxCapacity:"MaxCapacity",maxRetries:"MaxRetries",name:"Name",numberOfWorkers:"NumberOfWorkers",role:"Role",tags:"Tags",timeout:"Timeout",transformEncryption:"TransformEncryption",transformParameters:"TransformParameters",workerType:"WorkerType"};constructor(scope,id,props){super(scope,id,{type:CfnMLTransform.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnMLTransformProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMLTransform),error}cdk().requireProperty(props,"inputRecordTables",this),cdk().requireProperty(props,"role",this),cdk().requireProperty(props,"transformParameters",this),this._description=props.description,this._glueVersion=props.glueVersion,this._inputRecordTables=props.inputRecordTables,this._maxCapacity=props.maxCapacity,this._maxRetries=props.maxRetries,this._name=props.name,this._numberOfWorkers=props.numberOfWorkers,this._role=props.role,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Glue::MLTransform",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._timeout=props.timeout,this._transformEncryption=props.transformEncryption,this._transformParameters=props.transformParameters,this._workerType=props.workerType}get mlTransformRef(){return{mlTransformId:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get glueVersion(){return this._glueVersion}set glueVersion(value){cdk().traceProperty(this.node,"GlueVersion"),this._glueVersion=value}get inputRecordTables(){return this._inputRecordTables}set inputRecordTables(value){cdk().traceProperty(this.node,"InputRecordTables"),this._inputRecordTables=value}get maxCapacity(){return this._maxCapacity}set maxCapacity(value){cdk().traceProperty(this.node,"MaxCapacity"),this._maxCapacity=value}get maxRetries(){return this._maxRetries}set maxRetries(value){cdk().traceProperty(this.node,"MaxRetries"),this._maxRetries=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get numberOfWorkers(){return this._numberOfWorkers}set numberOfWorkers(value){cdk().traceProperty(this.node,"NumberOfWorkers"),this._numberOfWorkers=value}get role(){return this._role}set role(value){cdk().traceProperty(this.node,"Role"),this._role=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get timeout(){return this._timeout}set timeout(value){cdk().traceProperty(this.node,"Timeout"),this._timeout=value}get transformEncryption(){return this._transformEncryption}set transformEncryption(value){cdk().traceProperty(this.node,"TransformEncryption"),this._transformEncryption=value}get transformParameters(){return this._transformParameters}set transformParameters(value){cdk().traceProperty(this.node,"TransformParameters"),this._transformParameters=value}get workerType(){return this._workerType}set workerType(value){cdk().traceProperty(this.node,"WorkerType"),this._workerType=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,glueVersion:this._glueVersion,inputRecordTables:this._inputRecordTables,maxCapacity:this._maxCapacity,maxRetries:this._maxRetries,name:this._name,numberOfWorkers:this._numberOfWorkers,role:this._role,tags:this.tags.renderTags(),timeout:this._timeout,transformEncryption:this._transformEncryption,transformParameters:this._transformParameters,workerType:this._workerType}}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",CfnMLTransform.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnMLTransformPropsToCloudFormation(props)}}exports.CfnMLTransform=CfnMLTransform;function CfnMLTransformMLUserDataEncryptionPropertyValidator(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("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("mlUserDataEncryptionMode",cdk().requiredValidator)(properties.mlUserDataEncryptionMode)),errors.collect(cdk().propertyValidator("mlUserDataEncryptionMode",cdk().validateString)(properties.mlUserDataEncryptionMode)),errors.wrap('supplied properties not correct for "MLUserDataEncryptionProperty"')}function convertCfnMLTransformMLUserDataEncryptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMLTransformMLUserDataEncryptionPropertyValidator(properties).assertSuccess(),{KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),MLUserDataEncryptionMode:cdk().stringToCloudFormation(properties.mlUserDataEncryptionMode)}):properties}function CfnMLTransformMLUserDataEncryptionPropertyFromCloudFormation(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("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("mlUserDataEncryptionMode","MLUserDataEncryptionMode",properties.MLUserDataEncryptionMode!=null?cfn_parse().FromCloudFormation.getString(properties.MLUserDataEncryptionMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMLTransformTransformEncryptionPropertyValidator(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("mlUserDataEncryption",CfnMLTransformMLUserDataEncryptionPropertyValidator)(properties.mlUserDataEncryption)),errors.collect(cdk().propertyValidator("taskRunSecurityConfigurationName",cdk().validateString)(properties.taskRunSecurityConfigurationName)),errors.wrap('supplied properties not correct for "TransformEncryptionProperty"')}function convertCfnMLTransformTransformEncryptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMLTransformTransformEncryptionPropertyValidator(properties).assertSuccess(),{MLUserDataEncryption:convertCfnMLTransformMLUserDataEncryptionPropertyToCloudFormation(properties.mlUserDataEncryption),TaskRunSecurityConfigurationName:cdk().stringToCloudFormation(properties.taskRunSecurityConfigurationName)}):properties}function CfnMLTransformTransformEncryptionPropertyFromCloudFormation(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("mlUserDataEncryption","MLUserDataEncryption",properties.MLUserDataEncryption!=null?CfnMLTransformMLUserDataEncryptionPropertyFromCloudFormation(properties.MLUserDataEncryption):void 0),ret.addPropertyResult("taskRunSecurityConfigurationName","TaskRunSecurityConfigurationName",properties.TaskRunSecurityConfigurationName!=null?cfn_parse().FromCloudFormation.getString(properties.TaskRunSecurityConfigurationName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMLTransformFindMatchesParametersPropertyValidator(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("accuracyCostTradeoff",cdk().validateNumber)(properties.accuracyCostTradeoff)),errors.collect(cdk().propertyValidator("enforceProvidedLabels",cdk().validateBoolean)(properties.enforceProvidedLabels)),errors.collect(cdk().propertyValidator("precisionRecallTradeoff",cdk().validateNumber)(properties.precisionRecallTradeoff)),errors.collect(cdk().propertyValidator("primaryKeyColumnName",cdk().requiredValidator)(properties.primaryKeyColumnName)),errors.collect(cdk().propertyValidator("primaryKeyColumnName",cdk().validateString)(properties.primaryKeyColumnName)),errors.wrap('supplied properties not correct for "FindMatchesParametersProperty"')}function convertCfnMLTransformFindMatchesParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMLTransformFindMatchesParametersPropertyValidator(properties).assertSuccess(),{AccuracyCostTradeoff:cdk().numberToCloudFormation(properties.accuracyCostTradeoff),EnforceProvidedLabels:cdk().booleanToCloudFormation(properties.enforceProvidedLabels),PrecisionRecallTradeoff:cdk().numberToCloudFormation(properties.precisionRecallTradeoff),PrimaryKeyColumnName:cdk().stringToCloudFormation(properties.primaryKeyColumnName)}):properties}function CfnMLTransformFindMatchesParametersPropertyFromCloudFormation(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("accuracyCostTradeoff","AccuracyCostTradeoff",properties.AccuracyCostTradeoff!=null?cfn_parse().FromCloudFormation.getNumber(properties.AccuracyCostTradeoff):void 0),ret.addPropertyResult("enforceProvidedLabels","EnforceProvidedLabels",properties.EnforceProvidedLabels!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnforceProvidedLabels):void 0),ret.addPropertyResult("precisionRecallTradeoff","PrecisionRecallTradeoff",properties.PrecisionRecallTradeoff!=null?cfn_parse().FromCloudFormation.getNumber(properties.PrecisionRecallTradeoff):void 0),ret.addPropertyResult("primaryKeyColumnName","PrimaryKeyColumnName",properties.PrimaryKeyColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.PrimaryKeyColumnName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMLTransformTransformParametersPropertyValidator(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("findMatchesParameters",CfnMLTransformFindMatchesParametersPropertyValidator)(properties.findMatchesParameters)),errors.collect(cdk().propertyValidator("transformType",cdk().requiredValidator)(properties.transformType)),errors.collect(cdk().propertyValidator("transformType",cdk().validateString)(properties.transformType)),errors.wrap('supplied properties not correct for "TransformParametersProperty"')}function convertCfnMLTransformTransformParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMLTransformTransformParametersPropertyValidator(properties).assertSuccess(),{FindMatchesParameters:convertCfnMLTransformFindMatchesParametersPropertyToCloudFormation(properties.findMatchesParameters),TransformType:cdk().stringToCloudFormation(properties.transformType)}):properties}function CfnMLTransformTransformParametersPropertyFromCloudFormation(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("findMatchesParameters","FindMatchesParameters",properties.FindMatchesParameters!=null?CfnMLTransformFindMatchesParametersPropertyFromCloudFormation(properties.FindMatchesParameters):void 0),ret.addPropertyResult("transformType","TransformType",properties.TransformType!=null?cfn_parse().FromCloudFormation.getString(properties.TransformType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMLTransformGlueTablesPropertyValidator(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("catalogId",cdk().validateString)(properties.catalogId)),errors.collect(cdk().propertyValidator("connectionName",cdk().validateString)(properties.connectionName)),errors.collect(cdk().propertyValidator("databaseName",cdk().requiredValidator)(properties.databaseName)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),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 "GlueTablesProperty"')}function convertCfnMLTransformGlueTablesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMLTransformGlueTablesPropertyValidator(properties).assertSuccess(),{CatalogId:cdk().stringToCloudFormation(properties.catalogId),ConnectionName:cdk().stringToCloudFormation(properties.connectionName),DatabaseName:cdk().stringToCloudFormation(properties.databaseName),TableName:cdk().stringToCloudFormation(properties.tableName)}):properties}function CfnMLTransformGlueTablesPropertyFromCloudFormation(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("catalogId","CatalogId",properties.CatalogId!=null?cfn_parse().FromCloudFormation.getString(properties.CatalogId):void 0),ret.addPropertyResult("connectionName","ConnectionName",properties.ConnectionName!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionName):void 0),ret.addPropertyResult("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("tableName","TableName",properties.TableName!=null?cfn_parse().FromCloudFormation.getString(properties.TableName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMLTransformInputRecordTablesPropertyValidator(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("glueTables",cdk().listValidator(CfnMLTransformGlueTablesPropertyValidator))(properties.glueTables)),errors.wrap('supplied properties not correct for "InputRecordTablesProperty"')}function convertCfnMLTransformInputRecordTablesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMLTransformInputRecordTablesPropertyValidator(properties).assertSuccess(),{GlueTables:cdk().listMapper(convertCfnMLTransformGlueTablesPropertyToCloudFormation)(properties.glueTables)}):properties}function CfnMLTransformInputRecordTablesPropertyFromCloudFormation(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("glueTables","GlueTables",properties.GlueTables!=null?cfn_parse().FromCloudFormation.getArray(CfnMLTransformGlueTablesPropertyFromCloudFormation)(properties.GlueTables):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMLTransformPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("glueVersion",cdk().validateString)(properties.glueVersion)),errors.collect(cdk().propertyValidator("inputRecordTables",cdk().requiredValidator)(properties.inputRecordTables)),errors.collect(cdk().propertyValidator("inputRecordTables",CfnMLTransformInputRecordTablesPropertyValidator)(properties.inputRecordTables)),errors.collect(cdk().propertyValidator("maxCapacity",cdk().validateNumber)(properties.maxCapacity)),errors.collect(cdk().propertyValidator("maxRetries",cdk().validateNumber)(properties.maxRetries)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("numberOfWorkers",cdk().validateNumber)(properties.numberOfWorkers)),errors.collect(cdk().propertyValidator("role",cdk().requiredValidator)(properties.role)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.collect(cdk().propertyValidator("timeout",cdk().validateNumber)(properties.timeout)),errors.collect(cdk().propertyValidator("transformEncryption",CfnMLTransformTransformEncryptionPropertyValidator)(properties.transformEncryption)),errors.collect(cdk().propertyValidator("transformParameters",cdk().requiredValidator)(properties.transformParameters)),errors.collect(cdk().propertyValidator("transformParameters",CfnMLTransformTransformParametersPropertyValidator)(properties.transformParameters)),errors.collect(cdk().propertyValidator("workerType",cdk().validateString)(properties.workerType)),errors.wrap('supplied properties not correct for "CfnMLTransformProps"')}function convertCfnMLTransformPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMLTransformPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),GlueVersion:cdk().stringToCloudFormation(properties.glueVersion),InputRecordTables:convertCfnMLTransformInputRecordTablesPropertyToCloudFormation(properties.inputRecordTables),MaxCapacity:cdk().numberToCloudFormation(properties.maxCapacity),MaxRetries:cdk().numberToCloudFormation(properties.maxRetries),Name:cdk().stringToCloudFormation(properties.name),NumberOfWorkers:cdk().numberToCloudFormation(properties.numberOfWorkers),Role:cdk().stringToCloudFormation(properties.role),Tags:cdk().objectToCloudFormation(properties.tags),Timeout:cdk().numberToCloudFormation(properties.timeout),TransformEncryption:convertCfnMLTransformTransformEncryptionPropertyToCloudFormation(properties.transformEncryption),TransformParameters:convertCfnMLTransformTransformParametersPropertyToCloudFormation(properties.transformParameters),WorkerType:cdk().stringToCloudFormation(properties.workerType)}):properties}function CfnMLTransformPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("glueVersion","GlueVersion",properties.GlueVersion!=null?cfn_parse().FromCloudFormation.getString(properties.GlueVersion):void 0),ret.addPropertyResult("inputRecordTables","InputRecordTables",properties.InputRecordTables!=null?CfnMLTransformInputRecordTablesPropertyFromCloudFormation(properties.InputRecordTables):void 0),ret.addPropertyResult("maxCapacity","MaxCapacity",properties.MaxCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxCapacity):void 0),ret.addPropertyResult("maxRetries","MaxRetries",properties.MaxRetries!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxRetries):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("numberOfWorkers","NumberOfWorkers",properties.NumberOfWorkers!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfWorkers):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getAny(properties.Tags):void 0),ret.addPropertyResult("timeout","Timeout",properties.Timeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.Timeout):void 0),ret.addPropertyResult("transformEncryption","TransformEncryption",properties.TransformEncryption!=null?CfnMLTransformTransformEncryptionPropertyFromCloudFormation(properties.TransformEncryption):void 0),ret.addPropertyResult("transformParameters","TransformParameters",properties.TransformParameters!=null?CfnMLTransformTransformParametersPropertyFromCloudFormation(properties.TransformParameters):void 0),ret.addPropertyResult("workerType","WorkerType",properties.WorkerType!=null?cfn_parse().FromCloudFormation.getString(properties.WorkerType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPartition extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnPartition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Partition";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPartitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPartition(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnPartition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPartition.CFN_RESOURCE_TYPE_NAME}_catalogId;_databaseName;_partitionInput;_tableName;cfnPropertyNames={catalogId:"CatalogId",databaseName:"DatabaseName",partitionInput:"PartitionInput",tableName:"TableName"};constructor(scope,id,props){super(scope,id,{type:CfnPartition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnPartitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPartition),error}cdk().requireProperty(props,"catalogId",this),cdk().requireProperty(props,"databaseName",this),cdk().requireProperty(props,"partitionInput",this),cdk().requireProperty(props,"tableName",this),this._catalogId=props.catalogId,this._databaseName=props.databaseName,this._partitionInput=props.partitionInput,this._tableName=props.tableName}get partitionRef(){return{partitionId:this.ref}}get catalogId(){return this._catalogId}set catalogId(value){cdk().traceProperty(this.node,"CatalogId"),this._catalogId=value}get databaseName(){return this._databaseName}set databaseName(value){cdk().traceProperty(this.node,"DatabaseName"),this._databaseName=value}get partitionInput(){return this._partitionInput}set partitionInput(value){cdk().traceProperty(this.node,"PartitionInput"),this._partitionInput=value}get tableName(){return this._tableName}set tableName(value){cdk().traceProperty(this.node,"TableName"),this._tableName=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{catalogId:this._catalogId,databaseName:this._databaseName,partitionInput:this._partitionInput,tableName:this._tableName}}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",CfnPartition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPartitionPropsToCloudFormation(props)}}exports.CfnPartition=CfnPartition;function CfnPartitionColumnPropertyValidator(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("comment",cdk().validateString)(properties.comment)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ColumnProperty"')}function convertCfnPartitionColumnPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartitionColumnPropertyValidator(properties).assertSuccess(),{Comment:cdk().stringToCloudFormation(properties.comment),Name:cdk().stringToCloudFormation(properties.name),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnPartitionColumnPropertyFromCloudFormation(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("comment","Comment",properties.Comment!=null?cfn_parse().FromCloudFormation.getString(properties.Comment):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPartitionSerdeInfoPropertyValidator(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("parameters",cdk().validateObject)(properties.parameters)),errors.collect(cdk().propertyValidator("serializationLibrary",cdk().validateString)(properties.serializationLibrary)),errors.wrap('supplied properties not correct for "SerdeInfoProperty"')}function convertCfnPartitionSerdeInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartitionSerdeInfoPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Parameters:cdk().objectToCloudFormation(properties.parameters),SerializationLibrary:cdk().stringToCloudFormation(properties.serializationLibrary)}):properties}function CfnPartitionSerdeInfoPropertyFromCloudFormation(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("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addPropertyResult("serializationLibrary","SerializationLibrary",properties.SerializationLibrary!=null?cfn_parse().FromCloudFormation.getString(properties.SerializationLibrary):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPartitionOrderPropertyValidator(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("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",cdk().validateString)(properties.column)),errors.collect(cdk().propertyValidator("sortOrder",cdk().validateNumber)(properties.sortOrder)),errors.wrap('supplied properties not correct for "OrderProperty"')}function convertCfnPartitionOrderPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartitionOrderPropertyValidator(properties).assertSuccess(),{Column:cdk().stringToCloudFormation(properties.column),SortOrder:cdk().numberToCloudFormation(properties.sortOrder)}):properties}function CfnPartitionOrderPropertyFromCloudFormation(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("column","Column",properties.Column!=null?cfn_parse().FromCloudFormation.getString(properties.Column):void 0),ret.addPropertyResult("sortOrder","SortOrder",properties.SortOrder!=null?cfn_parse().FromCloudFormation.getNumber(properties.SortOrder):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPartitionSchemaIdPropertyValidator(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("registryName",cdk().validateString)(properties.registryName)),errors.collect(cdk().propertyValidator("schemaArn",cdk().validateString)(properties.schemaArn)),errors.collect(cdk().propertyValidator("schemaName",cdk().validateString)(properties.schemaName)),errors.wrap('supplied properties not correct for "SchemaIdProperty"')}function convertCfnPartitionSchemaIdPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartitionSchemaIdPropertyValidator(properties).assertSuccess(),{RegistryName:cdk().stringToCloudFormation(properties.registryName),SchemaArn:cdk().stringToCloudFormation(properties.schemaArn),SchemaName:cdk().stringToCloudFormation(properties.schemaName)}):properties}function CfnPartitionSchemaIdPropertyFromCloudFormation(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("registryName","RegistryName",properties.RegistryName!=null?cfn_parse().FromCloudFormation.getString(properties.RegistryName):void 0),ret.addPropertyResult("schemaArn","SchemaArn",properties.SchemaArn!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaArn):void 0),ret.addPropertyResult("schemaName","SchemaName",properties.SchemaName!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPartitionSchemaReferencePropertyValidator(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("schemaId",CfnPartitionSchemaIdPropertyValidator)(properties.schemaId)),errors.collect(cdk().propertyValidator("schemaVersionId",cdk().validateString)(properties.schemaVersionId)),errors.collect(cdk().propertyValidator("schemaVersionNumber",cdk().validateNumber)(properties.schemaVersionNumber)),errors.wrap('supplied properties not correct for "SchemaReferenceProperty"')}function convertCfnPartitionSchemaReferencePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartitionSchemaReferencePropertyValidator(properties).assertSuccess(),{SchemaId:convertCfnPartitionSchemaIdPropertyToCloudFormation(properties.schemaId),SchemaVersionId:cdk().stringToCloudFormation(properties.schemaVersionId),SchemaVersionNumber:cdk().numberToCloudFormation(properties.schemaVersionNumber)}):properties}function CfnPartitionSchemaReferencePropertyFromCloudFormation(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("schemaId","SchemaId",properties.SchemaId!=null?CfnPartitionSchemaIdPropertyFromCloudFormation(properties.SchemaId):void 0),ret.addPropertyResult("schemaVersionId","SchemaVersionId",properties.SchemaVersionId!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaVersionId):void 0),ret.addPropertyResult("schemaVersionNumber","SchemaVersionNumber",properties.SchemaVersionNumber!=null?cfn_parse().FromCloudFormation.getNumber(properties.SchemaVersionNumber):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPartitionSkewedInfoPropertyValidator(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("skewedColumnNames",cdk().listValidator(cdk().validateString))(properties.skewedColumnNames)),errors.collect(cdk().propertyValidator("skewedColumnValueLocationMaps",cdk().validateObject)(properties.skewedColumnValueLocationMaps)),errors.collect(cdk().propertyValidator("skewedColumnValues",cdk().listValidator(cdk().validateString))(properties.skewedColumnValues)),errors.wrap('supplied properties not correct for "SkewedInfoProperty"')}function convertCfnPartitionSkewedInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartitionSkewedInfoPropertyValidator(properties).assertSuccess(),{SkewedColumnNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.skewedColumnNames),SkewedColumnValueLocationMaps:cdk().objectToCloudFormation(properties.skewedColumnValueLocationMaps),SkewedColumnValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.skewedColumnValues)}):properties}function CfnPartitionSkewedInfoPropertyFromCloudFormation(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("skewedColumnNames","SkewedColumnNames",properties.SkewedColumnNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SkewedColumnNames):void 0),ret.addPropertyResult("skewedColumnValueLocationMaps","SkewedColumnValueLocationMaps",properties.SkewedColumnValueLocationMaps!=null?cfn_parse().FromCloudFormation.getAny(properties.SkewedColumnValueLocationMaps):void 0),ret.addPropertyResult("skewedColumnValues","SkewedColumnValues",properties.SkewedColumnValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SkewedColumnValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPartitionStorageDescriptorPropertyValidator(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("bucketColumns",cdk().listValidator(cdk().validateString))(properties.bucketColumns)),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnPartitionColumnPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("compressed",cdk().validateBoolean)(properties.compressed)),errors.collect(cdk().propertyValidator("inputFormat",cdk().validateString)(properties.inputFormat)),errors.collect(cdk().propertyValidator("location",cdk().validateString)(properties.location)),errors.collect(cdk().propertyValidator("numberOfBuckets",cdk().validateNumber)(properties.numberOfBuckets)),errors.collect(cdk().propertyValidator("outputFormat",cdk().validateString)(properties.outputFormat)),errors.collect(cdk().propertyValidator("parameters",cdk().validateObject)(properties.parameters)),errors.collect(cdk().propertyValidator("schemaReference",CfnPartitionSchemaReferencePropertyValidator)(properties.schemaReference)),errors.collect(cdk().propertyValidator("serdeInfo",CfnPartitionSerdeInfoPropertyValidator)(properties.serdeInfo)),errors.collect(cdk().propertyValidator("skewedInfo",CfnPartitionSkewedInfoPropertyValidator)(properties.skewedInfo)),errors.collect(cdk().propertyValidator("sortColumns",cdk().listValidator(CfnPartitionOrderPropertyValidator))(properties.sortColumns)),errors.collect(cdk().propertyValidator("storedAsSubDirectories",cdk().validateBoolean)(properties.storedAsSubDirectories)),errors.wrap('supplied properties not correct for "StorageDescriptorProperty"')}function convertCfnPartitionStorageDescriptorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartitionStorageDescriptorPropertyValidator(properties).assertSuccess(),{BucketColumns:cdk().listMapper(cdk().stringToCloudFormation)(properties.bucketColumns),Columns:cdk().listMapper(convertCfnPartitionColumnPropertyToCloudFormation)(properties.columns),Compressed:cdk().booleanToCloudFormation(properties.compressed),InputFormat:cdk().stringToCloudFormation(properties.inputFormat),Location:cdk().stringToCloudFormation(properties.location),NumberOfBuckets:cdk().numberToCloudFormation(properties.numberOfBuckets),OutputFormat:cdk().stringToCloudFormation(properties.outputFormat),Parameters:cdk().objectToCloudFormation(properties.parameters),SchemaReference:convertCfnPartitionSchemaReferencePropertyToCloudFormation(properties.schemaReference),SerdeInfo:convertCfnPartitionSerdeInfoPropertyToCloudFormation(properties.serdeInfo),SkewedInfo:convertCfnPartitionSkewedInfoPropertyToCloudFormation(properties.skewedInfo),SortColumns:cdk().listMapper(convertCfnPartitionOrderPropertyToCloudFormation)(properties.sortColumns),StoredAsSubDirectories:cdk().booleanToCloudFormation(properties.storedAsSubDirectories)}):properties}function CfnPartitionStorageDescriptorPropertyFromCloudFormation(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("bucketColumns","BucketColumns",properties.BucketColumns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.BucketColumns):void 0),ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnPartitionColumnPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("compressed","Compressed",properties.Compressed!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Compressed):void 0),ret.addPropertyResult("inputFormat","InputFormat",properties.InputFormat!=null?cfn_parse().FromCloudFormation.getString(properties.InputFormat):void 0),ret.addPropertyResult("location","Location",properties.Location!=null?cfn_parse().FromCloudFormation.getString(properties.Location):void 0),ret.addPropertyResult("numberOfBuckets","NumberOfBuckets",properties.NumberOfBuckets!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfBuckets):void 0),ret.addPropertyResult("outputFormat","OutputFormat",properties.OutputFormat!=null?cfn_parse().FromCloudFormation.getString(properties.OutputFormat):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addPropertyResult("schemaReference","SchemaReference",properties.SchemaReference!=null?CfnPartitionSchemaReferencePropertyFromCloudFormation(properties.SchemaReference):void 0),ret.addPropertyResult("serdeInfo","SerdeInfo",properties.SerdeInfo!=null?CfnPartitionSerdeInfoPropertyFromCloudFormation(properties.SerdeInfo):void 0),ret.addPropertyResult("skewedInfo","SkewedInfo",properties.SkewedInfo!=null?CfnPartitionSkewedInfoPropertyFromCloudFormation(properties.SkewedInfo):void 0),ret.addPropertyResult("sortColumns","SortColumns",properties.SortColumns!=null?cfn_parse().FromCloudFormation.getArray(CfnPartitionOrderPropertyFromCloudFormation)(properties.SortColumns):void 0),ret.addPropertyResult("storedAsSubDirectories","StoredAsSubDirectories",properties.StoredAsSubDirectories!=null?cfn_parse().FromCloudFormation.getBoolean(properties.StoredAsSubDirectories):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPartitionPartitionInputPropertyValidator(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("parameters",cdk().validateObject)(properties.parameters)),errors.collect(cdk().propertyValidator("storageDescriptor",CfnPartitionStorageDescriptorPropertyValidator)(properties.storageDescriptor)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "PartitionInputProperty"')}function convertCfnPartitionPartitionInputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartitionPartitionInputPropertyValidator(properties).assertSuccess(),{Parameters:cdk().objectToCloudFormation(properties.parameters),StorageDescriptor:convertCfnPartitionStorageDescriptorPropertyToCloudFormation(properties.storageDescriptor),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnPartitionPartitionInputPropertyFromCloudFormation(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("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addPropertyResult("storageDescriptor","StorageDescriptor",properties.StorageDescriptor!=null?CfnPartitionStorageDescriptorPropertyFromCloudFormation(properties.StorageDescriptor):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPartitionPropsValidator(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("catalogId",cdk().requiredValidator)(properties.catalogId)),errors.collect(cdk().propertyValidator("catalogId",cdk().validateString)(properties.catalogId)),errors.collect(cdk().propertyValidator("databaseName",cdk().requiredValidator)(properties.databaseName)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("partitionInput",cdk().requiredValidator)(properties.partitionInput)),errors.collect(cdk().propertyValidator("partitionInput",CfnPartitionPartitionInputPropertyValidator)(properties.partitionInput)),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 "CfnPartitionProps"')}function convertCfnPartitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPartitionPropsValidator(properties).assertSuccess(),{CatalogId:cdk().stringToCloudFormation(properties.catalogId),DatabaseName:cdk().stringToCloudFormation(properties.databaseName),PartitionInput:convertCfnPartitionPartitionInputPropertyToCloudFormation(properties.partitionInput),TableName:cdk().stringToCloudFormation(properties.tableName)}):properties}function CfnPartitionPropsFromCloudFormation(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("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("partitionInput","PartitionInput",properties.PartitionInput!=null?CfnPartitionPartitionInputPropertyFromCloudFormation(properties.PartitionInput):void 0),ret.addPropertyResult("tableName","TableName",properties.TableName!=null?cfn_parse().FromCloudFormation.getString(properties.TableName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRegistry extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnRegistry",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Registry";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRegistryPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnRegistry(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnRegistry(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRegistry.CFN_RESOURCE_TYPE_NAME}static arnForRegistry(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_glue_IRegistryRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForRegistry),error}return resource.registryRef.registryArn}_description;_name;tags;_tagsRaw;cfnPropertyNames={description:"Description",name:"Name",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnRegistry.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnRegistryProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRegistry),error}cdk().requireProperty(props,"name",this),this._description=props.description,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Glue::Registry",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get registryRef(){return{registryArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,name:this._name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnRegistry.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRegistryPropsToCloudFormation(props)}}exports.CfnRegistry=CfnRegistry;function CfnRegistryPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnRegistryProps"')}function convertCfnRegistryPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRegistryPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnRegistryPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSchema extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnSchema",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Schema";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSchemaPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnSchema(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnSchema(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSchema.CFN_RESOURCE_TYPE_NAME}static arnForSchema(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_glue_ISchemaRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForSchema),error}return resource.schemaRef.schemaArn}_checkpointVersion;_compatibility;_dataFormat;_description;_name;_registry;_schemaDefinition;tags;_tagsRaw;cfnPropertyNames={checkpointVersion:"CheckpointVersion",compatibility:"Compatibility",dataFormat:"DataFormat",description:"Description",name:"Name",registry:"Registry",schemaDefinition:"SchemaDefinition",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnSchema.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnSchemaProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSchema),error}cdk().requireProperty(props,"compatibility",this),cdk().requireProperty(props,"dataFormat",this),cdk().requireProperty(props,"name",this),this._checkpointVersion=props.checkpointVersion,this._compatibility=props.compatibility,this._dataFormat=props.dataFormat,this._description=props.description,this._name=props.name,this._registry=props.registry,this._schemaDefinition=props.schemaDefinition,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Glue::Schema",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get schemaRef(){return{schemaArn:this.ref}}get checkpointVersion(){return this._checkpointVersion}set checkpointVersion(value){cdk().traceProperty(this.node,"CheckpointVersion"),this._checkpointVersion=value}get compatibility(){return this._compatibility}set compatibility(value){cdk().traceProperty(this.node,"Compatibility"),this._compatibility=value}get dataFormat(){return this._dataFormat}set dataFormat(value){cdk().traceProperty(this.node,"DataFormat"),this._dataFormat=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get registry(){return this._registry}set registry(value){cdk().traceProperty(this.node,"Registry"),this._registry=value}get schemaDefinition(){return this._schemaDefinition}set schemaDefinition(value){cdk().traceProperty(this.node,"SchemaDefinition"),this._schemaDefinition=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrInitialSchemaVersionId(){return cdk().Token.asString(this.getAtt("InitialSchemaVersionId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{checkpointVersion:this._checkpointVersion,compatibility:this._compatibility,dataFormat:this._dataFormat,description:this._description,name:this._name,registry:this._registry,schemaDefinition:this._schemaDefinition,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",CfnSchema.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSchemaPropsToCloudFormation(props)}}exports.CfnSchema=CfnSchema;function CfnSchemaRegistryPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "RegistryProperty"')}function convertCfnSchemaRegistryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSchemaRegistryPropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnSchemaRegistryPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSchemaSchemaVersionPropertyValidator(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("isLatest",cdk().validateBoolean)(properties.isLatest)),errors.collect(cdk().propertyValidator("versionNumber",cdk().validateNumber)(properties.versionNumber)),errors.wrap('supplied properties not correct for "SchemaVersionProperty"')}function convertCfnSchemaSchemaVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSchemaSchemaVersionPropertyValidator(properties).assertSuccess(),{IsLatest:cdk().booleanToCloudFormation(properties.isLatest),VersionNumber:cdk().numberToCloudFormation(properties.versionNumber)}):properties}function CfnSchemaSchemaVersionPropertyFromCloudFormation(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("isLatest","IsLatest",properties.IsLatest!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IsLatest):void 0),ret.addPropertyResult("versionNumber","VersionNumber",properties.VersionNumber!=null?cfn_parse().FromCloudFormation.getNumber(properties.VersionNumber):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSchemaPropsValidator(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("checkpointVersion",CfnSchemaSchemaVersionPropertyValidator)(properties.checkpointVersion)),errors.collect(cdk().propertyValidator("compatibility",cdk().requiredValidator)(properties.compatibility)),errors.collect(cdk().propertyValidator("compatibility",cdk().validateString)(properties.compatibility)),errors.collect(cdk().propertyValidator("dataFormat",cdk().requiredValidator)(properties.dataFormat)),errors.collect(cdk().propertyValidator("dataFormat",cdk().validateString)(properties.dataFormat)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("registry",CfnSchemaRegistryPropertyValidator)(properties.registry)),errors.collect(cdk().propertyValidator("schemaDefinition",cdk().validateString)(properties.schemaDefinition)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnSchemaProps"')}function convertCfnSchemaPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSchemaPropsValidator(properties).assertSuccess(),{CheckpointVersion:convertCfnSchemaSchemaVersionPropertyToCloudFormation(properties.checkpointVersion),Compatibility:cdk().stringToCloudFormation(properties.compatibility),DataFormat:cdk().stringToCloudFormation(properties.dataFormat),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Registry:convertCfnSchemaRegistryPropertyToCloudFormation(properties.registry),SchemaDefinition:cdk().stringToCloudFormation(properties.schemaDefinition),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnSchemaPropsFromCloudFormation(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("checkpointVersion","CheckpointVersion",properties.CheckpointVersion!=null?CfnSchemaSchemaVersionPropertyFromCloudFormation(properties.CheckpointVersion):void 0),ret.addPropertyResult("compatibility","Compatibility",properties.Compatibility!=null?cfn_parse().FromCloudFormation.getString(properties.Compatibility):void 0),ret.addPropertyResult("dataFormat","DataFormat",properties.DataFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DataFormat):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("registry","Registry",properties.Registry!=null?CfnSchemaRegistryPropertyFromCloudFormation(properties.Registry):void 0),ret.addPropertyResult("schemaDefinition","SchemaDefinition",properties.SchemaDefinition!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaDefinition):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 CfnSchemaVersion extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnSchemaVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::SchemaVersion";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSchemaVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnSchemaVersion(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnSchemaVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSchemaVersion.CFN_RESOURCE_TYPE_NAME}_schema;_schemaDefinition;cfnPropertyNames={schema:"Schema",schemaDefinition:"SchemaDefinition"};constructor(scope,id,props){super(scope,id,{type:CfnSchemaVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnSchemaVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSchemaVersion),error}cdk().requireProperty(props,"schema",this),cdk().requireProperty(props,"schemaDefinition",this),this._schema=props.schema,this._schemaDefinition=props.schemaDefinition}get schemaVersionRef(){return{versionId:this.ref}}get schema(){return this._schema}set schema(value){cdk().traceProperty(this.node,"Schema"),this._schema=value}get schemaDefinition(){return this._schemaDefinition}set schemaDefinition(value){cdk().traceProperty(this.node,"SchemaDefinition"),this._schemaDefinition=value}get attrVersionId(){return cdk().Token.asString(this.getAtt("VersionId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{schema:this._schema,schemaDefinition:this._schemaDefinition}}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",CfnSchemaVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSchemaVersionPropsToCloudFormation(props)}}exports.CfnSchemaVersion=CfnSchemaVersion;function CfnSchemaVersionSchemaPropertyValidator(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("registryName",cdk().validateString)(properties.registryName)),errors.collect(cdk().propertyValidator("schemaArn",cdk().validateString)(properties.schemaArn)),errors.collect(cdk().propertyValidator("schemaName",cdk().validateString)(properties.schemaName)),errors.wrap('supplied properties not correct for "SchemaProperty"')}function convertCfnSchemaVersionSchemaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSchemaVersionSchemaPropertyValidator(properties).assertSuccess(),{RegistryName:cdk().stringToCloudFormation(properties.registryName),SchemaArn:cdk().stringToCloudFormation(properties.schemaArn),SchemaName:cdk().stringToCloudFormation(properties.schemaName)}):properties}function CfnSchemaVersionSchemaPropertyFromCloudFormation(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("registryName","RegistryName",properties.RegistryName!=null?cfn_parse().FromCloudFormation.getString(properties.RegistryName):void 0),ret.addPropertyResult("schemaArn","SchemaArn",properties.SchemaArn!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaArn):void 0),ret.addPropertyResult("schemaName","SchemaName",properties.SchemaName!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSchemaVersionPropsValidator(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("schema",cdk().requiredValidator)(properties.schema)),errors.collect(cdk().propertyValidator("schema",CfnSchemaVersionSchemaPropertyValidator)(properties.schema)),errors.collect(cdk().propertyValidator("schemaDefinition",cdk().requiredValidator)(properties.schemaDefinition)),errors.collect(cdk().propertyValidator("schemaDefinition",cdk().validateString)(properties.schemaDefinition)),errors.wrap('supplied properties not correct for "CfnSchemaVersionProps"')}function convertCfnSchemaVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSchemaVersionPropsValidator(properties).assertSuccess(),{Schema:convertCfnSchemaVersionSchemaPropertyToCloudFormation(properties.schema),SchemaDefinition:cdk().stringToCloudFormation(properties.schemaDefinition)}):properties}function CfnSchemaVersionPropsFromCloudFormation(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("schema","Schema",properties.Schema!=null?CfnSchemaVersionSchemaPropertyFromCloudFormation(properties.Schema):void 0),ret.addPropertyResult("schemaDefinition","SchemaDefinition",properties.SchemaDefinition!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaDefinition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSchemaVersionMetadata extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnSchemaVersionMetadata",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::SchemaVersionMetadata";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSchemaVersionMetadataPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnSchemaVersionMetadata(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnSchemaVersionMetadata(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSchemaVersionMetadata.CFN_RESOURCE_TYPE_NAME}_key;_schemaVersionId;_value;cfnPropertyNames={key:"Key",schemaVersionId:"SchemaVersionId",value:"Value"};constructor(scope,id,props){super(scope,id,{type:CfnSchemaVersionMetadata.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnSchemaVersionMetadataProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSchemaVersionMetadata),error}cdk().requireProperty(props,"key",this),cdk().requireProperty(props,"schemaVersionId",this),cdk().requireProperty(props,"value",this),this._key=props.key,this._schemaVersionId=cdk().getRefProperty(props.schemaVersionId?.schemaVersionRef,"versionId")??cdk().ensureStringOrUndefined(props.schemaVersionId,"schemaVersionId","glue.ISchemaVersionRef | string"),this._value=props.value}get schemaVersionMetadataRef(){return{schemaVersionId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),key:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),value:cdk().Fn.select(2,cdk().Fn.split("|",this.ref))}}get key(){return this._key}set key(value){cdk().traceProperty(this.node,"Key"),this._key=value}get schemaVersionId(){return this._schemaVersionId}set schemaVersionId(value){cdk().traceProperty(this.node,"SchemaVersionId"),this._schemaVersionId=value}get value(){return this._value}set value(value){cdk().traceProperty(this.node,"Value"),this._value=value}get cfnProperties(){return{key:this._key,schemaVersionId:this._schemaVersionId,value:this._value}}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",CfnSchemaVersionMetadata.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSchemaVersionMetadataPropsToCloudFormation(props)}}exports.CfnSchemaVersionMetadata=CfnSchemaVersionMetadata;function CfnSchemaVersionMetadataPropsValidator(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("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("schemaVersionId",cdk().requiredValidator)(properties.schemaVersionId)),errors.collect(cdk().propertyValidator("schemaVersionId",cdk().validateString)(properties.schemaVersionId)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "CfnSchemaVersionMetadataProps"')}function convertCfnSchemaVersionMetadataPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSchemaVersionMetadataPropsValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),SchemaVersionId:cdk().stringToCloudFormation(properties.schemaVersionId),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnSchemaVersionMetadataPropsFromCloudFormation(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("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("schemaVersionId","SchemaVersionId",properties.SchemaVersionId!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaVersionId):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSecurityConfiguration extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnSecurityConfiguration",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::SecurityConfiguration";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSecurityConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnSecurityConfiguration(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnSecurityConfiguration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSecurityConfiguration.CFN_RESOURCE_TYPE_NAME}_encryptionConfiguration;_name;cfnPropertyNames={encryptionConfiguration:"EncryptionConfiguration",name:"Name"};constructor(scope,id,props){super(scope,id,{type:CfnSecurityConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnSecurityConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSecurityConfiguration),error}cdk().requireProperty(props,"encryptionConfiguration",this),cdk().requireProperty(props,"name",this),this._encryptionConfiguration=props.encryptionConfiguration,this._name=props.name}get securityConfigurationRef(){return{securityConfigurationId:this.ref}}get encryptionConfiguration(){return this._encryptionConfiguration}set encryptionConfiguration(value){cdk().traceProperty(this.node,"EncryptionConfiguration"),this._encryptionConfiguration=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{encryptionConfiguration:this._encryptionConfiguration,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",CfnSecurityConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSecurityConfigurationPropsToCloudFormation(props)}}exports.CfnSecurityConfiguration=CfnSecurityConfiguration;function CfnSecurityConfigurationS3EncryptionPropertyValidator(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("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("s3EncryptionMode",cdk().validateString)(properties.s3EncryptionMode)),errors.wrap('supplied properties not correct for "S3EncryptionProperty"')}function convertCfnSecurityConfigurationS3EncryptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityConfigurationS3EncryptionPropertyValidator(properties).assertSuccess(),{KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),S3EncryptionMode:cdk().stringToCloudFormation(properties.s3EncryptionMode)}):properties}function CfnSecurityConfigurationS3EncryptionPropertyFromCloudFormation(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("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("s3EncryptionMode","S3EncryptionMode",properties.S3EncryptionMode!=null?cfn_parse().FromCloudFormation.getString(properties.S3EncryptionMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityConfigurationCloudWatchEncryptionPropertyValidator(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("cloudWatchEncryptionMode",cdk().validateString)(properties.cloudWatchEncryptionMode)),errors.collect(cdk().propertyValidator("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.wrap('supplied properties not correct for "CloudWatchEncryptionProperty"')}function convertCfnSecurityConfigurationCloudWatchEncryptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityConfigurationCloudWatchEncryptionPropertyValidator(properties).assertSuccess(),{CloudWatchEncryptionMode:cdk().stringToCloudFormation(properties.cloudWatchEncryptionMode),KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn)}):properties}function CfnSecurityConfigurationCloudWatchEncryptionPropertyFromCloudFormation(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("cloudWatchEncryptionMode","CloudWatchEncryptionMode",properties.CloudWatchEncryptionMode!=null?cfn_parse().FromCloudFormation.getString(properties.CloudWatchEncryptionMode):void 0),ret.addPropertyResult("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityConfigurationJobBookmarksEncryptionPropertyValidator(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("jobBookmarksEncryptionMode",cdk().validateString)(properties.jobBookmarksEncryptionMode)),errors.collect(cdk().propertyValidator("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.wrap('supplied properties not correct for "JobBookmarksEncryptionProperty"')}function convertCfnSecurityConfigurationJobBookmarksEncryptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityConfigurationJobBookmarksEncryptionPropertyValidator(properties).assertSuccess(),{JobBookmarksEncryptionMode:cdk().stringToCloudFormation(properties.jobBookmarksEncryptionMode),KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn)}):properties}function CfnSecurityConfigurationJobBookmarksEncryptionPropertyFromCloudFormation(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("jobBookmarksEncryptionMode","JobBookmarksEncryptionMode",properties.JobBookmarksEncryptionMode!=null?cfn_parse().FromCloudFormation.getString(properties.JobBookmarksEncryptionMode):void 0),ret.addPropertyResult("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityConfigurationEncryptionConfigurationPropertyValidator(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("cloudWatchEncryption",CfnSecurityConfigurationCloudWatchEncryptionPropertyValidator)(properties.cloudWatchEncryption)),errors.collect(cdk().propertyValidator("jobBookmarksEncryption",CfnSecurityConfigurationJobBookmarksEncryptionPropertyValidator)(properties.jobBookmarksEncryption)),errors.collect(cdk().propertyValidator("s3Encryptions",cdk().listValidator(CfnSecurityConfigurationS3EncryptionPropertyValidator))(properties.s3Encryptions)),errors.wrap('supplied properties not correct for "EncryptionConfigurationProperty"')}function convertCfnSecurityConfigurationEncryptionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityConfigurationEncryptionConfigurationPropertyValidator(properties).assertSuccess(),{CloudWatchEncryption:convertCfnSecurityConfigurationCloudWatchEncryptionPropertyToCloudFormation(properties.cloudWatchEncryption),JobBookmarksEncryption:convertCfnSecurityConfigurationJobBookmarksEncryptionPropertyToCloudFormation(properties.jobBookmarksEncryption),S3Encryptions:cdk().listMapper(convertCfnSecurityConfigurationS3EncryptionPropertyToCloudFormation)(properties.s3Encryptions)}):properties}function CfnSecurityConfigurationEncryptionConfigurationPropertyFromCloudFormation(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("cloudWatchEncryption","CloudWatchEncryption",properties.CloudWatchEncryption!=null?CfnSecurityConfigurationCloudWatchEncryptionPropertyFromCloudFormation(properties.CloudWatchEncryption):void 0),ret.addPropertyResult("jobBookmarksEncryption","JobBookmarksEncryption",properties.JobBookmarksEncryption!=null?CfnSecurityConfigurationJobBookmarksEncryptionPropertyFromCloudFormation(properties.JobBookmarksEncryption):void 0),ret.addPropertyResult("s3Encryptions","S3Encryptions",properties.S3Encryptions!=null?cfn_parse().FromCloudFormation.getArray(CfnSecurityConfigurationS3EncryptionPropertyFromCloudFormation)(properties.S3Encryptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityConfigurationPropsValidator(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("encryptionConfiguration",cdk().requiredValidator)(properties.encryptionConfiguration)),errors.collect(cdk().propertyValidator("encryptionConfiguration",CfnSecurityConfigurationEncryptionConfigurationPropertyValidator)(properties.encryptionConfiguration)),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 "CfnSecurityConfigurationProps"')}function convertCfnSecurityConfigurationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityConfigurationPropsValidator(properties).assertSuccess(),{EncryptionConfiguration:convertCfnSecurityConfigurationEncryptionConfigurationPropertyToCloudFormation(properties.encryptionConfiguration),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnSecurityConfigurationPropsFromCloudFormation(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("encryptionConfiguration","EncryptionConfiguration",properties.EncryptionConfiguration!=null?CfnSecurityConfigurationEncryptionConfigurationPropertyFromCloudFormation(properties.EncryptionConfiguration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTable extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnTable",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Table";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTablePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTable(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnTable(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTable.CFN_RESOURCE_TYPE_NAME}_catalogId;_databaseName;_openTableFormatInput;_tableInput;cfnPropertyNames={catalogId:"CatalogId",databaseName:"DatabaseName",openTableFormatInput:"OpenTableFormatInput",tableInput:"TableInput"};constructor(scope,id,props){super(scope,id,{type:CfnTable.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnTableProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTable),error}cdk().requireProperty(props,"catalogId",this),cdk().requireProperty(props,"databaseName",this),cdk().requireProperty(props,"tableInput",this),this._catalogId=props.catalogId,this._databaseName=props.databaseName,this._openTableFormatInput=props.openTableFormatInput,this._tableInput=props.tableInput}get tableRef(){return{tableId:this.ref}}get catalogId(){return this._catalogId}set catalogId(value){cdk().traceProperty(this.node,"CatalogId"),this._catalogId=value}get databaseName(){return this._databaseName}set databaseName(value){cdk().traceProperty(this.node,"DatabaseName"),this._databaseName=value}get openTableFormatInput(){return this._openTableFormatInput}set openTableFormatInput(value){cdk().traceProperty(this.node,"OpenTableFormatInput"),this._openTableFormatInput=value}get tableInput(){return this._tableInput}set tableInput(value){cdk().traceProperty(this.node,"TableInput"),this._tableInput=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{catalogId:this._catalogId,databaseName:this._databaseName,openTableFormatInput:this._openTableFormatInput,tableInput:this._tableInput}}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",CfnTable.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTablePropsToCloudFormation(props)}}exports.CfnTable=CfnTable;function CfnTableColumnPropertyValidator(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("comment",cdk().validateString)(properties.comment)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ColumnProperty"')}function convertCfnTableColumnPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableColumnPropertyValidator(properties).assertSuccess(),{Comment:cdk().stringToCloudFormation(properties.comment),Name:cdk().stringToCloudFormation(properties.name),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTableColumnPropertyFromCloudFormation(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("comment","Comment",properties.Comment!=null?cfn_parse().FromCloudFormation.getString(properties.Comment):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableSerdeInfoPropertyValidator(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("parameters",cdk().validateObject)(properties.parameters)),errors.collect(cdk().propertyValidator("serializationLibrary",cdk().validateString)(properties.serializationLibrary)),errors.wrap('supplied properties not correct for "SerdeInfoProperty"')}function convertCfnTableSerdeInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableSerdeInfoPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Parameters:cdk().objectToCloudFormation(properties.parameters),SerializationLibrary:cdk().stringToCloudFormation(properties.serializationLibrary)}):properties}function CfnTableSerdeInfoPropertyFromCloudFormation(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("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addPropertyResult("serializationLibrary","SerializationLibrary",properties.SerializationLibrary!=null?cfn_parse().FromCloudFormation.getString(properties.SerializationLibrary):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableOrderPropertyValidator(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("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",cdk().validateString)(properties.column)),errors.collect(cdk().propertyValidator("sortOrder",cdk().requiredValidator)(properties.sortOrder)),errors.collect(cdk().propertyValidator("sortOrder",cdk().validateNumber)(properties.sortOrder)),errors.wrap('supplied properties not correct for "OrderProperty"')}function convertCfnTableOrderPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableOrderPropertyValidator(properties).assertSuccess(),{Column:cdk().stringToCloudFormation(properties.column),SortOrder:cdk().numberToCloudFormation(properties.sortOrder)}):properties}function CfnTableOrderPropertyFromCloudFormation(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("column","Column",properties.Column!=null?cfn_parse().FromCloudFormation.getString(properties.Column):void 0),ret.addPropertyResult("sortOrder","SortOrder",properties.SortOrder!=null?cfn_parse().FromCloudFormation.getNumber(properties.SortOrder):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableSchemaIdPropertyValidator(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("registryName",cdk().validateString)(properties.registryName)),errors.collect(cdk().propertyValidator("schemaArn",cdk().validateString)(properties.schemaArn)),errors.collect(cdk().propertyValidator("schemaName",cdk().validateString)(properties.schemaName)),errors.wrap('supplied properties not correct for "SchemaIdProperty"')}function convertCfnTableSchemaIdPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableSchemaIdPropertyValidator(properties).assertSuccess(),{RegistryName:cdk().stringToCloudFormation(properties.registryName),SchemaArn:cdk().stringToCloudFormation(properties.schemaArn),SchemaName:cdk().stringToCloudFormation(properties.schemaName)}):properties}function CfnTableSchemaIdPropertyFromCloudFormation(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("registryName","RegistryName",properties.RegistryName!=null?cfn_parse().FromCloudFormation.getString(properties.RegistryName):void 0),ret.addPropertyResult("schemaArn","SchemaArn",properties.SchemaArn!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaArn):void 0),ret.addPropertyResult("schemaName","SchemaName",properties.SchemaName!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableSchemaReferencePropertyValidator(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("schemaId",CfnTableSchemaIdPropertyValidator)(properties.schemaId)),errors.collect(cdk().propertyValidator("schemaVersionId",cdk().validateString)(properties.schemaVersionId)),errors.collect(cdk().propertyValidator("schemaVersionNumber",cdk().validateNumber)(properties.schemaVersionNumber)),errors.wrap('supplied properties not correct for "SchemaReferenceProperty"')}function convertCfnTableSchemaReferencePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableSchemaReferencePropertyValidator(properties).assertSuccess(),{SchemaId:convertCfnTableSchemaIdPropertyToCloudFormation(properties.schemaId),SchemaVersionId:cdk().stringToCloudFormation(properties.schemaVersionId),SchemaVersionNumber:cdk().numberToCloudFormation(properties.schemaVersionNumber)}):properties}function CfnTableSchemaReferencePropertyFromCloudFormation(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("schemaId","SchemaId",properties.SchemaId!=null?CfnTableSchemaIdPropertyFromCloudFormation(properties.SchemaId):void 0),ret.addPropertyResult("schemaVersionId","SchemaVersionId",properties.SchemaVersionId!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaVersionId):void 0),ret.addPropertyResult("schemaVersionNumber","SchemaVersionNumber",properties.SchemaVersionNumber!=null?cfn_parse().FromCloudFormation.getNumber(properties.SchemaVersionNumber):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableSkewedInfoPropertyValidator(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("skewedColumnNames",cdk().listValidator(cdk().validateString))(properties.skewedColumnNames)),errors.collect(cdk().propertyValidator("skewedColumnValueLocationMaps",cdk().validateObject)(properties.skewedColumnValueLocationMaps)),errors.collect(cdk().propertyValidator("skewedColumnValues",cdk().listValidator(cdk().validateString))(properties.skewedColumnValues)),errors.wrap('supplied properties not correct for "SkewedInfoProperty"')}function convertCfnTableSkewedInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableSkewedInfoPropertyValidator(properties).assertSuccess(),{SkewedColumnNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.skewedColumnNames),SkewedColumnValueLocationMaps:cdk().objectToCloudFormation(properties.skewedColumnValueLocationMaps),SkewedColumnValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.skewedColumnValues)}):properties}function CfnTableSkewedInfoPropertyFromCloudFormation(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("skewedColumnNames","SkewedColumnNames",properties.SkewedColumnNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SkewedColumnNames):void 0),ret.addPropertyResult("skewedColumnValueLocationMaps","SkewedColumnValueLocationMaps",properties.SkewedColumnValueLocationMaps!=null?cfn_parse().FromCloudFormation.getAny(properties.SkewedColumnValueLocationMaps):void 0),ret.addPropertyResult("skewedColumnValues","SkewedColumnValues",properties.SkewedColumnValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SkewedColumnValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableStorageDescriptorPropertyValidator(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("bucketColumns",cdk().listValidator(cdk().validateString))(properties.bucketColumns)),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnTableColumnPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("compressed",cdk().validateBoolean)(properties.compressed)),errors.collect(cdk().propertyValidator("inputFormat",cdk().validateString)(properties.inputFormat)),errors.collect(cdk().propertyValidator("location",cdk().validateString)(properties.location)),errors.collect(cdk().propertyValidator("numberOfBuckets",cdk().validateNumber)(properties.numberOfBuckets)),errors.collect(cdk().propertyValidator("outputFormat",cdk().validateString)(properties.outputFormat)),errors.collect(cdk().propertyValidator("parameters",cdk().validateObject)(properties.parameters)),errors.collect(cdk().propertyValidator("schemaReference",CfnTableSchemaReferencePropertyValidator)(properties.schemaReference)),errors.collect(cdk().propertyValidator("serdeInfo",CfnTableSerdeInfoPropertyValidator)(properties.serdeInfo)),errors.collect(cdk().propertyValidator("skewedInfo",CfnTableSkewedInfoPropertyValidator)(properties.skewedInfo)),errors.collect(cdk().propertyValidator("sortColumns",cdk().listValidator(CfnTableOrderPropertyValidator))(properties.sortColumns)),errors.collect(cdk().propertyValidator("storedAsSubDirectories",cdk().validateBoolean)(properties.storedAsSubDirectories)),errors.wrap('supplied properties not correct for "StorageDescriptorProperty"')}function convertCfnTableStorageDescriptorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableStorageDescriptorPropertyValidator(properties).assertSuccess(),{BucketColumns:cdk().listMapper(cdk().stringToCloudFormation)(properties.bucketColumns),Columns:cdk().listMapper(convertCfnTableColumnPropertyToCloudFormation)(properties.columns),Compressed:cdk().booleanToCloudFormation(properties.compressed),InputFormat:cdk().stringToCloudFormation(properties.inputFormat),Location:cdk().stringToCloudFormation(properties.location),NumberOfBuckets:cdk().numberToCloudFormation(properties.numberOfBuckets),OutputFormat:cdk().stringToCloudFormation(properties.outputFormat),Parameters:cdk().objectToCloudFormation(properties.parameters),SchemaReference:convertCfnTableSchemaReferencePropertyToCloudFormation(properties.schemaReference),SerdeInfo:convertCfnTableSerdeInfoPropertyToCloudFormation(properties.serdeInfo),SkewedInfo:convertCfnTableSkewedInfoPropertyToCloudFormation(properties.skewedInfo),SortColumns:cdk().listMapper(convertCfnTableOrderPropertyToCloudFormation)(properties.sortColumns),StoredAsSubDirectories:cdk().booleanToCloudFormation(properties.storedAsSubDirectories)}):properties}function CfnTableStorageDescriptorPropertyFromCloudFormation(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("bucketColumns","BucketColumns",properties.BucketColumns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.BucketColumns):void 0),ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnTableColumnPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("compressed","Compressed",properties.Compressed!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Compressed):void 0),ret.addPropertyResult("inputFormat","InputFormat",properties.InputFormat!=null?cfn_parse().FromCloudFormation.getString(properties.InputFormat):void 0),ret.addPropertyResult("location","Location",properties.Location!=null?cfn_parse().FromCloudFormation.getString(properties.Location):void 0),ret.addPropertyResult("numberOfBuckets","NumberOfBuckets",properties.NumberOfBuckets!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfBuckets):void 0),ret.addPropertyResult("outputFormat","OutputFormat",properties.OutputFormat!=null?cfn_parse().FromCloudFormation.getString(properties.OutputFormat):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addPropertyResult("schemaReference","SchemaReference",properties.SchemaReference!=null?CfnTableSchemaReferencePropertyFromCloudFormation(properties.SchemaReference):void 0),ret.addPropertyResult("serdeInfo","SerdeInfo",properties.SerdeInfo!=null?CfnTableSerdeInfoPropertyFromCloudFormation(properties.SerdeInfo):void 0),ret.addPropertyResult("skewedInfo","SkewedInfo",properties.SkewedInfo!=null?CfnTableSkewedInfoPropertyFromCloudFormation(properties.SkewedInfo):void 0),ret.addPropertyResult("sortColumns","SortColumns",properties.SortColumns!=null?cfn_parse().FromCloudFormation.getArray(CfnTableOrderPropertyFromCloudFormation)(properties.SortColumns):void 0),ret.addPropertyResult("storedAsSubDirectories","StoredAsSubDirectories",properties.StoredAsSubDirectories!=null?cfn_parse().FromCloudFormation.getBoolean(properties.StoredAsSubDirectories):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableTableIdentifierPropertyValidator(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("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("region",cdk().validateString)(properties.region)),errors.wrap('supplied properties not correct for "TableIdentifierProperty"')}function convertCfnTableTableIdentifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableTableIdentifierPropertyValidator(properties).assertSuccess(),{CatalogId:cdk().stringToCloudFormation(properties.catalogId),DatabaseName:cdk().stringToCloudFormation(properties.databaseName),Name:cdk().stringToCloudFormation(properties.name),Region:cdk().stringToCloudFormation(properties.region)}):properties}function CfnTableTableIdentifierPropertyFromCloudFormation(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("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("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableTableInputPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("owner",cdk().validateString)(properties.owner)),errors.collect(cdk().propertyValidator("parameters",cdk().validateObject)(properties.parameters)),errors.collect(cdk().propertyValidator("partitionKeys",cdk().listValidator(CfnTableColumnPropertyValidator))(properties.partitionKeys)),errors.collect(cdk().propertyValidator("retention",cdk().validateNumber)(properties.retention)),errors.collect(cdk().propertyValidator("storageDescriptor",CfnTableStorageDescriptorPropertyValidator)(properties.storageDescriptor)),errors.collect(cdk().propertyValidator("tableType",cdk().validateString)(properties.tableType)),errors.collect(cdk().propertyValidator("targetTable",CfnTableTableIdentifierPropertyValidator)(properties.targetTable)),errors.collect(cdk().propertyValidator("viewExpandedText",cdk().validateString)(properties.viewExpandedText)),errors.collect(cdk().propertyValidator("viewOriginalText",cdk().validateString)(properties.viewOriginalText)),errors.wrap('supplied properties not correct for "TableInputProperty"')}function convertCfnTableTableInputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableTableInputPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Owner:cdk().stringToCloudFormation(properties.owner),Parameters:cdk().objectToCloudFormation(properties.parameters),PartitionKeys:cdk().listMapper(convertCfnTableColumnPropertyToCloudFormation)(properties.partitionKeys),Retention:cdk().numberToCloudFormation(properties.retention),StorageDescriptor:convertCfnTableStorageDescriptorPropertyToCloudFormation(properties.storageDescriptor),TableType:cdk().stringToCloudFormation(properties.tableType),TargetTable:convertCfnTableTableIdentifierPropertyToCloudFormation(properties.targetTable),ViewExpandedText:cdk().stringToCloudFormation(properties.viewExpandedText),ViewOriginalText:cdk().stringToCloudFormation(properties.viewOriginalText)}):properties}function CfnTableTableInputPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("owner","Owner",properties.Owner!=null?cfn_parse().FromCloudFormation.getString(properties.Owner):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addPropertyResult("partitionKeys","PartitionKeys",properties.PartitionKeys!=null?cfn_parse().FromCloudFormation.getArray(CfnTableColumnPropertyFromCloudFormation)(properties.PartitionKeys):void 0),ret.addPropertyResult("retention","Retention",properties.Retention!=null?cfn_parse().FromCloudFormation.getNumber(properties.Retention):void 0),ret.addPropertyResult("storageDescriptor","StorageDescriptor",properties.StorageDescriptor!=null?CfnTableStorageDescriptorPropertyFromCloudFormation(properties.StorageDescriptor):void 0),ret.addPropertyResult("tableType","TableType",properties.TableType!=null?cfn_parse().FromCloudFormation.getString(properties.TableType):void 0),ret.addPropertyResult("targetTable","TargetTable",properties.TargetTable!=null?CfnTableTableIdentifierPropertyFromCloudFormation(properties.TargetTable):void 0),ret.addPropertyResult("viewExpandedText","ViewExpandedText",properties.ViewExpandedText!=null?cfn_parse().FromCloudFormation.getString(properties.ViewExpandedText):void 0),ret.addPropertyResult("viewOriginalText","ViewOriginalText",properties.ViewOriginalText!=null?cfn_parse().FromCloudFormation.getString(properties.ViewOriginalText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableIcebergInputPropertyValidator(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("metadataOperation",cdk().validateString)(properties.metadataOperation)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "IcebergInputProperty"')}function convertCfnTableIcebergInputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableIcebergInputPropertyValidator(properties).assertSuccess(),{MetadataOperation:cdk().stringToCloudFormation(properties.metadataOperation),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnTableIcebergInputPropertyFromCloudFormation(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("metadataOperation","MetadataOperation",properties.MetadataOperation!=null?cfn_parse().FromCloudFormation.getString(properties.MetadataOperation):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableOpenTableFormatInputPropertyValidator(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("icebergInput",CfnTableIcebergInputPropertyValidator)(properties.icebergInput)),errors.wrap('supplied properties not correct for "OpenTableFormatInputProperty"')}function convertCfnTableOpenTableFormatInputPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableOpenTableFormatInputPropertyValidator(properties).assertSuccess(),{IcebergInput:convertCfnTableIcebergInputPropertyToCloudFormation(properties.icebergInput)}):properties}function CfnTableOpenTableFormatInputPropertyFromCloudFormation(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("icebergInput","IcebergInput",properties.IcebergInput!=null?CfnTableIcebergInputPropertyFromCloudFormation(properties.IcebergInput):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTablePropsValidator(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("catalogId",cdk().requiredValidator)(properties.catalogId)),errors.collect(cdk().propertyValidator("catalogId",cdk().validateString)(properties.catalogId)),errors.collect(cdk().propertyValidator("databaseName",cdk().requiredValidator)(properties.databaseName)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("openTableFormatInput",CfnTableOpenTableFormatInputPropertyValidator)(properties.openTableFormatInput)),errors.collect(cdk().propertyValidator("tableInput",cdk().requiredValidator)(properties.tableInput)),errors.collect(cdk().propertyValidator("tableInput",CfnTableTableInputPropertyValidator)(properties.tableInput)),errors.wrap('supplied properties not correct for "CfnTableProps"')}function convertCfnTablePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTablePropsValidator(properties).assertSuccess(),{CatalogId:cdk().stringToCloudFormation(properties.catalogId),DatabaseName:cdk().stringToCloudFormation(properties.databaseName),OpenTableFormatInput:convertCfnTableOpenTableFormatInputPropertyToCloudFormation(properties.openTableFormatInput),TableInput:convertCfnTableTableInputPropertyToCloudFormation(properties.tableInput)}):properties}function CfnTablePropsFromCloudFormation(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("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("openTableFormatInput","OpenTableFormatInput",properties.OpenTableFormatInput!=null?CfnTableOpenTableFormatInputPropertyFromCloudFormation(properties.OpenTableFormatInput):void 0),ret.addPropertyResult("tableInput","TableInput",properties.TableInput!=null?CfnTableTableInputPropertyFromCloudFormation(properties.TableInput):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTrigger extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnTrigger",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Trigger";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTriggerPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTrigger(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnTrigger(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTrigger.CFN_RESOURCE_TYPE_NAME}static fromTriggerName(scope,id,triggerName){class Import extends cdk().Resource{triggerRef;constructor(scope2,id2,triggerName2){super(scope2,id2),this.triggerRef={triggerName:triggerName2}}}return new Import(scope,id,triggerName)}static arnForTrigger(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_glue_ITriggerRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTrigger),error}return new(cfn_parse()).TemplateString("arn:${Partition}:glue:${Region}:${Account}:trigger/${TriggerName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,TriggerName:resource.triggerRef.triggerName})}_actions;_description;_eventBatchingCondition;_name;_predicate;_schedule;_startOnCreation;tags;_tagsRaw;_type;_workflowName;cfnPropertyNames={actions:"Actions",description:"Description",eventBatchingCondition:"EventBatchingCondition",name:"Name",predicate:"Predicate",schedule:"Schedule",startOnCreation:"StartOnCreation",tags:"Tags",type:"Type",workflowName:"WorkflowName"};constructor(scope,id,props){super(scope,id,{type:CfnTrigger.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnTriggerProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTrigger),error}cdk().requireProperty(props,"actions",this),cdk().requireProperty(props,"type",this),this._actions=props.actions,this._description=props.description,this._eventBatchingCondition=props.eventBatchingCondition,this._name=props.name,this._predicate=props.predicate,this._schedule=props.schedule,this._startOnCreation=props.startOnCreation,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Glue::Trigger",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._type=props.type,this._workflowName=props.workflowName}get triggerRef(){return{triggerName:this.ref}}get actions(){return this._actions}set actions(value){cdk().traceProperty(this.node,"Actions"),this._actions=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get eventBatchingCondition(){return this._eventBatchingCondition}set eventBatchingCondition(value){cdk().traceProperty(this.node,"EventBatchingCondition"),this._eventBatchingCondition=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get predicate(){return this._predicate}set predicate(value){cdk().traceProperty(this.node,"Predicate"),this._predicate=value}get schedule(){return this._schedule}set schedule(value){cdk().traceProperty(this.node,"Schedule"),this._schedule=value}get startOnCreation(){return this._startOnCreation}set startOnCreation(value){cdk().traceProperty(this.node,"StartOnCreation"),this._startOnCreation=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get workflowName(){return this._workflowName}set workflowName(value){cdk().traceProperty(this.node,"WorkflowName"),this._workflowName=value}get cfnProperties(){return{actions:this._actions,description:this._description,eventBatchingCondition:this._eventBatchingCondition,name:this._name,predicate:this._predicate,schedule:this._schedule,startOnCreation:this._startOnCreation,tags:this.tags.renderTags(),type:this._type,workflowName:this._workflowName}}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",CfnTrigger.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTriggerPropsToCloudFormation(props)}}exports.CfnTrigger=CfnTrigger;function CfnTriggerNotificationPropertyPropertyValidator(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("notifyDelayAfter",cdk().validateNumber)(properties.notifyDelayAfter)),errors.wrap('supplied properties not correct for "NotificationPropertyProperty"')}function convertCfnTriggerNotificationPropertyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTriggerNotificationPropertyPropertyValidator(properties).assertSuccess(),{NotifyDelayAfter:cdk().numberToCloudFormation(properties.notifyDelayAfter)}):properties}function CfnTriggerNotificationPropertyPropertyFromCloudFormation(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("notifyDelayAfter","NotifyDelayAfter",properties.NotifyDelayAfter!=null?cfn_parse().FromCloudFormation.getNumber(properties.NotifyDelayAfter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTriggerActionPropertyValidator(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("arguments",cdk().validateObject)(properties.arguments)),errors.collect(cdk().propertyValidator("crawlerName",cdk().validateString)(properties.crawlerName)),errors.collect(cdk().propertyValidator("jobName",cdk().validateString)(properties.jobName)),errors.collect(cdk().propertyValidator("notificationProperty",CfnTriggerNotificationPropertyPropertyValidator)(properties.notificationProperty)),errors.collect(cdk().propertyValidator("securityConfiguration",cdk().validateString)(properties.securityConfiguration)),errors.collect(cdk().propertyValidator("timeout",cdk().validateNumber)(properties.timeout)),errors.wrap('supplied properties not correct for "ActionProperty"')}function convertCfnTriggerActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTriggerActionPropertyValidator(properties).assertSuccess(),{Arguments:cdk().objectToCloudFormation(properties.arguments),CrawlerName:cdk().stringToCloudFormation(properties.crawlerName),JobName:cdk().stringToCloudFormation(properties.jobName),NotificationProperty:convertCfnTriggerNotificationPropertyPropertyToCloudFormation(properties.notificationProperty),SecurityConfiguration:cdk().stringToCloudFormation(properties.securityConfiguration),Timeout:cdk().numberToCloudFormation(properties.timeout)}):properties}function CfnTriggerActionPropertyFromCloudFormation(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("arguments","Arguments",properties.Arguments!=null?cfn_parse().FromCloudFormation.getAny(properties.Arguments):void 0),ret.addPropertyResult("crawlerName","CrawlerName",properties.CrawlerName!=null?cfn_parse().FromCloudFormation.getString(properties.CrawlerName):void 0),ret.addPropertyResult("jobName","JobName",properties.JobName!=null?cfn_parse().FromCloudFormation.getString(properties.JobName):void 0),ret.addPropertyResult("notificationProperty","NotificationProperty",properties.NotificationProperty!=null?CfnTriggerNotificationPropertyPropertyFromCloudFormation(properties.NotificationProperty):void 0),ret.addPropertyResult("securityConfiguration","SecurityConfiguration",properties.SecurityConfiguration!=null?cfn_parse().FromCloudFormation.getString(properties.SecurityConfiguration):void 0),ret.addPropertyResult("timeout","Timeout",properties.Timeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.Timeout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTriggerEventBatchingConditionPropertyValidator(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("batchSize",cdk().requiredValidator)(properties.batchSize)),errors.collect(cdk().propertyValidator("batchSize",cdk().validateNumber)(properties.batchSize)),errors.collect(cdk().propertyValidator("batchWindow",cdk().validateNumber)(properties.batchWindow)),errors.wrap('supplied properties not correct for "EventBatchingConditionProperty"')}function convertCfnTriggerEventBatchingConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTriggerEventBatchingConditionPropertyValidator(properties).assertSuccess(),{BatchSize:cdk().numberToCloudFormation(properties.batchSize),BatchWindow:cdk().numberToCloudFormation(properties.batchWindow)}):properties}function CfnTriggerEventBatchingConditionPropertyFromCloudFormation(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("batchSize","BatchSize",properties.BatchSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.BatchSize):void 0),ret.addPropertyResult("batchWindow","BatchWindow",properties.BatchWindow!=null?cfn_parse().FromCloudFormation.getNumber(properties.BatchWindow):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTriggerConditionPropertyValidator(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("crawlState",cdk().validateString)(properties.crawlState)),errors.collect(cdk().propertyValidator("crawlerName",cdk().validateString)(properties.crawlerName)),errors.collect(cdk().propertyValidator("jobName",cdk().validateString)(properties.jobName)),errors.collect(cdk().propertyValidator("logicalOperator",cdk().validateString)(properties.logicalOperator)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "ConditionProperty"')}function convertCfnTriggerConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTriggerConditionPropertyValidator(properties).assertSuccess(),{CrawlState:cdk().stringToCloudFormation(properties.crawlState),CrawlerName:cdk().stringToCloudFormation(properties.crawlerName),JobName:cdk().stringToCloudFormation(properties.jobName),LogicalOperator:cdk().stringToCloudFormation(properties.logicalOperator),State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnTriggerConditionPropertyFromCloudFormation(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("crawlerName","CrawlerName",properties.CrawlerName!=null?cfn_parse().FromCloudFormation.getString(properties.CrawlerName):void 0),ret.addPropertyResult("crawlState","CrawlState",properties.CrawlState!=null?cfn_parse().FromCloudFormation.getString(properties.CrawlState):void 0),ret.addPropertyResult("jobName","JobName",properties.JobName!=null?cfn_parse().FromCloudFormation.getString(properties.JobName):void 0),ret.addPropertyResult("logicalOperator","LogicalOperator",properties.LogicalOperator!=null?cfn_parse().FromCloudFormation.getString(properties.LogicalOperator):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTriggerPredicatePropertyValidator(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("conditions",cdk().listValidator(CfnTriggerConditionPropertyValidator))(properties.conditions)),errors.collect(cdk().propertyValidator("logical",cdk().validateString)(properties.logical)),errors.wrap('supplied properties not correct for "PredicateProperty"')}function convertCfnTriggerPredicatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTriggerPredicatePropertyValidator(properties).assertSuccess(),{Conditions:cdk().listMapper(convertCfnTriggerConditionPropertyToCloudFormation)(properties.conditions),Logical:cdk().stringToCloudFormation(properties.logical)}):properties}function CfnTriggerPredicatePropertyFromCloudFormation(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("conditions","Conditions",properties.Conditions!=null?cfn_parse().FromCloudFormation.getArray(CfnTriggerConditionPropertyFromCloudFormation)(properties.Conditions):void 0),ret.addPropertyResult("logical","Logical",properties.Logical!=null?cfn_parse().FromCloudFormation.getString(properties.Logical):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTriggerPropsValidator(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("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTriggerActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("eventBatchingCondition",CfnTriggerEventBatchingConditionPropertyValidator)(properties.eventBatchingCondition)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("predicate",CfnTriggerPredicatePropertyValidator)(properties.predicate)),errors.collect(cdk().propertyValidator("schedule",cdk().validateString)(properties.schedule)),errors.collect(cdk().propertyValidator("startOnCreation",cdk().validateBoolean)(properties.startOnCreation)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("workflowName",cdk().validateString)(properties.workflowName)),errors.wrap('supplied properties not correct for "CfnTriggerProps"')}function convertCfnTriggerPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTriggerPropsValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTriggerActionPropertyToCloudFormation)(properties.actions),Description:cdk().stringToCloudFormation(properties.description),EventBatchingCondition:convertCfnTriggerEventBatchingConditionPropertyToCloudFormation(properties.eventBatchingCondition),Name:cdk().stringToCloudFormation(properties.name),Predicate:convertCfnTriggerPredicatePropertyToCloudFormation(properties.predicate),Schedule:cdk().stringToCloudFormation(properties.schedule),StartOnCreation:cdk().booleanToCloudFormation(properties.startOnCreation),Tags:cdk().objectToCloudFormation(properties.tags),Type:cdk().stringToCloudFormation(properties.type),WorkflowName:cdk().stringToCloudFormation(properties.workflowName)}):properties}function CfnTriggerPropsFromCloudFormation(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("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTriggerActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("eventBatchingCondition","EventBatchingCondition",properties.EventBatchingCondition!=null?CfnTriggerEventBatchingConditionPropertyFromCloudFormation(properties.EventBatchingCondition):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("predicate","Predicate",properties.Predicate!=null?CfnTriggerPredicatePropertyFromCloudFormation(properties.Predicate):void 0),ret.addPropertyResult("schedule","Schedule",properties.Schedule!=null?cfn_parse().FromCloudFormation.getString(properties.Schedule):void 0),ret.addPropertyResult("startOnCreation","StartOnCreation",properties.StartOnCreation!=null?cfn_parse().FromCloudFormation.getBoolean(properties.StartOnCreation):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getAny(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("workflowName","WorkflowName",properties.WorkflowName!=null?cfn_parse().FromCloudFormation.getString(properties.WorkflowName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnWorkflow extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnWorkflow",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Workflow";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnWorkflowPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnWorkflow(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnWorkflow(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnWorkflow.CFN_RESOURCE_TYPE_NAME}static fromWorkflowName(scope,id,workflowName){class Import extends cdk().Resource{workflowRef;constructor(scope2,id2,workflowName2){super(scope2,id2),this.workflowRef={workflowName:workflowName2}}}return new Import(scope,id,workflowName)}static arnForWorkflow(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_glue_IWorkflowRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForWorkflow),error}return new(cfn_parse()).TemplateString("arn:${Partition}:glue:${Region}:${Account}:workflow/${WorkflowName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,WorkflowName:resource.workflowRef.workflowName})}_defaultRunProperties;_description;_maxConcurrentRuns;_name;tags;_tagsRaw;cfnPropertyNames={defaultRunProperties:"DefaultRunProperties",description:"Description",maxConcurrentRuns:"MaxConcurrentRuns",name:"Name",tags:"Tags"};constructor(scope,id,props={}){super(scope,id,{type:CfnWorkflow.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnWorkflowProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnWorkflow),error}this._defaultRunProperties=props.defaultRunProperties,this._description=props.description,this._maxConcurrentRuns=props.maxConcurrentRuns,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Glue::Workflow",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get workflowRef(){return{workflowName:this.ref}}get defaultRunProperties(){return this._defaultRunProperties}set defaultRunProperties(value){cdk().traceProperty(this.node,"DefaultRunProperties"),this._defaultRunProperties=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get maxConcurrentRuns(){return this._maxConcurrentRuns}set maxConcurrentRuns(value){cdk().traceProperty(this.node,"MaxConcurrentRuns"),this._maxConcurrentRuns=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{defaultRunProperties:this._defaultRunProperties,description:this._description,maxConcurrentRuns:this._maxConcurrentRuns,name:this._name,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnWorkflow.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnWorkflowPropsToCloudFormation(props)}}exports.CfnWorkflow=CfnWorkflow;function CfnWorkflowPropsValidator(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("defaultRunProperties",cdk().validateObject)(properties.defaultRunProperties)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("maxConcurrentRuns",cdk().validateNumber)(properties.maxConcurrentRuns)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.wrap('supplied properties not correct for "CfnWorkflowProps"')}function convertCfnWorkflowPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowPropsValidator(properties).assertSuccess(),{DefaultRunProperties:cdk().objectToCloudFormation(properties.defaultRunProperties),Description:cdk().stringToCloudFormation(properties.description),MaxConcurrentRuns:cdk().numberToCloudFormation(properties.maxConcurrentRuns),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().objectToCloudFormation(properties.tags)}):properties}function CfnWorkflowPropsFromCloudFormation(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("defaultRunProperties","DefaultRunProperties",properties.DefaultRunProperties!=null?cfn_parse().FromCloudFormation.getAny(properties.DefaultRunProperties):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("maxConcurrentRuns","MaxConcurrentRuns",properties.MaxConcurrentRuns!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxConcurrentRuns):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getAny(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCatalog extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnCatalog",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Catalog";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCatalogPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCatalog(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnCatalog(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCatalog.CFN_RESOURCE_TYPE_NAME}_allowFullTableExternalDataAccess;_catalogProperties;cdkTagManager;_createDatabaseDefaultPermissions;_createTableDefaultPermissions;_description;_federatedCatalog;_name;_overwriteChildResourcePermissionsWithDefault;_parameters;_tags;_targetRedshiftCatalog;cfnPropertyNames={allowFullTableExternalDataAccess:"AllowFullTableExternalDataAccess",catalogProperties:"CatalogProperties",tags:"Tags",createDatabaseDefaultPermissions:"CreateDatabaseDefaultPermissions",createTableDefaultPermissions:"CreateTableDefaultPermissions",description:"Description",federatedCatalog:"FederatedCatalog",name:"Name",overwriteChildResourcePermissionsWithDefault:"OverwriteChildResourcePermissionsWithDefault",parameters:"Parameters",targetRedshiftCatalog:"TargetRedshiftCatalog"};constructor(scope,id,props){super(scope,id,{type:CfnCatalog.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnCatalogProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCatalog),error}cdk().requireProperty(props,"name",this),this._allowFullTableExternalDataAccess=props.allowFullTableExternalDataAccess,this._catalogProperties=props.catalogProperties,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Glue::Catalog",void 0,{tagPropertyName:"tags"}),this._createDatabaseDefaultPermissions=props.createDatabaseDefaultPermissions,this._createTableDefaultPermissions=props.createTableDefaultPermissions,this._description=props.description,this._federatedCatalog=props.federatedCatalog,this._name=props.name,this._overwriteChildResourcePermissionsWithDefault=props.overwriteChildResourcePermissionsWithDefault,this._parameters=props.parameters,this._tags=props.tags,this._targetRedshiftCatalog=props.targetRedshiftCatalog}get catalogRef(){return{resourceArn:this.ref}}get allowFullTableExternalDataAccess(){return this._allowFullTableExternalDataAccess}set allowFullTableExternalDataAccess(value){cdk().traceProperty(this.node,"AllowFullTableExternalDataAccess"),this._allowFullTableExternalDataAccess=value}get catalogProperties(){return this._catalogProperties}set catalogProperties(value){cdk().traceProperty(this.node,"CatalogProperties"),this._catalogProperties=value}get createDatabaseDefaultPermissions(){return this._createDatabaseDefaultPermissions}set createDatabaseDefaultPermissions(value){cdk().traceProperty(this.node,"CreateDatabaseDefaultPermissions"),this._createDatabaseDefaultPermissions=value}get createTableDefaultPermissions(){return this._createTableDefaultPermissions}set createTableDefaultPermissions(value){cdk().traceProperty(this.node,"CreateTableDefaultPermissions"),this._createTableDefaultPermissions=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get federatedCatalog(){return this._federatedCatalog}set federatedCatalog(value){cdk().traceProperty(this.node,"FederatedCatalog"),this._federatedCatalog=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get overwriteChildResourcePermissionsWithDefault(){return this._overwriteChildResourcePermissionsWithDefault}set overwriteChildResourcePermissionsWithDefault(value){cdk().traceProperty(this.node,"OverwriteChildResourcePermissionsWithDefault"),this._overwriteChildResourcePermissionsWithDefault=value}get parameters(){return this._parameters}set parameters(value){cdk().traceProperty(this.node,"Parameters"),this._parameters=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get targetRedshiftCatalog(){return this._targetRedshiftCatalog}set targetRedshiftCatalog(value){cdk().traceProperty(this.node,"TargetRedshiftCatalog"),this._targetRedshiftCatalog=value}get attrCatalogId(){return cdk().Token.asString(this.getAtt("CatalogId",cdk().ResolutionTypeHint.STRING))}get attrCatalogPropertiesCustomProperties(){return this.getAtt("CatalogProperties.CustomProperties")}get attrCatalogPropertiesDataLakeAccessPropertiesManagedWorkgroupName(){return cdk().Token.asString(this.getAtt("CatalogProperties.DataLakeAccessProperties.ManagedWorkgroupName",cdk().ResolutionTypeHint.STRING))}get attrCatalogPropertiesDataLakeAccessPropertiesManagedWorkgroupStatus(){return cdk().Token.asString(this.getAtt("CatalogProperties.DataLakeAccessProperties.ManagedWorkgroupStatus",cdk().ResolutionTypeHint.STRING))}get attrCatalogPropertiesDataLakeAccessPropertiesRedshiftDatabaseName(){return cdk().Token.asString(this.getAtt("CatalogProperties.DataLakeAccessProperties.RedshiftDatabaseName",cdk().ResolutionTypeHint.STRING))}get attrCreateTime(){return cdk().Token.asNumber(this.getAtt("CreateTime",cdk().ResolutionTypeHint.NUMBER))}get attrResourceArn(){return cdk().Token.asString(this.getAtt("ResourceArn",cdk().ResolutionTypeHint.STRING))}get attrUpdateTime(){return cdk().Token.asNumber(this.getAtt("UpdateTime",cdk().ResolutionTypeHint.NUMBER))}get cfnProperties(){return{allowFullTableExternalDataAccess:this._allowFullTableExternalDataAccess,catalogProperties:this._catalogProperties,tags:this.cdkTagManager.renderTags(this._tags),createDatabaseDefaultPermissions:this._createDatabaseDefaultPermissions,createTableDefaultPermissions:this._createTableDefaultPermissions,description:this._description,federatedCatalog:this._federatedCatalog,name:this._name,overwriteChildResourcePermissionsWithDefault:this._overwriteChildResourcePermissionsWithDefault,parameters:this._parameters,targetRedshiftCatalog:this._targetRedshiftCatalog}}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",CfnCatalog.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCatalogPropsToCloudFormation(props)}}exports.CfnCatalog=CfnCatalog;function CfnCatalogFederatedCatalogPropertyValidator(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("connectionName",cdk().validateString)(properties.connectionName)),errors.collect(cdk().propertyValidator("identifier",cdk().validateString)(properties.identifier)),errors.wrap('supplied properties not correct for "FederatedCatalogProperty"')}function convertCfnCatalogFederatedCatalogPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCatalogFederatedCatalogPropertyValidator(properties).assertSuccess(),{ConnectionName:cdk().stringToCloudFormation(properties.connectionName),Identifier:cdk().stringToCloudFormation(properties.identifier)}):properties}function CfnCatalogFederatedCatalogPropertyFromCloudFormation(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("connectionName","ConnectionName",properties.ConnectionName!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionName):void 0),ret.addPropertyResult("identifier","Identifier",properties.Identifier!=null?cfn_parse().FromCloudFormation.getString(properties.Identifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCatalogTargetRedshiftCatalogPropertyValidator(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("catalogArn",cdk().requiredValidator)(properties.catalogArn)),errors.collect(cdk().propertyValidator("catalogArn",cdk().validateString)(properties.catalogArn)),errors.wrap('supplied properties not correct for "TargetRedshiftCatalogProperty"')}function convertCfnCatalogTargetRedshiftCatalogPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCatalogTargetRedshiftCatalogPropertyValidator(properties).assertSuccess(),{CatalogArn:cdk().stringToCloudFormation(properties.catalogArn)}):properties}function CfnCatalogTargetRedshiftCatalogPropertyFromCloudFormation(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("catalogArn","CatalogArn",properties.CatalogArn!=null?cfn_parse().FromCloudFormation.getString(properties.CatalogArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCatalogDataLakeAccessPropertiesPropertyValidator(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("allowFullTableExternalDataAccess",cdk().validateString)(properties.allowFullTableExternalDataAccess)),errors.collect(cdk().propertyValidator("catalogType",cdk().validateString)(properties.catalogType)),errors.collect(cdk().propertyValidator("dataLakeAccess",cdk().validateBoolean)(properties.dataLakeAccess)),errors.collect(cdk().propertyValidator("dataTransferRole",cdk().validateString)(properties.dataTransferRole)),errors.collect(cdk().propertyValidator("kmsKey",cdk().validateString)(properties.kmsKey)),errors.collect(cdk().propertyValidator("managedWorkgroupName",cdk().validateString)(properties.managedWorkgroupName)),errors.collect(cdk().propertyValidator("managedWorkgroupStatus",cdk().validateString)(properties.managedWorkgroupStatus)),errors.collect(cdk().propertyValidator("redshiftDatabaseName",cdk().validateString)(properties.redshiftDatabaseName)),errors.wrap('supplied properties not correct for "DataLakeAccessPropertiesProperty"')}function convertCfnCatalogDataLakeAccessPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCatalogDataLakeAccessPropertiesPropertyValidator(properties).assertSuccess(),{AllowFullTableExternalDataAccess:cdk().stringToCloudFormation(properties.allowFullTableExternalDataAccess),CatalogType:cdk().stringToCloudFormation(properties.catalogType),DataLakeAccess:cdk().booleanToCloudFormation(properties.dataLakeAccess),DataTransferRole:cdk().stringToCloudFormation(properties.dataTransferRole),KmsKey:cdk().stringToCloudFormation(properties.kmsKey),ManagedWorkgroupName:cdk().stringToCloudFormation(properties.managedWorkgroupName),ManagedWorkgroupStatus:cdk().stringToCloudFormation(properties.managedWorkgroupStatus),RedshiftDatabaseName:cdk().stringToCloudFormation(properties.redshiftDatabaseName)}):properties}function CfnCatalogDataLakeAccessPropertiesPropertyFromCloudFormation(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("allowFullTableExternalDataAccess","AllowFullTableExternalDataAccess",properties.AllowFullTableExternalDataAccess!=null?cfn_parse().FromCloudFormation.getString(properties.AllowFullTableExternalDataAccess):void 0),ret.addPropertyResult("catalogType","CatalogType",properties.CatalogType!=null?cfn_parse().FromCloudFormation.getString(properties.CatalogType):void 0),ret.addPropertyResult("dataLakeAccess","DataLakeAccess",properties.DataLakeAccess!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DataLakeAccess):void 0),ret.addPropertyResult("dataTransferRole","DataTransferRole",properties.DataTransferRole!=null?cfn_parse().FromCloudFormation.getString(properties.DataTransferRole):void 0),ret.addPropertyResult("kmsKey","KmsKey",properties.KmsKey!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKey):void 0),ret.addPropertyResult("managedWorkgroupName","ManagedWorkgroupName",properties.ManagedWorkgroupName!=null?cfn_parse().FromCloudFormation.getString(properties.ManagedWorkgroupName):void 0),ret.addPropertyResult("managedWorkgroupStatus","ManagedWorkgroupStatus",properties.ManagedWorkgroupStatus!=null?cfn_parse().FromCloudFormation.getString(properties.ManagedWorkgroupStatus):void 0),ret.addPropertyResult("redshiftDatabaseName","RedshiftDatabaseName",properties.RedshiftDatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.RedshiftDatabaseName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCatalogCatalogPropertiesPropertyValidator(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("customProperties",cdk().hashValidator(cdk().validateString))(properties.customProperties)),errors.collect(cdk().propertyValidator("dataLakeAccessProperties",CfnCatalogDataLakeAccessPropertiesPropertyValidator)(properties.dataLakeAccessProperties)),errors.wrap('supplied properties not correct for "CatalogPropertiesProperty"')}function convertCfnCatalogCatalogPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCatalogCatalogPropertiesPropertyValidator(properties).assertSuccess(),{CustomProperties:cdk().hashMapper(cdk().stringToCloudFormation)(properties.customProperties),DataLakeAccessProperties:convertCfnCatalogDataLakeAccessPropertiesPropertyToCloudFormation(properties.dataLakeAccessProperties)}):properties}function CfnCatalogCatalogPropertiesPropertyFromCloudFormation(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("customProperties","CustomProperties",properties.CustomProperties!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.CustomProperties):void 0),ret.addPropertyResult("dataLakeAccessProperties","DataLakeAccessProperties",properties.DataLakeAccessProperties!=null?CfnCatalogDataLakeAccessPropertiesPropertyFromCloudFormation(properties.DataLakeAccessProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCatalogDataLakePrincipalPropertyValidator(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("dataLakePrincipalIdentifier",cdk().validateString)(properties.dataLakePrincipalIdentifier)),errors.wrap('supplied properties not correct for "DataLakePrincipalProperty"')}function convertCfnCatalogDataLakePrincipalPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCatalogDataLakePrincipalPropertyValidator(properties).assertSuccess(),{DataLakePrincipalIdentifier:cdk().stringToCloudFormation(properties.dataLakePrincipalIdentifier)}):properties}function CfnCatalogDataLakePrincipalPropertyFromCloudFormation(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("dataLakePrincipalIdentifier","DataLakePrincipalIdentifier",properties.DataLakePrincipalIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataLakePrincipalIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCatalogPrincipalPermissionsPropertyValidator(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("permissions",cdk().listValidator(cdk().validateString))(properties.permissions)),errors.collect(cdk().propertyValidator("principal",CfnCatalogDataLakePrincipalPropertyValidator)(properties.principal)),errors.wrap('supplied properties not correct for "PrincipalPermissionsProperty"')}function convertCfnCatalogPrincipalPermissionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCatalogPrincipalPermissionsPropertyValidator(properties).assertSuccess(),{Permissions:cdk().listMapper(cdk().stringToCloudFormation)(properties.permissions),Principal:convertCfnCatalogDataLakePrincipalPropertyToCloudFormation(properties.principal)}):properties}function CfnCatalogPrincipalPermissionsPropertyFromCloudFormation(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("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Permissions):void 0),ret.addPropertyResult("principal","Principal",properties.Principal!=null?CfnCatalogDataLakePrincipalPropertyFromCloudFormation(properties.Principal):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCatalogPropsValidator(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("allowFullTableExternalDataAccess",cdk().validateString)(properties.allowFullTableExternalDataAccess)),errors.collect(cdk().propertyValidator("catalogProperties",CfnCatalogCatalogPropertiesPropertyValidator)(properties.catalogProperties)),errors.collect(cdk().propertyValidator("createDatabaseDefaultPermissions",cdk().listValidator(CfnCatalogPrincipalPermissionsPropertyValidator))(properties.createDatabaseDefaultPermissions)),errors.collect(cdk().propertyValidator("createTableDefaultPermissions",cdk().listValidator(CfnCatalogPrincipalPermissionsPropertyValidator))(properties.createTableDefaultPermissions)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("federatedCatalog",CfnCatalogFederatedCatalogPropertyValidator)(properties.federatedCatalog)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("overwriteChildResourcePermissionsWithDefault",cdk().validateString)(properties.overwriteChildResourcePermissionsWithDefault)),errors.collect(cdk().propertyValidator("parameters",cdk().hashValidator(cdk().validateString))(properties.parameters)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("targetRedshiftCatalog",CfnCatalogTargetRedshiftCatalogPropertyValidator)(properties.targetRedshiftCatalog)),errors.wrap('supplied properties not correct for "CfnCatalogProps"')}function convertCfnCatalogPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCatalogPropsValidator(properties).assertSuccess(),{AllowFullTableExternalDataAccess:cdk().stringToCloudFormation(properties.allowFullTableExternalDataAccess),CatalogProperties:convertCfnCatalogCatalogPropertiesPropertyToCloudFormation(properties.catalogProperties),CreateDatabaseDefaultPermissions:cdk().listMapper(convertCfnCatalogPrincipalPermissionsPropertyToCloudFormation)(properties.createDatabaseDefaultPermissions),CreateTableDefaultPermissions:cdk().listMapper(convertCfnCatalogPrincipalPermissionsPropertyToCloudFormation)(properties.createTableDefaultPermissions),Description:cdk().stringToCloudFormation(properties.description),FederatedCatalog:convertCfnCatalogFederatedCatalogPropertyToCloudFormation(properties.federatedCatalog),Name:cdk().stringToCloudFormation(properties.name),OverwriteChildResourcePermissionsWithDefault:cdk().stringToCloudFormation(properties.overwriteChildResourcePermissionsWithDefault),Parameters:cdk().hashMapper(cdk().stringToCloudFormation)(properties.parameters),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TargetRedshiftCatalog:convertCfnCatalogTargetRedshiftCatalogPropertyToCloudFormation(properties.targetRedshiftCatalog)}):properties}function CfnCatalogPropsFromCloudFormation(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("allowFullTableExternalDataAccess","AllowFullTableExternalDataAccess",properties.AllowFullTableExternalDataAccess!=null?cfn_parse().FromCloudFormation.getString(properties.AllowFullTableExternalDataAccess):void 0),ret.addPropertyResult("catalogProperties","CatalogProperties",properties.CatalogProperties!=null?CfnCatalogCatalogPropertiesPropertyFromCloudFormation(properties.CatalogProperties):void 0),ret.addPropertyResult("createDatabaseDefaultPermissions","CreateDatabaseDefaultPermissions",properties.CreateDatabaseDefaultPermissions!=null?cfn_parse().FromCloudFormation.getArray(CfnCatalogPrincipalPermissionsPropertyFromCloudFormation)(properties.CreateDatabaseDefaultPermissions):void 0),ret.addPropertyResult("createTableDefaultPermissions","CreateTableDefaultPermissions",properties.CreateTableDefaultPermissions!=null?cfn_parse().FromCloudFormation.getArray(CfnCatalogPrincipalPermissionsPropertyFromCloudFormation)(properties.CreateTableDefaultPermissions):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("federatedCatalog","FederatedCatalog",properties.FederatedCatalog!=null?CfnCatalogFederatedCatalogPropertyFromCloudFormation(properties.FederatedCatalog):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("overwriteChildResourcePermissionsWithDefault","OverwriteChildResourcePermissionsWithDefault",properties.OverwriteChildResourcePermissionsWithDefault!=null?cfn_parse().FromCloudFormation.getString(properties.OverwriteChildResourcePermissionsWithDefault):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Parameters):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetRedshiftCatalog","TargetRedshiftCatalog",properties.TargetRedshiftCatalog!=null?CfnCatalogTargetRedshiftCatalogPropertyFromCloudFormation(properties.TargetRedshiftCatalog):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCustomEntityType extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnCustomEntityType",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::CustomEntityType";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCustomEntityTypePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCustomEntityType(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnCustomEntityType(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCustomEntityType.CFN_RESOURCE_TYPE_NAME}static fromCustomEntityTypeId(scope,id,customEntityTypeId){class Import extends cdk().Resource{customEntityTypeRef;constructor(scope2,id2,customEntityTypeId2){super(scope2,id2),this.customEntityTypeRef={customEntityTypeId:customEntityTypeId2}}}return new Import(scope,id,customEntityTypeId)}static arnForCustomEntityType(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_glue_ICustomEntityTypeRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForCustomEntityType),error}return new(cfn_parse()).TemplateString("arn:${Partition}:glue:${Region}:${Account}:customEntityType/${CustomEntityTypeId}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,CustomEntityTypeId:resource.customEntityTypeRef.customEntityTypeId})}cdkTagManager;_contextWords;_name;_regexString;_tags;cfnPropertyNames={tags:"Tags",contextWords:"ContextWords",name:"Name",regexString:"RegexString"};constructor(scope,id,props={}){super(scope,id,{type:CfnCustomEntityType.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnCustomEntityTypeProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCustomEntityType),error}this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Glue::CustomEntityType",void 0,{tagPropertyName:"tags"}),this._contextWords=props.contextWords,this._name=props.name,this._regexString=props.regexString,this._tags=props.tags}get customEntityTypeRef(){return{customEntityTypeId:this.ref}}get contextWords(){return this._contextWords}set contextWords(value){cdk().traceProperty(this.node,"ContextWords"),this._contextWords=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get regexString(){return this._regexString}set regexString(value){cdk().traceProperty(this.node,"RegexString"),this._regexString=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),contextWords:this._contextWords,name:this._name,regexString:this._regexString}}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",CfnCustomEntityType.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCustomEntityTypePropsToCloudFormation(props)}}exports.CfnCustomEntityType=CfnCustomEntityType;function CfnCustomEntityTypePropsValidator(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("contextWords",cdk().listValidator(cdk().validateString))(properties.contextWords)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("regexString",cdk().validateString)(properties.regexString)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.wrap('supplied properties not correct for "CfnCustomEntityTypeProps"')}function convertCfnCustomEntityTypePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCustomEntityTypePropsValidator(properties).assertSuccess(),{ContextWords:cdk().listMapper(cdk().stringToCloudFormation)(properties.contextWords),Name:cdk().stringToCloudFormation(properties.name),RegexString:cdk().stringToCloudFormation(properties.regexString),Tags:cdk().objectToCloudFormation(properties.tags)}):properties}function CfnCustomEntityTypePropsFromCloudFormation(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("contextWords","ContextWords",properties.ContextWords!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ContextWords):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("regexString","RegexString",properties.RegexString!=null?cfn_parse().FromCloudFormation.getString(properties.RegexString):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getAny(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnIdentityCenterConfiguration extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnIdentityCenterConfiguration",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::IdentityCenterConfiguration";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIdentityCenterConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnIdentityCenterConfiguration(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnIdentityCenterConfiguration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIdentityCenterConfiguration.CFN_RESOURCE_TYPE_NAME}_instanceArn;_scopes;_userBackgroundSessionsEnabled;cfnPropertyNames={instanceArn:"InstanceArn",scopes:"Scopes",userBackgroundSessionsEnabled:"UserBackgroundSessionsEnabled"};constructor(scope,id,props){super(scope,id,{type:CfnIdentityCenterConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnIdentityCenterConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIdentityCenterConfiguration),error}cdk().requireProperty(props,"instanceArn",this),this._instanceArn=props.instanceArn,this._scopes=props.scopes,this._userBackgroundSessionsEnabled=props.userBackgroundSessionsEnabled}get identityCenterConfigurationRef(){return{accountId:this.ref}}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get scopes(){return this._scopes}set scopes(value){cdk().traceProperty(this.node,"Scopes"),this._scopes=value}get userBackgroundSessionsEnabled(){return this._userBackgroundSessionsEnabled}set userBackgroundSessionsEnabled(value){cdk().traceProperty(this.node,"UserBackgroundSessionsEnabled"),this._userBackgroundSessionsEnabled=value}get attrAccountId(){return cdk().Token.asString(this.getAtt("AccountId",cdk().ResolutionTypeHint.STRING))}get attrApplicationArn(){return cdk().Token.asString(this.getAtt("ApplicationArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{instanceArn:this._instanceArn,scopes:this._scopes,userBackgroundSessionsEnabled:this._userBackgroundSessionsEnabled}}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",CfnIdentityCenterConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIdentityCenterConfigurationPropsToCloudFormation(props)}}exports.CfnIdentityCenterConfiguration=CfnIdentityCenterConfiguration;function CfnIdentityCenterConfigurationPropsValidator(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("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("scopes",cdk().listValidator(cdk().validateString))(properties.scopes)),errors.collect(cdk().propertyValidator("userBackgroundSessionsEnabled",cdk().validateBoolean)(properties.userBackgroundSessionsEnabled)),errors.wrap('supplied properties not correct for "CfnIdentityCenterConfigurationProps"')}function convertCfnIdentityCenterConfigurationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIdentityCenterConfigurationPropsValidator(properties).assertSuccess(),{InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Scopes:cdk().listMapper(cdk().stringToCloudFormation)(properties.scopes),UserBackgroundSessionsEnabled:cdk().booleanToCloudFormation(properties.userBackgroundSessionsEnabled)}):properties}function CfnIdentityCenterConfigurationPropsFromCloudFormation(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("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("scopes","Scopes",properties.Scopes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Scopes):void 0),ret.addPropertyResult("userBackgroundSessionsEnabled","UserBackgroundSessionsEnabled",properties.UserBackgroundSessionsEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UserBackgroundSessionsEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnIntegration extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnIntegration",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::Integration";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIntegrationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnIntegration(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnIntegration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIntegration.CFN_RESOURCE_TYPE_NAME}static arnForIntegration(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_glue_IIntegrationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForIntegration),error}return resource.integrationRef.integrationArn}_additionalEncryptionContext;cdkTagManager;_dataFilter;_description;_integrationConfig;_integrationName;_kmsKeyId;_sourceArn;_tags;_targetArn;cfnPropertyNames={additionalEncryptionContext:"AdditionalEncryptionContext",tags:"Tags",dataFilter:"DataFilter",description:"Description",integrationConfig:"IntegrationConfig",integrationName:"IntegrationName",kmsKeyId:"KmsKeyId",sourceArn:"SourceArn",targetArn:"TargetArn"};constructor(scope,id,props){super(scope,id,{type:CfnIntegration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnIntegrationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIntegration),error}cdk().requireProperty(props,"integrationName",this),cdk().requireProperty(props,"sourceArn",this),cdk().requireProperty(props,"targetArn",this),this._additionalEncryptionContext=props.additionalEncryptionContext,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Glue::Integration",void 0,{tagPropertyName:"tags"}),this._dataFilter=props.dataFilter,this._description=props.description,this._integrationConfig=props.integrationConfig,this._integrationName=props.integrationName,this._kmsKeyId=props.kmsKeyId,this._sourceArn=props.sourceArn,this._tags=props.tags,this._targetArn=props.targetArn}get integrationRef(){return{integrationArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),integrationName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get additionalEncryptionContext(){return this._additionalEncryptionContext}set additionalEncryptionContext(value){cdk().traceProperty(this.node,"AdditionalEncryptionContext"),this._additionalEncryptionContext=value}get dataFilter(){return this._dataFilter}set dataFilter(value){cdk().traceProperty(this.node,"DataFilter"),this._dataFilter=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get integrationConfig(){return this._integrationConfig}set integrationConfig(value){cdk().traceProperty(this.node,"IntegrationConfig"),this._integrationConfig=value}get integrationName(){return this._integrationName}set integrationName(value){cdk().traceProperty(this.node,"IntegrationName"),this._integrationName=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KmsKeyId"),this._kmsKeyId=value}get sourceArn(){return this._sourceArn}set sourceArn(value){cdk().traceProperty(this.node,"SourceArn"),this._sourceArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get targetArn(){return this._targetArn}set targetArn(value){cdk().traceProperty(this.node,"TargetArn"),this._targetArn=value}get attrCreateTime(){return cdk().Token.asString(this.getAtt("CreateTime",cdk().ResolutionTypeHint.STRING))}get attrIntegrationArn(){return cdk().Token.asString(this.getAtt("IntegrationArn",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{additionalEncryptionContext:this._additionalEncryptionContext,tags:this.cdkTagManager.renderTags(this._tags),dataFilter:this._dataFilter,description:this._description,integrationConfig:this._integrationConfig,integrationName:this._integrationName,kmsKeyId:this._kmsKeyId,sourceArn:this._sourceArn,targetArn:this._targetArn}}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",CfnIntegration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIntegrationPropsToCloudFormation(props)}}exports.CfnIntegration=CfnIntegration;function CfnIntegrationIntegrationConfigPropertyValidator(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("continuousSync",cdk().validateBoolean)(properties.continuousSync)),errors.collect(cdk().propertyValidator("refreshInterval",cdk().validateString)(properties.refreshInterval)),errors.collect(cdk().propertyValidator("sourceProperties",cdk().hashValidator(cdk().validateString))(properties.sourceProperties)),errors.wrap('supplied properties not correct for "IntegrationConfigProperty"')}function convertCfnIntegrationIntegrationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationIntegrationConfigPropertyValidator(properties).assertSuccess(),{ContinuousSync:cdk().booleanToCloudFormation(properties.continuousSync),RefreshInterval:cdk().stringToCloudFormation(properties.refreshInterval),SourceProperties:cdk().hashMapper(cdk().stringToCloudFormation)(properties.sourceProperties)}):properties}function CfnIntegrationIntegrationConfigPropertyFromCloudFormation(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("continuousSync","ContinuousSync",properties.ContinuousSync!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ContinuousSync):void 0),ret.addPropertyResult("refreshInterval","RefreshInterval",properties.RefreshInterval!=null?cfn_parse().FromCloudFormation.getString(properties.RefreshInterval):void 0),ret.addPropertyResult("sourceProperties","SourceProperties",properties.SourceProperties!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.SourceProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationPropsValidator(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("additionalEncryptionContext",cdk().hashValidator(cdk().validateString))(properties.additionalEncryptionContext)),errors.collect(cdk().propertyValidator("dataFilter",cdk().validateString)(properties.dataFilter)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("integrationConfig",CfnIntegrationIntegrationConfigPropertyValidator)(properties.integrationConfig)),errors.collect(cdk().propertyValidator("integrationName",cdk().requiredValidator)(properties.integrationName)),errors.collect(cdk().propertyValidator("integrationName",cdk().validateString)(properties.integrationName)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("sourceArn",cdk().requiredValidator)(properties.sourceArn)),errors.collect(cdk().propertyValidator("sourceArn",cdk().validateString)(properties.sourceArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("targetArn",cdk().requiredValidator)(properties.targetArn)),errors.collect(cdk().propertyValidator("targetArn",cdk().validateString)(properties.targetArn)),errors.wrap('supplied properties not correct for "CfnIntegrationProps"')}function convertCfnIntegrationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationPropsValidator(properties).assertSuccess(),{AdditionalEncryptionContext:cdk().hashMapper(cdk().stringToCloudFormation)(properties.additionalEncryptionContext),DataFilter:cdk().stringToCloudFormation(properties.dataFilter),Description:cdk().stringToCloudFormation(properties.description),IntegrationConfig:convertCfnIntegrationIntegrationConfigPropertyToCloudFormation(properties.integrationConfig),IntegrationName:cdk().stringToCloudFormation(properties.integrationName),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),SourceArn:cdk().stringToCloudFormation(properties.sourceArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TargetArn:cdk().stringToCloudFormation(properties.targetArn)}):properties}function CfnIntegrationPropsFromCloudFormation(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("additionalEncryptionContext","AdditionalEncryptionContext",properties.AdditionalEncryptionContext!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.AdditionalEncryptionContext):void 0),ret.addPropertyResult("dataFilter","DataFilter",properties.DataFilter!=null?cfn_parse().FromCloudFormation.getString(properties.DataFilter):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("integrationConfig","IntegrationConfig",properties.IntegrationConfig!=null?CfnIntegrationIntegrationConfigPropertyFromCloudFormation(properties.IntegrationConfig):void 0),ret.addPropertyResult("integrationName","IntegrationName",properties.IntegrationName!=null?cfn_parse().FromCloudFormation.getString(properties.IntegrationName):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("sourceArn","SourceArn",properties.SourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.SourceArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetArn","TargetArn",properties.TargetArn!=null?cfn_parse().FromCloudFormation.getString(properties.TargetArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnIntegrationResourceProperty extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnIntegrationResourceProperty",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::IntegrationResourceProperty";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIntegrationResourcePropertyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnIntegrationResourceProperty(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnIntegrationResourceProperty(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIntegrationResourceProperty.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_resourceArn;_sourceProcessingProperties;_tags;_targetProcessingProperties;cfnPropertyNames={tags:"Tags",resourceArn:"ResourceArn",sourceProcessingProperties:"SourceProcessingProperties",targetProcessingProperties:"TargetProcessingProperties"};constructor(scope,id,props){super(scope,id,{type:CfnIntegrationResourceProperty.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnIntegrationResourcePropertyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIntegrationResourceProperty),error}cdk().requireProperty(props,"resourceArn",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Glue::IntegrationResourceProperty",void 0,{tagPropertyName:"tags"}),this._resourceArn=props.resourceArn,this._sourceProcessingProperties=props.sourceProcessingProperties,this._tags=props.tags,this._targetProcessingProperties=props.targetProcessingProperties}get integrationResourcePropertyRef(){return{resourceArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),resourcePropertyArn:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get resourceArn(){return this._resourceArn}set resourceArn(value){cdk().traceProperty(this.node,"ResourceArn"),this._resourceArn=value}get sourceProcessingProperties(){return this._sourceProcessingProperties}set sourceProcessingProperties(value){cdk().traceProperty(this.node,"SourceProcessingProperties"),this._sourceProcessingProperties=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get targetProcessingProperties(){return this._targetProcessingProperties}set targetProcessingProperties(value){cdk().traceProperty(this.node,"TargetProcessingProperties"),this._targetProcessingProperties=value}get attrResourcePropertyArn(){return cdk().Token.asString(this.getAtt("ResourcePropertyArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),resourceArn:this._resourceArn,sourceProcessingProperties:this._sourceProcessingProperties,targetProcessingProperties:this._targetProcessingProperties}}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",CfnIntegrationResourceProperty.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIntegrationResourcePropertyPropsToCloudFormation(props)}}exports.CfnIntegrationResourceProperty=CfnIntegrationResourceProperty;function CfnIntegrationResourcePropertySourceProcessingPropertiesPropertyValidator(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("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "SourceProcessingPropertiesProperty"')}function convertCfnIntegrationResourcePropertySourceProcessingPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationResourcePropertySourceProcessingPropertiesPropertyValidator(properties).assertSuccess(),{RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnIntegrationResourcePropertySourceProcessingPropertiesPropertyFromCloudFormation(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("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationResourcePropertyTargetProcessingPropertiesPropertyValidator(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("connectionName",cdk().validateString)(properties.connectionName)),errors.collect(cdk().propertyValidator("eventBusArn",cdk().validateString)(properties.eventBusArn)),errors.collect(cdk().propertyValidator("kmsArn",cdk().validateString)(properties.kmsArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "TargetProcessingPropertiesProperty"')}function convertCfnIntegrationResourcePropertyTargetProcessingPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationResourcePropertyTargetProcessingPropertiesPropertyValidator(properties).assertSuccess(),{ConnectionName:cdk().stringToCloudFormation(properties.connectionName),EventBusArn:cdk().stringToCloudFormation(properties.eventBusArn),KmsArn:cdk().stringToCloudFormation(properties.kmsArn),RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnIntegrationResourcePropertyTargetProcessingPropertiesPropertyFromCloudFormation(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("connectionName","ConnectionName",properties.ConnectionName!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectionName):void 0),ret.addPropertyResult("eventBusArn","EventBusArn",properties.EventBusArn!=null?cfn_parse().FromCloudFormation.getString(properties.EventBusArn):void 0),ret.addPropertyResult("kmsArn","KmsArn",properties.KmsArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsArn):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnIntegrationResourcePropertyPropsValidator(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("resourceArn",cdk().requiredValidator)(properties.resourceArn)),errors.collect(cdk().propertyValidator("resourceArn",cdk().validateString)(properties.resourceArn)),errors.collect(cdk().propertyValidator("sourceProcessingProperties",CfnIntegrationResourcePropertySourceProcessingPropertiesPropertyValidator)(properties.sourceProcessingProperties)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("targetProcessingProperties",CfnIntegrationResourcePropertyTargetProcessingPropertiesPropertyValidator)(properties.targetProcessingProperties)),errors.wrap('supplied properties not correct for "CfnIntegrationResourcePropertyProps"')}function convertCfnIntegrationResourcePropertyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationResourcePropertyPropsValidator(properties).assertSuccess(),{ResourceArn:cdk().stringToCloudFormation(properties.resourceArn),SourceProcessingProperties:convertCfnIntegrationResourcePropertySourceProcessingPropertiesPropertyToCloudFormation(properties.sourceProcessingProperties),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TargetProcessingProperties:convertCfnIntegrationResourcePropertyTargetProcessingPropertiesPropertyToCloudFormation(properties.targetProcessingProperties)}):properties}function CfnIntegrationResourcePropertyPropsFromCloudFormation(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("resourceArn","ResourceArn",properties.ResourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceArn):void 0),ret.addPropertyResult("sourceProcessingProperties","SourceProcessingProperties",properties.SourceProcessingProperties!=null?CfnIntegrationResourcePropertySourceProcessingPropertiesPropertyFromCloudFormation(properties.SourceProcessingProperties):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetProcessingProperties","TargetProcessingProperties",properties.TargetProcessingProperties!=null?CfnIntegrationResourcePropertyTargetProcessingPropertiesPropertyFromCloudFormation(properties.TargetProcessingProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTableOptimizer extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnTableOptimizer",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::TableOptimizer";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTableOptimizerPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTableOptimizer(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnTableOptimizer(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTableOptimizer.CFN_RESOURCE_TYPE_NAME}_catalogId;_databaseName;_tableName;_tableOptimizerConfiguration;_type;cfnPropertyNames={catalogId:"CatalogId",databaseName:"DatabaseName",tableName:"TableName",tableOptimizerConfiguration:"TableOptimizerConfiguration",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnTableOptimizer.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnTableOptimizerProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTableOptimizer),error}cdk().requireProperty(props,"catalogId",this),cdk().requireProperty(props,"databaseName",this),cdk().requireProperty(props,"tableName",this),cdk().requireProperty(props,"tableOptimizerConfiguration",this),cdk().requireProperty(props,"type",this),this._catalogId=props.catalogId,this._databaseName=props.databaseName,this._tableName=props.tableName,this._tableOptimizerConfiguration=props.tableOptimizerConfiguration,this._type=props.type}get tableOptimizerRef(){return{tableOptimizerId:this.ref}}get catalogId(){return this._catalogId}set catalogId(value){cdk().traceProperty(this.node,"CatalogId"),this._catalogId=value}get databaseName(){return this._databaseName}set databaseName(value){cdk().traceProperty(this.node,"DatabaseName"),this._databaseName=value}get tableName(){return this._tableName}set tableName(value){cdk().traceProperty(this.node,"TableName"),this._tableName=value}get tableOptimizerConfiguration(){return this._tableOptimizerConfiguration}set tableOptimizerConfiguration(value){cdk().traceProperty(this.node,"TableOptimizerConfiguration"),this._tableOptimizerConfiguration=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{catalogId:this._catalogId,databaseName:this._databaseName,tableName:this._tableName,tableOptimizerConfiguration:this._tableOptimizerConfiguration,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",CfnTableOptimizer.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTableOptimizerPropsToCloudFormation(props)}}exports.CfnTableOptimizer=CfnTableOptimizer;function CfnTableOptimizerIcebergRetentionConfigurationPropertyValidator(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("cleanExpiredFiles",cdk().validateBoolean)(properties.cleanExpiredFiles)),errors.collect(cdk().propertyValidator("numberOfSnapshotsToRetain",cdk().validateNumber)(properties.numberOfSnapshotsToRetain)),errors.collect(cdk().propertyValidator("snapshotRetentionPeriodInDays",cdk().validateNumber)(properties.snapshotRetentionPeriodInDays)),errors.wrap('supplied properties not correct for "IcebergRetentionConfigurationProperty"')}function convertCfnTableOptimizerIcebergRetentionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableOptimizerIcebergRetentionConfigurationPropertyValidator(properties).assertSuccess(),{CleanExpiredFiles:cdk().booleanToCloudFormation(properties.cleanExpiredFiles),NumberOfSnapshotsToRetain:cdk().numberToCloudFormation(properties.numberOfSnapshotsToRetain),SnapshotRetentionPeriodInDays:cdk().numberToCloudFormation(properties.snapshotRetentionPeriodInDays)}):properties}function CfnTableOptimizerIcebergRetentionConfigurationPropertyFromCloudFormation(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("cleanExpiredFiles","CleanExpiredFiles",properties.CleanExpiredFiles!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CleanExpiredFiles):void 0),ret.addPropertyResult("numberOfSnapshotsToRetain","NumberOfSnapshotsToRetain",properties.NumberOfSnapshotsToRetain!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfSnapshotsToRetain):void 0),ret.addPropertyResult("snapshotRetentionPeriodInDays","SnapshotRetentionPeriodInDays",properties.SnapshotRetentionPeriodInDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.SnapshotRetentionPeriodInDays):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableOptimizerRetentionConfigurationPropertyValidator(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("icebergConfiguration",CfnTableOptimizerIcebergRetentionConfigurationPropertyValidator)(properties.icebergConfiguration)),errors.wrap('supplied properties not correct for "RetentionConfigurationProperty"')}function convertCfnTableOptimizerRetentionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableOptimizerRetentionConfigurationPropertyValidator(properties).assertSuccess(),{IcebergConfiguration:convertCfnTableOptimizerIcebergRetentionConfigurationPropertyToCloudFormation(properties.icebergConfiguration)}):properties}function CfnTableOptimizerRetentionConfigurationPropertyFromCloudFormation(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("icebergConfiguration","IcebergConfiguration",properties.IcebergConfiguration!=null?CfnTableOptimizerIcebergRetentionConfigurationPropertyFromCloudFormation(properties.IcebergConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableOptimizerVpcConfigurationPropertyValidator(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("glueConnectionName",cdk().validateString)(properties.glueConnectionName)),errors.wrap('supplied properties not correct for "VpcConfigurationProperty"')}function convertCfnTableOptimizerVpcConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableOptimizerVpcConfigurationPropertyValidator(properties).assertSuccess(),{GlueConnectionName:cdk().stringToCloudFormation(properties.glueConnectionName)}):properties}function CfnTableOptimizerVpcConfigurationPropertyFromCloudFormation(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("glueConnectionName","GlueConnectionName",properties.GlueConnectionName!=null?cfn_parse().FromCloudFormation.getString(properties.GlueConnectionName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableOptimizerIcebergConfigurationPropertyValidator(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("location",cdk().validateString)(properties.location)),errors.collect(cdk().propertyValidator("orphanFileRetentionPeriodInDays",cdk().validateNumber)(properties.orphanFileRetentionPeriodInDays)),errors.wrap('supplied properties not correct for "IcebergConfigurationProperty"')}function convertCfnTableOptimizerIcebergConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableOptimizerIcebergConfigurationPropertyValidator(properties).assertSuccess(),{Location:cdk().stringToCloudFormation(properties.location),OrphanFileRetentionPeriodInDays:cdk().numberToCloudFormation(properties.orphanFileRetentionPeriodInDays)}):properties}function CfnTableOptimizerIcebergConfigurationPropertyFromCloudFormation(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("location","Location",properties.Location!=null?cfn_parse().FromCloudFormation.getString(properties.Location):void 0),ret.addPropertyResult("orphanFileRetentionPeriodInDays","OrphanFileRetentionPeriodInDays",properties.OrphanFileRetentionPeriodInDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.OrphanFileRetentionPeriodInDays):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableOptimizerOrphanFileDeletionConfigurationPropertyValidator(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("icebergConfiguration",CfnTableOptimizerIcebergConfigurationPropertyValidator)(properties.icebergConfiguration)),errors.wrap('supplied properties not correct for "OrphanFileDeletionConfigurationProperty"')}function convertCfnTableOptimizerOrphanFileDeletionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableOptimizerOrphanFileDeletionConfigurationPropertyValidator(properties).assertSuccess(),{IcebergConfiguration:convertCfnTableOptimizerIcebergConfigurationPropertyToCloudFormation(properties.icebergConfiguration)}):properties}function CfnTableOptimizerOrphanFileDeletionConfigurationPropertyFromCloudFormation(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("icebergConfiguration","IcebergConfiguration",properties.IcebergConfiguration!=null?CfnTableOptimizerIcebergConfigurationPropertyFromCloudFormation(properties.IcebergConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableOptimizerTableOptimizerConfigurationPropertyValidator(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().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("orphanFileDeletionConfiguration",CfnTableOptimizerOrphanFileDeletionConfigurationPropertyValidator)(properties.orphanFileDeletionConfiguration)),errors.collect(cdk().propertyValidator("retentionConfiguration",CfnTableOptimizerRetentionConfigurationPropertyValidator)(properties.retentionConfiguration)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("vpcConfiguration",CfnTableOptimizerVpcConfigurationPropertyValidator)(properties.vpcConfiguration)),errors.wrap('supplied properties not correct for "TableOptimizerConfigurationProperty"')}function convertCfnTableOptimizerTableOptimizerConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableOptimizerTableOptimizerConfigurationPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),OrphanFileDeletionConfiguration:convertCfnTableOptimizerOrphanFileDeletionConfigurationPropertyToCloudFormation(properties.orphanFileDeletionConfiguration),RetentionConfiguration:convertCfnTableOptimizerRetentionConfigurationPropertyToCloudFormation(properties.retentionConfiguration),RoleArn:cdk().stringToCloudFormation(properties.roleArn),VpcConfiguration:convertCfnTableOptimizerVpcConfigurationPropertyToCloudFormation(properties.vpcConfiguration)}):properties}function CfnTableOptimizerTableOptimizerConfigurationPropertyFromCloudFormation(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("orphanFileDeletionConfiguration","OrphanFileDeletionConfiguration",properties.OrphanFileDeletionConfiguration!=null?CfnTableOptimizerOrphanFileDeletionConfigurationPropertyFromCloudFormation(properties.OrphanFileDeletionConfiguration):void 0),ret.addPropertyResult("retentionConfiguration","RetentionConfiguration",properties.RetentionConfiguration!=null?CfnTableOptimizerRetentionConfigurationPropertyFromCloudFormation(properties.RetentionConfiguration):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("vpcConfiguration","VpcConfiguration",properties.VpcConfiguration!=null?CfnTableOptimizerVpcConfigurationPropertyFromCloudFormation(properties.VpcConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableOptimizerPropsValidator(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("catalogId",cdk().requiredValidator)(properties.catalogId)),errors.collect(cdk().propertyValidator("catalogId",cdk().validateString)(properties.catalogId)),errors.collect(cdk().propertyValidator("databaseName",cdk().requiredValidator)(properties.databaseName)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("tableName",cdk().requiredValidator)(properties.tableName)),errors.collect(cdk().propertyValidator("tableName",cdk().validateString)(properties.tableName)),errors.collect(cdk().propertyValidator("tableOptimizerConfiguration",cdk().requiredValidator)(properties.tableOptimizerConfiguration)),errors.collect(cdk().propertyValidator("tableOptimizerConfiguration",CfnTableOptimizerTableOptimizerConfigurationPropertyValidator)(properties.tableOptimizerConfiguration)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnTableOptimizerProps"')}function convertCfnTableOptimizerPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableOptimizerPropsValidator(properties).assertSuccess(),{CatalogId:cdk().stringToCloudFormation(properties.catalogId),DatabaseName:cdk().stringToCloudFormation(properties.databaseName),TableName:cdk().stringToCloudFormation(properties.tableName),TableOptimizerConfiguration:convertCfnTableOptimizerTableOptimizerConfigurationPropertyToCloudFormation(properties.tableOptimizerConfiguration),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTableOptimizerPropsFromCloudFormation(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("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("tableName","TableName",properties.TableName!=null?cfn_parse().FromCloudFormation.getString(properties.TableName):void 0),ret.addPropertyResult("tableOptimizerConfiguration","TableOptimizerConfiguration",properties.TableOptimizerConfiguration!=null?CfnTableOptimizerTableOptimizerConfigurationPropertyFromCloudFormation(properties.TableOptimizerConfiguration):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnUsageProfile extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_glue.CfnUsageProfile",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Glue::UsageProfile";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnUsageProfilePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnUsageProfile(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnUsageProfile(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnUsageProfile.CFN_RESOURCE_TYPE_NAME}cdkTagManager;_configuration;_description;_name;_tags;cfnPropertyNames={tags:"Tags",configuration:"Configuration",description:"Description",name:"Name"};constructor(scope,id,props){super(scope,id,{type:CfnUsageProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_glue_CfnUsageProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnUsageProfile),error}cdk().requireProperty(props,"name",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Glue::UsageProfile",void 0,{tagPropertyName:"tags"}),this._configuration=props.configuration,this._description=props.description,this._name=props.name,this._tags=props.tags}get usageProfileRef(){return{usageProfileName:this.ref}}get configuration(){return this._configuration}set configuration(value){cdk().traceProperty(this.node,"Configuration"),this._configuration=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCreatedOn(){return cdk().Token.asString(this.getAtt("CreatedOn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),configuration:this._configuration,description:this._description,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",CfnUsageProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnUsageProfilePropsToCloudFormation(props)}}exports.CfnUsageProfile=CfnUsageProfile;function CfnUsageProfileConfigurationObjectPropertyValidator(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("allowedValues",cdk().listValidator(cdk().validateString))(properties.allowedValues)),errors.collect(cdk().propertyValidator("defaultValue",cdk().validateString)(properties.defaultValue)),errors.collect(cdk().propertyValidator("maxValue",cdk().validateString)(properties.maxValue)),errors.collect(cdk().propertyValidator("minValue",cdk().validateString)(properties.minValue)),errors.wrap('supplied properties not correct for "ConfigurationObjectProperty"')}function convertCfnUsageProfileConfigurationObjectPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUsageProfileConfigurationObjectPropertyValidator(properties).assertSuccess(),{AllowedValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.allowedValues),DefaultValue:cdk().stringToCloudFormation(properties.defaultValue),MaxValue:cdk().stringToCloudFormation(properties.maxValue),MinValue:cdk().stringToCloudFormation(properties.minValue)}):properties}function CfnUsageProfileConfigurationObjectPropertyFromCloudFormation(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("allowedValues","AllowedValues",properties.AllowedValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AllowedValues):void 0),ret.addPropertyResult("defaultValue","DefaultValue",properties.DefaultValue!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultValue):void 0),ret.addPropertyResult("maxValue","MaxValue",properties.MaxValue!=null?cfn_parse().FromCloudFormation.getString(properties.MaxValue):void 0),ret.addPropertyResult("minValue","MinValue",properties.MinValue!=null?cfn_parse().FromCloudFormation.getString(properties.MinValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUsageProfileProfileConfigurationPropertyValidator(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("jobConfiguration",cdk().hashValidator(CfnUsageProfileConfigurationObjectPropertyValidator))(properties.jobConfiguration)),errors.collect(cdk().propertyValidator("sessionConfiguration",cdk().hashValidator(CfnUsageProfileConfigurationObjectPropertyValidator))(properties.sessionConfiguration)),errors.wrap('supplied properties not correct for "ProfileConfigurationProperty"')}function convertCfnUsageProfileProfileConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUsageProfileProfileConfigurationPropertyValidator(properties).assertSuccess(),{JobConfiguration:cdk().hashMapper(convertCfnUsageProfileConfigurationObjectPropertyToCloudFormation)(properties.jobConfiguration),SessionConfiguration:cdk().hashMapper(convertCfnUsageProfileConfigurationObjectPropertyToCloudFormation)(properties.sessionConfiguration)}):properties}function CfnUsageProfileProfileConfigurationPropertyFromCloudFormation(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("jobConfiguration","JobConfiguration",properties.JobConfiguration!=null?cfn_parse().FromCloudFormation.getMap(CfnUsageProfileConfigurationObjectPropertyFromCloudFormation)(properties.JobConfiguration):void 0),ret.addPropertyResult("sessionConfiguration","SessionConfiguration",properties.SessionConfiguration!=null?cfn_parse().FromCloudFormation.getMap(CfnUsageProfileConfigurationObjectPropertyFromCloudFormation)(properties.SessionConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUsageProfilePropsValidator(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("configuration",CfnUsageProfileProfileConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnUsageProfileProps"')}function convertCfnUsageProfilePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUsageProfilePropsValidator(properties).assertSuccess(),{Configuration:convertCfnUsageProfileProfileConfigurationPropertyToCloudFormation(properties.configuration),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnUsageProfilePropsFromCloudFormation(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("configuration","Configuration",properties.Configuration!=null?CfnUsageProfileProfileConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}