/**
 * OS Management API
 * API for the OS Management service. Use these API operations for working
with Managed instances and Managed instance groups.

 * OpenAPI spec version: 20190801
 *
 *
 * 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" ) ; /**
 * Details about the erratum.
 */ export interface Erratum { /**
     * Advisory name
     */ "name" : string ; /**
     * OCID for the Erratum.
     */ "id" : string ; /**
     * OCID for the Compartment.
     */ "compartmentId" : string ; /**
     * Summary description of the erratum.
     */ "synopsis" ? : string ; /**
     * date the erratum was issued
     */ "issued" ? : string ; /**
     * Details describing the erratum.
     */ "description" ? : string ; /**
     * most recent date the erratum was updated
     */ "updated" ? : string ; /**
     * Type of the erratum.
     */ "advisoryType" ? : model . UpdateTypes ; /**
     * Information specifying from where the erratum was release.
     */ "from" ? : string ; /**
     * Information describing how the erratum can be resolved.
     */ "solution" ? : string ; /**
     * Information describing how to find more information about the erratum.
     */ "references" ? : string ; /**
     * list of managed instances  to this erratum
     */ "affectedInstances" ? : Array < model . Id > ; /**
     * list of CVEs applicable to this erratum
     */ "relatedCves" ? : Array < string > ; /**
     * list of Software Sources
     */ "softwareSources" ? : Array < model . Id > ; /**
     * list of Packages affected by this erratum
     */ "packages" ? : Array < model . SoftwarePackageSummary > ; } export namespace Erratum { export function getJsonObj ( obj ) { const jsonObj = { ... obj , ... { "affectedInstances" : obj . affectedInstances ? obj . affectedInstances . map ( item => { return model . Id . getJsonObj ( item ) ; } ) : undefined , "softwareSources" : obj . softwareSources ? obj . softwareSources . map ( item => { return model . Id . getJsonObj ( item ) ; } ) : undefined , "packages" : obj . packages ? obj . packages . map ( item => { return model . SoftwarePackageSummary . getJsonObj ( item ) ; } ) : undefined } } ; return jsonObj ; } export function getDeserializedJsonObj ( obj ) { const jsonObj = { ... obj , ... { "affectedInstances" : obj . affectedInstances ? obj . affectedInstances . map ( item => { return model . Id . getDeserializedJsonObj ( item ) ; } ) : undefined , "softwareSources" : obj . softwareSources ? obj . softwareSources . map ( item => { return model . Id . getDeserializedJsonObj ( item ) ; } ) : undefined , "packages" : obj . packages ? obj . packages . map ( item => { return model . SoftwarePackageSummary . getDeserializedJsonObj ( item ) ; } ) : undefined } } ; return jsonObj ; } }