/* * 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 } }