AWS cli documentation change
Summary
Added documentation for Apache Iceberg table format updates including schema, partition specs, sort orders, and properties management through new --update-open-table-format-input parameter. Updated CLI version reference and input requirements for document types.
Security assessment
The changes primarily document new Iceberg table management capabilities without mentioning security vulnerabilities, patches, or security-specific features. While schema/partition controls could impact data security, there's no explicit security context or vulnerability remediation described.
Diff
diff --git a/cli/latest/reference/glue/update-table.md b/cli/latest/reference/glue/update-table.md index a82a5cc32..9710a7c92 100644 --- a//cli/latest/reference/glue/update-table.md +++ b//cli/latest/reference/glue/update-table.md @@ -15 +15 @@ - * [AWS CLI 2.27.42 Command Reference](../../index.html) » + * [AWS CLI 2.27.45 Command Reference](../../index.html) » @@ -62,0 +63,2 @@ See also: [AWS API Documentation](https://docs.aws.amazon.com/goto/WebAPI/glue-2 +`update-table` uses document type values. Document types follow the JSON data model where valid values are: strings, numbers, booleans, null, arrays, and objects. For command input, options and nested parameters that are labeled with the type `document` must be provided as JSON. Shorthand syntax does not support document types. + @@ -69 +71,2 @@ See also: [AWS API Documentation](https://docs.aws.amazon.com/goto/WebAPI/glue-2 - --table-input <value> + [--name <value>] + [--table-input <value>] @@ -74,0 +78 @@ See also: [AWS API Documentation](https://docs.aws.amazon.com/goto/WebAPI/glue-2 + [--update-open-table-format-input <value>] @@ -106,0 +111,4 @@ See also: [AWS API Documentation](https://docs.aws.amazon.com/goto/WebAPI/glue-2 +`--name` (string) + +> The unique identifier for the table within the specified database that will be created in the Glue Data Catalog. + @@ -556,0 +565,200 @@ JSON Syntax: +`--update-open-table-format-input` (structure) + +> Input parameters for updating open table format tables in GlueData Catalog, serving as a wrapper for format-specific update operations such as Apache Iceberg. +> +> UpdateIcebergInput -> (structure) +> +>> Apache Iceberg-specific update parameters that define the table modifications to be applied, including schema changes, partition specifications, and table properties. +>> +>> UpdateIcebergTableInput -> (structure) +>> +>>> The specific update operations to be applied to the Iceberg table, containing a list of updates that define the new state of the table including schema, partitions, and properties. +>>> +>>> Updates -> (list) +>>> +>>>> The list of table update operations that specify the changes to be made to the Iceberg table, including schema modifications, partition specifications, and table properties. +>>>> +>>>> (structure) +>>>> +>>>>> Defines a complete set of updates to be applied to an Iceberg table, including schema changes, partitioning modifications, sort order adjustments, location updates, and property changes. +>>>>> +>>>>> Schema -> (structure) +>>>>> +>>>>>> The updated schema definition for the Iceberg table, specifying any changes to field structure, data types, or schema metadata. +>>>>>> +>>>>>> SchemaId -> (integer) +>>>>>> +>>>>>>> The unique identifier for this schema version within the Iceberg table’s schema evolution history. +>>>>>> +>>>>>> IdentifierFieldIds -> (list) +>>>>>> +>>>>>>> The list of field identifiers that uniquely identify records in the table, used for row-level operations and deduplication. +>>>>>>> +>>>>>>> (integer) +>>>>>> +>>>>>> Type -> (string) +>>>>>> +>>>>>>> The root type of the schema structure, typically “struct” for Iceberg table schemas. +>>>>>> +>>>>>> Fields -> (list) +>>>>>> +>>>>>>> The list of field definitions that make up the table schema, including field names, types, and metadata. +>>>>>>> +>>>>>>> (structure) +>>>>>>> +>>>>>>>> Defines a single field within an Iceberg table schema, including its identifier, name, data type, nullability, and documentation. +>>>>>>>> +>>>>>>>> Id -> (integer) +>>>>>>>> +>>>>>>>>> The unique identifier assigned to this field within the Iceberg table schema, used for schema evolution and field tracking. +>>>>>>>> +>>>>>>>> Name -> (string) +>>>>>>>> +>>>>>>>>> The name of the field as it appears in the table schema and query operations. +>>>>>>>> +>>>>>>>> Type -> (document) +>>>>>>>> +>>>>>>>>> The data type definition for this field, specifying the structure and format of the data it contains. +>>>>>>>> +>>>>>>>> Required -> (boolean) +>>>>>>>> +>>>>>>>>> Indicates whether this field is required (non-nullable) or optional (nullable) in the table schema. +>>>>>>>> +>>>>>>>> Doc -> (string) +>>>>>>>> +>>>>>>>>> Optional documentation or description text that provides additional context about the purpose and usage of this field. +>>>>> +>>>>> PartitionSpec -> (structure) +>>>>> +>>>>>> The updated partitioning specification that defines how the table data should be reorganized and partitioned. +>>>>>> +>>>>>> Fields -> (list) +>>>>>> +>>>>>>> The list of partition fields that define how the table data should be partitioned, including source fields and their transformations. +>>>>>>> +>>>>>>> (structure) +>>>>>>> +>>>>>>>> Defines a single partition field within an Iceberg partition specification, including the source field, transformation function, partition name, and unique identifier. +>>>>>>>> +>>>>>>>> SourceId -> (integer) +>>>>>>>> +>>>>>>>>> The identifier of the source field from the table schema that this partition field is based on. +>>>>>>>> +>>>>>>>> Transform -> (string) +>>>>>>>> +>>>>>>>>> The transformation function applied to the source field to create the partition, such as identity, bucket, truncate, year, month, day, or hour. +>>>>>>>> +>>>>>>>> Name -> (string) +>>>>>>>> +>>>>>>>>> The name of the partition field as it will appear in the partitioned table structure. +>>>>>>>> +>>>>>>>> FieldId -> (integer) +>>>>>>>> +>>>>>>>>> The unique identifier assigned to this partition field within the Iceberg table’s partition specification. +>>>>>> +>>>>>> SpecId -> (integer) +>>>>>> +>>>>>>> The unique identifier for this partition specification within the Iceberg table’s metadata history. +>>>>> +>>>>> SortOrder -> (structure) +>>>>> +>>>>>> The updated sort order specification that defines how data should be ordered within partitions for optimal query performance. +>>>>>> +>>>>>> OrderId -> (integer) +>>>>>> +>>>>>>> The unique identifier for this sort order specification within the Iceberg table’s metadata. +>>>>>> +>>>>>> Fields -> (list) +>>>>>> +>>>>>>> The list of fields and their sort directions that define the ordering criteria for the Iceberg table data. +>>>>>>> +>>>>>>> (structure) +>>>>>>> +>>>>>>>> Defines a single field within an Iceberg sort order specification, including the source field, transformation, sort direction, and null value ordering. +>>>>>>>> +>>>>>>>> SourceId -> (integer) +>>>>>>>> +>>>>>>>>> The identifier of the source field from the table schema that this sort field is based on. +>>>>>>>> +>>>>>>>> Transform -> (string) +>>>>>>>> +>>>>>>>>> The transformation function applied to the source field before sorting, such as identity, bucket, or truncate. +>>>>>>>> +>>>>>>>> Direction -> (string) +>>>>>>>> +>>>>>>>>> The sort direction for this field, either ascending or descending. +>>>>>>>> +>>>>>>>> NullOrder -> (string) +>>>>>>>> +>>>>>>>>> The ordering behavior for null values in this field, specifying whether nulls should appear first or last in the sort order. +>>>>> +>>>>> Location -> (string) +>>>>> +>>>>>> The updated S3 location where the Iceberg table data will be stored. +>>>>> +>>>>> Properties -> (map) +>>>>> +>>>>>> Updated key-value pairs of table properties and configuration settings for the Iceberg table. +>>>>>> +>>>>>> key -> (string) +>>>>>> +>>>>>> value -> (string) + +JSON Syntax: + + + { + "UpdateIcebergInput": { + "UpdateIcebergTableInput": { + "Updates": [ + { + "Schema": { + "SchemaId": integer, + "IdentifierFieldIds": [integer, ...], + "Type": "struct", + "Fields": [ + { + "Id": integer, + "Name": "string", + "Type": {...}, + "Required": true|false, + "Doc": "string" + } + ... + ] + }, + "PartitionSpec": { + "Fields": [ + { + "SourceId": integer, + "Transform": "string", + "Name": "string", + "FieldId": integer + } + ... + ], + "SpecId": integer + }, + "SortOrder": {