/**
 * Search Service API
 * Search for resources in your cloud network.
 * OpenAPI spec version: 20180409
 *
 *
 * 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" ) ; /**
 * A resource that exists in the cloud network that you're querying.
 */ export interface ResourceSummary { /**
     * The resource type name.
     */ "resourceType" : string ; /**
     * The unique identifier for this particular resource, usually an OCID.
     */ "identifier" : string ; /**
     * The OCID of the compartment that contains this resource.
     */ "compartmentId" : string ; /**
     * The time that this resource was created.
     */ "timeCreated" ? : Date ; /**
     * The display name (or name) of this resource, if one exists.
     */ "displayName" ? : string ; /**
     * The availability domain where this resource exists, if applicable.
     */ "availabilityDomain" ? : string ; /**
     * The lifecycle state of this resource, if applicable.
     */ "lifecycleState" ? : string ; /**
     * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
     * For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
     * Example: `{\"Department\": \"Finance\"}`
     *
     */ "freeformTags" ? : { [ key ] : string ; } ; /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace.
     * For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
     * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
     *
     */ "definedTags" ? : { [ key ] : { [ key ] : any ; } ; } ; /**
     * System tags associated with this resource, if any. System tags are set by Oracle Cloud Infrastructure services. Each key is predefined and scoped to namespaces.
     * For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
     * Example: `{orcl-cloud: {free-tier-retain: true}}`
     *
     */ "systemTags" ? : { [ key ] : { [ key ] : any ; } ; } ; "searchContext" ? : model . SearchContext ; /**
     * Additional identifiers to use together in a \"Get\" request for a specified resource, only required for resource types
     * that explicitly cannot be retrieved by using a single identifier, such as the resource's OCID.
     *
     */ "identityContext" ? : { [ key ] : any ; } ; } export namespace ResourceSummary { export function getJsonObj ( obj ) { const jsonObj = { ... obj , ... { "searchContext" : obj . searchContext ? model . SearchContext . getJsonObj ( obj . searchContext ) : undefined } } ; return jsonObj ; } export function getDeserializedJsonObj ( obj ) { const jsonObj = { ... obj , ... { "searchContext" : obj . searchContext ? model . SearchContext . getDeserializedJsonObj ( obj . searchContext ) : undefined } } ; return jsonObj ; } }