/**
 * devopness API
 * Devopness API - Painless essential DevOps to everyone
 *
 * The version of the OpenAPI document: latest
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { ActionStatus } from './action-status';
import { ActionStatusReasonCode } from './action-status-reason-code';
import { ActionStep } from './action-step';
import { ActionTargetData } from './action-target-data';
/**
 * An object representing the action dispatched to a specific cloud resource target
 * @export
 * @interface ActionTarget
 */
export interface ActionTarget {
    /**
     * The ID of the action target
     * @type {number}
     * @memberof ActionTarget
     */
    id: number;
    /**
     * The type of the cloud resource on which the action must be performed
     * @type {string}
     * @memberof ActionTarget
     */
    resource_type: string;
    /**
     * Human readable version of the resource type
     * @type {string}
     * @memberof ActionTarget
     */
    resource_type_human_readable?: string;
    /**
     * The Id of the cloud resource on which the action must be performed
     * @type {number}
     * @memberof ActionTarget
     */
    resource_id: number;
    /**
     *
     * @type {ActionStatus}
     * @memberof ActionTarget
     */
    status: ActionStatus;
    /**
     * Human readable version of the action status
     * @type {string}
     * @memberof ActionTarget
     */
    status_human_readable?: string;
    /**
     *
     * @type {ActionStatusReasonCode}
     * @memberof ActionTarget
     */
    status_reason_code: ActionStatusReasonCode;
    /**
     * Human readable version of the status reason code
     * @type {string}
     * @memberof ActionTarget
     */
    status_reason_human_readable?: string;
    /**
     * The total number of steps to complete the action
     * @type {number}
     * @memberof ActionTarget
     */
    total_steps: number | null;
    /**
     *
     * @type {ActionStep}
     * @memberof ActionTarget
     */
    current_step: ActionStep | null;
    /**
     * The list of action steps
     * @type {Array<ActionStep>}
     * @memberof ActionTarget
     */
    steps?: Array<ActionStep>;
    /**
     *
     * @type {ActionTargetData}
     * @memberof ActionTarget
     */
    resource_data: ActionTargetData | null;
    /**
     * The date and time when the action started execution (i.e., left the `pending/queued` status)
     * @type {string}
     * @memberof ActionTarget
     */
    started_at?: string | null;
    /**
     * The date and time when the action has finished execution
     * @type {string}
     * @memberof ActionTarget
     */
    completed_at?: string | null;
    /**
     * The date and time when the record was created
     * @type {string}
     * @memberof ActionTarget
     */
    created_at: string;
    /**
     * The date and time when the record was last updated
     * @type {string}
     * @memberof ActionTarget
     */
    updated_at: string;
}
