/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export type DataSourceErrorInfoType = | "ACCESS_DENIED" | "COPY_SOURCE_NOT_FOUND" | "TIMEOUT" | "ENGINE_VERSION_NOT_SUPPORTED" | "UNKNOWN_HOST" | "GENERIC_SQL_FAILURE" | "CONFLICT" | "UNKNOWN"; export type ResourceStatus = | "CREATION_IN_PROGRESS" | "CREATION_SUCCESSFUL" | "CREATION_FAILED" | "UPDATE_IN_PROGRESS" | "UPDATE_SUCCESSFUL" | "UPDATE_FAILED" | "DELETED"; export type DataSourceType = | "ADOBE_ANALYTICS" | "AMAZON_ELASTICSEARCH" | "AMAZON_OPENSEARCH" | "ATHENA" | "AURORA" | "AURORA_POSTGRESQL" | "AWS_IOT_ANALYTICS" | "DATABRICKS" | "GITHUB" | "JIRA" | "MARIADB" | "MYSQL" | "ORACLE" | "POSTGRESQL" | "PRESTO" | "REDSHIFT" | "S3" | "SALESFORCE" | "SERVICENOW" | "SNOWFLAKE" | "SPARK" | "SQLSERVER" | "TERADATA" | "TWITTER" | "TIMESTREAM"; /** * Definition of the AWS::QuickSight::DataSource Resource Type. */ export interface AwsQuicksightDatasource { /** *

A set of alternate data source parameters that you want to share for the credentials * stored with this data source. The credentials are applied in tandem with the data source * parameters when you copy a data source by using a create or update request. The API * operation compares the DataSourceParameters structure that's in the request * with the structures in the AlternateDataSourceParameters allow list. If the * structures are an exact match, the request is allowed to use the credentials from this * existing data source. If the AlternateDataSourceParameters list is null, * the Credentials originally used with this DataSourceParameters * are automatically allowed.

* * @minItems 1 * @maxItems 50 */ AlternateDataSourceParameters?: [DataSourceParameters, ...DataSourceParameters[]]; /** *

The Amazon Resource Name (ARN) of the data source.

*/ Arn?: string; AwsAccountId?: string; /** *

The time that this data source was created.

*/ CreatedTime?: string; Credentials?: DataSourceCredentials; DataSourceId?: string; DataSourceParameters?: DataSourceParameters; ErrorInfo?: DataSourceErrorInfo; /** *

The last time that this data source was updated.

*/ LastUpdatedTime?: string; /** *

A display name for the data source.

*/ Name?: string; /** *

A list of resource permissions on the data source.

* * @minItems 1 * @maxItems 64 */ Permissions?: [ResourcePermission, ...ResourcePermission[]]; SslProperties?: SslProperties; Status?: ResourceStatus; /** *

Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.

* * @minItems 1 * @maxItems 200 */ Tags?: [Tag, ...Tag[]]; Type?: DataSourceType; VpcConnectionProperties?: VpcConnectionProperties; } /** *

The parameters that Amazon QuickSight uses to connect to your underlying data source. * This is a variant type structure. For this structure to be valid, only one of the * attributes can be non-null.

*/ export interface DataSourceParameters { AuroraPostgreSqlParameters?: AuroraPostgreSqlParameters; TeradataParameters?: TeradataParameters; RdsParameters?: RdsParameters; AthenaParameters?: AthenaParameters; SparkParameters?: SparkParameters; MariaDbParameters?: MariaDbParameters; OracleParameters?: OracleParameters; PrestoParameters?: PrestoParameters; RedshiftParameters?: RedshiftParameters; MySqlParameters?: MySqlParameters; SqlServerParameters?: SqlServerParameters; SnowflakeParameters?: SnowflakeParameters; AmazonElasticsearchParameters?: AmazonElasticsearchParameters; AmazonOpenSearchParameters?: AmazonOpenSearchParameters; PostgreSqlParameters?: PostgreSqlParameters; AuroraParameters?: AuroraParameters; S3Parameters?: S3Parameters; DatabricksParameters?: DatabricksParameters; [k: string]: unknown; } /** *

Amazon Aurora with PostgreSQL compatibility parameters.

*/ export interface AuroraPostgreSqlParameters { /** *

Port.

*/ Port: number; /** *

Database.

*/ Database: string; /** *

Host.

*/ Host: string; [k: string]: unknown; } /** *

Teradata parameters.

*/ export interface TeradataParameters { /** *

Port.

*/ Port: number; /** *

Database.

*/ Database: string; /** *

Host.

*/ Host: string; [k: string]: unknown; } /** *

Amazon RDS parameters.

*/ export interface RdsParameters { /** *

Instance ID.

*/ InstanceId: string; /** *

Database.

*/ Database: string; [k: string]: unknown; } /** *

Amazon Athena parameters.

*/ export interface AthenaParameters { /** *

The workgroup that Amazon Athena uses.

*/ WorkGroup?: string; [k: string]: unknown; } /** *

Spark parameters.

*/ export interface SparkParameters { /** *

Port.

*/ Port: number; /** *

Host.

*/ Host: string; [k: string]: unknown; } /** *

MariaDB parameters.

*/ export interface MariaDbParameters { /** *

Port.

*/ Port: number; /** *

Database.

*/ Database: string; /** *

Host.

*/ Host: string; [k: string]: unknown; } export interface OracleParameters { Port: number; Database: string; Host: string; [k: string]: unknown; } /** *

Presto parameters.

*/ export interface PrestoParameters { /** *

Port.

*/ Port: number; /** *

Host.

*/ Host: string; /** *

Catalog.

*/ Catalog: string; [k: string]: unknown; } /** *

Amazon Redshift parameters. The ClusterId field can be blank if * Host and Port are both set. The Host and * Port fields can be blank if the ClusterId field is set.

*/ export interface RedshiftParameters { /** *

Cluster ID. This field can be blank if the Host and Port are * provided.

*/ ClusterId?: string; /** *

Port. This field can be blank if the ClusterId is provided.

*/ Port?: number; /** *

Database.

*/ Database: string; /** *

Host. This field can be blank if ClusterId is provided.

*/ Host?: string; [k: string]: unknown; } /** *

MySQL parameters.

*/ export interface MySqlParameters { /** *

Port.

*/ Port: number; /** *

Database.

*/ Database: string; /** *

Host.

*/ Host: string; [k: string]: unknown; } /** *

SQL Server parameters.

*/ export interface SqlServerParameters { /** *

Port.

*/ Port: number; /** *

Database.

*/ Database: string; /** *

Host.

*/ Host: string; [k: string]: unknown; } /** *

Snowflake parameters.

*/ export interface SnowflakeParameters { /** *

Warehouse.

*/ Warehouse: string; /** *

Database.

*/ Database: string; /** *

Host.

*/ Host: string; [k: string]: unknown; } /** *

Amazon Elasticsearch Service parameters.

*/ export interface AmazonElasticsearchParameters { /** *

The Amazon Elasticsearch Service domain.

*/ Domain: string; [k: string]: unknown; } /** *

Amazon OpenSearch Service parameters.

*/ export interface AmazonOpenSearchParameters { /** *

The Amazon OpenSearch Service domain.

*/ Domain: string; [k: string]: unknown; } /** *

PostgreSQL parameters.

*/ export interface PostgreSqlParameters { /** *

Port.

*/ Port: number; /** *

Database.

*/ Database: string; /** *

Host.

*/ Host: string; [k: string]: unknown; } /** *

Amazon Aurora parameters.

*/ export interface AuroraParameters { /** *

Port.

*/ Port: number; /** *

Database.

*/ Database: string; /** *

Host.

*/ Host: string; [k: string]: unknown; } /** *

S3 parameters.

*/ export interface S3Parameters { ManifestFileLocation: ManifestFileLocation; [k: string]: unknown; } /** *

Amazon S3 manifest file location.

*/ export interface ManifestFileLocation { /** *

Amazon S3 bucket.

*/ Bucket: string; /** *

Amazon S3 key that identifies an object.

*/ Key: string; [k: string]: unknown; } /** *

Databricks parameters.

*/ export interface DatabricksParameters { /** *

Host.

*/ Host: string; /** *

Port.

*/ Port: number; /** *

The HTTP Path of the Databricks data source.

*/ SqlEndpointPath: string; [k: string]: unknown; } /** *

Data source credentials. This is a variant type structure. For this structure to be * valid, only one of the attributes can be non-null.

*/ export interface DataSourceCredentials { /** *

The Amazon Resource Name (ARN) of a data source that has the credential pair that you * want to use. When CopySourceArn is not null, the credential pair from the * data source in the ARN is used as the credentials for the * DataSourceCredentials structure.

*/ CopySourceArn?: string; CredentialPair?: CredentialPair; /** *

The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon Secrets Manager.

*/ SecretArn?: string; [k: string]: unknown; } /** *

The combination of user name and password that are used as credentials.

*/ export interface CredentialPair { /** *

A set of alternate data source parameters that you want to share for these * credentials. The credentials are applied in tandem with the data source parameters when * you copy a data source by using a create or update request. The API operation compares * the DataSourceParameters structure that's in the request with the * structures in the AlternateDataSourceParameters allow list. If the * structures are an exact match, the request is allowed to use the new data source with * the existing credentials. If the AlternateDataSourceParameters list is * null, the DataSourceParameters originally used with these * Credentials is automatically allowed.

* * @minItems 1 * @maxItems 50 */ AlternateDataSourceParameters?: [DataSourceParameters, ...DataSourceParameters[]]; /** *

User name.

*/ Username: string; /** *

Password.

*/ Password: string; [k: string]: unknown; } /** *

Error information for the data source creation or update.

*/ export interface DataSourceErrorInfo { Type?: DataSourceErrorInfoType; /** *

Error message.

*/ Message?: string; [k: string]: unknown; } /** *

Permission for the resource.

*/ export interface ResourcePermission { /** *

The IAM action to grant or revoke permissions on.

* * @minItems 1 * @maxItems 16 */ Actions: | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ]; /** *

The Amazon Resource Name (ARN) of the principal. This can be one of the * following:

* */ Principal: string; [k: string]: unknown; } /** *

Secure Socket Layer (SSL) properties that apply when QuickSight connects to your * underlying data source.

*/ export interface SslProperties { /** *

A Boolean option to control whether SSL should be disabled.

*/ DisableSsl?: boolean; [k: string]: unknown; } /** *

The key or keys of the key-value pairs for the resource tag or tags assigned to the * resource.

*/ export interface Tag { /** *

Tag value.

*/ Value: string; /** *

Tag key.

*/ Key: string; [k: string]: unknown; } /** *

VPC connection properties.

*/ export interface VpcConnectionProperties { /** *

The Amazon Resource Name (ARN) for the VPC connection.

*/ VpcConnectionArn: string; [k: string]: unknown; }