diff --git a/codegen/sdk-codegen/aws-models/glue.json b/codegen/sdk-codegen/aws-models/glue.json index e05cd87b645..e55a4fa8a51 100644 --- a/codegen/sdk-codegen/aws-models/glue.json +++ b/codegen/sdk-codegen/aws-models/glue.json @@ -673,6 +673,15 @@ "target": "com.amazonaws.glue#Action" } }, + "com.amazonaws.glue#AdditionalOptions": { + "type": "map", + "key": { + "target": "com.amazonaws.glue#EnclosedInStringProperty" + }, + "value": { + "target": "com.amazonaws.glue#EnclosedInStringProperty" + } + }, "com.amazonaws.glue#AdditionalPlanOptionsMap": { "type": "map", "key": { @@ -682,6 +691,143 @@ "target": "com.amazonaws.glue#GenericString" } }, + "com.amazonaws.glue#AggFunction": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "avg", + "name": "avg" + }, + { + "value": "countDistinct", + "name": "countDistinct" + }, + { + "value": "count", + "name": "count" + }, + { + "value": "first", + "name": "first" + }, + { + "value": "last", + "name": "last" + }, + { + "value": "kurtosis", + "name": "kurtosis" + }, + { + "value": "max", + "name": "max" + }, + { + "value": "min", + "name": "min" + }, + { + "value": "skewness", + "name": "skewness" + }, + { + "value": "stddev_samp", + "name": "stddev_samp" + }, + { + "value": "stddev_pop", + "name": "stddev_pop" + }, + { + "value": "sum", + "name": "sum" + }, + { + "value": "sumDistinct", + "name": "sumDistinct" + }, + { + "value": "var_samp", + "name": "var_samp" + }, + { + "value": "var_pop", + "name": "var_pop" + } + ] + } + }, + "com.amazonaws.glue#Aggregate": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

Specifies the fields and rows to use as inputs for the aggregate transform.

", + "smithy.api#required": {} + } + }, + "Groups": { + "target": "com.amazonaws.glue#GlueStudioPathList", + "traits": { + "smithy.api#documentation": "

Specifies the fields to group by.

", + "smithy.api#required": {} + } + }, + "Aggs": { + "target": "com.amazonaws.glue#AggregateOperations", + "traits": { + "smithy.api#documentation": "

Specifies the aggregate functions to be performed on specified fields.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a transform that groups rows by chosen fields and computes the aggregated value by specified function.

" + } + }, + "com.amazonaws.glue#AggregateOperation": { + "type": "structure", + "members": { + "Column": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

Specifies the column on the data set on which the aggregation function will be applied.

", + "smithy.api#required": {} + } + }, + "AggFunc": { + "target": "com.amazonaws.glue#AggFunction", + "traits": { + "smithy.api#documentation": "

Specifies the aggregation function to apply.

\n

Possible aggregation functions include: avg countDistinct, count, first, last, kurtosis, max, min, skewness, \n stddev_samp, stddev_pop, sum, sumDistinct, var_samp, var_pop

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the set of parameters needed to perform aggregation in the aggregate transform.

" + } + }, + "com.amazonaws.glue#AggregateOperations": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#AggregateOperation" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 30 + } + } + }, "com.amazonaws.glue#AlreadyExistsException": { "type": "structure", "members": { @@ -697,6 +843,90 @@ "smithy.api#error": "client" } }, + "com.amazonaws.glue#ApplyMapping": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "Mapping": { + "target": "com.amazonaws.glue#Mappings", + "traits": { + "smithy.api#documentation": "

Specifies the mapping of data property keys in the data source to data property keys in the data target.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

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.

" + } + }, + "com.amazonaws.glue#AthenaConnectorSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data source.

", + "smithy.api#required": {} + } + }, + "ConnectionName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the connection that is associated with the connector.

", + "smithy.api#required": {} + } + }, + "ConnectorName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of a connector that assists with accessing the data store in Glue Studio.

", + "smithy.api#required": {} + } + }, + "ConnectionType": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The type of connection, such as marketplace.athena or custom.athena, designating a connection to an Amazon Athena data store.

", + "smithy.api#required": {} + } + }, + "ConnectionTable": { + "target": "com.amazonaws.glue#EnclosedInStringPropertyWithQuote", + "traits": { + "smithy.api#documentation": "

The name of the table in the data source.

" + } + }, + "SchemaName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the Cloudwatch log group to read from. For example, /aws-glue/jobs/output.

", + "smithy.api#required": {} + } + }, + "OutputSchemas": { + "target": "com.amazonaws.glue#GlueSchemas", + "traits": { + "smithy.api#documentation": "

Specifies the data schema for the custom Athena source.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a connector to an Amazon Athena data source.

" + } + }, "com.amazonaws.glue#AttemptCount": { "type": "integer" }, @@ -800,6 +1030,42 @@ "target": "com.amazonaws.glue#BackfillError" } }, + "com.amazonaws.glue#BasicCatalogTarget": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of your data target.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The nodes that are inputs to the data target.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The database that contains the table you want to use as the target. This database must already exist in the Data Catalog.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The table that defines the schema of your output data. This table must already exist in the Data Catalog.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a target that uses a Glue Data Catalog table.

" + } + }, "com.amazonaws.glue#BatchCreatePartition": { "type": "operation", "input": { @@ -2271,6 +2537,55 @@ } } }, + "com.amazonaws.glue#BoxedBoolean": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.glue#BoxedDoubleFraction": { + "type": "double", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0, + "max": 1 + } + } + }, + "com.amazonaws.glue#BoxedLong": { + "type": "long", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.glue#BoxedNonNegativeInt": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.glue#BoxedNonNegativeLong": { + "type": "long", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.glue#BoxedPositiveInt": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.glue#CancelMLTaskRun": { "type": "operation", "input": { @@ -2489,48 +2804,206 @@ "smithy.api#documentation": "

A structure containing migration status information.

" } }, - "com.amazonaws.glue#CatalogTablesList": { - "type": "list", - "member": { - "target": "com.amazonaws.glue#NameString" - }, - "traits": { - "smithy.api#length": { - "min": 1 - } - } - }, - "com.amazonaws.glue#CatalogTarget": { + "com.amazonaws.glue#CatalogKafkaSource": { "type": "structure", "members": { - "DatabaseName": { - "target": "com.amazonaws.glue#NameString", + "Name": { + "target": "com.amazonaws.glue#NodeName", "traits": { - "smithy.api#documentation": "

The name of the database to be synchronized.

", + "smithy.api#documentation": "

The name of the data store.

", "smithy.api#required": {} } }, - "Tables": { - "target": "com.amazonaws.glue#CatalogTablesList", + "WindowSize": { + "target": "com.amazonaws.glue#BoxedPositiveInt", "traits": { - "smithy.api#documentation": "

A list of the tables to be synchronized.

", + "smithy.api#box": {}, + "smithy.api#documentation": "

The amount of time to spend processing each micro batch.

" + } + }, + "DetectSchema": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

Whether to automatically determine the schema from the incoming data.

" + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to read from.

", "smithy.api#required": {} } }, - "ConnectionName": { - "target": "com.amazonaws.glue#ConnectionName", + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", "traits": { - "smithy.api#documentation": "

The name of the connection for an Amazon S3-backed Data Catalog table to be a target of the crawl when using a Catalog connection type paired with a NETWORK Connection type.

" + "smithy.api#documentation": "

The name of the database to read from.

", + "smithy.api#required": {} + } + }, + "StreamingOptions": { + "target": "com.amazonaws.glue#KafkaStreamingSourceOptions", + "traits": { + "smithy.api#documentation": "

Specifies the streaming options.

" + } + }, + "DataPreviewOptions": { + "target": "com.amazonaws.glue#StreamingDataPreviewOptions", + "traits": { + "smithy.api#documentation": "

Specifies options related to data preview for viewing a sample of your data.

" } } }, "traits": { - "smithy.api#documentation": "

Specifies an Glue Data Catalog target.

" + "smithy.api#documentation": "

Specifies an Apache Kafka data store in the Data Catalog.

" } }, - "com.amazonaws.glue#CatalogTargetList": { - "type": "list", - "member": { + "com.amazonaws.glue#CatalogKinesisSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data source.

", + "smithy.api#required": {} + } + }, + "WindowSize": { + "target": "com.amazonaws.glue#BoxedPositiveInt", + "traits": { + "smithy.api#documentation": "

The amount of time to spend processing each micro batch.

" + } + }, + "DetectSchema": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

Whether to automatically determine the schema from the incoming data.

" + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to read from.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to read from.

", + "smithy.api#required": {} + } + }, + "StreamingOptions": { + "target": "com.amazonaws.glue#KinesisStreamingSourceOptions", + "traits": { + "smithy.api#documentation": "

Additional options for the Kinesis streaming data source.

" + } + }, + "DataPreviewOptions": { + "target": "com.amazonaws.glue#StreamingDataPreviewOptions", + "traits": { + "smithy.api#documentation": "

Additional options for data preview.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a Kinesis data source in the Glue Data Catalog.

" + } + }, + "com.amazonaws.glue#CatalogSchemaChangePolicy": { + "type": "structure", + "members": { + "EnableUpdateCatalog": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Whether to use the specified update behavior when the crawler finds a changed schema.

" + } + }, + "UpdateBehavior": { + "target": "com.amazonaws.glue#UpdateCatalogBehavior", + "traits": { + "smithy.api#documentation": "

The update behavior when the crawler finds a changed schema.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A policy that specifies update behavior for the crawler.

" + } + }, + "com.amazonaws.glue#CatalogSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data store.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to read from.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to read from.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a data store in the Glue Data Catalog.

" + } + }, + "com.amazonaws.glue#CatalogTablesList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#NameString" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.glue#CatalogTarget": { + "type": "structure", + "members": { + "DatabaseName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

The name of the database to be synchronized.

", + "smithy.api#required": {} + } + }, + "Tables": { + "target": "com.amazonaws.glue#CatalogTablesList", + "traits": { + "smithy.api#documentation": "

A list of the tables to be synchronized.

", + "smithy.api#required": {} + } + }, + "ConnectionName": { + "target": "com.amazonaws.glue#ConnectionName", + "traits": { + "smithy.api#documentation": "

The name of the connection for an Amazon S3-backed Data Catalog table to be a target of the crawl when using a Catalog connection type paired with a NETWORK Connection type.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies an Glue Data Catalog target.

" + } + }, + "com.amazonaws.glue#CatalogTargetList": { + "type": "list", + "member": { "target": "com.amazonaws.glue#CatalogTarget" } }, @@ -2681,196 +3154,510 @@ "com.amazonaws.glue#CodeGenArgValue": { "type": "string" }, - "com.amazonaws.glue#CodeGenEdge": { + "com.amazonaws.glue#CodeGenConfigurationNode": { "type": "structure", "members": { - "Source": { - "target": "com.amazonaws.glue#CodeGenIdentifier", + "AthenaConnectorSource": { + "target": "com.amazonaws.glue#AthenaConnectorSource", "traits": { - "smithy.api#documentation": "

The ID of the node at which the edge starts.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies a connector to an Amazon Athena data source.

" } }, - "Target": { - "target": "com.amazonaws.glue#CodeGenIdentifier", + "JDBCConnectorSource": { + "target": "com.amazonaws.glue#JDBCConnectorSource", "traits": { - "smithy.api#documentation": "

The ID of the node at which the edge ends.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies a connector to a JDBC data source.

" } }, - "TargetParameter": { - "target": "com.amazonaws.glue#CodeGenArgName", + "SparkConnectorSource": { + "target": "com.amazonaws.glue#SparkConnectorSource", "traits": { - "smithy.api#documentation": "

The target of the edge.

" + "smithy.api#documentation": "

Specifies a connector to an Apache Spark data source.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Represents a directional edge in a directed acyclic graph (DAG).

" - } - }, - "com.amazonaws.glue#CodeGenIdentifier": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 }, - "smithy.api#pattern": "^[A-Za-z_][A-Za-z0-9_]*$" - } - }, - "com.amazonaws.glue#CodeGenNode": { - "type": "structure", - "members": { - "Id": { - "target": "com.amazonaws.glue#CodeGenIdentifier", + "CatalogSource": { + "target": "com.amazonaws.glue#CatalogSource", "traits": { - "smithy.api#documentation": "

A node identifier that is unique within the node's graph.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies a data store in the Glue Data Catalog.

" } }, - "NodeType": { - "target": "com.amazonaws.glue#CodeGenNodeType", + "RedshiftSource": { + "target": "com.amazonaws.glue#RedshiftSource", "traits": { - "smithy.api#documentation": "

The type of node that this is.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies an Amazon Redshift data store.

" } }, - "Args": { - "target": "com.amazonaws.glue#CodeGenNodeArgs", + "S3CatalogSource": { + "target": "com.amazonaws.glue#S3CatalogSource", "traits": { - "smithy.api#documentation": "

Properties of the node, in the form of name-value pairs.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies an Amazon S3 data store in the Glue Data Catalog.

" } }, - "LineNumber": { - "target": "com.amazonaws.glue#Integer", + "S3CsvSource": { + "target": "com.amazonaws.glue#S3CsvSource", "traits": { - "smithy.api#documentation": "

The line number of the node.

" + "smithy.api#documentation": "

Specifies a command-separated value (CSV) data store stored in Amazon S3.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Represents a node in a directed acyclic graph (DAG)

" - } - }, - "com.amazonaws.glue#CodeGenNodeArg": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.glue#CodeGenArgName", + }, + "S3JsonSource": { + "target": "com.amazonaws.glue#S3JsonSource", "traits": { - "smithy.api#documentation": "

The name of the argument or property.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies a JSON data store stored in Amazon S3.

" } }, - "Value": { - "target": "com.amazonaws.glue#CodeGenArgValue", + "S3ParquetSource": { + "target": "com.amazonaws.glue#S3ParquetSource", "traits": { - "smithy.api#documentation": "

The value of the argument or property.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies an Apache Parquet data store stored in Amazon S3.

" } }, - "Param": { - "target": "com.amazonaws.glue#Boolean", + "RelationalCatalogSource": { + "target": "com.amazonaws.glue#RelationalCatalogSource" + }, + "DynamoDBCatalogSource": { + "target": "com.amazonaws.glue#DynamoDBCatalogSource" + }, + "JDBCConnectorTarget": { + "target": "com.amazonaws.glue#JDBCConnectorTarget", "traits": { - "smithy.api#documentation": "

True if the value is used as a parameter.

" + "smithy.api#documentation": "

Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.

" } - } - }, - "traits": { - "smithy.api#documentation": "

An argument or property of a node.

" - } - }, - "com.amazonaws.glue#CodeGenNodeArgs": { - "type": "list", - "member": { - "target": "com.amazonaws.glue#CodeGenNodeArg" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 50 - } - } - }, - "com.amazonaws.glue#CodeGenNodeType": { - "type": "string" - }, - "com.amazonaws.glue#Column": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.glue#NameString", + }, + "SparkConnectorTarget": { + "target": "com.amazonaws.glue#SparkConnectorTarget", "traits": { - "smithy.api#documentation": "

The name of the Column.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies a target that uses an Apache Spark connector.

" } }, - "Type": { - "target": "com.amazonaws.glue#ColumnTypeString", + "CatalogTarget": { + "target": "com.amazonaws.glue#BasicCatalogTarget", "traits": { - "smithy.api#documentation": "

The data type of the Column.

" + "smithy.api#documentation": "

Specifies a target that uses a Glue Data Catalog table.

" } }, - "Comment": { - "target": "com.amazonaws.glue#CommentString", + "RedshiftTarget": { + "target": "com.amazonaws.glue#RedshiftTarget", "traits": { - "smithy.api#documentation": "

A free-form text comment.

" + "smithy.api#documentation": "

Specifies a target that uses Amazon Redshift.

" } }, - "Parameters": { - "target": "com.amazonaws.glue#ParametersMap", + "S3CatalogTarget": { + "target": "com.amazonaws.glue#S3CatalogTarget", "traits": { - "smithy.api#documentation": "

These key-value pairs define properties associated with the column.

" + "smithy.api#documentation": "

Specifies a data target that writes to Amazon S3 using the Glue Data Catalog.

" } - } - }, - "traits": { - "smithy.api#documentation": "

A column in a Table.

" - } - }, - "com.amazonaws.glue#ColumnError": { - "type": "structure", - "members": { - "ColumnName": { - "target": "com.amazonaws.glue#NameString", + }, + "S3GlueParquetTarget": { + "target": "com.amazonaws.glue#S3GlueParquetTarget", "traits": { - "smithy.api#documentation": "

The name of the column that failed.

" + "smithy.api#documentation": "

Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.

" } }, - "Error": { - "target": "com.amazonaws.glue#ErrorDetail", + "S3DirectTarget": { + "target": "com.amazonaws.glue#S3DirectTarget", "traits": { - "smithy.api#documentation": "

An error message with the reason for the failure of an operation.

" + "smithy.api#documentation": "

Specifies a data target that writes to Amazon S3.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Encapsulates a column name that failed and the reason for failure.

" - } - }, - "com.amazonaws.glue#ColumnErrors": { - "type": "list", - "member": { - "target": "com.amazonaws.glue#ColumnError" - } - }, - "com.amazonaws.glue#ColumnImportance": { - "type": "structure", - "members": { - "ColumnName": { - "target": "com.amazonaws.glue#NameString", + }, + "ApplyMapping": { + "target": "com.amazonaws.glue#ApplyMapping", "traits": { - "smithy.api#documentation": "

The name of a column.

" + "smithy.api#documentation": "

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.

" } }, - "Importance": { - "target": "com.amazonaws.glue#GenericBoundedDouble", + "SelectFields": { + "target": "com.amazonaws.glue#SelectFields", "traits": { - "smithy.api#documentation": "

The column importance score for the column, as a decimal.

" + "smithy.api#documentation": "

Specifies a transform that chooses the data property keys that you want to keep.

" } - } + }, + "DropFields": { + "target": "com.amazonaws.glue#DropFields", + "traits": { + "smithy.api#documentation": "

Specifies a transform that chooses the data property keys that you want to drop.

" + } + }, + "RenameField": { + "target": "com.amazonaws.glue#RenameField", + "traits": { + "smithy.api#documentation": "

Specifies a transform that renames a single data property key.

" + } + }, + "Spigot": { + "target": "com.amazonaws.glue#Spigot", + "traits": { + "smithy.api#documentation": "

Specifies a transform that writes samples of the data to an Amazon S3 bucket.

" + } + }, + "Join": { + "target": "com.amazonaws.glue#Join", + "traits": { + "smithy.api#documentation": "

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.

" + } + }, + "SplitFields": { + "target": "com.amazonaws.glue#SplitFields", + "traits": { + "smithy.api#documentation": "

Specifies a transform that splits data property keys into two DynamicFrames. The output is a collection of DynamicFrames: one with selected data property keys, and one with the remaining data property keys.

" + } + }, + "SelectFromCollection": { + "target": "com.amazonaws.glue#SelectFromCollection", + "traits": { + "smithy.api#documentation": "

Specifies a transform that chooses one DynamicFrame from a collection of DynamicFrames. The output is the selected DynamicFrame\n

" + } + }, + "FillMissingValues": { + "target": "com.amazonaws.glue#FillMissingValues", + "traits": { + "smithy.api#documentation": "

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.

" + } + }, + "Filter": { + "target": "com.amazonaws.glue#Filter", + "traits": { + "smithy.api#documentation": "

Specifies a transform that splits a dataset into two, based on a filter condition.

" + } + }, + "CustomCode": { + "target": "com.amazonaws.glue#CustomCode", + "traits": { + "smithy.api#documentation": "

Specifies a transform that uses custom code you provide to perform the data transformation. The output is a collection of DynamicFrames.

" + } + }, + "SparkSQL": { + "target": "com.amazonaws.glue#SparkSQL", + "traits": { + "smithy.api#documentation": "

Specifies a transform where you enter a SQL query using Spark SQL syntax to transform the data. The output is a single DynamicFrame.

" + } + }, + "DirectKinesisSource": { + "target": "com.amazonaws.glue#DirectKinesisSource", + "traits": { + "smithy.api#documentation": "

Specifies a direct Amazon Kinesis data source.

" + } + }, + "DirectKafkaSource": { + "target": "com.amazonaws.glue#DirectKafkaSource", + "traits": { + "smithy.api#documentation": "

Specifies an Apache Kafka data store.

" + } + }, + "CatalogKinesisSource": { + "target": "com.amazonaws.glue#CatalogKinesisSource", + "traits": { + "smithy.api#documentation": "

Specifies a Kinesis data source in the Glue Data Catalog.

" + } + }, + "CatalogKafkaSource": { + "target": "com.amazonaws.glue#CatalogKafkaSource", + "traits": { + "smithy.api#documentation": "

Specifies an Apache Kafka data store in the Data Catalog.

" + } + }, + "DropNullFields": { + "target": "com.amazonaws.glue#DropNullFields", + "traits": { + "smithy.api#documentation": "

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.

" + } + }, + "Merge": { + "target": "com.amazonaws.glue#Merge", + "traits": { + "smithy.api#documentation": "

Specifies a transform that merges a DynamicFrame with a staging DynamicFrame based on the specified primary keys to identify records. Duplicate records (records with the same primary keys) are not de-duplicated.

" + } + }, + "Union": { + "target": "com.amazonaws.glue#Union", + "traits": { + "smithy.api#documentation": "

Specifies a transform that combines the rows from two or more datasets into a single result.

" + } + }, + "PIIDetection": { + "target": "com.amazonaws.glue#PIIDetection", + "traits": { + "smithy.api#documentation": "

Specifies a transform that identifies, removes or masks PII data.

" + } + }, + "Aggregate": { + "target": "com.amazonaws.glue#Aggregate", + "traits": { + "smithy.api#documentation": "

Specifies a transform that groups rows by chosen fields and computes the aggregated value by specified function.

" + } + }, + "DropDuplicates": { + "target": "com.amazonaws.glue#DropDuplicates", + "traits": { + "smithy.api#documentation": "

Specifies a transform that removes rows of repeating data from a data set.

" + } + }, + "GovernedCatalogTarget": { + "target": "com.amazonaws.glue#GovernedCatalogTarget", + "traits": { + "smithy.api#documentation": "

Specifies a data target that writes to a goverened catalog.

" + } + }, + "GovernedCatalogSource": { + "target": "com.amazonaws.glue#GovernedCatalogSource", + "traits": { + "smithy.api#documentation": "

Specifies a data source in a goverened Data Catalog.

" + } + }, + "MicrosoftSQLServerCatalogSource": { + "target": "com.amazonaws.glue#MicrosoftSQLServerCatalogSource", + "traits": { + "smithy.api#documentation": "

Specifies a Microsoft SQL server data source in the Glue Data Catalog.

" + } + }, + "MySQLCatalogSource": { + "target": "com.amazonaws.glue#MySQLCatalogSource", + "traits": { + "smithy.api#documentation": "

Specifies a MySQL data source in the Glue Data Catalog.

" + } + }, + "OracleSQLCatalogSource": { + "target": "com.amazonaws.glue#OracleSQLCatalogSource", + "traits": { + "smithy.api#documentation": "

Specifies an Oracle data source in the Glue Data Catalog.

" + } + }, + "PostgreSQLCatalogSource": { + "target": "com.amazonaws.glue#PostgreSQLCatalogSource", + "traits": { + "smithy.api#documentation": "

Specifies a PostgresSQL data source in the Glue Data Catalog.

" + } + }, + "MicrosoftSQLServerCatalogTarget": { + "target": "com.amazonaws.glue#MicrosoftSQLServerCatalogTarget", + "traits": { + "smithy.api#documentation": "

Specifies a target that uses Microsoft SQL.

" + } + }, + "MySQLCatalogTarget": { + "target": "com.amazonaws.glue#MySQLCatalogTarget", + "traits": { + "smithy.api#documentation": "

Specifies a target that uses MySQL.

" + } + }, + "OracleSQLCatalogTarget": { + "target": "com.amazonaws.glue#OracleSQLCatalogTarget", + "traits": { + "smithy.api#documentation": "

Specifies a target that uses Oracle SQL.

" + } + }, + "PostgreSQLCatalogTarget": { + "target": "com.amazonaws.glue#PostgreSQLCatalogTarget", + "traits": { + "smithy.api#documentation": "

Specifies a target that uses Postgres SQL.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n CodeGenConfigurationNode enumerates all valid Node types. One and only one of its member variables can be populated.

" + } + }, + "com.amazonaws.glue#CodeGenConfigurationNodes": { + "type": "map", + "key": { + "target": "com.amazonaws.glue#NodeId" + }, + "value": { + "target": "com.amazonaws.glue#CodeGenConfigurationNode" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.glue#CodeGenEdge": { + "type": "structure", + "members": { + "Source": { + "target": "com.amazonaws.glue#CodeGenIdentifier", + "traits": { + "smithy.api#documentation": "

The ID of the node at which the edge starts.

", + "smithy.api#required": {} + } + }, + "Target": { + "target": "com.amazonaws.glue#CodeGenIdentifier", + "traits": { + "smithy.api#documentation": "

The ID of the node at which the edge ends.

", + "smithy.api#required": {} + } + }, + "TargetParameter": { + "target": "com.amazonaws.glue#CodeGenArgName", + "traits": { + "smithy.api#documentation": "

The target of the edge.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a directional edge in a directed acyclic graph (DAG).

" + } + }, + "com.amazonaws.glue#CodeGenIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[A-Za-z_][A-Za-z0-9_]*$" + } + }, + "com.amazonaws.glue#CodeGenNode": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.glue#CodeGenIdentifier", + "traits": { + "smithy.api#documentation": "

A node identifier that is unique within the node's graph.

", + "smithy.api#required": {} + } + }, + "NodeType": { + "target": "com.amazonaws.glue#CodeGenNodeType", + "traits": { + "smithy.api#documentation": "

The type of node that this is.

", + "smithy.api#required": {} + } + }, + "Args": { + "target": "com.amazonaws.glue#CodeGenNodeArgs", + "traits": { + "smithy.api#documentation": "

Properties of the node, in the form of name-value pairs.

", + "smithy.api#required": {} + } + }, + "LineNumber": { + "target": "com.amazonaws.glue#Integer", + "traits": { + "smithy.api#documentation": "

The line number of the node.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a node in a directed acyclic graph (DAG)

" + } + }, + "com.amazonaws.glue#CodeGenNodeArg": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#CodeGenArgName", + "traits": { + "smithy.api#documentation": "

The name of the argument or property.

", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.glue#CodeGenArgValue", + "traits": { + "smithy.api#documentation": "

The value of the argument or property.

", + "smithy.api#required": {} + } + }, + "Param": { + "target": "com.amazonaws.glue#Boolean", + "traits": { + "smithy.api#documentation": "

True if the value is used as a parameter.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An argument or property of a node.

" + } + }, + "com.amazonaws.glue#CodeGenNodeArgs": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#CodeGenNodeArg" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.glue#CodeGenNodeType": { + "type": "string" + }, + "com.amazonaws.glue#Column": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

The name of the Column.

", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.glue#ColumnTypeString", + "traits": { + "smithy.api#documentation": "

The data type of the Column.

" + } + }, + "Comment": { + "target": "com.amazonaws.glue#CommentString", + "traits": { + "smithy.api#documentation": "

A free-form text comment.

" + } + }, + "Parameters": { + "target": "com.amazonaws.glue#ParametersMap", + "traits": { + "smithy.api#documentation": "

These key-value pairs define properties associated with the column.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A column in a Table.

" + } + }, + "com.amazonaws.glue#ColumnError": { + "type": "structure", + "members": { + "ColumnName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

The name of the column that failed.

" + } + }, + "Error": { + "target": "com.amazonaws.glue#ErrorDetail", + "traits": { + "smithy.api#documentation": "

An error message with the reason for the failure of an operation.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Encapsulates a column name that failed and the reason for failure.

" + } + }, + "com.amazonaws.glue#ColumnErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#ColumnError" + } + }, + "com.amazonaws.glue#ColumnImportance": { + "type": "structure", + "members": { + "ColumnName": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

The name of a column.

" + } + }, + "Importance": { + "target": "com.amazonaws.glue#GenericBoundedDouble", + "traits": { + "smithy.api#documentation": "

The column importance score for the column, as a decimal.

" + } + } }, "traits": { "smithy.api#documentation": "

A structure containing the column name and column importance score for a column.

\n\t\n\t

Column importance helps you understand how columns contribute to your model, by identifying which columns in your records are more important than others.

" @@ -3176,6 +3963,21 @@ ] } }, + "com.amazonaws.glue#CompressionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "gzip", + "name": "GZIP" + }, + { + "value": "bzip2", + "name": "BZIP2" + } + ] + } + }, "com.amazonaws.glue#ConcurrentModificationException": { "type": "structure", "members": { @@ -5022,6 +5824,12 @@ "traits": { "smithy.api#documentation": "

The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

\n\t " } + }, + "CodeGenConfigurationNodes": { + "target": "com.amazonaws.glue#CodeGenConfigurationNodes", + "traits": { + "smithy.api#documentation": "

The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.

" + } } } }, @@ -6359,6 +7167,48 @@ "smithy.api#pattern": "^[^\\r\\n]$" } }, + "com.amazonaws.glue#CustomCode": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#ManyInputs", + "traits": { + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "Code": { + "target": "com.amazonaws.glue#ExtendedString", + "traits": { + "smithy.api#documentation": "

The custom code that is used to perform the data transformation.

", + "smithy.api#required": {} + } + }, + "ClassName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name defined for the custom code node class.

", + "smithy.api#required": {} + } + }, + "OutputSchemas": { + "target": "com.amazonaws.glue#GlueSchemas", + "traits": { + "smithy.api#documentation": "

Specifies the data schema for the custom code transform.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a transform that uses custom code you provide to perform the data transformation. The output is a collection of DynamicFrames.

" + } + }, "com.amazonaws.glue#CustomEntityType": { "type": "structure", "members": { @@ -6620,6 +7470,28 @@ "com.amazonaws.glue#DatabaseName": { "type": "string" }, + "com.amazonaws.glue#Datatype": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.glue#GenericLimitedString", + "traits": { + "smithy.api#documentation": "

The datatype of the value.

", + "smithy.api#required": {} + } + }, + "Label": { + "target": "com.amazonaws.glue#GenericLimitedString", + "traits": { + "smithy.api#documentation": "

A label assigned to the datatype.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure representing the datatype of the value.

" + } + }, "com.amazonaws.glue#DateColumnStatisticsData": { "type": "structure", "members": { @@ -8281,46 +9153,280 @@ } } }, + "com.amazonaws.glue#DirectKafkaSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data store.

", + "smithy.api#required": {} + } + }, + "StreamingOptions": { + "target": "com.amazonaws.glue#KafkaStreamingSourceOptions", + "traits": { + "smithy.api#documentation": "

Specifies the streaming options.

" + } + }, + "WindowSize": { + "target": "com.amazonaws.glue#BoxedPositiveInt", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

The amount of time to spend processing each micro batch.

" + } + }, + "DetectSchema": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

Whether to automatically determine the schema from the incoming data.

" + } + }, + "DataPreviewOptions": { + "target": "com.amazonaws.glue#StreamingDataPreviewOptions", + "traits": { + "smithy.api#documentation": "

Specifies options related to data preview for viewing a sample of your data.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies an Apache Kafka data store.

" + } + }, + "com.amazonaws.glue#DirectKinesisSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data source.

", + "smithy.api#required": {} + } + }, + "WindowSize": { + "target": "com.amazonaws.glue#BoxedPositiveInt", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

The amount of time to spend processing each micro batch.

" + } + }, + "DetectSchema": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

Whether to automatically determine the schema from the incoming data.

" + } + }, + "StreamingOptions": { + "target": "com.amazonaws.glue#KinesisStreamingSourceOptions", + "traits": { + "smithy.api#documentation": "

Additional options for the Kinesis streaming data source.

" + } + }, + "DataPreviewOptions": { + "target": "com.amazonaws.glue#StreamingDataPreviewOptions", + "traits": { + "smithy.api#documentation": "

Additional options for data preview.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a direct Amazon Kinesis data source.

" + } + }, + "com.amazonaws.glue#DirectSchemaChangePolicy": { + "type": "structure", + "members": { + "EnableUpdateCatalog": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Whether to use the specified update behavior when the crawler finds a changed schema.

" + } + }, + "UpdateBehavior": { + "target": "com.amazonaws.glue#UpdateCatalogBehavior", + "traits": { + "smithy.api#documentation": "

The update behavior when the crawler finds a changed schema.

" + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Specifies the table in the database that the schema change policy applies to.

" + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Specifies the database that the schema change policy applies to.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A policy that specifies update behavior for the crawler.

" + } + }, "com.amazonaws.glue#Double": { "type": "double" }, - "com.amazonaws.glue#DoubleColumnStatisticsData": { + "com.amazonaws.glue#DoubleColumnStatisticsData": { + "type": "structure", + "members": { + "MinimumValue": { + "target": "com.amazonaws.glue#Double", + "traits": { + "smithy.api#documentation": "

The lowest value in the column.

" + } + }, + "MaximumValue": { + "target": "com.amazonaws.glue#Double", + "traits": { + "smithy.api#documentation": "

The highest value in the column.

" + } + }, + "NumberOfNulls": { + "target": "com.amazonaws.glue#NonNegativeLong", + "traits": { + "smithy.api#documentation": "

The number of null values in the column.

", + "smithy.api#required": {} + } + }, + "NumberOfDistinctValues": { + "target": "com.amazonaws.glue#NonNegativeLong", + "traits": { + "smithy.api#documentation": "

The number of distinct values in a column.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Defines column statistics supported for floating-point number data columns.

" + } + }, + "com.amazonaws.glue#DoubleValue": { + "type": "double" + }, + "com.amazonaws.glue#DropDuplicates": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "Columns": { + "target": "com.amazonaws.glue#LimitedPathList", + "traits": { + "smithy.api#documentation": "

The name of the columns to be merged or removed if repeating.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a transform that removes rows of repeating data from a data set.

" + } + }, + "com.amazonaws.glue#DropFields": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "Paths": { + "target": "com.amazonaws.glue#GlueStudioPathList", + "traits": { + "smithy.api#documentation": "

A JSON path to a variable in the data structure.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a transform that chooses the data property keys that you want to drop.

" + } + }, + "com.amazonaws.glue#DropNullFields": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "NullCheckBoxList": { + "target": "com.amazonaws.glue#NullCheckBoxList", + "traits": { + "smithy.api#documentation": "

A structure that represents whether certain values are recognized as null values for removal.

" + } + }, + "NullTextList": { + "target": "com.amazonaws.glue#NullValueFields", + "traits": { + "smithy.api#documentation": "

A structure that specifies a list of NullValueField structures that represent a custom null value such as zero or other value being used as a null placeholder unique to the dataset.

\n\n

The DropNullFields transform removes custom null values only if both the value of the null placeholder and the datatype match the data.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

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.

" + } + }, + "com.amazonaws.glue#DynamoDBCatalogSource": { "type": "structure", "members": { - "MinimumValue": { - "target": "com.amazonaws.glue#Double", - "traits": { - "smithy.api#documentation": "

The lowest value in the column.

" - } - }, - "MaximumValue": { - "target": "com.amazonaws.glue#Double", + "Name": { + "target": "com.amazonaws.glue#NodeName", "traits": { - "smithy.api#documentation": "

The highest value in the column.

" + "smithy.api#documentation": "

The name of the data source.

", + "smithy.api#required": {} } }, - "NumberOfNulls": { - "target": "com.amazonaws.glue#NonNegativeLong", + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", "traits": { - "smithy.api#documentation": "

The number of null values in the column.

", + "smithy.api#documentation": "

The name of the database to read from.

", "smithy.api#required": {} } }, - "NumberOfDistinctValues": { - "target": "com.amazonaws.glue#NonNegativeLong", + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", "traits": { - "smithy.api#documentation": "

The number of distinct values in a column.

", + "smithy.api#documentation": "

The name of the table in the database to read from.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Defines column statistics supported for floating-point number data columns.

" + "smithy.api#documentation": "

Specifies a DynamoDB data source in the Glue Data Catalog.

" } }, - "com.amazonaws.glue#DoubleValue": { - "type": "double" - }, "com.amazonaws.glue#DynamoDBTarget": { "type": "structure", "members": { @@ -8394,6 +9500,30 @@ ] } }, + "com.amazonaws.glue#EnclosedInStringProperties": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#EnclosedInStringProperty" + } + }, + "com.amazonaws.glue#EnclosedInStringPropertiesMinOne": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#EnclosedInStringProperty" + } + }, + "com.amazonaws.glue#EnclosedInStringProperty": { + "type": "string", + "traits": { + "smithy.api#pattern": "^([\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF]|[^\\S\\r\\n\"'])*$" + } + }, + "com.amazonaws.glue#EnclosedInStringPropertyWithQuote": { + "type": "string", + "traits": { + "smithy.api#pattern": "^([\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF]|[^\\S\\r\\n])*$" + } + }, "com.amazonaws.glue#EncryptionAtRest": { "type": "structure", "members": { @@ -8609,9 +9739,170 @@ "smithy.api#documentation": "

Specifies configuration properties for an exporting labels task run.

" } }, + "com.amazonaws.glue#ExtendedString": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[\\s\\S]*$" + } + }, "com.amazonaws.glue#FieldType": { "type": "string" }, + "com.amazonaws.glue#FillMissingValues": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "ImputedPath": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

A JSON path to a variable in the data structure for the dataset that is imputed.

", + "smithy.api#required": {} + } + }, + "FilledPath": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

A JSON path to a variable in the data structure for the dataset that is filled.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

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.

" + } + }, + "com.amazonaws.glue#Filter": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "LogicalOperator": { + "target": "com.amazonaws.glue#FilterLogicalOperator", + "traits": { + "smithy.api#documentation": "

The operator used to filter rows by comparing the key value to a specified value.

", + "smithy.api#required": {} + } + }, + "Filters": { + "target": "com.amazonaws.glue#FilterExpressions", + "traits": { + "smithy.api#documentation": "

Specifies a filter expression.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a transform that splits a dataset into two, based on a filter condition.

" + } + }, + "com.amazonaws.glue#FilterExpression": { + "type": "structure", + "members": { + "Operation": { + "target": "com.amazonaws.glue#FilterOperation", + "traits": { + "smithy.api#documentation": "

The type of operation to perform in the expression.

", + "smithy.api#required": {} + } + }, + "Negated": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Whether the expression is to be negated.

" + } + }, + "Values": { + "target": "com.amazonaws.glue#FilterValues", + "traits": { + "smithy.api#documentation": "

A list of filter values.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a filter expression.

" + } + }, + "com.amazonaws.glue#FilterExpressions": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#FilterExpression" + } + }, + "com.amazonaws.glue#FilterLogicalOperator": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "AND", + "name": "AND" + }, + { + "value": "OR", + "name": "OR" + } + ] + } + }, + "com.amazonaws.glue#FilterOperation": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "EQ", + "name": "EQ" + }, + { + "value": "LT", + "name": "LT" + }, + { + "value": "GT", + "name": "GT" + }, + { + "value": "LTE", + "name": "LTE" + }, + { + "value": "GTE", + "name": "GTE" + }, + { + "value": "REGEX", + "name": "REGEX" + }, + { + "value": "ISNULL", + "name": "ISNULL" + } + ] + } + }, "com.amazonaws.glue#FilterString": { "type": "string", "traits": { @@ -8622,6 +9913,49 @@ "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$" } }, + "com.amazonaws.glue#FilterValue": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.glue#FilterValueType", + "traits": { + "smithy.api#documentation": "

The type of filter value.

", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

The value to be associated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a single entry in the list of values for a FilterExpression.

" + } + }, + "com.amazonaws.glue#FilterValueType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "COLUMNEXTRACTED", + "name": "COLUMNEXTRACTED" + }, + { + "value": "CONSTANT", + "name": "CONSTANT" + } + ] + } + }, + "com.amazonaws.glue#FilterValues": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#FilterValue" + } + }, "com.amazonaws.glue#FindMatchesMetrics": { "type": "structure", "members": { @@ -8753,6 +10087,12 @@ } } }, + "com.amazonaws.glue#GenericLimitedString": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[A-Za-z0-9_-]*$" + } + }, "com.amazonaws.glue#GenericMap": { "type": "map", "key": { @@ -13198,6 +14538,53 @@ "smithy.api#documentation": "

A structure for returning a resource policy.

" } }, + "com.amazonaws.glue#GlueRecordType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DATE", + "name": "DATE" + }, + { + "value": "STRING", + "name": "STRING" + }, + { + "value": "TIMESTAMP", + "name": "TIMESTAMP" + }, + { + "value": "INT", + "name": "INT" + }, + { + "value": "FLOAT", + "name": "FLOAT" + }, + { + "value": "LONG", + "name": "LONG" + }, + { + "value": "BIGDECIMAL", + "name": "BIGDECIMAL" + }, + { + "value": "BYTE", + "name": "BYTE" + }, + { + "value": "SHORT", + "name": "SHORT" + }, + { + "value": "DOUBLE", + "name": "DOUBLE" + } + ] + } + }, "com.amazonaws.glue#GlueResourceArn": { "type": "string", "traits": { @@ -13208,6 +14595,69 @@ "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):glue:" } }, + "com.amazonaws.glue#GlueSchema": { + "type": "structure", + "members": { + "Columns": { + "target": "com.amazonaws.glue#GlueStudioSchemaColumnList", + "traits": { + "smithy.api#documentation": "

Specifies the column definitions that make up a Glue schema.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a user-defined schema when a schema cannot be determined by AWS Glue.

" + } + }, + "com.amazonaws.glue#GlueSchemas": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#GlueSchema" + } + }, + "com.amazonaws.glue#GlueStudioColumnNameString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$" + } + }, + "com.amazonaws.glue#GlueStudioPathList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#EnclosedInStringProperties" + } + }, + "com.amazonaws.glue#GlueStudioSchemaColumn": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#GlueStudioColumnNameString", + "traits": { + "smithy.api#documentation": "

The name of the column in the Glue Studio schema.

", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.glue#ColumnTypeString", + "traits": { + "smithy.api#documentation": "

The hive type for this column in the Glue Studio schema.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a single column in a Glue schema definition.

" + } + }, + "com.amazonaws.glue#GlueStudioSchemaColumnList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#GlueStudioSchemaColumn" + } + }, "com.amazonaws.glue#GlueTable": { "type": "structure", "members": { @@ -13264,6 +14714,95 @@ "smithy.api#pattern": "^\\w+\\.\\w+$" } }, + "com.amazonaws.glue#GovernedCatalogSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data store.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The database to read from.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The database table to read from.

", + "smithy.api#required": {} + } + }, + "PartitionPredicate": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Partitions satisfying this predicate are deleted. Files within the retention period in these partitions are not deleted. Set to \"\" – empty by default.

" + } + }, + "AdditionalOptions": { + "target": "com.amazonaws.glue#S3SourceAdditionalOptions", + "traits": { + "smithy.api#documentation": "

Specifies additional connection options.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the data store in the governed Glue Data Catalog.

" + } + }, + "com.amazonaws.glue#GovernedCatalogTarget": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data target.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The nodes that are inputs to the data target.

", + "smithy.api#required": {} + } + }, + "PartitionKeys": { + "target": "com.amazonaws.glue#GlueStudioPathList", + "traits": { + "smithy.api#documentation": "

Specifies native partitioning using a sequence of keys.

" + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to write to.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to write to.

", + "smithy.api#required": {} + } + }, + "SchemaChangePolicy": { + "target": "com.amazonaws.glue#CatalogSchemaChangePolicy", + "traits": { + "smithy.api#documentation": "

A policy that specifies update behavior for the governed catalog.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a data target that writes to Amazon S3 using the Glue Data Catalog.

" + } + }, "com.amazonaws.glue#GrokClassifier": { "type": "structure", "members": { @@ -13496,31 +15035,381 @@ "traits": { "smithy.api#documentation": "

A message describing the problem.

" } - } - }, - "traits": { - "smithy.api#documentation": "

The input provided was not valid.

", - "smithy.api#error": "client" + } + }, + "traits": { + "smithy.api#documentation": "

The input provided was not valid.

", + "smithy.api#error": "client" + } + }, + "com.amazonaws.glue#InvalidStateException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.glue#MessageString", + "traits": { + "smithy.api#documentation": "

A message describing the problem.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An error that indicates your data is in an invalid state.

", + "smithy.api#error": "client" + } + }, + "com.amazonaws.glue#IsVersionValid": { + "type": "boolean" + }, + "com.amazonaws.glue#JDBCConnectorOptions": { + "type": "structure", + "members": { + "FilterPredicate": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Extra condition clause to filter data from source. For example:

\n\t\n\t

\n BillingCity='Mountain View'\n

\n\t\n\t

When using a query instead of a table name, you should validate that the query works with the specified filterPredicate.

" + } + }, + "PartitionColumn": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of an integer column that is used for partitioning. This option works only when it's included with lowerBound, upperBound, and numPartitions. This option works the same way as in the Spark SQL JDBC reader.

" + } + }, + "LowerBound": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The minimum value of partitionColumn that is used to decide partition stride.

" + } + }, + "UpperBound": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The maximum value of partitionColumn that is used to decide partition stride.

" + } + }, + "NumPartitions": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The number of partitions. This value, along with lowerBound (inclusive) and upperBound (exclusive), form partition strides for generated WHERE clause expressions that are used to split the partitionColumn.

" + } + }, + "JobBookmarkKeys": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

The name of the job bookmark keys on which to sort.

" + } + }, + "JobBookmarkKeysSortOrder": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Specifies an ascending or descending sort order.

" + } + }, + "DataTypeMapping": { + "target": "com.amazonaws.glue#JDBCDataTypeMapping", + "traits": { + "smithy.api#documentation": "

Custom data type mapping that builds a mapping from a JDBC data type to an Glue data type. For example, the option \"dataTypeMapping\":{\"FLOAT\":\"STRING\"} maps data fields of JDBC type FLOAT into the Java String type by calling the ResultSet.getString() method of the driver, and uses it to build the Glue record. The ResultSet object is implemented by each driver, so the behavior is specific to the driver you use. Refer to the documentation for your JDBC driver to understand how the driver performs the conversions.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Additional connection options for the connector.

" + } + }, + "com.amazonaws.glue#JDBCConnectorSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data source.

", + "smithy.api#required": {} + } + }, + "ConnectionName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the connection that is associated with the connector.

", + "smithy.api#required": {} + } + }, + "ConnectorName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of a connector that assists with accessing the data store in Glue Studio.

", + "smithy.api#required": {} + } + }, + "ConnectionType": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The type of connection, such as marketplace.jdbc or custom.jdbc, designating a connection to a JDBC data store.

", + "smithy.api#required": {} + } + }, + "AdditionalOptions": { + "target": "com.amazonaws.glue#JDBCConnectorOptions", + "traits": { + "smithy.api#documentation": "

Additional connection options for the connector.

" + } + }, + "ConnectionTable": { + "target": "com.amazonaws.glue#EnclosedInStringPropertyWithQuote", + "traits": { + "smithy.api#documentation": "

The name of the table in the data source.

" + } + }, + "Query": { + "target": "com.amazonaws.glue#SqlQuery", + "traits": { + "smithy.api#documentation": "

The table or SQL query to get the data from. You can specify either ConnectionTable or query, but not both.

" + } + }, + "OutputSchemas": { + "target": "com.amazonaws.glue#GlueSchemas", + "traits": { + "smithy.api#documentation": "

Specifies the data schema for the custom JDBC source.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a connector to a JDBC data source.

" + } + }, + "com.amazonaws.glue#JDBCConnectorTarget": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data target.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The nodes that are inputs to the data target.

", + "smithy.api#required": {} + } + }, + "ConnectionName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the connection that is associated with the connector.

", + "smithy.api#required": {} + } + }, + "ConnectionTable": { + "target": "com.amazonaws.glue#EnclosedInStringPropertyWithQuote", + "traits": { + "smithy.api#documentation": "

The name of the table in the data target.

", + "smithy.api#required": {} + } + }, + "ConnectorName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of a connector that will be used.

", + "smithy.api#required": {} + } + }, + "ConnectionType": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The type of connection, such as marketplace.jdbc or custom.jdbc, designating a connection to a JDBC data target.

", + "smithy.api#required": {} + } + }, + "AdditionalOptions": { + "target": "com.amazonaws.glue#AdditionalOptions", + "traits": { + "smithy.api#documentation": "

Additional connection options for the connector.

" + } + }, + "OutputSchemas": { + "target": "com.amazonaws.glue#GlueSchemas", + "traits": { + "smithy.api#documentation": "

Specifies the data schema for the JDBC target.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.

" + } + }, + "com.amazonaws.glue#JDBCDataType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ARRAY", + "name": "ARRAY" + }, + { + "value": "BIGINT", + "name": "BIGINT" + }, + { + "value": "BINARY", + "name": "BINARY" + }, + { + "value": "BIT", + "name": "BIT" + }, + { + "value": "BLOB", + "name": "BLOB" + }, + { + "value": "BOOLEAN", + "name": "BOOLEAN" + }, + { + "value": "CHAR", + "name": "CHAR" + }, + { + "value": "CLOB", + "name": "CLOB" + }, + { + "value": "DATALINK", + "name": "DATALINK" + }, + { + "value": "DATE", + "name": "DATE" + }, + { + "value": "DECIMAL", + "name": "DECIMAL" + }, + { + "value": "DISTINCT", + "name": "DISTINCT" + }, + { + "value": "DOUBLE", + "name": "DOUBLE" + }, + { + "value": "FLOAT", + "name": "FLOAT" + }, + { + "value": "INTEGER", + "name": "INTEGER" + }, + { + "value": "JAVA_OBJECT", + "name": "JAVA_OBJECT" + }, + { + "value": "LONGNVARCHAR", + "name": "LONGNVARCHAR" + }, + { + "value": "LONGVARBINARY", + "name": "LONGVARBINARY" + }, + { + "value": "LONGVARCHAR", + "name": "LONGVARCHAR" + }, + { + "value": "NCHAR", + "name": "NCHAR" + }, + { + "value": "NCLOB", + "name": "NCLOB" + }, + { + "value": "NULL", + "name": "NULL" + }, + { + "value": "NUMERIC", + "name": "NUMERIC" + }, + { + "value": "NVARCHAR", + "name": "NVARCHAR" + }, + { + "value": "OTHER", + "name": "OTHER" + }, + { + "value": "REAL", + "name": "REAL" + }, + { + "value": "REF", + "name": "REF" + }, + { + "value": "REF_CURSOR", + "name": "REF_CURSOR" + }, + { + "value": "ROWID", + "name": "ROWID" + }, + { + "value": "SMALLINT", + "name": "SMALLINT" + }, + { + "value": "SQLXML", + "name": "SQLXML" + }, + { + "value": "STRUCT", + "name": "STRUCT" + }, + { + "value": "TIME", + "name": "TIME" + }, + { + "value": "TIME_WITH_TIMEZONE", + "name": "TIME_WITH_TIMEZONE" + }, + { + "value": "TIMESTAMP", + "name": "TIMESTAMP" + }, + { + "value": "TIMESTAMP_WITH_TIMEZONE", + "name": "TIMESTAMP_WITH_TIMEZONE" + }, + { + "value": "TINYINT", + "name": "TINYINT" + }, + { + "value": "VARBINARY", + "name": "VARBINARY" + }, + { + "value": "VARCHAR", + "name": "VARCHAR" + } + ] } }, - "com.amazonaws.glue#InvalidStateException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.glue#MessageString", - "traits": { - "smithy.api#documentation": "

A message describing the problem.

" - } - } + "com.amazonaws.glue#JDBCDataTypeMapping": { + "type": "map", + "key": { + "target": "com.amazonaws.glue#JDBCDataType" }, - "traits": { - "smithy.api#documentation": "

An error that indicates your data is in an invalid state.

", - "smithy.api#error": "client" + "value": { + "target": "com.amazonaws.glue#GlueRecordType" } }, - "com.amazonaws.glue#IsVersionValid": { - "type": "boolean" - }, "com.amazonaws.glue#JdbcTarget": { "type": "structure", "members": { @@ -13678,6 +15567,12 @@ "traits": { "smithy.api#documentation": "

Glue version determines the versions of Apache Spark and Python that Glue supports. The Python version indicates the version supported for jobs of type Spark.

\n \n

For more information about the available Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

\n\t \n\t

Jobs that are created without specifying a Glue version default to Glue 0.9.

" } + }, + "CodeGenConfigurationNodes": { + "target": "com.amazonaws.glue#CodeGenConfigurationNodes", + "traits": { + "smithy.api#documentation": "

The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.

" + } } }, "traits": { @@ -14121,12 +16016,119 @@ "traits": { "smithy.api#documentation": "

Glue version determines the versions of Apache Spark and Python that Glue supports. The Python version indicates the version supported for jobs of type Spark.

\n \n

For more information about the available Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

" } + }, + "CodeGenConfigurationNodes": { + "target": "com.amazonaws.glue#CodeGenConfigurationNodes", + "traits": { + "smithy.api#documentation": "

The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.

" + } } }, "traits": { "smithy.api#documentation": "

Specifies information used to update an existing job definition. The previous job\n definition is completely overwritten by this information.

" } }, + "com.amazonaws.glue#Join": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#TwoInputs", + "traits": { + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "JoinType": { + "target": "com.amazonaws.glue#JoinType", + "traits": { + "smithy.api#documentation": "

Specifies the type of join to be performed on the datasets.

", + "smithy.api#required": {} + } + }, + "Columns": { + "target": "com.amazonaws.glue#JoinColumns", + "traits": { + "smithy.api#documentation": "

A list of the two columns to be joined.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

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.

" + } + }, + "com.amazonaws.glue#JoinColumn": { + "type": "structure", + "members": { + "From": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The column to be joined.

", + "smithy.api#required": {} + } + }, + "Keys": { + "target": "com.amazonaws.glue#GlueStudioPathList", + "traits": { + "smithy.api#documentation": "

The key of the column to be joined.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a column to be joined.

" + } + }, + "com.amazonaws.glue#JoinColumns": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#JoinColumn" + }, + "traits": { + "smithy.api#length": { + "min": 2, + "max": 2 + } + } + }, + "com.amazonaws.glue#JoinType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "equijoin", + "name": "EQUIJOIN" + }, + { + "value": "left", + "name": "LEFT" + }, + { + "value": "right", + "name": "RIGHT" + }, + { + "value": "outer", + "name": "OUTER" + }, + { + "value": "leftsemi", + "name": "LEFT_SEMI" + }, + { + "value": "leftanti", + "name": "LEFT_ANTI" + } + ] + } + }, "com.amazonaws.glue#JsonClassifier": { "type": "structure", "members": { @@ -14173,6 +16175,104 @@ "com.amazonaws.glue#JsonValue": { "type": "string" }, + "com.amazonaws.glue#KafkaStreamingSourceOptions": { + "type": "structure", + "members": { + "BootstrapServers": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

A list of bootstrap server URLs, for example, as b-1.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094. This option must be specified in the API call or defined in the table metadata in the Data Catalog.

" + } + }, + "SecurityProtocol": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The protocol used to communicate with brokers. The possible values are \"SSL\" or \"PLAINTEXT\".

" + } + }, + "ConnectionName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the connection.

" + } + }, + "TopicName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The topic name as specified in Apache Kafka. You must specify at least one of \"topicName\", \"assign\" or \"subscribePattern\".

" + } + }, + "Assign": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The specific TopicPartitions to consume. You must specify at least one of \"topicName\", \"assign\" or \"subscribePattern\".

" + } + }, + "SubscribePattern": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

A Java regex string that identifies the topic list to subscribe to. You must specify at least one of \"topicName\", \"assign\" or \"subscribePattern\".

" + } + }, + "Classification": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

An optional classification.

" + } + }, + "Delimiter": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Specifies the delimiter character.

" + } + }, + "StartingOffsets": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The starting position in the Kafka topic to read data from. The possible values are \"earliest\" or \"latest\". The default value is \"latest\".

" + } + }, + "EndingOffsets": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The end point when a batch query is ended. Possible values are either \"latest\" or a JSON string that specifies an ending offset for each TopicPartition.

" + } + }, + "PollTimeoutMs": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The timeout in milliseconds to poll data from Kafka in Spark job executors. The default value is 512.

" + } + }, + "NumRetries": { + "target": "com.amazonaws.glue#BoxedNonNegativeInt", + "traits": { + "smithy.api#documentation": "

The number of times to retry before failing to fetch Kafka offsets. The default value is 3.

" + } + }, + "RetryIntervalMs": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The time in milliseconds to wait before retrying to fetch Kafka offsets. The default value is 10.

" + } + }, + "MaxOffsetsPerTrigger": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The rate limit on the maximum number of offsets that are processed per trigger interval. The specified total number of offsets is proportionally split across topicPartitions of different volumes. The default value is null, which means that the consumer reads all offsets until the known latest offset.

" + } + }, + "MinPartitions": { + "target": "com.amazonaws.glue#BoxedNonNegativeInt", + "traits": { + "smithy.api#documentation": "

The desired minimum number of partitions to read from Kafka. The default value is null, which means that the number of spark partitions is equal to the number of Kafka partitions.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Additional options for streaming.

" + } + }, "com.amazonaws.glue#KeyList": { "type": "list", "member": { @@ -14227,6 +16327,122 @@ "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$" } }, + "com.amazonaws.glue#KinesisStreamingSourceOptions": { + "type": "structure", + "members": { + "EndpointUrl": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The URL of the Kinesis endpoint.

" + } + }, + "StreamName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the Kinesis data stream.

" + } + }, + "Classification": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

An optional classification.

" + } + }, + "Delimiter": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Specifies the delimiter character.

" + } + }, + "StartingPosition": { + "target": "com.amazonaws.glue#StartingPosition", + "traits": { + "smithy.api#documentation": "

The starting position in the Kinesis data stream to read data from. The possible values are \"latest\", \"trim_horizon\", or \"earliest\". The default value is \"latest\".

" + } + }, + "MaxFetchTimeInMs": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The maximum time spent in the job executor to fetch a record from the Kinesis data stream per shard, specified in milliseconds (ms). The default value is 1000.

" + } + }, + "MaxFetchRecordsPerShard": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The maximum number of records to fetch per shard in the Kinesis data stream. The default value is 100000.

" + } + }, + "MaxRecordPerRead": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The maximum number of records to fetch from the Kinesis data stream in each getRecords operation. The default value is 10000.

" + } + }, + "AddIdleTimeBetweenReads": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Adds a time delay between two consecutive getRecords operations. The default value is \"False\". This option is only configurable for Glue version 2.0 and above.

" + } + }, + "IdleTimeBetweenReadsInMs": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The minimum time delay between two consecutive getRecords operations, specified in ms. The default value is 1000. This option is only configurable for Glue version 2.0 and above.

" + } + }, + "DescribeShardInterval": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The minimum time interval between two ListShards API calls for your script to consider resharding. The default value is 1s.

" + } + }, + "NumRetries": { + "target": "com.amazonaws.glue#BoxedNonNegativeInt", + "traits": { + "smithy.api#documentation": "

The maximum number of retries for Kinesis Data Streams API requests. The default value is 3.

" + } + }, + "RetryIntervalMs": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The cool-off time period (specified in ms) before retrying the Kinesis Data Streams API call. The default value is 1000.

" + } + }, + "MaxRetryIntervalMs": { + "target": "com.amazonaws.glue#BoxedNonNegativeLong", + "traits": { + "smithy.api#documentation": "

The maximum cool-off time period (specified in ms) between two retries of a Kinesis Data Streams API call. The default value is 10000.

" + } + }, + "AvoidEmptyBatches": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Avoids creating an empty microbatch job by checking for unread data in the Kinesis data stream before the batch is started. The default value is \"False\".

" + } + }, + "StreamArn": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Kinesis data stream.

" + } + }, + "RoleArn": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the role to assume using AWS Security Token Service (AWS STS). This role must have permissions for describe or read record operations for the Kinesis data stream. You must use this parameter when accessing a data stream in a different account. Used in conjunction with \"awsSTSSessionName\".

" + } + }, + "RoleSessionName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

An identifier for the session assuming the role using AWS STS. You must use this parameter when accessing a data stream in a different account. Used in conjunction with \"awsSTSRoleARN\".

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Additional options for the Amazon Kinesis streaming data source.

" + } + }, "com.amazonaws.glue#KmsKeyArn": { "type": "string", "traits": { @@ -14389,6 +16605,18 @@ "com.amazonaws.glue#LatestSchemaVersionBoolean": { "type": "boolean" }, + "com.amazonaws.glue#LimitedPathList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#LimitedStringList" + } + }, + "com.amazonaws.glue#LimitedStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#GenericLimitedString" + } + }, "com.amazonaws.glue#LineageConfiguration": { "type": "structure", "members": { @@ -15628,6 +17856,17 @@ ] } }, + "com.amazonaws.glue#ManyInputs": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#NodeId" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.glue#MapValue": { "type": "map", "key": { @@ -15643,6 +17882,50 @@ } } }, + "com.amazonaws.glue#Mapping": { + "type": "structure", + "members": { + "ToKey": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

After the apply mapping, what the name of the column should be. Can be the same as FromPath.

" + } + }, + "FromPath": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

The table or column to be modified.

" + } + }, + "FromType": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The type of the data to be modified.

" + } + }, + "ToType": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The data type that the data is to be modified to.

" + } + }, + "Dropped": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

If true, then the column is removed.

" + } + }, + "Children": { + "target": "com.amazonaws.glue#Mappings", + "traits": { + "smithy.api#documentation": "

Only applicable to nested data structures. If you want to change the parent structure, but also one of its children, you can fill out this data strucutre. It is also Mapping, but its FromPath will be the parent's FromPath plus the FromPath from this structure.

\n \n

For the children part, suppose you have the structure:

\n\t\n\t

\n {\n \"FromPath\": \"OuterStructure\",\n \"ToKey\": \"OuterStructure\",\n \"ToType\": \"Struct\",\n \"Dropped\": false,\n \"Chidlren\": [{\n \"FromPath\": \"inner\",\n \"ToKey\": \"inner\",\n \"ToType\": \"Double\",\n \"Dropped\": false,\n }]\n}\n

\n\n

You can specify a Mapping that looks like:

\n\t\n\t

\n {\n \"FromPath\": \"OuterStructure\",\n \"ToKey\": \"OuterStructure\",\n \"ToType\": \"Struct\",\n \"Dropped\": false,\n \"Chidlren\": [{\n \"FromPath\": \"inner\",\n \"ToKey\": \"inner\",\n \"ToType\": \"Double\",\n \"Dropped\": false,\n }]\n}\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the mapping of data property keys.

" + } + }, "com.amazonaws.glue#MappingEntry": { "type": "structure", "members": { @@ -15693,6 +17976,22 @@ "target": "com.amazonaws.glue#MappingEntry" } }, + "com.amazonaws.glue#Mappings": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#Mapping" + } + }, + "com.amazonaws.glue#MaskValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^[*A-Za-z0-9_-]*$" + } + }, "com.amazonaws.glue#MatchCriteria": { "type": "list", "member": { @@ -15721,6 +18020,42 @@ "com.amazonaws.glue#MaxRetries": { "type": "integer" }, + "com.amazonaws.glue#Merge": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#TwoInputs", + "traits": { + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "Source": { + "target": "com.amazonaws.glue#NodeId", + "traits": { + "smithy.api#documentation": "

The source DynamicFrame that will be merged with a staging DynamicFrame.

", + "smithy.api#required": {} + } + }, + "PrimaryKeys": { + "target": "com.amazonaws.glue#GlueStudioPathList", + "traits": { + "smithy.api#documentation": "

The list of primary key fields to match records from the source and staging dynamic frames.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a transform that merges a DynamicFrame with a staging DynamicFrame based on the specified primary keys to identify records. Duplicate records (records with the same primary keys) are not de-duplicated.

" + } + }, "com.amazonaws.glue#MessagePrefix": { "type": "string", "traits": { @@ -15815,6 +18150,71 @@ "smithy.api#pattern": "^[a-zA-Z0-9+-=._./@]+$" } }, + "com.amazonaws.glue#MicrosoftSQLServerCatalogSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data source.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to read from.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to read from.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a Microsoft SQL server data source in the Glue Data Catalog.

" + } + }, + "com.amazonaws.glue#MicrosoftSQLServerCatalogTarget": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data target.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The nodes that are inputs to the data target.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to write to.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to write to.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a target that uses Microsoft SQL.

" + } + }, "com.amazonaws.glue#MillisecondsCount": { "type": "long" }, @@ -15850,6 +18250,71 @@ "target": "com.amazonaws.glue#MongoDBTarget" } }, + "com.amazonaws.glue#MySQLCatalogSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data source.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to read from.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to read from.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a MySQL data source in the Glue Data Catalog.

" + } + }, + "com.amazonaws.glue#MySQLCatalogTarget": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data target.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The nodes that are inputs to the data target.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to write to.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to write to.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a target that uses MySQL.

" + } + }, "com.amazonaws.glue#NameString": { "type": "string", "traits": { @@ -15925,6 +18390,12 @@ "smithy.api#documentation": "

A node represents an Glue component (trigger, crawler, or job) on a workflow graph.

" } }, + "com.amazonaws.glue#NodeId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[A-Za-z0-9_-]*$" + } + }, "com.amazonaws.glue#NodeIdList": { "type": "list", "member": { @@ -15937,6 +18408,12 @@ "target": "com.amazonaws.glue#Node" } }, + "com.amazonaws.glue#NodeName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^([\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF]|[^\\r\\n])*$" + } + }, "com.amazonaws.glue#NodeType": { "type": "string", "traits": { @@ -15964,6 +18441,14 @@ } } }, + "com.amazonaws.glue#NonNegativeInt": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.glue#NonNegativeInteger": { "type": "integer", "traits": { @@ -16003,6 +18488,66 @@ } } }, + "com.amazonaws.glue#NullCheckBoxList": { + "type": "structure", + "members": { + "IsEmpty": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Specifies that an empty string is considered as a null value.

" + } + }, + "IsNullString": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Specifies that a value spelling out the word 'null' is considered as a null value.

" + } + }, + "IsNegOne": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Specifies that an integer value of -1 is considered as a null value.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents whether certain values are recognized as null values for removal.

" + } + }, + "com.amazonaws.glue#NullValueField": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The value of the null placeholder.

", + "smithy.api#required": {} + } + }, + "Datatype": { + "target": "com.amazonaws.glue#Datatype", + "traits": { + "smithy.api#documentation": "

The datatype of the value.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a custom null value such as a zeros or other value being used as a null placeholder unique to the dataset.

" + } + }, + "com.amazonaws.glue#NullValueFields": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#NullValueField" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, "com.amazonaws.glue#NullableBoolean": { "type": "boolean", "traits": { @@ -16018,22 +18563,99 @@ "com.amazonaws.glue#NullableInteger": { "type": "integer", "traits": { - "smithy.api#box": {} + "smithy.api#box": {} + } + }, + "com.amazonaws.glue#OneInput": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#NodeId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.glue#OperationTimeoutException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.glue#MessageString", + "traits": { + "smithy.api#documentation": "

A message describing the problem.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The operation timed out.

", + "smithy.api#error": "client" + } + }, + "com.amazonaws.glue#OracleSQLCatalogSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data source.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to read from.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to read from.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies an Oracle data source in the Glue Data Catalog.

" } }, - "com.amazonaws.glue#OperationTimeoutException": { + "com.amazonaws.glue#OracleSQLCatalogTarget": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.glue#MessageString", + "Name": { + "target": "com.amazonaws.glue#NodeName", "traits": { - "smithy.api#documentation": "

A message describing the problem.

" + "smithy.api#documentation": "

The name of the data target.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The nodes that are inputs to the data target.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to write to.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to write to.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The operation timed out.

", - "smithy.api#error": "client" + "smithy.api#documentation": "

Specifies a target that uses Oracle SQL.

" } }, "com.amazonaws.glue#OrchestrationArgumentsMap": { @@ -16179,6 +18801,66 @@ "smithy.api#documentation": "

A structure containing other metadata for a schema version belonging to the same metadata key.

" } }, + "com.amazonaws.glue#PIIDetection": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The node ID inputs to the transform.

", + "smithy.api#required": {} + } + }, + "PiiType": { + "target": "com.amazonaws.glue#PiiType", + "traits": { + "smithy.api#documentation": "

Indicates the type of PIIDetection transform.

", + "smithy.api#required": {} + } + }, + "EntityTypesToDetect": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

Indicates the types of entities the PIIDetection transform will identify as PII data.

\n

\n PII type entities include: PERSON_NAME, DATE, USA_SNN, EMAIL, USA_ITIN, USA_PASSPORT_NUMBER, PHONE_NUMBER, BANK_ACCOUNT,\n IP_ADDRESS, MAC_ADDRESS, USA_CPT_CODE, USA_HCPCS_CODE, USA_NATIONAL_DRUG_CODE, USA_MEDICARE_BENEFICIARY_IDENTIFIER,\n USA_HEALTH_INSURANCE_CLAIM_NUMBER,CREDIT_CARD,USA_NATIONAL_PROVIDER_IDENTIFIER,USA_DEA_NUMBER,USA_DRIVING_LICENSE\n

", + "smithy.api#required": {} + } + }, + "OutputColumnName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Indicates the output column name that will contain any entity type detected in that row.

" + } + }, + "SampleFraction": { + "target": "com.amazonaws.glue#BoxedDoubleFraction", + "traits": { + "smithy.api#documentation": "

Indicates the fraction of the data to sample when scanning for PII entities.

" + } + }, + "ThresholdFraction": { + "target": "com.amazonaws.glue#BoxedDoubleFraction", + "traits": { + "smithy.api#documentation": "

Indicates the fraction of the data that must be met in order for a column to be identified as PII data.

" + } + }, + "MaskValue": { + "target": "com.amazonaws.glue#MaskValue", + "traits": { + "smithy.api#documentation": "

Indicates the value that will replace the detected entity.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a transform that identifies, removes or masks PII data.

" + } + }, "com.amazonaws.glue#PageSize": { "type": "integer", "traits": { @@ -16210,6 +18892,33 @@ } } }, + "com.amazonaws.glue#ParquetCompressionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "snappy", + "name": "SNAPPY" + }, + { + "value": "lzo", + "name": "LZO" + }, + { + "value": "gzip", + "name": "GZIP" + }, + { + "value": "uncompressed", + "name": "UNCOMPRESSED" + }, + { + "value": "none", + "name": "NONE" + } + ] + } + }, "com.amazonaws.glue#Partition": { "type": "structure", "members": { @@ -16589,6 +19298,29 @@ "smithy.api#documentation": "

Specifies the physical requirements for a connection.

" } }, + "com.amazonaws.glue#PiiType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "RowAudit", + "name": "RowAudit" + }, + { + "value": "RowMasking", + "name": "RowMasking" + }, + { + "value": "ColumnAudit", + "name": "ColumnAudit" + }, + { + "value": "ColumnMasking", + "name": "ColumnMasking" + } + ] + } + }, "com.amazonaws.glue#PolicyJsonString": { "type": "string", "traits": { @@ -16597,6 +19329,89 @@ } } }, + "com.amazonaws.glue#PollingTime": { + "type": "long", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 10 + } + } + }, + "com.amazonaws.glue#PositiveLong": { + "type": "long", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.glue#PostgreSQLCatalogSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data source.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to read from.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to read from.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a PostgresSQL data source in the Glue Data Catalog.

" + } + }, + "com.amazonaws.glue#PostgreSQLCatalogTarget": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data target.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The nodes that are inputs to the data target.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to write to.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to write to.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a target that uses Postgres SQL.

" + } + }, "com.amazonaws.glue#Predecessor": { "type": "structure", "members": { @@ -16698,6 +19513,16 @@ ] } }, + "com.amazonaws.glue#Prob": { + "type": "double", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0, + "max": 1 + } + } + }, "com.amazonaws.glue#PropertyPredicate": { "type": "structure", "members": { @@ -17139,6 +19964,29 @@ } } }, + "com.amazonaws.glue#QuoteChar": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "quote", + "name": "QUOTE" + }, + { + "value": "quillemet", + "name": "QUILLEMET" + }, + { + "value": "single_quote", + "name": "SINGLE_QUOTE" + }, + { + "value": "disabled", + "name": "DISABLED" + } + ] + } + }, "com.amazonaws.glue#RecordsCount": { "type": "long", "traits": { @@ -17178,6 +20026,101 @@ "smithy.api#documentation": "

When crawling an Amazon S3 data source after the first crawl is complete, specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. For more information, see Incremental Crawls in Glue in the developer guide.

" } }, + "com.amazonaws.glue#RedshiftSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the Amazon Redshift data store.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The database to read from.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The database table to read from.

", + "smithy.api#required": {} + } + }, + "RedshiftTmpDir": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The Amazon S3 path where temporary data can be staged when copying out of the database.

" + } + }, + "TmpDirIAMRole": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The IAM role with permissions.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies an Amazon Redshift data store.

" + } + }, + "com.amazonaws.glue#RedshiftTarget": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data target.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The nodes that are inputs to the data target.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to write to.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to write to.

", + "smithy.api#required": {} + } + }, + "RedshiftTmpDir": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The Amazon S3 path where temporary data can be staged when copying out of the database.

" + } + }, + "TmpDirIAMRole": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The IAM role with permissions.

" + } + }, + "UpsertRedshiftOptions": { + "target": "com.amazonaws.glue#UpsertRedshiftTargetOptions", + "traits": { + "smithy.api#documentation": "

The set of options to configure an upsert operation when writing to a Redshift target.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a target that uses Amazon Redshift.

" + } + }, "com.amazonaws.glue#RegisterSchemaVersion": { "type": "operation", "input": { @@ -17337,6 +20280,35 @@ ] } }, + "com.amazonaws.glue#RelationalCatalogSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data source.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to read from.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to read from.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a Relational database data source in the Glue Data Catalog.

" + } + }, "com.amazonaws.glue#RemoveSchemaVersionMetadata": { "type": "operation", "input": { @@ -17443,6 +20415,42 @@ } } }, + "com.amazonaws.glue#RenameField": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "SourcePath": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

A JSON path to a variable in the data structure for the source data.

", + "smithy.api#required": {} + } + }, + "TargetPath": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

A JSON path to a variable in the data structure for the target data.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a transform that renames a single data property key.

" + } + }, "com.amazonaws.glue#ReplaceBoolean": { "type": "boolean" }, @@ -17635,133 +20643,434 @@ "Name": { "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

The name of the workflow to resume.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The name of the workflow to resume.

", + "smithy.api#required": {} + } + }, + "RunId": { + "target": "com.amazonaws.glue#IdString", + "traits": { + "smithy.api#documentation": "

The ID of the workflow run to resume.

", + "smithy.api#required": {} + } + }, + "NodeIds": { + "target": "com.amazonaws.glue#NodeIdList", + "traits": { + "smithy.api#documentation": "

A list of the node IDs for the nodes you want to restart. The nodes that are to be restarted must have a run attempt in the original run.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.glue#ResumeWorkflowRunResponse": { + "type": "structure", + "members": { + "RunId": { + "target": "com.amazonaws.glue#IdString", + "traits": { + "smithy.api#documentation": "

The new ID assigned to the resumed workflow run. Each resume of a workflow run will have a new run ID.

" + } + }, + "NodeIds": { + "target": "com.amazonaws.glue#NodeIdList", + "traits": { + "smithy.api#documentation": "

A list of the node IDs for the nodes that were actually restarted.

" + } + } + } + }, + "com.amazonaws.glue#Role": { + "type": "string" + }, + "com.amazonaws.glue#RoleArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws:iam::\\d{12}:role/" + } + }, + "com.amazonaws.glue#RoleString": { + "type": "string" + }, + "com.amazonaws.glue#RowTag": { + "type": "string" + }, + "com.amazonaws.glue#RunId": { + "type": "string" + }, + "com.amazonaws.glue#RunStatement": { + "type": "operation", + "input": { + "target": "com.amazonaws.glue#RunStatementRequest" + }, + "output": { + "target": "com.amazonaws.glue#RunStatementResponse" + }, + "errors": [ + { + "target": "com.amazonaws.glue#AccessDeniedException" + }, + { + "target": "com.amazonaws.glue#EntityNotFoundException" + }, + { + "target": "com.amazonaws.glue#IllegalSessionStateException" + }, + { + "target": "com.amazonaws.glue#InternalServiceException" + }, + { + "target": "com.amazonaws.glue#InvalidInputException" + }, + { + "target": "com.amazonaws.glue#OperationTimeoutException" + }, + { + "target": "com.amazonaws.glue#ResourceNumberLimitExceededException" + }, + { + "target": "com.amazonaws.glue#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Executes the statement.

" + } + }, + "com.amazonaws.glue#RunStatementRequest": { + "type": "structure", + "members": { + "SessionId": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

The Session Id of the statement to be run.

", + "smithy.api#required": {} + } + }, + "Code": { + "target": "com.amazonaws.glue#OrchestrationStatementCodeString", + "traits": { + "smithy.api#documentation": "

The statement code to be run.

", + "smithy.api#required": {} + } + }, + "RequestOrigin": { + "target": "com.amazonaws.glue#OrchestrationNameString", + "traits": { + "smithy.api#documentation": "

The origin of the request.

" + } + } + } + }, + "com.amazonaws.glue#RunStatementResponse": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.glue#IntegerValue", + "traits": { + "smithy.api#documentation": "

Returns the Id of the statement that was run.

" + } + } + } + }, + "com.amazonaws.glue#S3CatalogSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data store.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The database to read from.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The database table to read from.

", + "smithy.api#required": {} + } + }, + "PartitionPredicate": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Partitions satisfying this predicate are deleted. Files within the retention period in these partitions are not deleted. Set to \"\" – empty by default.

" + } + }, + "AdditionalOptions": { + "target": "com.amazonaws.glue#S3SourceAdditionalOptions", + "traits": { + "smithy.api#documentation": "

Specifies additional connection options.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies an Amazon S3 data store in the Glue Data Catalog.

" + } + }, + "com.amazonaws.glue#S3CatalogTarget": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data target.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The nodes that are inputs to the data target.

", + "smithy.api#required": {} + } + }, + "PartitionKeys": { + "target": "com.amazonaws.glue#GlueStudioPathList", + "traits": { + "smithy.api#documentation": "

Specifies native partitioning using a sequence of keys.

" + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the table in the database to write to.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the database to write to.

", + "smithy.api#required": {} + } + }, + "SchemaChangePolicy": { + "target": "com.amazonaws.glue#CatalogSchemaChangePolicy", + "traits": { + "smithy.api#documentation": "

A policy that specifies update behavior for the crawler.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a data target that writes to Amazon S3 using the Glue Data Catalog.

" + } + }, + "com.amazonaws.glue#S3CsvSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data store.

", + "smithy.api#required": {} + } + }, + "Paths": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

A list of the Amazon S3 paths to read from.

", + "smithy.api#required": {} + } + }, + "CompressionType": { + "target": "com.amazonaws.glue#CompressionType", + "traits": { + "smithy.api#documentation": "

Specifies how the data is compressed. This is generally not necessary if the data has a standard file extension. Possible values are \"gzip\" and \"bzip\").

" + } + }, + "Exclusions": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

A string containing a JSON list of Unix-style glob patterns to exclude. For example, \"[\\\"**.pdf\\\"]\" excludes all PDF files.

" + } + }, + "GroupSize": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The target group size in bytes. The default is computed based on the input data size and the size of your cluster. When there are fewer than 50,000 input files, \"groupFiles\" must be set to \"inPartition\" for this to take effect.

" + } + }, + "GroupFiles": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Grouping files is turned on by default when the input contains more than 50,000 files. To turn on grouping with fewer than 50,000 files, set this parameter to \"inPartition\". To disable grouping when there are more than 50,000 files, set this parameter to \"none\".

" + } + }, + "Recurse": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

If set to true, recursively reads files in all subdirectories under the specified paths.

" + } + }, + "MaxBand": { + "target": "com.amazonaws.glue#BoxedNonNegativeInt", + "traits": { + "smithy.api#documentation": "

This option controls the duration in milliseconds after which the s3 listing is likely to be consistent. Files with modification timestamps falling within the last maxBand milliseconds are tracked specially when using JobBookmarks to account for Amazon S3 eventual consistency. Most users don't need to set this option. The default is 900000 milliseconds, or 15 minutes.

" + } + }, + "MaxFilesInBand": { + "target": "com.amazonaws.glue#BoxedNonNegativeInt", + "traits": { + "smithy.api#documentation": "

This option specifies the maximum number of files to save from the last maxBand seconds. If this number is exceeded, extra files are skipped and only processed in the next job run.

" + } + }, + "AdditionalOptions": { + "target": "com.amazonaws.glue#S3DirectSourceAdditionalOptions", + "traits": { + "smithy.api#documentation": "

Specifies additional connection options.

" + } + }, + "Separator": { + "target": "com.amazonaws.glue#Separator", + "traits": { + "smithy.api#documentation": "

Specifies the delimiter character. The default is a comma: \",\", but any other character can be specified.

", + "smithy.api#required": {} + } + }, + "Escaper": { + "target": "com.amazonaws.glue#EnclosedInStringPropertyWithQuote", + "traits": { + "smithy.api#documentation": "

Specifies a character to use for escaping. This option is used only when reading CSV files. The default value is none. If enabled, the character which immediately follows is used as-is, except for a small set of well-known escapes (\\n, \\r, \\t, and \\0).

" } }, - "RunId": { - "target": "com.amazonaws.glue#IdString", + "QuoteChar": { + "target": "com.amazonaws.glue#QuoteChar", "traits": { - "smithy.api#documentation": "

The ID of the workflow run to resume.

", + "smithy.api#documentation": "

Specifies the character to use for quoting. The default is a double quote: '\"'. Set this to -1 to turn off quoting entirely.

", "smithy.api#required": {} } }, - "NodeIds": { - "target": "com.amazonaws.glue#NodeIdList", + "Multiline": { + "target": "com.amazonaws.glue#BoxedBoolean", "traits": { - "smithy.api#documentation": "

A list of the node IDs for the nodes you want to restart. The nodes that are to be restarted must have a run attempt in the original run.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A Boolean value that specifies whether a single record can span multiple lines. This can occur when a field contains a quoted new-line character. You must set this option to True if any record spans multiple lines. The default value is False, which allows for more aggressive file-splitting during parsing.

" } - } - } - }, - "com.amazonaws.glue#ResumeWorkflowRunResponse": { - "type": "structure", - "members": { - "RunId": { - "target": "com.amazonaws.glue#IdString", + }, + "WithHeader": { + "target": "com.amazonaws.glue#BoxedBoolean", "traits": { - "smithy.api#documentation": "

The new ID assigned to the resumed workflow run. Each resume of a workflow run will have a new run ID.

" + "smithy.api#documentation": "

A Boolean value that specifies whether to treat the first line as a header. The default value is False.

" } }, - "NodeIds": { - "target": "com.amazonaws.glue#NodeIdList", + "WriteHeader": { + "target": "com.amazonaws.glue#BoxedBoolean", "traits": { - "smithy.api#documentation": "

A list of the node IDs for the nodes that were actually restarted.

" + "smithy.api#documentation": "

A Boolean value that specifies whether to write the header to output. The default value is True.

" + } + }, + "SkipFirst": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

A Boolean value that specifies whether to skip the first data line. The default value is False.

" + } + }, + "OptimizePerformance": { + "target": "com.amazonaws.glue#BooleanValue", + "traits": { + "smithy.api#documentation": "

A Boolean value that specifies whether to use the advanced SIMD CSV reader along with Apache Arrow based columnar memory formats. Only available in Glue version 3.0.

" + } + }, + "OutputSchemas": { + "target": "com.amazonaws.glue#GlueSchemas", + "traits": { + "smithy.api#documentation": "

Specifies the data schema for the S3 CSV source.

" } } - } - }, - "com.amazonaws.glue#Role": { - "type": "string" - }, - "com.amazonaws.glue#RoleArn": { - "type": "string", + }, "traits": { - "smithy.api#pattern": "^arn:aws:iam::\\d{12}:role/" + "smithy.api#documentation": "

Specifies a command-separated value (CSV) data store stored in Amazon S3.

" } }, - "com.amazonaws.glue#RoleString": { - "type": "string" - }, - "com.amazonaws.glue#RowTag": { - "type": "string" - }, - "com.amazonaws.glue#RunId": { - "type": "string" - }, - "com.amazonaws.glue#RunStatement": { - "type": "operation", - "input": { - "target": "com.amazonaws.glue#RunStatementRequest" - }, - "output": { - "target": "com.amazonaws.glue#RunStatementResponse" - }, - "errors": [ - { - "target": "com.amazonaws.glue#AccessDeniedException" - }, - { - "target": "com.amazonaws.glue#EntityNotFoundException" - }, - { - "target": "com.amazonaws.glue#IllegalSessionStateException" - }, - { - "target": "com.amazonaws.glue#InternalServiceException" - }, - { - "target": "com.amazonaws.glue#InvalidInputException" + "com.amazonaws.glue#S3DirectSourceAdditionalOptions": { + "type": "structure", + "members": { + "BoundedSize": { + "target": "com.amazonaws.glue#BoxedLong", + "traits": { + "smithy.api#documentation": "

Sets the upper limit for the target size of the dataset in bytes that will be processed.

" + } }, - { - "target": "com.amazonaws.glue#OperationTimeoutException" + "BoundedFiles": { + "target": "com.amazonaws.glue#BoxedLong", + "traits": { + "smithy.api#documentation": "

Sets the upper limit for the target number of files that will be processed.

" + } }, - { - "target": "com.amazonaws.glue#ResourceNumberLimitExceededException" + "EnableSamplePath": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Sets option to enable a sample path.

" + } }, - { - "target": "com.amazonaws.glue#ValidationException" + "SamplePath": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

If enabled, specifies the sample path.

" + } } - ], + }, "traits": { - "smithy.api#documentation": "

Executes the statement.

" + "smithy.api#documentation": "

Specifies additional connection options for the Amazon S3 data store.

" } }, - "com.amazonaws.glue#RunStatementRequest": { + "com.amazonaws.glue#S3DirectTarget": { "type": "structure", "members": { - "SessionId": { - "target": "com.amazonaws.glue#NameString", + "Name": { + "target": "com.amazonaws.glue#NodeName", "traits": { - "smithy.api#documentation": "

The Session Id of the statement to be run.

", + "smithy.api#documentation": "

The name of the data target.

", "smithy.api#required": {} } }, - "Code": { - "target": "com.amazonaws.glue#OrchestrationStatementCodeString", + "Inputs": { + "target": "com.amazonaws.glue#OneInput", "traits": { - "smithy.api#documentation": "

The statement code to be run.

", + "smithy.api#documentation": "

The nodes that are inputs to the data target.

", "smithy.api#required": {} } }, - "RequestOrigin": { - "target": "com.amazonaws.glue#OrchestrationNameString", + "PartitionKeys": { + "target": "com.amazonaws.glue#GlueStudioPathList", "traits": { - "smithy.api#documentation": "

The origin of the request.

" + "smithy.api#documentation": "

Specifies native partitioning using a sequence of keys.

" } - } - } - }, - "com.amazonaws.glue#RunStatementResponse": { - "type": "structure", - "members": { - "Id": { - "target": "com.amazonaws.glue#IntegerValue", + }, + "Path": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", "traits": { - "smithy.api#documentation": "

Returns the Id of the statement that was run.

" + "smithy.api#documentation": "

A single Amazon S3 path to write to.

", + "smithy.api#required": {} + } + }, + "Compression": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Specifies how the data is compressed. This is generally not necessary if the data has a standard file extension. Possible values are \"gzip\" and \"bzip\").

" + } + }, + "Format": { + "target": "com.amazonaws.glue#TargetFormat", + "traits": { + "smithy.api#documentation": "

Specifies the data output format for the target.

", + "smithy.api#required": {} + } + }, + "SchemaChangePolicy": { + "target": "com.amazonaws.glue#DirectSchemaChangePolicy", + "traits": { + "smithy.api#documentation": "

A policy that specifies update behavior for the crawler.

" } } + }, + "traits": { + "smithy.api#documentation": "

Specifies a data target that writes to Amazon S3.

" } }, "com.amazonaws.glue#S3Encryption": { @@ -17806,7 +21115,238 @@ "value": "SSE-S3", "name": "SSES3" } - ] + ] + } + }, + "com.amazonaws.glue#S3GlueParquetTarget": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data target.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The nodes that are inputs to the data target.

", + "smithy.api#required": {} + } + }, + "PartitionKeys": { + "target": "com.amazonaws.glue#GlueStudioPathList", + "traits": { + "smithy.api#documentation": "

Specifies native partitioning using a sequence of keys.

" + } + }, + "Path": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

A single Amazon S3 path to write to.

", + "smithy.api#required": {} + } + }, + "Compression": { + "target": "com.amazonaws.glue#ParquetCompressionType", + "traits": { + "smithy.api#documentation": "

Specifies how the data is compressed. This is generally not necessary if the data has a standard file extension. Possible values are \"gzip\" and \"bzip\").

" + } + }, + "SchemaChangePolicy": { + "target": "com.amazonaws.glue#DirectSchemaChangePolicy", + "traits": { + "smithy.api#documentation": "

A policy that specifies update behavior for the crawler.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a data target that writes to Amazon S3 in Apache Parquet columnar storage.

" + } + }, + "com.amazonaws.glue#S3JsonSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data store.

", + "smithy.api#required": {} + } + }, + "Paths": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

A list of the Amazon S3 paths to read from.

", + "smithy.api#required": {} + } + }, + "CompressionType": { + "target": "com.amazonaws.glue#CompressionType", + "traits": { + "smithy.api#documentation": "

Specifies how the data is compressed. This is generally not necessary if the data has a standard file extension. Possible values are \"gzip\" and \"bzip\").

" + } + }, + "Exclusions": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

A string containing a JSON list of Unix-style glob patterns to exclude. For example, \"[\\\"**.pdf\\\"]\" excludes all PDF files.

" + } + }, + "GroupSize": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The target group size in bytes. The default is computed based on the input data size and the size of your cluster. When there are fewer than 50,000 input files, \"groupFiles\" must be set to \"inPartition\" for this to take effect.

" + } + }, + "GroupFiles": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Grouping files is turned on by default when the input contains more than 50,000 files. To turn on grouping with fewer than 50,000 files, set this parameter to \"inPartition\". To disable grouping when there are more than 50,000 files, set this parameter to \"none\".

" + } + }, + "Recurse": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

If set to true, recursively reads files in all subdirectories under the specified paths.

" + } + }, + "MaxBand": { + "target": "com.amazonaws.glue#BoxedNonNegativeInt", + "traits": { + "smithy.api#documentation": "

This option controls the duration in milliseconds after which the s3 listing is likely to be consistent. Files with modification timestamps falling within the last maxBand milliseconds are tracked specially when using JobBookmarks to account for Amazon S3 eventual consistency. Most users don't need to set this option. The default is 900000 milliseconds, or 15 minutes.

" + } + }, + "MaxFilesInBand": { + "target": "com.amazonaws.glue#BoxedNonNegativeInt", + "traits": { + "smithy.api#documentation": "

This option specifies the maximum number of files to save from the last maxBand seconds. If this number is exceeded, extra files are skipped and only processed in the next job run.

" + } + }, + "AdditionalOptions": { + "target": "com.amazonaws.glue#S3DirectSourceAdditionalOptions", + "traits": { + "smithy.api#documentation": "

Specifies additional connection options.

" + } + }, + "JsonPath": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

A JsonPath string defining the JSON data.

" + } + }, + "Multiline": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

A Boolean value that specifies whether a single record can span multiple lines. This can occur when a field contains a quoted new-line character. You must set this option to True if any record spans multiple lines. The default value is False, which allows for more aggressive file-splitting during parsing.

" + } + }, + "OutputSchemas": { + "target": "com.amazonaws.glue#GlueSchemas", + "traits": { + "smithy.api#documentation": "

Specifies the data schema for the S3 JSON source.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a JSON data store stored in Amazon S3.

" + } + }, + "com.amazonaws.glue#S3ParquetSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the data store.

", + "smithy.api#required": {} + } + }, + "Paths": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

A list of the Amazon S3 paths to read from.

", + "smithy.api#required": {} + } + }, + "CompressionType": { + "target": "com.amazonaws.glue#ParquetCompressionType", + "traits": { + "smithy.api#documentation": "

Specifies how the data is compressed. This is generally not necessary if the data has a standard file extension. Possible values are \"gzip\" and \"bzip\").

" + } + }, + "Exclusions": { + "target": "com.amazonaws.glue#EnclosedInStringProperties", + "traits": { + "smithy.api#documentation": "

A string containing a JSON list of Unix-style glob patterns to exclude. For example, \"[\\\"**.pdf\\\"]\" excludes all PDF files.

" + } + }, + "GroupSize": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The target group size in bytes. The default is computed based on the input data size and the size of your cluster. When there are fewer than 50,000 input files, \"groupFiles\" must be set to \"inPartition\" for this to take effect.

" + } + }, + "GroupFiles": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

Grouping files is turned on by default when the input contains more than 50,000 files. To turn on grouping with fewer than 50,000 files, set this parameter to \"inPartition\". To disable grouping when there are more than 50,000 files, set this parameter to \"none\".

" + } + }, + "Recurse": { + "target": "com.amazonaws.glue#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

If set to true, recursively reads files in all subdirectories under the specified paths.

" + } + }, + "MaxBand": { + "target": "com.amazonaws.glue#BoxedNonNegativeInt", + "traits": { + "smithy.api#documentation": "

This option controls the duration in milliseconds after which the s3 listing is likely to be consistent. Files with modification timestamps falling within the last maxBand milliseconds are tracked specially when using JobBookmarks to account for Amazon S3 eventual consistency. Most users don't need to set this option. The default is 900000 milliseconds, or 15 minutes.

" + } + }, + "MaxFilesInBand": { + "target": "com.amazonaws.glue#BoxedNonNegativeInt", + "traits": { + "smithy.api#documentation": "

This option specifies the maximum number of files to save from the last maxBand seconds. If this number is exceeded, extra files are skipped and only processed in the next job run.

" + } + }, + "AdditionalOptions": { + "target": "com.amazonaws.glue#S3DirectSourceAdditionalOptions", + "traits": { + "smithy.api#documentation": "

Specifies additional connection options.

" + } + }, + "OutputSchemas": { + "target": "com.amazonaws.glue#GlueSchemas", + "traits": { + "smithy.api#documentation": "

Specifies the data schema for the S3 Parquet source.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies an Apache Parquet data store stored in Amazon S3.

" + } + }, + "com.amazonaws.glue#S3SourceAdditionalOptions": { + "type": "structure", + "members": { + "BoundedSize": { + "target": "com.amazonaws.glue#BoxedLong", + "traits": { + "smithy.api#documentation": "

Sets the upper limit for the target size of the dataset in bytes that will be processed.

" + } + }, + "BoundedFiles": { + "target": "com.amazonaws.glue#BoxedLong", + "traits": { + "smithy.api#documentation": "

Sets the upper limit for the target number of files that will be processed.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies additional connection options for the Amazon S3 data store.

" } }, "com.amazonaws.glue#S3Target": { @@ -18360,382 +21900,716 @@ "smithy.api#documentation": "

A continuation token, included if this is a continuation call.

" } }, - "Filters": { - "target": "com.amazonaws.glue#SearchPropertyPredicates", + "Filters": { + "target": "com.amazonaws.glue#SearchPropertyPredicates", + "traits": { + "smithy.api#documentation": "

A list of key-value pairs, and a comparator used to filter the search results. Returns all entities matching the predicate.

\n\t\n\t

The Comparator member of the PropertyPredicate struct is used only for time fields, and can be omitted for other field types. Also, when comparing string values, such as when Key=Name, a fuzzy match algorithm is used. The Key field (for example, the value of the Name field) is split on certain punctuation characters, for example, -, :, #, etc. into tokens. Then each token is exact-match compared with the Value member of PropertyPredicate. For example, if Key=Name and Value=link, tables named customer-link and xx-link-yy are returned, but xxlinkyy is not returned.

" + } + }, + "SearchText": { + "target": "com.amazonaws.glue#ValueString", + "traits": { + "smithy.api#documentation": "

A string used for a text search.

\n\t

Specifying a value in quotes filters based on an exact match to the value.

" + } + }, + "SortCriteria": { + "target": "com.amazonaws.glue#SortCriteria", + "traits": { + "smithy.api#documentation": "

A list of criteria for sorting the results by a field name, in an ascending or descending order.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.glue#PageSize", + "traits": { + "smithy.api#documentation": "

The maximum number of tables to return in a single response.

" + } + }, + "ResourceShareType": { + "target": "com.amazonaws.glue#ResourceShareType", + "traits": { + "smithy.api#documentation": "

Allows you to specify that you want to search the tables shared with your account. The allowable values are FOREIGN or ALL.

\n\t\n\t " + } + } + } + }, + "com.amazonaws.glue#SearchTablesResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.glue#Token", + "traits": { + "smithy.api#documentation": "

A continuation token, present if the current list segment is not the last.

" + } + }, + "TableList": { + "target": "com.amazonaws.glue#TableList", + "traits": { + "smithy.api#documentation": "

A list of the requested Table objects. The SearchTables response returns only the tables that you have access to.

" + } + } + } + }, + "com.amazonaws.glue#SecurityConfiguration": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

The name of the security configuration.

" + } + }, + "CreatedTimeStamp": { + "target": "com.amazonaws.glue#TimestampValue", + "traits": { + "smithy.api#documentation": "

The time at which this security configuration was created.

" + } + }, + "EncryptionConfiguration": { + "target": "com.amazonaws.glue#EncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

The encryption configuration associated with this security configuration.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a security configuration.

" + } + }, + "com.amazonaws.glue#SecurityConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#SecurityConfiguration" + } + }, + "com.amazonaws.glue#SecurityGroupIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#NameString" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.glue#Segment": { + "type": "structure", + "members": { + "SegmentNumber": { + "target": "com.amazonaws.glue#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

The zero-based index number of the segment. For example, if the total number of segments\n is 4, SegmentNumber values range from 0 through 3.

", + "smithy.api#required": {} + } + }, + "TotalSegments": { + "target": "com.amazonaws.glue#TotalSegmentsInteger", + "traits": { + "smithy.api#documentation": "

The total number of segments.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Defines a non-overlapping region of a table's partitions, allowing\n multiple requests to be run in parallel.

" + } + }, + "com.amazonaws.glue#SelectFields": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "Paths": { + "target": "com.amazonaws.glue#GlueStudioPathList", + "traits": { + "smithy.api#documentation": "

A JSON path to a variable in the data structure.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a transform that chooses the data property keys that you want to keep.

" + } + }, + "com.amazonaws.glue#SelectFromCollection": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#OneInput", + "traits": { + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "Index": { + "target": "com.amazonaws.glue#NonNegativeInt", + "traits": { + "smithy.api#documentation": "

The index for the DynamicFrame to be selected.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a transform that chooses one DynamicFrame from a collection of DynamicFrames. The output is the selected DynamicFrame\n

" + } + }, + "com.amazonaws.glue#Separator": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "comma", + "name": "COMMA" + }, + { + "value": "ctrla", + "name": "CTRLA" + }, + { + "value": "pipe", + "name": "PIPE" + }, + { + "value": "semicolon", + "name": "SEMICOLON" + }, + { + "value": "tab", + "name": "TAB" + } + ] + } + }, + "com.amazonaws.glue#SerDeInfo": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

Name of the SerDe.

" + } + }, + "SerializationLibrary": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

Usually the class that implements the SerDe. An example is\n org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe.

" + } + }, + "Parameters": { + "target": "com.amazonaws.glue#ParametersMap", + "traits": { + "smithy.api#documentation": "

These key-value pairs define initialization parameters for the SerDe.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a serialization/deserialization program (SerDe) that serves as an\n extractor and loader.

" + } + }, + "com.amazonaws.glue#Session": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.glue#NameString", + "traits": { + "smithy.api#documentation": "

The ID of the session.

" + } + }, + "CreatedOn": { + "target": "com.amazonaws.glue#TimestampValue", + "traits": { + "smithy.api#documentation": "

The time and date when the session was created.

" + } + }, + "Status": { + "target": "com.amazonaws.glue#SessionStatus", + "traits": { + "smithy.api#documentation": "

The session status.

" + } + }, + "ErrorMessage": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

The error message displayed during the session.

" + } + }, + "Description": { + "target": "com.amazonaws.glue#DescriptionString", + "traits": { + "smithy.api#documentation": "

The description of the session.

" + } + }, + "Role": { + "target": "com.amazonaws.glue#OrchestrationRoleArn", + "traits": { + "smithy.api#documentation": "

The name or Amazon Resource Name (ARN) of the IAM role associated with the Session.

" + } + }, + "Command": { + "target": "com.amazonaws.glue#SessionCommand", + "traits": { + "smithy.api#documentation": "

The command object.See SessionCommand.

" + } + }, + "DefaultArguments": { + "target": "com.amazonaws.glue#OrchestrationArgumentsMap", + "traits": { + "smithy.api#documentation": "

A map array of key-value pairs. Max is 75 pairs.

" + } + }, + "Connections": { + "target": "com.amazonaws.glue#ConnectionsList", "traits": { - "smithy.api#documentation": "

A list of key-value pairs, and a comparator used to filter the search results. Returns all entities matching the predicate.

\n\t\n\t

The Comparator member of the PropertyPredicate struct is used only for time fields, and can be omitted for other field types. Also, when comparing string values, such as when Key=Name, a fuzzy match algorithm is used. The Key field (for example, the value of the Name field) is split on certain punctuation characters, for example, -, :, #, etc. into tokens. Then each token is exact-match compared with the Value member of PropertyPredicate. For example, if Key=Name and Value=link, tables named customer-link and xx-link-yy are returned, but xxlinkyy is not returned.

" + "smithy.api#documentation": "

The number of connections used for the session.

" } }, - "SearchText": { - "target": "com.amazonaws.glue#ValueString", + "Progress": { + "target": "com.amazonaws.glue#DoubleValue", "traits": { - "smithy.api#documentation": "

A string used for a text search.

\n\t

Specifying a value in quotes filters based on an exact match to the value.

" + "smithy.api#documentation": "

The code execution progress of the session.

" } }, - "SortCriteria": { - "target": "com.amazonaws.glue#SortCriteria", + "MaxCapacity": { + "target": "com.amazonaws.glue#NullableDouble", "traits": { - "smithy.api#documentation": "

A list of criteria for sorting the results by a field name, in an ascending or descending order.

" + "smithy.api#documentation": "

The number of AWS Glue data processing units (DPUs) that can be allocated when the job runs. \n A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory.

" } }, - "MaxResults": { - "target": "com.amazonaws.glue#PageSize", + "SecurityConfiguration": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

The maximum number of tables to return in a single response.

" + "smithy.api#documentation": "

The name of the SecurityConfiguration structure to be used with the session.

" } }, - "ResourceShareType": { - "target": "com.amazonaws.glue#ResourceShareType", + "GlueVersion": { + "target": "com.amazonaws.glue#GlueVersionString", "traits": { - "smithy.api#documentation": "

Allows you to specify that you want to search the tables shared with your account. The allowable values are FOREIGN or ALL.

\n\t\n\t " + "smithy.api#documentation": "

The Glue version determines the versions of Apache Spark and Python that AWS Glue supports. \n The GlueVersion must be greater than 2.0.

" } } + }, + "traits": { + "smithy.api#documentation": "

The period in which a remote Spark runtime environment is running.

" } }, - "com.amazonaws.glue#SearchTablesResponse": { + "com.amazonaws.glue#SessionCommand": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.glue#Token", + "Name": { + "target": "com.amazonaws.glue#NameString", "traits": { - "smithy.api#documentation": "

A continuation token, present if the current list segment is not the last.

" + "smithy.api#documentation": "

Specifies the name of the SessionCommand.Can be 'glueetl' or 'gluestreaming'.

" } }, - "TableList": { - "target": "com.amazonaws.glue#TableList", + "PythonVersion": { + "target": "com.amazonaws.glue#PythonVersionString", "traits": { - "smithy.api#documentation": "

A list of the requested Table objects. The SearchTables response returns only the tables that you have access to.

" + "smithy.api#documentation": "

Specifies the Python version. The Python version indicates the version supported for jobs of type Spark.

" } } + }, + "traits": { + "smithy.api#documentation": "

The SessionCommand that runs the job.

" } }, - "com.amazonaws.glue#SecurityConfiguration": { + "com.amazonaws.glue#SessionIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#NameString" + } + }, + "com.amazonaws.glue#SessionList": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#Session" + } + }, + "com.amazonaws.glue#SessionStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PROVISIONING", + "name": "PROVISIONING" + }, + { + "value": "READY", + "name": "READY" + }, + { + "value": "FAILED", + "name": "FAILED" + }, + { + "value": "TIMEOUT", + "name": "TIMEOUT" + }, + { + "value": "STOPPING", + "name": "STOPPING" + }, + { + "value": "STOPPED", + "name": "STOPPED" + } + ] + } + }, + "com.amazonaws.glue#SkewedInfo": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.glue#NameString", + "SkewedColumnNames": { + "target": "com.amazonaws.glue#NameStringList", "traits": { - "smithy.api#documentation": "

The name of the security configuration.

" + "smithy.api#documentation": "

A list of names of columns that contain skewed values.

" } }, - "CreatedTimeStamp": { - "target": "com.amazonaws.glue#TimestampValue", + "SkewedColumnValues": { + "target": "com.amazonaws.glue#ColumnValueStringList", "traits": { - "smithy.api#documentation": "

The time at which this security configuration was created.

" + "smithy.api#documentation": "

A list of values that appear so frequently as to be considered\n skewed.

" } }, - "EncryptionConfiguration": { - "target": "com.amazonaws.glue#EncryptionConfiguration", + "SkewedColumnValueLocationMaps": { + "target": "com.amazonaws.glue#LocationMap", "traits": { - "smithy.api#documentation": "

The encryption configuration associated with this security configuration.

" + "smithy.api#documentation": "

A mapping of skewed values to the columns that contain them.

" } } }, "traits": { - "smithy.api#documentation": "

Specifies a security configuration.

" + "smithy.api#documentation": "

Specifies skewed values in a table. Skewed values are those that occur with very high\n frequency.

" } }, - "com.amazonaws.glue#SecurityConfigurationList": { - "type": "list", - "member": { - "target": "com.amazonaws.glue#SecurityConfiguration" + "com.amazonaws.glue#Sort": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ASC", + "name": "ASCENDING" + }, + { + "value": "DESC", + "name": "DESCENDING" + } + ] } }, - "com.amazonaws.glue#SecurityGroupIdList": { + "com.amazonaws.glue#SortCriteria": { "type": "list", "member": { - "target": "com.amazonaws.glue#NameString" + "target": "com.amazonaws.glue#SortCriterion" }, "traits": { "smithy.api#length": { "min": 0, - "max": 50 + "max": 1 } } }, - "com.amazonaws.glue#Segment": { + "com.amazonaws.glue#SortCriterion": { "type": "structure", "members": { - "SegmentNumber": { - "target": "com.amazonaws.glue#NonNegativeInteger", + "FieldName": { + "target": "com.amazonaws.glue#ValueString", "traits": { - "smithy.api#documentation": "

The zero-based index number of the segment. For example, if the total number of segments\n is 4, SegmentNumber values range from 0 through 3.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The name of the field on which to sort.

" } }, - "TotalSegments": { - "target": "com.amazonaws.glue#TotalSegmentsInteger", + "Sort": { + "target": "com.amazonaws.glue#Sort", "traits": { - "smithy.api#documentation": "

The total number of segments.

", - "smithy.api#required": {} + "smithy.api#documentation": "

An ascending or descending sort.

" } } }, "traits": { - "smithy.api#documentation": "

Defines a non-overlapping region of a table's partitions, allowing\n multiple requests to be run in parallel.

" + "smithy.api#documentation": "

Specifies a field to sort by and a sort order.

" } }, - "com.amazonaws.glue#SerDeInfo": { + "com.amazonaws.glue#SortDirectionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DESCENDING", + "name": "DESCENDING" + }, + { + "value": "ASCENDING", + "name": "ASCENDING" + } + ] + } + }, + "com.amazonaws.glue#SparkConnectorSource": { "type": "structure", "members": { "Name": { - "target": "com.amazonaws.glue#NameString", + "target": "com.amazonaws.glue#NodeName", "traits": { - "smithy.api#documentation": "

Name of the SerDe.

" + "smithy.api#documentation": "

The name of the data source.

", + "smithy.api#required": {} } }, - "SerializationLibrary": { - "target": "com.amazonaws.glue#NameString", + "ConnectionName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", "traits": { - "smithy.api#documentation": "

Usually the class that implements the SerDe. An example is\n org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe.

" + "smithy.api#documentation": "

The name of the connection that is associated with the connector.

", + "smithy.api#required": {} } }, - "Parameters": { - "target": "com.amazonaws.glue#ParametersMap", + "ConnectorName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", "traits": { - "smithy.api#documentation": "

These key-value pairs define initialization parameters for the SerDe.

" + "smithy.api#documentation": "

The name of a connector that assists with accessing the data store in Glue Studio.

", + "smithy.api#required": {} + } + }, + "ConnectionType": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The type of connection, such as marketplace.spark or custom.spark, designating a connection to an Apache Spark data store.

", + "smithy.api#required": {} + } + }, + "AdditionalOptions": { + "target": "com.amazonaws.glue#AdditionalOptions", + "traits": { + "smithy.api#documentation": "

Additional connection options for the connector.

" + } + }, + "OutputSchemas": { + "target": "com.amazonaws.glue#GlueSchemas", + "traits": { + "smithy.api#documentation": "

Specifies data schema for the custom spark source.

" } } }, "traits": { - "smithy.api#documentation": "

Information about a serialization/deserialization program (SerDe) that serves as an\n extractor and loader.

" + "smithy.api#documentation": "

Specifies a connector to an Apache Spark data source.

" } }, - "com.amazonaws.glue#Session": { + "com.amazonaws.glue#SparkConnectorTarget": { "type": "structure", "members": { - "Id": { - "target": "com.amazonaws.glue#NameString", - "traits": { - "smithy.api#documentation": "

The ID of the session.

" - } - }, - "CreatedOn": { - "target": "com.amazonaws.glue#TimestampValue", + "Name": { + "target": "com.amazonaws.glue#NodeName", "traits": { - "smithy.api#documentation": "

The time and date when the session was created.

" + "smithy.api#documentation": "

The name of the data target.

", + "smithy.api#required": {} } }, - "Status": { - "target": "com.amazonaws.glue#SessionStatus", + "Inputs": { + "target": "com.amazonaws.glue#OneInput", "traits": { - "smithy.api#documentation": "

The session status.

" + "smithy.api#documentation": "

The nodes that are inputs to the data target.

", + "smithy.api#required": {} } }, - "ErrorMessage": { - "target": "com.amazonaws.glue#DescriptionString", + "ConnectionName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", "traits": { - "smithy.api#documentation": "

The error message displayed during the session.

" + "smithy.api#documentation": "

The name of a connection for an Apache Spark connector.

", + "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.glue#DescriptionString", + "ConnectorName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", "traits": { - "smithy.api#documentation": "

The description of the session.

" + "smithy.api#documentation": "

The name of an Apache Spark connector.

", + "smithy.api#required": {} } }, - "Role": { - "target": "com.amazonaws.glue#OrchestrationRoleArn", + "ConnectionType": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", "traits": { - "smithy.api#documentation": "

The name or Amazon Resource Name (ARN) of the IAM role associated with the Session.

" + "smithy.api#documentation": "

The type of connection, such as marketplace.spark or custom.spark, designating a connection to an Apache Spark data store.

", + "smithy.api#required": {} } }, - "Command": { - "target": "com.amazonaws.glue#SessionCommand", + "AdditionalOptions": { + "target": "com.amazonaws.glue#AdditionalOptions", "traits": { - "smithy.api#documentation": "

The command object.See SessionCommand.

" + "smithy.api#documentation": "

Additional connection options for the connector.

" } }, - "DefaultArguments": { - "target": "com.amazonaws.glue#OrchestrationArgumentsMap", + "OutputSchemas": { + "target": "com.amazonaws.glue#GlueSchemas", "traits": { - "smithy.api#documentation": "

A map array of key-value pairs. Max is 75 pairs.

" + "smithy.api#documentation": "

Specifies the data schema for the custom spark target.

" } - }, - "Connections": { - "target": "com.amazonaws.glue#ConnectionsList", + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a target that uses an Apache Spark connector.

" + } + }, + "com.amazonaws.glue#SparkSQL": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", "traits": { - "smithy.api#documentation": "

The number of connections used for the session.

" + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} } }, - "Progress": { - "target": "com.amazonaws.glue#DoubleValue", + "Inputs": { + "target": "com.amazonaws.glue#ManyInputs", "traits": { - "smithy.api#documentation": "

The code execution progress of the session.

" + "smithy.api#documentation": "

The data inputs identified by their node names. You can associate a table name with each input node to use in the SQL query. The name you choose must meet the Spark SQL naming restrictions.

", + "smithy.api#required": {} } }, - "MaxCapacity": { - "target": "com.amazonaws.glue#NullableDouble", + "SqlQuery": { + "target": "com.amazonaws.glue#SqlQuery", "traits": { - "smithy.api#documentation": "

The number of AWS Glue data processing units (DPUs) that can be allocated when the job runs. \n A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory.

" + "smithy.api#documentation": "

A SQL query that must use Spark SQL syntax and return a single data set.

", + "smithy.api#required": {} } }, - "SecurityConfiguration": { - "target": "com.amazonaws.glue#NameString", + "SqlAliases": { + "target": "com.amazonaws.glue#SqlAliases", "traits": { - "smithy.api#documentation": "

The name of the SecurityConfiguration structure to be used with the session.

" + "smithy.api#documentation": "

A list of aliases. An alias allows you to specify what name to use in the SQL for a given input. For example, you have a datasource named \"MyDataSource\". If you specify From as MyDataSource, and Alias as SqlName, then in your SQL you can do:

\n\n

\n select *\nfrom SqlName\n

\n\n

and that gets data from MyDataSource.

", + "smithy.api#required": {} } }, - "GlueVersion": { - "target": "com.amazonaws.glue#GlueVersionString", + "OutputSchemas": { + "target": "com.amazonaws.glue#GlueSchemas", "traits": { - "smithy.api#documentation": "

The Glue version determines the versions of Apache Spark and Python that AWS Glue supports. \n The GlueVersion must be greater than 2.0.

" + "smithy.api#documentation": "

Specifies the data schema for the SparkSQL transform.

" } } }, "traits": { - "smithy.api#documentation": "

The period in which a remote Spark runtime environment is running.

" + "smithy.api#documentation": "

Specifies a transform where you enter a SQL query using Spark SQL syntax to transform the data. The output is a single DynamicFrame.

" } }, - "com.amazonaws.glue#SessionCommand": { + "com.amazonaws.glue#Spigot": { "type": "structure", "members": { "Name": { - "target": "com.amazonaws.glue#NameString", + "target": "com.amazonaws.glue#NodeName", "traits": { - "smithy.api#documentation": "

Specifies the name of the SessionCommand.Can be 'glueetl' or 'gluestreaming'.

" + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} } }, - "PythonVersion": { - "target": "com.amazonaws.glue#PythonVersionString", + "Inputs": { + "target": "com.amazonaws.glue#OneInput", "traits": { - "smithy.api#documentation": "

Specifies the Python version. The Python version indicates the version supported for jobs of type Spark.

" + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} + } + }, + "Path": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

A path in Amazon S3 where the transform will write a subset of records from the dataset to a JSON file in an Amazon S3 bucket.

", + "smithy.api#required": {} + } + }, + "Topk": { + "target": "com.amazonaws.glue#Topk", + "traits": { + "smithy.api#documentation": "

Specifies a number of records to write starting from the beginning of the dataset.

" + } + }, + "Prob": { + "target": "com.amazonaws.glue#Prob", + "traits": { + "smithy.api#documentation": "

The probability (a decimal value with a maximum value of 1) of picking any given record. A value of 1 indicates that each row read from the dataset should be included in the sample output.

" } } }, "traits": { - "smithy.api#documentation": "

The SessionCommand that runs the job.

" - } - }, - "com.amazonaws.glue#SessionIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.glue#NameString" - } - }, - "com.amazonaws.glue#SessionList": { - "type": "list", - "member": { - "target": "com.amazonaws.glue#Session" - } - }, - "com.amazonaws.glue#SessionStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "PROVISIONING", - "name": "PROVISIONING" - }, - { - "value": "READY", - "name": "READY" - }, - { - "value": "FAILED", - "name": "FAILED" - }, - { - "value": "TIMEOUT", - "name": "TIMEOUT" - }, - { - "value": "STOPPING", - "name": "STOPPING" - }, - { - "value": "STOPPED", - "name": "STOPPED" - } - ] + "smithy.api#documentation": "

Specifies a transform that writes samples of the data to an Amazon S3 bucket.

" } }, - "com.amazonaws.glue#SkewedInfo": { + "com.amazonaws.glue#SplitFields": { "type": "structure", "members": { - "SkewedColumnNames": { - "target": "com.amazonaws.glue#NameStringList", + "Name": { + "target": "com.amazonaws.glue#NodeName", "traits": { - "smithy.api#documentation": "

A list of names of columns that contain skewed values.

" + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} } }, - "SkewedColumnValues": { - "target": "com.amazonaws.glue#ColumnValueStringList", + "Inputs": { + "target": "com.amazonaws.glue#OneInput", "traits": { - "smithy.api#documentation": "

A list of values that appear so frequently as to be considered\n skewed.

" + "smithy.api#documentation": "

The data inputs identified by their node names.

", + "smithy.api#required": {} } }, - "SkewedColumnValueLocationMaps": { - "target": "com.amazonaws.glue#LocationMap", + "Paths": { + "target": "com.amazonaws.glue#GlueStudioPathList", "traits": { - "smithy.api#documentation": "

A mapping of skewed values to the columns that contain them.

" + "smithy.api#documentation": "

A JSON path to a variable in the data structure.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Specifies skewed values in a table. Skewed values are those that occur with very high\n frequency.

" - } - }, - "com.amazonaws.glue#Sort": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ASC", - "name": "ASCENDING" - }, - { - "value": "DESC", - "name": "DESCENDING" - } - ] - } - }, - "com.amazonaws.glue#SortCriteria": { - "type": "list", - "member": { - "target": "com.amazonaws.glue#SortCriterion" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1 - } + "smithy.api#documentation": "

Specifies a transform that splits data property keys into two DynamicFrames. The output is a collection of DynamicFrames: one with selected data property keys, and one with the remaining data property keys.

" } }, - "com.amazonaws.glue#SortCriterion": { + "com.amazonaws.glue#SqlAlias": { "type": "structure", "members": { - "FieldName": { - "target": "com.amazonaws.glue#ValueString", + "From": { + "target": "com.amazonaws.glue#NodeId", "traits": { - "smithy.api#documentation": "

The name of the field on which to sort.

" + "smithy.api#documentation": "

A table, or a column in a table.

", + "smithy.api#required": {} } }, - "Sort": { - "target": "com.amazonaws.glue#Sort", + "Alias": { + "target": "com.amazonaws.glue#EnclosedInStringPropertyWithQuote", "traits": { - "smithy.api#documentation": "

An ascending or descending sort.

" + "smithy.api#documentation": "

A temporary name given to a table, or a column in a table.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Specifies a field to sort by and a sort order.

" + "smithy.api#documentation": "

Represents a single entry in the list of values for SqlAliases.

" } }, - "com.amazonaws.glue#SortDirectionType": { + "com.amazonaws.glue#SqlAliases": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#SqlAlias" + } + }, + "com.amazonaws.glue#SqlQuery": { "type": "string", "traits": { - "smithy.api#enum": [ - { - "value": "DESCENDING", - "name": "DESCENDING" - }, - { - "value": "ASCENDING", - "name": "ASCENDING" - } - ] + "smithy.api#pattern": "^([\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\s])*$" } }, "com.amazonaws.glue#StartBlueprintRun": { @@ -19373,6 +23247,25 @@ "smithy.api#documentation": "

The batch condition that started the workflow run. Either the number of events in the batch size arrived,\n in which case the BatchSize member is non-zero, or the batch window expired, in which case the BatchWindow\n member is non-zero.

" } }, + "com.amazonaws.glue#StartingPosition": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "latest", + "name": "LATEST" + }, + { + "value": "trim_horizon", + "name": "TRIM_HORIZON" + }, + { + "value": "earliest", + "name": "EARLIEST" + } + ] + } + }, "com.amazonaws.glue#Statement": { "type": "structure", "members": { @@ -19856,6 +23749,26 @@ "smithy.api#documentation": "

Describes the physical storage of table data.

" } }, + "com.amazonaws.glue#StreamingDataPreviewOptions": { + "type": "structure", + "members": { + "PollingTime": { + "target": "com.amazonaws.glue#PollingTime", + "traits": { + "smithy.api#documentation": "

The polling time in milliseconds.

" + } + }, + "RecordPollingLimit": { + "target": "com.amazonaws.glue#PositiveLong", + "traits": { + "smithy.api#documentation": "

The limit to the number of records polled.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies options related to data preview for viewing a sample of your data.

" + } + }, "com.amazonaws.glue#StringColumnStatisticsData": { "type": "structure", "members": { @@ -20336,6 +24249,33 @@ } } }, + "com.amazonaws.glue#TargetFormat": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "json", + "name": "JSON" + }, + { + "value": "csv", + "name": "CSV" + }, + { + "value": "avro", + "name": "AVRO" + }, + { + "value": "orc", + "name": "ORC" + }, + { + "value": "parquet", + "name": "PARQUET" + } + ] + } + }, "com.amazonaws.glue#TaskRun": { "type": "structure", "members": { @@ -20601,6 +24541,16 @@ "com.amazonaws.glue#Token": { "type": "string" }, + "com.amazonaws.glue#Topk": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0, + "max": 100 + } + } + }, "com.amazonaws.glue#TotalSegmentsInteger": { "type": "integer", "traits": { @@ -21026,6 +24976,18 @@ "smithy.api#documentation": "

A structure used to provide information used to update a trigger. This object updates the\n previous trigger definition by overwriting it completely.

" } }, + "com.amazonaws.glue#TwoInputs": { + "type": "list", + "member": { + "target": "com.amazonaws.glue#NodeId" + }, + "traits": { + "smithy.api#length": { + "min": 2, + "max": 2 + } + } + }, "com.amazonaws.glue#TypeString": { "type": "string", "traits": { @@ -21066,6 +25028,50 @@ "target": "com.amazonaws.glue#UnfilteredPartition" } }, + "com.amazonaws.glue#Union": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the transform node.

", + "smithy.api#required": {} + } + }, + "Inputs": { + "target": "com.amazonaws.glue#TwoInputs", + "traits": { + "smithy.api#documentation": "

The node ID inputs to the transform.

", + "smithy.api#required": {} + } + }, + "UnionType": { + "target": "com.amazonaws.glue#UnionType", + "traits": { + "smithy.api#documentation": "

Indicates the type of Union transform.

\n\t\n\t

Specify ALL to join all rows from data sources to the resulting DynamicFrame. The resulting union does not remove duplicate rows.

\n\n

Specify DISTINCT to remove duplicate rows in the resulting DynamicFrame.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a transform that combines the rows from two or more datasets into a single result.

" + } + }, + "com.amazonaws.glue#UnionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ALL", + "name": "ALL" + }, + { + "value": "DISTINCT", + "name": "DISTINCT" + } + ] + } + }, "com.amazonaws.glue#UntagResource": { "type": "operation", "input": { @@ -21198,6 +25204,21 @@ } } }, + "com.amazonaws.glue#UpdateCatalogBehavior": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "UPDATE_IN_DATABASE", + "name": "UPDATE_IN_DATABASE" + }, + { + "value": "LOG", + "name": "LOG" + } + ] + } + }, "com.amazonaws.glue#UpdateClassifier": { "type": "operation", "input": { @@ -22595,6 +26616,32 @@ "com.amazonaws.glue#UpdatedTimestamp": { "type": "string" }, + "com.amazonaws.glue#UpsertRedshiftTargetOptions": { + "type": "structure", + "members": { + "TableLocation": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The physical location of the Redshift table.

" + } + }, + "ConnectionName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The name of the connection to use to write to Redshift.

" + } + }, + "UpsertKeys": { + "target": "com.amazonaws.glue#EnclosedInStringPropertiesMinOne", + "traits": { + "smithy.api#documentation": "

The keys used to determine whether to perform an update or insert.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The options to configure an upsert operation when writing to a Redshift target .

" + } + }, "com.amazonaws.glue#UriString": { "type": "string" }, diff --git a/codegen/sdk-codegen/aws-models/kms.json b/codegen/sdk-codegen/aws-models/kms.json index 6808c455634..7bf7edf0d02 100644 --- a/codegen/sdk-codegen/aws-models/kms.json +++ b/codegen/sdk-codegen/aws-models/kms.json @@ -601,7 +601,7 @@ "Operations": { "target": "com.amazonaws.kms#GrantOperationList", "traits": { - "smithy.api#documentation": "

A list of operations that the grant permits.

\n

This list must include only operations that are permitted in a grant. Also, the operation\n must be supported on the KMS key. For example, you cannot create a grant for a symmetric encryption KMS key that allows the Sign operation, or a grant for an asymmetric KMS key\n that allows the GenerateDataKey operation. If you try, KMS returns a\n ValidationError exception. For details, see Grant operations in the\n Key Management Service Developer Guide.

", + "smithy.api#documentation": "

A list of operations that the grant permits.

\n

This list must include only operations that are permitted in a grant. Also, the operation\n must be supported on the KMS key. For example, you cannot create a grant for a symmetric encryption KMS key that allows the Sign operation, or a grant for an\n asymmetric KMS key that allows the GenerateDataKey operation. If you try,\n KMS returns a ValidationError exception. For details, see Grant\n operations in the Key Management Service Developer Guide.

", "smithy.api#required": {} } }, @@ -683,7 +683,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a unique customer managed KMS key in your Amazon Web Services account and\n Region.

\n

In addition to the required parameters, you can use the optional parameters to specify a key policy, description, tags, and other useful elements for any key type.

\n \n

KMS is replacing the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

\n
\n\n \n

To create different types of KMS keys, use the following guidance:

\n\n
\n
Symmetric encryption KMS key
\n
\n

To create a symmetric encryption KMS key, you aren't required to specify any parameters. The default value for\n KeySpec, SYMMETRIC_DEFAULT, and the default value for\n KeyUsage, ENCRYPT_DECRYPT, create a symmetric encryption KMS key.

\n

If you need a key for basic encryption and decryption or you \n are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.

\n

\n
\n
Asymmetric KMS keys
\n
\n

To create an asymmetric KMS key, use the KeySpec parameter to specify\n the type of key material in the KMS key. Then, use the KeyUsage parameter\n to determine whether the KMS key will be used to encrypt and decrypt or sign and verify.\n You can't change these properties after the KMS key is created.

\n

Asymmetric KMS keys contain an RSA key pair or an Elliptic Curve (ECC) key pair. The private key in an asymmetric \n KMS key never leaves AWS KMS unencrypted. However, you can use the GetPublicKey operation to download the public key\n so it can be used outside of AWS KMS. KMS keys with RSA key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both). \n KMS keys with ECC key pairs can be used only to sign and verify messages. \n For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

\n
\n
HMAC KMS key
\n
\n

To create an HMAC KMS key, set the KeySpec parameter to a\n key spec value for HMAC KMS keys. Then set the KeyUsage parameter to\n GENERATE_VERIFY_MAC. You must set the key usage even though\n GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys.\n You can't change these properties after the KMS key is created.

\n

HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use\n HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

\n

HMAC KMS keys are not supported in all Amazon Web Services Regions. If you try to create an HMAC\n KMS key in an Amazon Web Services Region in which HMAC keys are not supported, the\n CreateKey operation returns an\n UnsupportedOperationException. For a list of Regions in which HMAC KMS keys\n are supported, see HMAC keys in\n KMS in the Key Management Service Developer Guide.

\n

\n
\n
Multi-Region primary keys
\n
Imported key material
\n
\n

To create a multi-Region primary key in the local Amazon Web Services Region,\n use the MultiRegion parameter with a value of True. To create\n a multi-Region replica key, that is, a KMS key with the same key ID\n and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its\n primary key to a replica key, use the UpdatePrimaryRegion\n operation.

\n

You can create multi-Region KMS keys for all supported KMS key types: symmetric\n encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric\n signing KMS keys. You can also create multi-Region keys with imported key material.\n However, you can't create multi-Region keys in a custom key store.

\n

This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

\n
\n
\n

To import your own key material, begin by creating a symmetric encryption KMS key with no key\n material. To do this, use the Origin parameter of CreateKey\n with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token, and use the public key to encrypt\n your key material. Then, use ImportKeyMaterial with your import token\n to import the key material. For step-by-step instructions, see Importing Key Material in the \n Key Management Service Developer Guide\n .

\n

This feature supports only symmetric encryption KMS keys, including multi-Region symmetric encryption KMS keys. You cannot import key\n material into any other type of KMS key.

\n

To create a multi-Region primary key with imported key material, use the\n Origin parameter of CreateKey with a value of\n EXTERNAL and the MultiRegion parameter with a value of\n True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

\n
\n
Custom key store
\n
\n

To create a symmetric encryption KMS key in a custom key store, use the\n CustomKeyStoreId parameter to specify the custom key store. You must also\n use the Origin parameter with a value of AWS_CLOUDHSM. The\n CloudHSM cluster that is associated with the custom key store must have at least two active\n HSMs in different Availability Zones in the Amazon Web Services Region.

\n

Custom key stores support only symmetric encryption KMS keys. You cannot create an\n HMAC KMS key or an asymmetric KMS key in a custom key store. For information about\n custom key stores in KMS see Custom key stores in KMS in\n the \n Key Management Service Developer Guide\n .

\n
\n
\n

\n Cross-account use: No. You cannot use this operation to\n create a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:CreateKey (IAM policy). To use the\n Tags parameter, kms:TagResource (IAM policy). For examples and information about related\n permissions, see Allow a user to create\n KMS keys in the Key Management Service Developer Guide.

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Creates a unique customer managed KMS key in your Amazon Web Services account and\n Region.

\n

In addition to the required parameters, you can use the optional parameters to specify a key policy, description, tags, and other useful elements for any key type.

\n \n

KMS is replacing the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

\n
\n\n

To create different types of KMS keys, use the following guidance:

\n\n
\n
Symmetric encryption KMS key
\n
\n

To create a symmetric encryption KMS key, you aren't required to specify any parameters. The default value for\n KeySpec, SYMMETRIC_DEFAULT, and the default value for\n KeyUsage, ENCRYPT_DECRYPT, create a symmetric encryption KMS key.

\n

If you need a key for basic encryption and decryption or you \n are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.

\n

\n
\n
Asymmetric KMS keys
\n
\n

To create an asymmetric KMS key, use the KeySpec parameter to specify\n the type of key material in the KMS key. Then, use the KeyUsage parameter\n to determine whether the KMS key will be used to encrypt and decrypt or sign and verify.\n You can't change these properties after the KMS key is created.

\n

Asymmetric KMS keys contain an RSA key pair or an Elliptic Curve (ECC) key pair. The private key in an asymmetric \n KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key\n so it can be used outside of KMS. KMS keys with RSA key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both). \n KMS keys with ECC key pairs can be used only to sign and verify messages. \n For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

\n
\n
HMAC KMS key
\n
\n

To create an HMAC KMS key, set the KeySpec parameter to a\n key spec value for HMAC KMS keys. Then set the KeyUsage parameter to\n GENERATE_VERIFY_MAC. You must set the key usage even though\n GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys.\n You can't change these properties after the KMS key is created.

\n

HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use\n HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

\n

HMAC KMS keys are not supported in all Amazon Web Services Regions. If you try to create an HMAC\n KMS key in an Amazon Web Services Region in which HMAC keys are not supported, the\n CreateKey operation returns an\n UnsupportedOperationException. For a list of Regions in which HMAC KMS keys\n are supported, see HMAC keys in\n KMS in the Key Management Service Developer Guide.

\n

\n
\n
Multi-Region primary keys
\n
Imported key material
\n
\n

To create a multi-Region primary key in the local Amazon Web Services Region,\n use the MultiRegion parameter with a value of True. To create\n a multi-Region replica key, that is, a KMS key with the same key ID\n and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its\n primary key to a replica key, use the UpdatePrimaryRegion\n operation.

\n

You can create multi-Region KMS keys for all supported KMS key types: symmetric\n encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric\n signing KMS keys. You can also create multi-Region keys with imported key material.\n However, you can't create multi-Region keys in a custom key store.

\n

This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

\n
\n
\n

To import your own key material, begin by creating a symmetric encryption KMS key with no key\n material. To do this, use the Origin parameter of CreateKey\n with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token, and use the public key to encrypt\n your key material. Then, use ImportKeyMaterial with your import token\n to import the key material. For step-by-step instructions, see Importing Key Material in the \n Key Management Service Developer Guide\n .

\n

This feature supports only symmetric encryption KMS keys, including multi-Region symmetric encryption KMS keys. You cannot import key\n material into any other type of KMS key.

\n

To create a multi-Region primary key with imported key material, use the\n Origin parameter of CreateKey with a value of\n EXTERNAL and the MultiRegion parameter with a value of\n True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

\n
\n
Custom key store
\n
\n

To create a symmetric encryption KMS key in a custom key store, use the\n CustomKeyStoreId parameter to specify the custom key store. You must also\n use the Origin parameter with a value of AWS_CLOUDHSM. The\n CloudHSM cluster that is associated with the custom key store must have at least two active\n HSMs in different Availability Zones in the Amazon Web Services Region.

\n

Custom key stores support only symmetric encryption KMS keys. You cannot create an\n HMAC KMS key or an asymmetric KMS key in a custom key store. For information about\n custom key stores in KMS see Custom key stores in KMS in\n the \n Key Management Service Developer Guide\n .

\n
\n
\n

\n Cross-account use: No. You cannot use this operation to\n create a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:CreateKey (IAM policy). To use the\n Tags parameter, kms:TagResource (IAM policy). For examples and information about related\n permissions, see Allow a user to create\n KMS keys in the Key Management Service Developer Guide.

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#CreateKeyRequest": { @@ -692,7 +692,7 @@ "Policy": { "target": "com.amazonaws.kms#PolicyType", "traits": { - "smithy.api#documentation": "

The key policy to attach to the KMS key.

\n

If you provide a key policy, it must meet the following criteria:

\n \n

If you do not provide a key policy, KMS attaches a default key policy to the KMS key.\n For more information, see Default Key Policy in the\n Key Management Service Developer Guide.

\n

The key policy size quota is 32 kilobytes (32768 bytes).

\n

For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the \n Identity and Access Management User Guide\n .

" + "smithy.api#documentation": "

The key policy to attach to the KMS key. If you do not specify a key policy, KMS attaches a default key policy to the KMS key.\n For more information, see Default key policy in the\n Key Management Service Developer Guide.

\n

If you provide a key policy, it must meet the following criteria:

\n \n \n

A key policy document must conform to the following rules.

\n \n

For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the \n Identity and Access Management User Guide\n .

" } }, "Description": { @@ -704,7 +704,7 @@ "KeyUsage": { "target": "com.amazonaws.kms#KeyUsageType", "traits": { - "smithy.api#documentation": "

Determines the cryptographic operations for which you can use the KMS key. The default value is\n ENCRYPT_DECRYPT. This parameter is optional when you are creating a symmetric\n encryption KMS key; otherwise, it is required. You\n can't change the KeyUsage value after the KMS key is created.

\n

Select only one valid value.

\n " + "smithy.api#documentation": "

Determines the cryptographic operations for which you can use the KMS key. The default value is\n ENCRYPT_DECRYPT. This parameter is optional when you are creating a symmetric\n encryption KMS key; otherwise, it is required. You\n can't change the KeyUsage value after the KMS key is created.

\n

Select only one valid value.

\n " } }, "CustomerMasterKeySpec": { @@ -719,7 +719,7 @@ "KeySpec": { "target": "com.amazonaws.kms#KeySpec", "traits": { - "smithy.api#documentation": "

Specifies the type of KMS key to create. The default value,\n SYMMETRIC_DEFAULT, creates a KMS key with a 256-bit symmetric key for encryption\n and decryption. For help choosing a key spec for your KMS key, see Choosing a KMS key type in\n the \n Key Management Service Developer Guide\n .

\n

The KeySpec determines whether the KMS key contains a symmetric key or an\n asymmetric key pair. It also determines the algorithms that the KMS key supports. You can't\n change the KeySpec after the KMS key is created. To further restrict the\n algorithms that can be used with the KMS key, use a condition key in its key policy or IAM\n policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm or kms:Signing Algorithm in the \n Key Management Service Developer Guide\n .

\n \n

\n Amazon Web Services services that\n are integrated with KMS use symmetric encryption KMS keys to protect your data.\n These services do not support asymmetric KMS keys or HMAC KMS keys.

\n
\n

KMS supports the following key specs for KMS keys:

\n " + "smithy.api#documentation": "

Specifies the type of KMS key to create. The default value,\n SYMMETRIC_DEFAULT, creates a KMS key with a 256-bit symmetric key for encryption\n and decryption. For help choosing a key spec for your KMS key, see Choosing a KMS key type in the \n Key Management Service Developer Guide\n .

\n

The KeySpec determines whether the KMS key contains a symmetric key or an\n asymmetric key pair. It also determines the cryptographic algorithms that the KMS key supports. You can't\n change the KeySpec after the KMS key is created.\n To further restrict the algorithms that can be used with the KMS key, use a condition key in\n its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm or kms:Signing Algorithm in the \n Key Management Service Developer Guide\n .

\n \n

\n Amazon Web Services services that\n are integrated with KMS use symmetric encryption KMS keys to protect your data.\n These services do not support asymmetric KMS keys or HMAC KMS keys.

\n
\n

KMS supports the following key specs for KMS keys:

\n " } }, "Origin": { @@ -749,7 +749,7 @@ "MultiRegion": { "target": "com.amazonaws.kms#NullableBooleanType", "traits": { - "smithy.api#documentation": "

Creates a multi-Region primary key that you can replicate into other Amazon Web Services Regions. You\n cannot change this value after you create the KMS key.

\n

For a multi-Region key, set this parameter to True. For a single-Region KMS\n key, omit this parameter or set it to False. The default value is\n False.

\n

This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

This value creates a primary key, not a replica. To create a\n replica key, use the ReplicateKey operation.

\n

You can create a symmetric or asymmetric multi-Region key, and you can create a\n multi-Region key with imported key material. However, you cannot create a multi-Region key in\n a custom key store.

" + "smithy.api#documentation": "

Creates a multi-Region primary key that you can replicate into other Amazon Web Services Regions. You\n cannot change this value after you create the KMS key.

\n

For a multi-Region key, set this parameter to True. For a single-Region KMS\n key, omit this parameter or set it to False. The default value is\n False.

\n

This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

This value creates a primary key, not a replica. To create a\n replica key, use the ReplicateKey operation.

\n

You can create a multi-Region version of a symmetric encryption KMS key, an HMAC KMS key, an asymmetric KMS key, or a\n KMS key with imported key material. However, you cannot create a multi-Region key in\n a custom key store.

" } } } @@ -1059,7 +1059,7 @@ } ], "traits": { - "smithy.api#documentation": "

Decrypts ciphertext that was encrypted by a KMS key using any of the following\n operations:

\n \n

You can use this operation to decrypt ciphertext that was encrypted under a symmetric encryption KMS key or an\n asymmetric encryption KMS key. When the KMS key is asymmetric, you must specify the KMS key and the\n encryption algorithm that was used to encrypt the ciphertext. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

The Decrypt operation also decrypts ciphertext that was encrypted outside of KMS by the\n public key in an KMS asymmetric KMS key. However, it cannot decrypt symmetric ciphertext produced by\n other libraries, such as the Amazon Web Services\n Encryption SDK or Amazon S3 client-side encryption.\n These libraries return a ciphertext format that is incompatible with KMS.

\n

If the ciphertext was encrypted under a symmetric encryption KMS key, the KeyId\n parameter is optional. KMS can get this information from metadata that it adds to the\n symmetric ciphertext blob. This feature adds durability to your implementation by ensuring\n that authorized users can decrypt ciphertext decades after it was encrypted, even if they've\n lost track of the key ID. However, specifying the KMS key is always recommended as a best\n practice. When you use the KeyId parameter to specify a KMS key, KMS only uses\n the KMS key you specify. If the ciphertext was encrypted under a different KMS key, the\n Decrypt operation fails. This practice ensures that you use the KMS key that\n you intend.

\n

Whenever possible, use key policies to give users permission to call the\n Decrypt operation on a particular KMS key, instead of using IAM policies.\n Otherwise, you might create an IAM user policy that gives the user Decrypt\n permission on all KMS keys. This user could decrypt ciphertext that was encrypted by KMS keys\n in other accounts if the key policy for the cross-account KMS key permits it. If you must use\n an IAM policy for Decrypt permissions, limit the user to particular KMS keys or\n particular trusted accounts. For details, see Best practices for IAM\n policies in the Key Management Service Developer Guide.

\n

Applications in Amazon Web Services Nitro Enclaves can call this operation by using the Amazon Web Services Nitro Enclaves Development Kit. For information about the supporting parameters, see How Amazon Web Services Nitro Enclaves use KMS in the Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Decrypt (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Decrypts ciphertext that was encrypted by a KMS key using any of the following\n operations:

\n \n

You can use this operation to decrypt ciphertext that was encrypted under a symmetric encryption KMS key or an\n asymmetric encryption KMS key. When the KMS key is asymmetric, you must specify the KMS key and the\n encryption algorithm that was used to encrypt the ciphertext. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

The Decrypt operation also decrypts ciphertext that was encrypted outside of KMS by the\n public key in an KMS asymmetric KMS key. However, it cannot decrypt ciphertext produced by\n other libraries, such as the Amazon Web Services\n Encryption SDK or Amazon S3 client-side encryption.\n These libraries return a ciphertext format that is incompatible with KMS.

\n

If the ciphertext was encrypted under a symmetric encryption KMS key, the KeyId\n parameter is optional. KMS can get this information from metadata that it adds to the\n symmetric ciphertext blob. This feature adds durability to your implementation by ensuring\n that authorized users can decrypt ciphertext decades after it was encrypted, even if they've\n lost track of the key ID. However, specifying the KMS key is always recommended as a best\n practice. When you use the KeyId parameter to specify a KMS key, KMS only uses\n the KMS key you specify. If the ciphertext was encrypted under a different KMS key, the\n Decrypt operation fails. This practice ensures that you use the KMS key that\n you intend.

\n

Whenever possible, use key policies to give users permission to call the\n Decrypt operation on a particular KMS key, instead of using IAM policies.\n Otherwise, you might create an IAM user policy that gives the user Decrypt\n permission on all KMS keys. This user could decrypt ciphertext that was encrypted by KMS keys\n in other accounts if the key policy for the cross-account KMS key permits it. If you must use\n an IAM policy for Decrypt permissions, limit the user to particular KMS keys or\n particular trusted accounts. For details, see Best practices for IAM\n policies in the Key Management Service Developer Guide.

\n

Applications in Amazon Web Services Nitro Enclaves can call this operation by using the Amazon Web Services Nitro Enclaves Development Kit. For information about the supporting parameters, see How Amazon Web Services Nitro Enclaves use KMS in the Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Decrypt (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#DecryptRequest": { @@ -1087,7 +1087,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Specifies the KMS key that KMS uses to decrypt the ciphertext.

\n \n

Enter a key ID of the KMS\n key that was used to encrypt the ciphertext. If you identify a different KMS key, the Decrypt operation throws an IncorrectKeyException.

\n\n

This parameter is required only when the ciphertext was encrypted under an asymmetric KMS\n key. If you used a symmetric encryption KMS key, KMS can get the KMS key from metadata that it adds to\n the symmetric ciphertext blob. However, it is always recommended as a best practice. This\n practice ensures that you use the KMS key that you intend.

\n \n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n \n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + "smithy.api#documentation": "

Specifies the KMS key that KMS uses to decrypt the ciphertext.

\n

Enter a key ID of the KMS\n key that was used to encrypt the ciphertext. If you identify a different KMS key, the Decrypt operation throws an IncorrectKeyException.

\n

This parameter is required only when the ciphertext was encrypted under an asymmetric KMS\n key. If you used a symmetric encryption KMS key, KMS can get the KMS key from metadata that it adds to\n the symmetric ciphertext blob. However, it is always recommended as a best practice. This\n practice ensures that you use the KMS key that you intend.

\n \n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n \n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" } }, "EncryptionAlgorithm": { @@ -1474,7 +1474,7 @@ } ], "traits": { - "smithy.api#documentation": "

Disables automatic\n rotation of the key material for the specified symmetric encryption KMS key.

\n

You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:DisableKeyRotation (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Disables automatic\n rotation of the key material of the specified symmetric encryption KMS key.

\n

Automatic key rotation is supported only on symmetric encryption KMS keys.\n You cannot enable or disable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. The key rotation status of these KMS keys is always false.\nTo enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

\n

You can enable (EnableKeyRotation) and disable automatic rotation of the\n key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not\n configurable. KMS always rotates the key material for every year. Rotation of Amazon Web Services owned KMS\n keys varies.

\n \n

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every\n three years to every year. For details, see EnableKeyRotation.

\n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:DisableKeyRotation (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#DisableKeyRotationRequest": { @@ -1621,7 +1621,7 @@ } ], "traits": { - "smithy.api#documentation": "

Enables automatic rotation\n of the key material for the specified symmetric encryption KMS key.

\n

You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:EnableKeyRotation (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Enables automatic rotation\n of the key material of the specified symmetric encryption KMS key.

\n

When you enable automatic rotation of acustomer managed KMS key, KMS\n rotates the key material of the KMS key one year (approximately 365 days) from the enable date\n and every year thereafter. You can monitor rotation of the key material for your KMS keys in\n CloudTrail and Amazon CloudWatch. To disable rotation of the key material in a customer\n managed KMS key, use the DisableKeyRotation operation.

\n

Automatic key rotation is supported only on symmetric encryption KMS keys.\n You cannot enable or disable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. The key rotation status of these KMS keys is always false.\nTo enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

\n

You cannot enable or disable automatic rotation Amazon Web Services managed KMS keys. KMS\n always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS\n keys varies.

\n \n

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three\n years (approximately 1,095 days) to every year (approximately 365 days).

\n

New Amazon Web Services managed keys are automatically rotated one year after they\n are created, and approximately every year thereafter.

\n

Existing Amazon Web Services managed keys are automatically rotated one year after\n their most recent rotation, and every year thereafter.

\n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:EnableKeyRotation (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#EnableKeyRotationRequest": { @@ -1630,7 +1630,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Identifies a symmetric encryption KMS key. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n \n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

Identifies a symmetric encryption KMS key. You cannot enable or disable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. The key rotation status of these KMS keys is always false.\nTo enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n \n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } } @@ -1671,7 +1671,7 @@ } ], "traits": { - "smithy.api#documentation": "

Encrypts plaintext of up to 4,096 bytes using a KMS key. You can use a symmetric or\n asymmetric KMS key with a KeyUsage of ENCRYPT_DECRYPT.

\n

You can use this operation to encrypt small amounts of arbitrary data, such as a personal identifier or\n database password, or other sensitive information. You don't need to use the Encrypt operation to encrypt a data key. The GenerateDataKey and GenerateDataKeyPair operations return a\n plaintext data key and an encrypted copy of that data key.

\n\n

If you use a symmetric encryption KMS key, you can use an encryption context to add additional\n security to your encryption operation. If you specify an EncryptionContext when\n encrypting data, you must specify the same encryption context (a case-sensitive exact match)\n when decrypting the data. Otherwise, the request to decrypt fails with an\n InvalidCiphertextException. For more information, see Encryption\n Context in the Key Management Service Developer Guide.

\n

If you specify an asymmetric KMS key, you must also specify the encryption algorithm. The\n algorithm must be compatible with the KMS key type.

\n \n

When you use an asymmetric KMS key to encrypt or reencrypt data, be sure to record the KMS key and encryption algorithm that you choose. You will be required to provide the same KMS key and encryption algorithm when you decrypt the data. If the KMS key and algorithm do not match the values used to encrypt the data, the decrypt operation fails.

\n

You are not required to supply the key ID and encryption algorithm when you decrypt with symmetric encryption KMS keys because KMS stores this information in the ciphertext blob. KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.

\n
\n\n\n

The maximum size of the data that you can encrypt varies with the type of KMS key and the\n encryption algorithm that you choose.

\n \n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes.\n To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Encrypt (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Encrypts plaintext of up to 4,096 bytes using a KMS key. You can use a symmetric or\n asymmetric KMS key with a KeyUsage of ENCRYPT_DECRYPT.

\n

You can use this operation to encrypt small amounts of arbitrary data, such as a personal identifier or\n database password, or other sensitive information. You don't need to use the Encrypt operation to encrypt a data key. The GenerateDataKey and GenerateDataKeyPair operations return a\n plaintext data key and an encrypted copy of that data key.

\n\n

If you use a symmetric encryption KMS key, you can use an encryption context to add additional\n security to your encryption operation. If you specify an EncryptionContext when\n encrypting data, you must specify the same encryption context (a case-sensitive exact match)\n when decrypting the data. Otherwise, the request to decrypt fails with an\n InvalidCiphertextException. For more information, see Encryption\n Context in the Key Management Service Developer Guide.

\n

If you specify an asymmetric KMS key, you must also specify the encryption algorithm. The\n algorithm must be compatible with the KMS key type.

\n \n

When you use an asymmetric KMS key to encrypt or reencrypt data, be sure to record the KMS key and encryption algorithm that you choose. You will be required to provide the same KMS key and encryption algorithm when you decrypt the data. If the KMS key and algorithm do not match the values used to encrypt the data, the decrypt operation fails.

\n

You are not required to supply the key ID and encryption algorithm when you decrypt with symmetric encryption KMS keys because KMS stores this information in the ciphertext blob. KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.

\n
\n\n\n

The maximum size of the data that you can encrypt varies with the type of KMS key and the\n encryption algorithm that you choose.

\n \n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes.\n To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Encrypt (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#EncryptRequest": { @@ -1844,7 +1844,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a unique symmetric data key for use outside of KMS. This operation returns a\n plaintext copy of the data key and a copy that is encrypted under a symmetric encryption KMS\n key that you specify. The bytes in the plaintext key are random; they are not related to the caller or the KMS\n key. You can use the plaintext key to encrypt your data outside of KMS and store the\n encrypted data key with the encrypted data.

\n\n

To generate a data key, specify the symmetric encryption KMS key that will be used to\n encrypt the data key. You cannot use an asymmetric KMS key to encrypt data keys. To get the\n type of your KMS key, use the DescribeKey operation. You must also specify\n the length of the data key. Use either the KeySpec or NumberOfBytes\n parameters (but not both). For 128-bit and 256-bit data keys, use the KeySpec\n parameter.

\n\n

To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To generate an asymmetric data key pair, use\n the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext operation. To get a cryptographically secure\n random byte string, use GenerateRandom.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

Applications in Amazon Web Services Nitro Enclaves can call this operation by using the Amazon Web Services Nitro Enclaves Development Kit. For information about the supporting parameters, see How Amazon Web Services Nitro Enclaves use KMS in the Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n How to use your data\n key\n

\n

We recommend that you use the following pattern to encrypt data locally in your\n application. You can write your own code or use a client-side encryption library, such as the\n Amazon Web Services Encryption SDK, the\n Amazon DynamoDB Encryption Client,\n or Amazon S3\n client-side encryption to do these tasks for you.

\n

To encrypt data outside of KMS:

\n
    \n
  1. \n

    Use the GenerateDataKey operation to get a data key.

    \n
  2. \n
  3. \n

    Use the plaintext data key (in the Plaintext field of the response) to\n encrypt your data outside of KMS. Then erase the plaintext data key from memory.

    \n
  4. \n
  5. \n

    Store the encrypted data key (in the CiphertextBlob field of the\n response) with the encrypted data.

    \n
  6. \n
\n

To decrypt data outside of KMS:

\n
    \n
  1. \n

    Use the Decrypt operation to decrypt the encrypted data key. The\n operation returns a plaintext copy of the data key.

    \n
  2. \n
  3. \n

    Use the plaintext data key to decrypt data outside of KMS, then erase the plaintext\n data key from memory.

    \n
  4. \n
\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKey (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Returns a unique symmetric data key for use outside of KMS. This operation returns a\n plaintext copy of the data key and a copy that is encrypted under a symmetric encryption KMS\n key that you specify. The bytes in the plaintext key are random; they are not related to the caller or the KMS\n key. You can use the plaintext key to encrypt your data outside of KMS and store the encrypted\n data key with the encrypted data.

\n\n

To generate a data key, specify the symmetric encryption KMS key that will be used to\n encrypt the data key. You cannot use an asymmetric KMS key to encrypt data keys. To get the\n type of your KMS key, use the DescribeKey operation. You must also specify the length of\n the data key. Use either the KeySpec or NumberOfBytes parameters\n (but not both). For 128-bit and 256-bit data keys, use the KeySpec parameter.

\n\n

To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To generate an asymmetric data key pair, use\n the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext operation. To get a cryptographically secure\n random byte string, use GenerateRandom.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

Applications in Amazon Web Services Nitro Enclaves can call this operation by using the Amazon Web Services Nitro Enclaves Development Kit. For information about the supporting parameters, see How Amazon Web Services Nitro Enclaves use KMS in the Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n How to use your data\n key\n

\n

We recommend that you use the following pattern to encrypt data locally in your\n application. You can write your own code or use a client-side encryption library, such as the\n Amazon Web Services Encryption SDK, the\n Amazon DynamoDB Encryption Client,\n or Amazon S3\n client-side encryption to do these tasks for you.

\n

To encrypt data outside of KMS:

\n
    \n
  1. \n

    Use the GenerateDataKey operation to get a data key.

    \n
  2. \n
  3. \n

    Use the plaintext data key (in the Plaintext field of the response) to\n encrypt your data outside of KMS. Then erase the plaintext data key from memory.

    \n
  4. \n
  5. \n

    Store the encrypted data key (in the CiphertextBlob field of the\n response) with the encrypted data.

    \n
  6. \n
\n

To decrypt data outside of KMS:

\n
    \n
  1. \n

    Use the Decrypt operation to decrypt the encrypted data key. The\n operation returns a plaintext copy of the data key.

    \n
  2. \n
  3. \n

    Use the plaintext data key to decrypt data outside of KMS, then erase the plaintext\n data key from memory.

    \n
  4. \n
\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKey (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#GenerateDataKeyPair": { @@ -1885,7 +1885,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a unique asymmetric data key pair for use outside of KMS. This operation returns\n a plaintext public key, a plaintext private key, and a copy of the private key that is\n encrypted under the symmetric encryption KMS key you specify. You can use the data key pair to\n perform asymmetric cryptography and implement digital signatures outside of KMS. The bytes\n in the keys are random; they not related to the caller or to the KMS key that is used to encrypt the\n private key.

\n\n

You can use the public key that GenerateDataKeyPair returns to encrypt data\n or verify a signature outside of KMS. Then, store the encrypted private key with the data.\n When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key.

\n\n

To generate a data key pair, you must specify a symmetric encryption KMS key to encrypt\n the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a\n custom key store. To get the type and origin of your KMS key, use the DescribeKey operation.

\n

Use the KeyPairSpec parameter to choose an RSA or Elliptic Curve (ECC) data\n key pair. KMS recommends that your use ECC key pairs for signing, and use RSA key pairs for\n either encryption or signing, but not both. However, KMS cannot enforce any restrictions on\n the use of data key pairs outside of KMS.

\n\n

If you are using the data key pair to encrypt data, or for any operation where you don't\n immediately need a private key, consider using the GenerateDataKeyPairWithoutPlaintext operation.\n GenerateDataKeyPairWithoutPlaintext returns a plaintext public key and an\n encrypted private key, but omits the plaintext private key that you need only to decrypt\n ciphertext or sign a message. Later, when you need to decrypt the data or sign a message, use\n the Decrypt operation to decrypt the encrypted private key in the data key\n pair.

\n\n

\n GenerateDataKeyPair returns a unique data key pair for each request. The\n bytes in the keys are random; they are not related to the caller or the KMS key that is used to encrypt the\n private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as specified in\n RFC 5280. The private key is a\n DER-encoded PKCS8 PrivateKeyInfo, as specified in RFC 5958.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKeyPair (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Returns a unique asymmetric data key pair for use outside of KMS. This operation returns\n a plaintext public key, a plaintext private key, and a copy of the private key that is\n encrypted under the symmetric encryption KMS key you specify. You can use the data key pair to\n perform asymmetric cryptography and implement digital signatures outside of KMS. The bytes\n in the keys are random; they not related to the caller or to the KMS key that is used to encrypt the\n private key.

\n\n

You can use the public key that GenerateDataKeyPair returns to encrypt data\n or verify a signature outside of KMS. Then, store the encrypted private key with the data.\n When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key.

\n\n

To generate a data key pair, you must specify a symmetric encryption KMS key to encrypt\n the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a\n custom key store. To get the type and origin of your KMS key, use the DescribeKey\n operation.

\n

Use the KeyPairSpec parameter to choose an RSA or Elliptic Curve (ECC) data\n key pair. KMS recommends that your use ECC key pairs for signing, and use RSA key pairs for\n either encryption or signing, but not both. However, KMS cannot enforce any restrictions on\n the use of data key pairs outside of KMS.

\n\n

If you are using the data key pair to encrypt data, or for any operation where you don't\n immediately need a private key, consider using the GenerateDataKeyPairWithoutPlaintext operation.\n GenerateDataKeyPairWithoutPlaintext returns a plaintext public key and an\n encrypted private key, but omits the plaintext private key that you need only to decrypt\n ciphertext or sign a message. Later, when you need to decrypt the data or sign a message, use\n the Decrypt operation to decrypt the encrypted private key in the data key\n pair.

\n\n

\n GenerateDataKeyPair returns a unique data key pair for each request. The\n bytes in the keys are random; they are not related to the caller or the KMS key that is used to encrypt the\n private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as specified in\n RFC 5280. The private key is a\n DER-encoded PKCS8 PrivateKeyInfo, as specified in RFC 5958.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKeyPair (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#GenerateDataKeyPairRequest": { @@ -1992,7 +1992,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a unique asymmetric data key pair for use outside of KMS. This operation returns\n a plaintext public key and a copy of the private key that is encrypted under the symmetric\n encryption KMS key you specify. Unlike GenerateDataKeyPair, this operation\n does not return a plaintext private key. The bytes in the keys are random; they are not related to the caller\n or to the KMS key that is used to encrypt the private key.

\n

You can use the public key that GenerateDataKeyPairWithoutPlaintext returns\n to encrypt data or verify a signature outside of KMS. Then, store the encrypted private key\n with the data. When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key.

\n

To generate a data key pair, you must specify a symmetric encryption KMS key to encrypt\n the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a\n custom key store. To get the type and origin of your KMS key, use the DescribeKey operation.

\n

Use the KeyPairSpec parameter to choose an RSA or Elliptic Curve (ECC) data\n key pair. KMS recommends that your use ECC key pairs for signing, and use RSA key pairs for\n either encryption or signing, but not both. However, KMS cannot enforce any restrictions on\n the use of data key pairs outside of KMS.

\n

\n GenerateDataKeyPairWithoutPlaintext returns a unique data key pair for each\n request. The bytes in the key are not related to the caller or KMS key that is used to encrypt\n the private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as specified in\n RFC 5280.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKeyPairWithoutPlaintext (key\n policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Returns a unique asymmetric data key pair for use outside of KMS. This operation returns\n a plaintext public key and a copy of the private key that is encrypted under the symmetric\n encryption KMS key you specify. Unlike GenerateDataKeyPair, this operation\n does not return a plaintext private key. The bytes in the keys are random; they are not related to the caller\n or to the KMS key that is used to encrypt the private key.

\n

You can use the public key that GenerateDataKeyPairWithoutPlaintext returns\n to encrypt data or verify a signature outside of KMS. Then, store the encrypted private key\n with the data. When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key.

\n

To generate a data key pair, you must specify a symmetric encryption KMS key to encrypt\n the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a\n custom key store. To get the type and origin of your KMS key, use the DescribeKey\n operation.

\n

Use the KeyPairSpec parameter to choose an RSA or Elliptic Curve (ECC) data\n key pair. KMS recommends that your use ECC key pairs for signing, and use RSA key pairs for\n either encryption or signing, but not both. However, KMS cannot enforce any restrictions on\n the use of data key pairs outside of KMS.

\n

\n GenerateDataKeyPairWithoutPlaintext returns a unique data key pair for each\n request. The bytes in the key are not related to the caller or KMS key that is used to encrypt\n the private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as specified in\n RFC 5280.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKeyPairWithoutPlaintext (key\n policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#GenerateDataKeyPairWithoutPlaintextRequest": { @@ -2007,7 +2007,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Specifies the symmetric encryption KMS key that encrypts the private key in the data key\n pair. You cannot specify an asymmetric KMS key or a KMS key in a custom key store. To get the\n type and origin of your KMS key, use the DescribeKey operation.

\n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n \n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

", + "smithy.api#documentation": "

Specifies the symmetric encryption KMS key that encrypts the private key in the data key\n pair. You cannot specify an asymmetric KMS key or a KMS key in a custom key store. To get the\n type and origin of your KMS key, use the DescribeKey operation.\n

\n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n \n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

", "smithy.api#required": {} } }, @@ -2149,7 +2149,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a unique symmetric data key for use outside of KMS. This operation returns a\n data key that is encrypted under a symmetric encryption KMS key that you specify. The bytes in\n the key are random; they are not related to the caller or to the KMS key.

\n

\n GenerateDataKeyWithoutPlaintext is identical to the GenerateDataKey operation except that it does not return a plaintext copy of the\n data key.

\n

This operation is useful for systems that need to encrypt data at some point, but not\n immediately. When you need to encrypt the data, you call the Decrypt\n operation on the encrypted copy of the key. It's also useful in distributed systems with\n different levels of trust. For example, you might store encrypted data in containers. One\n component of your system creates new containers and stores an encrypted data key with each\n container. Then, a different component puts the data into the containers. That component first\n decrypts the data key, uses the plaintext data key to encrypt data, puts the encrypted data\n into the container, and then destroys the plaintext data key. In this system, the component\n that creates the containers never sees the plaintext data key.

\n

To request an asymmetric data key pair, use the GenerateDataKeyPair or\n GenerateDataKeyPairWithoutPlaintext operations.

\n\n

To generate a data key, you must specify the symmetric encryption KMS key that is used to\n encrypt the data key. You cannot use an asymmetric KMS key or a key in a custom key store to generate a data key. To get the\n type of your KMS key, use the DescribeKey operation.

\n

If the operation succeeds, you will find the encrypted copy of the data key in the\n CiphertextBlob field.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKeyWithoutPlaintext (key\n policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Returns a unique symmetric data key for use outside of KMS. This operation returns a\n data key that is encrypted under a symmetric encryption KMS key that you specify. The bytes in\n the key are random; they are not related to the caller or to the KMS key.

\n

\n GenerateDataKeyWithoutPlaintext is identical to the GenerateDataKey operation except that it does not return a plaintext copy of the\n data key.

\n

This operation is useful for systems that need to encrypt data at some point, but not\n immediately. When you need to encrypt the data, you call the Decrypt\n operation on the encrypted copy of the key.

\n

It's also useful in distributed systems with different levels of trust. For example, you\n might store encrypted data in containers. One component of your system creates new containers\n and stores an encrypted data key with each container. Then, a different component puts the\n data into the containers. That component first decrypts the data key, uses the plaintext data\n key to encrypt data, puts the encrypted data into the container, and then destroys the\n plaintext data key. In this system, the component that creates the containers never sees the\n plaintext data key.

\n

To request an asymmetric data key pair, use the GenerateDataKeyPair or\n GenerateDataKeyPairWithoutPlaintext operations.

\n\n

To generate a data key, you must specify the symmetric encryption KMS key that is used to\n encrypt the data key. You cannot use an asymmetric KMS key or a key in a custom key store to generate a data key. To get the\n type of your KMS key, use the DescribeKey operation.

\n\n

If the operation succeeds, you will find the encrypted copy of the data key in the\n CiphertextBlob field.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKeyWithoutPlaintext (key\n policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#GenerateDataKeyWithoutPlaintextRequest": { @@ -2237,7 +2237,7 @@ } ], "traits": { - "smithy.api#documentation": "

Generates a hash-based message authentication code (HMAC) for a message using an HMAC KMS\n key and a MAC algorithm that the key supports. The MAC algorithm computes the HMAC for the\n message and the key as described in RFC 2104.

\n

You can use the HMAC that this operation generates with the VerifyMac\n operation to demonstrate that the original message has not changed. Also, because a secret key\n is used to create the hash, you can verify that the party that generated the hash has the\n required secret key. This operation is part of KMS support for HMAC KMS keys.\n For details, see HMAC keys in KMS in the \n Key Management Service Developer Guide\n .

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n

\n Required permissions: kms:GenerateMac (key policy)

\n

\n Related operations: VerifyMac\n

" + "smithy.api#documentation": "

Generates a hash-based message authentication code (HMAC) for a message using an HMAC KMS\n key and a MAC algorithm that the key supports. The MAC algorithm computes the HMAC for the\n message and the key as described in RFC 2104.

\n

You can use the HMAC that this operation generates with the VerifyMac\n operation to demonstrate that the original message has not changed. Also, because a secret key\n is used to create the hash, you can verify that the party that generated the hash has the\n required secret key. This operation is part of KMS support for HMAC KMS keys.\n For details, see HMAC keys in KMS in the \n Key Management Service Developer Guide\n .

\n \n

Best practices recommend that you limit the time during which any signing mechanism,\n including an HMAC, is effective. This deters an attack where the actor uses a signed\n message to establish validity repeatedly or long after the message is superseded. HMAC\n tags do not include a timestamp, but you can include a timestamp in the token or message\n to help you detect when its time to refresh the HMAC.

\n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n

\n Required permissions: kms:GenerateMac (key policy)

\n

\n Related operations: VerifyMac\n

" } }, "com.amazonaws.kms#GenerateMacRequest": { @@ -2437,7 +2437,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets a Boolean value that indicates whether automatic rotation of the key material is\n enabled for the specified KMS key.

\n

You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key. The key rotation status for these KMS keys is always\n false.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n \n

\n Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key\n ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GetKeyRotationStatus (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Gets a Boolean value that indicates whether automatic rotation of the key material is\n enabled for the specified KMS key.

\n

When you enable automatic rotation for customer managed KMS keys, KMS\n rotates the key material of the KMS key one year (approximately 365 days) from the enable date\n and every year thereafter. You can monitor rotation of the key material for your KMS keys in\n CloudTrail and Amazon CloudWatch.

\n

Automatic key rotation is supported only on symmetric encryption KMS keys.\n You cannot enable or disable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. The key rotation status of these KMS keys is always false.\nTo enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key..

\n

You can enable (EnableKeyRotation) and disable automatic rotation (DisableKeyRotation) of the key material in customer managed KMS keys. Key\n material rotation of Amazon Web Services managed KMS keys is not\n configurable. KMS always rotates the key material in Amazon Web Services managed KMS keys every year. The\n key rotation status for Amazon Web Services managed KMS keys is always true.

\n \n

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

\n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n \n

\n Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key\n ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GetKeyRotationStatus (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#GetKeyRotationStatusRequest": { @@ -2492,7 +2492,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the items you need to import key material into a symmetric encryption KMS key. For\n more information about importing key material into KMS, see Importing key material in the\n Key Management Service Developer Guide.

\n

This operation returns a public key and an import token. Use the public key to encrypt the\n symmetric key material. Store the import token to send with a subsequent ImportKeyMaterial request.

\n

You must specify the key ID of the symmetric encryption KMS key into which you will import\n key material. This KMS key's Origin must be EXTERNAL. You must also\n specify the wrapping algorithm and type of wrapping key (public key) that you will use to\n encrypt the key material. You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account.

\n

To import key material, you must use the public key and import token from the same\n response. These items are valid for 24 hours. The expiration date and time appear in the\n GetParametersForImport response. You cannot use an expired token in an ImportKeyMaterial request. If your key and token expire, send another\n GetParametersForImport request.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:GetParametersForImport (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Returns the items you need to import key material into a symmetric encryption KMS key. For\n more information about importing key material into KMS, see Importing key material\n in the Key Management Service Developer Guide.

\n

This operation returns a public key and an import token. Use the public key to encrypt the\n symmetric key material. Store the import token to send with a subsequent ImportKeyMaterial request.

\n

You must specify the key ID of the symmetric encryption KMS key into which you will import\n key material. This KMS key's Origin must be EXTERNAL. You must also\n specify the wrapping algorithm and type of wrapping key (public key) that you will use to\n encrypt the key material. You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account.

\n

To import key material, you must use the public key and import token from the same\n response. These items are valid for 24 hours. The expiration date and time appear in the\n GetParametersForImport response. You cannot use an expired token in an ImportKeyMaterial request. If your key and token expire, send another\n GetParametersForImport request.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:GetParametersForImport (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#GetParametersForImportRequest": { @@ -2908,7 +2908,7 @@ } ], "traits": { - "smithy.api#documentation": "

Imports key material into an existing symmetric encryption KMS key that was created\n without key material. After you successfully import key material into a KMS key, you can\n reimport the same key material into that KMS key, but you cannot import different\n key material.

\n

You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account. For more information about\n creating KMS keys with no key material and then importing key material, see Importing Key Material\n in the Key Management Service Developer Guide.

\n

Before using this operation, call GetParametersForImport. Its response\n includes a public key and an import token. Use the public key to encrypt the key material.\n Then, submit the import token from the same GetParametersForImport\n response.

\n

When calling this operation, you must specify the following values:

\n \n

When this operation is successful, the key state of the KMS key changes from\n PendingImport to Enabled, and you can use the KMS key.

\n

If this operation fails, use the exception to help determine the problem. If the error is\n related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the KMS key\n and repeat the import procedure. For help, see How To Import Key\n Material in the Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:ImportKeyMaterial (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Imports key material into an existing symmetric encryption KMS key that was created\n without key material. After you successfully import key material into a KMS key, you can\n reimport\n the same key material into that KMS key, but you cannot import different key\n material.

\n

You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account. For more information about creating KMS keys with no key material\n and then importing key material, see Importing Key Material in the\n Key Management Service Developer Guide.

\n

Before using this operation, call GetParametersForImport. Its response\n includes a public key and an import token. Use the public key to encrypt the key material.\n Then, submit the import token from the same GetParametersForImport\n response.

\n

When calling this operation, you must specify the following values:

\n \n

When this operation is successful, the key state of the KMS key changes from\n PendingImport to Enabled, and you can use the KMS key.

\n

If this operation fails, use the exception to help determine the problem. If the error is\n related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the KMS key\n and repeat the import procedure. For help, see How To Import Key\n Material in the Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:ImportKeyMaterial (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#ImportKeyMaterialRequest": { @@ -2917,7 +2917,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

The identifier of the symmetric encryption KMS key that receives the imported key\n material. This must be the same KMS key specified in the KeyID parameter of the\n corresponding GetParametersForImport request. The Origin of the\n KMS key must be EXTERNAL. You cannot perform this operation on an asymmetric KMS\n key, an HMAC KMS key, a KMS key in a custom key store, or on a KMS key in a different\n Amazon Web Services account

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n \n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

The identifier of the symmetric encryption KMS key that receives the imported key\n material. This must be the same KMS key specified in the KeyID parameter of the corresponding GetParametersForImport request. The Origin of the\n KMS key must be EXTERNAL. You cannot perform this operation on an asymmetric KMS\n key, an HMAC KMS key, a KMS key in a custom key store, or on a KMS key in a different\n Amazon Web Services account

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n \n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } }, @@ -2965,7 +2965,7 @@ "code": "IncorrectKeyException", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The request was rejected because the specified KMS key cannot decrypt the data. The\n KeyId in a Decrypt request and the SourceKeyId\n in a ReEncrypt request must identify the same KMS key that was used to\n encrypt the ciphertext.

", + "smithy.api#documentation": "

The request was rejected because the specified KMS key cannot decrypt the data. The\n KeyId in a Decrypt request and the SourceKeyId\n in a ReEncrypt request must identify the same KMS key that was used to\n encrypt the ciphertext.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -3118,7 +3118,7 @@ "code": "InvalidKeyUsage", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The request was rejected for one of the following reasons:

\n \n

For encrypting, decrypting, re-encrypting, and generating data keys, the\n KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying\n messages, the KeyUsage must be SIGN_VERIFY. For generating and\n verifying message authentication codes (MACs), the KeyUsage must be\n GENERATE_VERIFY_MAC. To find the KeyUsage of a KMS key, use the\n DescribeKey operation.

\n

To find the encryption or signing algorithms supported for a particular KMS key, use the\n DescribeKey operation.

", + "smithy.api#documentation": "

The request was rejected for one of the following reasons:

\n \n

For encrypting, decrypting, re-encrypting, and generating data keys, the\n KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying\n messages, the KeyUsage must be SIGN_VERIFY. For generating and\n verifying message authentication codes (MACs), the KeyUsage must be\n GENERATE_VERIFY_MAC. To find the KeyUsage of\n a KMS key, use the DescribeKey operation.

\n

To find the encryption or signing algorithms supported for a particular KMS key, use the\n DescribeKey operation.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -4346,7 +4346,7 @@ "Policy": { "target": "com.amazonaws.kms#PolicyType", "traits": { - "smithy.api#documentation": "

The key policy to attach to the KMS key.

\n

The key policy must meet the following criteria:

\n \n

The key policy cannot exceed 32 kilobytes (32768 bytes). For more information, see Resource Quotas in the\n Key Management Service Developer Guide.

", + "smithy.api#documentation": "

The key policy to attach to the KMS key.

\n

The key policy must meet the following criteria:

\n \n \n

A key policy document must conform to the following rules.

\n ", "smithy.api#required": {} } }, @@ -4421,7 +4421,7 @@ "SourceKeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Specifies the KMS key that KMS will use to decrypt the ciphertext before it is\n re-encrypted.

\n

Enter a key ID of the KMS key that was used to encrypt the ciphertext. If you identify a different KMS key, the ReEncrypt operation throws an IncorrectKeyException.

\n

This parameter is required only when the ciphertext was encrypted under an asymmetric KMS\n key. If you used a symmetric encryption KMS key, KMS can get the KMS key from metadata that\n it adds to the symmetric ciphertext blob. However, it is always recommended as a best\n practice. This practice ensures that you use the KMS key that you intend.

\n \n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n \n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + "smithy.api#documentation": "

Specifies the KMS key that KMS will use to decrypt the ciphertext before it is\n re-encrypted.

\n

Enter a key ID of the KMS key that was used to encrypt the ciphertext. If you identify a different KMS key, the ReEncrypt operation throws an IncorrectKeyException.

\n

This parameter is required only when the ciphertext was encrypted under an asymmetric KMS\n key. If you used a symmetric encryption KMS key, KMS can get the KMS key from metadata that it adds to\n the symmetric ciphertext blob. However, it is always recommended as a best practice. This\n practice ensures that you use the KMS key that you intend.

\n \n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n \n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" } }, "DestinationKeyId": { @@ -4566,7 +4566,7 @@ "Policy": { "target": "com.amazonaws.kms#PolicyType", "traits": { - "smithy.api#documentation": "

The key policy to attach to the KMS key. This parameter is optional. If you do not provide\n a key policy, KMS attaches the default key policy to the\n KMS key.

\n

The key policy is not a shared property of multi-Region keys. You can specify the same key\n policy or a different key policy for each key in a set of related multi-Region keys. KMS\n does not synchronize this property.

\n

If you provide a key policy, it must meet the following criteria:

\n " + "smithy.api#documentation": "

The key policy to attach to the KMS key. This parameter is optional. If you do not provide\n a key policy, KMS attaches the default key policy to the\n KMS key.

\n

The key policy is not a shared property of multi-Region keys. You can specify the same key\n policy or a different key policy for each key in a set of related multi-Region keys. KMS\n does not synchronize this property.

\n

If you provide a key policy, it must meet the following criteria:

\n \n \n \n

A key policy document must conform to the following rules.

\n " } }, "BypassPolicyLockoutSafetyCheck": { @@ -4763,7 +4763,7 @@ "PendingWindowInDays": { "target": "com.amazonaws.kms#PendingWindowInDaysType", "traits": { - "smithy.api#documentation": "

The waiting period, specified in number of days. After the waiting period ends, KMS\n deletes the KMS key.

\n

If the KMS key is a multi-Region primary key with replicas, the waiting period begins when\n the last of its replica keys is deleted. Otherwise, the waiting period begins\n immediately.

\n

This value is optional. If you include a value, it must be between 7 and 30, inclusive. If\n you do not include a value, it defaults to 30.

" + "smithy.api#documentation": "

The waiting period, specified in number of days. After the waiting period ends, KMS\n deletes the KMS key.

\n

If the KMS key is a multi-Region primary key with replica keys, the waiting period begins when\n the last of its replica keys is deleted. Otherwise, the waiting period begins\n immediately.

\n

This value is optional. If you include a value, it must be between 7 and 30, inclusive. If\n you do not include a value, it defaults to 30.

" } } } @@ -4832,7 +4832,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a digital\n signature for a message or message digest by using the private key in an asymmetric\n signing KMS key. To verify the signature, use the Verify operation, or use\n the public key in the same asymmetric KMS key outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

Digital signatures are generated and verified by using asymmetric key pair, such as an RSA\n or ECC pair that is represented by an asymmetric KMS key. The key owner (or an authorized\n user) uses their private key to sign a message. Anyone with the public key can verify that the\n message was signed with that particular private key and that the message hasn't changed since\n it was signed.

\n

To use the Sign operation, provide the following information:

\n \n \n

When signing a message, be sure to record the KMS key and the signing algorithm. This\n information is required to verify the signature.

\n
\n

To verify the signature that this operation generates, use the Verify\n operation. Or use the GetPublicKey operation to download the public key and\n then use the public key to verify the signature outside of KMS.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Sign (key policy)

\n

\n Related operations: Verify\n

" + "smithy.api#documentation": "

Creates a digital\n signature for a message or message digest by using the private key in an asymmetric\n signing KMS key. To verify the signature, use the Verify operation, or use the\n public key in the same asymmetric KMS key outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

Digital signatures are generated and verified by using asymmetric key pair, such as an RSA\n or ECC pair that is represented by an asymmetric KMS key. The key owner (or an authorized\n user) uses their private key to sign a message. Anyone with the public key can verify that the\n message was signed with that particular private key and that the message hasn't changed since\n it was signed.

\n

To use the Sign operation, provide the following information:

\n \n \n

When signing a message, be sure to record the KMS key and the signing algorithm. This\n information is required to verify the signature.

\n
\n \n

Best practices recommend that you limit the time during which any signature is effective. This deters an attack where the actor uses a signed\n message to establish validity repeatedly or long after the message is superseded. Signatures do not include a timestamp, but you can include a timestamp in the signed message\n to help you detect when its time to refresh the signature.

\n
\n

To verify the signature that this operation generates, use the Verify\n operation. Or use the GetPublicKey operation to download the public key and\n then use the public key to verify the signature outside of KMS.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Sign (key policy)

\n

\n Related operations: Verify\n

" } }, "com.amazonaws.kms#SignRequest": { @@ -5079,7 +5079,7 @@ "name": "kms" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Key Management Service\n

Key Management Service (KMS) is an encryption and key management web service. This guide describes\n the KMS operations that you can call programmatically. For general information about KMS,\n see the \n Key Management Service Developer Guide\n .

\n \n

KMS is replacing the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

\n

Amazon Web Services provides SDKs that consist of libraries and sample code for various programming\n languages and platforms (Java, Ruby, .Net, macOS, Android, etc.). The SDKs provide a\n convenient way to create programmatic access to KMS and other Amazon Web Services services. For example,\n the SDKs take care of tasks such as signing requests (see below), managing errors, and\n retrying requests automatically. For more information about the Amazon Web Services SDKs, including how to\n download and install them, see Tools for Amazon Web\n Services.

\n
\n

We recommend that you use the Amazon Web Services SDKs to make programmatic API calls to KMS.

\n

If you need to use FIPS 140-2 validated cryptographic modules when communicating with\n Amazon Web Services, use the FIPS endpoint in your preferred Amazon Web Services Region. For more information about the\n available FIPS endpoints, see Service endpoints in the Key Management Service topic of the Amazon Web Services General Reference.

\n

Clients must support TLS (Transport Layer Security) 1.0. We recommend TLS 1.2. Clients\n must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral\n Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems\n such as Java 7 and later support these modes.

\n

\n Signing Requests\n

\n

Requests must be signed by using an access key ID and a secret access key. We strongly\n recommend that you do not use your Amazon Web Services account (root) access key ID and\n secret key for everyday work with KMS. Instead, use the access key ID and secret access key\n for an IAM user. You can also use the Amazon Web Services Security Token Service to generate temporary\n security credentials that you can use to sign requests.

\n

All KMS operations require Signature Version 4.

\n

\n Logging API Requests\n

\n

KMS supports CloudTrail, a service that logs Amazon Web Services API calls and related events for your\n Amazon Web Services account and delivers them to an Amazon S3 bucket that you specify. By using the\n information collected by CloudTrail, you can determine what requests were made to KMS, who made\n the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it\n on and find your log files, see the CloudTrail User Guide.

\n

\n Additional Resources\n

\n

For more information about credentials and request signing, see the following:

\n \n

\n Commonly Used API Operations\n

\n

Of the API operations discussed in this guide, the following will prove the most useful\n for most applications. You will likely perform operations other than these, such as creating\n keys and assigning policies, by using the console.

\n ", + "smithy.api#documentation": "Key Management Service\n

Key Management Service (KMS) is an encryption and key management web service. This guide describes\n the KMS operations that you can call programmatically. For general information about KMS,\n see the \n Key Management Service Developer Guide\n .

\n \n

KMS is replacing the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

\n

Amazon Web Services provides SDKs that consist of libraries and sample code for various programming\n languages and platforms (Java, Ruby, .Net, macOS, Android, etc.). The SDKs provide a\n convenient way to create programmatic access to KMS and other Amazon Web Services services. For example,\n the SDKs take care of tasks such as signing requests (see below), managing errors, and\n retrying requests automatically. For more information about the Amazon Web Services SDKs, including how to\n download and install them, see Tools for Amazon Web\n Services.

\n
\n

We recommend that you use the Amazon Web Services SDKs to make programmatic API calls to KMS.

\n

If you need to use FIPS 140-2 validated cryptographic modules when communicating with\n Amazon Web Services, use the FIPS endpoint in your preferred Amazon Web Services Region. For more information about the\n available FIPS endpoints, see Service endpoints in the Key Management Service topic of the Amazon Web Services General Reference.

\n

All KMS API calls must be signed and be transmitted using Transport Layer Security (TLS). \n KMS recommends you always use the latest supported TLS version. Clients\n must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral\n Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems\n such as Java 7 and later support these modes.

\n

\n Signing Requests\n

\n

Requests must be signed by using an access key ID and a secret access key. We strongly\n recommend that you do not use your Amazon Web Services account (root) access key ID and\n secret key for everyday work with KMS. Instead, use the access key ID and secret access key\n for an IAM user. You can also use the Amazon Web Services Security Token Service to generate temporary\n security credentials that you can use to sign requests.

\n

All KMS operations require Signature Version 4.

\n

\n Logging API Requests\n

\n

KMS supports CloudTrail, a service that logs Amazon Web Services API calls and related events for your\n Amazon Web Services account and delivers them to an Amazon S3 bucket that you specify. By using the\n information collected by CloudTrail, you can determine what requests were made to KMS, who made\n the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it\n on and find your log files, see the CloudTrail User Guide.

\n

\n Additional Resources\n

\n

For more information about credentials and request signing, see the following:

\n \n

\n Commonly Used API Operations\n

\n

Of the API operations discussed in this guide, the following will prove the most useful\n for most applications. You will likely perform operations other than these, such as creating\n keys and assigning policies, by using the console.

\n ", "smithy.api#title": "AWS Key Management Service", "smithy.api#xmlNamespace": { "uri": "https://trent.amazonaws.com/doc/2014-11-01/"