aws-sdk-lakeformation 1.40.0 → 1.41.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: 933b0beddd707450ce96a2e22cfc3b12b7a86b9d6a121cf1179e2c0387b5553f
4
- data.tar.gz: cc84de94ca6cc95316c0fa08f535accd1415a2c8a73d00e308635608d0c68398
3
+ metadata.gz: '08aa980e5d3d3c52fccedbfa3b69153c7e2f2151fc6823f1b45a510f3aa33652'
4
+ data.tar.gz: c535f5d0b57202c499b5430373aa010b9242a3962ff59c45ad5e8d0629814e2e
5
5
  SHA512:
6
- metadata.gz: 5c930771d18d7c1ba931c90a32718a9c7a72c220064cdcd5a076f26d94575c1af2e41ee06d6f5da75ccfc62eb97832fb7f95f0ef7e585d5d8ec2e1775d095937
7
- data.tar.gz: 92cfeb17858585f74e2874448e82d834b5ae9680c7ca1002527dd9edb8c178d56711554715d2c47356ce8f17469c9e9c594d63769f05606715ddcc696c9c5811
6
+ metadata.gz: 8ccd1028b98b2eac7548414598fdbeb08194ad209315a08d1b383ce465eac9b96eda829203cb6da890a2040770b6b757bab949797300a7c30a2d366dd413ccb7
7
+ data.tar.gz: 50a2681b9d5b9b852642f41270caee378ceafb2e8384cde5df76933ffa8583949618d85cc71603f357522d6f44943e4276ba0aa18e745f940e457fef4d130e35
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.41.0 (2023-09-26)
5
+ ------------------
6
+
7
+ * Feature - This release adds three new API support "CreateLakeFormationOptIn", "DeleteLakeFormationOptIn" and "ListLakeFormationOptIns", and also updates the corresponding documentation.
8
+
4
9
  1.40.0 (2023-07-17)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.40.0
1
+ 1.41.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.41.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.41.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.41.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-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core