/**
 * 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 { ActionData } from './action-data';
import { ActionHookRequest } from './action-hook-request';
import { ActionResource } from './action-resource';
import { ActionStatus } from './action-status';
import { ActionStatusReasonCode } from './action-status-reason-code';
import { ActionSummary } from './action-summary';
import { ActionTarget } from './action-target';
import { ActionTriggeredFrom } from './action-triggered-from';
import { ActionType } from './action-type';
import { EnvironmentRelation } from './environment-relation';
import { OrganizationRelation } from './organization-relation';
import { ProjectRelation } from './project-relation';
import { RelatedAction } from './related-action';
import { UserRelation } from './user-relation';
/**
 *
 * @export
 * @interface Action
 */
export interface Action {
    /**
     * The Id of the given action
     * @type {number}
     * @memberof Action
     */
    id: number;
    /**
     * The ID of the pipeline executed by this action
     * @type {number}
     * @memberof Action
     */
    pipeline_id: number | null;
    /**
     * The Id of the parent action that this action is a retry of
     * @type {number}
     * @memberof Action
     */
    retry_of: number | null;
    /**
     *
     * @type {ActionStatus}
     * @memberof Action
     */
    status: ActionStatus;
    /**
     * Human readable version of action status
     * @type {string}
     * @memberof Action
     */
    status_human_readable: string;
    /**
     *
     * @type {ActionStatusReasonCode}
     * @memberof Action
     */
    status_reason_code: ActionStatusReasonCode;
    /**
     * Human readable version of the status reason code
     * @type {string}
     * @memberof Action
     */
    status_reason_human_readable: string;
    /**
     *
     * @type {ActionType}
     * @memberof Action
     */
    type: ActionType;
    /**
     * Human readable version of the action type
     * @type {string}
     * @memberof Action
     */
    type_human_readable: string;
    /**
     * The permalink URL to the action details on Devopness web app
     * @type {string}
     * @memberof Action
     */
    url_web_permalink: string;
    /**
     *
     * @type {ActionData}
     * @memberof Action
     */
    action_data: ActionData | null;
    /**
     *
     * @type {ActionTriggeredFrom}
     * @memberof Action
     */
    triggered_from: ActionTriggeredFrom;
    /**
     *
     * @type {RelatedAction}
     * @memberof Action
     */
    parent: RelatedAction | null;
    /**
     * List of related actions
     * @type {Array<RelatedAction>}
     * @memberof Action
     */
    children: Array<RelatedAction>;
    /**
     *
     * @type {UserRelation}
     * @memberof Action
     */
    triggered_by_user?: UserRelation | null;
    /**
     *
     * @type {ActionResource}
     * @memberof Action
     */
    resource: ActionResource;
    /**
     *
     * @type {ActionSummary}
     * @memberof Action
     */
    summary: ActionSummary;
    /**
     *
     * @type {EnvironmentRelation}
     * @memberof Action
     */
    environment: EnvironmentRelation | null;
    /**
     *
     * @type {ProjectRelation}
     * @memberof Action
     */
    project: ProjectRelation | null;
    /**
     *
     * @type {OrganizationRelation}
     * @memberof Action
     */
    organization: OrganizationRelation | null;
    /**
     * List of actions dispatched to cloud resource targets
     * @type {Array<ActionTarget>}
     * @memberof Action
     */
    targets?: Array<ActionTarget>;
    /**
     *
     * @type {ActionHookRequest}
     * @memberof Action
     */
    hook_requests?: ActionHookRequest;
    /**
     * The date and time when the action started execution (i.e., left the `pending/queued` status)
     * @type {string}
     * @memberof Action
     */
    started_at: string | null;
    /**
     * The date and time when the action has finished execution
     * @type {string}
     * @memberof Action
     */
    completed_at: string | null;
    /**
     * The date and time when the record was created
     * @type {string}
     * @memberof Action
     */
    created_at: string;
    /**
     * The date and time when the record was last updated
     * @type {string}
     * @memberof Action
     */
    updated_at: string;
}
