aws-sdk-lakeformation 1.83.0 → 1.84.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cbc77fc937e5a0dbb333d781b8c7ca0aaae804d936797bc131a3336b0db3fca1
4
- data.tar.gz: e8268b18b8f4934a37c9e9c9bcb678e0ababdf435382355c0a357def24242cc9
3
+ metadata.gz: a3e0dd90e6b4c132c67beaab6d04876138e68a617afbf24665c11a47d9d67d6e
4
+ data.tar.gz: '00585f7bd9647a46511ce93b70266481ffba16f159257548c877f6412d7efea4'
5
5
  SHA512:
6
- metadata.gz: 6776c9d8b3a092e07dc4d28c2c411feca33143f5ae7733a9c991173d894bda68098d4234e3bd74839c5102f12eb974a1152f414d395d2210c6585407ca1f97be
7
- data.tar.gz: 5069e0931b8eb7face2f5cc3ef7fa4f038647b44feb6663ec0ab319493a7649d0619137444f9a9acdcd49718297e74d8679f5bc32f704fcc525b3077dbc599e4
6
+ metadata.gz: ca87a0cf2129902abf07283ec04f5172a3106bbd92eeb3b38950638a502a023ecd4f42596e27886a96477f5f0a34a13a5ebf50109f985f1e3b630746aa729868
7
+ data.tar.gz: 549646966634e04a5f239c0ca9225667720e12bb6639ae1d8f502825f0e8b4a4bdfab47686e810b9cc93f797e3515153f80ab0067b04a0eab796a5c7c7818f3f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.84.0 (2026-01-15)
5
+ ------------------
6
+
7
+ * Feature - API Changes for GTCForLocation feature. Includes a new API, GetTemporaryDataLocationCredentials and updates to the APIs RegisterResource and UpdateResource
8
+
4
9
  1.83.0 (2026-01-08)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.83.0
1
+ 1.84.0
@@ -1664,6 +1664,8 @@ module Aws::LakeFormation
1664
1664
  # resp.resource_info.with_federation #=> Boolean
1665
1665
  # resp.resource_info.hybrid_access_enabled #=> Boolean
1666
1666
  # resp.resource_info.with_privileged_access #=> Boolean
1667
+ # resp.resource_info.verification_status #=> String, one of "VERIFIED", "VERIFICATION_FAILED", "NOT_VERIFIED"
1668
+ # resp.resource_info.expected_resource_owner_account #=> String
1667
1669
  #
1668
1670
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResource AWS API Documentation
1669
1671
  #
@@ -2296,6 +2298,90 @@ module Aws::LakeFormation
2296
2298
  req.send_request(options)
2297
2299
  end
2298
2300
 
2301
+ # Allows a user or application in a secure environment to access data in
2302
+ # a specific Amazon S3 location registered with Lake Formation by
2303
+ # providing temporary scoped credentials that are limited to the
2304
+ # requested data location and the caller's authorized access level.
2305
+ #
2306
+ # The API operation returns an error in the following scenarios:
2307
+ #
2308
+ # * The data location is not registered with Lake Formation.
2309
+ #
2310
+ # * No Glue table is associated with the data location.
2311
+ #
2312
+ # * The caller doesn't have required permissions on the associated
2313
+ # table. The caller must have `SELECT` or `SUPER` permissions on the
2314
+ # associated table, and credential vending for full table access must
2315
+ # be enabled in the data lake settings.
2316
+ #
2317
+ # For more information, see [Application integration for full table
2318
+ # access][1].
2319
+ #
2320
+ # * The data location is in a different Amazon Web Services Region. Lake
2321
+ # Formation doesn't support cross-Region access when vending
2322
+ # credentials for a data location. Lake Formation only supports Amazon
2323
+ # S3 paths registered within the same Region as the API call.
2324
+ #
2325
+ #
2326
+ #
2327
+ # [1]: https://docs.aws.amazon.com/lake-formation/latest/dg/full-table-credential-vending.html
2328
+ #
2329
+ # @option params [Integer] :duration_seconds
2330
+ # The time period, between 900 and 43,200 seconds, for the timeout of
2331
+ # the temporary credentials.
2332
+ #
2333
+ # @option params [Types::AuditContext] :audit_context
2334
+ # A structure used to include auditing information on the privileged
2335
+ # API.
2336
+ #
2337
+ # @option params [Array<String>] :data_locations
2338
+ # The Amazon S3 data location that you want to access.
2339
+ #
2340
+ # @option params [String] :credentials_scope
2341
+ # The credential scope is determined by the caller's Lake Formation
2342
+ # permission on the associated table. Credential scope can be either:
2343
+ #
2344
+ # * READ - Provides read-only access to the data location.
2345
+ #
2346
+ # * READ\_WRITE - Provides both read and write access to the data
2347
+ # location.
2348
+ #
2349
+ # @return [Types::GetTemporaryDataLocationCredentialsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2350
+ #
2351
+ # * {Types::GetTemporaryDataLocationCredentialsResponse#credentials #credentials} => Types::TemporaryCredentials
2352
+ # * {Types::GetTemporaryDataLocationCredentialsResponse#accessible_data_locations #accessible_data_locations} => Array&lt;String&gt;
2353
+ # * {Types::GetTemporaryDataLocationCredentialsResponse#credentials_scope #credentials_scope} => String
2354
+ #
2355
+ # @example Request syntax with placeholder values
2356
+ #
2357
+ # resp = client.get_temporary_data_location_credentials({
2358
+ # duration_seconds: 1,
2359
+ # audit_context: {
2360
+ # additional_audit_context: "AuditContextString",
2361
+ # },
2362
+ # data_locations: ["PathString"],
2363
+ # credentials_scope: "READ", # accepts READ, READWRITE
2364
+ # })
2365
+ #
2366
+ # @example Response structure
2367
+ #
2368
+ # resp.credentials.access_key_id #=> String
2369
+ # resp.credentials.secret_access_key #=> String
2370
+ # resp.credentials.session_token #=> String
2371
+ # resp.credentials.expiration #=> Time
2372
+ # resp.accessible_data_locations #=> Array
2373
+ # resp.accessible_data_locations[0] #=> String
2374
+ # resp.credentials_scope #=> String, one of "READ", "READWRITE"
2375
+ #
2376
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryDataLocationCredentials AWS API Documentation
2377
+ #
2378
+ # @overload get_temporary_data_location_credentials(params = {})
2379
+ # @param [Hash] params ({})
2380
+ def get_temporary_data_location_credentials(params = {}, options = {})
2381
+ req = build_request(:get_temporary_data_location_credentials, params)
2382
+ req.send_request(options)
2383
+ end
2384
+
2299
2385
  # This API is identical to `GetTemporaryTableCredentials` except that
2300
2386
  # this is used when the target Data Catalog resource is of type
2301
2387
  # Partition. Lake Formation restricts the permission of the vended
@@ -3192,6 +3278,8 @@ module Aws::LakeFormation
3192
3278
  # resp.resource_info_list[0].with_federation #=> Boolean
3193
3279
  # resp.resource_info_list[0].hybrid_access_enabled #=> Boolean
3194
3280
  # resp.resource_info_list[0].with_privileged_access #=> Boolean
3281
+ # resp.resource_info_list[0].verification_status #=> String, one of "VERIFIED", "VERIFICATION_FAILED", "NOT_VERIFIED"
3282
+ # resp.resource_info_list[0].expected_resource_owner_account #=> String
3195
3283
  # resp.next_token #=> String
3196
3284
  #
3197
3285
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResources AWS API Documentation
@@ -3453,6 +3541,10 @@ module Aws::LakeFormation
3453
3541
  # Grants the calling principal the permissions to perform all supported
3454
3542
  # Lake Formation operations on the registered data location.
3455
3543
  #
3544
+ # @option params [String] :expected_resource_owner_account
3545
+ # The Amazon Web Services account that owns the Glue tables associated
3546
+ # with specific Amazon S3 locations.
3547
+ #
3456
3548
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3457
3549
  #
3458
3550
  # @example Request syntax with placeholder values
@@ -3464,6 +3556,7 @@ module Aws::LakeFormation
3464
3556
  # with_federation: false,
3465
3557
  # hybrid_access_enabled: false,
3466
3558
  # with_privileged_access: false,
3559
+ # expected_resource_owner_account: "AccountIdString",
3467
3560
  # })
3468
3561
  #
3469
3562
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResource AWS API Documentation
@@ -4131,6 +4224,10 @@ module Aws::LakeFormation
4131
4224
  # can be managed by both Lake Formation permissions as well as Amazon S3
4132
4225
  # bucket policies.
4133
4226
  #
4227
+ # @option params [String] :expected_resource_owner_account
4228
+ # The Amazon Web Services account that owns the Glue tables associated
4229
+ # with specific Amazon S3 locations.
4230
+ #
4134
4231
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4135
4232
  #
4136
4233
  # @example Request syntax with placeholder values
@@ -4140,6 +4237,7 @@ module Aws::LakeFormation
4140
4237
  # resource_arn: "ResourceArnString", # required
4141
4238
  # with_federation: false,
4142
4239
  # hybrid_access_enabled: false,
4240
+ # expected_resource_owner_account: "AccountIdString",
4143
4241
  # })
4144
4242
  #
4145
4243
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResource AWS API Documentation
@@ -4268,7 +4366,7 @@ module Aws::LakeFormation
4268
4366
  tracer: tracer
4269
4367
  )
4270
4368
  context[:gem_name] = 'aws-sdk-lakeformation'
4271
- context[:gem_version] = '1.83.0'
4369
+ context[:gem_version] = '1.84.0'
4272
4370
  Seahorse::Client::Request.new(handlers, context)
4273
4371
  end
4274
4372
 
@@ -16,6 +16,7 @@ module Aws::LakeFormation
16
16
 
17
17
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
18
18
  AccessKeyIdString = Shapes::StringShape.new(name: 'AccessKeyIdString')
19
+ AccountIdString = Shapes::StringShape.new(name: 'AccountIdString')
19
20
  AddLFTagsToResourceRequest = Shapes::StructureShape.new(name: 'AddLFTagsToResourceRequest')
20
21
  AddLFTagsToResourceResponse = Shapes::StructureShape.new(name: 'AddLFTagsToResourceResponse')
21
22
  AddObjectInput = Shapes::StructureShape.new(name: 'AddObjectInput')
@@ -52,6 +53,7 @@ module Aws::LakeFormation
52
53
  ComparisonOperator = Shapes::StringShape.new(name: 'ComparisonOperator')
53
54
  ConcurrentModificationException = Shapes::StructureShape.new(name: 'ConcurrentModificationException')
54
55
  Condition = Shapes::StructureShape.new(name: 'Condition')
56
+ ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
55
57
  ContextKey = Shapes::StringShape.new(name: 'ContextKey')
56
58
  ContextValue = Shapes::StringShape.new(name: 'ContextValue')
57
59
  CreateDataCellsFilterRequest = Shapes::StructureShape.new(name: 'CreateDataCellsFilterRequest')
@@ -65,6 +67,7 @@ module Aws::LakeFormation
65
67
  CreateLakeFormationOptInRequest = Shapes::StructureShape.new(name: 'CreateLakeFormationOptInRequest')
66
68
  CreateLakeFormationOptInResponse = Shapes::StructureShape.new(name: 'CreateLakeFormationOptInResponse')
67
69
  CredentialTimeoutDurationSecondInteger = Shapes::IntegerShape.new(name: 'CredentialTimeoutDurationSecondInteger')
70
+ CredentialsScope = Shapes::StringShape.new(name: 'CredentialsScope')
68
71
  DataCellsFilter = Shapes::StructureShape.new(name: 'DataCellsFilter')
69
72
  DataCellsFilterList = Shapes::ListShape.new(name: 'DataCellsFilterList')
70
73
  DataCellsFilterResource = Shapes::StructureShape.new(name: 'DataCellsFilterResource')
@@ -138,6 +141,8 @@ module Aws::LakeFormation
138
141
  GetResourceLFTagsResponse = Shapes::StructureShape.new(name: 'GetResourceLFTagsResponse')
139
142
  GetTableObjectsRequest = Shapes::StructureShape.new(name: 'GetTableObjectsRequest')
140
143
  GetTableObjectsResponse = Shapes::StructureShape.new(name: 'GetTableObjectsResponse')
144
+ GetTemporaryDataLocationCredentialsRequest = Shapes::StructureShape.new(name: 'GetTemporaryDataLocationCredentialsRequest')
145
+ GetTemporaryDataLocationCredentialsResponse = Shapes::StructureShape.new(name: 'GetTemporaryDataLocationCredentialsResponse')
141
146
  GetTemporaryGluePartitionCredentialsRequest = Shapes::StructureShape.new(name: 'GetTemporaryGluePartitionCredentialsRequest')
142
147
  GetTemporaryGluePartitionCredentialsResponse = Shapes::StructureShape.new(name: 'GetTemporaryGluePartitionCredentialsResponse')
143
148
  GetTemporaryGlueTableCredentialsRequest = Shapes::StructureShape.new(name: 'GetTemporaryGlueTableCredentialsRequest')
@@ -292,6 +297,7 @@ module Aws::LakeFormation
292
297
  TagValueList = Shapes::ListShape.new(name: 'TagValueList')
293
298
  TaggedDatabase = Shapes::StructureShape.new(name: 'TaggedDatabase')
294
299
  TaggedTable = Shapes::StructureShape.new(name: 'TaggedTable')
300
+ TemporaryCredentials = Shapes::StructureShape.new(name: 'TemporaryCredentials')
295
301
  ThrottledException = Shapes::StructureShape.new(name: 'ThrottledException')
296
302
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
297
303
  Token = Shapes::StringShape.new(name: 'Token')
@@ -324,6 +330,7 @@ module Aws::LakeFormation
324
330
  UpdateTableStorageOptimizerResponse = Shapes::StructureShape.new(name: 'UpdateTableStorageOptimizerResponse')
325
331
  ValueString = Shapes::StringShape.new(name: 'ValueString')
326
332
  ValueStringList = Shapes::ListShape.new(name: 'ValueStringList')
333
+ VerificationStatus = Shapes::StringShape.new(name: 'VerificationStatus')
327
334
  VersionString = Shapes::StringShape.new(name: 'VersionString')
328
335
  VirtualObject = Shapes::StructureShape.new(name: 'VirtualObject')
329
336
  VirtualObjectList = Shapes::ListShape.new(name: 'VirtualObjectList')
@@ -438,6 +445,9 @@ module Aws::LakeFormation
438
445
  Condition.add_member(:expression, Shapes::ShapeRef.new(shape: ExpressionString, location_name: "Expression"))
439
446
  Condition.struct_class = Types::Condition
440
447
 
448
+ ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: MessageString, location_name: "Message"))
449
+ ConflictException.struct_class = Types::ConflictException
450
+
441
451
  CreateDataCellsFilterRequest.add_member(:table_data, Shapes::ShapeRef.new(shape: DataCellsFilter, required: true, location_name: "TableData"))
442
452
  CreateDataCellsFilterRequest.struct_class = Types::CreateDataCellsFilterRequest
443
453
 
@@ -719,6 +729,17 @@ module Aws::LakeFormation
719
729
  GetTableObjectsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: TokenString, location_name: "NextToken"))
720
730
  GetTableObjectsResponse.struct_class = Types::GetTableObjectsResponse
721
731
 
732
+ GetTemporaryDataLocationCredentialsRequest.add_member(:duration_seconds, Shapes::ShapeRef.new(shape: CredentialTimeoutDurationSecondInteger, location_name: "DurationSeconds"))
733
+ GetTemporaryDataLocationCredentialsRequest.add_member(:audit_context, Shapes::ShapeRef.new(shape: AuditContext, location_name: "AuditContext"))
734
+ GetTemporaryDataLocationCredentialsRequest.add_member(:data_locations, Shapes::ShapeRef.new(shape: PathStringList, location_name: "DataLocations"))
735
+ GetTemporaryDataLocationCredentialsRequest.add_member(:credentials_scope, Shapes::ShapeRef.new(shape: CredentialsScope, location_name: "CredentialsScope"))
736
+ GetTemporaryDataLocationCredentialsRequest.struct_class = Types::GetTemporaryDataLocationCredentialsRequest
737
+
738
+ GetTemporaryDataLocationCredentialsResponse.add_member(:credentials, Shapes::ShapeRef.new(shape: TemporaryCredentials, location_name: "Credentials"))
739
+ GetTemporaryDataLocationCredentialsResponse.add_member(:accessible_data_locations, Shapes::ShapeRef.new(shape: PathStringList, location_name: "AccessibleDataLocations"))
740
+ GetTemporaryDataLocationCredentialsResponse.add_member(:credentials_scope, Shapes::ShapeRef.new(shape: CredentialsScope, location_name: "CredentialsScope"))
741
+ GetTemporaryDataLocationCredentialsResponse.struct_class = Types::GetTemporaryDataLocationCredentialsResponse
742
+
722
743
  GetTemporaryGluePartitionCredentialsRequest.add_member(:table_arn, Shapes::ShapeRef.new(shape: ResourceArnString, required: true, location_name: "TableArn"))
723
744
  GetTemporaryGluePartitionCredentialsRequest.add_member(:partition, Shapes::ShapeRef.new(shape: PartitionValueList, required: true, location_name: "Partition"))
724
745
  GetTemporaryGluePartitionCredentialsRequest.add_member(:permissions, Shapes::ShapeRef.new(shape: PermissionList, location_name: "Permissions"))
@@ -1009,6 +1030,7 @@ module Aws::LakeFormation
1009
1030
  RegisterResourceRequest.add_member(:with_federation, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "WithFederation"))
1010
1031
  RegisterResourceRequest.add_member(:hybrid_access_enabled, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "HybridAccessEnabled"))
1011
1032
  RegisterResourceRequest.add_member(:with_privileged_access, Shapes::ShapeRef.new(shape: Boolean, location_name: "WithPrivilegedAccess"))
1033
+ RegisterResourceRequest.add_member(:expected_resource_owner_account, Shapes::ShapeRef.new(shape: AccountIdString, location_name: "ExpectedResourceOwnerAccount"))
1012
1034
  RegisterResourceRequest.struct_class = Types::RegisterResourceRequest
1013
1035
 
1014
1036
  RegisterResourceResponse.struct_class = Types::RegisterResourceResponse
@@ -1038,6 +1060,8 @@ module Aws::LakeFormation
1038
1060
  ResourceInfo.add_member(:with_federation, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "WithFederation"))
1039
1061
  ResourceInfo.add_member(:hybrid_access_enabled, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "HybridAccessEnabled"))
1040
1062
  ResourceInfo.add_member(:with_privileged_access, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "WithPrivilegedAccess"))
1063
+ ResourceInfo.add_member(:verification_status, Shapes::ShapeRef.new(shape: VerificationStatus, location_name: "VerificationStatus"))
1064
+ ResourceInfo.add_member(:expected_resource_owner_account, Shapes::ShapeRef.new(shape: AccountIdString, location_name: "ExpectedResourceOwnerAccount"))
1041
1065
  ResourceInfo.struct_class = Types::ResourceInfo
1042
1066
 
1043
1067
  ResourceInfoList.member = Shapes::ShapeRef.new(shape: ResourceInfo)
@@ -1163,6 +1187,12 @@ module Aws::LakeFormation
1163
1187
  TaggedTable.add_member(:lf_tags_on_columns, Shapes::ShapeRef.new(shape: ColumnLFTagsList, location_name: "LFTagsOnColumns"))
1164
1188
  TaggedTable.struct_class = Types::TaggedTable
1165
1189
 
1190
+ TemporaryCredentials.add_member(:access_key_id, Shapes::ShapeRef.new(shape: AccessKeyIdString, location_name: "AccessKeyId"))
1191
+ TemporaryCredentials.add_member(:secret_access_key, Shapes::ShapeRef.new(shape: SecretAccessKeyString, location_name: "SecretAccessKey"))
1192
+ TemporaryCredentials.add_member(:session_token, Shapes::ShapeRef.new(shape: SessionTokenString, location_name: "SessionToken"))
1193
+ TemporaryCredentials.add_member(:expiration, Shapes::ShapeRef.new(shape: ExpirationTimestamp, location_name: "Expiration"))
1194
+ TemporaryCredentials.struct_class = Types::TemporaryCredentials
1195
+
1166
1196
  ThrottledException.add_member(:message, Shapes::ShapeRef.new(shape: MessageString, location_name: "Message"))
1167
1197
  ThrottledException.struct_class = Types::ThrottledException
1168
1198
 
@@ -1219,6 +1249,7 @@ module Aws::LakeFormation
1219
1249
  UpdateResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArnString, required: true, location_name: "ResourceArn"))
1220
1250
  UpdateResourceRequest.add_member(:with_federation, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "WithFederation"))
1221
1251
  UpdateResourceRequest.add_member(:hybrid_access_enabled, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "HybridAccessEnabled"))
1252
+ UpdateResourceRequest.add_member(:expected_resource_owner_account, Shapes::ShapeRef.new(shape: AccountIdString, location_name: "ExpectedResourceOwnerAccount"))
1222
1253
  UpdateResourceRequest.struct_class = Types::UpdateResourceRequest
1223
1254
 
1224
1255
  UpdateResourceResponse.struct_class = Types::UpdateResourceResponse
@@ -1725,6 +1756,21 @@ module Aws::LakeFormation
1725
1756
  )
1726
1757
  end)
1727
1758
 
1759
+ api.add_operation(:get_temporary_data_location_credentials, Seahorse::Model::Operation.new.tap do |o|
1760
+ o.name = "GetTemporaryDataLocationCredentials"
1761
+ o.http_method = "POST"
1762
+ o.http_request_uri = "/GetTemporaryDataLocationCredentials"
1763
+ o.input = Shapes::ShapeRef.new(shape: GetTemporaryDataLocationCredentialsRequest)
1764
+ o.output = Shapes::ShapeRef.new(shape: GetTemporaryDataLocationCredentialsResponse)
1765
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1766
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
1767
+ o.errors << Shapes::ShapeRef.new(shape: OperationTimeoutException)
1768
+ o.errors << Shapes::ShapeRef.new(shape: GlueEncryptionException)
1769
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
1770
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1771
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1772
+ end)
1773
+
1728
1774
  api.add_operation(:get_temporary_glue_partition_credentials, Seahorse::Model::Operation.new.tap do |o|
1729
1775
  o.name = "GetTemporaryGluePartitionCredentials"
1730
1776
  o.http_method = "POST"
@@ -30,6 +30,7 @@ module Aws::LakeFormation
30
30
  # * {AccessDeniedException}
31
31
  # * {AlreadyExistsException}
32
32
  # * {ConcurrentModificationException}
33
+ # * {ConflictException}
33
34
  # * {EntityNotFoundException}
34
35
  # * {ExpiredException}
35
36
  # * {GlueEncryptionException}
@@ -97,6 +98,21 @@ module Aws::LakeFormation
97
98
  end
98
99
  end
99
100
 
101
+ class ConflictException < ServiceError
102
+
103
+ # @param [Seahorse::Client::RequestContext] context
104
+ # @param [String] message
105
+ # @param [Aws::LakeFormation::Types::ConflictException] data
106
+ def initialize(context, message, data = Aws::EmptyStructure.new)
107
+ super(context, message, data)
108
+ end
109
+
110
+ # @return [String]
111
+ def message
112
+ @message || @data[:message]
113
+ end
114
+ end
115
+
100
116
  class EntityNotFoundException < ServiceError
101
117
 
102
118
  # @param [Seahorse::Client::RequestContext] context
@@ -445,6 +445,20 @@ module Aws::LakeFormation
445
445
  include Aws::Structure
446
446
  end
447
447
 
448
+ # Multiple resources exist with the same Amazon S3 location
449
+ #
450
+ # @!attribute [rw] message
451
+ # A message describing the problem.
452
+ # @return [String]
453
+ #
454
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ConflictException AWS API Documentation
455
+ #
456
+ class ConflictException < Struct.new(
457
+ :message)
458
+ SENSITIVE = []
459
+ include Aws::Structure
460
+ end
461
+
448
462
  # @!attribute [rw] table_data
449
463
  # A `DataCellsFilter` structure containing information about the data
450
464
  # cells filter.
@@ -1803,6 +1817,78 @@ module Aws::LakeFormation
1803
1817
  include Aws::Structure
1804
1818
  end
1805
1819
 
1820
+ # @!attribute [rw] duration_seconds
1821
+ # The time period, between 900 and 43,200 seconds, for the timeout of
1822
+ # the temporary credentials.
1823
+ # @return [Integer]
1824
+ #
1825
+ # @!attribute [rw] audit_context
1826
+ # A structure used to include auditing information on the privileged
1827
+ # API.
1828
+ # @return [Types::AuditContext]
1829
+ #
1830
+ # @!attribute [rw] data_locations
1831
+ # The Amazon S3 data location that you want to access.
1832
+ # @return [Array<String>]
1833
+ #
1834
+ # @!attribute [rw] credentials_scope
1835
+ # The credential scope is determined by the caller's Lake Formation
1836
+ # permission on the associated table. Credential scope can be either:
1837
+ #
1838
+ # * READ - Provides read-only access to the data location.
1839
+ #
1840
+ # * READ\_WRITE - Provides both read and write access to the data
1841
+ # location.
1842
+ # @return [String]
1843
+ #
1844
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryDataLocationCredentialsRequest AWS API Documentation
1845
+ #
1846
+ class GetTemporaryDataLocationCredentialsRequest < Struct.new(
1847
+ :duration_seconds,
1848
+ :audit_context,
1849
+ :data_locations,
1850
+ :credentials_scope)
1851
+ SENSITIVE = []
1852
+ include Aws::Structure
1853
+ end
1854
+
1855
+ # @!attribute [rw] credentials
1856
+ # A temporary set of credentials for an Lake Formation user. These
1857
+ # credentials are scoped down to only access the raw data sources that
1858
+ # the user has access to.
1859
+ #
1860
+ # The temporary security credentials consist of an access key and a
1861
+ # session token. The access key consists of an access key ID and a
1862
+ # secret key. When the credentials are created, they are associated
1863
+ # with an IAM access control policy that limits what the user can do
1864
+ # when using the credentials.
1865
+ # @return [Types::TemporaryCredentials]
1866
+ #
1867
+ # @!attribute [rw] accessible_data_locations
1868
+ # Refers to the Amazon S3 locations that can be accessed through the
1869
+ # `GetTemporaryCredentialsForLocation` API operation.
1870
+ # @return [Array<String>]
1871
+ #
1872
+ # @!attribute [rw] credentials_scope
1873
+ # The credential scope is determined by the caller's Lake Formation
1874
+ # permission on the associated table. Credential scope can be either:
1875
+ #
1876
+ # * READ - Provides read-only access to the data location.
1877
+ #
1878
+ # * READ\_WRITE - Provides both read and write access to the data
1879
+ # location.
1880
+ # @return [String]
1881
+ #
1882
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryDataLocationCredentialsResponse AWS API Documentation
1883
+ #
1884
+ class GetTemporaryDataLocationCredentialsResponse < Struct.new(
1885
+ :credentials,
1886
+ :accessible_data_locations,
1887
+ :credentials_scope)
1888
+ SENSITIVE = []
1889
+ include Aws::Structure
1890
+ end
1891
+
1806
1892
  # @!attribute [rw] table_arn
1807
1893
  # The ARN of the partitions' table.
1808
1894
  # @return [String]
@@ -3121,6 +3207,11 @@ module Aws::LakeFormation
3121
3207
  # supported Lake Formation operations on the registered data location.
3122
3208
  # @return [Boolean]
3123
3209
  #
3210
+ # @!attribute [rw] expected_resource_owner_account
3211
+ # The Amazon Web Services account that owns the Glue tables associated
3212
+ # with specific Amazon S3 locations.
3213
+ # @return [String]
3214
+ #
3124
3215
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResourceRequest AWS API Documentation
3125
3216
  #
3126
3217
  class RegisterResourceRequest < Struct.new(
@@ -3129,7 +3220,8 @@ module Aws::LakeFormation
3129
3220
  :role_arn,
3130
3221
  :with_federation,
3131
3222
  :hybrid_access_enabled,
3132
- :with_privileged_access)
3223
+ :with_privileged_access,
3224
+ :expected_resource_owner_account)
3133
3225
  SENSITIVE = []
3134
3226
  include Aws::Structure
3135
3227
  end
@@ -3272,6 +3364,26 @@ module Aws::LakeFormation
3272
3364
  # supported Lake Formation operations on the registered data location.
3273
3365
  # @return [Boolean]
3274
3366
  #
3367
+ # @!attribute [rw] verification_status
3368
+ # Indicates whether the registered role has sufficient permissions to
3369
+ # access registered Amazon S3 location. Verification Status can be one
3370
+ # of the following:
3371
+ #
3372
+ # * VERIFIED - Registered role has sufficient permissions to access
3373
+ # registered Amazon S3 location.
3374
+ #
3375
+ # * NOT\_VERIFIED - Registered role does not have sufficient
3376
+ # permissions to access registered Amazon S3 location.
3377
+ #
3378
+ # * VERIFICATION\_FAILED - Unable to verify if the registered role can
3379
+ # access the registered Amazon S3 location.
3380
+ # @return [String]
3381
+ #
3382
+ # @!attribute [rw] expected_resource_owner_account
3383
+ # The Amazon Web Services account that owns the Glue tables associated
3384
+ # with specific Amazon S3 locations.
3385
+ # @return [String]
3386
+ #
3275
3387
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ResourceInfo AWS API Documentation
3276
3388
  #
3277
3389
  class ResourceInfo < Struct.new(
@@ -3280,7 +3392,9 @@ module Aws::LakeFormation
3280
3392
  :last_modified,
3281
3393
  :with_federation,
3282
3394
  :hybrid_access_enabled,
3283
- :with_privileged_access)
3395
+ :with_privileged_access,
3396
+ :verification_status,
3397
+ :expected_resource_owner_account)
3284
3398
  SENSITIVE = []
3285
3399
  include Aws::Structure
3286
3400
  end
@@ -3793,6 +3907,43 @@ module Aws::LakeFormation
3793
3907
  include Aws::Structure
3794
3908
  end
3795
3909
 
3910
+ # A temporary set of credentials for an Lake Formation user. These
3911
+ # credentials are scoped down to only access the raw data sources that
3912
+ # the user has access to.
3913
+ #
3914
+ # The temporary security credentials consist of an access key and a
3915
+ # session token. The access key consists of an access key ID and a
3916
+ # secret key. When the credentials are created, they are associated with
3917
+ # an IAM access control policy that limits what the user can do when
3918
+ # using the credentials.
3919
+ #
3920
+ # @!attribute [rw] access_key_id
3921
+ # The access key ID for the temporary credentials.
3922
+ # @return [String]
3923
+ #
3924
+ # @!attribute [rw] secret_access_key
3925
+ # The secret key for the temporary credentials.
3926
+ # @return [String]
3927
+ #
3928
+ # @!attribute [rw] session_token
3929
+ # The session token for the temporary credentials.
3930
+ # @return [String]
3931
+ #
3932
+ # @!attribute [rw] expiration
3933
+ # The date and time when the temporary credentials expire.
3934
+ # @return [Time]
3935
+ #
3936
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/TemporaryCredentials AWS API Documentation
3937
+ #
3938
+ class TemporaryCredentials < Struct.new(
3939
+ :access_key_id,
3940
+ :secret_access_key,
3941
+ :session_token,
3942
+ :expiration)
3943
+ SENSITIVE = []
3944
+ include Aws::Structure
3945
+ end
3946
+
3796
3947
  # Contains details about an error where the query request was throttled.
3797
3948
  #
3798
3949
  # @!attribute [rw] message
@@ -4039,13 +4190,19 @@ module Aws::LakeFormation
4039
4190
  # S3 bucket policies.
4040
4191
  # @return [Boolean]
4041
4192
  #
4193
+ # @!attribute [rw] expected_resource_owner_account
4194
+ # The Amazon Web Services account that owns the Glue tables associated
4195
+ # with specific Amazon S3 locations.
4196
+ # @return [String]
4197
+ #
4042
4198
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResourceRequest AWS API Documentation
4043
4199
  #
4044
4200
  class UpdateResourceRequest < Struct.new(
4045
4201
  :role_arn,
4046
4202
  :resource_arn,
4047
4203
  :with_federation,
4048
- :hybrid_access_enabled)
4204
+ :hybrid_access_enabled,
4205
+ :expected_resource_owner_account)
4049
4206
  SENSITIVE = []
4050
4207
  include Aws::Structure
4051
4208
  end
@@ -54,7 +54,7 @@ module Aws::LakeFormation
54
54
  autoload :EndpointProvider, 'aws-sdk-lakeformation/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-lakeformation/endpoints'
56
56
 
57
- GEM_VERSION = '1.83.0'
57
+ GEM_VERSION = '1.84.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -856,6 +856,23 @@ module Aws
856
856
  ) -> _GetTableObjectsResponseSuccess
857
857
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetTableObjectsResponseSuccess
858
858
 
859
+ interface _GetTemporaryDataLocationCredentialsResponseSuccess
860
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetTemporaryDataLocationCredentialsResponse]
861
+ def credentials: () -> Types::TemporaryCredentials
862
+ def accessible_data_locations: () -> ::Array[::String]
863
+ def credentials_scope: () -> ("READ" | "READWRITE")
864
+ end
865
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LakeFormation/Client.html#get_temporary_data_location_credentials-instance_method
866
+ def get_temporary_data_location_credentials: (
867
+ ?duration_seconds: ::Integer,
868
+ ?audit_context: {
869
+ additional_audit_context: ::String?
870
+ },
871
+ ?data_locations: Array[::String],
872
+ ?credentials_scope: ("READ" | "READWRITE")
873
+ ) -> _GetTemporaryDataLocationCredentialsResponseSuccess
874
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetTemporaryDataLocationCredentialsResponseSuccess
875
+
859
876
  interface _GetTemporaryGluePartitionCredentialsResponseSuccess
860
877
  include ::Seahorse::Client::_ResponseSuccess[Types::GetTemporaryGluePartitionCredentialsResponse]
861
878
  def access_key_id: () -> ::String
@@ -1299,7 +1316,8 @@ module Aws
1299
1316
  ?role_arn: ::String,
1300
1317
  ?with_federation: bool,
1301
1318
  ?hybrid_access_enabled: bool,
1302
- ?with_privileged_access: bool
1319
+ ?with_privileged_access: bool,
1320
+ ?expected_resource_owner_account: ::String
1303
1321
  ) -> _RegisterResourceResponseSuccess
1304
1322
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _RegisterResourceResponseSuccess
1305
1323
 
@@ -1603,7 +1621,8 @@ module Aws
1603
1621
  role_arn: ::String,
1604
1622
  resource_arn: ::String,
1605
1623
  ?with_federation: bool,
1606
- ?hybrid_access_enabled: bool
1624
+ ?hybrid_access_enabled: bool,
1625
+ ?expected_resource_owner_account: ::String
1607
1626
  ) -> _UpdateResourceResponseSuccess
1608
1627
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateResourceResponseSuccess
1609
1628
 
data/sig/errors.rbs CHANGED
@@ -20,6 +20,9 @@ module Aws
20
20
  class ConcurrentModificationException < ::Aws::Errors::ServiceError
21
21
  def message: () -> ::String
22
22
  end
23
+ class ConflictException < ::Aws::Errors::ServiceError
24
+ def message: () -> ::String
25
+ end
23
26
  class EntityNotFoundException < ::Aws::Errors::ServiceError
24
27
  def message: () -> ::String
25
28
  end
data/sig/types.rbs CHANGED
@@ -144,6 +144,11 @@ module Aws::LakeFormation
144
144
  SENSITIVE: []
145
145
  end
146
146
 
147
+ class ConflictException
148
+ attr_accessor message: ::String
149
+ SENSITIVE: []
150
+ end
151
+
147
152
  class CreateDataCellsFilterRequest
148
153
  attr_accessor table_data: Types::DataCellsFilter
149
154
  SENSITIVE: []
@@ -534,6 +539,21 @@ module Aws::LakeFormation
534
539
  SENSITIVE: []
535
540
  end
536
541
 
542
+ class GetTemporaryDataLocationCredentialsRequest
543
+ attr_accessor duration_seconds: ::Integer
544
+ attr_accessor audit_context: Types::AuditContext
545
+ attr_accessor data_locations: ::Array[::String]
546
+ attr_accessor credentials_scope: ("READ" | "READWRITE")
547
+ SENSITIVE: []
548
+ end
549
+
550
+ class GetTemporaryDataLocationCredentialsResponse
551
+ attr_accessor credentials: Types::TemporaryCredentials
552
+ attr_accessor accessible_data_locations: ::Array[::String]
553
+ attr_accessor credentials_scope: ("READ" | "READWRITE")
554
+ SENSITIVE: []
555
+ end
556
+
537
557
  class GetTemporaryGluePartitionCredentialsRequest
538
558
  attr_accessor table_arn: ::String
539
559
  attr_accessor partition: Types::PartitionValueList
@@ -894,6 +914,7 @@ module Aws::LakeFormation
894
914
  attr_accessor with_federation: bool
895
915
  attr_accessor hybrid_access_enabled: bool
896
916
  attr_accessor with_privileged_access: bool
917
+ attr_accessor expected_resource_owner_account: ::String
897
918
  SENSITIVE: []
898
919
  end
899
920
 
@@ -932,6 +953,8 @@ module Aws::LakeFormation
932
953
  attr_accessor with_federation: bool
933
954
  attr_accessor hybrid_access_enabled: bool
934
955
  attr_accessor with_privileged_access: bool
956
+ attr_accessor verification_status: ("VERIFIED" | "VERIFICATION_FAILED" | "NOT_VERIFIED")
957
+ attr_accessor expected_resource_owner_account: ::String
935
958
  SENSITIVE: []
936
959
  end
937
960
 
@@ -1079,6 +1102,14 @@ module Aws::LakeFormation
1079
1102
  SENSITIVE: []
1080
1103
  end
1081
1104
 
1105
+ class TemporaryCredentials
1106
+ attr_accessor access_key_id: ::String
1107
+ attr_accessor secret_access_key: ::String
1108
+ attr_accessor session_token: ::String
1109
+ attr_accessor expiration: ::Time
1110
+ SENSITIVE: []
1111
+ end
1112
+
1082
1113
  class ThrottledException
1083
1114
  attr_accessor message: ::String
1084
1115
  SENSITIVE: []
@@ -1154,6 +1185,7 @@ module Aws::LakeFormation
1154
1185
  attr_accessor resource_arn: ::String
1155
1186
  attr_accessor with_federation: bool
1156
1187
  attr_accessor hybrid_access_enabled: bool
1188
+ attr_accessor expected_resource_owner_account: ::String
1157
1189
  SENSITIVE: []
1158
1190
  end
1159
1191
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-lakeformation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.83.0
4
+ version: 1.84.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services