aws-sdk-lakeformation 1.20.0 → 1.24.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89b4ef35cd3230e31b83941cdffc0770c552c1007099ff7db7b4dc570ba0ca05
4
- data.tar.gz: 79a5b66dfac16be0b6f8f9ea37a2510754703b73889d0d485305bbb104e37abb
3
+ metadata.gz: fb073a55f5d3bbb2367e2bec0e2098bdbfeffee2c3de98ecd4d617666e6c99ba
4
+ data.tar.gz: de27f11d619065336a3b34bc8de06b91b9a82d7a1302df5d40cb54912fb14869
5
5
  SHA512:
6
- metadata.gz: 3b0c9405b5ecd56ba27a391cce45bf191bb4052803ff400cc3d1d6ec07938b8281227e59e53a9b20c5b482311fe6a3cf05da46da0ab15c334c00dcdec17313c3
7
- data.tar.gz: 844d026aee31dfb7369220ab99b66e7094b071a3dfa37567b13cf864deca66ec9c175aa7ca6266c65e4156c5a2b65637c732ae21f98edd8519560380917270de
6
+ metadata.gz: 7b3d49d7a508e59fb7b9693e52cf225608fdc60ba894a55a3467e525d541066507bcab746ce2048fb1c624bdea934e189de20e09bcaeaae095932d1d8e869b1b
7
+ data.tar.gz: 36c33099f13425f9faa85eb62bd97a63bc2c9a6f071d894b72c7deed1d11741140fe082579ec3d8a9c05544a12c7bd82c1cc067e6faf32bd1a50790a657804c7
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.24.0 (2022-02-04)
5
+ ------------------
6
+
7
+ * Feature - Add support for calling Update Table Objects without a TransactionId.
8
+
9
+ 1.23.0 (2022-02-03)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.22.0 (2022-01-05)
15
+ ------------------
16
+
17
+ * Feature - Add new APIs for 3rd Party Support for Lake Formation
18
+
19
+ 1.21.0 (2021-12-21)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
4
24
  1.20.0 (2021-11-30)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.20.0
1
+ 1.24.0
@@ -27,6 +27,8 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
31
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
30
32
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
33
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
34
 
@@ -73,6 +75,8 @@ module Aws::LakeFormation
73
75
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
76
  add_plugin(Aws::Plugins::TransferEncoding)
75
77
  add_plugin(Aws::Plugins::HttpChecksum)
78
+ add_plugin(Aws::Plugins::DefaultsMode)
79
+ add_plugin(Aws::Plugins::RecursionDetection)
76
80
  add_plugin(Aws::Plugins::SignatureV4)
77
81
  add_plugin(Aws::Plugins::Protocols::RestJson)
78
82
 
@@ -175,6 +179,10 @@ module Aws::LakeFormation
175
179
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
180
  # a clock skew correction and retry requests with skewed client clocks.
177
181
  #
182
+ # @option options [String] :defaults_mode ("legacy")
183
+ # See {Aws::DefaultsModeConfiguration} for a list of the
184
+ # accepted modes and the configuration defaults that are included.
185
+ #
178
186
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
187
  # Set to true to disable SDK automatically adding host prefix
180
188
  # to default service endpoint when available.
@@ -297,7 +305,7 @@ module Aws::LakeFormation
297
305
  # seconds to wait when opening a HTTP session before raising a
298
306
  # `Timeout::Error`.
299
307
  #
300
- # @option options [Integer] :http_read_timeout (60) The default
308
+ # @option options [Float] :http_read_timeout (60) The default
301
309
  # number of seconds to wait for response data. This value can
302
310
  # safely be set per-request on the session.
303
311
  #
@@ -313,6 +321,9 @@ module Aws::LakeFormation
313
321
  # disables this behaviour. This value can safely be set per
314
322
  # request on the session.
315
323
  #
324
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
325
+ # in seconds.
326
+ #
316
327
  # @option options [Boolean] :http_wire_trace (false) When `true`,
317
328
  # HTTP debug output will be sent to the `:logger`.
318
329
  #
@@ -1095,6 +1106,11 @@ module Aws::LakeFormation
1095
1106
  # resp.data_lake_settings.create_table_default_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ALTER_TAG", "DELETE_TAG", "DESCRIBE_TAG", "ASSOCIATE_TAG"
1096
1107
  # resp.data_lake_settings.trusted_resource_owners #=> Array
1097
1108
  # resp.data_lake_settings.trusted_resource_owners[0] #=> String
1109
+ # resp.data_lake_settings.allow_external_data_filtering #=> Boolean
1110
+ # resp.data_lake_settings.external_data_filtering_allow_list #=> Array
1111
+ # resp.data_lake_settings.external_data_filtering_allow_list[0].data_lake_principal_identifier #=> String
1112
+ # resp.data_lake_settings.authorized_session_tag_value_list #=> Array
1113
+ # resp.data_lake_settings.authorized_session_tag_value_list[0] #=> String
1098
1114
  #
1099
1115
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettings AWS API Documentation
1100
1116
  #
@@ -1493,6 +1509,133 @@ module Aws::LakeFormation
1493
1509
  req.send_request(options)
1494
1510
  end
1495
1511
 
1512
+ # This API is identical to `GetTemporaryTableCredentials` except that
1513
+ # this is used when the target Data Catalog resource is of type
1514
+ # Partition. Lake Formation restricts the permission of the vended
1515
+ # credentials with the same scope down policy which restricts access to
1516
+ # a single Amazon S3 prefix.
1517
+ #
1518
+ # @option params [required, String] :table_arn
1519
+ # The ARN of the partitions' table.
1520
+ #
1521
+ # @option params [required, Types::PartitionValueList] :partition
1522
+ # A list of partition values identifying a single partition.
1523
+ #
1524
+ # @option params [Array<String>] :permissions
1525
+ # Filters the request based on the user having been granted a list of
1526
+ # specified permissions on the requested resource(s).
1527
+ #
1528
+ # @option params [Integer] :duration_seconds
1529
+ # The time period, between 900 and 21,600 seconds, for the timeout of
1530
+ # the temporary credentials.
1531
+ #
1532
+ # @option params [Types::AuditContext] :audit_context
1533
+ # A structure representing context to access a resource (column names,
1534
+ # query ID, etc).
1535
+ #
1536
+ # @option params [required, Array<String>] :supported_permission_types
1537
+ # A list of supported permission types for the partition. Valid values
1538
+ # are `COLUMN_PERMISSION` and `CELL_FILTER_PERMISSION`.
1539
+ #
1540
+ # @return [Types::GetTemporaryGluePartitionCredentialsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1541
+ #
1542
+ # * {Types::GetTemporaryGluePartitionCredentialsResponse#access_key_id #access_key_id} => String
1543
+ # * {Types::GetTemporaryGluePartitionCredentialsResponse#secret_access_key #secret_access_key} => String
1544
+ # * {Types::GetTemporaryGluePartitionCredentialsResponse#session_token #session_token} => String
1545
+ # * {Types::GetTemporaryGluePartitionCredentialsResponse#expiration #expiration} => Time
1546
+ #
1547
+ # @example Request syntax with placeholder values
1548
+ #
1549
+ # resp = client.get_temporary_glue_partition_credentials({
1550
+ # table_arn: "ResourceArnString", # required
1551
+ # partition: { # required
1552
+ # values: ["ValueString"], # required
1553
+ # },
1554
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
1555
+ # duration_seconds: 1,
1556
+ # audit_context: {
1557
+ # additional_audit_context: "AuditContextString",
1558
+ # },
1559
+ # supported_permission_types: ["COLUMN_PERMISSION"], # required, accepts COLUMN_PERMISSION, CELL_FILTER_PERMISSION
1560
+ # })
1561
+ #
1562
+ # @example Response structure
1563
+ #
1564
+ # resp.access_key_id #=> String
1565
+ # resp.secret_access_key #=> String
1566
+ # resp.session_token #=> String
1567
+ # resp.expiration #=> Time
1568
+ #
1569
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGluePartitionCredentials AWS API Documentation
1570
+ #
1571
+ # @overload get_temporary_glue_partition_credentials(params = {})
1572
+ # @param [Hash] params ({})
1573
+ def get_temporary_glue_partition_credentials(params = {}, options = {})
1574
+ req = build_request(:get_temporary_glue_partition_credentials, params)
1575
+ req.send_request(options)
1576
+ end
1577
+
1578
+ # Allows a caller in a secure environment to assume a role with
1579
+ # permission to access Amazon S3. In order to vend such credentials,
1580
+ # Lake Formation assumes the role associated with a registered location,
1581
+ # for example an Amazon S3 bucket, with a scope down policy which
1582
+ # restricts the access to a single prefix.
1583
+ #
1584
+ # @option params [required, String] :table_arn
1585
+ # The ARN identifying a table in the Data Catalog for the temporary
1586
+ # credentials request.
1587
+ #
1588
+ # @option params [Array<String>] :permissions
1589
+ # Filters the request based on the user having been granted a list of
1590
+ # specified permissions on the requested resource(s).
1591
+ #
1592
+ # @option params [Integer] :duration_seconds
1593
+ # The time period, between 900 and 21,600 seconds, for the timeout of
1594
+ # the temporary credentials.
1595
+ #
1596
+ # @option params [Types::AuditContext] :audit_context
1597
+ # A structure representing context to access a resource (column names,
1598
+ # query ID, etc).
1599
+ #
1600
+ # @option params [required, Array<String>] :supported_permission_types
1601
+ # A list of supported permission types for the table. Valid values are
1602
+ # `COLUMN_PERMISSION` and `CELL_FILTER_PERMISSION`.
1603
+ #
1604
+ # @return [Types::GetTemporaryGlueTableCredentialsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1605
+ #
1606
+ # * {Types::GetTemporaryGlueTableCredentialsResponse#access_key_id #access_key_id} => String
1607
+ # * {Types::GetTemporaryGlueTableCredentialsResponse#secret_access_key #secret_access_key} => String
1608
+ # * {Types::GetTemporaryGlueTableCredentialsResponse#session_token #session_token} => String
1609
+ # * {Types::GetTemporaryGlueTableCredentialsResponse#expiration #expiration} => Time
1610
+ #
1611
+ # @example Request syntax with placeholder values
1612
+ #
1613
+ # resp = client.get_temporary_glue_table_credentials({
1614
+ # table_arn: "ResourceArnString", # required
1615
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
1616
+ # duration_seconds: 1,
1617
+ # audit_context: {
1618
+ # additional_audit_context: "AuditContextString",
1619
+ # },
1620
+ # supported_permission_types: ["COLUMN_PERMISSION"], # required, accepts COLUMN_PERMISSION, CELL_FILTER_PERMISSION
1621
+ # })
1622
+ #
1623
+ # @example Response structure
1624
+ #
1625
+ # resp.access_key_id #=> String
1626
+ # resp.secret_access_key #=> String
1627
+ # resp.session_token #=> String
1628
+ # resp.expiration #=> Time
1629
+ #
1630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGlueTableCredentials AWS API Documentation
1631
+ #
1632
+ # @overload get_temporary_glue_table_credentials(params = {})
1633
+ # @param [Hash] params ({})
1634
+ def get_temporary_glue_table_credentials(params = {}, options = {})
1635
+ req = build_request(:get_temporary_glue_table_credentials, params)
1636
+ req.send_request(options)
1637
+ end
1638
+
1496
1639
  # Returns the work units resulting from the query. Work units can be
1497
1640
  # executed in any order and in parallel.
1498
1641
  #
@@ -2189,6 +2332,13 @@ module Aws::LakeFormation
2189
2332
  # },
2190
2333
  # ],
2191
2334
  # trusted_resource_owners: ["CatalogIdString"],
2335
+ # allow_external_data_filtering: false,
2336
+ # external_data_filtering_allow_list: [
2337
+ # {
2338
+ # data_lake_principal_identifier: "DataLakePrincipalString",
2339
+ # },
2340
+ # ],
2341
+ # authorized_session_tag_value_list: ["NameString"],
2192
2342
  # },
2193
2343
  # })
2194
2344
  #
@@ -2767,7 +2917,7 @@ module Aws::LakeFormation
2767
2917
  # @option params [required, String] :table_name
2768
2918
  # The governed table to update.
2769
2919
  #
2770
- # @option params [required, String] :transaction_id
2920
+ # @option params [String] :transaction_id
2771
2921
  # The transaction at which to do the write.
2772
2922
  #
2773
2923
  # @option params [required, Array<Types::WriteOperation>] :write_operations
@@ -2782,7 +2932,7 @@ module Aws::LakeFormation
2782
2932
  # catalog_id: "CatalogIdString",
2783
2933
  # database_name: "NameString", # required
2784
2934
  # table_name: "NameString", # required
2785
- # transaction_id: "TransactionIdString", # required
2935
+ # transaction_id: "TransactionIdString",
2786
2936
  # write_operations: [ # required
2787
2937
  # {
2788
2938
  # add_object: {
@@ -2866,7 +3016,7 @@ module Aws::LakeFormation
2866
3016
  params: params,
2867
3017
  config: config)
2868
3018
  context[:gem_name] = 'aws-sdk-lakeformation'
2869
- context[:gem_version] = '1.20.0'
3019
+ context[:gem_version] = '1.24.0'
2870
3020
  Seahorse::Client::Request.new(handlers, context)
2871
3021
  end
2872
3022
 
@@ -14,11 +14,15 @@ module Aws::LakeFormation
14
14
  include Seahorse::Model
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
+ AccessKeyIdString = Shapes::StringShape.new(name: 'AccessKeyIdString')
17
18
  AddLFTagsToResourceRequest = Shapes::StructureShape.new(name: 'AddLFTagsToResourceRequest')
18
19
  AddLFTagsToResourceResponse = Shapes::StructureShape.new(name: 'AddLFTagsToResourceResponse')
19
20
  AddObjectInput = Shapes::StructureShape.new(name: 'AddObjectInput')
20
21
  AllRowsWildcard = Shapes::StructureShape.new(name: 'AllRowsWildcard')
21
22
  AlreadyExistsException = Shapes::StructureShape.new(name: 'AlreadyExistsException')
23
+ AuditContext = Shapes::StructureShape.new(name: 'AuditContext')
24
+ AuditContextString = Shapes::StringShape.new(name: 'AuditContextString')
25
+ AuthorizedSessionTagValueList = Shapes::ListShape.new(name: 'AuthorizedSessionTagValueList')
22
26
  BatchGrantPermissionsRequest = Shapes::StructureShape.new(name: 'BatchGrantPermissionsRequest')
23
27
  BatchGrantPermissionsResponse = Shapes::StructureShape.new(name: 'BatchGrantPermissionsResponse')
24
28
  BatchPermissionsFailureEntry = Shapes::StructureShape.new(name: 'BatchPermissionsFailureEntry')
@@ -44,6 +48,7 @@ module Aws::LakeFormation
44
48
  CreateDataCellsFilterResponse = Shapes::StructureShape.new(name: 'CreateDataCellsFilterResponse')
45
49
  CreateLFTagRequest = Shapes::StructureShape.new(name: 'CreateLFTagRequest')
46
50
  CreateLFTagResponse = Shapes::StructureShape.new(name: 'CreateLFTagResponse')
51
+ CredentialTimeoutDurationSecondInteger = Shapes::IntegerShape.new(name: 'CredentialTimeoutDurationSecondInteger')
47
52
  DataCellsFilter = Shapes::StructureShape.new(name: 'DataCellsFilter')
48
53
  DataCellsFilterList = Shapes::ListShape.new(name: 'DataCellsFilterList')
49
54
  DataCellsFilterResource = Shapes::StructureShape.new(name: 'DataCellsFilterResource')
@@ -76,6 +81,7 @@ module Aws::LakeFormation
76
81
  ErrorDetail = Shapes::StructureShape.new(name: 'ErrorDetail')
77
82
  ErrorMessageString = Shapes::StringShape.new(name: 'ErrorMessageString')
78
83
  ExecutionStatistics = Shapes::StructureShape.new(name: 'ExecutionStatistics')
84
+ ExpirationTimestamp = Shapes::TimestampShape.new(name: 'ExpirationTimestamp')
79
85
  ExpiredException = Shapes::StructureShape.new(name: 'ExpiredException')
80
86
  Expression = Shapes::ListShape.new(name: 'Expression')
81
87
  ExtendTransactionRequest = Shapes::StructureShape.new(name: 'ExtendTransactionRequest')
@@ -99,6 +105,10 @@ module Aws::LakeFormation
99
105
  GetResourceLFTagsResponse = Shapes::StructureShape.new(name: 'GetResourceLFTagsResponse')
100
106
  GetTableObjectsRequest = Shapes::StructureShape.new(name: 'GetTableObjectsRequest')
101
107
  GetTableObjectsResponse = Shapes::StructureShape.new(name: 'GetTableObjectsResponse')
108
+ GetTemporaryGluePartitionCredentialsRequest = Shapes::StructureShape.new(name: 'GetTemporaryGluePartitionCredentialsRequest')
109
+ GetTemporaryGluePartitionCredentialsResponse = Shapes::StructureShape.new(name: 'GetTemporaryGluePartitionCredentialsResponse')
110
+ GetTemporaryGlueTableCredentialsRequest = Shapes::StructureShape.new(name: 'GetTemporaryGlueTableCredentialsRequest')
111
+ GetTemporaryGlueTableCredentialsResponse = Shapes::StructureShape.new(name: 'GetTemporaryGlueTableCredentialsResponse')
102
112
  GetWorkUnitResultsRequest = Shapes::StructureShape.new(name: 'GetWorkUnitResultsRequest')
103
113
  GetWorkUnitResultsRequestQueryIdString = Shapes::StringShape.new(name: 'GetWorkUnitResultsRequestQueryIdString')
104
114
  GetWorkUnitResultsRequestWorkUnitIdLong = Shapes::IntegerShape.new(name: 'GetWorkUnitResultsRequestWorkUnitIdLong')
@@ -147,11 +157,15 @@ module Aws::LakeFormation
147
157
  OptimizerType = Shapes::StringShape.new(name: 'OptimizerType')
148
158
  PageSize = Shapes::IntegerShape.new(name: 'PageSize')
149
159
  PartitionObjects = Shapes::StructureShape.new(name: 'PartitionObjects')
160
+ PartitionValueList = Shapes::StructureShape.new(name: 'PartitionValueList')
150
161
  PartitionValueString = Shapes::StringShape.new(name: 'PartitionValueString')
151
162
  PartitionValuesList = Shapes::ListShape.new(name: 'PartitionValuesList')
152
163
  PartitionedTableObjectsList = Shapes::ListShape.new(name: 'PartitionedTableObjectsList')
153
164
  Permission = Shapes::StringShape.new(name: 'Permission')
154
165
  PermissionList = Shapes::ListShape.new(name: 'PermissionList')
166
+ PermissionType = Shapes::StringShape.new(name: 'PermissionType')
167
+ PermissionTypeList = Shapes::ListShape.new(name: 'PermissionTypeList')
168
+ PermissionTypeMismatchException = Shapes::StructureShape.new(name: 'PermissionTypeMismatchException')
155
169
  PlanningStatistics = Shapes::StructureShape.new(name: 'PlanningStatistics')
156
170
  PredicateString = Shapes::StringShape.new(name: 'PredicateString')
157
171
  PrincipalPermissions = Shapes::StructureShape.new(name: 'PrincipalPermissions')
@@ -188,6 +202,8 @@ module Aws::LakeFormation
188
202
  SearchDatabasesByLFTagsResponse = Shapes::StructureShape.new(name: 'SearchDatabasesByLFTagsResponse')
189
203
  SearchTablesByLFTagsRequest = Shapes::StructureShape.new(name: 'SearchTablesByLFTagsRequest')
190
204
  SearchTablesByLFTagsResponse = Shapes::StructureShape.new(name: 'SearchTablesByLFTagsResponse')
205
+ SecretAccessKeyString = Shapes::StringShape.new(name: 'SecretAccessKeyString')
206
+ SessionTokenString = Shapes::StringShape.new(name: 'SessionTokenString')
191
207
  StartQueryPlanningRequest = Shapes::StructureShape.new(name: 'StartQueryPlanningRequest')
192
208
  StartQueryPlanningResponse = Shapes::StructureShape.new(name: 'StartQueryPlanningResponse')
193
209
  StartTransactionRequest = Shapes::StructureShape.new(name: 'StartTransactionRequest')
@@ -237,6 +253,8 @@ module Aws::LakeFormation
237
253
  UpdateTableObjectsResponse = Shapes::StructureShape.new(name: 'UpdateTableObjectsResponse')
238
254
  UpdateTableStorageOptimizerRequest = Shapes::StructureShape.new(name: 'UpdateTableStorageOptimizerRequest')
239
255
  UpdateTableStorageOptimizerResponse = Shapes::StructureShape.new(name: 'UpdateTableStorageOptimizerResponse')
256
+ ValueString = Shapes::StringShape.new(name: 'ValueString')
257
+ ValueStringList = Shapes::ListShape.new(name: 'ValueStringList')
240
258
  VirtualObject = Shapes::StructureShape.new(name: 'VirtualObject')
241
259
  VirtualObjectList = Shapes::ListShape.new(name: 'VirtualObjectList')
242
260
  WorkUnitIdLong = Shapes::IntegerShape.new(name: 'WorkUnitIdLong')
@@ -269,6 +287,11 @@ module Aws::LakeFormation
269
287
  AlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: MessageString, location_name: "Message"))
270
288
  AlreadyExistsException.struct_class = Types::AlreadyExistsException
271
289
 
290
+ AuditContext.add_member(:additional_audit_context, Shapes::ShapeRef.new(shape: AuditContextString, location_name: "AdditionalAuditContext"))
291
+ AuditContext.struct_class = Types::AuditContext
292
+
293
+ AuthorizedSessionTagValueList.member = Shapes::ShapeRef.new(shape: NameString)
294
+
272
295
  BatchGrantPermissionsRequest.add_member(:catalog_id, Shapes::ShapeRef.new(shape: CatalogIdString, location_name: "CatalogId"))
273
296
  BatchGrantPermissionsRequest.add_member(:entries, Shapes::ShapeRef.new(shape: BatchPermissionsRequestEntryList, required: true, location_name: "Entries"))
274
297
  BatchGrantPermissionsRequest.struct_class = Types::BatchGrantPermissionsRequest
@@ -363,6 +386,9 @@ module Aws::LakeFormation
363
386
  DataLakeSettings.add_member(:create_database_default_permissions, Shapes::ShapeRef.new(shape: PrincipalPermissionsList, location_name: "CreateDatabaseDefaultPermissions"))
364
387
  DataLakeSettings.add_member(:create_table_default_permissions, Shapes::ShapeRef.new(shape: PrincipalPermissionsList, location_name: "CreateTableDefaultPermissions"))
365
388
  DataLakeSettings.add_member(:trusted_resource_owners, Shapes::ShapeRef.new(shape: TrustedResourceOwners, location_name: "TrustedResourceOwners"))
389
+ DataLakeSettings.add_member(:allow_external_data_filtering, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "AllowExternalDataFiltering"))
390
+ DataLakeSettings.add_member(:external_data_filtering_allow_list, Shapes::ShapeRef.new(shape: DataLakePrincipalList, location_name: "ExternalDataFilteringAllowList"))
391
+ DataLakeSettings.add_member(:authorized_session_tag_value_list, Shapes::ShapeRef.new(shape: AuthorizedSessionTagValueList, location_name: "AuthorizedSessionTagValueList"))
366
392
  DataLakeSettings.struct_class = Types::DataLakeSettings
367
393
 
368
394
  DataLocationResource.add_member(:catalog_id, Shapes::ShapeRef.new(shape: CatalogIdString, location_name: "CatalogId"))
@@ -516,6 +542,33 @@ module Aws::LakeFormation
516
542
  GetTableObjectsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: TokenString, location_name: "NextToken"))
517
543
  GetTableObjectsResponse.struct_class = Types::GetTableObjectsResponse
518
544
 
545
+ GetTemporaryGluePartitionCredentialsRequest.add_member(:table_arn, Shapes::ShapeRef.new(shape: ResourceArnString, required: true, location_name: "TableArn"))
546
+ GetTemporaryGluePartitionCredentialsRequest.add_member(:partition, Shapes::ShapeRef.new(shape: PartitionValueList, required: true, location_name: "Partition"))
547
+ GetTemporaryGluePartitionCredentialsRequest.add_member(:permissions, Shapes::ShapeRef.new(shape: PermissionList, location_name: "Permissions"))
548
+ GetTemporaryGluePartitionCredentialsRequest.add_member(:duration_seconds, Shapes::ShapeRef.new(shape: CredentialTimeoutDurationSecondInteger, location_name: "DurationSeconds"))
549
+ GetTemporaryGluePartitionCredentialsRequest.add_member(:audit_context, Shapes::ShapeRef.new(shape: AuditContext, location_name: "AuditContext"))
550
+ GetTemporaryGluePartitionCredentialsRequest.add_member(:supported_permission_types, Shapes::ShapeRef.new(shape: PermissionTypeList, required: true, location_name: "SupportedPermissionTypes"))
551
+ GetTemporaryGluePartitionCredentialsRequest.struct_class = Types::GetTemporaryGluePartitionCredentialsRequest
552
+
553
+ GetTemporaryGluePartitionCredentialsResponse.add_member(:access_key_id, Shapes::ShapeRef.new(shape: AccessKeyIdString, location_name: "AccessKeyId"))
554
+ GetTemporaryGluePartitionCredentialsResponse.add_member(:secret_access_key, Shapes::ShapeRef.new(shape: SecretAccessKeyString, location_name: "SecretAccessKey"))
555
+ GetTemporaryGluePartitionCredentialsResponse.add_member(:session_token, Shapes::ShapeRef.new(shape: SessionTokenString, location_name: "SessionToken"))
556
+ GetTemporaryGluePartitionCredentialsResponse.add_member(:expiration, Shapes::ShapeRef.new(shape: ExpirationTimestamp, location_name: "Expiration"))
557
+ GetTemporaryGluePartitionCredentialsResponse.struct_class = Types::GetTemporaryGluePartitionCredentialsResponse
558
+
559
+ GetTemporaryGlueTableCredentialsRequest.add_member(:table_arn, Shapes::ShapeRef.new(shape: ResourceArnString, required: true, location_name: "TableArn"))
560
+ GetTemporaryGlueTableCredentialsRequest.add_member(:permissions, Shapes::ShapeRef.new(shape: PermissionList, location_name: "Permissions"))
561
+ GetTemporaryGlueTableCredentialsRequest.add_member(:duration_seconds, Shapes::ShapeRef.new(shape: CredentialTimeoutDurationSecondInteger, location_name: "DurationSeconds"))
562
+ GetTemporaryGlueTableCredentialsRequest.add_member(:audit_context, Shapes::ShapeRef.new(shape: AuditContext, location_name: "AuditContext"))
563
+ GetTemporaryGlueTableCredentialsRequest.add_member(:supported_permission_types, Shapes::ShapeRef.new(shape: PermissionTypeList, required: true, location_name: "SupportedPermissionTypes"))
564
+ GetTemporaryGlueTableCredentialsRequest.struct_class = Types::GetTemporaryGlueTableCredentialsRequest
565
+
566
+ GetTemporaryGlueTableCredentialsResponse.add_member(:access_key_id, Shapes::ShapeRef.new(shape: AccessKeyIdString, location_name: "AccessKeyId"))
567
+ GetTemporaryGlueTableCredentialsResponse.add_member(:secret_access_key, Shapes::ShapeRef.new(shape: SecretAccessKeyString, location_name: "SecretAccessKey"))
568
+ GetTemporaryGlueTableCredentialsResponse.add_member(:session_token, Shapes::ShapeRef.new(shape: SessionTokenString, location_name: "SessionToken"))
569
+ GetTemporaryGlueTableCredentialsResponse.add_member(:expiration, Shapes::ShapeRef.new(shape: ExpirationTimestamp, location_name: "Expiration"))
570
+ GetTemporaryGlueTableCredentialsResponse.struct_class = Types::GetTemporaryGlueTableCredentialsResponse
571
+
519
572
  GetWorkUnitResultsRequest.add_member(:query_id, Shapes::ShapeRef.new(shape: GetWorkUnitResultsRequestQueryIdString, required: true, location_name: "QueryId"))
520
573
  GetWorkUnitResultsRequest.add_member(:work_unit_id, Shapes::ShapeRef.new(shape: GetWorkUnitResultsRequestWorkUnitIdLong, required: true, location_name: "WorkUnitId"))
521
574
  GetWorkUnitResultsRequest.add_member(:work_unit_token, Shapes::ShapeRef.new(shape: SyntheticGetWorkUnitResultsRequestWorkUnitTokenString, required: true, location_name: "WorkUnitToken"))
@@ -651,12 +704,20 @@ module Aws::LakeFormation
651
704
  PartitionObjects.add_member(:objects, Shapes::ShapeRef.new(shape: TableObjectList, location_name: "Objects"))
652
705
  PartitionObjects.struct_class = Types::PartitionObjects
653
706
 
707
+ PartitionValueList.add_member(:values, Shapes::ShapeRef.new(shape: ValueStringList, required: true, location_name: "Values"))
708
+ PartitionValueList.struct_class = Types::PartitionValueList
709
+
654
710
  PartitionValuesList.member = Shapes::ShapeRef.new(shape: PartitionValueString)
655
711
 
656
712
  PartitionedTableObjectsList.member = Shapes::ShapeRef.new(shape: PartitionObjects)
657
713
 
658
714
  PermissionList.member = Shapes::ShapeRef.new(shape: Permission)
659
715
 
716
+ PermissionTypeList.member = Shapes::ShapeRef.new(shape: PermissionType)
717
+
718
+ PermissionTypeMismatchException.add_member(:message, Shapes::ShapeRef.new(shape: MessageString, location_name: "Message"))
719
+ PermissionTypeMismatchException.struct_class = Types::PermissionTypeMismatchException
720
+
660
721
  PlanningStatistics.add_member(:estimated_data_to_scan_bytes, Shapes::ShapeRef.new(shape: NumberOfBytes, location_name: "EstimatedDataToScanBytes"))
661
722
  PlanningStatistics.add_member(:planning_time_millis, Shapes::ShapeRef.new(shape: NumberOfMilliseconds, location_name: "PlanningTimeMillis"))
662
723
  PlanningStatistics.add_member(:queue_time_millis, Shapes::ShapeRef.new(shape: NumberOfMilliseconds, location_name: "QueueTimeMillis"))
@@ -875,7 +936,7 @@ module Aws::LakeFormation
875
936
  UpdateTableObjectsRequest.add_member(:catalog_id, Shapes::ShapeRef.new(shape: CatalogIdString, location_name: "CatalogId"))
876
937
  UpdateTableObjectsRequest.add_member(:database_name, Shapes::ShapeRef.new(shape: NameString, required: true, location_name: "DatabaseName"))
877
938
  UpdateTableObjectsRequest.add_member(:table_name, Shapes::ShapeRef.new(shape: NameString, required: true, location_name: "TableName"))
878
- UpdateTableObjectsRequest.add_member(:transaction_id, Shapes::ShapeRef.new(shape: TransactionIdString, required: true, location_name: "TransactionId"))
939
+ UpdateTableObjectsRequest.add_member(:transaction_id, Shapes::ShapeRef.new(shape: TransactionIdString, location_name: "TransactionId"))
879
940
  UpdateTableObjectsRequest.add_member(:write_operations, Shapes::ShapeRef.new(shape: WriteOperationList, required: true, location_name: "WriteOperations"))
880
941
  UpdateTableObjectsRequest.struct_class = Types::UpdateTableObjectsRequest
881
942
 
@@ -890,6 +951,8 @@ module Aws::LakeFormation
890
951
  UpdateTableStorageOptimizerResponse.add_member(:result, Shapes::ShapeRef.new(shape: Result, location_name: "Result"))
891
952
  UpdateTableStorageOptimizerResponse.struct_class = Types::UpdateTableStorageOptimizerResponse
892
953
 
954
+ ValueStringList.member = Shapes::ShapeRef.new(shape: ValueString)
955
+
893
956
  VirtualObject.add_member(:uri, Shapes::ShapeRef.new(shape: URI, required: true, location_name: "Uri"))
894
957
  VirtualObject.add_member(:etag, Shapes::ShapeRef.new(shape: ETagString, location_name: "ETag"))
895
958
  VirtualObject.struct_class = Types::VirtualObject
@@ -1223,6 +1286,34 @@ module Aws::LakeFormation
1223
1286
  )
1224
1287
  end)
1225
1288
 
1289
+ api.add_operation(:get_temporary_glue_partition_credentials, Seahorse::Model::Operation.new.tap do |o|
1290
+ o.name = "GetTemporaryGluePartitionCredentials"
1291
+ o.http_method = "POST"
1292
+ o.http_request_uri = "/GetTemporaryGluePartitionCredentials"
1293
+ o.input = Shapes::ShapeRef.new(shape: GetTemporaryGluePartitionCredentialsRequest)
1294
+ o.output = Shapes::ShapeRef.new(shape: GetTemporaryGluePartitionCredentialsResponse)
1295
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1296
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
1297
+ o.errors << Shapes::ShapeRef.new(shape: OperationTimeoutException)
1298
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
1299
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1300
+ o.errors << Shapes::ShapeRef.new(shape: PermissionTypeMismatchException)
1301
+ end)
1302
+
1303
+ api.add_operation(:get_temporary_glue_table_credentials, Seahorse::Model::Operation.new.tap do |o|
1304
+ o.name = "GetTemporaryGlueTableCredentials"
1305
+ o.http_method = "POST"
1306
+ o.http_request_uri = "/GetTemporaryGlueTableCredentials"
1307
+ o.input = Shapes::ShapeRef.new(shape: GetTemporaryGlueTableCredentialsRequest)
1308
+ o.output = Shapes::ShapeRef.new(shape: GetTemporaryGlueTableCredentialsResponse)
1309
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1310
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
1311
+ o.errors << Shapes::ShapeRef.new(shape: OperationTimeoutException)
1312
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
1313
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1314
+ o.errors << Shapes::ShapeRef.new(shape: PermissionTypeMismatchException)
1315
+ end)
1316
+
1226
1317
  api.add_operation(:get_work_unit_results, Seahorse::Model::Operation.new.tap do |o|
1227
1318
  o.name = "GetWorkUnitResults"
1228
1319
  o.http_method = "POST"
@@ -36,6 +36,7 @@ module Aws::LakeFormation
36
36
  # * {InternalServiceException}
37
37
  # * {InvalidInputException}
38
38
  # * {OperationTimeoutException}
39
+ # * {PermissionTypeMismatchException}
39
40
  # * {ResourceNotReadyException}
40
41
  # * {ResourceNumberLimitExceededException}
41
42
  # * {StatisticsNotReadyYetException}
@@ -186,6 +187,21 @@ module Aws::LakeFormation
186
187
  end
187
188
  end
188
189
 
190
+ class PermissionTypeMismatchException < ServiceError
191
+
192
+ # @param [Seahorse::Client::RequestContext] context
193
+ # @param [String] message
194
+ # @param [Aws::LakeFormation::Types::PermissionTypeMismatchException] data
195
+ def initialize(context, message, data = Aws::EmptyStructure.new)
196
+ super(context, message, data)
197
+ end
198
+
199
+ # @return [String]
200
+ def message
201
+ @message || @data[:message]
202
+ end
203
+ end
204
+
189
205
  class ResourceNotReadyException < ServiceError
190
206
 
191
207
  # @param [Seahorse::Client::RequestContext] context
@@ -192,6 +192,30 @@ module Aws::LakeFormation
192
192
  include Aws::Structure
193
193
  end
194
194
 
195
+ # A structure used to include auditing information on the privileged
196
+ # API.
197
+ #
198
+ # @note When making an API call, you may pass AuditContext
199
+ # data as a hash:
200
+ #
201
+ # {
202
+ # additional_audit_context: "AuditContextString",
203
+ # }
204
+ #
205
+ # @!attribute [rw] additional_audit_context
206
+ # The filter engine can populate the 'AdditionalAuditContext'
207
+ # information with the request ID for you to track. This information
208
+ # will be displayed in CloudTrail log in your account.
209
+ # @return [String]
210
+ #
211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AuditContext AWS API Documentation
212
+ #
213
+ class AuditContext < Struct.new(
214
+ :additional_audit_context)
215
+ SENSITIVE = []
216
+ include Aws::Structure
217
+ end
218
+
195
219
  # @note When making an API call, you may pass BatchGrantPermissionsRequest
196
220
  # data as a hash:
197
221
  #
@@ -747,6 +771,9 @@ module Aws::LakeFormation
747
771
  #
748
772
  # @!attribute [rw] column_wildcard
749
773
  # A wildcard with exclusions.
774
+ #
775
+ # You must specify either a `ColumnNames` list or the
776
+ # `ColumnWildCard`.
750
777
  # @return [Types::ColumnWildcard]
751
778
  #
752
779
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DataCellsFilter AWS API Documentation
@@ -802,8 +829,8 @@ module Aws::LakeFormation
802
829
  include Aws::Structure
803
830
  end
804
831
 
805
- # The AWS Lake Formation principal. Supported principals are IAM users
806
- # or IAM roles.
832
+ # The Lake Formation principal. Supported principals are IAM users or
833
+ # IAM roles.
807
834
  #
808
835
  # @note When making an API call, you may pass DataLakePrincipal
809
836
  # data as a hash:
@@ -855,6 +882,13 @@ module Aws::LakeFormation
855
882
  # },
856
883
  # ],
857
884
  # trusted_resource_owners: ["CatalogIdString"],
885
+ # allow_external_data_filtering: false,
886
+ # external_data_filtering_allow_list: [
887
+ # {
888
+ # data_lake_principal_identifier: "DataLakePrincipalString",
889
+ # },
890
+ # ],
891
+ # authorized_session_tag_value_list: ["NameString"],
858
892
  # }
859
893
  #
860
894
  # @!attribute [rw] data_lake_admins
@@ -919,13 +953,49 @@ module Aws::LakeFormation
919
953
  # boundary, such as the same team or company.
920
954
  # @return [Array<String>]
921
955
  #
956
+ # @!attribute [rw] allow_external_data_filtering
957
+ # Whether to allow Amazon EMR clusters to access data managed by Lake
958
+ # Formation.
959
+ #
960
+ # If true, you allow Amazon EMR clusters to access data in Amazon S3
961
+ # locations that are registered with Lake Formation.
962
+ #
963
+ # If false or null, no Amazon EMR clusters will be able to access data
964
+ # in Amazon S3 locations that are registered with Lake Formation.
965
+ #
966
+ # For more information, see [(Optional) Allow Data Filtering on Amazon
967
+ # EMR][1].
968
+ #
969
+ #
970
+ #
971
+ # [1]: https://docs-aws.amazon.com/lake-formation/latest/dg/getting-started-setup.html#emr-switch
972
+ # @return [Boolean]
973
+ #
974
+ # @!attribute [rw] external_data_filtering_allow_list
975
+ # A list of the account IDs of Amazon Web Services accounts with
976
+ # Amazon EMR clusters that are to perform data filtering.&gt;
977
+ # @return [Array<Types::DataLakePrincipal>]
978
+ #
979
+ # @!attribute [rw] authorized_session_tag_value_list
980
+ # Lake Formation relies on a privileged process secured by Amazon EMR
981
+ # or the third party integrator to tag the user's role while assuming
982
+ # it. Lake Formation will publish the acceptable key-value pair, for
983
+ # example key = "LakeFormationTrustedCaller" and value = "TRUE"
984
+ # and the third party integrator must properly tag the temporary
985
+ # security credentials that will be used to call Lake Formation's
986
+ # administrative APIs.
987
+ # @return [Array<String>]
988
+ #
922
989
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DataLakeSettings AWS API Documentation
923
990
  #
924
991
  class DataLakeSettings < Struct.new(
925
992
  :data_lake_admins,
926
993
  :create_database_default_permissions,
927
994
  :create_table_default_permissions,
928
- :trusted_resource_owners)
995
+ :trusted_resource_owners,
996
+ :allow_external_data_filtering,
997
+ :external_data_filtering_allow_list,
998
+ :authorized_session_tag_value_list)
929
999
  SENSITIVE = []
930
1000
  include Aws::Structure
931
1001
  end
@@ -1824,6 +1894,167 @@ module Aws::LakeFormation
1824
1894
  include Aws::Structure
1825
1895
  end
1826
1896
 
1897
+ # @note When making an API call, you may pass GetTemporaryGluePartitionCredentialsRequest
1898
+ # data as a hash:
1899
+ #
1900
+ # {
1901
+ # table_arn: "ResourceArnString", # required
1902
+ # partition: { # required
1903
+ # values: ["ValueString"], # required
1904
+ # },
1905
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
1906
+ # duration_seconds: 1,
1907
+ # audit_context: {
1908
+ # additional_audit_context: "AuditContextString",
1909
+ # },
1910
+ # supported_permission_types: ["COLUMN_PERMISSION"], # required, accepts COLUMN_PERMISSION, CELL_FILTER_PERMISSION
1911
+ # }
1912
+ #
1913
+ # @!attribute [rw] table_arn
1914
+ # The ARN of the partitions' table.
1915
+ # @return [String]
1916
+ #
1917
+ # @!attribute [rw] partition
1918
+ # A list of partition values identifying a single partition.
1919
+ # @return [Types::PartitionValueList]
1920
+ #
1921
+ # @!attribute [rw] permissions
1922
+ # Filters the request based on the user having been granted a list of
1923
+ # specified permissions on the requested resource(s).
1924
+ # @return [Array<String>]
1925
+ #
1926
+ # @!attribute [rw] duration_seconds
1927
+ # The time period, between 900 and 21,600 seconds, for the timeout of
1928
+ # the temporary credentials.
1929
+ # @return [Integer]
1930
+ #
1931
+ # @!attribute [rw] audit_context
1932
+ # A structure representing context to access a resource (column names,
1933
+ # query ID, etc).
1934
+ # @return [Types::AuditContext]
1935
+ #
1936
+ # @!attribute [rw] supported_permission_types
1937
+ # A list of supported permission types for the partition. Valid values
1938
+ # are `COLUMN_PERMISSION` and `CELL_FILTER_PERMISSION`.
1939
+ # @return [Array<String>]
1940
+ #
1941
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGluePartitionCredentialsRequest AWS API Documentation
1942
+ #
1943
+ class GetTemporaryGluePartitionCredentialsRequest < Struct.new(
1944
+ :table_arn,
1945
+ :partition,
1946
+ :permissions,
1947
+ :duration_seconds,
1948
+ :audit_context,
1949
+ :supported_permission_types)
1950
+ SENSITIVE = []
1951
+ include Aws::Structure
1952
+ end
1953
+
1954
+ # @!attribute [rw] access_key_id
1955
+ # The access key ID for the temporary credentials.
1956
+ # @return [String]
1957
+ #
1958
+ # @!attribute [rw] secret_access_key
1959
+ # The secret key for the temporary credentials.
1960
+ # @return [String]
1961
+ #
1962
+ # @!attribute [rw] session_token
1963
+ # The session token for the temporary credentials.
1964
+ # @return [String]
1965
+ #
1966
+ # @!attribute [rw] expiration
1967
+ # The date and time when the temporary credentials expire.
1968
+ # @return [Time]
1969
+ #
1970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGluePartitionCredentialsResponse AWS API Documentation
1971
+ #
1972
+ class GetTemporaryGluePartitionCredentialsResponse < Struct.new(
1973
+ :access_key_id,
1974
+ :secret_access_key,
1975
+ :session_token,
1976
+ :expiration)
1977
+ SENSITIVE = []
1978
+ include Aws::Structure
1979
+ end
1980
+
1981
+ # @note When making an API call, you may pass GetTemporaryGlueTableCredentialsRequest
1982
+ # data as a hash:
1983
+ #
1984
+ # {
1985
+ # table_arn: "ResourceArnString", # required
1986
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
1987
+ # duration_seconds: 1,
1988
+ # audit_context: {
1989
+ # additional_audit_context: "AuditContextString",
1990
+ # },
1991
+ # supported_permission_types: ["COLUMN_PERMISSION"], # required, accepts COLUMN_PERMISSION, CELL_FILTER_PERMISSION
1992
+ # }
1993
+ #
1994
+ # @!attribute [rw] table_arn
1995
+ # The ARN identifying a table in the Data Catalog for the temporary
1996
+ # credentials request.
1997
+ # @return [String]
1998
+ #
1999
+ # @!attribute [rw] permissions
2000
+ # Filters the request based on the user having been granted a list of
2001
+ # specified permissions on the requested resource(s).
2002
+ # @return [Array<String>]
2003
+ #
2004
+ # @!attribute [rw] duration_seconds
2005
+ # The time period, between 900 and 21,600 seconds, for the timeout of
2006
+ # the temporary credentials.
2007
+ # @return [Integer]
2008
+ #
2009
+ # @!attribute [rw] audit_context
2010
+ # A structure representing context to access a resource (column names,
2011
+ # query ID, etc).
2012
+ # @return [Types::AuditContext]
2013
+ #
2014
+ # @!attribute [rw] supported_permission_types
2015
+ # A list of supported permission types for the table. Valid values are
2016
+ # `COLUMN_PERMISSION` and `CELL_FILTER_PERMISSION`.
2017
+ # @return [Array<String>]
2018
+ #
2019
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGlueTableCredentialsRequest AWS API Documentation
2020
+ #
2021
+ class GetTemporaryGlueTableCredentialsRequest < Struct.new(
2022
+ :table_arn,
2023
+ :permissions,
2024
+ :duration_seconds,
2025
+ :audit_context,
2026
+ :supported_permission_types)
2027
+ SENSITIVE = []
2028
+ include Aws::Structure
2029
+ end
2030
+
2031
+ # @!attribute [rw] access_key_id
2032
+ # The access key ID for the temporary credentials.
2033
+ # @return [String]
2034
+ #
2035
+ # @!attribute [rw] secret_access_key
2036
+ # The secret key for the temporary credentials.
2037
+ # @return [String]
2038
+ #
2039
+ # @!attribute [rw] session_token
2040
+ # The session token for the temporary credentials.
2041
+ # @return [String]
2042
+ #
2043
+ # @!attribute [rw] expiration
2044
+ # The date and time when the temporary credentials expire.
2045
+ # @return [Time]
2046
+ #
2047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGlueTableCredentialsResponse AWS API Documentation
2048
+ #
2049
+ class GetTemporaryGlueTableCredentialsResponse < Struct.new(
2050
+ :access_key_id,
2051
+ :secret_access_key,
2052
+ :session_token,
2053
+ :expiration)
2054
+ SENSITIVE = []
2055
+ include Aws::Structure
2056
+ end
2057
+
1827
2058
  # @note When making an API call, you may pass GetWorkUnitResultsRequest
1828
2059
  # data as a hash:
1829
2060
  #
@@ -2725,6 +2956,45 @@ module Aws::LakeFormation
2725
2956
  include Aws::Structure
2726
2957
  end
2727
2958
 
2959
+ # Contains a list of values defining partitions.
2960
+ #
2961
+ # @note When making an API call, you may pass PartitionValueList
2962
+ # data as a hash:
2963
+ #
2964
+ # {
2965
+ # values: ["ValueString"], # required
2966
+ # }
2967
+ #
2968
+ # @!attribute [rw] values
2969
+ # The list of partition values.
2970
+ # @return [Array<String>]
2971
+ #
2972
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PartitionValueList AWS API Documentation
2973
+ #
2974
+ class PartitionValueList < Struct.new(
2975
+ :values)
2976
+ SENSITIVE = []
2977
+ include Aws::Structure
2978
+ end
2979
+
2980
+ # The engine does not support filtering data based on the enforced
2981
+ # permissions. For example, if you call the
2982
+ # `GetTemporaryGlueTableCredentials` operation with
2983
+ # `SupportedPermissionType` equal to `ColumnPermission`, but cell-level
2984
+ # permissions exist on the table, this exception is thrown.
2985
+ #
2986
+ # @!attribute [rw] message
2987
+ # A message describing the problem.
2988
+ # @return [String]
2989
+ #
2990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PermissionTypeMismatchException AWS API Documentation
2991
+ #
2992
+ class PermissionTypeMismatchException < Struct.new(
2993
+ :message)
2994
+ SENSITIVE = []
2995
+ include Aws::Structure
2996
+ end
2997
+
2728
2998
  # Statistics related to the processing of a query statement.
2729
2999
  #
2730
3000
  # @!attribute [rw] estimated_data_to_scan_bytes
@@ -2848,6 +3118,13 @@ module Aws::LakeFormation
2848
3118
  # },
2849
3119
  # ],
2850
3120
  # trusted_resource_owners: ["CatalogIdString"],
3121
+ # allow_external_data_filtering: false,
3122
+ # external_data_filtering_allow_list: [
3123
+ # {
3124
+ # data_lake_principal_identifier: "DataLakePrincipalString",
3125
+ # },
3126
+ # ],
3127
+ # authorized_session_tag_value_list: ["NameString"],
2851
3128
  # },
2852
3129
  # }
2853
3130
  #
@@ -4011,7 +4288,7 @@ module Aws::LakeFormation
4011
4288
  # catalog_id: "CatalogIdString",
4012
4289
  # database_name: "NameString", # required
4013
4290
  # table_name: "NameString", # required
4014
- # transaction_id: "TransactionIdString", # required
4291
+ # transaction_id: "TransactionIdString",
4015
4292
  # write_operations: [ # required
4016
4293
  # {
4017
4294
  # add_object: {
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-lakeformation/customizations'
48
48
  # @!group service
49
49
  module Aws::LakeFormation
50
50
 
51
- GEM_VERSION = '1.20.0'
51
+ GEM_VERSION = '1.24.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-lakeformation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.20.0
4
+ version: 1.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-30 00:00:00.000000000 Z
11
+ date: 2022-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.122.0
22
+ version: 3.126.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.122.0
32
+ version: 3.126.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement