Skip to content

Commit

Permalink
feat(client-glue): Modifying request for GetUnfilteredTableMetadata f…
Browse files Browse the repository at this point in the history
…or view-related fields.
  • Loading branch information
awstools committed Apr 12, 2024
1 parent 7566539 commit ae8aec7
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ export interface GetUnfilteredTableMetadataCommandInput extends GetUnfilteredTab
export interface GetUnfilteredTableMetadataCommandOutput extends GetUnfilteredTableMetadataResponse, __MetadataBearer {}

/**
* <p>Retrieves table metadata from the Data Catalog that contains unfiltered
* metadata.</p>
* <p>Allows a third-party analytical engine to retrieve unfiltered table metadata from the Data Catalog.</p>
* <p>For IAM authorization, the public IAM action associated with this API is <code>glue:GetTable</code>.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
Expand All @@ -51,6 +50,8 @@ export interface GetUnfilteredTableMetadataCommandOutput extends GetUnfilteredTa
* SupportedPermissionTypes: [ // PermissionTypeList // required
* "COLUMN_PERMISSION" || "CELL_FILTER_PERMISSION" || "NESTED_PERMISSION" || "NESTED_CELL_PERMISSION",
* ],
* ParentResourceArn: "STRING_VALUE",
* RootResourceArn: "STRING_VALUE",
* SupportedDialect: { // SupportedDialect
* Dialect: "REDSHIFT" || "ATHENA" || "SPARK",
* DialectVersion: "STRING_VALUE",
Expand Down
4 changes: 2 additions & 2 deletions clients/client-glue/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3194,13 +3194,13 @@ export interface KinesisStreamingSourceOptions {
StartingPosition?: StartingPosition;

/**
* <p>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 <code>1000</code>.</p>
* <p>The maximum time spent for the job executor to read records for the current batch from the Kinesis data stream, specified in milliseconds (ms). Multiple <code>GetRecords</code> API calls may be made within this time. The default value is <code>1000</code>.</p>
* @public
*/
MaxFetchTimeInMs?: number;

/**
* <p>The maximum number of records to fetch per shard in the Kinesis data stream. The default value is <code>100000</code>.</p>
* <p>The maximum number of records to fetch per shard in the Kinesis data stream per microbatch. Note: The client can exceed this limit if the streaming job has already read extra records from Kinesis (in the same get-records call). If <code>MaxFetchRecordsPerShard</code> needs to be strict then it needs to be a multiple of <code>MaxRecordPerRead</code>. The default value is <code>100000</code>.</p>
* @public
*/
MaxFetchRecordsPerShard?: number;
Expand Down
34 changes: 33 additions & 1 deletion clients/client-glue/src/models/models_2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1425,11 +1425,43 @@ export interface GetUnfilteredTableMetadataRequest {
AuditContext?: AuditContext;

/**
* <p>(Required) A list of supported permission types. </p>
* <p>Indicates the level of filtering a third-party analytical engine is capable of enforcing when calling the <code>GetUnfilteredTableMetadata</code> API operation. Accepted values are:</p>
* <ul>
* <li>
* <p>
* <code>COLUMN_PERMISSION</code> - Column permissions ensure that users can access only specific columns in the table. If there are particular columns contain sensitive data, data lake administrators can define column filters that exclude access to specific columns.</p>
* </li>
* <li>
* <p>
* <code>CELL_FILTER_PERMISSION</code> - Cell-level filtering combines column filtering (include or exclude columns) and row filter expressions to restrict access to individual elements in the table.</p>
* </li>
* <li>
* <p>
* <code>NESTED_PERMISSION</code> - Nested permissions combines cell-level filtering and nested column filtering to restrict access to columns and/or nested columns in specific rows based on row filter expressions.</p>
* </li>
* <li>
* <p>
* <code>NESTED_CELL_PERMISSION</code> - Nested cell permissions combines nested permission with nested cell-level filtering. This allows different subsets of nested columns to be restricted based on an array of row filter expressions. </p>
* </li>
* </ul>
* <p>Note: Each of these permission types follows a hierarchical order where each subsequent permission type includes all permission of the previous type.</p>
* <p>Important: If you provide a supported permission type that doesn't match the user's level of permissions on the table, then Lake Formation raises an exception. For example, if the third-party engine calling the <code>GetUnfilteredTableMetadata</code> operation can enforce only column-level filtering, and the user has nested cell filtering applied on the table, Lake Formation throws an exception, and will not return unfiltered table metadata and data access credentials.</p>
* @public
*/
SupportedPermissionTypes: PermissionType[] | undefined;

/**
* <p>The resource ARN of the view.</p>
* @public
*/
ParentResourceArn?: string;

/**
* <p>The resource ARN of the root view in a chain of nested views.</p>
* @public
*/
RootResourceArn?: string;

/**
* <p>A structure specifying the dialect and dialect version used by the query engine.</p>
* @public
Expand Down
2 changes: 2 additions & 0 deletions clients/client-glue/src/protocols/Aws_json1_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9899,9 +9899,11 @@ const se_GetUnfilteredTableMetadataRequest = (
CatalogId: [],
DatabaseName: [],
Name: [],
ParentResourceArn: [],
Permissions: _json,
QuerySessionContext: (_) => se_QuerySessionContext(_, context),
Region: [],
RootResourceArn: [],
SupportedDialect: _json,
SupportedPermissionTypes: _json,
});
Expand Down
20 changes: 16 additions & 4 deletions codegen/sdk-codegen/aws-models/glue.json
Original file line number Diff line number Diff line change
Expand Up @@ -20008,7 +20008,7 @@
}
],
"traits": {
"smithy.api#documentation": "<p>Retrieves table metadata from the Data Catalog that contains unfiltered \n metadata.</p>\n <p>For IAM authorization, the public IAM action associated with this API is <code>glue:GetTable</code>.</p>"
"smithy.api#documentation": "<p>Allows a third-party analytical engine to retrieve unfiltered table metadata from the Data Catalog.</p>\n <p>For IAM authorization, the public IAM action associated with this API is <code>glue:GetTable</code>.</p>"
}
},
"com.amazonaws.glue#GetUnfilteredTableMetadataRequest": {
Expand Down Expand Up @@ -20050,10 +20050,22 @@
"SupportedPermissionTypes": {
"target": "com.amazonaws.glue#PermissionTypeList",
"traits": {
"smithy.api#documentation": "<p>(Required) A list of supported permission types. </p>",
"smithy.api#documentation": "<p>Indicates the level of filtering a third-party analytical engine is capable of enforcing when calling the <code>GetUnfilteredTableMetadata</code> API operation. Accepted values are:</p>\n <ul>\n <li>\n <p>\n <code>COLUMN_PERMISSION</code> - Column permissions ensure that users can access only specific columns in the table. If there are particular columns contain sensitive data, data lake administrators can define column filters that exclude access to specific columns.</p>\n </li>\n <li>\n <p>\n <code>CELL_FILTER_PERMISSION</code> - Cell-level filtering combines column filtering (include or exclude columns) and row filter expressions to restrict access to individual elements in the table.</p>\n </li>\n <li>\n <p>\n <code>NESTED_PERMISSION</code> - Nested permissions combines cell-level filtering and nested column filtering to restrict access to columns and/or nested columns in specific rows based on row filter expressions.</p>\n </li>\n <li>\n <p>\n <code>NESTED_CELL_PERMISSION</code> - Nested cell permissions combines nested permission with nested cell-level filtering. This allows different subsets of nested columns to be restricted based on an array of row filter expressions. </p>\n </li>\n </ul>\n <p>Note: Each of these permission types follows a hierarchical order where each subsequent permission type includes all permission of the previous type.</p>\n <p>Important: If you provide a supported permission type that doesn't match the user's level of permissions on the table, then Lake Formation raises an exception. For example, if the third-party engine calling the <code>GetUnfilteredTableMetadata</code> operation can enforce only column-level filtering, and the user has nested cell filtering applied on the table, Lake Formation throws an exception, and will not return unfiltered table metadata and data access credentials.</p>",
"smithy.api#required": {}
}
},
"ParentResourceArn": {
"target": "com.amazonaws.glue#ArnString",
"traits": {
"smithy.api#documentation": "<p>The resource ARN of the view.</p>"
}
},
"RootResourceArn": {
"target": "com.amazonaws.glue#ArnString",
"traits": {
"smithy.api#documentation": "<p>The resource ARN of the root view in a chain of nested views.</p>"
}
},
"SupportedDialect": {
"target": "com.amazonaws.glue#SupportedDialect",
"traits": {
Expand Down Expand Up @@ -22902,13 +22914,13 @@
"MaxFetchTimeInMs": {
"target": "com.amazonaws.glue#BoxedNonNegativeLong",
"traits": {
"smithy.api#documentation": "<p>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 <code>1000</code>.</p>"
"smithy.api#documentation": "<p>The maximum time spent for the job executor to read records for the current batch from the Kinesis data stream, specified in milliseconds (ms). Multiple <code>GetRecords</code> API calls may be made within this time. The default value is <code>1000</code>.</p>"
}
},
"MaxFetchRecordsPerShard": {
"target": "com.amazonaws.glue#BoxedNonNegativeLong",
"traits": {
"smithy.api#documentation": "<p>The maximum number of records to fetch per shard in the Kinesis data stream. The default value is <code>100000</code>.</p>"
"smithy.api#documentation": "<p>The maximum number of records to fetch per shard in the Kinesis data stream per microbatch. Note: The client can exceed this limit if the streaming job has already read extra records from Kinesis (in the same get-records call). If <code>MaxFetchRecordsPerShard</code> needs to be strict then it needs to be a multiple of <code>MaxRecordPerRead</code>. The default value is <code>100000</code>.</p>"
}
},
"MaxRecordPerRead": {
Expand Down

0 comments on commit ae8aec7

Please sign in to comment.