aws-sdk-lakeformation 1.0.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.
@@ -0,0 +1,110 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::LakeFormation
9
+ module Errors
10
+
11
+ extend Aws::Errors::DynamicErrors
12
+
13
+ class AlreadyExistsException < ServiceError
14
+
15
+ # @param [Seahorse::Client::RequestContext] context
16
+ # @param [String] message
17
+ # @param [Aws::LakeFormation::Types::AlreadyExistsException] data
18
+ def initialize(context, message, data = Aws::EmptyStructure.new)
19
+ super(context, message, data)
20
+ end
21
+
22
+ # @return [String]
23
+ def message
24
+ @message || @data[:message]
25
+ end
26
+
27
+ end
28
+
29
+ class ConcurrentModificationException < ServiceError
30
+
31
+ # @param [Seahorse::Client::RequestContext] context
32
+ # @param [String] message
33
+ # @param [Aws::LakeFormation::Types::ConcurrentModificationException] data
34
+ def initialize(context, message, data = Aws::EmptyStructure.new)
35
+ super(context, message, data)
36
+ end
37
+
38
+ # @return [String]
39
+ def message
40
+ @message || @data[:message]
41
+ end
42
+
43
+ end
44
+
45
+ class EntityNotFoundException < ServiceError
46
+
47
+ # @param [Seahorse::Client::RequestContext] context
48
+ # @param [String] message
49
+ # @param [Aws::LakeFormation::Types::EntityNotFoundException] data
50
+ def initialize(context, message, data = Aws::EmptyStructure.new)
51
+ super(context, message, data)
52
+ end
53
+
54
+ # @return [String]
55
+ def message
56
+ @message || @data[:message]
57
+ end
58
+
59
+ end
60
+
61
+ class InternalServiceException < ServiceError
62
+
63
+ # @param [Seahorse::Client::RequestContext] context
64
+ # @param [String] message
65
+ # @param [Aws::LakeFormation::Types::InternalServiceException] data
66
+ def initialize(context, message, data = Aws::EmptyStructure.new)
67
+ super(context, message, data)
68
+ end
69
+
70
+ # @return [String]
71
+ def message
72
+ @message || @data[:message]
73
+ end
74
+
75
+ end
76
+
77
+ class InvalidInputException < ServiceError
78
+
79
+ # @param [Seahorse::Client::RequestContext] context
80
+ # @param [String] message
81
+ # @param [Aws::LakeFormation::Types::InvalidInputException] data
82
+ def initialize(context, message, data = Aws::EmptyStructure.new)
83
+ super(context, message, data)
84
+ end
85
+
86
+ # @return [String]
87
+ def message
88
+ @message || @data[:message]
89
+ end
90
+
91
+ end
92
+
93
+ class OperationTimeoutException < ServiceError
94
+
95
+ # @param [Seahorse::Client::RequestContext] context
96
+ # @param [String] message
97
+ # @param [Aws::LakeFormation::Types::OperationTimeoutException] data
98
+ def initialize(context, message, data = Aws::EmptyStructure.new)
99
+ super(context, message, data)
100
+ end
101
+
102
+ # @return [String]
103
+ def message
104
+ @message || @data[:message]
105
+ end
106
+
107
+ end
108
+
109
+ end
110
+ end
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::LakeFormation
9
+ class Resource
10
+
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
16
+
17
+ # @return [Client]
18
+ def client
19
+ @client
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,1323 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::LakeFormation
9
+ module Types
10
+
11
+ # A resource to be created or added already exists.
12
+ #
13
+ # @!attribute [rw] message
14
+ # A message describing the problem.
15
+ # @return [String]
16
+ #
17
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AlreadyExistsException AWS API Documentation
18
+ #
19
+ class AlreadyExistsException < Struct.new(
20
+ :message)
21
+ include Aws::Structure
22
+ end
23
+
24
+ # @note When making an API call, you may pass BatchGrantPermissionsRequest
25
+ # data as a hash:
26
+ #
27
+ # {
28
+ # catalog_id: "CatalogIdString",
29
+ # entries: [ # required
30
+ # {
31
+ # id: "Identifier", # required
32
+ # principal: {
33
+ # data_lake_principal_identifier: "DataLakePrincipalString",
34
+ # },
35
+ # resource: {
36
+ # catalog: {
37
+ # },
38
+ # database: {
39
+ # name: "NameString", # required
40
+ # },
41
+ # table: {
42
+ # database_name: "NameString", # required
43
+ # name: "NameString", # required
44
+ # },
45
+ # table_with_columns: {
46
+ # database_name: "NameString",
47
+ # name: "NameString",
48
+ # column_names: ["NameString"],
49
+ # column_wildcard: {
50
+ # excluded_column_names: ["NameString"],
51
+ # },
52
+ # },
53
+ # data_location: {
54
+ # resource_arn: "ResourceArnString", # required
55
+ # },
56
+ # },
57
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
58
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
59
+ # },
60
+ # ],
61
+ # }
62
+ #
63
+ # @!attribute [rw] catalog_id
64
+ # The identifier for the Data Catalog. By default, the account ID. The
65
+ # Data Catalog is the persistent metadata store. It contains database
66
+ # definitions, table definitions, and other control information to
67
+ # manage your AWS Lake Formation environment.
68
+ # @return [String]
69
+ #
70
+ # @!attribute [rw] entries
71
+ # A list of up to 20 entries for resource permissions to be granted by
72
+ # batch operation to the principal.
73
+ # @return [Array<Types::BatchPermissionsRequestEntry>]
74
+ #
75
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchGrantPermissionsRequest AWS API Documentation
76
+ #
77
+ class BatchGrantPermissionsRequest < Struct.new(
78
+ :catalog_id,
79
+ :entries)
80
+ include Aws::Structure
81
+ end
82
+
83
+ # @!attribute [rw] failures
84
+ # A list of failures to grant permissions to the resources.
85
+ # @return [Array<Types::BatchPermissionsFailureEntry>]
86
+ #
87
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchGrantPermissionsResponse AWS API Documentation
88
+ #
89
+ class BatchGrantPermissionsResponse < Struct.new(
90
+ :failures)
91
+ include Aws::Structure
92
+ end
93
+
94
+ # A list of failures when performing a batch grant or batch revoke
95
+ # operation.
96
+ #
97
+ # @!attribute [rw] request_entry
98
+ # An identifier for an entry of the batch request.
99
+ # @return [Types::BatchPermissionsRequestEntry]
100
+ #
101
+ # @!attribute [rw] error
102
+ # An error message that applies to the failure of the entry.
103
+ # @return [Types::ErrorDetail]
104
+ #
105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchPermissionsFailureEntry AWS API Documentation
106
+ #
107
+ class BatchPermissionsFailureEntry < Struct.new(
108
+ :request_entry,
109
+ :error)
110
+ include Aws::Structure
111
+ end
112
+
113
+ # A permission to a resource granted by batch operation to the
114
+ # principal.
115
+ #
116
+ # @note When making an API call, you may pass BatchPermissionsRequestEntry
117
+ # data as a hash:
118
+ #
119
+ # {
120
+ # id: "Identifier", # required
121
+ # principal: {
122
+ # data_lake_principal_identifier: "DataLakePrincipalString",
123
+ # },
124
+ # resource: {
125
+ # catalog: {
126
+ # },
127
+ # database: {
128
+ # name: "NameString", # required
129
+ # },
130
+ # table: {
131
+ # database_name: "NameString", # required
132
+ # name: "NameString", # required
133
+ # },
134
+ # table_with_columns: {
135
+ # database_name: "NameString",
136
+ # name: "NameString",
137
+ # column_names: ["NameString"],
138
+ # column_wildcard: {
139
+ # excluded_column_names: ["NameString"],
140
+ # },
141
+ # },
142
+ # data_location: {
143
+ # resource_arn: "ResourceArnString", # required
144
+ # },
145
+ # },
146
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
147
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
148
+ # }
149
+ #
150
+ # @!attribute [rw] id
151
+ # A unique identifier for the batch permissions request entry.
152
+ # @return [String]
153
+ #
154
+ # @!attribute [rw] principal
155
+ # The principal to be granted a permission.
156
+ # @return [Types::DataLakePrincipal]
157
+ #
158
+ # @!attribute [rw] resource
159
+ # The resource to which the principal is to be granted a permission.
160
+ # @return [Types::Resource]
161
+ #
162
+ # @!attribute [rw] permissions
163
+ # The permissions to be granted.
164
+ # @return [Array<String>]
165
+ #
166
+ # @!attribute [rw] permissions_with_grant_option
167
+ # Indicates if the option to pass permissions is granted.
168
+ # @return [Array<String>]
169
+ #
170
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchPermissionsRequestEntry AWS API Documentation
171
+ #
172
+ class BatchPermissionsRequestEntry < Struct.new(
173
+ :id,
174
+ :principal,
175
+ :resource,
176
+ :permissions,
177
+ :permissions_with_grant_option)
178
+ include Aws::Structure
179
+ end
180
+
181
+ # @note When making an API call, you may pass BatchRevokePermissionsRequest
182
+ # data as a hash:
183
+ #
184
+ # {
185
+ # catalog_id: "CatalogIdString",
186
+ # entries: [ # required
187
+ # {
188
+ # id: "Identifier", # required
189
+ # principal: {
190
+ # data_lake_principal_identifier: "DataLakePrincipalString",
191
+ # },
192
+ # resource: {
193
+ # catalog: {
194
+ # },
195
+ # database: {
196
+ # name: "NameString", # required
197
+ # },
198
+ # table: {
199
+ # database_name: "NameString", # required
200
+ # name: "NameString", # required
201
+ # },
202
+ # table_with_columns: {
203
+ # database_name: "NameString",
204
+ # name: "NameString",
205
+ # column_names: ["NameString"],
206
+ # column_wildcard: {
207
+ # excluded_column_names: ["NameString"],
208
+ # },
209
+ # },
210
+ # data_location: {
211
+ # resource_arn: "ResourceArnString", # required
212
+ # },
213
+ # },
214
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
215
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
216
+ # },
217
+ # ],
218
+ # }
219
+ #
220
+ # @!attribute [rw] catalog_id
221
+ # The identifier for the Data Catalog. By default, the account ID. The
222
+ # Data Catalog is the persistent metadata store. It contains database
223
+ # definitions, table definitions, and other control information to
224
+ # manage your AWS Lake Formation environment.
225
+ # @return [String]
226
+ #
227
+ # @!attribute [rw] entries
228
+ # A list of up to 20 entries for resource permissions to be revoked by
229
+ # batch operation to the principal.
230
+ # @return [Array<Types::BatchPermissionsRequestEntry>]
231
+ #
232
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchRevokePermissionsRequest AWS API Documentation
233
+ #
234
+ class BatchRevokePermissionsRequest < Struct.new(
235
+ :catalog_id,
236
+ :entries)
237
+ include Aws::Structure
238
+ end
239
+
240
+ # @!attribute [rw] failures
241
+ # A list of failures to revoke permissions to the resources.
242
+ # @return [Array<Types::BatchPermissionsFailureEntry>]
243
+ #
244
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchRevokePermissionsResponse AWS API Documentation
245
+ #
246
+ class BatchRevokePermissionsResponse < Struct.new(
247
+ :failures)
248
+ include Aws::Structure
249
+ end
250
+
251
+ # A structure for the catalog object.
252
+ #
253
+ # @api private
254
+ #
255
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CatalogResource AWS API Documentation
256
+ #
257
+ class CatalogResource < Aws::EmptyStructure; end
258
+
259
+ # A wildcard object, consisting of an optional list of excluded column
260
+ # names or indexes.
261
+ #
262
+ # @note When making an API call, you may pass ColumnWildcard
263
+ # data as a hash:
264
+ #
265
+ # {
266
+ # excluded_column_names: ["NameString"],
267
+ # }
268
+ #
269
+ # @!attribute [rw] excluded_column_names
270
+ # Excludes column names. Any column with this name will be excluded.
271
+ # @return [Array<String>]
272
+ #
273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ColumnWildcard AWS API Documentation
274
+ #
275
+ class ColumnWildcard < Struct.new(
276
+ :excluded_column_names)
277
+ include Aws::Structure
278
+ end
279
+
280
+ # Two processes are trying to modify a resource simultaneously.
281
+ #
282
+ # @!attribute [rw] message
283
+ # A message describing the problem.
284
+ # @return [String]
285
+ #
286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ConcurrentModificationException AWS API Documentation
287
+ #
288
+ class ConcurrentModificationException < Struct.new(
289
+ :message)
290
+ include Aws::Structure
291
+ end
292
+
293
+ # The AWS Lake Formation principal.
294
+ #
295
+ # @note When making an API call, you may pass DataLakePrincipal
296
+ # data as a hash:
297
+ #
298
+ # {
299
+ # data_lake_principal_identifier: "DataLakePrincipalString",
300
+ # }
301
+ #
302
+ # @!attribute [rw] data_lake_principal_identifier
303
+ # An identifier for the AWS Lake Formation principal.
304
+ # @return [String]
305
+ #
306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DataLakePrincipal AWS API Documentation
307
+ #
308
+ class DataLakePrincipal < Struct.new(
309
+ :data_lake_principal_identifier)
310
+ include Aws::Structure
311
+ end
312
+
313
+ # The AWS Lake Formation principal.
314
+ #
315
+ # @note When making an API call, you may pass DataLakeSettings
316
+ # data as a hash:
317
+ #
318
+ # {
319
+ # data_lake_admins: [
320
+ # {
321
+ # data_lake_principal_identifier: "DataLakePrincipalString",
322
+ # },
323
+ # ],
324
+ # create_database_default_permissions: [
325
+ # {
326
+ # principal: {
327
+ # data_lake_principal_identifier: "DataLakePrincipalString",
328
+ # },
329
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
330
+ # },
331
+ # ],
332
+ # create_table_default_permissions: [
333
+ # {
334
+ # principal: {
335
+ # data_lake_principal_identifier: "DataLakePrincipalString",
336
+ # },
337
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
338
+ # },
339
+ # ],
340
+ # }
341
+ #
342
+ # @!attribute [rw] data_lake_admins
343
+ # A list of AWS Lake Formation principals.
344
+ # @return [Array<Types::DataLakePrincipal>]
345
+ #
346
+ # @!attribute [rw] create_database_default_permissions
347
+ # A list of up to three principal permissions entries for default
348
+ # create database permissions.
349
+ # @return [Array<Types::PrincipalPermissions>]
350
+ #
351
+ # @!attribute [rw] create_table_default_permissions
352
+ # A list of up to three principal permissions entries for default
353
+ # create table permissions.
354
+ # @return [Array<Types::PrincipalPermissions>]
355
+ #
356
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DataLakeSettings AWS API Documentation
357
+ #
358
+ class DataLakeSettings < Struct.new(
359
+ :data_lake_admins,
360
+ :create_database_default_permissions,
361
+ :create_table_default_permissions)
362
+ include Aws::Structure
363
+ end
364
+
365
+ # A structure for a data location object where permissions are granted
366
+ # or revoked.
367
+ #
368
+ # @note When making an API call, you may pass DataLocationResource
369
+ # data as a hash:
370
+ #
371
+ # {
372
+ # resource_arn: "ResourceArnString", # required
373
+ # }
374
+ #
375
+ # @!attribute [rw] resource_arn
376
+ # The Amazon Resource Name (ARN) that uniquely identifies the data
377
+ # location resource.
378
+ # @return [String]
379
+ #
380
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DataLocationResource AWS API Documentation
381
+ #
382
+ class DataLocationResource < Struct.new(
383
+ :resource_arn)
384
+ include Aws::Structure
385
+ end
386
+
387
+ # A structure for the database object.
388
+ #
389
+ # @note When making an API call, you may pass DatabaseResource
390
+ # data as a hash:
391
+ #
392
+ # {
393
+ # name: "NameString", # required
394
+ # }
395
+ #
396
+ # @!attribute [rw] name
397
+ # The name of the database resource. Unique to the Data Catalog.
398
+ # @return [String]
399
+ #
400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DatabaseResource AWS API Documentation
401
+ #
402
+ class DatabaseResource < Struct.new(
403
+ :name)
404
+ include Aws::Structure
405
+ end
406
+
407
+ # @note When making an API call, you may pass DeregisterResourceRequest
408
+ # data as a hash:
409
+ #
410
+ # {
411
+ # resource_arn: "ResourceArnString", # required
412
+ # }
413
+ #
414
+ # @!attribute [rw] resource_arn
415
+ # The Amazon Resource Name (ARN) of the resource that you want to
416
+ # deregister.
417
+ # @return [String]
418
+ #
419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResourceRequest AWS API Documentation
420
+ #
421
+ class DeregisterResourceRequest < Struct.new(
422
+ :resource_arn)
423
+ include Aws::Structure
424
+ end
425
+
426
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResourceResponse AWS API Documentation
427
+ #
428
+ class DeregisterResourceResponse < Aws::EmptyStructure; end
429
+
430
+ # @note When making an API call, you may pass DescribeResourceRequest
431
+ # data as a hash:
432
+ #
433
+ # {
434
+ # resource_arn: "ResourceArnString", # required
435
+ # }
436
+ #
437
+ # @!attribute [rw] resource_arn
438
+ # The resource ARN.
439
+ # @return [String]
440
+ #
441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResourceRequest AWS API Documentation
442
+ #
443
+ class DescribeResourceRequest < Struct.new(
444
+ :resource_arn)
445
+ include Aws::Structure
446
+ end
447
+
448
+ # @!attribute [rw] resource_info
449
+ # A structure containing information about an AWS Lake Formation
450
+ # resource.
451
+ # @return [Types::ResourceInfo]
452
+ #
453
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResourceResponse AWS API Documentation
454
+ #
455
+ class DescribeResourceResponse < Struct.new(
456
+ :resource_info)
457
+ include Aws::Structure
458
+ end
459
+
460
+ # A specified entity does not exist
461
+ #
462
+ # @!attribute [rw] message
463
+ # A message describing the problem.
464
+ # @return [String]
465
+ #
466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/EntityNotFoundException AWS API Documentation
467
+ #
468
+ class EntityNotFoundException < Struct.new(
469
+ :message)
470
+ include Aws::Structure
471
+ end
472
+
473
+ # Contains details about an error.
474
+ #
475
+ # @!attribute [rw] error_code
476
+ # The code associated with this error.
477
+ # @return [String]
478
+ #
479
+ # @!attribute [rw] error_message
480
+ # A message describing the error.
481
+ # @return [String]
482
+ #
483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ErrorDetail AWS API Documentation
484
+ #
485
+ class ErrorDetail < Struct.new(
486
+ :error_code,
487
+ :error_message)
488
+ include Aws::Structure
489
+ end
490
+
491
+ # This structure describes the filtering of columns in a table based on
492
+ # a filter condition.
493
+ #
494
+ # @note When making an API call, you may pass FilterCondition
495
+ # data as a hash:
496
+ #
497
+ # {
498
+ # field: "RESOURCE_ARN", # accepts RESOURCE_ARN, ROLE_ARN, LAST_MODIFIED
499
+ # comparison_operator: "EQ", # accepts EQ, NE, LE, LT, GE, GT, CONTAINS, NOT_CONTAINS, BEGINS_WITH, IN, BETWEEN
500
+ # string_value_list: ["StringValue"],
501
+ # }
502
+ #
503
+ # @!attribute [rw] field
504
+ # The field to filter in the filter condition.
505
+ # @return [String]
506
+ #
507
+ # @!attribute [rw] comparison_operator
508
+ # The comparison operator used in the filter condition.
509
+ # @return [String]
510
+ #
511
+ # @!attribute [rw] string_value_list
512
+ # A string with values used in evaluating the filter condition.
513
+ # @return [Array<String>]
514
+ #
515
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/FilterCondition AWS API Documentation
516
+ #
517
+ class FilterCondition < Struct.new(
518
+ :field,
519
+ :comparison_operator,
520
+ :string_value_list)
521
+ include Aws::Structure
522
+ end
523
+
524
+ # @note When making an API call, you may pass GetDataLakeSettingsRequest
525
+ # data as a hash:
526
+ #
527
+ # {
528
+ # catalog_id: "CatalogIdString",
529
+ # }
530
+ #
531
+ # @!attribute [rw] catalog_id
532
+ # The identifier for the Data Catalog. By default, the account ID. The
533
+ # Data Catalog is the persistent metadata store. It contains database
534
+ # definitions, table definitions, and other control information to
535
+ # manage your AWS Lake Formation environment.
536
+ # @return [String]
537
+ #
538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettingsRequest AWS API Documentation
539
+ #
540
+ class GetDataLakeSettingsRequest < Struct.new(
541
+ :catalog_id)
542
+ include Aws::Structure
543
+ end
544
+
545
+ # @!attribute [rw] data_lake_settings
546
+ # A list of AWS Lake Formation principals.
547
+ # @return [Types::DataLakeSettings]
548
+ #
549
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettingsResponse AWS API Documentation
550
+ #
551
+ class GetDataLakeSettingsResponse < Struct.new(
552
+ :data_lake_settings)
553
+ include Aws::Structure
554
+ end
555
+
556
+ # @note When making an API call, you may pass GetEffectivePermissionsForPathRequest
557
+ # data as a hash:
558
+ #
559
+ # {
560
+ # catalog_id: "CatalogIdString",
561
+ # resource_arn: "ResourceArnString", # required
562
+ # next_token: "Token",
563
+ # max_results: 1,
564
+ # }
565
+ #
566
+ # @!attribute [rw] catalog_id
567
+ # The identifier for the Data Catalog. By default, the account ID. The
568
+ # Data Catalog is the persistent metadata store. It contains database
569
+ # definitions, table definitions, and other control information to
570
+ # manage your AWS Lake Formation environment.
571
+ # @return [String]
572
+ #
573
+ # @!attribute [rw] resource_arn
574
+ # The Amazon Resource Name (ARN) of the resource for which you want to
575
+ # get permissions.
576
+ # @return [String]
577
+ #
578
+ # @!attribute [rw] next_token
579
+ # A continuation token, if this is not the first call to retrieve this
580
+ # list.
581
+ # @return [String]
582
+ #
583
+ # @!attribute [rw] max_results
584
+ # The maximum number of results to return.
585
+ # @return [Integer]
586
+ #
587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetEffectivePermissionsForPathRequest AWS API Documentation
588
+ #
589
+ class GetEffectivePermissionsForPathRequest < Struct.new(
590
+ :catalog_id,
591
+ :resource_arn,
592
+ :next_token,
593
+ :max_results)
594
+ include Aws::Structure
595
+ end
596
+
597
+ # @!attribute [rw] permissions
598
+ # A list of the permissions for the specified table or database
599
+ # resource located at the path in Amazon S3.
600
+ # @return [Array<Types::PrincipalResourcePermissions>]
601
+ #
602
+ # @!attribute [rw] next_token
603
+ # A continuation token, if this is not the first call to retrieve this
604
+ # list.
605
+ # @return [String]
606
+ #
607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetEffectivePermissionsForPathResponse AWS API Documentation
608
+ #
609
+ class GetEffectivePermissionsForPathResponse < Struct.new(
610
+ :permissions,
611
+ :next_token)
612
+ include Aws::Structure
613
+ end
614
+
615
+ # @note When making an API call, you may pass GrantPermissionsRequest
616
+ # data as a hash:
617
+ #
618
+ # {
619
+ # catalog_id: "CatalogIdString",
620
+ # principal: { # required
621
+ # data_lake_principal_identifier: "DataLakePrincipalString",
622
+ # },
623
+ # resource: { # required
624
+ # catalog: {
625
+ # },
626
+ # database: {
627
+ # name: "NameString", # required
628
+ # },
629
+ # table: {
630
+ # database_name: "NameString", # required
631
+ # name: "NameString", # required
632
+ # },
633
+ # table_with_columns: {
634
+ # database_name: "NameString",
635
+ # name: "NameString",
636
+ # column_names: ["NameString"],
637
+ # column_wildcard: {
638
+ # excluded_column_names: ["NameString"],
639
+ # },
640
+ # },
641
+ # data_location: {
642
+ # resource_arn: "ResourceArnString", # required
643
+ # },
644
+ # },
645
+ # permissions: ["ALL"], # required, accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
646
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
647
+ # }
648
+ #
649
+ # @!attribute [rw] catalog_id
650
+ # The identifier for the Data Catalog. By default, the account ID. The
651
+ # Data Catalog is the persistent metadata store. It contains database
652
+ # definitions, table definitions, and other control information to
653
+ # manage your AWS Lake Formation environment.
654
+ # @return [String]
655
+ #
656
+ # @!attribute [rw] principal
657
+ # The principal to be granted the permissions on the resource.
658
+ # Supported principals are IAM users or IAM roles, and they are
659
+ # defined by their principal type and their ARN.
660
+ #
661
+ # Note that if you define a resource with a particular ARN, then later
662
+ # delete, and recreate a resource with that same ARN, the resource
663
+ # maintains the permissions already granted.
664
+ # @return [Types::DataLakePrincipal]
665
+ #
666
+ # @!attribute [rw] resource
667
+ # The resource to which permissions are to be granted. Resources in
668
+ # AWS Lake Formation are the Data Catalog, databases, and tables.
669
+ # @return [Types::Resource]
670
+ #
671
+ # @!attribute [rw] permissions
672
+ # The permissions granted to the principal on the resource. AWS Lake
673
+ # Formation defines privileges to grant and revoke access to metadata
674
+ # in the Data Catalog and data organized in underlying data storage
675
+ # such as Amazon S3. AWS Lake Formation requires that each principal
676
+ # be authorized to perform a specific task on AWS Lake Formation
677
+ # resources.
678
+ # @return [Array<String>]
679
+ #
680
+ # @!attribute [rw] permissions_with_grant_option
681
+ # Indicates a list of the granted permissions that the principal may
682
+ # pass to other users. These permissions may only be a subset of the
683
+ # permissions granted in the `Privileges`.
684
+ # @return [Array<String>]
685
+ #
686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissionsRequest AWS API Documentation
687
+ #
688
+ class GrantPermissionsRequest < Struct.new(
689
+ :catalog_id,
690
+ :principal,
691
+ :resource,
692
+ :permissions,
693
+ :permissions_with_grant_option)
694
+ include Aws::Structure
695
+ end
696
+
697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissionsResponse AWS API Documentation
698
+ #
699
+ class GrantPermissionsResponse < Aws::EmptyStructure; end
700
+
701
+ # An internal service error occurred.
702
+ #
703
+ # @!attribute [rw] message
704
+ # A message describing the problem.
705
+ # @return [String]
706
+ #
707
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/InternalServiceException AWS API Documentation
708
+ #
709
+ class InternalServiceException < Struct.new(
710
+ :message)
711
+ include Aws::Structure
712
+ end
713
+
714
+ # The input provided was not valid.
715
+ #
716
+ # @!attribute [rw] message
717
+ # A message describing the problem.
718
+ # @return [String]
719
+ #
720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/InvalidInputException AWS API Documentation
721
+ #
722
+ class InvalidInputException < Struct.new(
723
+ :message)
724
+ include Aws::Structure
725
+ end
726
+
727
+ # @note When making an API call, you may pass ListPermissionsRequest
728
+ # data as a hash:
729
+ #
730
+ # {
731
+ # catalog_id: "CatalogIdString",
732
+ # principal: {
733
+ # data_lake_principal_identifier: "DataLakePrincipalString",
734
+ # },
735
+ # resource_type: "CATALOG", # accepts CATALOG, DATABASE, TABLE, DATA_LOCATION
736
+ # resource: {
737
+ # catalog: {
738
+ # },
739
+ # database: {
740
+ # name: "NameString", # required
741
+ # },
742
+ # table: {
743
+ # database_name: "NameString", # required
744
+ # name: "NameString", # required
745
+ # },
746
+ # table_with_columns: {
747
+ # database_name: "NameString",
748
+ # name: "NameString",
749
+ # column_names: ["NameString"],
750
+ # column_wildcard: {
751
+ # excluded_column_names: ["NameString"],
752
+ # },
753
+ # },
754
+ # data_location: {
755
+ # resource_arn: "ResourceArnString", # required
756
+ # },
757
+ # },
758
+ # next_token: "Token",
759
+ # max_results: 1,
760
+ # }
761
+ #
762
+ # @!attribute [rw] catalog_id
763
+ # The identifier for the Data Catalog. By default, the account ID. The
764
+ # Data Catalog is the persistent metadata store. It contains database
765
+ # definitions, table definitions, and other control information to
766
+ # manage your AWS Lake Formation environment.
767
+ # @return [String]
768
+ #
769
+ # @!attribute [rw] principal
770
+ # Specifies a principal to filter the permissions returned.
771
+ # @return [Types::DataLakePrincipal]
772
+ #
773
+ # @!attribute [rw] resource_type
774
+ # Specifies a resource type to filter the permissions returned.
775
+ # @return [String]
776
+ #
777
+ # @!attribute [rw] resource
778
+ # A resource where you will get a list of the principal permissions.
779
+ #
780
+ # This operation does not support getting privileges on a table with
781
+ # columns. Instead, call this operation on the table, and the
782
+ # operation returns the table and the table w columns.
783
+ # @return [Types::Resource]
784
+ #
785
+ # @!attribute [rw] next_token
786
+ # A continuation token, if this is not the first call to retrieve this
787
+ # list.
788
+ # @return [String]
789
+ #
790
+ # @!attribute [rw] max_results
791
+ # The maximum number of results to return.
792
+ # @return [Integer]
793
+ #
794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissionsRequest AWS API Documentation
795
+ #
796
+ class ListPermissionsRequest < Struct.new(
797
+ :catalog_id,
798
+ :principal,
799
+ :resource_type,
800
+ :resource,
801
+ :next_token,
802
+ :max_results)
803
+ include Aws::Structure
804
+ end
805
+
806
+ # @!attribute [rw] principal_resource_permissions
807
+ # A list of principals and their permissions on the resource for the
808
+ # specified principal and resource types.
809
+ # @return [Array<Types::PrincipalResourcePermissions>]
810
+ #
811
+ # @!attribute [rw] next_token
812
+ # A continuation token, if this is not the first call to retrieve this
813
+ # list.
814
+ # @return [String]
815
+ #
816
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissionsResponse AWS API Documentation
817
+ #
818
+ class ListPermissionsResponse < Struct.new(
819
+ :principal_resource_permissions,
820
+ :next_token)
821
+ include Aws::Structure
822
+ end
823
+
824
+ # @note When making an API call, you may pass ListResourcesRequest
825
+ # data as a hash:
826
+ #
827
+ # {
828
+ # filter_condition_list: [
829
+ # {
830
+ # field: "RESOURCE_ARN", # accepts RESOURCE_ARN, ROLE_ARN, LAST_MODIFIED
831
+ # comparison_operator: "EQ", # accepts EQ, NE, LE, LT, GE, GT, CONTAINS, NOT_CONTAINS, BEGINS_WITH, IN, BETWEEN
832
+ # string_value_list: ["StringValue"],
833
+ # },
834
+ # ],
835
+ # max_results: 1,
836
+ # next_token: "Token",
837
+ # }
838
+ #
839
+ # @!attribute [rw] filter_condition_list
840
+ # Any applicable row-level and/or column-level filtering conditions
841
+ # for the resources.
842
+ # @return [Array<Types::FilterCondition>]
843
+ #
844
+ # @!attribute [rw] max_results
845
+ # The maximum number of resource results.
846
+ # @return [Integer]
847
+ #
848
+ # @!attribute [rw] next_token
849
+ # A continuation token, if this is not the first call to retrieve
850
+ # these resources.
851
+ # @return [String]
852
+ #
853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResourcesRequest AWS API Documentation
854
+ #
855
+ class ListResourcesRequest < Struct.new(
856
+ :filter_condition_list,
857
+ :max_results,
858
+ :next_token)
859
+ include Aws::Structure
860
+ end
861
+
862
+ # @!attribute [rw] resource_info_list
863
+ # A summary of the data lake resources.
864
+ # @return [Array<Types::ResourceInfo>]
865
+ #
866
+ # @!attribute [rw] next_token
867
+ # A continuation token, if this is not the first call to retrieve
868
+ # these resources.
869
+ # @return [String]
870
+ #
871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResourcesResponse AWS API Documentation
872
+ #
873
+ class ListResourcesResponse < Struct.new(
874
+ :resource_info_list,
875
+ :next_token)
876
+ include Aws::Structure
877
+ end
878
+
879
+ # The operation timed out.
880
+ #
881
+ # @!attribute [rw] message
882
+ # A message describing the problem.
883
+ # @return [String]
884
+ #
885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/OperationTimeoutException AWS API Documentation
886
+ #
887
+ class OperationTimeoutException < Struct.new(
888
+ :message)
889
+ include Aws::Structure
890
+ end
891
+
892
+ # Permissions granted to a principal.
893
+ #
894
+ # @note When making an API call, you may pass PrincipalPermissions
895
+ # data as a hash:
896
+ #
897
+ # {
898
+ # principal: {
899
+ # data_lake_principal_identifier: "DataLakePrincipalString",
900
+ # },
901
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
902
+ # }
903
+ #
904
+ # @!attribute [rw] principal
905
+ # The principal who is granted permissions.
906
+ # @return [Types::DataLakePrincipal]
907
+ #
908
+ # @!attribute [rw] permissions
909
+ # The permissions that are granted to the principal.
910
+ # @return [Array<String>]
911
+ #
912
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PrincipalPermissions AWS API Documentation
913
+ #
914
+ class PrincipalPermissions < Struct.new(
915
+ :principal,
916
+ :permissions)
917
+ include Aws::Structure
918
+ end
919
+
920
+ # The permissions granted or revoked on a resource.
921
+ #
922
+ # @!attribute [rw] principal
923
+ # The Data Lake principal to be granted or revoked permissions.
924
+ # @return [Types::DataLakePrincipal]
925
+ #
926
+ # @!attribute [rw] resource
927
+ # The resource where permissions are to be granted or revoked.
928
+ # @return [Types::Resource]
929
+ #
930
+ # @!attribute [rw] permissions
931
+ # The permissions to be granted or revoked on the resource.
932
+ # @return [Array<String>]
933
+ #
934
+ # @!attribute [rw] permissions_with_grant_option
935
+ # Indicates whether to grant the ability to grant permissions (as a
936
+ # subset of permissions granted).
937
+ # @return [Array<String>]
938
+ #
939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PrincipalResourcePermissions AWS API Documentation
940
+ #
941
+ class PrincipalResourcePermissions < Struct.new(
942
+ :principal,
943
+ :resource,
944
+ :permissions,
945
+ :permissions_with_grant_option)
946
+ include Aws::Structure
947
+ end
948
+
949
+ # @note When making an API call, you may pass PutDataLakeSettingsRequest
950
+ # data as a hash:
951
+ #
952
+ # {
953
+ # catalog_id: "CatalogIdString",
954
+ # data_lake_settings: { # required
955
+ # data_lake_admins: [
956
+ # {
957
+ # data_lake_principal_identifier: "DataLakePrincipalString",
958
+ # },
959
+ # ],
960
+ # create_database_default_permissions: [
961
+ # {
962
+ # principal: {
963
+ # data_lake_principal_identifier: "DataLakePrincipalString",
964
+ # },
965
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
966
+ # },
967
+ # ],
968
+ # create_table_default_permissions: [
969
+ # {
970
+ # principal: {
971
+ # data_lake_principal_identifier: "DataLakePrincipalString",
972
+ # },
973
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
974
+ # },
975
+ # ],
976
+ # },
977
+ # }
978
+ #
979
+ # @!attribute [rw] catalog_id
980
+ # The identifier for the Data Catalog. By default, the account ID. The
981
+ # Data Catalog is the persistent metadata store. It contains database
982
+ # definitions, table definitions, and other control information to
983
+ # manage your AWS Lake Formation environment.
984
+ # @return [String]
985
+ #
986
+ # @!attribute [rw] data_lake_settings
987
+ # A list of AWS Lake Formation principals.
988
+ # @return [Types::DataLakeSettings]
989
+ #
990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PutDataLakeSettingsRequest AWS API Documentation
991
+ #
992
+ class PutDataLakeSettingsRequest < Struct.new(
993
+ :catalog_id,
994
+ :data_lake_settings)
995
+ include Aws::Structure
996
+ end
997
+
998
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PutDataLakeSettingsResponse AWS API Documentation
999
+ #
1000
+ class PutDataLakeSettingsResponse < Aws::EmptyStructure; end
1001
+
1002
+ # @note When making an API call, you may pass RegisterResourceRequest
1003
+ # data as a hash:
1004
+ #
1005
+ # {
1006
+ # resource_arn: "ResourceArnString", # required
1007
+ # use_service_linked_role: false,
1008
+ # role_arn: "IAMRoleArn",
1009
+ # }
1010
+ #
1011
+ # @!attribute [rw] resource_arn
1012
+ # The Amazon Resource Name (ARN) of the resource that you want to
1013
+ # register.
1014
+ # @return [String]
1015
+ #
1016
+ # @!attribute [rw] use_service_linked_role
1017
+ # Designates a trusted caller, an IAM principal, by registering this
1018
+ # caller with the Data Catalog.
1019
+ # @return [Boolean]
1020
+ #
1021
+ # @!attribute [rw] role_arn
1022
+ # The identifier for the role.
1023
+ # @return [String]
1024
+ #
1025
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResourceRequest AWS API Documentation
1026
+ #
1027
+ class RegisterResourceRequest < Struct.new(
1028
+ :resource_arn,
1029
+ :use_service_linked_role,
1030
+ :role_arn)
1031
+ include Aws::Structure
1032
+ end
1033
+
1034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResourceResponse AWS API Documentation
1035
+ #
1036
+ class RegisterResourceResponse < Aws::EmptyStructure; end
1037
+
1038
+ # A structure for the resource.
1039
+ #
1040
+ # @note When making an API call, you may pass Resource
1041
+ # data as a hash:
1042
+ #
1043
+ # {
1044
+ # catalog: {
1045
+ # },
1046
+ # database: {
1047
+ # name: "NameString", # required
1048
+ # },
1049
+ # table: {
1050
+ # database_name: "NameString", # required
1051
+ # name: "NameString", # required
1052
+ # },
1053
+ # table_with_columns: {
1054
+ # database_name: "NameString",
1055
+ # name: "NameString",
1056
+ # column_names: ["NameString"],
1057
+ # column_wildcard: {
1058
+ # excluded_column_names: ["NameString"],
1059
+ # },
1060
+ # },
1061
+ # data_location: {
1062
+ # resource_arn: "ResourceArnString", # required
1063
+ # },
1064
+ # }
1065
+ #
1066
+ # @!attribute [rw] catalog
1067
+ # The identifier for the Data Catalog. By default, the account ID. The
1068
+ # Data Catalog is the persistent metadata store. It contains database
1069
+ # definitions, table definitions, and other control information to
1070
+ # manage your AWS Lake Formation environment.
1071
+ # @return [Types::CatalogResource]
1072
+ #
1073
+ # @!attribute [rw] database
1074
+ # The database for the resource. Unique to the Data Catalog. A
1075
+ # database is a set of associated table definitions organized into a
1076
+ # logical group. You can Grant and Revoke database permissions to a
1077
+ # principal.
1078
+ # @return [Types::DatabaseResource]
1079
+ #
1080
+ # @!attribute [rw] table
1081
+ # The table for the resource. A table is a metadata definition that
1082
+ # represents your data. You can Grant and Revoke table privileges to a
1083
+ # principal.
1084
+ # @return [Types::TableResource]
1085
+ #
1086
+ # @!attribute [rw] table_with_columns
1087
+ # The table with columns for the resource. A principal with
1088
+ # permissions to this resource can select metadata from the columns of
1089
+ # a table in the Data Catalog and the underlying data in Amazon S3.
1090
+ # @return [Types::TableWithColumnsResource]
1091
+ #
1092
+ # @!attribute [rw] data_location
1093
+ # The location of an Amazon S3 path where permissions are granted or
1094
+ # revoked.
1095
+ # @return [Types::DataLocationResource]
1096
+ #
1097
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/Resource AWS API Documentation
1098
+ #
1099
+ class Resource < Struct.new(
1100
+ :catalog,
1101
+ :database,
1102
+ :table,
1103
+ :table_with_columns,
1104
+ :data_location)
1105
+ include Aws::Structure
1106
+ end
1107
+
1108
+ # A structure containing information about an AWS Lake Formation
1109
+ # resource.
1110
+ #
1111
+ # @!attribute [rw] resource_arn
1112
+ # The Amazon Resource Name (ARN) of the resource.
1113
+ # @return [String]
1114
+ #
1115
+ # @!attribute [rw] role_arn
1116
+ # The IAM role that registered a resource.
1117
+ # @return [String]
1118
+ #
1119
+ # @!attribute [rw] last_modified
1120
+ # The date and time the resource was last modified.
1121
+ # @return [Time]
1122
+ #
1123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ResourceInfo AWS API Documentation
1124
+ #
1125
+ class ResourceInfo < Struct.new(
1126
+ :resource_arn,
1127
+ :role_arn,
1128
+ :last_modified)
1129
+ include Aws::Structure
1130
+ end
1131
+
1132
+ # @note When making an API call, you may pass RevokePermissionsRequest
1133
+ # data as a hash:
1134
+ #
1135
+ # {
1136
+ # catalog_id: "CatalogIdString",
1137
+ # principal: { # required
1138
+ # data_lake_principal_identifier: "DataLakePrincipalString",
1139
+ # },
1140
+ # resource: { # required
1141
+ # catalog: {
1142
+ # },
1143
+ # database: {
1144
+ # name: "NameString", # required
1145
+ # },
1146
+ # table: {
1147
+ # database_name: "NameString", # required
1148
+ # name: "NameString", # required
1149
+ # },
1150
+ # table_with_columns: {
1151
+ # database_name: "NameString",
1152
+ # name: "NameString",
1153
+ # column_names: ["NameString"],
1154
+ # column_wildcard: {
1155
+ # excluded_column_names: ["NameString"],
1156
+ # },
1157
+ # },
1158
+ # data_location: {
1159
+ # resource_arn: "ResourceArnString", # required
1160
+ # },
1161
+ # },
1162
+ # permissions: ["ALL"], # required, accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
1163
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
1164
+ # }
1165
+ #
1166
+ # @!attribute [rw] catalog_id
1167
+ # The identifier for the Data Catalog. By default, the account ID. The
1168
+ # Data Catalog is the persistent metadata store. It contains database
1169
+ # definitions, table definitions, and other control information to
1170
+ # manage your AWS Lake Formation environment.
1171
+ # @return [String]
1172
+ #
1173
+ # @!attribute [rw] principal
1174
+ # The principal to be revoked permissions on the resource.
1175
+ # @return [Types::DataLakePrincipal]
1176
+ #
1177
+ # @!attribute [rw] resource
1178
+ # The resource to which permissions are to be revoked.
1179
+ # @return [Types::Resource]
1180
+ #
1181
+ # @!attribute [rw] permissions
1182
+ # The permissions revoked to the principal on the resource. For
1183
+ # information about permissions, see [Security and Access Control to
1184
+ # Metadata and Data][1].
1185
+ #
1186
+ #
1187
+ #
1188
+ # [1]: https://docs-aws.amazon.com/michigan/latest/dg/security-data-access.html
1189
+ # @return [Array<String>]
1190
+ #
1191
+ # @!attribute [rw] permissions_with_grant_option
1192
+ # Indicates a list of permissions for which to revoke the grant option
1193
+ # allowing the principal to pass permissions to other principals.
1194
+ # @return [Array<String>]
1195
+ #
1196
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissionsRequest AWS API Documentation
1197
+ #
1198
+ class RevokePermissionsRequest < Struct.new(
1199
+ :catalog_id,
1200
+ :principal,
1201
+ :resource,
1202
+ :permissions,
1203
+ :permissions_with_grant_option)
1204
+ include Aws::Structure
1205
+ end
1206
+
1207
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissionsResponse AWS API Documentation
1208
+ #
1209
+ class RevokePermissionsResponse < Aws::EmptyStructure; end
1210
+
1211
+ # A structure for the table object. A table is a metadata definition
1212
+ # that represents your data. You can Grant and Revoke table privileges
1213
+ # to a principal.
1214
+ #
1215
+ # @note When making an API call, you may pass TableResource
1216
+ # data as a hash:
1217
+ #
1218
+ # {
1219
+ # database_name: "NameString", # required
1220
+ # name: "NameString", # required
1221
+ # }
1222
+ #
1223
+ # @!attribute [rw] database_name
1224
+ # The name of the database for the table. Unique to a Data Catalog. A
1225
+ # database is a set of associated table definitions organized into a
1226
+ # logical group. You can Grant and Revoke database privileges to a
1227
+ # principal.
1228
+ # @return [String]
1229
+ #
1230
+ # @!attribute [rw] name
1231
+ # The name of the table.
1232
+ # @return [String]
1233
+ #
1234
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/TableResource AWS API Documentation
1235
+ #
1236
+ class TableResource < Struct.new(
1237
+ :database_name,
1238
+ :name)
1239
+ include Aws::Structure
1240
+ end
1241
+
1242
+ # A structure for a table with columns object. This object is only used
1243
+ # when granting a SELECT permission.
1244
+ #
1245
+ # This object must take a value for at least one of `ColumnsNames`,
1246
+ # `ColumnsIndexes`, or `ColumnsWildcard`.
1247
+ #
1248
+ # @note When making an API call, you may pass TableWithColumnsResource
1249
+ # data as a hash:
1250
+ #
1251
+ # {
1252
+ # database_name: "NameString",
1253
+ # name: "NameString",
1254
+ # column_names: ["NameString"],
1255
+ # column_wildcard: {
1256
+ # excluded_column_names: ["NameString"],
1257
+ # },
1258
+ # }
1259
+ #
1260
+ # @!attribute [rw] database_name
1261
+ # The name of the database for the table with columns resource. Unique
1262
+ # to the Data Catalog. A database is a set of associated table
1263
+ # definitions organized into a logical group. You can Grant and Revoke
1264
+ # database privileges to a principal.
1265
+ # @return [String]
1266
+ #
1267
+ # @!attribute [rw] name
1268
+ # The name of the table resource. A table is a metadata definition
1269
+ # that represents your data. You can Grant and Revoke table privileges
1270
+ # to a principal.
1271
+ # @return [String]
1272
+ #
1273
+ # @!attribute [rw] column_names
1274
+ # The list of column names for the table. At least one of
1275
+ # `ColumnNames` or `ColumnWildcard` is required.
1276
+ # @return [Array<String>]
1277
+ #
1278
+ # @!attribute [rw] column_wildcard
1279
+ # A wildcard specified by a `ColumnWildcard` object. At least one of
1280
+ # `ColumnNames` or `ColumnWildcard` is required.
1281
+ # @return [Types::ColumnWildcard]
1282
+ #
1283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/TableWithColumnsResource AWS API Documentation
1284
+ #
1285
+ class TableWithColumnsResource < Struct.new(
1286
+ :database_name,
1287
+ :name,
1288
+ :column_names,
1289
+ :column_wildcard)
1290
+ include Aws::Structure
1291
+ end
1292
+
1293
+ # @note When making an API call, you may pass UpdateResourceRequest
1294
+ # data as a hash:
1295
+ #
1296
+ # {
1297
+ # role_arn: "IAMRoleArn", # required
1298
+ # resource_arn: "ResourceArnString", # required
1299
+ # }
1300
+ #
1301
+ # @!attribute [rw] role_arn
1302
+ # The new role to use for the given resource registered in AWS Lake
1303
+ # Formation.
1304
+ # @return [String]
1305
+ #
1306
+ # @!attribute [rw] resource_arn
1307
+ # The resource ARN.
1308
+ # @return [String]
1309
+ #
1310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResourceRequest AWS API Documentation
1311
+ #
1312
+ class UpdateResourceRequest < Struct.new(
1313
+ :role_arn,
1314
+ :resource_arn)
1315
+ include Aws::Structure
1316
+ end
1317
+
1318
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResourceResponse AWS API Documentation
1319
+ #
1320
+ class UpdateResourceResponse < Aws::EmptyStructure; end
1321
+
1322
+ end
1323
+ end