aws-sdk-lakeformation 1.17.0 → 1.21.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,9 @@ 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'
30
31
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
- require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
32
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
33
 
33
34
  Aws::Plugins::GlobalConfiguration.add_identifier(:lakeformation)
34
35
 
@@ -73,8 +74,9 @@ module Aws::LakeFormation
73
74
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
75
  add_plugin(Aws::Plugins::TransferEncoding)
75
76
  add_plugin(Aws::Plugins::HttpChecksum)
77
+ add_plugin(Aws::Plugins::DefaultsMode)
76
78
  add_plugin(Aws::Plugins::SignatureV4)
77
- add_plugin(Aws::Plugins::Protocols::JsonRpc)
79
+ add_plugin(Aws::Plugins::Protocols::RestJson)
78
80
 
79
81
  # @overload initialize(options)
80
82
  # @param [Hash] options
@@ -119,7 +121,9 @@ module Aws::LakeFormation
119
121
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
122
  # are very aggressive. Construct and pass an instance of
121
123
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
124
+ # enable retries and extended timeouts. Instance profile credential
125
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
126
+ # to true.
123
127
  #
124
128
  # @option options [required, String] :region
125
129
  # The AWS region to connect to. The configured `:region` is
@@ -173,6 +177,10 @@ module Aws::LakeFormation
173
177
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
178
  # a clock skew correction and retry requests with skewed client clocks.
175
179
  #
180
+ # @option options [String] :defaults_mode ("legacy")
181
+ # See {Aws::DefaultsModeConfiguration} for a list of the
182
+ # accepted modes and the configuration defaults that are included.
183
+ #
176
184
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
185
  # Set to true to disable SDK automatically adding host prefix
178
186
  # to default service endpoint when available.
@@ -266,16 +274,6 @@ module Aws::LakeFormation
266
274
  #
267
275
  # @option options [String] :session_token
268
276
  #
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
277
  # @option options [Boolean] :stub_responses (false)
280
278
  # Causes the client to return stubbed responses. By default
281
279
  # fake responses are generated and returned. You can specify
@@ -285,6 +283,15 @@ module Aws::LakeFormation
285
283
  # ** Please note ** When response stubbing is enabled, no HTTP
286
284
  # requests are made, and retries are disabled.
287
285
  #
286
+ # @option options [Boolean] :use_dualstack_endpoint
287
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
288
+ # will be used if available.
289
+ #
290
+ # @option options [Boolean] :use_fips_endpoint
291
+ # When set to `true`, fips compatible endpoints will be used if available.
292
+ # When a `fips` region is used, the region is normalized and this config
293
+ # is set to `true`.
294
+ #
288
295
  # @option options [Boolean] :validate_params (true)
289
296
  # When `true`, request parameters are validated before
290
297
  # sending the request.
@@ -296,7 +303,7 @@ module Aws::LakeFormation
296
303
  # seconds to wait when opening a HTTP session before raising a
297
304
  # `Timeout::Error`.
298
305
  #
299
- # @option options [Integer] :http_read_timeout (60) The default
306
+ # @option options [Float] :http_read_timeout (60) The default
300
307
  # number of seconds to wait for response data. This value can
301
308
  # safely be set per-request on the session.
302
309
  #
@@ -312,6 +319,9 @@ module Aws::LakeFormation
312
319
  # disables this behaviour. This value can safely be set per
313
320
  # request on the session.
314
321
  #
322
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
323
+ # in seconds.
324
+ #
315
325
  # @option options [Boolean] :http_wire_trace (false) When `true`,
316
326
  # HTTP debug output will be sent to the `:logger`.
317
327
  #
@@ -337,19 +347,19 @@ module Aws::LakeFormation
337
347
 
338
348
  # @!group API Operations
339
349
 
340
- # Attaches one or more tags to an existing resource.
350
+ # Attaches one or more LF-tags to an existing resource.
341
351
  #
342
352
  # @option params [String] :catalog_id
343
353
  # The identifier for the Data Catalog. By default, the account ID. The
344
354
  # Data Catalog is the persistent metadata store. It contains database
345
355
  # definitions, table definitions, and other control information to
346
- # manage your AWS Lake Formation environment.
356
+ # manage your Lake Formation environment.
347
357
  #
348
358
  # @option params [required, Types::Resource] :resource
349
- # The resource to which to attach a tag.
359
+ # The database, table, or column resource to which to attach an LF-tag.
350
360
  #
351
361
  # @option params [required, Array<Types::LFTagPair>] :lf_tags
352
- # The tags to attach to the resource.
362
+ # The LF-tags to attach to the resource.
353
363
  #
354
364
  # @return [Types::AddLFTagsToResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
355
365
  #
@@ -386,6 +396,12 @@ module Aws::LakeFormation
386
396
  # catalog_id: "CatalogIdString",
387
397
  # resource_arn: "ResourceArnString", # required
388
398
  # },
399
+ # data_cells_filter: {
400
+ # table_catalog_id: "CatalogIdString",
401
+ # database_name: "NameString",
402
+ # table_name: "NameString",
403
+ # name: "NameString",
404
+ # },
389
405
  # lf_tag: {
390
406
  # catalog_id: "CatalogIdString",
391
407
  # tag_key: "NameString", # required
@@ -436,7 +452,7 @@ module Aws::LakeFormation
436
452
  # The identifier for the Data Catalog. By default, the account ID. The
437
453
  # Data Catalog is the persistent metadata store. It contains database
438
454
  # definitions, table definitions, and other control information to
439
- # manage your AWS Lake Formation environment.
455
+ # manage your Lake Formation environment.
440
456
  #
441
457
  # @option params [required, Array<Types::BatchPermissionsRequestEntry>] :entries
442
458
  # A list of up to 20 entries for resource permissions to be granted by
@@ -483,6 +499,12 @@ module Aws::LakeFormation
483
499
  # catalog_id: "CatalogIdString",
484
500
  # resource_arn: "ResourceArnString", # required
485
501
  # },
502
+ # data_cells_filter: {
503
+ # table_catalog_id: "CatalogIdString",
504
+ # database_name: "NameString",
505
+ # table_name: "NameString",
506
+ # name: "NameString",
507
+ # },
486
508
  # lf_tag: {
487
509
  # catalog_id: "CatalogIdString",
488
510
  # tag_key: "NameString", # required
@@ -524,6 +546,10 @@ module Aws::LakeFormation
524
546
  # resp.failures[0].request_entry.resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
525
547
  # resp.failures[0].request_entry.resource.data_location.catalog_id #=> String
526
548
  # resp.failures[0].request_entry.resource.data_location.resource_arn #=> String
549
+ # resp.failures[0].request_entry.resource.data_cells_filter.table_catalog_id #=> String
550
+ # resp.failures[0].request_entry.resource.data_cells_filter.database_name #=> String
551
+ # resp.failures[0].request_entry.resource.data_cells_filter.table_name #=> String
552
+ # resp.failures[0].request_entry.resource.data_cells_filter.name #=> String
527
553
  # resp.failures[0].request_entry.resource.lf_tag.catalog_id #=> String
528
554
  # resp.failures[0].request_entry.resource.lf_tag.tag_key #=> String
529
555
  # resp.failures[0].request_entry.resource.lf_tag.tag_values #=> Array
@@ -556,7 +582,7 @@ module Aws::LakeFormation
556
582
  # The identifier for the Data Catalog. By default, the account ID. The
557
583
  # Data Catalog is the persistent metadata store. It contains database
558
584
  # definitions, table definitions, and other control information to
559
- # manage your AWS Lake Formation environment.
585
+ # manage your Lake Formation environment.
560
586
  #
561
587
  # @option params [required, Array<Types::BatchPermissionsRequestEntry>] :entries
562
588
  # A list of up to 20 entries for resource permissions to be revoked by
@@ -603,6 +629,12 @@ module Aws::LakeFormation
603
629
  # catalog_id: "CatalogIdString",
604
630
  # resource_arn: "ResourceArnString", # required
605
631
  # },
632
+ # data_cells_filter: {
633
+ # table_catalog_id: "CatalogIdString",
634
+ # database_name: "NameString",
635
+ # table_name: "NameString",
636
+ # name: "NameString",
637
+ # },
606
638
  # lf_tag: {
607
639
  # catalog_id: "CatalogIdString",
608
640
  # tag_key: "NameString", # required
@@ -644,6 +676,10 @@ module Aws::LakeFormation
644
676
  # resp.failures[0].request_entry.resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
645
677
  # resp.failures[0].request_entry.resource.data_location.catalog_id #=> String
646
678
  # resp.failures[0].request_entry.resource.data_location.resource_arn #=> String
679
+ # resp.failures[0].request_entry.resource.data_cells_filter.table_catalog_id #=> String
680
+ # resp.failures[0].request_entry.resource.data_cells_filter.database_name #=> String
681
+ # resp.failures[0].request_entry.resource.data_cells_filter.table_name #=> String
682
+ # resp.failures[0].request_entry.resource.data_cells_filter.name #=> String
647
683
  # resp.failures[0].request_entry.resource.lf_tag.catalog_id #=> String
648
684
  # resp.failures[0].request_entry.resource.lf_tag.tag_key #=> String
649
685
  # resp.failures[0].request_entry.resource.lf_tag.tag_values #=> Array
@@ -670,16 +706,107 @@ module Aws::LakeFormation
670
706
  req.send_request(options)
671
707
  end
672
708
 
673
- # Creates a tag with the specified name and values.
709
+ # Attempts to cancel the specified transaction. Returns an exception if
710
+ # the transaction was previously committed.
711
+ #
712
+ # @option params [required, String] :transaction_id
713
+ # The transaction to cancel.
714
+ #
715
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
716
+ #
717
+ # @example Request syntax with placeholder values
718
+ #
719
+ # resp = client.cancel_transaction({
720
+ # transaction_id: "TransactionIdString", # required
721
+ # })
722
+ #
723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CancelTransaction AWS API Documentation
724
+ #
725
+ # @overload cancel_transaction(params = {})
726
+ # @param [Hash] params ({})
727
+ def cancel_transaction(params = {}, options = {})
728
+ req = build_request(:cancel_transaction, params)
729
+ req.send_request(options)
730
+ end
731
+
732
+ # Attempts to commit the specified transaction. Returns an exception if
733
+ # the transaction was previously aborted. This API action is idempotent
734
+ # if called multiple times for the same transaction.
735
+ #
736
+ # @option params [required, String] :transaction_id
737
+ # The transaction to commit.
738
+ #
739
+ # @return [Types::CommitTransactionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
740
+ #
741
+ # * {Types::CommitTransactionResponse#transaction_status #transaction_status} => String
742
+ #
743
+ # @example Request syntax with placeholder values
744
+ #
745
+ # resp = client.commit_transaction({
746
+ # transaction_id: "TransactionIdString", # required
747
+ # })
748
+ #
749
+ # @example Response structure
750
+ #
751
+ # resp.transaction_status #=> String, one of "ACTIVE", "COMMITTED", "ABORTED", "COMMIT_IN_PROGRESS"
752
+ #
753
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CommitTransaction AWS API Documentation
754
+ #
755
+ # @overload commit_transaction(params = {})
756
+ # @param [Hash] params ({})
757
+ def commit_transaction(params = {}, options = {})
758
+ req = build_request(:commit_transaction, params)
759
+ req.send_request(options)
760
+ end
761
+
762
+ # Creates a data cell filter to allow one to grant access to certain
763
+ # columns on certain rows.
764
+ #
765
+ # @option params [required, Types::DataCellsFilter] :table_data
766
+ # A `DataCellsFilter` structure containing information about the data
767
+ # cells filter.
768
+ #
769
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
770
+ #
771
+ # @example Request syntax with placeholder values
772
+ #
773
+ # resp = client.create_data_cells_filter({
774
+ # table_data: { # required
775
+ # table_catalog_id: "CatalogIdString", # required
776
+ # database_name: "NameString", # required
777
+ # table_name: "NameString", # required
778
+ # name: "NameString", # required
779
+ # row_filter: {
780
+ # filter_expression: "PredicateString",
781
+ # all_rows_wildcard: {
782
+ # },
783
+ # },
784
+ # column_names: ["NameString"],
785
+ # column_wildcard: {
786
+ # excluded_column_names: ["NameString"],
787
+ # },
788
+ # },
789
+ # })
790
+ #
791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateDataCellsFilter AWS API Documentation
792
+ #
793
+ # @overload create_data_cells_filter(params = {})
794
+ # @param [Hash] params ({})
795
+ def create_data_cells_filter(params = {}, options = {})
796
+ req = build_request(:create_data_cells_filter, params)
797
+ req.send_request(options)
798
+ end
799
+
800
+ # Creates an LF-tag with the specified name and values.
674
801
  #
675
802
  # @option params [String] :catalog_id
676
803
  # The identifier for the Data Catalog. By default, the account ID. The
677
804
  # Data Catalog is the persistent metadata store. It contains database
678
805
  # definitions, table definitions, and other control information to
679
- # manage your AWS Lake Formation environment.
806
+ # manage your Lake Formation environment.
680
807
  #
681
808
  # @option params [required, String] :tag_key
682
- # The key-name for the tag.
809
+ # The key-name for the LF-tag.
683
810
  #
684
811
  # @option params [required, Array<String>] :tag_values
685
812
  # A list of possible values an attribute can take.
@@ -703,22 +830,56 @@ module Aws::LakeFormation
703
830
  req.send_request(options)
704
831
  end
705
832
 
706
- # Deletes the specified tag key name. If the attribute key does not
707
- # exist or the tag does not exist, then the operation will not do
833
+ # Deletes a data cell filter.
834
+ #
835
+ # @option params [String] :table_catalog_id
836
+ # The ID of the catalog to which the table belongs.
837
+ #
838
+ # @option params [String] :database_name
839
+ # A database in the Glue Data Catalog.
840
+ #
841
+ # @option params [String] :table_name
842
+ # A table in the database.
843
+ #
844
+ # @option params [String] :name
845
+ # The name given by the user to the data filter cell.
846
+ #
847
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
848
+ #
849
+ # @example Request syntax with placeholder values
850
+ #
851
+ # resp = client.delete_data_cells_filter({
852
+ # table_catalog_id: "CatalogIdString",
853
+ # database_name: "NameString",
854
+ # table_name: "NameString",
855
+ # name: "NameString",
856
+ # })
857
+ #
858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteDataCellsFilter AWS API Documentation
859
+ #
860
+ # @overload delete_data_cells_filter(params = {})
861
+ # @param [Hash] params ({})
862
+ def delete_data_cells_filter(params = {}, options = {})
863
+ req = build_request(:delete_data_cells_filter, params)
864
+ req.send_request(options)
865
+ end
866
+
867
+ # Deletes the specified LF-tag key name. If the attribute key does not
868
+ # exist or the LF-tag does not exist, then the operation will not do
708
869
  # anything. If the attribute key exists, then the operation checks if
709
870
  # any resources are tagged with this attribute key, if yes, the API
710
871
  # throws a 400 Exception with the message "Delete not allowed" as the
711
- # tag key is still attached with resources. You can consider untagging
712
- # resources with this tag key.
872
+ # LF-tag key is still attached with resources. You can consider
873
+ # untagging resources with this LF-tag key.
713
874
  #
714
875
  # @option params [String] :catalog_id
715
876
  # The identifier for the Data Catalog. By default, the account ID. The
716
877
  # Data Catalog is the persistent metadata store. It contains database
717
878
  # definitions, table definitions, and other control information to
718
- # manage your AWS Lake Formation environment.
879
+ # manage your Lake Formation environment.
719
880
  #
720
881
  # @option params [required, String] :tag_key
721
- # The key-name for the tag to delete.
882
+ # The key-name for the LF-tag to delete.
722
883
  #
723
884
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
724
885
  #
@@ -738,6 +899,64 @@ module Aws::LakeFormation
738
899
  req.send_request(options)
739
900
  end
740
901
 
902
+ # For a specific governed table, provides a list of Amazon S3 objects
903
+ # that will be written during the current transaction and that can be
904
+ # automatically deleted if the transaction is canceled. Without this
905
+ # call, no Amazon S3 objects are automatically deleted when a
906
+ # transaction cancels.
907
+ #
908
+ # The Glue ETL library function `write_dynamic_frame.from_catalog()`
909
+ # includes an option to automatically call `DeleteObjectsOnCancel`
910
+ # before writes. For more information, see [Rolling Back Amazon S3
911
+ # Writes][1].
912
+ #
913
+ #
914
+ #
915
+ # [1]: https://docs.aws.amazon.com/lake-formation/latest/dg/transactions-data-operations.html#rolling-back-writes
916
+ #
917
+ # @option params [String] :catalog_id
918
+ # The Glue data catalog that contains the governed table. Defaults to
919
+ # the current account ID.
920
+ #
921
+ # @option params [required, String] :database_name
922
+ # The database that contains the governed table.
923
+ #
924
+ # @option params [required, String] :table_name
925
+ # The name of the governed table.
926
+ #
927
+ # @option params [required, String] :transaction_id
928
+ # ID of the transaction that the writes occur in.
929
+ #
930
+ # @option params [required, Array<Types::VirtualObject>] :objects
931
+ # A list of VirtualObject structures, which indicates the Amazon S3
932
+ # objects to be deleted if the transaction cancels.
933
+ #
934
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
935
+ #
936
+ # @example Request syntax with placeholder values
937
+ #
938
+ # resp = client.delete_objects_on_cancel({
939
+ # catalog_id: "CatalogIdString",
940
+ # database_name: "NameString", # required
941
+ # table_name: "NameString", # required
942
+ # transaction_id: "TransactionIdString", # required
943
+ # objects: [ # required
944
+ # {
945
+ # uri: "URI", # required
946
+ # etag: "ETagString",
947
+ # },
948
+ # ],
949
+ # })
950
+ #
951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteObjectsOnCancel AWS API Documentation
952
+ #
953
+ # @overload delete_objects_on_cancel(params = {})
954
+ # @param [Hash] params ({})
955
+ def delete_objects_on_cancel(params = {}, options = {})
956
+ req = build_request(:delete_objects_on_cancel, params)
957
+ req.send_request(options)
958
+ end
959
+
741
960
  # Deregisters the resource as managed by the Data Catalog.
742
961
  #
743
962
  # When you deregister a path, Lake Formation removes the path from the
@@ -765,7 +984,7 @@ module Aws::LakeFormation
765
984
  end
766
985
 
767
986
  # Retrieves the current data access role for the given resource
768
- # registered in AWS Lake Formation.
987
+ # registered in Lake Formation.
769
988
  #
770
989
  # @option params [required, String] :resource_arn
771
990
  # The resource ARN.
@@ -795,6 +1014,63 @@ module Aws::LakeFormation
795
1014
  req.send_request(options)
796
1015
  end
797
1016
 
1017
+ # Returns the details of a single transaction.
1018
+ #
1019
+ # @option params [required, String] :transaction_id
1020
+ # The transaction for which to return status.
1021
+ #
1022
+ # @return [Types::DescribeTransactionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1023
+ #
1024
+ # * {Types::DescribeTransactionResponse#transaction_description #transaction_description} => Types::TransactionDescription
1025
+ #
1026
+ # @example Request syntax with placeholder values
1027
+ #
1028
+ # resp = client.describe_transaction({
1029
+ # transaction_id: "TransactionIdString", # required
1030
+ # })
1031
+ #
1032
+ # @example Response structure
1033
+ #
1034
+ # resp.transaction_description.transaction_id #=> String
1035
+ # resp.transaction_description.transaction_status #=> String, one of "ACTIVE", "COMMITTED", "ABORTED", "COMMIT_IN_PROGRESS"
1036
+ # resp.transaction_description.transaction_start_time #=> Time
1037
+ # resp.transaction_description.transaction_end_time #=> Time
1038
+ #
1039
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeTransaction AWS API Documentation
1040
+ #
1041
+ # @overload describe_transaction(params = {})
1042
+ # @param [Hash] params ({})
1043
+ def describe_transaction(params = {}, options = {})
1044
+ req = build_request(:describe_transaction, params)
1045
+ req.send_request(options)
1046
+ end
1047
+
1048
+ # Indicates to the service that the specified transaction is still
1049
+ # active and should not be treated as idle and aborted.
1050
+ #
1051
+ # Write transactions that remain idle for a long period are
1052
+ # automatically aborted unless explicitly extended.
1053
+ #
1054
+ # @option params [String] :transaction_id
1055
+ # The transaction to extend.
1056
+ #
1057
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1058
+ #
1059
+ # @example Request syntax with placeholder values
1060
+ #
1061
+ # resp = client.extend_transaction({
1062
+ # transaction_id: "TransactionIdString",
1063
+ # })
1064
+ #
1065
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ExtendTransaction AWS API Documentation
1066
+ #
1067
+ # @overload extend_transaction(params = {})
1068
+ # @param [Hash] params ({})
1069
+ def extend_transaction(params = {}, options = {})
1070
+ req = build_request(:extend_transaction, params)
1071
+ req.send_request(options)
1072
+ end
1073
+
798
1074
  # Retrieves the list of the data lake administrators of a Lake
799
1075
  # Formation-managed data lake.
800
1076
  #
@@ -802,7 +1078,7 @@ module Aws::LakeFormation
802
1078
  # The identifier for the Data Catalog. By default, the account ID. The
803
1079
  # Data Catalog is the persistent metadata store. It contains database
804
1080
  # definitions, table definitions, and other control information to
805
- # manage your AWS Lake Formation environment.
1081
+ # manage your Lake Formation environment.
806
1082
  #
807
1083
  # @return [Types::GetDataLakeSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
808
1084
  #
@@ -847,7 +1123,7 @@ module Aws::LakeFormation
847
1123
  # The identifier for the Data Catalog. By default, the account ID. The
848
1124
  # Data Catalog is the persistent metadata store. It contains database
849
1125
  # definitions, table definitions, and other control information to
850
- # manage your AWS Lake Formation environment.
1126
+ # manage your Lake Formation environment.
851
1127
  #
852
1128
  # @option params [required, String] :resource_arn
853
1129
  # The Amazon Resource Name (ARN) of the resource for which you want to
@@ -894,6 +1170,10 @@ module Aws::LakeFormation
894
1170
  # resp.permissions[0].resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
895
1171
  # resp.permissions[0].resource.data_location.catalog_id #=> String
896
1172
  # resp.permissions[0].resource.data_location.resource_arn #=> String
1173
+ # resp.permissions[0].resource.data_cells_filter.table_catalog_id #=> String
1174
+ # resp.permissions[0].resource.data_cells_filter.database_name #=> String
1175
+ # resp.permissions[0].resource.data_cells_filter.table_name #=> String
1176
+ # resp.permissions[0].resource.data_cells_filter.name #=> String
897
1177
  # resp.permissions[0].resource.lf_tag.catalog_id #=> String
898
1178
  # resp.permissions[0].resource.lf_tag.tag_key #=> String
899
1179
  # resp.permissions[0].resource.lf_tag.tag_values #=> Array
@@ -921,16 +1201,16 @@ module Aws::LakeFormation
921
1201
  req.send_request(options)
922
1202
  end
923
1203
 
924
- # Returns a tag definition.
1204
+ # Returns an LF-tag definition.
925
1205
  #
926
1206
  # @option params [String] :catalog_id
927
1207
  # The identifier for the Data Catalog. By default, the account ID. The
928
1208
  # Data Catalog is the persistent metadata store. It contains database
929
1209
  # definitions, table definitions, and other control information to
930
- # manage your AWS Lake Formation environment.
1210
+ # manage your Lake Formation environment.
931
1211
  #
932
1212
  # @option params [required, String] :tag_key
933
- # The key-name for the tag.
1213
+ # The key-name for the LF-tag.
934
1214
  #
935
1215
  # @return [Types::GetLFTagResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
936
1216
  #
@@ -961,19 +1241,91 @@ module Aws::LakeFormation
961
1241
  req.send_request(options)
962
1242
  end
963
1243
 
964
- # Returns the tags applied to a resource.
1244
+ # Returns the state of a query previously submitted. Clients are
1245
+ # expected to poll `GetQueryState` to monitor the current state of the
1246
+ # planning before retrieving the work units. A query state is only
1247
+ # visible to the principal that made the initial call to
1248
+ # `StartQueryPlanning`.
1249
+ #
1250
+ # @option params [required, String] :query_id
1251
+ # The ID of the plan query operation.
1252
+ #
1253
+ # @return [Types::GetQueryStateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1254
+ #
1255
+ # * {Types::GetQueryStateResponse#error #error} => String
1256
+ # * {Types::GetQueryStateResponse#state #state} => String
1257
+ #
1258
+ # @example Request syntax with placeholder values
1259
+ #
1260
+ # resp = client.get_query_state({
1261
+ # query_id: "GetQueryStateRequestQueryIdString", # required
1262
+ # })
1263
+ #
1264
+ # @example Response structure
1265
+ #
1266
+ # resp.error #=> String
1267
+ # resp.state #=> String, one of "PENDING", "WORKUNITS_AVAILABLE", "ERROR", "FINISHED", "EXPIRED"
1268
+ #
1269
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetQueryState AWS API Documentation
1270
+ #
1271
+ # @overload get_query_state(params = {})
1272
+ # @param [Hash] params ({})
1273
+ def get_query_state(params = {}, options = {})
1274
+ req = build_request(:get_query_state, params)
1275
+ req.send_request(options)
1276
+ end
1277
+
1278
+ # Retrieves statistics on the planning and execution of a query.
1279
+ #
1280
+ # @option params [required, String] :query_id
1281
+ # The ID of the plan query operation.
1282
+ #
1283
+ # @return [Types::GetQueryStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1284
+ #
1285
+ # * {Types::GetQueryStatisticsResponse#execution_statistics #execution_statistics} => Types::ExecutionStatistics
1286
+ # * {Types::GetQueryStatisticsResponse#planning_statistics #planning_statistics} => Types::PlanningStatistics
1287
+ # * {Types::GetQueryStatisticsResponse#query_submission_time #query_submission_time} => Time
1288
+ #
1289
+ # @example Request syntax with placeholder values
1290
+ #
1291
+ # resp = client.get_query_statistics({
1292
+ # query_id: "GetQueryStatisticsRequestQueryIdString", # required
1293
+ # })
1294
+ #
1295
+ # @example Response structure
1296
+ #
1297
+ # resp.execution_statistics.average_execution_time_millis #=> Integer
1298
+ # resp.execution_statistics.data_scanned_bytes #=> Integer
1299
+ # resp.execution_statistics.work_units_executed_count #=> Integer
1300
+ # resp.planning_statistics.estimated_data_to_scan_bytes #=> Integer
1301
+ # resp.planning_statistics.planning_time_millis #=> Integer
1302
+ # resp.planning_statistics.queue_time_millis #=> Integer
1303
+ # resp.planning_statistics.work_units_generated_count #=> Integer
1304
+ # resp.query_submission_time #=> Time
1305
+ #
1306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetQueryStatistics AWS API Documentation
1307
+ #
1308
+ # @overload get_query_statistics(params = {})
1309
+ # @param [Hash] params ({})
1310
+ def get_query_statistics(params = {}, options = {})
1311
+ req = build_request(:get_query_statistics, params)
1312
+ req.send_request(options)
1313
+ end
1314
+
1315
+ # Returns the LF-tags applied to a resource.
965
1316
  #
966
1317
  # @option params [String] :catalog_id
967
1318
  # The identifier for the Data Catalog. By default, the account ID. The
968
1319
  # Data Catalog is the persistent metadata store. It contains database
969
1320
  # definitions, table definitions, and other control information to
970
- # manage your AWS Lake Formation environment.
1321
+ # manage your Lake Formation environment.
971
1322
  #
972
1323
  # @option params [required, Types::Resource] :resource
973
- # The resource for which you want to return tags.
1324
+ # The database, table, or column resource for which you want to return
1325
+ # LF-tags.
974
1326
  #
975
1327
  # @option params [Boolean] :show_assigned_lf_tags
976
- # Indicates whether to show the assigned tags.
1328
+ # Indicates whether to show the assigned LF-tags.
977
1329
  #
978
1330
  # @return [Types::GetResourceLFTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
979
1331
  #
@@ -1012,6 +1364,12 @@ module Aws::LakeFormation
1012
1364
  # catalog_id: "CatalogIdString",
1013
1365
  # resource_arn: "ResourceArnString", # required
1014
1366
  # },
1367
+ # data_cells_filter: {
1368
+ # table_catalog_id: "CatalogIdString",
1369
+ # database_name: "NameString",
1370
+ # table_name: "NameString",
1371
+ # name: "NameString",
1372
+ # },
1015
1373
  # lf_tag: {
1016
1374
  # catalog_id: "CatalogIdString",
1017
1375
  # tag_key: "NameString", # required
@@ -1060,6 +1418,181 @@ module Aws::LakeFormation
1060
1418
  req.send_request(options)
1061
1419
  end
1062
1420
 
1421
+ # Returns the set of Amazon S3 objects that make up the specified
1422
+ # governed table. A transaction ID or timestamp can be specified for
1423
+ # time-travel queries.
1424
+ #
1425
+ # @option params [String] :catalog_id
1426
+ # The catalog containing the governed table. Defaults to the caller’s
1427
+ # account.
1428
+ #
1429
+ # @option params [required, String] :database_name
1430
+ # The database containing the governed table.
1431
+ #
1432
+ # @option params [required, String] :table_name
1433
+ # The governed table for which to retrieve objects.
1434
+ #
1435
+ # @option params [String] :transaction_id
1436
+ # The transaction ID at which to read the governed table contents. If
1437
+ # this transaction has aborted, an error is returned. If not set,
1438
+ # defaults to the most recent committed transaction. Cannot be specified
1439
+ # along with `QueryAsOfTime`.
1440
+ #
1441
+ # @option params [Time,DateTime,Date,Integer,String] :query_as_of_time
1442
+ # The time as of when to read the governed table contents. If not set,
1443
+ # the most recent transaction commit time is used. Cannot be specified
1444
+ # along with `TransactionId`.
1445
+ #
1446
+ # @option params [String] :partition_predicate
1447
+ # A predicate to filter the objects returned based on the partition keys
1448
+ # defined in the governed table.
1449
+ #
1450
+ # * The comparison operators supported are: =, &gt;, &lt;, &gt;=, &lt;=
1451
+ #
1452
+ # * The logical operators supported are: AND
1453
+ #
1454
+ # * The data types supported are integer, long, date(yyyy-MM-dd),
1455
+ # timestamp(yyyy-MM-dd HH:mm:ssXXX or yyyy-MM-dd HH:mm:ss"), string
1456
+ # and decimal.
1457
+ #
1458
+ # @option params [Integer] :max_results
1459
+ # Specifies how many values to return in a page.
1460
+ #
1461
+ # @option params [String] :next_token
1462
+ # A continuation token if this is not the first call to retrieve these
1463
+ # objects.
1464
+ #
1465
+ # @return [Types::GetTableObjectsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1466
+ #
1467
+ # * {Types::GetTableObjectsResponse#objects #objects} => Array&lt;Types::PartitionObjects&gt;
1468
+ # * {Types::GetTableObjectsResponse#next_token #next_token} => String
1469
+ #
1470
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1471
+ #
1472
+ # @example Request syntax with placeholder values
1473
+ #
1474
+ # resp = client.get_table_objects({
1475
+ # catalog_id: "CatalogIdString",
1476
+ # database_name: "NameString", # required
1477
+ # table_name: "NameString", # required
1478
+ # transaction_id: "TransactionIdString",
1479
+ # query_as_of_time: Time.now,
1480
+ # partition_predicate: "PredicateString",
1481
+ # max_results: 1,
1482
+ # next_token: "TokenString",
1483
+ # })
1484
+ #
1485
+ # @example Response structure
1486
+ #
1487
+ # resp.objects #=> Array
1488
+ # resp.objects[0].partition_values #=> Array
1489
+ # resp.objects[0].partition_values[0] #=> String
1490
+ # resp.objects[0].objects #=> Array
1491
+ # resp.objects[0].objects[0].uri #=> String
1492
+ # resp.objects[0].objects[0].etag #=> String
1493
+ # resp.objects[0].objects[0].size #=> Integer
1494
+ # resp.next_token #=> String
1495
+ #
1496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTableObjects AWS API Documentation
1497
+ #
1498
+ # @overload get_table_objects(params = {})
1499
+ # @param [Hash] params ({})
1500
+ def get_table_objects(params = {}, options = {})
1501
+ req = build_request(:get_table_objects, params)
1502
+ req.send_request(options)
1503
+ end
1504
+
1505
+ # Returns the work units resulting from the query. Work units can be
1506
+ # executed in any order and in parallel.
1507
+ #
1508
+ # @option params [required, String] :query_id
1509
+ # The ID of the plan query operation for which to get results.
1510
+ #
1511
+ # @option params [required, Integer] :work_unit_id
1512
+ # The work unit ID for which to get results. Value generated by
1513
+ # enumerating `WorkUnitIdMin` to `WorkUnitIdMax` (inclusive) from the
1514
+ # `WorkUnitRange` in the output of `GetWorkUnits`.
1515
+ #
1516
+ # @option params [required, String] :work_unit_token
1517
+ # A work token used to query the execution service. Token output from
1518
+ # `GetWorkUnits`.
1519
+ #
1520
+ # @return [Types::GetWorkUnitResultsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1521
+ #
1522
+ # * {Types::GetWorkUnitResultsResponse#result_stream #result_stream} => IO
1523
+ #
1524
+ # @example Request syntax with placeholder values
1525
+ #
1526
+ # resp = client.get_work_unit_results({
1527
+ # query_id: "GetWorkUnitResultsRequestQueryIdString", # required
1528
+ # work_unit_id: 1, # required
1529
+ # work_unit_token: "SyntheticGetWorkUnitResultsRequestWorkUnitTokenString", # required
1530
+ # })
1531
+ #
1532
+ # @example Response structure
1533
+ #
1534
+ # resp.result_stream #=> IO
1535
+ #
1536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetWorkUnitResults AWS API Documentation
1537
+ #
1538
+ # @overload get_work_unit_results(params = {})
1539
+ # @param [Hash] params ({})
1540
+ def get_work_unit_results(params = {}, options = {}, &block)
1541
+ req = build_request(:get_work_unit_results, params)
1542
+ req.send_request(options, &block)
1543
+ end
1544
+
1545
+ # Retrieves the work units generated by the `StartQueryPlanning`
1546
+ # operation.
1547
+ #
1548
+ # @option params [String] :next_token
1549
+ # A continuation token, if this is a continuation call.
1550
+ #
1551
+ # @option params [Integer] :page_size
1552
+ # The size of each page to get in the Amazon Web Services service call.
1553
+ # This does not affect the number of items returned in the command's
1554
+ # output. Setting a smaller page size results in more calls to the
1555
+ # Amazon Web Services service, retrieving fewer items in each call. This
1556
+ # can help prevent the Amazon Web Services service calls from timing
1557
+ # out.
1558
+ #
1559
+ # @option params [required, String] :query_id
1560
+ # The ID of the plan query operation.
1561
+ #
1562
+ # @return [Types::GetWorkUnitsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1563
+ #
1564
+ # * {Types::GetWorkUnitsResponse#next_token #next_token} => String
1565
+ # * {Types::GetWorkUnitsResponse#query_id #query_id} => String
1566
+ # * {Types::GetWorkUnitsResponse#work_unit_ranges #work_unit_ranges} => Array&lt;Types::WorkUnitRange&gt;
1567
+ #
1568
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1569
+ #
1570
+ # @example Request syntax with placeholder values
1571
+ #
1572
+ # resp = client.get_work_units({
1573
+ # next_token: "Token",
1574
+ # page_size: 1,
1575
+ # query_id: "GetWorkUnitsRequestQueryIdString", # required
1576
+ # })
1577
+ #
1578
+ # @example Response structure
1579
+ #
1580
+ # resp.next_token #=> String
1581
+ # resp.query_id #=> String
1582
+ # resp.work_unit_ranges #=> Array
1583
+ # resp.work_unit_ranges[0].work_unit_id_max #=> Integer
1584
+ # resp.work_unit_ranges[0].work_unit_id_min #=> Integer
1585
+ # resp.work_unit_ranges[0].work_unit_token #=> String
1586
+ #
1587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetWorkUnits AWS API Documentation
1588
+ #
1589
+ # @overload get_work_units(params = {})
1590
+ # @param [Hash] params ({})
1591
+ def get_work_units(params = {}, options = {})
1592
+ req = build_request(:get_work_units, params)
1593
+ req.send_request(options)
1594
+ end
1595
+
1063
1596
  # Grants permissions to the principal to access metadata in the Data
1064
1597
  # Catalog and data organized in underlying data storage such as Amazon
1065
1598
  # S3.
@@ -1075,7 +1608,7 @@ module Aws::LakeFormation
1075
1608
  # The identifier for the Data Catalog. By default, the account ID. The
1076
1609
  # Data Catalog is the persistent metadata store. It contains database
1077
1610
  # definitions, table definitions, and other control information to
1078
- # manage your AWS Lake Formation environment.
1611
+ # manage your Lake Formation environment.
1079
1612
  #
1080
1613
  # @option params [required, Types::DataLakePrincipal] :principal
1081
1614
  # The principal to be granted the permissions on the resource. Supported
@@ -1087,15 +1620,15 @@ module Aws::LakeFormation
1087
1620
  # maintains the permissions already granted.
1088
1621
  #
1089
1622
  # @option params [required, Types::Resource] :resource
1090
- # The resource to which permissions are to be granted. Resources in AWS
1091
- # Lake Formation are the Data Catalog, databases, and tables.
1623
+ # The resource to which permissions are to be granted. Resources in Lake
1624
+ # Formation are the Data Catalog, databases, and tables.
1092
1625
  #
1093
1626
  # @option params [required, Array<String>] :permissions
1094
- # The permissions granted to the principal on the resource. AWS Lake
1627
+ # The permissions granted to the principal on the resource. Lake
1095
1628
  # Formation defines privileges to grant and revoke access to metadata in
1096
1629
  # the Data Catalog and data organized in underlying data storage such as
1097
- # Amazon S3. AWS Lake Formation requires that each principal be
1098
- # authorized to perform a specific task on AWS Lake Formation resources.
1630
+ # Amazon S3. Lake Formation requires that each principal be authorized
1631
+ # to perform a specific task on Lake Formation resources.
1099
1632
  #
1100
1633
  # @option params [Array<String>] :permissions_with_grant_option
1101
1634
  # Indicates a list of the granted permissions that the principal may
@@ -1138,6 +1671,12 @@ module Aws::LakeFormation
1138
1671
  # catalog_id: "CatalogIdString",
1139
1672
  # resource_arn: "ResourceArnString", # required
1140
1673
  # },
1674
+ # data_cells_filter: {
1675
+ # table_catalog_id: "CatalogIdString",
1676
+ # database_name: "NameString",
1677
+ # table_name: "NameString",
1678
+ # name: "NameString",
1679
+ # },
1141
1680
  # lf_tag: {
1142
1681
  # catalog_id: "CatalogIdString",
1143
1682
  # tag_key: "NameString", # required
@@ -1167,20 +1706,75 @@ module Aws::LakeFormation
1167
1706
  req.send_request(options)
1168
1707
  end
1169
1708
 
1170
- # Lists tags that the requester has permission to view.
1709
+ # Lists all the data cell filters on a table.
1710
+ #
1711
+ # @option params [Types::TableResource] :table
1712
+ # A table in the Glue Data Catalog.
1713
+ #
1714
+ # @option params [String] :next_token
1715
+ # A continuation token, if this is a continuation call.
1716
+ #
1717
+ # @option params [Integer] :max_results
1718
+ # The maximum size of the response.
1719
+ #
1720
+ # @return [Types::ListDataCellsFilterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1721
+ #
1722
+ # * {Types::ListDataCellsFilterResponse#data_cells_filters #data_cells_filters} => Array&lt;Types::DataCellsFilter&gt;
1723
+ # * {Types::ListDataCellsFilterResponse#next_token #next_token} => String
1724
+ #
1725
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1726
+ #
1727
+ # @example Request syntax with placeholder values
1728
+ #
1729
+ # resp = client.list_data_cells_filter({
1730
+ # table: {
1731
+ # catalog_id: "CatalogIdString",
1732
+ # database_name: "NameString", # required
1733
+ # name: "NameString",
1734
+ # table_wildcard: {
1735
+ # },
1736
+ # },
1737
+ # next_token: "Token",
1738
+ # max_results: 1,
1739
+ # })
1740
+ #
1741
+ # @example Response structure
1742
+ #
1743
+ # resp.data_cells_filters #=> Array
1744
+ # resp.data_cells_filters[0].table_catalog_id #=> String
1745
+ # resp.data_cells_filters[0].database_name #=> String
1746
+ # resp.data_cells_filters[0].table_name #=> String
1747
+ # resp.data_cells_filters[0].name #=> String
1748
+ # resp.data_cells_filters[0].row_filter.filter_expression #=> String
1749
+ # resp.data_cells_filters[0].column_names #=> Array
1750
+ # resp.data_cells_filters[0].column_names[0] #=> String
1751
+ # resp.data_cells_filters[0].column_wildcard.excluded_column_names #=> Array
1752
+ # resp.data_cells_filters[0].column_wildcard.excluded_column_names[0] #=> String
1753
+ # resp.next_token #=> String
1754
+ #
1755
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListDataCellsFilter AWS API Documentation
1756
+ #
1757
+ # @overload list_data_cells_filter(params = {})
1758
+ # @param [Hash] params ({})
1759
+ def list_data_cells_filter(params = {}, options = {})
1760
+ req = build_request(:list_data_cells_filter, params)
1761
+ req.send_request(options)
1762
+ end
1763
+
1764
+ # Lists LF-tags that the requester has permission to view.
1171
1765
  #
1172
1766
  # @option params [String] :catalog_id
1173
1767
  # The identifier for the Data Catalog. By default, the account ID. The
1174
1768
  # Data Catalog is the persistent metadata store. It contains database
1175
1769
  # definitions, table definitions, and other control information to
1176
- # manage your AWS Lake Formation environment.
1770
+ # manage your Lake Formation environment.
1177
1771
  #
1178
1772
  # @option params [String] :resource_share_type
1179
- # If resource share type is `ALL`, returns both in-account tags and
1180
- # shared tags that the requester has permission to view. If resource
1181
- # share type is `FOREIGN`, returns all share tags that the requester can
1182
- # view. If no resource share type is passed, lists tags in the given
1183
- # catalog ID that the requester has permission to view.
1773
+ # If resource share type is `ALL`, returns both in-account LF-tags and
1774
+ # shared LF-tags that the requester has permission to view. If resource
1775
+ # share type is `FOREIGN`, returns all share LF-tags that the requester
1776
+ # can view. If no resource share type is passed, lists LF-tags in the
1777
+ # given catalog ID that the requester has permission to view.
1184
1778
  #
1185
1779
  # @option params [Integer] :max_results
1186
1780
  # The maximum number of results to return.
@@ -1194,6 +1788,8 @@ module Aws::LakeFormation
1194
1788
  # * {Types::ListLFTagsResponse#lf_tags #lf_tags} => Array&lt;Types::LFTagPair&gt;
1195
1789
  # * {Types::ListLFTagsResponse#next_token #next_token} => String
1196
1790
  #
1791
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1792
+ #
1197
1793
  # @example Request syntax with placeholder values
1198
1794
  #
1199
1795
  # resp = client.list_lf_tags({
@@ -1240,7 +1836,7 @@ module Aws::LakeFormation
1240
1836
  # The identifier for the Data Catalog. By default, the account ID. The
1241
1837
  # Data Catalog is the persistent metadata store. It contains database
1242
1838
  # definitions, table definitions, and other control information to
1243
- # manage your AWS Lake Formation environment.
1839
+ # manage your Lake Formation environment.
1244
1840
  #
1245
1841
  # @option params [Types::DataLakePrincipal] :principal
1246
1842
  # Specifies a principal to filter the permissions returned.
@@ -1262,6 +1858,9 @@ module Aws::LakeFormation
1262
1858
  # @option params [Integer] :max_results
1263
1859
  # The maximum number of results to return.
1264
1860
  #
1861
+ # @option params [String] :include_related
1862
+ # Indicates that related permissions should be included in the results.
1863
+ #
1265
1864
  # @return [Types::ListPermissionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1266
1865
  #
1267
1866
  # * {Types::ListPermissionsResponse#principal_resource_permissions #principal_resource_permissions} => Array&lt;Types::PrincipalResourcePermissions&gt;
@@ -1304,6 +1903,12 @@ module Aws::LakeFormation
1304
1903
  # catalog_id: "CatalogIdString",
1305
1904
  # resource_arn: "ResourceArnString", # required
1306
1905
  # },
1906
+ # data_cells_filter: {
1907
+ # table_catalog_id: "CatalogIdString",
1908
+ # database_name: "NameString",
1909
+ # table_name: "NameString",
1910
+ # name: "NameString",
1911
+ # },
1307
1912
  # lf_tag: {
1308
1913
  # catalog_id: "CatalogIdString",
1309
1914
  # tag_key: "NameString", # required
@@ -1322,6 +1927,7 @@ module Aws::LakeFormation
1322
1927
  # },
1323
1928
  # next_token: "Token",
1324
1929
  # max_results: 1,
1930
+ # include_related: "TrueFalseString",
1325
1931
  # })
1326
1932
  #
1327
1933
  # @example Response structure
@@ -1342,6 +1948,10 @@ module Aws::LakeFormation
1342
1948
  # resp.principal_resource_permissions[0].resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
1343
1949
  # resp.principal_resource_permissions[0].resource.data_location.catalog_id #=> String
1344
1950
  # resp.principal_resource_permissions[0].resource.data_location.resource_arn #=> String
1951
+ # resp.principal_resource_permissions[0].resource.data_cells_filter.table_catalog_id #=> String
1952
+ # resp.principal_resource_permissions[0].resource.data_cells_filter.database_name #=> String
1953
+ # resp.principal_resource_permissions[0].resource.data_cells_filter.table_name #=> String
1954
+ # resp.principal_resource_permissions[0].resource.data_cells_filter.name #=> String
1345
1955
  # resp.principal_resource_permissions[0].resource.lf_tag.catalog_id #=> String
1346
1956
  # resp.principal_resource_permissions[0].resource.lf_tag.tag_key #=> String
1347
1957
  # resp.principal_resource_permissions[0].resource.lf_tag.tag_values #=> Array
@@ -1420,6 +2030,123 @@ module Aws::LakeFormation
1420
2030
  req.send_request(options)
1421
2031
  end
1422
2032
 
2033
+ # Returns the configuration of all storage optimizers associated with a
2034
+ # specified table.
2035
+ #
2036
+ # @option params [String] :catalog_id
2037
+ # The Catalog ID of the table.
2038
+ #
2039
+ # @option params [required, String] :database_name
2040
+ # Name of the database where the table is present.
2041
+ #
2042
+ # @option params [required, String] :table_name
2043
+ # Name of the table.
2044
+ #
2045
+ # @option params [String] :storage_optimizer_type
2046
+ # The specific type of storage optimizers to list. The supported value
2047
+ # is `compaction`.
2048
+ #
2049
+ # @option params [Integer] :max_results
2050
+ # The number of storage optimizers to return on each call.
2051
+ #
2052
+ # @option params [String] :next_token
2053
+ # A continuation token, if this is a continuation call.
2054
+ #
2055
+ # @return [Types::ListTableStorageOptimizersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2056
+ #
2057
+ # * {Types::ListTableStorageOptimizersResponse#storage_optimizer_list #storage_optimizer_list} => Array&lt;Types::StorageOptimizer&gt;
2058
+ # * {Types::ListTableStorageOptimizersResponse#next_token #next_token} => String
2059
+ #
2060
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2061
+ #
2062
+ # @example Request syntax with placeholder values
2063
+ #
2064
+ # resp = client.list_table_storage_optimizers({
2065
+ # catalog_id: "CatalogIdString",
2066
+ # database_name: "NameString", # required
2067
+ # table_name: "NameString", # required
2068
+ # storage_optimizer_type: "COMPACTION", # accepts COMPACTION, GARBAGE_COLLECTION, ALL
2069
+ # max_results: 1,
2070
+ # next_token: "Token",
2071
+ # })
2072
+ #
2073
+ # @example Response structure
2074
+ #
2075
+ # resp.storage_optimizer_list #=> Array
2076
+ # resp.storage_optimizer_list[0].storage_optimizer_type #=> String, one of "COMPACTION", "GARBAGE_COLLECTION", "ALL"
2077
+ # resp.storage_optimizer_list[0].config #=> Hash
2078
+ # resp.storage_optimizer_list[0].config["StorageOptimizerConfigKey"] #=> String
2079
+ # resp.storage_optimizer_list[0].error_message #=> String
2080
+ # resp.storage_optimizer_list[0].warnings #=> String
2081
+ # resp.storage_optimizer_list[0].last_run_details #=> String
2082
+ # resp.next_token #=> String
2083
+ #
2084
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListTableStorageOptimizers AWS API Documentation
2085
+ #
2086
+ # @overload list_table_storage_optimizers(params = {})
2087
+ # @param [Hash] params ({})
2088
+ def list_table_storage_optimizers(params = {}, options = {})
2089
+ req = build_request(:list_table_storage_optimizers, params)
2090
+ req.send_request(options)
2091
+ end
2092
+
2093
+ # Returns metadata about transactions and their status. To prevent the
2094
+ # response from growing indefinitely, only uncommitted transactions and
2095
+ # those available for time-travel queries are returned.
2096
+ #
2097
+ # This operation can help you identify uncommitted transactions or to
2098
+ # get information about transactions.
2099
+ #
2100
+ # @option params [String] :catalog_id
2101
+ # The catalog for which to list transactions. Defaults to the account ID
2102
+ # of the caller.
2103
+ #
2104
+ # @option params [String] :status_filter
2105
+ # A filter indicating the status of transactions to return. Options are
2106
+ # ALL \| COMPLETED \| COMMITTED \| ABORTED \| ACTIVE. The default is
2107
+ # `ALL`.
2108
+ #
2109
+ # @option params [Integer] :max_results
2110
+ # The maximum number of transactions to return in a single call.
2111
+ #
2112
+ # @option params [String] :next_token
2113
+ # A continuation token if this is not the first call to retrieve
2114
+ # transactions.
2115
+ #
2116
+ # @return [Types::ListTransactionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2117
+ #
2118
+ # * {Types::ListTransactionsResponse#transactions #transactions} => Array&lt;Types::TransactionDescription&gt;
2119
+ # * {Types::ListTransactionsResponse#next_token #next_token} => String
2120
+ #
2121
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2122
+ #
2123
+ # @example Request syntax with placeholder values
2124
+ #
2125
+ # resp = client.list_transactions({
2126
+ # catalog_id: "CatalogIdString",
2127
+ # status_filter: "ALL", # accepts ALL, COMPLETED, ACTIVE, COMMITTED, ABORTED
2128
+ # max_results: 1,
2129
+ # next_token: "TokenString",
2130
+ # })
2131
+ #
2132
+ # @example Response structure
2133
+ #
2134
+ # resp.transactions #=> Array
2135
+ # resp.transactions[0].transaction_id #=> String
2136
+ # resp.transactions[0].transaction_status #=> String, one of "ACTIVE", "COMMITTED", "ABORTED", "COMMIT_IN_PROGRESS"
2137
+ # resp.transactions[0].transaction_start_time #=> Time
2138
+ # resp.transactions[0].transaction_end_time #=> Time
2139
+ # resp.next_token #=> String
2140
+ #
2141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListTransactions AWS API Documentation
2142
+ #
2143
+ # @overload list_transactions(params = {})
2144
+ # @param [Hash] params ({})
2145
+ def list_transactions(params = {}, options = {})
2146
+ req = build_request(:list_transactions, params)
2147
+ req.send_request(options)
2148
+ end
2149
+
1423
2150
  # Sets the list of data lake administrators who have admin privileges on
1424
2151
  # all resources managed by Lake Formation. For more information on admin
1425
2152
  # privileges, see [Granting Lake Formation Permissions][1].
@@ -1436,10 +2163,10 @@ module Aws::LakeFormation
1436
2163
  # The identifier for the Data Catalog. By default, the account ID. The
1437
2164
  # Data Catalog is the persistent metadata store. It contains database
1438
2165
  # definitions, table definitions, and other control information to
1439
- # manage your AWS Lake Formation environment.
2166
+ # manage your Lake Formation environment.
1440
2167
  #
1441
2168
  # @option params [required, Types::DataLakeSettings] :data_lake_settings
1442
- # A structure representing a list of AWS Lake Formation principals
2169
+ # A structure representing a list of Lake Formation principals
1443
2170
  # designated as data lake administrators.
1444
2171
  #
1445
2172
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -1494,7 +2221,7 @@ module Aws::LakeFormation
1494
2221
  # attaches it to the service-linked role. When you register subsequent
1495
2222
  # paths, Lake Formation adds the path to the existing policy.
1496
2223
  #
1497
- # The following request registers a new location and gives AWS Lake
2224
+ # The following request registers a new location and gives Lake
1498
2225
  # Formation permission to use the service-linked role to access that
1499
2226
  # location.
1500
2227
  #
@@ -1510,9 +2237,9 @@ module Aws::LakeFormation
1510
2237
  # register.
1511
2238
  #
1512
2239
  # @option params [Boolean] :use_service_linked_role
1513
- # Designates an AWS Identity and Access Management (IAM) service-linked
1514
- # role by registering this role with the Data Catalog. A service-linked
1515
- # role is a unique type of IAM role that is linked directly to Lake
2240
+ # Designates an Identity and Access Management (IAM) service-linked role
2241
+ # by registering this role with the Data Catalog. A service-linked role
2242
+ # is a unique type of IAM role that is linked directly to Lake
1516
2243
  # Formation.
1517
2244
  #
1518
2245
  # For more information, see [Using Service-Linked Roles for Lake
@@ -1544,7 +2271,7 @@ module Aws::LakeFormation
1544
2271
  req.send_request(options)
1545
2272
  end
1546
2273
 
1547
- # Removes a tag from the resource. Only database, table, or
2274
+ # Removes an LF-tag from the resource. Only database, table, or
1548
2275
  # tableWithColumns resource are allowed. To tag columns, use the column
1549
2276
  # inclusion list in `tableWithColumns` to specify column input.
1550
2277
  #
@@ -1552,13 +2279,14 @@ module Aws::LakeFormation
1552
2279
  # The identifier for the Data Catalog. By default, the account ID. The
1553
2280
  # Data Catalog is the persistent metadata store. It contains database
1554
2281
  # definitions, table definitions, and other control information to
1555
- # manage your AWS Lake Formation environment.
2282
+ # manage your Lake Formation environment.
1556
2283
  #
1557
2284
  # @option params [required, Types::Resource] :resource
1558
- # The resource where you want to remove a tag.
2285
+ # The database, table, or column resource where you want to remove an
2286
+ # LF-tag.
1559
2287
  #
1560
2288
  # @option params [required, Array<Types::LFTagPair>] :lf_tags
1561
- # The tags to be removed from the resource.
2289
+ # The LF-tags to be removed from the resource.
1562
2290
  #
1563
2291
  # @return [Types::RemoveLFTagsFromResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1564
2292
  #
@@ -1595,6 +2323,12 @@ module Aws::LakeFormation
1595
2323
  # catalog_id: "CatalogIdString",
1596
2324
  # resource_arn: "ResourceArnString", # required
1597
2325
  # },
2326
+ # data_cells_filter: {
2327
+ # table_catalog_id: "CatalogIdString",
2328
+ # database_name: "NameString",
2329
+ # table_name: "NameString",
2330
+ # name: "NameString",
2331
+ # },
1598
2332
  # lf_tag: {
1599
2333
  # catalog_id: "CatalogIdString",
1600
2334
  # tag_key: "NameString", # required
@@ -1647,7 +2381,7 @@ module Aws::LakeFormation
1647
2381
  # The identifier for the Data Catalog. By default, the account ID. The
1648
2382
  # Data Catalog is the persistent metadata store. It contains database
1649
2383
  # definitions, table definitions, and other control information to
1650
- # manage your AWS Lake Formation environment.
2384
+ # manage your Lake Formation environment.
1651
2385
  #
1652
2386
  # @option params [required, Types::DataLakePrincipal] :principal
1653
2387
  # The principal to be revoked permissions on the resource.
@@ -1704,6 +2438,12 @@ module Aws::LakeFormation
1704
2438
  # catalog_id: "CatalogIdString",
1705
2439
  # resource_arn: "ResourceArnString", # required
1706
2440
  # },
2441
+ # data_cells_filter: {
2442
+ # table_catalog_id: "CatalogIdString",
2443
+ # database_name: "NameString",
2444
+ # table_name: "NameString",
2445
+ # name: "NameString",
2446
+ # },
1707
2447
  # lf_tag: {
1708
2448
  # catalog_id: "CatalogIdString",
1709
2449
  # tag_key: "NameString", # required
@@ -1751,7 +2491,7 @@ module Aws::LakeFormation
1751
2491
  # The identifier for the Data Catalog. By default, the account ID. The
1752
2492
  # Data Catalog is the persistent metadata store. It contains database
1753
2493
  # definitions, table definitions, and other control information to
1754
- # manage your AWS Lake Formation environment.
2494
+ # manage your Lake Formation environment.
1755
2495
  #
1756
2496
  # @option params [required, Array<Types::LFTag>] :expression
1757
2497
  # A list of conditions (`LFTag` structures) to search for in database
@@ -1762,6 +2502,8 @@ module Aws::LakeFormation
1762
2502
  # * {Types::SearchDatabasesByLFTagsResponse#next_token #next_token} => String
1763
2503
  # * {Types::SearchDatabasesByLFTagsResponse#database_list #database_list} => Array&lt;Types::TaggedDatabase&gt;
1764
2504
  #
2505
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2506
+ #
1765
2507
  # @example Request syntax with placeholder values
1766
2508
  #
1767
2509
  # resp = client.search_databases_by_lf_tags({
@@ -1799,7 +2541,7 @@ module Aws::LakeFormation
1799
2541
 
1800
2542
  # This operation allows a search on `TABLE` resources by `LFTag`s. This
1801
2543
  # will be used by admins who want to grant user permissions on certain
1802
- # LFTags. Before making a grant, the admin can use
2544
+ # LF-tags. Before making a grant, the admin can use
1803
2545
  # `SearchTablesByLFTags` to find all resources where the given `LFTag`s
1804
2546
  # are valid to verify whether the returned resources can be shared.
1805
2547
  #
@@ -1814,7 +2556,7 @@ module Aws::LakeFormation
1814
2556
  # The identifier for the Data Catalog. By default, the account ID. The
1815
2557
  # Data Catalog is the persistent metadata store. It contains database
1816
2558
  # definitions, table definitions, and other control information to
1817
- # manage your AWS Lake Formation environment.
2559
+ # manage your Lake Formation environment.
1818
2560
  #
1819
2561
  # @option params [required, Array<Types::LFTag>] :expression
1820
2562
  # A list of conditions (`LFTag` structures) to search for in table
@@ -1825,6 +2567,8 @@ module Aws::LakeFormation
1825
2567
  # * {Types::SearchTablesByLFTagsResponse#next_token #next_token} => String
1826
2568
  # * {Types::SearchTablesByLFTagsResponse#table_list #table_list} => Array&lt;Types::TaggedTable&gt;
1827
2569
  #
2570
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2571
+ #
1828
2572
  # @example Request syntax with placeholder values
1829
2573
  #
1830
2574
  # resp = client.search_tables_by_lf_tags({
@@ -1873,27 +2617,103 @@ module Aws::LakeFormation
1873
2617
  req.send_request(options)
1874
2618
  end
1875
2619
 
1876
- # Updates the list of possible values for the specified tag key. If the
1877
- # tag does not exist, the operation throws an EntityNotFoundException.
1878
- # The values in the delete key values will be deleted from list of
1879
- # possible values. If any value in the delete key values is attached to
1880
- # a resource, then API errors out with a 400 Exception - "Update not
1881
- # allowed". Untag the attribute before deleting the tag key's value.
2620
+ # Submits a request to process a query statement.
2621
+ #
2622
+ # This operation generates work units that can be retrieved with the
2623
+ # `GetWorkUnits` operation as soon as the query state is
2624
+ # WORKUNITS\_AVAILABLE or FINISHED.
2625
+ #
2626
+ # @option params [required, Types::QueryPlanningContext] :query_planning_context
2627
+ # A structure containing information about the query plan.
2628
+ #
2629
+ # @option params [required, String] :query_string
2630
+ # A PartiQL query statement used as an input to the planner service.
2631
+ #
2632
+ # @return [Types::StartQueryPlanningResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2633
+ #
2634
+ # * {Types::StartQueryPlanningResponse#query_id #query_id} => String
2635
+ #
2636
+ # @example Request syntax with placeholder values
2637
+ #
2638
+ # resp = client.start_query_planning({
2639
+ # query_planning_context: { # required
2640
+ # catalog_id: "CatalogIdString",
2641
+ # database_name: "QueryPlanningContextDatabaseNameString", # required
2642
+ # query_as_of_time: Time.now,
2643
+ # query_parameters: {
2644
+ # "String" => "String",
2645
+ # },
2646
+ # transaction_id: "TransactionIdString",
2647
+ # },
2648
+ # query_string: "SyntheticStartQueryPlanningRequestQueryString", # required
2649
+ # })
2650
+ #
2651
+ # @example Response structure
2652
+ #
2653
+ # resp.query_id #=> String
2654
+ #
2655
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StartQueryPlanning AWS API Documentation
2656
+ #
2657
+ # @overload start_query_planning(params = {})
2658
+ # @param [Hash] params ({})
2659
+ def start_query_planning(params = {}, options = {})
2660
+ req = build_request(:start_query_planning, params)
2661
+ req.send_request(options)
2662
+ end
2663
+
2664
+ # Starts a new transaction and returns its transaction ID. Transaction
2665
+ # IDs are opaque objects that you can use to identify a transaction.
2666
+ #
2667
+ # @option params [String] :transaction_type
2668
+ # Indicates whether this transaction should be read only or read and
2669
+ # write. Writes made using a read-only transaction ID will be rejected.
2670
+ # Read-only transactions do not need to be committed.
2671
+ #
2672
+ # @return [Types::StartTransactionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2673
+ #
2674
+ # * {Types::StartTransactionResponse#transaction_id #transaction_id} => String
2675
+ #
2676
+ # @example Request syntax with placeholder values
2677
+ #
2678
+ # resp = client.start_transaction({
2679
+ # transaction_type: "READ_AND_WRITE", # accepts READ_AND_WRITE, READ_ONLY
2680
+ # })
2681
+ #
2682
+ # @example Response structure
2683
+ #
2684
+ # resp.transaction_id #=> String
2685
+ #
2686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StartTransaction AWS API Documentation
2687
+ #
2688
+ # @overload start_transaction(params = {})
2689
+ # @param [Hash] params ({})
2690
+ def start_transaction(params = {}, options = {})
2691
+ req = build_request(:start_transaction, params)
2692
+ req.send_request(options)
2693
+ end
2694
+
2695
+ # Updates the list of possible values for the specified LF-tag key. If
2696
+ # the LF-tag does not exist, the operation throws an
2697
+ # EntityNotFoundException. The values in the delete key values will be
2698
+ # deleted from list of possible values. If any value in the delete key
2699
+ # values is attached to a resource, then API errors out with a 400
2700
+ # Exception - "Update not allowed". Untag the attribute before
2701
+ # deleting the LF-tag key's value.
1882
2702
  #
1883
2703
  # @option params [String] :catalog_id
1884
2704
  # The identifier for the Data Catalog. By default, the account ID. The
1885
2705
  # Data Catalog is the persistent metadata store. It contains database
1886
2706
  # definitions, table definitions, and other control information to
1887
- # manage your AWS Lake Formation environment.
2707
+ # manage your Lake Formation environment.
1888
2708
  #
1889
2709
  # @option params [required, String] :tag_key
1890
- # The key-name for the tag for which to add or delete values.
2710
+ # The key-name for the LF-tag for which to add or delete values.
1891
2711
  #
1892
2712
  # @option params [Array<String>] :tag_values_to_delete
1893
- # A list of tag values to delete from the tag.
2713
+ # A list of LF-tag values to delete from the LF-tag.
1894
2714
  #
1895
2715
  # @option params [Array<String>] :tag_values_to_add
1896
- # A list of tag values to add from the tag.
2716
+ # A list of LF-tag values to add from the LF-tag.
1897
2717
  #
1898
2718
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1899
2719
  #
@@ -1916,10 +2736,10 @@ module Aws::LakeFormation
1916
2736
  end
1917
2737
 
1918
2738
  # Updates the data access role used for vending access to the given
1919
- # (registered) resource in AWS Lake Formation.
2739
+ # (registered) resource in Lake Formation.
1920
2740
  #
1921
2741
  # @option params [required, String] :role_arn
1922
- # The new role to use for the given resource registered in AWS Lake
2742
+ # The new role to use for the given resource registered in Lake
1923
2743
  # Formation.
1924
2744
  #
1925
2745
  # @option params [required, String] :resource_arn
@@ -1943,6 +2763,105 @@ module Aws::LakeFormation
1943
2763
  req.send_request(options)
1944
2764
  end
1945
2765
 
2766
+ # Updates the manifest of Amazon S3 objects that make up the specified
2767
+ # governed table.
2768
+ #
2769
+ # @option params [String] :catalog_id
2770
+ # The catalog containing the governed table to update. Defaults to the
2771
+ # caller’s account ID.
2772
+ #
2773
+ # @option params [required, String] :database_name
2774
+ # The database containing the governed table to update.
2775
+ #
2776
+ # @option params [required, String] :table_name
2777
+ # The governed table to update.
2778
+ #
2779
+ # @option params [required, String] :transaction_id
2780
+ # The transaction at which to do the write.
2781
+ #
2782
+ # @option params [required, Array<Types::WriteOperation>] :write_operations
2783
+ # A list of `WriteOperation` objects that define an object to add to or
2784
+ # delete from the manifest for a governed table.
2785
+ #
2786
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2787
+ #
2788
+ # @example Request syntax with placeholder values
2789
+ #
2790
+ # resp = client.update_table_objects({
2791
+ # catalog_id: "CatalogIdString",
2792
+ # database_name: "NameString", # required
2793
+ # table_name: "NameString", # required
2794
+ # transaction_id: "TransactionIdString", # required
2795
+ # write_operations: [ # required
2796
+ # {
2797
+ # add_object: {
2798
+ # uri: "URI", # required
2799
+ # etag: "ETagString", # required
2800
+ # size: 1, # required
2801
+ # partition_values: ["PartitionValueString"],
2802
+ # },
2803
+ # delete_object: {
2804
+ # uri: "URI", # required
2805
+ # etag: "ETagString",
2806
+ # partition_values: ["PartitionValueString"],
2807
+ # },
2808
+ # },
2809
+ # ],
2810
+ # })
2811
+ #
2812
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateTableObjects AWS API Documentation
2813
+ #
2814
+ # @overload update_table_objects(params = {})
2815
+ # @param [Hash] params ({})
2816
+ def update_table_objects(params = {}, options = {})
2817
+ req = build_request(:update_table_objects, params)
2818
+ req.send_request(options)
2819
+ end
2820
+
2821
+ # Updates the configuration of the storage optimizers for a table.
2822
+ #
2823
+ # @option params [String] :catalog_id
2824
+ # The Catalog ID of the table.
2825
+ #
2826
+ # @option params [required, String] :database_name
2827
+ # Name of the database where the table is present.
2828
+ #
2829
+ # @option params [required, String] :table_name
2830
+ # Name of the table for which to enable the storage optimizer.
2831
+ #
2832
+ # @option params [required, Hash<String,Hash>] :storage_optimizer_config
2833
+ # Name of the table for which to enable the storage optimizer.
2834
+ #
2835
+ # @return [Types::UpdateTableStorageOptimizerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2836
+ #
2837
+ # * {Types::UpdateTableStorageOptimizerResponse#result #result} => String
2838
+ #
2839
+ # @example Request syntax with placeholder values
2840
+ #
2841
+ # resp = client.update_table_storage_optimizer({
2842
+ # catalog_id: "CatalogIdString",
2843
+ # database_name: "NameString", # required
2844
+ # table_name: "NameString", # required
2845
+ # storage_optimizer_config: { # required
2846
+ # "COMPACTION" => {
2847
+ # "StorageOptimizerConfigKey" => "StorageOptimizerConfigValue",
2848
+ # },
2849
+ # },
2850
+ # })
2851
+ #
2852
+ # @example Response structure
2853
+ #
2854
+ # resp.result #=> String
2855
+ #
2856
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateTableStorageOptimizer AWS API Documentation
2857
+ #
2858
+ # @overload update_table_storage_optimizer(params = {})
2859
+ # @param [Hash] params ({})
2860
+ def update_table_storage_optimizer(params = {}, options = {})
2861
+ req = build_request(:update_table_storage_optimizer, params)
2862
+ req.send_request(options)
2863
+ end
2864
+
1946
2865
  # @!endgroup
1947
2866
 
1948
2867
  # @param params ({})
@@ -1956,7 +2875,7 @@ module Aws::LakeFormation
1956
2875
  params: params,
1957
2876
  config: config)
1958
2877
  context[:gem_name] = 'aws-sdk-lakeformation'
1959
- context[:gem_version] = '1.17.0'
2878
+ context[:gem_version] = '1.21.0'
1960
2879
  Seahorse::Client::Request.new(handlers, context)
1961
2880
  end
1962
2881