import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone.
 */
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;
    /**
     * The metadata forms that are to be attached to the assets that this data source works with.
     */
    readonly assetFormsInput: pulumi.Output<outputs.datazone.DataSourceFormInput[] | undefined>;
    /**
     * The unique identifier of the data source.
     */
    readonly awsId: pulumi.Output<string>;
    /**
     * Configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration.
     */
    readonly configuration: pulumi.Output<outputs.datazone.DataSourceConfigurationInput0Properties | outputs.datazone.DataSourceConfigurationInput1Properties | outputs.datazone.DataSourceConfigurationInput2Properties | undefined>;
    /**
     * The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run
     */
    readonly connectionId: pulumi.Output<string>;
    /**
     * The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run
     */
    readonly connectionIdentifier: pulumi.Output<string | undefined>;
    /**
     * The timestamp of when the data source was created.
     */
    readonly createdAt: pulumi.Output<string>;
    /**
     * The description of the data source.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * The ID of the Amazon DataZone domain where the data source is created.
     */
    readonly domainId: pulumi.Output<string>;
    /**
     * The ID of the Amazon DataZone domain where the data source is created.
     */
    readonly domainIdentifier: pulumi.Output<string>;
    /**
     * Specifies whether the data source is enabled.
     */
    readonly enableSetting: pulumi.Output<enums.datazone.DataSourceEnableSetting | undefined>;
    /**
     * The unique identifier of the Amazon DataZone environment to which the data source publishes assets.
     */
    readonly environmentId: pulumi.Output<string>;
    /**
     * The unique identifier of the Amazon DataZone environment to which the data source publishes assets.
     */
    readonly environmentIdentifier: pulumi.Output<string | undefined>;
    /**
     * The number of assets created by the data source during its last run.
     */
    readonly lastRunAssetCount: pulumi.Output<number>;
    /**
     * The timestamp that specifies when the data source was last run.
     */
    readonly lastRunAt: pulumi.Output<string>;
    /**
     * The status of the last run of this data source.
     */
    readonly lastRunStatus: pulumi.Output<string>;
    /**
     * The name of the data source.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The ID of the Amazon DataZone project to which the data source is added.
     */
    readonly projectId: pulumi.Output<string>;
    /**
     * The identifier of the Amazon DataZone project in which you want to add the data source.
     */
    readonly projectIdentifier: pulumi.Output<string>;
    /**
     * Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.
     */
    readonly publishOnImport: pulumi.Output<boolean | undefined>;
    /**
     * Specifies whether the business name generation is to be enabled for this data source.
     */
    readonly recommendation: pulumi.Output<outputs.datazone.DataSourceRecommendationConfiguration | undefined>;
    /**
     * The schedule of the data source runs.
     */
    readonly schedule: pulumi.Output<outputs.datazone.DataSourceScheduleConfiguration | undefined>;
    /**
     * The status of the data source.
     */
    readonly status: pulumi.Output<enums.datazone.DataSourceStatus>;
    /**
     * The type of the data source.
     */
    readonly type: pulumi.Output<string>;
    /**
     * The timestamp of when this data source was updated.
     */
    readonly updatedAt: pulumi.Output<string>;
    /**
     * 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 {
    /**
     * The metadata forms that are to be attached to the assets that this data source works with.
     */
    assetFormsInput?: pulumi.Input<pulumi.Input<inputs.datazone.DataSourceFormInputArgs>[]>;
    /**
     * Configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration.
     */
    configuration?: pulumi.Input<inputs.datazone.DataSourceConfigurationInput0PropertiesArgs | inputs.datazone.DataSourceConfigurationInput1PropertiesArgs | inputs.datazone.DataSourceConfigurationInput2PropertiesArgs>;
    /**
     * The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run
     */
    connectionIdentifier?: pulumi.Input<string>;
    /**
     * The description of the data source.
     */
    description?: pulumi.Input<string>;
    /**
     * The ID of the Amazon DataZone domain where the data source is created.
     */
    domainIdentifier: pulumi.Input<string>;
    /**
     * Specifies whether the data source is enabled.
     */
    enableSetting?: pulumi.Input<enums.datazone.DataSourceEnableSetting>;
    /**
     * The unique identifier of the Amazon DataZone environment to which the data source publishes assets.
     */
    environmentIdentifier?: pulumi.Input<string>;
    /**
     * The name of the data source.
     */
    name?: pulumi.Input<string>;
    /**
     * The identifier of the Amazon DataZone project in which you want to add the data source.
     */
    projectIdentifier: pulumi.Input<string>;
    /**
     * Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.
     */
    publishOnImport?: pulumi.Input<boolean>;
    /**
     * Specifies whether the business name generation is to be enabled for this data source.
     */
    recommendation?: pulumi.Input<inputs.datazone.DataSourceRecommendationConfigurationArgs>;
    /**
     * The schedule of the data source runs.
     */
    schedule?: pulumi.Input<inputs.datazone.DataSourceScheduleConfigurationArgs>;
    /**
     * The type of the data source.
     */
    type: pulumi.Input<string>;
}
