import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Migration Plan resource in Oracle Cloud Infrastructure Cloud Migrations service.
 *
 * Gets a migration plan by identifier.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMigrationPlan = oci.cloudmigrations.getMigrationPlan({
 *     migrationPlanId: testMigrationPlanOciCloudMigrationsMigrationPlan.id,
 * });
 * ```
 */
export declare function getMigrationPlan(args: GetMigrationPlanArgs, opts?: pulumi.InvokeOptions): Promise<GetMigrationPlanResult>;
/**
 * A collection of arguments for invoking getMigrationPlan.
 */
export interface GetMigrationPlanArgs {
    /**
     * Unique migration plan identifier
     */
    migrationPlanId: string;
}
/**
 * A collection of values returned by getMigrationPlan.
 */
export interface GetMigrationPlanResult {
    /**
     * Limits of the resources that are needed for migration. Example: {"BlockVolume": 2, "VCN": 1}
     */
    readonly calculatedLimits: {
        [key: string]: string;
    };
    /**
     * The OCID of the compartment containing the migration plan.
     */
    readonly compartmentId: string;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
     */
    readonly displayName: string;
    /**
     * Simple key-value pair that is applied without any predefined name, type or scope. It exists only for cross-compatibility. Example: `{"bar-key": "value"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * The unique Oracle ID (OCID) that is immutable on creation.
     */
    readonly id: string;
    /**
     * A message describing the current state in more detail. For example, it can be used to provide actionable information for a resource in Failed state.
     */
    readonly lifecycleDetails: string;
    /**
     * The OCID of the associated migration.
     */
    readonly migrationId: string;
    readonly migrationPlanId: string;
    /**
     * Status of the migration plan.
     */
    readonly migrationPlanStats: outputs.CloudMigrations.GetMigrationPlanMigrationPlanStat[];
    /**
     * OCID of the referenced ORM job.
     */
    readonly referenceToRmsStack: string;
    /**
     * Source migraiton plan ID to be cloned.
     */
    readonly sourceMigrationPlanId: string;
    /**
     * The current state of the migration plan.
     */
    readonly state: string;
    /**
     * List of strategies for the resources to be migrated.
     */
    readonly strategies: outputs.CloudMigrations.GetMigrationPlanStrategy[];
    /**
     * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: {
        [key: string]: string;
    };
    /**
     * List of target environments.
     */
    readonly targetEnvironments: outputs.CloudMigrations.GetMigrationPlanTargetEnvironment[];
    /**
     * The time when the migration plan was created. An RFC3339 formatted datetime string.
     */
    readonly timeCreated: string;
    /**
     * The time when the migration plan was updated. An RFC3339 formatted datetime string.
     */
    readonly timeUpdated: string;
}
/**
 * This data source provides details about a specific Migration Plan resource in Oracle Cloud Infrastructure Cloud Migrations service.
 *
 * Gets a migration plan by identifier.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMigrationPlan = oci.cloudmigrations.getMigrationPlan({
 *     migrationPlanId: testMigrationPlanOciCloudMigrationsMigrationPlan.id,
 * });
 * ```
 */
export declare function getMigrationPlanOutput(args: GetMigrationPlanOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetMigrationPlanResult>;
/**
 * A collection of arguments for invoking getMigrationPlan.
 */
export interface GetMigrationPlanOutputArgs {
    /**
     * Unique migration plan identifier
     */
    migrationPlanId: pulumi.Input<string>;
}
//# sourceMappingURL=getMigrationPlan.d.ts.map