aws-sdk-lakeformation 1.19.0 → 1.23.0

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