/*
* 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.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.RedshiftDataAPIService.Model
{
///
/// Container for the parameters to the ListTables operation.
/// 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.
///
///
public partial class ListTablesRequest : AmazonRedshiftDataAPIServiceRequest
{
private string _clusterIdentifier;
private string _connectedDatabase;
private string _database;
private string _dbUser;
private int? _maxResults;
private string _nextToken;
private string _schemaPattern;
private string _secretArn;
private string _tablePattern;
private string _workgroupName;
///
/// Gets and sets the property ClusterIdentifier.
///
/// The cluster identifier. This parameter is required when connecting to a cluster and
/// authenticating using either Secrets Manager or temporary credentials.
///
///
public string ClusterIdentifier
{
get { return this._clusterIdentifier; }
set { this._clusterIdentifier = value; }
}
// Check to see if ClusterIdentifier property is set
internal bool IsSetClusterIdentifier()
{
return this._clusterIdentifier != null;
}
///
/// Gets and sets the property ConnectedDatabase.
///
/// A database name. The connected database is specified when you connect with your authentication
/// credentials.
///
///
public string ConnectedDatabase
{
get { return this._connectedDatabase; }
set { this._connectedDatabase = value; }
}
// Check to see if ConnectedDatabase property is set
internal bool IsSetConnectedDatabase()
{
return this._connectedDatabase != null;
}
///
/// Gets and sets the property Database.
///
/// The name of the database that contains the tables to list. If ConnectedDatabase
/// is not specified, this is also the database to connect to with your authentication
/// credentials.
///
///
[AWSProperty(Required=true)]
public string Database
{
get { return this._database; }
set { this._database = value; }
}
// Check to see if Database property is set
internal bool IsSetDatabase()
{
return this._database != null;
}
///
/// Gets and sets the property DbUser.
///
/// The database user name. This parameter is required when connecting to a cluster as
/// a database user and authenticating using temporary credentials.
///
///
public string DbUser
{
get { return this._dbUser; }
set { this._dbUser = value; }
}
// Check to see if DbUser property is set
internal bool IsSetDbUser()
{
return this._dbUser != null;
}
///
/// Gets and sets the property MaxResults.
///
/// The maximum number of tables to return in the response. If more tables exist than
/// fit in one response, then NextToken
is returned to page through the results.
///
///
///
[AWSProperty(Min=0, Max=1000)]
public int MaxResults
{
get { return this._maxResults.GetValueOrDefault(); }
set { this._maxResults = value; }
}
// Check to see if MaxResults property is set
internal bool IsSetMaxResults()
{
return this._maxResults.HasValue;
}
///
/// Gets and sets the property NextToken.
///
/// A value that indicates the starting point for the next set of response records in
/// a subsequent request. If a value is returned in a response, you can retrieve the next
/// set of records by providing this returned NextToken value in the next NextToken parameter
/// and retrying the command. If the NextToken field is empty, all response records have
/// been retrieved for the request.
///
///
public string NextToken
{
get { return this._nextToken; }
set { this._nextToken = value; }
}
// Check to see if NextToken property is set
internal bool IsSetNextToken()
{
return this._nextToken != null;
}
///
/// Gets and sets the property SchemaPattern.
///
/// A pattern to filter results by schema name. Within a schema pattern, "%" means match
/// any substring of 0 or more characters and "_" means match any one character. Only
/// schema name entries matching the search pattern are returned. If SchemaPattern
/// is not specified, then all tables that match TablePattern
are returned.
/// If neither SchemaPattern
or TablePattern
are specified,
/// then all tables are returned.
///
///
public string SchemaPattern
{
get { return this._schemaPattern; }
set { this._schemaPattern = value; }
}
// Check to see if SchemaPattern property is set
internal bool IsSetSchemaPattern()
{
return this._schemaPattern != null;
}
///
/// Gets and sets the property SecretArn.
///
/// The name or ARN of the secret that enables access to the database. This parameter
/// is required when authenticating using Secrets Manager.
///
///
public string SecretArn
{
get { return this._secretArn; }
set { this._secretArn = value; }
}
// Check to see if SecretArn property is set
internal bool IsSetSecretArn()
{
return this._secretArn != null;
}
///
/// Gets and sets the property TablePattern.
///
/// A pattern to filter results by table name. Within a table pattern, "%" means match
/// any substring of 0 or more characters and "_" means match any one character. Only
/// table name entries matching the search pattern are returned. If TablePattern
/// is not specified, then all tables that match SchemaPattern
are returned.
/// If neither SchemaPattern
or TablePattern
are specified,
/// then all tables are returned.
///
///
public string TablePattern
{
get { return this._tablePattern; }
set { this._tablePattern = value; }
}
// Check to see if TablePattern property is set
internal bool IsSetTablePattern()
{
return this._tablePattern != null;
}
///
/// Gets and sets the property WorkgroupName.
///
/// The serverless workgroup name or Amazon Resource Name (ARN). This parameter is required
/// when connecting to a serverless workgroup and authenticating using either Secrets
/// Manager or temporary credentials.
///
///
[AWSProperty(Min=3, Max=128)]
public string WorkgroupName
{
get { return this._workgroupName; }
set { this._workgroupName = value; }
}
// Check to see if WorkgroupName property is set
internal bool IsSetWorkgroupName()
{
return this._workgroupName != null;
}
}
}