import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Definition of the AWS::QuickSight::DataSource Resource Type.
 */
export declare class DataSource extends pulumi.CustomResource {
    /**
     * Get an existing DataSource resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): DataSource;
    /**
     * Returns true if the given object is an instance of DataSource.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is DataSource;
    /**
     * <p>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.</p>
     */
    readonly alternateDataSourceParameters: pulumi.Output<outputs.quicksight.DataSourceParameters[] | undefined>;
    /**
     * <p>The Amazon Resource Name (ARN) of the data source.</p>
     */
    readonly arn: pulumi.Output<string>;
    /**
     * The AWS account ID.
     */
    readonly awsAccountId: pulumi.Output<string | undefined>;
    /**
     * <p>The time that this data source was created.</p>
     */
    readonly createdTime: pulumi.Output<string>;
    /**
     * The credentials Amazon Quick Sight that uses to connect to your underlying source. Currently, only credentials based on user name and password are supported.
     */
    readonly credentials: pulumi.Output<outputs.quicksight.DataSourceCredentials | undefined>;
    /**
     * An ID for the data source. This ID is unique per AWS Region for each AWS account.
     */
    readonly dataSourceId: pulumi.Output<string | undefined>;
    /**
     * The parameters that Amazon Quick Sight uses to connect to your underlying source.
     */
    readonly dataSourceParameters: pulumi.Output<outputs.quicksight.DataSourceParameters | undefined>;
    /**
     * Error information from the last update or the creation of the data source.
     */
    readonly errorInfo: pulumi.Output<outputs.quicksight.DataSourceErrorInfo | undefined>;
    readonly folderArns: pulumi.Output<string[] | undefined>;
    /**
     * <p>The last time that this data source was updated.</p>
     */
    readonly lastUpdatedTime: pulumi.Output<string>;
    /**
     * A display name for the data source.
     */
    readonly name: pulumi.Output<string>;
    /**
     * A list of resource permissions on the data source.
     */
    readonly permissions: pulumi.Output<outputs.quicksight.DataSourceResourcePermission[] | undefined>;
    /**
     * Secure Socket Layer (SSL) properties that apply when Amazon Quick Sight connects to your underlying source.
     */
    readonly sslProperties: pulumi.Output<outputs.quicksight.DataSourceSslProperties | undefined>;
    /**
     * The HTTP status of the request.
     */
    readonly status: pulumi.Output<enums.quicksight.DataSourceResourceStatus>;
    /**
     * Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * The type of the data source. To return a list of all data sources, use `ListDataSources` .
     *
     * Use `AMAZON_ELASTICSEARCH` for Amazon OpenSearch Service.
     */
    readonly type: pulumi.Output<enums.quicksight.DataSourceType>;
    /**
     * Use this parameter only when you want Amazon Quick Sight to use a VPC connection when connecting to your underlying source.
     */
    readonly vpcConnectionProperties: pulumi.Output<outputs.quicksight.DataSourceVpcConnectionProperties | undefined>;
    /**
     * Create a DataSource resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: DataSourceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a DataSource resource.
 */
export interface DataSourceArgs {
    /**
     * <p>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.</p>
     */
    alternateDataSourceParameters?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSourceParametersArgs>[]>;
    /**
     * The AWS account ID.
     */
    awsAccountId?: pulumi.Input<string>;
    /**
     * The credentials Amazon Quick Sight that uses to connect to your underlying source. Currently, only credentials based on user name and password are supported.
     */
    credentials?: pulumi.Input<inputs.quicksight.DataSourceCredentialsArgs>;
    /**
     * An ID for the data source. This ID is unique per AWS Region for each AWS account.
     */
    dataSourceId?: pulumi.Input<string>;
    /**
     * The parameters that Amazon Quick Sight uses to connect to your underlying source.
     */
    dataSourceParameters?: pulumi.Input<inputs.quicksight.DataSourceParametersArgs>;
    /**
     * Error information from the last update or the creation of the data source.
     */
    errorInfo?: pulumi.Input<inputs.quicksight.DataSourceErrorInfoArgs>;
    folderArns?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * A display name for the data source.
     */
    name?: pulumi.Input<string>;
    /**
     * A list of resource permissions on the data source.
     */
    permissions?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSourceResourcePermissionArgs>[]>;
    /**
     * Secure Socket Layer (SSL) properties that apply when Amazon Quick Sight connects to your underlying source.
     */
    sslProperties?: pulumi.Input<inputs.quicksight.DataSourceSslPropertiesArgs>;
    /**
     * Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
    /**
     * The type of the data source. To return a list of all data sources, use `ListDataSources` .
     *
     * Use `AMAZON_ELASTICSEARCH` for Amazon OpenSearch Service.
     */
    type: pulumi.Input<enums.quicksight.DataSourceType>;
    /**
     * Use this parameter only when you want Amazon Quick Sight to use a VPC connection when connecting to your underlying source.
     */
    vpcConnectionProperties?: pulumi.Input<inputs.quicksight.DataSourceVpcConnectionPropertiesArgs>;
}
