aws-sdk-lakeformation 1.63.0 → 1.64.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.
@@ -510,12 +510,17 @@ module Aws::LakeFormation
510
510
  # lf_tag_policy: {
511
511
  # catalog_id: "CatalogIdString",
512
512
  # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
513
- # expression: [ # required
513
+ # expression: [
514
514
  # {
515
515
  # tag_key: "LFTagKey", # required
516
516
  # tag_values: ["LFTagValue"], # required
517
517
  # },
518
518
  # ],
519
+ # expression_name: "NameString",
520
+ # },
521
+ # lf_tag_expression: {
522
+ # catalog_id: "CatalogIdString",
523
+ # name: "NameString", # required
519
524
  # },
520
525
  # },
521
526
  # lf_tags: [ # required
@@ -680,16 +685,21 @@ module Aws::LakeFormation
680
685
  # lf_tag_policy: {
681
686
  # catalog_id: "CatalogIdString",
682
687
  # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
683
- # expression: [ # required
688
+ # expression: [
684
689
  # {
685
690
  # tag_key: "LFTagKey", # required
686
691
  # tag_values: ["LFTagValue"], # required
687
692
  # },
688
693
  # ],
694
+ # expression_name: "NameString",
695
+ # },
696
+ # lf_tag_expression: {
697
+ # catalog_id: "CatalogIdString",
698
+ # name: "NameString", # required
689
699
  # },
690
700
  # },
691
- # 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
692
- # 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
701
+ # 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, CREATE_LF_TAG_EXPRESSION
702
+ # 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, CREATE_LF_TAG_EXPRESSION
693
703
  # },
694
704
  # ],
695
705
  # })
@@ -727,10 +737,13 @@ module Aws::LakeFormation
727
737
  # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_key #=> String
728
738
  # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_values #=> Array
729
739
  # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_values[0] #=> String
740
+ # resp.failures[0].request_entry.resource.lf_tag_policy.expression_name #=> String
741
+ # resp.failures[0].request_entry.resource.lf_tag_expression.catalog_id #=> String
742
+ # resp.failures[0].request_entry.resource.lf_tag_expression.name #=> String
730
743
  # resp.failures[0].request_entry.permissions #=> Array
731
- # 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"
744
+ # 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", "CREATE_LF_TAG_EXPRESSION"
732
745
  # resp.failures[0].request_entry.permissions_with_grant_option #=> Array
733
- # 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"
746
+ # 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", "CREATE_LF_TAG_EXPRESSION"
734
747
  # resp.failures[0].error.error_code #=> String
735
748
  # resp.failures[0].error.error_message #=> String
736
749
  #
@@ -810,16 +823,21 @@ module Aws::LakeFormation
810
823
  # lf_tag_policy: {
811
824
  # catalog_id: "CatalogIdString",
812
825
  # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
813
- # expression: [ # required
826
+ # expression: [
814
827
  # {
815
828
  # tag_key: "LFTagKey", # required
816
829
  # tag_values: ["LFTagValue"], # required
817
830
  # },
818
831
  # ],
832
+ # expression_name: "NameString",
833
+ # },
834
+ # lf_tag_expression: {
835
+ # catalog_id: "CatalogIdString",
836
+ # name: "NameString", # required
819
837
  # },
820
838
  # },
821
- # 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
822
- # 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
839
+ # 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, CREATE_LF_TAG_EXPRESSION
840
+ # 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, CREATE_LF_TAG_EXPRESSION
823
841
  # },
824
842
  # ],
825
843
  # })
@@ -857,10 +875,13 @@ module Aws::LakeFormation
857
875
  # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_key #=> String
858
876
  # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_values #=> Array
859
877
  # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_values[0] #=> String
878
+ # resp.failures[0].request_entry.resource.lf_tag_policy.expression_name #=> String
879
+ # resp.failures[0].request_entry.resource.lf_tag_expression.catalog_id #=> String
880
+ # resp.failures[0].request_entry.resource.lf_tag_expression.name #=> String
860
881
  # resp.failures[0].request_entry.permissions #=> Array
861
- # 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"
882
+ # 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", "CREATE_LF_TAG_EXPRESSION"
862
883
  # resp.failures[0].request_entry.permissions_with_grant_option #=> Array
863
- # 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"
884
+ # 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", "CREATE_LF_TAG_EXPRESSION"
864
885
  # resp.failures[0].error.error_code #=> String
865
886
  # resp.failures[0].error.error_message #=> String
866
887
  #
@@ -998,6 +1019,57 @@ module Aws::LakeFormation
998
1019
  req.send_request(options)
999
1020
  end
1000
1021
 
1022
+ # Creates a new LF-Tag expression with the provided name, description,
1023
+ # catalog ID, and expression body. This call fails if a LF-Tag
1024
+ # expression with the same name already exists in the caller’s account
1025
+ # or if the underlying LF-Tags don't exist. To call this API operation,
1026
+ # caller needs the following Lake Formation permissions:
1027
+ #
1028
+ # `CREATE_LF_TAG_EXPRESSION` on the root catalog resource.
1029
+ #
1030
+ # `GRANT_WITH_LF_TAG_EXPRESSION` on all underlying LF-Tag key:value
1031
+ # pairs included in the expression.
1032
+ #
1033
+ # @option params [required, String] :name
1034
+ # A name for the expression.
1035
+ #
1036
+ # @option params [String] :description
1037
+ # A description with information about the LF-Tag expression.
1038
+ #
1039
+ # @option params [String] :catalog_id
1040
+ # The identifier for the Data Catalog. By default, the account ID. The
1041
+ # Data Catalog is the persistent metadata store. It contains database
1042
+ # definitions, table definitions, and other control information to
1043
+ # manage your Lake Formation environment.
1044
+ #
1045
+ # @option params [required, Array<Types::LFTag>] :expression
1046
+ # A list of LF-Tag conditions (key-value pairs).
1047
+ #
1048
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1049
+ #
1050
+ # @example Request syntax with placeholder values
1051
+ #
1052
+ # resp = client.create_lf_tag_expression({
1053
+ # name: "NameString", # required
1054
+ # description: "DescriptionString",
1055
+ # catalog_id: "CatalogIdString",
1056
+ # expression: [ # required
1057
+ # {
1058
+ # tag_key: "LFTagKey", # required
1059
+ # tag_values: ["LFTagValue"], # required
1060
+ # },
1061
+ # ],
1062
+ # })
1063
+ #
1064
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLFTagExpression AWS API Documentation
1065
+ #
1066
+ # @overload create_lf_tag_expression(params = {})
1067
+ # @param [Hash] params ({})
1068
+ def create_lf_tag_expression(params = {}, options = {})
1069
+ req = build_request(:create_lf_tag_expression, params)
1070
+ req.send_request(options)
1071
+ end
1072
+
1001
1073
  # Creates an IAM Identity Center connection with Lake Formation to allow
1002
1074
  # IAM Identity Center users and groups to access Data Catalog resources.
1003
1075
  #
@@ -1122,12 +1194,17 @@ module Aws::LakeFormation
1122
1194
  # lf_tag_policy: {
1123
1195
  # catalog_id: "CatalogIdString",
1124
1196
  # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
1125
- # expression: [ # required
1197
+ # expression: [
1126
1198
  # {
1127
1199
  # tag_key: "LFTagKey", # required
1128
1200
  # tag_values: ["LFTagValue"], # required
1129
1201
  # },
1130
1202
  # ],
1203
+ # expression_name: "NameString",
1204
+ # },
1205
+ # lf_tag_expression: {
1206
+ # catalog_id: "CatalogIdString",
1207
+ # name: "NameString", # required
1131
1208
  # },
1132
1209
  # },
1133
1210
  # })
@@ -1209,6 +1286,36 @@ module Aws::LakeFormation
1209
1286
  req.send_request(options)
1210
1287
  end
1211
1288
 
1289
+ # Deletes the LF-Tag expression. The caller must be a data lake admin or
1290
+ # have `DROP` permissions on the LF-Tag expression. Deleting a LF-Tag
1291
+ # expression will also delete all `LFTagPolicy` permissions referencing
1292
+ # the LF-Tag expression.
1293
+ #
1294
+ # @option params [required, String] :name
1295
+ # The name for the LF-Tag expression.
1296
+ #
1297
+ # @option params [String] :catalog_id
1298
+ # The identifier for the Data Catalog. By default, the account ID in
1299
+ # which the LF-Tag expression is saved.
1300
+ #
1301
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1302
+ #
1303
+ # @example Request syntax with placeholder values
1304
+ #
1305
+ # resp = client.delete_lf_tag_expression({
1306
+ # name: "NameString", # required
1307
+ # catalog_id: "CatalogIdString",
1308
+ # })
1309
+ #
1310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLFTagExpression AWS API Documentation
1311
+ #
1312
+ # @overload delete_lf_tag_expression(params = {})
1313
+ # @param [Hash] params ({})
1314
+ def delete_lf_tag_expression(params = {}, options = {})
1315
+ req = build_request(:delete_lf_tag_expression, params)
1316
+ req.send_request(options)
1317
+ end
1318
+
1212
1319
  # Deletes an IAM Identity Center connection with Lake Formation.
1213
1320
  #
1214
1321
  # @option params [String] :catalog_id
@@ -1293,12 +1400,17 @@ module Aws::LakeFormation
1293
1400
  # lf_tag_policy: {
1294
1401
  # catalog_id: "CatalogIdString",
1295
1402
  # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
1296
- # expression: [ # required
1403
+ # expression: [
1297
1404
  # {
1298
1405
  # tag_key: "LFTagKey", # required
1299
1406
  # tag_values: ["LFTagValue"], # required
1300
1407
  # },
1301
1408
  # ],
1409
+ # expression_name: "NameString",
1410
+ # },
1411
+ # lf_tag_expression: {
1412
+ # catalog_id: "CatalogIdString",
1413
+ # name: "NameString", # required
1302
1414
  # },
1303
1415
  # },
1304
1416
  # })
@@ -1626,11 +1738,11 @@ module Aws::LakeFormation
1626
1738
  # resp.data_lake_settings.create_database_default_permissions #=> Array
1627
1739
  # resp.data_lake_settings.create_database_default_permissions[0].principal.data_lake_principal_identifier #=> String
1628
1740
  # resp.data_lake_settings.create_database_default_permissions[0].permissions #=> Array
1629
- # 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"
1741
+ # 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", "CREATE_LF_TAG_EXPRESSION"
1630
1742
  # resp.data_lake_settings.create_table_default_permissions #=> Array
1631
1743
  # resp.data_lake_settings.create_table_default_permissions[0].principal.data_lake_principal_identifier #=> String
1632
1744
  # resp.data_lake_settings.create_table_default_permissions[0].permissions #=> Array
1633
- # 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"
1745
+ # 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", "CREATE_LF_TAG_EXPRESSION"
1634
1746
  # resp.data_lake_settings.parameters #=> Hash
1635
1747
  # resp.data_lake_settings.parameters["KeyString"] #=> String
1636
1748
  # resp.data_lake_settings.trusted_resource_owners #=> Array
@@ -1721,10 +1833,13 @@ module Aws::LakeFormation
1721
1833
  # resp.permissions[0].resource.lf_tag_policy.expression[0].tag_key #=> String
1722
1834
  # resp.permissions[0].resource.lf_tag_policy.expression[0].tag_values #=> Array
1723
1835
  # resp.permissions[0].resource.lf_tag_policy.expression[0].tag_values[0] #=> String
1836
+ # resp.permissions[0].resource.lf_tag_policy.expression_name #=> String
1837
+ # resp.permissions[0].resource.lf_tag_expression.catalog_id #=> String
1838
+ # resp.permissions[0].resource.lf_tag_expression.name #=> String
1724
1839
  # resp.permissions[0].permissions #=> Array
1725
- # 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"
1840
+ # 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", "CREATE_LF_TAG_EXPRESSION"
1726
1841
  # resp.permissions[0].permissions_with_grant_option #=> Array
1727
- # 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"
1842
+ # 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", "CREATE_LF_TAG_EXPRESSION"
1728
1843
  # resp.permissions[0].additional_details.resource_share #=> Array
1729
1844
  # resp.permissions[0].additional_details.resource_share[0] #=> String
1730
1845
  # resp.permissions[0].last_updated #=> Time
@@ -1780,6 +1895,49 @@ module Aws::LakeFormation
1780
1895
  req.send_request(options)
1781
1896
  end
1782
1897
 
1898
+ # Returns the details about the LF-Tag expression. The caller must be a
1899
+ # data lake admin or must have `DESCRIBE` permission on the LF-Tag
1900
+ # expression resource.
1901
+ #
1902
+ # @option params [required, String] :name
1903
+ # The name for the LF-Tag expression
1904
+ #
1905
+ # @option params [String] :catalog_id
1906
+ # The identifier for the Data Catalog. By default, the account ID.
1907
+ #
1908
+ # @return [Types::GetLFTagExpressionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1909
+ #
1910
+ # * {Types::GetLFTagExpressionResponse#name #name} => String
1911
+ # * {Types::GetLFTagExpressionResponse#description #description} => String
1912
+ # * {Types::GetLFTagExpressionResponse#catalog_id #catalog_id} => String
1913
+ # * {Types::GetLFTagExpressionResponse#expression #expression} => Array&lt;Types::LFTag&gt;
1914
+ #
1915
+ # @example Request syntax with placeholder values
1916
+ #
1917
+ # resp = client.get_lf_tag_expression({
1918
+ # name: "NameString", # required
1919
+ # catalog_id: "CatalogIdString",
1920
+ # })
1921
+ #
1922
+ # @example Response structure
1923
+ #
1924
+ # resp.name #=> String
1925
+ # resp.description #=> String
1926
+ # resp.catalog_id #=> String
1927
+ # resp.expression #=> Array
1928
+ # resp.expression[0].tag_key #=> String
1929
+ # resp.expression[0].tag_values #=> Array
1930
+ # resp.expression[0].tag_values[0] #=> String
1931
+ #
1932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetLFTagExpression AWS API Documentation
1933
+ #
1934
+ # @overload get_lf_tag_expression(params = {})
1935
+ # @param [Hash] params ({})
1936
+ def get_lf_tag_expression(params = {}, options = {})
1937
+ req = build_request(:get_lf_tag_expression, params)
1938
+ req.send_request(options)
1939
+ end
1940
+
1783
1941
  # Returns the state of a query previously submitted. Clients are
1784
1942
  # expected to poll `GetQueryState` to monitor the current state of the
1785
1943
  # planning before retrieving the work units. A query state is only
@@ -1917,12 +2075,17 @@ module Aws::LakeFormation
1917
2075
  # lf_tag_policy: {
1918
2076
  # catalog_id: "CatalogIdString",
1919
2077
  # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
1920
- # expression: [ # required
2078
+ # expression: [
1921
2079
  # {
1922
2080
  # tag_key: "LFTagKey", # required
1923
2081
  # tag_values: ["LFTagValue"], # required
1924
2082
  # },
1925
2083
  # ],
2084
+ # expression_name: "NameString",
2085
+ # },
2086
+ # lf_tag_expression: {
2087
+ # catalog_id: "CatalogIdString",
2088
+ # name: "NameString", # required
1926
2089
  # },
1927
2090
  # },
1928
2091
  # show_assigned_lf_tags: false,
@@ -2083,7 +2246,7 @@ module Aws::LakeFormation
2083
2246
  # partition: { # required
2084
2247
  # values: ["ValueString"], # required
2085
2248
  # },
2086
- # 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
2249
+ # 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, CREATE_LF_TAG_EXPRESSION
2087
2250
  # duration_seconds: 1,
2088
2251
  # audit_context: {
2089
2252
  # additional_audit_context: "AuditContextString",
@@ -2113,6 +2276,9 @@ module Aws::LakeFormation
2113
2276
  # for example an Amazon S3 bucket, with a scope down policy which
2114
2277
  # restricts the access to a single prefix.
2115
2278
  #
2279
+ # To call this API, the role that the service assumes must have
2280
+ # `lakeformation:GetDataAccess` permission on the resource.
2281
+ #
2116
2282
  # @option params [required, String] :table_arn
2117
2283
  # The ARN identifying a table in the Data Catalog for the temporary
2118
2284
  # credentials request.
@@ -2154,7 +2320,7 @@ module Aws::LakeFormation
2154
2320
  #
2155
2321
  # resp = client.get_temporary_glue_table_credentials({
2156
2322
  # table_arn: "ResourceArnString", # required
2157
- # 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
2323
+ # 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, CREATE_LF_TAG_EXPRESSION
2158
2324
  # duration_seconds: 1,
2159
2325
  # audit_context: {
2160
2326
  # additional_audit_context: "AuditContextString",
@@ -2373,16 +2539,21 @@ module Aws::LakeFormation
2373
2539
  # lf_tag_policy: {
2374
2540
  # catalog_id: "CatalogIdString",
2375
2541
  # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
2376
- # expression: [ # required
2542
+ # expression: [
2377
2543
  # {
2378
2544
  # tag_key: "LFTagKey", # required
2379
2545
  # tag_values: ["LFTagValue"], # required
2380
2546
  # },
2381
2547
  # ],
2548
+ # expression_name: "NameString",
2549
+ # },
2550
+ # lf_tag_expression: {
2551
+ # catalog_id: "CatalogIdString",
2552
+ # name: "NameString", # required
2382
2553
  # },
2383
2554
  # },
2384
- # 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
2385
- # 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
2555
+ # 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, CREATE_LF_TAG_EXPRESSION
2556
+ # 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, CREATE_LF_TAG_EXPRESSION
2386
2557
  # })
2387
2558
  #
2388
2559
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissions AWS API Documentation
@@ -2450,6 +2621,57 @@ module Aws::LakeFormation
2450
2621
  req.send_request(options)
2451
2622
  end
2452
2623
 
2624
+ # Returns the LF-Tag expressions in caller’s account filtered based on
2625
+ # caller's permissions. Data Lake and read only admins implicitly can
2626
+ # see all tag expressions in their account, else caller needs DESCRIBE
2627
+ # permissions on tag expression.
2628
+ #
2629
+ # @option params [String] :catalog_id
2630
+ # The identifier for the Data Catalog. By default, the account ID.
2631
+ #
2632
+ # @option params [Integer] :max_results
2633
+ # The maximum number of results to return.
2634
+ #
2635
+ # @option params [String] :next_token
2636
+ # A continuation token, if this is not the first call to retrieve this
2637
+ # list.
2638
+ #
2639
+ # @return [Types::ListLFTagExpressionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2640
+ #
2641
+ # * {Types::ListLFTagExpressionsResponse#lf_tag_expressions #lf_tag_expressions} => Array&lt;Types::LFTagExpression&gt;
2642
+ # * {Types::ListLFTagExpressionsResponse#next_token #next_token} => String
2643
+ #
2644
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2645
+ #
2646
+ # @example Request syntax with placeholder values
2647
+ #
2648
+ # resp = client.list_lf_tag_expressions({
2649
+ # catalog_id: "CatalogIdString",
2650
+ # max_results: 1,
2651
+ # next_token: "Token",
2652
+ # })
2653
+ #
2654
+ # @example Response structure
2655
+ #
2656
+ # resp.lf_tag_expressions #=> Array
2657
+ # resp.lf_tag_expressions[0].name #=> String
2658
+ # resp.lf_tag_expressions[0].description #=> String
2659
+ # resp.lf_tag_expressions[0].catalog_id #=> String
2660
+ # resp.lf_tag_expressions[0].expression #=> Array
2661
+ # resp.lf_tag_expressions[0].expression[0].tag_key #=> String
2662
+ # resp.lf_tag_expressions[0].expression[0].tag_values #=> Array
2663
+ # resp.lf_tag_expressions[0].expression[0].tag_values[0] #=> String
2664
+ # resp.next_token #=> String
2665
+ #
2666
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLFTagExpressions AWS API Documentation
2667
+ #
2668
+ # @overload list_lf_tag_expressions(params = {})
2669
+ # @param [Hash] params ({})
2670
+ def list_lf_tag_expressions(params = {}, options = {})
2671
+ req = build_request(:list_lf_tag_expressions, params)
2672
+ req.send_request(options)
2673
+ end
2674
+
2453
2675
  # Lists LF-tags that the requester has permission to view.
2454
2676
  #
2455
2677
  # @option params [String] :catalog_id
@@ -2577,12 +2799,17 @@ module Aws::LakeFormation
2577
2799
  # lf_tag_policy: {
2578
2800
  # catalog_id: "CatalogIdString",
2579
2801
  # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
2580
- # expression: [ # required
2802
+ # expression: [
2581
2803
  # {
2582
2804
  # tag_key: "LFTagKey", # required
2583
2805
  # tag_values: ["LFTagValue"], # required
2584
2806
  # },
2585
2807
  # ],
2808
+ # expression_name: "NameString",
2809
+ # },
2810
+ # lf_tag_expression: {
2811
+ # catalog_id: "CatalogIdString",
2812
+ # name: "NameString", # required
2586
2813
  # },
2587
2814
  # },
2588
2815
  # max_results: 1,
@@ -2620,6 +2847,9 @@ module Aws::LakeFormation
2620
2847
  # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag_policy.expression[0].tag_key #=> String
2621
2848
  # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag_policy.expression[0].tag_values #=> Array
2622
2849
  # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag_policy.expression[0].tag_values[0] #=> String
2850
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag_policy.expression_name #=> String
2851
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag_expression.catalog_id #=> String
2852
+ # resp.lake_formation_opt_ins_info_list[0].resource.lf_tag_expression.name #=> String
2623
2853
  # resp.lake_formation_opt_ins_info_list[0].principal.data_lake_principal_identifier #=> String
2624
2854
  # resp.lake_formation_opt_ins_info_list[0].last_modified #=> Time
2625
2855
  # resp.lake_formation_opt_ins_info_list[0].last_updated_by #=> String
@@ -2692,7 +2922,7 @@ module Aws::LakeFormation
2692
2922
  # principal: {
2693
2923
  # data_lake_principal_identifier: "DataLakePrincipalString",
2694
2924
  # },
2695
- # resource_type: "CATALOG", # accepts CATALOG, DATABASE, TABLE, DATA_LOCATION, LF_TAG, LF_TAG_POLICY, LF_TAG_POLICY_DATABASE, LF_TAG_POLICY_TABLE
2925
+ # resource_type: "CATALOG", # accepts CATALOG, DATABASE, TABLE, DATA_LOCATION, LF_TAG, LF_TAG_POLICY, LF_TAG_POLICY_DATABASE, LF_TAG_POLICY_TABLE, LF_NAMED_TAG_EXPRESSION
2696
2926
  # resource: {
2697
2927
  # catalog: {
2698
2928
  # },
@@ -2734,12 +2964,17 @@ module Aws::LakeFormation
2734
2964
  # lf_tag_policy: {
2735
2965
  # catalog_id: "CatalogIdString",
2736
2966
  # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
2737
- # expression: [ # required
2967
+ # expression: [
2738
2968
  # {
2739
2969
  # tag_key: "LFTagKey", # required
2740
2970
  # tag_values: ["LFTagValue"], # required
2741
2971
  # },
2742
2972
  # ],
2973
+ # expression_name: "NameString",
2974
+ # },
2975
+ # lf_tag_expression: {
2976
+ # catalog_id: "CatalogIdString",
2977
+ # name: "NameString", # required
2743
2978
  # },
2744
2979
  # },
2745
2980
  # next_token: "Token",
@@ -2779,10 +3014,13 @@ module Aws::LakeFormation
2779
3014
  # resp.principal_resource_permissions[0].resource.lf_tag_policy.expression[0].tag_key #=> String
2780
3015
  # resp.principal_resource_permissions[0].resource.lf_tag_policy.expression[0].tag_values #=> Array
2781
3016
  # resp.principal_resource_permissions[0].resource.lf_tag_policy.expression[0].tag_values[0] #=> String
3017
+ # resp.principal_resource_permissions[0].resource.lf_tag_policy.expression_name #=> String
3018
+ # resp.principal_resource_permissions[0].resource.lf_tag_expression.catalog_id #=> String
3019
+ # resp.principal_resource_permissions[0].resource.lf_tag_expression.name #=> String
2782
3020
  # resp.principal_resource_permissions[0].permissions #=> Array
2783
- # 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"
3021
+ # 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", "CREATE_LF_TAG_EXPRESSION"
2784
3022
  # resp.principal_resource_permissions[0].permissions_with_grant_option #=> Array
2785
- # 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"
3023
+ # 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", "CREATE_LF_TAG_EXPRESSION"
2786
3024
  # resp.principal_resource_permissions[0].additional_details.resource_share #=> Array
2787
3025
  # resp.principal_resource_permissions[0].additional_details.resource_share[0] #=> String
2788
3026
  # resp.principal_resource_permissions[0].last_updated #=> Time
@@ -3012,7 +3250,7 @@ module Aws::LakeFormation
3012
3250
  # principal: {
3013
3251
  # data_lake_principal_identifier: "DataLakePrincipalString",
3014
3252
  # },
3015
- # 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
3253
+ # 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, CREATE_LF_TAG_EXPRESSION
3016
3254
  # },
3017
3255
  # ],
3018
3256
  # create_table_default_permissions: [
@@ -3020,7 +3258,7 @@ module Aws::LakeFormation
3020
3258
  # principal: {
3021
3259
  # data_lake_principal_identifier: "DataLakePrincipalString",
3022
3260
  # },
3023
- # 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
3261
+ # 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, CREATE_LF_TAG_EXPRESSION
3024
3262
  # },
3025
3263
  # ],
3026
3264
  # parameters: {
@@ -3062,7 +3300,7 @@ module Aws::LakeFormation
3062
3300
  # Formation permission to use the service-linked role to access that
3063
3301
  # location.
3064
3302
  #
3065
- # `ResourceArn = arn:aws:s3:::my-bucket UseServiceLinkedRole = true`
3303
+ # `ResourceArn = arn:aws:s3:::my-bucket/ UseServiceLinkedRole = true`
3066
3304
  #
3067
3305
  # If `UseServiceLinkedRole` is not set to true, you must provide or set
3068
3306
  # the `RoleArn`:
@@ -3184,12 +3422,17 @@ module Aws::LakeFormation
3184
3422
  # lf_tag_policy: {
3185
3423
  # catalog_id: "CatalogIdString",
3186
3424
  # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
3187
- # expression: [ # required
3425
+ # expression: [
3188
3426
  # {
3189
3427
  # tag_key: "LFTagKey", # required
3190
3428
  # tag_values: ["LFTagValue"], # required
3191
3429
  # },
3192
3430
  # ],
3431
+ # expression_name: "NameString",
3432
+ # },
3433
+ # lf_tag_expression: {
3434
+ # catalog_id: "CatalogIdString",
3435
+ # name: "NameString", # required
3193
3436
  # },
3194
3437
  # },
3195
3438
  # lf_tags: [ # required
@@ -3299,16 +3542,21 @@ module Aws::LakeFormation
3299
3542
  # lf_tag_policy: {
3300
3543
  # catalog_id: "CatalogIdString",
3301
3544
  # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
3302
- # expression: [ # required
3545
+ # expression: [
3303
3546
  # {
3304
3547
  # tag_key: "LFTagKey", # required
3305
3548
  # tag_values: ["LFTagValue"], # required
3306
3549
  # },
3307
3550
  # ],
3551
+ # expression_name: "NameString",
3552
+ # },
3553
+ # lf_tag_expression: {
3554
+ # catalog_id: "CatalogIdString",
3555
+ # name: "NameString", # required
3308
3556
  # },
3309
3557
  # },
3310
- # 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
3311
- # 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
3558
+ # 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, CREATE_LF_TAG_EXPRESSION
3559
+ # 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, CREATE_LF_TAG_EXPRESSION
3312
3560
  # })
3313
3561
  #
3314
3562
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissions AWS API Documentation
@@ -3620,6 +3868,49 @@ module Aws::LakeFormation
3620
3868
  req.send_request(options)
3621
3869
  end
3622
3870
 
3871
+ # Updates the name of the LF-Tag expression to the new description and
3872
+ # expression body provided. Updating a LF-Tag expression immediately
3873
+ # changes the permission boundaries of all existing `LFTagPolicy`
3874
+ # permission grants that reference the given LF-Tag expression.
3875
+ #
3876
+ # @option params [required, String] :name
3877
+ # The name for the LF-Tag expression.
3878
+ #
3879
+ # @option params [String] :description
3880
+ # The description with information about the saved LF-Tag expression.
3881
+ #
3882
+ # @option params [String] :catalog_id
3883
+ # The identifier for the Data Catalog. By default, the account ID.
3884
+ #
3885
+ # @option params [required, Array<Types::LFTag>] :expression
3886
+ # The LF-Tag expression body composed of one more LF-Tag key-value
3887
+ # pairs.
3888
+ #
3889
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3890
+ #
3891
+ # @example Request syntax with placeholder values
3892
+ #
3893
+ # resp = client.update_lf_tag_expression({
3894
+ # name: "NameString", # required
3895
+ # description: "DescriptionString",
3896
+ # catalog_id: "CatalogIdString",
3897
+ # expression: [ # required
3898
+ # {
3899
+ # tag_key: "LFTagKey", # required
3900
+ # tag_values: ["LFTagValue"], # required
3901
+ # },
3902
+ # ],
3903
+ # })
3904
+ #
3905
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateLFTagExpression AWS API Documentation
3906
+ #
3907
+ # @overload update_lf_tag_expression(params = {})
3908
+ # @param [Hash] params ({})
3909
+ def update_lf_tag_expression(params = {}, options = {})
3910
+ req = build_request(:update_lf_tag_expression, params)
3911
+ req.send_request(options)
3912
+ end
3913
+
3623
3914
  # Updates the IAM Identity Center connection parameters.
3624
3915
  #
3625
3916
  # @option params [String] :catalog_id
@@ -3784,7 +4075,7 @@ module Aws::LakeFormation
3784
4075
  # Name of the table for which to enable the storage optimizer.
3785
4076
  #
3786
4077
  # @option params [required, Hash<String,Hash>] :storage_optimizer_config
3787
- # Name of the table for which to enable the storage optimizer.
4078
+ # Name of the configuration for the storage optimizer.
3788
4079
  #
3789
4080
  # @return [Types::UpdateTableStorageOptimizerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3790
4081
  #
@@ -3834,7 +4125,7 @@ module Aws::LakeFormation
3834
4125
  tracer: tracer
3835
4126
  )
3836
4127
  context[:gem_name] = 'aws-sdk-lakeformation'
3837
- context[:gem_version] = '1.63.0'
4128
+ context[:gem_version] = '1.64.0'
3838
4129
  Seahorse::Client::Request.new(handlers, context)
3839
4130
  end
3840
4131