/* 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.
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.
Cluster ID. This field can be blank if the Host and Port are
* provided.
Port. This field can be blank if the ClusterId is provided.
Database.
*/ Database: string; /** *Host. This field can be blank if ClusterId is provided.
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.
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.
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:
*The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)
*The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)
*The ARN of an AWS account root: This is an IAM ARN rather than a QuickSight * ARN. Use this option only to share resources (templates) across AWS accounts. * (This is less common.)
*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; }