aws-sdk-lakeformation 1.18.0 → 1.22.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -56,6 +56,12 @@ module Aws::LakeFormation
56
56
  # catalog_id: "CatalogIdString",
57
57
  # resource_arn: "ResourceArnString", # required
58
58
  # },
59
+ # data_cells_filter: {
60
+ # table_catalog_id: "CatalogIdString",
61
+ # database_name: "NameString",
62
+ # table_name: "NameString",
63
+ # name: "NameString",
64
+ # },
59
65
  # lf_tag: {
60
66
  # catalog_id: "CatalogIdString",
61
67
  # tag_key: "NameString", # required
@@ -85,15 +91,16 @@ module Aws::LakeFormation
85
91
  # The identifier for the Data Catalog. By default, the account ID. The
86
92
  # Data Catalog is the persistent metadata store. It contains database
87
93
  # definitions, table definitions, and other control information to
88
- # manage your AWS Lake Formation environment.
94
+ # manage your Lake Formation environment.
89
95
  # @return [String]
90
96
  #
91
97
  # @!attribute [rw] resource
92
- # The resource to which to attach a tag.
98
+ # The database, table, or column resource to which to attach an
99
+ # LF-tag.
93
100
  # @return [Types::Resource]
94
101
  #
95
102
  # @!attribute [rw] lf_tags
96
- # The tags to attach to the resource.
103
+ # The LF-tags to attach to the resource.
97
104
  # @return [Array<Types::LFTagPair>]
98
105
  #
99
106
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AddLFTagsToResourceRequest AWS API Documentation
@@ -118,6 +125,59 @@ module Aws::LakeFormation
118
125
  include Aws::Structure
119
126
  end
120
127
 
128
+ # A new object to add to the governed table.
129
+ #
130
+ # @note When making an API call, you may pass AddObjectInput
131
+ # data as a hash:
132
+ #
133
+ # {
134
+ # uri: "URI", # required
135
+ # etag: "ETagString", # required
136
+ # size: 1, # required
137
+ # partition_values: ["PartitionValueString"],
138
+ # }
139
+ #
140
+ # @!attribute [rw] uri
141
+ # The Amazon S3 location of the object.
142
+ # @return [String]
143
+ #
144
+ # @!attribute [rw] etag
145
+ # The Amazon S3 ETag of the object. Returned by `GetTableObjects` for
146
+ # validation and used to identify changes to the underlying data.
147
+ # @return [String]
148
+ #
149
+ # @!attribute [rw] size
150
+ # The size of the Amazon S3 object in bytes.
151
+ # @return [Integer]
152
+ #
153
+ # @!attribute [rw] partition_values
154
+ # A list of partition values for the object. A value must be specified
155
+ # for each partition key associated with the table.
156
+ #
157
+ # The supported data types are integer, long, date(yyyy-MM-dd),
158
+ # timestamp(yyyy-MM-dd HH:mm:ssXXX or yyyy-MM-dd HH:mm:ss"), string
159
+ # and decimal.
160
+ # @return [Array<String>]
161
+ #
162
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AddObjectInput AWS API Documentation
163
+ #
164
+ class AddObjectInput < Struct.new(
165
+ :uri,
166
+ :etag,
167
+ :size,
168
+ :partition_values)
169
+ SENSITIVE = []
170
+ include Aws::Structure
171
+ end
172
+
173
+ # A structure that you pass to indicate you want all rows in a filter.
174
+ #
175
+ # @api private
176
+ #
177
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AllRowsWildcard AWS API Documentation
178
+ #
179
+ class AllRowsWildcard < Aws::EmptyStructure; end
180
+
121
181
  # A resource to be created or added already exists.
122
182
  #
123
183
  # @!attribute [rw] message
@@ -132,6 +192,30 @@ module Aws::LakeFormation
132
192
  include Aws::Structure
133
193
  end
134
194
 
195
+ # A structure used to include auditing information on the privileged
196
+ # API.
197
+ #
198
+ # @note When making an API call, you may pass AuditContext
199
+ # data as a hash:
200
+ #
201
+ # {
202
+ # additional_audit_context: "AuditContextString",
203
+ # }
204
+ #
205
+ # @!attribute [rw] additional_audit_context
206
+ # The filter engine can populate the 'AdditionalAuditContext'
207
+ # information with the request ID for you to track. This information
208
+ # will be displayed in CloudTrail log in your account.
209
+ # @return [String]
210
+ #
211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AuditContext AWS API Documentation
212
+ #
213
+ class AuditContext < Struct.new(
214
+ :additional_audit_context)
215
+ SENSITIVE = []
216
+ include Aws::Structure
217
+ end
218
+
135
219
  # @note When making an API call, you may pass BatchGrantPermissionsRequest
136
220
  # data as a hash:
137
221
  #
@@ -170,6 +254,12 @@ module Aws::LakeFormation
170
254
  # catalog_id: "CatalogIdString",
171
255
  # resource_arn: "ResourceArnString", # required
172
256
  # },
257
+ # data_cells_filter: {
258
+ # table_catalog_id: "CatalogIdString",
259
+ # database_name: "NameString",
260
+ # table_name: "NameString",
261
+ # name: "NameString",
262
+ # },
173
263
  # lf_tag: {
174
264
  # catalog_id: "CatalogIdString",
175
265
  # tag_key: "NameString", # required
@@ -196,7 +286,7 @@ module Aws::LakeFormation
196
286
  # The identifier for the Data Catalog. By default, the account ID. The
197
287
  # Data Catalog is the persistent metadata store. It contains database
198
288
  # definitions, table definitions, and other control information to
199
- # manage your AWS Lake Formation environment.
289
+ # manage your Lake Formation environment.
200
290
  # @return [String]
201
291
  #
202
292
  # @!attribute [rw] entries
@@ -283,6 +373,12 @@ module Aws::LakeFormation
283
373
  # catalog_id: "CatalogIdString",
284
374
  # resource_arn: "ResourceArnString", # required
285
375
  # },
376
+ # data_cells_filter: {
377
+ # table_catalog_id: "CatalogIdString",
378
+ # database_name: "NameString",
379
+ # table_name: "NameString",
380
+ # name: "NameString",
381
+ # },
286
382
  # lf_tag: {
287
383
  # catalog_id: "CatalogIdString",
288
384
  # tag_key: "NameString", # required
@@ -373,6 +469,12 @@ module Aws::LakeFormation
373
469
  # catalog_id: "CatalogIdString",
374
470
  # resource_arn: "ResourceArnString", # required
375
471
  # },
472
+ # data_cells_filter: {
473
+ # table_catalog_id: "CatalogIdString",
474
+ # database_name: "NameString",
475
+ # table_name: "NameString",
476
+ # name: "NameString",
477
+ # },
376
478
  # lf_tag: {
377
479
  # catalog_id: "CatalogIdString",
378
480
  # tag_key: "NameString", # required
@@ -399,7 +501,7 @@ module Aws::LakeFormation
399
501
  # The identifier for the Data Catalog. By default, the account ID. The
400
502
  # Data Catalog is the persistent metadata store. It contains database
401
503
  # definitions, table definitions, and other control information to
402
- # manage your AWS Lake Formation environment.
504
+ # manage your Lake Formation environment.
403
505
  # @return [String]
404
506
  #
405
507
  # @!attribute [rw] entries
@@ -428,6 +530,29 @@ module Aws::LakeFormation
428
530
  include Aws::Structure
429
531
  end
430
532
 
533
+ # @note When making an API call, you may pass CancelTransactionRequest
534
+ # data as a hash:
535
+ #
536
+ # {
537
+ # transaction_id: "TransactionIdString", # required
538
+ # }
539
+ #
540
+ # @!attribute [rw] transaction_id
541
+ # The transaction to cancel.
542
+ # @return [String]
543
+ #
544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CancelTransactionRequest AWS API Documentation
545
+ #
546
+ class CancelTransactionRequest < Struct.new(
547
+ :transaction_id)
548
+ SENSITIVE = []
549
+ include Aws::Structure
550
+ end
551
+
552
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CancelTransactionResponse AWS API Documentation
553
+ #
554
+ class CancelTransactionResponse < Aws::EmptyStructure; end
555
+
431
556
  # A structure for the catalog object.
432
557
  #
433
558
  # @api private
@@ -436,7 +561,7 @@ module Aws::LakeFormation
436
561
  #
437
562
  class CatalogResource < Aws::EmptyStructure; end
438
563
 
439
- # A structure containing the name of a column resource and the tags
564
+ # A structure containing the name of a column resource and the LF-tags
440
565
  # attached to it.
441
566
  #
442
567
  # @!attribute [rw] name
@@ -444,7 +569,7 @@ module Aws::LakeFormation
444
569
  # @return [String]
445
570
  #
446
571
  # @!attribute [rw] lf_tags
447
- # The tags attached to a column resource.
572
+ # The LF-tags attached to a column resource.
448
573
  # @return [Array<Types::LFTagPair>]
449
574
  #
450
575
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ColumnLFTag AWS API Documentation
@@ -478,6 +603,37 @@ module Aws::LakeFormation
478
603
  include Aws::Structure
479
604
  end
480
605
 
606
+ # @note When making an API call, you may pass CommitTransactionRequest
607
+ # data as a hash:
608
+ #
609
+ # {
610
+ # transaction_id: "TransactionIdString", # required
611
+ # }
612
+ #
613
+ # @!attribute [rw] transaction_id
614
+ # The transaction to commit.
615
+ # @return [String]
616
+ #
617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CommitTransactionRequest AWS API Documentation
618
+ #
619
+ class CommitTransactionRequest < Struct.new(
620
+ :transaction_id)
621
+ SENSITIVE = []
622
+ include Aws::Structure
623
+ end
624
+
625
+ # @!attribute [rw] transaction_status
626
+ # The status of the transaction.
627
+ # @return [String]
628
+ #
629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CommitTransactionResponse AWS API Documentation
630
+ #
631
+ class CommitTransactionResponse < Struct.new(
632
+ :transaction_status)
633
+ SENSITIVE = []
634
+ include Aws::Structure
635
+ end
636
+
481
637
  # Two processes are trying to modify a resource simultaneously.
482
638
  #
483
639
  # @!attribute [rw] message
@@ -492,6 +648,44 @@ module Aws::LakeFormation
492
648
  include Aws::Structure
493
649
  end
494
650
 
651
+ # @note When making an API call, you may pass CreateDataCellsFilterRequest
652
+ # data as a hash:
653
+ #
654
+ # {
655
+ # table_data: { # required
656
+ # table_catalog_id: "CatalogIdString", # required
657
+ # database_name: "NameString", # required
658
+ # table_name: "NameString", # required
659
+ # name: "NameString", # required
660
+ # row_filter: {
661
+ # filter_expression: "PredicateString",
662
+ # all_rows_wildcard: {
663
+ # },
664
+ # },
665
+ # column_names: ["NameString"],
666
+ # column_wildcard: {
667
+ # excluded_column_names: ["NameString"],
668
+ # },
669
+ # },
670
+ # }
671
+ #
672
+ # @!attribute [rw] table_data
673
+ # A `DataCellsFilter` structure containing information about the data
674
+ # cells filter.
675
+ # @return [Types::DataCellsFilter]
676
+ #
677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateDataCellsFilterRequest AWS API Documentation
678
+ #
679
+ class CreateDataCellsFilterRequest < Struct.new(
680
+ :table_data)
681
+ SENSITIVE = []
682
+ include Aws::Structure
683
+ end
684
+
685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateDataCellsFilterResponse AWS API Documentation
686
+ #
687
+ class CreateDataCellsFilterResponse < Aws::EmptyStructure; end
688
+
495
689
  # @note When making an API call, you may pass CreateLFTagRequest
496
690
  # data as a hash:
497
691
  #
@@ -505,11 +699,11 @@ module Aws::LakeFormation
505
699
  # The identifier for the Data Catalog. By default, the account ID. The
506
700
  # Data Catalog is the persistent metadata store. It contains database
507
701
  # definitions, table definitions, and other control information to
508
- # manage your AWS Lake Formation environment.
702
+ # manage your Lake Formation environment.
509
703
  # @return [String]
510
704
  #
511
705
  # @!attribute [rw] tag_key
512
- # The key-name for the tag.
706
+ # The key-name for the LF-tag.
513
707
  # @return [String]
514
708
  #
515
709
  # @!attribute [rw] tag_values
@@ -530,8 +724,113 @@ module Aws::LakeFormation
530
724
  #
531
725
  class CreateLFTagResponse < Aws::EmptyStructure; end
532
726
 
533
- # The AWS Lake Formation principal. Supported principals are IAM users
534
- # or IAM roles.
727
+ # A structure that describes certain columns on certain rows.
728
+ #
729
+ # @note When making an API call, you may pass DataCellsFilter
730
+ # data as a hash:
731
+ #
732
+ # {
733
+ # table_catalog_id: "CatalogIdString", # required
734
+ # database_name: "NameString", # required
735
+ # table_name: "NameString", # required
736
+ # name: "NameString", # required
737
+ # row_filter: {
738
+ # filter_expression: "PredicateString",
739
+ # all_rows_wildcard: {
740
+ # },
741
+ # },
742
+ # column_names: ["NameString"],
743
+ # column_wildcard: {
744
+ # excluded_column_names: ["NameString"],
745
+ # },
746
+ # }
747
+ #
748
+ # @!attribute [rw] table_catalog_id
749
+ # The ID of the catalog to which the table belongs.
750
+ # @return [String]
751
+ #
752
+ # @!attribute [rw] database_name
753
+ # A database in the Glue Data Catalog.
754
+ # @return [String]
755
+ #
756
+ # @!attribute [rw] table_name
757
+ # A table in the database.
758
+ # @return [String]
759
+ #
760
+ # @!attribute [rw] name
761
+ # The name given by the user to the data filter cell.
762
+ # @return [String]
763
+ #
764
+ # @!attribute [rw] row_filter
765
+ # A PartiQL predicate.
766
+ # @return [Types::RowFilter]
767
+ #
768
+ # @!attribute [rw] column_names
769
+ # A list of column names.
770
+ # @return [Array<String>]
771
+ #
772
+ # @!attribute [rw] column_wildcard
773
+ # A wildcard with exclusions.
774
+ #
775
+ # You must specify either a `ColumnNames` list or the
776
+ # `ColumnWildCard`.
777
+ # @return [Types::ColumnWildcard]
778
+ #
779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DataCellsFilter AWS API Documentation
780
+ #
781
+ class DataCellsFilter < Struct.new(
782
+ :table_catalog_id,
783
+ :database_name,
784
+ :table_name,
785
+ :name,
786
+ :row_filter,
787
+ :column_names,
788
+ :column_wildcard)
789
+ SENSITIVE = []
790
+ include Aws::Structure
791
+ end
792
+
793
+ # A structure for a data cells filter resource.
794
+ #
795
+ # @note When making an API call, you may pass DataCellsFilterResource
796
+ # data as a hash:
797
+ #
798
+ # {
799
+ # table_catalog_id: "CatalogIdString",
800
+ # database_name: "NameString",
801
+ # table_name: "NameString",
802
+ # name: "NameString",
803
+ # }
804
+ #
805
+ # @!attribute [rw] table_catalog_id
806
+ # The ID of the catalog to which the table belongs.
807
+ # @return [String]
808
+ #
809
+ # @!attribute [rw] database_name
810
+ # A database in the Glue Data Catalog.
811
+ # @return [String]
812
+ #
813
+ # @!attribute [rw] table_name
814
+ # The name of the table.
815
+ # @return [String]
816
+ #
817
+ # @!attribute [rw] name
818
+ # The name of the data cells filter.
819
+ # @return [String]
820
+ #
821
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DataCellsFilterResource AWS API Documentation
822
+ #
823
+ class DataCellsFilterResource < Struct.new(
824
+ :table_catalog_id,
825
+ :database_name,
826
+ :table_name,
827
+ :name)
828
+ SENSITIVE = []
829
+ include Aws::Structure
830
+ end
831
+
832
+ # The Lake Formation principal. Supported principals are IAM users or
833
+ # IAM roles.
535
834
  #
536
835
  # @note When making an API call, you may pass DataLakePrincipal
537
836
  # data as a hash:
@@ -541,7 +840,7 @@ module Aws::LakeFormation
541
840
  # }
542
841
  #
543
842
  # @!attribute [rw] data_lake_principal_identifier
544
- # An identifier for the AWS Lake Formation principal.
843
+ # An identifier for the Lake Formation principal.
545
844
  # @return [String]
546
845
  #
547
846
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DataLakePrincipal AWS API Documentation
@@ -552,7 +851,7 @@ module Aws::LakeFormation
552
851
  include Aws::Structure
553
852
  end
554
853
 
555
- # A structure representing a list of AWS Lake Formation principals
854
+ # A structure representing a list of Lake Formation principals
556
855
  # designated as data lake administrators and lists of principal
557
856
  # permission entries for default create database and default create
558
857
  # table permissions.
@@ -583,39 +882,120 @@ module Aws::LakeFormation
583
882
  # },
584
883
  # ],
585
884
  # trusted_resource_owners: ["CatalogIdString"],
885
+ # allow_external_data_filtering: false,
886
+ # external_data_filtering_allow_list: [
887
+ # {
888
+ # data_lake_principal_identifier: "DataLakePrincipalString",
889
+ # },
890
+ # ],
891
+ # authorized_session_tag_value_list: ["NameString"],
586
892
  # }
587
893
  #
588
894
  # @!attribute [rw] data_lake_admins
589
- # A list of AWS Lake Formation principals. Supported principals are
590
- # IAM users or IAM roles.
895
+ # A list of Lake Formation principals. Supported principals are IAM
896
+ # users or IAM roles.
591
897
  # @return [Array<Types::DataLakePrincipal>]
592
898
  #
593
899
  # @!attribute [rw] create_database_default_permissions
594
- # A structure representing a list of up to three principal permissions
595
- # entries for default create database permissions.
900
+ # Specifies whether access control on newly created database is
901
+ # managed by Lake Formation permissions or exclusively by IAM
902
+ # permissions. You can override this default setting when you create a
903
+ # database.
904
+ #
905
+ # A null value indicates access control by Lake Formation permissions.
906
+ # A value that assigns ALL to IAM\_ALLOWED\_PRINCIPALS indicates
907
+ # access control by IAM permissions. This is referred to as the
908
+ # setting "Use only IAM access control," and is for backward
909
+ # compatibility with the Glue permission model implemented by IAM
910
+ # permissions.
911
+ #
912
+ # The only permitted values are an empty array or an array that
913
+ # contains a single JSON object that grants ALL to
914
+ # IAM\_ALLOWED\_PRINCIPALS.
915
+ #
916
+ # For more information, see [Changing the Default Security Settings
917
+ # for Your Data Lake][1].
918
+ #
919
+ #
920
+ #
921
+ # [1]: https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html
596
922
  # @return [Array<Types::PrincipalPermissions>]
597
923
  #
598
924
  # @!attribute [rw] create_table_default_permissions
599
- # A structure representing a list of up to three principal permissions
600
- # entries for default create table permissions.
925
+ # Specifies whether access control on newly created table is managed
926
+ # by Lake Formation permissions or exclusively by IAM permissions.
927
+ #
928
+ # A null value indicates access control by Lake Formation permissions.
929
+ # A value that assigns ALL to IAM\_ALLOWED\_PRINCIPALS indicates
930
+ # access control by IAM permissions. This is referred to as the
931
+ # setting "Use only IAM access control," and is for backward
932
+ # compatibility with the Glue permission model implemented by IAM
933
+ # permissions.
934
+ #
935
+ # The only permitted values are an empty array or an array that
936
+ # contains a single JSON object that grants ALL to
937
+ # IAM\_ALLOWED\_PRINCIPALS.
938
+ #
939
+ # For more information, see [Changing the Default Security Settings
940
+ # for Your Data Lake][1].
941
+ #
942
+ #
943
+ #
944
+ # [1]: https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html
601
945
  # @return [Array<Types::PrincipalPermissions>]
602
946
  #
603
947
  # @!attribute [rw] trusted_resource_owners
604
948
  # A list of the resource-owning account IDs that the caller's account
605
949
  # can use to share their user access details (user ARNs). The user
606
- # ARNs can be logged in the resource owner's AWS CloudTrail log.
950
+ # ARNs can be logged in the resource owner's CloudTrail log.
607
951
  #
608
952
  # You may want to specify this property when you are in a high-trust
609
953
  # boundary, such as the same team or company.
610
954
  # @return [Array<String>]
611
955
  #
956
+ # @!attribute [rw] allow_external_data_filtering
957
+ # Whether to allow Amazon EMR clusters to access data managed by Lake
958
+ # Formation.
959
+ #
960
+ # If true, you allow Amazon EMR clusters to access data in Amazon S3
961
+ # locations that are registered with Lake Formation.
962
+ #
963
+ # If false or null, no Amazon EMR clusters will be able to access data
964
+ # in Amazon S3 locations that are registered with Lake Formation.
965
+ #
966
+ # For more information, see [(Optional) Allow Data Filtering on Amazon
967
+ # EMR][1].
968
+ #
969
+ #
970
+ #
971
+ # [1]: https://docs-aws.amazon.com/lake-formation/latest/dg/getting-started-setup.html#emr-switch
972
+ # @return [Boolean]
973
+ #
974
+ # @!attribute [rw] external_data_filtering_allow_list
975
+ # A list of the account IDs of Amazon Web Services accounts with
976
+ # Amazon EMR clusters that are to perform data filtering.&gt;
977
+ # @return [Array<Types::DataLakePrincipal>]
978
+ #
979
+ # @!attribute [rw] authorized_session_tag_value_list
980
+ # Lake Formation relies on a privileged process secured by Amazon EMR
981
+ # or the third party integrator to tag the user's role while assuming
982
+ # it. Lake Formation will publish the acceptable key-value pair, for
983
+ # example key = "LakeFormationTrustedCaller" and value = "TRUE"
984
+ # and the third party integrator must properly tag the temporary
985
+ # security credentials that will be used to call Lake Formation's
986
+ # administrative APIs.
987
+ # @return [Array<String>]
988
+ #
612
989
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DataLakeSettings AWS API Documentation
613
990
  #
614
991
  class DataLakeSettings < Struct.new(
615
992
  :data_lake_admins,
616
993
  :create_database_default_permissions,
617
994
  :create_table_default_permissions,
618
- :trusted_resource_owners)
995
+ :trusted_resource_owners,
996
+ :allow_external_data_filtering,
997
+ :external_data_filtering_allow_list,
998
+ :authorized_session_tag_value_list)
619
999
  SENSITIVE = []
620
1000
  include Aws::Structure
621
1001
  end
@@ -633,8 +1013,7 @@ module Aws::LakeFormation
633
1013
  #
634
1014
  # @!attribute [rw] catalog_id
635
1015
  # The identifier for the Data Catalog where the location is registered
636
- # with AWS Lake Formation. By default, it is the account ID of the
637
- # caller.
1016
+ # with Lake Formation. By default, it is the account ID of the caller.
638
1017
  # @return [String]
639
1018
  #
640
1019
  # @!attribute [rw] resource_arn
@@ -679,6 +1058,47 @@ module Aws::LakeFormation
679
1058
  include Aws::Structure
680
1059
  end
681
1060
 
1061
+ # @note When making an API call, you may pass DeleteDataCellsFilterRequest
1062
+ # data as a hash:
1063
+ #
1064
+ # {
1065
+ # table_catalog_id: "CatalogIdString",
1066
+ # database_name: "NameString",
1067
+ # table_name: "NameString",
1068
+ # name: "NameString",
1069
+ # }
1070
+ #
1071
+ # @!attribute [rw] table_catalog_id
1072
+ # The ID of the catalog to which the table belongs.
1073
+ # @return [String]
1074
+ #
1075
+ # @!attribute [rw] database_name
1076
+ # A database in the Glue Data Catalog.
1077
+ # @return [String]
1078
+ #
1079
+ # @!attribute [rw] table_name
1080
+ # A table in the database.
1081
+ # @return [String]
1082
+ #
1083
+ # @!attribute [rw] name
1084
+ # The name given by the user to the data filter cell.
1085
+ # @return [String]
1086
+ #
1087
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteDataCellsFilterRequest AWS API Documentation
1088
+ #
1089
+ class DeleteDataCellsFilterRequest < Struct.new(
1090
+ :table_catalog_id,
1091
+ :database_name,
1092
+ :table_name,
1093
+ :name)
1094
+ SENSITIVE = []
1095
+ include Aws::Structure
1096
+ end
1097
+
1098
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteDataCellsFilterResponse AWS API Documentation
1099
+ #
1100
+ class DeleteDataCellsFilterResponse < Aws::EmptyStructure; end
1101
+
682
1102
  # @note When making an API call, you may pass DeleteLFTagRequest
683
1103
  # data as a hash:
684
1104
  #
@@ -691,11 +1111,11 @@ module Aws::LakeFormation
691
1111
  # The identifier for the Data Catalog. By default, the account ID. The
692
1112
  # Data Catalog is the persistent metadata store. It contains database
693
1113
  # definitions, table definitions, and other control information to
694
- # manage your AWS Lake Formation environment.
1114
+ # manage your Lake Formation environment.
695
1115
  # @return [String]
696
1116
  #
697
1117
  # @!attribute [rw] tag_key
698
- # The key-name for the tag to delete.
1118
+ # The key-name for the LF-tag to delete.
699
1119
  # @return [String]
700
1120
  #
701
1121
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLFTagRequest AWS API Documentation
@@ -711,52 +1131,140 @@ module Aws::LakeFormation
711
1131
  #
712
1132
  class DeleteLFTagResponse < Aws::EmptyStructure; end
713
1133
 
714
- # @note When making an API call, you may pass DeregisterResourceRequest
1134
+ # An object to delete from the governed table.
1135
+ #
1136
+ # @note When making an API call, you may pass DeleteObjectInput
715
1137
  # data as a hash:
716
1138
  #
717
1139
  # {
718
- # resource_arn: "ResourceArnString", # required
1140
+ # uri: "URI", # required
1141
+ # etag: "ETagString",
1142
+ # partition_values: ["PartitionValueString"],
719
1143
  # }
720
1144
  #
721
- # @!attribute [rw] resource_arn
722
- # The Amazon Resource Name (ARN) of the resource that you want to
723
- # deregister.
1145
+ # @!attribute [rw] uri
1146
+ # The Amazon S3 location of the object to delete.
724
1147
  # @return [String]
725
1148
  #
726
- # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResourceRequest AWS API Documentation
1149
+ # @!attribute [rw] etag
1150
+ # The Amazon S3 ETag of the object. Returned by `GetTableObjects` for
1151
+ # validation and used to identify changes to the underlying data.
1152
+ # @return [String]
727
1153
  #
728
- class DeregisterResourceRequest < Struct.new(
729
- :resource_arn)
1154
+ # @!attribute [rw] partition_values
1155
+ # A list of partition values for the object. A value must be specified
1156
+ # for each partition key associated with the governed table.
1157
+ # @return [Array<String>]
1158
+ #
1159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteObjectInput AWS API Documentation
1160
+ #
1161
+ class DeleteObjectInput < Struct.new(
1162
+ :uri,
1163
+ :etag,
1164
+ :partition_values)
730
1165
  SENSITIVE = []
731
1166
  include Aws::Structure
732
1167
  end
733
1168
 
734
- # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResourceResponse AWS API Documentation
735
- #
736
- class DeregisterResourceResponse < Aws::EmptyStructure; end
737
-
738
- # @note When making an API call, you may pass DescribeResourceRequest
1169
+ # @note When making an API call, you may pass DeleteObjectsOnCancelRequest
739
1170
  # data as a hash:
740
1171
  #
741
1172
  # {
742
- # resource_arn: "ResourceArnString", # required
1173
+ # catalog_id: "CatalogIdString",
1174
+ # database_name: "NameString", # required
1175
+ # table_name: "NameString", # required
1176
+ # transaction_id: "TransactionIdString", # required
1177
+ # objects: [ # required
1178
+ # {
1179
+ # uri: "URI", # required
1180
+ # etag: "ETagString",
1181
+ # },
1182
+ # ],
743
1183
  # }
744
1184
  #
745
- # @!attribute [rw] resource_arn
746
- # The resource ARN.
1185
+ # @!attribute [rw] catalog_id
1186
+ # The Glue data catalog that contains the governed table. Defaults to
1187
+ # the current account ID.
747
1188
  # @return [String]
748
1189
  #
749
- # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResourceRequest AWS API Documentation
1190
+ # @!attribute [rw] database_name
1191
+ # The database that contains the governed table.
1192
+ # @return [String]
750
1193
  #
751
- class DescribeResourceRequest < Struct.new(
752
- :resource_arn)
753
- SENSITIVE = []
754
- include Aws::Structure
755
- end
1194
+ # @!attribute [rw] table_name
1195
+ # The name of the governed table.
1196
+ # @return [String]
1197
+ #
1198
+ # @!attribute [rw] transaction_id
1199
+ # ID of the transaction that the writes occur in.
1200
+ # @return [String]
1201
+ #
1202
+ # @!attribute [rw] objects
1203
+ # A list of VirtualObject structures, which indicates the Amazon S3
1204
+ # objects to be deleted if the transaction cancels.
1205
+ # @return [Array<Types::VirtualObject>]
1206
+ #
1207
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteObjectsOnCancelRequest AWS API Documentation
1208
+ #
1209
+ class DeleteObjectsOnCancelRequest < Struct.new(
1210
+ :catalog_id,
1211
+ :database_name,
1212
+ :table_name,
1213
+ :transaction_id,
1214
+ :objects)
1215
+ SENSITIVE = []
1216
+ include Aws::Structure
1217
+ end
1218
+
1219
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteObjectsOnCancelResponse AWS API Documentation
1220
+ #
1221
+ class DeleteObjectsOnCancelResponse < Aws::EmptyStructure; end
1222
+
1223
+ # @note When making an API call, you may pass DeregisterResourceRequest
1224
+ # data as a hash:
1225
+ #
1226
+ # {
1227
+ # resource_arn: "ResourceArnString", # required
1228
+ # }
1229
+ #
1230
+ # @!attribute [rw] resource_arn
1231
+ # The Amazon Resource Name (ARN) of the resource that you want to
1232
+ # deregister.
1233
+ # @return [String]
1234
+ #
1235
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResourceRequest AWS API Documentation
1236
+ #
1237
+ class DeregisterResourceRequest < Struct.new(
1238
+ :resource_arn)
1239
+ SENSITIVE = []
1240
+ include Aws::Structure
1241
+ end
1242
+
1243
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResourceResponse AWS API Documentation
1244
+ #
1245
+ class DeregisterResourceResponse < Aws::EmptyStructure; end
1246
+
1247
+ # @note When making an API call, you may pass DescribeResourceRequest
1248
+ # data as a hash:
1249
+ #
1250
+ # {
1251
+ # resource_arn: "ResourceArnString", # required
1252
+ # }
1253
+ #
1254
+ # @!attribute [rw] resource_arn
1255
+ # The resource ARN.
1256
+ # @return [String]
1257
+ #
1258
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResourceRequest AWS API Documentation
1259
+ #
1260
+ class DescribeResourceRequest < Struct.new(
1261
+ :resource_arn)
1262
+ SENSITIVE = []
1263
+ include Aws::Structure
1264
+ end
756
1265
 
757
1266
  # @!attribute [rw] resource_info
758
- # A structure containing information about an AWS Lake Formation
759
- # resource.
1267
+ # A structure containing information about an Lake Formation resource.
760
1268
  # @return [Types::ResourceInfo]
761
1269
  #
762
1270
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResourceResponse AWS API Documentation
@@ -767,16 +1275,46 @@ module Aws::LakeFormation
767
1275
  include Aws::Structure
768
1276
  end
769
1277
 
1278
+ # @note When making an API call, you may pass DescribeTransactionRequest
1279
+ # data as a hash:
1280
+ #
1281
+ # {
1282
+ # transaction_id: "TransactionIdString", # required
1283
+ # }
1284
+ #
1285
+ # @!attribute [rw] transaction_id
1286
+ # The transaction for which to return status.
1287
+ # @return [String]
1288
+ #
1289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeTransactionRequest AWS API Documentation
1290
+ #
1291
+ class DescribeTransactionRequest < Struct.new(
1292
+ :transaction_id)
1293
+ SENSITIVE = []
1294
+ include Aws::Structure
1295
+ end
1296
+
1297
+ # @!attribute [rw] transaction_description
1298
+ # Returns a `TransactionDescription` object containing information
1299
+ # about the transaction.
1300
+ # @return [Types::TransactionDescription]
1301
+ #
1302
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeTransactionResponse AWS API Documentation
1303
+ #
1304
+ class DescribeTransactionResponse < Struct.new(
1305
+ :transaction_description)
1306
+ SENSITIVE = []
1307
+ include Aws::Structure
1308
+ end
1309
+
770
1310
  # A structure containing the additional details to be returned in the
771
1311
  # `AdditionalDetails` attribute of `PrincipalResourcePermissions`.
772
1312
  #
773
- # If a catalog resource is shared through AWS Resource Access Manager
774
- # (AWS RAM), then there will exist a corresponding RAM resource share
775
- # ARN.
1313
+ # If a catalog resource is shared through Resource Access Manager (RAM),
1314
+ # then there will exist a corresponding RAM resource share ARN.
776
1315
  #
777
1316
  # @!attribute [rw] resource_share
778
- # A resource share ARN for a catalog resource shared through AWS
779
- # Resource Access Manager (AWS RAM).
1317
+ # A resource share ARN for a catalog resource shared through RAM.
780
1318
  # @return [Array<String>]
781
1319
  #
782
1320
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DetailsMap AWS API Documentation
@@ -820,6 +1358,67 @@ module Aws::LakeFormation
820
1358
  include Aws::Structure
821
1359
  end
822
1360
 
1361
+ # Statistics related to the processing of a query statement.
1362
+ #
1363
+ # @!attribute [rw] average_execution_time_millis
1364
+ # The average time the request took to be executed.
1365
+ # @return [Integer]
1366
+ #
1367
+ # @!attribute [rw] data_scanned_bytes
1368
+ # The amount of data that was scanned in bytes.
1369
+ # @return [Integer]
1370
+ #
1371
+ # @!attribute [rw] work_units_executed_count
1372
+ # The number of work units executed.
1373
+ # @return [Integer]
1374
+ #
1375
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ExecutionStatistics AWS API Documentation
1376
+ #
1377
+ class ExecutionStatistics < Struct.new(
1378
+ :average_execution_time_millis,
1379
+ :data_scanned_bytes,
1380
+ :work_units_executed_count)
1381
+ SENSITIVE = []
1382
+ include Aws::Structure
1383
+ end
1384
+
1385
+ # Contains details about an error where the query request expired.
1386
+ #
1387
+ # @!attribute [rw] message
1388
+ # A message describing the error.
1389
+ # @return [String]
1390
+ #
1391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ExpiredException AWS API Documentation
1392
+ #
1393
+ class ExpiredException < Struct.new(
1394
+ :message)
1395
+ SENSITIVE = []
1396
+ include Aws::Structure
1397
+ end
1398
+
1399
+ # @note When making an API call, you may pass ExtendTransactionRequest
1400
+ # data as a hash:
1401
+ #
1402
+ # {
1403
+ # transaction_id: "TransactionIdString",
1404
+ # }
1405
+ #
1406
+ # @!attribute [rw] transaction_id
1407
+ # The transaction to extend.
1408
+ # @return [String]
1409
+ #
1410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ExtendTransactionRequest AWS API Documentation
1411
+ #
1412
+ class ExtendTransactionRequest < Struct.new(
1413
+ :transaction_id)
1414
+ SENSITIVE = []
1415
+ include Aws::Structure
1416
+ end
1417
+
1418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ExtendTransactionResponse AWS API Documentation
1419
+ #
1420
+ class ExtendTransactionResponse < Aws::EmptyStructure; end
1421
+
823
1422
  # This structure describes the filtering of columns in a table based on
824
1423
  # a filter condition.
825
1424
  #
@@ -865,7 +1464,7 @@ module Aws::LakeFormation
865
1464
  # The identifier for the Data Catalog. By default, the account ID. The
866
1465
  # Data Catalog is the persistent metadata store. It contains database
867
1466
  # definitions, table definitions, and other control information to
868
- # manage your AWS Lake Formation environment.
1467
+ # manage your Lake Formation environment.
869
1468
  # @return [String]
870
1469
  #
871
1470
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettingsRequest AWS API Documentation
@@ -877,7 +1476,7 @@ module Aws::LakeFormation
877
1476
  end
878
1477
 
879
1478
  # @!attribute [rw] data_lake_settings
880
- # A structure representing a list of AWS Lake Formation principals
1479
+ # A structure representing a list of Lake Formation principals
881
1480
  # designated as data lake administrators.
882
1481
  # @return [Types::DataLakeSettings]
883
1482
  #
@@ -903,7 +1502,7 @@ module Aws::LakeFormation
903
1502
  # The identifier for the Data Catalog. By default, the account ID. The
904
1503
  # Data Catalog is the persistent metadata store. It contains database
905
1504
  # definitions, table definitions, and other control information to
906
- # manage your AWS Lake Formation environment.
1505
+ # manage your Lake Formation environment.
907
1506
  # @return [String]
908
1507
  #
909
1508
  # @!attribute [rw] resource_arn
@@ -962,11 +1561,11 @@ module Aws::LakeFormation
962
1561
  # The identifier for the Data Catalog. By default, the account ID. The
963
1562
  # Data Catalog is the persistent metadata store. It contains database
964
1563
  # definitions, table definitions, and other control information to
965
- # manage your AWS Lake Formation environment.
1564
+ # manage your Lake Formation environment.
966
1565
  # @return [String]
967
1566
  #
968
1567
  # @!attribute [rw] tag_key
969
- # The key-name for the tag.
1568
+ # The key-name for the LF-tag.
970
1569
  # @return [String]
971
1570
  #
972
1571
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetLFTagRequest AWS API Documentation
@@ -982,11 +1581,11 @@ module Aws::LakeFormation
982
1581
  # The identifier for the Data Catalog. By default, the account ID. The
983
1582
  # Data Catalog is the persistent metadata store. It contains database
984
1583
  # definitions, table definitions, and other control information to
985
- # manage your AWS Lake Formation environment.
1584
+ # manage your Lake Formation environment.
986
1585
  # @return [String]
987
1586
  #
988
1587
  # @!attribute [rw] tag_key
989
- # The key-name for the tag.
1588
+ # The key-name for the LF-tag.
990
1589
  # @return [String]
991
1590
  #
992
1591
  # @!attribute [rw] tag_values
@@ -1003,6 +1602,97 @@ module Aws::LakeFormation
1003
1602
  include Aws::Structure
1004
1603
  end
1005
1604
 
1605
+ # @note When making an API call, you may pass GetQueryStateRequest
1606
+ # data as a hash:
1607
+ #
1608
+ # {
1609
+ # query_id: "GetQueryStateRequestQueryIdString", # required
1610
+ # }
1611
+ #
1612
+ # @!attribute [rw] query_id
1613
+ # The ID of the plan query operation.
1614
+ # @return [String]
1615
+ #
1616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetQueryStateRequest AWS API Documentation
1617
+ #
1618
+ class GetQueryStateRequest < Struct.new(
1619
+ :query_id)
1620
+ SENSITIVE = []
1621
+ include Aws::Structure
1622
+ end
1623
+
1624
+ # A structure for the output.
1625
+ #
1626
+ # @!attribute [rw] error
1627
+ # An error message when the operation fails.
1628
+ # @return [String]
1629
+ #
1630
+ # @!attribute [rw] state
1631
+ # The state of a query previously submitted. The possible states are:
1632
+ #
1633
+ # * PENDING: the query is pending.
1634
+ #
1635
+ # * WORKUNITS\_AVAILABLE: some work units are ready for retrieval and
1636
+ # execution.
1637
+ #
1638
+ # * FINISHED: the query planning finished successfully, and all work
1639
+ # units are ready for retrieval and execution.
1640
+ #
1641
+ # * ERROR: an error occurred with the query, such as an invalid query
1642
+ # ID or a backend error.
1643
+ # @return [String]
1644
+ #
1645
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetQueryStateResponse AWS API Documentation
1646
+ #
1647
+ class GetQueryStateResponse < Struct.new(
1648
+ :error,
1649
+ :state)
1650
+ SENSITIVE = []
1651
+ include Aws::Structure
1652
+ end
1653
+
1654
+ # @note When making an API call, you may pass GetQueryStatisticsRequest
1655
+ # data as a hash:
1656
+ #
1657
+ # {
1658
+ # query_id: "GetQueryStatisticsRequestQueryIdString", # required
1659
+ # }
1660
+ #
1661
+ # @!attribute [rw] query_id
1662
+ # The ID of the plan query operation.
1663
+ # @return [String]
1664
+ #
1665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetQueryStatisticsRequest AWS API Documentation
1666
+ #
1667
+ class GetQueryStatisticsRequest < Struct.new(
1668
+ :query_id)
1669
+ SENSITIVE = []
1670
+ include Aws::Structure
1671
+ end
1672
+
1673
+ # @!attribute [rw] execution_statistics
1674
+ # An `ExecutionStatistics` structure containing execution statistics.
1675
+ # @return [Types::ExecutionStatistics]
1676
+ #
1677
+ # @!attribute [rw] planning_statistics
1678
+ # A `PlanningStatistics` structure containing query planning
1679
+ # statistics.
1680
+ # @return [Types::PlanningStatistics]
1681
+ #
1682
+ # @!attribute [rw] query_submission_time
1683
+ # The time that the query was submitted.
1684
+ # @return [Time]
1685
+ #
1686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetQueryStatisticsResponse AWS API Documentation
1687
+ #
1688
+ class GetQueryStatisticsResponse < Struct.new(
1689
+ :execution_statistics,
1690
+ :planning_statistics,
1691
+ :query_submission_time)
1692
+ SENSITIVE = []
1693
+ include Aws::Structure
1694
+ end
1695
+
1006
1696
  # @note When making an API call, you may pass GetResourceLFTagsRequest
1007
1697
  # data as a hash:
1008
1698
  #
@@ -1035,6 +1725,12 @@ module Aws::LakeFormation
1035
1725
  # catalog_id: "CatalogIdString",
1036
1726
  # resource_arn: "ResourceArnString", # required
1037
1727
  # },
1728
+ # data_cells_filter: {
1729
+ # table_catalog_id: "CatalogIdString",
1730
+ # database_name: "NameString",
1731
+ # table_name: "NameString",
1732
+ # name: "NameString",
1733
+ # },
1038
1734
  # lf_tag: {
1039
1735
  # catalog_id: "CatalogIdString",
1040
1736
  # tag_key: "NameString", # required
@@ -1058,15 +1754,16 @@ module Aws::LakeFormation
1058
1754
  # The identifier for the Data Catalog. By default, the account ID. The
1059
1755
  # Data Catalog is the persistent metadata store. It contains database
1060
1756
  # definitions, table definitions, and other control information to
1061
- # manage your AWS Lake Formation environment.
1757
+ # manage your Lake Formation environment.
1062
1758
  # @return [String]
1063
1759
  #
1064
1760
  # @!attribute [rw] resource
1065
- # The resource for which you want to return tags.
1761
+ # The database, table, or column resource for which you want to return
1762
+ # LF-tags.
1066
1763
  # @return [Types::Resource]
1067
1764
  #
1068
1765
  # @!attribute [rw] show_assigned_lf_tags
1069
- # Indicates whether to show the assigned tags.
1766
+ # Indicates whether to show the assigned LF-tags.
1070
1767
  # @return [Boolean]
1071
1768
  #
1072
1769
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetResourceLFTagsRequest AWS API Documentation
@@ -1080,15 +1777,15 @@ module Aws::LakeFormation
1080
1777
  end
1081
1778
 
1082
1779
  # @!attribute [rw] lf_tag_on_database
1083
- # A list of tags applied to a database resource.
1780
+ # A list of LF-tags applied to a database resource.
1084
1781
  # @return [Array<Types::LFTagPair>]
1085
1782
  #
1086
1783
  # @!attribute [rw] lf_tags_on_table
1087
- # A list of tags applied to a table resource.
1784
+ # A list of LF-tags applied to a table resource.
1088
1785
  # @return [Array<Types::LFTagPair>]
1089
1786
  #
1090
1787
  # @!attribute [rw] lf_tags_on_columns
1091
- # A list of tags applied to a column resource.
1788
+ # A list of LF-tags applied to a column resource.
1092
1789
  # @return [Array<Types::ColumnLFTag>]
1093
1790
  #
1094
1791
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetResourceLFTagsResponse AWS API Documentation
@@ -1101,113 +1798,486 @@ module Aws::LakeFormation
1101
1798
  include Aws::Structure
1102
1799
  end
1103
1800
 
1104
- # An encryption operation failed.
1105
- #
1106
- # @!attribute [rw] message
1107
- # A message describing the problem.
1108
- # @return [String]
1109
- #
1110
- # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GlueEncryptionException AWS API Documentation
1111
- #
1112
- class GlueEncryptionException < Struct.new(
1113
- :message)
1114
- SENSITIVE = []
1115
- include Aws::Structure
1116
- end
1117
-
1118
- # @note When making an API call, you may pass GrantPermissionsRequest
1801
+ # @note When making an API call, you may pass GetTableObjectsRequest
1119
1802
  # data as a hash:
1120
1803
  #
1121
1804
  # {
1122
1805
  # catalog_id: "CatalogIdString",
1123
- # principal: { # required
1124
- # data_lake_principal_identifier: "DataLakePrincipalString",
1125
- # },
1126
- # resource: { # required
1127
- # catalog: {
1128
- # },
1129
- # database: {
1130
- # catalog_id: "CatalogIdString",
1131
- # name: "NameString", # required
1132
- # },
1133
- # table: {
1134
- # catalog_id: "CatalogIdString",
1135
- # database_name: "NameString", # required
1136
- # name: "NameString",
1137
- # table_wildcard: {
1138
- # },
1139
- # },
1140
- # table_with_columns: {
1141
- # catalog_id: "CatalogIdString",
1142
- # database_name: "NameString", # required
1143
- # name: "NameString", # required
1144
- # column_names: ["NameString"],
1145
- # column_wildcard: {
1146
- # excluded_column_names: ["NameString"],
1147
- # },
1148
- # },
1149
- # data_location: {
1150
- # catalog_id: "CatalogIdString",
1151
- # resource_arn: "ResourceArnString", # required
1152
- # },
1153
- # lf_tag: {
1154
- # catalog_id: "CatalogIdString",
1155
- # tag_key: "NameString", # required
1156
- # tag_values: ["LFTagValue"], # required
1157
- # },
1158
- # lf_tag_policy: {
1159
- # catalog_id: "CatalogIdString",
1160
- # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
1161
- # expression: [ # required
1162
- # {
1163
- # tag_key: "LFTagKey", # required
1164
- # tag_values: ["LFTagValue"], # required
1165
- # },
1166
- # ],
1167
- # },
1168
- # },
1169
- # permissions: ["ALL"], # required, 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
1170
- # permissions_with_grant_option: ["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
1806
+ # database_name: "NameString", # required
1807
+ # table_name: "NameString", # required
1808
+ # transaction_id: "TransactionIdString",
1809
+ # query_as_of_time: Time.now,
1810
+ # partition_predicate: "PredicateString",
1811
+ # max_results: 1,
1812
+ # next_token: "TokenString",
1171
1813
  # }
1172
1814
  #
1173
1815
  # @!attribute [rw] catalog_id
1174
- # The identifier for the Data Catalog. By default, the account ID. The
1175
- # Data Catalog is the persistent metadata store. It contains database
1176
- # definitions, table definitions, and other control information to
1177
- # manage your AWS Lake Formation environment.
1816
+ # The catalog containing the governed table. Defaults to the caller’s
1817
+ # account.
1178
1818
  # @return [String]
1179
1819
  #
1180
- # @!attribute [rw] principal
1181
- # The principal to be granted the permissions on the resource.
1182
- # Supported principals are IAM users or IAM roles, and they are
1183
- # defined by their principal type and their ARN.
1820
+ # @!attribute [rw] database_name
1821
+ # The database containing the governed table.
1822
+ # @return [String]
1184
1823
  #
1185
- # Note that if you define a resource with a particular ARN, then later
1186
- # delete, and recreate a resource with that same ARN, the resource
1187
- # maintains the permissions already granted.
1188
- # @return [Types::DataLakePrincipal]
1824
+ # @!attribute [rw] table_name
1825
+ # The governed table for which to retrieve objects.
1826
+ # @return [String]
1189
1827
  #
1190
- # @!attribute [rw] resource
1191
- # The resource to which permissions are to be granted. Resources in
1192
- # AWS Lake Formation are the Data Catalog, databases, and tables.
1193
- # @return [Types::Resource]
1828
+ # @!attribute [rw] transaction_id
1829
+ # The transaction ID at which to read the governed table contents. If
1830
+ # this transaction has aborted, an error is returned. If not set,
1831
+ # defaults to the most recent committed transaction. Cannot be
1832
+ # specified along with `QueryAsOfTime`.
1833
+ # @return [String]
1194
1834
  #
1195
- # @!attribute [rw] permissions
1196
- # The permissions granted to the principal on the resource. AWS Lake
1197
- # Formation defines privileges to grant and revoke access to metadata
1198
- # in the Data Catalog and data organized in underlying data storage
1199
- # such as Amazon S3. AWS Lake Formation requires that each principal
1200
- # be authorized to perform a specific task on AWS Lake Formation
1201
- # resources.
1202
- # @return [Array<String>]
1835
+ # @!attribute [rw] query_as_of_time
1836
+ # The time as of when to read the governed table contents. If not set,
1837
+ # the most recent transaction commit time is used. Cannot be specified
1838
+ # along with `TransactionId`.
1839
+ # @return [Time]
1203
1840
  #
1204
- # @!attribute [rw] permissions_with_grant_option
1205
- # Indicates a list of the granted permissions that the principal may
1206
- # pass to other users. These permissions may only be a subset of the
1207
- # permissions granted in the `Privileges`.
1208
- # @return [Array<String>]
1841
+ # @!attribute [rw] partition_predicate
1842
+ # A predicate to filter the objects returned based on the partition
1843
+ # keys defined in the governed table.
1209
1844
  #
1210
- # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissionsRequest AWS API Documentation
1845
+ # * The comparison operators supported are: =, &gt;, &lt;, &gt;=,
1846
+ # &lt;=
1847
+ #
1848
+ # * The logical operators supported are: AND
1849
+ #
1850
+ # * The data types supported are integer, long, date(yyyy-MM-dd),
1851
+ # timestamp(yyyy-MM-dd HH:mm:ssXXX or yyyy-MM-dd HH:mm:ss"), string
1852
+ # and decimal.
1853
+ # @return [String]
1854
+ #
1855
+ # @!attribute [rw] max_results
1856
+ # Specifies how many values to return in a page.
1857
+ # @return [Integer]
1858
+ #
1859
+ # @!attribute [rw] next_token
1860
+ # A continuation token if this is not the first call to retrieve these
1861
+ # objects.
1862
+ # @return [String]
1863
+ #
1864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTableObjectsRequest AWS API Documentation
1865
+ #
1866
+ class GetTableObjectsRequest < Struct.new(
1867
+ :catalog_id,
1868
+ :database_name,
1869
+ :table_name,
1870
+ :transaction_id,
1871
+ :query_as_of_time,
1872
+ :partition_predicate,
1873
+ :max_results,
1874
+ :next_token)
1875
+ SENSITIVE = []
1876
+ include Aws::Structure
1877
+ end
1878
+
1879
+ # @!attribute [rw] objects
1880
+ # A list of objects organized by partition keys.
1881
+ # @return [Array<Types::PartitionObjects>]
1882
+ #
1883
+ # @!attribute [rw] next_token
1884
+ # A continuation token indicating whether additional data is
1885
+ # available.
1886
+ # @return [String]
1887
+ #
1888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTableObjectsResponse AWS API Documentation
1889
+ #
1890
+ class GetTableObjectsResponse < Struct.new(
1891
+ :objects,
1892
+ :next_token)
1893
+ SENSITIVE = []
1894
+ include Aws::Structure
1895
+ end
1896
+
1897
+ # @note When making an API call, you may pass GetTemporaryGluePartitionCredentialsRequest
1898
+ # data as a hash:
1899
+ #
1900
+ # {
1901
+ # table_arn: "ResourceArnString", # required
1902
+ # partition: { # required
1903
+ # values: ["ValueString"], # required
1904
+ # },
1905
+ # 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
1906
+ # duration_seconds: 1,
1907
+ # audit_context: {
1908
+ # additional_audit_context: "AuditContextString",
1909
+ # },
1910
+ # supported_permission_types: ["COLUMN_PERMISSION"], # required, accepts COLUMN_PERMISSION, CELL_FILTER_PERMISSION
1911
+ # }
1912
+ #
1913
+ # @!attribute [rw] table_arn
1914
+ # The ARN of the partitions' table.
1915
+ # @return [String]
1916
+ #
1917
+ # @!attribute [rw] partition
1918
+ # A list of partition values identifying a single partition.
1919
+ # @return [Types::PartitionValueList]
1920
+ #
1921
+ # @!attribute [rw] permissions
1922
+ # Filters the request based on the user having been granted a list of
1923
+ # specified permissions on the requested resource(s).
1924
+ # @return [Array<String>]
1925
+ #
1926
+ # @!attribute [rw] duration_seconds
1927
+ # The time period, between 900 and 21,600 seconds, for the timeout of
1928
+ # the temporary credentials.
1929
+ # @return [Integer]
1930
+ #
1931
+ # @!attribute [rw] audit_context
1932
+ # A structure representing context to access a resource (column names,
1933
+ # query ID, etc).
1934
+ # @return [Types::AuditContext]
1935
+ #
1936
+ # @!attribute [rw] supported_permission_types
1937
+ # A list of supported permission types for the partition. Valid values
1938
+ # are `COLUMN_PERMISSION` and `CELL_FILTER_PERMISSION`.
1939
+ # @return [Array<String>]
1940
+ #
1941
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGluePartitionCredentialsRequest AWS API Documentation
1942
+ #
1943
+ class GetTemporaryGluePartitionCredentialsRequest < Struct.new(
1944
+ :table_arn,
1945
+ :partition,
1946
+ :permissions,
1947
+ :duration_seconds,
1948
+ :audit_context,
1949
+ :supported_permission_types)
1950
+ SENSITIVE = []
1951
+ include Aws::Structure
1952
+ end
1953
+
1954
+ # @!attribute [rw] access_key_id
1955
+ # The access key ID for the temporary credentials.
1956
+ # @return [String]
1957
+ #
1958
+ # @!attribute [rw] secret_access_key
1959
+ # The secret key for the temporary credentials.
1960
+ # @return [String]
1961
+ #
1962
+ # @!attribute [rw] session_token
1963
+ # The session token for the temporary credentials.
1964
+ # @return [String]
1965
+ #
1966
+ # @!attribute [rw] expiration
1967
+ # The date and time when the temporary credentials expire.
1968
+ # @return [Time]
1969
+ #
1970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGluePartitionCredentialsResponse AWS API Documentation
1971
+ #
1972
+ class GetTemporaryGluePartitionCredentialsResponse < Struct.new(
1973
+ :access_key_id,
1974
+ :secret_access_key,
1975
+ :session_token,
1976
+ :expiration)
1977
+ SENSITIVE = []
1978
+ include Aws::Structure
1979
+ end
1980
+
1981
+ # @note When making an API call, you may pass GetTemporaryGlueTableCredentialsRequest
1982
+ # data as a hash:
1983
+ #
1984
+ # {
1985
+ # table_arn: "ResourceArnString", # required
1986
+ # 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
1987
+ # duration_seconds: 1,
1988
+ # audit_context: {
1989
+ # additional_audit_context: "AuditContextString",
1990
+ # },
1991
+ # supported_permission_types: ["COLUMN_PERMISSION"], # required, accepts COLUMN_PERMISSION, CELL_FILTER_PERMISSION
1992
+ # }
1993
+ #
1994
+ # @!attribute [rw] table_arn
1995
+ # The ARN identifying a table in the Data Catalog for the temporary
1996
+ # credentials request.
1997
+ # @return [String]
1998
+ #
1999
+ # @!attribute [rw] permissions
2000
+ # Filters the request based on the user having been granted a list of
2001
+ # specified permissions on the requested resource(s).
2002
+ # @return [Array<String>]
2003
+ #
2004
+ # @!attribute [rw] duration_seconds
2005
+ # The time period, between 900 and 21,600 seconds, for the timeout of
2006
+ # the temporary credentials.
2007
+ # @return [Integer]
2008
+ #
2009
+ # @!attribute [rw] audit_context
2010
+ # A structure representing context to access a resource (column names,
2011
+ # query ID, etc).
2012
+ # @return [Types::AuditContext]
2013
+ #
2014
+ # @!attribute [rw] supported_permission_types
2015
+ # A list of supported permission types for the table. Valid values are
2016
+ # `COLUMN_PERMISSION` and `CELL_FILTER_PERMISSION`.
2017
+ # @return [Array<String>]
2018
+ #
2019
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGlueTableCredentialsRequest AWS API Documentation
2020
+ #
2021
+ class GetTemporaryGlueTableCredentialsRequest < Struct.new(
2022
+ :table_arn,
2023
+ :permissions,
2024
+ :duration_seconds,
2025
+ :audit_context,
2026
+ :supported_permission_types)
2027
+ SENSITIVE = []
2028
+ include Aws::Structure
2029
+ end
2030
+
2031
+ # @!attribute [rw] access_key_id
2032
+ # The access key ID for the temporary credentials.
2033
+ # @return [String]
2034
+ #
2035
+ # @!attribute [rw] secret_access_key
2036
+ # The secret key for the temporary credentials.
2037
+ # @return [String]
2038
+ #
2039
+ # @!attribute [rw] session_token
2040
+ # The session token for the temporary credentials.
2041
+ # @return [String]
2042
+ #
2043
+ # @!attribute [rw] expiration
2044
+ # The date and time when the temporary credentials expire.
2045
+ # @return [Time]
2046
+ #
2047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGlueTableCredentialsResponse AWS API Documentation
2048
+ #
2049
+ class GetTemporaryGlueTableCredentialsResponse < Struct.new(
2050
+ :access_key_id,
2051
+ :secret_access_key,
2052
+ :session_token,
2053
+ :expiration)
2054
+ SENSITIVE = []
2055
+ include Aws::Structure
2056
+ end
2057
+
2058
+ # @note When making an API call, you may pass GetWorkUnitResultsRequest
2059
+ # data as a hash:
2060
+ #
2061
+ # {
2062
+ # query_id: "GetWorkUnitResultsRequestQueryIdString", # required
2063
+ # work_unit_id: 1, # required
2064
+ # work_unit_token: "SyntheticGetWorkUnitResultsRequestWorkUnitTokenString", # required
2065
+ # }
2066
+ #
2067
+ # @!attribute [rw] query_id
2068
+ # The ID of the plan query operation for which to get results.
2069
+ # @return [String]
2070
+ #
2071
+ # @!attribute [rw] work_unit_id
2072
+ # The work unit ID for which to get results. Value generated by
2073
+ # enumerating `WorkUnitIdMin` to `WorkUnitIdMax` (inclusive) from the
2074
+ # `WorkUnitRange` in the output of `GetWorkUnits`.
2075
+ # @return [Integer]
2076
+ #
2077
+ # @!attribute [rw] work_unit_token
2078
+ # A work token used to query the execution service. Token output from
2079
+ # `GetWorkUnits`.
2080
+ # @return [String]
2081
+ #
2082
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetWorkUnitResultsRequest AWS API Documentation
2083
+ #
2084
+ class GetWorkUnitResultsRequest < Struct.new(
2085
+ :query_id,
2086
+ :work_unit_id,
2087
+ :work_unit_token)
2088
+ SENSITIVE = [:work_unit_token]
2089
+ include Aws::Structure
2090
+ end
2091
+
2092
+ # A structure for the output.
2093
+ #
2094
+ # @!attribute [rw] result_stream
2095
+ # Rows returned from the `GetWorkUnitResults` operation as a stream of
2096
+ # Apache Arrow v1.0 messages.
2097
+ # @return [IO]
2098
+ #
2099
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetWorkUnitResultsResponse AWS API Documentation
2100
+ #
2101
+ class GetWorkUnitResultsResponse < Struct.new(
2102
+ :result_stream)
2103
+ SENSITIVE = []
2104
+ include Aws::Structure
2105
+ end
2106
+
2107
+ # @note When making an API call, you may pass GetWorkUnitsRequest
2108
+ # data as a hash:
2109
+ #
2110
+ # {
2111
+ # next_token: "Token",
2112
+ # page_size: 1,
2113
+ # query_id: "GetWorkUnitsRequestQueryIdString", # required
2114
+ # }
2115
+ #
2116
+ # @!attribute [rw] next_token
2117
+ # A continuation token, if this is a continuation call.
2118
+ # @return [String]
2119
+ #
2120
+ # @!attribute [rw] page_size
2121
+ # The size of each page to get in the Amazon Web Services service
2122
+ # call. This does not affect the number of items returned in the
2123
+ # command's output. Setting a smaller page size results in more calls
2124
+ # to the Amazon Web Services service, retrieving fewer items in each
2125
+ # call. This can help prevent the Amazon Web Services service calls
2126
+ # from timing out.
2127
+ # @return [Integer]
2128
+ #
2129
+ # @!attribute [rw] query_id
2130
+ # The ID of the plan query operation.
2131
+ # @return [String]
2132
+ #
2133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetWorkUnitsRequest AWS API Documentation
2134
+ #
2135
+ class GetWorkUnitsRequest < Struct.new(
2136
+ :next_token,
2137
+ :page_size,
2138
+ :query_id)
2139
+ SENSITIVE = []
2140
+ include Aws::Structure
2141
+ end
2142
+
2143
+ # A structure for the output.
2144
+ #
2145
+ # @!attribute [rw] next_token
2146
+ # A continuation token for paginating the returned list of tokens,
2147
+ # returned if the current segment of the list is not the last.
2148
+ # @return [String]
2149
+ #
2150
+ # @!attribute [rw] query_id
2151
+ # The ID of the plan query operation.
2152
+ # @return [String]
2153
+ #
2154
+ # @!attribute [rw] work_unit_ranges
2155
+ # A `WorkUnitRangeList` object that specifies the valid range of work
2156
+ # unit IDs for querying the execution service.
2157
+ # @return [Array<Types::WorkUnitRange>]
2158
+ #
2159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetWorkUnitsResponse AWS API Documentation
2160
+ #
2161
+ class GetWorkUnitsResponse < Struct.new(
2162
+ :next_token,
2163
+ :query_id,
2164
+ :work_unit_ranges)
2165
+ SENSITIVE = []
2166
+ include Aws::Structure
2167
+ end
2168
+
2169
+ # An encryption operation failed.
2170
+ #
2171
+ # @!attribute [rw] message
2172
+ # A message describing the problem.
2173
+ # @return [String]
2174
+ #
2175
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GlueEncryptionException AWS API Documentation
2176
+ #
2177
+ class GlueEncryptionException < Struct.new(
2178
+ :message)
2179
+ SENSITIVE = []
2180
+ include Aws::Structure
2181
+ end
2182
+
2183
+ # @note When making an API call, you may pass GrantPermissionsRequest
2184
+ # data as a hash:
2185
+ #
2186
+ # {
2187
+ # catalog_id: "CatalogIdString",
2188
+ # principal: { # required
2189
+ # data_lake_principal_identifier: "DataLakePrincipalString",
2190
+ # },
2191
+ # resource: { # required
2192
+ # catalog: {
2193
+ # },
2194
+ # database: {
2195
+ # catalog_id: "CatalogIdString",
2196
+ # name: "NameString", # required
2197
+ # },
2198
+ # table: {
2199
+ # catalog_id: "CatalogIdString",
2200
+ # database_name: "NameString", # required
2201
+ # name: "NameString",
2202
+ # table_wildcard: {
2203
+ # },
2204
+ # },
2205
+ # table_with_columns: {
2206
+ # catalog_id: "CatalogIdString",
2207
+ # database_name: "NameString", # required
2208
+ # name: "NameString", # required
2209
+ # column_names: ["NameString"],
2210
+ # column_wildcard: {
2211
+ # excluded_column_names: ["NameString"],
2212
+ # },
2213
+ # },
2214
+ # data_location: {
2215
+ # catalog_id: "CatalogIdString",
2216
+ # resource_arn: "ResourceArnString", # required
2217
+ # },
2218
+ # data_cells_filter: {
2219
+ # table_catalog_id: "CatalogIdString",
2220
+ # database_name: "NameString",
2221
+ # table_name: "NameString",
2222
+ # name: "NameString",
2223
+ # },
2224
+ # lf_tag: {
2225
+ # catalog_id: "CatalogIdString",
2226
+ # tag_key: "NameString", # required
2227
+ # tag_values: ["LFTagValue"], # required
2228
+ # },
2229
+ # lf_tag_policy: {
2230
+ # catalog_id: "CatalogIdString",
2231
+ # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
2232
+ # expression: [ # required
2233
+ # {
2234
+ # tag_key: "LFTagKey", # required
2235
+ # tag_values: ["LFTagValue"], # required
2236
+ # },
2237
+ # ],
2238
+ # },
2239
+ # },
2240
+ # permissions: ["ALL"], # required, 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
2241
+ # permissions_with_grant_option: ["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
2242
+ # }
2243
+ #
2244
+ # @!attribute [rw] catalog_id
2245
+ # The identifier for the Data Catalog. By default, the account ID. The
2246
+ # Data Catalog is the persistent metadata store. It contains database
2247
+ # definitions, table definitions, and other control information to
2248
+ # manage your Lake Formation environment.
2249
+ # @return [String]
2250
+ #
2251
+ # @!attribute [rw] principal
2252
+ # The principal to be granted the permissions on the resource.
2253
+ # Supported principals are IAM users or IAM roles, and they are
2254
+ # defined by their principal type and their ARN.
2255
+ #
2256
+ # Note that if you define a resource with a particular ARN, then later
2257
+ # delete, and recreate a resource with that same ARN, the resource
2258
+ # maintains the permissions already granted.
2259
+ # @return [Types::DataLakePrincipal]
2260
+ #
2261
+ # @!attribute [rw] resource
2262
+ # The resource to which permissions are to be granted. Resources in
2263
+ # Lake Formation are the Data Catalog, databases, and tables.
2264
+ # @return [Types::Resource]
2265
+ #
2266
+ # @!attribute [rw] permissions
2267
+ # The permissions granted to the principal on the resource. Lake
2268
+ # Formation defines privileges to grant and revoke access to metadata
2269
+ # in the Data Catalog and data organized in underlying data storage
2270
+ # such as Amazon S3. Lake Formation requires that each principal be
2271
+ # authorized to perform a specific task on Lake Formation resources.
2272
+ # @return [Array<String>]
2273
+ #
2274
+ # @!attribute [rw] permissions_with_grant_option
2275
+ # Indicates a list of the granted permissions that the principal may
2276
+ # pass to other users. These permissions may only be a subset of the
2277
+ # permissions granted in the `Privileges`.
2278
+ # @return [Array<String>]
2279
+ #
2280
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissionsRequest AWS API Documentation
1211
2281
  #
1212
2282
  class GrantPermissionsRequest < Struct.new(
1213
2283
  :catalog_id,
@@ -1252,8 +2322,8 @@ module Aws::LakeFormation
1252
2322
  end
1253
2323
 
1254
2324
  # A structure that allows an admin to grant user permissions on certain
1255
- # conditions. For example, granting a role access to all columns not
1256
- # tagged 'PII' of tables tagged 'Prod'.
2325
+ # conditions. For example, granting a role access to all columns that do
2326
+ # not have the LF-tag 'PII' in tables that have the LF-tag 'Prod'.
1257
2327
  #
1258
2328
  # @note When making an API call, you may pass LFTag
1259
2329
  # data as a hash:
@@ -1264,7 +2334,7 @@ module Aws::LakeFormation
1264
2334
  # }
1265
2335
  #
1266
2336
  # @!attribute [rw] tag_key
1267
- # The key-name for the tag.
2337
+ # The key-name for the LF-tag.
1268
2338
  # @return [String]
1269
2339
  #
1270
2340
  # @!attribute [rw] tag_values
@@ -1284,11 +2354,12 @@ module Aws::LakeFormation
1284
2354
  # `UnTagResource` operation.
1285
2355
  #
1286
2356
  # @!attribute [rw] lf_tag
1287
- # The key-name of the tag.
2357
+ # The key-name of the LF-tag.
1288
2358
  # @return [Types::LFTagPair]
1289
2359
  #
1290
2360
  # @!attribute [rw] error
1291
- # An error that occurred with the attachment or detachment of the tag.
2361
+ # An error that occurred with the attachment or detachment of the
2362
+ # LF-tag.
1292
2363
  # @return [Types::ErrorDetail]
1293
2364
  #
1294
2365
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/LFTagError AWS API Documentation
@@ -1300,7 +2371,7 @@ module Aws::LakeFormation
1300
2371
  include Aws::Structure
1301
2372
  end
1302
2373
 
1303
- # A structure containing a tag key and values for a resource.
2374
+ # A structure containing an LF-tag key and values for a resource.
1304
2375
  #
1305
2376
  # @note When making an API call, you may pass LFTagKeyResource
1306
2377
  # data as a hash:
@@ -1315,11 +2386,11 @@ module Aws::LakeFormation
1315
2386
  # The identifier for the Data Catalog. By default, the account ID. The
1316
2387
  # Data Catalog is the persistent metadata store. It contains database
1317
2388
  # definitions, table definitions, and other control information to
1318
- # manage your AWS Lake Formation environment.
2389
+ # manage your Lake Formation environment.
1319
2390
  # @return [String]
1320
2391
  #
1321
2392
  # @!attribute [rw] tag_key
1322
- # The key-name for the tag.
2393
+ # The key-name for the LF-tag.
1323
2394
  # @return [String]
1324
2395
  #
1325
2396
  # @!attribute [rw] tag_values
@@ -1336,7 +2407,7 @@ module Aws::LakeFormation
1336
2407
  include Aws::Structure
1337
2408
  end
1338
2409
 
1339
- # A structure containing a tag key-value pair.
2410
+ # A structure containing an LF-tag key-value pair.
1340
2411
  #
1341
2412
  # @note When making an API call, you may pass LFTagPair
1342
2413
  # data as a hash:
@@ -1351,11 +2422,11 @@ module Aws::LakeFormation
1351
2422
  # The identifier for the Data Catalog. By default, the account ID. The
1352
2423
  # Data Catalog is the persistent metadata store. It contains database
1353
2424
  # definitions, table definitions, and other control information to
1354
- # manage your AWS Lake Formation environment.
2425
+ # manage your Lake Formation environment.
1355
2426
  # @return [String]
1356
2427
  #
1357
2428
  # @!attribute [rw] tag_key
1358
- # The key-name for the tag.
2429
+ # The key-name for the LF-tag.
1359
2430
  # @return [String]
1360
2431
  #
1361
2432
  # @!attribute [rw] tag_values
@@ -1372,8 +2443,8 @@ module Aws::LakeFormation
1372
2443
  include Aws::Structure
1373
2444
  end
1374
2445
 
1375
- # A structure containing a list of tag conditions that apply to a
1376
- # resource's tag policy.
2446
+ # A structure containing a list of LF-tag conditions that apply to a
2447
+ # resource's LF-tag policy.
1377
2448
  #
1378
2449
  # @note When making an API call, you may pass LFTagPolicyResource
1379
2450
  # data as a hash:
@@ -1393,15 +2464,16 @@ module Aws::LakeFormation
1393
2464
  # The identifier for the Data Catalog. By default, the account ID. The
1394
2465
  # Data Catalog is the persistent metadata store. It contains database
1395
2466
  # definitions, table definitions, and other control information to
1396
- # manage your AWS Lake Formation environment.
2467
+ # manage your Lake Formation environment.
1397
2468
  # @return [String]
1398
2469
  #
1399
2470
  # @!attribute [rw] resource_type
1400
- # The resource type for which the tag policy applies.
2471
+ # The resource type for which the LF-tag policy applies.
1401
2472
  # @return [String]
1402
2473
  #
1403
2474
  # @!attribute [rw] expression
1404
- # A list of tag conditions that apply to the resource's tag policy.
2475
+ # A list of LF-tag conditions that apply to the resource's LF-tag
2476
+ # policy.
1405
2477
  # @return [Array<Types::LFTag>]
1406
2478
  #
1407
2479
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/LFTagPolicyResource AWS API Documentation
@@ -1414,6 +2486,61 @@ module Aws::LakeFormation
1414
2486
  include Aws::Structure
1415
2487
  end
1416
2488
 
2489
+ # @note When making an API call, you may pass ListDataCellsFilterRequest
2490
+ # data as a hash:
2491
+ #
2492
+ # {
2493
+ # table: {
2494
+ # catalog_id: "CatalogIdString",
2495
+ # database_name: "NameString", # required
2496
+ # name: "NameString",
2497
+ # table_wildcard: {
2498
+ # },
2499
+ # },
2500
+ # next_token: "Token",
2501
+ # max_results: 1,
2502
+ # }
2503
+ #
2504
+ # @!attribute [rw] table
2505
+ # A table in the Glue Data Catalog.
2506
+ # @return [Types::TableResource]
2507
+ #
2508
+ # @!attribute [rw] next_token
2509
+ # A continuation token, if this is a continuation call.
2510
+ # @return [String]
2511
+ #
2512
+ # @!attribute [rw] max_results
2513
+ # The maximum size of the response.
2514
+ # @return [Integer]
2515
+ #
2516
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListDataCellsFilterRequest AWS API Documentation
2517
+ #
2518
+ class ListDataCellsFilterRequest < Struct.new(
2519
+ :table,
2520
+ :next_token,
2521
+ :max_results)
2522
+ SENSITIVE = []
2523
+ include Aws::Structure
2524
+ end
2525
+
2526
+ # @!attribute [rw] data_cells_filters
2527
+ # A list of `DataCellFilter` structures.
2528
+ # @return [Array<Types::DataCellsFilter>]
2529
+ #
2530
+ # @!attribute [rw] next_token
2531
+ # A continuation token, if not all requested data cell filters have
2532
+ # been returned.
2533
+ # @return [String]
2534
+ #
2535
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListDataCellsFilterResponse AWS API Documentation
2536
+ #
2537
+ class ListDataCellsFilterResponse < Struct.new(
2538
+ :data_cells_filters,
2539
+ :next_token)
2540
+ SENSITIVE = []
2541
+ include Aws::Structure
2542
+ end
2543
+
1417
2544
  # @note When making an API call, you may pass ListLFTagsRequest
1418
2545
  # data as a hash:
1419
2546
  #
@@ -1428,15 +2555,16 @@ module Aws::LakeFormation
1428
2555
  # The identifier for the Data Catalog. By default, the account ID. The
1429
2556
  # Data Catalog is the persistent metadata store. It contains database
1430
2557
  # definitions, table definitions, and other control information to
1431
- # manage your AWS Lake Formation environment.
2558
+ # manage your Lake Formation environment.
1432
2559
  # @return [String]
1433
2560
  #
1434
2561
  # @!attribute [rw] resource_share_type
1435
- # If resource share type is `ALL`, returns both in-account tags and
1436
- # shared tags that the requester has permission to view. If resource
1437
- # share type is `FOREIGN`, returns all share tags that the requester
1438
- # can view. If no resource share type is passed, lists tags in the
1439
- # given catalog ID that the requester has permission to view.
2562
+ # If resource share type is `ALL`, returns both in-account LF-tags and
2563
+ # shared LF-tags that the requester has permission to view. If
2564
+ # resource share type is `FOREIGN`, returns all share LF-tags that the
2565
+ # requester can view. If no resource share type is passed, lists
2566
+ # LF-tags in the given catalog ID that the requester has permission to
2567
+ # view.
1440
2568
  # @return [String]
1441
2569
  #
1442
2570
  # @!attribute [rw] max_results
@@ -1460,7 +2588,7 @@ module Aws::LakeFormation
1460
2588
  end
1461
2589
 
1462
2590
  # @!attribute [rw] lf_tags
1463
- # A list of tags that the requested has permission to view.
2591
+ # A list of LF-tags that the requested has permission to view.
1464
2592
  # @return [Array<Types::LFTagPair>]
1465
2593
  #
1466
2594
  # @!attribute [rw] next_token
@@ -1513,6 +2641,12 @@ module Aws::LakeFormation
1513
2641
  # catalog_id: "CatalogIdString",
1514
2642
  # resource_arn: "ResourceArnString", # required
1515
2643
  # },
2644
+ # data_cells_filter: {
2645
+ # table_catalog_id: "CatalogIdString",
2646
+ # database_name: "NameString",
2647
+ # table_name: "NameString",
2648
+ # name: "NameString",
2649
+ # },
1516
2650
  # lf_tag: {
1517
2651
  # catalog_id: "CatalogIdString",
1518
2652
  # tag_key: "NameString", # required
@@ -1531,13 +2665,14 @@ module Aws::LakeFormation
1531
2665
  # },
1532
2666
  # next_token: "Token",
1533
2667
  # max_results: 1,
2668
+ # include_related: "TrueFalseString",
1534
2669
  # }
1535
2670
  #
1536
2671
  # @!attribute [rw] catalog_id
1537
2672
  # The identifier for the Data Catalog. By default, the account ID. The
1538
2673
  # Data Catalog is the persistent metadata store. It contains database
1539
2674
  # definitions, table definitions, and other control information to
1540
- # manage your AWS Lake Formation environment.
2675
+ # manage your Lake Formation environment.
1541
2676
  # @return [String]
1542
2677
  #
1543
2678
  # @!attribute [rw] principal
@@ -1565,6 +2700,11 @@ module Aws::LakeFormation
1565
2700
  # The maximum number of results to return.
1566
2701
  # @return [Integer]
1567
2702
  #
2703
+ # @!attribute [rw] include_related
2704
+ # Indicates that related permissions should be included in the
2705
+ # results.
2706
+ # @return [String]
2707
+ #
1568
2708
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissionsRequest AWS API Documentation
1569
2709
  #
1570
2710
  class ListPermissionsRequest < Struct.new(
@@ -1573,7 +2713,8 @@ module Aws::LakeFormation
1573
2713
  :resource_type,
1574
2714
  :resource,
1575
2715
  :next_token,
1576
- :max_results)
2716
+ :max_results,
2717
+ :include_related)
1577
2718
  SENSITIVE = []
1578
2719
  include Aws::Structure
1579
2720
  end
@@ -1609,46 +2750,174 @@ module Aws::LakeFormation
1609
2750
  # },
1610
2751
  # ],
1611
2752
  # max_results: 1,
1612
- # next_token: "Token",
2753
+ # next_token: "Token",
2754
+ # }
2755
+ #
2756
+ # @!attribute [rw] filter_condition_list
2757
+ # Any applicable row-level and/or column-level filtering conditions
2758
+ # for the resources.
2759
+ # @return [Array<Types::FilterCondition>]
2760
+ #
2761
+ # @!attribute [rw] max_results
2762
+ # The maximum number of resource results.
2763
+ # @return [Integer]
2764
+ #
2765
+ # @!attribute [rw] next_token
2766
+ # A continuation token, if this is not the first call to retrieve
2767
+ # these resources.
2768
+ # @return [String]
2769
+ #
2770
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResourcesRequest AWS API Documentation
2771
+ #
2772
+ class ListResourcesRequest < Struct.new(
2773
+ :filter_condition_list,
2774
+ :max_results,
2775
+ :next_token)
2776
+ SENSITIVE = []
2777
+ include Aws::Structure
2778
+ end
2779
+
2780
+ # @!attribute [rw] resource_info_list
2781
+ # A summary of the data lake resources.
2782
+ # @return [Array<Types::ResourceInfo>]
2783
+ #
2784
+ # @!attribute [rw] next_token
2785
+ # A continuation token, if this is not the first call to retrieve
2786
+ # these resources.
2787
+ # @return [String]
2788
+ #
2789
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResourcesResponse AWS API Documentation
2790
+ #
2791
+ class ListResourcesResponse < Struct.new(
2792
+ :resource_info_list,
2793
+ :next_token)
2794
+ SENSITIVE = []
2795
+ include Aws::Structure
2796
+ end
2797
+
2798
+ # @note When making an API call, you may pass ListTableStorageOptimizersRequest
2799
+ # data as a hash:
2800
+ #
2801
+ # {
2802
+ # catalog_id: "CatalogIdString",
2803
+ # database_name: "NameString", # required
2804
+ # table_name: "NameString", # required
2805
+ # storage_optimizer_type: "COMPACTION", # accepts COMPACTION, GARBAGE_COLLECTION, ALL
2806
+ # max_results: 1,
2807
+ # next_token: "Token",
2808
+ # }
2809
+ #
2810
+ # @!attribute [rw] catalog_id
2811
+ # The Catalog ID of the table.
2812
+ # @return [String]
2813
+ #
2814
+ # @!attribute [rw] database_name
2815
+ # Name of the database where the table is present.
2816
+ # @return [String]
2817
+ #
2818
+ # @!attribute [rw] table_name
2819
+ # Name of the table.
2820
+ # @return [String]
2821
+ #
2822
+ # @!attribute [rw] storage_optimizer_type
2823
+ # The specific type of storage optimizers to list. The supported value
2824
+ # is `compaction`.
2825
+ # @return [String]
2826
+ #
2827
+ # @!attribute [rw] max_results
2828
+ # The number of storage optimizers to return on each call.
2829
+ # @return [Integer]
2830
+ #
2831
+ # @!attribute [rw] next_token
2832
+ # A continuation token, if this is a continuation call.
2833
+ # @return [String]
2834
+ #
2835
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListTableStorageOptimizersRequest AWS API Documentation
2836
+ #
2837
+ class ListTableStorageOptimizersRequest < Struct.new(
2838
+ :catalog_id,
2839
+ :database_name,
2840
+ :table_name,
2841
+ :storage_optimizer_type,
2842
+ :max_results,
2843
+ :next_token)
2844
+ SENSITIVE = []
2845
+ include Aws::Structure
2846
+ end
2847
+
2848
+ # @!attribute [rw] storage_optimizer_list
2849
+ # A list of the storage optimizers associated with a table.
2850
+ # @return [Array<Types::StorageOptimizer>]
2851
+ #
2852
+ # @!attribute [rw] next_token
2853
+ # A continuation token for paginating the returned list of tokens,
2854
+ # returned if the current segment of the list is not the last.
2855
+ # @return [String]
2856
+ #
2857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListTableStorageOptimizersResponse AWS API Documentation
2858
+ #
2859
+ class ListTableStorageOptimizersResponse < Struct.new(
2860
+ :storage_optimizer_list,
2861
+ :next_token)
2862
+ SENSITIVE = []
2863
+ include Aws::Structure
2864
+ end
2865
+
2866
+ # @note When making an API call, you may pass ListTransactionsRequest
2867
+ # data as a hash:
2868
+ #
2869
+ # {
2870
+ # catalog_id: "CatalogIdString",
2871
+ # status_filter: "ALL", # accepts ALL, COMPLETED, ACTIVE, COMMITTED, ABORTED
2872
+ # max_results: 1,
2873
+ # next_token: "TokenString",
1613
2874
  # }
1614
2875
  #
1615
- # @!attribute [rw] filter_condition_list
1616
- # Any applicable row-level and/or column-level filtering conditions
1617
- # for the resources.
1618
- # @return [Array<Types::FilterCondition>]
2876
+ # @!attribute [rw] catalog_id
2877
+ # The catalog for which to list transactions. Defaults to the account
2878
+ # ID of the caller.
2879
+ # @return [String]
2880
+ #
2881
+ # @!attribute [rw] status_filter
2882
+ # A filter indicating the status of transactions to return. Options
2883
+ # are ALL \| COMPLETED \| COMMITTED \| ABORTED \| ACTIVE. The default
2884
+ # is `ALL`.
2885
+ # @return [String]
1619
2886
  #
1620
2887
  # @!attribute [rw] max_results
1621
- # The maximum number of resource results.
2888
+ # The maximum number of transactions to return in a single call.
1622
2889
  # @return [Integer]
1623
2890
  #
1624
2891
  # @!attribute [rw] next_token
1625
- # A continuation token, if this is not the first call to retrieve
1626
- # these resources.
2892
+ # A continuation token if this is not the first call to retrieve
2893
+ # transactions.
1627
2894
  # @return [String]
1628
2895
  #
1629
- # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResourcesRequest AWS API Documentation
2896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListTransactionsRequest AWS API Documentation
1630
2897
  #
1631
- class ListResourcesRequest < Struct.new(
1632
- :filter_condition_list,
2898
+ class ListTransactionsRequest < Struct.new(
2899
+ :catalog_id,
2900
+ :status_filter,
1633
2901
  :max_results,
1634
2902
  :next_token)
1635
2903
  SENSITIVE = []
1636
2904
  include Aws::Structure
1637
2905
  end
1638
2906
 
1639
- # @!attribute [rw] resource_info_list
1640
- # A summary of the data lake resources.
1641
- # @return [Array<Types::ResourceInfo>]
2907
+ # @!attribute [rw] transactions
2908
+ # A list of transactions. The record for each transaction is a
2909
+ # `TransactionDescription` object.
2910
+ # @return [Array<Types::TransactionDescription>]
1642
2911
  #
1643
2912
  # @!attribute [rw] next_token
1644
- # A continuation token, if this is not the first call to retrieve
1645
- # these resources.
2913
+ # A continuation token indicating whether additional data is
2914
+ # available.
1646
2915
  # @return [String]
1647
2916
  #
1648
- # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResourcesResponse AWS API Documentation
2917
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListTransactionsResponse AWS API Documentation
1649
2918
  #
1650
- class ListResourcesResponse < Struct.new(
1651
- :resource_info_list,
2919
+ class ListTransactionsResponse < Struct.new(
2920
+ :transactions,
1652
2921
  :next_token)
1653
2922
  SENSITIVE = []
1654
2923
  include Aws::Structure
@@ -1668,6 +2937,93 @@ module Aws::LakeFormation
1668
2937
  include Aws::Structure
1669
2938
  end
1670
2939
 
2940
+ # A structure containing a list of partition values and table objects.
2941
+ #
2942
+ # @!attribute [rw] partition_values
2943
+ # A list of partition values.
2944
+ # @return [Array<String>]
2945
+ #
2946
+ # @!attribute [rw] objects
2947
+ # A list of table objects
2948
+ # @return [Array<Types::TableObject>]
2949
+ #
2950
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PartitionObjects AWS API Documentation
2951
+ #
2952
+ class PartitionObjects < Struct.new(
2953
+ :partition_values,
2954
+ :objects)
2955
+ SENSITIVE = []
2956
+ include Aws::Structure
2957
+ end
2958
+
2959
+ # Contains a list of values defining partitions.
2960
+ #
2961
+ # @note When making an API call, you may pass PartitionValueList
2962
+ # data as a hash:
2963
+ #
2964
+ # {
2965
+ # values: ["ValueString"], # required
2966
+ # }
2967
+ #
2968
+ # @!attribute [rw] values
2969
+ # The list of partition values.
2970
+ # @return [Array<String>]
2971
+ #
2972
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PartitionValueList AWS API Documentation
2973
+ #
2974
+ class PartitionValueList < Struct.new(
2975
+ :values)
2976
+ SENSITIVE = []
2977
+ include Aws::Structure
2978
+ end
2979
+
2980
+ # The engine does not support filtering data based on the enforced
2981
+ # permissions. For example, if you call the
2982
+ # `GetTemporaryGlueTableCredentials` operation with
2983
+ # `SupportedPermissionType` equal to `ColumnPermission`, but cell-level
2984
+ # permissions exist on the table, this exception is thrown.
2985
+ #
2986
+ # @!attribute [rw] message
2987
+ # A message describing the problem.
2988
+ # @return [String]
2989
+ #
2990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PermissionTypeMismatchException AWS API Documentation
2991
+ #
2992
+ class PermissionTypeMismatchException < Struct.new(
2993
+ :message)
2994
+ SENSITIVE = []
2995
+ include Aws::Structure
2996
+ end
2997
+
2998
+ # Statistics related to the processing of a query statement.
2999
+ #
3000
+ # @!attribute [rw] estimated_data_to_scan_bytes
3001
+ # An estimate of the data that was scanned in bytes.
3002
+ # @return [Integer]
3003
+ #
3004
+ # @!attribute [rw] planning_time_millis
3005
+ # The time that it took to process the request.
3006
+ # @return [Integer]
3007
+ #
3008
+ # @!attribute [rw] queue_time_millis
3009
+ # The time the request was in queue to be processed.
3010
+ # @return [Integer]
3011
+ #
3012
+ # @!attribute [rw] work_units_generated_count
3013
+ # The number of work units generated.
3014
+ # @return [Integer]
3015
+ #
3016
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PlanningStatistics AWS API Documentation
3017
+ #
3018
+ class PlanningStatistics < Struct.new(
3019
+ :estimated_data_to_scan_bytes,
3020
+ :planning_time_millis,
3021
+ :queue_time_millis,
3022
+ :work_units_generated_count)
3023
+ SENSITIVE = []
3024
+ include Aws::Structure
3025
+ end
3026
+
1671
3027
  # Permissions granted to a principal.
1672
3028
  #
1673
3029
  # @note When making an API call, you may pass PrincipalPermissions
@@ -1762,6 +3118,13 @@ module Aws::LakeFormation
1762
3118
  # },
1763
3119
  # ],
1764
3120
  # trusted_resource_owners: ["CatalogIdString"],
3121
+ # allow_external_data_filtering: false,
3122
+ # external_data_filtering_allow_list: [
3123
+ # {
3124
+ # data_lake_principal_identifier: "DataLakePrincipalString",
3125
+ # },
3126
+ # ],
3127
+ # authorized_session_tag_value_list: ["NameString"],
1765
3128
  # },
1766
3129
  # }
1767
3130
  #
@@ -1769,11 +3132,11 @@ module Aws::LakeFormation
1769
3132
  # The identifier for the Data Catalog. By default, the account ID. The
1770
3133
  # Data Catalog is the persistent metadata store. It contains database
1771
3134
  # definitions, table definitions, and other control information to
1772
- # manage your AWS Lake Formation environment.
3135
+ # manage your Lake Formation environment.
1773
3136
  # @return [String]
1774
3137
  #
1775
3138
  # @!attribute [rw] data_lake_settings
1776
- # A structure representing a list of AWS Lake Formation principals
3139
+ # A structure representing a list of Lake Formation principals
1777
3140
  # designated as data lake administrators.
1778
3141
  # @return [Types::DataLakeSettings]
1779
3142
  #
@@ -1790,6 +3153,62 @@ module Aws::LakeFormation
1790
3153
  #
1791
3154
  class PutDataLakeSettingsResponse < Aws::EmptyStructure; end
1792
3155
 
3156
+ # A structure containing information about the query plan.
3157
+ #
3158
+ # @note When making an API call, you may pass QueryPlanningContext
3159
+ # data as a hash:
3160
+ #
3161
+ # {
3162
+ # catalog_id: "CatalogIdString",
3163
+ # database_name: "QueryPlanningContextDatabaseNameString", # required
3164
+ # query_as_of_time: Time.now,
3165
+ # query_parameters: {
3166
+ # "String" => "String",
3167
+ # },
3168
+ # transaction_id: "TransactionIdString",
3169
+ # }
3170
+ #
3171
+ # @!attribute [rw] catalog_id
3172
+ # The ID of the Data Catalog where the partition in question resides.
3173
+ # If none is provided, the Amazon Web Services account ID is used by
3174
+ # default.
3175
+ # @return [String]
3176
+ #
3177
+ # @!attribute [rw] database_name
3178
+ # The database containing the table.
3179
+ # @return [String]
3180
+ #
3181
+ # @!attribute [rw] query_as_of_time
3182
+ # The time as of when to read the table contents. If not set, the most
3183
+ # recent transaction commit time will be used. Cannot be specified
3184
+ # along with `TransactionId`.
3185
+ # @return [Time]
3186
+ #
3187
+ # @!attribute [rw] query_parameters
3188
+ # A map consisting of key-value pairs.
3189
+ # @return [Hash<String,String>]
3190
+ #
3191
+ # @!attribute [rw] transaction_id
3192
+ # The transaction ID at which to read the table contents. If this
3193
+ # transaction is not committed, the read will be treated as part of
3194
+ # that transaction and will see its writes. If this transaction has
3195
+ # aborted, an error will be returned. If not set, defaults to the most
3196
+ # recent committed transaction. Cannot be specified along with
3197
+ # `QueryAsOfTime`.
3198
+ # @return [String]
3199
+ #
3200
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/QueryPlanningContext AWS API Documentation
3201
+ #
3202
+ class QueryPlanningContext < Struct.new(
3203
+ :catalog_id,
3204
+ :database_name,
3205
+ :query_as_of_time,
3206
+ :query_parameters,
3207
+ :transaction_id)
3208
+ SENSITIVE = []
3209
+ include Aws::Structure
3210
+ end
3211
+
1793
3212
  # @note When making an API call, you may pass RegisterResourceRequest
1794
3213
  # data as a hash:
1795
3214
  #
@@ -1805,9 +3224,9 @@ module Aws::LakeFormation
1805
3224
  # @return [String]
1806
3225
  #
1807
3226
  # @!attribute [rw] use_service_linked_role
1808
- # Designates an AWS Identity and Access Management (IAM)
1809
- # service-linked role by registering this role with the Data Catalog.
1810
- # A service-linked role is a unique type of IAM role that is linked
3227
+ # Designates an Identity and Access Management (IAM) service-linked
3228
+ # role by registering this role with the Data Catalog. A
3229
+ # service-linked role is a unique type of IAM role that is linked
1811
3230
  # directly to Lake Formation.
1812
3231
  #
1813
3232
  # For more information, see [Using Service-Linked Roles for Lake
@@ -1868,6 +3287,12 @@ module Aws::LakeFormation
1868
3287
  # catalog_id: "CatalogIdString",
1869
3288
  # resource_arn: "ResourceArnString", # required
1870
3289
  # },
3290
+ # data_cells_filter: {
3291
+ # table_catalog_id: "CatalogIdString",
3292
+ # database_name: "NameString",
3293
+ # table_name: "NameString",
3294
+ # name: "NameString",
3295
+ # },
1871
3296
  # lf_tag: {
1872
3297
  # catalog_id: "CatalogIdString",
1873
3298
  # tag_key: "NameString", # required
@@ -1897,15 +3322,16 @@ module Aws::LakeFormation
1897
3322
  # The identifier for the Data Catalog. By default, the account ID. The
1898
3323
  # Data Catalog is the persistent metadata store. It contains database
1899
3324
  # definitions, table definitions, and other control information to
1900
- # manage your AWS Lake Formation environment.
3325
+ # manage your Lake Formation environment.
1901
3326
  # @return [String]
1902
3327
  #
1903
3328
  # @!attribute [rw] resource
1904
- # The resource where you want to remove a tag.
3329
+ # The database, table, or column resource where you want to remove an
3330
+ # LF-tag.
1905
3331
  # @return [Types::Resource]
1906
3332
  #
1907
3333
  # @!attribute [rw] lf_tags
1908
- # The tags to be removed from the resource.
3334
+ # The LF-tags to be removed from the resource.
1909
3335
  # @return [Array<Types::LFTagPair>]
1910
3336
  #
1911
3337
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RemoveLFTagsFromResourceRequest AWS API Documentation
@@ -1962,6 +3388,12 @@ module Aws::LakeFormation
1962
3388
  # catalog_id: "CatalogIdString",
1963
3389
  # resource_arn: "ResourceArnString", # required
1964
3390
  # },
3391
+ # data_cells_filter: {
3392
+ # table_catalog_id: "CatalogIdString",
3393
+ # database_name: "NameString",
3394
+ # table_name: "NameString",
3395
+ # name: "NameString",
3396
+ # },
1965
3397
  # lf_tag: {
1966
3398
  # catalog_id: "CatalogIdString",
1967
3399
  # tag_key: "NameString", # required
@@ -1983,7 +3415,7 @@ module Aws::LakeFormation
1983
3415
  # The identifier for the Data Catalog. By default, the account ID. The
1984
3416
  # Data Catalog is the persistent metadata store. It contains database
1985
3417
  # definitions, table definitions, and other control information to
1986
- # manage your AWS Lake Formation environment.
3418
+ # manage your Lake Formation environment.
1987
3419
  # @return [Types::CatalogResource]
1988
3420
  #
1989
3421
  # @!attribute [rw] database
@@ -2010,12 +3442,16 @@ module Aws::LakeFormation
2010
3442
  # revoked.
2011
3443
  # @return [Types::DataLocationResource]
2012
3444
  #
3445
+ # @!attribute [rw] data_cells_filter
3446
+ # A data cell filter.
3447
+ # @return [Types::DataCellsFilterResource]
3448
+ #
2013
3449
  # @!attribute [rw] lf_tag
2014
- # The tag key and values attached to a resource.
3450
+ # The LF-tag key and values attached to a resource.
2015
3451
  # @return [Types::LFTagKeyResource]
2016
3452
  #
2017
3453
  # @!attribute [rw] lf_tag_policy
2018
- # A list of tag conditions that define a resource's tag policy.
3454
+ # A list of LF-tag conditions that define a resource's LF-tag policy.
2019
3455
  # @return [Types::LFTagPolicyResource]
2020
3456
  #
2021
3457
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/Resource AWS API Documentation
@@ -2026,14 +3462,14 @@ module Aws::LakeFormation
2026
3462
  :table,
2027
3463
  :table_with_columns,
2028
3464
  :data_location,
3465
+ :data_cells_filter,
2029
3466
  :lf_tag,
2030
3467
  :lf_tag_policy)
2031
3468
  SENSITIVE = []
2032
3469
  include Aws::Structure
2033
3470
  end
2034
3471
 
2035
- # A structure containing information about an AWS Lake Formation
2036
- # resource.
3472
+ # A structure containing information about an Lake Formation resource.
2037
3473
  #
2038
3474
  # @!attribute [rw] resource_arn
2039
3475
  # The Amazon Resource Name (ARN) of the resource.
@@ -2057,6 +3493,21 @@ module Aws::LakeFormation
2057
3493
  include Aws::Structure
2058
3494
  end
2059
3495
 
3496
+ # Contains details about an error related to a resource which is not
3497
+ # ready for a transaction.
3498
+ #
3499
+ # @!attribute [rw] message
3500
+ # A message describing the error.
3501
+ # @return [String]
3502
+ #
3503
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ResourceNotReadyException AWS API Documentation
3504
+ #
3505
+ class ResourceNotReadyException < Struct.new(
3506
+ :message)
3507
+ SENSITIVE = []
3508
+ include Aws::Structure
3509
+ end
3510
+
2060
3511
  # A resource numerical limit was exceeded.
2061
3512
  #
2062
3513
  # @!attribute [rw] message
@@ -2106,6 +3557,12 @@ module Aws::LakeFormation
2106
3557
  # catalog_id: "CatalogIdString",
2107
3558
  # resource_arn: "ResourceArnString", # required
2108
3559
  # },
3560
+ # data_cells_filter: {
3561
+ # table_catalog_id: "CatalogIdString",
3562
+ # database_name: "NameString",
3563
+ # table_name: "NameString",
3564
+ # name: "NameString",
3565
+ # },
2109
3566
  # lf_tag: {
2110
3567
  # catalog_id: "CatalogIdString",
2111
3568
  # tag_key: "NameString", # required
@@ -2130,7 +3587,7 @@ module Aws::LakeFormation
2130
3587
  # The identifier for the Data Catalog. By default, the account ID. The
2131
3588
  # Data Catalog is the persistent metadata store. It contains database
2132
3589
  # definitions, table definitions, and other control information to
2133
- # manage your AWS Lake Formation environment.
3590
+ # manage your Lake Formation environment.
2134
3591
  # @return [String]
2135
3592
  #
2136
3593
  # @!attribute [rw] principal
@@ -2172,6 +3629,34 @@ module Aws::LakeFormation
2172
3629
  #
2173
3630
  class RevokePermissionsResponse < Aws::EmptyStructure; end
2174
3631
 
3632
+ # A PartiQL predicate.
3633
+ #
3634
+ # @note When making an API call, you may pass RowFilter
3635
+ # data as a hash:
3636
+ #
3637
+ # {
3638
+ # filter_expression: "PredicateString",
3639
+ # all_rows_wildcard: {
3640
+ # },
3641
+ # }
3642
+ #
3643
+ # @!attribute [rw] filter_expression
3644
+ # A filter expression.
3645
+ # @return [String]
3646
+ #
3647
+ # @!attribute [rw] all_rows_wildcard
3648
+ # A wildcard for all rows.
3649
+ # @return [Types::AllRowsWildcard]
3650
+ #
3651
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RowFilter AWS API Documentation
3652
+ #
3653
+ class RowFilter < Struct.new(
3654
+ :filter_expression,
3655
+ :all_rows_wildcard)
3656
+ SENSITIVE = []
3657
+ include Aws::Structure
3658
+ end
3659
+
2175
3660
  # @note When making an API call, you may pass SearchDatabasesByLFTagsRequest
2176
3661
  # data as a hash:
2177
3662
  #
@@ -2200,7 +3685,7 @@ module Aws::LakeFormation
2200
3685
  # The identifier for the Data Catalog. By default, the account ID. The
2201
3686
  # Data Catalog is the persistent metadata store. It contains database
2202
3687
  # definitions, table definitions, and other control information to
2203
- # manage your AWS Lake Formation environment.
3688
+ # manage your Lake Formation environment.
2204
3689
  # @return [String]
2205
3690
  #
2206
3691
  # @!attribute [rw] expression
@@ -2208,96 +3693,263 @@ module Aws::LakeFormation
2208
3693
  # resources.
2209
3694
  # @return [Array<Types::LFTag>]
2210
3695
  #
2211
- # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchDatabasesByLFTagsRequest AWS API Documentation
3696
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchDatabasesByLFTagsRequest AWS API Documentation
3697
+ #
3698
+ class SearchDatabasesByLFTagsRequest < Struct.new(
3699
+ :next_token,
3700
+ :max_results,
3701
+ :catalog_id,
3702
+ :expression)
3703
+ SENSITIVE = []
3704
+ include Aws::Structure
3705
+ end
3706
+
3707
+ # @!attribute [rw] next_token
3708
+ # A continuation token, present if the current list segment is not the
3709
+ # last.
3710
+ # @return [String]
3711
+ #
3712
+ # @!attribute [rw] database_list
3713
+ # A list of databases that meet the LF-tag conditions.
3714
+ # @return [Array<Types::TaggedDatabase>]
3715
+ #
3716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchDatabasesByLFTagsResponse AWS API Documentation
3717
+ #
3718
+ class SearchDatabasesByLFTagsResponse < Struct.new(
3719
+ :next_token,
3720
+ :database_list)
3721
+ SENSITIVE = []
3722
+ include Aws::Structure
3723
+ end
3724
+
3725
+ # @note When making an API call, you may pass SearchTablesByLFTagsRequest
3726
+ # data as a hash:
3727
+ #
3728
+ # {
3729
+ # next_token: "Token",
3730
+ # max_results: 1,
3731
+ # catalog_id: "CatalogIdString",
3732
+ # expression: [ # required
3733
+ # {
3734
+ # tag_key: "LFTagKey", # required
3735
+ # tag_values: ["LFTagValue"], # required
3736
+ # },
3737
+ # ],
3738
+ # }
3739
+ #
3740
+ # @!attribute [rw] next_token
3741
+ # A continuation token, if this is not the first call to retrieve this
3742
+ # list.
3743
+ # @return [String]
3744
+ #
3745
+ # @!attribute [rw] max_results
3746
+ # The maximum number of results to return.
3747
+ # @return [Integer]
3748
+ #
3749
+ # @!attribute [rw] catalog_id
3750
+ # The identifier for the Data Catalog. By default, the account ID. The
3751
+ # Data Catalog is the persistent metadata store. It contains database
3752
+ # definitions, table definitions, and other control information to
3753
+ # manage your Lake Formation environment.
3754
+ # @return [String]
3755
+ #
3756
+ # @!attribute [rw] expression
3757
+ # A list of conditions (`LFTag` structures) to search for in table
3758
+ # resources.
3759
+ # @return [Array<Types::LFTag>]
3760
+ #
3761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchTablesByLFTagsRequest AWS API Documentation
3762
+ #
3763
+ class SearchTablesByLFTagsRequest < Struct.new(
3764
+ :next_token,
3765
+ :max_results,
3766
+ :catalog_id,
3767
+ :expression)
3768
+ SENSITIVE = []
3769
+ include Aws::Structure
3770
+ end
3771
+
3772
+ # @!attribute [rw] next_token
3773
+ # A continuation token, present if the current list segment is not the
3774
+ # last.
3775
+ # @return [String]
3776
+ #
3777
+ # @!attribute [rw] table_list
3778
+ # A list of tables that meet the LF-tag conditions.
3779
+ # @return [Array<Types::TaggedTable>]
3780
+ #
3781
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchTablesByLFTagsResponse AWS API Documentation
3782
+ #
3783
+ class SearchTablesByLFTagsResponse < Struct.new(
3784
+ :next_token,
3785
+ :table_list)
3786
+ SENSITIVE = []
3787
+ include Aws::Structure
3788
+ end
3789
+
3790
+ # @note When making an API call, you may pass StartQueryPlanningRequest
3791
+ # data as a hash:
3792
+ #
3793
+ # {
3794
+ # query_planning_context: { # required
3795
+ # catalog_id: "CatalogIdString",
3796
+ # database_name: "QueryPlanningContextDatabaseNameString", # required
3797
+ # query_as_of_time: Time.now,
3798
+ # query_parameters: {
3799
+ # "String" => "String",
3800
+ # },
3801
+ # transaction_id: "TransactionIdString",
3802
+ # },
3803
+ # query_string: "SyntheticStartQueryPlanningRequestQueryString", # required
3804
+ # }
3805
+ #
3806
+ # @!attribute [rw] query_planning_context
3807
+ # A structure containing information about the query plan.
3808
+ # @return [Types::QueryPlanningContext]
3809
+ #
3810
+ # @!attribute [rw] query_string
3811
+ # A PartiQL query statement used as an input to the planner service.
3812
+ # @return [String]
3813
+ #
3814
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StartQueryPlanningRequest AWS API Documentation
3815
+ #
3816
+ class StartQueryPlanningRequest < Struct.new(
3817
+ :query_planning_context,
3818
+ :query_string)
3819
+ SENSITIVE = [:query_string]
3820
+ include Aws::Structure
3821
+ end
3822
+
3823
+ # A structure for the output.
3824
+ #
3825
+ # @!attribute [rw] query_id
3826
+ # The ID of the plan query operation can be used to fetch the actual
3827
+ # work unit descriptors that are produced as the result of the
3828
+ # operation. The ID is also used to get the query state and as an
3829
+ # input to the `Execute` operation.
3830
+ # @return [String]
3831
+ #
3832
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StartQueryPlanningResponse AWS API Documentation
3833
+ #
3834
+ class StartQueryPlanningResponse < Struct.new(
3835
+ :query_id)
3836
+ SENSITIVE = []
3837
+ include Aws::Structure
3838
+ end
3839
+
3840
+ # @note When making an API call, you may pass StartTransactionRequest
3841
+ # data as a hash:
3842
+ #
3843
+ # {
3844
+ # transaction_type: "READ_AND_WRITE", # accepts READ_AND_WRITE, READ_ONLY
3845
+ # }
3846
+ #
3847
+ # @!attribute [rw] transaction_type
3848
+ # Indicates whether this transaction should be read only or read and
3849
+ # write. Writes made using a read-only transaction ID will be
3850
+ # rejected. Read-only transactions do not need to be committed.
3851
+ # @return [String]
2212
3852
  #
2213
- class SearchDatabasesByLFTagsRequest < Struct.new(
2214
- :next_token,
2215
- :max_results,
2216
- :catalog_id,
2217
- :expression)
3853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StartTransactionRequest AWS API Documentation
3854
+ #
3855
+ class StartTransactionRequest < Struct.new(
3856
+ :transaction_type)
2218
3857
  SENSITIVE = []
2219
3858
  include Aws::Structure
2220
3859
  end
2221
3860
 
2222
- # @!attribute [rw] next_token
2223
- # A continuation token, present if the current list segment is not the
2224
- # last.
3861
+ # @!attribute [rw] transaction_id
3862
+ # An opaque identifier for the transaction.
2225
3863
  # @return [String]
2226
3864
  #
2227
- # @!attribute [rw] database_list
2228
- # A list of databases that meet the tag conditions.
2229
- # @return [Array<Types::TaggedDatabase>]
2230
- #
2231
- # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchDatabasesByLFTagsResponse AWS API Documentation
3865
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StartTransactionResponse AWS API Documentation
2232
3866
  #
2233
- class SearchDatabasesByLFTagsResponse < Struct.new(
2234
- :next_token,
2235
- :database_list)
3867
+ class StartTransactionResponse < Struct.new(
3868
+ :transaction_id)
2236
3869
  SENSITIVE = []
2237
3870
  include Aws::Structure
2238
3871
  end
2239
3872
 
2240
- # @note When making an API call, you may pass SearchTablesByLFTagsRequest
2241
- # data as a hash:
3873
+ # Contains details about an error related to statistics not being ready.
2242
3874
  #
2243
- # {
2244
- # next_token: "Token",
2245
- # max_results: 1,
2246
- # catalog_id: "CatalogIdString",
2247
- # expression: [ # required
2248
- # {
2249
- # tag_key: "LFTagKey", # required
2250
- # tag_values: ["LFTagValue"], # required
2251
- # },
2252
- # ],
2253
- # }
3875
+ # @!attribute [rw] message
3876
+ # A message describing the error.
3877
+ # @return [String]
2254
3878
  #
2255
- # @!attribute [rw] next_token
2256
- # A continuation token, if this is not the first call to retrieve this
2257
- # list.
3879
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StatisticsNotReadyYetException AWS API Documentation
3880
+ #
3881
+ class StatisticsNotReadyYetException < Struct.new(
3882
+ :message)
3883
+ SENSITIVE = []
3884
+ include Aws::Structure
3885
+ end
3886
+
3887
+ # A structure describing the configuration and details of a storage
3888
+ # optimizer.
3889
+ #
3890
+ # @!attribute [rw] storage_optimizer_type
3891
+ # The specific type of storage optimizer. The supported value is
3892
+ # `compaction`.
2258
3893
  # @return [String]
2259
3894
  #
2260
- # @!attribute [rw] max_results
2261
- # The maximum number of results to return.
2262
- # @return [Integer]
3895
+ # @!attribute [rw] config
3896
+ # A map of the storage optimizer configuration. Currently contains
3897
+ # only one key-value pair: `is_enabled` indicates true or false for
3898
+ # acceleration.
3899
+ # @return [Hash<String,String>]
2263
3900
  #
2264
- # @!attribute [rw] catalog_id
2265
- # The identifier for the Data Catalog. By default, the account ID. The
2266
- # Data Catalog is the persistent metadata store. It contains database
2267
- # definitions, table definitions, and other control information to
2268
- # manage your AWS Lake Formation environment.
3901
+ # @!attribute [rw] error_message
3902
+ # A message that contains information about any error (if present).
3903
+ #
3904
+ # When an acceleration result has an enabled status, the error message
3905
+ # is empty.
3906
+ #
3907
+ # When an acceleration result has a disabled status, the message
3908
+ # describes an error or simply indicates "disabled by the user".
2269
3909
  # @return [String]
2270
3910
  #
2271
- # @!attribute [rw] expression
2272
- # A list of conditions (`LFTag` structures) to search for in table
2273
- # resources.
2274
- # @return [Array<Types::LFTag>]
3911
+ # @!attribute [rw] warnings
3912
+ # A message that contains information about any warnings (if present).
3913
+ # @return [String]
2275
3914
  #
2276
- # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchTablesByLFTagsRequest AWS API Documentation
3915
+ # @!attribute [rw] last_run_details
3916
+ # When an acceleration result has an enabled status, contains the
3917
+ # details of the last job run.
3918
+ # @return [String]
2277
3919
  #
2278
- class SearchTablesByLFTagsRequest < Struct.new(
2279
- :next_token,
2280
- :max_results,
2281
- :catalog_id,
2282
- :expression)
3920
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StorageOptimizer AWS API Documentation
3921
+ #
3922
+ class StorageOptimizer < Struct.new(
3923
+ :storage_optimizer_type,
3924
+ :config,
3925
+ :error_message,
3926
+ :warnings,
3927
+ :last_run_details)
2283
3928
  SENSITIVE = []
2284
3929
  include Aws::Structure
2285
3930
  end
2286
3931
 
2287
- # @!attribute [rw] next_token
2288
- # A continuation token, present if the current list segment is not the
2289
- # last.
3932
+ # Specifies the details of a governed table.
3933
+ #
3934
+ # @!attribute [rw] uri
3935
+ # The Amazon S3 location of the object.
2290
3936
  # @return [String]
2291
3937
  #
2292
- # @!attribute [rw] table_list
2293
- # A list of tables that meet the tag conditions.
2294
- # @return [Array<Types::TaggedTable>]
3938
+ # @!attribute [rw] etag
3939
+ # The Amazon S3 ETag of the object. Returned by `GetTableObjects` for
3940
+ # validation and used to identify changes to the underlying data.
3941
+ # @return [String]
2295
3942
  #
2296
- # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchTablesByLFTagsResponse AWS API Documentation
3943
+ # @!attribute [rw] size
3944
+ # The size of the Amazon S3 object in bytes.
3945
+ # @return [Integer]
2297
3946
  #
2298
- class SearchTablesByLFTagsResponse < Struct.new(
2299
- :next_token,
2300
- :table_list)
3947
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/TableObject AWS API Documentation
3948
+ #
3949
+ class TableObject < Struct.new(
3950
+ :uri,
3951
+ :etag,
3952
+ :size)
2301
3953
  SENSITIVE = []
2302
3954
  include Aws::Structure
2303
3955
  end
@@ -2418,14 +4070,14 @@ module Aws::LakeFormation
2418
4070
  include Aws::Structure
2419
4071
  end
2420
4072
 
2421
- # A structure describing a database resource with tags.
4073
+ # A structure describing a database resource with LF-tags.
2422
4074
  #
2423
4075
  # @!attribute [rw] database
2424
- # A database that has tags attached to it.
4076
+ # A database that has LF-tags attached to it.
2425
4077
  # @return [Types::DatabaseResource]
2426
4078
  #
2427
4079
  # @!attribute [rw] lf_tags
2428
- # A list of tags attached to the database.
4080
+ # A list of LF-tags attached to the database.
2429
4081
  # @return [Array<Types::LFTagPair>]
2430
4082
  #
2431
4083
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/TaggedDatabase AWS API Documentation
@@ -2437,22 +4089,22 @@ module Aws::LakeFormation
2437
4089
  include Aws::Structure
2438
4090
  end
2439
4091
 
2440
- # A structure describing a table resource with tags.
4092
+ # A structure describing a table resource with LF-tags.
2441
4093
  #
2442
4094
  # @!attribute [rw] table
2443
- # A table that has tags attached to it.
4095
+ # A table that has LF-tags attached to it.
2444
4096
  # @return [Types::TableResource]
2445
4097
  #
2446
4098
  # @!attribute [rw] lf_tag_on_database
2447
- # A list of tags attached to the database where the table resides.
4099
+ # A list of LF-tags attached to the database where the table resides.
2448
4100
  # @return [Array<Types::LFTagPair>]
2449
4101
  #
2450
4102
  # @!attribute [rw] lf_tags_on_table
2451
- # A list of tags attached to the table.
4103
+ # A list of LF-tags attached to the table.
2452
4104
  # @return [Array<Types::LFTagPair>]
2453
4105
  #
2454
4106
  # @!attribute [rw] lf_tags_on_columns
2455
- # A list of tags attached to columns in the table.
4107
+ # A list of LF-tags attached to columns in the table.
2456
4108
  # @return [Array<Types::ColumnLFTag>]
2457
4109
  #
2458
4110
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/TaggedTable AWS API Documentation
@@ -2466,6 +4118,95 @@ module Aws::LakeFormation
2466
4118
  include Aws::Structure
2467
4119
  end
2468
4120
 
4121
+ # Contains details about an error where the query request was throttled.
4122
+ #
4123
+ # @!attribute [rw] message
4124
+ # A message describing the error.
4125
+ # @return [String]
4126
+ #
4127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ThrottledException AWS API Documentation
4128
+ #
4129
+ class ThrottledException < Struct.new(
4130
+ :message)
4131
+ SENSITIVE = []
4132
+ include Aws::Structure
4133
+ end
4134
+
4135
+ # Contains details about an error related to a transaction that was
4136
+ # cancelled.
4137
+ #
4138
+ # @!attribute [rw] message
4139
+ # A message describing the error.
4140
+ # @return [String]
4141
+ #
4142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/TransactionCanceledException AWS API Documentation
4143
+ #
4144
+ class TransactionCanceledException < Struct.new(
4145
+ :message)
4146
+ SENSITIVE = []
4147
+ include Aws::Structure
4148
+ end
4149
+
4150
+ # Contains details about an error related to a transaction commit that
4151
+ # was in progress.
4152
+ #
4153
+ # @!attribute [rw] message
4154
+ # A message describing the error.
4155
+ # @return [String]
4156
+ #
4157
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/TransactionCommitInProgressException AWS API Documentation
4158
+ #
4159
+ class TransactionCommitInProgressException < Struct.new(
4160
+ :message)
4161
+ SENSITIVE = []
4162
+ include Aws::Structure
4163
+ end
4164
+
4165
+ # Contains details about an error where the specified transaction has
4166
+ # already been committed and cannot be used for `UpdateTableObjects`.
4167
+ #
4168
+ # @!attribute [rw] message
4169
+ # A message describing the error.
4170
+ # @return [String]
4171
+ #
4172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/TransactionCommittedException AWS API Documentation
4173
+ #
4174
+ class TransactionCommittedException < Struct.new(
4175
+ :message)
4176
+ SENSITIVE = []
4177
+ include Aws::Structure
4178
+ end
4179
+
4180
+ # A structure that contains information about a transaction.
4181
+ #
4182
+ # @!attribute [rw] transaction_id
4183
+ # The ID of the transaction.
4184
+ # @return [String]
4185
+ #
4186
+ # @!attribute [rw] transaction_status
4187
+ # A status of ACTIVE, COMMITTED, or ABORTED.
4188
+ # @return [String]
4189
+ #
4190
+ # @!attribute [rw] transaction_start_time
4191
+ # The time when the transaction started.
4192
+ # @return [Time]
4193
+ #
4194
+ # @!attribute [rw] transaction_end_time
4195
+ # The time when the transaction committed or aborted, if it is not
4196
+ # currently active.
4197
+ # @return [Time]
4198
+ #
4199
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/TransactionDescription AWS API Documentation
4200
+ #
4201
+ class TransactionDescription < Struct.new(
4202
+ :transaction_id,
4203
+ :transaction_status,
4204
+ :transaction_start_time,
4205
+ :transaction_end_time)
4206
+ SENSITIVE = []
4207
+ include Aws::Structure
4208
+ end
4209
+
2469
4210
  # @note When making an API call, you may pass UpdateLFTagRequest
2470
4211
  # data as a hash:
2471
4212
  #
@@ -2480,19 +4221,19 @@ module Aws::LakeFormation
2480
4221
  # The identifier for the Data Catalog. By default, the account ID. The
2481
4222
  # Data Catalog is the persistent metadata store. It contains database
2482
4223
  # definitions, table definitions, and other control information to
2483
- # manage your AWS Lake Formation environment.
4224
+ # manage your Lake Formation environment.
2484
4225
  # @return [String]
2485
4226
  #
2486
4227
  # @!attribute [rw] tag_key
2487
- # The key-name for the tag for which to add or delete values.
4228
+ # The key-name for the LF-tag for which to add or delete values.
2488
4229
  # @return [String]
2489
4230
  #
2490
4231
  # @!attribute [rw] tag_values_to_delete
2491
- # A list of tag values to delete from the tag.
4232
+ # A list of LF-tag values to delete from the LF-tag.
2492
4233
  # @return [Array<String>]
2493
4234
  #
2494
4235
  # @!attribute [rw] tag_values_to_add
2495
- # A list of tag values to add from the tag.
4236
+ # A list of LF-tag values to add from the LF-tag.
2496
4237
  # @return [Array<String>]
2497
4238
  #
2498
4239
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateLFTagRequest AWS API Documentation
@@ -2519,7 +4260,7 @@ module Aws::LakeFormation
2519
4260
  # }
2520
4261
  #
2521
4262
  # @!attribute [rw] role_arn
2522
- # The new role to use for the given resource registered in AWS Lake
4263
+ # The new role to use for the given resource registered in Lake
2523
4264
  # Formation.
2524
4265
  # @return [String]
2525
4266
  #
@@ -2540,5 +4281,226 @@ module Aws::LakeFormation
2540
4281
  #
2541
4282
  class UpdateResourceResponse < Aws::EmptyStructure; end
2542
4283
 
4284
+ # @note When making an API call, you may pass UpdateTableObjectsRequest
4285
+ # data as a hash:
4286
+ #
4287
+ # {
4288
+ # catalog_id: "CatalogIdString",
4289
+ # database_name: "NameString", # required
4290
+ # table_name: "NameString", # required
4291
+ # transaction_id: "TransactionIdString", # required
4292
+ # write_operations: [ # required
4293
+ # {
4294
+ # add_object: {
4295
+ # uri: "URI", # required
4296
+ # etag: "ETagString", # required
4297
+ # size: 1, # required
4298
+ # partition_values: ["PartitionValueString"],
4299
+ # },
4300
+ # delete_object: {
4301
+ # uri: "URI", # required
4302
+ # etag: "ETagString",
4303
+ # partition_values: ["PartitionValueString"],
4304
+ # },
4305
+ # },
4306
+ # ],
4307
+ # }
4308
+ #
4309
+ # @!attribute [rw] catalog_id
4310
+ # The catalog containing the governed table to update. Defaults to the
4311
+ # caller’s account ID.
4312
+ # @return [String]
4313
+ #
4314
+ # @!attribute [rw] database_name
4315
+ # The database containing the governed table to update.
4316
+ # @return [String]
4317
+ #
4318
+ # @!attribute [rw] table_name
4319
+ # The governed table to update.
4320
+ # @return [String]
4321
+ #
4322
+ # @!attribute [rw] transaction_id
4323
+ # The transaction at which to do the write.
4324
+ # @return [String]
4325
+ #
4326
+ # @!attribute [rw] write_operations
4327
+ # A list of `WriteOperation` objects that define an object to add to
4328
+ # or delete from the manifest for a governed table.
4329
+ # @return [Array<Types::WriteOperation>]
4330
+ #
4331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateTableObjectsRequest AWS API Documentation
4332
+ #
4333
+ class UpdateTableObjectsRequest < Struct.new(
4334
+ :catalog_id,
4335
+ :database_name,
4336
+ :table_name,
4337
+ :transaction_id,
4338
+ :write_operations)
4339
+ SENSITIVE = []
4340
+ include Aws::Structure
4341
+ end
4342
+
4343
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateTableObjectsResponse AWS API Documentation
4344
+ #
4345
+ class UpdateTableObjectsResponse < Aws::EmptyStructure; end
4346
+
4347
+ # @note When making an API call, you may pass UpdateTableStorageOptimizerRequest
4348
+ # data as a hash:
4349
+ #
4350
+ # {
4351
+ # catalog_id: "CatalogIdString",
4352
+ # database_name: "NameString", # required
4353
+ # table_name: "NameString", # required
4354
+ # storage_optimizer_config: { # required
4355
+ # "COMPACTION" => {
4356
+ # "StorageOptimizerConfigKey" => "StorageOptimizerConfigValue",
4357
+ # },
4358
+ # },
4359
+ # }
4360
+ #
4361
+ # @!attribute [rw] catalog_id
4362
+ # The Catalog ID of the table.
4363
+ # @return [String]
4364
+ #
4365
+ # @!attribute [rw] database_name
4366
+ # Name of the database where the table is present.
4367
+ # @return [String]
4368
+ #
4369
+ # @!attribute [rw] table_name
4370
+ # Name of the table for which to enable the storage optimizer.
4371
+ # @return [String]
4372
+ #
4373
+ # @!attribute [rw] storage_optimizer_config
4374
+ # Name of the table for which to enable the storage optimizer.
4375
+ # @return [Hash<String,Hash<String,String>>]
4376
+ #
4377
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateTableStorageOptimizerRequest AWS API Documentation
4378
+ #
4379
+ class UpdateTableStorageOptimizerRequest < Struct.new(
4380
+ :catalog_id,
4381
+ :database_name,
4382
+ :table_name,
4383
+ :storage_optimizer_config)
4384
+ SENSITIVE = []
4385
+ include Aws::Structure
4386
+ end
4387
+
4388
+ # @!attribute [rw] result
4389
+ # A response indicating the success of failure of the operation.
4390
+ # @return [String]
4391
+ #
4392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateTableStorageOptimizerResponse AWS API Documentation
4393
+ #
4394
+ class UpdateTableStorageOptimizerResponse < Struct.new(
4395
+ :result)
4396
+ SENSITIVE = []
4397
+ include Aws::Structure
4398
+ end
4399
+
4400
+ # An object that defines an Amazon S3 object to be deleted if a
4401
+ # transaction cancels, provided that `VirtualPut` was called before
4402
+ # writing the object.
4403
+ #
4404
+ # @note When making an API call, you may pass VirtualObject
4405
+ # data as a hash:
4406
+ #
4407
+ # {
4408
+ # uri: "URI", # required
4409
+ # etag: "ETagString",
4410
+ # }
4411
+ #
4412
+ # @!attribute [rw] uri
4413
+ # The path to the Amazon S3 object. Must start with s3://
4414
+ # @return [String]
4415
+ #
4416
+ # @!attribute [rw] etag
4417
+ # The ETag of the Amazon S3 object.
4418
+ # @return [String]
4419
+ #
4420
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/VirtualObject AWS API Documentation
4421
+ #
4422
+ class VirtualObject < Struct.new(
4423
+ :uri,
4424
+ :etag)
4425
+ SENSITIVE = []
4426
+ include Aws::Structure
4427
+ end
4428
+
4429
+ # Defines the valid range of work unit IDs for querying the execution
4430
+ # service.
4431
+ #
4432
+ # @!attribute [rw] work_unit_id_max
4433
+ # Defines the maximum work unit ID in the range. The maximum value is
4434
+ # inclusive.
4435
+ # @return [Integer]
4436
+ #
4437
+ # @!attribute [rw] work_unit_id_min
4438
+ # Defines the minimum work unit ID in the range.
4439
+ # @return [Integer]
4440
+ #
4441
+ # @!attribute [rw] work_unit_token
4442
+ # A work token used to query the execution service.
4443
+ # @return [String]
4444
+ #
4445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/WorkUnitRange AWS API Documentation
4446
+ #
4447
+ class WorkUnitRange < Struct.new(
4448
+ :work_unit_id_max,
4449
+ :work_unit_id_min,
4450
+ :work_unit_token)
4451
+ SENSITIVE = []
4452
+ include Aws::Structure
4453
+ end
4454
+
4455
+ # Contains details about an error related to work units not being ready.
4456
+ #
4457
+ # @!attribute [rw] message
4458
+ # A message describing the error.
4459
+ # @return [String]
4460
+ #
4461
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/WorkUnitsNotReadyYetException AWS API Documentation
4462
+ #
4463
+ class WorkUnitsNotReadyYetException < Struct.new(
4464
+ :message)
4465
+ SENSITIVE = []
4466
+ include Aws::Structure
4467
+ end
4468
+
4469
+ # Defines an object to add to or delete from a governed table.
4470
+ #
4471
+ # @note When making an API call, you may pass WriteOperation
4472
+ # data as a hash:
4473
+ #
4474
+ # {
4475
+ # add_object: {
4476
+ # uri: "URI", # required
4477
+ # etag: "ETagString", # required
4478
+ # size: 1, # required
4479
+ # partition_values: ["PartitionValueString"],
4480
+ # },
4481
+ # delete_object: {
4482
+ # uri: "URI", # required
4483
+ # etag: "ETagString",
4484
+ # partition_values: ["PartitionValueString"],
4485
+ # },
4486
+ # }
4487
+ #
4488
+ # @!attribute [rw] add_object
4489
+ # A new object to add to the governed table.
4490
+ # @return [Types::AddObjectInput]
4491
+ #
4492
+ # @!attribute [rw] delete_object
4493
+ # An object to delete from the governed table.
4494
+ # @return [Types::DeleteObjectInput]
4495
+ #
4496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/WriteOperation AWS API Documentation
4497
+ #
4498
+ class WriteOperation < Struct.new(
4499
+ :add_object,
4500
+ :delete_object)
4501
+ SENSITIVE = []
4502
+ include Aws::Structure
4503
+ end
4504
+
2543
4505
  end
2544
4506
  end