import * as pulumi from "@pulumi/pulumi";
/**
 * Source represents a data source from which asset discovery data is ingested into Migration Center.
 *
 * ## Example Usage
 *
 * ### Migration Center Source Basic
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const _default = new gcp.migrationcenter.Source("default", {
 *     location: "us-central1",
 *     sourceId: "source-test",
 *     description: "Terraform integration test description",
 *     displayName: "Terraform integration test display",
 *     priority: 10,
 *     type: "SOURCE_TYPE_CUSTOM",
 *     managed: false,
 * });
 * ```
 *
 * ## Import
 *
 * Source can be imported using any of these accepted formats:
 *
 * * `projects/{{project}}/locations/{{location}}/sources/{{source_id}}`
 * * `{{project}}/{{location}}/{{source_id}}`
 * * `{{location}}/{{source_id}}`
 *
 * When using the `pulumi import` command, Source can be imported using one of the formats above. For example:
 *
 * ```sh
 * $ pulumi import gcp:migrationcenter/source:Source default projects/{{project}}/locations/{{location}}/sources/{{source_id}}
 * $ pulumi import gcp:migrationcenter/source:Source default {{project}}/{{location}}/{{source_id}}
 * $ pulumi import gcp:migrationcenter/source:Source default {{location}}/{{source_id}}
 * ```
 */
export declare class Source extends pulumi.CustomResource {
    /**
     * Get an existing Source 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 state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SourceState, opts?: pulumi.CustomResourceOptions): Source;
    /**
     * Returns true if the given object is an instance of Source.  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 Source;
    /**
     * The timestamp when the source was created.
     */
    readonly createTime: pulumi.Output<string>;
    /**
     * Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
     * When a 'terraform destroy' or 'pulumi up' would delete the resource,
     * the command will fail if this field is set to "PREVENT" in Terraform state.
     * When set to "ABANDON", the command will remove the resource from Terraform
     * management without updating or deleting the resource in the API.
     * When set to "DELETE", deleting the resource is allowed.
     */
    readonly deletionPolicy: pulumi.Output<string>;
    /**
     * Free-text description.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * User-friendly display name.
     */
    readonly displayName: pulumi.Output<string | undefined>;
    /**
     * The number of frames that were reported by the source and contained errors.
     */
    readonly errorFrameCount: pulumi.Output<number>;
    /**
     * Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
     */
    readonly location: pulumi.Output<string>;
    /**
     * If `true`, the source is managed by other service(s).
     */
    readonly managed: pulumi.Output<boolean | undefined>;
    /**
     * The full name of the source.
     */
    readonly name: pulumi.Output<string>;
    /**
     * Number of frames that are still being processed.
     */
    readonly pendingFrameCount: pulumi.Output<number>;
    /**
     * The information confidence of the source.
     * The higher the value, the higher the confidence.
     */
    readonly priority: pulumi.Output<number | undefined>;
    /**
     * The ID of the project in which the resource belongs.
     * If it is not provided, the provider project is used.
     */
    readonly project: pulumi.Output<string>;
    /**
     * User specified ID for the source. It will become the last component of the
     * source name. The ID must be unique within the project, must conform with
     * RFC-1034, is restricted to lower-cased letters, and has a maximum
     * length of 63 characters. The ID must match the
     * regular expression: `a-z?`.
     */
    readonly sourceId: pulumi.Output<string>;
    /**
     * The state of the source.
     * Possible values:
     * ACTIVE
     * DELETING
     * INVALID
     */
    readonly state: pulumi.Output<string>;
    /**
     * Data source type.
     * Possible values:
     * SOURCE_TYPE_UNKNOWN
     * SOURCE_TYPE_UPLOAD
     * SOURCE_TYPE_GUEST_OS_SCAN
     * SOURCE_TYPE_INVENTORY_SCAN
     * SOURCE_TYPE_CUSTOM
     * SOURCE_TYPE_DISCOVERY_CLIENT
     */
    readonly type: pulumi.Output<string | undefined>;
    /**
     * The timestamp when the source was last updated.
     */
    readonly updateTime: pulumi.Output<string>;
    /**
     * Create a Source 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: SourceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Source resources.
 */
export interface SourceState {
    /**
     * The timestamp when the source was created.
     */
    createTime?: pulumi.Input<string | undefined>;
    /**
     * Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
     * When a 'terraform destroy' or 'pulumi up' would delete the resource,
     * the command will fail if this field is set to "PREVENT" in Terraform state.
     * When set to "ABANDON", the command will remove the resource from Terraform
     * management without updating or deleting the resource in the API.
     * When set to "DELETE", deleting the resource is allowed.
     */
    deletionPolicy?: pulumi.Input<string | undefined>;
    /**
     * Free-text description.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * User-friendly display name.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * The number of frames that were reported by the source and contained errors.
     */
    errorFrameCount?: pulumi.Input<number | undefined>;
    /**
     * Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * If `true`, the source is managed by other service(s).
     */
    managed?: pulumi.Input<boolean | undefined>;
    /**
     * The full name of the source.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Number of frames that are still being processed.
     */
    pendingFrameCount?: pulumi.Input<number | undefined>;
    /**
     * The information confidence of the source.
     * The higher the value, the higher the confidence.
     */
    priority?: pulumi.Input<number | undefined>;
    /**
     * The ID of the project in which the resource belongs.
     * If it is not provided, the provider project is used.
     */
    project?: pulumi.Input<string | undefined>;
    /**
     * User specified ID for the source. It will become the last component of the
     * source name. The ID must be unique within the project, must conform with
     * RFC-1034, is restricted to lower-cased letters, and has a maximum
     * length of 63 characters. The ID must match the
     * regular expression: `a-z?`.
     */
    sourceId?: pulumi.Input<string | undefined>;
    /**
     * The state of the source.
     * Possible values:
     * ACTIVE
     * DELETING
     * INVALID
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * Data source type.
     * Possible values:
     * SOURCE_TYPE_UNKNOWN
     * SOURCE_TYPE_UPLOAD
     * SOURCE_TYPE_GUEST_OS_SCAN
     * SOURCE_TYPE_INVENTORY_SCAN
     * SOURCE_TYPE_CUSTOM
     * SOURCE_TYPE_DISCOVERY_CLIENT
     */
    type?: pulumi.Input<string | undefined>;
    /**
     * The timestamp when the source was last updated.
     */
    updateTime?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a Source resource.
 */
export interface SourceArgs {
    /**
     * Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
     * When a 'terraform destroy' or 'pulumi up' would delete the resource,
     * the command will fail if this field is set to "PREVENT" in Terraform state.
     * When set to "ABANDON", the command will remove the resource from Terraform
     * management without updating or deleting the resource in the API.
     * When set to "DELETE", deleting the resource is allowed.
     */
    deletionPolicy?: pulumi.Input<string | undefined>;
    /**
     * Free-text description.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * User-friendly display name.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
     */
    location: pulumi.Input<string>;
    /**
     * If `true`, the source is managed by other service(s).
     */
    managed?: pulumi.Input<boolean | undefined>;
    /**
     * The information confidence of the source.
     * The higher the value, the higher the confidence.
     */
    priority?: pulumi.Input<number | undefined>;
    /**
     * The ID of the project in which the resource belongs.
     * If it is not provided, the provider project is used.
     */
    project?: pulumi.Input<string | undefined>;
    /**
     * User specified ID for the source. It will become the last component of the
     * source name. The ID must be unique within the project, must conform with
     * RFC-1034, is restricted to lower-cased letters, and has a maximum
     * length of 63 characters. The ID must match the
     * regular expression: `a-z?`.
     */
    sourceId: pulumi.Input<string>;
    /**
     * Data source type.
     * Possible values:
     * SOURCE_TYPE_UNKNOWN
     * SOURCE_TYPE_UPLOAD
     * SOURCE_TYPE_GUEST_OS_SCAN
     * SOURCE_TYPE_INVENTORY_SCAN
     * SOURCE_TYPE_CUSTOM
     * SOURCE_TYPE_DISCOVERY_CLIENT
     */
    type?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=source.d.ts.map