aws-sdk-lakeformation 1.19.0 → 1.23.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,8 +27,10 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
31
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
30
32
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
- require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
33
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
34
 
33
35
  Aws::Plugins::GlobalConfiguration.add_identifier(:lakeformation)
34
36
 
@@ -73,8 +75,10 @@ module Aws::LakeFormation
73
75
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
76
  add_plugin(Aws::Plugins::TransferEncoding)
75
77
  add_plugin(Aws::Plugins::HttpChecksum)
78
+ add_plugin(Aws::Plugins::DefaultsMode)
79
+ add_plugin(Aws::Plugins::RecursionDetection)
76
80
  add_plugin(Aws::Plugins::SignatureV4)
77
- add_plugin(Aws::Plugins::Protocols::JsonRpc)
81
+ add_plugin(Aws::Plugins::Protocols::RestJson)
78
82
 
79
83
  # @overload initialize(options)
80
84
  # @param [Hash] options
@@ -119,7 +123,9 @@ module Aws::LakeFormation
119
123
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
124
  # are very aggressive. Construct and pass an instance of
121
125
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
126
+ # enable retries and extended timeouts. Instance profile credential
127
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
128
+ # to true.
123
129
  #
124
130
  # @option options [required, String] :region
125
131
  # The AWS region to connect to. The configured `:region` is
@@ -173,6 +179,10 @@ module Aws::LakeFormation
173
179
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
180
  # a clock skew correction and retry requests with skewed client clocks.
175
181
  #
182
+ # @option options [String] :defaults_mode ("legacy")
183
+ # See {Aws::DefaultsModeConfiguration} for a list of the
184
+ # accepted modes and the configuration defaults that are included.
185
+ #
176
186
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
187
  # Set to true to disable SDK automatically adding host prefix
178
188
  # to default service endpoint when available.
@@ -266,16 +276,6 @@ module Aws::LakeFormation
266
276
  #
267
277
  # @option options [String] :session_token
268
278
  #
269
- # @option options [Boolean] :simple_json (false)
270
- # Disables request parameter conversion, validation, and formatting.
271
- # Also disable response data type conversions. This option is useful
272
- # when you want to ensure the highest level of performance by
273
- # avoiding overhead of walking request parameters and response data
274
- # structures.
275
- #
276
- # When `:simple_json` is enabled, the request parameters hash must
277
- # be formatted exactly as the DynamoDB API expects.
278
- #
279
279
  # @option options [Boolean] :stub_responses (false)
280
280
  # Causes the client to return stubbed responses. By default
281
281
  # fake responses are generated and returned. You can specify
@@ -305,7 +305,7 @@ module Aws::LakeFormation
305
305
  # seconds to wait when opening a HTTP session before raising a
306
306
  # `Timeout::Error`.
307
307
  #
308
- # @option options [Integer] :http_read_timeout (60) The default
308
+ # @option options [Float] :http_read_timeout (60) The default
309
309
  # number of seconds to wait for response data. This value can
310
310
  # safely be set per-request on the session.
311
311
  #
@@ -321,6 +321,9 @@ module Aws::LakeFormation
321
321
  # disables this behaviour. This value can safely be set per
322
322
  # request on the session.
323
323
  #
324
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
325
+ # in seconds.
326
+ #
324
327
  # @option options [Boolean] :http_wire_trace (false) When `true`,
325
328
  # HTTP debug output will be sent to the `:logger`.
326
329
  #
@@ -346,19 +349,19 @@ module Aws::LakeFormation
346
349
 
347
350
  # @!group API Operations
348
351
 
349
- # Attaches one or more tags to an existing resource.
352
+ # Attaches one or more LF-tags to an existing resource.
350
353
  #
351
354
  # @option params [String] :catalog_id
352
355
  # The identifier for the Data Catalog. By default, the account ID. The
353
356
  # Data Catalog is the persistent metadata store. It contains database
354
357
  # definitions, table definitions, and other control information to
355
- # manage your AWS Lake Formation environment.
358
+ # manage your Lake Formation environment.
356
359
  #
357
360
  # @option params [required, Types::Resource] :resource
358
- # The resource to which to attach a tag.
361
+ # The database, table, or column resource to which to attach an LF-tag.
359
362
  #
360
363
  # @option params [required, Array<Types::LFTagPair>] :lf_tags
361
- # The tags to attach to the resource.
364
+ # The LF-tags to attach to the resource.
362
365
  #
363
366
  # @return [Types::AddLFTagsToResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
364
367
  #
@@ -395,6 +398,12 @@ module Aws::LakeFormation
395
398
  # catalog_id: "CatalogIdString",
396
399
  # resource_arn: "ResourceArnString", # required
397
400
  # },
401
+ # data_cells_filter: {
402
+ # table_catalog_id: "CatalogIdString",
403
+ # database_name: "NameString",
404
+ # table_name: "NameString",
405
+ # name: "NameString",
406
+ # },
398
407
  # lf_tag: {
399
408
  # catalog_id: "CatalogIdString",
400
409
  # tag_key: "NameString", # required
@@ -445,7 +454,7 @@ module Aws::LakeFormation
445
454
  # The identifier for the Data Catalog. By default, the account ID. The
446
455
  # Data Catalog is the persistent metadata store. It contains database
447
456
  # definitions, table definitions, and other control information to
448
- # manage your AWS Lake Formation environment.
457
+ # manage your Lake Formation environment.
449
458
  #
450
459
  # @option params [required, Array<Types::BatchPermissionsRequestEntry>] :entries
451
460
  # A list of up to 20 entries for resource permissions to be granted by
@@ -492,6 +501,12 @@ module Aws::LakeFormation
492
501
  # catalog_id: "CatalogIdString",
493
502
  # resource_arn: "ResourceArnString", # required
494
503
  # },
504
+ # data_cells_filter: {
505
+ # table_catalog_id: "CatalogIdString",
506
+ # database_name: "NameString",
507
+ # table_name: "NameString",
508
+ # name: "NameString",
509
+ # },
495
510
  # lf_tag: {
496
511
  # catalog_id: "CatalogIdString",
497
512
  # tag_key: "NameString", # required
@@ -533,6 +548,10 @@ module Aws::LakeFormation
533
548
  # resp.failures[0].request_entry.resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
534
549
  # resp.failures[0].request_entry.resource.data_location.catalog_id #=> String
535
550
  # resp.failures[0].request_entry.resource.data_location.resource_arn #=> String
551
+ # resp.failures[0].request_entry.resource.data_cells_filter.table_catalog_id #=> String
552
+ # resp.failures[0].request_entry.resource.data_cells_filter.database_name #=> String
553
+ # resp.failures[0].request_entry.resource.data_cells_filter.table_name #=> String
554
+ # resp.failures[0].request_entry.resource.data_cells_filter.name #=> String
536
555
  # resp.failures[0].request_entry.resource.lf_tag.catalog_id #=> String
537
556
  # resp.failures[0].request_entry.resource.lf_tag.tag_key #=> String
538
557
  # resp.failures[0].request_entry.resource.lf_tag.tag_values #=> Array
@@ -565,7 +584,7 @@ module Aws::LakeFormation
565
584
  # The identifier for the Data Catalog. By default, the account ID. The
566
585
  # Data Catalog is the persistent metadata store. It contains database
567
586
  # definitions, table definitions, and other control information to
568
- # manage your AWS Lake Formation environment.
587
+ # manage your Lake Formation environment.
569
588
  #
570
589
  # @option params [required, Array<Types::BatchPermissionsRequestEntry>] :entries
571
590
  # A list of up to 20 entries for resource permissions to be revoked by
@@ -612,6 +631,12 @@ module Aws::LakeFormation
612
631
  # catalog_id: "CatalogIdString",
613
632
  # resource_arn: "ResourceArnString", # required
614
633
  # },
634
+ # data_cells_filter: {
635
+ # table_catalog_id: "CatalogIdString",
636
+ # database_name: "NameString",
637
+ # table_name: "NameString",
638
+ # name: "NameString",
639
+ # },
615
640
  # lf_tag: {
616
641
  # catalog_id: "CatalogIdString",
617
642
  # tag_key: "NameString", # required
@@ -653,6 +678,10 @@ module Aws::LakeFormation
653
678
  # resp.failures[0].request_entry.resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
654
679
  # resp.failures[0].request_entry.resource.data_location.catalog_id #=> String
655
680
  # resp.failures[0].request_entry.resource.data_location.resource_arn #=> String
681
+ # resp.failures[0].request_entry.resource.data_cells_filter.table_catalog_id #=> String
682
+ # resp.failures[0].request_entry.resource.data_cells_filter.database_name #=> String
683
+ # resp.failures[0].request_entry.resource.data_cells_filter.table_name #=> String
684
+ # resp.failures[0].request_entry.resource.data_cells_filter.name #=> String
656
685
  # resp.failures[0].request_entry.resource.lf_tag.catalog_id #=> String
657
686
  # resp.failures[0].request_entry.resource.lf_tag.tag_key #=> String
658
687
  # resp.failures[0].request_entry.resource.lf_tag.tag_values #=> Array
@@ -679,16 +708,107 @@ module Aws::LakeFormation
679
708
  req.send_request(options)
680
709
  end
681
710
 
682
- # Creates a tag with the specified name and values.
711
+ # Attempts to cancel the specified transaction. Returns an exception if
712
+ # the transaction was previously committed.
713
+ #
714
+ # @option params [required, String] :transaction_id
715
+ # The transaction to cancel.
716
+ #
717
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
718
+ #
719
+ # @example Request syntax with placeholder values
720
+ #
721
+ # resp = client.cancel_transaction({
722
+ # transaction_id: "TransactionIdString", # required
723
+ # })
724
+ #
725
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CancelTransaction AWS API Documentation
726
+ #
727
+ # @overload cancel_transaction(params = {})
728
+ # @param [Hash] params ({})
729
+ def cancel_transaction(params = {}, options = {})
730
+ req = build_request(:cancel_transaction, params)
731
+ req.send_request(options)
732
+ end
733
+
734
+ # Attempts to commit the specified transaction. Returns an exception if
735
+ # the transaction was previously aborted. This API action is idempotent
736
+ # if called multiple times for the same transaction.
737
+ #
738
+ # @option params [required, String] :transaction_id
739
+ # The transaction to commit.
740
+ #
741
+ # @return [Types::CommitTransactionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
742
+ #
743
+ # * {Types::CommitTransactionResponse#transaction_status #transaction_status} => String
744
+ #
745
+ # @example Request syntax with placeholder values
746
+ #
747
+ # resp = client.commit_transaction({
748
+ # transaction_id: "TransactionIdString", # required
749
+ # })
750
+ #
751
+ # @example Response structure
752
+ #
753
+ # resp.transaction_status #=> String, one of "ACTIVE", "COMMITTED", "ABORTED", "COMMIT_IN_PROGRESS"
754
+ #
755
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CommitTransaction AWS API Documentation
756
+ #
757
+ # @overload commit_transaction(params = {})
758
+ # @param [Hash] params ({})
759
+ def commit_transaction(params = {}, options = {})
760
+ req = build_request(:commit_transaction, params)
761
+ req.send_request(options)
762
+ end
763
+
764
+ # Creates a data cell filter to allow one to grant access to certain
765
+ # columns on certain rows.
766
+ #
767
+ # @option params [required, Types::DataCellsFilter] :table_data
768
+ # A `DataCellsFilter` structure containing information about the data
769
+ # cells filter.
770
+ #
771
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
772
+ #
773
+ # @example Request syntax with placeholder values
774
+ #
775
+ # resp = client.create_data_cells_filter({
776
+ # table_data: { # required
777
+ # table_catalog_id: "CatalogIdString", # required
778
+ # database_name: "NameString", # required
779
+ # table_name: "NameString", # required
780
+ # name: "NameString", # required
781
+ # row_filter: {
782
+ # filter_expression: "PredicateString",
783
+ # all_rows_wildcard: {
784
+ # },
785
+ # },
786
+ # column_names: ["NameString"],
787
+ # column_wildcard: {
788
+ # excluded_column_names: ["NameString"],
789
+ # },
790
+ # },
791
+ # })
792
+ #
793
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateDataCellsFilter AWS API Documentation
794
+ #
795
+ # @overload create_data_cells_filter(params = {})
796
+ # @param [Hash] params ({})
797
+ def create_data_cells_filter(params = {}, options = {})
798
+ req = build_request(:create_data_cells_filter, params)
799
+ req.send_request(options)
800
+ end
801
+
802
+ # Creates an LF-tag with the specified name and values.
683
803
  #
684
804
  # @option params [String] :catalog_id
685
805
  # The identifier for the Data Catalog. By default, the account ID. The
686
806
  # Data Catalog is the persistent metadata store. It contains database
687
807
  # definitions, table definitions, and other control information to
688
- # manage your AWS Lake Formation environment.
808
+ # manage your Lake Formation environment.
689
809
  #
690
810
  # @option params [required, String] :tag_key
691
- # The key-name for the tag.
811
+ # The key-name for the LF-tag.
692
812
  #
693
813
  # @option params [required, Array<String>] :tag_values
694
814
  # A list of possible values an attribute can take.
@@ -712,22 +832,56 @@ module Aws::LakeFormation
712
832
  req.send_request(options)
713
833
  end
714
834
 
715
- # Deletes the specified tag key name. If the attribute key does not
716
- # exist or the tag does not exist, then the operation will not do
835
+ # Deletes a data cell filter.
836
+ #
837
+ # @option params [String] :table_catalog_id
838
+ # The ID of the catalog to which the table belongs.
839
+ #
840
+ # @option params [String] :database_name
841
+ # A database in the Glue Data Catalog.
842
+ #
843
+ # @option params [String] :table_name
844
+ # A table in the database.
845
+ #
846
+ # @option params [String] :name
847
+ # The name given by the user to the data filter cell.
848
+ #
849
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
850
+ #
851
+ # @example Request syntax with placeholder values
852
+ #
853
+ # resp = client.delete_data_cells_filter({
854
+ # table_catalog_id: "CatalogIdString",
855
+ # database_name: "NameString",
856
+ # table_name: "NameString",
857
+ # name: "NameString",
858
+ # })
859
+ #
860
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteDataCellsFilter AWS API Documentation
861
+ #
862
+ # @overload delete_data_cells_filter(params = {})
863
+ # @param [Hash] params ({})
864
+ def delete_data_cells_filter(params = {}, options = {})
865
+ req = build_request(:delete_data_cells_filter, params)
866
+ req.send_request(options)
867
+ end
868
+
869
+ # Deletes the specified LF-tag key name. If the attribute key does not
870
+ # exist or the LF-tag does not exist, then the operation will not do
717
871
  # anything. If the attribute key exists, then the operation checks if
718
872
  # any resources are tagged with this attribute key, if yes, the API
719
873
  # throws a 400 Exception with the message "Delete not allowed" as the
720
- # tag key is still attached with resources. You can consider untagging
721
- # resources with this tag key.
874
+ # LF-tag key is still attached with resources. You can consider
875
+ # untagging resources with this LF-tag key.
722
876
  #
723
877
  # @option params [String] :catalog_id
724
878
  # The identifier for the Data Catalog. By default, the account ID. The
725
879
  # Data Catalog is the persistent metadata store. It contains database
726
880
  # definitions, table definitions, and other control information to
727
- # manage your AWS Lake Formation environment.
881
+ # manage your Lake Formation environment.
728
882
  #
729
883
  # @option params [required, String] :tag_key
730
- # The key-name for the tag to delete.
884
+ # The key-name for the LF-tag to delete.
731
885
  #
732
886
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
733
887
  #
@@ -747,6 +901,64 @@ module Aws::LakeFormation
747
901
  req.send_request(options)
748
902
  end
749
903
 
904
+ # For a specific governed table, provides a list of Amazon S3 objects
905
+ # that will be written during the current transaction and that can be
906
+ # automatically deleted if the transaction is canceled. Without this
907
+ # call, no Amazon S3 objects are automatically deleted when a
908
+ # transaction cancels.
909
+ #
910
+ # The Glue ETL library function `write_dynamic_frame.from_catalog()`
911
+ # includes an option to automatically call `DeleteObjectsOnCancel`
912
+ # before writes. For more information, see [Rolling Back Amazon S3
913
+ # Writes][1].
914
+ #
915
+ #
916
+ #
917
+ # [1]: https://docs.aws.amazon.com/lake-formation/latest/dg/transactions-data-operations.html#rolling-back-writes
918
+ #
919
+ # @option params [String] :catalog_id
920
+ # The Glue data catalog that contains the governed table. Defaults to
921
+ # the current account ID.
922
+ #
923
+ # @option params [required, String] :database_name
924
+ # The database that contains the governed table.
925
+ #
926
+ # @option params [required, String] :table_name
927
+ # The name of the governed table.
928
+ #
929
+ # @option params [required, String] :transaction_id
930
+ # ID of the transaction that the writes occur in.
931
+ #
932
+ # @option params [required, Array<Types::VirtualObject>] :objects
933
+ # A list of VirtualObject structures, which indicates the Amazon S3
934
+ # objects to be deleted if the transaction cancels.
935
+ #
936
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
937
+ #
938
+ # @example Request syntax with placeholder values
939
+ #
940
+ # resp = client.delete_objects_on_cancel({
941
+ # catalog_id: "CatalogIdString",
942
+ # database_name: "NameString", # required
943
+ # table_name: "NameString", # required
944
+ # transaction_id: "TransactionIdString", # required
945
+ # objects: [ # required
946
+ # {
947
+ # uri: "URI", # required
948
+ # etag: "ETagString",
949
+ # },
950
+ # ],
951
+ # })
952
+ #
953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteObjectsOnCancel AWS API Documentation
954
+ #
955
+ # @overload delete_objects_on_cancel(params = {})
956
+ # @param [Hash] params ({})
957
+ def delete_objects_on_cancel(params = {}, options = {})
958
+ req = build_request(:delete_objects_on_cancel, params)
959
+ req.send_request(options)
960
+ end
961
+
750
962
  # Deregisters the resource as managed by the Data Catalog.
751
963
  #
752
964
  # When you deregister a path, Lake Formation removes the path from the
@@ -774,7 +986,7 @@ module Aws::LakeFormation
774
986
  end
775
987
 
776
988
  # Retrieves the current data access role for the given resource
777
- # registered in AWS Lake Formation.
989
+ # registered in Lake Formation.
778
990
  #
779
991
  # @option params [required, String] :resource_arn
780
992
  # The resource ARN.
@@ -804,6 +1016,63 @@ module Aws::LakeFormation
804
1016
  req.send_request(options)
805
1017
  end
806
1018
 
1019
+ # Returns the details of a single transaction.
1020
+ #
1021
+ # @option params [required, String] :transaction_id
1022
+ # The transaction for which to return status.
1023
+ #
1024
+ # @return [Types::DescribeTransactionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1025
+ #
1026
+ # * {Types::DescribeTransactionResponse#transaction_description #transaction_description} => Types::TransactionDescription
1027
+ #
1028
+ # @example Request syntax with placeholder values
1029
+ #
1030
+ # resp = client.describe_transaction({
1031
+ # transaction_id: "TransactionIdString", # required
1032
+ # })
1033
+ #
1034
+ # @example Response structure
1035
+ #
1036
+ # resp.transaction_description.transaction_id #=> String
1037
+ # resp.transaction_description.transaction_status #=> String, one of "ACTIVE", "COMMITTED", "ABORTED", "COMMIT_IN_PROGRESS"
1038
+ # resp.transaction_description.transaction_start_time #=> Time
1039
+ # resp.transaction_description.transaction_end_time #=> Time
1040
+ #
1041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeTransaction AWS API Documentation
1042
+ #
1043
+ # @overload describe_transaction(params = {})
1044
+ # @param [Hash] params ({})
1045
+ def describe_transaction(params = {}, options = {})
1046
+ req = build_request(:describe_transaction, params)
1047
+ req.send_request(options)
1048
+ end
1049
+
1050
+ # Indicates to the service that the specified transaction is still
1051
+ # active and should not be treated as idle and aborted.
1052
+ #
1053
+ # Write transactions that remain idle for a long period are
1054
+ # automatically aborted unless explicitly extended.
1055
+ #
1056
+ # @option params [String] :transaction_id
1057
+ # The transaction to extend.
1058
+ #
1059
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1060
+ #
1061
+ # @example Request syntax with placeholder values
1062
+ #
1063
+ # resp = client.extend_transaction({
1064
+ # transaction_id: "TransactionIdString",
1065
+ # })
1066
+ #
1067
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ExtendTransaction AWS API Documentation
1068
+ #
1069
+ # @overload extend_transaction(params = {})
1070
+ # @param [Hash] params ({})
1071
+ def extend_transaction(params = {}, options = {})
1072
+ req = build_request(:extend_transaction, params)
1073
+ req.send_request(options)
1074
+ end
1075
+
807
1076
  # Retrieves the list of the data lake administrators of a Lake
808
1077
  # Formation-managed data lake.
809
1078
  #
@@ -811,7 +1080,7 @@ module Aws::LakeFormation
811
1080
  # The identifier for the Data Catalog. By default, the account ID. The
812
1081
  # Data Catalog is the persistent metadata store. It contains database
813
1082
  # definitions, table definitions, and other control information to
814
- # manage your AWS Lake Formation environment.
1083
+ # manage your Lake Formation environment.
815
1084
  #
816
1085
  # @return [Types::GetDataLakeSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
817
1086
  #
@@ -837,6 +1106,11 @@ module Aws::LakeFormation
837
1106
  # 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", "ALTER_TAG", "DELETE_TAG", "DESCRIBE_TAG", "ASSOCIATE_TAG"
838
1107
  # resp.data_lake_settings.trusted_resource_owners #=> Array
839
1108
  # resp.data_lake_settings.trusted_resource_owners[0] #=> String
1109
+ # resp.data_lake_settings.allow_external_data_filtering #=> Boolean
1110
+ # resp.data_lake_settings.external_data_filtering_allow_list #=> Array
1111
+ # resp.data_lake_settings.external_data_filtering_allow_list[0].data_lake_principal_identifier #=> String
1112
+ # resp.data_lake_settings.authorized_session_tag_value_list #=> Array
1113
+ # resp.data_lake_settings.authorized_session_tag_value_list[0] #=> String
840
1114
  #
841
1115
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettings AWS API Documentation
842
1116
  #
@@ -856,7 +1130,7 @@ module Aws::LakeFormation
856
1130
  # The identifier for the Data Catalog. By default, the account ID. The
857
1131
  # Data Catalog is the persistent metadata store. It contains database
858
1132
  # definitions, table definitions, and other control information to
859
- # manage your AWS Lake Formation environment.
1133
+ # manage your Lake Formation environment.
860
1134
  #
861
1135
  # @option params [required, String] :resource_arn
862
1136
  # The Amazon Resource Name (ARN) of the resource for which you want to
@@ -903,6 +1177,10 @@ module Aws::LakeFormation
903
1177
  # resp.permissions[0].resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
904
1178
  # resp.permissions[0].resource.data_location.catalog_id #=> String
905
1179
  # resp.permissions[0].resource.data_location.resource_arn #=> String
1180
+ # resp.permissions[0].resource.data_cells_filter.table_catalog_id #=> String
1181
+ # resp.permissions[0].resource.data_cells_filter.database_name #=> String
1182
+ # resp.permissions[0].resource.data_cells_filter.table_name #=> String
1183
+ # resp.permissions[0].resource.data_cells_filter.name #=> String
906
1184
  # resp.permissions[0].resource.lf_tag.catalog_id #=> String
907
1185
  # resp.permissions[0].resource.lf_tag.tag_key #=> String
908
1186
  # resp.permissions[0].resource.lf_tag.tag_values #=> Array
@@ -930,16 +1208,16 @@ module Aws::LakeFormation
930
1208
  req.send_request(options)
931
1209
  end
932
1210
 
933
- # Returns a tag definition.
1211
+ # Returns an LF-tag definition.
934
1212
  #
935
1213
  # @option params [String] :catalog_id
936
1214
  # The identifier for the Data Catalog. By default, the account ID. The
937
1215
  # Data Catalog is the persistent metadata store. It contains database
938
1216
  # definitions, table definitions, and other control information to
939
- # manage your AWS Lake Formation environment.
1217
+ # manage your Lake Formation environment.
940
1218
  #
941
1219
  # @option params [required, String] :tag_key
942
- # The key-name for the tag.
1220
+ # The key-name for the LF-tag.
943
1221
  #
944
1222
  # @return [Types::GetLFTagResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
945
1223
  #
@@ -970,19 +1248,91 @@ module Aws::LakeFormation
970
1248
  req.send_request(options)
971
1249
  end
972
1250
 
973
- # Returns the tags applied to a resource.
1251
+ # Returns the state of a query previously submitted. Clients are
1252
+ # expected to poll `GetQueryState` to monitor the current state of the
1253
+ # planning before retrieving the work units. A query state is only
1254
+ # visible to the principal that made the initial call to
1255
+ # `StartQueryPlanning`.
1256
+ #
1257
+ # @option params [required, String] :query_id
1258
+ # The ID of the plan query operation.
1259
+ #
1260
+ # @return [Types::GetQueryStateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1261
+ #
1262
+ # * {Types::GetQueryStateResponse#error #error} => String
1263
+ # * {Types::GetQueryStateResponse#state #state} => String
1264
+ #
1265
+ # @example Request syntax with placeholder values
1266
+ #
1267
+ # resp = client.get_query_state({
1268
+ # query_id: "GetQueryStateRequestQueryIdString", # required
1269
+ # })
1270
+ #
1271
+ # @example Response structure
1272
+ #
1273
+ # resp.error #=> String
1274
+ # resp.state #=> String, one of "PENDING", "WORKUNITS_AVAILABLE", "ERROR", "FINISHED", "EXPIRED"
1275
+ #
1276
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetQueryState AWS API Documentation
1277
+ #
1278
+ # @overload get_query_state(params = {})
1279
+ # @param [Hash] params ({})
1280
+ def get_query_state(params = {}, options = {})
1281
+ req = build_request(:get_query_state, params)
1282
+ req.send_request(options)
1283
+ end
1284
+
1285
+ # Retrieves statistics on the planning and execution of a query.
1286
+ #
1287
+ # @option params [required, String] :query_id
1288
+ # The ID of the plan query operation.
1289
+ #
1290
+ # @return [Types::GetQueryStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1291
+ #
1292
+ # * {Types::GetQueryStatisticsResponse#execution_statistics #execution_statistics} => Types::ExecutionStatistics
1293
+ # * {Types::GetQueryStatisticsResponse#planning_statistics #planning_statistics} => Types::PlanningStatistics
1294
+ # * {Types::GetQueryStatisticsResponse#query_submission_time #query_submission_time} => Time
1295
+ #
1296
+ # @example Request syntax with placeholder values
1297
+ #
1298
+ # resp = client.get_query_statistics({
1299
+ # query_id: "GetQueryStatisticsRequestQueryIdString", # required
1300
+ # })
1301
+ #
1302
+ # @example Response structure
1303
+ #
1304
+ # resp.execution_statistics.average_execution_time_millis #=> Integer
1305
+ # resp.execution_statistics.data_scanned_bytes #=> Integer
1306
+ # resp.execution_statistics.work_units_executed_count #=> Integer
1307
+ # resp.planning_statistics.estimated_data_to_scan_bytes #=> Integer
1308
+ # resp.planning_statistics.planning_time_millis #=> Integer
1309
+ # resp.planning_statistics.queue_time_millis #=> Integer
1310
+ # resp.planning_statistics.work_units_generated_count #=> Integer
1311
+ # resp.query_submission_time #=> Time
1312
+ #
1313
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetQueryStatistics AWS API Documentation
1314
+ #
1315
+ # @overload get_query_statistics(params = {})
1316
+ # @param [Hash] params ({})
1317
+ def get_query_statistics(params = {}, options = {})
1318
+ req = build_request(:get_query_statistics, params)
1319
+ req.send_request(options)
1320
+ end
1321
+
1322
+ # Returns the LF-tags applied to a resource.
974
1323
  #
975
1324
  # @option params [String] :catalog_id
976
1325
  # The identifier for the Data Catalog. By default, the account ID. The
977
1326
  # Data Catalog is the persistent metadata store. It contains database
978
1327
  # definitions, table definitions, and other control information to
979
- # manage your AWS Lake Formation environment.
1328
+ # manage your Lake Formation environment.
980
1329
  #
981
1330
  # @option params [required, Types::Resource] :resource
982
- # The resource for which you want to return tags.
1331
+ # The database, table, or column resource for which you want to return
1332
+ # LF-tags.
983
1333
  #
984
1334
  # @option params [Boolean] :show_assigned_lf_tags
985
- # Indicates whether to show the assigned tags.
1335
+ # Indicates whether to show the assigned LF-tags.
986
1336
  #
987
1337
  # @return [Types::GetResourceLFTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
988
1338
  #
@@ -1021,6 +1371,12 @@ module Aws::LakeFormation
1021
1371
  # catalog_id: "CatalogIdString",
1022
1372
  # resource_arn: "ResourceArnString", # required
1023
1373
  # },
1374
+ # data_cells_filter: {
1375
+ # table_catalog_id: "CatalogIdString",
1376
+ # database_name: "NameString",
1377
+ # table_name: "NameString",
1378
+ # name: "NameString",
1379
+ # },
1024
1380
  # lf_tag: {
1025
1381
  # catalog_id: "CatalogIdString",
1026
1382
  # tag_key: "NameString", # required
@@ -1069,6 +1425,308 @@ module Aws::LakeFormation
1069
1425
  req.send_request(options)
1070
1426
  end
1071
1427
 
1428
+ # Returns the set of Amazon S3 objects that make up the specified
1429
+ # governed table. A transaction ID or timestamp can be specified for
1430
+ # time-travel queries.
1431
+ #
1432
+ # @option params [String] :catalog_id
1433
+ # The catalog containing the governed table. Defaults to the caller’s
1434
+ # account.
1435
+ #
1436
+ # @option params [required, String] :database_name
1437
+ # The database containing the governed table.
1438
+ #
1439
+ # @option params [required, String] :table_name
1440
+ # The governed table for which to retrieve objects.
1441
+ #
1442
+ # @option params [String] :transaction_id
1443
+ # The transaction ID at which to read the governed table contents. If
1444
+ # this transaction has aborted, an error is returned. If not set,
1445
+ # defaults to the most recent committed transaction. Cannot be specified
1446
+ # along with `QueryAsOfTime`.
1447
+ #
1448
+ # @option params [Time,DateTime,Date,Integer,String] :query_as_of_time
1449
+ # The time as of when to read the governed table contents. If not set,
1450
+ # the most recent transaction commit time is used. Cannot be specified
1451
+ # along with `TransactionId`.
1452
+ #
1453
+ # @option params [String] :partition_predicate
1454
+ # A predicate to filter the objects returned based on the partition keys
1455
+ # defined in the governed table.
1456
+ #
1457
+ # * The comparison operators supported are: =, &gt;, &lt;, &gt;=, &lt;=
1458
+ #
1459
+ # * The logical operators supported are: AND
1460
+ #
1461
+ # * The data types supported are integer, long, date(yyyy-MM-dd),
1462
+ # timestamp(yyyy-MM-dd HH:mm:ssXXX or yyyy-MM-dd HH:mm:ss"), string
1463
+ # and decimal.
1464
+ #
1465
+ # @option params [Integer] :max_results
1466
+ # Specifies how many values to return in a page.
1467
+ #
1468
+ # @option params [String] :next_token
1469
+ # A continuation token if this is not the first call to retrieve these
1470
+ # objects.
1471
+ #
1472
+ # @return [Types::GetTableObjectsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1473
+ #
1474
+ # * {Types::GetTableObjectsResponse#objects #objects} => Array&lt;Types::PartitionObjects&gt;
1475
+ # * {Types::GetTableObjectsResponse#next_token #next_token} => String
1476
+ #
1477
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1478
+ #
1479
+ # @example Request syntax with placeholder values
1480
+ #
1481
+ # resp = client.get_table_objects({
1482
+ # catalog_id: "CatalogIdString",
1483
+ # database_name: "NameString", # required
1484
+ # table_name: "NameString", # required
1485
+ # transaction_id: "TransactionIdString",
1486
+ # query_as_of_time: Time.now,
1487
+ # partition_predicate: "PredicateString",
1488
+ # max_results: 1,
1489
+ # next_token: "TokenString",
1490
+ # })
1491
+ #
1492
+ # @example Response structure
1493
+ #
1494
+ # resp.objects #=> Array
1495
+ # resp.objects[0].partition_values #=> Array
1496
+ # resp.objects[0].partition_values[0] #=> String
1497
+ # resp.objects[0].objects #=> Array
1498
+ # resp.objects[0].objects[0].uri #=> String
1499
+ # resp.objects[0].objects[0].etag #=> String
1500
+ # resp.objects[0].objects[0].size #=> Integer
1501
+ # resp.next_token #=> String
1502
+ #
1503
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTableObjects AWS API Documentation
1504
+ #
1505
+ # @overload get_table_objects(params = {})
1506
+ # @param [Hash] params ({})
1507
+ def get_table_objects(params = {}, options = {})
1508
+ req = build_request(:get_table_objects, params)
1509
+ req.send_request(options)
1510
+ end
1511
+
1512
+ # This API is identical to `GetTemporaryTableCredentials` except that
1513
+ # this is used when the target Data Catalog resource is of type
1514
+ # Partition. Lake Formation restricts the permission of the vended
1515
+ # credentials with the same scope down policy which restricts access to
1516
+ # a single Amazon S3 prefix.
1517
+ #
1518
+ # @option params [required, String] :table_arn
1519
+ # The ARN of the partitions' table.
1520
+ #
1521
+ # @option params [required, Types::PartitionValueList] :partition
1522
+ # A list of partition values identifying a single partition.
1523
+ #
1524
+ # @option params [Array<String>] :permissions
1525
+ # Filters the request based on the user having been granted a list of
1526
+ # specified permissions on the requested resource(s).
1527
+ #
1528
+ # @option params [Integer] :duration_seconds
1529
+ # The time period, between 900 and 21,600 seconds, for the timeout of
1530
+ # the temporary credentials.
1531
+ #
1532
+ # @option params [Types::AuditContext] :audit_context
1533
+ # A structure representing context to access a resource (column names,
1534
+ # query ID, etc).
1535
+ #
1536
+ # @option params [required, Array<String>] :supported_permission_types
1537
+ # A list of supported permission types for the partition. Valid values
1538
+ # are `COLUMN_PERMISSION` and `CELL_FILTER_PERMISSION`.
1539
+ #
1540
+ # @return [Types::GetTemporaryGluePartitionCredentialsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1541
+ #
1542
+ # * {Types::GetTemporaryGluePartitionCredentialsResponse#access_key_id #access_key_id} => String
1543
+ # * {Types::GetTemporaryGluePartitionCredentialsResponse#secret_access_key #secret_access_key} => String
1544
+ # * {Types::GetTemporaryGluePartitionCredentialsResponse#session_token #session_token} => String
1545
+ # * {Types::GetTemporaryGluePartitionCredentialsResponse#expiration #expiration} => Time
1546
+ #
1547
+ # @example Request syntax with placeholder values
1548
+ #
1549
+ # resp = client.get_temporary_glue_partition_credentials({
1550
+ # table_arn: "ResourceArnString", # required
1551
+ # partition: { # required
1552
+ # values: ["ValueString"], # required
1553
+ # },
1554
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
1555
+ # duration_seconds: 1,
1556
+ # audit_context: {
1557
+ # additional_audit_context: "AuditContextString",
1558
+ # },
1559
+ # supported_permission_types: ["COLUMN_PERMISSION"], # required, accepts COLUMN_PERMISSION, CELL_FILTER_PERMISSION
1560
+ # })
1561
+ #
1562
+ # @example Response structure
1563
+ #
1564
+ # resp.access_key_id #=> String
1565
+ # resp.secret_access_key #=> String
1566
+ # resp.session_token #=> String
1567
+ # resp.expiration #=> Time
1568
+ #
1569
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGluePartitionCredentials AWS API Documentation
1570
+ #
1571
+ # @overload get_temporary_glue_partition_credentials(params = {})
1572
+ # @param [Hash] params ({})
1573
+ def get_temporary_glue_partition_credentials(params = {}, options = {})
1574
+ req = build_request(:get_temporary_glue_partition_credentials, params)
1575
+ req.send_request(options)
1576
+ end
1577
+
1578
+ # Allows a caller in a secure environment to assume a role with
1579
+ # permission to access Amazon S3. In order to vend such credentials,
1580
+ # Lake Formation assumes the role associated with a registered location,
1581
+ # for example an Amazon S3 bucket, with a scope down policy which
1582
+ # restricts the access to a single prefix.
1583
+ #
1584
+ # @option params [required, String] :table_arn
1585
+ # The ARN identifying a table in the Data Catalog for the temporary
1586
+ # credentials request.
1587
+ #
1588
+ # @option params [Array<String>] :permissions
1589
+ # Filters the request based on the user having been granted a list of
1590
+ # specified permissions on the requested resource(s).
1591
+ #
1592
+ # @option params [Integer] :duration_seconds
1593
+ # The time period, between 900 and 21,600 seconds, for the timeout of
1594
+ # the temporary credentials.
1595
+ #
1596
+ # @option params [Types::AuditContext] :audit_context
1597
+ # A structure representing context to access a resource (column names,
1598
+ # query ID, etc).
1599
+ #
1600
+ # @option params [required, Array<String>] :supported_permission_types
1601
+ # A list of supported permission types for the table. Valid values are
1602
+ # `COLUMN_PERMISSION` and `CELL_FILTER_PERMISSION`.
1603
+ #
1604
+ # @return [Types::GetTemporaryGlueTableCredentialsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1605
+ #
1606
+ # * {Types::GetTemporaryGlueTableCredentialsResponse#access_key_id #access_key_id} => String
1607
+ # * {Types::GetTemporaryGlueTableCredentialsResponse#secret_access_key #secret_access_key} => String
1608
+ # * {Types::GetTemporaryGlueTableCredentialsResponse#session_token #session_token} => String
1609
+ # * {Types::GetTemporaryGlueTableCredentialsResponse#expiration #expiration} => Time
1610
+ #
1611
+ # @example Request syntax with placeholder values
1612
+ #
1613
+ # resp = client.get_temporary_glue_table_credentials({
1614
+ # table_arn: "ResourceArnString", # required
1615
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
1616
+ # duration_seconds: 1,
1617
+ # audit_context: {
1618
+ # additional_audit_context: "AuditContextString",
1619
+ # },
1620
+ # supported_permission_types: ["COLUMN_PERMISSION"], # required, accepts COLUMN_PERMISSION, CELL_FILTER_PERMISSION
1621
+ # })
1622
+ #
1623
+ # @example Response structure
1624
+ #
1625
+ # resp.access_key_id #=> String
1626
+ # resp.secret_access_key #=> String
1627
+ # resp.session_token #=> String
1628
+ # resp.expiration #=> Time
1629
+ #
1630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGlueTableCredentials AWS API Documentation
1631
+ #
1632
+ # @overload get_temporary_glue_table_credentials(params = {})
1633
+ # @param [Hash] params ({})
1634
+ def get_temporary_glue_table_credentials(params = {}, options = {})
1635
+ req = build_request(:get_temporary_glue_table_credentials, params)
1636
+ req.send_request(options)
1637
+ end
1638
+
1639
+ # Returns the work units resulting from the query. Work units can be
1640
+ # executed in any order and in parallel.
1641
+ #
1642
+ # @option params [required, String] :query_id
1643
+ # The ID of the plan query operation for which to get results.
1644
+ #
1645
+ # @option params [required, Integer] :work_unit_id
1646
+ # The work unit ID for which to get results. Value generated by
1647
+ # enumerating `WorkUnitIdMin` to `WorkUnitIdMax` (inclusive) from the
1648
+ # `WorkUnitRange` in the output of `GetWorkUnits`.
1649
+ #
1650
+ # @option params [required, String] :work_unit_token
1651
+ # A work token used to query the execution service. Token output from
1652
+ # `GetWorkUnits`.
1653
+ #
1654
+ # @return [Types::GetWorkUnitResultsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1655
+ #
1656
+ # * {Types::GetWorkUnitResultsResponse#result_stream #result_stream} => IO
1657
+ #
1658
+ # @example Request syntax with placeholder values
1659
+ #
1660
+ # resp = client.get_work_unit_results({
1661
+ # query_id: "GetWorkUnitResultsRequestQueryIdString", # required
1662
+ # work_unit_id: 1, # required
1663
+ # work_unit_token: "SyntheticGetWorkUnitResultsRequestWorkUnitTokenString", # required
1664
+ # })
1665
+ #
1666
+ # @example Response structure
1667
+ #
1668
+ # resp.result_stream #=> IO
1669
+ #
1670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetWorkUnitResults AWS API Documentation
1671
+ #
1672
+ # @overload get_work_unit_results(params = {})
1673
+ # @param [Hash] params ({})
1674
+ def get_work_unit_results(params = {}, options = {}, &block)
1675
+ req = build_request(:get_work_unit_results, params)
1676
+ req.send_request(options, &block)
1677
+ end
1678
+
1679
+ # Retrieves the work units generated by the `StartQueryPlanning`
1680
+ # operation.
1681
+ #
1682
+ # @option params [String] :next_token
1683
+ # A continuation token, if this is a continuation call.
1684
+ #
1685
+ # @option params [Integer] :page_size
1686
+ # The size of each page to get in the Amazon Web Services service call.
1687
+ # This does not affect the number of items returned in the command's
1688
+ # output. Setting a smaller page size results in more calls to the
1689
+ # Amazon Web Services service, retrieving fewer items in each call. This
1690
+ # can help prevent the Amazon Web Services service calls from timing
1691
+ # out.
1692
+ #
1693
+ # @option params [required, String] :query_id
1694
+ # The ID of the plan query operation.
1695
+ #
1696
+ # @return [Types::GetWorkUnitsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1697
+ #
1698
+ # * {Types::GetWorkUnitsResponse#next_token #next_token} => String
1699
+ # * {Types::GetWorkUnitsResponse#query_id #query_id} => String
1700
+ # * {Types::GetWorkUnitsResponse#work_unit_ranges #work_unit_ranges} => Array&lt;Types::WorkUnitRange&gt;
1701
+ #
1702
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1703
+ #
1704
+ # @example Request syntax with placeholder values
1705
+ #
1706
+ # resp = client.get_work_units({
1707
+ # next_token: "Token",
1708
+ # page_size: 1,
1709
+ # query_id: "GetWorkUnitsRequestQueryIdString", # required
1710
+ # })
1711
+ #
1712
+ # @example Response structure
1713
+ #
1714
+ # resp.next_token #=> String
1715
+ # resp.query_id #=> String
1716
+ # resp.work_unit_ranges #=> Array
1717
+ # resp.work_unit_ranges[0].work_unit_id_max #=> Integer
1718
+ # resp.work_unit_ranges[0].work_unit_id_min #=> Integer
1719
+ # resp.work_unit_ranges[0].work_unit_token #=> String
1720
+ #
1721
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetWorkUnits AWS API Documentation
1722
+ #
1723
+ # @overload get_work_units(params = {})
1724
+ # @param [Hash] params ({})
1725
+ def get_work_units(params = {}, options = {})
1726
+ req = build_request(:get_work_units, params)
1727
+ req.send_request(options)
1728
+ end
1729
+
1072
1730
  # Grants permissions to the principal to access metadata in the Data
1073
1731
  # Catalog and data organized in underlying data storage such as Amazon
1074
1732
  # S3.
@@ -1084,7 +1742,7 @@ module Aws::LakeFormation
1084
1742
  # The identifier for the Data Catalog. By default, the account ID. The
1085
1743
  # Data Catalog is the persistent metadata store. It contains database
1086
1744
  # definitions, table definitions, and other control information to
1087
- # manage your AWS Lake Formation environment.
1745
+ # manage your Lake Formation environment.
1088
1746
  #
1089
1747
  # @option params [required, Types::DataLakePrincipal] :principal
1090
1748
  # The principal to be granted the permissions on the resource. Supported
@@ -1096,15 +1754,15 @@ module Aws::LakeFormation
1096
1754
  # maintains the permissions already granted.
1097
1755
  #
1098
1756
  # @option params [required, Types::Resource] :resource
1099
- # The resource to which permissions are to be granted. Resources in AWS
1100
- # Lake Formation are the Data Catalog, databases, and tables.
1757
+ # The resource to which permissions are to be granted. Resources in Lake
1758
+ # Formation are the Data Catalog, databases, and tables.
1101
1759
  #
1102
1760
  # @option params [required, Array<String>] :permissions
1103
- # The permissions granted to the principal on the resource. AWS Lake
1761
+ # The permissions granted to the principal on the resource. Lake
1104
1762
  # Formation defines privileges to grant and revoke access to metadata in
1105
1763
  # the Data Catalog and data organized in underlying data storage such as
1106
- # Amazon S3. AWS Lake Formation requires that each principal be
1107
- # authorized to perform a specific task on AWS Lake Formation resources.
1764
+ # Amazon S3. Lake Formation requires that each principal be authorized
1765
+ # to perform a specific task on Lake Formation resources.
1108
1766
  #
1109
1767
  # @option params [Array<String>] :permissions_with_grant_option
1110
1768
  # Indicates a list of the granted permissions that the principal may
@@ -1147,6 +1805,12 @@ module Aws::LakeFormation
1147
1805
  # catalog_id: "CatalogIdString",
1148
1806
  # resource_arn: "ResourceArnString", # required
1149
1807
  # },
1808
+ # data_cells_filter: {
1809
+ # table_catalog_id: "CatalogIdString",
1810
+ # database_name: "NameString",
1811
+ # table_name: "NameString",
1812
+ # name: "NameString",
1813
+ # },
1150
1814
  # lf_tag: {
1151
1815
  # catalog_id: "CatalogIdString",
1152
1816
  # tag_key: "NameString", # required
@@ -1176,20 +1840,75 @@ module Aws::LakeFormation
1176
1840
  req.send_request(options)
1177
1841
  end
1178
1842
 
1179
- # Lists tags that the requester has permission to view.
1843
+ # Lists all the data cell filters on a table.
1844
+ #
1845
+ # @option params [Types::TableResource] :table
1846
+ # A table in the Glue Data Catalog.
1847
+ #
1848
+ # @option params [String] :next_token
1849
+ # A continuation token, if this is a continuation call.
1850
+ #
1851
+ # @option params [Integer] :max_results
1852
+ # The maximum size of the response.
1853
+ #
1854
+ # @return [Types::ListDataCellsFilterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1855
+ #
1856
+ # * {Types::ListDataCellsFilterResponse#data_cells_filters #data_cells_filters} => Array&lt;Types::DataCellsFilter&gt;
1857
+ # * {Types::ListDataCellsFilterResponse#next_token #next_token} => String
1858
+ #
1859
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1860
+ #
1861
+ # @example Request syntax with placeholder values
1862
+ #
1863
+ # resp = client.list_data_cells_filter({
1864
+ # table: {
1865
+ # catalog_id: "CatalogIdString",
1866
+ # database_name: "NameString", # required
1867
+ # name: "NameString",
1868
+ # table_wildcard: {
1869
+ # },
1870
+ # },
1871
+ # next_token: "Token",
1872
+ # max_results: 1,
1873
+ # })
1874
+ #
1875
+ # @example Response structure
1876
+ #
1877
+ # resp.data_cells_filters #=> Array
1878
+ # resp.data_cells_filters[0].table_catalog_id #=> String
1879
+ # resp.data_cells_filters[0].database_name #=> String
1880
+ # resp.data_cells_filters[0].table_name #=> String
1881
+ # resp.data_cells_filters[0].name #=> String
1882
+ # resp.data_cells_filters[0].row_filter.filter_expression #=> String
1883
+ # resp.data_cells_filters[0].column_names #=> Array
1884
+ # resp.data_cells_filters[0].column_names[0] #=> String
1885
+ # resp.data_cells_filters[0].column_wildcard.excluded_column_names #=> Array
1886
+ # resp.data_cells_filters[0].column_wildcard.excluded_column_names[0] #=> String
1887
+ # resp.next_token #=> String
1888
+ #
1889
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListDataCellsFilter AWS API Documentation
1890
+ #
1891
+ # @overload list_data_cells_filter(params = {})
1892
+ # @param [Hash] params ({})
1893
+ def list_data_cells_filter(params = {}, options = {})
1894
+ req = build_request(:list_data_cells_filter, params)
1895
+ req.send_request(options)
1896
+ end
1897
+
1898
+ # Lists LF-tags that the requester has permission to view.
1180
1899
  #
1181
1900
  # @option params [String] :catalog_id
1182
1901
  # The identifier for the Data Catalog. By default, the account ID. The
1183
1902
  # Data Catalog is the persistent metadata store. It contains database
1184
1903
  # definitions, table definitions, and other control information to
1185
- # manage your AWS Lake Formation environment.
1904
+ # manage your Lake Formation environment.
1186
1905
  #
1187
1906
  # @option params [String] :resource_share_type
1188
- # If resource share type is `ALL`, returns both in-account tags and
1189
- # shared tags that the requester has permission to view. If resource
1190
- # share type is `FOREIGN`, returns all share tags that the requester can
1191
- # view. If no resource share type is passed, lists tags in the given
1192
- # catalog ID that the requester has permission to view.
1907
+ # If resource share type is `ALL`, returns both in-account LF-tags and
1908
+ # shared LF-tags that the requester has permission to view. If resource
1909
+ # share type is `FOREIGN`, returns all share LF-tags that the requester
1910
+ # can view. If no resource share type is passed, lists LF-tags in the
1911
+ # given catalog ID that the requester has permission to view.
1193
1912
  #
1194
1913
  # @option params [Integer] :max_results
1195
1914
  # The maximum number of results to return.
@@ -1203,6 +1922,8 @@ module Aws::LakeFormation
1203
1922
  # * {Types::ListLFTagsResponse#lf_tags #lf_tags} => Array&lt;Types::LFTagPair&gt;
1204
1923
  # * {Types::ListLFTagsResponse#next_token #next_token} => String
1205
1924
  #
1925
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1926
+ #
1206
1927
  # @example Request syntax with placeholder values
1207
1928
  #
1208
1929
  # resp = client.list_lf_tags({
@@ -1249,7 +1970,7 @@ module Aws::LakeFormation
1249
1970
  # The identifier for the Data Catalog. By default, the account ID. The
1250
1971
  # Data Catalog is the persistent metadata store. It contains database
1251
1972
  # definitions, table definitions, and other control information to
1252
- # manage your AWS Lake Formation environment.
1973
+ # manage your Lake Formation environment.
1253
1974
  #
1254
1975
  # @option params [Types::DataLakePrincipal] :principal
1255
1976
  # Specifies a principal to filter the permissions returned.
@@ -1271,6 +1992,9 @@ module Aws::LakeFormation
1271
1992
  # @option params [Integer] :max_results
1272
1993
  # The maximum number of results to return.
1273
1994
  #
1995
+ # @option params [String] :include_related
1996
+ # Indicates that related permissions should be included in the results.
1997
+ #
1274
1998
  # @return [Types::ListPermissionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1275
1999
  #
1276
2000
  # * {Types::ListPermissionsResponse#principal_resource_permissions #principal_resource_permissions} => Array&lt;Types::PrincipalResourcePermissions&gt;
@@ -1313,6 +2037,12 @@ module Aws::LakeFormation
1313
2037
  # catalog_id: "CatalogIdString",
1314
2038
  # resource_arn: "ResourceArnString", # required
1315
2039
  # },
2040
+ # data_cells_filter: {
2041
+ # table_catalog_id: "CatalogIdString",
2042
+ # database_name: "NameString",
2043
+ # table_name: "NameString",
2044
+ # name: "NameString",
2045
+ # },
1316
2046
  # lf_tag: {
1317
2047
  # catalog_id: "CatalogIdString",
1318
2048
  # tag_key: "NameString", # required
@@ -1331,6 +2061,7 @@ module Aws::LakeFormation
1331
2061
  # },
1332
2062
  # next_token: "Token",
1333
2063
  # max_results: 1,
2064
+ # include_related: "TrueFalseString",
1334
2065
  # })
1335
2066
  #
1336
2067
  # @example Response structure
@@ -1351,6 +2082,10 @@ module Aws::LakeFormation
1351
2082
  # resp.principal_resource_permissions[0].resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
1352
2083
  # resp.principal_resource_permissions[0].resource.data_location.catalog_id #=> String
1353
2084
  # resp.principal_resource_permissions[0].resource.data_location.resource_arn #=> String
2085
+ # resp.principal_resource_permissions[0].resource.data_cells_filter.table_catalog_id #=> String
2086
+ # resp.principal_resource_permissions[0].resource.data_cells_filter.database_name #=> String
2087
+ # resp.principal_resource_permissions[0].resource.data_cells_filter.table_name #=> String
2088
+ # resp.principal_resource_permissions[0].resource.data_cells_filter.name #=> String
1354
2089
  # resp.principal_resource_permissions[0].resource.lf_tag.catalog_id #=> String
1355
2090
  # resp.principal_resource_permissions[0].resource.lf_tag.tag_key #=> String
1356
2091
  # resp.principal_resource_permissions[0].resource.lf_tag.tag_values #=> Array
@@ -1429,6 +2164,123 @@ module Aws::LakeFormation
1429
2164
  req.send_request(options)
1430
2165
  end
1431
2166
 
2167
+ # Returns the configuration of all storage optimizers associated with a
2168
+ # specified table.
2169
+ #
2170
+ # @option params [String] :catalog_id
2171
+ # The Catalog ID of the table.
2172
+ #
2173
+ # @option params [required, String] :database_name
2174
+ # Name of the database where the table is present.
2175
+ #
2176
+ # @option params [required, String] :table_name
2177
+ # Name of the table.
2178
+ #
2179
+ # @option params [String] :storage_optimizer_type
2180
+ # The specific type of storage optimizers to list. The supported value
2181
+ # is `compaction`.
2182
+ #
2183
+ # @option params [Integer] :max_results
2184
+ # The number of storage optimizers to return on each call.
2185
+ #
2186
+ # @option params [String] :next_token
2187
+ # A continuation token, if this is a continuation call.
2188
+ #
2189
+ # @return [Types::ListTableStorageOptimizersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2190
+ #
2191
+ # * {Types::ListTableStorageOptimizersResponse#storage_optimizer_list #storage_optimizer_list} => Array&lt;Types::StorageOptimizer&gt;
2192
+ # * {Types::ListTableStorageOptimizersResponse#next_token #next_token} => String
2193
+ #
2194
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2195
+ #
2196
+ # @example Request syntax with placeholder values
2197
+ #
2198
+ # resp = client.list_table_storage_optimizers({
2199
+ # catalog_id: "CatalogIdString",
2200
+ # database_name: "NameString", # required
2201
+ # table_name: "NameString", # required
2202
+ # storage_optimizer_type: "COMPACTION", # accepts COMPACTION, GARBAGE_COLLECTION, ALL
2203
+ # max_results: 1,
2204
+ # next_token: "Token",
2205
+ # })
2206
+ #
2207
+ # @example Response structure
2208
+ #
2209
+ # resp.storage_optimizer_list #=> Array
2210
+ # resp.storage_optimizer_list[0].storage_optimizer_type #=> String, one of "COMPACTION", "GARBAGE_COLLECTION", "ALL"
2211
+ # resp.storage_optimizer_list[0].config #=> Hash
2212
+ # resp.storage_optimizer_list[0].config["StorageOptimizerConfigKey"] #=> String
2213
+ # resp.storage_optimizer_list[0].error_message #=> String
2214
+ # resp.storage_optimizer_list[0].warnings #=> String
2215
+ # resp.storage_optimizer_list[0].last_run_details #=> String
2216
+ # resp.next_token #=> String
2217
+ #
2218
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListTableStorageOptimizers AWS API Documentation
2219
+ #
2220
+ # @overload list_table_storage_optimizers(params = {})
2221
+ # @param [Hash] params ({})
2222
+ def list_table_storage_optimizers(params = {}, options = {})
2223
+ req = build_request(:list_table_storage_optimizers, params)
2224
+ req.send_request(options)
2225
+ end
2226
+
2227
+ # Returns metadata about transactions and their status. To prevent the
2228
+ # response from growing indefinitely, only uncommitted transactions and
2229
+ # those available for time-travel queries are returned.
2230
+ #
2231
+ # This operation can help you identify uncommitted transactions or to
2232
+ # get information about transactions.
2233
+ #
2234
+ # @option params [String] :catalog_id
2235
+ # The catalog for which to list transactions. Defaults to the account ID
2236
+ # of the caller.
2237
+ #
2238
+ # @option params [String] :status_filter
2239
+ # A filter indicating the status of transactions to return. Options are
2240
+ # ALL \| COMPLETED \| COMMITTED \| ABORTED \| ACTIVE. The default is
2241
+ # `ALL`.
2242
+ #
2243
+ # @option params [Integer] :max_results
2244
+ # The maximum number of transactions to return in a single call.
2245
+ #
2246
+ # @option params [String] :next_token
2247
+ # A continuation token if this is not the first call to retrieve
2248
+ # transactions.
2249
+ #
2250
+ # @return [Types::ListTransactionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2251
+ #
2252
+ # * {Types::ListTransactionsResponse#transactions #transactions} => Array&lt;Types::TransactionDescription&gt;
2253
+ # * {Types::ListTransactionsResponse#next_token #next_token} => String
2254
+ #
2255
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2256
+ #
2257
+ # @example Request syntax with placeholder values
2258
+ #
2259
+ # resp = client.list_transactions({
2260
+ # catalog_id: "CatalogIdString",
2261
+ # status_filter: "ALL", # accepts ALL, COMPLETED, ACTIVE, COMMITTED, ABORTED
2262
+ # max_results: 1,
2263
+ # next_token: "TokenString",
2264
+ # })
2265
+ #
2266
+ # @example Response structure
2267
+ #
2268
+ # resp.transactions #=> Array
2269
+ # resp.transactions[0].transaction_id #=> String
2270
+ # resp.transactions[0].transaction_status #=> String, one of "ACTIVE", "COMMITTED", "ABORTED", "COMMIT_IN_PROGRESS"
2271
+ # resp.transactions[0].transaction_start_time #=> Time
2272
+ # resp.transactions[0].transaction_end_time #=> Time
2273
+ # resp.next_token #=> String
2274
+ #
2275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListTransactions AWS API Documentation
2276
+ #
2277
+ # @overload list_transactions(params = {})
2278
+ # @param [Hash] params ({})
2279
+ def list_transactions(params = {}, options = {})
2280
+ req = build_request(:list_transactions, params)
2281
+ req.send_request(options)
2282
+ end
2283
+
1432
2284
  # Sets the list of data lake administrators who have admin privileges on
1433
2285
  # all resources managed by Lake Formation. For more information on admin
1434
2286
  # privileges, see [Granting Lake Formation Permissions][1].
@@ -1445,10 +2297,10 @@ module Aws::LakeFormation
1445
2297
  # The identifier for the Data Catalog. By default, the account ID. The
1446
2298
  # Data Catalog is the persistent metadata store. It contains database
1447
2299
  # definitions, table definitions, and other control information to
1448
- # manage your AWS Lake Formation environment.
2300
+ # manage your Lake Formation environment.
1449
2301
  #
1450
2302
  # @option params [required, Types::DataLakeSettings] :data_lake_settings
1451
- # A structure representing a list of AWS Lake Formation principals
2303
+ # A structure representing a list of Lake Formation principals
1452
2304
  # designated as data lake administrators.
1453
2305
  #
1454
2306
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -1480,6 +2332,13 @@ module Aws::LakeFormation
1480
2332
  # },
1481
2333
  # ],
1482
2334
  # trusted_resource_owners: ["CatalogIdString"],
2335
+ # allow_external_data_filtering: false,
2336
+ # external_data_filtering_allow_list: [
2337
+ # {
2338
+ # data_lake_principal_identifier: "DataLakePrincipalString",
2339
+ # },
2340
+ # ],
2341
+ # authorized_session_tag_value_list: ["NameString"],
1483
2342
  # },
1484
2343
  # })
1485
2344
  #
@@ -1503,7 +2362,7 @@ module Aws::LakeFormation
1503
2362
  # attaches it to the service-linked role. When you register subsequent
1504
2363
  # paths, Lake Formation adds the path to the existing policy.
1505
2364
  #
1506
- # The following request registers a new location and gives AWS Lake
2365
+ # The following request registers a new location and gives Lake
1507
2366
  # Formation permission to use the service-linked role to access that
1508
2367
  # location.
1509
2368
  #
@@ -1519,9 +2378,9 @@ module Aws::LakeFormation
1519
2378
  # register.
1520
2379
  #
1521
2380
  # @option params [Boolean] :use_service_linked_role
1522
- # Designates an AWS Identity and Access Management (IAM) service-linked
1523
- # role by registering this role with the Data Catalog. A service-linked
1524
- # role is a unique type of IAM role that is linked directly to Lake
2381
+ # Designates an Identity and Access Management (IAM) service-linked role
2382
+ # by registering this role with the Data Catalog. A service-linked role
2383
+ # is a unique type of IAM role that is linked directly to Lake
1525
2384
  # Formation.
1526
2385
  #
1527
2386
  # For more information, see [Using Service-Linked Roles for Lake
@@ -1553,7 +2412,7 @@ module Aws::LakeFormation
1553
2412
  req.send_request(options)
1554
2413
  end
1555
2414
 
1556
- # Removes a tag from the resource. Only database, table, or
2415
+ # Removes an LF-tag from the resource. Only database, table, or
1557
2416
  # tableWithColumns resource are allowed. To tag columns, use the column
1558
2417
  # inclusion list in `tableWithColumns` to specify column input.
1559
2418
  #
@@ -1561,13 +2420,14 @@ module Aws::LakeFormation
1561
2420
  # The identifier for the Data Catalog. By default, the account ID. The
1562
2421
  # Data Catalog is the persistent metadata store. It contains database
1563
2422
  # definitions, table definitions, and other control information to
1564
- # manage your AWS Lake Formation environment.
2423
+ # manage your Lake Formation environment.
1565
2424
  #
1566
2425
  # @option params [required, Types::Resource] :resource
1567
- # The resource where you want to remove a tag.
2426
+ # The database, table, or column resource where you want to remove an
2427
+ # LF-tag.
1568
2428
  #
1569
2429
  # @option params [required, Array<Types::LFTagPair>] :lf_tags
1570
- # The tags to be removed from the resource.
2430
+ # The LF-tags to be removed from the resource.
1571
2431
  #
1572
2432
  # @return [Types::RemoveLFTagsFromResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1573
2433
  #
@@ -1604,6 +2464,12 @@ module Aws::LakeFormation
1604
2464
  # catalog_id: "CatalogIdString",
1605
2465
  # resource_arn: "ResourceArnString", # required
1606
2466
  # },
2467
+ # data_cells_filter: {
2468
+ # table_catalog_id: "CatalogIdString",
2469
+ # database_name: "NameString",
2470
+ # table_name: "NameString",
2471
+ # name: "NameString",
2472
+ # },
1607
2473
  # lf_tag: {
1608
2474
  # catalog_id: "CatalogIdString",
1609
2475
  # tag_key: "NameString", # required
@@ -1656,7 +2522,7 @@ module Aws::LakeFormation
1656
2522
  # The identifier for the Data Catalog. By default, the account ID. The
1657
2523
  # Data Catalog is the persistent metadata store. It contains database
1658
2524
  # definitions, table definitions, and other control information to
1659
- # manage your AWS Lake Formation environment.
2525
+ # manage your Lake Formation environment.
1660
2526
  #
1661
2527
  # @option params [required, Types::DataLakePrincipal] :principal
1662
2528
  # The principal to be revoked permissions on the resource.
@@ -1713,6 +2579,12 @@ module Aws::LakeFormation
1713
2579
  # catalog_id: "CatalogIdString",
1714
2580
  # resource_arn: "ResourceArnString", # required
1715
2581
  # },
2582
+ # data_cells_filter: {
2583
+ # table_catalog_id: "CatalogIdString",
2584
+ # database_name: "NameString",
2585
+ # table_name: "NameString",
2586
+ # name: "NameString",
2587
+ # },
1716
2588
  # lf_tag: {
1717
2589
  # catalog_id: "CatalogIdString",
1718
2590
  # tag_key: "NameString", # required
@@ -1760,7 +2632,7 @@ module Aws::LakeFormation
1760
2632
  # The identifier for the Data Catalog. By default, the account ID. The
1761
2633
  # Data Catalog is the persistent metadata store. It contains database
1762
2634
  # definitions, table definitions, and other control information to
1763
- # manage your AWS Lake Formation environment.
2635
+ # manage your Lake Formation environment.
1764
2636
  #
1765
2637
  # @option params [required, Array<Types::LFTag>] :expression
1766
2638
  # A list of conditions (`LFTag` structures) to search for in database
@@ -1771,6 +2643,8 @@ module Aws::LakeFormation
1771
2643
  # * {Types::SearchDatabasesByLFTagsResponse#next_token #next_token} => String
1772
2644
  # * {Types::SearchDatabasesByLFTagsResponse#database_list #database_list} => Array&lt;Types::TaggedDatabase&gt;
1773
2645
  #
2646
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2647
+ #
1774
2648
  # @example Request syntax with placeholder values
1775
2649
  #
1776
2650
  # resp = client.search_databases_by_lf_tags({
@@ -1808,7 +2682,7 @@ module Aws::LakeFormation
1808
2682
 
1809
2683
  # This operation allows a search on `TABLE` resources by `LFTag`s. This
1810
2684
  # will be used by admins who want to grant user permissions on certain
1811
- # LFTags. Before making a grant, the admin can use
2685
+ # LF-tags. Before making a grant, the admin can use
1812
2686
  # `SearchTablesByLFTags` to find all resources where the given `LFTag`s
1813
2687
  # are valid to verify whether the returned resources can be shared.
1814
2688
  #
@@ -1823,7 +2697,7 @@ module Aws::LakeFormation
1823
2697
  # The identifier for the Data Catalog. By default, the account ID. The
1824
2698
  # Data Catalog is the persistent metadata store. It contains database
1825
2699
  # definitions, table definitions, and other control information to
1826
- # manage your AWS Lake Formation environment.
2700
+ # manage your Lake Formation environment.
1827
2701
  #
1828
2702
  # @option params [required, Array<Types::LFTag>] :expression
1829
2703
  # A list of conditions (`LFTag` structures) to search for in table
@@ -1834,6 +2708,8 @@ module Aws::LakeFormation
1834
2708
  # * {Types::SearchTablesByLFTagsResponse#next_token #next_token} => String
1835
2709
  # * {Types::SearchTablesByLFTagsResponse#table_list #table_list} => Array&lt;Types::TaggedTable&gt;
1836
2710
  #
2711
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2712
+ #
1837
2713
  # @example Request syntax with placeholder values
1838
2714
  #
1839
2715
  # resp = client.search_tables_by_lf_tags({
@@ -1882,27 +2758,103 @@ module Aws::LakeFormation
1882
2758
  req.send_request(options)
1883
2759
  end
1884
2760
 
1885
- # Updates the list of possible values for the specified tag key. If the
1886
- # tag does not exist, the operation throws an EntityNotFoundException.
1887
- # The values in the delete key values will be deleted from list of
1888
- # possible values. If any value in the delete key values is attached to
1889
- # a resource, then API errors out with a 400 Exception - "Update not
1890
- # allowed". Untag the attribute before deleting the tag key's value.
2761
+ # Submits a request to process a query statement.
2762
+ #
2763
+ # This operation generates work units that can be retrieved with the
2764
+ # `GetWorkUnits` operation as soon as the query state is
2765
+ # WORKUNITS\_AVAILABLE or FINISHED.
2766
+ #
2767
+ # @option params [required, Types::QueryPlanningContext] :query_planning_context
2768
+ # A structure containing information about the query plan.
2769
+ #
2770
+ # @option params [required, String] :query_string
2771
+ # A PartiQL query statement used as an input to the planner service.
2772
+ #
2773
+ # @return [Types::StartQueryPlanningResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2774
+ #
2775
+ # * {Types::StartQueryPlanningResponse#query_id #query_id} => String
2776
+ #
2777
+ # @example Request syntax with placeholder values
2778
+ #
2779
+ # resp = client.start_query_planning({
2780
+ # query_planning_context: { # required
2781
+ # catalog_id: "CatalogIdString",
2782
+ # database_name: "QueryPlanningContextDatabaseNameString", # required
2783
+ # query_as_of_time: Time.now,
2784
+ # query_parameters: {
2785
+ # "String" => "String",
2786
+ # },
2787
+ # transaction_id: "TransactionIdString",
2788
+ # },
2789
+ # query_string: "SyntheticStartQueryPlanningRequestQueryString", # required
2790
+ # })
2791
+ #
2792
+ # @example Response structure
2793
+ #
2794
+ # resp.query_id #=> String
2795
+ #
2796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StartQueryPlanning AWS API Documentation
2797
+ #
2798
+ # @overload start_query_planning(params = {})
2799
+ # @param [Hash] params ({})
2800
+ def start_query_planning(params = {}, options = {})
2801
+ req = build_request(:start_query_planning, params)
2802
+ req.send_request(options)
2803
+ end
2804
+
2805
+ # Starts a new transaction and returns its transaction ID. Transaction
2806
+ # IDs are opaque objects that you can use to identify a transaction.
2807
+ #
2808
+ # @option params [String] :transaction_type
2809
+ # Indicates whether this transaction should be read only or read and
2810
+ # write. Writes made using a read-only transaction ID will be rejected.
2811
+ # Read-only transactions do not need to be committed.
2812
+ #
2813
+ # @return [Types::StartTransactionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2814
+ #
2815
+ # * {Types::StartTransactionResponse#transaction_id #transaction_id} => String
2816
+ #
2817
+ # @example Request syntax with placeholder values
2818
+ #
2819
+ # resp = client.start_transaction({
2820
+ # transaction_type: "READ_AND_WRITE", # accepts READ_AND_WRITE, READ_ONLY
2821
+ # })
2822
+ #
2823
+ # @example Response structure
2824
+ #
2825
+ # resp.transaction_id #=> String
2826
+ #
2827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StartTransaction AWS API Documentation
2828
+ #
2829
+ # @overload start_transaction(params = {})
2830
+ # @param [Hash] params ({})
2831
+ def start_transaction(params = {}, options = {})
2832
+ req = build_request(:start_transaction, params)
2833
+ req.send_request(options)
2834
+ end
2835
+
2836
+ # Updates the list of possible values for the specified LF-tag key. If
2837
+ # the LF-tag does not exist, the operation throws an
2838
+ # EntityNotFoundException. The values in the delete key values will be
2839
+ # deleted from list of possible values. If any value in the delete key
2840
+ # values is attached to a resource, then API errors out with a 400
2841
+ # Exception - "Update not allowed". Untag the attribute before
2842
+ # deleting the LF-tag key's value.
1891
2843
  #
1892
2844
  # @option params [String] :catalog_id
1893
2845
  # The identifier for the Data Catalog. By default, the account ID. The
1894
2846
  # Data Catalog is the persistent metadata store. It contains database
1895
2847
  # definitions, table definitions, and other control information to
1896
- # manage your AWS Lake Formation environment.
2848
+ # manage your Lake Formation environment.
1897
2849
  #
1898
2850
  # @option params [required, String] :tag_key
1899
- # The key-name for the tag for which to add or delete values.
2851
+ # The key-name for the LF-tag for which to add or delete values.
1900
2852
  #
1901
2853
  # @option params [Array<String>] :tag_values_to_delete
1902
- # A list of tag values to delete from the tag.
2854
+ # A list of LF-tag values to delete from the LF-tag.
1903
2855
  #
1904
2856
  # @option params [Array<String>] :tag_values_to_add
1905
- # A list of tag values to add from the tag.
2857
+ # A list of LF-tag values to add from the LF-tag.
1906
2858
  #
1907
2859
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1908
2860
  #
@@ -1925,10 +2877,10 @@ module Aws::LakeFormation
1925
2877
  end
1926
2878
 
1927
2879
  # Updates the data access role used for vending access to the given
1928
- # (registered) resource in AWS Lake Formation.
2880
+ # (registered) resource in Lake Formation.
1929
2881
  #
1930
2882
  # @option params [required, String] :role_arn
1931
- # The new role to use for the given resource registered in AWS Lake
2883
+ # The new role to use for the given resource registered in Lake
1932
2884
  # Formation.
1933
2885
  #
1934
2886
  # @option params [required, String] :resource_arn
@@ -1952,6 +2904,105 @@ module Aws::LakeFormation
1952
2904
  req.send_request(options)
1953
2905
  end
1954
2906
 
2907
+ # Updates the manifest of Amazon S3 objects that make up the specified
2908
+ # governed table.
2909
+ #
2910
+ # @option params [String] :catalog_id
2911
+ # The catalog containing the governed table to update. Defaults to the
2912
+ # caller’s account ID.
2913
+ #
2914
+ # @option params [required, String] :database_name
2915
+ # The database containing the governed table to update.
2916
+ #
2917
+ # @option params [required, String] :table_name
2918
+ # The governed table to update.
2919
+ #
2920
+ # @option params [required, String] :transaction_id
2921
+ # The transaction at which to do the write.
2922
+ #
2923
+ # @option params [required, Array<Types::WriteOperation>] :write_operations
2924
+ # A list of `WriteOperation` objects that define an object to add to or
2925
+ # delete from the manifest for a governed table.
2926
+ #
2927
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2928
+ #
2929
+ # @example Request syntax with placeholder values
2930
+ #
2931
+ # resp = client.update_table_objects({
2932
+ # catalog_id: "CatalogIdString",
2933
+ # database_name: "NameString", # required
2934
+ # table_name: "NameString", # required
2935
+ # transaction_id: "TransactionIdString", # required
2936
+ # write_operations: [ # required
2937
+ # {
2938
+ # add_object: {
2939
+ # uri: "URI", # required
2940
+ # etag: "ETagString", # required
2941
+ # size: 1, # required
2942
+ # partition_values: ["PartitionValueString"],
2943
+ # },
2944
+ # delete_object: {
2945
+ # uri: "URI", # required
2946
+ # etag: "ETagString",
2947
+ # partition_values: ["PartitionValueString"],
2948
+ # },
2949
+ # },
2950
+ # ],
2951
+ # })
2952
+ #
2953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateTableObjects AWS API Documentation
2954
+ #
2955
+ # @overload update_table_objects(params = {})
2956
+ # @param [Hash] params ({})
2957
+ def update_table_objects(params = {}, options = {})
2958
+ req = build_request(:update_table_objects, params)
2959
+ req.send_request(options)
2960
+ end
2961
+
2962
+ # Updates the configuration of the storage optimizers for a table.
2963
+ #
2964
+ # @option params [String] :catalog_id
2965
+ # The Catalog ID of the table.
2966
+ #
2967
+ # @option params [required, String] :database_name
2968
+ # Name of the database where the table is present.
2969
+ #
2970
+ # @option params [required, String] :table_name
2971
+ # Name of the table for which to enable the storage optimizer.
2972
+ #
2973
+ # @option params [required, Hash<String,Hash>] :storage_optimizer_config
2974
+ # Name of the table for which to enable the storage optimizer.
2975
+ #
2976
+ # @return [Types::UpdateTableStorageOptimizerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2977
+ #
2978
+ # * {Types::UpdateTableStorageOptimizerResponse#result #result} => String
2979
+ #
2980
+ # @example Request syntax with placeholder values
2981
+ #
2982
+ # resp = client.update_table_storage_optimizer({
2983
+ # catalog_id: "CatalogIdString",
2984
+ # database_name: "NameString", # required
2985
+ # table_name: "NameString", # required
2986
+ # storage_optimizer_config: { # required
2987
+ # "COMPACTION" => {
2988
+ # "StorageOptimizerConfigKey" => "StorageOptimizerConfigValue",
2989
+ # },
2990
+ # },
2991
+ # })
2992
+ #
2993
+ # @example Response structure
2994
+ #
2995
+ # resp.result #=> String
2996
+ #
2997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateTableStorageOptimizer AWS API Documentation
2998
+ #
2999
+ # @overload update_table_storage_optimizer(params = {})
3000
+ # @param [Hash] params ({})
3001
+ def update_table_storage_optimizer(params = {}, options = {})
3002
+ req = build_request(:update_table_storage_optimizer, params)
3003
+ req.send_request(options)
3004
+ end
3005
+
1955
3006
  # @!endgroup
1956
3007
 
1957
3008
  # @param params ({})
@@ -1965,7 +3016,7 @@ module Aws::LakeFormation
1965
3016
  params: params,
1966
3017
  config: config)
1967
3018
  context[:gem_name] = 'aws-sdk-lakeformation'
1968
- context[:gem_version] = '1.19.0'
3019
+ context[:gem_version] = '1.23.0'
1969
3020
  Seahorse::Client::Request.new(handlers, context)
1970
3021
  end
1971
3022