aws-sdk 2.684.0 → 2.688.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.
@@ -27,6 +27,14 @@ declare class Athena extends Service {
27
27
  * Returns the details of a single query execution or a list of up to 50 query executions, which you provide as an array of query execution ID strings. Requires you to have access to the workgroup in which the queries ran. To get a list of query execution IDs, use ListQueryExecutionsInput$WorkGroup. Query executions differ from named (saved) queries. Use BatchGetNamedQueryInput to get details about named queries.
28
28
  */
29
29
  batchGetQueryExecution(callback?: (err: AWSError, data: Athena.Types.BatchGetQueryExecutionOutput) => void): Request<Athena.Types.BatchGetQueryExecutionOutput, AWSError>;
30
+ /**
31
+ * Creates (registers) a data catalog with the specified name and properties. Catalogs created are visible to all users of the same AWS account.
32
+ */
33
+ createDataCatalog(params: Athena.Types.CreateDataCatalogInput, callback?: (err: AWSError, data: Athena.Types.CreateDataCatalogOutput) => void): Request<Athena.Types.CreateDataCatalogOutput, AWSError>;
34
+ /**
35
+ * Creates (registers) a data catalog with the specified name and properties. Catalogs created are visible to all users of the same AWS account.
36
+ */
37
+ createDataCatalog(callback?: (err: AWSError, data: Athena.Types.CreateDataCatalogOutput) => void): Request<Athena.Types.CreateDataCatalogOutput, AWSError>;
30
38
  /**
31
39
  * Creates a named query in the specified workgroup. Requires that you have access to the workgroup. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.
32
40
  */
@@ -43,6 +51,14 @@ declare class Athena extends Service {
43
51
  * Creates a workgroup with the specified name.
44
52
  */
45
53
  createWorkGroup(callback?: (err: AWSError, data: Athena.Types.CreateWorkGroupOutput) => void): Request<Athena.Types.CreateWorkGroupOutput, AWSError>;
54
+ /**
55
+ * Deletes a data catalog.
56
+ */
57
+ deleteDataCatalog(params: Athena.Types.DeleteDataCatalogInput, callback?: (err: AWSError, data: Athena.Types.DeleteDataCatalogOutput) => void): Request<Athena.Types.DeleteDataCatalogOutput, AWSError>;
58
+ /**
59
+ * Deletes a data catalog.
60
+ */
61
+ deleteDataCatalog(callback?: (err: AWSError, data: Athena.Types.DeleteDataCatalogOutput) => void): Request<Athena.Types.DeleteDataCatalogOutput, AWSError>;
46
62
  /**
47
63
  * Deletes the named query if you have access to the workgroup in which the query was saved. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.
48
64
  */
@@ -59,6 +75,22 @@ declare class Athena extends Service {
59
75
  * Deletes the workgroup with the specified name. The primary workgroup cannot be deleted.
60
76
  */
61
77
  deleteWorkGroup(callback?: (err: AWSError, data: Athena.Types.DeleteWorkGroupOutput) => void): Request<Athena.Types.DeleteWorkGroupOutput, AWSError>;
78
+ /**
79
+ * Returns the specified data catalog.
80
+ */
81
+ getDataCatalog(params: Athena.Types.GetDataCatalogInput, callback?: (err: AWSError, data: Athena.Types.GetDataCatalogOutput) => void): Request<Athena.Types.GetDataCatalogOutput, AWSError>;
82
+ /**
83
+ * Returns the specified data catalog.
84
+ */
85
+ getDataCatalog(callback?: (err: AWSError, data: Athena.Types.GetDataCatalogOutput) => void): Request<Athena.Types.GetDataCatalogOutput, AWSError>;
86
+ /**
87
+ * Returns a database object for the specfied database and data catalog.
88
+ */
89
+ getDatabase(params: Athena.Types.GetDatabaseInput, callback?: (err: AWSError, data: Athena.Types.GetDatabaseOutput) => void): Request<Athena.Types.GetDatabaseOutput, AWSError>;
90
+ /**
91
+ * Returns a database object for the specfied database and data catalog.
92
+ */
93
+ getDatabase(callback?: (err: AWSError, data: Athena.Types.GetDatabaseOutput) => void): Request<Athena.Types.GetDatabaseOutput, AWSError>;
62
94
  /**
63
95
  * Returns information about a single query. Requires that you have access to the workgroup in which the query was saved.
64
96
  */
@@ -83,6 +115,14 @@ declare class Athena extends Service {
83
115
  * Streams the results of a single query execution specified by QueryExecutionId from the Athena query results location in Amazon S3. For more information, see Query Results in the Amazon Athena User Guide. This request does not execute the query but returns results. Use StartQueryExecution to run a query. To stream query results successfully, the IAM principal with permission to call GetQueryResults also must have permissions to the Amazon S3 GetObject action for the Athena query results location. IAM principals with permission to the Amazon S3 GetObject action for the query results location are able to retrieve query results from Amazon S3 even if permission to the GetQueryResults action is denied. To restrict user or role access, ensure that Amazon S3 permissions to the Athena query location are denied.
84
116
  */
85
117
  getQueryResults(callback?: (err: AWSError, data: Athena.Types.GetQueryResultsOutput) => void): Request<Athena.Types.GetQueryResultsOutput, AWSError>;
118
+ /**
119
+ * Returns table metadata for the specified catalog, database, and table.
120
+ */
121
+ getTableMetadata(params: Athena.Types.GetTableMetadataInput, callback?: (err: AWSError, data: Athena.Types.GetTableMetadataOutput) => void): Request<Athena.Types.GetTableMetadataOutput, AWSError>;
122
+ /**
123
+ * Returns table metadata for the specified catalog, database, and table.
124
+ */
125
+ getTableMetadata(callback?: (err: AWSError, data: Athena.Types.GetTableMetadataOutput) => void): Request<Athena.Types.GetTableMetadataOutput, AWSError>;
86
126
  /**
87
127
  * Returns information about the workgroup with the specified name.
88
128
  */
@@ -92,11 +132,27 @@ declare class Athena extends Service {
92
132
  */
93
133
  getWorkGroup(callback?: (err: AWSError, data: Athena.Types.GetWorkGroupOutput) => void): Request<Athena.Types.GetWorkGroupOutput, AWSError>;
94
134
  /**
95
- * Provides a list of available query IDs only for queries saved in the specified workgroup. Requires that you have access to the workgroup. If a workgroup is not specified, lists the saved queries for the primary workgroup. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.
135
+ * Lists the data catalogs in the current AWS account.
136
+ */
137
+ listDataCatalogs(params: Athena.Types.ListDataCatalogsInput, callback?: (err: AWSError, data: Athena.Types.ListDataCatalogsOutput) => void): Request<Athena.Types.ListDataCatalogsOutput, AWSError>;
138
+ /**
139
+ * Lists the data catalogs in the current AWS account.
140
+ */
141
+ listDataCatalogs(callback?: (err: AWSError, data: Athena.Types.ListDataCatalogsOutput) => void): Request<Athena.Types.ListDataCatalogsOutput, AWSError>;
142
+ /**
143
+ * Lists the databases in the specified data catalog.
144
+ */
145
+ listDatabases(params: Athena.Types.ListDatabasesInput, callback?: (err: AWSError, data: Athena.Types.ListDatabasesOutput) => void): Request<Athena.Types.ListDatabasesOutput, AWSError>;
146
+ /**
147
+ * Lists the databases in the specified data catalog.
148
+ */
149
+ listDatabases(callback?: (err: AWSError, data: Athena.Types.ListDatabasesOutput) => void): Request<Athena.Types.ListDatabasesOutput, AWSError>;
150
+ /**
151
+ * Provides a list of available query IDs only for queries saved in the specified workgroup. Requires that you have access to the specified workgroup. If a workgroup is not specified, lists the saved queries for the primary workgroup. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.
96
152
  */
97
153
  listNamedQueries(params: Athena.Types.ListNamedQueriesInput, callback?: (err: AWSError, data: Athena.Types.ListNamedQueriesOutput) => void): Request<Athena.Types.ListNamedQueriesOutput, AWSError>;
98
154
  /**
99
- * Provides a list of available query IDs only for queries saved in the specified workgroup. Requires that you have access to the workgroup. If a workgroup is not specified, lists the saved queries for the primary workgroup. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.
155
+ * Provides a list of available query IDs only for queries saved in the specified workgroup. Requires that you have access to the specified workgroup. If a workgroup is not specified, lists the saved queries for the primary workgroup. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.
100
156
  */
101
157
  listNamedQueries(callback?: (err: AWSError, data: Athena.Types.ListNamedQueriesOutput) => void): Request<Athena.Types.ListNamedQueriesOutput, AWSError>;
102
158
  /**
@@ -108,11 +164,19 @@ declare class Athena extends Service {
108
164
  */
109
165
  listQueryExecutions(callback?: (err: AWSError, data: Athena.Types.ListQueryExecutionsOutput) => void): Request<Athena.Types.ListQueryExecutionsOutput, AWSError>;
110
166
  /**
111
- * Lists the tags associated with this workgroup.
167
+ * Lists the metadata for the tables in the specified data catalog database.
168
+ */
169
+ listTableMetadata(params: Athena.Types.ListTableMetadataInput, callback?: (err: AWSError, data: Athena.Types.ListTableMetadataOutput) => void): Request<Athena.Types.ListTableMetadataOutput, AWSError>;
170
+ /**
171
+ * Lists the metadata for the tables in the specified data catalog database.
172
+ */
173
+ listTableMetadata(callback?: (err: AWSError, data: Athena.Types.ListTableMetadataOutput) => void): Request<Athena.Types.ListTableMetadataOutput, AWSError>;
174
+ /**
175
+ * Lists the tags associated with an Athena workgroup or data catalog resource.
112
176
  */
113
177
  listTagsForResource(params: Athena.Types.ListTagsForResourceInput, callback?: (err: AWSError, data: Athena.Types.ListTagsForResourceOutput) => void): Request<Athena.Types.ListTagsForResourceOutput, AWSError>;
114
178
  /**
115
- * Lists the tags associated with this workgroup.
179
+ * Lists the tags associated with an Athena workgroup or data catalog resource.
116
180
  */
117
181
  listTagsForResource(callback?: (err: AWSError, data: Athena.Types.ListTagsForResourceOutput) => void): Request<Athena.Types.ListTagsForResourceOutput, AWSError>;
118
182
  /**
@@ -124,11 +188,11 @@ declare class Athena extends Service {
124
188
  */
125
189
  listWorkGroups(callback?: (err: AWSError, data: Athena.Types.ListWorkGroupsOutput) => void): Request<Athena.Types.ListWorkGroupsOutput, AWSError>;
126
190
  /**
127
- * Runs the SQL query statements contained in the Query. Requires you to have access to the workgroup in which the query ran. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.
191
+ * Runs the SQL query statements contained in the Query. Requires you to have access to the workgroup in which the query ran. Running queries against an external catalog requires GetDataCatalog permission to the catalog. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.
128
192
  */
129
193
  startQueryExecution(params: Athena.Types.StartQueryExecutionInput, callback?: (err: AWSError, data: Athena.Types.StartQueryExecutionOutput) => void): Request<Athena.Types.StartQueryExecutionOutput, AWSError>;
130
194
  /**
131
- * Runs the SQL query statements contained in the Query. Requires you to have access to the workgroup in which the query ran. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.
195
+ * Runs the SQL query statements contained in the Query. Requires you to have access to the workgroup in which the query ran. Running queries against an external catalog requires GetDataCatalog permission to the catalog. For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.
132
196
  */
133
197
  startQueryExecution(callback?: (err: AWSError, data: Athena.Types.StartQueryExecutionOutput) => void): Request<Athena.Types.StartQueryExecutionOutput, AWSError>;
134
198
  /**
@@ -140,21 +204,29 @@ declare class Athena extends Service {
140
204
  */
141
205
  stopQueryExecution(callback?: (err: AWSError, data: Athena.Types.StopQueryExecutionOutput) => void): Request<Athena.Types.StopQueryExecutionOutput, AWSError>;
142
206
  /**
143
- * Adds one or more tags to the resource, such as a workgroup. A tag is a label that you assign to an AWS Athena resource (a workgroup). Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize resources (workgroups) in Athena, for example, by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to search and filter workgroups in your account. For best practices, see AWS Tagging Strategies. The key length is from 1 (minimum) to 128 (maximum) Unicode characters in UTF-8. The tag value length is from 0 (minimum) to 256 (maximum) Unicode characters in UTF-8. You can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be unique per resource. If you specify more than one, separate them by commas.
207
+ * Adds one or more tags to an Athena resource. A tag is a label that you assign to a resource. In Athena, a resource can be a workgroup or data catalog. Each tag consists of a key and an optional value, both of which you define. For example, you can use tags to categorize Athena workgroups or data catalogs by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to search and filter workgroups or data catalogs in your account. For best practices, see Tagging Best Practices. Tag keys can be from 1 to 128 UTF-8 Unicode characters, and tag values can be from 0 to 256 UTF-8 Unicode characters. Tags can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be unique per resource. If you specify more than one tag, separate them by commas.
144
208
  */
145
209
  tagResource(params: Athena.Types.TagResourceInput, callback?: (err: AWSError, data: Athena.Types.TagResourceOutput) => void): Request<Athena.Types.TagResourceOutput, AWSError>;
146
210
  /**
147
- * Adds one or more tags to the resource, such as a workgroup. A tag is a label that you assign to an AWS Athena resource (a workgroup). Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize resources (workgroups) in Athena, for example, by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to search and filter workgroups in your account. For best practices, see AWS Tagging Strategies. The key length is from 1 (minimum) to 128 (maximum) Unicode characters in UTF-8. The tag value length is from 0 (minimum) to 256 (maximum) Unicode characters in UTF-8. You can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be unique per resource. If you specify more than one, separate them by commas.
211
+ * Adds one or more tags to an Athena resource. A tag is a label that you assign to a resource. In Athena, a resource can be a workgroup or data catalog. Each tag consists of a key and an optional value, both of which you define. For example, you can use tags to categorize Athena workgroups or data catalogs by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to search and filter workgroups or data catalogs in your account. For best practices, see Tagging Best Practices. Tag keys can be from 1 to 128 UTF-8 Unicode characters, and tag values can be from 0 to 256 UTF-8 Unicode characters. Tags can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be unique per resource. If you specify more than one tag, separate them by commas.
148
212
  */
149
213
  tagResource(callback?: (err: AWSError, data: Athena.Types.TagResourceOutput) => void): Request<Athena.Types.TagResourceOutput, AWSError>;
150
214
  /**
151
- * Removes one or more tags from the workgroup resource. Takes as an input a list of TagKey Strings separated by commas, and removes their tags at the same time.
215
+ * Removes one or more tags from a data catalog or workgroup resource.
152
216
  */
153
217
  untagResource(params: Athena.Types.UntagResourceInput, callback?: (err: AWSError, data: Athena.Types.UntagResourceOutput) => void): Request<Athena.Types.UntagResourceOutput, AWSError>;
154
218
  /**
155
- * Removes one or more tags from the workgroup resource. Takes as an input a list of TagKey Strings separated by commas, and removes their tags at the same time.
219
+ * Removes one or more tags from a data catalog or workgroup resource.
156
220
  */
157
221
  untagResource(callback?: (err: AWSError, data: Athena.Types.UntagResourceOutput) => void): Request<Athena.Types.UntagResourceOutput, AWSError>;
222
+ /**
223
+ * Updates the data catalog that has the specified name.
224
+ */
225
+ updateDataCatalog(params: Athena.Types.UpdateDataCatalogInput, callback?: (err: AWSError, data: Athena.Types.UpdateDataCatalogOutput) => void): Request<Athena.Types.UpdateDataCatalogOutput, AWSError>;
226
+ /**
227
+ * Updates the data catalog that has the specified name.
228
+ */
229
+ updateDataCatalog(callback?: (err: AWSError, data: Athena.Types.UpdateDataCatalogOutput) => void): Request<Athena.Types.UpdateDataCatalogOutput, AWSError>;
158
230
  /**
159
231
  * Updates the workgroup with the specified name. The workgroup's name cannot be changed.
160
232
  */
@@ -201,6 +273,21 @@ declare namespace Athena {
201
273
  export type Boolean = boolean;
202
274
  export type BoxedBoolean = boolean;
203
275
  export type BytesScannedCutoffValue = number;
276
+ export type CatalogNameString = string;
277
+ export interface Column {
278
+ /**
279
+ * The name of the column.
280
+ */
281
+ Name: NameString;
282
+ /**
283
+ * The data type of the column.
284
+ */
285
+ Type?: TypeString;
286
+ /**
287
+ * Optional information about the column.
288
+ */
289
+ Comment?: CommentString;
290
+ }
204
291
  export interface ColumnInfo {
205
292
  /**
206
293
  * The catalog to which the query results belong.
@@ -244,7 +331,33 @@ declare namespace Athena {
244
331
  CaseSensitive?: Boolean;
245
332
  }
246
333
  export type ColumnInfoList = ColumnInfo[];
334
+ export type ColumnList = Column[];
247
335
  export type ColumnNullable = "NOT_NULL"|"NULLABLE"|"UNKNOWN"|string;
336
+ export type CommentString = string;
337
+ export interface CreateDataCatalogInput {
338
+ /**
339
+ * The name of the data catalog to create. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.
340
+ */
341
+ Name: CatalogNameString;
342
+ /**
343
+ * The type of data catalog to create: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore.
344
+ */
345
+ Type: DataCatalogType;
346
+ /**
347
+ * A description of the data catalog to be created.
348
+ */
349
+ Description?: DescriptionString;
350
+ /**
351
+ * Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type. For the HIVE data catalog type, use the following syntax. The metadata-function parameter is required. The sdk-version parameter is optional and defaults to the currently supported version. metadata-function=lambda_arn, sdk-version=version_number For the LAMBDA data catalog type, use one of the following sets of required parameters, but not both. If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required. metadata-function=lambda_arn, record-function=lambda_arn If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function. function=lambda_arn The GLUE type has no parameters.
352
+ */
353
+ Parameters?: ParametersMap;
354
+ /**
355
+ * A list of comma separated tags to add to the data catalog that is created.
356
+ */
357
+ Tags?: TagList;
358
+ }
359
+ export interface CreateDataCatalogOutput {
360
+ }
248
361
  export interface CreateNamedQueryInput {
249
362
  /**
250
363
  * The query name.
@@ -291,12 +404,57 @@ declare namespace Athena {
291
404
  */
292
405
  Description?: WorkGroupDescriptionString;
293
406
  /**
294
- * One or more tags, separated by commas, that you want to attach to the workgroup as you create it.
407
+ * A list of comma separated tags to add to the workgroup that is created.
295
408
  */
296
409
  Tags?: TagList;
297
410
  }
298
411
  export interface CreateWorkGroupOutput {
299
412
  }
413
+ export interface DataCatalog {
414
+ /**
415
+ * The name of the data catalog. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.
416
+ */
417
+ Name: CatalogNameString;
418
+ /**
419
+ * An optional description of the data catalog.
420
+ */
421
+ Description?: DescriptionString;
422
+ /**
423
+ * The type of data catalog: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore.
424
+ */
425
+ Type: DataCatalogType;
426
+ /**
427
+ * Specifies the Lambda function or functions to use for the data catalog. This is a mapping whose values depend on the catalog type. For the HIVE data catalog type, use the following syntax. The metadata-function parameter is required. The sdk-version parameter is optional and defaults to the currently supported version. metadata-function=lambda_arn, sdk-version=version_number For the LAMBDA data catalog type, use one of the following sets of required parameters, but not both. If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required. metadata-function=lambda_arn, record-function=lambda_arn If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function. function=lambda_arn The GLUE type has no parameters.
428
+ */
429
+ Parameters?: ParametersMap;
430
+ }
431
+ export interface DataCatalogSummary {
432
+ /**
433
+ * The name of the data catalog.
434
+ */
435
+ CatalogName?: CatalogNameString;
436
+ /**
437
+ * The data catalog type.
438
+ */
439
+ Type?: DataCatalogType;
440
+ }
441
+ export type DataCatalogSummaryList = DataCatalogSummary[];
442
+ export type DataCatalogType = "LAMBDA"|"GLUE"|"HIVE"|string;
443
+ export interface Database {
444
+ /**
445
+ * The name of the database.
446
+ */
447
+ Name: NameString;
448
+ /**
449
+ * An optional description of the database.
450
+ */
451
+ Description?: DescriptionString;
452
+ /**
453
+ * A set of custom key/value pairs.
454
+ */
455
+ Parameters?: ParametersMap;
456
+ }
457
+ export type DatabaseList = Database[];
300
458
  export type DatabaseString = string;
301
459
  export type _Date = Date;
302
460
  export interface Datum {
@@ -305,6 +463,14 @@ declare namespace Athena {
305
463
  */
306
464
  VarCharValue?: datumString;
307
465
  }
466
+ export interface DeleteDataCatalogInput {
467
+ /**
468
+ * The name of the data catalog to delete.
469
+ */
470
+ Name: CatalogNameString;
471
+ }
472
+ export interface DeleteDataCatalogOutput {
473
+ }
308
474
  export interface DeleteNamedQueryInput {
309
475
  /**
310
476
  * The unique ID of the query to delete.
@@ -339,6 +505,35 @@ declare namespace Athena {
339
505
  export type EncryptionOption = "SSE_S3"|"SSE_KMS"|"CSE_KMS"|string;
340
506
  export type ErrorCode = string;
341
507
  export type ErrorMessage = string;
508
+ export type ExpressionString = string;
509
+ export interface GetDataCatalogInput {
510
+ /**
511
+ * The name of the data catalog to return.
512
+ */
513
+ Name: CatalogNameString;
514
+ }
515
+ export interface GetDataCatalogOutput {
516
+ /**
517
+ * The data catalog returned.
518
+ */
519
+ DataCatalog?: DataCatalog;
520
+ }
521
+ export interface GetDatabaseInput {
522
+ /**
523
+ * The name of the data catalog that contains the database to return.
524
+ */
525
+ CatalogName: CatalogNameString;
526
+ /**
527
+ * The name of the database to return.
528
+ */
529
+ DatabaseName: NameString;
530
+ }
531
+ export interface GetDatabaseOutput {
532
+ /**
533
+ * The database returned.
534
+ */
535
+ Database?: Database;
536
+ }
342
537
  export interface GetNamedQueryInput {
343
538
  /**
344
539
  * The unique ID of the query. Use ListNamedQueries to get query IDs.
@@ -369,7 +564,7 @@ declare namespace Athena {
369
564
  */
370
565
  QueryExecutionId: QueryExecutionId;
371
566
  /**
372
- * The token that specifies where to start pagination if a previous request was truncated.
567
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
373
568
  */
374
569
  NextToken?: Token;
375
570
  /**
@@ -387,10 +582,30 @@ declare namespace Athena {
387
582
  */
388
583
  ResultSet?: ResultSet;
389
584
  /**
390
- * A token to be used by the next request if this request is truncated.
585
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
391
586
  */
392
587
  NextToken?: Token;
393
588
  }
589
+ export interface GetTableMetadataInput {
590
+ /**
591
+ * The name of the data catalog that contains the database and table metadata to return.
592
+ */
593
+ CatalogName: CatalogNameString;
594
+ /**
595
+ * The name of the database that contains the table metadata to return.
596
+ */
597
+ DatabaseName: NameString;
598
+ /**
599
+ * The name of the table for which metadata is returned.
600
+ */
601
+ TableName: NameString;
602
+ }
603
+ export interface GetTableMetadataOutput {
604
+ /**
605
+ * An object that contains table metadata.
606
+ */
607
+ TableMetadata?: TableMetadata;
608
+ }
394
609
  export interface GetWorkGroupInput {
395
610
  /**
396
611
  * The name of the workgroup.
@@ -405,9 +620,54 @@ declare namespace Athena {
405
620
  }
406
621
  export type IdempotencyToken = string;
407
622
  export type Integer = number;
623
+ export type KeyString = string;
624
+ export interface ListDataCatalogsInput {
625
+ /**
626
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
627
+ */
628
+ NextToken?: Token;
629
+ /**
630
+ * Specifies the maximum number of data catalogs to return.
631
+ */
632
+ MaxResults?: MaxDataCatalogsCount;
633
+ }
634
+ export interface ListDataCatalogsOutput {
635
+ /**
636
+ * A summary list of data catalogs.
637
+ */
638
+ DataCatalogsSummary?: DataCatalogSummaryList;
639
+ /**
640
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
641
+ */
642
+ NextToken?: Token;
643
+ }
644
+ export interface ListDatabasesInput {
645
+ /**
646
+ * The name of the data catalog that contains the databases to return.
647
+ */
648
+ CatalogName: CatalogNameString;
649
+ /**
650
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
651
+ */
652
+ NextToken?: Token;
653
+ /**
654
+ * Specifies the maximum number of results to return.
655
+ */
656
+ MaxResults?: MaxDatabasesCount;
657
+ }
658
+ export interface ListDatabasesOutput {
659
+ /**
660
+ * A list of databases from a data catalog.
661
+ */
662
+ DatabaseList?: DatabaseList;
663
+ /**
664
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
665
+ */
666
+ NextToken?: Token;
667
+ }
408
668
  export interface ListNamedQueriesInput {
409
669
  /**
410
- * The token that specifies where to start pagination if a previous request was truncated.
670
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
411
671
  */
412
672
  NextToken?: Token;
413
673
  /**
@@ -415,7 +675,7 @@ declare namespace Athena {
415
675
  */
416
676
  MaxResults?: MaxNamedQueriesCount;
417
677
  /**
418
- * The name of the workgroup from which the named queries are returned. If a workgroup is not specified, the saved queries for the primary workgroup are returned.
678
+ * The name of the workgroup from which the named queries are being returned. If a workgroup is not specified, the saved queries for the primary workgroup are returned.
419
679
  */
420
680
  WorkGroup?: WorkGroupName;
421
681
  }
@@ -425,13 +685,13 @@ declare namespace Athena {
425
685
  */
426
686
  NamedQueryIds?: NamedQueryIdList;
427
687
  /**
428
- * A token to be used by the next request if this request is truncated.
688
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
429
689
  */
430
690
  NextToken?: Token;
431
691
  }
432
692
  export interface ListQueryExecutionsInput {
433
693
  /**
434
- * The token that specifies where to start pagination if a previous request was truncated.
694
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
435
695
  */
436
696
  NextToken?: Token;
437
697
  /**
@@ -439,7 +699,7 @@ declare namespace Athena {
439
699
  */
440
700
  MaxResults?: MaxQueryExecutionsCount;
441
701
  /**
442
- * The name of the workgroup from which queries are returned. If a workgroup is not specified, a list of available query execution IDs for the queries in the primary workgroup is returned.
702
+ * The name of the workgroup from which queries are being returned. If a workgroup is not specified, a list of available query execution IDs for the queries in the primary workgroup is returned.
443
703
  */
444
704
  WorkGroup?: WorkGroupName;
445
705
  }
@@ -453,23 +713,55 @@ declare namespace Athena {
453
713
  */
454
714
  NextToken?: Token;
455
715
  }
716
+ export interface ListTableMetadataInput {
717
+ /**
718
+ * The name of the data catalog for which table metadata should be returned.
719
+ */
720
+ CatalogName: CatalogNameString;
721
+ /**
722
+ * The name of the database for which table metadata should be returned.
723
+ */
724
+ DatabaseName: NameString;
725
+ /**
726
+ * A regex filter that pattern-matches table names. If no expression is supplied, metadata for all tables are listed.
727
+ */
728
+ Expression?: ExpressionString;
729
+ /**
730
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
731
+ */
732
+ NextToken?: Token;
733
+ /**
734
+ * Specifies the maximum number of results to return.
735
+ */
736
+ MaxResults?: MaxTableMetadataCount;
737
+ }
738
+ export interface ListTableMetadataOutput {
739
+ /**
740
+ * A list of table metadata.
741
+ */
742
+ TableMetadataList?: TableMetadataList;
743
+ /**
744
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
745
+ */
746
+ NextToken?: Token;
747
+ }
456
748
  export interface ListTagsForResourceInput {
457
749
  /**
458
- * Lists the tags for the workgroup resource with the specified ARN.
750
+ * Lists the tags for the resource with the specified ARN.
459
751
  */
460
752
  ResourceARN: AmazonResourceName;
461
753
  /**
462
- * The token for the next set of results, or null if there are no additional results for this request, where the request lists the tags for the workgroup resource with the specified ARN.
754
+ * The token for the next set of results, or null if there are no additional results for this request, where the request lists the tags for the resource with the specified ARN.
463
755
  */
464
756
  NextToken?: Token;
465
757
  /**
466
- * The maximum number of results to be returned per request that lists the tags for the workgroup resource.
758
+ * The maximum number of results to be returned per request that lists the tags for the resource.
467
759
  */
468
760
  MaxResults?: MaxTagsCount;
469
761
  }
470
762
  export interface ListTagsForResourceOutput {
471
763
  /**
472
- * The list of tags associated with this workgroup.
764
+ * The list of tags associated with the specified resource.
473
765
  */
474
766
  Tags?: TagList;
475
767
  /**
@@ -479,7 +771,7 @@ declare namespace Athena {
479
771
  }
480
772
  export interface ListWorkGroupsInput {
481
773
  /**
482
- * A token to be used by the next request if this request is truncated.
774
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
483
775
  */
484
776
  NextToken?: Token;
485
777
  /**
@@ -493,14 +785,17 @@ declare namespace Athena {
493
785
  */
494
786
  WorkGroups?: WorkGroupsList;
495
787
  /**
496
- * A token to be used by the next request if this request is truncated.
788
+ * A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.
497
789
  */
498
790
  NextToken?: Token;
499
791
  }
500
792
  export type Long = number;
793
+ export type MaxDataCatalogsCount = number;
794
+ export type MaxDatabasesCount = number;
501
795
  export type MaxNamedQueriesCount = number;
502
796
  export type MaxQueryExecutionsCount = number;
503
797
  export type MaxQueryResults = number;
798
+ export type MaxTableMetadataCount = number;
504
799
  export type MaxTagsCount = number;
505
800
  export type MaxWorkGroupsCount = number;
506
801
  export type NameString = string;
@@ -533,6 +828,8 @@ declare namespace Athena {
533
828
  export type NamedQueryId = string;
534
829
  export type NamedQueryIdList = NamedQueryId[];
535
830
  export type NamedQueryList = NamedQuery[];
831
+ export type ParametersMap = {[key: string]: ParametersMapValue};
832
+ export type ParametersMapValue = string;
536
833
  export interface QueryExecution {
537
834
  /**
538
835
  * The unique identifier for each query execution.
@@ -569,9 +866,13 @@ declare namespace Athena {
569
866
  }
570
867
  export interface QueryExecutionContext {
571
868
  /**
572
- * The name of the database.
869
+ * The name of the database used in the query execution.
573
870
  */
574
871
  Database?: DatabaseString;
872
+ /**
873
+ * The name of the data catalog used in the query execution.
874
+ */
875
+ Catalog?: CatalogNameString;
575
876
  }
576
877
  export type QueryExecutionId = string;
577
878
  export type QueryExecutionIdList = QueryExecutionId[];
@@ -609,7 +910,7 @@ declare namespace Athena {
609
910
  }
610
911
  export interface QueryExecutionStatus {
611
912
  /**
612
- * The state of query execution. QUEUED indicates that the query has been submitted to the service, and Athena will execute the query as soon as resources are available. RUNNING indicates that the query is in execution phase. SUCCEEDED indicates that the query completed without errors. FAILED indicates that the query experienced an error and did not complete processing. CANCELLED indicates that a user input interrupted query execution.
913
+ * The state of query execution. QUEUED indicates that the query has been submitted to the service, and Athena will execute the query as soon as resources are available. RUNNING indicates that the query is in execution phase. SUCCEEDED indicates that the query completed without errors. FAILED indicates that the query experienced an error and did not complete processing. CANCELLED indicates that a user input interrupted query execution. Athena automatically retries your queries in cases of certain transient errors. As a result, you may see the query state transition from RUNNING or FAILED to QUEUED.
613
914
  */
614
915
  State?: QueryExecutionState;
615
916
  /**
@@ -715,6 +1016,38 @@ declare namespace Athena {
715
1016
  export interface StopQueryExecutionOutput {
716
1017
  }
717
1018
  export type String = string;
1019
+ export interface TableMetadata {
1020
+ /**
1021
+ * The name of the table.
1022
+ */
1023
+ Name: NameString;
1024
+ /**
1025
+ * The time that the table was created.
1026
+ */
1027
+ CreateTime?: Timestamp;
1028
+ /**
1029
+ * The last time the table was accessed.
1030
+ */
1031
+ LastAccessTime?: Timestamp;
1032
+ /**
1033
+ * The type of table. In Athena, only EXTERNAL_TABLE is supported.
1034
+ */
1035
+ TableType?: TableTypeString;
1036
+ /**
1037
+ * A list of the columns in the table.
1038
+ */
1039
+ Columns?: ColumnList;
1040
+ /**
1041
+ * A list of the partition keys in the table.
1042
+ */
1043
+ PartitionKeys?: ColumnList;
1044
+ /**
1045
+ * A set of custom key/value pairs for table properties.
1046
+ */
1047
+ Parameters?: ParametersMap;
1048
+ }
1049
+ export type TableMetadataList = TableMetadata[];
1050
+ export type TableTypeString = string;
718
1051
  export interface Tag {
719
1052
  /**
720
1053
  * A tag key. The tag key length is from 1 to 128 Unicode characters in UTF-8. You can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys are case-sensitive and must be unique per resource.
@@ -730,18 +1063,20 @@ declare namespace Athena {
730
1063
  export type TagList = Tag[];
731
1064
  export interface TagResourceInput {
732
1065
  /**
733
- * Requests that one or more tags are added to the resource (such as a workgroup) for the specified ARN.
1066
+ * Specifies the ARN of the Athena resource (workgroup or data catalog) to which tags are to be added.
734
1067
  */
735
1068
  ResourceARN: AmazonResourceName;
736
1069
  /**
737
- * One or more tags, separated by commas, to be added to the resource, such as a workgroup.
1070
+ * A collection of one or more tags, separated by commas, to be added to an Athena workgroup or data catalog resource.
738
1071
  */
739
1072
  Tags: TagList;
740
1073
  }
741
1074
  export interface TagResourceOutput {
742
1075
  }
743
1076
  export type TagValue = string;
1077
+ export type Timestamp = Date;
744
1078
  export type Token = string;
1079
+ export type TypeString = string;
745
1080
  export interface UnprocessedNamedQueryId {
746
1081
  /**
747
1082
  * The unique identifier of the named query.
@@ -774,16 +1109,36 @@ declare namespace Athena {
774
1109
  export type UnprocessedQueryExecutionIdList = UnprocessedQueryExecutionId[];
775
1110
  export interface UntagResourceInput {
776
1111
  /**
777
- * Removes one or more tags from the workgroup resource for the specified ARN.
1112
+ * Specifies the ARN of the resource from which tags are to be removed.
778
1113
  */
779
1114
  ResourceARN: AmazonResourceName;
780
1115
  /**
781
- * Removes the tags associated with one or more tag keys from the workgroup resource.
1116
+ * A comma-separated list of one or more tag keys whose tags are to be removed from the specified resource.
782
1117
  */
783
1118
  TagKeys: TagKeyList;
784
1119
  }
785
1120
  export interface UntagResourceOutput {
786
1121
  }
1122
+ export interface UpdateDataCatalogInput {
1123
+ /**
1124
+ * The name of the data catalog to update. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.
1125
+ */
1126
+ Name: CatalogNameString;
1127
+ /**
1128
+ * Specifies the type of data catalog to update. Specify LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore.
1129
+ */
1130
+ Type: DataCatalogType;
1131
+ /**
1132
+ * New or modified text that describes the data catalog.
1133
+ */
1134
+ Description?: DescriptionString;
1135
+ /**
1136
+ * Specifies the Lambda function or functions to use for updating the data catalog. This is a mapping whose values depend on the catalog type. For the HIVE data catalog type, use the following syntax. The metadata-function parameter is required. The sdk-version parameter is optional and defaults to the currently supported version. metadata-function=lambda_arn, sdk-version=version_number For the LAMBDA data catalog type, use one of the following sets of required parameters, but not both. If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required. metadata-function=lambda_arn, record-function=lambda_arn If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function. function=lambda_arn The GLUE type has no parameters.
1137
+ */
1138
+ Parameters?: ParametersMap;
1139
+ }
1140
+ export interface UpdateDataCatalogOutput {
1141
+ }
787
1142
  export interface UpdateWorkGroupInput {
788
1143
  /**
789
1144
  * The specified workgroup that will be updated.