import { DataSourceParametersProps } from './datasource/DataSourceParametersProps';
import { Value } from '../../cloudformation/Value';
import { VpcConnectionPropertiesProps } from './datasource/VpcConnectionPropertiesProps';
import { DataSourceErrorInfoProps } from './datasource/DataSourceErrorInfoProps';
import { ResourcePermissionProps } from './datasource/ResourcePermissionProps';
import { SslPropertiesProps } from './datasource/SslPropertiesProps';
import { DataSourceCredentialsProps } from './datasource/DataSourceCredentialsProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type DataSourceAttributes = {
    Status: Attribute<string>;
    CreatedTime: Attribute<string>;
    LastUpdatedTime: Attribute<string>;
    Arn: Attribute<string>;
};
export type DataSource = AwsResource<'AWS::QuickSight::DataSource', DataSourceProperties, DataSourceAttributes>;
/**
  Creates a data source.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html">the AWS Docs</a>
*/
export declare function dataSource(dataSourceProps?: DataSourceProperties): DataSource;
/**
  Creates a data source.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html">the AWS Docs</a>
*/
export interface DataSourceProperties {
    /** <code>DataSourceParameters</code>  <a name="cfn-quicksight-datasource-datasourceparameters"></a>
  The parameters that Amazon QuickSight uses to connect to your underlying source.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    dataSourceParameters?: DataSourceParametersProps;
    /** <code>Type</code>  <a name="cfn-quicksight-datasource-type"></a>
  The type of the data source. To return a list of all data sources, use <code>ListDataSources</code>.<br />
  Use <code>AMAZON_ELASTICSEARCH</code> for Amazon OpenSearch Service.<br />
  
  Required: No<br />
  
  Allowed values: <code>ADOBE_ANALYTICS | AMAZON_ELASTICSEARCH | AMAZON_OPENSEARCH | ATHENA | AURORA | AURORA_POSTGRESQL | AWS_IOT_ANALYTICS | DATABRICKS | EXASOL | GITHUB | JIRA | MARIADB | MYSQL | ORACLE | POSTGRESQL | PRESTO | REDSHIFT | S3 | SALESFORCE | SERVICENOW | SNOWFLAKE | SPARK | SQLSERVER | TERADATA | TIMESTREAM | TWITTER</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    type?: Value<'ADOBE_ANALYTICS' | 'AMAZON_ELASTICSEARCH' | 'AMAZON_OPENSEARCH' | 'ATHENA' | 'AURORA' | 'AURORA_POSTGRESQL' | 'AWS_IOT_ANALYTICS' | 'DATABRICKS' | 'EXASOL' | 'GITHUB' | 'JIRA' | 'MARIADB' | 'MYSQL' | 'ORACLE' | 'POSTGRESQL' | 'PRESTO' | 'REDSHIFT' | 'S3' | 'SALESFORCE' | 'SERVICENOW' | 'SNOWFLAKE' | 'SPARK' | 'SQLSERVER' | 'TERADATA' | 'TIMESTREAM' | 'TWITTER'>;
    /** <code>VpcConnectionProperties</code>  <a name="cfn-quicksight-datasource-vpcconnectionproperties"></a>
  Use this parameter only when you want Amazon QuickSight to use a VPC connection when connecting to your underlying source.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    vpcConnectionProperties?: VpcConnectionPropertiesProps;
    /** <code>AlternateDataSourceParameters</code>  <a name="cfn-quicksight-datasource-alternatedatasourceparameters"></a>
  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 <code>DataSourceParameters</code> structure that’s in the request with the structures in the <code>AlternateDataSourceParameters</code> allow list. If the structures are an exact match, the request is allowed to use the credentials from this existing data source. If the <code>AlternateDataSourceParameters</code> list is null, the <code>Credentials</code> originally used with this <code>DataSourceParameters</code> are automatically allowed.<br />
  
  Required: No<br />
  
  Maximum: <code>50</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    alternateDataSourceParameters?: DataSourceParametersProps[];
    /** <code>ErrorInfo</code>  <a name="cfn-quicksight-datasource-errorinfo"></a>
  Error information from the last update or the creation of the data source.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    errorInfo?: DataSourceErrorInfoProps;
    /** <code>AwsAccountId</code>  <a name="cfn-quicksight-datasource-awsaccountid"></a>
  The AWS account ID.<br />
  
  Required: No<br />
  
  Minimum: <code>12</code><br />
  
  Maximum: <code>12</code><br />
  
  Pattern: <code>^[0-9]{12}$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    awsAccountId?: Value<string>;
    /** <code>Permissions</code>  <a name="cfn-quicksight-datasource-permissions"></a>
  A list of resource permissions on the data source.<br />
  
  Required: No<br />
  
  Maximum: <code>64</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    permissions?: ResourcePermissionProps[];
    /** <code>SslProperties</code>  <a name="cfn-quicksight-datasource-sslproperties"></a>
  Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your underlying source.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    sslProperties?: SslPropertiesProps;
    /** <code>Credentials</code>  <a name="cfn-quicksight-datasource-credentials"></a>
  The credentials Amazon QuickSight that uses to connect to your underlying source. Currently, only credentials based on user name and password are supported.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    credentials?: DataSourceCredentialsProps;
    /** <code>DataSourceId</code>  <a name="cfn-quicksight-datasource-datasourceid"></a>
  An ID for the data source. This ID is unique per AWS Region for each AWS account.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    dataSourceId?: Value<string>;
    /** <code>Tags</code>  <a name="cfn-quicksight-datasource-tags"></a>
  Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.<br />
  
  Required: No<br />
  
  Maximum: <code>200</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
    /** <code>Name</code>  <a name="cfn-quicksight-datasource-name"></a>
  A display name for the data source.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>128</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    name?: Value<string>;
}
