aws-sdk-lakeformation 1.19.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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