Skip to main content

aws_sdk_glue/types/
_code_gen_configuration_node.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p><code>CodeGenConfigurationNode</code> enumerates all valid Node types. One and only one of its member variables can be populated.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct CodeGenConfigurationNode {
7    /// <p>Specifies a connector to an Amazon Athena data source.</p>
8    pub athena_connector_source: ::std::option::Option<crate::types::AthenaConnectorSource>,
9    /// <p>Specifies a connector to a JDBC data source.</p>
10    pub jdbc_connector_source: ::std::option::Option<crate::types::JdbcConnectorSource>,
11    /// <p>Specifies a connector to an Apache Spark data source.</p>
12    pub spark_connector_source: ::std::option::Option<crate::types::SparkConnectorSource>,
13    /// <p>Specifies a data store in the Glue Data Catalog.</p>
14    pub catalog_source: ::std::option::Option<crate::types::CatalogSource>,
15    /// <p>Specifies an Amazon Redshift data store.</p>
16    pub redshift_source: ::std::option::Option<crate::types::RedshiftSource>,
17    /// <p>Specifies an Amazon S3 data store in the Glue Data Catalog.</p>
18    pub s3_catalog_source: ::std::option::Option<crate::types::S3CatalogSource>,
19    /// <p>Specifies a command-separated value (CSV) data store stored in Amazon S3.</p>
20    pub s3_csv_source: ::std::option::Option<crate::types::S3CsvSource>,
21    /// <p>Specifies a JSON data store stored in Amazon S3.</p>
22    pub s3_json_source: ::std::option::Option<crate::types::S3JsonSource>,
23    /// <p>Specifies an Apache Parquet data store stored in Amazon S3.</p>
24    pub s3_parquet_source: ::std::option::Option<crate::types::S3ParquetSource>,
25    /// <p>Specifies a relational catalog data store in the Glue Data Catalog.</p>
26    pub relational_catalog_source: ::std::option::Option<crate::types::RelationalCatalogSource>,
27    /// <p>Specifies a DynamoDBC Catalog data store in the Glue Data Catalog.</p>
28    pub dynamo_db_catalog_source: ::std::option::Option<crate::types::DynamoDbCatalogSource>,
29    /// <p>Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.</p>
30    pub jdbc_connector_target: ::std::option::Option<crate::types::JdbcConnectorTarget>,
31    /// <p>Specifies a target that uses an Apache Spark connector.</p>
32    pub spark_connector_target: ::std::option::Option<crate::types::SparkConnectorTarget>,
33    /// <p>Specifies a target that uses a Glue Data Catalog table.</p>
34    pub catalog_target: ::std::option::Option<crate::types::BasicCatalogTarget>,
35    /// <p>Specifies a target that uses Amazon Redshift.</p>
36    pub redshift_target: ::std::option::Option<crate::types::RedshiftTarget>,
37    /// <p>Specifies a data target that writes to Amazon S3 using the Glue Data Catalog.</p>
38    pub s3_catalog_target: ::std::option::Option<crate::types::S3CatalogTarget>,
39    /// <p>Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.</p>
40    pub s3_glue_parquet_target: ::std::option::Option<crate::types::S3GlueParquetTarget>,
41    /// <p>Specifies a data target that writes to Amazon S3.</p>
42    pub s3_direct_target: ::std::option::Option<crate::types::S3DirectTarget>,
43    /// <p>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.</p>
44    pub apply_mapping: ::std::option::Option<crate::types::ApplyMapping>,
45    /// <p>Specifies a transform that chooses the data property keys that you want to keep.</p>
46    pub select_fields: ::std::option::Option<crate::types::SelectFields>,
47    /// <p>Specifies a transform that chooses the data property keys that you want to drop.</p>
48    pub drop_fields: ::std::option::Option<crate::types::DropFields>,
49    /// <p>Specifies a transform that renames a single data property key.</p>
50    pub rename_field: ::std::option::Option<crate::types::RenameField>,
51    /// <p>Specifies a transform that writes samples of the data to an Amazon S3 bucket.</p>
52    pub spigot: ::std::option::Option<crate::types::Spigot>,
53    /// <p>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.</p>
54    pub join: ::std::option::Option<crate::types::Join>,
55    /// <p>Specifies a transform that splits data property keys into two <code>DynamicFrames</code>. The output is a collection of <code>DynamicFrames</code>: one with selected data property keys, and one with the remaining data property keys.</p>
56    pub split_fields: ::std::option::Option<crate::types::SplitFields>,
57    /// <p>Specifies a transform that chooses one <code>DynamicFrame</code> from a collection of <code>DynamicFrames</code>. The output is the selected <code>DynamicFrame</code></p>
58    pub select_from_collection: ::std::option::Option<crate::types::SelectFromCollection>,
59    /// <p>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.</p>
60    pub fill_missing_values: ::std::option::Option<crate::types::FillMissingValues>,
61    /// <p>Specifies a transform that splits a dataset into two, based on a filter condition.</p>
62    pub filter: ::std::option::Option<crate::types::Filter>,
63    /// <p>Specifies a transform that uses custom code you provide to perform the data transformation. The output is a collection of DynamicFrames.</p>
64    pub custom_code: ::std::option::Option<crate::types::CustomCode>,
65    /// <p>Specifies a transform where you enter a SQL query using Spark SQL syntax to transform the data. The output is a single <code>DynamicFrame</code>.</p>
66    pub spark_sql: ::std::option::Option<crate::types::SparkSql>,
67    /// <p>Specifies a direct Amazon Kinesis data source.</p>
68    pub direct_kinesis_source: ::std::option::Option<crate::types::DirectKinesisSource>,
69    /// <p>Specifies an Apache Kafka data store.</p>
70    pub direct_kafka_source: ::std::option::Option<crate::types::DirectKafkaSource>,
71    /// <p>Specifies a Kinesis data source in the Glue Data Catalog.</p>
72    pub catalog_kinesis_source: ::std::option::Option<crate::types::CatalogKinesisSource>,
73    /// <p>Specifies an Apache Kafka data store in the Data Catalog.</p>
74    pub catalog_kafka_source: ::std::option::Option<crate::types::CatalogKafkaSource>,
75    /// <p>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.</p>
76    pub drop_null_fields: ::std::option::Option<crate::types::DropNullFields>,
77    /// <p>Specifies a transform that merges a <code>DynamicFrame</code> with a staging <code>DynamicFrame</code> based on the specified primary keys to identify records. Duplicate records (records with the same primary keys) are not de-duplicated.</p>
78    pub merge: ::std::option::Option<crate::types::Merge>,
79    /// <p>Specifies a transform that combines the rows from two or more datasets into a single result.</p>
80    pub union: ::std::option::Option<crate::types::Union>,
81    /// <p>Specifies a transform that identifies, removes or masks PII data.</p>
82    pub pii_detection: ::std::option::Option<crate::types::PiiDetection>,
83    /// <p>Specifies a transform that groups rows by chosen fields and computes the aggregated value by specified function.</p>
84    pub aggregate: ::std::option::Option<crate::types::Aggregate>,
85    /// <p>Specifies a transform that removes rows of repeating data from a data set.</p>
86    pub drop_duplicates: ::std::option::Option<crate::types::DropDuplicates>,
87    /// <p>Specifies a data target that writes to a goverened catalog.</p>
88    pub governed_catalog_target: ::std::option::Option<crate::types::GovernedCatalogTarget>,
89    /// <p>Specifies a data source in a goverened Data Catalog.</p>
90    pub governed_catalog_source: ::std::option::Option<crate::types::GovernedCatalogSource>,
91    /// <p>Specifies a Microsoft SQL server data source in the Glue Data Catalog.</p>
92    pub microsoft_sql_server_catalog_source: ::std::option::Option<crate::types::MicrosoftSqlServerCatalogSource>,
93    /// <p>Specifies a MySQL data source in the Glue Data Catalog.</p>
94    pub my_sql_catalog_source: ::std::option::Option<crate::types::MySqlCatalogSource>,
95    /// <p>Specifies an Oracle data source in the Glue Data Catalog.</p>
96    pub oracle_sql_catalog_source: ::std::option::Option<crate::types::OracleSqlCatalogSource>,
97    /// <p>Specifies a PostgresSQL data source in the Glue Data Catalog.</p>
98    pub postgre_sql_catalog_source: ::std::option::Option<crate::types::PostgreSqlCatalogSource>,
99    /// <p>Specifies a target that uses Microsoft SQL.</p>
100    pub microsoft_sql_server_catalog_target: ::std::option::Option<crate::types::MicrosoftSqlServerCatalogTarget>,
101    /// <p>Specifies a target that uses MySQL.</p>
102    pub my_sql_catalog_target: ::std::option::Option<crate::types::MySqlCatalogTarget>,
103    /// <p>Specifies a target that uses Oracle SQL.</p>
104    pub oracle_sql_catalog_target: ::std::option::Option<crate::types::OracleSqlCatalogTarget>,
105    /// <p>Specifies a target that uses Postgres SQL.</p>
106    pub postgre_sql_catalog_target: ::std::option::Option<crate::types::PostgreSqlCatalogTarget>,
107    /// <p>Specifies a route node that directs data to different output paths based on defined filtering conditions.</p>
108    pub route: ::std::option::Option<crate::types::Route>,
109    /// <p>Specifies a custom visual transform created by a user.</p>
110    pub dynamic_transform: ::std::option::Option<crate::types::DynamicTransform>,
111    /// <p>Specifies your data quality evaluation criteria.</p>
112    pub evaluate_data_quality: ::std::option::Option<crate::types::EvaluateDataQuality>,
113    /// <p>Specifies a Hudi data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.</p>
114    pub s3_catalog_hudi_source: ::std::option::Option<crate::types::S3CatalogHudiSource>,
115    /// <p>Specifies a Hudi data source that is registered in the Glue Data Catalog.</p>
116    pub catalog_hudi_source: ::std::option::Option<crate::types::CatalogHudiSource>,
117    /// <p>Specifies a Hudi data source stored in Amazon S3.</p>
118    pub s3_hudi_source: ::std::option::Option<crate::types::S3HudiSource>,
119    /// <p>Specifies a target that writes to a Hudi data source in the Glue Data Catalog.</p>
120    pub s3_hudi_catalog_target: ::std::option::Option<crate::types::S3HudiCatalogTarget>,
121    /// <p>Specifies a target that writes to a Hudi data source in Amazon S3.</p>
122    pub s3_hudi_direct_target: ::std::option::Option<crate::types::S3HudiDirectTarget>,
123    /// <p>Specifies the direct JDBC source connection.</p>
124    pub direct_jdbc_source: ::std::option::Option<crate::types::DirectJdbcSource>,
125    /// <p>Specifies a Delta Lake data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.</p>
126    pub s3_catalog_delta_source: ::std::option::Option<crate::types::S3CatalogDeltaSource>,
127    /// <p>Specifies a Delta Lake data source that is registered in the Glue Data Catalog.</p>
128    pub catalog_delta_source: ::std::option::Option<crate::types::CatalogDeltaSource>,
129    /// <p>Specifies a Delta Lake data source stored in Amazon S3.</p>
130    pub s3_delta_source: ::std::option::Option<crate::types::S3DeltaSource>,
131    /// <p>Specifies a target that writes to a Delta Lake data source in the Glue Data Catalog.</p>
132    pub s3_delta_catalog_target: ::std::option::Option<crate::types::S3DeltaCatalogTarget>,
133    /// <p>Specifies a target that writes to a Delta Lake data source in Amazon S3.</p>
134    pub s3_delta_direct_target: ::std::option::Option<crate::types::S3DeltaDirectTarget>,
135    /// <p>Specifies a target that writes to a data source in Amazon Redshift.</p>
136    pub amazon_redshift_source: ::std::option::Option<crate::types::AmazonRedshiftSource>,
137    /// <p>Specifies a target that writes to a data target in Amazon Redshift.</p>
138    pub amazon_redshift_target: ::std::option::Option<crate::types::AmazonRedshiftTarget>,
139    /// <p>Specifies your data quality evaluation criteria. Allows multiple input data and returns a collection of Dynamic Frames.</p>
140    pub evaluate_data_quality_multi_frame: ::std::option::Option<crate::types::EvaluateDataQualityMultiFrame>,
141    /// <p>Specifies a Glue DataBrew recipe node.</p>
142    pub recipe: ::std::option::Option<crate::types::Recipe>,
143    /// <p>Specifies a Snowflake data source.</p>
144    pub snowflake_source: ::std::option::Option<crate::types::SnowflakeSource>,
145    /// <p>Specifies a target that writes to a Snowflake data source.</p>
146    pub snowflake_target: ::std::option::Option<crate::types::SnowflakeTarget>,
147    /// <p>Specifies a source generated with standard connection options.</p>
148    pub connector_data_source: ::std::option::Option<crate::types::ConnectorDataSource>,
149    /// <p>Specifies a target generated with standard connection options.</p>
150    pub connector_data_target: ::std::option::Option<crate::types::ConnectorDataTarget>,
151    /// <p>Specifies an Apache Iceberg data source that is registered in the Glue Data Catalog. The Iceberg data source must be stored in Amazon S3.</p>
152    pub s3_catalog_iceberg_source: ::std::option::Option<crate::types::S3CatalogIcebergSource>,
153    /// <p>Specifies an Apache Iceberg data source that is registered in the Glue Data Catalog.</p>
154    pub catalog_iceberg_source: ::std::option::Option<crate::types::CatalogIcebergSource>,
155    /// <p>Specifies an Apache Iceberg catalog target that writes data to Amazon S3 and registers the table in the Glue Data Catalog.</p>
156    pub s3_iceberg_catalog_target: ::std::option::Option<crate::types::S3IcebergCatalogTarget>,
157    /// <p>Defines configuration parameters for writing data to Amazon S3 as an Apache Iceberg table.</p>
158    pub s3_iceberg_direct_target: ::std::option::Option<crate::types::S3IcebergDirectTarget>,
159    /// <p>Defines configuration parameters for reading Excel files from Amazon S3.</p>
160    pub s3_excel_source: ::std::option::Option<crate::types::S3ExcelSource>,
161    /// <p>Defines configuration parameters for writing data to Amazon S3 using HyperDirect optimization.</p>
162    pub s3_hyper_direct_target: ::std::option::Option<crate::types::S3HyperDirectTarget>,
163    /// <p>Specifies a DynamoDB ELT connector source for extracting data from DynamoDB tables.</p>
164    pub dynamo_dbelt_connector_source: ::std::option::Option<crate::types::DynamoDbeltConnectorSource>,
165}
166impl CodeGenConfigurationNode {
167    /// <p>Specifies a connector to an Amazon Athena data source.</p>
168    pub fn athena_connector_source(&self) -> ::std::option::Option<&crate::types::AthenaConnectorSource> {
169        self.athena_connector_source.as_ref()
170    }
171    /// <p>Specifies a connector to a JDBC data source.</p>
172    pub fn jdbc_connector_source(&self) -> ::std::option::Option<&crate::types::JdbcConnectorSource> {
173        self.jdbc_connector_source.as_ref()
174    }
175    /// <p>Specifies a connector to an Apache Spark data source.</p>
176    pub fn spark_connector_source(&self) -> ::std::option::Option<&crate::types::SparkConnectorSource> {
177        self.spark_connector_source.as_ref()
178    }
179    /// <p>Specifies a data store in the Glue Data Catalog.</p>
180    pub fn catalog_source(&self) -> ::std::option::Option<&crate::types::CatalogSource> {
181        self.catalog_source.as_ref()
182    }
183    /// <p>Specifies an Amazon Redshift data store.</p>
184    pub fn redshift_source(&self) -> ::std::option::Option<&crate::types::RedshiftSource> {
185        self.redshift_source.as_ref()
186    }
187    /// <p>Specifies an Amazon S3 data store in the Glue Data Catalog.</p>
188    pub fn s3_catalog_source(&self) -> ::std::option::Option<&crate::types::S3CatalogSource> {
189        self.s3_catalog_source.as_ref()
190    }
191    /// <p>Specifies a command-separated value (CSV) data store stored in Amazon S3.</p>
192    pub fn s3_csv_source(&self) -> ::std::option::Option<&crate::types::S3CsvSource> {
193        self.s3_csv_source.as_ref()
194    }
195    /// <p>Specifies a JSON data store stored in Amazon S3.</p>
196    pub fn s3_json_source(&self) -> ::std::option::Option<&crate::types::S3JsonSource> {
197        self.s3_json_source.as_ref()
198    }
199    /// <p>Specifies an Apache Parquet data store stored in Amazon S3.</p>
200    pub fn s3_parquet_source(&self) -> ::std::option::Option<&crate::types::S3ParquetSource> {
201        self.s3_parquet_source.as_ref()
202    }
203    /// <p>Specifies a relational catalog data store in the Glue Data Catalog.</p>
204    pub fn relational_catalog_source(&self) -> ::std::option::Option<&crate::types::RelationalCatalogSource> {
205        self.relational_catalog_source.as_ref()
206    }
207    /// <p>Specifies a DynamoDBC Catalog data store in the Glue Data Catalog.</p>
208    pub fn dynamo_db_catalog_source(&self) -> ::std::option::Option<&crate::types::DynamoDbCatalogSource> {
209        self.dynamo_db_catalog_source.as_ref()
210    }
211    /// <p>Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.</p>
212    pub fn jdbc_connector_target(&self) -> ::std::option::Option<&crate::types::JdbcConnectorTarget> {
213        self.jdbc_connector_target.as_ref()
214    }
215    /// <p>Specifies a target that uses an Apache Spark connector.</p>
216    pub fn spark_connector_target(&self) -> ::std::option::Option<&crate::types::SparkConnectorTarget> {
217        self.spark_connector_target.as_ref()
218    }
219    /// <p>Specifies a target that uses a Glue Data Catalog table.</p>
220    pub fn catalog_target(&self) -> ::std::option::Option<&crate::types::BasicCatalogTarget> {
221        self.catalog_target.as_ref()
222    }
223    /// <p>Specifies a target that uses Amazon Redshift.</p>
224    pub fn redshift_target(&self) -> ::std::option::Option<&crate::types::RedshiftTarget> {
225        self.redshift_target.as_ref()
226    }
227    /// <p>Specifies a data target that writes to Amazon S3 using the Glue Data Catalog.</p>
228    pub fn s3_catalog_target(&self) -> ::std::option::Option<&crate::types::S3CatalogTarget> {
229        self.s3_catalog_target.as_ref()
230    }
231    /// <p>Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.</p>
232    pub fn s3_glue_parquet_target(&self) -> ::std::option::Option<&crate::types::S3GlueParquetTarget> {
233        self.s3_glue_parquet_target.as_ref()
234    }
235    /// <p>Specifies a data target that writes to Amazon S3.</p>
236    pub fn s3_direct_target(&self) -> ::std::option::Option<&crate::types::S3DirectTarget> {
237        self.s3_direct_target.as_ref()
238    }
239    /// <p>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.</p>
240    pub fn apply_mapping(&self) -> ::std::option::Option<&crate::types::ApplyMapping> {
241        self.apply_mapping.as_ref()
242    }
243    /// <p>Specifies a transform that chooses the data property keys that you want to keep.</p>
244    pub fn select_fields(&self) -> ::std::option::Option<&crate::types::SelectFields> {
245        self.select_fields.as_ref()
246    }
247    /// <p>Specifies a transform that chooses the data property keys that you want to drop.</p>
248    pub fn drop_fields(&self) -> ::std::option::Option<&crate::types::DropFields> {
249        self.drop_fields.as_ref()
250    }
251    /// <p>Specifies a transform that renames a single data property key.</p>
252    pub fn rename_field(&self) -> ::std::option::Option<&crate::types::RenameField> {
253        self.rename_field.as_ref()
254    }
255    /// <p>Specifies a transform that writes samples of the data to an Amazon S3 bucket.</p>
256    pub fn spigot(&self) -> ::std::option::Option<&crate::types::Spigot> {
257        self.spigot.as_ref()
258    }
259    /// <p>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.</p>
260    pub fn join(&self) -> ::std::option::Option<&crate::types::Join> {
261        self.join.as_ref()
262    }
263    /// <p>Specifies a transform that splits data property keys into two <code>DynamicFrames</code>. The output is a collection of <code>DynamicFrames</code>: one with selected data property keys, and one with the remaining data property keys.</p>
264    pub fn split_fields(&self) -> ::std::option::Option<&crate::types::SplitFields> {
265        self.split_fields.as_ref()
266    }
267    /// <p>Specifies a transform that chooses one <code>DynamicFrame</code> from a collection of <code>DynamicFrames</code>. The output is the selected <code>DynamicFrame</code></p>
268    pub fn select_from_collection(&self) -> ::std::option::Option<&crate::types::SelectFromCollection> {
269        self.select_from_collection.as_ref()
270    }
271    /// <p>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.</p>
272    pub fn fill_missing_values(&self) -> ::std::option::Option<&crate::types::FillMissingValues> {
273        self.fill_missing_values.as_ref()
274    }
275    /// <p>Specifies a transform that splits a dataset into two, based on a filter condition.</p>
276    pub fn filter(&self) -> ::std::option::Option<&crate::types::Filter> {
277        self.filter.as_ref()
278    }
279    /// <p>Specifies a transform that uses custom code you provide to perform the data transformation. The output is a collection of DynamicFrames.</p>
280    pub fn custom_code(&self) -> ::std::option::Option<&crate::types::CustomCode> {
281        self.custom_code.as_ref()
282    }
283    /// <p>Specifies a transform where you enter a SQL query using Spark SQL syntax to transform the data. The output is a single <code>DynamicFrame</code>.</p>
284    pub fn spark_sql(&self) -> ::std::option::Option<&crate::types::SparkSql> {
285        self.spark_sql.as_ref()
286    }
287    /// <p>Specifies a direct Amazon Kinesis data source.</p>
288    pub fn direct_kinesis_source(&self) -> ::std::option::Option<&crate::types::DirectKinesisSource> {
289        self.direct_kinesis_source.as_ref()
290    }
291    /// <p>Specifies an Apache Kafka data store.</p>
292    pub fn direct_kafka_source(&self) -> ::std::option::Option<&crate::types::DirectKafkaSource> {
293        self.direct_kafka_source.as_ref()
294    }
295    /// <p>Specifies a Kinesis data source in the Glue Data Catalog.</p>
296    pub fn catalog_kinesis_source(&self) -> ::std::option::Option<&crate::types::CatalogKinesisSource> {
297        self.catalog_kinesis_source.as_ref()
298    }
299    /// <p>Specifies an Apache Kafka data store in the Data Catalog.</p>
300    pub fn catalog_kafka_source(&self) -> ::std::option::Option<&crate::types::CatalogKafkaSource> {
301        self.catalog_kafka_source.as_ref()
302    }
303    /// <p>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.</p>
304    pub fn drop_null_fields(&self) -> ::std::option::Option<&crate::types::DropNullFields> {
305        self.drop_null_fields.as_ref()
306    }
307    /// <p>Specifies a transform that merges a <code>DynamicFrame</code> with a staging <code>DynamicFrame</code> based on the specified primary keys to identify records. Duplicate records (records with the same primary keys) are not de-duplicated.</p>
308    pub fn merge(&self) -> ::std::option::Option<&crate::types::Merge> {
309        self.merge.as_ref()
310    }
311    /// <p>Specifies a transform that combines the rows from two or more datasets into a single result.</p>
312    pub fn union(&self) -> ::std::option::Option<&crate::types::Union> {
313        self.union.as_ref()
314    }
315    /// <p>Specifies a transform that identifies, removes or masks PII data.</p>
316    pub fn pii_detection(&self) -> ::std::option::Option<&crate::types::PiiDetection> {
317        self.pii_detection.as_ref()
318    }
319    /// <p>Specifies a transform that groups rows by chosen fields and computes the aggregated value by specified function.</p>
320    pub fn aggregate(&self) -> ::std::option::Option<&crate::types::Aggregate> {
321        self.aggregate.as_ref()
322    }
323    /// <p>Specifies a transform that removes rows of repeating data from a data set.</p>
324    pub fn drop_duplicates(&self) -> ::std::option::Option<&crate::types::DropDuplicates> {
325        self.drop_duplicates.as_ref()
326    }
327    /// <p>Specifies a data target that writes to a goverened catalog.</p>
328    pub fn governed_catalog_target(&self) -> ::std::option::Option<&crate::types::GovernedCatalogTarget> {
329        self.governed_catalog_target.as_ref()
330    }
331    /// <p>Specifies a data source in a goverened Data Catalog.</p>
332    pub fn governed_catalog_source(&self) -> ::std::option::Option<&crate::types::GovernedCatalogSource> {
333        self.governed_catalog_source.as_ref()
334    }
335    /// <p>Specifies a Microsoft SQL server data source in the Glue Data Catalog.</p>
336    pub fn microsoft_sql_server_catalog_source(&self) -> ::std::option::Option<&crate::types::MicrosoftSqlServerCatalogSource> {
337        self.microsoft_sql_server_catalog_source.as_ref()
338    }
339    /// <p>Specifies a MySQL data source in the Glue Data Catalog.</p>
340    pub fn my_sql_catalog_source(&self) -> ::std::option::Option<&crate::types::MySqlCatalogSource> {
341        self.my_sql_catalog_source.as_ref()
342    }
343    /// <p>Specifies an Oracle data source in the Glue Data Catalog.</p>
344    pub fn oracle_sql_catalog_source(&self) -> ::std::option::Option<&crate::types::OracleSqlCatalogSource> {
345        self.oracle_sql_catalog_source.as_ref()
346    }
347    /// <p>Specifies a PostgresSQL data source in the Glue Data Catalog.</p>
348    pub fn postgre_sql_catalog_source(&self) -> ::std::option::Option<&crate::types::PostgreSqlCatalogSource> {
349        self.postgre_sql_catalog_source.as_ref()
350    }
351    /// <p>Specifies a target that uses Microsoft SQL.</p>
352    pub fn microsoft_sql_server_catalog_target(&self) -> ::std::option::Option<&crate::types::MicrosoftSqlServerCatalogTarget> {
353        self.microsoft_sql_server_catalog_target.as_ref()
354    }
355    /// <p>Specifies a target that uses MySQL.</p>
356    pub fn my_sql_catalog_target(&self) -> ::std::option::Option<&crate::types::MySqlCatalogTarget> {
357        self.my_sql_catalog_target.as_ref()
358    }
359    /// <p>Specifies a target that uses Oracle SQL.</p>
360    pub fn oracle_sql_catalog_target(&self) -> ::std::option::Option<&crate::types::OracleSqlCatalogTarget> {
361        self.oracle_sql_catalog_target.as_ref()
362    }
363    /// <p>Specifies a target that uses Postgres SQL.</p>
364    pub fn postgre_sql_catalog_target(&self) -> ::std::option::Option<&crate::types::PostgreSqlCatalogTarget> {
365        self.postgre_sql_catalog_target.as_ref()
366    }
367    /// <p>Specifies a route node that directs data to different output paths based on defined filtering conditions.</p>
368    pub fn route(&self) -> ::std::option::Option<&crate::types::Route> {
369        self.route.as_ref()
370    }
371    /// <p>Specifies a custom visual transform created by a user.</p>
372    pub fn dynamic_transform(&self) -> ::std::option::Option<&crate::types::DynamicTransform> {
373        self.dynamic_transform.as_ref()
374    }
375    /// <p>Specifies your data quality evaluation criteria.</p>
376    pub fn evaluate_data_quality(&self) -> ::std::option::Option<&crate::types::EvaluateDataQuality> {
377        self.evaluate_data_quality.as_ref()
378    }
379    /// <p>Specifies a Hudi data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.</p>
380    pub fn s3_catalog_hudi_source(&self) -> ::std::option::Option<&crate::types::S3CatalogHudiSource> {
381        self.s3_catalog_hudi_source.as_ref()
382    }
383    /// <p>Specifies a Hudi data source that is registered in the Glue Data Catalog.</p>
384    pub fn catalog_hudi_source(&self) -> ::std::option::Option<&crate::types::CatalogHudiSource> {
385        self.catalog_hudi_source.as_ref()
386    }
387    /// <p>Specifies a Hudi data source stored in Amazon S3.</p>
388    pub fn s3_hudi_source(&self) -> ::std::option::Option<&crate::types::S3HudiSource> {
389        self.s3_hudi_source.as_ref()
390    }
391    /// <p>Specifies a target that writes to a Hudi data source in the Glue Data Catalog.</p>
392    pub fn s3_hudi_catalog_target(&self) -> ::std::option::Option<&crate::types::S3HudiCatalogTarget> {
393        self.s3_hudi_catalog_target.as_ref()
394    }
395    /// <p>Specifies a target that writes to a Hudi data source in Amazon S3.</p>
396    pub fn s3_hudi_direct_target(&self) -> ::std::option::Option<&crate::types::S3HudiDirectTarget> {
397        self.s3_hudi_direct_target.as_ref()
398    }
399    /// <p>Specifies the direct JDBC source connection.</p>
400    pub fn direct_jdbc_source(&self) -> ::std::option::Option<&crate::types::DirectJdbcSource> {
401        self.direct_jdbc_source.as_ref()
402    }
403    /// <p>Specifies a Delta Lake data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.</p>
404    pub fn s3_catalog_delta_source(&self) -> ::std::option::Option<&crate::types::S3CatalogDeltaSource> {
405        self.s3_catalog_delta_source.as_ref()
406    }
407    /// <p>Specifies a Delta Lake data source that is registered in the Glue Data Catalog.</p>
408    pub fn catalog_delta_source(&self) -> ::std::option::Option<&crate::types::CatalogDeltaSource> {
409        self.catalog_delta_source.as_ref()
410    }
411    /// <p>Specifies a Delta Lake data source stored in Amazon S3.</p>
412    pub fn s3_delta_source(&self) -> ::std::option::Option<&crate::types::S3DeltaSource> {
413        self.s3_delta_source.as_ref()
414    }
415    /// <p>Specifies a target that writes to a Delta Lake data source in the Glue Data Catalog.</p>
416    pub fn s3_delta_catalog_target(&self) -> ::std::option::Option<&crate::types::S3DeltaCatalogTarget> {
417        self.s3_delta_catalog_target.as_ref()
418    }
419    /// <p>Specifies a target that writes to a Delta Lake data source in Amazon S3.</p>
420    pub fn s3_delta_direct_target(&self) -> ::std::option::Option<&crate::types::S3DeltaDirectTarget> {
421        self.s3_delta_direct_target.as_ref()
422    }
423    /// <p>Specifies a target that writes to a data source in Amazon Redshift.</p>
424    pub fn amazon_redshift_source(&self) -> ::std::option::Option<&crate::types::AmazonRedshiftSource> {
425        self.amazon_redshift_source.as_ref()
426    }
427    /// <p>Specifies a target that writes to a data target in Amazon Redshift.</p>
428    pub fn amazon_redshift_target(&self) -> ::std::option::Option<&crate::types::AmazonRedshiftTarget> {
429        self.amazon_redshift_target.as_ref()
430    }
431    /// <p>Specifies your data quality evaluation criteria. Allows multiple input data and returns a collection of Dynamic Frames.</p>
432    pub fn evaluate_data_quality_multi_frame(&self) -> ::std::option::Option<&crate::types::EvaluateDataQualityMultiFrame> {
433        self.evaluate_data_quality_multi_frame.as_ref()
434    }
435    /// <p>Specifies a Glue DataBrew recipe node.</p>
436    pub fn recipe(&self) -> ::std::option::Option<&crate::types::Recipe> {
437        self.recipe.as_ref()
438    }
439    /// <p>Specifies a Snowflake data source.</p>
440    pub fn snowflake_source(&self) -> ::std::option::Option<&crate::types::SnowflakeSource> {
441        self.snowflake_source.as_ref()
442    }
443    /// <p>Specifies a target that writes to a Snowflake data source.</p>
444    pub fn snowflake_target(&self) -> ::std::option::Option<&crate::types::SnowflakeTarget> {
445        self.snowflake_target.as_ref()
446    }
447    /// <p>Specifies a source generated with standard connection options.</p>
448    pub fn connector_data_source(&self) -> ::std::option::Option<&crate::types::ConnectorDataSource> {
449        self.connector_data_source.as_ref()
450    }
451    /// <p>Specifies a target generated with standard connection options.</p>
452    pub fn connector_data_target(&self) -> ::std::option::Option<&crate::types::ConnectorDataTarget> {
453        self.connector_data_target.as_ref()
454    }
455    /// <p>Specifies an Apache Iceberg data source that is registered in the Glue Data Catalog. The Iceberg data source must be stored in Amazon S3.</p>
456    pub fn s3_catalog_iceberg_source(&self) -> ::std::option::Option<&crate::types::S3CatalogIcebergSource> {
457        self.s3_catalog_iceberg_source.as_ref()
458    }
459    /// <p>Specifies an Apache Iceberg data source that is registered in the Glue Data Catalog.</p>
460    pub fn catalog_iceberg_source(&self) -> ::std::option::Option<&crate::types::CatalogIcebergSource> {
461        self.catalog_iceberg_source.as_ref()
462    }
463    /// <p>Specifies an Apache Iceberg catalog target that writes data to Amazon S3 and registers the table in the Glue Data Catalog.</p>
464    pub fn s3_iceberg_catalog_target(&self) -> ::std::option::Option<&crate::types::S3IcebergCatalogTarget> {
465        self.s3_iceberg_catalog_target.as_ref()
466    }
467    /// <p>Defines configuration parameters for writing data to Amazon S3 as an Apache Iceberg table.</p>
468    pub fn s3_iceberg_direct_target(&self) -> ::std::option::Option<&crate::types::S3IcebergDirectTarget> {
469        self.s3_iceberg_direct_target.as_ref()
470    }
471    /// <p>Defines configuration parameters for reading Excel files from Amazon S3.</p>
472    pub fn s3_excel_source(&self) -> ::std::option::Option<&crate::types::S3ExcelSource> {
473        self.s3_excel_source.as_ref()
474    }
475    /// <p>Defines configuration parameters for writing data to Amazon S3 using HyperDirect optimization.</p>
476    pub fn s3_hyper_direct_target(&self) -> ::std::option::Option<&crate::types::S3HyperDirectTarget> {
477        self.s3_hyper_direct_target.as_ref()
478    }
479    /// <p>Specifies a DynamoDB ELT connector source for extracting data from DynamoDB tables.</p>
480    pub fn dynamo_dbelt_connector_source(&self) -> ::std::option::Option<&crate::types::DynamoDbeltConnectorSource> {
481        self.dynamo_dbelt_connector_source.as_ref()
482    }
483}
484impl CodeGenConfigurationNode {
485    /// Creates a new builder-style object to manufacture [`CodeGenConfigurationNode`](crate::types::CodeGenConfigurationNode).
486    pub fn builder() -> crate::types::builders::CodeGenConfigurationNodeBuilder {
487        crate::types::builders::CodeGenConfigurationNodeBuilder::default()
488    }
489}
490
491/// A builder for [`CodeGenConfigurationNode`](crate::types::CodeGenConfigurationNode).
492#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
493#[non_exhaustive]
494pub struct CodeGenConfigurationNodeBuilder {
495    pub(crate) athena_connector_source: ::std::option::Option<crate::types::AthenaConnectorSource>,
496    pub(crate) jdbc_connector_source: ::std::option::Option<crate::types::JdbcConnectorSource>,
497    pub(crate) spark_connector_source: ::std::option::Option<crate::types::SparkConnectorSource>,
498    pub(crate) catalog_source: ::std::option::Option<crate::types::CatalogSource>,
499    pub(crate) redshift_source: ::std::option::Option<crate::types::RedshiftSource>,
500    pub(crate) s3_catalog_source: ::std::option::Option<crate::types::S3CatalogSource>,
501    pub(crate) s3_csv_source: ::std::option::Option<crate::types::S3CsvSource>,
502    pub(crate) s3_json_source: ::std::option::Option<crate::types::S3JsonSource>,
503    pub(crate) s3_parquet_source: ::std::option::Option<crate::types::S3ParquetSource>,
504    pub(crate) relational_catalog_source: ::std::option::Option<crate::types::RelationalCatalogSource>,
505    pub(crate) dynamo_db_catalog_source: ::std::option::Option<crate::types::DynamoDbCatalogSource>,
506    pub(crate) jdbc_connector_target: ::std::option::Option<crate::types::JdbcConnectorTarget>,
507    pub(crate) spark_connector_target: ::std::option::Option<crate::types::SparkConnectorTarget>,
508    pub(crate) catalog_target: ::std::option::Option<crate::types::BasicCatalogTarget>,
509    pub(crate) redshift_target: ::std::option::Option<crate::types::RedshiftTarget>,
510    pub(crate) s3_catalog_target: ::std::option::Option<crate::types::S3CatalogTarget>,
511    pub(crate) s3_glue_parquet_target: ::std::option::Option<crate::types::S3GlueParquetTarget>,
512    pub(crate) s3_direct_target: ::std::option::Option<crate::types::S3DirectTarget>,
513    pub(crate) apply_mapping: ::std::option::Option<crate::types::ApplyMapping>,
514    pub(crate) select_fields: ::std::option::Option<crate::types::SelectFields>,
515    pub(crate) drop_fields: ::std::option::Option<crate::types::DropFields>,
516    pub(crate) rename_field: ::std::option::Option<crate::types::RenameField>,
517    pub(crate) spigot: ::std::option::Option<crate::types::Spigot>,
518    pub(crate) join: ::std::option::Option<crate::types::Join>,
519    pub(crate) split_fields: ::std::option::Option<crate::types::SplitFields>,
520    pub(crate) select_from_collection: ::std::option::Option<crate::types::SelectFromCollection>,
521    pub(crate) fill_missing_values: ::std::option::Option<crate::types::FillMissingValues>,
522    pub(crate) filter: ::std::option::Option<crate::types::Filter>,
523    pub(crate) custom_code: ::std::option::Option<crate::types::CustomCode>,
524    pub(crate) spark_sql: ::std::option::Option<crate::types::SparkSql>,
525    pub(crate) direct_kinesis_source: ::std::option::Option<crate::types::DirectKinesisSource>,
526    pub(crate) direct_kafka_source: ::std::option::Option<crate::types::DirectKafkaSource>,
527    pub(crate) catalog_kinesis_source: ::std::option::Option<crate::types::CatalogKinesisSource>,
528    pub(crate) catalog_kafka_source: ::std::option::Option<crate::types::CatalogKafkaSource>,
529    pub(crate) drop_null_fields: ::std::option::Option<crate::types::DropNullFields>,
530    pub(crate) merge: ::std::option::Option<crate::types::Merge>,
531    pub(crate) union: ::std::option::Option<crate::types::Union>,
532    pub(crate) pii_detection: ::std::option::Option<crate::types::PiiDetection>,
533    pub(crate) aggregate: ::std::option::Option<crate::types::Aggregate>,
534    pub(crate) drop_duplicates: ::std::option::Option<crate::types::DropDuplicates>,
535    pub(crate) governed_catalog_target: ::std::option::Option<crate::types::GovernedCatalogTarget>,
536    pub(crate) governed_catalog_source: ::std::option::Option<crate::types::GovernedCatalogSource>,
537    pub(crate) microsoft_sql_server_catalog_source: ::std::option::Option<crate::types::MicrosoftSqlServerCatalogSource>,
538    pub(crate) my_sql_catalog_source: ::std::option::Option<crate::types::MySqlCatalogSource>,
539    pub(crate) oracle_sql_catalog_source: ::std::option::Option<crate::types::OracleSqlCatalogSource>,
540    pub(crate) postgre_sql_catalog_source: ::std::option::Option<crate::types::PostgreSqlCatalogSource>,
541    pub(crate) microsoft_sql_server_catalog_target: ::std::option::Option<crate::types::MicrosoftSqlServerCatalogTarget>,
542    pub(crate) my_sql_catalog_target: ::std::option::Option<crate::types::MySqlCatalogTarget>,
543    pub(crate) oracle_sql_catalog_target: ::std::option::Option<crate::types::OracleSqlCatalogTarget>,
544    pub(crate) postgre_sql_catalog_target: ::std::option::Option<crate::types::PostgreSqlCatalogTarget>,
545    pub(crate) route: ::std::option::Option<crate::types::Route>,
546    pub(crate) dynamic_transform: ::std::option::Option<crate::types::DynamicTransform>,
547    pub(crate) evaluate_data_quality: ::std::option::Option<crate::types::EvaluateDataQuality>,
548    pub(crate) s3_catalog_hudi_source: ::std::option::Option<crate::types::S3CatalogHudiSource>,
549    pub(crate) catalog_hudi_source: ::std::option::Option<crate::types::CatalogHudiSource>,
550    pub(crate) s3_hudi_source: ::std::option::Option<crate::types::S3HudiSource>,
551    pub(crate) s3_hudi_catalog_target: ::std::option::Option<crate::types::S3HudiCatalogTarget>,
552    pub(crate) s3_hudi_direct_target: ::std::option::Option<crate::types::S3HudiDirectTarget>,
553    pub(crate) direct_jdbc_source: ::std::option::Option<crate::types::DirectJdbcSource>,
554    pub(crate) s3_catalog_delta_source: ::std::option::Option<crate::types::S3CatalogDeltaSource>,
555    pub(crate) catalog_delta_source: ::std::option::Option<crate::types::CatalogDeltaSource>,
556    pub(crate) s3_delta_source: ::std::option::Option<crate::types::S3DeltaSource>,
557    pub(crate) s3_delta_catalog_target: ::std::option::Option<crate::types::S3DeltaCatalogTarget>,
558    pub(crate) s3_delta_direct_target: ::std::option::Option<crate::types::S3DeltaDirectTarget>,
559    pub(crate) amazon_redshift_source: ::std::option::Option<crate::types::AmazonRedshiftSource>,
560    pub(crate) amazon_redshift_target: ::std::option::Option<crate::types::AmazonRedshiftTarget>,
561    pub(crate) evaluate_data_quality_multi_frame: ::std::option::Option<crate::types::EvaluateDataQualityMultiFrame>,
562    pub(crate) recipe: ::std::option::Option<crate::types::Recipe>,
563    pub(crate) snowflake_source: ::std::option::Option<crate::types::SnowflakeSource>,
564    pub(crate) snowflake_target: ::std::option::Option<crate::types::SnowflakeTarget>,
565    pub(crate) connector_data_source: ::std::option::Option<crate::types::ConnectorDataSource>,
566    pub(crate) connector_data_target: ::std::option::Option<crate::types::ConnectorDataTarget>,
567    pub(crate) s3_catalog_iceberg_source: ::std::option::Option<crate::types::S3CatalogIcebergSource>,
568    pub(crate) catalog_iceberg_source: ::std::option::Option<crate::types::CatalogIcebergSource>,
569    pub(crate) s3_iceberg_catalog_target: ::std::option::Option<crate::types::S3IcebergCatalogTarget>,
570    pub(crate) s3_iceberg_direct_target: ::std::option::Option<crate::types::S3IcebergDirectTarget>,
571    pub(crate) s3_excel_source: ::std::option::Option<crate::types::S3ExcelSource>,
572    pub(crate) s3_hyper_direct_target: ::std::option::Option<crate::types::S3HyperDirectTarget>,
573    pub(crate) dynamo_dbelt_connector_source: ::std::option::Option<crate::types::DynamoDbeltConnectorSource>,
574}
575impl CodeGenConfigurationNodeBuilder {
576    /// <p>Specifies a connector to an Amazon Athena data source.</p>
577    pub fn athena_connector_source(mut self, input: crate::types::AthenaConnectorSource) -> Self {
578        self.athena_connector_source = ::std::option::Option::Some(input);
579        self
580    }
581    /// <p>Specifies a connector to an Amazon Athena data source.</p>
582    pub fn set_athena_connector_source(mut self, input: ::std::option::Option<crate::types::AthenaConnectorSource>) -> Self {
583        self.athena_connector_source = input;
584        self
585    }
586    /// <p>Specifies a connector to an Amazon Athena data source.</p>
587    pub fn get_athena_connector_source(&self) -> &::std::option::Option<crate::types::AthenaConnectorSource> {
588        &self.athena_connector_source
589    }
590    /// <p>Specifies a connector to a JDBC data source.</p>
591    pub fn jdbc_connector_source(mut self, input: crate::types::JdbcConnectorSource) -> Self {
592        self.jdbc_connector_source = ::std::option::Option::Some(input);
593        self
594    }
595    /// <p>Specifies a connector to a JDBC data source.</p>
596    pub fn set_jdbc_connector_source(mut self, input: ::std::option::Option<crate::types::JdbcConnectorSource>) -> Self {
597        self.jdbc_connector_source = input;
598        self
599    }
600    /// <p>Specifies a connector to a JDBC data source.</p>
601    pub fn get_jdbc_connector_source(&self) -> &::std::option::Option<crate::types::JdbcConnectorSource> {
602        &self.jdbc_connector_source
603    }
604    /// <p>Specifies a connector to an Apache Spark data source.</p>
605    pub fn spark_connector_source(mut self, input: crate::types::SparkConnectorSource) -> Self {
606        self.spark_connector_source = ::std::option::Option::Some(input);
607        self
608    }
609    /// <p>Specifies a connector to an Apache Spark data source.</p>
610    pub fn set_spark_connector_source(mut self, input: ::std::option::Option<crate::types::SparkConnectorSource>) -> Self {
611        self.spark_connector_source = input;
612        self
613    }
614    /// <p>Specifies a connector to an Apache Spark data source.</p>
615    pub fn get_spark_connector_source(&self) -> &::std::option::Option<crate::types::SparkConnectorSource> {
616        &self.spark_connector_source
617    }
618    /// <p>Specifies a data store in the Glue Data Catalog.</p>
619    pub fn catalog_source(mut self, input: crate::types::CatalogSource) -> Self {
620        self.catalog_source = ::std::option::Option::Some(input);
621        self
622    }
623    /// <p>Specifies a data store in the Glue Data Catalog.</p>
624    pub fn set_catalog_source(mut self, input: ::std::option::Option<crate::types::CatalogSource>) -> Self {
625        self.catalog_source = input;
626        self
627    }
628    /// <p>Specifies a data store in the Glue Data Catalog.</p>
629    pub fn get_catalog_source(&self) -> &::std::option::Option<crate::types::CatalogSource> {
630        &self.catalog_source
631    }
632    /// <p>Specifies an Amazon Redshift data store.</p>
633    pub fn redshift_source(mut self, input: crate::types::RedshiftSource) -> Self {
634        self.redshift_source = ::std::option::Option::Some(input);
635        self
636    }
637    /// <p>Specifies an Amazon Redshift data store.</p>
638    pub fn set_redshift_source(mut self, input: ::std::option::Option<crate::types::RedshiftSource>) -> Self {
639        self.redshift_source = input;
640        self
641    }
642    /// <p>Specifies an Amazon Redshift data store.</p>
643    pub fn get_redshift_source(&self) -> &::std::option::Option<crate::types::RedshiftSource> {
644        &self.redshift_source
645    }
646    /// <p>Specifies an Amazon S3 data store in the Glue Data Catalog.</p>
647    pub fn s3_catalog_source(mut self, input: crate::types::S3CatalogSource) -> Self {
648        self.s3_catalog_source = ::std::option::Option::Some(input);
649        self
650    }
651    /// <p>Specifies an Amazon S3 data store in the Glue Data Catalog.</p>
652    pub fn set_s3_catalog_source(mut self, input: ::std::option::Option<crate::types::S3CatalogSource>) -> Self {
653        self.s3_catalog_source = input;
654        self
655    }
656    /// <p>Specifies an Amazon S3 data store in the Glue Data Catalog.</p>
657    pub fn get_s3_catalog_source(&self) -> &::std::option::Option<crate::types::S3CatalogSource> {
658        &self.s3_catalog_source
659    }
660    /// <p>Specifies a command-separated value (CSV) data store stored in Amazon S3.</p>
661    pub fn s3_csv_source(mut self, input: crate::types::S3CsvSource) -> Self {
662        self.s3_csv_source = ::std::option::Option::Some(input);
663        self
664    }
665    /// <p>Specifies a command-separated value (CSV) data store stored in Amazon S3.</p>
666    pub fn set_s3_csv_source(mut self, input: ::std::option::Option<crate::types::S3CsvSource>) -> Self {
667        self.s3_csv_source = input;
668        self
669    }
670    /// <p>Specifies a command-separated value (CSV) data store stored in Amazon S3.</p>
671    pub fn get_s3_csv_source(&self) -> &::std::option::Option<crate::types::S3CsvSource> {
672        &self.s3_csv_source
673    }
674    /// <p>Specifies a JSON data store stored in Amazon S3.</p>
675    pub fn s3_json_source(mut self, input: crate::types::S3JsonSource) -> Self {
676        self.s3_json_source = ::std::option::Option::Some(input);
677        self
678    }
679    /// <p>Specifies a JSON data store stored in Amazon S3.</p>
680    pub fn set_s3_json_source(mut self, input: ::std::option::Option<crate::types::S3JsonSource>) -> Self {
681        self.s3_json_source = input;
682        self
683    }
684    /// <p>Specifies a JSON data store stored in Amazon S3.</p>
685    pub fn get_s3_json_source(&self) -> &::std::option::Option<crate::types::S3JsonSource> {
686        &self.s3_json_source
687    }
688    /// <p>Specifies an Apache Parquet data store stored in Amazon S3.</p>
689    pub fn s3_parquet_source(mut self, input: crate::types::S3ParquetSource) -> Self {
690        self.s3_parquet_source = ::std::option::Option::Some(input);
691        self
692    }
693    /// <p>Specifies an Apache Parquet data store stored in Amazon S3.</p>
694    pub fn set_s3_parquet_source(mut self, input: ::std::option::Option<crate::types::S3ParquetSource>) -> Self {
695        self.s3_parquet_source = input;
696        self
697    }
698    /// <p>Specifies an Apache Parquet data store stored in Amazon S3.</p>
699    pub fn get_s3_parquet_source(&self) -> &::std::option::Option<crate::types::S3ParquetSource> {
700        &self.s3_parquet_source
701    }
702    /// <p>Specifies a relational catalog data store in the Glue Data Catalog.</p>
703    pub fn relational_catalog_source(mut self, input: crate::types::RelationalCatalogSource) -> Self {
704        self.relational_catalog_source = ::std::option::Option::Some(input);
705        self
706    }
707    /// <p>Specifies a relational catalog data store in the Glue Data Catalog.</p>
708    pub fn set_relational_catalog_source(mut self, input: ::std::option::Option<crate::types::RelationalCatalogSource>) -> Self {
709        self.relational_catalog_source = input;
710        self
711    }
712    /// <p>Specifies a relational catalog data store in the Glue Data Catalog.</p>
713    pub fn get_relational_catalog_source(&self) -> &::std::option::Option<crate::types::RelationalCatalogSource> {
714        &self.relational_catalog_source
715    }
716    /// <p>Specifies a DynamoDBC Catalog data store in the Glue Data Catalog.</p>
717    pub fn dynamo_db_catalog_source(mut self, input: crate::types::DynamoDbCatalogSource) -> Self {
718        self.dynamo_db_catalog_source = ::std::option::Option::Some(input);
719        self
720    }
721    /// <p>Specifies a DynamoDBC Catalog data store in the Glue Data Catalog.</p>
722    pub fn set_dynamo_db_catalog_source(mut self, input: ::std::option::Option<crate::types::DynamoDbCatalogSource>) -> Self {
723        self.dynamo_db_catalog_source = input;
724        self
725    }
726    /// <p>Specifies a DynamoDBC Catalog data store in the Glue Data Catalog.</p>
727    pub fn get_dynamo_db_catalog_source(&self) -> &::std::option::Option<crate::types::DynamoDbCatalogSource> {
728        &self.dynamo_db_catalog_source
729    }
730    /// <p>Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.</p>
731    pub fn jdbc_connector_target(mut self, input: crate::types::JdbcConnectorTarget) -> Self {
732        self.jdbc_connector_target = ::std::option::Option::Some(input);
733        self
734    }
735    /// <p>Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.</p>
736    pub fn set_jdbc_connector_target(mut self, input: ::std::option::Option<crate::types::JdbcConnectorTarget>) -> Self {
737        self.jdbc_connector_target = input;
738        self
739    }
740    /// <p>Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.</p>
741    pub fn get_jdbc_connector_target(&self) -> &::std::option::Option<crate::types::JdbcConnectorTarget> {
742        &self.jdbc_connector_target
743    }
744    /// <p>Specifies a target that uses an Apache Spark connector.</p>
745    pub fn spark_connector_target(mut self, input: crate::types::SparkConnectorTarget) -> Self {
746        self.spark_connector_target = ::std::option::Option::Some(input);
747        self
748    }
749    /// <p>Specifies a target that uses an Apache Spark connector.</p>
750    pub fn set_spark_connector_target(mut self, input: ::std::option::Option<crate::types::SparkConnectorTarget>) -> Self {
751        self.spark_connector_target = input;
752        self
753    }
754    /// <p>Specifies a target that uses an Apache Spark connector.</p>
755    pub fn get_spark_connector_target(&self) -> &::std::option::Option<crate::types::SparkConnectorTarget> {
756        &self.spark_connector_target
757    }
758    /// <p>Specifies a target that uses a Glue Data Catalog table.</p>
759    pub fn catalog_target(mut self, input: crate::types::BasicCatalogTarget) -> Self {
760        self.catalog_target = ::std::option::Option::Some(input);
761        self
762    }
763    /// <p>Specifies a target that uses a Glue Data Catalog table.</p>
764    pub fn set_catalog_target(mut self, input: ::std::option::Option<crate::types::BasicCatalogTarget>) -> Self {
765        self.catalog_target = input;
766        self
767    }
768    /// <p>Specifies a target that uses a Glue Data Catalog table.</p>
769    pub fn get_catalog_target(&self) -> &::std::option::Option<crate::types::BasicCatalogTarget> {
770        &self.catalog_target
771    }
772    /// <p>Specifies a target that uses Amazon Redshift.</p>
773    pub fn redshift_target(mut self, input: crate::types::RedshiftTarget) -> Self {
774        self.redshift_target = ::std::option::Option::Some(input);
775        self
776    }
777    /// <p>Specifies a target that uses Amazon Redshift.</p>
778    pub fn set_redshift_target(mut self, input: ::std::option::Option<crate::types::RedshiftTarget>) -> Self {
779        self.redshift_target = input;
780        self
781    }
782    /// <p>Specifies a target that uses Amazon Redshift.</p>
783    pub fn get_redshift_target(&self) -> &::std::option::Option<crate::types::RedshiftTarget> {
784        &self.redshift_target
785    }
786    /// <p>Specifies a data target that writes to Amazon S3 using the Glue Data Catalog.</p>
787    pub fn s3_catalog_target(mut self, input: crate::types::S3CatalogTarget) -> Self {
788        self.s3_catalog_target = ::std::option::Option::Some(input);
789        self
790    }
791    /// <p>Specifies a data target that writes to Amazon S3 using the Glue Data Catalog.</p>
792    pub fn set_s3_catalog_target(mut self, input: ::std::option::Option<crate::types::S3CatalogTarget>) -> Self {
793        self.s3_catalog_target = input;
794        self
795    }
796    /// <p>Specifies a data target that writes to Amazon S3 using the Glue Data Catalog.</p>
797    pub fn get_s3_catalog_target(&self) -> &::std::option::Option<crate::types::S3CatalogTarget> {
798        &self.s3_catalog_target
799    }
800    /// <p>Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.</p>
801    pub fn s3_glue_parquet_target(mut self, input: crate::types::S3GlueParquetTarget) -> Self {
802        self.s3_glue_parquet_target = ::std::option::Option::Some(input);
803        self
804    }
805    /// <p>Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.</p>
806    pub fn set_s3_glue_parquet_target(mut self, input: ::std::option::Option<crate::types::S3GlueParquetTarget>) -> Self {
807        self.s3_glue_parquet_target = input;
808        self
809    }
810    /// <p>Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.</p>
811    pub fn get_s3_glue_parquet_target(&self) -> &::std::option::Option<crate::types::S3GlueParquetTarget> {
812        &self.s3_glue_parquet_target
813    }
814    /// <p>Specifies a data target that writes to Amazon S3.</p>
815    pub fn s3_direct_target(mut self, input: crate::types::S3DirectTarget) -> Self {
816        self.s3_direct_target = ::std::option::Option::Some(input);
817        self
818    }
819    /// <p>Specifies a data target that writes to Amazon S3.</p>
820    pub fn set_s3_direct_target(mut self, input: ::std::option::Option<crate::types::S3DirectTarget>) -> Self {
821        self.s3_direct_target = input;
822        self
823    }
824    /// <p>Specifies a data target that writes to Amazon S3.</p>
825    pub fn get_s3_direct_target(&self) -> &::std::option::Option<crate::types::S3DirectTarget> {
826        &self.s3_direct_target
827    }
828    /// <p>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.</p>
829    pub fn apply_mapping(mut self, input: crate::types::ApplyMapping) -> Self {
830        self.apply_mapping = ::std::option::Option::Some(input);
831        self
832    }
833    /// <p>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.</p>
834    pub fn set_apply_mapping(mut self, input: ::std::option::Option<crate::types::ApplyMapping>) -> Self {
835        self.apply_mapping = input;
836        self
837    }
838    /// <p>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.</p>
839    pub fn get_apply_mapping(&self) -> &::std::option::Option<crate::types::ApplyMapping> {
840        &self.apply_mapping
841    }
842    /// <p>Specifies a transform that chooses the data property keys that you want to keep.</p>
843    pub fn select_fields(mut self, input: crate::types::SelectFields) -> Self {
844        self.select_fields = ::std::option::Option::Some(input);
845        self
846    }
847    /// <p>Specifies a transform that chooses the data property keys that you want to keep.</p>
848    pub fn set_select_fields(mut self, input: ::std::option::Option<crate::types::SelectFields>) -> Self {
849        self.select_fields = input;
850        self
851    }
852    /// <p>Specifies a transform that chooses the data property keys that you want to keep.</p>
853    pub fn get_select_fields(&self) -> &::std::option::Option<crate::types::SelectFields> {
854        &self.select_fields
855    }
856    /// <p>Specifies a transform that chooses the data property keys that you want to drop.</p>
857    pub fn drop_fields(mut self, input: crate::types::DropFields) -> Self {
858        self.drop_fields = ::std::option::Option::Some(input);
859        self
860    }
861    /// <p>Specifies a transform that chooses the data property keys that you want to drop.</p>
862    pub fn set_drop_fields(mut self, input: ::std::option::Option<crate::types::DropFields>) -> Self {
863        self.drop_fields = input;
864        self
865    }
866    /// <p>Specifies a transform that chooses the data property keys that you want to drop.</p>
867    pub fn get_drop_fields(&self) -> &::std::option::Option<crate::types::DropFields> {
868        &self.drop_fields
869    }
870    /// <p>Specifies a transform that renames a single data property key.</p>
871    pub fn rename_field(mut self, input: crate::types::RenameField) -> Self {
872        self.rename_field = ::std::option::Option::Some(input);
873        self
874    }
875    /// <p>Specifies a transform that renames a single data property key.</p>
876    pub fn set_rename_field(mut self, input: ::std::option::Option<crate::types::RenameField>) -> Self {
877        self.rename_field = input;
878        self
879    }
880    /// <p>Specifies a transform that renames a single data property key.</p>
881    pub fn get_rename_field(&self) -> &::std::option::Option<crate::types::RenameField> {
882        &self.rename_field
883    }
884    /// <p>Specifies a transform that writes samples of the data to an Amazon S3 bucket.</p>
885    pub fn spigot(mut self, input: crate::types::Spigot) -> Self {
886        self.spigot = ::std::option::Option::Some(input);
887        self
888    }
889    /// <p>Specifies a transform that writes samples of the data to an Amazon S3 bucket.</p>
890    pub fn set_spigot(mut self, input: ::std::option::Option<crate::types::Spigot>) -> Self {
891        self.spigot = input;
892        self
893    }
894    /// <p>Specifies a transform that writes samples of the data to an Amazon S3 bucket.</p>
895    pub fn get_spigot(&self) -> &::std::option::Option<crate::types::Spigot> {
896        &self.spigot
897    }
898    /// <p>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.</p>
899    pub fn join(mut self, input: crate::types::Join) -> Self {
900        self.join = ::std::option::Option::Some(input);
901        self
902    }
903    /// <p>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.</p>
904    pub fn set_join(mut self, input: ::std::option::Option<crate::types::Join>) -> Self {
905        self.join = input;
906        self
907    }
908    /// <p>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.</p>
909    pub fn get_join(&self) -> &::std::option::Option<crate::types::Join> {
910        &self.join
911    }
912    /// <p>Specifies a transform that splits data property keys into two <code>DynamicFrames</code>. The output is a collection of <code>DynamicFrames</code>: one with selected data property keys, and one with the remaining data property keys.</p>
913    pub fn split_fields(mut self, input: crate::types::SplitFields) -> Self {
914        self.split_fields = ::std::option::Option::Some(input);
915        self
916    }
917    /// <p>Specifies a transform that splits data property keys into two <code>DynamicFrames</code>. The output is a collection of <code>DynamicFrames</code>: one with selected data property keys, and one with the remaining data property keys.</p>
918    pub fn set_split_fields(mut self, input: ::std::option::Option<crate::types::SplitFields>) -> Self {
919        self.split_fields = input;
920        self
921    }
922    /// <p>Specifies a transform that splits data property keys into two <code>DynamicFrames</code>. The output is a collection of <code>DynamicFrames</code>: one with selected data property keys, and one with the remaining data property keys.</p>
923    pub fn get_split_fields(&self) -> &::std::option::Option<crate::types::SplitFields> {
924        &self.split_fields
925    }
926    /// <p>Specifies a transform that chooses one <code>DynamicFrame</code> from a collection of <code>DynamicFrames</code>. The output is the selected <code>DynamicFrame</code></p>
927    pub fn select_from_collection(mut self, input: crate::types::SelectFromCollection) -> Self {
928        self.select_from_collection = ::std::option::Option::Some(input);
929        self
930    }
931    /// <p>Specifies a transform that chooses one <code>DynamicFrame</code> from a collection of <code>DynamicFrames</code>. The output is the selected <code>DynamicFrame</code></p>
932    pub fn set_select_from_collection(mut self, input: ::std::option::Option<crate::types::SelectFromCollection>) -> Self {
933        self.select_from_collection = input;
934        self
935    }
936    /// <p>Specifies a transform that chooses one <code>DynamicFrame</code> from a collection of <code>DynamicFrames</code>. The output is the selected <code>DynamicFrame</code></p>
937    pub fn get_select_from_collection(&self) -> &::std::option::Option<crate::types::SelectFromCollection> {
938        &self.select_from_collection
939    }
940    /// <p>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.</p>
941    pub fn fill_missing_values(mut self, input: crate::types::FillMissingValues) -> Self {
942        self.fill_missing_values = ::std::option::Option::Some(input);
943        self
944    }
945    /// <p>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.</p>
946    pub fn set_fill_missing_values(mut self, input: ::std::option::Option<crate::types::FillMissingValues>) -> Self {
947        self.fill_missing_values = input;
948        self
949    }
950    /// <p>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.</p>
951    pub fn get_fill_missing_values(&self) -> &::std::option::Option<crate::types::FillMissingValues> {
952        &self.fill_missing_values
953    }
954    /// <p>Specifies a transform that splits a dataset into two, based on a filter condition.</p>
955    pub fn filter(mut self, input: crate::types::Filter) -> Self {
956        self.filter = ::std::option::Option::Some(input);
957        self
958    }
959    /// <p>Specifies a transform that splits a dataset into two, based on a filter condition.</p>
960    pub fn set_filter(mut self, input: ::std::option::Option<crate::types::Filter>) -> Self {
961        self.filter = input;
962        self
963    }
964    /// <p>Specifies a transform that splits a dataset into two, based on a filter condition.</p>
965    pub fn get_filter(&self) -> &::std::option::Option<crate::types::Filter> {
966        &self.filter
967    }
968    /// <p>Specifies a transform that uses custom code you provide to perform the data transformation. The output is a collection of DynamicFrames.</p>
969    pub fn custom_code(mut self, input: crate::types::CustomCode) -> Self {
970        self.custom_code = ::std::option::Option::Some(input);
971        self
972    }
973    /// <p>Specifies a transform that uses custom code you provide to perform the data transformation. The output is a collection of DynamicFrames.</p>
974    pub fn set_custom_code(mut self, input: ::std::option::Option<crate::types::CustomCode>) -> Self {
975        self.custom_code = input;
976        self
977    }
978    /// <p>Specifies a transform that uses custom code you provide to perform the data transformation. The output is a collection of DynamicFrames.</p>
979    pub fn get_custom_code(&self) -> &::std::option::Option<crate::types::CustomCode> {
980        &self.custom_code
981    }
982    /// <p>Specifies a transform where you enter a SQL query using Spark SQL syntax to transform the data. The output is a single <code>DynamicFrame</code>.</p>
983    pub fn spark_sql(mut self, input: crate::types::SparkSql) -> Self {
984        self.spark_sql = ::std::option::Option::Some(input);
985        self
986    }
987    /// <p>Specifies a transform where you enter a SQL query using Spark SQL syntax to transform the data. The output is a single <code>DynamicFrame</code>.</p>
988    pub fn set_spark_sql(mut self, input: ::std::option::Option<crate::types::SparkSql>) -> Self {
989        self.spark_sql = input;
990        self
991    }
992    /// <p>Specifies a transform where you enter a SQL query using Spark SQL syntax to transform the data. The output is a single <code>DynamicFrame</code>.</p>
993    pub fn get_spark_sql(&self) -> &::std::option::Option<crate::types::SparkSql> {
994        &self.spark_sql
995    }
996    /// <p>Specifies a direct Amazon Kinesis data source.</p>
997    pub fn direct_kinesis_source(mut self, input: crate::types::DirectKinesisSource) -> Self {
998        self.direct_kinesis_source = ::std::option::Option::Some(input);
999        self
1000    }
1001    /// <p>Specifies a direct Amazon Kinesis data source.</p>
1002    pub fn set_direct_kinesis_source(mut self, input: ::std::option::Option<crate::types::DirectKinesisSource>) -> Self {
1003        self.direct_kinesis_source = input;
1004        self
1005    }
1006    /// <p>Specifies a direct Amazon Kinesis data source.</p>
1007    pub fn get_direct_kinesis_source(&self) -> &::std::option::Option<crate::types::DirectKinesisSource> {
1008        &self.direct_kinesis_source
1009    }
1010    /// <p>Specifies an Apache Kafka data store.</p>
1011    pub fn direct_kafka_source(mut self, input: crate::types::DirectKafkaSource) -> Self {
1012        self.direct_kafka_source = ::std::option::Option::Some(input);
1013        self
1014    }
1015    /// <p>Specifies an Apache Kafka data store.</p>
1016    pub fn set_direct_kafka_source(mut self, input: ::std::option::Option<crate::types::DirectKafkaSource>) -> Self {
1017        self.direct_kafka_source = input;
1018        self
1019    }
1020    /// <p>Specifies an Apache Kafka data store.</p>
1021    pub fn get_direct_kafka_source(&self) -> &::std::option::Option<crate::types::DirectKafkaSource> {
1022        &self.direct_kafka_source
1023    }
1024    /// <p>Specifies a Kinesis data source in the Glue Data Catalog.</p>
1025    pub fn catalog_kinesis_source(mut self, input: crate::types::CatalogKinesisSource) -> Self {
1026        self.catalog_kinesis_source = ::std::option::Option::Some(input);
1027        self
1028    }
1029    /// <p>Specifies a Kinesis data source in the Glue Data Catalog.</p>
1030    pub fn set_catalog_kinesis_source(mut self, input: ::std::option::Option<crate::types::CatalogKinesisSource>) -> Self {
1031        self.catalog_kinesis_source = input;
1032        self
1033    }
1034    /// <p>Specifies a Kinesis data source in the Glue Data Catalog.</p>
1035    pub fn get_catalog_kinesis_source(&self) -> &::std::option::Option<crate::types::CatalogKinesisSource> {
1036        &self.catalog_kinesis_source
1037    }
1038    /// <p>Specifies an Apache Kafka data store in the Data Catalog.</p>
1039    pub fn catalog_kafka_source(mut self, input: crate::types::CatalogKafkaSource) -> Self {
1040        self.catalog_kafka_source = ::std::option::Option::Some(input);
1041        self
1042    }
1043    /// <p>Specifies an Apache Kafka data store in the Data Catalog.</p>
1044    pub fn set_catalog_kafka_source(mut self, input: ::std::option::Option<crate::types::CatalogKafkaSource>) -> Self {
1045        self.catalog_kafka_source = input;
1046        self
1047    }
1048    /// <p>Specifies an Apache Kafka data store in the Data Catalog.</p>
1049    pub fn get_catalog_kafka_source(&self) -> &::std::option::Option<crate::types::CatalogKafkaSource> {
1050        &self.catalog_kafka_source
1051    }
1052    /// <p>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.</p>
1053    pub fn drop_null_fields(mut self, input: crate::types::DropNullFields) -> Self {
1054        self.drop_null_fields = ::std::option::Option::Some(input);
1055        self
1056    }
1057    /// <p>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.</p>
1058    pub fn set_drop_null_fields(mut self, input: ::std::option::Option<crate::types::DropNullFields>) -> Self {
1059        self.drop_null_fields = input;
1060        self
1061    }
1062    /// <p>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.</p>
1063    pub fn get_drop_null_fields(&self) -> &::std::option::Option<crate::types::DropNullFields> {
1064        &self.drop_null_fields
1065    }
1066    /// <p>Specifies a transform that merges a <code>DynamicFrame</code> with a staging <code>DynamicFrame</code> based on the specified primary keys to identify records. Duplicate records (records with the same primary keys) are not de-duplicated.</p>
1067    pub fn merge(mut self, input: crate::types::Merge) -> Self {
1068        self.merge = ::std::option::Option::Some(input);
1069        self
1070    }
1071    /// <p>Specifies a transform that merges a <code>DynamicFrame</code> with a staging <code>DynamicFrame</code> based on the specified primary keys to identify records. Duplicate records (records with the same primary keys) are not de-duplicated.</p>
1072    pub fn set_merge(mut self, input: ::std::option::Option<crate::types::Merge>) -> Self {
1073        self.merge = input;
1074        self
1075    }
1076    /// <p>Specifies a transform that merges a <code>DynamicFrame</code> with a staging <code>DynamicFrame</code> based on the specified primary keys to identify records. Duplicate records (records with the same primary keys) are not de-duplicated.</p>
1077    pub fn get_merge(&self) -> &::std::option::Option<crate::types::Merge> {
1078        &self.merge
1079    }
1080    /// <p>Specifies a transform that combines the rows from two or more datasets into a single result.</p>
1081    pub fn union(mut self, input: crate::types::Union) -> Self {
1082        self.union = ::std::option::Option::Some(input);
1083        self
1084    }
1085    /// <p>Specifies a transform that combines the rows from two or more datasets into a single result.</p>
1086    pub fn set_union(mut self, input: ::std::option::Option<crate::types::Union>) -> Self {
1087        self.union = input;
1088        self
1089    }
1090    /// <p>Specifies a transform that combines the rows from two or more datasets into a single result.</p>
1091    pub fn get_union(&self) -> &::std::option::Option<crate::types::Union> {
1092        &self.union
1093    }
1094    /// <p>Specifies a transform that identifies, removes or masks PII data.</p>
1095    pub fn pii_detection(mut self, input: crate::types::PiiDetection) -> Self {
1096        self.pii_detection = ::std::option::Option::Some(input);
1097        self
1098    }
1099    /// <p>Specifies a transform that identifies, removes or masks PII data.</p>
1100    pub fn set_pii_detection(mut self, input: ::std::option::Option<crate::types::PiiDetection>) -> Self {
1101        self.pii_detection = input;
1102        self
1103    }
1104    /// <p>Specifies a transform that identifies, removes or masks PII data.</p>
1105    pub fn get_pii_detection(&self) -> &::std::option::Option<crate::types::PiiDetection> {
1106        &self.pii_detection
1107    }
1108    /// <p>Specifies a transform that groups rows by chosen fields and computes the aggregated value by specified function.</p>
1109    pub fn aggregate(mut self, input: crate::types::Aggregate) -> Self {
1110        self.aggregate = ::std::option::Option::Some(input);
1111        self
1112    }
1113    /// <p>Specifies a transform that groups rows by chosen fields and computes the aggregated value by specified function.</p>
1114    pub fn set_aggregate(mut self, input: ::std::option::Option<crate::types::Aggregate>) -> Self {
1115        self.aggregate = input;
1116        self
1117    }
1118    /// <p>Specifies a transform that groups rows by chosen fields and computes the aggregated value by specified function.</p>
1119    pub fn get_aggregate(&self) -> &::std::option::Option<crate::types::Aggregate> {
1120        &self.aggregate
1121    }
1122    /// <p>Specifies a transform that removes rows of repeating data from a data set.</p>
1123    pub fn drop_duplicates(mut self, input: crate::types::DropDuplicates) -> Self {
1124        self.drop_duplicates = ::std::option::Option::Some(input);
1125        self
1126    }
1127    /// <p>Specifies a transform that removes rows of repeating data from a data set.</p>
1128    pub fn set_drop_duplicates(mut self, input: ::std::option::Option<crate::types::DropDuplicates>) -> Self {
1129        self.drop_duplicates = input;
1130        self
1131    }
1132    /// <p>Specifies a transform that removes rows of repeating data from a data set.</p>
1133    pub fn get_drop_duplicates(&self) -> &::std::option::Option<crate::types::DropDuplicates> {
1134        &self.drop_duplicates
1135    }
1136    /// <p>Specifies a data target that writes to a goverened catalog.</p>
1137    pub fn governed_catalog_target(mut self, input: crate::types::GovernedCatalogTarget) -> Self {
1138        self.governed_catalog_target = ::std::option::Option::Some(input);
1139        self
1140    }
1141    /// <p>Specifies a data target that writes to a goverened catalog.</p>
1142    pub fn set_governed_catalog_target(mut self, input: ::std::option::Option<crate::types::GovernedCatalogTarget>) -> Self {
1143        self.governed_catalog_target = input;
1144        self
1145    }
1146    /// <p>Specifies a data target that writes to a goverened catalog.</p>
1147    pub fn get_governed_catalog_target(&self) -> &::std::option::Option<crate::types::GovernedCatalogTarget> {
1148        &self.governed_catalog_target
1149    }
1150    /// <p>Specifies a data source in a goverened Data Catalog.</p>
1151    pub fn governed_catalog_source(mut self, input: crate::types::GovernedCatalogSource) -> Self {
1152        self.governed_catalog_source = ::std::option::Option::Some(input);
1153        self
1154    }
1155    /// <p>Specifies a data source in a goverened Data Catalog.</p>
1156    pub fn set_governed_catalog_source(mut self, input: ::std::option::Option<crate::types::GovernedCatalogSource>) -> Self {
1157        self.governed_catalog_source = input;
1158        self
1159    }
1160    /// <p>Specifies a data source in a goverened Data Catalog.</p>
1161    pub fn get_governed_catalog_source(&self) -> &::std::option::Option<crate::types::GovernedCatalogSource> {
1162        &self.governed_catalog_source
1163    }
1164    /// <p>Specifies a Microsoft SQL server data source in the Glue Data Catalog.</p>
1165    pub fn microsoft_sql_server_catalog_source(mut self, input: crate::types::MicrosoftSqlServerCatalogSource) -> Self {
1166        self.microsoft_sql_server_catalog_source = ::std::option::Option::Some(input);
1167        self
1168    }
1169    /// <p>Specifies a Microsoft SQL server data source in the Glue Data Catalog.</p>
1170    pub fn set_microsoft_sql_server_catalog_source(mut self, input: ::std::option::Option<crate::types::MicrosoftSqlServerCatalogSource>) -> Self {
1171        self.microsoft_sql_server_catalog_source = input;
1172        self
1173    }
1174    /// <p>Specifies a Microsoft SQL server data source in the Glue Data Catalog.</p>
1175    pub fn get_microsoft_sql_server_catalog_source(&self) -> &::std::option::Option<crate::types::MicrosoftSqlServerCatalogSource> {
1176        &self.microsoft_sql_server_catalog_source
1177    }
1178    /// <p>Specifies a MySQL data source in the Glue Data Catalog.</p>
1179    pub fn my_sql_catalog_source(mut self, input: crate::types::MySqlCatalogSource) -> Self {
1180        self.my_sql_catalog_source = ::std::option::Option::Some(input);
1181        self
1182    }
1183    /// <p>Specifies a MySQL data source in the Glue Data Catalog.</p>
1184    pub fn set_my_sql_catalog_source(mut self, input: ::std::option::Option<crate::types::MySqlCatalogSource>) -> Self {
1185        self.my_sql_catalog_source = input;
1186        self
1187    }
1188    /// <p>Specifies a MySQL data source in the Glue Data Catalog.</p>
1189    pub fn get_my_sql_catalog_source(&self) -> &::std::option::Option<crate::types::MySqlCatalogSource> {
1190        &self.my_sql_catalog_source
1191    }
1192    /// <p>Specifies an Oracle data source in the Glue Data Catalog.</p>
1193    pub fn oracle_sql_catalog_source(mut self, input: crate::types::OracleSqlCatalogSource) -> Self {
1194        self.oracle_sql_catalog_source = ::std::option::Option::Some(input);
1195        self
1196    }
1197    /// <p>Specifies an Oracle data source in the Glue Data Catalog.</p>
1198    pub fn set_oracle_sql_catalog_source(mut self, input: ::std::option::Option<crate::types::OracleSqlCatalogSource>) -> Self {
1199        self.oracle_sql_catalog_source = input;
1200        self
1201    }
1202    /// <p>Specifies an Oracle data source in the Glue Data Catalog.</p>
1203    pub fn get_oracle_sql_catalog_source(&self) -> &::std::option::Option<crate::types::OracleSqlCatalogSource> {
1204        &self.oracle_sql_catalog_source
1205    }
1206    /// <p>Specifies a PostgresSQL data source in the Glue Data Catalog.</p>
1207    pub fn postgre_sql_catalog_source(mut self, input: crate::types::PostgreSqlCatalogSource) -> Self {
1208        self.postgre_sql_catalog_source = ::std::option::Option::Some(input);
1209        self
1210    }
1211    /// <p>Specifies a PostgresSQL data source in the Glue Data Catalog.</p>
1212    pub fn set_postgre_sql_catalog_source(mut self, input: ::std::option::Option<crate::types::PostgreSqlCatalogSource>) -> Self {
1213        self.postgre_sql_catalog_source = input;
1214        self
1215    }
1216    /// <p>Specifies a PostgresSQL data source in the Glue Data Catalog.</p>
1217    pub fn get_postgre_sql_catalog_source(&self) -> &::std::option::Option<crate::types::PostgreSqlCatalogSource> {
1218        &self.postgre_sql_catalog_source
1219    }
1220    /// <p>Specifies a target that uses Microsoft SQL.</p>
1221    pub fn microsoft_sql_server_catalog_target(mut self, input: crate::types::MicrosoftSqlServerCatalogTarget) -> Self {
1222        self.microsoft_sql_server_catalog_target = ::std::option::Option::Some(input);
1223        self
1224    }
1225    /// <p>Specifies a target that uses Microsoft SQL.</p>
1226    pub fn set_microsoft_sql_server_catalog_target(mut self, input: ::std::option::Option<crate::types::MicrosoftSqlServerCatalogTarget>) -> Self {
1227        self.microsoft_sql_server_catalog_target = input;
1228        self
1229    }
1230    /// <p>Specifies a target that uses Microsoft SQL.</p>
1231    pub fn get_microsoft_sql_server_catalog_target(&self) -> &::std::option::Option<crate::types::MicrosoftSqlServerCatalogTarget> {
1232        &self.microsoft_sql_server_catalog_target
1233    }
1234    /// <p>Specifies a target that uses MySQL.</p>
1235    pub fn my_sql_catalog_target(mut self, input: crate::types::MySqlCatalogTarget) -> Self {
1236        self.my_sql_catalog_target = ::std::option::Option::Some(input);
1237        self
1238    }
1239    /// <p>Specifies a target that uses MySQL.</p>
1240    pub fn set_my_sql_catalog_target(mut self, input: ::std::option::Option<crate::types::MySqlCatalogTarget>) -> Self {
1241        self.my_sql_catalog_target = input;
1242        self
1243    }
1244    /// <p>Specifies a target that uses MySQL.</p>
1245    pub fn get_my_sql_catalog_target(&self) -> &::std::option::Option<crate::types::MySqlCatalogTarget> {
1246        &self.my_sql_catalog_target
1247    }
1248    /// <p>Specifies a target that uses Oracle SQL.</p>
1249    pub fn oracle_sql_catalog_target(mut self, input: crate::types::OracleSqlCatalogTarget) -> Self {
1250        self.oracle_sql_catalog_target = ::std::option::Option::Some(input);
1251        self
1252    }
1253    /// <p>Specifies a target that uses Oracle SQL.</p>
1254    pub fn set_oracle_sql_catalog_target(mut self, input: ::std::option::Option<crate::types::OracleSqlCatalogTarget>) -> Self {
1255        self.oracle_sql_catalog_target = input;
1256        self
1257    }
1258    /// <p>Specifies a target that uses Oracle SQL.</p>
1259    pub fn get_oracle_sql_catalog_target(&self) -> &::std::option::Option<crate::types::OracleSqlCatalogTarget> {
1260        &self.oracle_sql_catalog_target
1261    }
1262    /// <p>Specifies a target that uses Postgres SQL.</p>
1263    pub fn postgre_sql_catalog_target(mut self, input: crate::types::PostgreSqlCatalogTarget) -> Self {
1264        self.postgre_sql_catalog_target = ::std::option::Option::Some(input);
1265        self
1266    }
1267    /// <p>Specifies a target that uses Postgres SQL.</p>
1268    pub fn set_postgre_sql_catalog_target(mut self, input: ::std::option::Option<crate::types::PostgreSqlCatalogTarget>) -> Self {
1269        self.postgre_sql_catalog_target = input;
1270        self
1271    }
1272    /// <p>Specifies a target that uses Postgres SQL.</p>
1273    pub fn get_postgre_sql_catalog_target(&self) -> &::std::option::Option<crate::types::PostgreSqlCatalogTarget> {
1274        &self.postgre_sql_catalog_target
1275    }
1276    /// <p>Specifies a route node that directs data to different output paths based on defined filtering conditions.</p>
1277    pub fn route(mut self, input: crate::types::Route) -> Self {
1278        self.route = ::std::option::Option::Some(input);
1279        self
1280    }
1281    /// <p>Specifies a route node that directs data to different output paths based on defined filtering conditions.</p>
1282    pub fn set_route(mut self, input: ::std::option::Option<crate::types::Route>) -> Self {
1283        self.route = input;
1284        self
1285    }
1286    /// <p>Specifies a route node that directs data to different output paths based on defined filtering conditions.</p>
1287    pub fn get_route(&self) -> &::std::option::Option<crate::types::Route> {
1288        &self.route
1289    }
1290    /// <p>Specifies a custom visual transform created by a user.</p>
1291    pub fn dynamic_transform(mut self, input: crate::types::DynamicTransform) -> Self {
1292        self.dynamic_transform = ::std::option::Option::Some(input);
1293        self
1294    }
1295    /// <p>Specifies a custom visual transform created by a user.</p>
1296    pub fn set_dynamic_transform(mut self, input: ::std::option::Option<crate::types::DynamicTransform>) -> Self {
1297        self.dynamic_transform = input;
1298        self
1299    }
1300    /// <p>Specifies a custom visual transform created by a user.</p>
1301    pub fn get_dynamic_transform(&self) -> &::std::option::Option<crate::types::DynamicTransform> {
1302        &self.dynamic_transform
1303    }
1304    /// <p>Specifies your data quality evaluation criteria.</p>
1305    pub fn evaluate_data_quality(mut self, input: crate::types::EvaluateDataQuality) -> Self {
1306        self.evaluate_data_quality = ::std::option::Option::Some(input);
1307        self
1308    }
1309    /// <p>Specifies your data quality evaluation criteria.</p>
1310    pub fn set_evaluate_data_quality(mut self, input: ::std::option::Option<crate::types::EvaluateDataQuality>) -> Self {
1311        self.evaluate_data_quality = input;
1312        self
1313    }
1314    /// <p>Specifies your data quality evaluation criteria.</p>
1315    pub fn get_evaluate_data_quality(&self) -> &::std::option::Option<crate::types::EvaluateDataQuality> {
1316        &self.evaluate_data_quality
1317    }
1318    /// <p>Specifies a Hudi data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.</p>
1319    pub fn s3_catalog_hudi_source(mut self, input: crate::types::S3CatalogHudiSource) -> Self {
1320        self.s3_catalog_hudi_source = ::std::option::Option::Some(input);
1321        self
1322    }
1323    /// <p>Specifies a Hudi data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.</p>
1324    pub fn set_s3_catalog_hudi_source(mut self, input: ::std::option::Option<crate::types::S3CatalogHudiSource>) -> Self {
1325        self.s3_catalog_hudi_source = input;
1326        self
1327    }
1328    /// <p>Specifies a Hudi data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.</p>
1329    pub fn get_s3_catalog_hudi_source(&self) -> &::std::option::Option<crate::types::S3CatalogHudiSource> {
1330        &self.s3_catalog_hudi_source
1331    }
1332    /// <p>Specifies a Hudi data source that is registered in the Glue Data Catalog.</p>
1333    pub fn catalog_hudi_source(mut self, input: crate::types::CatalogHudiSource) -> Self {
1334        self.catalog_hudi_source = ::std::option::Option::Some(input);
1335        self
1336    }
1337    /// <p>Specifies a Hudi data source that is registered in the Glue Data Catalog.</p>
1338    pub fn set_catalog_hudi_source(mut self, input: ::std::option::Option<crate::types::CatalogHudiSource>) -> Self {
1339        self.catalog_hudi_source = input;
1340        self
1341    }
1342    /// <p>Specifies a Hudi data source that is registered in the Glue Data Catalog.</p>
1343    pub fn get_catalog_hudi_source(&self) -> &::std::option::Option<crate::types::CatalogHudiSource> {
1344        &self.catalog_hudi_source
1345    }
1346    /// <p>Specifies a Hudi data source stored in Amazon S3.</p>
1347    pub fn s3_hudi_source(mut self, input: crate::types::S3HudiSource) -> Self {
1348        self.s3_hudi_source = ::std::option::Option::Some(input);
1349        self
1350    }
1351    /// <p>Specifies a Hudi data source stored in Amazon S3.</p>
1352    pub fn set_s3_hudi_source(mut self, input: ::std::option::Option<crate::types::S3HudiSource>) -> Self {
1353        self.s3_hudi_source = input;
1354        self
1355    }
1356    /// <p>Specifies a Hudi data source stored in Amazon S3.</p>
1357    pub fn get_s3_hudi_source(&self) -> &::std::option::Option<crate::types::S3HudiSource> {
1358        &self.s3_hudi_source
1359    }
1360    /// <p>Specifies a target that writes to a Hudi data source in the Glue Data Catalog.</p>
1361    pub fn s3_hudi_catalog_target(mut self, input: crate::types::S3HudiCatalogTarget) -> Self {
1362        self.s3_hudi_catalog_target = ::std::option::Option::Some(input);
1363        self
1364    }
1365    /// <p>Specifies a target that writes to a Hudi data source in the Glue Data Catalog.</p>
1366    pub fn set_s3_hudi_catalog_target(mut self, input: ::std::option::Option<crate::types::S3HudiCatalogTarget>) -> Self {
1367        self.s3_hudi_catalog_target = input;
1368        self
1369    }
1370    /// <p>Specifies a target that writes to a Hudi data source in the Glue Data Catalog.</p>
1371    pub fn get_s3_hudi_catalog_target(&self) -> &::std::option::Option<crate::types::S3HudiCatalogTarget> {
1372        &self.s3_hudi_catalog_target
1373    }
1374    /// <p>Specifies a target that writes to a Hudi data source in Amazon S3.</p>
1375    pub fn s3_hudi_direct_target(mut self, input: crate::types::S3HudiDirectTarget) -> Self {
1376        self.s3_hudi_direct_target = ::std::option::Option::Some(input);
1377        self
1378    }
1379    /// <p>Specifies a target that writes to a Hudi data source in Amazon S3.</p>
1380    pub fn set_s3_hudi_direct_target(mut self, input: ::std::option::Option<crate::types::S3HudiDirectTarget>) -> Self {
1381        self.s3_hudi_direct_target = input;
1382        self
1383    }
1384    /// <p>Specifies a target that writes to a Hudi data source in Amazon S3.</p>
1385    pub fn get_s3_hudi_direct_target(&self) -> &::std::option::Option<crate::types::S3HudiDirectTarget> {
1386        &self.s3_hudi_direct_target
1387    }
1388    /// <p>Specifies the direct JDBC source connection.</p>
1389    pub fn direct_jdbc_source(mut self, input: crate::types::DirectJdbcSource) -> Self {
1390        self.direct_jdbc_source = ::std::option::Option::Some(input);
1391        self
1392    }
1393    /// <p>Specifies the direct JDBC source connection.</p>
1394    pub fn set_direct_jdbc_source(mut self, input: ::std::option::Option<crate::types::DirectJdbcSource>) -> Self {
1395        self.direct_jdbc_source = input;
1396        self
1397    }
1398    /// <p>Specifies the direct JDBC source connection.</p>
1399    pub fn get_direct_jdbc_source(&self) -> &::std::option::Option<crate::types::DirectJdbcSource> {
1400        &self.direct_jdbc_source
1401    }
1402    /// <p>Specifies a Delta Lake data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.</p>
1403    pub fn s3_catalog_delta_source(mut self, input: crate::types::S3CatalogDeltaSource) -> Self {
1404        self.s3_catalog_delta_source = ::std::option::Option::Some(input);
1405        self
1406    }
1407    /// <p>Specifies a Delta Lake data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.</p>
1408    pub fn set_s3_catalog_delta_source(mut self, input: ::std::option::Option<crate::types::S3CatalogDeltaSource>) -> Self {
1409        self.s3_catalog_delta_source = input;
1410        self
1411    }
1412    /// <p>Specifies a Delta Lake data source that is registered in the Glue Data Catalog. The data source must be stored in Amazon S3.</p>
1413    pub fn get_s3_catalog_delta_source(&self) -> &::std::option::Option<crate::types::S3CatalogDeltaSource> {
1414        &self.s3_catalog_delta_source
1415    }
1416    /// <p>Specifies a Delta Lake data source that is registered in the Glue Data Catalog.</p>
1417    pub fn catalog_delta_source(mut self, input: crate::types::CatalogDeltaSource) -> Self {
1418        self.catalog_delta_source = ::std::option::Option::Some(input);
1419        self
1420    }
1421    /// <p>Specifies a Delta Lake data source that is registered in the Glue Data Catalog.</p>
1422    pub fn set_catalog_delta_source(mut self, input: ::std::option::Option<crate::types::CatalogDeltaSource>) -> Self {
1423        self.catalog_delta_source = input;
1424        self
1425    }
1426    /// <p>Specifies a Delta Lake data source that is registered in the Glue Data Catalog.</p>
1427    pub fn get_catalog_delta_source(&self) -> &::std::option::Option<crate::types::CatalogDeltaSource> {
1428        &self.catalog_delta_source
1429    }
1430    /// <p>Specifies a Delta Lake data source stored in Amazon S3.</p>
1431    pub fn s3_delta_source(mut self, input: crate::types::S3DeltaSource) -> Self {
1432        self.s3_delta_source = ::std::option::Option::Some(input);
1433        self
1434    }
1435    /// <p>Specifies a Delta Lake data source stored in Amazon S3.</p>
1436    pub fn set_s3_delta_source(mut self, input: ::std::option::Option<crate::types::S3DeltaSource>) -> Self {
1437        self.s3_delta_source = input;
1438        self
1439    }
1440    /// <p>Specifies a Delta Lake data source stored in Amazon S3.</p>
1441    pub fn get_s3_delta_source(&self) -> &::std::option::Option<crate::types::S3DeltaSource> {
1442        &self.s3_delta_source
1443    }
1444    /// <p>Specifies a target that writes to a Delta Lake data source in the Glue Data Catalog.</p>
1445    pub fn s3_delta_catalog_target(mut self, input: crate::types::S3DeltaCatalogTarget) -> Self {
1446        self.s3_delta_catalog_target = ::std::option::Option::Some(input);
1447        self
1448    }
1449    /// <p>Specifies a target that writes to a Delta Lake data source in the Glue Data Catalog.</p>
1450    pub fn set_s3_delta_catalog_target(mut self, input: ::std::option::Option<crate::types::S3DeltaCatalogTarget>) -> Self {
1451        self.s3_delta_catalog_target = input;
1452        self
1453    }
1454    /// <p>Specifies a target that writes to a Delta Lake data source in the Glue Data Catalog.</p>
1455    pub fn get_s3_delta_catalog_target(&self) -> &::std::option::Option<crate::types::S3DeltaCatalogTarget> {
1456        &self.s3_delta_catalog_target
1457    }
1458    /// <p>Specifies a target that writes to a Delta Lake data source in Amazon S3.</p>
1459    pub fn s3_delta_direct_target(mut self, input: crate::types::S3DeltaDirectTarget) -> Self {
1460        self.s3_delta_direct_target = ::std::option::Option::Some(input);
1461        self
1462    }
1463    /// <p>Specifies a target that writes to a Delta Lake data source in Amazon S3.</p>
1464    pub fn set_s3_delta_direct_target(mut self, input: ::std::option::Option<crate::types::S3DeltaDirectTarget>) -> Self {
1465        self.s3_delta_direct_target = input;
1466        self
1467    }
1468    /// <p>Specifies a target that writes to a Delta Lake data source in Amazon S3.</p>
1469    pub fn get_s3_delta_direct_target(&self) -> &::std::option::Option<crate::types::S3DeltaDirectTarget> {
1470        &self.s3_delta_direct_target
1471    }
1472    /// <p>Specifies a target that writes to a data source in Amazon Redshift.</p>
1473    pub fn amazon_redshift_source(mut self, input: crate::types::AmazonRedshiftSource) -> Self {
1474        self.amazon_redshift_source = ::std::option::Option::Some(input);
1475        self
1476    }
1477    /// <p>Specifies a target that writes to a data source in Amazon Redshift.</p>
1478    pub fn set_amazon_redshift_source(mut self, input: ::std::option::Option<crate::types::AmazonRedshiftSource>) -> Self {
1479        self.amazon_redshift_source = input;
1480        self
1481    }
1482    /// <p>Specifies a target that writes to a data source in Amazon Redshift.</p>
1483    pub fn get_amazon_redshift_source(&self) -> &::std::option::Option<crate::types::AmazonRedshiftSource> {
1484        &self.amazon_redshift_source
1485    }
1486    /// <p>Specifies a target that writes to a data target in Amazon Redshift.</p>
1487    pub fn amazon_redshift_target(mut self, input: crate::types::AmazonRedshiftTarget) -> Self {
1488        self.amazon_redshift_target = ::std::option::Option::Some(input);
1489        self
1490    }
1491    /// <p>Specifies a target that writes to a data target in Amazon Redshift.</p>
1492    pub fn set_amazon_redshift_target(mut self, input: ::std::option::Option<crate::types::AmazonRedshiftTarget>) -> Self {
1493        self.amazon_redshift_target = input;
1494        self
1495    }
1496    /// <p>Specifies a target that writes to a data target in Amazon Redshift.</p>
1497    pub fn get_amazon_redshift_target(&self) -> &::std::option::Option<crate::types::AmazonRedshiftTarget> {
1498        &self.amazon_redshift_target
1499    }
1500    /// <p>Specifies your data quality evaluation criteria. Allows multiple input data and returns a collection of Dynamic Frames.</p>
1501    pub fn evaluate_data_quality_multi_frame(mut self, input: crate::types::EvaluateDataQualityMultiFrame) -> Self {
1502        self.evaluate_data_quality_multi_frame = ::std::option::Option::Some(input);
1503        self
1504    }
1505    /// <p>Specifies your data quality evaluation criteria. Allows multiple input data and returns a collection of Dynamic Frames.</p>
1506    pub fn set_evaluate_data_quality_multi_frame(mut self, input: ::std::option::Option<crate::types::EvaluateDataQualityMultiFrame>) -> Self {
1507        self.evaluate_data_quality_multi_frame = input;
1508        self
1509    }
1510    /// <p>Specifies your data quality evaluation criteria. Allows multiple input data and returns a collection of Dynamic Frames.</p>
1511    pub fn get_evaluate_data_quality_multi_frame(&self) -> &::std::option::Option<crate::types::EvaluateDataQualityMultiFrame> {
1512        &self.evaluate_data_quality_multi_frame
1513    }
1514    /// <p>Specifies a Glue DataBrew recipe node.</p>
1515    pub fn recipe(mut self, input: crate::types::Recipe) -> Self {
1516        self.recipe = ::std::option::Option::Some(input);
1517        self
1518    }
1519    /// <p>Specifies a Glue DataBrew recipe node.</p>
1520    pub fn set_recipe(mut self, input: ::std::option::Option<crate::types::Recipe>) -> Self {
1521        self.recipe = input;
1522        self
1523    }
1524    /// <p>Specifies a Glue DataBrew recipe node.</p>
1525    pub fn get_recipe(&self) -> &::std::option::Option<crate::types::Recipe> {
1526        &self.recipe
1527    }
1528    /// <p>Specifies a Snowflake data source.</p>
1529    pub fn snowflake_source(mut self, input: crate::types::SnowflakeSource) -> Self {
1530        self.snowflake_source = ::std::option::Option::Some(input);
1531        self
1532    }
1533    /// <p>Specifies a Snowflake data source.</p>
1534    pub fn set_snowflake_source(mut self, input: ::std::option::Option<crate::types::SnowflakeSource>) -> Self {
1535        self.snowflake_source = input;
1536        self
1537    }
1538    /// <p>Specifies a Snowflake data source.</p>
1539    pub fn get_snowflake_source(&self) -> &::std::option::Option<crate::types::SnowflakeSource> {
1540        &self.snowflake_source
1541    }
1542    /// <p>Specifies a target that writes to a Snowflake data source.</p>
1543    pub fn snowflake_target(mut self, input: crate::types::SnowflakeTarget) -> Self {
1544        self.snowflake_target = ::std::option::Option::Some(input);
1545        self
1546    }
1547    /// <p>Specifies a target that writes to a Snowflake data source.</p>
1548    pub fn set_snowflake_target(mut self, input: ::std::option::Option<crate::types::SnowflakeTarget>) -> Self {
1549        self.snowflake_target = input;
1550        self
1551    }
1552    /// <p>Specifies a target that writes to a Snowflake data source.</p>
1553    pub fn get_snowflake_target(&self) -> &::std::option::Option<crate::types::SnowflakeTarget> {
1554        &self.snowflake_target
1555    }
1556    /// <p>Specifies a source generated with standard connection options.</p>
1557    pub fn connector_data_source(mut self, input: crate::types::ConnectorDataSource) -> Self {
1558        self.connector_data_source = ::std::option::Option::Some(input);
1559        self
1560    }
1561    /// <p>Specifies a source generated with standard connection options.</p>
1562    pub fn set_connector_data_source(mut self, input: ::std::option::Option<crate::types::ConnectorDataSource>) -> Self {
1563        self.connector_data_source = input;
1564        self
1565    }
1566    /// <p>Specifies a source generated with standard connection options.</p>
1567    pub fn get_connector_data_source(&self) -> &::std::option::Option<crate::types::ConnectorDataSource> {
1568        &self.connector_data_source
1569    }
1570    /// <p>Specifies a target generated with standard connection options.</p>
1571    pub fn connector_data_target(mut self, input: crate::types::ConnectorDataTarget) -> Self {
1572        self.connector_data_target = ::std::option::Option::Some(input);
1573        self
1574    }
1575    /// <p>Specifies a target generated with standard connection options.</p>
1576    pub fn set_connector_data_target(mut self, input: ::std::option::Option<crate::types::ConnectorDataTarget>) -> Self {
1577        self.connector_data_target = input;
1578        self
1579    }
1580    /// <p>Specifies a target generated with standard connection options.</p>
1581    pub fn get_connector_data_target(&self) -> &::std::option::Option<crate::types::ConnectorDataTarget> {
1582        &self.connector_data_target
1583    }
1584    /// <p>Specifies an Apache Iceberg data source that is registered in the Glue Data Catalog. The Iceberg data source must be stored in Amazon S3.</p>
1585    pub fn s3_catalog_iceberg_source(mut self, input: crate::types::S3CatalogIcebergSource) -> Self {
1586        self.s3_catalog_iceberg_source = ::std::option::Option::Some(input);
1587        self
1588    }
1589    /// <p>Specifies an Apache Iceberg data source that is registered in the Glue Data Catalog. The Iceberg data source must be stored in Amazon S3.</p>
1590    pub fn set_s3_catalog_iceberg_source(mut self, input: ::std::option::Option<crate::types::S3CatalogIcebergSource>) -> Self {
1591        self.s3_catalog_iceberg_source = input;
1592        self
1593    }
1594    /// <p>Specifies an Apache Iceberg data source that is registered in the Glue Data Catalog. The Iceberg data source must be stored in Amazon S3.</p>
1595    pub fn get_s3_catalog_iceberg_source(&self) -> &::std::option::Option<crate::types::S3CatalogIcebergSource> {
1596        &self.s3_catalog_iceberg_source
1597    }
1598    /// <p>Specifies an Apache Iceberg data source that is registered in the Glue Data Catalog.</p>
1599    pub fn catalog_iceberg_source(mut self, input: crate::types::CatalogIcebergSource) -> Self {
1600        self.catalog_iceberg_source = ::std::option::Option::Some(input);
1601        self
1602    }
1603    /// <p>Specifies an Apache Iceberg data source that is registered in the Glue Data Catalog.</p>
1604    pub fn set_catalog_iceberg_source(mut self, input: ::std::option::Option<crate::types::CatalogIcebergSource>) -> Self {
1605        self.catalog_iceberg_source = input;
1606        self
1607    }
1608    /// <p>Specifies an Apache Iceberg data source that is registered in the Glue Data Catalog.</p>
1609    pub fn get_catalog_iceberg_source(&self) -> &::std::option::Option<crate::types::CatalogIcebergSource> {
1610        &self.catalog_iceberg_source
1611    }
1612    /// <p>Specifies an Apache Iceberg catalog target that writes data to Amazon S3 and registers the table in the Glue Data Catalog.</p>
1613    pub fn s3_iceberg_catalog_target(mut self, input: crate::types::S3IcebergCatalogTarget) -> Self {
1614        self.s3_iceberg_catalog_target = ::std::option::Option::Some(input);
1615        self
1616    }
1617    /// <p>Specifies an Apache Iceberg catalog target that writes data to Amazon S3 and registers the table in the Glue Data Catalog.</p>
1618    pub fn set_s3_iceberg_catalog_target(mut self, input: ::std::option::Option<crate::types::S3IcebergCatalogTarget>) -> Self {
1619        self.s3_iceberg_catalog_target = input;
1620        self
1621    }
1622    /// <p>Specifies an Apache Iceberg catalog target that writes data to Amazon S3 and registers the table in the Glue Data Catalog.</p>
1623    pub fn get_s3_iceberg_catalog_target(&self) -> &::std::option::Option<crate::types::S3IcebergCatalogTarget> {
1624        &self.s3_iceberg_catalog_target
1625    }
1626    /// <p>Defines configuration parameters for writing data to Amazon S3 as an Apache Iceberg table.</p>
1627    pub fn s3_iceberg_direct_target(mut self, input: crate::types::S3IcebergDirectTarget) -> Self {
1628        self.s3_iceberg_direct_target = ::std::option::Option::Some(input);
1629        self
1630    }
1631    /// <p>Defines configuration parameters for writing data to Amazon S3 as an Apache Iceberg table.</p>
1632    pub fn set_s3_iceberg_direct_target(mut self, input: ::std::option::Option<crate::types::S3IcebergDirectTarget>) -> Self {
1633        self.s3_iceberg_direct_target = input;
1634        self
1635    }
1636    /// <p>Defines configuration parameters for writing data to Amazon S3 as an Apache Iceberg table.</p>
1637    pub fn get_s3_iceberg_direct_target(&self) -> &::std::option::Option<crate::types::S3IcebergDirectTarget> {
1638        &self.s3_iceberg_direct_target
1639    }
1640    /// <p>Defines configuration parameters for reading Excel files from Amazon S3.</p>
1641    pub fn s3_excel_source(mut self, input: crate::types::S3ExcelSource) -> Self {
1642        self.s3_excel_source = ::std::option::Option::Some(input);
1643        self
1644    }
1645    /// <p>Defines configuration parameters for reading Excel files from Amazon S3.</p>
1646    pub fn set_s3_excel_source(mut self, input: ::std::option::Option<crate::types::S3ExcelSource>) -> Self {
1647        self.s3_excel_source = input;
1648        self
1649    }
1650    /// <p>Defines configuration parameters for reading Excel files from Amazon S3.</p>
1651    pub fn get_s3_excel_source(&self) -> &::std::option::Option<crate::types::S3ExcelSource> {
1652        &self.s3_excel_source
1653    }
1654    /// <p>Defines configuration parameters for writing data to Amazon S3 using HyperDirect optimization.</p>
1655    pub fn s3_hyper_direct_target(mut self, input: crate::types::S3HyperDirectTarget) -> Self {
1656        self.s3_hyper_direct_target = ::std::option::Option::Some(input);
1657        self
1658    }
1659    /// <p>Defines configuration parameters for writing data to Amazon S3 using HyperDirect optimization.</p>
1660    pub fn set_s3_hyper_direct_target(mut self, input: ::std::option::Option<crate::types::S3HyperDirectTarget>) -> Self {
1661        self.s3_hyper_direct_target = input;
1662        self
1663    }
1664    /// <p>Defines configuration parameters for writing data to Amazon S3 using HyperDirect optimization.</p>
1665    pub fn get_s3_hyper_direct_target(&self) -> &::std::option::Option<crate::types::S3HyperDirectTarget> {
1666        &self.s3_hyper_direct_target
1667    }
1668    /// <p>Specifies a DynamoDB ELT connector source for extracting data from DynamoDB tables.</p>
1669    pub fn dynamo_dbelt_connector_source(mut self, input: crate::types::DynamoDbeltConnectorSource) -> Self {
1670        self.dynamo_dbelt_connector_source = ::std::option::Option::Some(input);
1671        self
1672    }
1673    /// <p>Specifies a DynamoDB ELT connector source for extracting data from DynamoDB tables.</p>
1674    pub fn set_dynamo_dbelt_connector_source(mut self, input: ::std::option::Option<crate::types::DynamoDbeltConnectorSource>) -> Self {
1675        self.dynamo_dbelt_connector_source = input;
1676        self
1677    }
1678    /// <p>Specifies a DynamoDB ELT connector source for extracting data from DynamoDB tables.</p>
1679    pub fn get_dynamo_dbelt_connector_source(&self) -> &::std::option::Option<crate::types::DynamoDbeltConnectorSource> {
1680        &self.dynamo_dbelt_connector_source
1681    }
1682    /// Consumes the builder and constructs a [`CodeGenConfigurationNode`](crate::types::CodeGenConfigurationNode).
1683    pub fn build(self) -> crate::types::CodeGenConfigurationNode {
1684        crate::types::CodeGenConfigurationNode {
1685            athena_connector_source: self.athena_connector_source,
1686            jdbc_connector_source: self.jdbc_connector_source,
1687            spark_connector_source: self.spark_connector_source,
1688            catalog_source: self.catalog_source,
1689            redshift_source: self.redshift_source,
1690            s3_catalog_source: self.s3_catalog_source,
1691            s3_csv_source: self.s3_csv_source,
1692            s3_json_source: self.s3_json_source,
1693            s3_parquet_source: self.s3_parquet_source,
1694            relational_catalog_source: self.relational_catalog_source,
1695            dynamo_db_catalog_source: self.dynamo_db_catalog_source,
1696            jdbc_connector_target: self.jdbc_connector_target,
1697            spark_connector_target: self.spark_connector_target,
1698            catalog_target: self.catalog_target,
1699            redshift_target: self.redshift_target,
1700            s3_catalog_target: self.s3_catalog_target,
1701            s3_glue_parquet_target: self.s3_glue_parquet_target,
1702            s3_direct_target: self.s3_direct_target,
1703            apply_mapping: self.apply_mapping,
1704            select_fields: self.select_fields,
1705            drop_fields: self.drop_fields,
1706            rename_field: self.rename_field,
1707            spigot: self.spigot,
1708            join: self.join,
1709            split_fields: self.split_fields,
1710            select_from_collection: self.select_from_collection,
1711            fill_missing_values: self.fill_missing_values,
1712            filter: self.filter,
1713            custom_code: self.custom_code,
1714            spark_sql: self.spark_sql,
1715            direct_kinesis_source: self.direct_kinesis_source,
1716            direct_kafka_source: self.direct_kafka_source,
1717            catalog_kinesis_source: self.catalog_kinesis_source,
1718            catalog_kafka_source: self.catalog_kafka_source,
1719            drop_null_fields: self.drop_null_fields,
1720            merge: self.merge,
1721            union: self.union,
1722            pii_detection: self.pii_detection,
1723            aggregate: self.aggregate,
1724            drop_duplicates: self.drop_duplicates,
1725            governed_catalog_target: self.governed_catalog_target,
1726            governed_catalog_source: self.governed_catalog_source,
1727            microsoft_sql_server_catalog_source: self.microsoft_sql_server_catalog_source,
1728            my_sql_catalog_source: self.my_sql_catalog_source,
1729            oracle_sql_catalog_source: self.oracle_sql_catalog_source,
1730            postgre_sql_catalog_source: self.postgre_sql_catalog_source,
1731            microsoft_sql_server_catalog_target: self.microsoft_sql_server_catalog_target,
1732            my_sql_catalog_target: self.my_sql_catalog_target,
1733            oracle_sql_catalog_target: self.oracle_sql_catalog_target,
1734            postgre_sql_catalog_target: self.postgre_sql_catalog_target,
1735            route: self.route,
1736            dynamic_transform: self.dynamic_transform,
1737            evaluate_data_quality: self.evaluate_data_quality,
1738            s3_catalog_hudi_source: self.s3_catalog_hudi_source,
1739            catalog_hudi_source: self.catalog_hudi_source,
1740            s3_hudi_source: self.s3_hudi_source,
1741            s3_hudi_catalog_target: self.s3_hudi_catalog_target,
1742            s3_hudi_direct_target: self.s3_hudi_direct_target,
1743            direct_jdbc_source: self.direct_jdbc_source,
1744            s3_catalog_delta_source: self.s3_catalog_delta_source,
1745            catalog_delta_source: self.catalog_delta_source,
1746            s3_delta_source: self.s3_delta_source,
1747            s3_delta_catalog_target: self.s3_delta_catalog_target,
1748            s3_delta_direct_target: self.s3_delta_direct_target,
1749            amazon_redshift_source: self.amazon_redshift_source,
1750            amazon_redshift_target: self.amazon_redshift_target,
1751            evaluate_data_quality_multi_frame: self.evaluate_data_quality_multi_frame,
1752            recipe: self.recipe,
1753            snowflake_source: self.snowflake_source,
1754            snowflake_target: self.snowflake_target,
1755            connector_data_source: self.connector_data_source,
1756            connector_data_target: self.connector_data_target,
1757            s3_catalog_iceberg_source: self.s3_catalog_iceberg_source,
1758            catalog_iceberg_source: self.catalog_iceberg_source,
1759            s3_iceberg_catalog_target: self.s3_iceberg_catalog_target,
1760            s3_iceberg_direct_target: self.s3_iceberg_direct_target,
1761            s3_excel_source: self.s3_excel_source,
1762            s3_hyper_direct_target: self.s3_hyper_direct_target,
1763            dynamo_dbelt_connector_source: self.dynamo_dbelt_connector_source,
1764        }
1765    }
1766}