import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Maintenance Run resource in Oracle Cloud Infrastructure Database service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/database/latest/MaintenanceRun
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/database
 *
 * Creates a maintenance run with one of the following:
 * The latest available release update patch (RUP) for the Autonomous Container Database.
 * The latest available RUP and DST time zone (TZ) file updates for the Autonomous Container Database.
 * Creates a maintenance run to update the DST TZ file for the Autonomous Container Database.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMaintenanceRun = new oci.database.MaintenanceRun("test_maintenance_run", {
 *     patchType: maintenanceRunPatchType,
 *     targetResourceId: testResource.id,
 *     timeScheduled: maintenanceRunTimeScheduled,
 *     compartmentId: compartmentId,
 *     databaseSoftwareImageId: testDatabaseSoftwareImage.id,
 *     isDstFileUpdateEnabled: maintenanceRunIsDstFileUpdateEnabled === "true",
 *     patchingMode: maintenanceRunPatchingMode,
 * });
 * ```
 *
 * ## Import
 *
 * MaintenanceRuns can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:Database/maintenanceRun:MaintenanceRun test_maintenance_run "id"
 * ```
 */
export declare class MaintenanceRun extends pulumi.CustomResource {
    /**
     * Get an existing MaintenanceRun 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?: MaintenanceRunState, opts?: pulumi.CustomResourceOptions): MaintenanceRun;
    /**
     * Returns true if the given object is an instance of MaintenanceRun.  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 MaintenanceRun;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the Maintenance Run.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * Extend current custom action timeout between the current database servers during waiting state, from 0 (zero) to 30 minutes.
     */
    readonly currentCustomActionTimeoutInMins: pulumi.Output<number>;
    /**
     * The name of the current infrastruture component that is getting patched.
     */
    readonly currentPatchingComponent: pulumi.Output<string>;
    /**
     * Determines the amount of time the system will wait before the start of each database server patching operation. Specify a number of minutes, from 15 to 120.
     */
    readonly customActionTimeoutInMins: pulumi.Output<number>;
    /**
     * The Autonomous AI Database Software Image [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
     */
    readonly databaseSoftwareImageId: pulumi.Output<string>;
    /**
     * Description of the maintenance run.
     */
    readonly description: pulumi.Output<string>;
    /**
     * The user-friendly name for the maintenance run.
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * The estimated start time of the next infrastruture component patching operation.
     */
    readonly estimatedComponentPatchingStartTime: pulumi.Output<string>;
    /**
     * The estimated total time required in minutes for all patching operations (database server, storage server, and network switch patching).
     */
    readonly estimatedPatchingTimes: pulumi.Output<outputs.Database.MaintenanceRunEstimatedPatchingTime[]>;
    /**
     * If true, enables the configuration of a custom action timeout (waiting period) between database servers patching operations.
     */
    readonly isCustomActionTimeoutEnabled: pulumi.Output<boolean>;
    /**
     * Indicates if an automatic DST Time Zone file update is enabled for the Autonomous Container Database. If enabled along with Release Update, patching will be done in a Non-Rolling manner.
     */
    readonly isDstFileUpdateEnabled: pulumi.Output<boolean>;
    /**
     * If `FALSE`, the maintenance run doesn't support granular maintenance.
     */
    readonly isMaintenanceRunGranular: pulumi.Output<boolean>;
    /**
     * Additional information about the current lifecycle state.
     */
    readonly lifecycleDetails: pulumi.Output<string>;
    /**
     * Maintenance sub-type.
     */
    readonly maintenanceSubtype: pulumi.Output<string>;
    /**
     * Maintenance type.
     */
    readonly maintenanceType: pulumi.Output<string>;
    /**
     * Contain the patch failure count.
     */
    readonly patchFailureCount: pulumi.Output<number>;
    /**
     * The unique identifier of the patch. The identifier string includes the patch type, the Oracle AI Database version, and the patch creation date (using the format YYMMDD). For example, the identifier `ru_patch_19.9.0.0_201030` is used for an RU patch for Oracle AI Database 19.9.0.0 that was released October 30, 2020.
     */
    readonly patchId: pulumi.Output<string>;
    /**
     * Patch type, either "QUARTERLY", "TIMEZONE" or "CUSTOM_DATABASE_SOFTWARE_IMAGE".
     */
    readonly patchType: pulumi.Output<string>;
    /**
     * The time when the patching operation ended.
     */
    readonly patchingEndTime: pulumi.Output<string>;
    /**
     * (Updatable) Cloud Exadata infrastructure node patching method, either "ROLLING" or "NONROLLING". Default value is ROLLING.
     *
     * *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information.
     */
    readonly patchingMode: pulumi.Output<string>;
    /**
     * The time when the patching operation started.
     */
    readonly patchingStartTime: pulumi.Output<string>;
    /**
     * The status of the patching operation.
     */
    readonly patchingStatus: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the maintenance run for the Autonomous Data Guard association's peer container database.
     */
    readonly peerMaintenanceRunId: pulumi.Output<string>;
    /**
     * The list of OCIDs for the maintenance runs associated with their Autonomous Data Guard peer container databases.
     */
    readonly peerMaintenanceRunIds: pulumi.Output<string[]>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the resource the maintenance run will refer to when trying to fetch target versions. This field is set during maintenance run creation based on infrastructure's maintenance run version preferences.  Currently this is only be supported for monthly maintenance runs created via scheduling plans.
     */
    readonly referenceResourceIdForImageUpdates: pulumi.Output<string>;
    /**
     * The current state of the maintenance run. For Autonomous AI Database Serverless instances, valid states are IN_PROGRESS, SUCCEEDED, and FAILED.
     */
    readonly state: pulumi.Output<string>;
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
     */
    readonly systemTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The target software version for the database server patching operation.
     */
    readonly targetDbServerVersion: pulumi.Output<string>;
    /**
     * The ID of the target resource for which the maintenance run should be created.
     */
    readonly targetResourceId: pulumi.Output<string>;
    /**
     * The type of the target resource on which the maintenance run occurs.
     */
    readonly targetResourceType: pulumi.Output<string>;
    /**
     * The target Cell version that is to be patched to.
     */
    readonly targetStorageServerVersion: pulumi.Output<string>;
    /**
     * The date and time the maintenance run was completed.
     */
    readonly timeEnded: pulumi.Output<string>;
    /**
     * (Updatable) The date and time that update should be scheduled.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    readonly timeScheduled: pulumi.Output<string>;
    /**
     * The date and time the maintenance run starts.
     */
    readonly timeStarted: pulumi.Output<string>;
    /**
     * The total time taken by corresponding resource activity in minutes.
     */
    readonly totalTimeTakenInMins: pulumi.Output<number>;
    /**
     * A list of key-value pairs where the key will contain the window type and value contains all the windowDetails of that window type.
     */
    readonly windowTypeDescriptions: pulumi.Output<outputs.Database.MaintenanceRunWindowTypeDescription[]>;
    /**
     * Create a MaintenanceRun 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: MaintenanceRunArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering MaintenanceRun resources.
 */
export interface MaintenanceRunState {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the Maintenance Run.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * Extend current custom action timeout between the current database servers during waiting state, from 0 (zero) to 30 minutes.
     */
    currentCustomActionTimeoutInMins?: pulumi.Input<number | undefined>;
    /**
     * The name of the current infrastruture component that is getting patched.
     */
    currentPatchingComponent?: pulumi.Input<string | undefined>;
    /**
     * Determines the amount of time the system will wait before the start of each database server patching operation. Specify a number of minutes, from 15 to 120.
     */
    customActionTimeoutInMins?: pulumi.Input<number | undefined>;
    /**
     * The Autonomous AI Database Software Image [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
     */
    databaseSoftwareImageId?: pulumi.Input<string | undefined>;
    /**
     * Description of the maintenance run.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * The user-friendly name for the maintenance run.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * The estimated start time of the next infrastruture component patching operation.
     */
    estimatedComponentPatchingStartTime?: pulumi.Input<string | undefined>;
    /**
     * The estimated total time required in minutes for all patching operations (database server, storage server, and network switch patching).
     */
    estimatedPatchingTimes?: pulumi.Input<pulumi.Input<inputs.Database.MaintenanceRunEstimatedPatchingTime>[] | undefined>;
    /**
     * If true, enables the configuration of a custom action timeout (waiting period) between database servers patching operations.
     */
    isCustomActionTimeoutEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates if an automatic DST Time Zone file update is enabled for the Autonomous Container Database. If enabled along with Release Update, patching will be done in a Non-Rolling manner.
     */
    isDstFileUpdateEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * If `FALSE`, the maintenance run doesn't support granular maintenance.
     */
    isMaintenanceRunGranular?: pulumi.Input<boolean | undefined>;
    /**
     * Additional information about the current lifecycle state.
     */
    lifecycleDetails?: pulumi.Input<string | undefined>;
    /**
     * Maintenance sub-type.
     */
    maintenanceSubtype?: pulumi.Input<string | undefined>;
    /**
     * Maintenance type.
     */
    maintenanceType?: pulumi.Input<string | undefined>;
    /**
     * Contain the patch failure count.
     */
    patchFailureCount?: pulumi.Input<number | undefined>;
    /**
     * The unique identifier of the patch. The identifier string includes the patch type, the Oracle AI Database version, and the patch creation date (using the format YYMMDD). For example, the identifier `ru_patch_19.9.0.0_201030` is used for an RU patch for Oracle AI Database 19.9.0.0 that was released October 30, 2020.
     */
    patchId?: pulumi.Input<string | undefined>;
    /**
     * Patch type, either "QUARTERLY", "TIMEZONE" or "CUSTOM_DATABASE_SOFTWARE_IMAGE".
     */
    patchType?: pulumi.Input<string | undefined>;
    /**
     * The time when the patching operation ended.
     */
    patchingEndTime?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Cloud Exadata infrastructure node patching method, either "ROLLING" or "NONROLLING". Default value is ROLLING.
     *
     * *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information.
     */
    patchingMode?: pulumi.Input<string | undefined>;
    /**
     * The time when the patching operation started.
     */
    patchingStartTime?: pulumi.Input<string | undefined>;
    /**
     * The status of the patching operation.
     */
    patchingStatus?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the maintenance run for the Autonomous Data Guard association's peer container database.
     */
    peerMaintenanceRunId?: pulumi.Input<string | undefined>;
    /**
     * The list of OCIDs for the maintenance runs associated with their Autonomous Data Guard peer container databases.
     */
    peerMaintenanceRunIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the resource the maintenance run will refer to when trying to fetch target versions. This field is set during maintenance run creation based on infrastructure's maintenance run version preferences.  Currently this is only be supported for monthly maintenance runs created via scheduling plans.
     */
    referenceResourceIdForImageUpdates?: pulumi.Input<string | undefined>;
    /**
     * The current state of the maintenance run. For Autonomous AI Database Serverless instances, valid states are IN_PROGRESS, SUCCEEDED, and FAILED.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
     */
    systemTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The target software version for the database server patching operation.
     */
    targetDbServerVersion?: pulumi.Input<string | undefined>;
    /**
     * The ID of the target resource for which the maintenance run should be created.
     */
    targetResourceId?: pulumi.Input<string | undefined>;
    /**
     * The type of the target resource on which the maintenance run occurs.
     */
    targetResourceType?: pulumi.Input<string | undefined>;
    /**
     * The target Cell version that is to be patched to.
     */
    targetStorageServerVersion?: pulumi.Input<string | undefined>;
    /**
     * The date and time the maintenance run was completed.
     */
    timeEnded?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The date and time that update should be scheduled.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    timeScheduled?: pulumi.Input<string | undefined>;
    /**
     * The date and time the maintenance run starts.
     */
    timeStarted?: pulumi.Input<string | undefined>;
    /**
     * The total time taken by corresponding resource activity in minutes.
     */
    totalTimeTakenInMins?: pulumi.Input<number | undefined>;
    /**
     * A list of key-value pairs where the key will contain the window type and value contains all the windowDetails of that window type.
     */
    windowTypeDescriptions?: pulumi.Input<pulumi.Input<inputs.Database.MaintenanceRunWindowTypeDescription>[] | undefined>;
}
/**
 * The set of arguments for constructing a MaintenanceRun resource.
 */
export interface MaintenanceRunArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the Maintenance Run.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * The Autonomous AI Database Software Image [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
     */
    databaseSoftwareImageId?: pulumi.Input<string | undefined>;
    /**
     * Indicates if an automatic DST Time Zone file update is enabled for the Autonomous Container Database. If enabled along with Release Update, patching will be done in a Non-Rolling manner.
     */
    isDstFileUpdateEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * Patch type, either "QUARTERLY", "TIMEZONE" or "CUSTOM_DATABASE_SOFTWARE_IMAGE".
     */
    patchType: pulumi.Input<string>;
    /**
     * (Updatable) Cloud Exadata infrastructure node patching method, either "ROLLING" or "NONROLLING". Default value is ROLLING.
     *
     * *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information.
     */
    patchingMode?: pulumi.Input<string | undefined>;
    /**
     * The ID of the target resource for which the maintenance run should be created.
     */
    targetResourceId: pulumi.Input<string>;
    /**
     * (Updatable) The date and time that update should be scheduled.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    timeScheduled: pulumi.Input<string>;
}
//# sourceMappingURL=maintenanceRun.d.ts.map