Skip to content

Commit edafaa1

Browse files
author
awstools
committed
feat(client-lakeformation): This release adds additional configurations on GetTemporaryGlueTableCredentials for Query Session Context.
1 parent b9a4897 commit edafaa1

File tree

4 files changed

+195
-2
lines changed

4 files changed

+195
-2
lines changed

clients/client-lakeformation/src/commands/GetTemporaryGlueTableCredentialsCommand.ts

+13
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,16 @@ export interface GetTemporaryGlueTableCredentialsCommandOutput
6161
* SupportedPermissionTypes: [ // PermissionTypeList
6262
* "COLUMN_PERMISSION" || "CELL_FILTER_PERMISSION" || "NESTED_PERMISSION" || "NESTED_CELL_PERMISSION",
6363
* ],
64+
* S3Path: "STRING_VALUE",
65+
* QuerySessionContext: { // QuerySessionContext
66+
* QueryId: "STRING_VALUE",
67+
* QueryStartTime: new Date("TIMESTAMP"),
68+
* ClusterId: "STRING_VALUE",
69+
* QueryAuthorizationId: "STRING_VALUE",
70+
* AdditionalContext: { // AdditionalContextMap
71+
* "<keys>": "STRING_VALUE",
72+
* },
73+
* },
6474
* };
6575
* const command = new GetTemporaryGlueTableCredentialsCommand(input);
6676
* const response = await client.send(command);
@@ -69,6 +79,9 @@ export interface GetTemporaryGlueTableCredentialsCommandOutput
6979
* // SecretAccessKey: "STRING_VALUE",
7080
* // SessionToken: "STRING_VALUE",
7181
* // Expiration: new Date("TIMESTAMP"),
82+
* // VendedS3Path: [ // PathStringList
83+
* // "STRING_VALUE",
84+
* // ],
7285
* // };
7386
*
7487
* ```

clients/client-lakeformation/src/models/models_0.ts

+55-1
Original file line numberDiff line numberDiff line change
@@ -1150,7 +1150,7 @@ export interface CreateLakeFormationIdentityCenterConfigurationRequest {
11501150
/**
11511151
* @public
11521152
* <p>A list of the account IDs of Amazon Web Services accounts of third-party applications
1153-
* that are allowed to to access data managed by Lake Formation.</p>
1153+
* that are allowed to access data managed by Lake Formation.</p>
11541154
*/
11551155
ExternalFiltering?: ExternalFilteringConfiguration;
11561156
}
@@ -2452,6 +2452,42 @@ export class PermissionTypeMismatchException extends __BaseException {
24522452
}
24532453
}
24542454

2455+
/**
2456+
* @public
2457+
* <p>A structure used as a protocol between query engines and Lake Formation or Glue. Contains both a Lake Formation generated authorization identifier and information from the request's authorization context.</p>
2458+
*/
2459+
export interface QuerySessionContext {
2460+
/**
2461+
* @public
2462+
* <p>A unique identifier generated by the query engine for the query.</p>
2463+
*/
2464+
QueryId?: string;
2465+
2466+
/**
2467+
* @public
2468+
* <p>A timestamp provided by the query engine for when the query started.</p>
2469+
*/
2470+
QueryStartTime?: Date;
2471+
2472+
/**
2473+
* @public
2474+
* <p>An identifier string for the consumer cluster.</p>
2475+
*/
2476+
ClusterId?: string;
2477+
2478+
/**
2479+
* @public
2480+
* <p>A cryptographically generated query identifier generated by Glue or Lake Formation.</p>
2481+
*/
2482+
QueryAuthorizationId?: string;
2483+
2484+
/**
2485+
* @public
2486+
* <p>An opaque string-string map passed by the query engine.</p>
2487+
*/
2488+
AdditionalContext?: Record<string, string>;
2489+
}
2490+
24552491
/**
24562492
* @public
24572493
*/
@@ -2485,6 +2521,18 @@ export interface GetTemporaryGlueTableCredentialsRequest {
24852521
* <p>A list of supported permission types for the table. Valid values are <code>COLUMN_PERMISSION</code> and <code>CELL_FILTER_PERMISSION</code>.</p>
24862522
*/
24872523
SupportedPermissionTypes?: PermissionType[];
2524+
2525+
/**
2526+
* @public
2527+
* <p>The Amazon S3 path for the table.</p>
2528+
*/
2529+
S3Path?: string;
2530+
2531+
/**
2532+
* @public
2533+
* <p>A structure used as a protocol between query engines and Lake Formation or Glue. Contains both a Lake Formation generated authorization identifier and information from the request's authorization context.</p>
2534+
*/
2535+
QuerySessionContext?: QuerySessionContext;
24882536
}
24892537

24902538
/**
@@ -2514,6 +2562,12 @@ export interface GetTemporaryGlueTableCredentialsResponse {
25142562
* <p>The date and time when the temporary credentials expire.</p>
25152563
*/
25162564
Expiration?: Date;
2565+
2566+
/**
2567+
* @public
2568+
* <p>The Amazon S3 path for the temporary credentials.</p>
2569+
*/
2570+
VendedS3Path?: string[];
25172571
}
25182572

25192573
/**

clients/client-lakeformation/src/protocols/Aws_restJson1.ts

+21
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ import {
201201
PrincipalPermissions,
202202
PrincipalResourcePermissions,
203203
QueryPlanningContext,
204+
QuerySessionContext,
204205
Resource,
205206
ResourceInfo,
206207
ResourceNotReadyException,
@@ -934,6 +935,8 @@ export const se_GetTemporaryGlueTableCredentialsCommand = async (
934935
AuditContext: (_) => _json(_),
935936
DurationSeconds: [],
936937
Permissions: (_) => _json(_),
938+
QuerySessionContext: (_) => se_QuerySessionContext(_, context),
939+
S3Path: [],
937940
SupportedPermissionTypes: (_) => _json(_),
938941
TableArn: [],
939942
})
@@ -3284,6 +3287,7 @@ export const de_GetTemporaryGlueTableCredentialsCommand = async (
32843287
Expiration: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
32853288
SecretAccessKey: __expectString,
32863289
SessionToken: __expectString,
3290+
VendedS3Path: _json,
32873291
});
32883292
Object.assign(contents, doc);
32893293
return contents;
@@ -5047,6 +5051,8 @@ const de_WorkUnitsNotReadyYetExceptionRes = async (
50475051
return __decorateServiceException(exception, parsedOutput.body);
50485052
};
50495053

5054+
// se_AdditionalContextMap omitted.
5055+
50505056
// se_AddObjectInput omitted.
50515057

50525058
// se_AllRowsWildcard omitted.
@@ -5128,6 +5134,19 @@ const se_QueryPlanningContext = (input: QueryPlanningContext, context: __SerdeCo
51285134
});
51295135
};
51305136

5137+
/**
5138+
* serializeAws_restJson1QuerySessionContext
5139+
*/
5140+
const se_QuerySessionContext = (input: QuerySessionContext, context: __SerdeContext): any => {
5141+
return take(input, {
5142+
AdditionalContext: _json,
5143+
ClusterId: [],
5144+
QueryAuthorizationId: [],
5145+
QueryId: [],
5146+
QueryStartTime: (_) => Math.round(_.getTime() / 1000),
5147+
});
5148+
};
5149+
51315150
// se_Resource omitted.
51325151

51335152
// se_RowFilter omitted.
@@ -5254,6 +5273,8 @@ const de_LakeFormationOptInsInfoList = (output: any, context: __SerdeContext): L
52545273

52555274
// de_PartitionValuesList omitted.
52565275

5276+
// de_PathStringList omitted.
5277+
52575278
// de_PermissionList omitted.
52585279

52595280
// de_PlanningStatistics omitted.

codegen/sdk-codegen/aws-models/lakeformation.json

+106-1
Original file line numberDiff line numberDiff line change
@@ -1312,6 +1312,15 @@
13121312
"smithy.api#documentation": "<p>A new object to add to the governed table.</p>"
13131313
}
13141314
},
1315+
"com.amazonaws.lakeformation#AdditionalContextMap": {
1316+
"type": "map",
1317+
"key": {
1318+
"target": "com.amazonaws.lakeformation#ContextKey"
1319+
},
1320+
"value": {
1321+
"target": "com.amazonaws.lakeformation#ContextValue"
1322+
}
1323+
},
13151324
"com.amazonaws.lakeformation#AllRowsWildcard": {
13161325
"type": "structure",
13171326
"members": {},
@@ -1956,6 +1965,24 @@
19561965
"smithy.api#error": "client"
19571966
}
19581967
},
1968+
"com.amazonaws.lakeformation#ContextKey": {
1969+
"type": "string",
1970+
"traits": {
1971+
"smithy.api#length": {
1972+
"min": 1,
1973+
"max": 128
1974+
}
1975+
}
1976+
},
1977+
"com.amazonaws.lakeformation#ContextValue": {
1978+
"type": "string",
1979+
"traits": {
1980+
"smithy.api#length": {
1981+
"min": 0,
1982+
"max": 256
1983+
}
1984+
}
1985+
},
19591986
"com.amazonaws.lakeformation#CreateDataCellsFilter": {
19601987
"type": "operation",
19611988
"input": {
@@ -2145,7 +2172,7 @@
21452172
"ExternalFiltering": {
21462173
"target": "com.amazonaws.lakeformation#ExternalFilteringConfiguration",
21472174
"traits": {
2148-
"smithy.api#documentation": "<p>A list of the account IDs of Amazon Web Services accounts of third-party applications\n that are allowed to to access data managed by Lake Formation.</p>"
2175+
"smithy.api#documentation": "<p>A list of the account IDs of Amazon Web Services accounts of third-party applications\n that are allowed to access data managed by Lake Formation.</p>"
21492176
}
21502177
}
21512178
},
@@ -4339,6 +4366,18 @@
43394366
"traits": {
43404367
"smithy.api#documentation": "<p>A list of supported permission types for the table. Valid values are <code>COLUMN_PERMISSION</code> and <code>CELL_FILTER_PERMISSION</code>.</p>"
43414368
}
4369+
},
4370+
"S3Path": {
4371+
"target": "com.amazonaws.lakeformation#PathString",
4372+
"traits": {
4373+
"smithy.api#documentation": "<p>The Amazon S3 path for the table.</p>"
4374+
}
4375+
},
4376+
"QuerySessionContext": {
4377+
"target": "com.amazonaws.lakeformation#QuerySessionContext",
4378+
"traits": {
4379+
"smithy.api#documentation": "<p>A structure used as a protocol between query engines and Lake Formation or Glue. Contains both a Lake Formation generated authorization identifier and information from the request's authorization context.</p>"
4380+
}
43424381
}
43434382
},
43444383
"traits": {
@@ -4371,6 +4410,12 @@
43714410
"traits": {
43724411
"smithy.api#documentation": "<p>The date and time when the temporary credentials expire.</p>"
43734412
}
4413+
},
4414+
"VendedS3Path": {
4415+
"target": "com.amazonaws.lakeformation#PathStringList",
4416+
"traits": {
4417+
"smithy.api#documentation": "<p>The Amazon S3 path for the temporary credentials.</p>"
4418+
}
43744419
}
43754420
},
43764421
"traits": {
@@ -4678,6 +4723,16 @@
46784723
"smithy.api#output": {}
46794724
}
46804725
},
4726+
"com.amazonaws.lakeformation#HashString": {
4727+
"type": "string",
4728+
"traits": {
4729+
"smithy.api#length": {
4730+
"min": 1,
4731+
"max": 255
4732+
},
4733+
"smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$"
4734+
}
4735+
},
46814736
"com.amazonaws.lakeformation#IAMRoleArn": {
46824737
"type": "string",
46834738
"traits": {
@@ -5588,6 +5643,9 @@
55885643
"com.amazonaws.lakeformation#NullableBoolean": {
55895644
"type": "boolean"
55905645
},
5646+
"com.amazonaws.lakeformation#NullableString": {
5647+
"type": "string"
5648+
},
55915649
"com.amazonaws.lakeformation#NumberOfBytes": {
55925650
"type": "long",
55935651
"traits": {
@@ -5739,6 +5797,15 @@
57395797
"target": "com.amazonaws.lakeformation#PartitionObjects"
57405798
}
57415799
},
5800+
"com.amazonaws.lakeformation#PathString": {
5801+
"type": "string"
5802+
},
5803+
"com.amazonaws.lakeformation#PathStringList": {
5804+
"type": "list",
5805+
"member": {
5806+
"target": "com.amazonaws.lakeformation#PathString"
5807+
}
5808+
},
57425809
"com.amazonaws.lakeformation#Permission": {
57435810
"type": "enum",
57445811
"members": {
@@ -6125,6 +6192,44 @@
61256192
"smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$"
61266193
}
61276194
},
6195+
"com.amazonaws.lakeformation#QuerySessionContext": {
6196+
"type": "structure",
6197+
"members": {
6198+
"QueryId": {
6199+
"target": "com.amazonaws.lakeformation#HashString",
6200+
"traits": {
6201+
"smithy.api#documentation": "<p>A unique identifier generated by the query engine for the query.</p>"
6202+
}
6203+
},
6204+
"QueryStartTime": {
6205+
"target": "com.amazonaws.lakeformation#Timestamp",
6206+
"traits": {
6207+
"smithy.api#documentation": "<p>A timestamp provided by the query engine for when the query started.</p>"
6208+
}
6209+
},
6210+
"ClusterId": {
6211+
"target": "com.amazonaws.lakeformation#NullableString",
6212+
"traits": {
6213+
"smithy.api#documentation": "<p>An identifier string for the consumer cluster.</p>"
6214+
}
6215+
},
6216+
"QueryAuthorizationId": {
6217+
"target": "com.amazonaws.lakeformation#HashString",
6218+
"traits": {
6219+
"smithy.api#documentation": "<p>A cryptographically generated query identifier generated by Glue or Lake Formation.</p>"
6220+
}
6221+
},
6222+
"AdditionalContext": {
6223+
"target": "com.amazonaws.lakeformation#AdditionalContextMap",
6224+
"traits": {
6225+
"smithy.api#documentation": "<p>An opaque string-string map passed by the query engine.</p>"
6226+
}
6227+
}
6228+
},
6229+
"traits": {
6230+
"smithy.api#documentation": "<p>A structure used as a protocol between query engines and Lake Formation or Glue. Contains both a Lake Formation generated authorization identifier and information from the request's authorization context.</p>"
6231+
}
6232+
},
61286233
"com.amazonaws.lakeformation#QueryStateString": {
61296234
"type": "enum",
61306235
"members": {

0 commit comments

Comments
 (0)