BatchCreatePartition

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.PartitionInputList[_].Values[_] == STRING
    input.Body.PartitionInputList[_].LastAccessTime == TIMESTAMP
    input.Body.PartitionInputList[_].StorageDescriptor.Columns[_].Name == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.Columns[_].Type == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.Columns[_].Comment == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.Columns[_].Parameters.STRING == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.Location == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.AdditionalLocations[_] == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.InputFormat == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.OutputFormat == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.Compressed == BOOLEAN
    input.Body.PartitionInputList[_].StorageDescriptor.NumberOfBuckets == INTEGER
    input.Body.PartitionInputList[_].StorageDescriptor.SerdeInfo.Name == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.SerdeInfo.SerializationLibrary == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.SerdeInfo.Parameters.STRING == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.BucketColumns[_] == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.SortColumns[_].Column == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.SortColumns[_].SortOrder == INTEGER
    input.Body.PartitionInputList[_].StorageDescriptor.Parameters.STRING == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.SkewedInfo.SkewedColumnNames[_] == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.SkewedInfo.SkewedColumnValues[_] == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.SkewedInfo.SkewedColumnValueLocationMaps.STRING == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.StoredAsSubDirectories == BOOLEAN
    input.Body.PartitionInputList[_].StorageDescriptor.SchemaReference.SchemaId.SchemaArn == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.SchemaReference.SchemaId.SchemaName == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.SchemaReference.SchemaId.RegistryName == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.SchemaReference.SchemaVersionId == STRING
    input.Body.PartitionInputList[_].StorageDescriptor.SchemaReference.SchemaVersionNumber == LONG
    input.Body.PartitionInputList[_].Parameters.STRING == STRING
    input.Body.PartitionInputList[_].LastAnalyzedTime == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchDeleteConnection

valid {
    input.Body.CatalogId == STRING
    input.Body.ConnectionNameList[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchDeletePartition

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.PartitionsToDelete[_].Values[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchDeleteTable

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TablesToDelete[_] == STRING
    input.Body.TransactionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchDeleteTableVersion

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.VersionIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchGetBlueprints

valid {
    input.Body.Names[_] == STRING
    input.Body.IncludeBlueprint == BOOLEAN
    input.Body.IncludeParameterSpec == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchGetCrawlers

valid {
    input.Body.CrawlerNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchGetCustomEntityTypes

valid {
    input.Body.Names[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchGetDataQualityResult

valid {
    input.Body.ResultIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchGetDevEndpoints

valid {
    input.Body.DevEndpointNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchGetJobs

valid {
    input.Body.JobNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchGetPartition

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.PartitionsToGet[_].Values[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchGetTableOptimizer

enum_TableOptimizerType := [ "compaction", "retention", "orphan_file_deletion" ]

valid {
    input.Body.Entries[_].catalogId == STRING
    input.Body.Entries[_].databaseName == STRING
    input.Body.Entries[_].tableName == STRING
    input.Body.Entries[_].type == enum_TableOptimizerType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchGetTriggers

valid {
    input.Body.TriggerNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchGetWorkflows

valid {
    input.Body.Names[_] == STRING
    input.Body.IncludeGraph == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchPutDataQualityStatisticAnnotation

enum_InclusionAnnotationValue := [ "INCLUDE", "EXCLUDE" ]

valid {
    input.Body.InclusionAnnotations[_].ProfileId == STRING
    input.Body.InclusionAnnotations[_].StatisticId == STRING
    input.Body.InclusionAnnotations[_].InclusionAnnotation == enum_InclusionAnnotationValue[_]
    input.Body.ClientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchStopJobRun

valid {
    input.Body.JobName == STRING
    input.Body.JobRunIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchUpdatePartition

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.Entries[_].PartitionValueList[_] == STRING
    input.Body.Entries[_].PartitionInput.Values[_] == STRING
    input.Body.Entries[_].PartitionInput.LastAccessTime == TIMESTAMP
    input.Body.Entries[_].PartitionInput.StorageDescriptor.Columns[_].Name == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.Columns[_].Type == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.Columns[_].Comment == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.Columns[_].Parameters.STRING == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.Location == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.AdditionalLocations[_] == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.InputFormat == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.OutputFormat == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.Compressed == BOOLEAN
    input.Body.Entries[_].PartitionInput.StorageDescriptor.NumberOfBuckets == INTEGER
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SerdeInfo.Name == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SerdeInfo.SerializationLibrary == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SerdeInfo.Parameters.STRING == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.BucketColumns[_] == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SortColumns[_].Column == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SortColumns[_].SortOrder == INTEGER
    input.Body.Entries[_].PartitionInput.StorageDescriptor.Parameters.STRING == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SkewedInfo.SkewedColumnNames[_] == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SkewedInfo.SkewedColumnValues[_] == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SkewedInfo.SkewedColumnValueLocationMaps.STRING == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.StoredAsSubDirectories == BOOLEAN
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SchemaReference.SchemaId.SchemaArn == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SchemaReference.SchemaId.SchemaName == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SchemaReference.SchemaId.RegistryName == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SchemaReference.SchemaVersionId == STRING
    input.Body.Entries[_].PartitionInput.StorageDescriptor.SchemaReference.SchemaVersionNumber == LONG
    input.Body.Entries[_].PartitionInput.Parameters.STRING == STRING
    input.Body.Entries[_].PartitionInput.LastAnalyzedTime == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CancelDataQualityRuleRecommendationRun

valid {
    input.Body.RunId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CancelDataQualityRulesetEvaluationRun

valid {
    input.Body.RunId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CancelMLTaskRun

valid {
    input.Body.TransformId == STRING
    input.Body.TaskRunId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CancelStatement

valid {
    input.Body.SessionId == STRING
    input.Body.Id == INTEGER
    input.Body.RequestOrigin == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CheckSchemaVersionValidity

enum_DataFormat := [ "AVRO", "JSON", "PROTOBUF" ]

valid {
    input.Body.DataFormat == enum_DataFormat[_]
    input.Body.SchemaDefinition == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateBlueprint

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.BlueprintLocation == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateClassifier

enum_CsvHeaderOption := [ "UNKNOWN", "PRESENT", "ABSENT" ]
enum_CsvSerdeOption := [ "OpenCSVSerDe", "LazySimpleSerDe", "None" ]

valid {
    input.Body.GrokClassifier.Classification == STRING
    input.Body.GrokClassifier.Name == STRING
    input.Body.GrokClassifier.GrokPattern == STRING
    input.Body.GrokClassifier.CustomPatterns == STRING
    input.Body.XMLClassifier.Classification == STRING
    input.Body.XMLClassifier.Name == STRING
    input.Body.XMLClassifier.RowTag == STRING
    input.Body.JsonClassifier.Name == STRING
    input.Body.JsonClassifier.JsonPath == STRING
    input.Body.CsvClassifier.Name == STRING
    input.Body.CsvClassifier.Delimiter == STRING
    input.Body.CsvClassifier.QuoteSymbol == STRING
    input.Body.CsvClassifier.ContainsHeader == enum_CsvHeaderOption[_]
    input.Body.CsvClassifier.Header[_] == STRING
    input.Body.CsvClassifier.DisableValueTrimming == BOOLEAN
    input.Body.CsvClassifier.AllowSingleColumn == BOOLEAN
    input.Body.CsvClassifier.CustomDatatypeConfigured == BOOLEAN
    input.Body.CsvClassifier.CustomDatatypes[_] == STRING
    input.Body.CsvClassifier.Serde == enum_CsvSerdeOption[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateConnection

enum_AuthenticationType := [ "BASIC", "OAUTH2", "CUSTOM" ]
enum_ConnectionType := [ "JDBC", "SFTP", "MONGODB", "KAFKA", "NETWORK", "MARKETPLACE", "CUSTOM", "SALESFORCE", "VIEW_VALIDATION_REDSHIFT", "VIEW_VALIDATION_ATHENA" ]
enum_OAuth2GrantType := [ "AUTHORIZATION_CODE", "CLIENT_CREDENTIALS", "JWT_BEARER" ]

valid {
    input.Body.CatalogId == STRING
    input.Body.ConnectionInput.Name == STRING
    input.Body.ConnectionInput.Description == STRING
    input.Body.ConnectionInput.ConnectionType == enum_ConnectionType[_]
    input.Body.ConnectionInput.MatchCriteria[_] == STRING
    input.Body.ConnectionInput.ConnectionProperties.HOST == STRING
    input.Body.ConnectionInput.ConnectionProperties.PORT == STRING
    input.Body.ConnectionInput.ConnectionProperties.USERNAME == STRING
    input.Body.ConnectionInput.ConnectionProperties.PASSWORD == STRING
    input.Body.ConnectionInput.ConnectionProperties.ENCRYPTED_PASSWORD == STRING
    input.Body.ConnectionInput.ConnectionProperties.JDBC_DRIVER_JAR_URI == STRING
    input.Body.ConnectionInput.ConnectionProperties.JDBC_DRIVER_CLASS_NAME == STRING
    input.Body.ConnectionInput.ConnectionProperties.JDBC_ENGINE == STRING
    input.Body.ConnectionInput.ConnectionProperties.JDBC_ENGINE_VERSION == STRING
    input.Body.ConnectionInput.ConnectionProperties.CONFIG_FILES == STRING
    input.Body.ConnectionInput.ConnectionProperties.INSTANCE_ID == STRING
    input.Body.ConnectionInput.ConnectionProperties.JDBC_CONNECTION_URL == STRING
    input.Body.ConnectionInput.ConnectionProperties.JDBC_ENFORCE_SSL == STRING
    input.Body.ConnectionInput.ConnectionProperties.CUSTOM_JDBC_CERT == STRING
    input.Body.ConnectionInput.ConnectionProperties.SKIP_CUSTOM_JDBC_CERT_VALIDATION == STRING
    input.Body.ConnectionInput.ConnectionProperties.CUSTOM_JDBC_CERT_STRING == STRING
    input.Body.ConnectionInput.ConnectionProperties.CONNECTION_URL == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_BOOTSTRAP_SERVERS == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_SSL_ENABLED == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_CUSTOM_CERT == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_SKIP_CUSTOM_CERT_VALIDATION == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_CLIENT_KEYSTORE == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_CLIENT_KEYSTORE_PASSWORD == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_CLIENT_KEY_PASSWORD == STRING
    input.Body.ConnectionInput.ConnectionProperties.ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD == STRING
    input.Body.ConnectionInput.ConnectionProperties.ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD == STRING
    input.Body.ConnectionInput.ConnectionProperties.SECRET_ID == STRING
    input.Body.ConnectionInput.ConnectionProperties.CONNECTOR_URL == STRING
    input.Body.ConnectionInput.ConnectionProperties.CONNECTOR_TYPE == STRING
    input.Body.ConnectionInput.ConnectionProperties.CONNECTOR_CLASS_NAME == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_SASL_MECHANISM == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_SASL_PLAIN_USERNAME == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_SASL_PLAIN_PASSWORD == STRING
    input.Body.ConnectionInput.ConnectionProperties.ENCRYPTED_KAFKA_SASL_PLAIN_PASSWORD == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_SASL_SCRAM_USERNAME == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_SASL_SCRAM_PASSWORD == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_SASL_SCRAM_SECRETS_ARN == STRING
    input.Body.ConnectionInput.ConnectionProperties.ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_SASL_GSSAPI_KEYTAB == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_SASL_GSSAPI_KRB5_CONF == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_SASL_GSSAPI_SERVICE == STRING
    input.Body.ConnectionInput.ConnectionProperties.KAFKA_SASL_GSSAPI_PRINCIPAL == STRING
    input.Body.ConnectionInput.ConnectionProperties.ROLE_ARN == STRING
    input.Body.ConnectionInput.ConnectionProperties.REGION == STRING
    input.Body.ConnectionInput.ConnectionProperties.WORKGROUP_NAME == STRING
    input.Body.ConnectionInput.ConnectionProperties.CLUSTER_IDENTIFIER == STRING
    input.Body.ConnectionInput.ConnectionProperties.DATABASE == STRING
    input.Body.ConnectionInput.AthenaProperties.STRING == STRING
    input.Body.ConnectionInput.PhysicalConnectionRequirements.SubnetId == STRING
    input.Body.ConnectionInput.PhysicalConnectionRequirements.SecurityGroupIdList[_] == STRING
    input.Body.ConnectionInput.PhysicalConnectionRequirements.AvailabilityZone == STRING
    input.Body.ConnectionInput.AuthenticationConfiguration.AuthenticationType == enum_AuthenticationType[_]
    input.Body.ConnectionInput.AuthenticationConfiguration.OAuth2Properties.OAuth2GrantType == enum_OAuth2GrantType[_]
    input.Body.ConnectionInput.AuthenticationConfiguration.OAuth2Properties.OAuth2ClientApplication.UserManagedClientApplicationClientId == STRING
    input.Body.ConnectionInput.AuthenticationConfiguration.OAuth2Properties.OAuth2ClientApplication.AWSManagedClientApplicationReference == STRING
    input.Body.ConnectionInput.AuthenticationConfiguration.OAuth2Properties.TokenUrl == STRING
    input.Body.ConnectionInput.AuthenticationConfiguration.OAuth2Properties.TokenUrlParametersMap.STRING == STRING
    input.Body.ConnectionInput.AuthenticationConfiguration.OAuth2Properties.AuthorizationCodeProperties.AuthorizationCode == STRING
    input.Body.ConnectionInput.AuthenticationConfiguration.OAuth2Properties.AuthorizationCodeProperties.RedirectUri == STRING
    input.Body.ConnectionInput.AuthenticationConfiguration.SecretArn == STRING
    input.Body.ConnectionInput.ValidateCredentials == BOOLEAN
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateCrawler

enum_CrawlerLineageSettings := [ "ENABLE", "DISABLE" ]
enum_DeleteBehavior := [ "LOG", "DELETE_FROM_DATABASE", "DEPRECATE_IN_DATABASE" ]
enum_JdbcMetadataEntry := [ "COMMENTS", "RAWTYPES" ]
enum_RecrawlBehavior := [ "CRAWL_EVERYTHING", "CRAWL_NEW_FOLDERS_ONLY", "CRAWL_EVENT_MODE" ]
enum_UpdateBehavior := [ "LOG", "UPDATE_IN_DATABASE" ]

valid {
    input.Body.Name == STRING
    input.Body.Role == STRING
    input.Body.DatabaseName == STRING
    input.Body.Description == STRING
    input.Body.Targets.S3Targets[_].Path == STRING
    input.Body.Targets.S3Targets[_].Exclusions[_] == STRING
    input.Body.Targets.S3Targets[_].ConnectionName == STRING
    input.Body.Targets.S3Targets[_].SampleSize == INTEGER
    input.Body.Targets.S3Targets[_].EventQueueArn == STRING
    input.Body.Targets.S3Targets[_].DlqEventQueueArn == STRING
    input.Body.Targets.JdbcTargets[_].ConnectionName == STRING
    input.Body.Targets.JdbcTargets[_].Path == STRING
    input.Body.Targets.JdbcTargets[_].Exclusions[_] == STRING
    input.Body.Targets.JdbcTargets[_].EnableAdditionalMetadata[_] == enum_JdbcMetadataEntry[_]
    input.Body.Targets.MongoDBTargets[_].ConnectionName == STRING
    input.Body.Targets.MongoDBTargets[_].Path == STRING
    input.Body.Targets.MongoDBTargets[_].ScanAll == BOOLEAN
    input.Body.Targets.DynamoDBTargets[_].Path == STRING
    input.Body.Targets.DynamoDBTargets[_].scanAll == BOOLEAN
    input.Body.Targets.DynamoDBTargets[_].scanRate == DOUBLE
    input.Body.Targets.CatalogTargets[_].DatabaseName == STRING
    input.Body.Targets.CatalogTargets[_].Tables[_] == STRING
    input.Body.Targets.CatalogTargets[_].ConnectionName == STRING
    input.Body.Targets.CatalogTargets[_].EventQueueArn == STRING
    input.Body.Targets.CatalogTargets[_].DlqEventQueueArn == STRING
    input.Body.Targets.DeltaTargets[_].DeltaTables[_] == STRING
    input.Body.Targets.DeltaTargets[_].ConnectionName == STRING
    input.Body.Targets.DeltaTargets[_].WriteManifest == BOOLEAN
    input.Body.Targets.DeltaTargets[_].CreateNativeDeltaTable == BOOLEAN
    input.Body.Targets.IcebergTargets[_].Paths[_] == STRING
    input.Body.Targets.IcebergTargets[_].ConnectionName == STRING
    input.Body.Targets.IcebergTargets[_].Exclusions[_] == STRING
    input.Body.Targets.IcebergTargets[_].MaximumTraversalDepth == INTEGER
    input.Body.Targets.HudiTargets[_].Paths[_] == STRING
    input.Body.Targets.HudiTargets[_].ConnectionName == STRING
    input.Body.Targets.HudiTargets[_].Exclusions[_] == STRING
    input.Body.Targets.HudiTargets[_].MaximumTraversalDepth == INTEGER
    input.Body.Schedule == STRING
    input.Body.Classifiers[_] == STRING
    input.Body.TablePrefix == STRING
    input.Body.SchemaChangePolicy.UpdateBehavior == enum_UpdateBehavior[_]
    input.Body.SchemaChangePolicy.DeleteBehavior == enum_DeleteBehavior[_]
    input.Body.RecrawlPolicy.RecrawlBehavior == enum_RecrawlBehavior[_]
    input.Body.LineageConfiguration.CrawlerLineageSettings == enum_CrawlerLineageSettings[_]
    input.Body.LakeFormationConfiguration.UseLakeFormationCredentials == BOOLEAN
    input.Body.LakeFormationConfiguration.AccountId == STRING
    input.Body.Configuration == STRING
    input.Body.CrawlerSecurityConfiguration == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateCustomEntityType

valid {
    input.Body.Name == STRING
    input.Body.RegexString == STRING
    input.Body.ContextWords[_] == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDataQualityRuleset

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.Ruleset == STRING
    input.Body.Tags.STRING == STRING
    input.Body.TargetTable.TableName == STRING
    input.Body.TargetTable.DatabaseName == STRING
    input.Body.TargetTable.CatalogId == STRING
    input.Body.DataQualitySecurityConfiguration == STRING
    input.Body.ClientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDatabase

enum_Permission := [ "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS" ]

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseInput.Name == STRING
    input.Body.DatabaseInput.Description == STRING
    input.Body.DatabaseInput.LocationUri == STRING
    input.Body.DatabaseInput.Parameters.STRING == STRING
    input.Body.DatabaseInput.CreateTableDefaultPermissions[_].Principal.DataLakePrincipalIdentifier == STRING
    input.Body.DatabaseInput.CreateTableDefaultPermissions[_].Permissions[_] == enum_Permission[_]
    input.Body.DatabaseInput.TargetDatabase.CatalogId == STRING
    input.Body.DatabaseInput.TargetDatabase.DatabaseName == STRING
    input.Body.DatabaseInput.TargetDatabase.Region == STRING
    input.Body.DatabaseInput.FederatedDatabase.Identifier == STRING
    input.Body.DatabaseInput.FederatedDatabase.ConnectionName == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDevEndpoint

enum_WorkerType := [ "Standard", "G.1X", "G.2X", "G.025X", "G.4X", "G.8X", "Z.2X" ]

valid {
    input.Body.EndpointName == STRING
    input.Body.RoleArn == STRING
    input.Body.SecurityGroupIds[_] == STRING
    input.Body.SubnetId == STRING
    input.Body.PublicKey == STRING
    input.Body.PublicKeys[_] == STRING
    input.Body.NumberOfNodes == INTEGER
    input.Body.WorkerType == enum_WorkerType[_]
    input.Body.GlueVersion == STRING
    input.Body.NumberOfWorkers == INTEGER
    input.Body.ExtraPythonLibsS3Path == STRING
    input.Body.ExtraJarsS3Path == STRING
    input.Body.SecurityConfiguration == STRING
    input.Body.Tags.STRING == STRING
    input.Body.Arguments.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateJob

enum_AggFunction := [ "avg", "countDistinct", "count", "first", "last", "kurtosis", "max", "min", "skewness", "stddev_samp", "stddev_pop", "sum", "sumDistinct", "var_samp", "var_pop" ]
enum_CompressionType := [ "gzip", "bzip2" ]
enum_DQStopJobOnFailureTiming := [ "Immediate", "AfterDataLoad" ]
enum_DQTransformOutput := [ "PrimaryInput", "EvaluationResults" ]
enum_DeltaTargetCompressionType := [ "uncompressed", "snappy" ]
enum_ExecutionClass := [ "FLEX", "STANDARD" ]
enum_FilterLogicalOperator := [ "AND", "OR" ]
enum_FilterOperation := [ "EQ", "LT", "GT", "LTE", "GTE", "REGEX", "ISNULL" ]
enum_FilterValueType := [ "COLUMNEXTRACTED", "CONSTANT" ]
enum_GlueRecordType := [ "DATE", "STRING", "TIMESTAMP", "INT", "FLOAT", "LONG", "BIGDECIMAL", "BYTE", "SHORT", "DOUBLE" ]
enum_HudiTargetCompressionType := [ "gzip", "lzo", "uncompressed", "snappy" ]
enum_JDBCConnectionType := [ "sqlserver", "mysql", "oracle", "postgresql", "redshift" ]
enum_JobMode := [ "SCRIPT", "VISUAL", "NOTEBOOK" ]
enum_JoinType := [ "equijoin", "left", "right", "outer", "leftsemi", "leftanti" ]
enum_ParamType := [ "str", "int", "float", "complex", "bool", "list", "null" ]
enum_ParquetCompressionType := [ "snappy", "lzo", "gzip", "uncompressed", "none" ]
enum_PiiType := [ "RowAudit", "RowMasking", "ColumnAudit", "ColumnMasking" ]
enum_QuoteChar := [ "quote", "quillemet", "single_quote", "disabled" ]
enum_Separator := [ "comma", "ctrla", "pipe", "semicolon", "tab" ]
enum_SourceControlAuthStrategy := [ "PERSONAL_ACCESS_TOKEN", "AWS_SECRETS_MANAGER" ]
enum_SourceControlProvider := [ "GITHUB", "GITLAB", "BITBUCKET", "AWS_CODE_COMMIT" ]
enum_StartingPosition := [ "latest", "trim_horizon", "earliest", "timestamp" ]
enum_TargetFormat := [ "json", "csv", "avro", "orc", "parquet", "hudi", "delta" ]
enum_UnionType := [ "ALL", "DISTINCT" ]
enum_UpdateCatalogBehavior := [ "UPDATE_IN_DATABASE", "LOG" ]
enum_WorkerType := [ "Standard", "G.1X", "G.2X", "G.025X", "G.4X", "G.8X", "Z.2X" ]

valid {
    input.Body.Name == STRING
    input.Body.JobMode == enum_JobMode[_]
    input.Body.JobRunQueuingEnabled == BOOLEAN
    input.Body.Description == STRING
    input.Body.LogUri == STRING
    input.Body.Role == STRING
    input.Body.ExecutionProperty.MaxConcurrentRuns == INTEGER
    input.Body.Command.Name == STRING
    input.Body.Command.ScriptLocation == STRING
    input.Body.Command.PythonVersion == STRING
    input.Body.Command.Runtime == STRING
    input.Body.DefaultArguments.STRING == STRING
    input.Body.NonOverridableArguments.STRING == STRING
    input.Body.Connections.Connections[_] == STRING
    input.Body.MaxRetries == INTEGER
    input.Body.AllocatedCapacity == INTEGER
    input.Body.Timeout == INTEGER
    input.Body.MaxCapacity == DOUBLE
    input.Body.SecurityConfiguration == STRING
    input.Body.Tags.STRING == STRING
    input.Body.NotificationProperty.NotifyDelayAfter == INTEGER
    input.Body.GlueVersion == STRING
    input.Body.NumberOfWorkers == INTEGER
    input.Body.WorkerType == enum_WorkerType[_]
    input.Body.CodeGenConfigurationNodes.STRING.AthenaConnectorSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AthenaConnectorSource.ConnectionName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AthenaConnectorSource.ConnectorName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AthenaConnectorSource.ConnectionType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AthenaConnectorSource.ConnectionTable == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AthenaConnectorSource.SchemaName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AthenaConnectorSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AthenaConnectorSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.ConnectionName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.ConnectorName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.ConnectionType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.FilterPredicate == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.PartitionColumn == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.LowerBound == LONG
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.UpperBound == LONG
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.NumPartitions == LONG
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.JobBookmarkKeys[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.JobBookmarkKeysSortOrder == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.ARRAY == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.BIGINT == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.BINARY == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.BIT == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.BLOB == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.BOOLEAN == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.CHAR == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.CLOB == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.DATALINK == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.DATE == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.DECIMAL == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.DISTINCT == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.DOUBLE == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.FLOAT == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.INTEGER == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.JAVA_OBJECT == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.LONGNVARCHAR == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.LONGVARBINARY == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.LONGVARCHAR == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.NCHAR == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.NCLOB == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.NULL == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.NUMERIC == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.NVARCHAR == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.OTHER == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.REAL == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.REF == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.REF_CURSOR == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.ROWID == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.SMALLINT == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.SQLXML == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.STRUCT == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.TIME == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.TIME_WITH_TIMEZONE == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.TIMESTAMP == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.TIMESTAMP_WITH_TIMEZONE == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.TINYINT == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.VARBINARY == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.AdditionalOptions.DataTypeMapping.VARCHAR == enum_GlueRecordType[_]
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.ConnectionTable == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.Query == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorSource.ConnectionName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorSource.ConnectorName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorSource.ConnectionType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorSource.AdditionalOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftSource.RedshiftTmpDir == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftSource.TmpDirIAMRole == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogSource.PartitionPredicate == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogSource.AdditionalOptions.BoundedSize == LONG
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogSource.AdditionalOptions.BoundedFiles == LONG
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.Paths[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.CompressionType == enum_CompressionType[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.Exclusions[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.GroupSize == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.GroupFiles == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.Recurse == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.MaxBand == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.MaxFilesInBand == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.AdditionalOptions.BoundedSize == LONG
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.AdditionalOptions.BoundedFiles == LONG
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.AdditionalOptions.EnableSamplePath == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.AdditionalOptions.SamplePath == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.Separator == enum_Separator[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.Escaper == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.QuoteChar == enum_QuoteChar[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.Multiline == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.WithHeader == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.WriteHeader == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.SkipFirst == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.OptimizePerformance == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CsvSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.Paths[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.CompressionType == enum_CompressionType[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.Exclusions[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.GroupSize == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.GroupFiles == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.Recurse == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.MaxBand == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.MaxFilesInBand == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.AdditionalOptions.BoundedSize == LONG
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.AdditionalOptions.BoundedFiles == LONG
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.AdditionalOptions.EnableSamplePath == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.AdditionalOptions.SamplePath == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.JsonPath == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.Multiline == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3JsonSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.Paths[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.CompressionType == enum_ParquetCompressionType[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.Exclusions[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.GroupSize == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.GroupFiles == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.Recurse == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.MaxBand == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.MaxFilesInBand == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.AdditionalOptions.BoundedSize == LONG
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.AdditionalOptions.BoundedFiles == LONG
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.AdditionalOptions.EnableSamplePath == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.AdditionalOptions.SamplePath == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3ParquetSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RelationalCatalogSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RelationalCatalogSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RelationalCatalogSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamoDBCatalogSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamoDBCatalogSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamoDBCatalogSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorTarget.ConnectionName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorTarget.ConnectionTable == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorTarget.ConnectorName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorTarget.ConnectionType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorTarget.AdditionalOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorTarget.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.JDBCConnectorTarget.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorTarget.ConnectionName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorTarget.ConnectorName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorTarget.ConnectionType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorTarget.AdditionalOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorTarget.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkConnectorTarget.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogTarget.PartitionKeys[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogTarget.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogTarget.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftTarget.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftTarget.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftTarget.RedshiftTmpDir == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftTarget.TmpDirIAMRole == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftTarget.UpsertRedshiftOptions.TableLocation == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftTarget.UpsertRedshiftOptions.ConnectionName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RedshiftTarget.UpsertRedshiftOptions.UpsertKeys[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogTarget.PartitionKeys[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogTarget.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogTarget.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogTarget.SchemaChangePolicy.EnableUpdateCatalog == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogTarget.SchemaChangePolicy.UpdateBehavior == enum_UpdateCatalogBehavior[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3GlueParquetTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3GlueParquetTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3GlueParquetTarget.PartitionKeys[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3GlueParquetTarget.Path == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3GlueParquetTarget.Compression == enum_ParquetCompressionType[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3GlueParquetTarget.SchemaChangePolicy.EnableUpdateCatalog == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3GlueParquetTarget.SchemaChangePolicy.UpdateBehavior == enum_UpdateCatalogBehavior[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3GlueParquetTarget.SchemaChangePolicy.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3GlueParquetTarget.SchemaChangePolicy.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DirectTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DirectTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DirectTarget.PartitionKeys[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DirectTarget.Path == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DirectTarget.Compression == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DirectTarget.Format == enum_TargetFormat[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3DirectTarget.SchemaChangePolicy.EnableUpdateCatalog == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3DirectTarget.SchemaChangePolicy.UpdateBehavior == enum_UpdateCatalogBehavior[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3DirectTarget.SchemaChangePolicy.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DirectTarget.SchemaChangePolicy.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ApplyMapping.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ApplyMapping.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ApplyMapping.Mapping[_].ToKey == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ApplyMapping.Mapping[_].FromPath[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ApplyMapping.Mapping[_].FromType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ApplyMapping.Mapping[_].ToType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ApplyMapping.Mapping[_].Dropped == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.ApplyMapping.Mapping[_].Children == NESTED
    input.Body.CodeGenConfigurationNodes.STRING.SelectFields.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SelectFields.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SelectFields.Paths[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DropFields.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DropFields.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DropFields.Paths[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RenameField.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RenameField.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RenameField.SourcePath[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.RenameField.TargetPath[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Spigot.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Spigot.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Spigot.Path == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Spigot.Topk == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.Spigot.Prob == DOUBLE
    input.Body.CodeGenConfigurationNodes.STRING.Join.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Join.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Join.JoinType == enum_JoinType[_]
    input.Body.CodeGenConfigurationNodes.STRING.Join.Columns[_].From == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Join.Columns[_].Keys[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SplitFields.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SplitFields.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SplitFields.Paths[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SelectFromCollection.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SelectFromCollection.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SelectFromCollection.Index == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.FillMissingValues.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.FillMissingValues.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.FillMissingValues.ImputedPath == STRING
    input.Body.CodeGenConfigurationNodes.STRING.FillMissingValues.FilledPath == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Filter.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Filter.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Filter.LogicalOperator == enum_FilterLogicalOperator[_]
    input.Body.CodeGenConfigurationNodes.STRING.Filter.Filters[_].Operation == enum_FilterOperation[_]
    input.Body.CodeGenConfigurationNodes.STRING.Filter.Filters[_].Negated == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.Filter.Filters[_].Values[_].Type == enum_FilterValueType[_]
    input.Body.CodeGenConfigurationNodes.STRING.Filter.Filters[_].Values[_].Value[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CustomCode.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CustomCode.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CustomCode.Code == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CustomCode.ClassName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CustomCode.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CustomCode.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkSQL.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkSQL.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkSQL.SqlQuery == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkSQL.SqlAliases[_].From == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkSQL.SqlAliases[_].Alias == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkSQL.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SparkSQL.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.WindowSize == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.DetectSchema == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.EndpointUrl == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.StreamName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.Classification == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.Delimiter == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.StartingPosition == enum_StartingPosition[_]
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.MaxFetchTimeInMs == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.MaxFetchRecordsPerShard == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.MaxRecordPerRead == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.AddIdleTimeBetweenReads == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.IdleTimeBetweenReadsInMs == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.DescribeShardInterval == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.NumRetries == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.RetryIntervalMs == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.MaxRetryIntervalMs == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.AvoidEmptyBatches == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.StreamArn == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.RoleArn == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.RoleSessionName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.AddRecordTimestamp == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.EmitConsumerLagMetrics == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.StreamingOptions.StartingTimestamp == TIMESTAMP
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.DataPreviewOptions.PollingTime == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKinesisSource.DataPreviewOptions.RecordPollingLimit == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.BootstrapServers == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.SecurityProtocol == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.ConnectionName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.TopicName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.Assign == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.SubscribePattern == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.Classification == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.Delimiter == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.StartingOffsets == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.EndingOffsets == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.PollTimeoutMs == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.NumRetries == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.RetryIntervalMs == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.MaxOffsetsPerTrigger == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.MinPartitions == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.IncludeHeaders == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.AddRecordTimestamp == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.EmitConsumerLagMetrics == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.StreamingOptions.StartingTimestamp == TIMESTAMP
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.WindowSize == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.DetectSchema == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.DataPreviewOptions.PollingTime == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DirectKafkaSource.DataPreviewOptions.RecordPollingLimit == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.WindowSize == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.DetectSchema == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.EndpointUrl == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.StreamName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.Classification == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.Delimiter == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.StartingPosition == enum_StartingPosition[_]
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.MaxFetchTimeInMs == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.MaxFetchRecordsPerShard == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.MaxRecordPerRead == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.AddIdleTimeBetweenReads == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.IdleTimeBetweenReadsInMs == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.DescribeShardInterval == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.NumRetries == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.RetryIntervalMs == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.MaxRetryIntervalMs == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.AvoidEmptyBatches == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.StreamArn == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.RoleArn == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.RoleSessionName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.AddRecordTimestamp == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.EmitConsumerLagMetrics == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.StreamingOptions.StartingTimestamp == TIMESTAMP
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.DataPreviewOptions.PollingTime == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKinesisSource.DataPreviewOptions.RecordPollingLimit == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.WindowSize == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.DetectSchema == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.BootstrapServers == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.SecurityProtocol == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.ConnectionName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.TopicName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.Assign == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.SubscribePattern == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.Classification == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.Delimiter == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.StartingOffsets == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.EndingOffsets == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.PollTimeoutMs == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.NumRetries == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.RetryIntervalMs == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.MaxOffsetsPerTrigger == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.MinPartitions == INTEGER
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.IncludeHeaders == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.AddRecordTimestamp == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.EmitConsumerLagMetrics == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.StreamingOptions.StartingTimestamp == TIMESTAMP
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.DataPreviewOptions.PollingTime == LONG
    input.Body.CodeGenConfigurationNodes.STRING.CatalogKafkaSource.DataPreviewOptions.RecordPollingLimit == LONG
    input.Body.CodeGenConfigurationNodes.STRING.DropNullFields.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DropNullFields.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DropNullFields.NullCheckBoxList.IsEmpty == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.DropNullFields.NullCheckBoxList.IsNullString == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.DropNullFields.NullCheckBoxList.IsNegOne == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.DropNullFields.NullTextList[_].Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DropNullFields.NullTextList[_].Datatype.Id == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DropNullFields.NullTextList[_].Datatype.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Merge.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Merge.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Merge.Source == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Merge.PrimaryKeys[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Union.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Union.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Union.UnionType == enum_UnionType[_]
    input.Body.CodeGenConfigurationNodes.STRING.PIIDetection.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.PIIDetection.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.PIIDetection.PiiType == enum_PiiType[_]
    input.Body.CodeGenConfigurationNodes.STRING.PIIDetection.EntityTypesToDetect[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.PIIDetection.OutputColumnName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.PIIDetection.SampleFraction == DOUBLE
    input.Body.CodeGenConfigurationNodes.STRING.PIIDetection.ThresholdFraction == DOUBLE
    input.Body.CodeGenConfigurationNodes.STRING.PIIDetection.MaskValue == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Aggregate.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Aggregate.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Aggregate.Groups[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Aggregate.Aggs[_].Column[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Aggregate.Aggs[_].AggFunc == enum_AggFunction[_]
    input.Body.CodeGenConfigurationNodes.STRING.DropDuplicates.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DropDuplicates.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DropDuplicates.Columns[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogTarget.PartitionKeys[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogTarget.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogTarget.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogTarget.SchemaChangePolicy.EnableUpdateCatalog == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogTarget.SchemaChangePolicy.UpdateBehavior == enum_UpdateCatalogBehavior[_]
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogSource.PartitionPredicate == STRING
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogSource.AdditionalOptions.BoundedSize == LONG
    input.Body.CodeGenConfigurationNodes.STRING.GovernedCatalogSource.AdditionalOptions.BoundedFiles == LONG
    input.Body.CodeGenConfigurationNodes.STRING.MicrosoftSQLServerCatalogSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MicrosoftSQLServerCatalogSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MicrosoftSQLServerCatalogSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MySQLCatalogSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MySQLCatalogSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MySQLCatalogSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.OracleSQLCatalogSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.OracleSQLCatalogSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.OracleSQLCatalogSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.PostgreSQLCatalogSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.PostgreSQLCatalogSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.PostgreSQLCatalogSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MicrosoftSQLServerCatalogTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MicrosoftSQLServerCatalogTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MicrosoftSQLServerCatalogTarget.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MicrosoftSQLServerCatalogTarget.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MySQLCatalogTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MySQLCatalogTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MySQLCatalogTarget.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.MySQLCatalogTarget.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.OracleSQLCatalogTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.OracleSQLCatalogTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.OracleSQLCatalogTarget.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.OracleSQLCatalogTarget.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.PostgreSQLCatalogTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.PostgreSQLCatalogTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.PostgreSQLCatalogTarget.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.PostgreSQLCatalogTarget.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.TransformName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.Parameters[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.Parameters[_].Type == enum_ParamType[_]
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.Parameters[_].ValidationRule == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.Parameters[_].ValidationMessage == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.Parameters[_].Value[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.Parameters[_].ListType == enum_ParamType[_]
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.Parameters[_].IsOptional == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.FunctionName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.Path == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.Version == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DynamicTransform.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQuality.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQuality.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQuality.Ruleset == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQuality.Output == enum_DQTransformOutput[_]
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQuality.PublishingOptions.EvaluationContext == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQuality.PublishingOptions.ResultsS3Prefix == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQuality.PublishingOptions.CloudWatchMetricsEnabled == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQuality.PublishingOptions.ResultsPublishingEnabled == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQuality.StopJobOnFailureOptions.StopJobOnFailureTiming == enum_DQStopJobOnFailureTiming[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogHudiSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogHudiSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogHudiSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogHudiSource.AdditionalHudiOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogHudiSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogHudiSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogHudiSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogHudiSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogHudiSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogHudiSource.AdditionalHudiOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogHudiSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogHudiSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiSource.Paths[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiSource.AdditionalHudiOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiSource.AdditionalOptions.BoundedSize == LONG
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiSource.AdditionalOptions.BoundedFiles == LONG
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiSource.AdditionalOptions.EnableSamplePath == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiSource.AdditionalOptions.SamplePath == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiCatalogTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiCatalogTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiCatalogTarget.PartitionKeys[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiCatalogTarget.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiCatalogTarget.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiCatalogTarget.AdditionalOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiCatalogTarget.SchemaChangePolicy.EnableUpdateCatalog == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiCatalogTarget.SchemaChangePolicy.UpdateBehavior == enum_UpdateCatalogBehavior[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiDirectTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiDirectTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiDirectTarget.Path == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiDirectTarget.Compression == enum_HudiTargetCompressionType[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiDirectTarget.PartitionKeys[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiDirectTarget.Format == enum_TargetFormat[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiDirectTarget.AdditionalOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiDirectTarget.SchemaChangePolicy.EnableUpdateCatalog == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiDirectTarget.SchemaChangePolicy.UpdateBehavior == enum_UpdateCatalogBehavior[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiDirectTarget.SchemaChangePolicy.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3HudiDirectTarget.SchemaChangePolicy.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectJDBCSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectJDBCSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectJDBCSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectJDBCSource.ConnectionName == STRING
    input.Body.CodeGenConfigurationNodes.STRING.DirectJDBCSource.ConnectionType == enum_JDBCConnectionType[_]
    input.Body.CodeGenConfigurationNodes.STRING.DirectJDBCSource.RedshiftTmpDir == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogDeltaSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogDeltaSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogDeltaSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogDeltaSource.AdditionalDeltaOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogDeltaSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3CatalogDeltaSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogDeltaSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogDeltaSource.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogDeltaSource.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogDeltaSource.AdditionalDeltaOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogDeltaSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.CatalogDeltaSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaSource.Paths[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaSource.AdditionalDeltaOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaSource.AdditionalOptions.BoundedSize == LONG
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaSource.AdditionalOptions.BoundedFiles == LONG
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaSource.AdditionalOptions.EnableSamplePath == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaSource.AdditionalOptions.SamplePath == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaCatalogTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaCatalogTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaCatalogTarget.PartitionKeys[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaCatalogTarget.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaCatalogTarget.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaCatalogTarget.AdditionalOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaCatalogTarget.SchemaChangePolicy.EnableUpdateCatalog == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaCatalogTarget.SchemaChangePolicy.UpdateBehavior == enum_UpdateCatalogBehavior[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaDirectTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaDirectTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaDirectTarget.PartitionKeys[_][_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaDirectTarget.Path == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaDirectTarget.Compression == enum_DeltaTargetCompressionType[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaDirectTarget.Format == enum_TargetFormat[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaDirectTarget.AdditionalOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaDirectTarget.SchemaChangePolicy.EnableUpdateCatalog == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaDirectTarget.SchemaChangePolicy.UpdateBehavior == enum_UpdateCatalogBehavior[_]
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaDirectTarget.SchemaChangePolicy.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.S3DeltaDirectTarget.SchemaChangePolicy.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.AccessType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.SourceType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.Connection.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.Connection.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.Connection.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.Schema.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.Schema.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.Schema.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.Table.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.Table.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.Table.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.CatalogDatabase.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.CatalogDatabase.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.CatalogDatabase.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.CatalogTable.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.CatalogTable.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.CatalogTable.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.CatalogRedshiftSchema == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.CatalogRedshiftTable == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.TempDir == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.IamRole.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.IamRole.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.IamRole.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.AdvancedOptions[_].Key == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.AdvancedOptions[_].Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.SampleQuery == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.PreAction == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.PostAction == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.Action == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.TablePrefix == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.Upsert == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.MergeAction == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.MergeWhenMatched == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.MergeWhenNotMatched == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.MergeClause == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.CrawlerConnection == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.TableSchema[_].Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.TableSchema[_].Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.TableSchema[_].Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.StagingTable == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.SelectedColumns[_].Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.SelectedColumns[_].Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftSource.Data.SelectedColumns[_].Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.AccessType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.SourceType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.Connection.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.Connection.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.Connection.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.Schema.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.Schema.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.Schema.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.Table.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.Table.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.Table.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.CatalogDatabase.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.CatalogDatabase.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.CatalogDatabase.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.CatalogTable.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.CatalogTable.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.CatalogTable.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.CatalogRedshiftSchema == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.CatalogRedshiftTable == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.TempDir == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.IamRole.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.IamRole.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.IamRole.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.AdvancedOptions[_].Key == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.AdvancedOptions[_].Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.SampleQuery == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.PreAction == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.PostAction == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.Action == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.TablePrefix == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.Upsert == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.MergeAction == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.MergeWhenMatched == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.MergeWhenNotMatched == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.MergeClause == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.CrawlerConnection == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.TableSchema[_].Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.TableSchema[_].Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.TableSchema[_].Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.StagingTable == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.SelectedColumns[_].Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.SelectedColumns[_].Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Data.SelectedColumns[_].Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.AmazonRedshiftTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQualityMultiFrame.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQualityMultiFrame.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQualityMultiFrame.AdditionalDataSources.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQualityMultiFrame.Ruleset == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQualityMultiFrame.PublishingOptions.EvaluationContext == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQualityMultiFrame.PublishingOptions.ResultsS3Prefix == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQualityMultiFrame.PublishingOptions.CloudWatchMetricsEnabled == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQualityMultiFrame.PublishingOptions.ResultsPublishingEnabled == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQualityMultiFrame.AdditionalOptions.performanceTuning.caching == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQualityMultiFrame.AdditionalOptions.observations.scope == STRING
    input.Body.CodeGenConfigurationNodes.STRING.EvaluateDataQualityMultiFrame.StopJobOnFailureOptions.StopJobOnFailureTiming == enum_DQStopJobOnFailureTiming[_]
    input.Body.CodeGenConfigurationNodes.STRING.Recipe.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Recipe.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Recipe.RecipeReference.RecipeArn == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Recipe.RecipeReference.RecipeVersion == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Recipe.RecipeSteps[_].Action.Operation == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Recipe.RecipeSteps[_].Action.Parameters.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Recipe.RecipeSteps[_].ConditionExpressions[_].Condition == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Recipe.RecipeSteps[_].ConditionExpressions[_].Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.Recipe.RecipeSteps[_].ConditionExpressions[_].TargetColumn == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.SourceType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.Connection.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.Connection.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.Connection.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.Schema == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.TempDir == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.IamRole.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.IamRole.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.IamRole.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.AdditionalOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.SampleQuery == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.PreAction == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.PostAction == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.Action == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.Upsert == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.MergeAction == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.MergeWhenMatched == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.MergeWhenNotMatched == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.MergeClause == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.StagingTable == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.SelectedColumns[_].Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.SelectedColumns[_].Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.SelectedColumns[_].Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.AutoPushdown == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.TableSchema[_].Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.TableSchema[_].Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.Data.TableSchema[_].Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.SourceType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.Connection.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.Connection.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.Connection.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.Schema == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.Table == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.Database == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.TempDir == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.IamRole.Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.IamRole.Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.IamRole.Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.AdditionalOptions.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.SampleQuery == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.PreAction == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.PostAction == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.Action == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.Upsert == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.MergeAction == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.MergeWhenMatched == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.MergeWhenNotMatched == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.MergeClause == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.StagingTable == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.SelectedColumns[_].Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.SelectedColumns[_].Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.SelectedColumns[_].Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.AutoPushdown == BOOLEAN
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.TableSchema[_].Value == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.TableSchema[_].Label == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Data.TableSchema[_].Description == STRING
    input.Body.CodeGenConfigurationNodes.STRING.SnowflakeTarget.Inputs[_] == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ConnectorDataSource.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ConnectorDataSource.ConnectionType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ConnectorDataSource.Data.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ConnectorDataSource.OutputSchemas[_].Columns[_].Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ConnectorDataSource.OutputSchemas[_].Columns[_].Type == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ConnectorDataTarget.Name == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ConnectorDataTarget.ConnectionType == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ConnectorDataTarget.Data.STRING == STRING
    input.Body.CodeGenConfigurationNodes.STRING.ConnectorDataTarget.Inputs[_] == STRING
    input.Body.ExecutionClass == enum_ExecutionClass[_]
    input.Body.SourceControlDetails.Provider == enum_SourceControlProvider[_]
    input.Body.SourceControlDetails.Repository == STRING
    input.Body.SourceControlDetails.Owner == STRING
    input.Body.SourceControlDetails.Branch == STRING
    input.Body.SourceControlDetails.Folder == STRING
    input.Body.SourceControlDetails.LastCommitId == STRING
    input.Body.SourceControlDetails.AuthStrategy == enum_SourceControlAuthStrategy[_]
    input.Body.SourceControlDetails.AuthToken == STRING
    input.Body.MaintenanceWindow == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateMLTransform

enum_MLUserDataEncryptionModeString := [ "DISABLED", "SSE-KMS" ]
enum_TransformType := [ "FIND_MATCHES" ]
enum_WorkerType := [ "Standard", "G.1X", "G.2X", "G.025X", "G.4X", "G.8X", "Z.2X" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.InputRecordTables[_].DatabaseName == STRING
    input.Body.InputRecordTables[_].TableName == STRING
    input.Body.InputRecordTables[_].CatalogId == STRING
    input.Body.InputRecordTables[_].ConnectionName == STRING
    input.Body.InputRecordTables[_].AdditionalOptions.STRING == STRING
    input.Body.Parameters.TransformType == enum_TransformType[_]
    input.Body.Parameters.FindMatchesParameters.PrimaryKeyColumnName == STRING
    input.Body.Parameters.FindMatchesParameters.PrecisionRecallTradeoff == DOUBLE
    input.Body.Parameters.FindMatchesParameters.AccuracyCostTradeoff == DOUBLE
    input.Body.Parameters.FindMatchesParameters.EnforceProvidedLabels == BOOLEAN
    input.Body.Role == STRING
    input.Body.GlueVersion == STRING
    input.Body.MaxCapacity == DOUBLE
    input.Body.WorkerType == enum_WorkerType[_]
    input.Body.NumberOfWorkers == INTEGER
    input.Body.Timeout == INTEGER
    input.Body.MaxRetries == INTEGER
    input.Body.Tags.STRING == STRING
    input.Body.TransformEncryption.MlUserDataEncryption.MlUserDataEncryptionMode == enum_MLUserDataEncryptionModeString[_]
    input.Body.TransformEncryption.MlUserDataEncryption.KmsKeyId == STRING
    input.Body.TransformEncryption.TaskRunSecurityConfigurationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreatePartition

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.PartitionInput.Values[_] == STRING
    input.Body.PartitionInput.LastAccessTime == TIMESTAMP
    input.Body.PartitionInput.StorageDescriptor.Columns[_].Name == STRING
    input.Body.PartitionInput.StorageDescriptor.Columns[_].Type == STRING
    input.Body.PartitionInput.StorageDescriptor.Columns[_].Comment == STRING
    input.Body.PartitionInput.StorageDescriptor.Columns[_].Parameters.STRING == STRING
    input.Body.PartitionInput.StorageDescriptor.Location == STRING
    input.Body.PartitionInput.StorageDescriptor.AdditionalLocations[_] == STRING
    input.Body.PartitionInput.StorageDescriptor.InputFormat == STRING
    input.Body.PartitionInput.StorageDescriptor.OutputFormat == STRING
    input.Body.PartitionInput.StorageDescriptor.Compressed == BOOLEAN
    input.Body.PartitionInput.StorageDescriptor.NumberOfBuckets == INTEGER
    input.Body.PartitionInput.StorageDescriptor.SerdeInfo.Name == STRING
    input.Body.PartitionInput.StorageDescriptor.SerdeInfo.SerializationLibrary == STRING
    input.Body.PartitionInput.StorageDescriptor.SerdeInfo.Parameters.STRING == STRING
    input.Body.PartitionInput.StorageDescriptor.BucketColumns[_] == STRING
    input.Body.PartitionInput.StorageDescriptor.SortColumns[_].Column == STRING
    input.Body.PartitionInput.StorageDescriptor.SortColumns[_].SortOrder == INTEGER
    input.Body.PartitionInput.StorageDescriptor.Parameters.STRING == STRING
    input.Body.PartitionInput.StorageDescriptor.SkewedInfo.SkewedColumnNames[_] == STRING
    input.Body.PartitionInput.StorageDescriptor.SkewedInfo.SkewedColumnValues[_] == STRING
    input.Body.PartitionInput.StorageDescriptor.SkewedInfo.SkewedColumnValueLocationMaps.STRING == STRING
    input.Body.PartitionInput.StorageDescriptor.StoredAsSubDirectories == BOOLEAN
    input.Body.PartitionInput.StorageDescriptor.SchemaReference.SchemaId.SchemaArn == STRING
    input.Body.PartitionInput.StorageDescriptor.SchemaReference.SchemaId.SchemaName == STRING
    input.Body.PartitionInput.StorageDescriptor.SchemaReference.SchemaId.RegistryName == STRING
    input.Body.PartitionInput.StorageDescriptor.SchemaReference.SchemaVersionId == STRING
    input.Body.PartitionInput.StorageDescriptor.SchemaReference.SchemaVersionNumber == LONG
    input.Body.PartitionInput.Parameters.STRING == STRING
    input.Body.PartitionInput.LastAnalyzedTime == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreatePartitionIndex

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.PartitionIndex.Keys[_] == STRING
    input.Body.PartitionIndex.IndexName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateRegistry

valid {
    input.Body.RegistryName == STRING
    input.Body.Description == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSchema

enum_Compatibility := [ "NONE", "DISABLED", "BACKWARD", "BACKWARD_ALL", "FORWARD", "FORWARD_ALL", "FULL", "FULL_ALL" ]
enum_DataFormat := [ "AVRO", "JSON", "PROTOBUF" ]

valid {
    input.Body.RegistryId.RegistryName == STRING
    input.Body.RegistryId.RegistryArn == STRING
    input.Body.SchemaName == STRING
    input.Body.DataFormat == enum_DataFormat[_]
    input.Body.Compatibility == enum_Compatibility[_]
    input.Body.Description == STRING
    input.Body.Tags.STRING == STRING
    input.Body.SchemaDefinition == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateScript

enum_Language := [ "PYTHON", "SCALA" ]

valid {
    input.Body.DagNodes[_].Id == STRING
    input.Body.DagNodes[_].NodeType == STRING
    input.Body.DagNodes[_].Args[_].Name == STRING
    input.Body.DagNodes[_].Args[_].Value == STRING
    input.Body.DagNodes[_].Args[_].Param == BOOLEAN
    input.Body.DagNodes[_].LineNumber == INTEGER
    input.Body.DagEdges[_].Source == STRING
    input.Body.DagEdges[_].Target == STRING
    input.Body.DagEdges[_].TargetParameter == STRING
    input.Body.Language == enum_Language[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSecurityConfiguration

enum_CloudWatchEncryptionMode := [ "DISABLED", "SSE-KMS" ]
enum_JobBookmarksEncryptionMode := [ "DISABLED", "CSE-KMS" ]
enum_S3EncryptionMode := [ "DISABLED", "SSE-KMS", "SSE-S3" ]

valid {
    input.Body.Name == STRING
    input.Body.EncryptionConfiguration.S3Encryption[_].S3EncryptionMode == enum_S3EncryptionMode[_]
    input.Body.EncryptionConfiguration.S3Encryption[_].KmsKeyArn == STRING
    input.Body.EncryptionConfiguration.CloudWatchEncryption.CloudWatchEncryptionMode == enum_CloudWatchEncryptionMode[_]
    input.Body.EncryptionConfiguration.CloudWatchEncryption.KmsKeyArn == STRING
    input.Body.EncryptionConfiguration.JobBookmarksEncryption.JobBookmarksEncryptionMode == enum_JobBookmarksEncryptionMode[_]
    input.Body.EncryptionConfiguration.JobBookmarksEncryption.KmsKeyArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSession

enum_WorkerType := [ "Standard", "G.1X", "G.2X", "G.025X", "G.4X", "G.8X", "Z.2X" ]

valid {
    input.Body.Id == STRING
    input.Body.Description == STRING
    input.Body.Role == STRING
    input.Body.Command.Name == STRING
    input.Body.Command.PythonVersion == STRING
    input.Body.Timeout == INTEGER
    input.Body.IdleTimeout == INTEGER
    input.Body.DefaultArguments.STRING == STRING
    input.Body.Connections.Connections[_] == STRING
    input.Body.MaxCapacity == DOUBLE
    input.Body.NumberOfWorkers == INTEGER
    input.Body.WorkerType == enum_WorkerType[_]
    input.Body.SecurityConfiguration == STRING
    input.Body.GlueVersion == STRING
    input.Body.Tags.STRING == STRING
    input.Body.RequestOrigin == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateTable

enum_MetadataOperation := [ "CREATE" ]
enum_ViewDialect := [ "REDSHIFT", "ATHENA", "SPARK" ]

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableInput.Name == STRING
    input.Body.TableInput.Description == STRING
    input.Body.TableInput.Owner == STRING
    input.Body.TableInput.LastAccessTime == TIMESTAMP
    input.Body.TableInput.LastAnalyzedTime == TIMESTAMP
    input.Body.TableInput.Retention == INTEGER
    input.Body.TableInput.StorageDescriptor.Columns[_].Name == STRING
    input.Body.TableInput.StorageDescriptor.Columns[_].Type == STRING
    input.Body.TableInput.StorageDescriptor.Columns[_].Comment == STRING
    input.Body.TableInput.StorageDescriptor.Columns[_].Parameters.STRING == STRING
    input.Body.TableInput.StorageDescriptor.Location == STRING
    input.Body.TableInput.StorageDescriptor.AdditionalLocations[_] == STRING
    input.Body.TableInput.StorageDescriptor.InputFormat == STRING
    input.Body.TableInput.StorageDescriptor.OutputFormat == STRING
    input.Body.TableInput.StorageDescriptor.Compressed == BOOLEAN
    input.Body.TableInput.StorageDescriptor.NumberOfBuckets == INTEGER
    input.Body.TableInput.StorageDescriptor.SerdeInfo.Name == STRING
    input.Body.TableInput.StorageDescriptor.SerdeInfo.SerializationLibrary == STRING
    input.Body.TableInput.StorageDescriptor.SerdeInfo.Parameters.STRING == STRING
    input.Body.TableInput.StorageDescriptor.BucketColumns[_] == STRING
    input.Body.TableInput.StorageDescriptor.SortColumns[_].Column == STRING
    input.Body.TableInput.StorageDescriptor.SortColumns[_].SortOrder == INTEGER
    input.Body.TableInput.StorageDescriptor.Parameters.STRING == STRING
    input.Body.TableInput.StorageDescriptor.SkewedInfo.SkewedColumnNames[_] == STRING
    input.Body.TableInput.StorageDescriptor.SkewedInfo.SkewedColumnValues[_] == STRING
    input.Body.TableInput.StorageDescriptor.SkewedInfo.SkewedColumnValueLocationMaps.STRING == STRING
    input.Body.TableInput.StorageDescriptor.StoredAsSubDirectories == BOOLEAN
    input.Body.TableInput.StorageDescriptor.SchemaReference.SchemaId.SchemaArn == STRING
    input.Body.TableInput.StorageDescriptor.SchemaReference.SchemaId.SchemaName == STRING
    input.Body.TableInput.StorageDescriptor.SchemaReference.SchemaId.RegistryName == STRING
    input.Body.TableInput.StorageDescriptor.SchemaReference.SchemaVersionId == STRING
    input.Body.TableInput.StorageDescriptor.SchemaReference.SchemaVersionNumber == LONG
    input.Body.TableInput.PartitionKeys[_].Name == STRING
    input.Body.TableInput.PartitionKeys[_].Type == STRING
    input.Body.TableInput.PartitionKeys[_].Comment == STRING
    input.Body.TableInput.PartitionKeys[_].Parameters.STRING == STRING
    input.Body.TableInput.ViewOriginalText == STRING
    input.Body.TableInput.ViewExpandedText == STRING
    input.Body.TableInput.TableType == STRING
    input.Body.TableInput.Parameters.STRING == STRING
    input.Body.TableInput.TargetTable.CatalogId == STRING
    input.Body.TableInput.TargetTable.DatabaseName == STRING
    input.Body.TableInput.TargetTable.Name == STRING
    input.Body.TableInput.TargetTable.Region == STRING
    input.Body.TableInput.ViewDefinition.IsProtected == BOOLEAN
    input.Body.TableInput.ViewDefinition.Definer == STRING
    input.Body.TableInput.ViewDefinition.Representations[_].Dialect == enum_ViewDialect[_]
    input.Body.TableInput.ViewDefinition.Representations[_].DialectVersion == STRING
    input.Body.TableInput.ViewDefinition.Representations[_].ViewOriginalText == STRING
    input.Body.TableInput.ViewDefinition.Representations[_].ValidationConnection == STRING
    input.Body.TableInput.ViewDefinition.Representations[_].ViewExpandedText == STRING
    input.Body.TableInput.ViewDefinition.SubObjects[_] == STRING
    input.Body.PartitionIndexes[_].Keys[_] == STRING
    input.Body.PartitionIndexes[_].IndexName == STRING
    input.Body.TransactionId == STRING
    input.Body.OpenTableFormatInput.IcebergInput.MetadataOperation == enum_MetadataOperation[_]
    input.Body.OpenTableFormatInput.IcebergInput.Version == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateTableOptimizer

enum_TableOptimizerType := [ "compaction", "retention", "orphan_file_deletion" ]

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.Type == enum_TableOptimizerType[_]
    input.Body.TableOptimizerConfiguration.roleArn == STRING
    input.Body.TableOptimizerConfiguration.enabled == BOOLEAN
    input.Body.TableOptimizerConfiguration.retentionConfiguration.icebergConfiguration.snapshotRetentionPeriodInDays == INTEGER
    input.Body.TableOptimizerConfiguration.retentionConfiguration.icebergConfiguration.numberOfSnapshotsToRetain == INTEGER
    input.Body.TableOptimizerConfiguration.retentionConfiguration.icebergConfiguration.cleanExpiredFiles == BOOLEAN
    input.Body.TableOptimizerConfiguration.orphanFileDeletionConfiguration.icebergConfiguration.orphanFileRetentionPeriodInDays == INTEGER
    input.Body.TableOptimizerConfiguration.orphanFileDeletionConfiguration.icebergConfiguration.location == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateTrigger

enum_CrawlState := [ "RUNNING", "CANCELLING", "CANCELLED", "SUCCEEDED", "FAILED", "ERROR" ]
enum_JobRunState := [ "STARTING", "RUNNING", "STOPPING", "STOPPED", "SUCCEEDED", "FAILED", "TIMEOUT", "ERROR", "WAITING", "EXPIRED" ]
enum_Logical := [ "AND", "ANY" ]
enum_LogicalOperator := [ "EQUALS" ]
enum_TriggerType := [ "SCHEDULED", "CONDITIONAL", "ON_DEMAND", "EVENT" ]

valid {
    input.Body.Name == STRING
    input.Body.WorkflowName == STRING
    input.Body.Type == enum_TriggerType[_]
    input.Body.Schedule == STRING
    input.Body.Predicate.Logical == enum_Logical[_]
    input.Body.Predicate.Conditions[_].LogicalOperator == enum_LogicalOperator[_]
    input.Body.Predicate.Conditions[_].JobName == STRING
    input.Body.Predicate.Conditions[_].State == enum_JobRunState[_]
    input.Body.Predicate.Conditions[_].CrawlerName == STRING
    input.Body.Predicate.Conditions[_].CrawlState == enum_CrawlState[_]
    input.Body.Actions[_].JobName == STRING
    input.Body.Actions[_].Arguments.STRING == STRING
    input.Body.Actions[_].Timeout == INTEGER
    input.Body.Actions[_].SecurityConfiguration == STRING
    input.Body.Actions[_].NotificationProperty.NotifyDelayAfter == INTEGER
    input.Body.Actions[_].CrawlerName == STRING
    input.Body.Description == STRING
    input.Body.StartOnCreation == BOOLEAN
    input.Body.Tags.STRING == STRING
    input.Body.EventBatchingCondition.BatchSize == INTEGER
    input.Body.EventBatchingCondition.BatchWindow == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateUsageProfile

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.Configuration.SessionConfiguration.STRING.DefaultValue == STRING
    input.Body.Configuration.SessionConfiguration.STRING.AllowedValues[_] == STRING
    input.Body.Configuration.SessionConfiguration.STRING.MinValue == STRING
    input.Body.Configuration.SessionConfiguration.STRING.MaxValue == STRING
    input.Body.Configuration.JobConfiguration.STRING.DefaultValue == STRING
    input.Body.Configuration.JobConfiguration.STRING.AllowedValues[_] == STRING
    input.Body.Configuration.JobConfiguration.STRING.MinValue == STRING
    input.Body.Configuration.JobConfiguration.STRING.MaxValue == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateUserDefinedFunction

enum_PrincipalType := [ "USER", "ROLE", "GROUP" ]
enum_ResourceType := [ "JAR", "FILE", "ARCHIVE" ]

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.FunctionInput.FunctionName == STRING
    input.Body.FunctionInput.ClassName == STRING
    input.Body.FunctionInput.OwnerName == STRING
    input.Body.FunctionInput.OwnerType == enum_PrincipalType[_]
    input.Body.FunctionInput.ResourceUris[_].ResourceType == enum_ResourceType[_]
    input.Body.FunctionInput.ResourceUris[_].Uri == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateWorkflow

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.DefaultRunProperties.STRING == STRING
    input.Body.Tags.STRING == STRING
    input.Body.MaxConcurrentRuns == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteBlueprint

valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteClassifier

valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteColumnStatisticsForPartition

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.PartitionValues[_] == STRING
    input.Body.ColumnName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteColumnStatisticsForTable

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.ColumnName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteConnection

valid {
    input.Body.CatalogId == STRING
    input.Body.ConnectionName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteCrawler

valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteCustomEntityType

valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDataQualityRuleset

valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDatabase

valid {
    input.Body.CatalogId == STRING
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDevEndpoint

valid {
    input.Body.EndpointName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteJob

valid {
    input.Body.JobName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteMLTransform

valid {
    input.Body.TransformId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeletePartition

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.PartitionValues[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeletePartitionIndex

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.IndexName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteRegistry

valid {
    input.Body.RegistryId.RegistryName == STRING
    input.Body.RegistryId.RegistryArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteResourcePolicy

valid {
    input.Body.PolicyHashCondition == STRING
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteSchema

valid {
    input.Body.SchemaId.SchemaArn == STRING
    input.Body.SchemaId.SchemaName == STRING
    input.Body.SchemaId.RegistryName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteSchemaVersions

valid {
    input.Body.SchemaId.SchemaArn == STRING
    input.Body.SchemaId.SchemaName == STRING
    input.Body.SchemaId.RegistryName == STRING
    input.Body.Versions == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteSecurityConfiguration

valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteSession

valid {
    input.Body.Id == STRING
    input.Body.RequestOrigin == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteTable

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.Name == STRING
    input.Body.TransactionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteTableOptimizer

enum_TableOptimizerType := [ "compaction", "retention", "orphan_file_deletion" ]

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.Type == enum_TableOptimizerType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteTableVersion

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.VersionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteTrigger

valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteUsageProfile

valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteUserDefinedFunction

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.FunctionName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteWorkflow

valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetBlueprint

valid {
    input.Body.Name == STRING
    input.Body.IncludeBlueprint == BOOLEAN
    input.Body.IncludeParameterSpec == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetBlueprintRun

valid {
    input.Body.BlueprintName == STRING
    input.Body.RunId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetBlueprintRuns

valid {
    input.Body.BlueprintName == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetCatalogImportStatus

valid {
    input.Body.CatalogId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetClassifier

valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetClassifiers

valid {
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetColumnStatisticsForPartition

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.PartitionValues[_] == STRING
    input.Body.ColumnNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetColumnStatisticsForTable

valid {
    input.Body.CatalogId == STRING
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.ColumnNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetColumnStatisticsTaskRun

valid {
    input.Body.ColumnStatisticsTaskRunId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetColumnStatisticsTaskRuns

valid {
    input.Body.DatabaseName == STRING
    input.Body.TableName == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetConnection

valid {
    input.Body.CatalogId == STRING
    input.Body.Name == STRING
    input.Body.HidePassword == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetConnections

enum_ConnectionType := [ "JDBC", "SFTP", "MONGODB", "KAFKA", "NETWORK", "MARKETPLACE", "CUSTOM", "SALESFORCE", "VIEW_VALIDATION_REDSHIFT", "VIEW_VALIDATION_ATHENA" ]

valid {
    input.Body.CatalogId == STRING
    input.Body.Filter.MatchCriteria[_] == STRING
    input.Body.Filter.ConnectionType == enum_ConnectionType[_]
    input.Body.HidePassword == BOOLEAN
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetCrawler

valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetCrawlerMetrics

valid {
    input.Body.CrawlerNameList[_] == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetCrawlers

valid {
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetCustomEntityType