aws-sdk-lakeformation 1.20.0 → 1.24.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: 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