/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the redshift-data-2019-12-20.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.RedshiftDataAPIService.Model;
namespace Amazon.RedshiftDataAPIService
{
///
/// Interface for accessing RedshiftDataAPIService
///
/// You can use the Amazon Redshift Data API to run queries on Amazon Redshift tables.
/// You can run SQL statements, which are committed if the statement succeeds.
///
///
///
/// For more information about the Amazon Redshift Data API and CLI usage examples, see
/// Using the
/// Amazon Redshift Data API in the Amazon Redshift Management Guide.
///
///
public partial interface IAmazonRedshiftDataAPIService : IAmazonService, IDisposable
{
#if AWS_ASYNC_ENUMERABLES_API
///
/// Paginators for the service
///
IRedshiftDataAPIServicePaginatorFactory Paginators { get; }
#endif
#region BatchExecuteStatement
///
/// Runs one or more SQL statements, which can be data manipulation language (DML) or
/// data definition language (DDL). Depending on the authorization method, use one of
/// the following combinations of request parameters:
///
/// -
///
/// Secrets Manager - when connecting to a cluster, provide the
secret-arn
/// of a secret stored in Secrets Manager which has username
and password
.
/// The specified secret contains credentials to connect to the database
/// you specify. When you are connecting to a cluster, you also supply the database name,
/// If you provide a cluster identifier (dbClusterIdentifier
), it must match
/// the cluster identifier stored in the secret. When you are connecting to a serverless
/// workgroup, you also supply the database name.
///
/// -
///
/// Temporary credentials - when connecting to your data warehouse, choose one of the
/// following options:
///
///
-
///
/// When connecting to a serverless workgroup, specify the workgroup name and database
/// name. The database user name is derived from the IAM identity. For example,
arn:iam::123456789012:user:foo
/// has the database user name IAM:foo
. Also, permission to call the redshift-serverless:GetCredentials
/// operation is required.
///
/// -
///
/// When connecting to a cluster as an IAM identity, specify the cluster identifier and
/// the database name. The database user name is derived from the IAM identity. For example,
///
arn:iam::123456789012:user:foo
has the database user name IAM:foo
.
/// Also, permission to call the redshift:GetClusterCredentialsWithIAM
operation
/// is required.
///
/// -
///
/// When connecting to a cluster as a database user, specify the cluster identifier, the
/// database name, and the database user name. Also, permission to call the
redshift:GetClusterCredentials
/// operation is required.
///
///
///
/// For more information about the Amazon Redshift Data API and CLI usage examples, see
/// Using the
/// Amazon Redshift Data API in the Amazon Redshift Management Guide.
///
///
/// Container for the necessary parameters to execute the BatchExecuteStatement service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the BatchExecuteStatement service method, as returned by RedshiftDataAPIService.
///
/// The number of active statements exceeds the limit.
///
///
/// An SQL statement encountered an environmental error while running.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
/// REST API Reference for BatchExecuteStatement Operation
Task BatchExecuteStatementAsync(BatchExecuteStatementRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CancelStatement
///
/// Cancels a running query. To be canceled, a query must be running.
///
///
///
/// For more information about the Amazon Redshift Data API and CLI usage examples, see
/// Using the
/// Amazon Redshift Data API in the Amazon Redshift Management Guide.
///
///
/// Container for the necessary parameters to execute the CancelStatement service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CancelStatement service method, as returned by RedshiftDataAPIService.
///
/// Connection to a database failed.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
///
/// The Amazon Redshift Data API operation failed due to a missing resource.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
/// REST API Reference for CancelStatement Operation
Task CancelStatementAsync(CancelStatementRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeStatement
///
/// Describes the details about a specific instance when a query was run by the Amazon
/// Redshift Data API. The information includes when the query started, when it finished,
/// the query status, the number of rows returned, and the SQL statement.
///
///
///
/// For more information about the Amazon Redshift Data API and CLI usage examples, see
/// Using the
/// Amazon Redshift Data API in the Amazon Redshift Management Guide.
///
///
/// Container for the necessary parameters to execute the DescribeStatement service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeStatement service method, as returned by RedshiftDataAPIService.
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
///
/// The Amazon Redshift Data API operation failed due to a missing resource.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
/// REST API Reference for DescribeStatement Operation
Task DescribeStatementAsync(DescribeStatementRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeTable
///
/// Describes the detailed information about a table from metadata in the cluster. The
/// information includes its columns. A token is returned to page through the column list.
/// Depending on the authorization method, use one of the following combinations of request
/// parameters:
///
/// -
///
/// Secrets Manager - when connecting to a cluster, provide the
secret-arn
/// of a secret stored in Secrets Manager which has username
and password
.
/// The specified secret contains credentials to connect to the database
/// you specify. When you are connecting to a cluster, you also supply the database name,
/// If you provide a cluster identifier (dbClusterIdentifier
), it must match
/// the cluster identifier stored in the secret. When you are connecting to a serverless
/// workgroup, you also supply the database name.
///
/// -
///
/// Temporary credentials - when connecting to your data warehouse, choose one of the
/// following options:
///
///
-
///
/// When connecting to a serverless workgroup, specify the workgroup name and database
/// name. The database user name is derived from the IAM identity. For example,
arn:iam::123456789012:user:foo
/// has the database user name IAM:foo
. Also, permission to call the redshift-serverless:GetCredentials
/// operation is required.
///
/// -
///
/// When connecting to a cluster as an IAM identity, specify the cluster identifier and
/// the database name. The database user name is derived from the IAM identity. For example,
///
arn:iam::123456789012:user:foo
has the database user name IAM:foo
.
/// Also, permission to call the redshift:GetClusterCredentialsWithIAM
operation
/// is required.
///
/// -
///
/// When connecting to a cluster as a database user, specify the cluster identifier, the
/// database name, and the database user name. Also, permission to call the
redshift:GetClusterCredentials
/// operation is required.
///
///
///
/// For more information about the Amazon Redshift Data API and CLI usage examples, see
/// Using the
/// Amazon Redshift Data API in the Amazon Redshift Management Guide.
///
///
/// Container for the necessary parameters to execute the DescribeTable service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeTable service method, as returned by RedshiftDataAPIService.
///
/// Connection to a database failed.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
/// REST API Reference for DescribeTable Operation
Task DescribeTableAsync(DescribeTableRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ExecuteStatement
///
/// Runs an SQL statement, which can be data manipulation language (DML) or data definition
/// language (DDL). This statement must be a single SQL statement. Depending on the authorization
/// method, use one of the following combinations of request parameters:
///
/// -
///
/// Secrets Manager - when connecting to a cluster, provide the
secret-arn
/// of a secret stored in Secrets Manager which has username
and password
.
/// The specified secret contains credentials to connect to the database
/// you specify. When you are connecting to a cluster, you also supply the database name,
/// If you provide a cluster identifier (dbClusterIdentifier
), it must match
/// the cluster identifier stored in the secret. When you are connecting to a serverless
/// workgroup, you also supply the database name.
///
/// -
///
/// Temporary credentials - when connecting to your data warehouse, choose one of the
/// following options:
///
///
-
///
/// When connecting to a serverless workgroup, specify the workgroup name and database
/// name. The database user name is derived from the IAM identity. For example,
arn:iam::123456789012:user:foo
/// has the database user name IAM:foo
. Also, permission to call the redshift-serverless:GetCredentials
/// operation is required.
///
/// -
///
/// When connecting to a cluster as an IAM identity, specify the cluster identifier and
/// the database name. The database user name is derived from the IAM identity. For example,
///
arn:iam::123456789012:user:foo
has the database user name IAM:foo
.
/// Also, permission to call the redshift:GetClusterCredentialsWithIAM
operation
/// is required.
///
/// -
///
/// When connecting to a cluster as a database user, specify the cluster identifier, the
/// database name, and the database user name. Also, permission to call the
redshift:GetClusterCredentials
/// operation is required.
///
///
///
/// For more information about the Amazon Redshift Data API and CLI usage examples, see
/// Using the
/// Amazon Redshift Data API in the Amazon Redshift Management Guide.
///
///
/// Container for the necessary parameters to execute the ExecuteStatement service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ExecuteStatement service method, as returned by RedshiftDataAPIService.
///
/// The number of active statements exceeds the limit.
///
///
/// The SQL statement encountered an environmental error while running.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
/// REST API Reference for ExecuteStatement Operation
Task ExecuteStatementAsync(ExecuteStatementRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetStatementResult
///
/// Fetches the temporarily cached result of an SQL statement. A token is returned to
/// page through the statement results.
///
///
///
/// For more information about the Amazon Redshift Data API and CLI usage examples, see
/// Using the
/// Amazon Redshift Data API in the Amazon Redshift Management Guide.
///
///
/// Container for the necessary parameters to execute the GetStatementResult service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetStatementResult service method, as returned by RedshiftDataAPIService.
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
///
/// The Amazon Redshift Data API operation failed due to a missing resource.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
/// REST API Reference for GetStatementResult Operation
Task GetStatementResultAsync(GetStatementResultRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListDatabases
///
/// List the databases in a cluster. A token is returned to page through the database
/// list. Depending on the authorization method, use one of the following combinations
/// of request parameters:
///
/// -
///
/// Secrets Manager - when connecting to a cluster, provide the
secret-arn
/// of a secret stored in Secrets Manager which has username
and password
.
/// The specified secret contains credentials to connect to the database
/// you specify. When you are connecting to a cluster, you also supply the database name,
/// If you provide a cluster identifier (dbClusterIdentifier
), it must match
/// the cluster identifier stored in the secret. When you are connecting to a serverless
/// workgroup, you also supply the database name.
///
/// -
///
/// Temporary credentials - when connecting to your data warehouse, choose one of the
/// following options:
///
///
-
///
/// When connecting to a serverless workgroup, specify the workgroup name and database
/// name. The database user name is derived from the IAM identity. For example,
arn:iam::123456789012:user:foo
/// has the database user name IAM:foo
. Also, permission to call the redshift-serverless:GetCredentials
/// operation is required.
///
/// -
///
/// When connecting to a cluster as an IAM identity, specify the cluster identifier and
/// the database name. The database user name is derived from the IAM identity. For example,
///
arn:iam::123456789012:user:foo
has the database user name IAM:foo
.
/// Also, permission to call the redshift:GetClusterCredentialsWithIAM
operation
/// is required.
///
/// -
///
/// When connecting to a cluster as a database user, specify the cluster identifier, the
/// database name, and the database user name. Also, permission to call the
redshift:GetClusterCredentials
/// operation is required.
///
///
///
/// For more information about the Amazon Redshift Data API and CLI usage examples, see
/// Using the
/// Amazon Redshift Data API in the Amazon Redshift Management Guide.
///
///
/// Container for the necessary parameters to execute the ListDatabases service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListDatabases service method, as returned by RedshiftDataAPIService.
///
/// Connection to a database failed.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
/// REST API Reference for ListDatabases Operation
Task ListDatabasesAsync(ListDatabasesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListSchemas
///
/// Lists the schemas in a database. A token is returned to page through the schema list.
/// Depending on the authorization method, use one of the following combinations of request
/// parameters:
///
/// -
///
/// Secrets Manager - when connecting to a cluster, provide the
secret-arn
/// of a secret stored in Secrets Manager which has username
and password
.
/// The specified secret contains credentials to connect to the database
/// you specify. When you are connecting to a cluster, you also supply the database name,
/// If you provide a cluster identifier (dbClusterIdentifier
), it must match
/// the cluster identifier stored in the secret. When you are connecting to a serverless
/// workgroup, you also supply the database name.
///
/// -
///
/// Temporary credentials - when connecting to your data warehouse, choose one of the
/// following options:
///
///
-
///
/// When connecting to a serverless workgroup, specify the workgroup name and database
/// name. The database user name is derived from the IAM identity. For example,
arn:iam::123456789012:user:foo
/// has the database user name IAM:foo
. Also, permission to call the redshift-serverless:GetCredentials
/// operation is required.
///
/// -
///
/// When connecting to a cluster as an IAM identity, specify the cluster identifier and
/// the database name. The database user name is derived from the IAM identity. For example,
///
arn:iam::123456789012:user:foo
has the database user name IAM:foo
.
/// Also, permission to call the redshift:GetClusterCredentialsWithIAM
operation
/// is required.
///
/// -
///
/// When connecting to a cluster as a database user, specify the cluster identifier, the
/// database name, and the database user name. Also, permission to call the
redshift:GetClusterCredentials
/// operation is required.
///
///
///
/// For more information about the Amazon Redshift Data API and CLI usage examples, see
/// Using the
/// Amazon Redshift Data API in the Amazon Redshift Management Guide.
///
///
/// Container for the necessary parameters to execute the ListSchemas service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListSchemas service method, as returned by RedshiftDataAPIService.
///
/// Connection to a database failed.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
/// REST API Reference for ListSchemas Operation
Task ListSchemasAsync(ListSchemasRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListStatements
///
/// List of SQL statements. By default, only finished statements are shown. A token is
/// returned to page through the statement list.
///
///
///
/// For more information about the Amazon Redshift Data API and CLI usage examples, see
/// Using the
/// Amazon Redshift Data API in the Amazon Redshift Management Guide.
///
///
/// Container for the necessary parameters to execute the ListStatements service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListStatements service method, as returned by RedshiftDataAPIService.
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
/// REST API Reference for ListStatements Operation
Task ListStatementsAsync(ListStatementsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTables
///
/// List the tables in a database. If neither SchemaPattern
nor TablePattern
/// are specified, then all tables in the database are returned. A token is returned to
/// page through the table list. Depending on the authorization method, use one of the
/// following combinations of request parameters:
///
/// -
///
/// Secrets Manager - when connecting to a cluster, provide the
secret-arn
/// of a secret stored in Secrets Manager which has username
and password
.
/// The specified secret contains credentials to connect to the database
/// you specify. When you are connecting to a cluster, you also supply the database name,
/// If you provide a cluster identifier (dbClusterIdentifier
), it must match
/// the cluster identifier stored in the secret. When you are connecting to a serverless
/// workgroup, you also supply the database name.
///
/// -
///
/// Temporary credentials - when connecting to your data warehouse, choose one of the
/// following options:
///
///
-
///
/// When connecting to a serverless workgroup, specify the workgroup name and database
/// name. The database user name is derived from the IAM identity. For example,
arn:iam::123456789012:user:foo
/// has the database user name IAM:foo
. Also, permission to call the redshift-serverless:GetCredentials
/// operation is required.
///
/// -
///
/// When connecting to a cluster as an IAM identity, specify the cluster identifier and
/// the database name. The database user name is derived from the IAM identity. For example,
///
arn:iam::123456789012:user:foo
has the database user name IAM:foo
.
/// Also, permission to call the redshift:GetClusterCredentialsWithIAM
operation
/// is required.
///
/// -
///
/// When connecting to a cluster as a database user, specify the cluster identifier, the
/// database name, and the database user name. Also, permission to call the
redshift:GetClusterCredentials
/// operation is required.
///
///
///
/// For more information about the Amazon Redshift Data API and CLI usage examples, see
/// Using the
/// Amazon Redshift Data API in the Amazon Redshift Management Guide.
///
///
/// Container for the necessary parameters to execute the ListTables service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTables service method, as returned by RedshiftDataAPIService.
///
/// Connection to a database failed.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
///
/// The Amazon Redshift Data API operation failed due to invalid input.
///
/// REST API Reference for ListTables Operation
Task ListTablesAsync(ListTablesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}