All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.glue.model.CodeGenConfigurationNode.kt Maven / Gradle / Ivy

There is a newer version: 1.3.76
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.glue.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * `CodeGenConfigurationNode` enumerates all valid Node types. One and only one of its member variables can be populated.
 */
public class CodeGenConfigurationNode private constructor(builder: Builder) {
    /**
     * Specifies a transform that groups rows by chosen fields and computes the aggregated value by specified function.
     */
    public val aggregate: aws.sdk.kotlin.services.glue.model.Aggregate? = builder.aggregate
    /**
     * Specifies a target that writes to a data source in Amazon Redshift.
     */
    public val amazonRedshiftSource: aws.sdk.kotlin.services.glue.model.AmazonRedshiftSource? = builder.amazonRedshiftSource
    /**
     * Specifies a target that writes to a data target in Amazon Redshift.
     */
    public val amazonRedshiftTarget: aws.sdk.kotlin.services.glue.model.AmazonRedshiftTarget? = builder.amazonRedshiftTarget
    /**
     * Specifies a transform that maps data property keys in the data source to data property keys in the data target. You can rename keys, modify the data types for keys, and choose which keys to drop from the dataset.
     */
    public val applyMapping: aws.sdk.kotlin.services.glue.model.ApplyMapping? = builder.applyMapping
    /**
     * Specifies a connector to an Amazon Athena data source.
     */
    public val athenaConnectorSource: aws.sdk.kotlin.services.glue.model.AthenaConnectorSource? = builder.athenaConnectorSource
    /**
     * Specifies a Delta Lake data source that is registered in the Glue Data Catalog.
     */
    public val catalogDeltaSource: aws.sdk.kotlin.services.glue.model.CatalogDeltaSource? = builder.catalogDeltaSource
    /**
     * Specifies a Hudi data source that is registered in the Glue Data Catalog.
     */
    public val catalogHudiSource: aws.sdk.kotlin.services.glue.model.CatalogHudiSource? = builder.catalogHudiSource
    /**
     * Specifies an Apache Kafka data store in the Data Catalog.
     */
    public val catalogKafkaSource: aws.sdk.kotlin.services.glue.model.CatalogKafkaSource? = builder.catalogKafkaSource
    /**
     * Specifies a Kinesis data source in the Glue Data Catalog.
     */
    public val catalogKinesisSource: aws.sdk.kotlin.services.glue.model.CatalogKinesisSource? = builder.catalogKinesisSource
    /**
     * Specifies a data store in the Glue Data Catalog.
     */
    public val catalogSource: aws.sdk.kotlin.services.glue.model.CatalogSource? = builder.catalogSource
    /**
     * Specifies a target that uses a Glue Data Catalog table.
     */
    public val catalogTarget: aws.sdk.kotlin.services.glue.model.BasicCatalogTarget? = builder.catalogTarget
    /**
     * Specifies a source generated with standard connection options.
     */
    public val connectorDataSource: aws.sdk.kotlin.services.glue.model.ConnectorDataSource? = builder.connectorDataSource
    /**
     * Specifies a target generated with standard connection options.
     */
    public val connectorDataTarget: aws.sdk.kotlin.services.glue.model.ConnectorDataTarget? = builder.connectorDataTarget
    /**
     * Specifies a transform that uses custom code you provide to perform the data transformation. The output is a collection of DynamicFrames.
     */
    public val customCode: aws.sdk.kotlin.services.glue.model.CustomCode? = builder.customCode
    /**
     * Specifies the direct JDBC source connection.
     */
    public val directJdbcSource: aws.sdk.kotlin.services.glue.model.DirectJdbcSource? = builder.directJdbcSource
    /**
     * Specifies an Apache Kafka data store.
     */
    public val directKafkaSource: aws.sdk.kotlin.services.glue.model.DirectKafkaSource? = builder.directKafkaSource
    /**
     * Specifies a direct Amazon Kinesis data source.
     */
    public val directKinesisSource: aws.sdk.kotlin.services.glue.model.DirectKinesisSource? = builder.directKinesisSource
    /**
     * Specifies a transform that removes rows of repeating data from a data set.
     */
    public val dropDuplicates: aws.sdk.kotlin.services.glue.model.DropDuplicates? = builder.dropDuplicates
    /**
     * Specifies a transform that chooses the data property keys that you want to drop.
     */
    public val dropFields: aws.sdk.kotlin.services.glue.model.DropFields? = builder.dropFields
    /**
     * Specifies a transform that removes columns from the dataset if all values in the column are 'null'. By default, Glue Studio will recognize null objects, but some values such as empty strings, strings that are "null", -1 integers or other placeholders such as zeros, are not automatically recognized as nulls.
     */
    public val dropNullFields: aws.sdk.kotlin.services.glue.model.DropNullFields? = builder.dropNullFields
    /**
     * Specifies a custom visual transform created by a user.
     */
    public val dynamicTransform: aws.sdk.kotlin.services.glue.model.DynamicTransform? = builder.dynamicTransform
    /**
     * Specifies a DynamoDBC Catalog data store in the Glue Data Catalog.
     */
    public val dynamoDbCatalogSource: aws.sdk.kotlin.services.glue.model.DynamoDbCatalogSource? = builder.dynamoDbCatalogSource
    /**
     * Specifies your data quality evaluation criteria.
     */
    public val evaluateDataQuality: aws.sdk.kotlin.services.glue.model.EvaluateDataQuality? = builder.evaluateDataQuality
    /**
     * Specifies your data quality evaluation criteria. Allows multiple input data and returns a collection of Dynamic Frames.
     */
    public val evaluateDataQualityMultiFrame: aws.sdk.kotlin.services.glue.model.EvaluateDataQualityMultiFrame? = builder.evaluateDataQualityMultiFrame
    /**
     * Specifies a transform that locates records in the dataset that have missing values and adds a new field with a value determined by imputation. The input data set is used to train the machine learning model that determines what the missing value should be.
     */
    public val fillMissingValues: aws.sdk.kotlin.services.glue.model.FillMissingValues? = builder.fillMissingValues
    /**
     * Specifies a transform that splits a dataset into two, based on a filter condition.
     */
    public val filter: aws.sdk.kotlin.services.glue.model.Filter? = builder.filter
    /**
     * Specifies a data source in a goverened Data Catalog.
     */
    public val governedCatalogSource: aws.sdk.kotlin.services.glue.model.GovernedCatalogSource? = builder.governedCatalogSource
    /**
     * Specifies a data target that writes to a goverened catalog.
     */
    public val governedCatalogTarget: aws.sdk.kotlin.services.glue.model.GovernedCatalogTarget? = builder.governedCatalogTarget
    /**
     * Specifies a connector to a JDBC data source.
     */
    public val jdbcConnectorSource: aws.sdk.kotlin.services.glue.model.JdbcConnectorSource? = builder.jdbcConnectorSource
    /**
     * Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.
     */
    public val jdbcConnectorTarget: aws.sdk.kotlin.services.glue.model.JdbcConnectorTarget? = builder.jdbcConnectorTarget
    /**
     * Specifies a transform that joins two datasets into one dataset using a comparison phrase on the specified data property keys. You can use inner, outer, left, right, left semi, and left anti joins.
     */
    public val join: aws.sdk.kotlin.services.glue.model.Join? = builder.join
    /**
     * Specifies a transform that merges a `DynamicFrame` with a staging `DynamicFrame` based on the specified primary keys to identify records. Duplicate records (records with the same primary keys) are not de-duplicated.
     */
    public val merge: aws.sdk.kotlin.services.glue.model.Merge? = builder.merge
    /**
     * Specifies a Microsoft SQL server data source in the Glue Data Catalog.
     */
    public val microsoftSqlServerCatalogSource: aws.sdk.kotlin.services.glue.model.MicrosoftSqlServerCatalogSource? = builder.microsoftSqlServerCatalogSource
    /**
     * Specifies a target that uses Microsoft SQL.
     */
    public val microsoftSqlServerCatalogTarget: aws.sdk.kotlin.services.glue.model.MicrosoftSqlServerCatalogTarget? = builder.microsoftSqlServerCatalogTarget
    /**
     * Specifies a MySQL data source in the Glue Data Catalog.
     */
    public val mySqlCatalogSource: aws.sdk.kotlin.services.glue.model.MySqlCatalogSource? = builder.mySqlCatalogSource
    /**
     * Specifies a target that uses MySQL.
     */
    public val mySqlCatalogTarget: aws.sdk.kotlin.services.glue.model.MySqlCatalogTarget? = builder.mySqlCatalogTarget
    /**
     * Specifies an Oracle data source in the Glue Data Catalog.
     */
    public val oracleSqlCatalogSource: aws.sdk.kotlin.services.glue.model.OracleSqlCatalogSource? = builder.oracleSqlCatalogSource
    /**
     * Specifies a target that uses Oracle SQL.
     */
    public val oracleSqlCatalogTarget: aws.sdk.kotlin.services.glue.model.OracleSqlCatalogTarget? = builder.oracleSqlCatalogTarget
    /**
     * Specifies a transform that identifies, removes or masks PII data.
     */
    public val piiDetection: aws.sdk.kotlin.services.glue.model.PiiDetection? = builder.piiDetection
    /**
     * Specifies a PostgresSQL data source in the Glue Data Catalog.
     */
    public val postgreSqlCatalogSource: aws.sdk.kotlin.services.glue.model.PostgreSqlCatalogSource? = builder.postgreSqlCatalogSource
    /**
     * Specifies a target that uses Postgres SQL.
     */
    public val postgreSqlCatalogTarget: aws.sdk.kotlin.services.glue.model.PostgreSqlCatalogTarget? = builder.postgreSqlCatalogTarget
    /**
     * Specifies a Glue DataBrew recipe node.
     */
    public val recipe: aws.sdk.kotlin.services.glue.model.Recipe? = builder.recipe
    /**
     * Specifies an Amazon Redshift data store.
     */
    public val redshiftSource: aws.sdk.kotlin.services.glue.model.RedshiftSource? = builder.redshiftSource
    /**
     * Specifies a target that uses Amazon Redshift.
     */
    public val redshiftTarget: aws.sdk.kotlin.services.glue.model.RedshiftTarget? = builder.redshiftTarget
    /**
     * Specifies a relational catalog data store in the Glue Data Catalog.
     */
    public val relationalCatalogSource: aws.sdk.kotlin.services.glue.model.RelationalCatalogSource? = builder.relationalCatalogSource
    /**
     * Specifies a transform that renames a single data property key.
     */
    public val renameField: aws.sdk.kotlin.services.glue.model.RenameField? = builder.renameField
    /**
     * Specifies a Delta Lake data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.
     */
    public val s3CatalogDeltaSource: aws.sdk.kotlin.services.glue.model.S3CatalogDeltaSource? = builder.s3CatalogDeltaSource
    /**
     * Specifies a Hudi data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.
     */
    public val s3CatalogHudiSource: aws.sdk.kotlin.services.glue.model.S3CatalogHudiSource? = builder.s3CatalogHudiSource
    /**
     * Specifies an Amazon S3 data store in the Glue Data Catalog.
     */
    public val s3CatalogSource: aws.sdk.kotlin.services.glue.model.S3CatalogSource? = builder.s3CatalogSource
    /**
     * Specifies a data target that writes to Amazon S3 using the Glue Data Catalog.
     */
    public val s3CatalogTarget: aws.sdk.kotlin.services.glue.model.S3CatalogTarget? = builder.s3CatalogTarget
    /**
     * Specifies a command-separated value (CSV) data store stored in Amazon S3.
     */
    public val s3CsvSource: aws.sdk.kotlin.services.glue.model.S3CsvSource? = builder.s3CsvSource
    /**
     * Specifies a target that writes to a Delta Lake data source in the Glue Data Catalog.
     */
    public val s3DeltaCatalogTarget: aws.sdk.kotlin.services.glue.model.S3DeltaCatalogTarget? = builder.s3DeltaCatalogTarget
    /**
     * Specifies a target that writes to a Delta Lake data source in Amazon S3.
     */
    public val s3DeltaDirectTarget: aws.sdk.kotlin.services.glue.model.S3DeltaDirectTarget? = builder.s3DeltaDirectTarget
    /**
     * Specifies a Delta Lake data source stored in Amazon S3.
     */
    public val s3DeltaSource: aws.sdk.kotlin.services.glue.model.S3DeltaSource? = builder.s3DeltaSource
    /**
     * Specifies a data target that writes to Amazon S3.
     */
    public val s3DirectTarget: aws.sdk.kotlin.services.glue.model.S3DirectTarget? = builder.s3DirectTarget
    /**
     * Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.
     */
    public val s3GlueParquetTarget: aws.sdk.kotlin.services.glue.model.S3GlueParquetTarget? = builder.s3GlueParquetTarget
    /**
     * Specifies a target that writes to a Hudi data source in the Glue Data Catalog.
     */
    public val s3HudiCatalogTarget: aws.sdk.kotlin.services.glue.model.S3HudiCatalogTarget? = builder.s3HudiCatalogTarget
    /**
     * Specifies a target that writes to a Hudi data source in Amazon S3.
     */
    public val s3HudiDirectTarget: aws.sdk.kotlin.services.glue.model.S3HudiDirectTarget? = builder.s3HudiDirectTarget
    /**
     * Specifies a Hudi data source stored in Amazon S3.
     */
    public val s3HudiSource: aws.sdk.kotlin.services.glue.model.S3HudiSource? = builder.s3HudiSource
    /**
     * Specifies a JSON data store stored in Amazon S3.
     */
    public val s3JsonSource: aws.sdk.kotlin.services.glue.model.S3JsonSource? = builder.s3JsonSource
    /**
     * Specifies an Apache Parquet data store stored in Amazon S3.
     */
    public val s3ParquetSource: aws.sdk.kotlin.services.glue.model.S3ParquetSource? = builder.s3ParquetSource
    /**
     * Specifies a transform that chooses the data property keys that you want to keep.
     */
    public val selectFields: aws.sdk.kotlin.services.glue.model.SelectFields? = builder.selectFields
    /**
     * Specifies a transform that chooses one `DynamicFrame` from a collection of `DynamicFrames`. The output is the selected `DynamicFrame`
     */
    public val selectFromCollection: aws.sdk.kotlin.services.glue.model.SelectFromCollection? = builder.selectFromCollection
    /**
     * Specifies a Snowflake data source.
     */
    public val snowflakeSource: aws.sdk.kotlin.services.glue.model.SnowflakeSource? = builder.snowflakeSource
    /**
     * Specifies a target that writes to a Snowflake data source.
     */
    public val snowflakeTarget: aws.sdk.kotlin.services.glue.model.SnowflakeTarget? = builder.snowflakeTarget
    /**
     * Specifies a connector to an Apache Spark data source.
     */
    public val sparkConnectorSource: aws.sdk.kotlin.services.glue.model.SparkConnectorSource? = builder.sparkConnectorSource
    /**
     * Specifies a target that uses an Apache Spark connector.
     */
    public val sparkConnectorTarget: aws.sdk.kotlin.services.glue.model.SparkConnectorTarget? = builder.sparkConnectorTarget
    /**
     * Specifies a transform where you enter a SQL query using Spark SQL syntax to transform the data. The output is a single `DynamicFrame`.
     */
    public val sparkSql: aws.sdk.kotlin.services.glue.model.SparkSql? = builder.sparkSql
    /**
     * Specifies a transform that writes samples of the data to an Amazon S3 bucket.
     */
    public val spigot: aws.sdk.kotlin.services.glue.model.Spigot? = builder.spigot
    /**
     * Specifies a transform that splits data property keys into two `DynamicFrames`. The output is a collection of `DynamicFrames`: one with selected data property keys, and one with the remaining data property keys.
     */
    public val splitFields: aws.sdk.kotlin.services.glue.model.SplitFields? = builder.splitFields
    /**
     * Specifies a transform that combines the rows from two or more datasets into a single result.
     */
    public val union: aws.sdk.kotlin.services.glue.model.Union? = builder.union

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.glue.model.CodeGenConfigurationNode = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("CodeGenConfigurationNode(")
        append("aggregate=$aggregate,")
        append("amazonRedshiftSource=$amazonRedshiftSource,")
        append("amazonRedshiftTarget=$amazonRedshiftTarget,")
        append("applyMapping=$applyMapping,")
        append("athenaConnectorSource=$athenaConnectorSource,")
        append("catalogDeltaSource=$catalogDeltaSource,")
        append("catalogHudiSource=$catalogHudiSource,")
        append("catalogKafkaSource=$catalogKafkaSource,")
        append("catalogKinesisSource=$catalogKinesisSource,")
        append("catalogSource=$catalogSource,")
        append("catalogTarget=$catalogTarget,")
        append("connectorDataSource=$connectorDataSource,")
        append("connectorDataTarget=$connectorDataTarget,")
        append("customCode=$customCode,")
        append("directJdbcSource=$directJdbcSource,")
        append("directKafkaSource=$directKafkaSource,")
        append("directKinesisSource=$directKinesisSource,")
        append("dropDuplicates=$dropDuplicates,")
        append("dropFields=$dropFields,")
        append("dropNullFields=$dropNullFields,")
        append("dynamicTransform=$dynamicTransform,")
        append("dynamoDbCatalogSource=$dynamoDbCatalogSource,")
        append("evaluateDataQuality=$evaluateDataQuality,")
        append("evaluateDataQualityMultiFrame=$evaluateDataQualityMultiFrame,")
        append("fillMissingValues=$fillMissingValues,")
        append("filter=$filter,")
        append("governedCatalogSource=$governedCatalogSource,")
        append("governedCatalogTarget=$governedCatalogTarget,")
        append("jdbcConnectorSource=$jdbcConnectorSource,")
        append("jdbcConnectorTarget=$jdbcConnectorTarget,")
        append("join=$join,")
        append("merge=$merge,")
        append("microsoftSqlServerCatalogSource=$microsoftSqlServerCatalogSource,")
        append("microsoftSqlServerCatalogTarget=$microsoftSqlServerCatalogTarget,")
        append("mySqlCatalogSource=$mySqlCatalogSource,")
        append("mySqlCatalogTarget=$mySqlCatalogTarget,")
        append("oracleSqlCatalogSource=$oracleSqlCatalogSource,")
        append("oracleSqlCatalogTarget=$oracleSqlCatalogTarget,")
        append("piiDetection=$piiDetection,")
        append("postgreSqlCatalogSource=$postgreSqlCatalogSource,")
        append("postgreSqlCatalogTarget=$postgreSqlCatalogTarget,")
        append("recipe=$recipe,")
        append("redshiftSource=$redshiftSource,")
        append("redshiftTarget=$redshiftTarget,")
        append("relationalCatalogSource=$relationalCatalogSource,")
        append("renameField=$renameField,")
        append("s3CatalogDeltaSource=$s3CatalogDeltaSource,")
        append("s3CatalogHudiSource=$s3CatalogHudiSource,")
        append("s3CatalogSource=$s3CatalogSource,")
        append("s3CatalogTarget=$s3CatalogTarget,")
        append("s3CsvSource=$s3CsvSource,")
        append("s3DeltaCatalogTarget=$s3DeltaCatalogTarget,")
        append("s3DeltaDirectTarget=$s3DeltaDirectTarget,")
        append("s3DeltaSource=$s3DeltaSource,")
        append("s3DirectTarget=$s3DirectTarget,")
        append("s3GlueParquetTarget=$s3GlueParquetTarget,")
        append("s3HudiCatalogTarget=$s3HudiCatalogTarget,")
        append("s3HudiDirectTarget=$s3HudiDirectTarget,")
        append("s3HudiSource=$s3HudiSource,")
        append("s3JsonSource=$s3JsonSource,")
        append("s3ParquetSource=$s3ParquetSource,")
        append("selectFields=$selectFields,")
        append("selectFromCollection=$selectFromCollection,")
        append("snowflakeSource=$snowflakeSource,")
        append("snowflakeTarget=$snowflakeTarget,")
        append("sparkConnectorSource=$sparkConnectorSource,")
        append("sparkConnectorTarget=$sparkConnectorTarget,")
        append("sparkSql=$sparkSql,")
        append("spigot=$spigot,")
        append("splitFields=$splitFields,")
        append("union=$union")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = aggregate?.hashCode() ?: 0
        result = 31 * result + (amazonRedshiftSource?.hashCode() ?: 0)
        result = 31 * result + (amazonRedshiftTarget?.hashCode() ?: 0)
        result = 31 * result + (applyMapping?.hashCode() ?: 0)
        result = 31 * result + (athenaConnectorSource?.hashCode() ?: 0)
        result = 31 * result + (catalogDeltaSource?.hashCode() ?: 0)
        result = 31 * result + (catalogHudiSource?.hashCode() ?: 0)
        result = 31 * result + (catalogKafkaSource?.hashCode() ?: 0)
        result = 31 * result + (catalogKinesisSource?.hashCode() ?: 0)
        result = 31 * result + (catalogSource?.hashCode() ?: 0)
        result = 31 * result + (catalogTarget?.hashCode() ?: 0)
        result = 31 * result + (connectorDataSource?.hashCode() ?: 0)
        result = 31 * result + (connectorDataTarget?.hashCode() ?: 0)
        result = 31 * result + (customCode?.hashCode() ?: 0)
        result = 31 * result + (directJdbcSource?.hashCode() ?: 0)
        result = 31 * result + (directKafkaSource?.hashCode() ?: 0)
        result = 31 * result + (directKinesisSource?.hashCode() ?: 0)
        result = 31 * result + (dropDuplicates?.hashCode() ?: 0)
        result = 31 * result + (dropFields?.hashCode() ?: 0)
        result = 31 * result + (dropNullFields?.hashCode() ?: 0)
        result = 31 * result + (dynamicTransform?.hashCode() ?: 0)
        result = 31 * result + (dynamoDbCatalogSource?.hashCode() ?: 0)
        result = 31 * result + (evaluateDataQuality?.hashCode() ?: 0)
        result = 31 * result + (evaluateDataQualityMultiFrame?.hashCode() ?: 0)
        result = 31 * result + (fillMissingValues?.hashCode() ?: 0)
        result = 31 * result + (filter?.hashCode() ?: 0)
        result = 31 * result + (governedCatalogSource?.hashCode() ?: 0)
        result = 31 * result + (governedCatalogTarget?.hashCode() ?: 0)
        result = 31 * result + (jdbcConnectorSource?.hashCode() ?: 0)
        result = 31 * result + (jdbcConnectorTarget?.hashCode() ?: 0)
        result = 31 * result + (join?.hashCode() ?: 0)
        result = 31 * result + (merge?.hashCode() ?: 0)
        result = 31 * result + (microsoftSqlServerCatalogSource?.hashCode() ?: 0)
        result = 31 * result + (microsoftSqlServerCatalogTarget?.hashCode() ?: 0)
        result = 31 * result + (mySqlCatalogSource?.hashCode() ?: 0)
        result = 31 * result + (mySqlCatalogTarget?.hashCode() ?: 0)
        result = 31 * result + (oracleSqlCatalogSource?.hashCode() ?: 0)
        result = 31 * result + (oracleSqlCatalogTarget?.hashCode() ?: 0)
        result = 31 * result + (piiDetection?.hashCode() ?: 0)
        result = 31 * result + (postgreSqlCatalogSource?.hashCode() ?: 0)
        result = 31 * result + (postgreSqlCatalogTarget?.hashCode() ?: 0)
        result = 31 * result + (recipe?.hashCode() ?: 0)
        result = 31 * result + (redshiftSource?.hashCode() ?: 0)
        result = 31 * result + (redshiftTarget?.hashCode() ?: 0)
        result = 31 * result + (relationalCatalogSource?.hashCode() ?: 0)
        result = 31 * result + (renameField?.hashCode() ?: 0)
        result = 31 * result + (s3CatalogDeltaSource?.hashCode() ?: 0)
        result = 31 * result + (s3CatalogHudiSource?.hashCode() ?: 0)
        result = 31 * result + (s3CatalogSource?.hashCode() ?: 0)
        result = 31 * result + (s3CatalogTarget?.hashCode() ?: 0)
        result = 31 * result + (s3CsvSource?.hashCode() ?: 0)
        result = 31 * result + (s3DeltaCatalogTarget?.hashCode() ?: 0)
        result = 31 * result + (s3DeltaDirectTarget?.hashCode() ?: 0)
        result = 31 * result + (s3DeltaSource?.hashCode() ?: 0)
        result = 31 * result + (s3DirectTarget?.hashCode() ?: 0)
        result = 31 * result + (s3GlueParquetTarget?.hashCode() ?: 0)
        result = 31 * result + (s3HudiCatalogTarget?.hashCode() ?: 0)
        result = 31 * result + (s3HudiDirectTarget?.hashCode() ?: 0)
        result = 31 * result + (s3HudiSource?.hashCode() ?: 0)
        result = 31 * result + (s3JsonSource?.hashCode() ?: 0)
        result = 31 * result + (s3ParquetSource?.hashCode() ?: 0)
        result = 31 * result + (selectFields?.hashCode() ?: 0)
        result = 31 * result + (selectFromCollection?.hashCode() ?: 0)
        result = 31 * result + (snowflakeSource?.hashCode() ?: 0)
        result = 31 * result + (snowflakeTarget?.hashCode() ?: 0)
        result = 31 * result + (sparkConnectorSource?.hashCode() ?: 0)
        result = 31 * result + (sparkConnectorTarget?.hashCode() ?: 0)
        result = 31 * result + (sparkSql?.hashCode() ?: 0)
        result = 31 * result + (spigot?.hashCode() ?: 0)
        result = 31 * result + (splitFields?.hashCode() ?: 0)
        result = 31 * result + (union?.hashCode() ?: 0)
        return result
    }

    override fun equals(other: kotlin.Any?): kotlin.Boolean {
        if (this === other) return true
        if (other == null || this::class != other::class) return false

        other as CodeGenConfigurationNode

        if (aggregate != other.aggregate) return false
        if (amazonRedshiftSource != other.amazonRedshiftSource) return false
        if (amazonRedshiftTarget != other.amazonRedshiftTarget) return false
        if (applyMapping != other.applyMapping) return false
        if (athenaConnectorSource != other.athenaConnectorSource) return false
        if (catalogDeltaSource != other.catalogDeltaSource) return false
        if (catalogHudiSource != other.catalogHudiSource) return false
        if (catalogKafkaSource != other.catalogKafkaSource) return false
        if (catalogKinesisSource != other.catalogKinesisSource) return false
        if (catalogSource != other.catalogSource) return false
        if (catalogTarget != other.catalogTarget) return false
        if (connectorDataSource != other.connectorDataSource) return false
        if (connectorDataTarget != other.connectorDataTarget) return false
        if (customCode != other.customCode) return false
        if (directJdbcSource != other.directJdbcSource) return false
        if (directKafkaSource != other.directKafkaSource) return false
        if (directKinesisSource != other.directKinesisSource) return false
        if (dropDuplicates != other.dropDuplicates) return false
        if (dropFields != other.dropFields) return false
        if (dropNullFields != other.dropNullFields) return false
        if (dynamicTransform != other.dynamicTransform) return false
        if (dynamoDbCatalogSource != other.dynamoDbCatalogSource) return false
        if (evaluateDataQuality != other.evaluateDataQuality) return false
        if (evaluateDataQualityMultiFrame != other.evaluateDataQualityMultiFrame) return false
        if (fillMissingValues != other.fillMissingValues) return false
        if (filter != other.filter) return false
        if (governedCatalogSource != other.governedCatalogSource) return false
        if (governedCatalogTarget != other.governedCatalogTarget) return false
        if (jdbcConnectorSource != other.jdbcConnectorSource) return false
        if (jdbcConnectorTarget != other.jdbcConnectorTarget) return false
        if (join != other.join) return false
        if (merge != other.merge) return false
        if (microsoftSqlServerCatalogSource != other.microsoftSqlServerCatalogSource) return false
        if (microsoftSqlServerCatalogTarget != other.microsoftSqlServerCatalogTarget) return false
        if (mySqlCatalogSource != other.mySqlCatalogSource) return false
        if (mySqlCatalogTarget != other.mySqlCatalogTarget) return false
        if (oracleSqlCatalogSource != other.oracleSqlCatalogSource) return false
        if (oracleSqlCatalogTarget != other.oracleSqlCatalogTarget) return false
        if (piiDetection != other.piiDetection) return false
        if (postgreSqlCatalogSource != other.postgreSqlCatalogSource) return false
        if (postgreSqlCatalogTarget != other.postgreSqlCatalogTarget) return false
        if (recipe != other.recipe) return false
        if (redshiftSource != other.redshiftSource) return false
        if (redshiftTarget != other.redshiftTarget) return false
        if (relationalCatalogSource != other.relationalCatalogSource) return false
        if (renameField != other.renameField) return false
        if (s3CatalogDeltaSource != other.s3CatalogDeltaSource) return false
        if (s3CatalogHudiSource != other.s3CatalogHudiSource) return false
        if (s3CatalogSource != other.s3CatalogSource) return false
        if (s3CatalogTarget != other.s3CatalogTarget) return false
        if (s3CsvSource != other.s3CsvSource) return false
        if (s3DeltaCatalogTarget != other.s3DeltaCatalogTarget) return false
        if (s3DeltaDirectTarget != other.s3DeltaDirectTarget) return false
        if (s3DeltaSource != other.s3DeltaSource) return false
        if (s3DirectTarget != other.s3DirectTarget) return false
        if (s3GlueParquetTarget != other.s3GlueParquetTarget) return false
        if (s3HudiCatalogTarget != other.s3HudiCatalogTarget) return false
        if (s3HudiDirectTarget != other.s3HudiDirectTarget) return false
        if (s3HudiSource != other.s3HudiSource) return false
        if (s3JsonSource != other.s3JsonSource) return false
        if (s3ParquetSource != other.s3ParquetSource) return false
        if (selectFields != other.selectFields) return false
        if (selectFromCollection != other.selectFromCollection) return false
        if (snowflakeSource != other.snowflakeSource) return false
        if (snowflakeTarget != other.snowflakeTarget) return false
        if (sparkConnectorSource != other.sparkConnectorSource) return false
        if (sparkConnectorTarget != other.sparkConnectorTarget) return false
        if (sparkSql != other.sparkSql) return false
        if (spigot != other.spigot) return false
        if (splitFields != other.splitFields) return false
        if (union != other.union) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.glue.model.CodeGenConfigurationNode = Builder(this).apply(block).build()

    @SdkDsl
    public class Builder {
        /**
         * Specifies a transform that groups rows by chosen fields and computes the aggregated value by specified function.
         */
        public var aggregate: aws.sdk.kotlin.services.glue.model.Aggregate? = null
        /**
         * Specifies a target that writes to a data source in Amazon Redshift.
         */
        public var amazonRedshiftSource: aws.sdk.kotlin.services.glue.model.AmazonRedshiftSource? = null
        /**
         * Specifies a target that writes to a data target in Amazon Redshift.
         */
        public var amazonRedshiftTarget: aws.sdk.kotlin.services.glue.model.AmazonRedshiftTarget? = null
        /**
         * Specifies a transform that maps data property keys in the data source to data property keys in the data target. You can rename keys, modify the data types for keys, and choose which keys to drop from the dataset.
         */
        public var applyMapping: aws.sdk.kotlin.services.glue.model.ApplyMapping? = null
        /**
         * Specifies a connector to an Amazon Athena data source.
         */
        public var athenaConnectorSource: aws.sdk.kotlin.services.glue.model.AthenaConnectorSource? = null
        /**
         * Specifies a Delta Lake data source that is registered in the Glue Data Catalog.
         */
        public var catalogDeltaSource: aws.sdk.kotlin.services.glue.model.CatalogDeltaSource? = null
        /**
         * Specifies a Hudi data source that is registered in the Glue Data Catalog.
         */
        public var catalogHudiSource: aws.sdk.kotlin.services.glue.model.CatalogHudiSource? = null
        /**
         * Specifies an Apache Kafka data store in the Data Catalog.
         */
        public var catalogKafkaSource: aws.sdk.kotlin.services.glue.model.CatalogKafkaSource? = null
        /**
         * Specifies a Kinesis data source in the Glue Data Catalog.
         */
        public var catalogKinesisSource: aws.sdk.kotlin.services.glue.model.CatalogKinesisSource? = null
        /**
         * Specifies a data store in the Glue Data Catalog.
         */
        public var catalogSource: aws.sdk.kotlin.services.glue.model.CatalogSource? = null
        /**
         * Specifies a target that uses a Glue Data Catalog table.
         */
        public var catalogTarget: aws.sdk.kotlin.services.glue.model.BasicCatalogTarget? = null
        /**
         * Specifies a source generated with standard connection options.
         */
        public var connectorDataSource: aws.sdk.kotlin.services.glue.model.ConnectorDataSource? = null
        /**
         * Specifies a target generated with standard connection options.
         */
        public var connectorDataTarget: aws.sdk.kotlin.services.glue.model.ConnectorDataTarget? = null
        /**
         * Specifies a transform that uses custom code you provide to perform the data transformation. The output is a collection of DynamicFrames.
         */
        public var customCode: aws.sdk.kotlin.services.glue.model.CustomCode? = null
        /**
         * Specifies the direct JDBC source connection.
         */
        public var directJdbcSource: aws.sdk.kotlin.services.glue.model.DirectJdbcSource? = null
        /**
         * Specifies an Apache Kafka data store.
         */
        public var directKafkaSource: aws.sdk.kotlin.services.glue.model.DirectKafkaSource? = null
        /**
         * Specifies a direct Amazon Kinesis data source.
         */
        public var directKinesisSource: aws.sdk.kotlin.services.glue.model.DirectKinesisSource? = null
        /**
         * Specifies a transform that removes rows of repeating data from a data set.
         */
        public var dropDuplicates: aws.sdk.kotlin.services.glue.model.DropDuplicates? = null
        /**
         * Specifies a transform that chooses the data property keys that you want to drop.
         */
        public var dropFields: aws.sdk.kotlin.services.glue.model.DropFields? = null
        /**
         * Specifies a transform that removes columns from the dataset if all values in the column are 'null'. By default, Glue Studio will recognize null objects, but some values such as empty strings, strings that are "null", -1 integers or other placeholders such as zeros, are not automatically recognized as nulls.
         */
        public var dropNullFields: aws.sdk.kotlin.services.glue.model.DropNullFields? = null
        /**
         * Specifies a custom visual transform created by a user.
         */
        public var dynamicTransform: aws.sdk.kotlin.services.glue.model.DynamicTransform? = null
        /**
         * Specifies a DynamoDBC Catalog data store in the Glue Data Catalog.
         */
        public var dynamoDbCatalogSource: aws.sdk.kotlin.services.glue.model.DynamoDbCatalogSource? = null
        /**
         * Specifies your data quality evaluation criteria.
         */
        public var evaluateDataQuality: aws.sdk.kotlin.services.glue.model.EvaluateDataQuality? = null
        /**
         * Specifies your data quality evaluation criteria. Allows multiple input data and returns a collection of Dynamic Frames.
         */
        public var evaluateDataQualityMultiFrame: aws.sdk.kotlin.services.glue.model.EvaluateDataQualityMultiFrame? = null
        /**
         * Specifies a transform that locates records in the dataset that have missing values and adds a new field with a value determined by imputation. The input data set is used to train the machine learning model that determines what the missing value should be.
         */
        public var fillMissingValues: aws.sdk.kotlin.services.glue.model.FillMissingValues? = null
        /**
         * Specifies a transform that splits a dataset into two, based on a filter condition.
         */
        public var filter: aws.sdk.kotlin.services.glue.model.Filter? = null
        /**
         * Specifies a data source in a goverened Data Catalog.
         */
        public var governedCatalogSource: aws.sdk.kotlin.services.glue.model.GovernedCatalogSource? = null
        /**
         * Specifies a data target that writes to a goverened catalog.
         */
        public var governedCatalogTarget: aws.sdk.kotlin.services.glue.model.GovernedCatalogTarget? = null
        /**
         * Specifies a connector to a JDBC data source.
         */
        public var jdbcConnectorSource: aws.sdk.kotlin.services.glue.model.JdbcConnectorSource? = null
        /**
         * Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.
         */
        public var jdbcConnectorTarget: aws.sdk.kotlin.services.glue.model.JdbcConnectorTarget? = null
        /**
         * Specifies a transform that joins two datasets into one dataset using a comparison phrase on the specified data property keys. You can use inner, outer, left, right, left semi, and left anti joins.
         */
        public var join: aws.sdk.kotlin.services.glue.model.Join? = null
        /**
         * Specifies a transform that merges a `DynamicFrame` with a staging `DynamicFrame` based on the specified primary keys to identify records. Duplicate records (records with the same primary keys) are not de-duplicated.
         */
        public var merge: aws.sdk.kotlin.services.glue.model.Merge? = null
        /**
         * Specifies a Microsoft SQL server data source in the Glue Data Catalog.
         */
        public var microsoftSqlServerCatalogSource: aws.sdk.kotlin.services.glue.model.MicrosoftSqlServerCatalogSource? = null
        /**
         * Specifies a target that uses Microsoft SQL.
         */
        public var microsoftSqlServerCatalogTarget: aws.sdk.kotlin.services.glue.model.MicrosoftSqlServerCatalogTarget? = null
        /**
         * Specifies a MySQL data source in the Glue Data Catalog.
         */
        public var mySqlCatalogSource: aws.sdk.kotlin.services.glue.model.MySqlCatalogSource? = null
        /**
         * Specifies a target that uses MySQL.
         */
        public var mySqlCatalogTarget: aws.sdk.kotlin.services.glue.model.MySqlCatalogTarget? = null
        /**
         * Specifies an Oracle data source in the Glue Data Catalog.
         */
        public var oracleSqlCatalogSource: aws.sdk.kotlin.services.glue.model.OracleSqlCatalogSource? = null
        /**
         * Specifies a target that uses Oracle SQL.
         */
        public var oracleSqlCatalogTarget: aws.sdk.kotlin.services.glue.model.OracleSqlCatalogTarget? = null
        /**
         * Specifies a transform that identifies, removes or masks PII data.
         */
        public var piiDetection: aws.sdk.kotlin.services.glue.model.PiiDetection? = null
        /**
         * Specifies a PostgresSQL data source in the Glue Data Catalog.
         */
        public var postgreSqlCatalogSource: aws.sdk.kotlin.services.glue.model.PostgreSqlCatalogSource? = null
        /**
         * Specifies a target that uses Postgres SQL.
         */
        public var postgreSqlCatalogTarget: aws.sdk.kotlin.services.glue.model.PostgreSqlCatalogTarget? = null
        /**
         * Specifies a Glue DataBrew recipe node.
         */
        public var recipe: aws.sdk.kotlin.services.glue.model.Recipe? = null
        /**
         * Specifies an Amazon Redshift data store.
         */
        public var redshiftSource: aws.sdk.kotlin.services.glue.model.RedshiftSource? = null
        /**
         * Specifies a target that uses Amazon Redshift.
         */
        public var redshiftTarget: aws.sdk.kotlin.services.glue.model.RedshiftTarget? = null
        /**
         * Specifies a relational catalog data store in the Glue Data Catalog.
         */
        public var relationalCatalogSource: aws.sdk.kotlin.services.glue.model.RelationalCatalogSource? = null
        /**
         * Specifies a transform that renames a single data property key.
         */
        public var renameField: aws.sdk.kotlin.services.glue.model.RenameField? = null
        /**
         * Specifies a Delta Lake data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.
         */
        public var s3CatalogDeltaSource: aws.sdk.kotlin.services.glue.model.S3CatalogDeltaSource? = null
        /**
         * Specifies a Hudi data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.
         */
        public var s3CatalogHudiSource: aws.sdk.kotlin.services.glue.model.S3CatalogHudiSource? = null
        /**
         * Specifies an Amazon S3 data store in the Glue Data Catalog.
         */
        public var s3CatalogSource: aws.sdk.kotlin.services.glue.model.S3CatalogSource? = null
        /**
         * Specifies a data target that writes to Amazon S3 using the Glue Data Catalog.
         */
        public var s3CatalogTarget: aws.sdk.kotlin.services.glue.model.S3CatalogTarget? = null
        /**
         * Specifies a command-separated value (CSV) data store stored in Amazon S3.
         */
        public var s3CsvSource: aws.sdk.kotlin.services.glue.model.S3CsvSource? = null
        /**
         * Specifies a target that writes to a Delta Lake data source in the Glue Data Catalog.
         */
        public var s3DeltaCatalogTarget: aws.sdk.kotlin.services.glue.model.S3DeltaCatalogTarget? = null
        /**
         * Specifies a target that writes to a Delta Lake data source in Amazon S3.
         */
        public var s3DeltaDirectTarget: aws.sdk.kotlin.services.glue.model.S3DeltaDirectTarget? = null
        /**
         * Specifies a Delta Lake data source stored in Amazon S3.
         */
        public var s3DeltaSource: aws.sdk.kotlin.services.glue.model.S3DeltaSource? = null
        /**
         * Specifies a data target that writes to Amazon S3.
         */
        public var s3DirectTarget: aws.sdk.kotlin.services.glue.model.S3DirectTarget? = null
        /**
         * Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.
         */
        public var s3GlueParquetTarget: aws.sdk.kotlin.services.glue.model.S3GlueParquetTarget? = null
        /**
         * Specifies a target that writes to a Hudi data source in the Glue Data Catalog.
         */
        public var s3HudiCatalogTarget: aws.sdk.kotlin.services.glue.model.S3HudiCatalogTarget? = null
        /**
         * Specifies a target that writes to a Hudi data source in Amazon S3.
         */
        public var s3HudiDirectTarget: aws.sdk.kotlin.services.glue.model.S3HudiDirectTarget? = null
        /**
         * Specifies a Hudi data source stored in Amazon S3.
         */
        public var s3HudiSource: aws.sdk.kotlin.services.glue.model.S3HudiSource? = null
        /**
         * Specifies a JSON data store stored in Amazon S3.
         */
        public var s3JsonSource: aws.sdk.kotlin.services.glue.model.S3JsonSource? = null
        /**
         * Specifies an Apache Parquet data store stored in Amazon S3.
         */
        public var s3ParquetSource: aws.sdk.kotlin.services.glue.model.S3ParquetSource? = null
        /**
         * Specifies a transform that chooses the data property keys that you want to keep.
         */
        public var selectFields: aws.sdk.kotlin.services.glue.model.SelectFields? = null
        /**
         * Specifies a transform that chooses one `DynamicFrame` from a collection of `DynamicFrames`. The output is the selected `DynamicFrame`
         */
        public var selectFromCollection: aws.sdk.kotlin.services.glue.model.SelectFromCollection? = null
        /**
         * Specifies a Snowflake data source.
         */
        public var snowflakeSource: aws.sdk.kotlin.services.glue.model.SnowflakeSource? = null
        /**
         * Specifies a target that writes to a Snowflake data source.
         */
        public var snowflakeTarget: aws.sdk.kotlin.services.glue.model.SnowflakeTarget? = null
        /**
         * Specifies a connector to an Apache Spark data source.
         */
        public var sparkConnectorSource: aws.sdk.kotlin.services.glue.model.SparkConnectorSource? = null
        /**
         * Specifies a target that uses an Apache Spark connector.
         */
        public var sparkConnectorTarget: aws.sdk.kotlin.services.glue.model.SparkConnectorTarget? = null
        /**
         * Specifies a transform where you enter a SQL query using Spark SQL syntax to transform the data. The output is a single `DynamicFrame`.
         */
        public var sparkSql: aws.sdk.kotlin.services.glue.model.SparkSql? = null
        /**
         * Specifies a transform that writes samples of the data to an Amazon S3 bucket.
         */
        public var spigot: aws.sdk.kotlin.services.glue.model.Spigot? = null
        /**
         * Specifies a transform that splits data property keys into two `DynamicFrames`. The output is a collection of `DynamicFrames`: one with selected data property keys, and one with the remaining data property keys.
         */
        public var splitFields: aws.sdk.kotlin.services.glue.model.SplitFields? = null
        /**
         * Specifies a transform that combines the rows from two or more datasets into a single result.
         */
        public var union: aws.sdk.kotlin.services.glue.model.Union? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.glue.model.CodeGenConfigurationNode) : this() {
            this.aggregate = x.aggregate
            this.amazonRedshiftSource = x.amazonRedshiftSource
            this.amazonRedshiftTarget = x.amazonRedshiftTarget
            this.applyMapping = x.applyMapping
            this.athenaConnectorSource = x.athenaConnectorSource
            this.catalogDeltaSource = x.catalogDeltaSource
            this.catalogHudiSource = x.catalogHudiSource
            this.catalogKafkaSource = x.catalogKafkaSource
            this.catalogKinesisSource = x.catalogKinesisSource
            this.catalogSource = x.catalogSource
            this.catalogTarget = x.catalogTarget
            this.connectorDataSource = x.connectorDataSource
            this.connectorDataTarget = x.connectorDataTarget
            this.customCode = x.customCode
            this.directJdbcSource = x.directJdbcSource
            this.directKafkaSource = x.directKafkaSource
            this.directKinesisSource = x.directKinesisSource
            this.dropDuplicates = x.dropDuplicates
            this.dropFields = x.dropFields
            this.dropNullFields = x.dropNullFields
            this.dynamicTransform = x.dynamicTransform
            this.dynamoDbCatalogSource = x.dynamoDbCatalogSource
            this.evaluateDataQuality = x.evaluateDataQuality
            this.evaluateDataQualityMultiFrame = x.evaluateDataQualityMultiFrame
            this.fillMissingValues = x.fillMissingValues
            this.filter = x.filter
            this.governedCatalogSource = x.governedCatalogSource
            this.governedCatalogTarget = x.governedCatalogTarget
            this.jdbcConnectorSource = x.jdbcConnectorSource
            this.jdbcConnectorTarget = x.jdbcConnectorTarget
            this.join = x.join
            this.merge = x.merge
            this.microsoftSqlServerCatalogSource = x.microsoftSqlServerCatalogSource
            this.microsoftSqlServerCatalogTarget = x.microsoftSqlServerCatalogTarget
            this.mySqlCatalogSource = x.mySqlCatalogSource
            this.mySqlCatalogTarget = x.mySqlCatalogTarget
            this.oracleSqlCatalogSource = x.oracleSqlCatalogSource
            this.oracleSqlCatalogTarget = x.oracleSqlCatalogTarget
            this.piiDetection = x.piiDetection
            this.postgreSqlCatalogSource = x.postgreSqlCatalogSource
            this.postgreSqlCatalogTarget = x.postgreSqlCatalogTarget
            this.recipe = x.recipe
            this.redshiftSource = x.redshiftSource
            this.redshiftTarget = x.redshiftTarget
            this.relationalCatalogSource = x.relationalCatalogSource
            this.renameField = x.renameField
            this.s3CatalogDeltaSource = x.s3CatalogDeltaSource
            this.s3CatalogHudiSource = x.s3CatalogHudiSource
            this.s3CatalogSource = x.s3CatalogSource
            this.s3CatalogTarget = x.s3CatalogTarget
            this.s3CsvSource = x.s3CsvSource
            this.s3DeltaCatalogTarget = x.s3DeltaCatalogTarget
            this.s3DeltaDirectTarget = x.s3DeltaDirectTarget
            this.s3DeltaSource = x.s3DeltaSource
            this.s3DirectTarget = x.s3DirectTarget
            this.s3GlueParquetTarget = x.s3GlueParquetTarget
            this.s3HudiCatalogTarget = x.s3HudiCatalogTarget
            this.s3HudiDirectTarget = x.s3HudiDirectTarget
            this.s3HudiSource = x.s3HudiSource
            this.s3JsonSource = x.s3JsonSource
            this.s3ParquetSource = x.s3ParquetSource
            this.selectFields = x.selectFields
            this.selectFromCollection = x.selectFromCollection
            this.snowflakeSource = x.snowflakeSource
            this.snowflakeTarget = x.snowflakeTarget
            this.sparkConnectorSource = x.sparkConnectorSource
            this.sparkConnectorTarget = x.sparkConnectorTarget
            this.sparkSql = x.sparkSql
            this.spigot = x.spigot
            this.splitFields = x.splitFields
            this.union = x.union
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.glue.model.CodeGenConfigurationNode = CodeGenConfigurationNode(this)

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.Aggregate] inside the given [block]
         */
        public fun aggregate(block: aws.sdk.kotlin.services.glue.model.Aggregate.Builder.() -> kotlin.Unit) {
            this.aggregate = aws.sdk.kotlin.services.glue.model.Aggregate.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.AmazonRedshiftSource] inside the given [block]
         */
        public fun amazonRedshiftSource(block: aws.sdk.kotlin.services.glue.model.AmazonRedshiftSource.Builder.() -> kotlin.Unit) {
            this.amazonRedshiftSource = aws.sdk.kotlin.services.glue.model.AmazonRedshiftSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.AmazonRedshiftTarget] inside the given [block]
         */
        public fun amazonRedshiftTarget(block: aws.sdk.kotlin.services.glue.model.AmazonRedshiftTarget.Builder.() -> kotlin.Unit) {
            this.amazonRedshiftTarget = aws.sdk.kotlin.services.glue.model.AmazonRedshiftTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.ApplyMapping] inside the given [block]
         */
        public fun applyMapping(block: aws.sdk.kotlin.services.glue.model.ApplyMapping.Builder.() -> kotlin.Unit) {
            this.applyMapping = aws.sdk.kotlin.services.glue.model.ApplyMapping.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.AthenaConnectorSource] inside the given [block]
         */
        public fun athenaConnectorSource(block: aws.sdk.kotlin.services.glue.model.AthenaConnectorSource.Builder.() -> kotlin.Unit) {
            this.athenaConnectorSource = aws.sdk.kotlin.services.glue.model.AthenaConnectorSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.CatalogDeltaSource] inside the given [block]
         */
        public fun catalogDeltaSource(block: aws.sdk.kotlin.services.glue.model.CatalogDeltaSource.Builder.() -> kotlin.Unit) {
            this.catalogDeltaSource = aws.sdk.kotlin.services.glue.model.CatalogDeltaSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.CatalogHudiSource] inside the given [block]
         */
        public fun catalogHudiSource(block: aws.sdk.kotlin.services.glue.model.CatalogHudiSource.Builder.() -> kotlin.Unit) {
            this.catalogHudiSource = aws.sdk.kotlin.services.glue.model.CatalogHudiSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.CatalogKafkaSource] inside the given [block]
         */
        public fun catalogKafkaSource(block: aws.sdk.kotlin.services.glue.model.CatalogKafkaSource.Builder.() -> kotlin.Unit) {
            this.catalogKafkaSource = aws.sdk.kotlin.services.glue.model.CatalogKafkaSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.CatalogKinesisSource] inside the given [block]
         */
        public fun catalogKinesisSource(block: aws.sdk.kotlin.services.glue.model.CatalogKinesisSource.Builder.() -> kotlin.Unit) {
            this.catalogKinesisSource = aws.sdk.kotlin.services.glue.model.CatalogKinesisSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.CatalogSource] inside the given [block]
         */
        public fun catalogSource(block: aws.sdk.kotlin.services.glue.model.CatalogSource.Builder.() -> kotlin.Unit) {
            this.catalogSource = aws.sdk.kotlin.services.glue.model.CatalogSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.BasicCatalogTarget] inside the given [block]
         */
        public fun catalogTarget(block: aws.sdk.kotlin.services.glue.model.BasicCatalogTarget.Builder.() -> kotlin.Unit) {
            this.catalogTarget = aws.sdk.kotlin.services.glue.model.BasicCatalogTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.ConnectorDataSource] inside the given [block]
         */
        public fun connectorDataSource(block: aws.sdk.kotlin.services.glue.model.ConnectorDataSource.Builder.() -> kotlin.Unit) {
            this.connectorDataSource = aws.sdk.kotlin.services.glue.model.ConnectorDataSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.ConnectorDataTarget] inside the given [block]
         */
        public fun connectorDataTarget(block: aws.sdk.kotlin.services.glue.model.ConnectorDataTarget.Builder.() -> kotlin.Unit) {
            this.connectorDataTarget = aws.sdk.kotlin.services.glue.model.ConnectorDataTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.CustomCode] inside the given [block]
         */
        public fun customCode(block: aws.sdk.kotlin.services.glue.model.CustomCode.Builder.() -> kotlin.Unit) {
            this.customCode = aws.sdk.kotlin.services.glue.model.CustomCode.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.DirectJdbcSource] inside the given [block]
         */
        public fun directJdbcSource(block: aws.sdk.kotlin.services.glue.model.DirectJdbcSource.Builder.() -> kotlin.Unit) {
            this.directJdbcSource = aws.sdk.kotlin.services.glue.model.DirectJdbcSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.DirectKafkaSource] inside the given [block]
         */
        public fun directKafkaSource(block: aws.sdk.kotlin.services.glue.model.DirectKafkaSource.Builder.() -> kotlin.Unit) {
            this.directKafkaSource = aws.sdk.kotlin.services.glue.model.DirectKafkaSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.DirectKinesisSource] inside the given [block]
         */
        public fun directKinesisSource(block: aws.sdk.kotlin.services.glue.model.DirectKinesisSource.Builder.() -> kotlin.Unit) {
            this.directKinesisSource = aws.sdk.kotlin.services.glue.model.DirectKinesisSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.DropDuplicates] inside the given [block]
         */
        public fun dropDuplicates(block: aws.sdk.kotlin.services.glue.model.DropDuplicates.Builder.() -> kotlin.Unit) {
            this.dropDuplicates = aws.sdk.kotlin.services.glue.model.DropDuplicates.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.DropFields] inside the given [block]
         */
        public fun dropFields(block: aws.sdk.kotlin.services.glue.model.DropFields.Builder.() -> kotlin.Unit) {
            this.dropFields = aws.sdk.kotlin.services.glue.model.DropFields.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.DropNullFields] inside the given [block]
         */
        public fun dropNullFields(block: aws.sdk.kotlin.services.glue.model.DropNullFields.Builder.() -> kotlin.Unit) {
            this.dropNullFields = aws.sdk.kotlin.services.glue.model.DropNullFields.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.DynamicTransform] inside the given [block]
         */
        public fun dynamicTransform(block: aws.sdk.kotlin.services.glue.model.DynamicTransform.Builder.() -> kotlin.Unit) {
            this.dynamicTransform = aws.sdk.kotlin.services.glue.model.DynamicTransform.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.DynamoDbCatalogSource] inside the given [block]
         */
        public fun dynamoDbCatalogSource(block: aws.sdk.kotlin.services.glue.model.DynamoDbCatalogSource.Builder.() -> kotlin.Unit) {
            this.dynamoDbCatalogSource = aws.sdk.kotlin.services.glue.model.DynamoDbCatalogSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.EvaluateDataQuality] inside the given [block]
         */
        public fun evaluateDataQuality(block: aws.sdk.kotlin.services.glue.model.EvaluateDataQuality.Builder.() -> kotlin.Unit) {
            this.evaluateDataQuality = aws.sdk.kotlin.services.glue.model.EvaluateDataQuality.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.EvaluateDataQualityMultiFrame] inside the given [block]
         */
        public fun evaluateDataQualityMultiFrame(block: aws.sdk.kotlin.services.glue.model.EvaluateDataQualityMultiFrame.Builder.() -> kotlin.Unit) {
            this.evaluateDataQualityMultiFrame = aws.sdk.kotlin.services.glue.model.EvaluateDataQualityMultiFrame.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.FillMissingValues] inside the given [block]
         */
        public fun fillMissingValues(block: aws.sdk.kotlin.services.glue.model.FillMissingValues.Builder.() -> kotlin.Unit) {
            this.fillMissingValues = aws.sdk.kotlin.services.glue.model.FillMissingValues.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.Filter] inside the given [block]
         */
        public fun filter(block: aws.sdk.kotlin.services.glue.model.Filter.Builder.() -> kotlin.Unit) {
            this.filter = aws.sdk.kotlin.services.glue.model.Filter.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.GovernedCatalogSource] inside the given [block]
         */
        public fun governedCatalogSource(block: aws.sdk.kotlin.services.glue.model.GovernedCatalogSource.Builder.() -> kotlin.Unit) {
            this.governedCatalogSource = aws.sdk.kotlin.services.glue.model.GovernedCatalogSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.GovernedCatalogTarget] inside the given [block]
         */
        public fun governedCatalogTarget(block: aws.sdk.kotlin.services.glue.model.GovernedCatalogTarget.Builder.() -> kotlin.Unit) {
            this.governedCatalogTarget = aws.sdk.kotlin.services.glue.model.GovernedCatalogTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.JdbcConnectorSource] inside the given [block]
         */
        public fun jdbcConnectorSource(block: aws.sdk.kotlin.services.glue.model.JdbcConnectorSource.Builder.() -> kotlin.Unit) {
            this.jdbcConnectorSource = aws.sdk.kotlin.services.glue.model.JdbcConnectorSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.JdbcConnectorTarget] inside the given [block]
         */
        public fun jdbcConnectorTarget(block: aws.sdk.kotlin.services.glue.model.JdbcConnectorTarget.Builder.() -> kotlin.Unit) {
            this.jdbcConnectorTarget = aws.sdk.kotlin.services.glue.model.JdbcConnectorTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.Join] inside the given [block]
         */
        public fun join(block: aws.sdk.kotlin.services.glue.model.Join.Builder.() -> kotlin.Unit) {
            this.join = aws.sdk.kotlin.services.glue.model.Join.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.Merge] inside the given [block]
         */
        public fun merge(block: aws.sdk.kotlin.services.glue.model.Merge.Builder.() -> kotlin.Unit) {
            this.merge = aws.sdk.kotlin.services.glue.model.Merge.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.MicrosoftSqlServerCatalogSource] inside the given [block]
         */
        public fun microsoftSqlServerCatalogSource(block: aws.sdk.kotlin.services.glue.model.MicrosoftSqlServerCatalogSource.Builder.() -> kotlin.Unit) {
            this.microsoftSqlServerCatalogSource = aws.sdk.kotlin.services.glue.model.MicrosoftSqlServerCatalogSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.MicrosoftSqlServerCatalogTarget] inside the given [block]
         */
        public fun microsoftSqlServerCatalogTarget(block: aws.sdk.kotlin.services.glue.model.MicrosoftSqlServerCatalogTarget.Builder.() -> kotlin.Unit) {
            this.microsoftSqlServerCatalogTarget = aws.sdk.kotlin.services.glue.model.MicrosoftSqlServerCatalogTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.MySqlCatalogSource] inside the given [block]
         */
        public fun mySqlCatalogSource(block: aws.sdk.kotlin.services.glue.model.MySqlCatalogSource.Builder.() -> kotlin.Unit) {
            this.mySqlCatalogSource = aws.sdk.kotlin.services.glue.model.MySqlCatalogSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.MySqlCatalogTarget] inside the given [block]
         */
        public fun mySqlCatalogTarget(block: aws.sdk.kotlin.services.glue.model.MySqlCatalogTarget.Builder.() -> kotlin.Unit) {
            this.mySqlCatalogTarget = aws.sdk.kotlin.services.glue.model.MySqlCatalogTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.OracleSqlCatalogSource] inside the given [block]
         */
        public fun oracleSqlCatalogSource(block: aws.sdk.kotlin.services.glue.model.OracleSqlCatalogSource.Builder.() -> kotlin.Unit) {
            this.oracleSqlCatalogSource = aws.sdk.kotlin.services.glue.model.OracleSqlCatalogSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.OracleSqlCatalogTarget] inside the given [block]
         */
        public fun oracleSqlCatalogTarget(block: aws.sdk.kotlin.services.glue.model.OracleSqlCatalogTarget.Builder.() -> kotlin.Unit) {
            this.oracleSqlCatalogTarget = aws.sdk.kotlin.services.glue.model.OracleSqlCatalogTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.PiiDetection] inside the given [block]
         */
        public fun piiDetection(block: aws.sdk.kotlin.services.glue.model.PiiDetection.Builder.() -> kotlin.Unit) {
            this.piiDetection = aws.sdk.kotlin.services.glue.model.PiiDetection.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.PostgreSqlCatalogSource] inside the given [block]
         */
        public fun postgreSqlCatalogSource(block: aws.sdk.kotlin.services.glue.model.PostgreSqlCatalogSource.Builder.() -> kotlin.Unit) {
            this.postgreSqlCatalogSource = aws.sdk.kotlin.services.glue.model.PostgreSqlCatalogSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.PostgreSqlCatalogTarget] inside the given [block]
         */
        public fun postgreSqlCatalogTarget(block: aws.sdk.kotlin.services.glue.model.PostgreSqlCatalogTarget.Builder.() -> kotlin.Unit) {
            this.postgreSqlCatalogTarget = aws.sdk.kotlin.services.glue.model.PostgreSqlCatalogTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.Recipe] inside the given [block]
         */
        public fun recipe(block: aws.sdk.kotlin.services.glue.model.Recipe.Builder.() -> kotlin.Unit) {
            this.recipe = aws.sdk.kotlin.services.glue.model.Recipe.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.RedshiftSource] inside the given [block]
         */
        public fun redshiftSource(block: aws.sdk.kotlin.services.glue.model.RedshiftSource.Builder.() -> kotlin.Unit) {
            this.redshiftSource = aws.sdk.kotlin.services.glue.model.RedshiftSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.RedshiftTarget] inside the given [block]
         */
        public fun redshiftTarget(block: aws.sdk.kotlin.services.glue.model.RedshiftTarget.Builder.() -> kotlin.Unit) {
            this.redshiftTarget = aws.sdk.kotlin.services.glue.model.RedshiftTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.RelationalCatalogSource] inside the given [block]
         */
        public fun relationalCatalogSource(block: aws.sdk.kotlin.services.glue.model.RelationalCatalogSource.Builder.() -> kotlin.Unit) {
            this.relationalCatalogSource = aws.sdk.kotlin.services.glue.model.RelationalCatalogSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.RenameField] inside the given [block]
         */
        public fun renameField(block: aws.sdk.kotlin.services.glue.model.RenameField.Builder.() -> kotlin.Unit) {
            this.renameField = aws.sdk.kotlin.services.glue.model.RenameField.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3CatalogDeltaSource] inside the given [block]
         */
        public fun s3CatalogDeltaSource(block: aws.sdk.kotlin.services.glue.model.S3CatalogDeltaSource.Builder.() -> kotlin.Unit) {
            this.s3CatalogDeltaSource = aws.sdk.kotlin.services.glue.model.S3CatalogDeltaSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3CatalogHudiSource] inside the given [block]
         */
        public fun s3CatalogHudiSource(block: aws.sdk.kotlin.services.glue.model.S3CatalogHudiSource.Builder.() -> kotlin.Unit) {
            this.s3CatalogHudiSource = aws.sdk.kotlin.services.glue.model.S3CatalogHudiSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3CatalogSource] inside the given [block]
         */
        public fun s3CatalogSource(block: aws.sdk.kotlin.services.glue.model.S3CatalogSource.Builder.() -> kotlin.Unit) {
            this.s3CatalogSource = aws.sdk.kotlin.services.glue.model.S3CatalogSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3CatalogTarget] inside the given [block]
         */
        public fun s3CatalogTarget(block: aws.sdk.kotlin.services.glue.model.S3CatalogTarget.Builder.() -> kotlin.Unit) {
            this.s3CatalogTarget = aws.sdk.kotlin.services.glue.model.S3CatalogTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3CsvSource] inside the given [block]
         */
        public fun s3CsvSource(block: aws.sdk.kotlin.services.glue.model.S3CsvSource.Builder.() -> kotlin.Unit) {
            this.s3CsvSource = aws.sdk.kotlin.services.glue.model.S3CsvSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3DeltaCatalogTarget] inside the given [block]
         */
        public fun s3DeltaCatalogTarget(block: aws.sdk.kotlin.services.glue.model.S3DeltaCatalogTarget.Builder.() -> kotlin.Unit) {
            this.s3DeltaCatalogTarget = aws.sdk.kotlin.services.glue.model.S3DeltaCatalogTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3DeltaDirectTarget] inside the given [block]
         */
        public fun s3DeltaDirectTarget(block: aws.sdk.kotlin.services.glue.model.S3DeltaDirectTarget.Builder.() -> kotlin.Unit) {
            this.s3DeltaDirectTarget = aws.sdk.kotlin.services.glue.model.S3DeltaDirectTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3DeltaSource] inside the given [block]
         */
        public fun s3DeltaSource(block: aws.sdk.kotlin.services.glue.model.S3DeltaSource.Builder.() -> kotlin.Unit) {
            this.s3DeltaSource = aws.sdk.kotlin.services.glue.model.S3DeltaSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3DirectTarget] inside the given [block]
         */
        public fun s3DirectTarget(block: aws.sdk.kotlin.services.glue.model.S3DirectTarget.Builder.() -> kotlin.Unit) {
            this.s3DirectTarget = aws.sdk.kotlin.services.glue.model.S3DirectTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3GlueParquetTarget] inside the given [block]
         */
        public fun s3GlueParquetTarget(block: aws.sdk.kotlin.services.glue.model.S3GlueParquetTarget.Builder.() -> kotlin.Unit) {
            this.s3GlueParquetTarget = aws.sdk.kotlin.services.glue.model.S3GlueParquetTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3HudiCatalogTarget] inside the given [block]
         */
        public fun s3HudiCatalogTarget(block: aws.sdk.kotlin.services.glue.model.S3HudiCatalogTarget.Builder.() -> kotlin.Unit) {
            this.s3HudiCatalogTarget = aws.sdk.kotlin.services.glue.model.S3HudiCatalogTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3HudiDirectTarget] inside the given [block]
         */
        public fun s3HudiDirectTarget(block: aws.sdk.kotlin.services.glue.model.S3HudiDirectTarget.Builder.() -> kotlin.Unit) {
            this.s3HudiDirectTarget = aws.sdk.kotlin.services.glue.model.S3HudiDirectTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3HudiSource] inside the given [block]
         */
        public fun s3HudiSource(block: aws.sdk.kotlin.services.glue.model.S3HudiSource.Builder.() -> kotlin.Unit) {
            this.s3HudiSource = aws.sdk.kotlin.services.glue.model.S3HudiSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3JsonSource] inside the given [block]
         */
        public fun s3JsonSource(block: aws.sdk.kotlin.services.glue.model.S3JsonSource.Builder.() -> kotlin.Unit) {
            this.s3JsonSource = aws.sdk.kotlin.services.glue.model.S3JsonSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.S3ParquetSource] inside the given [block]
         */
        public fun s3ParquetSource(block: aws.sdk.kotlin.services.glue.model.S3ParquetSource.Builder.() -> kotlin.Unit) {
            this.s3ParquetSource = aws.sdk.kotlin.services.glue.model.S3ParquetSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.SelectFields] inside the given [block]
         */
        public fun selectFields(block: aws.sdk.kotlin.services.glue.model.SelectFields.Builder.() -> kotlin.Unit) {
            this.selectFields = aws.sdk.kotlin.services.glue.model.SelectFields.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.SelectFromCollection] inside the given [block]
         */
        public fun selectFromCollection(block: aws.sdk.kotlin.services.glue.model.SelectFromCollection.Builder.() -> kotlin.Unit) {
            this.selectFromCollection = aws.sdk.kotlin.services.glue.model.SelectFromCollection.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.SnowflakeSource] inside the given [block]
         */
        public fun snowflakeSource(block: aws.sdk.kotlin.services.glue.model.SnowflakeSource.Builder.() -> kotlin.Unit) {
            this.snowflakeSource = aws.sdk.kotlin.services.glue.model.SnowflakeSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.SnowflakeTarget] inside the given [block]
         */
        public fun snowflakeTarget(block: aws.sdk.kotlin.services.glue.model.SnowflakeTarget.Builder.() -> kotlin.Unit) {
            this.snowflakeTarget = aws.sdk.kotlin.services.glue.model.SnowflakeTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.SparkConnectorSource] inside the given [block]
         */
        public fun sparkConnectorSource(block: aws.sdk.kotlin.services.glue.model.SparkConnectorSource.Builder.() -> kotlin.Unit) {
            this.sparkConnectorSource = aws.sdk.kotlin.services.glue.model.SparkConnectorSource.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.SparkConnectorTarget] inside the given [block]
         */
        public fun sparkConnectorTarget(block: aws.sdk.kotlin.services.glue.model.SparkConnectorTarget.Builder.() -> kotlin.Unit) {
            this.sparkConnectorTarget = aws.sdk.kotlin.services.glue.model.SparkConnectorTarget.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.SparkSql] inside the given [block]
         */
        public fun sparkSql(block: aws.sdk.kotlin.services.glue.model.SparkSql.Builder.() -> kotlin.Unit) {
            this.sparkSql = aws.sdk.kotlin.services.glue.model.SparkSql.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.Spigot] inside the given [block]
         */
        public fun spigot(block: aws.sdk.kotlin.services.glue.model.Spigot.Builder.() -> kotlin.Unit) {
            this.spigot = aws.sdk.kotlin.services.glue.model.Spigot.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.SplitFields] inside the given [block]
         */
        public fun splitFields(block: aws.sdk.kotlin.services.glue.model.SplitFields.Builder.() -> kotlin.Unit) {
            this.splitFields = aws.sdk.kotlin.services.glue.model.SplitFields.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.glue.model.Union] inside the given [block]
         */
        public fun union(block: aws.sdk.kotlin.services.glue.model.Union.Builder.() -> kotlin.Unit) {
            this.union = aws.sdk.kotlin.services.glue.model.Union.invoke(block)
        }

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy