aws-sdk-lakeformation 1.39.0 → 1.41.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: 6e64dedf2c8920a0aca915842cb27bd64913d3c025e3ffc85943c93dbbb80e32
4
- data.tar.gz: 85e8e8cf765345d405f8fedaa031a0859e7170aae36296e287681d96ebf82464
3
+ metadata.gz: '08aa980e5d3d3c52fccedbfa3b69153c7e2f2151fc6823f1b45a510f3aa33652'
4
+ data.tar.gz: c535f5d0b57202c499b5430373aa010b9242a3962ff59c45ad5e8d0629814e2e
5
5
  SHA512:
6
- metadata.gz: 5f5ca82de401c75ef81c7f4e1acb22e664da38ad59727d61e247cb8e8f0d066616ed7863bd4e12753f0986cc3fcf348eb1e6af8fdfefe1c3298ba24830426f76
7
- data.tar.gz: 440d42dae06ecc51976d07854743ad3584726b2cba7e4d7e002402827eb69ea65a22c007d76e039799babd480a626a35b38e42ea60474fee64a61ed1724c23a6
6
+ metadata.gz: 8ccd1028b98b2eac7548414598fdbeb08194ad209315a08d1b383ce465eac9b96eda829203cb6da890a2040770b6b757bab949797300a7c30a2d366dd413ccb7
7
+ data.tar.gz: 50a2681b9d5b9b852642f41270caee378ceafb2e8384cde5df76933ffa8583949618d85cc71603f357522d6f44943e4276ba0aa18e745f940e457fef4d130e35
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
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
+
9
+ 1.40.0 (2023-07-17)
10
+ ------------------
11
+
12
+ * Feature - Adds supports for ReadOnlyAdmins and AllowFullTableExternalDataAccess. Adds NESTED_PERMISSION and NESTED_CELL_PERMISSION to SUPPORTED_PERMISSION_TYPES enum. Adds CREATE_LF_TAG on catalog resource and ALTER, DROP, and GRANT_WITH_LF_TAG_EXPRESSION on LF Tag resource.
13
+
4
14
  1.39.0 (2023-07-11)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.39.0
1
+ 1.41.0
@@ -629,8 +629,8 @@ module Aws::LakeFormation
629
629
  # ],
630
630
  # },
631
631
  # },
632
- # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ASSOCIATE
633
- # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ASSOCIATE
632
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_LF_TAG, ASSOCIATE, GRANT_WITH_LF_TAG_EXPRESSION
633
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_LF_TAG, ASSOCIATE, GRANT_WITH_LF_TAG_EXPRESSION
634
634
  # },
635
635
  # ],
636
636
  # })
@@ -669,9 +669,9 @@ module Aws::LakeFormation
669
669
  # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_values #=> Array
670
670
  # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_values[0] #=> String
671
671
  # resp.failures[0].request_entry.permissions #=> Array
672
- # resp.failures[0].request_entry.permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ASSOCIATE"
672
+ # resp.failures[0].request_entry.permissions[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"
673
673
  # resp.failures[0].request_entry.permissions_with_grant_option #=> Array
674
- # resp.failures[0].request_entry.permissions_with_grant_option[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ASSOCIATE"
674
+ # resp.failures[0].request_entry.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"
675
675
  # resp.failures[0].error.error_code #=> String
676
676
  # resp.failures[0].error.error_message #=> String
677
677
  #
@@ -759,8 +759,8 @@ module Aws::LakeFormation
759
759
  # ],
760
760
  # },
761
761
  # },
762
- # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ASSOCIATE
763
- # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ASSOCIATE
762
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_LF_TAG, ASSOCIATE, GRANT_WITH_LF_TAG_EXPRESSION
763
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_LF_TAG, ASSOCIATE, GRANT_WITH_LF_TAG_EXPRESSION
764
764
  # },
765
765
  # ],
766
766
  # })
@@ -799,9 +799,9 @@ module Aws::LakeFormation
799
799
  # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_values #=> Array
800
800
  # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_values[0] #=> String
801
801
  # resp.failures[0].request_entry.permissions #=> Array
802
- # resp.failures[0].request_entry.permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ASSOCIATE"
802
+ # resp.failures[0].request_entry.permissions[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"
803
803
  # resp.failures[0].request_entry.permissions_with_grant_option #=> Array
804
- # resp.failures[0].request_entry.permissions_with_grant_option[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ASSOCIATE"
804
+ # resp.failures[0].request_entry.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"
805
805
  # resp.failures[0].error.error_code #=> String
806
806
  # resp.failures[0].error.error_message #=> String
807
807
  #
@@ -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
  #
@@ -1252,19 +1409,22 @@ module Aws::LakeFormation
1252
1409
  #
1253
1410
  # resp.data_lake_settings.data_lake_admins #=> Array
1254
1411
  # resp.data_lake_settings.data_lake_admins[0].data_lake_principal_identifier #=> String
1412
+ # resp.data_lake_settings.read_only_admins #=> Array
1413
+ # resp.data_lake_settings.read_only_admins[0].data_lake_principal_identifier #=> String
1255
1414
  # resp.data_lake_settings.create_database_default_permissions #=> Array
1256
1415
  # resp.data_lake_settings.create_database_default_permissions[0].principal.data_lake_principal_identifier #=> String
1257
1416
  # resp.data_lake_settings.create_database_default_permissions[0].permissions #=> Array
1258
- # resp.data_lake_settings.create_database_default_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ASSOCIATE"
1417
+ # resp.data_lake_settings.create_database_default_permissions[0].permissions[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"
1259
1418
  # resp.data_lake_settings.create_table_default_permissions #=> Array
1260
1419
  # resp.data_lake_settings.create_table_default_permissions[0].principal.data_lake_principal_identifier #=> String
1261
1420
  # resp.data_lake_settings.create_table_default_permissions[0].permissions #=> Array
1262
- # resp.data_lake_settings.create_table_default_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ASSOCIATE"
1421
+ # resp.data_lake_settings.create_table_default_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_LF_TAG", "ASSOCIATE", "GRANT_WITH_LF_TAG_EXPRESSION"
1263
1422
  # resp.data_lake_settings.parameters #=> Hash
1264
1423
  # resp.data_lake_settings.parameters["KeyString"] #=> String
1265
1424
  # resp.data_lake_settings.trusted_resource_owners #=> Array
1266
1425
  # resp.data_lake_settings.trusted_resource_owners[0] #=> String
1267
1426
  # resp.data_lake_settings.allow_external_data_filtering #=> Boolean
1427
+ # resp.data_lake_settings.allow_full_table_external_data_access #=> Boolean
1268
1428
  # resp.data_lake_settings.external_data_filtering_allow_list #=> Array
1269
1429
  # resp.data_lake_settings.external_data_filtering_allow_list[0].data_lake_principal_identifier #=> String
1270
1430
  # resp.data_lake_settings.authorized_session_tag_value_list #=> Array
@@ -1350,11 +1510,13 @@ module Aws::LakeFormation
1350
1510
  # resp.permissions[0].resource.lf_tag_policy.expression[0].tag_values #=> Array
1351
1511
  # resp.permissions[0].resource.lf_tag_policy.expression[0].tag_values[0] #=> String
1352
1512
  # resp.permissions[0].permissions #=> Array
1353
- # resp.permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ASSOCIATE"
1513
+ # resp.permissions[0].permissions[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"
1354
1514
  # resp.permissions[0].permissions_with_grant_option #=> Array
1355
- # 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_TAG", "ASSOCIATE"
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"
1356
1516
  # resp.permissions[0].additional_details.resource_share #=> Array
1357
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
1358
1520
  # resp.next_token #=> String
1359
1521
  #
1360
1522
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetEffectivePermissionsForPath AWS API Documentation
@@ -1691,7 +1853,7 @@ module Aws::LakeFormation
1691
1853
  # A structure representing context to access a resource (column names,
1692
1854
  # query ID, etc).
1693
1855
  #
1694
- # @option params [required, Array<String>] :supported_permission_types
1856
+ # @option params [Array<String>] :supported_permission_types
1695
1857
  # A list of supported permission types for the partition. Valid values
1696
1858
  # are `COLUMN_PERMISSION` and `CELL_FILTER_PERMISSION`.
1697
1859
  #
@@ -1709,12 +1871,12 @@ module Aws::LakeFormation
1709
1871
  # partition: { # required
1710
1872
  # values: ["ValueString"], # required
1711
1873
  # },
1712
- # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ASSOCIATE
1874
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_LF_TAG, ASSOCIATE, GRANT_WITH_LF_TAG_EXPRESSION
1713
1875
  # duration_seconds: 1,
1714
1876
  # audit_context: {
1715
1877
  # additional_audit_context: "AuditContextString",
1716
1878
  # },
1717
- # supported_permission_types: ["COLUMN_PERMISSION"], # required, accepts COLUMN_PERMISSION, CELL_FILTER_PERMISSION
1879
+ # supported_permission_types: ["COLUMN_PERMISSION"], # accepts COLUMN_PERMISSION, CELL_FILTER_PERMISSION, NESTED_PERMISSION, NESTED_CELL_PERMISSION
1718
1880
  # })
1719
1881
  #
1720
1882
  # @example Response structure
@@ -1755,7 +1917,7 @@ module Aws::LakeFormation
1755
1917
  # A structure representing context to access a resource (column names,
1756
1918
  # query ID, etc).
1757
1919
  #
1758
- # @option params [required, Array<String>] :supported_permission_types
1920
+ # @option params [Array<String>] :supported_permission_types
1759
1921
  # A list of supported permission types for the table. Valid values are
1760
1922
  # `COLUMN_PERMISSION` and `CELL_FILTER_PERMISSION`.
1761
1923
  #
@@ -1770,12 +1932,12 @@ module Aws::LakeFormation
1770
1932
  #
1771
1933
  # resp = client.get_temporary_glue_table_credentials({
1772
1934
  # table_arn: "ResourceArnString", # required
1773
- # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ASSOCIATE
1935
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_LF_TAG, ASSOCIATE, GRANT_WITH_LF_TAG_EXPRESSION
1774
1936
  # duration_seconds: 1,
1775
1937
  # audit_context: {
1776
1938
  # additional_audit_context: "AuditContextString",
1777
1939
  # },
1778
- # supported_permission_types: ["COLUMN_PERMISSION"], # required, accepts COLUMN_PERMISSION, CELL_FILTER_PERMISSION
1940
+ # supported_permission_types: ["COLUMN_PERMISSION"], # accepts COLUMN_PERMISSION, CELL_FILTER_PERMISSION, NESTED_PERMISSION, NESTED_CELL_PERMISSION
1779
1941
  # })
1780
1942
  #
1781
1943
  # @example Response structure
@@ -1985,8 +2147,8 @@ module Aws::LakeFormation
1985
2147
  # ],
1986
2148
  # },
1987
2149
  # },
1988
- # permissions: ["ALL"], # required, accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ASSOCIATE
1989
- # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ASSOCIATE
2150
+ # permissions: ["ALL"], # required, accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_LF_TAG, ASSOCIATE, GRANT_WITH_LF_TAG_EXPRESSION
2151
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_LF_TAG, ASSOCIATE, GRANT_WITH_LF_TAG_EXPRESSION
1990
2152
  # })
1991
2153
  #
1992
2154
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissions AWS API Documentation
@@ -2110,6 +2272,134 @@ module Aws::LakeFormation
2110
2272
  req.send_request(options)
2111
2273
  end
2112
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&lt;Types::LakeFormationOptInsInfo&gt;
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
+
2113
2403
  # Returns a list of the principal permissions on the resource, filtered
2114
2404
  # by the permissions of the caller. For example, if you are granted an
2115
2405
  # ALTER permission, you are able to see only the principal permissions
@@ -2123,7 +2413,7 @@ module Aws::LakeFormation
2123
2413
  #
2124
2414
  #
2125
2415
  #
2126
- # [1]: https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html
2416
+ # [1]: https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html
2127
2417
  #
2128
2418
  # @option params [String] :catalog_id
2129
2419
  # The identifier for the Data Catalog. By default, the account ID. The
@@ -2256,11 +2546,13 @@ module Aws::LakeFormation
2256
2546
  # resp.principal_resource_permissions[0].resource.lf_tag_policy.expression[0].tag_values #=> Array
2257
2547
  # resp.principal_resource_permissions[0].resource.lf_tag_policy.expression[0].tag_values[0] #=> String
2258
2548
  # resp.principal_resource_permissions[0].permissions #=> Array
2259
- # resp.principal_resource_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ASSOCIATE"
2549
+ # resp.principal_resource_permissions[0].permissions[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"
2260
2550
  # resp.principal_resource_permissions[0].permissions_with_grant_option #=> Array
2261
- # 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_TAG", "ASSOCIATE"
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"
2262
2552
  # resp.principal_resource_permissions[0].additional_details.resource_share #=> Array
2263
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
2264
2556
  # resp.next_token #=> String
2265
2557
  #
2266
2558
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissions AWS API Documentation
@@ -2313,6 +2605,7 @@ module Aws::LakeFormation
2313
2605
  # resp.resource_info_list[0].role_arn #=> String
2314
2606
  # resp.resource_info_list[0].last_modified #=> Time
2315
2607
  # resp.resource_info_list[0].with_federation #=> Boolean
2608
+ # resp.resource_info_list[0].hybrid_access_enabled #=> Boolean
2316
2609
  # resp.next_token #=> String
2317
2610
  #
2318
2611
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResources AWS API Documentation
@@ -2475,12 +2768,17 @@ module Aws::LakeFormation
2475
2768
  # data_lake_principal_identifier: "DataLakePrincipalString",
2476
2769
  # },
2477
2770
  # ],
2771
+ # read_only_admins: [
2772
+ # {
2773
+ # data_lake_principal_identifier: "DataLakePrincipalString",
2774
+ # },
2775
+ # ],
2478
2776
  # create_database_default_permissions: [
2479
2777
  # {
2480
2778
  # principal: {
2481
2779
  # data_lake_principal_identifier: "DataLakePrincipalString",
2482
2780
  # },
2483
- # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ASSOCIATE
2781
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_LF_TAG, ASSOCIATE, GRANT_WITH_LF_TAG_EXPRESSION
2484
2782
  # },
2485
2783
  # ],
2486
2784
  # create_table_default_permissions: [
@@ -2488,7 +2786,7 @@ module Aws::LakeFormation
2488
2786
  # principal: {
2489
2787
  # data_lake_principal_identifier: "DataLakePrincipalString",
2490
2788
  # },
2491
- # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ASSOCIATE
2789
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_LF_TAG, ASSOCIATE, GRANT_WITH_LF_TAG_EXPRESSION
2492
2790
  # },
2493
2791
  # ],
2494
2792
  # parameters: {
@@ -2496,6 +2794,7 @@ module Aws::LakeFormation
2496
2794
  # },
2497
2795
  # trusted_resource_owners: ["CatalogIdString"],
2498
2796
  # allow_external_data_filtering: false,
2797
+ # allow_full_table_external_data_access: false,
2499
2798
  # external_data_filtering_allow_list: [
2500
2799
  # {
2501
2800
  # data_lake_principal_identifier: "DataLakePrincipalString",
@@ -2559,6 +2858,11 @@ module Aws::LakeFormation
2559
2858
  # @option params [Boolean] :with_federation
2560
2859
  # Whether or not the resource is a federated resource.
2561
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
+ #
2562
2866
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2563
2867
  #
2564
2868
  # @example Request syntax with placeholder values
@@ -2568,6 +2872,7 @@ module Aws::LakeFormation
2568
2872
  # use_service_linked_role: false,
2569
2873
  # role_arn: "IAMRoleArn",
2570
2874
  # with_federation: false,
2875
+ # hybrid_access_enabled: false,
2571
2876
  # })
2572
2877
  #
2573
2878
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResource AWS API Documentation
@@ -2768,8 +3073,8 @@ module Aws::LakeFormation
2768
3073
  # ],
2769
3074
  # },
2770
3075
  # },
2771
- # permissions: ["ALL"], # required, accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ASSOCIATE
2772
- # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ASSOCIATE
3076
+ # permissions: ["ALL"], # required, accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_LF_TAG, ASSOCIATE, GRANT_WITH_LF_TAG_EXPRESSION
3077
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_LF_TAG, ASSOCIATE, GRANT_WITH_LF_TAG_EXPRESSION
2773
3078
  # })
2774
3079
  #
2775
3080
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissions AWS API Documentation
@@ -3094,6 +3399,11 @@ module Aws::LakeFormation
3094
3399
  # @option params [Boolean] :with_federation
3095
3400
  # Whether or not the resource is a federated resource.
3096
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
+ #
3097
3407
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3098
3408
  #
3099
3409
  # @example Request syntax with placeholder values
@@ -3102,6 +3412,7 @@ module Aws::LakeFormation
3102
3412
  # role_arn: "IAMRoleArn", # required
3103
3413
  # resource_arn: "ResourceArnString", # required
3104
3414
  # with_federation: false,
3415
+ # hybrid_access_enabled: false,
3105
3416
  # })
3106
3417
  #
3107
3418
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResource AWS API Documentation
@@ -3225,7 +3536,7 @@ module Aws::LakeFormation
3225
3536
  params: params,
3226
3537
  config: config)
3227
3538
  context[:gem_name] = 'aws-sdk-lakeformation'
3228
- context[:gem_version] = '1.39.0'
3539
+ context[:gem_version] = '1.41.0'
3229
3540
  Seahorse::Client::Request.new(handlers, context)
3230
3541
  end
3231
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"))
@@ -409,11 +423,13 @@ module Aws::LakeFormation
409
423
  DataLakePrincipalList.member = Shapes::ShapeRef.new(shape: DataLakePrincipal)
410
424
 
411
425
  DataLakeSettings.add_member(:data_lake_admins, Shapes::ShapeRef.new(shape: DataLakePrincipalList, location_name: "DataLakeAdmins"))
426
+ DataLakeSettings.add_member(:read_only_admins, Shapes::ShapeRef.new(shape: DataLakePrincipalList, location_name: "ReadOnlyAdmins"))
412
427
  DataLakeSettings.add_member(:create_database_default_permissions, Shapes::ShapeRef.new(shape: PrincipalPermissionsList, location_name: "CreateDatabaseDefaultPermissions"))
413
428
  DataLakeSettings.add_member(:create_table_default_permissions, Shapes::ShapeRef.new(shape: PrincipalPermissionsList, location_name: "CreateTableDefaultPermissions"))
414
429
  DataLakeSettings.add_member(:parameters, Shapes::ShapeRef.new(shape: ParametersMap, location_name: "Parameters"))
415
430
  DataLakeSettings.add_member(:trusted_resource_owners, Shapes::ShapeRef.new(shape: TrustedResourceOwners, location_name: "TrustedResourceOwners"))
416
431
  DataLakeSettings.add_member(:allow_external_data_filtering, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "AllowExternalDataFiltering"))
432
+ DataLakeSettings.add_member(:allow_full_table_external_data_access, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "AllowFullTableExternalDataAccess"))
417
433
  DataLakeSettings.add_member(:external_data_filtering_allow_list, Shapes::ShapeRef.new(shape: DataLakePrincipalList, location_name: "ExternalDataFilteringAllowList"))
418
434
  DataLakeSettings.add_member(:authorized_session_tag_value_list, Shapes::ShapeRef.new(shape: AuthorizedSessionTagValueList, location_name: "AuthorizedSessionTagValueList"))
419
435
  DataLakeSettings.struct_class = Types::DataLakeSettings
@@ -442,6 +458,12 @@ module Aws::LakeFormation
442
458
 
443
459
  DeleteLFTagResponse.struct_class = Types::DeleteLFTagResponse
444
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
+
445
467
  DeleteObjectInput.add_member(:uri, Shapes::ShapeRef.new(shape: URI, required: true, location_name: "Uri"))
446
468
  DeleteObjectInput.add_member(:etag, Shapes::ShapeRef.new(shape: ETagString, location_name: "ETag"))
447
469
  DeleteObjectInput.add_member(:partition_values, Shapes::ShapeRef.new(shape: PartitionValuesList, location_name: "PartitionValues"))
@@ -583,7 +605,7 @@ module Aws::LakeFormation
583
605
  GetTemporaryGluePartitionCredentialsRequest.add_member(:permissions, Shapes::ShapeRef.new(shape: PermissionList, location_name: "Permissions"))
584
606
  GetTemporaryGluePartitionCredentialsRequest.add_member(:duration_seconds, Shapes::ShapeRef.new(shape: CredentialTimeoutDurationSecondInteger, location_name: "DurationSeconds"))
585
607
  GetTemporaryGluePartitionCredentialsRequest.add_member(:audit_context, Shapes::ShapeRef.new(shape: AuditContext, location_name: "AuditContext"))
586
- GetTemporaryGluePartitionCredentialsRequest.add_member(:supported_permission_types, Shapes::ShapeRef.new(shape: PermissionTypeList, required: true, location_name: "SupportedPermissionTypes"))
608
+ GetTemporaryGluePartitionCredentialsRequest.add_member(:supported_permission_types, Shapes::ShapeRef.new(shape: PermissionTypeList, location_name: "SupportedPermissionTypes"))
587
609
  GetTemporaryGluePartitionCredentialsRequest.struct_class = Types::GetTemporaryGluePartitionCredentialsRequest
588
610
 
589
611
  GetTemporaryGluePartitionCredentialsResponse.add_member(:access_key_id, Shapes::ShapeRef.new(shape: AccessKeyIdString, location_name: "AccessKeyId"))
@@ -596,7 +618,7 @@ module Aws::LakeFormation
596
618
  GetTemporaryGlueTableCredentialsRequest.add_member(:permissions, Shapes::ShapeRef.new(shape: PermissionList, location_name: "Permissions"))
597
619
  GetTemporaryGlueTableCredentialsRequest.add_member(:duration_seconds, Shapes::ShapeRef.new(shape: CredentialTimeoutDurationSecondInteger, location_name: "DurationSeconds"))
598
620
  GetTemporaryGlueTableCredentialsRequest.add_member(:audit_context, Shapes::ShapeRef.new(shape: AuditContext, location_name: "AuditContext"))
599
- GetTemporaryGlueTableCredentialsRequest.add_member(:supported_permission_types, Shapes::ShapeRef.new(shape: PermissionTypeList, required: true, location_name: "SupportedPermissionTypes"))
621
+ GetTemporaryGlueTableCredentialsRequest.add_member(:supported_permission_types, Shapes::ShapeRef.new(shape: PermissionTypeList, location_name: "SupportedPermissionTypes"))
600
622
  GetTemporaryGlueTableCredentialsRequest.struct_class = Types::GetTemporaryGlueTableCredentialsRequest
601
623
 
602
624
  GetTemporaryGlueTableCredentialsResponse.add_member(:access_key_id, Shapes::ShapeRef.new(shape: AccessKeyIdString, location_name: "AccessKeyId"))
@@ -670,6 +692,14 @@ module Aws::LakeFormation
670
692
 
671
693
  LFTagsList.member = Shapes::ShapeRef.new(shape: LFTagPair)
672
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
+
673
703
  ListDataCellsFilterRequest.add_member(:table, Shapes::ShapeRef.new(shape: TableResource, location_name: "Table"))
674
704
  ListDataCellsFilterRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
675
705
  ListDataCellsFilterRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PageSize, location_name: "MaxResults"))
@@ -689,6 +719,16 @@ module Aws::LakeFormation
689
719
  ListLFTagsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
690
720
  ListLFTagsResponse.struct_class = Types::ListLFTagsResponse
691
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
+
692
732
  ListPermissionsRequest.add_member(:catalog_id, Shapes::ShapeRef.new(shape: CatalogIdString, location_name: "CatalogId"))
693
733
  ListPermissionsRequest.add_member(:principal, Shapes::ShapeRef.new(shape: DataLakePrincipal, location_name: "Principal"))
694
734
  ListPermissionsRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: DataLakeResourceType, location_name: "ResourceType"))
@@ -774,6 +814,8 @@ module Aws::LakeFormation
774
814
  PrincipalResourcePermissions.add_member(:permissions, Shapes::ShapeRef.new(shape: PermissionList, location_name: "Permissions"))
775
815
  PrincipalResourcePermissions.add_member(:permissions_with_grant_option, Shapes::ShapeRef.new(shape: PermissionList, location_name: "PermissionsWithGrantOption"))
776
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"))
777
819
  PrincipalResourcePermissions.struct_class = Types::PrincipalResourcePermissions
778
820
 
779
821
  PrincipalResourcePermissionsList.member = Shapes::ShapeRef.new(shape: PrincipalResourcePermissions)
@@ -798,6 +840,7 @@ module Aws::LakeFormation
798
840
  RegisterResourceRequest.add_member(:use_service_linked_role, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "UseServiceLinkedRole"))
799
841
  RegisterResourceRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, location_name: "RoleArn"))
800
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"))
801
844
  RegisterResourceRequest.struct_class = Types::RegisterResourceRequest
802
845
 
803
846
  RegisterResourceResponse.struct_class = Types::RegisterResourceResponse
@@ -824,6 +867,7 @@ module Aws::LakeFormation
824
867
  ResourceInfo.add_member(:role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, location_name: "RoleArn"))
825
868
  ResourceInfo.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModifiedTimestamp, location_name: "LastModified"))
826
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"))
827
871
  ResourceInfo.struct_class = Types::ResourceInfo
828
872
 
829
873
  ResourceInfoList.member = Shapes::ShapeRef.new(shape: ResourceInfo)
@@ -976,6 +1020,7 @@ module Aws::LakeFormation
976
1020
  UpdateResourceRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, required: true, location_name: "RoleArn"))
977
1021
  UpdateResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArnString, required: true, location_name: "ResourceArn"))
978
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"))
979
1024
  UpdateResourceRequest.struct_class = Types::UpdateResourceRequest
980
1025
 
981
1026
  UpdateResourceResponse.struct_class = Types::UpdateResourceResponse
@@ -1145,6 +1190,20 @@ module Aws::LakeFormation
1145
1190
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1146
1191
  end)
1147
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
+
1148
1207
  api.add_operation(:delete_data_cells_filter, Seahorse::Model::Operation.new.tap do |o|
1149
1208
  o.name = "DeleteDataCellsFilter"
1150
1209
  o.http_method = "POST"
@@ -1171,6 +1230,20 @@ module Aws::LakeFormation
1171
1230
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1172
1231
  end)
1173
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
+
1174
1247
  api.add_operation(:delete_objects_on_cancel, Seahorse::Model::Operation.new.tap do |o|
1175
1248
  o.name = "DeleteObjectsOnCancel"
1176
1249
  o.http_method = "POST"
@@ -1473,6 +1546,24 @@ module Aws::LakeFormation
1473
1546
  )
1474
1547
  end)
1475
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
+
1476
1567
  api.add_operation(:list_permissions, Seahorse::Model::Operation.new.tap do |o|
1477
1568
  o.name = "ListPermissions"
1478
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
@@ -486,7 +508,10 @@ module Aws::LakeFormation
486
508
  # @return [Types::RowFilter]
487
509
  #
488
510
  # @!attribute [rw] column_names
489
- # A list of column names.
511
+ # A list of column names and/or nested column attributes. When
512
+ # specifying nested attributes, use a qualified dot (.) delimited
513
+ # format such as "address"."zip". Nested attributes within this
514
+ # list may not exceed a depth of 5.
490
515
  # @return [Array<String>]
491
516
  #
492
517
  # @!attribute [rw] column_wildcard
@@ -569,6 +594,12 @@ module Aws::LakeFormation
569
594
  # users or IAM roles.
570
595
  # @return [Array<Types::DataLakePrincipal>]
571
596
  #
597
+ # @!attribute [rw] read_only_admins
598
+ # A list of Lake Formation principals with only view access to the
599
+ # resources, without the ability to make changes. Supported principals
600
+ # are IAM users or IAM roles.
601
+ # @return [Array<Types::DataLakePrincipal>]
602
+ #
572
603
  # @!attribute [rw] create_database_default_permissions
573
604
  # Specifies whether access control on newly created database is
574
605
  # managed by Lake Formation permissions or exclusively by IAM
@@ -642,12 +673,18 @@ module Aws::LakeFormation
642
673
  # If false or null, no Amazon EMR clusters will be able to access data
643
674
  # in Amazon S3 locations that are registered with Lake Formation.
644
675
  #
645
- # For more information, see [(Optional) Allow Data Filtering on Amazon
646
- # EMR][1].
676
+ # For more information, see [(Optional) Allow external data
677
+ # filtering][1].
647
678
  #
648
679
  #
649
680
  #
650
- # [1]: https://docs-aws.amazon.com/lake-formation/latest/dg/getting-started-setup.html#emr-switch
681
+ # [1]: https://docs.aws.amazon.com/lake-formation/latest/dg/initial-LF-setup.html#external-data-filter
682
+ # @return [Boolean]
683
+ #
684
+ # @!attribute [rw] allow_full_table_external_data_access
685
+ # Whether to allow a third-party query engine to get data access
686
+ # credentials without session tags when a caller has full data access
687
+ # permissions.
651
688
  # @return [Boolean]
652
689
  #
653
690
  # @!attribute [rw] external_data_filtering_allow_list
@@ -669,11 +706,13 @@ module Aws::LakeFormation
669
706
  #
670
707
  class DataLakeSettings < Struct.new(
671
708
  :data_lake_admins,
709
+ :read_only_admins,
672
710
  :create_database_default_permissions,
673
711
  :create_table_default_permissions,
674
712
  :parameters,
675
713
  :trusted_resource_owners,
676
714
  :allow_external_data_filtering,
715
+ :allow_full_table_external_data_access,
677
716
  :external_data_filtering_allow_list,
678
717
  :authorized_session_tag_value_list)
679
718
  SENSITIVE = []
@@ -777,6 +816,28 @@ module Aws::LakeFormation
777
816
  #
778
817
  class DeleteLFTagResponse < Aws::EmptyStructure; end
779
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
+
780
841
  # An object to delete from the governed table.
781
842
  #
782
843
  # @!attribute [rw] uri
@@ -1736,6 +1797,10 @@ module Aws::LakeFormation
1736
1797
  #
1737
1798
  # @!attribute [rw] tag_values
1738
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.
1739
1804
  # @return [Array<String>]
1740
1805
  #
1741
1806
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/LFTag AWS API Documentation
@@ -1851,6 +1916,37 @@ module Aws::LakeFormation
1851
1916
  include Aws::Structure
1852
1917
  end
1853
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
+
1854
1950
  # @!attribute [rw] table
1855
1951
  # A table in the Glue Data Catalog.
1856
1952
  # @return [Types::TableResource]
@@ -1945,6 +2041,54 @@ module Aws::LakeFormation
1945
2041
  include Aws::Structure
1946
2042
  end
1947
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
+
1948
2092
  # @!attribute [rw] catalog_id
1949
2093
  # The identifier for the Data Catalog. By default, the account ID. The
1950
2094
  # Data Catalog is the persistent metadata store. It contains database
@@ -2301,6 +2445,14 @@ module Aws::LakeFormation
2301
2445
  # resource share ARN.
2302
2446
  # @return [Types::DetailsMap]
2303
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
+ #
2304
2456
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PrincipalResourcePermissions AWS API Documentation
2305
2457
  #
2306
2458
  class PrincipalResourcePermissions < Struct.new(
@@ -2308,7 +2460,9 @@ module Aws::LakeFormation
2308
2460
  :resource,
2309
2461
  :permissions,
2310
2462
  :permissions_with_grant_option,
2311
- :additional_details)
2463
+ :additional_details,
2464
+ :last_updated,
2465
+ :last_updated_by)
2312
2466
  SENSITIVE = []
2313
2467
  include Aws::Structure
2314
2468
  end
@@ -2408,13 +2562,20 @@ module Aws::LakeFormation
2408
2562
  # Whether or not the resource is a federated resource.
2409
2563
  # @return [Boolean]
2410
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
+ #
2411
2571
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResourceRequest AWS API Documentation
2412
2572
  #
2413
2573
  class RegisterResourceRequest < Struct.new(
2414
2574
  :resource_arn,
2415
2575
  :use_service_linked_role,
2416
2576
  :role_arn,
2417
- :with_federation)
2577
+ :with_federation,
2578
+ :hybrid_access_enabled)
2418
2579
  SENSITIVE = []
2419
2580
  include Aws::Structure
2420
2581
  end
@@ -2539,13 +2700,20 @@ module Aws::LakeFormation
2539
2700
  # Whether or not the resource is a federated resource.
2540
2701
  # @return [Boolean]
2541
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
+ #
2542
2709
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ResourceInfo AWS API Documentation
2543
2710
  #
2544
2711
  class ResourceInfo < Struct.new(
2545
2712
  :resource_arn,
2546
2713
  :role_arn,
2547
2714
  :last_modified,
2548
- :with_federation)
2715
+ :with_federation,
2716
+ :hybrid_access_enabled)
2549
2717
  SENSITIVE = []
2550
2718
  include Aws::Structure
2551
2719
  end
@@ -3181,12 +3349,19 @@ module Aws::LakeFormation
3181
3349
  # Whether or not the resource is a federated resource.
3182
3350
  # @return [Boolean]
3183
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
+ #
3184
3358
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResourceRequest AWS API Documentation
3185
3359
  #
3186
3360
  class UpdateResourceRequest < Struct.new(
3187
3361
  :role_arn,
3188
3362
  :resource_arn,
3189
- :with_federation)
3363
+ :with_federation,
3364
+ :hybrid_access_enabled)
3190
3365
  SENSITIVE = []
3191
3366
  include Aws::Structure
3192
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.39.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.39.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-11 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