/**
 * Service Manager Proxy API
 * Use the Service Manager Proxy API to obtain information about SaaS environments provisioned by Service Manager.
You can get information such as service types and service environment URLs.

 * OpenAPI spec version: 20210914
 *
 *
 * 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" ) ; /**
 * Detailed information about a service environment.
 * <p>
 **Note:** Service URL formats may vary from the provided example.
 *
 */ export interface ServiceEnvironment { /**
     * Unqiue identifier for the entitlement related to the environment.
     * <p>
     **Note:** Not an [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
     *
     */ "id" : string ; /**
     * The unique subscription ID associated with the service environment ID.
     * <p>
     **Note:** Not an [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
     *
     */ "subscriptionId" : string ; /**
     * Status of the entitlement registration for the service.
     */ "status" : model . ServiceEntitlementRegistrationStatus ; /**
     * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) for the compartment.
     */ "compartmentId" : string ; "serviceDefinition" : model . ServiceDefinition ; /**
     * The URL for the console.
     */ "consoleUrl" ? : string ; /**
     * Array of service environment end points.
     */ "serviceEnvironmentEndpoints" ? : Array < model . ServiceEnvironmentEndPointOverview > ; } export namespace ServiceEnvironment { export function getJsonObj ( obj ) { const jsonObj = { ... obj , ... { "serviceDefinition" : obj . serviceDefinition ? model . ServiceDefinition . getJsonObj ( obj . serviceDefinition ) : undefined , "serviceEnvironmentEndpoints" : obj . serviceEnvironmentEndpoints ? obj . serviceEnvironmentEndpoints . map ( item => { return model . ServiceEnvironmentEndPointOverview . getJsonObj ( item ) ; } ) : undefined } } ; return jsonObj ; } export function getDeserializedJsonObj ( obj ) { const jsonObj = { ... obj , ... { "serviceDefinition" : obj . serviceDefinition ? model . ServiceDefinition . getDeserializedJsonObj ( obj . serviceDefinition ) : undefined , "serviceEnvironmentEndpoints" : obj . serviceEnvironmentEndpoints ? obj . serviceEnvironmentEndpoints . map ( item => { return model . ServiceEnvironmentEndPointOverview . getDeserializedJsonObj ( item ) ; } ) : undefined } } ; return jsonObj ; } }