import * as pulumi from "@pulumi/pulumi";
/**
 * This data source provides details about a specific Instance Maintenance Event resource in Oracle Cloud Infrastructure Core service.
 *
 * Gets the maintenance event for the given instance.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testInstanceMaintenanceEvent = oci.core.getInstanceMaintenanceEvent({
 *     instanceMaintenanceEventId: testInstanceMaintenanceEventOciCoreInstanceMaintenanceEvent.id,
 * });
 * ```
 */
export declare function getInstanceMaintenanceEvent(args: GetInstanceMaintenanceEventArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceMaintenanceEventResult>;
/**
 * A collection of arguments for invoking getInstanceMaintenanceEvent.
 */
export interface GetInstanceMaintenanceEventArgs {
    /**
     * The OCID of the instance maintenance event.
     */
    instanceMaintenanceEventId: string;
}
/**
 * A collection of values returned by getInstanceMaintenanceEvent.
 */
export interface GetInstanceMaintenanceEventResult {
    /**
     * Additional details of the maintenance in the form of json.
     */
    readonly additionalDetails: {
        [key: string]: string;
    };
    readonly alternativeResolutionAction: string;
    /**
     * These are alternative actions to the requested instanceAction that can be taken to resolve the Maintenance.
     */
    readonly alternativeResolutionActions: string[];
    /**
     * For Instances that have local storage, this field is set to true when local storage will be deleted as a result of the Maintenance.
     */
    readonly canDeleteLocalStorage: boolean;
    /**
     * Indicates if this MaintenanceEvent is capable of being rescheduled up to the timeHardDueDate.
     */
    readonly canReschedule: boolean;
    /**
     * The OCID of the compartment that contains the instance.
     */
    readonly compartmentId: string;
    /**
     * A unique identifier that will group Instances that have a relationship with one another and must be scheduled together for the Maintenance to proceed. Any Instances that have a relationship with one another from a Maintenance perspective will have a matching correlationToken.
     */
    readonly correlationToken: string;
    /**
     * The creator of the maintenance event.
     */
    readonly createdBy: string;
    /**
     * Defined 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).  Example: `{"Operations.CostCenter": "42"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * It is the descriptive information about the maintenance taking place on the customer instance.
     */
    readonly description: string;
    /**
     * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
     */
    readonly displayName: string;
    /**
     * This is the estimated duration of the Maintenance, once the Maintenance has entered the STARTED state.
     */
    readonly estimatedDuration: string;
    /**
     * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the maintenance event.
     */
    readonly id: string;
    /**
     * This is the action that will be performed on the Instance by Oracle Cloud Infrastructure when the Maintenance begins.
     */
    readonly instanceAction: string;
    /**
     * The OCID of the instance.
     */
    readonly instanceId: string;
    readonly instanceMaintenanceEventId: string;
    /**
     * This indicates the priority and allowed actions for this Maintenance. Higher priority forms of Maintenance have tighter restrictions and may not be rescheduled, while lower priority/severity Maintenance can be rescheduled, deferred, or even cancelled. Please see the [Instance Maintenance](https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/placeholder.htm) documentation for details.
     */
    readonly maintenanceCategory: string;
    /**
     * This is the reason that Maintenance is being performed. See [Instance Maintenance](https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/placeholder.htm) documentation for details.
     */
    readonly maintenanceReason: string;
    /**
     * The duration of the time window Maintenance is scheduled to begin within.
     */
    readonly startWindowDuration: string;
    /**
     * The current state of the maintenance event.
     */
    readonly state: string;
    /**
     * The date and time the maintenance event was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2016-08-25T21:10:29.600Z`
     */
    readonly timeCreated: string;
    /**
     * The time at which the Maintenance actually finished.
     */
    readonly timeFinished: string;
    /**
     * It is the scheduled hard due date and time of the maintenance event. The maintenance event will happen at this time and the due date will not be extended.
     */
    readonly timeHardDueDate: string;
    /**
     * The time at which the Maintenance actually started.
     */
    readonly timeStarted: string;
    /**
     * The beginning of the time window when Maintenance is scheduled to begin. The Maintenance will not begin before this time.
     */
    readonly timeWindowStart: string;
}
/**
 * This data source provides details about a specific Instance Maintenance Event resource in Oracle Cloud Infrastructure Core service.
 *
 * Gets the maintenance event for the given instance.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testInstanceMaintenanceEvent = oci.core.getInstanceMaintenanceEvent({
 *     instanceMaintenanceEventId: testInstanceMaintenanceEventOciCoreInstanceMaintenanceEvent.id,
 * });
 * ```
 */
export declare function getInstanceMaintenanceEventOutput(args: GetInstanceMaintenanceEventOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetInstanceMaintenanceEventResult>;
/**
 * A collection of arguments for invoking getInstanceMaintenanceEvent.
 */
export interface GetInstanceMaintenanceEventOutputArgs {
    /**
     * The OCID of the instance maintenance event.
     */
    instanceMaintenanceEventId: pulumi.Input<string>;
}
//# sourceMappingURL=getInstanceMaintenanceEvent.d.ts.map