aws-sdk-lakeformation 1.40.0 → 1.42.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: 933b0beddd707450ce96a2e22cfc3b12b7a86b9d6a121cf1179e2c0387b5553f
4
- data.tar.gz: cc84de94ca6cc95316c0fa08f535accd1415a2c8a73d00e308635608d0c68398
3
+ metadata.gz: 293970db992b672c50f803a4bee3cd52d4b1a32179e88131c6985ee54ca35a0f
4
+ data.tar.gz: 64c2987a756e9828e4802f12c7536fe3ee91c42f5d31349d259c06cb60ca0bbb
5
5
  SHA512:
6
- metadata.gz: 5c930771d18d7c1ba931c90a32718a9c7a72c220064cdcd5a076f26d94575c1af2e41ee06d6f5da75ccfc62eb97832fb7f95f0ef7e585d5d8ec2e1775d095937
7
- data.tar.gz: 92cfeb17858585f74e2874448e82d834b5ae9680c7ca1002527dd9edb8c178d56711554715d2c47356ce8f17469c9e9c594d63769f05606715ddcc696c9c5811
6
+ metadata.gz: b0d90b3205792a09bd7770887bd595df9c42498d9c534d8449348bcf15f82e6382d8d3b1898a5d3ade880cc009dea16584699e967837d728dfc11585b5139a30
7
+ data.tar.gz: 25ce5b7d60c7f5a5ddd86aa14a3b43ad99edc4baaee721e2f658e9cf38762e05be998a63f9d2b34a1940d3d1926aa6d5c203a8b89ba6669ce52df0d855ed5037
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.42.0 (2023-09-27)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.41.0 (2023-09-26)
10
+ ------------------
11
+
12
+ * Feature - This release adds three new API support "CreateLakeFormationOptIn", "DeleteLakeFormationOptIn" and "ListLakeFormationOptIns", and also updates the corresponding documentation.
13
+
4
14
  1.40.0 (2023-07-17)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.40.0
1
+ 1.42.0
@@ -939,6 +939,84 @@ module Aws::LakeFormation
939
939
  req.send_request(options)
940
940
  end
941
941
 
942
+ # Enforce Lake Formation permissions for the given databases, tables,
943
+ # and principals.
944
+ #
945
+ # @option params [required, Types::DataLakePrincipal] :principal
946
+ # The Lake Formation principal. Supported principals are IAM users or
947
+ # IAM roles.
948
+ #
949
+ # @option params [required, Types::Resource] :resource
950
+ # A structure for the resource.
951
+ #
952
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
953
+ #
954
+ # @example Request syntax with placeholder values
955
+ #
956
+ # resp = client.create_lake_formation_opt_in({
957
+ # principal: { # required
958
+ # data_lake_principal_identifier: "DataLakePrincipalString",
959
+ # },
960
+ # resource: { # required
961
+ # catalog: {
962
+ # },
963
+ # database: {
964
+ # catalog_id: "CatalogIdString",
965
+ # name: "NameString", # required
966
+ # },
967
+ # table: {
968
+ # catalog_id: "CatalogIdString",
969
+ # database_name: "NameString", # required
970
+ # name: "NameString",
971
+ # table_wildcard: {
972
+ # },
973
+ # },
974
+ # table_with_columns: {
975
+ # catalog_id: "CatalogIdString",
976
+ # database_name: "NameString", # required
977
+ # name: "NameString", # required
978
+ # column_names: ["NameString"],
979
+ # column_wildcard: {
980
+ # excluded_column_names: ["NameString"],
981
+ # },
982
+ # },
983
+ # data_location: {
984
+ # catalog_id: "CatalogIdString",
985
+ # resource_arn: "ResourceArnString", # required
986
+ # },
987
+ # data_cells_filter: {
988
+ # table_catalog_id: "CatalogIdString",
989
+ # database_name: "NameString",
990
+ # table_name: "NameString",
991
+ # name: "NameString",
992
+ # },
993
+ # lf_tag: {
994
+ # catalog_id: "CatalogIdString",
995
+ # tag_key: "NameString", # required
996
+ # tag_values: ["LFTagValue"], # required
997
+ # },
998
+ # lf_tag_policy: {
999
+ # catalog_id: "CatalogIdString",
1000
+ # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
1001
+ # expression: [ # required
1002
+ # {
1003
+ # tag_key: "LFTagKey", # required
1004
+ # tag_values: ["LFTagValue"], # required
1005
+ # },
1006
+ # ],
1007
+ # },
1008
+ # },
1009
+ # })
1010
+ #
1011
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLakeFormationOptIn AWS API Documentation
1012
+ #
1013
+ # @overload create_lake_formation_opt_in(params = {})
1014
+ # @param [Hash] params ({})
1015
+ def create_lake_formation_opt_in(params = {}, options = {})
1016
+ req = build_request(:create_lake_formation_opt_in, params)
1017
+ req.send_request(options)
1018
+ end
1019
+
942
1020
  # Deletes a data cell filter.
943
1021
  #
944
1022
  # @option params [String] :table_catalog_id
@@ -1007,6 +1085,84 @@ module Aws::LakeFormation
1007
1085
  req.send_request(options)
1008
1086
  end
1009
1087
 
1088
+ # Remove the Lake Formation permissions enforcement of the given
1089
+ # databases, tables, and principals.
1090
+ #
1091
+ # @option params [required, Types::DataLakePrincipal] :principal
1092
+ # The Lake Formation principal. Supported principals are IAM users or
1093
+ # IAM roles.
1094
+ #
1095
+ # @option params [required, Types::Resource] :resource
1096
+ # A structure for the resource.
1097
+ #
1098
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1099
+ #
1100
+ # @example Request syntax with placeholder values
1101
+ #
1102
+ # resp = client.delete_lake_formation_opt_in({
1103
+ # principal: { # required
1104
+ # data_lake_principal_identifier: "DataLakePrincipalString",
1105
+ # },
1106
+ # resource: { # required
1107
+ # catalog: {
1108
+ # },
1109
+ # database: {
1110
+ # catalog_id: "CatalogIdString",
1111
+ # name: "NameString", # required
1112
+ # },
1113
+ # table: {
1114
+ # catalog_id: "CatalogIdString",
1115
+ # database_name: "NameString", # required
1116
+ # name: "NameString",
1117
+ # table_wildcard: {
1118
+ # },
1119
+ # },
1120
+ # table_with_columns: {
1121
+ # catalog_id: "CatalogIdString",
1122
+ # database_name: "NameString", # required
1123
+ # name: "NameString", # required
1124
+ # column_names: ["NameString"],
1125
+ # column_wildcard: {
1126
+ # excluded_column_names: ["NameString"],
1127
+ # },
1128
+ # },
1129
+ # data_location: {
1130
+ # catalog_id: "CatalogIdString",
1131
+ # resource_arn: "ResourceArnString", # required
1132
+ # },
1133
+ # data_cells_filter: {
1134
+ # table_catalog_id: "CatalogIdString",
1135
+ # database_name: "NameString",
1136
+ # table_name: "NameString",
1137
+ # name: "NameString",
1138
+ # },
1139
+ # lf_tag: {
1140
+ # catalog_id: "CatalogIdString",
1141
+ # tag_key: "NameString", # required
1142
+ # tag_values: ["LFTagValue"], # required
1143
+ # },
1144
+ # lf_tag_policy: {
1145
+ # catalog_id: "CatalogIdString",
1146
+ # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
1147
+ # expression: [ # required
1148
+ # {
1149
+ # tag_key: "LFTagKey", # required
1150
+ # tag_values: ["LFTagValue"], # required
1151
+ # },
1152
+ # ],
1153
+ # },
1154
+ # },
1155
+ # })
1156
+ #
1157
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLakeFormationOptIn AWS API Documentation
1158
+ #
1159
+ # @overload delete_lake_formation_opt_in(params = {})
1160
+ # @param [Hash] params ({})
1161
+ def delete_lake_formation_opt_in(params = {}, options = {})
1162
+ req = build_request(:delete_lake_formation_opt_in, params)
1163
+ req.send_request(options)
1164
+ end
1165
+
1010
1166
  # For a specific governed table, provides a list of Amazon S3 objects
1011
1167
  # that will be written during the current transaction and that can be
1012
1168
  # automatically deleted if the transaction is canceled. Without this
@@ -1113,6 +1269,7 @@ module Aws::LakeFormation
1113
1269
  # resp.resource_info.role_arn #=> String
1114
1270
  # resp.resource_info.last_modified #=> Time
1115
1271
  # resp.resource_info.with_federation #=> Boolean
1272
+ # resp.resource_info.hybrid_access_enabled #=> Boolean
1116
1273
  #
1117
1274
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResource AWS API Documentation
1118
1275
  #
@@ -1358,6 +1515,8 @@ module Aws::LakeFormation
1358
1515
  # resp.permissions[0].permissions_with_grant_option[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_LF_TAG", "ASSOCIATE", "GRANT_WITH_LF_TAG_EXPRESSION"
1359
1516
  # resp.permissions[0].additional_details.resource_share #=> Array
1360
1517
  # resp.permissions[0].additional_details.resource_share[0] #=> String
1518
+ # resp.permissions[0].last_updated #=> Time
1519
+ # resp.permissions[0].last_updated_by #=> String
1361
1520
  # resp.next_token #=> String
1362
1521
  #
1363
1522
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetEffectivePermissionsForPath AWS API Documentation
@@ -2113,6 +2272,134 @@ module Aws::LakeFormation
2113
2272
  req.send_request(options)
2114
2273
  end
2115
2274
 
2275
+ # Retrieve the current list of resources and principals that are opt in
2276
+ # to enforce Lake Formation permissions.
2277
+ #
2278
+ # @option params [Types::DataLakePrincipal] :principal
2279
+ # The Lake Formation principal. Supported principals are IAM users or
2280
+ # IAM roles.
2281
+ #
2282
+ # @option params [Types::Resource] :resource
2283
+ # A structure for the resource.
2284
+ #
2285
+ # @option params [Integer] :max_results
2286
+ # The maximum number of results to return.
2287
+ #
2288
+ # @option params [String] :next_token
2289
+ # A continuation token, if this is not the first call to retrieve this
2290
+ # list.
2291
+ #
2292
+ # @return [Types::ListLakeFormationOptInsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2293
+ #
2294
+ # * {Types::ListLakeFormationOptInsResponse#lake_formation_opt_ins_info_list #lake_formation_opt_ins_info_list} => Array<Types::LakeFormationOptInsInfo>
2295
+ # * {Types::ListLakeFormationOptInsResponse#next_token #next_token} => String
2296
+ #
2297
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2298
+ #
2299
+ # @example Request syntax with placeholder values
2300
+ #
2301
+ # resp = client.list_lake_formation_opt_ins({
2302
+ # principal: {
2303
+ # data_lake_principal_identifier: "DataLakePrincipalString",
2304
+ # },
2305
+ # resource: {
2306
+ # catalog: {
2307
+ # },
2308
+ # database: {
2309
+ # catalog_id: "CatalogIdString",
2310
+ # name: "NameString", # required
2311
+ # },
2312
+ # table: {
2313
+ # catalog_id: "CatalogIdString",
2314
+ # database_name: "NameString", # required
2315
+ # name: "NameString",
2316
+ # table_wildcard: {
2317
+ # },
2318
+ # },
2319
+ # table_with_columns: {
2320
+ # catalog_id: "CatalogIdString",
2321
+ # database_name: "NameString", # required
2322
+ # name: "NameString", # required
2323
+ # column_names: ["NameString"],
2324
+ # column_wildcard: {
2325
+ # excluded_column_names: ["NameString"],
2326
+ # },
2327
+ # },
2328
+ # data_location: {
2329
+ # catalog_id: "CatalogIdString",
2330
+ # resource_arn: "ResourceArnString", # required
2331
+ # },
2332
+ # data_cells_filter: {
2333
+ # table_catalog_id: "CatalogIdString",
2334
+ # database_name: "NameString",
2335
+ # table_name: "NameString",
2336
+ # name: "NameString",
2337
+ # },
2338
+ # lf_tag: {
2339
+ # catalog_id: "CatalogIdString",
2340
+ # tag_key: "NameString", # required
2341
+ # tag_values: ["LFTagValue"], # required
2342
+ # },
2343
+ # lf_tag_policy: {
2344
+ # catalog_id: "CatalogIdString",
2345
+ # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
2346
+ # expression: [ # required
2347
+ # {
2348
+ # tag_key: "LFTagKey", # required
2349
+ # tag_values: ["LFTagValue"], # required
2350
+ # },
2351
+ # ],
2352
+ # },
2353
+ # },
2354
+ # max_results: 1,
2355
+ # next_token: "Token",
2356
+ # })
2357
+ #
2358
+ # @example Response structure
2359
+ #
2360
+ # resp.lake_formation_opt_ins_info_list #=> Array
2361
+ # resp.lake_formation_opt_ins_info_list[0].resource.database.catalog_id #=> String
2362
+ # resp.lake_formation_opt_ins_info_list[0].resource.database.name #=> String
2363
+ # resp.lake_formation_opt_ins_info_list[0].resource.table.catalog_id #=> String
2364
+ # resp.lake_formation_opt_ins_info_list[0].resource.table.database_name #=> String
2365
+ # resp.lake_formation_opt_ins_info_list[0].resource.table.name #=> String
2366
+ # resp.lake_formation_opt_ins_info_list[0].resource.table_with_columns.catalog_id #=> String
2367
+ # resp.lake_formation_opt_ins_info_list[0].resource.table_with_columns.database_name #=> String
2368
+ # resp.lake_formation_opt_ins_info_list[0].resource.table_with_columns.name #=> String
2369
+ # resp.lake_formation_opt_ins_info_list[0].resource.table_with_columns.column_names #=> Array
2370
+ # resp.lake_formation_opt_ins_info_list[0].resource.table_with_columns.column_names[0] #=> String
2371
+ # resp.lake_formation_opt_ins_info_list[0].resource.table_with_columns.column_wildcard.excluded_column_names #=> Array
2372
+ # resp.lake_formation_opt_ins_info_list[0].resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
2373
+ # resp.lake_formation_opt_ins_info_list[0].resource.data_location.catalog_id #=> String
2374
+ # resp.lake_formation_opt_ins_info_list[0].resource.data_location.resource_arn #=> String
2375
+ # resp.lake_formation_opt_ins_info_list[0].resource.data_cells_filter.table_catalog_id #=> String
2376
+ # resp.lake_formation_opt_ins_info_list[0].resource.data_cells_filter.database_name #=> String
2377
+ # resp.lake_formation_opt_ins_info_list[0].resource.data_cells_filter.table_name #=> String
2378
+ # resp.lake_formation_opt_ins_info_list[0].resource.data_cells_filter.name #=> String
2379
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag.catalog_id #=> String
2380
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag.tag_key #=> String
2381
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag.tag_values #=> Array
2382
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag.tag_values[0] #=> String
2383
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag_policy.catalog_id #=> String
2384
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag_policy.resource_type #=> String, one of "DATABASE", "TABLE"
2385
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag_policy.expression #=> Array
2386
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag_policy.expression[0].tag_key #=> String
2387
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag_policy.expression[0].tag_values #=> Array
2388
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag_policy.expression[0].tag_values[0] #=> String
2389
+ # resp.lake_formation_opt_ins_info_list[0].principal.data_lake_principal_identifier #=> String
2390
+ # resp.lake_formation_opt_ins_info_list[0].last_modified #=> Time
2391
+ # resp.lake_formation_opt_ins_info_list[0].last_updated_by #=> String
2392
+ # resp.next_token #=> String
2393
+ #
2394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLakeFormationOptIns AWS API Documentation
2395
+ #
2396
+ # @overload list_lake_formation_opt_ins(params = {})
2397
+ # @param [Hash] params ({})
2398
+ def list_lake_formation_opt_ins(params = {}, options = {})
2399
+ req = build_request(:list_lake_formation_opt_ins, params)
2400
+ req.send_request(options)
2401
+ end
2402
+
2116
2403
  # Returns a list of the principal permissions on the resource, filtered
2117
2404
  # by the permissions of the caller. For example, if you are granted an
2118
2405
  # ALTER permission, you are able to see only the principal permissions
@@ -2264,6 +2551,8 @@ module Aws::LakeFormation
2264
2551
  # resp.principal_resource_permissions[0].permissions_with_grant_option[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_LF_TAG", "ASSOCIATE", "GRANT_WITH_LF_TAG_EXPRESSION"
2265
2552
  # resp.principal_resource_permissions[0].additional_details.resource_share #=> Array
2266
2553
  # resp.principal_resource_permissions[0].additional_details.resource_share[0] #=> String
2554
+ # resp.principal_resource_permissions[0].last_updated #=> Time
2555
+ # resp.principal_resource_permissions[0].last_updated_by #=> String
2267
2556
  # resp.next_token #=> String
2268
2557
  #
2269
2558
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissions AWS API Documentation
@@ -2316,6 +2605,7 @@ module Aws::LakeFormation
2316
2605
  # resp.resource_info_list[0].role_arn #=> String
2317
2606
  # resp.resource_info_list[0].last_modified #=> Time
2318
2607
  # resp.resource_info_list[0].with_federation #=> Boolean
2608
+ # resp.resource_info_list[0].hybrid_access_enabled #=> Boolean
2319
2609
  # resp.next_token #=> String
2320
2610
  #
2321
2611
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResources AWS API Documentation
@@ -2568,6 +2858,11 @@ module Aws::LakeFormation
2568
2858
  # @option params [Boolean] :with_federation
2569
2859
  # Whether or not the resource is a federated resource.
2570
2860
  #
2861
+ # @option params [Boolean] :hybrid_access_enabled
2862
+ # Specifies whether the data access of tables pointing to the location
2863
+ # can be managed by both Lake Formation permissions as well as Amazon S3
2864
+ # bucket policies.
2865
+ #
2571
2866
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2572
2867
  #
2573
2868
  # @example Request syntax with placeholder values
@@ -2577,6 +2872,7 @@ module Aws::LakeFormation
2577
2872
  # use_service_linked_role: false,
2578
2873
  # role_arn: "IAMRoleArn",
2579
2874
  # with_federation: false,
2875
+ # hybrid_access_enabled: false,
2580
2876
  # })
2581
2877
  #
2582
2878
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResource AWS API Documentation
@@ -3103,6 +3399,11 @@ module Aws::LakeFormation
3103
3399
  # @option params [Boolean] :with_federation
3104
3400
  # Whether or not the resource is a federated resource.
3105
3401
  #
3402
+ # @option params [Boolean] :hybrid_access_enabled
3403
+ # Specifies whether the data access of tables pointing to the location
3404
+ # can be managed by both Lake Formation permissions as well as Amazon S3
3405
+ # bucket policies.
3406
+ #
3106
3407
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3107
3408
  #
3108
3409
  # @example Request syntax with placeholder values
@@ -3111,6 +3412,7 @@ module Aws::LakeFormation
3111
3412
  # role_arn: "IAMRoleArn", # required
3112
3413
  # resource_arn: "ResourceArnString", # required
3113
3414
  # with_federation: false,
3415
+ # hybrid_access_enabled: false,
3114
3416
  # })
3115
3417
  #
3116
3418
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResource AWS API Documentation
@@ -3234,7 +3536,7 @@ module Aws::LakeFormation
3234
3536
  params: params,
3235
3537
  config: config)
3236
3538
  context[:gem_name] = 'aws-sdk-lakeformation'
3237
- context[:gem_version] = '1.40.0'
3539
+ context[:gem_version] = '1.42.0'
3238
3540
  Seahorse::Client::Request.new(handlers, context)
3239
3541
  end
3240
3542
 
@@ -50,6 +50,8 @@ module Aws::LakeFormation
50
50
  CreateDataCellsFilterResponse = Shapes::StructureShape.new(name: 'CreateDataCellsFilterResponse')
51
51
  CreateLFTagRequest = Shapes::StructureShape.new(name: 'CreateLFTagRequest')
52
52
  CreateLFTagResponse = Shapes::StructureShape.new(name: 'CreateLFTagResponse')
53
+ CreateLakeFormationOptInRequest = Shapes::StructureShape.new(name: 'CreateLakeFormationOptInRequest')
54
+ CreateLakeFormationOptInResponse = Shapes::StructureShape.new(name: 'CreateLakeFormationOptInResponse')
53
55
  CredentialTimeoutDurationSecondInteger = Shapes::IntegerShape.new(name: 'CredentialTimeoutDurationSecondInteger')
54
56
  DataCellsFilter = Shapes::StructureShape.new(name: 'DataCellsFilter')
55
57
  DataCellsFilterList = Shapes::ListShape.new(name: 'DataCellsFilterList')
@@ -67,6 +69,8 @@ module Aws::LakeFormation
67
69
  DeleteDataCellsFilterResponse = Shapes::StructureShape.new(name: 'DeleteDataCellsFilterResponse')
68
70
  DeleteLFTagRequest = Shapes::StructureShape.new(name: 'DeleteLFTagRequest')
69
71
  DeleteLFTagResponse = Shapes::StructureShape.new(name: 'DeleteLFTagResponse')
72
+ DeleteLakeFormationOptInRequest = Shapes::StructureShape.new(name: 'DeleteLakeFormationOptInRequest')
73
+ DeleteLakeFormationOptInResponse = Shapes::StructureShape.new(name: 'DeleteLakeFormationOptInResponse')
70
74
  DeleteObjectInput = Shapes::StructureShape.new(name: 'DeleteObjectInput')
71
75
  DeleteObjectsOnCancelRequest = Shapes::StructureShape.new(name: 'DeleteObjectsOnCancelRequest')
72
76
  DeleteObjectsOnCancelResponse = Shapes::StructureShape.new(name: 'DeleteObjectsOnCancelResponse')
@@ -139,11 +143,15 @@ module Aws::LakeFormation
139
143
  LFTagPolicyResource = Shapes::StructureShape.new(name: 'LFTagPolicyResource')
140
144
  LFTagValue = Shapes::StringShape.new(name: 'LFTagValue')
141
145
  LFTagsList = Shapes::ListShape.new(name: 'LFTagsList')
146
+ LakeFormationOptInsInfo = Shapes::StructureShape.new(name: 'LakeFormationOptInsInfo')
147
+ LakeFormationOptInsInfoList = Shapes::ListShape.new(name: 'LakeFormationOptInsInfoList')
142
148
  LastModifiedTimestamp = Shapes::TimestampShape.new(name: 'LastModifiedTimestamp')
143
149
  ListDataCellsFilterRequest = Shapes::StructureShape.new(name: 'ListDataCellsFilterRequest')
144
150
  ListDataCellsFilterResponse = Shapes::StructureShape.new(name: 'ListDataCellsFilterResponse')
145
151
  ListLFTagsRequest = Shapes::StructureShape.new(name: 'ListLFTagsRequest')
146
152
  ListLFTagsResponse = Shapes::StructureShape.new(name: 'ListLFTagsResponse')
153
+ ListLakeFormationOptInsRequest = Shapes::StructureShape.new(name: 'ListLakeFormationOptInsRequest')
154
+ ListLakeFormationOptInsResponse = Shapes::StructureShape.new(name: 'ListLakeFormationOptInsResponse')
147
155
  ListPermissionsRequest = Shapes::StructureShape.new(name: 'ListPermissionsRequest')
148
156
  ListPermissionsResponse = Shapes::StructureShape.new(name: 'ListPermissionsResponse')
149
157
  ListResourcesRequest = Shapes::StructureShape.new(name: 'ListResourcesRequest')
@@ -385,6 +393,12 @@ module Aws::LakeFormation
385
393
 
386
394
  CreateLFTagResponse.struct_class = Types::CreateLFTagResponse
387
395
 
396
+ CreateLakeFormationOptInRequest.add_member(:principal, Shapes::ShapeRef.new(shape: DataLakePrincipal, required: true, location_name: "Principal"))
397
+ CreateLakeFormationOptInRequest.add_member(:resource, Shapes::ShapeRef.new(shape: Resource, required: true, location_name: "Resource"))
398
+ CreateLakeFormationOptInRequest.struct_class = Types::CreateLakeFormationOptInRequest
399
+
400
+ CreateLakeFormationOptInResponse.struct_class = Types::CreateLakeFormationOptInResponse
401
+
388
402
  DataCellsFilter.add_member(:table_catalog_id, Shapes::ShapeRef.new(shape: CatalogIdString, required: true, location_name: "TableCatalogId"))
389
403
  DataCellsFilter.add_member(:database_name, Shapes::ShapeRef.new(shape: NameString, required: true, location_name: "DatabaseName"))
390
404
  DataCellsFilter.add_member(:table_name, Shapes::ShapeRef.new(shape: NameString, required: true, location_name: "TableName"))
@@ -444,6 +458,12 @@ module Aws::LakeFormation
444
458
 
445
459
  DeleteLFTagResponse.struct_class = Types::DeleteLFTagResponse
446
460
 
461
+ DeleteLakeFormationOptInRequest.add_member(:principal, Shapes::ShapeRef.new(shape: DataLakePrincipal, required: true, location_name: "Principal"))
462
+ DeleteLakeFormationOptInRequest.add_member(:resource, Shapes::ShapeRef.new(shape: Resource, required: true, location_name: "Resource"))
463
+ DeleteLakeFormationOptInRequest.struct_class = Types::DeleteLakeFormationOptInRequest
464
+
465
+ DeleteLakeFormationOptInResponse.struct_class = Types::DeleteLakeFormationOptInResponse
466
+
447
467
  DeleteObjectInput.add_member(:uri, Shapes::ShapeRef.new(shape: URI, required: true, location_name: "Uri"))
448
468
  DeleteObjectInput.add_member(:etag, Shapes::ShapeRef.new(shape: ETagString, location_name: "ETag"))
449
469
  DeleteObjectInput.add_member(:partition_values, Shapes::ShapeRef.new(shape: PartitionValuesList, location_name: "PartitionValues"))
@@ -672,6 +692,14 @@ module Aws::LakeFormation
672
692
 
673
693
  LFTagsList.member = Shapes::ShapeRef.new(shape: LFTagPair)
674
694
 
695
+ LakeFormationOptInsInfo.add_member(:resource, Shapes::ShapeRef.new(shape: Resource, location_name: "Resource"))
696
+ LakeFormationOptInsInfo.add_member(:principal, Shapes::ShapeRef.new(shape: DataLakePrincipal, location_name: "Principal"))
697
+ LakeFormationOptInsInfo.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModifiedTimestamp, location_name: "LastModified"))
698
+ LakeFormationOptInsInfo.add_member(:last_updated_by, Shapes::ShapeRef.new(shape: NameString, location_name: "LastUpdatedBy"))
699
+ LakeFormationOptInsInfo.struct_class = Types::LakeFormationOptInsInfo
700
+
701
+ LakeFormationOptInsInfoList.member = Shapes::ShapeRef.new(shape: LakeFormationOptInsInfo)
702
+
675
703
  ListDataCellsFilterRequest.add_member(:table, Shapes::ShapeRef.new(shape: TableResource, location_name: "Table"))
676
704
  ListDataCellsFilterRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
677
705
  ListDataCellsFilterRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PageSize, location_name: "MaxResults"))
@@ -691,6 +719,16 @@ module Aws::LakeFormation
691
719
  ListLFTagsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
692
720
  ListLFTagsResponse.struct_class = Types::ListLFTagsResponse
693
721
 
722
+ ListLakeFormationOptInsRequest.add_member(:principal, Shapes::ShapeRef.new(shape: DataLakePrincipal, location_name: "Principal"))
723
+ ListLakeFormationOptInsRequest.add_member(:resource, Shapes::ShapeRef.new(shape: Resource, location_name: "Resource"))
724
+ ListLakeFormationOptInsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PageSize, location_name: "MaxResults"))
725
+ ListLakeFormationOptInsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
726
+ ListLakeFormationOptInsRequest.struct_class = Types::ListLakeFormationOptInsRequest
727
+
728
+ ListLakeFormationOptInsResponse.add_member(:lake_formation_opt_ins_info_list, Shapes::ShapeRef.new(shape: LakeFormationOptInsInfoList, location_name: "LakeFormationOptInsInfoList"))
729
+ ListLakeFormationOptInsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
730
+ ListLakeFormationOptInsResponse.struct_class = Types::ListLakeFormationOptInsResponse
731
+
694
732
  ListPermissionsRequest.add_member(:catalog_id, Shapes::ShapeRef.new(shape: CatalogIdString, location_name: "CatalogId"))
695
733
  ListPermissionsRequest.add_member(:principal, Shapes::ShapeRef.new(shape: DataLakePrincipal, location_name: "Principal"))
696
734
  ListPermissionsRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: DataLakeResourceType, location_name: "ResourceType"))
@@ -776,6 +814,8 @@ module Aws::LakeFormation
776
814
  PrincipalResourcePermissions.add_member(:permissions, Shapes::ShapeRef.new(shape: PermissionList, location_name: "Permissions"))
777
815
  PrincipalResourcePermissions.add_member(:permissions_with_grant_option, Shapes::ShapeRef.new(shape: PermissionList, location_name: "PermissionsWithGrantOption"))
778
816
  PrincipalResourcePermissions.add_member(:additional_details, Shapes::ShapeRef.new(shape: DetailsMap, location_name: "AdditionalDetails"))
817
+ PrincipalResourcePermissions.add_member(:last_updated, Shapes::ShapeRef.new(shape: LastModifiedTimestamp, location_name: "LastUpdated"))
818
+ PrincipalResourcePermissions.add_member(:last_updated_by, Shapes::ShapeRef.new(shape: NameString, location_name: "LastUpdatedBy"))
779
819
  PrincipalResourcePermissions.struct_class = Types::PrincipalResourcePermissions
780
820
 
781
821
  PrincipalResourcePermissionsList.member = Shapes::ShapeRef.new(shape: PrincipalResourcePermissions)
@@ -800,6 +840,7 @@ module Aws::LakeFormation
800
840
  RegisterResourceRequest.add_member(:use_service_linked_role, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "UseServiceLinkedRole"))
801
841
  RegisterResourceRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, location_name: "RoleArn"))
802
842
  RegisterResourceRequest.add_member(:with_federation, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "WithFederation"))
843
+ RegisterResourceRequest.add_member(:hybrid_access_enabled, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "HybridAccessEnabled"))
803
844
  RegisterResourceRequest.struct_class = Types::RegisterResourceRequest
804
845
 
805
846
  RegisterResourceResponse.struct_class = Types::RegisterResourceResponse
@@ -826,6 +867,7 @@ module Aws::LakeFormation
826
867
  ResourceInfo.add_member(:role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, location_name: "RoleArn"))
827
868
  ResourceInfo.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModifiedTimestamp, location_name: "LastModified"))
828
869
  ResourceInfo.add_member(:with_federation, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "WithFederation"))
870
+ ResourceInfo.add_member(:hybrid_access_enabled, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "HybridAccessEnabled"))
829
871
  ResourceInfo.struct_class = Types::ResourceInfo
830
872
 
831
873
  ResourceInfoList.member = Shapes::ShapeRef.new(shape: ResourceInfo)
@@ -978,6 +1020,7 @@ module Aws::LakeFormation
978
1020
  UpdateResourceRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, required: true, location_name: "RoleArn"))
979
1021
  UpdateResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArnString, required: true, location_name: "ResourceArn"))
980
1022
  UpdateResourceRequest.add_member(:with_federation, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "WithFederation"))
1023
+ UpdateResourceRequest.add_member(:hybrid_access_enabled, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "HybridAccessEnabled"))
981
1024
  UpdateResourceRequest.struct_class = Types::UpdateResourceRequest
982
1025
 
983
1026
  UpdateResourceResponse.struct_class = Types::UpdateResourceResponse
@@ -1147,6 +1190,20 @@ module Aws::LakeFormation
1147
1190
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1148
1191
  end)
1149
1192
 
1193
+ api.add_operation(:create_lake_formation_opt_in, Seahorse::Model::Operation.new.tap do |o|
1194
+ o.name = "CreateLakeFormationOptIn"
1195
+ o.http_method = "POST"
1196
+ o.http_request_uri = "/CreateLakeFormationOptIn"
1197
+ o.input = Shapes::ShapeRef.new(shape: CreateLakeFormationOptInRequest)
1198
+ o.output = Shapes::ShapeRef.new(shape: CreateLakeFormationOptInResponse)
1199
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1200
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
1201
+ o.errors << Shapes::ShapeRef.new(shape: OperationTimeoutException)
1202
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
1203
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1204
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
1205
+ end)
1206
+
1150
1207
  api.add_operation(:delete_data_cells_filter, Seahorse::Model::Operation.new.tap do |o|
1151
1208
  o.name = "DeleteDataCellsFilter"
1152
1209
  o.http_method = "POST"
@@ -1173,6 +1230,20 @@ module Aws::LakeFormation
1173
1230
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1174
1231
  end)
1175
1232
 
1233
+ api.add_operation(:delete_lake_formation_opt_in, Seahorse::Model::Operation.new.tap do |o|
1234
+ o.name = "DeleteLakeFormationOptIn"
1235
+ o.http_method = "POST"
1236
+ o.http_request_uri = "/DeleteLakeFormationOptIn"
1237
+ o.input = Shapes::ShapeRef.new(shape: DeleteLakeFormationOptInRequest)
1238
+ o.output = Shapes::ShapeRef.new(shape: DeleteLakeFormationOptInResponse)
1239
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1240
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
1241
+ o.errors << Shapes::ShapeRef.new(shape: OperationTimeoutException)
1242
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
1243
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1244
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
1245
+ end)
1246
+
1176
1247
  api.add_operation(:delete_objects_on_cancel, Seahorse::Model::Operation.new.tap do |o|
1177
1248
  o.name = "DeleteObjectsOnCancel"
1178
1249
  o.http_method = "POST"
@@ -1475,6 +1546,24 @@ module Aws::LakeFormation
1475
1546
  )
1476
1547
  end)
1477
1548
 
1549
+ api.add_operation(:list_lake_formation_opt_ins, Seahorse::Model::Operation.new.tap do |o|
1550
+ o.name = "ListLakeFormationOptIns"
1551
+ o.http_method = "POST"
1552
+ o.http_request_uri = "/ListLakeFormationOptIns"
1553
+ o.input = Shapes::ShapeRef.new(shape: ListLakeFormationOptInsRequest)
1554
+ o.output = Shapes::ShapeRef.new(shape: ListLakeFormationOptInsResponse)
1555
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1556
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
1557
+ o.errors << Shapes::ShapeRef.new(shape: OperationTimeoutException)
1558
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1559
+ o[:pager] = Aws::Pager.new(
1560
+ limit_key: "max_results",
1561
+ tokens: {
1562
+ "next_token" => "next_token"
1563
+ }
1564
+ )
1565
+ end)
1566
+
1478
1567
  api.add_operation(:list_permissions, Seahorse::Model::Operation.new.tap do |o|
1479
1568
  o.name = "ListPermissions"
1480
1569
  o.http_method = "POST"
@@ -124,6 +124,20 @@ module Aws::LakeFormation
124
124
  end
125
125
  end
126
126
 
127
+ class CreateLakeFormationOptIn
128
+ def self.build(context)
129
+ unless context.config.regional_endpoint
130
+ endpoint = context.config.endpoint.to_s
131
+ end
132
+ Aws::LakeFormation::EndpointParameters.new(
133
+ region: context.config.region,
134
+ use_dual_stack: context.config.use_dualstack_endpoint,
135
+ use_fips: context.config.use_fips_endpoint,
136
+ endpoint: endpoint,
137
+ )
138
+ end
139
+ end
140
+
127
141
  class DeleteDataCellsFilter
128
142
  def self.build(context)
129
143
  unless context.config.regional_endpoint
@@ -152,6 +166,20 @@ module Aws::LakeFormation
152
166
  end
153
167
  end
154
168
 
169
+ class DeleteLakeFormationOptIn
170
+ def self.build(context)
171
+ unless context.config.regional_endpoint
172
+ endpoint = context.config.endpoint.to_s
173
+ end
174
+ Aws::LakeFormation::EndpointParameters.new(
175
+ region: context.config.region,
176
+ use_dual_stack: context.config.use_dualstack_endpoint,
177
+ use_fips: context.config.use_fips_endpoint,
178
+ endpoint: endpoint,
179
+ )
180
+ end
181
+ end
182
+
155
183
  class DeleteObjectsOnCancel
156
184
  def self.build(context)
157
185
  unless context.config.regional_endpoint
@@ -432,6 +460,20 @@ module Aws::LakeFormation
432
460
  end
433
461
  end
434
462
 
463
+ class ListLakeFormationOptIns
464
+ def self.build(context)
465
+ unless context.config.regional_endpoint
466
+ endpoint = context.config.endpoint.to_s
467
+ end
468
+ Aws::LakeFormation::EndpointParameters.new(
469
+ region: context.config.region,
470
+ use_dual_stack: context.config.use_dualstack_endpoint,
471
+ use_fips: context.config.use_fips_endpoint,
472
+ endpoint: endpoint,
473
+ )
474
+ end
475
+ end
476
+
435
477
  class ListPermissions
436
478
  def self.build(context)
437
479
  unless context.config.regional_endpoint
@@ -72,10 +72,14 @@ module Aws::LakeFormation
72
72
  Aws::LakeFormation::Endpoints::CreateDataCellsFilter.build(context)
73
73
  when :create_lf_tag
74
74
  Aws::LakeFormation::Endpoints::CreateLFTag.build(context)
75
+ when :create_lake_formation_opt_in
76
+ Aws::LakeFormation::Endpoints::CreateLakeFormationOptIn.build(context)
75
77
  when :delete_data_cells_filter
76
78
  Aws::LakeFormation::Endpoints::DeleteDataCellsFilter.build(context)
77
79
  when :delete_lf_tag
78
80
  Aws::LakeFormation::Endpoints::DeleteLFTag.build(context)
81
+ when :delete_lake_formation_opt_in
82
+ Aws::LakeFormation::Endpoints::DeleteLakeFormationOptIn.build(context)
79
83
  when :delete_objects_on_cancel
80
84
  Aws::LakeFormation::Endpoints::DeleteObjectsOnCancel.build(context)
81
85
  when :deregister_resource
@@ -116,6 +120,8 @@ module Aws::LakeFormation
116
120
  Aws::LakeFormation::Endpoints::ListDataCellsFilter.build(context)
117
121
  when :list_lf_tags
118
122
  Aws::LakeFormation::Endpoints::ListLFTags.build(context)
123
+ when :list_lake_formation_opt_ins
124
+ Aws::LakeFormation::Endpoints::ListLakeFormationOptIns.build(context)
119
125
  when :list_permissions
120
126
  Aws::LakeFormation::Endpoints::ListPermissions.build(context)
121
127
  when :list_resources
@@ -463,6 +463,28 @@ module Aws::LakeFormation
463
463
  #
464
464
  class CreateLFTagResponse < Aws::EmptyStructure; end
465
465
 
466
+ # @!attribute [rw] principal
467
+ # The Lake Formation principal. Supported principals are IAM users or
468
+ # IAM roles.
469
+ # @return [Types::DataLakePrincipal]
470
+ #
471
+ # @!attribute [rw] resource
472
+ # A structure for the resource.
473
+ # @return [Types::Resource]
474
+ #
475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLakeFormationOptInRequest AWS API Documentation
476
+ #
477
+ class CreateLakeFormationOptInRequest < Struct.new(
478
+ :principal,
479
+ :resource)
480
+ SENSITIVE = []
481
+ include Aws::Structure
482
+ end
483
+
484
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLakeFormationOptInResponse AWS API Documentation
485
+ #
486
+ class CreateLakeFormationOptInResponse < Aws::EmptyStructure; end
487
+
466
488
  # A structure that describes certain columns on certain rows.
467
489
  #
468
490
  # @!attribute [rw] table_catalog_id
@@ -794,6 +816,28 @@ module Aws::LakeFormation
794
816
  #
795
817
  class DeleteLFTagResponse < Aws::EmptyStructure; end
796
818
 
819
+ # @!attribute [rw] principal
820
+ # The Lake Formation principal. Supported principals are IAM users or
821
+ # IAM roles.
822
+ # @return [Types::DataLakePrincipal]
823
+ #
824
+ # @!attribute [rw] resource
825
+ # A structure for the resource.
826
+ # @return [Types::Resource]
827
+ #
828
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLakeFormationOptInRequest AWS API Documentation
829
+ #
830
+ class DeleteLakeFormationOptInRequest < Struct.new(
831
+ :principal,
832
+ :resource)
833
+ SENSITIVE = []
834
+ include Aws::Structure
835
+ end
836
+
837
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLakeFormationOptInResponse AWS API Documentation
838
+ #
839
+ class DeleteLakeFormationOptInResponse < Aws::EmptyStructure; end
840
+
797
841
  # An object to delete from the governed table.
798
842
  #
799
843
  # @!attribute [rw] uri
@@ -1753,6 +1797,10 @@ module Aws::LakeFormation
1753
1797
  #
1754
1798
  # @!attribute [rw] tag_values
1755
1799
  # A list of possible values an attribute can take.
1800
+ #
1801
+ # The maximum number of values that can be defined for a LF-Tag is
1802
+ # 1000. A single API call supports 50 values. You can use multiple API
1803
+ # calls to add more values.
1756
1804
  # @return [Array<String>]
1757
1805
  #
1758
1806
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/LFTag AWS API Documentation
@@ -1868,6 +1916,37 @@ module Aws::LakeFormation
1868
1916
  include Aws::Structure
1869
1917
  end
1870
1918
 
1919
+ # A single principal-resource pair that has Lake Formation permissins
1920
+ # enforced.
1921
+ #
1922
+ # @!attribute [rw] resource
1923
+ # A structure for the resource.
1924
+ # @return [Types::Resource]
1925
+ #
1926
+ # @!attribute [rw] principal
1927
+ # The Lake Formation principal. Supported principals are IAM users or
1928
+ # IAM roles.
1929
+ # @return [Types::DataLakePrincipal]
1930
+ #
1931
+ # @!attribute [rw] last_modified
1932
+ # The last modified date and time of the record.
1933
+ # @return [Time]
1934
+ #
1935
+ # @!attribute [rw] last_updated_by
1936
+ # The user who updated the record.
1937
+ # @return [String]
1938
+ #
1939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/LakeFormationOptInsInfo AWS API Documentation
1940
+ #
1941
+ class LakeFormationOptInsInfo < Struct.new(
1942
+ :resource,
1943
+ :principal,
1944
+ :last_modified,
1945
+ :last_updated_by)
1946
+ SENSITIVE = []
1947
+ include Aws::Structure
1948
+ end
1949
+
1871
1950
  # @!attribute [rw] table
1872
1951
  # A table in the Glue Data Catalog.
1873
1952
  # @return [Types::TableResource]
@@ -1962,6 +2041,54 @@ module Aws::LakeFormation
1962
2041
  include Aws::Structure
1963
2042
  end
1964
2043
 
2044
+ # @!attribute [rw] principal
2045
+ # The Lake Formation principal. Supported principals are IAM users or
2046
+ # IAM roles.
2047
+ # @return [Types::DataLakePrincipal]
2048
+ #
2049
+ # @!attribute [rw] resource
2050
+ # A structure for the resource.
2051
+ # @return [Types::Resource]
2052
+ #
2053
+ # @!attribute [rw] max_results
2054
+ # The maximum number of results to return.
2055
+ # @return [Integer]
2056
+ #
2057
+ # @!attribute [rw] next_token
2058
+ # A continuation token, if this is not the first call to retrieve this
2059
+ # list.
2060
+ # @return [String]
2061
+ #
2062
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLakeFormationOptInsRequest AWS API Documentation
2063
+ #
2064
+ class ListLakeFormationOptInsRequest < Struct.new(
2065
+ :principal,
2066
+ :resource,
2067
+ :max_results,
2068
+ :next_token)
2069
+ SENSITIVE = []
2070
+ include Aws::Structure
2071
+ end
2072
+
2073
+ # @!attribute [rw] lake_formation_opt_ins_info_list
2074
+ # A list of principal-resource pairs that have Lake Formation
2075
+ # permissins enforced.
2076
+ # @return [Array<Types::LakeFormationOptInsInfo>]
2077
+ #
2078
+ # @!attribute [rw] next_token
2079
+ # A continuation token, if this is not the first call to retrieve this
2080
+ # list.
2081
+ # @return [String]
2082
+ #
2083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLakeFormationOptInsResponse AWS API Documentation
2084
+ #
2085
+ class ListLakeFormationOptInsResponse < Struct.new(
2086
+ :lake_formation_opt_ins_info_list,
2087
+ :next_token)
2088
+ SENSITIVE = []
2089
+ include Aws::Structure
2090
+ end
2091
+
1965
2092
  # @!attribute [rw] catalog_id
1966
2093
  # The identifier for the Data Catalog. By default, the account ID. The
1967
2094
  # Data Catalog is the persistent metadata store. It contains database
@@ -2318,6 +2445,14 @@ module Aws::LakeFormation
2318
2445
  # resource share ARN.
2319
2446
  # @return [Types::DetailsMap]
2320
2447
  #
2448
+ # @!attribute [rw] last_updated
2449
+ # The date and time when the resource was last updated.
2450
+ # @return [Time]
2451
+ #
2452
+ # @!attribute [rw] last_updated_by
2453
+ # The user who updated the record.
2454
+ # @return [String]
2455
+ #
2321
2456
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PrincipalResourcePermissions AWS API Documentation
2322
2457
  #
2323
2458
  class PrincipalResourcePermissions < Struct.new(
@@ -2325,7 +2460,9 @@ module Aws::LakeFormation
2325
2460
  :resource,
2326
2461
  :permissions,
2327
2462
  :permissions_with_grant_option,
2328
- :additional_details)
2463
+ :additional_details,
2464
+ :last_updated,
2465
+ :last_updated_by)
2329
2466
  SENSITIVE = []
2330
2467
  include Aws::Structure
2331
2468
  end
@@ -2425,13 +2562,20 @@ module Aws::LakeFormation
2425
2562
  # Whether or not the resource is a federated resource.
2426
2563
  # @return [Boolean]
2427
2564
  #
2565
+ # @!attribute [rw] hybrid_access_enabled
2566
+ # Specifies whether the data access of tables pointing to the location
2567
+ # can be managed by both Lake Formation permissions as well as Amazon
2568
+ # S3 bucket policies.
2569
+ # @return [Boolean]
2570
+ #
2428
2571
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResourceRequest AWS API Documentation
2429
2572
  #
2430
2573
  class RegisterResourceRequest < Struct.new(
2431
2574
  :resource_arn,
2432
2575
  :use_service_linked_role,
2433
2576
  :role_arn,
2434
- :with_federation)
2577
+ :with_federation,
2578
+ :hybrid_access_enabled)
2435
2579
  SENSITIVE = []
2436
2580
  include Aws::Structure
2437
2581
  end
@@ -2556,13 +2700,20 @@ module Aws::LakeFormation
2556
2700
  # Whether or not the resource is a federated resource.
2557
2701
  # @return [Boolean]
2558
2702
  #
2703
+ # @!attribute [rw] hybrid_access_enabled
2704
+ # Indicates whether the data access of tables pointing to the location
2705
+ # can be managed by both Lake Formation permissions as well as Amazon
2706
+ # S3 bucket policies.
2707
+ # @return [Boolean]
2708
+ #
2559
2709
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ResourceInfo AWS API Documentation
2560
2710
  #
2561
2711
  class ResourceInfo < Struct.new(
2562
2712
  :resource_arn,
2563
2713
  :role_arn,
2564
2714
  :last_modified,
2565
- :with_federation)
2715
+ :with_federation,
2716
+ :hybrid_access_enabled)
2566
2717
  SENSITIVE = []
2567
2718
  include Aws::Structure
2568
2719
  end
@@ -3198,12 +3349,19 @@ module Aws::LakeFormation
3198
3349
  # Whether or not the resource is a federated resource.
3199
3350
  # @return [Boolean]
3200
3351
  #
3352
+ # @!attribute [rw] hybrid_access_enabled
3353
+ # Specifies whether the data access of tables pointing to the location
3354
+ # can be managed by both Lake Formation permissions as well as Amazon
3355
+ # S3 bucket policies.
3356
+ # @return [Boolean]
3357
+ #
3201
3358
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResourceRequest AWS API Documentation
3202
3359
  #
3203
3360
  class UpdateResourceRequest < Struct.new(
3204
3361
  :role_arn,
3205
3362
  :resource_arn,
3206
- :with_federation)
3363
+ :with_federation,
3364
+ :hybrid_access_enabled)
3207
3365
  SENSITIVE = []
3208
3366
  include Aws::Structure
3209
3367
  end
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-lakeformation/customizations'
52
52
  # @!group service
53
53
  module Aws::LakeFormation
54
54
 
55
- GEM_VERSION = '1.40.0'
55
+ GEM_VERSION = '1.42.0'
56
56
 
57
57
  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.40.0
4
+ version: 1.42.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: 2023-07-17 00:00:00.000000000 Z
11
+ date: 2023-09-27 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.177.0
22
+ version: 3.184.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.177.0
32
+ version: 3.184.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement