/*
* 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.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Net;
using Amazon.RedshiftDataAPIService.Model;
using Amazon.RedshiftDataAPIService.Model.Internal.MarshallTransformations;
using Amazon.RedshiftDataAPIService.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.RedshiftDataAPIService
{
///
/// Implementation 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 class AmazonRedshiftDataAPIServiceClient : AmazonServiceClient, IAmazonRedshiftDataAPIService
{
private static IServiceMetadata serviceMetadata = new AmazonRedshiftDataAPIServiceMetadata();
#region Constructors
///
/// Constructs AmazonRedshiftDataAPIServiceClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
public AmazonRedshiftDataAPIServiceClient()
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonRedshiftDataAPIServiceConfig()) { }
///
/// Constructs AmazonRedshiftDataAPIServiceClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The region to connect.
public AmazonRedshiftDataAPIServiceClient(RegionEndpoint region)
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonRedshiftDataAPIServiceConfig{RegionEndpoint = region}) { }
///
/// Constructs AmazonRedshiftDataAPIServiceClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The AmazonRedshiftDataAPIServiceClient Configuration Object
public AmazonRedshiftDataAPIServiceClient(AmazonRedshiftDataAPIServiceConfig config)
: base(FallbackCredentialsFactory.GetCredentials(config), config){}
///
/// Constructs AmazonRedshiftDataAPIServiceClient with AWS Credentials
///
/// AWS Credentials
public AmazonRedshiftDataAPIServiceClient(AWSCredentials credentials)
: this(credentials, new AmazonRedshiftDataAPIServiceConfig())
{
}
///
/// Constructs AmazonRedshiftDataAPIServiceClient with AWS Credentials
///
/// AWS Credentials
/// The region to connect.
public AmazonRedshiftDataAPIServiceClient(AWSCredentials credentials, RegionEndpoint region)
: this(credentials, new AmazonRedshiftDataAPIServiceConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonRedshiftDataAPIServiceClient with AWS Credentials and an
/// AmazonRedshiftDataAPIServiceClient Configuration object.
///
/// AWS Credentials
/// The AmazonRedshiftDataAPIServiceClient Configuration Object
public AmazonRedshiftDataAPIServiceClient(AWSCredentials credentials, AmazonRedshiftDataAPIServiceConfig clientConfig)
: base(credentials, clientConfig)
{
}
///
/// Constructs AmazonRedshiftDataAPIServiceClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
public AmazonRedshiftDataAPIServiceClient(string awsAccessKeyId, string awsSecretAccessKey)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonRedshiftDataAPIServiceConfig())
{
}
///
/// Constructs AmazonRedshiftDataAPIServiceClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The region to connect.
public AmazonRedshiftDataAPIServiceClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonRedshiftDataAPIServiceConfig() {RegionEndpoint=region})
{
}
///
/// Constructs AmazonRedshiftDataAPIServiceClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonRedshiftDataAPIServiceClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The AmazonRedshiftDataAPIServiceClient Configuration Object
public AmazonRedshiftDataAPIServiceClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonRedshiftDataAPIServiceConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
///
/// Constructs AmazonRedshiftDataAPIServiceClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
public AmazonRedshiftDataAPIServiceClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonRedshiftDataAPIServiceConfig())
{
}
///
/// Constructs AmazonRedshiftDataAPIServiceClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The region to connect.
public AmazonRedshiftDataAPIServiceClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonRedshiftDataAPIServiceConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonRedshiftDataAPIServiceClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonRedshiftDataAPIServiceClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The AmazonRedshiftDataAPIServiceClient Configuration Object
public AmazonRedshiftDataAPIServiceClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonRedshiftDataAPIServiceConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig)
{
}
#endregion
#if AWS_ASYNC_ENUMERABLES_API
private IRedshiftDataAPIServicePaginatorFactory _paginators;
///
/// Paginators for the service
///
public IRedshiftDataAPIServicePaginatorFactory Paginators
{
get
{
if (this._paginators == null)
{
this._paginators = new RedshiftDataAPIServicePaginatorFactory(this);
}
return this._paginators;
}
}
#endif
#region Overrides
///
/// Creates the signer for the service.
///
protected override AbstractAWSSigner CreateSigner()
{
return new AWS4Signer();
}
///
/// Customizes the runtime pipeline.
///
/// Runtime pipeline for the current client.
protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline)
{
pipeline.RemoveHandler();
pipeline.AddHandlerAfter(new AmazonRedshiftDataAPIServiceEndpointResolver());
}
///
/// Capture metadata for the service.
///
protected override IServiceMetadata ServiceMetadata
{
get
{
return serviceMetadata;
}
}
#endregion
#region Dispose
///
/// Disposes the service client.
///
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
#endregion
#region BatchExecuteStatement
internal virtual BatchExecuteStatementResponse BatchExecuteStatement(BatchExecuteStatementRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = BatchExecuteStatementRequestMarshaller.Instance;
options.ResponseUnmarshaller = BatchExecuteStatementResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task BatchExecuteStatementAsync(BatchExecuteStatementRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = BatchExecuteStatementRequestMarshaller.Instance;
options.ResponseUnmarshaller = BatchExecuteStatementResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CancelStatement
internal virtual CancelStatementResponse CancelStatement(CancelStatementRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CancelStatementRequestMarshaller.Instance;
options.ResponseUnmarshaller = CancelStatementResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task CancelStatementAsync(CancelStatementRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CancelStatementRequestMarshaller.Instance;
options.ResponseUnmarshaller = CancelStatementResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeStatement
internal virtual DescribeStatementResponse DescribeStatement(DescribeStatementRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeStatementRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeStatementResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task DescribeStatementAsync(DescribeStatementRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeStatementRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeStatementResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeTable
internal virtual DescribeTableResponse DescribeTable(DescribeTableRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeTableRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeTableResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task DescribeTableAsync(DescribeTableRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeTableRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeTableResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ExecuteStatement
internal virtual ExecuteStatementResponse ExecuteStatement(ExecuteStatementRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ExecuteStatementRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExecuteStatementResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task ExecuteStatementAsync(ExecuteStatementRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ExecuteStatementRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExecuteStatementResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetStatementResult
internal virtual GetStatementResultResponse GetStatementResult(GetStatementResultRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetStatementResultRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetStatementResultResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetStatementResultAsync(GetStatementResultRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetStatementResultRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetStatementResultResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListDatabases
internal virtual ListDatabasesResponse ListDatabases(ListDatabasesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListDatabasesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListDatabasesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task ListDatabasesAsync(ListDatabasesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListDatabasesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListDatabasesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListSchemas
internal virtual ListSchemasResponse ListSchemas(ListSchemasRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListSchemasRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListSchemasResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task ListSchemasAsync(ListSchemasRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListSchemasRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListSchemasResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListStatements
internal virtual ListStatementsResponse ListStatements(ListStatementsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListStatementsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListStatementsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task ListStatementsAsync(ListStatementsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListStatementsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListStatementsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListTables
internal virtual ListTablesResponse ListTables(ListTablesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTablesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTablesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task ListTablesAsync(ListTablesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTablesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTablesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
}
}