aws-sdk-lakeformation 1.63.0 → 1.64.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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