/**
 * Big Data Service API
 * REST API for Oracle Big Data Service. Use this API to build, deploy, and manage fully elastic Big Data Service clusters. Build on Hadoop, Spark and Data Science distributions, which can be fully integrated with existing enterprise data in Oracle Database and Oracle applications.

 * OpenAPI spec version: 20190531
 * Contact: rahul.ra.arora@oracle.com
 *
 * NOTE: This class is auto generated by OracleSDKGenerator.
 * Do not edit the class manually.
 *
 * Copyright (c) 2020, 2022, Oracle and/or its affiliates.  All rights reserved.
 * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
 */ import * as model from "../model" ; import common = require ( "oci-common" ) ; /**
 * Description of the work request status.
 */ export interface WorkRequest { /**
     * The ID of the work request.
     */ "id" : string ; /**
     * The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request affects multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.
     *
     */ "compartmentId" : string ; /**
     * The type of this work request.
     */ "operationType" : model . OperationTypes ; /**
     * The status of this work request.
     */ "status" : model . OperationStatus ; /**
     * The resources affected by this work request.
     */ "resources" : Array < model . WorkRequestResource > ; /**
     * Percentage of this work request completed. Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues.
     */ "percentComplete" : number ; /**
     * The date and time the request was created, shown as an RFC 3339 formatted datetime string.
     *
     */ "timeAccepted" : Date ; /**
     * The time the request was started, shown as an RFC 3339 formatted datetime string.
     *
     */ "timeStarted" ? : Date ; /**
     * The time the object was finished, shown as an RFC 3339 formatted datetime string.
     *
     */ "timeFinished" ? : Date ; } export namespace WorkRequest { export function getJsonObj ( obj ) { const jsonObj = { ... obj , ... { "resources" : obj . resources ? obj . resources . map ( item => { return model . WorkRequestResource . getJsonObj ( item ) ; } ) : undefined } } ; return jsonObj ; } export function getDeserializedJsonObj ( obj ) { const jsonObj = { ... obj , ... { "resources" : obj . resources ? obj . resources . map ( item => { return model . WorkRequestResource . getDeserializedJsonObj ( item ) ; } ) : undefined } } ; return jsonObj ; } }