@aws-sdk/client-lakeformation 3.969.0 → 3.971.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/README.md +7 -0
  2. package/dist-cjs/index.js +90 -10
  3. package/dist-es/LakeFormation.js +2 -0
  4. package/dist-es/commands/GetTemporaryDataLocationCredentialsCommand.js +16 -0
  5. package/dist-es/commands/index.js +1 -0
  6. package/dist-es/models/enums.js +9 -0
  7. package/dist-es/models/errors.js +14 -0
  8. package/dist-es/schemas/schemas_0.js +46 -11
  9. package/dist-types/LakeFormation.d.ts +8 -0
  10. package/dist-types/LakeFormationClient.d.ts +3 -2
  11. package/dist-types/commands/DescribeResourceCommand.d.ts +2 -0
  12. package/dist-types/commands/GetTemporaryDataLocationCredentialsCommand.d.ts +132 -0
  13. package/dist-types/commands/ListResourcesCommand.d.ts +2 -0
  14. package/dist-types/commands/RegisterResourceCommand.d.ts +1 -0
  15. package/dist-types/commands/UpdateResourceCommand.d.ts +1 -0
  16. package/dist-types/commands/index.d.ts +1 -0
  17. package/dist-types/models/enums.d.ts +25 -0
  18. package/dist-types/models/errors.d.ts +17 -0
  19. package/dist-types/models/models_0.d.ts +124 -1
  20. package/dist-types/schemas/schemas_0.d.ts +5 -0
  21. package/dist-types/ts3.4/LakeFormation.d.ts +24 -0
  22. package/dist-types/ts3.4/LakeFormationClient.d.ts +6 -0
  23. package/dist-types/ts3.4/commands/GetTemporaryDataLocationCredentialsCommand.d.ts +51 -0
  24. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  25. package/dist-types/ts3.4/models/enums.d.ts +13 -0
  26. package/dist-types/ts3.4/models/errors.d.ts +6 -0
  27. package/dist-types/ts3.4/models/models_0.d.ts +23 -0
  28. package/dist-types/ts3.4/schemas/schemas_0.d.ts +5 -0
  29. package/package.json +12 -12
@@ -0,0 +1,132 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import type { LakeFormationClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LakeFormationClient";
4
+ import type { GetTemporaryDataLocationCredentialsRequest, GetTemporaryDataLocationCredentialsResponse } from "../models/models_0";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link GetTemporaryDataLocationCredentialsCommand}.
14
+ */
15
+ export interface GetTemporaryDataLocationCredentialsCommandInput extends GetTemporaryDataLocationCredentialsRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link GetTemporaryDataLocationCredentialsCommand}.
21
+ */
22
+ export interface GetTemporaryDataLocationCredentialsCommandOutput extends GetTemporaryDataLocationCredentialsResponse, __MetadataBearer {
23
+ }
24
+ declare const GetTemporaryDataLocationCredentialsCommand_base: {
25
+ new (input: GetTemporaryDataLocationCredentialsCommandInput): import("@smithy/smithy-client").CommandImpl<GetTemporaryDataLocationCredentialsCommandInput, GetTemporaryDataLocationCredentialsCommandOutput, LakeFormationClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (...[input]: [] | [GetTemporaryDataLocationCredentialsCommandInput]): import("@smithy/smithy-client").CommandImpl<GetTemporaryDataLocationCredentialsCommandInput, GetTemporaryDataLocationCredentialsCommandOutput, LakeFormationClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Allows a user or application in a secure environment to access data in a specific Amazon S3 location registered with Lake Formation by providing temporary scoped credentials that are limited to the requested data location and
31
+ * the caller's authorized access level.</p>
32
+ * <p> The API operation returns an error in the following scenarios:</p>
33
+ * <ul>
34
+ * <li>
35
+ * <p>The data location is not registered with Lake Formation. </p>
36
+ * </li>
37
+ * <li>
38
+ * <p>No Glue table is associated with the data location.</p>
39
+ * </li>
40
+ * <li>
41
+ * <p>The caller doesn't have required permissions on the associated table. The caller must have
42
+ * <code>SELECT</code> or <code>SUPER</code> permissions on the associated table, and
43
+ * credential vending for full table access must be enabled in the data lake settings. </p>
44
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/lake-formation/latest/dg/full-table-credential-vending.html">Application integration for full table access</a>.</p>
45
+ * </li>
46
+ * <li>
47
+ * <p>The data location is in a different Amazon Web Services Region. Lake Formation doesn't
48
+ * support cross-Region access when vending credentials for a data location. Lake Formation only supports Amazon S3 paths registered within the same Region as the API
49
+ * call. </p>
50
+ * </li>
51
+ * </ul>
52
+ * @example
53
+ * Use a bare-bones client and the command you need to make an API call.
54
+ * ```javascript
55
+ * import { LakeFormationClient, GetTemporaryDataLocationCredentialsCommand } from "@aws-sdk/client-lakeformation"; // ES Modules import
56
+ * // const { LakeFormationClient, GetTemporaryDataLocationCredentialsCommand } = require("@aws-sdk/client-lakeformation"); // CommonJS import
57
+ * // import type { LakeFormationClientConfig } from "@aws-sdk/client-lakeformation";
58
+ * const config = {}; // type is LakeFormationClientConfig
59
+ * const client = new LakeFormationClient(config);
60
+ * const input = { // GetTemporaryDataLocationCredentialsRequest
61
+ * DurationSeconds: Number("int"),
62
+ * AuditContext: { // AuditContext
63
+ * AdditionalAuditContext: "STRING_VALUE",
64
+ * },
65
+ * DataLocations: [ // PathStringList
66
+ * "STRING_VALUE",
67
+ * ],
68
+ * CredentialsScope: "READ" || "READWRITE",
69
+ * };
70
+ * const command = new GetTemporaryDataLocationCredentialsCommand(input);
71
+ * const response = await client.send(command);
72
+ * // { // GetTemporaryDataLocationCredentialsResponse
73
+ * // Credentials: { // TemporaryCredentials
74
+ * // AccessKeyId: "STRING_VALUE",
75
+ * // SecretAccessKey: "STRING_VALUE",
76
+ * // SessionToken: "STRING_VALUE",
77
+ * // Expiration: new Date("TIMESTAMP"),
78
+ * // },
79
+ * // AccessibleDataLocations: [ // PathStringList
80
+ * // "STRING_VALUE",
81
+ * // ],
82
+ * // CredentialsScope: "READ" || "READWRITE",
83
+ * // };
84
+ *
85
+ * ```
86
+ *
87
+ * @param GetTemporaryDataLocationCredentialsCommandInput - {@link GetTemporaryDataLocationCredentialsCommandInput}
88
+ * @returns {@link GetTemporaryDataLocationCredentialsCommandOutput}
89
+ * @see {@link GetTemporaryDataLocationCredentialsCommandInput} for command's `input` shape.
90
+ * @see {@link GetTemporaryDataLocationCredentialsCommandOutput} for command's `response` shape.
91
+ * @see {@link LakeFormationClientResolvedConfig | config} for LakeFormationClient's `config` shape.
92
+ *
93
+ * @throws {@link AccessDeniedException} (client fault)
94
+ * <p>Access to a resource was denied.</p>
95
+ *
96
+ * @throws {@link ConflictException} (client fault)
97
+ * <p>Multiple resources exist with the same Amazon S3 location</p>
98
+ *
99
+ * @throws {@link EntityNotFoundException} (client fault)
100
+ * <p>A specified entity does not exist.</p>
101
+ *
102
+ * @throws {@link GlueEncryptionException} (client fault)
103
+ * <p>An encryption operation failed.</p>
104
+ *
105
+ * @throws {@link InternalServiceException} (server fault)
106
+ * <p>An internal service error occurred.</p>
107
+ *
108
+ * @throws {@link InvalidInputException} (client fault)
109
+ * <p>The input provided was not valid.</p>
110
+ *
111
+ * @throws {@link OperationTimeoutException} (client fault)
112
+ * <p>The operation timed out.</p>
113
+ *
114
+ * @throws {@link LakeFormationServiceException}
115
+ * <p>Base exception class for all service exceptions from LakeFormation service.</p>
116
+ *
117
+ *
118
+ * @public
119
+ */
120
+ export declare class GetTemporaryDataLocationCredentialsCommand extends GetTemporaryDataLocationCredentialsCommand_base {
121
+ /** @internal type navigation helper, not in runtime. */
122
+ protected static __types: {
123
+ api: {
124
+ input: GetTemporaryDataLocationCredentialsRequest;
125
+ output: GetTemporaryDataLocationCredentialsResponse;
126
+ };
127
+ sdk: {
128
+ input: GetTemporaryDataLocationCredentialsCommandInput;
129
+ output: GetTemporaryDataLocationCredentialsCommandOutput;
130
+ };
131
+ };
132
+ }
@@ -60,6 +60,8 @@ declare const ListResourcesCommand_base: {
60
60
  * // WithFederation: true || false,
61
61
  * // HybridAccessEnabled: true || false,
62
62
  * // WithPrivilegedAccess: true || false,
63
+ * // VerificationStatus: "VERIFIED" || "VERIFICATION_FAILED" || "NOT_VERIFIED",
64
+ * // ExpectedResourceOwnerAccount: "STRING_VALUE",
63
65
  * // },
64
66
  * // ],
65
67
  * // NextToken: "STRING_VALUE",
@@ -53,6 +53,7 @@ declare const RegisterResourceCommand_base: {
53
53
  * WithFederation: true || false,
54
54
  * HybridAccessEnabled: true || false,
55
55
  * WithPrivilegedAccess: true || false,
56
+ * ExpectedResourceOwnerAccount: "STRING_VALUE",
56
57
  * };
57
58
  * const command = new RegisterResourceCommand(input);
58
59
  * const response = await client.send(command);
@@ -41,6 +41,7 @@ declare const UpdateResourceCommand_base: {
41
41
  * ResourceArn: "STRING_VALUE", // required
42
42
  * WithFederation: true || false,
43
43
  * HybridAccessEnabled: true || false,
44
+ * ExpectedResourceOwnerAccount: "STRING_VALUE",
44
45
  * };
45
46
  * const command = new UpdateResourceCommand(input);
46
47
  * const response = await client.send(command);
@@ -30,6 +30,7 @@ export * from "./GetQueryStateCommand";
30
30
  export * from "./GetQueryStatisticsCommand";
31
31
  export * from "./GetResourceLFTagsCommand";
32
32
  export * from "./GetTableObjectsCommand";
33
+ export * from "./GetTemporaryDataLocationCredentialsCommand";
33
34
  export * from "./GetTemporaryGluePartitionCredentialsCommand";
34
35
  export * from "./GetTemporaryGlueTableCredentialsCommand";
35
36
  export * from "./GetWorkUnitResultsCommand";
@@ -86,6 +86,19 @@ export declare const ServiceAuthorization: {
86
86
  * @public
87
87
  */
88
88
  export type ServiceAuthorization = (typeof ServiceAuthorization)[keyof typeof ServiceAuthorization];
89
+ /**
90
+ * @public
91
+ * @enum
92
+ */
93
+ export declare const VerificationStatus: {
94
+ readonly NOT_VERIFIED: "NOT_VERIFIED";
95
+ readonly VERIFICATION_FAILED: "VERIFICATION_FAILED";
96
+ readonly VERIFIED: "VERIFIED";
97
+ };
98
+ /**
99
+ * @public
100
+ */
101
+ export type VerificationStatus = (typeof VerificationStatus)[keyof typeof VerificationStatus];
89
102
  /**
90
103
  * @public
91
104
  * @enum
@@ -101,6 +114,18 @@ export declare const QueryStateString: {
101
114
  * @public
102
115
  */
103
116
  export type QueryStateString = (typeof QueryStateString)[keyof typeof QueryStateString];
117
+ /**
118
+ * @public
119
+ * @enum
120
+ */
121
+ export declare const CredentialsScope: {
122
+ readonly READ: "READ";
123
+ readonly READWRITE: "READWRITE";
124
+ };
125
+ /**
126
+ * @public
127
+ */
128
+ export type CredentialsScope = (typeof CredentialsScope)[keyof typeof CredentialsScope];
104
129
  /**
105
130
  * @public
106
131
  * @enum
@@ -275,6 +275,23 @@ export declare class GlueEncryptionException extends __BaseException {
275
275
  */
276
276
  constructor(opts: __ExceptionOptionType<GlueEncryptionException, __BaseException>);
277
277
  }
278
+ /**
279
+ * <p>Multiple resources exist with the same Amazon S3 location</p>
280
+ * @public
281
+ */
282
+ export declare class ConflictException extends __BaseException {
283
+ readonly name: "ConflictException";
284
+ readonly $fault: "client";
285
+ /**
286
+ * <p>A message describing the problem.</p>
287
+ * @public
288
+ */
289
+ Message?: string | undefined;
290
+ /**
291
+ * @internal
292
+ */
293
+ constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
294
+ }
278
295
  /**
279
296
  * <p>The engine does not support filtering data based on the enforced permissions. For example, if you call the <code>GetTemporaryGlueTableCredentials</code> operation with <code>SupportedPermissionType</code> equal to <code>ColumnPermission</code>, but cell-level permissions exist on the table, this exception is thrown.</p>
280
297
  * @public
@@ -1,5 +1,5 @@
1
1
  import { StreamingBlobTypes } from "@smithy/types";
2
- import { ApplicationStatus, ComparisonOperator, DataLakeResourceType, EnableStatus, FieldNameString, OptimizerType, Permission, PermissionType, QueryStateString, ResourceShareType, ResourceType, ServiceAuthorization, TransactionStatus, TransactionStatusFilter, TransactionType } from "./enums";
2
+ import { ApplicationStatus, ComparisonOperator, CredentialsScope, DataLakeResourceType, EnableStatus, FieldNameString, OptimizerType, Permission, PermissionType, QueryStateString, ResourceShareType, ResourceType, ServiceAuthorization, TransactionStatus, TransactionStatusFilter, TransactionType, VerificationStatus } from "./enums";
3
3
  /**
4
4
  * <p>A structure containing an LF-tag key-value pair.</p>
5
5
  * @public
@@ -1200,6 +1200,27 @@ export interface ResourceInfo {
1200
1200
  * @public
1201
1201
  */
1202
1202
  WithPrivilegedAccess?: boolean | undefined;
1203
+ /**
1204
+ * <p>Indicates whether the registered role has sufficient permissions to access registered Amazon S3 location. Verification Status can be one of the following: </p>
1205
+ * <ul>
1206
+ * <li>
1207
+ * <p>VERIFIED - Registered role has sufficient permissions to access registered Amazon S3 location.</p>
1208
+ * </li>
1209
+ * <li>
1210
+ * <p>NOT_VERIFIED - Registered role does not have sufficient permissions to access registered Amazon S3 location.</p>
1211
+ * </li>
1212
+ * <li>
1213
+ * <p>VERIFICATION_FAILED - Unable to verify if the registered role can access the registered Amazon S3 location.</p>
1214
+ * </li>
1215
+ * </ul>
1216
+ * @public
1217
+ */
1218
+ VerificationStatus?: VerificationStatus | undefined;
1219
+ /**
1220
+ * <p>The Amazon Web Services account that owns the Glue tables associated with specific Amazon S3 locations. </p>
1221
+ * @public
1222
+ */
1223
+ ExpectedResourceOwnerAccount?: string | undefined;
1203
1224
  }
1204
1225
  /**
1205
1226
  * @public
@@ -1878,6 +1899,96 @@ export interface GetTableObjectsResponse {
1878
1899
  */
1879
1900
  NextToken?: string | undefined;
1880
1901
  }
1902
+ /**
1903
+ * @public
1904
+ */
1905
+ export interface GetTemporaryDataLocationCredentialsRequest {
1906
+ /**
1907
+ * <p>The time period, between 900 and 43,200 seconds, for the timeout of the temporary credentials.</p>
1908
+ * @public
1909
+ */
1910
+ DurationSeconds?: number | undefined;
1911
+ /**
1912
+ * <p>A structure used to include auditing information on the privileged API. </p>
1913
+ * @public
1914
+ */
1915
+ AuditContext?: AuditContext | undefined;
1916
+ /**
1917
+ * <p>The Amazon S3 data location that you want to access.</p>
1918
+ * @public
1919
+ */
1920
+ DataLocations?: string[] | undefined;
1921
+ /**
1922
+ * <p>The credential scope is determined by the caller's Lake Formation permission on the associated table. Credential scope can be either:</p>
1923
+ * <ul>
1924
+ * <li>
1925
+ * <p>READ - Provides read-only access to the data location.</p>
1926
+ * </li>
1927
+ * <li>
1928
+ * <p>READ_WRITE - Provides both read and write access to the data location.</p>
1929
+ * </li>
1930
+ * </ul>
1931
+ * @public
1932
+ */
1933
+ CredentialsScope?: CredentialsScope | undefined;
1934
+ }
1935
+ /**
1936
+ * <p>A temporary set of credentials for an Lake Formation user. These credentials are scoped down to only access the raw data sources that the user has access to. </p>
1937
+ * <p>The temporary security credentials consist of an access key and a session token. The access key consists of an access key ID and a secret key. When the credentials are created, they are associated with an IAM access control policy that limits what the user can do when using the credentials.</p>
1938
+ * @public
1939
+ */
1940
+ export interface TemporaryCredentials {
1941
+ /**
1942
+ * <p>The access key ID for the temporary credentials.</p>
1943
+ * @public
1944
+ */
1945
+ AccessKeyId?: string | undefined;
1946
+ /**
1947
+ * <p>The secret key for the temporary credentials.</p>
1948
+ * @public
1949
+ */
1950
+ SecretAccessKey?: string | undefined;
1951
+ /**
1952
+ * <p>The session token for the temporary credentials.</p>
1953
+ * @public
1954
+ */
1955
+ SessionToken?: string | undefined;
1956
+ /**
1957
+ * <p>The date and time when the temporary credentials expire.</p>
1958
+ * @public
1959
+ */
1960
+ Expiration?: Date | undefined;
1961
+ }
1962
+ /**
1963
+ * @public
1964
+ */
1965
+ export interface GetTemporaryDataLocationCredentialsResponse {
1966
+ /**
1967
+ * <p>A temporary set of credentials for an Lake Formation user. These credentials are scoped down to only access the raw data sources that the user has access to. </p>
1968
+ * <p>The temporary security credentials consist of an access key and a session token. The access key consists of an access key ID and a secret key. When the credentials are created, they are associated with an IAM access control policy that limits what the user can do when using the credentials.</p>
1969
+ * @public
1970
+ */
1971
+ Credentials?: TemporaryCredentials | undefined;
1972
+ /**
1973
+ * <p>Refers to the Amazon S3 locations that can be
1974
+ * accessed through the <code>GetTemporaryCredentialsForLocation</code> API operation.</p>
1975
+ * @public
1976
+ */
1977
+ AccessibleDataLocations?: string[] | undefined;
1978
+ /**
1979
+ * <p>The credential scope is determined by the caller's Lake Formation permission on the associated table. Credential scope can be either:</p>
1980
+ * <ul>
1981
+ * <li>
1982
+ * <p>READ - Provides read-only access to the data location.</p>
1983
+ * </li>
1984
+ * <li>
1985
+ * <p>READ_WRITE - Provides both read and write access to the data location.</p>
1986
+ * </li>
1987
+ * </ul>
1988
+ * @public
1989
+ */
1990
+ CredentialsScope?: CredentialsScope | undefined;
1991
+ }
1881
1992
  /**
1882
1993
  * <p>Contains a list of values defining partitions.</p>
1883
1994
  * @public
@@ -2688,6 +2799,12 @@ export interface RegisterResourceRequest {
2688
2799
  * @public
2689
2800
  */
2690
2801
  WithPrivilegedAccess?: boolean | undefined;
2802
+ /**
2803
+ * <p>The Amazon Web Services account that owns the Glue tables associated with specific Amazon S3 locations.
2804
+ * </p>
2805
+ * @public
2806
+ */
2807
+ ExpectedResourceOwnerAccount?: string | undefined;
2691
2808
  }
2692
2809
  /**
2693
2810
  * @public
@@ -3110,6 +3227,12 @@ export interface UpdateResourceRequest {
3110
3227
  * @public
3111
3228
  */
3112
3229
  HybridAccessEnabled?: boolean | undefined;
3230
+ /**
3231
+ * <p>The Amazon Web Services account that owns the Glue tables associated with specific Amazon S3 locations.
3232
+ * </p>
3233
+ * @public
3234
+ */
3235
+ ExpectedResourceOwnerAccount?: string | undefined;
3113
3236
  }
3114
3237
  /**
3115
3238
  * @public
@@ -23,6 +23,7 @@ export declare var CommitTransactionRequest$: StaticStructureSchema;
23
23
  export declare var CommitTransactionResponse$: StaticStructureSchema;
24
24
  export declare var ConcurrentModificationException$: StaticErrorSchema;
25
25
  export declare var Condition$: StaticStructureSchema;
26
+ export declare var ConflictException$: StaticErrorSchema;
26
27
  export declare var CreateDataCellsFilterRequest$: StaticStructureSchema;
27
28
  export declare var CreateDataCellsFilterResponse$: StaticStructureSchema;
28
29
  export declare var CreateLakeFormationIdentityCenterConfigurationRequest$: StaticStructureSchema;
@@ -89,6 +90,8 @@ export declare var GetResourceLFTagsRequest$: StaticStructureSchema;
89
90
  export declare var GetResourceLFTagsResponse$: StaticStructureSchema;
90
91
  export declare var GetTableObjectsRequest$: StaticStructureSchema;
91
92
  export declare var GetTableObjectsResponse$: StaticStructureSchema;
93
+ export declare var GetTemporaryDataLocationCredentialsRequest$: StaticStructureSchema;
94
+ export declare var GetTemporaryDataLocationCredentialsResponse$: StaticStructureSchema;
92
95
  export declare var GetTemporaryGluePartitionCredentialsRequest$: StaticStructureSchema;
93
96
  export declare var GetTemporaryGluePartitionCredentialsResponse$: StaticStructureSchema;
94
97
  export declare var GetTemporaryGlueTableCredentialsRequest$: StaticStructureSchema;
@@ -165,6 +168,7 @@ export declare var TableWildcard$: StaticStructureSchema;
165
168
  export declare var TableWithColumnsResource$: StaticStructureSchema;
166
169
  export declare var TaggedDatabase$: StaticStructureSchema;
167
170
  export declare var TaggedTable$: StaticStructureSchema;
171
+ export declare var TemporaryCredentials$: StaticStructureSchema;
168
172
  export declare var ThrottledException$: StaticErrorSchema;
169
173
  export declare var TransactionCanceledException$: StaticErrorSchema;
170
174
  export declare var TransactionCommitInProgressException$: StaticErrorSchema;
@@ -223,6 +227,7 @@ export declare var GetQueryState$: StaticOperationSchema;
223
227
  export declare var GetQueryStatistics$: StaticOperationSchema;
224
228
  export declare var GetResourceLFTags$: StaticOperationSchema;
225
229
  export declare var GetTableObjects$: StaticOperationSchema;
230
+ export declare var GetTemporaryDataLocationCredentials$: StaticOperationSchema;
226
231
  export declare var GetTemporaryGluePartitionCredentials$: StaticOperationSchema;
227
232
  export declare var GetTemporaryGlueTableCredentials$: StaticOperationSchema;
228
233
  export declare var GetWorkUnitResults$: StaticOperationSchema;
@@ -127,6 +127,10 @@ import {
127
127
  GetTableObjectsCommandInput,
128
128
  GetTableObjectsCommandOutput,
129
129
  } from "./commands/GetTableObjectsCommand";
130
+ import {
131
+ GetTemporaryDataLocationCredentialsCommandInput,
132
+ GetTemporaryDataLocationCredentialsCommandOutput,
133
+ } from "./commands/GetTemporaryDataLocationCredentialsCommand";
130
134
  import {
131
135
  GetTemporaryGluePartitionCredentialsCommandInput,
132
136
  GetTemporaryGluePartitionCredentialsCommandOutput,
@@ -682,6 +686,26 @@ export interface LakeFormation {
682
686
  options: __HttpHandlerOptions,
683
687
  cb: (err: any, data?: GetTableObjectsCommandOutput) => void
684
688
  ): void;
689
+ getTemporaryDataLocationCredentials(): Promise<GetTemporaryDataLocationCredentialsCommandOutput>;
690
+ getTemporaryDataLocationCredentials(
691
+ args: GetTemporaryDataLocationCredentialsCommandInput,
692
+ options?: __HttpHandlerOptions
693
+ ): Promise<GetTemporaryDataLocationCredentialsCommandOutput>;
694
+ getTemporaryDataLocationCredentials(
695
+ args: GetTemporaryDataLocationCredentialsCommandInput,
696
+ cb: (
697
+ err: any,
698
+ data?: GetTemporaryDataLocationCredentialsCommandOutput
699
+ ) => void
700
+ ): void;
701
+ getTemporaryDataLocationCredentials(
702
+ args: GetTemporaryDataLocationCredentialsCommandInput,
703
+ options: __HttpHandlerOptions,
704
+ cb: (
705
+ err: any,
706
+ data?: GetTemporaryDataLocationCredentialsCommandOutput
707
+ ) => void
708
+ ): void;
685
709
  getTemporaryGluePartitionCredentials(
686
710
  args: GetTemporaryGluePartitionCredentialsCommandInput,
687
711
  options?: __HttpHandlerOptions
@@ -174,6 +174,10 @@ import {
174
174
  GetTableObjectsCommandInput,
175
175
  GetTableObjectsCommandOutput,
176
176
  } from "./commands/GetTableObjectsCommand";
177
+ import {
178
+ GetTemporaryDataLocationCredentialsCommandInput,
179
+ GetTemporaryDataLocationCredentialsCommandOutput,
180
+ } from "./commands/GetTemporaryDataLocationCredentialsCommand";
177
181
  import {
178
182
  GetTemporaryGluePartitionCredentialsCommandInput,
179
183
  GetTemporaryGluePartitionCredentialsCommandOutput,
@@ -326,6 +330,7 @@ export type ServiceInputTypes =
326
330
  | GetQueryStatisticsCommandInput
327
331
  | GetResourceLFTagsCommandInput
328
332
  | GetTableObjectsCommandInput
333
+ | GetTemporaryDataLocationCredentialsCommandInput
329
334
  | GetTemporaryGluePartitionCredentialsCommandInput
330
335
  | GetTemporaryGlueTableCredentialsCommandInput
331
336
  | GetWorkUnitResultsCommandInput
@@ -387,6 +392,7 @@ export type ServiceOutputTypes =
387
392
  | GetQueryStatisticsCommandOutput
388
393
  | GetResourceLFTagsCommandOutput
389
394
  | GetTableObjectsCommandOutput
395
+ | GetTemporaryDataLocationCredentialsCommandOutput
390
396
  | GetTemporaryGluePartitionCredentialsCommandOutput
391
397
  | GetTemporaryGlueTableCredentialsCommandOutput
392
398
  | GetWorkUnitResultsCommandOutput
@@ -0,0 +1,51 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import {
4
+ LakeFormationClientResolvedConfig,
5
+ ServiceInputTypes,
6
+ ServiceOutputTypes,
7
+ } from "../LakeFormationClient";
8
+ import {
9
+ GetTemporaryDataLocationCredentialsRequest,
10
+ GetTemporaryDataLocationCredentialsResponse,
11
+ } from "../models/models_0";
12
+ export { __MetadataBearer };
13
+ export { $Command };
14
+ export interface GetTemporaryDataLocationCredentialsCommandInput
15
+ extends GetTemporaryDataLocationCredentialsRequest {}
16
+ export interface GetTemporaryDataLocationCredentialsCommandOutput
17
+ extends GetTemporaryDataLocationCredentialsResponse,
18
+ __MetadataBearer {}
19
+ declare const GetTemporaryDataLocationCredentialsCommand_base: {
20
+ new (
21
+ input: GetTemporaryDataLocationCredentialsCommandInput
22
+ ): import("@smithy/smithy-client").CommandImpl<
23
+ GetTemporaryDataLocationCredentialsCommandInput,
24
+ GetTemporaryDataLocationCredentialsCommandOutput,
25
+ LakeFormationClientResolvedConfig,
26
+ ServiceInputTypes,
27
+ ServiceOutputTypes
28
+ >;
29
+ new (
30
+ ...[input]: [] | [GetTemporaryDataLocationCredentialsCommandInput]
31
+ ): import("@smithy/smithy-client").CommandImpl<
32
+ GetTemporaryDataLocationCredentialsCommandInput,
33
+ GetTemporaryDataLocationCredentialsCommandOutput,
34
+ LakeFormationClientResolvedConfig,
35
+ ServiceInputTypes,
36
+ ServiceOutputTypes
37
+ >;
38
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
39
+ };
40
+ export declare class GetTemporaryDataLocationCredentialsCommand extends GetTemporaryDataLocationCredentialsCommand_base {
41
+ protected static __types: {
42
+ api: {
43
+ input: GetTemporaryDataLocationCredentialsRequest;
44
+ output: GetTemporaryDataLocationCredentialsResponse;
45
+ };
46
+ sdk: {
47
+ input: GetTemporaryDataLocationCredentialsCommandInput;
48
+ output: GetTemporaryDataLocationCredentialsCommandOutput;
49
+ };
50
+ };
51
+ }
@@ -30,6 +30,7 @@ export * from "./GetQueryStateCommand";
30
30
  export * from "./GetQueryStatisticsCommand";
31
31
  export * from "./GetResourceLFTagsCommand";
32
32
  export * from "./GetTableObjectsCommand";
33
+ export * from "./GetTemporaryDataLocationCredentialsCommand";
33
34
  export * from "./GetTemporaryGluePartitionCredentialsCommand";
34
35
  export * from "./GetTemporaryGlueTableCredentialsCommand";
35
36
  export * from "./GetWorkUnitResultsCommand";
@@ -47,6 +47,13 @@ export declare const ServiceAuthorization: {
47
47
  };
48
48
  export type ServiceAuthorization =
49
49
  (typeof ServiceAuthorization)[keyof typeof ServiceAuthorization];
50
+ export declare const VerificationStatus: {
51
+ readonly NOT_VERIFIED: "NOT_VERIFIED";
52
+ readonly VERIFICATION_FAILED: "VERIFICATION_FAILED";
53
+ readonly VERIFIED: "VERIFIED";
54
+ };
55
+ export type VerificationStatus =
56
+ (typeof VerificationStatus)[keyof typeof VerificationStatus];
50
57
  export declare const QueryStateString: {
51
58
  readonly ERROR: "ERROR";
52
59
  readonly EXPIRED: "EXPIRED";
@@ -56,6 +63,12 @@ export declare const QueryStateString: {
56
63
  };
57
64
  export type QueryStateString =
58
65
  (typeof QueryStateString)[keyof typeof QueryStateString];
66
+ export declare const CredentialsScope: {
67
+ readonly READ: "READ";
68
+ readonly READWRITE: "READWRITE";
69
+ };
70
+ export type CredentialsScope =
71
+ (typeof CredentialsScope)[keyof typeof CredentialsScope];
59
72
  export declare const PermissionType: {
60
73
  readonly CELL_FILTER_PERMISSION: "CELL_FILTER_PERMISSION";
61
74
  readonly COLUMN_PERMISSION: "COLUMN_PERMISSION";
@@ -136,6 +136,12 @@ export declare class GlueEncryptionException extends __BaseException {
136
136
  opts: __ExceptionOptionType<GlueEncryptionException, __BaseException>
137
137
  );
138
138
  }
139
+ export declare class ConflictException extends __BaseException {
140
+ readonly name: "ConflictException";
141
+ readonly $fault: "client";
142
+ Message?: string | undefined;
143
+ constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
144
+ }
139
145
  export declare class PermissionTypeMismatchException extends __BaseException {
140
146
  readonly name: "PermissionTypeMismatchException";
141
147
  readonly $fault: "client";
@@ -2,6 +2,7 @@ import { StreamingBlobTypes } from "@smithy/types";
2
2
  import {
3
3
  ApplicationStatus,
4
4
  ComparisonOperator,
5
+ CredentialsScope,
5
6
  DataLakeResourceType,
6
7
  EnableStatus,
7
8
  FieldNameString,
@@ -15,6 +16,7 @@ import {
15
16
  TransactionStatus,
16
17
  TransactionStatusFilter,
17
18
  TransactionType,
19
+ VerificationStatus,
18
20
  } from "./enums";
19
21
  export interface LFTagPair {
20
22
  CatalogId?: string | undefined;
@@ -318,6 +320,8 @@ export interface ResourceInfo {
318
320
  WithFederation?: boolean | undefined;
319
321
  HybridAccessEnabled?: boolean | undefined;
320
322
  WithPrivilegedAccess?: boolean | undefined;
323
+ VerificationStatus?: VerificationStatus | undefined;
324
+ ExpectedResourceOwnerAccount?: string | undefined;
321
325
  }
322
326
  export interface DescribeResourceResponse {
323
327
  ResourceInfo?: ResourceInfo | undefined;
@@ -478,6 +482,23 @@ export interface GetTableObjectsResponse {
478
482
  Objects?: PartitionObjects[] | undefined;
479
483
  NextToken?: string | undefined;
480
484
  }
485
+ export interface GetTemporaryDataLocationCredentialsRequest {
486
+ DurationSeconds?: number | undefined;
487
+ AuditContext?: AuditContext | undefined;
488
+ DataLocations?: string[] | undefined;
489
+ CredentialsScope?: CredentialsScope | undefined;
490
+ }
491
+ export interface TemporaryCredentials {
492
+ AccessKeyId?: string | undefined;
493
+ SecretAccessKey?: string | undefined;
494
+ SessionToken?: string | undefined;
495
+ Expiration?: Date | undefined;
496
+ }
497
+ export interface GetTemporaryDataLocationCredentialsResponse {
498
+ Credentials?: TemporaryCredentials | undefined;
499
+ AccessibleDataLocations?: string[] | undefined;
500
+ CredentialsScope?: CredentialsScope | undefined;
501
+ }
481
502
  export interface PartitionValueList {
482
503
  Values: string[] | undefined;
483
504
  }
@@ -669,6 +690,7 @@ export interface RegisterResourceRequest {
669
690
  WithFederation?: boolean | undefined;
670
691
  HybridAccessEnabled?: boolean | undefined;
671
692
  WithPrivilegedAccess?: boolean | undefined;
693
+ ExpectedResourceOwnerAccount?: string | undefined;
672
694
  }
673
695
  export interface RegisterResourceResponse {}
674
696
  export interface RemoveLFTagsFromResourceRequest {
@@ -769,6 +791,7 @@ export interface UpdateResourceRequest {
769
791
  ResourceArn: string | undefined;
770
792
  WithFederation?: boolean | undefined;
771
793
  HybridAccessEnabled?: boolean | undefined;
794
+ ExpectedResourceOwnerAccount?: string | undefined;
772
795
  }
773
796
  export interface UpdateResourceResponse {}
774
797
  export interface DeleteObjectInput {