/**
 * KubeBlocks Cloud API
 * KubeBlocks Cloud API is a RESTful API for managing KubeBlocks Cloud resources.  The API is organized around REST.  Our API has predictable resource-oriented URLs, accepts `JSON-encoded` request bodies, returns `JSON-encoded` responses, and uses standard HTTP response codes, authentication, and verbs.  We use standard HTTP authentication and provide API keys to identify who you are. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: support@apecloud.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { TaskFailurePolicy } from './task-failure-policy';
import type { TaskSchedule } from './task-schedule';
import type { TaskStatus } from './task-status';
import type { TaskStep } from './task-step';
/**
 *
 * @export
 * @interface Task
 */
export interface Task {
    /**
     * ID of the scaling task
     * @type {string}
     * @memberof Task
     */
    'taskId': string;
    /**
     * Name of the task
     * @type {string}
     * @memberof Task
     */
    'taskName': string;
    /**
     * Type of task operation
     * @type {string}
     * @memberof Task
     */
    'taskType': string;
    /**
     * Subtype of task operation
     * @type {string}
     * @memberof Task
     */
    'subTaskType'?: string;
    /**
     *
     * @type {TaskStatus}
     * @memberof Task
     */
    'status': TaskStatus;
    /**
     * Timestamp when the task was created
     * @type {string}
     * @memberof Task
     */
    'createdAt': string;
    /**
     * Timestamp when the task was last updated
     * @type {string}
     * @memberof Task
     */
    'updatedAt': string;
    /**
     * Timestamp when the task was deleted
     * @type {string}
     * @memberof Task
     */
    'deletedAt'?: string | null;
    /**
     * Timestamp when the task was deleted
     * @type {string}
     * @memberof Task
     */
    'startedAt'?: string | null;
    /**
     * Time when the task completed or failed
     * @type {string}
     * @memberof Task
     */
    'completionTime'?: string | null;
    /**
     * Detailed message about the task status
     * @type {string}
     * @memberof Task
     */
    'message'?: string | null;
    /**
     * Progress percentage of the task
     * @type {number}
     * @memberof Task
     */
    'progress'?: number;
    /**
     *
     * @type {Array<TaskStep>}
     * @memberof Task
     */
    'steps'?: Array<TaskStep>;
    /**
     * Degree of parallelism for the task
     * @type {number}
     * @memberof Task
     */
    'parallelism'?: number;
    /**
     *
     * @type {TaskFailurePolicy}
     * @memberof Task
     */
    'failurePolicy'?: TaskFailurePolicy;
    /**
     * Maximum number of retries for the task
     * @type {number}
     * @memberof Task
     */
    'retryLimit'?: number;
    /**
     * Timeout duration for the task in seconds
     * @type {number}
     * @memberof Task
     */
    'timeoutSecond'?: number;
    /**
     * The user created the task
     * @type {string}
     * @memberof Task
     */
    'operator'?: string | null;
    /**
     * Resource type of the task, e.g. \"cluster\", \"environment\", etc.
     * @type {string}
     * @memberof Task
     */
    'resourceType'?: string;
    /**
     * Resource ID of the task
     * @type {string}
     * @memberof Task
     */
    'resourceId'?: string;
    /**
     * Resource name of the task
     * @type {string}
     * @memberof Task
     */
    'resourceName'?: string;
    /**
     * Organization name of the task
     * @type {string}
     * @memberof Task
     */
    'orgName'?: string;
    /**
     *
     * @type {TaskSchedule}
     * @memberof Task
     */
    'scheduled'?: TaskSchedule;
}
//# sourceMappingURL=task.d.ts.map