aws-sdk-lakeformation 1.20.0 → 1.42.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -24,69 +24,6 @@ module Aws::LakeFormation
24
24
  include Aws::Structure
25
25
  end
26
26
 
27
- # @note When making an API call, you may pass AddLFTagsToResourceRequest
28
- # data as a hash:
29
- #
30
- # {
31
- # catalog_id: "CatalogIdString",
32
- # resource: { # required
33
- # catalog: {
34
- # },
35
- # database: {
36
- # catalog_id: "CatalogIdString",
37
- # name: "NameString", # required
38
- # },
39
- # table: {
40
- # catalog_id: "CatalogIdString",
41
- # database_name: "NameString", # required
42
- # name: "NameString",
43
- # table_wildcard: {
44
- # },
45
- # },
46
- # table_with_columns: {
47
- # catalog_id: "CatalogIdString",
48
- # database_name: "NameString", # required
49
- # name: "NameString", # required
50
- # column_names: ["NameString"],
51
- # column_wildcard: {
52
- # excluded_column_names: ["NameString"],
53
- # },
54
- # },
55
- # data_location: {
56
- # catalog_id: "CatalogIdString",
57
- # resource_arn: "ResourceArnString", # required
58
- # },
59
- # data_cells_filter: {
60
- # table_catalog_id: "CatalogIdString",
61
- # database_name: "NameString",
62
- # table_name: "NameString",
63
- # name: "NameString",
64
- # },
65
- # lf_tag: {
66
- # catalog_id: "CatalogIdString",
67
- # tag_key: "NameString", # required
68
- # tag_values: ["LFTagValue"], # required
69
- # },
70
- # lf_tag_policy: {
71
- # catalog_id: "CatalogIdString",
72
- # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
73
- # expression: [ # required
74
- # {
75
- # tag_key: "LFTagKey", # required
76
- # tag_values: ["LFTagValue"], # required
77
- # },
78
- # ],
79
- # },
80
- # },
81
- # lf_tags: [ # required
82
- # {
83
- # catalog_id: "CatalogIdString",
84
- # tag_key: "LFTagKey", # required
85
- # tag_values: ["LFTagValue"], # required
86
- # },
87
- # ],
88
- # }
89
- #
90
27
  # @!attribute [rw] catalog_id
91
28
  # The identifier for the Data Catalog. By default, the account ID. The
92
29
  # Data Catalog is the persistent metadata store. It contains database
@@ -127,16 +64,6 @@ module Aws::LakeFormation
127
64
 
128
65
  # A new object to add to the governed table.
129
66
  #
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
67
  # @!attribute [rw] uri
141
68
  # The Amazon S3 location of the object.
142
69
  # @return [String]
@@ -192,72 +119,86 @@ module Aws::LakeFormation
192
119
  include Aws::Structure
193
120
  end
194
121
 
195
- # @note When making an API call, you may pass BatchGrantPermissionsRequest
196
- # data as a hash:
197
- #
198
- # {
199
- # catalog_id: "CatalogIdString",
200
- # entries: [ # required
201
- # {
202
- # id: "Identifier", # required
203
- # principal: {
204
- # data_lake_principal_identifier: "DataLakePrincipalString",
205
- # },
206
- # resource: {
207
- # catalog: {
208
- # },
209
- # database: {
210
- # catalog_id: "CatalogIdString",
211
- # name: "NameString", # required
212
- # },
213
- # table: {
214
- # catalog_id: "CatalogIdString",
215
- # database_name: "NameString", # required
216
- # name: "NameString",
217
- # table_wildcard: {
218
- # },
219
- # },
220
- # table_with_columns: {
221
- # catalog_id: "CatalogIdString",
222
- # database_name: "NameString", # required
223
- # name: "NameString", # required
224
- # column_names: ["NameString"],
225
- # column_wildcard: {
226
- # excluded_column_names: ["NameString"],
227
- # },
228
- # },
229
- # data_location: {
230
- # catalog_id: "CatalogIdString",
231
- # resource_arn: "ResourceArnString", # required
232
- # },
233
- # data_cells_filter: {
234
- # table_catalog_id: "CatalogIdString",
235
- # database_name: "NameString",
236
- # table_name: "NameString",
237
- # name: "NameString",
238
- # },
239
- # lf_tag: {
240
- # catalog_id: "CatalogIdString",
241
- # tag_key: "NameString", # required
242
- # tag_values: ["LFTagValue"], # required
243
- # },
244
- # lf_tag_policy: {
245
- # catalog_id: "CatalogIdString",
246
- # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
247
- # expression: [ # required
248
- # {
249
- # tag_key: "LFTagKey", # required
250
- # tag_values: ["LFTagValue"], # required
251
- # },
252
- # ],
253
- # },
254
- # },
255
- # 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
256
- # 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
257
- # },
258
- # ],
259
- # }
122
+ # @!attribute [rw] saml_assertion
123
+ # A SAML assertion consisting of an assertion statement for the user
124
+ # who needs temporary credentials. This must match the SAML assertion
125
+ # that was issued to IAM. This must be Base64 encoded.
126
+ # @return [String]
127
+ #
128
+ # @!attribute [rw] role_arn
129
+ # The role that represents an IAM principal whose scope down policy
130
+ # allows it to call credential vending APIs such as
131
+ # `GetTemporaryTableCredentials`. The caller must also have
132
+ # iam:PassRole permission on this role.
133
+ # @return [String]
134
+ #
135
+ # @!attribute [rw] principal_arn
136
+ # The Amazon Resource Name (ARN) of the SAML provider in IAM that
137
+ # describes the IdP.
138
+ # @return [String]
139
+ #
140
+ # @!attribute [rw] duration_seconds
141
+ # The time period, between 900 and 43,200 seconds, for the timeout of
142
+ # the temporary credentials.
143
+ # @return [Integer]
144
+ #
145
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AssumeDecoratedRoleWithSAMLRequest AWS API Documentation
146
+ #
147
+ class AssumeDecoratedRoleWithSAMLRequest < Struct.new(
148
+ :saml_assertion,
149
+ :role_arn,
150
+ :principal_arn,
151
+ :duration_seconds)
152
+ SENSITIVE = []
153
+ include Aws::Structure
154
+ end
155
+
156
+ # @!attribute [rw] access_key_id
157
+ # The access key ID for the temporary credentials. (The access key
158
+ # consists of an access key ID and a secret key).
159
+ # @return [String]
160
+ #
161
+ # @!attribute [rw] secret_access_key
162
+ # The secret key for the temporary credentials. (The access key
163
+ # consists of an access key ID and a secret key).
164
+ # @return [String]
165
+ #
166
+ # @!attribute [rw] session_token
167
+ # The session token for the temporary credentials.
168
+ # @return [String]
169
+ #
170
+ # @!attribute [rw] expiration
171
+ # The date and time when the temporary credentials expire.
172
+ # @return [Time]
260
173
  #
174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AssumeDecoratedRoleWithSAMLResponse AWS API Documentation
175
+ #
176
+ class AssumeDecoratedRoleWithSAMLResponse < Struct.new(
177
+ :access_key_id,
178
+ :secret_access_key,
179
+ :session_token,
180
+ :expiration)
181
+ SENSITIVE = []
182
+ include Aws::Structure
183
+ end
184
+
185
+ # A structure used to include auditing information on the privileged
186
+ # API.
187
+ #
188
+ # @!attribute [rw] additional_audit_context
189
+ # The filter engine can populate the 'AdditionalAuditContext'
190
+ # information with the request ID for you to track. This information
191
+ # will be displayed in CloudTrail log in your account.
192
+ # @return [String]
193
+ #
194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AuditContext AWS API Documentation
195
+ #
196
+ class AuditContext < Struct.new(
197
+ :additional_audit_context)
198
+ SENSITIVE = []
199
+ include Aws::Structure
200
+ end
201
+
261
202
  # @!attribute [rw] catalog_id
262
203
  # The identifier for the Data Catalog. By default, the account ID. The
263
204
  # Data Catalog is the persistent metadata store. It contains database
@@ -314,67 +255,6 @@ module Aws::LakeFormation
314
255
  # A permission to a resource granted by batch operation to the
315
256
  # principal.
316
257
  #
317
- # @note When making an API call, you may pass BatchPermissionsRequestEntry
318
- # data as a hash:
319
- #
320
- # {
321
- # id: "Identifier", # required
322
- # principal: {
323
- # data_lake_principal_identifier: "DataLakePrincipalString",
324
- # },
325
- # resource: {
326
- # catalog: {
327
- # },
328
- # database: {
329
- # catalog_id: "CatalogIdString",
330
- # name: "NameString", # required
331
- # },
332
- # table: {
333
- # catalog_id: "CatalogIdString",
334
- # database_name: "NameString", # required
335
- # name: "NameString",
336
- # table_wildcard: {
337
- # },
338
- # },
339
- # table_with_columns: {
340
- # catalog_id: "CatalogIdString",
341
- # database_name: "NameString", # required
342
- # name: "NameString", # required
343
- # column_names: ["NameString"],
344
- # column_wildcard: {
345
- # excluded_column_names: ["NameString"],
346
- # },
347
- # },
348
- # data_location: {
349
- # catalog_id: "CatalogIdString",
350
- # resource_arn: "ResourceArnString", # required
351
- # },
352
- # data_cells_filter: {
353
- # table_catalog_id: "CatalogIdString",
354
- # database_name: "NameString",
355
- # table_name: "NameString",
356
- # name: "NameString",
357
- # },
358
- # lf_tag: {
359
- # catalog_id: "CatalogIdString",
360
- # tag_key: "NameString", # required
361
- # tag_values: ["LFTagValue"], # required
362
- # },
363
- # lf_tag_policy: {
364
- # catalog_id: "CatalogIdString",
365
- # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
366
- # expression: [ # required
367
- # {
368
- # tag_key: "LFTagKey", # required
369
- # tag_values: ["LFTagValue"], # required
370
- # },
371
- # ],
372
- # },
373
- # },
374
- # 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
375
- # 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
376
- # }
377
- #
378
258
  # @!attribute [rw] id
379
259
  # A unique identifier for the batch permissions request entry.
380
260
  # @return [String]
@@ -407,72 +287,6 @@ module Aws::LakeFormation
407
287
  include Aws::Structure
408
288
  end
409
289
 
410
- # @note When making an API call, you may pass BatchRevokePermissionsRequest
411
- # data as a hash:
412
- #
413
- # {
414
- # catalog_id: "CatalogIdString",
415
- # entries: [ # required
416
- # {
417
- # id: "Identifier", # required
418
- # principal: {
419
- # data_lake_principal_identifier: "DataLakePrincipalString",
420
- # },
421
- # resource: {
422
- # catalog: {
423
- # },
424
- # database: {
425
- # catalog_id: "CatalogIdString",
426
- # name: "NameString", # required
427
- # },
428
- # table: {
429
- # catalog_id: "CatalogIdString",
430
- # database_name: "NameString", # required
431
- # name: "NameString",
432
- # table_wildcard: {
433
- # },
434
- # },
435
- # table_with_columns: {
436
- # catalog_id: "CatalogIdString",
437
- # database_name: "NameString", # required
438
- # name: "NameString", # required
439
- # column_names: ["NameString"],
440
- # column_wildcard: {
441
- # excluded_column_names: ["NameString"],
442
- # },
443
- # },
444
- # data_location: {
445
- # catalog_id: "CatalogIdString",
446
- # resource_arn: "ResourceArnString", # required
447
- # },
448
- # data_cells_filter: {
449
- # table_catalog_id: "CatalogIdString",
450
- # database_name: "NameString",
451
- # table_name: "NameString",
452
- # name: "NameString",
453
- # },
454
- # lf_tag: {
455
- # catalog_id: "CatalogIdString",
456
- # tag_key: "NameString", # required
457
- # tag_values: ["LFTagValue"], # required
458
- # },
459
- # lf_tag_policy: {
460
- # catalog_id: "CatalogIdString",
461
- # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
462
- # expression: [ # required
463
- # {
464
- # tag_key: "LFTagKey", # required
465
- # tag_values: ["LFTagValue"], # required
466
- # },
467
- # ],
468
- # },
469
- # },
470
- # 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
471
- # 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
472
- # },
473
- # ],
474
- # }
475
- #
476
290
  # @!attribute [rw] catalog_id
477
291
  # The identifier for the Data Catalog. By default, the account ID. The
478
292
  # Data Catalog is the persistent metadata store. It contains database
@@ -506,13 +320,6 @@ module Aws::LakeFormation
506
320
  include Aws::Structure
507
321
  end
508
322
 
509
- # @note When making an API call, you may pass CancelTransactionRequest
510
- # data as a hash:
511
- #
512
- # {
513
- # transaction_id: "TransactionIdString", # required
514
- # }
515
- #
516
323
  # @!attribute [rw] transaction_id
517
324
  # The transaction to cancel.
518
325
  # @return [String]
@@ -560,13 +367,6 @@ module Aws::LakeFormation
560
367
  # A wildcard object, consisting of an optional list of excluded column
561
368
  # names or indexes.
562
369
  #
563
- # @note When making an API call, you may pass ColumnWildcard
564
- # data as a hash:
565
- #
566
- # {
567
- # excluded_column_names: ["NameString"],
568
- # }
569
- #
570
370
  # @!attribute [rw] excluded_column_names
571
371
  # Excludes column names. Any column with this name will be excluded.
572
372
  # @return [Array<String>]
@@ -579,13 +379,6 @@ module Aws::LakeFormation
579
379
  include Aws::Structure
580
380
  end
581
381
 
582
- # @note When making an API call, you may pass CommitTransactionRequest
583
- # data as a hash:
584
- #
585
- # {
586
- # transaction_id: "TransactionIdString", # required
587
- # }
588
- #
589
382
  # @!attribute [rw] transaction_id
590
383
  # The transaction to commit.
591
384
  # @return [String]
@@ -624,27 +417,6 @@ module Aws::LakeFormation
624
417
  include Aws::Structure
625
418
  end
626
419
 
627
- # @note When making an API call, you may pass CreateDataCellsFilterRequest
628
- # data as a hash:
629
- #
630
- # {
631
- # table_data: { # required
632
- # table_catalog_id: "CatalogIdString", # required
633
- # database_name: "NameString", # required
634
- # table_name: "NameString", # required
635
- # name: "NameString", # required
636
- # row_filter: {
637
- # filter_expression: "PredicateString",
638
- # all_rows_wildcard: {
639
- # },
640
- # },
641
- # column_names: ["NameString"],
642
- # column_wildcard: {
643
- # excluded_column_names: ["NameString"],
644
- # },
645
- # },
646
- # }
647
- #
648
420
  # @!attribute [rw] table_data
649
421
  # A `DataCellsFilter` structure containing information about the data
650
422
  # cells filter.
@@ -662,15 +434,6 @@ module Aws::LakeFormation
662
434
  #
663
435
  class CreateDataCellsFilterResponse < Aws::EmptyStructure; end
664
436
 
665
- # @note When making an API call, you may pass CreateLFTagRequest
666
- # data as a hash:
667
- #
668
- # {
669
- # catalog_id: "CatalogIdString",
670
- # tag_key: "LFTagKey", # required
671
- # tag_values: ["LFTagValue"], # required
672
- # }
673
- #
674
437
  # @!attribute [rw] catalog_id
675
438
  # The identifier for the Data Catalog. By default, the account ID. The
676
439
  # Data Catalog is the persistent metadata store. It contains database
@@ -700,26 +463,29 @@ module Aws::LakeFormation
700
463
  #
701
464
  class CreateLFTagResponse < Aws::EmptyStructure; end
702
465
 
703
- # A structure that describes certain columns on certain rows.
466
+ # @!attribute [rw] principal
467
+ # The Lake Formation principal. Supported principals are IAM users or
468
+ # IAM roles.
469
+ # @return [Types::DataLakePrincipal]
470
+ #
471
+ # @!attribute [rw] resource
472
+ # A structure for the resource.
473
+ # @return [Types::Resource]
474
+ #
475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLakeFormationOptInRequest AWS API Documentation
476
+ #
477
+ class CreateLakeFormationOptInRequest < Struct.new(
478
+ :principal,
479
+ :resource)
480
+ SENSITIVE = []
481
+ include Aws::Structure
482
+ end
483
+
484
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLakeFormationOptInResponse AWS API Documentation
704
485
  #
705
- # @note When making an API call, you may pass DataCellsFilter
706
- # data as a hash:
707
- #
708
- # {
709
- # table_catalog_id: "CatalogIdString", # required
710
- # database_name: "NameString", # required
711
- # table_name: "NameString", # required
712
- # name: "NameString", # required
713
- # row_filter: {
714
- # filter_expression: "PredicateString",
715
- # all_rows_wildcard: {
716
- # },
717
- # },
718
- # column_names: ["NameString"],
719
- # column_wildcard: {
720
- # excluded_column_names: ["NameString"],
721
- # },
722
- # }
486
+ class CreateLakeFormationOptInResponse < Aws::EmptyStructure; end
487
+
488
+ # A structure that describes certain columns on certain rows.
723
489
  #
724
490
  # @!attribute [rw] table_catalog_id
725
491
  # The ID of the catalog to which the table belongs.
@@ -742,13 +508,23 @@ module Aws::LakeFormation
742
508
  # @return [Types::RowFilter]
743
509
  #
744
510
  # @!attribute [rw] column_names
745
- # A list of column names.
511
+ # A list of column names and/or nested column attributes. When
512
+ # specifying nested attributes, use a qualified dot (.) delimited
513
+ # format such as "address"."zip". Nested attributes within this
514
+ # list may not exceed a depth of 5.
746
515
  # @return [Array<String>]
747
516
  #
748
517
  # @!attribute [rw] column_wildcard
749
518
  # A wildcard with exclusions.
519
+ #
520
+ # You must specify either a `ColumnNames` list or the
521
+ # `ColumnWildCard`.
750
522
  # @return [Types::ColumnWildcard]
751
523
  #
524
+ # @!attribute [rw] version_id
525
+ # The ID of the data cells filter version.
526
+ # @return [String]
527
+ #
752
528
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DataCellsFilter AWS API Documentation
753
529
  #
754
530
  class DataCellsFilter < Struct.new(
@@ -758,23 +534,14 @@ module Aws::LakeFormation
758
534
  :name,
759
535
  :row_filter,
760
536
  :column_names,
761
- :column_wildcard)
537
+ :column_wildcard,
538
+ :version_id)
762
539
  SENSITIVE = []
763
540
  include Aws::Structure
764
541
  end
765
542
 
766
543
  # A structure for a data cells filter resource.
767
544
  #
768
- # @note When making an API call, you may pass DataCellsFilterResource
769
- # data as a hash:
770
- #
771
- # {
772
- # table_catalog_id: "CatalogIdString",
773
- # database_name: "NameString",
774
- # table_name: "NameString",
775
- # name: "NameString",
776
- # }
777
- #
778
545
  # @!attribute [rw] table_catalog_id
779
546
  # The ID of the catalog to which the table belongs.
780
547
  # @return [String]
@@ -802,15 +569,8 @@ module Aws::LakeFormation
802
569
  include Aws::Structure
803
570
  end
804
571
 
805
- # The AWS Lake Formation principal. Supported principals are IAM users
806
- # or IAM roles.
807
- #
808
- # @note When making an API call, you may pass DataLakePrincipal
809
- # data as a hash:
810
- #
811
- # {
812
- # data_lake_principal_identifier: "DataLakePrincipalString",
813
- # }
572
+ # The Lake Formation principal. Supported principals are IAM users or
573
+ # IAM roles.
814
574
  #
815
575
  # @!attribute [rw] data_lake_principal_identifier
816
576
  # An identifier for the Lake Formation principal.
@@ -829,44 +589,21 @@ module Aws::LakeFormation
829
589
  # permission entries for default create database and default create
830
590
  # table permissions.
831
591
  #
832
- # @note When making an API call, you may pass DataLakeSettings
833
- # data as a hash:
834
- #
835
- # {
836
- # data_lake_admins: [
837
- # {
838
- # data_lake_principal_identifier: "DataLakePrincipalString",
839
- # },
840
- # ],
841
- # create_database_default_permissions: [
842
- # {
843
- # principal: {
844
- # data_lake_principal_identifier: "DataLakePrincipalString",
845
- # },
846
- # 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
847
- # },
848
- # ],
849
- # create_table_default_permissions: [
850
- # {
851
- # principal: {
852
- # data_lake_principal_identifier: "DataLakePrincipalString",
853
- # },
854
- # 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
855
- # },
856
- # ],
857
- # trusted_resource_owners: ["CatalogIdString"],
858
- # }
859
- #
860
592
  # @!attribute [rw] data_lake_admins
861
593
  # A list of Lake Formation principals. Supported principals are IAM
862
594
  # users or IAM roles.
863
595
  # @return [Array<Types::DataLakePrincipal>]
864
596
  #
597
+ # @!attribute [rw] read_only_admins
598
+ # A list of Lake Formation principals with only view access to the
599
+ # resources, without the ability to make changes. Supported principals
600
+ # are IAM users or IAM roles.
601
+ # @return [Array<Types::DataLakePrincipal>]
602
+ #
865
603
  # @!attribute [rw] create_database_default_permissions
866
604
  # Specifies whether access control on newly created database is
867
605
  # managed by Lake Formation permissions or exclusively by IAM
868
- # permissions. You can override this default setting when you create a
869
- # database.
606
+ # permissions.
870
607
  #
871
608
  # A null value indicates access control by Lake Formation permissions.
872
609
  # A value that assigns ALL to IAM\_ALLOWED\_PRINCIPALS indicates
@@ -910,6 +647,13 @@ module Aws::LakeFormation
910
647
  # [1]: https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html
911
648
  # @return [Array<Types::PrincipalPermissions>]
912
649
  #
650
+ # @!attribute [rw] parameters
651
+ # A key-value map that provides an additional configuration on your
652
+ # data lake. CrossAccountVersion is the key you can configure in the
653
+ # Parameters field. Accepted values for the CrossAccountVersion key
654
+ # are 1, 2, and 3.
655
+ # @return [Hash<String,String>]
656
+ #
913
657
  # @!attribute [rw] trusted_resource_owners
914
658
  # A list of the resource-owning account IDs that the caller's account
915
659
  # can use to share their user access details (user ARNs). The user
@@ -919,13 +663,58 @@ module Aws::LakeFormation
919
663
  # boundary, such as the same team or company.
920
664
  # @return [Array<String>]
921
665
  #
666
+ # @!attribute [rw] allow_external_data_filtering
667
+ # Whether to allow Amazon EMR clusters to access data managed by Lake
668
+ # Formation.
669
+ #
670
+ # If true, you allow Amazon EMR clusters to access data in Amazon S3
671
+ # locations that are registered with Lake Formation.
672
+ #
673
+ # If false or null, no Amazon EMR clusters will be able to access data
674
+ # in Amazon S3 locations that are registered with Lake Formation.
675
+ #
676
+ # For more information, see [(Optional) Allow external data
677
+ # filtering][1].
678
+ #
679
+ #
680
+ #
681
+ # [1]: https://docs.aws.amazon.com/lake-formation/latest/dg/initial-LF-setup.html#external-data-filter
682
+ # @return [Boolean]
683
+ #
684
+ # @!attribute [rw] allow_full_table_external_data_access
685
+ # Whether to allow a third-party query engine to get data access
686
+ # credentials without session tags when a caller has full data access
687
+ # permissions.
688
+ # @return [Boolean]
689
+ #
690
+ # @!attribute [rw] external_data_filtering_allow_list
691
+ # A list of the account IDs of Amazon Web Services accounts with
692
+ # Amazon EMR clusters that are to perform data filtering.&gt;
693
+ # @return [Array<Types::DataLakePrincipal>]
694
+ #
695
+ # @!attribute [rw] authorized_session_tag_value_list
696
+ # Lake Formation relies on a privileged process secured by Amazon EMR
697
+ # or the third party integrator to tag the user's role while assuming
698
+ # it. Lake Formation will publish the acceptable key-value pair, for
699
+ # example key = "LakeFormationTrustedCaller" and value = "TRUE"
700
+ # and the third party integrator must properly tag the temporary
701
+ # security credentials that will be used to call Lake Formation's
702
+ # administrative APIs.
703
+ # @return [Array<String>]
704
+ #
922
705
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DataLakeSettings AWS API Documentation
923
706
  #
924
707
  class DataLakeSettings < Struct.new(
925
708
  :data_lake_admins,
709
+ :read_only_admins,
926
710
  :create_database_default_permissions,
927
711
  :create_table_default_permissions,
928
- :trusted_resource_owners)
712
+ :parameters,
713
+ :trusted_resource_owners,
714
+ :allow_external_data_filtering,
715
+ :allow_full_table_external_data_access,
716
+ :external_data_filtering_allow_list,
717
+ :authorized_session_tag_value_list)
929
718
  SENSITIVE = []
930
719
  include Aws::Structure
931
720
  end
@@ -933,14 +722,6 @@ module Aws::LakeFormation
933
722
  # A structure for a data location object where permissions are granted
934
723
  # or revoked.
935
724
  #
936
- # @note When making an API call, you may pass DataLocationResource
937
- # data as a hash:
938
- #
939
- # {
940
- # catalog_id: "CatalogIdString",
941
- # resource_arn: "ResourceArnString", # required
942
- # }
943
- #
944
725
  # @!attribute [rw] catalog_id
945
726
  # The identifier for the Data Catalog where the location is registered
946
727
  # with Lake Formation. By default, it is the account ID of the caller.
@@ -962,14 +743,6 @@ module Aws::LakeFormation
962
743
 
963
744
  # A structure for the database object.
964
745
  #
965
- # @note When making an API call, you may pass DatabaseResource
966
- # data as a hash:
967
- #
968
- # {
969
- # catalog_id: "CatalogIdString",
970
- # name: "NameString", # required
971
- # }
972
- #
973
746
  # @!attribute [rw] catalog_id
974
747
  # The identifier for the Data Catalog. By default, it is the account
975
748
  # ID of the caller.
@@ -988,16 +761,6 @@ module Aws::LakeFormation
988
761
  include Aws::Structure
989
762
  end
990
763
 
991
- # @note When making an API call, you may pass DeleteDataCellsFilterRequest
992
- # data as a hash:
993
- #
994
- # {
995
- # table_catalog_id: "CatalogIdString",
996
- # database_name: "NameString",
997
- # table_name: "NameString",
998
- # name: "NameString",
999
- # }
1000
- #
1001
764
  # @!attribute [rw] table_catalog_id
1002
765
  # The ID of the catalog to which the table belongs.
1003
766
  # @return [String]
@@ -1029,14 +792,6 @@ module Aws::LakeFormation
1029
792
  #
1030
793
  class DeleteDataCellsFilterResponse < Aws::EmptyStructure; end
1031
794
 
1032
- # @note When making an API call, you may pass DeleteLFTagRequest
1033
- # data as a hash:
1034
- #
1035
- # {
1036
- # catalog_id: "CatalogIdString",
1037
- # tag_key: "LFTagKey", # required
1038
- # }
1039
- #
1040
795
  # @!attribute [rw] catalog_id
1041
796
  # The identifier for the Data Catalog. By default, the account ID. The
1042
797
  # Data Catalog is the persistent metadata store. It contains database
@@ -1061,16 +816,29 @@ module Aws::LakeFormation
1061
816
  #
1062
817
  class DeleteLFTagResponse < Aws::EmptyStructure; end
1063
818
 
1064
- # An object to delete from the governed table.
819
+ # @!attribute [rw] principal
820
+ # The Lake Formation principal. Supported principals are IAM users or
821
+ # IAM roles.
822
+ # @return [Types::DataLakePrincipal]
823
+ #
824
+ # @!attribute [rw] resource
825
+ # A structure for the resource.
826
+ # @return [Types::Resource]
1065
827
  #
1066
- # @note When making an API call, you may pass DeleteObjectInput
1067
- # data as a hash:
828
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLakeFormationOptInRequest AWS API Documentation
1068
829
  #
1069
- # {
1070
- # uri: "URI", # required
1071
- # etag: "ETagString",
1072
- # partition_values: ["PartitionValueString"],
1073
- # }
830
+ class DeleteLakeFormationOptInRequest < Struct.new(
831
+ :principal,
832
+ :resource)
833
+ SENSITIVE = []
834
+ include Aws::Structure
835
+ end
836
+
837
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLakeFormationOptInResponse AWS API Documentation
838
+ #
839
+ class DeleteLakeFormationOptInResponse < Aws::EmptyStructure; end
840
+
841
+ # An object to delete from the governed table.
1074
842
  #
1075
843
  # @!attribute [rw] uri
1076
844
  # The Amazon S3 location of the object to delete.
@@ -1096,22 +864,6 @@ module Aws::LakeFormation
1096
864
  include Aws::Structure
1097
865
  end
1098
866
 
1099
- # @note When making an API call, you may pass DeleteObjectsOnCancelRequest
1100
- # data as a hash:
1101
- #
1102
- # {
1103
- # catalog_id: "CatalogIdString",
1104
- # database_name: "NameString", # required
1105
- # table_name: "NameString", # required
1106
- # transaction_id: "TransactionIdString", # required
1107
- # objects: [ # required
1108
- # {
1109
- # uri: "URI", # required
1110
- # etag: "ETagString",
1111
- # },
1112
- # ],
1113
- # }
1114
- #
1115
867
  # @!attribute [rw] catalog_id
1116
868
  # The Glue data catalog that contains the governed table. Defaults to
1117
869
  # the current account ID.
@@ -1150,13 +902,6 @@ module Aws::LakeFormation
1150
902
  #
1151
903
  class DeleteObjectsOnCancelResponse < Aws::EmptyStructure; end
1152
904
 
1153
- # @note When making an API call, you may pass DeregisterResourceRequest
1154
- # data as a hash:
1155
- #
1156
- # {
1157
- # resource_arn: "ResourceArnString", # required
1158
- # }
1159
- #
1160
905
  # @!attribute [rw] resource_arn
1161
906
  # The Amazon Resource Name (ARN) of the resource that you want to
1162
907
  # deregister.
@@ -1174,13 +919,6 @@ module Aws::LakeFormation
1174
919
  #
1175
920
  class DeregisterResourceResponse < Aws::EmptyStructure; end
1176
921
 
1177
- # @note When making an API call, you may pass DescribeResourceRequest
1178
- # data as a hash:
1179
- #
1180
- # {
1181
- # resource_arn: "ResourceArnString", # required
1182
- # }
1183
- #
1184
922
  # @!attribute [rw] resource_arn
1185
923
  # The resource ARN.
1186
924
  # @return [String]
@@ -1205,13 +943,6 @@ module Aws::LakeFormation
1205
943
  include Aws::Structure
1206
944
  end
1207
945
 
1208
- # @note When making an API call, you may pass DescribeTransactionRequest
1209
- # data as a hash:
1210
- #
1211
- # {
1212
- # transaction_id: "TransactionIdString", # required
1213
- # }
1214
- #
1215
946
  # @!attribute [rw] transaction_id
1216
947
  # The transaction for which to return status.
1217
948
  # @return [String]
@@ -1255,7 +986,7 @@ module Aws::LakeFormation
1255
986
  include Aws::Structure
1256
987
  end
1257
988
 
1258
- # A specified entity does not exist
989
+ # A specified entity does not exist.
1259
990
  #
1260
991
  # @!attribute [rw] message
1261
992
  # A message describing the problem.
@@ -1326,13 +1057,6 @@ module Aws::LakeFormation
1326
1057
  include Aws::Structure
1327
1058
  end
1328
1059
 
1329
- # @note When making an API call, you may pass ExtendTransactionRequest
1330
- # data as a hash:
1331
- #
1332
- # {
1333
- # transaction_id: "TransactionIdString",
1334
- # }
1335
- #
1336
1060
  # @!attribute [rw] transaction_id
1337
1061
  # The transaction to extend.
1338
1062
  # @return [String]
@@ -1352,15 +1076,6 @@ module Aws::LakeFormation
1352
1076
  # This structure describes the filtering of columns in a table based on
1353
1077
  # a filter condition.
1354
1078
  #
1355
- # @note When making an API call, you may pass FilterCondition
1356
- # data as a hash:
1357
- #
1358
- # {
1359
- # field: "RESOURCE_ARN", # accepts RESOURCE_ARN, ROLE_ARN, LAST_MODIFIED
1360
- # comparison_operator: "EQ", # accepts EQ, NE, LE, LT, GE, GT, CONTAINS, NOT_CONTAINS, BEGINS_WITH, IN, BETWEEN
1361
- # string_value_list: ["StringValue"],
1362
- # }
1363
- #
1364
1079
  # @!attribute [rw] field
1365
1080
  # The field to filter in the filter condition.
1366
1081
  # @return [String]
@@ -1383,13 +1098,45 @@ module Aws::LakeFormation
1383
1098
  include Aws::Structure
1384
1099
  end
1385
1100
 
1386
- # @note When making an API call, you may pass GetDataLakeSettingsRequest
1387
- # data as a hash:
1101
+ # @!attribute [rw] table_catalog_id
1102
+ # The ID of the catalog to which the table belongs.
1103
+ # @return [String]
1104
+ #
1105
+ # @!attribute [rw] database_name
1106
+ # A database in the Glue Data Catalog.
1107
+ # @return [String]
1108
+ #
1109
+ # @!attribute [rw] table_name
1110
+ # A table in the database.
1111
+ # @return [String]
1112
+ #
1113
+ # @!attribute [rw] name
1114
+ # The name given by the user to the data filter cell.
1115
+ # @return [String]
1116
+ #
1117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataCellsFilterRequest AWS API Documentation
1118
+ #
1119
+ class GetDataCellsFilterRequest < Struct.new(
1120
+ :table_catalog_id,
1121
+ :database_name,
1122
+ :table_name,
1123
+ :name)
1124
+ SENSITIVE = []
1125
+ include Aws::Structure
1126
+ end
1127
+
1128
+ # @!attribute [rw] data_cells_filter
1129
+ # A structure that describes certain columns on certain rows.
1130
+ # @return [Types::DataCellsFilter]
1388
1131
  #
1389
- # {
1390
- # catalog_id: "CatalogIdString",
1391
- # }
1132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataCellsFilterResponse AWS API Documentation
1392
1133
  #
1134
+ class GetDataCellsFilterResponse < Struct.new(
1135
+ :data_cells_filter)
1136
+ SENSITIVE = []
1137
+ include Aws::Structure
1138
+ end
1139
+
1393
1140
  # @!attribute [rw] catalog_id
1394
1141
  # The identifier for the Data Catalog. By default, the account ID. The
1395
1142
  # Data Catalog is the persistent metadata store. It contains database
@@ -1418,16 +1165,6 @@ module Aws::LakeFormation
1418
1165
  include Aws::Structure
1419
1166
  end
1420
1167
 
1421
- # @note When making an API call, you may pass GetEffectivePermissionsForPathRequest
1422
- # data as a hash:
1423
- #
1424
- # {
1425
- # catalog_id: "CatalogIdString",
1426
- # resource_arn: "ResourceArnString", # required
1427
- # next_token: "Token",
1428
- # max_results: 1,
1429
- # }
1430
- #
1431
1168
  # @!attribute [rw] catalog_id
1432
1169
  # The identifier for the Data Catalog. By default, the account ID. The
1433
1170
  # Data Catalog is the persistent metadata store. It contains database
@@ -1479,14 +1216,6 @@ module Aws::LakeFormation
1479
1216
  include Aws::Structure
1480
1217
  end
1481
1218
 
1482
- # @note When making an API call, you may pass GetLFTagRequest
1483
- # data as a hash:
1484
- #
1485
- # {
1486
- # catalog_id: "CatalogIdString",
1487
- # tag_key: "LFTagKey", # required
1488
- # }
1489
- #
1490
1219
  # @!attribute [rw] catalog_id
1491
1220
  # The identifier for the Data Catalog. By default, the account ID. The
1492
1221
  # Data Catalog is the persistent metadata store. It contains database
@@ -1532,13 +1261,6 @@ module Aws::LakeFormation
1532
1261
  include Aws::Structure
1533
1262
  end
1534
1263
 
1535
- # @note When making an API call, you may pass GetQueryStateRequest
1536
- # data as a hash:
1537
- #
1538
- # {
1539
- # query_id: "GetQueryStateRequestQueryIdString", # required
1540
- # }
1541
- #
1542
1264
  # @!attribute [rw] query_id
1543
1265
  # The ID of the plan query operation.
1544
1266
  # @return [String]
@@ -1581,13 +1303,6 @@ module Aws::LakeFormation
1581
1303
  include Aws::Structure
1582
1304
  end
1583
1305
 
1584
- # @note When making an API call, you may pass GetQueryStatisticsRequest
1585
- # data as a hash:
1586
- #
1587
- # {
1588
- # query_id: "GetQueryStatisticsRequestQueryIdString", # required
1589
- # }
1590
- #
1591
1306
  # @!attribute [rw] query_id
1592
1307
  # The ID of the plan query operation.
1593
1308
  # @return [String]
@@ -1623,63 +1338,6 @@ module Aws::LakeFormation
1623
1338
  include Aws::Structure
1624
1339
  end
1625
1340
 
1626
- # @note When making an API call, you may pass GetResourceLFTagsRequest
1627
- # data as a hash:
1628
- #
1629
- # {
1630
- # catalog_id: "CatalogIdString",
1631
- # resource: { # required
1632
- # catalog: {
1633
- # },
1634
- # database: {
1635
- # catalog_id: "CatalogIdString",
1636
- # name: "NameString", # required
1637
- # },
1638
- # table: {
1639
- # catalog_id: "CatalogIdString",
1640
- # database_name: "NameString", # required
1641
- # name: "NameString",
1642
- # table_wildcard: {
1643
- # },
1644
- # },
1645
- # table_with_columns: {
1646
- # catalog_id: "CatalogIdString",
1647
- # database_name: "NameString", # required
1648
- # name: "NameString", # required
1649
- # column_names: ["NameString"],
1650
- # column_wildcard: {
1651
- # excluded_column_names: ["NameString"],
1652
- # },
1653
- # },
1654
- # data_location: {
1655
- # catalog_id: "CatalogIdString",
1656
- # resource_arn: "ResourceArnString", # required
1657
- # },
1658
- # data_cells_filter: {
1659
- # table_catalog_id: "CatalogIdString",
1660
- # database_name: "NameString",
1661
- # table_name: "NameString",
1662
- # name: "NameString",
1663
- # },
1664
- # lf_tag: {
1665
- # catalog_id: "CatalogIdString",
1666
- # tag_key: "NameString", # required
1667
- # tag_values: ["LFTagValue"], # required
1668
- # },
1669
- # lf_tag_policy: {
1670
- # catalog_id: "CatalogIdString",
1671
- # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
1672
- # expression: [ # required
1673
- # {
1674
- # tag_key: "LFTagKey", # required
1675
- # tag_values: ["LFTagValue"], # required
1676
- # },
1677
- # ],
1678
- # },
1679
- # },
1680
- # show_assigned_lf_tags: false,
1681
- # }
1682
- #
1683
1341
  # @!attribute [rw] catalog_id
1684
1342
  # The identifier for the Data Catalog. By default, the account ID. The
1685
1343
  # Data Catalog is the persistent metadata store. It contains database
@@ -1728,20 +1386,6 @@ module Aws::LakeFormation
1728
1386
  include Aws::Structure
1729
1387
  end
1730
1388
 
1731
- # @note When making an API call, you may pass GetTableObjectsRequest
1732
- # data as a hash:
1733
- #
1734
- # {
1735
- # catalog_id: "CatalogIdString",
1736
- # database_name: "NameString", # required
1737
- # table_name: "NameString", # required
1738
- # transaction_id: "TransactionIdString",
1739
- # query_as_of_time: Time.now,
1740
- # partition_predicate: "PredicateString",
1741
- # max_results: 1,
1742
- # next_token: "TokenString",
1743
- # }
1744
- #
1745
1389
  # @!attribute [rw] catalog_id
1746
1390
  # The catalog containing the governed table. Defaults to the caller’s
1747
1391
  # account.
@@ -1824,15 +1468,138 @@ module Aws::LakeFormation
1824
1468
  include Aws::Structure
1825
1469
  end
1826
1470
 
1827
- # @note When making an API call, you may pass GetWorkUnitResultsRequest
1828
- # data as a hash:
1471
+ # @!attribute [rw] table_arn
1472
+ # The ARN of the partitions' table.
1473
+ # @return [String]
1474
+ #
1475
+ # @!attribute [rw] partition
1476
+ # A list of partition values identifying a single partition.
1477
+ # @return [Types::PartitionValueList]
1478
+ #
1479
+ # @!attribute [rw] permissions
1480
+ # Filters the request based on the user having been granted a list of
1481
+ # specified permissions on the requested resource(s).
1482
+ # @return [Array<String>]
1483
+ #
1484
+ # @!attribute [rw] duration_seconds
1485
+ # The time period, between 900 and 21,600 seconds, for the timeout of
1486
+ # the temporary credentials.
1487
+ # @return [Integer]
1488
+ #
1489
+ # @!attribute [rw] audit_context
1490
+ # A structure representing context to access a resource (column names,
1491
+ # query ID, etc).
1492
+ # @return [Types::AuditContext]
1493
+ #
1494
+ # @!attribute [rw] supported_permission_types
1495
+ # A list of supported permission types for the partition. Valid values
1496
+ # are `COLUMN_PERMISSION` and `CELL_FILTER_PERMISSION`.
1497
+ # @return [Array<String>]
1498
+ #
1499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGluePartitionCredentialsRequest AWS API Documentation
1500
+ #
1501
+ class GetTemporaryGluePartitionCredentialsRequest < Struct.new(
1502
+ :table_arn,
1503
+ :partition,
1504
+ :permissions,
1505
+ :duration_seconds,
1506
+ :audit_context,
1507
+ :supported_permission_types)
1508
+ SENSITIVE = []
1509
+ include Aws::Structure
1510
+ end
1511
+
1512
+ # @!attribute [rw] access_key_id
1513
+ # The access key ID for the temporary credentials.
1514
+ # @return [String]
1515
+ #
1516
+ # @!attribute [rw] secret_access_key
1517
+ # The secret key for the temporary credentials.
1518
+ # @return [String]
1829
1519
  #
1830
- # {
1831
- # query_id: "GetWorkUnitResultsRequestQueryIdString", # required
1832
- # work_unit_id: 1, # required
1833
- # work_unit_token: "SyntheticGetWorkUnitResultsRequestWorkUnitTokenString", # required
1834
- # }
1520
+ # @!attribute [rw] session_token
1521
+ # The session token for the temporary credentials.
1522
+ # @return [String]
1835
1523
  #
1524
+ # @!attribute [rw] expiration
1525
+ # The date and time when the temporary credentials expire.
1526
+ # @return [Time]
1527
+ #
1528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGluePartitionCredentialsResponse AWS API Documentation
1529
+ #
1530
+ class GetTemporaryGluePartitionCredentialsResponse < Struct.new(
1531
+ :access_key_id,
1532
+ :secret_access_key,
1533
+ :session_token,
1534
+ :expiration)
1535
+ SENSITIVE = []
1536
+ include Aws::Structure
1537
+ end
1538
+
1539
+ # @!attribute [rw] table_arn
1540
+ # The ARN identifying a table in the Data Catalog for the temporary
1541
+ # credentials request.
1542
+ # @return [String]
1543
+ #
1544
+ # @!attribute [rw] permissions
1545
+ # Filters the request based on the user having been granted a list of
1546
+ # specified permissions on the requested resource(s).
1547
+ # @return [Array<String>]
1548
+ #
1549
+ # @!attribute [rw] duration_seconds
1550
+ # The time period, between 900 and 21,600 seconds, for the timeout of
1551
+ # the temporary credentials.
1552
+ # @return [Integer]
1553
+ #
1554
+ # @!attribute [rw] audit_context
1555
+ # A structure representing context to access a resource (column names,
1556
+ # query ID, etc).
1557
+ # @return [Types::AuditContext]
1558
+ #
1559
+ # @!attribute [rw] supported_permission_types
1560
+ # A list of supported permission types for the table. Valid values are
1561
+ # `COLUMN_PERMISSION` and `CELL_FILTER_PERMISSION`.
1562
+ # @return [Array<String>]
1563
+ #
1564
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGlueTableCredentialsRequest AWS API Documentation
1565
+ #
1566
+ class GetTemporaryGlueTableCredentialsRequest < Struct.new(
1567
+ :table_arn,
1568
+ :permissions,
1569
+ :duration_seconds,
1570
+ :audit_context,
1571
+ :supported_permission_types)
1572
+ SENSITIVE = []
1573
+ include Aws::Structure
1574
+ end
1575
+
1576
+ # @!attribute [rw] access_key_id
1577
+ # The access key ID for the temporary credentials.
1578
+ # @return [String]
1579
+ #
1580
+ # @!attribute [rw] secret_access_key
1581
+ # The secret key for the temporary credentials.
1582
+ # @return [String]
1583
+ #
1584
+ # @!attribute [rw] session_token
1585
+ # The session token for the temporary credentials.
1586
+ # @return [String]
1587
+ #
1588
+ # @!attribute [rw] expiration
1589
+ # The date and time when the temporary credentials expire.
1590
+ # @return [Time]
1591
+ #
1592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTemporaryGlueTableCredentialsResponse AWS API Documentation
1593
+ #
1594
+ class GetTemporaryGlueTableCredentialsResponse < Struct.new(
1595
+ :access_key_id,
1596
+ :secret_access_key,
1597
+ :session_token,
1598
+ :expiration)
1599
+ SENSITIVE = []
1600
+ include Aws::Structure
1601
+ end
1602
+
1836
1603
  # @!attribute [rw] query_id
1837
1604
  # The ID of the plan query operation for which to get results.
1838
1605
  # @return [String]
@@ -1873,15 +1640,6 @@ module Aws::LakeFormation
1873
1640
  include Aws::Structure
1874
1641
  end
1875
1642
 
1876
- # @note When making an API call, you may pass GetWorkUnitsRequest
1877
- # data as a hash:
1878
- #
1879
- # {
1880
- # next_token: "Token",
1881
- # page_size: 1,
1882
- # query_id: "GetWorkUnitsRequestQueryIdString", # required
1883
- # }
1884
- #
1885
1643
  # @!attribute [rw] next_token
1886
1644
  # A continuation token, if this is a continuation call.
1887
1645
  # @return [String]
@@ -1949,67 +1707,6 @@ module Aws::LakeFormation
1949
1707
  include Aws::Structure
1950
1708
  end
1951
1709
 
1952
- # @note When making an API call, you may pass GrantPermissionsRequest
1953
- # data as a hash:
1954
- #
1955
- # {
1956
- # catalog_id: "CatalogIdString",
1957
- # principal: { # required
1958
- # data_lake_principal_identifier: "DataLakePrincipalString",
1959
- # },
1960
- # resource: { # required
1961
- # catalog: {
1962
- # },
1963
- # database: {
1964
- # catalog_id: "CatalogIdString",
1965
- # name: "NameString", # required
1966
- # },
1967
- # table: {
1968
- # catalog_id: "CatalogIdString",
1969
- # database_name: "NameString", # required
1970
- # name: "NameString",
1971
- # table_wildcard: {
1972
- # },
1973
- # },
1974
- # table_with_columns: {
1975
- # catalog_id: "CatalogIdString",
1976
- # database_name: "NameString", # required
1977
- # name: "NameString", # required
1978
- # column_names: ["NameString"],
1979
- # column_wildcard: {
1980
- # excluded_column_names: ["NameString"],
1981
- # },
1982
- # },
1983
- # data_location: {
1984
- # catalog_id: "CatalogIdString",
1985
- # resource_arn: "ResourceArnString", # required
1986
- # },
1987
- # data_cells_filter: {
1988
- # table_catalog_id: "CatalogIdString",
1989
- # database_name: "NameString",
1990
- # table_name: "NameString",
1991
- # name: "NameString",
1992
- # },
1993
- # lf_tag: {
1994
- # catalog_id: "CatalogIdString",
1995
- # tag_key: "NameString", # required
1996
- # tag_values: ["LFTagValue"], # required
1997
- # },
1998
- # lf_tag_policy: {
1999
- # catalog_id: "CatalogIdString",
2000
- # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
2001
- # expression: [ # required
2002
- # {
2003
- # tag_key: "LFTagKey", # required
2004
- # tag_values: ["LFTagValue"], # required
2005
- # },
2006
- # ],
2007
- # },
2008
- # },
2009
- # 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
2010
- # 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
2011
- # }
2012
- #
2013
1710
  # @!attribute [rw] catalog_id
2014
1711
  # The identifier for the Data Catalog. By default, the account ID. The
2015
1712
  # Data Catalog is the persistent metadata store. It contains database
@@ -2094,20 +1791,16 @@ module Aws::LakeFormation
2094
1791
  # conditions. For example, granting a role access to all columns that do
2095
1792
  # not have the LF-tag 'PII' in tables that have the LF-tag 'Prod'.
2096
1793
  #
2097
- # @note When making an API call, you may pass LFTag
2098
- # data as a hash:
2099
- #
2100
- # {
2101
- # tag_key: "LFTagKey", # required
2102
- # tag_values: ["LFTagValue"], # required
2103
- # }
2104
- #
2105
1794
  # @!attribute [rw] tag_key
2106
1795
  # The key-name for the LF-tag.
2107
1796
  # @return [String]
2108
1797
  #
2109
1798
  # @!attribute [rw] tag_values
2110
1799
  # A list of possible values an attribute can take.
1800
+ #
1801
+ # The maximum number of values that can be defined for a LF-Tag is
1802
+ # 1000. A single API call supports 50 values. You can use multiple API
1803
+ # calls to add more values.
2111
1804
  # @return [Array<String>]
2112
1805
  #
2113
1806
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/LFTag AWS API Documentation
@@ -2142,15 +1835,6 @@ module Aws::LakeFormation
2142
1835
 
2143
1836
  # A structure containing an LF-tag key and values for a resource.
2144
1837
  #
2145
- # @note When making an API call, you may pass LFTagKeyResource
2146
- # data as a hash:
2147
- #
2148
- # {
2149
- # catalog_id: "CatalogIdString",
2150
- # tag_key: "NameString", # required
2151
- # tag_values: ["LFTagValue"], # required
2152
- # }
2153
- #
2154
1838
  # @!attribute [rw] catalog_id
2155
1839
  # The identifier for the Data Catalog. By default, the account ID. The
2156
1840
  # Data Catalog is the persistent metadata store. It contains database
@@ -2178,15 +1862,6 @@ module Aws::LakeFormation
2178
1862
 
2179
1863
  # A structure containing an LF-tag key-value pair.
2180
1864
  #
2181
- # @note When making an API call, you may pass LFTagPair
2182
- # data as a hash:
2183
- #
2184
- # {
2185
- # catalog_id: "CatalogIdString",
2186
- # tag_key: "LFTagKey", # required
2187
- # tag_values: ["LFTagValue"], # required
2188
- # }
2189
- #
2190
1865
  # @!attribute [rw] catalog_id
2191
1866
  # The identifier for the Data Catalog. By default, the account ID. The
2192
1867
  # Data Catalog is the persistent metadata store. It contains database
@@ -2215,20 +1890,6 @@ module Aws::LakeFormation
2215
1890
  # A structure containing a list of LF-tag conditions that apply to a
2216
1891
  # resource's LF-tag policy.
2217
1892
  #
2218
- # @note When making an API call, you may pass LFTagPolicyResource
2219
- # data as a hash:
2220
- #
2221
- # {
2222
- # catalog_id: "CatalogIdString",
2223
- # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
2224
- # expression: [ # required
2225
- # {
2226
- # tag_key: "LFTagKey", # required
2227
- # tag_values: ["LFTagValue"], # required
2228
- # },
2229
- # ],
2230
- # }
2231
- #
2232
1893
  # @!attribute [rw] catalog_id
2233
1894
  # The identifier for the Data Catalog. By default, the account ID. The
2234
1895
  # Data Catalog is the persistent metadata store. It contains database
@@ -2255,21 +1916,37 @@ module Aws::LakeFormation
2255
1916
  include Aws::Structure
2256
1917
  end
2257
1918
 
2258
- # @note When making an API call, you may pass ListDataCellsFilterRequest
2259
- # data as a hash:
1919
+ # A single principal-resource pair that has Lake Formation permissins
1920
+ # enforced.
1921
+ #
1922
+ # @!attribute [rw] resource
1923
+ # A structure for the resource.
1924
+ # @return [Types::Resource]
1925
+ #
1926
+ # @!attribute [rw] principal
1927
+ # The Lake Formation principal. Supported principals are IAM users or
1928
+ # IAM roles.
1929
+ # @return [Types::DataLakePrincipal]
1930
+ #
1931
+ # @!attribute [rw] last_modified
1932
+ # The last modified date and time of the record.
1933
+ # @return [Time]
1934
+ #
1935
+ # @!attribute [rw] last_updated_by
1936
+ # The user who updated the record.
1937
+ # @return [String]
2260
1938
  #
2261
- # {
2262
- # table: {
2263
- # catalog_id: "CatalogIdString",
2264
- # database_name: "NameString", # required
2265
- # name: "NameString",
2266
- # table_wildcard: {
2267
- # },
2268
- # },
2269
- # next_token: "Token",
2270
- # max_results: 1,
2271
- # }
1939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/LakeFormationOptInsInfo AWS API Documentation
2272
1940
  #
1941
+ class LakeFormationOptInsInfo < Struct.new(
1942
+ :resource,
1943
+ :principal,
1944
+ :last_modified,
1945
+ :last_updated_by)
1946
+ SENSITIVE = []
1947
+ include Aws::Structure
1948
+ end
1949
+
2273
1950
  # @!attribute [rw] table
2274
1951
  # A table in the Glue Data Catalog.
2275
1952
  # @return [Types::TableResource]
@@ -2310,16 +1987,6 @@ module Aws::LakeFormation
2310
1987
  include Aws::Structure
2311
1988
  end
2312
1989
 
2313
- # @note When making an API call, you may pass ListLFTagsRequest
2314
- # data as a hash:
2315
- #
2316
- # {
2317
- # catalog_id: "CatalogIdString",
2318
- # resource_share_type: "FOREIGN", # accepts FOREIGN, ALL
2319
- # max_results: 1,
2320
- # next_token: "Token",
2321
- # }
2322
- #
2323
1990
  # @!attribute [rw] catalog_id
2324
1991
  # The identifier for the Data Catalog. By default, the account ID. The
2325
1992
  # Data Catalog is the persistent metadata store. It contains database
@@ -2374,69 +2041,54 @@ module Aws::LakeFormation
2374
2041
  include Aws::Structure
2375
2042
  end
2376
2043
 
2377
- # @note When making an API call, you may pass ListPermissionsRequest
2378
- # data as a hash:
2379
- #
2380
- # {
2381
- # catalog_id: "CatalogIdString",
2382
- # principal: {
2383
- # data_lake_principal_identifier: "DataLakePrincipalString",
2384
- # },
2385
- # resource_type: "CATALOG", # accepts CATALOG, DATABASE, TABLE, DATA_LOCATION, LF_TAG, LF_TAG_POLICY, LF_TAG_POLICY_DATABASE, LF_TAG_POLICY_TABLE
2386
- # resource: {
2387
- # catalog: {
2388
- # },
2389
- # database: {
2390
- # catalog_id: "CatalogIdString",
2391
- # name: "NameString", # required
2392
- # },
2393
- # table: {
2394
- # catalog_id: "CatalogIdString",
2395
- # database_name: "NameString", # required
2396
- # name: "NameString",
2397
- # table_wildcard: {
2398
- # },
2399
- # },
2400
- # table_with_columns: {
2401
- # catalog_id: "CatalogIdString",
2402
- # database_name: "NameString", # required
2403
- # name: "NameString", # required
2404
- # column_names: ["NameString"],
2405
- # column_wildcard: {
2406
- # excluded_column_names: ["NameString"],
2407
- # },
2408
- # },
2409
- # data_location: {
2410
- # catalog_id: "CatalogIdString",
2411
- # resource_arn: "ResourceArnString", # required
2412
- # },
2413
- # data_cells_filter: {
2414
- # table_catalog_id: "CatalogIdString",
2415
- # database_name: "NameString",
2416
- # table_name: "NameString",
2417
- # name: "NameString",
2418
- # },
2419
- # lf_tag: {
2420
- # catalog_id: "CatalogIdString",
2421
- # tag_key: "NameString", # required
2422
- # tag_values: ["LFTagValue"], # required
2423
- # },
2424
- # lf_tag_policy: {
2425
- # catalog_id: "CatalogIdString",
2426
- # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
2427
- # expression: [ # required
2428
- # {
2429
- # tag_key: "LFTagKey", # required
2430
- # tag_values: ["LFTagValue"], # required
2431
- # },
2432
- # ],
2433
- # },
2434
- # },
2435
- # next_token: "Token",
2436
- # max_results: 1,
2437
- # include_related: "TrueFalseString",
2438
- # }
2044
+ # @!attribute [rw] principal
2045
+ # The Lake Formation principal. Supported principals are IAM users or
2046
+ # IAM roles.
2047
+ # @return [Types::DataLakePrincipal]
2048
+ #
2049
+ # @!attribute [rw] resource
2050
+ # A structure for the resource.
2051
+ # @return [Types::Resource]
2052
+ #
2053
+ # @!attribute [rw] max_results
2054
+ # The maximum number of results to return.
2055
+ # @return [Integer]
2056
+ #
2057
+ # @!attribute [rw] next_token
2058
+ # A continuation token, if this is not the first call to retrieve this
2059
+ # list.
2060
+ # @return [String]
2061
+ #
2062
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLakeFormationOptInsRequest AWS API Documentation
2063
+ #
2064
+ class ListLakeFormationOptInsRequest < Struct.new(
2065
+ :principal,
2066
+ :resource,
2067
+ :max_results,
2068
+ :next_token)
2069
+ SENSITIVE = []
2070
+ include Aws::Structure
2071
+ end
2072
+
2073
+ # @!attribute [rw] lake_formation_opt_ins_info_list
2074
+ # A list of principal-resource pairs that have Lake Formation
2075
+ # permissins enforced.
2076
+ # @return [Array<Types::LakeFormationOptInsInfo>]
2077
+ #
2078
+ # @!attribute [rw] next_token
2079
+ # A continuation token, if this is not the first call to retrieve this
2080
+ # list.
2081
+ # @return [String]
2082
+ #
2083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLakeFormationOptInsResponse AWS API Documentation
2439
2084
  #
2085
+ class ListLakeFormationOptInsResponse < Struct.new(
2086
+ :lake_formation_opt_ins_info_list,
2087
+ :next_token)
2088
+ SENSITIVE = []
2089
+ include Aws::Structure
2090
+ end
2091
+
2440
2092
  # @!attribute [rw] catalog_id
2441
2093
  # The identifier for the Data Catalog. By default, the account ID. The
2442
2094
  # Data Catalog is the persistent metadata store. It contains database
@@ -2507,21 +2159,6 @@ module Aws::LakeFormation
2507
2159
  include Aws::Structure
2508
2160
  end
2509
2161
 
2510
- # @note When making an API call, you may pass ListResourcesRequest
2511
- # data as a hash:
2512
- #
2513
- # {
2514
- # filter_condition_list: [
2515
- # {
2516
- # field: "RESOURCE_ARN", # accepts RESOURCE_ARN, ROLE_ARN, LAST_MODIFIED
2517
- # comparison_operator: "EQ", # accepts EQ, NE, LE, LT, GE, GT, CONTAINS, NOT_CONTAINS, BEGINS_WITH, IN, BETWEEN
2518
- # string_value_list: ["StringValue"],
2519
- # },
2520
- # ],
2521
- # max_results: 1,
2522
- # next_token: "Token",
2523
- # }
2524
- #
2525
2162
  # @!attribute [rw] filter_condition_list
2526
2163
  # Any applicable row-level and/or column-level filtering conditions
2527
2164
  # for the resources.
@@ -2564,18 +2201,6 @@ module Aws::LakeFormation
2564
2201
  include Aws::Structure
2565
2202
  end
2566
2203
 
2567
- # @note When making an API call, you may pass ListTableStorageOptimizersRequest
2568
- # data as a hash:
2569
- #
2570
- # {
2571
- # catalog_id: "CatalogIdString",
2572
- # database_name: "NameString", # required
2573
- # table_name: "NameString", # required
2574
- # storage_optimizer_type: "COMPACTION", # accepts COMPACTION, GARBAGE_COLLECTION, ALL
2575
- # max_results: 1,
2576
- # next_token: "Token",
2577
- # }
2578
- #
2579
2204
  # @!attribute [rw] catalog_id
2580
2205
  # The Catalog ID of the table.
2581
2206
  # @return [String]
@@ -2632,16 +2257,6 @@ module Aws::LakeFormation
2632
2257
  include Aws::Structure
2633
2258
  end
2634
2259
 
2635
- # @note When making an API call, you may pass ListTransactionsRequest
2636
- # data as a hash:
2637
- #
2638
- # {
2639
- # catalog_id: "CatalogIdString",
2640
- # status_filter: "ALL", # accepts ALL, COMPLETED, ACTIVE, COMMITTED, ABORTED
2641
- # max_results: 1,
2642
- # next_token: "TokenString",
2643
- # }
2644
- #
2645
2260
  # @!attribute [rw] catalog_id
2646
2261
  # The catalog for which to list transactions. Defaults to the account
2647
2262
  # ID of the caller.
@@ -2725,6 +2340,38 @@ module Aws::LakeFormation
2725
2340
  include Aws::Structure
2726
2341
  end
2727
2342
 
2343
+ # Contains a list of values defining partitions.
2344
+ #
2345
+ # @!attribute [rw] values
2346
+ # The list of partition values.
2347
+ # @return [Array<String>]
2348
+ #
2349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PartitionValueList AWS API Documentation
2350
+ #
2351
+ class PartitionValueList < Struct.new(
2352
+ :values)
2353
+ SENSITIVE = []
2354
+ include Aws::Structure
2355
+ end
2356
+
2357
+ # The engine does not support filtering data based on the enforced
2358
+ # permissions. For example, if you call the
2359
+ # `GetTemporaryGlueTableCredentials` operation with
2360
+ # `SupportedPermissionType` equal to `ColumnPermission`, but cell-level
2361
+ # permissions exist on the table, this exception is thrown.
2362
+ #
2363
+ # @!attribute [rw] message
2364
+ # A message describing the problem.
2365
+ # @return [String]
2366
+ #
2367
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PermissionTypeMismatchException AWS API Documentation
2368
+ #
2369
+ class PermissionTypeMismatchException < Struct.new(
2370
+ :message)
2371
+ SENSITIVE = []
2372
+ include Aws::Structure
2373
+ end
2374
+
2728
2375
  # Statistics related to the processing of a query statement.
2729
2376
  #
2730
2377
  # @!attribute [rw] estimated_data_to_scan_bytes
@@ -2756,16 +2403,6 @@ module Aws::LakeFormation
2756
2403
 
2757
2404
  # Permissions granted to a principal.
2758
2405
  #
2759
- # @note When making an API call, you may pass PrincipalPermissions
2760
- # data as a hash:
2761
- #
2762
- # {
2763
- # principal: {
2764
- # data_lake_principal_identifier: "DataLakePrincipalString",
2765
- # },
2766
- # 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
2767
- # }
2768
- #
2769
2406
  # @!attribute [rw] principal
2770
2407
  # The principal who is granted permissions.
2771
2408
  # @return [Types::DataLakePrincipal]
@@ -2808,6 +2445,14 @@ module Aws::LakeFormation
2808
2445
  # resource share ARN.
2809
2446
  # @return [Types::DetailsMap]
2810
2447
  #
2448
+ # @!attribute [rw] last_updated
2449
+ # The date and time when the resource was last updated.
2450
+ # @return [Time]
2451
+ #
2452
+ # @!attribute [rw] last_updated_by
2453
+ # The user who updated the record.
2454
+ # @return [String]
2455
+ #
2811
2456
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PrincipalResourcePermissions AWS API Documentation
2812
2457
  #
2813
2458
  class PrincipalResourcePermissions < Struct.new(
@@ -2815,42 +2460,13 @@ module Aws::LakeFormation
2815
2460
  :resource,
2816
2461
  :permissions,
2817
2462
  :permissions_with_grant_option,
2818
- :additional_details)
2819
- SENSITIVE = []
2820
- include Aws::Structure
2821
- end
2822
-
2823
- # @note When making an API call, you may pass PutDataLakeSettingsRequest
2824
- # data as a hash:
2825
- #
2826
- # {
2827
- # catalog_id: "CatalogIdString",
2828
- # data_lake_settings: { # required
2829
- # data_lake_admins: [
2830
- # {
2831
- # data_lake_principal_identifier: "DataLakePrincipalString",
2832
- # },
2833
- # ],
2834
- # create_database_default_permissions: [
2835
- # {
2836
- # principal: {
2837
- # data_lake_principal_identifier: "DataLakePrincipalString",
2838
- # },
2839
- # 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
2840
- # },
2841
- # ],
2842
- # create_table_default_permissions: [
2843
- # {
2844
- # principal: {
2845
- # data_lake_principal_identifier: "DataLakePrincipalString",
2846
- # },
2847
- # 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
2848
- # },
2849
- # ],
2850
- # trusted_resource_owners: ["CatalogIdString"],
2851
- # },
2852
- # }
2853
- #
2463
+ :additional_details,
2464
+ :last_updated,
2465
+ :last_updated_by)
2466
+ SENSITIVE = []
2467
+ include Aws::Structure
2468
+ end
2469
+
2854
2470
  # @!attribute [rw] catalog_id
2855
2471
  # The identifier for the Data Catalog. By default, the account ID. The
2856
2472
  # Data Catalog is the persistent metadata store. It contains database
@@ -2878,19 +2494,6 @@ module Aws::LakeFormation
2878
2494
 
2879
2495
  # A structure containing information about the query plan.
2880
2496
  #
2881
- # @note When making an API call, you may pass QueryPlanningContext
2882
- # data as a hash:
2883
- #
2884
- # {
2885
- # catalog_id: "CatalogIdString",
2886
- # database_name: "QueryPlanningContextDatabaseNameString", # required
2887
- # query_as_of_time: Time.now,
2888
- # query_parameters: {
2889
- # "String" => "String",
2890
- # },
2891
- # transaction_id: "TransactionIdString",
2892
- # }
2893
- #
2894
2497
  # @!attribute [rw] catalog_id
2895
2498
  # The ID of the Data Catalog where the partition in question resides.
2896
2499
  # If none is provided, the Amazon Web Services account ID is used by
@@ -2932,15 +2535,6 @@ module Aws::LakeFormation
2932
2535
  include Aws::Structure
2933
2536
  end
2934
2537
 
2935
- # @note When making an API call, you may pass RegisterResourceRequest
2936
- # data as a hash:
2937
- #
2938
- # {
2939
- # resource_arn: "ResourceArnString", # required
2940
- # use_service_linked_role: false,
2941
- # role_arn: "IAMRoleArn",
2942
- # }
2943
- #
2944
2538
  # @!attribute [rw] resource_arn
2945
2539
  # The Amazon Resource Name (ARN) of the resource that you want to
2946
2540
  # register.
@@ -2957,19 +2551,31 @@ module Aws::LakeFormation
2957
2551
  #
2958
2552
  #
2959
2553
  #
2960
- # [1]: https://docs-aws.amazon.com/lake-formation/latest/dg/service-linked-roles.html
2554
+ # [1]: https://docs.aws.amazon.com/lake-formation/latest/dg/service-linked-roles.html
2961
2555
  # @return [Boolean]
2962
2556
  #
2963
2557
  # @!attribute [rw] role_arn
2964
2558
  # The identifier for the role that registers the resource.
2965
2559
  # @return [String]
2966
2560
  #
2561
+ # @!attribute [rw] with_federation
2562
+ # Whether or not the resource is a federated resource.
2563
+ # @return [Boolean]
2564
+ #
2565
+ # @!attribute [rw] hybrid_access_enabled
2566
+ # Specifies whether the data access of tables pointing to the location
2567
+ # can be managed by both Lake Formation permissions as well as Amazon
2568
+ # S3 bucket policies.
2569
+ # @return [Boolean]
2570
+ #
2967
2571
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResourceRequest AWS API Documentation
2968
2572
  #
2969
2573
  class RegisterResourceRequest < Struct.new(
2970
2574
  :resource_arn,
2971
2575
  :use_service_linked_role,
2972
- :role_arn)
2576
+ :role_arn,
2577
+ :with_federation,
2578
+ :hybrid_access_enabled)
2973
2579
  SENSITIVE = []
2974
2580
  include Aws::Structure
2975
2581
  end
@@ -2978,69 +2584,6 @@ module Aws::LakeFormation
2978
2584
  #
2979
2585
  class RegisterResourceResponse < Aws::EmptyStructure; end
2980
2586
 
2981
- # @note When making an API call, you may pass RemoveLFTagsFromResourceRequest
2982
- # data as a hash:
2983
- #
2984
- # {
2985
- # catalog_id: "CatalogIdString",
2986
- # resource: { # required
2987
- # catalog: {
2988
- # },
2989
- # database: {
2990
- # catalog_id: "CatalogIdString",
2991
- # name: "NameString", # required
2992
- # },
2993
- # table: {
2994
- # catalog_id: "CatalogIdString",
2995
- # database_name: "NameString", # required
2996
- # name: "NameString",
2997
- # table_wildcard: {
2998
- # },
2999
- # },
3000
- # table_with_columns: {
3001
- # catalog_id: "CatalogIdString",
3002
- # database_name: "NameString", # required
3003
- # name: "NameString", # required
3004
- # column_names: ["NameString"],
3005
- # column_wildcard: {
3006
- # excluded_column_names: ["NameString"],
3007
- # },
3008
- # },
3009
- # data_location: {
3010
- # catalog_id: "CatalogIdString",
3011
- # resource_arn: "ResourceArnString", # required
3012
- # },
3013
- # data_cells_filter: {
3014
- # table_catalog_id: "CatalogIdString",
3015
- # database_name: "NameString",
3016
- # table_name: "NameString",
3017
- # name: "NameString",
3018
- # },
3019
- # lf_tag: {
3020
- # catalog_id: "CatalogIdString",
3021
- # tag_key: "NameString", # required
3022
- # tag_values: ["LFTagValue"], # required
3023
- # },
3024
- # lf_tag_policy: {
3025
- # catalog_id: "CatalogIdString",
3026
- # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
3027
- # expression: [ # required
3028
- # {
3029
- # tag_key: "LFTagKey", # required
3030
- # tag_values: ["LFTagValue"], # required
3031
- # },
3032
- # ],
3033
- # },
3034
- # },
3035
- # lf_tags: [ # required
3036
- # {
3037
- # catalog_id: "CatalogIdString",
3038
- # tag_key: "LFTagKey", # required
3039
- # tag_values: ["LFTagValue"], # required
3040
- # },
3041
- # ],
3042
- # }
3043
- #
3044
2587
  # @!attribute [rw] catalog_id
3045
2588
  # The identifier for the Data Catalog. By default, the account ID. The
3046
2589
  # Data Catalog is the persistent metadata store. It contains database
@@ -3081,59 +2624,6 @@ module Aws::LakeFormation
3081
2624
 
3082
2625
  # A structure for the resource.
3083
2626
  #
3084
- # @note When making an API call, you may pass Resource
3085
- # data as a hash:
3086
- #
3087
- # {
3088
- # catalog: {
3089
- # },
3090
- # database: {
3091
- # catalog_id: "CatalogIdString",
3092
- # name: "NameString", # required
3093
- # },
3094
- # table: {
3095
- # catalog_id: "CatalogIdString",
3096
- # database_name: "NameString", # required
3097
- # name: "NameString",
3098
- # table_wildcard: {
3099
- # },
3100
- # },
3101
- # table_with_columns: {
3102
- # catalog_id: "CatalogIdString",
3103
- # database_name: "NameString", # required
3104
- # name: "NameString", # required
3105
- # column_names: ["NameString"],
3106
- # column_wildcard: {
3107
- # excluded_column_names: ["NameString"],
3108
- # },
3109
- # },
3110
- # data_location: {
3111
- # catalog_id: "CatalogIdString",
3112
- # resource_arn: "ResourceArnString", # required
3113
- # },
3114
- # data_cells_filter: {
3115
- # table_catalog_id: "CatalogIdString",
3116
- # database_name: "NameString",
3117
- # table_name: "NameString",
3118
- # name: "NameString",
3119
- # },
3120
- # lf_tag: {
3121
- # catalog_id: "CatalogIdString",
3122
- # tag_key: "NameString", # required
3123
- # tag_values: ["LFTagValue"], # required
3124
- # },
3125
- # lf_tag_policy: {
3126
- # catalog_id: "CatalogIdString",
3127
- # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
3128
- # expression: [ # required
3129
- # {
3130
- # tag_key: "LFTagKey", # required
3131
- # tag_values: ["LFTagValue"], # required
3132
- # },
3133
- # ],
3134
- # },
3135
- # }
3136
- #
3137
2627
  # @!attribute [rw] catalog
3138
2628
  # The identifier for the Data Catalog. By default, the account ID. The
3139
2629
  # Data Catalog is the persistent metadata store. It contains database
@@ -3206,12 +2696,24 @@ module Aws::LakeFormation
3206
2696
  # The date and time the resource was last modified.
3207
2697
  # @return [Time]
3208
2698
  #
2699
+ # @!attribute [rw] with_federation
2700
+ # Whether or not the resource is a federated resource.
2701
+ # @return [Boolean]
2702
+ #
2703
+ # @!attribute [rw] hybrid_access_enabled
2704
+ # Indicates whether the data access of tables pointing to the location
2705
+ # can be managed by both Lake Formation permissions as well as Amazon
2706
+ # S3 bucket policies.
2707
+ # @return [Boolean]
2708
+ #
3209
2709
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ResourceInfo AWS API Documentation
3210
2710
  #
3211
2711
  class ResourceInfo < Struct.new(
3212
2712
  :resource_arn,
3213
2713
  :role_arn,
3214
- :last_modified)
2714
+ :last_modified,
2715
+ :with_federation,
2716
+ :hybrid_access_enabled)
3215
2717
  SENSITIVE = []
3216
2718
  include Aws::Structure
3217
2719
  end
@@ -3245,67 +2747,6 @@ module Aws::LakeFormation
3245
2747
  include Aws::Structure
3246
2748
  end
3247
2749
 
3248
- # @note When making an API call, you may pass RevokePermissionsRequest
3249
- # data as a hash:
3250
- #
3251
- # {
3252
- # catalog_id: "CatalogIdString",
3253
- # principal: { # required
3254
- # data_lake_principal_identifier: "DataLakePrincipalString",
3255
- # },
3256
- # resource: { # required
3257
- # catalog: {
3258
- # },
3259
- # database: {
3260
- # catalog_id: "CatalogIdString",
3261
- # name: "NameString", # required
3262
- # },
3263
- # table: {
3264
- # catalog_id: "CatalogIdString",
3265
- # database_name: "NameString", # required
3266
- # name: "NameString",
3267
- # table_wildcard: {
3268
- # },
3269
- # },
3270
- # table_with_columns: {
3271
- # catalog_id: "CatalogIdString",
3272
- # database_name: "NameString", # required
3273
- # name: "NameString", # required
3274
- # column_names: ["NameString"],
3275
- # column_wildcard: {
3276
- # excluded_column_names: ["NameString"],
3277
- # },
3278
- # },
3279
- # data_location: {
3280
- # catalog_id: "CatalogIdString",
3281
- # resource_arn: "ResourceArnString", # required
3282
- # },
3283
- # data_cells_filter: {
3284
- # table_catalog_id: "CatalogIdString",
3285
- # database_name: "NameString",
3286
- # table_name: "NameString",
3287
- # name: "NameString",
3288
- # },
3289
- # lf_tag: {
3290
- # catalog_id: "CatalogIdString",
3291
- # tag_key: "NameString", # required
3292
- # tag_values: ["LFTagValue"], # required
3293
- # },
3294
- # lf_tag_policy: {
3295
- # catalog_id: "CatalogIdString",
3296
- # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
3297
- # expression: [ # required
3298
- # {
3299
- # tag_key: "LFTagKey", # required
3300
- # tag_values: ["LFTagValue"], # required
3301
- # },
3302
- # ],
3303
- # },
3304
- # },
3305
- # 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
3306
- # 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
3307
- # }
3308
- #
3309
2750
  # @!attribute [rw] catalog_id
3310
2751
  # The identifier for the Data Catalog. By default, the account ID. The
3311
2752
  # Data Catalog is the persistent metadata store. It contains database
@@ -3328,7 +2769,7 @@ module Aws::LakeFormation
3328
2769
  #
3329
2770
  #
3330
2771
  #
3331
- # [1]: https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html
2772
+ # [1]: https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html
3332
2773
  # @return [Array<String>]
3333
2774
  #
3334
2775
  # @!attribute [rw] permissions_with_grant_option
@@ -3354,15 +2795,6 @@ module Aws::LakeFormation
3354
2795
 
3355
2796
  # A PartiQL predicate.
3356
2797
  #
3357
- # @note When making an API call, you may pass RowFilter
3358
- # data as a hash:
3359
- #
3360
- # {
3361
- # filter_expression: "PredicateString",
3362
- # all_rows_wildcard: {
3363
- # },
3364
- # }
3365
- #
3366
2798
  # @!attribute [rw] filter_expression
3367
2799
  # A filter expression.
3368
2800
  # @return [String]
@@ -3380,21 +2812,6 @@ module Aws::LakeFormation
3380
2812
  include Aws::Structure
3381
2813
  end
3382
2814
 
3383
- # @note When making an API call, you may pass SearchDatabasesByLFTagsRequest
3384
- # data as a hash:
3385
- #
3386
- # {
3387
- # next_token: "Token",
3388
- # max_results: 1,
3389
- # catalog_id: "CatalogIdString",
3390
- # expression: [ # required
3391
- # {
3392
- # tag_key: "LFTagKey", # required
3393
- # tag_values: ["LFTagValue"], # required
3394
- # },
3395
- # ],
3396
- # }
3397
- #
3398
2815
  # @!attribute [rw] next_token
3399
2816
  # A continuation token, if this is not the first call to retrieve this
3400
2817
  # list.
@@ -3445,21 +2862,6 @@ module Aws::LakeFormation
3445
2862
  include Aws::Structure
3446
2863
  end
3447
2864
 
3448
- # @note When making an API call, you may pass SearchTablesByLFTagsRequest
3449
- # data as a hash:
3450
- #
3451
- # {
3452
- # next_token: "Token",
3453
- # max_results: 1,
3454
- # catalog_id: "CatalogIdString",
3455
- # expression: [ # required
3456
- # {
3457
- # tag_key: "LFTagKey", # required
3458
- # tag_values: ["LFTagValue"], # required
3459
- # },
3460
- # ],
3461
- # }
3462
- #
3463
2865
  # @!attribute [rw] next_token
3464
2866
  # A continuation token, if this is not the first call to retrieve this
3465
2867
  # list.
@@ -3510,22 +2912,6 @@ module Aws::LakeFormation
3510
2912
  include Aws::Structure
3511
2913
  end
3512
2914
 
3513
- # @note When making an API call, you may pass StartQueryPlanningRequest
3514
- # data as a hash:
3515
- #
3516
- # {
3517
- # query_planning_context: { # required
3518
- # catalog_id: "CatalogIdString",
3519
- # database_name: "QueryPlanningContextDatabaseNameString", # required
3520
- # query_as_of_time: Time.now,
3521
- # query_parameters: {
3522
- # "String" => "String",
3523
- # },
3524
- # transaction_id: "TransactionIdString",
3525
- # },
3526
- # query_string: "SyntheticStartQueryPlanningRequestQueryString", # required
3527
- # }
3528
- #
3529
2915
  # @!attribute [rw] query_planning_context
3530
2916
  # A structure containing information about the query plan.
3531
2917
  # @return [Types::QueryPlanningContext]
@@ -3560,13 +2946,6 @@ module Aws::LakeFormation
3560
2946
  include Aws::Structure
3561
2947
  end
3562
2948
 
3563
- # @note When making an API call, you may pass StartTransactionRequest
3564
- # data as a hash:
3565
- #
3566
- # {
3567
- # transaction_type: "READ_AND_WRITE", # accepts READ_AND_WRITE, READ_ONLY
3568
- # }
3569
- #
3570
2949
  # @!attribute [rw] transaction_type
3571
2950
  # Indicates whether this transaction should be read only or read and
3572
2951
  # write. Writes made using a read-only transaction ID will be
@@ -3681,17 +3060,6 @@ module Aws::LakeFormation
3681
3060
  # that represents your data. You can Grant and Revoke table privileges
3682
3061
  # to a principal.
3683
3062
  #
3684
- # @note When making an API call, you may pass TableResource
3685
- # data as a hash:
3686
- #
3687
- # {
3688
- # catalog_id: "CatalogIdString",
3689
- # database_name: "NameString", # required
3690
- # name: "NameString",
3691
- # table_wildcard: {
3692
- # },
3693
- # }
3694
- #
3695
3063
  # @!attribute [rw] catalog_id
3696
3064
  # The identifier for the Data Catalog. By default, it is the account
3697
3065
  # ID of the caller.
@@ -3740,19 +3108,6 @@ module Aws::LakeFormation
3740
3108
  # This object must take a value for at least one of `ColumnsNames`,
3741
3109
  # `ColumnsIndexes`, or `ColumnsWildcard`.
3742
3110
  #
3743
- # @note When making an API call, you may pass TableWithColumnsResource
3744
- # data as a hash:
3745
- #
3746
- # {
3747
- # catalog_id: "CatalogIdString",
3748
- # database_name: "NameString", # required
3749
- # name: "NameString", # required
3750
- # column_names: ["NameString"],
3751
- # column_wildcard: {
3752
- # excluded_column_names: ["NameString"],
3753
- # },
3754
- # }
3755
- #
3756
3111
  # @!attribute [rw] catalog_id
3757
3112
  # The identifier for the Data Catalog. By default, it is the account
3758
3113
  # ID of the caller.
@@ -3930,16 +3285,23 @@ module Aws::LakeFormation
3930
3285
  include Aws::Structure
3931
3286
  end
3932
3287
 
3933
- # @note When making an API call, you may pass UpdateLFTagRequest
3934
- # data as a hash:
3288
+ # @!attribute [rw] table_data
3289
+ # A `DataCellsFilter` structure containing information about the data
3290
+ # cells filter.
3291
+ # @return [Types::DataCellsFilter]
3935
3292
  #
3936
- # {
3937
- # catalog_id: "CatalogIdString",
3938
- # tag_key: "LFTagKey", # required
3939
- # tag_values_to_delete: ["LFTagValue"],
3940
- # tag_values_to_add: ["LFTagValue"],
3941
- # }
3293
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateDataCellsFilterRequest AWS API Documentation
3294
+ #
3295
+ class UpdateDataCellsFilterRequest < Struct.new(
3296
+ :table_data)
3297
+ SENSITIVE = []
3298
+ include Aws::Structure
3299
+ end
3300
+
3301
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateDataCellsFilterResponse AWS API Documentation
3942
3302
  #
3303
+ class UpdateDataCellsFilterResponse < Aws::EmptyStructure; end
3304
+
3943
3305
  # @!attribute [rw] catalog_id
3944
3306
  # The identifier for the Data Catalog. By default, the account ID. The
3945
3307
  # Data Catalog is the persistent metadata store. It contains database
@@ -3974,14 +3336,6 @@ module Aws::LakeFormation
3974
3336
  #
3975
3337
  class UpdateLFTagResponse < Aws::EmptyStructure; end
3976
3338
 
3977
- # @note When making an API call, you may pass UpdateResourceRequest
3978
- # data as a hash:
3979
- #
3980
- # {
3981
- # role_arn: "IAMRoleArn", # required
3982
- # resource_arn: "ResourceArnString", # required
3983
- # }
3984
- #
3985
3339
  # @!attribute [rw] role_arn
3986
3340
  # The new role to use for the given resource registered in Lake
3987
3341
  # Formation.
@@ -3991,11 +3345,23 @@ module Aws::LakeFormation
3991
3345
  # The resource ARN.
3992
3346
  # @return [String]
3993
3347
  #
3348
+ # @!attribute [rw] with_federation
3349
+ # Whether or not the resource is a federated resource.
3350
+ # @return [Boolean]
3351
+ #
3352
+ # @!attribute [rw] hybrid_access_enabled
3353
+ # Specifies whether the data access of tables pointing to the location
3354
+ # can be managed by both Lake Formation permissions as well as Amazon
3355
+ # S3 bucket policies.
3356
+ # @return [Boolean]
3357
+ #
3994
3358
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResourceRequest AWS API Documentation
3995
3359
  #
3996
3360
  class UpdateResourceRequest < Struct.new(
3997
3361
  :role_arn,
3998
- :resource_arn)
3362
+ :resource_arn,
3363
+ :with_federation,
3364
+ :hybrid_access_enabled)
3999
3365
  SENSITIVE = []
4000
3366
  include Aws::Structure
4001
3367
  end
@@ -4004,31 +3370,6 @@ module Aws::LakeFormation
4004
3370
  #
4005
3371
  class UpdateResourceResponse < Aws::EmptyStructure; end
4006
3372
 
4007
- # @note When making an API call, you may pass UpdateTableObjectsRequest
4008
- # data as a hash:
4009
- #
4010
- # {
4011
- # catalog_id: "CatalogIdString",
4012
- # database_name: "NameString", # required
4013
- # table_name: "NameString", # required
4014
- # transaction_id: "TransactionIdString", # required
4015
- # write_operations: [ # required
4016
- # {
4017
- # add_object: {
4018
- # uri: "URI", # required
4019
- # etag: "ETagString", # required
4020
- # size: 1, # required
4021
- # partition_values: ["PartitionValueString"],
4022
- # },
4023
- # delete_object: {
4024
- # uri: "URI", # required
4025
- # etag: "ETagString",
4026
- # partition_values: ["PartitionValueString"],
4027
- # },
4028
- # },
4029
- # ],
4030
- # }
4031
- #
4032
3373
  # @!attribute [rw] catalog_id
4033
3374
  # The catalog containing the governed table to update. Defaults to the
4034
3375
  # caller’s account ID.
@@ -4067,20 +3408,6 @@ module Aws::LakeFormation
4067
3408
  #
4068
3409
  class UpdateTableObjectsResponse < Aws::EmptyStructure; end
4069
3410
 
4070
- # @note When making an API call, you may pass UpdateTableStorageOptimizerRequest
4071
- # data as a hash:
4072
- #
4073
- # {
4074
- # catalog_id: "CatalogIdString",
4075
- # database_name: "NameString", # required
4076
- # table_name: "NameString", # required
4077
- # storage_optimizer_config: { # required
4078
- # "COMPACTION" => {
4079
- # "StorageOptimizerConfigKey" => "StorageOptimizerConfigValue",
4080
- # },
4081
- # },
4082
- # }
4083
- #
4084
3411
  # @!attribute [rw] catalog_id
4085
3412
  # The Catalog ID of the table.
4086
3413
  # @return [String]
@@ -4124,14 +3451,6 @@ module Aws::LakeFormation
4124
3451
  # transaction cancels, provided that `VirtualPut` was called before
4125
3452
  # writing the object.
4126
3453
  #
4127
- # @note When making an API call, you may pass VirtualObject
4128
- # data as a hash:
4129
- #
4130
- # {
4131
- # uri: "URI", # required
4132
- # etag: "ETagString",
4133
- # }
4134
- #
4135
3454
  # @!attribute [rw] uri
4136
3455
  # The path to the Amazon S3 object. Must start with s3://
4137
3456
  # @return [String]
@@ -4191,23 +3510,6 @@ module Aws::LakeFormation
4191
3510
 
4192
3511
  # Defines an object to add to or delete from a governed table.
4193
3512
  #
4194
- # @note When making an API call, you may pass WriteOperation
4195
- # data as a hash:
4196
- #
4197
- # {
4198
- # add_object: {
4199
- # uri: "URI", # required
4200
- # etag: "ETagString", # required
4201
- # size: 1, # required
4202
- # partition_values: ["PartitionValueString"],
4203
- # },
4204
- # delete_object: {
4205
- # uri: "URI", # required
4206
- # etag: "ETagString",
4207
- # partition_values: ["PartitionValueString"],
4208
- # },
4209
- # }
4210
- #
4211
3513
  # @!attribute [rw] add_object
4212
3514
  # A new object to add to the governed table.
4213
3515
  # @return [Types::AddObjectInput]