aws-sdk-lakeformation 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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