/**
* Service Mesh API
* Use the Service Mesh API to manage mesh, virtual service, access policy and other mesh related items.
* OpenAPI spec version: 20220615
*
*
* NOTE: This class is auto generated by OracleSDKGenerator.
* Do not edit the class manually.
*
* Copyright (c) 2020, 2025, 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";
/**
* The mesh resource is the top-level container that represents the logical boundary of application traffic between the services and deployments that reside within it. A mesh also provides a unit of access control.
*
*/
export interface Mesh {
/**
* Unique identifier that is immutable on creation.
*/
"id": string;
/**
* A user-friendly name. The name does not have to be unique and can be changed after creation.
* Avoid entering confidential information.
*
Example: {@code My new resource}
*
*/
"displayName": string;
/**
* Description of the resource. It can be changed after creation.
* Avoid entering confidential information.
*
Example: {@code This is my new resource}
*
*/
"description"?: string;
/**
* A list of certificate authority resources to use for creating leaf certificates for mTLS authentication.
* Currently we only support one certificate authority, but this may expand in future releases. Request with
* more than one certificate authority will be rejected.
*
*/
"certificateAuthorities"?: Array;
"mtls"?: model.MeshMutualTransportLayerSecurity;
/**
* The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
*
*/
"compartmentId": string;
/**
* The time when this resource was created in an RFC3339 formatted datetime string.
*/
"timeCreated": Date;
/**
* The time when this resource was updated in an RFC3339 formatted datetime string.
*/
"timeUpdated": Date;
/**
* The current state of the Resource.
*/
"lifecycleState": Mesh.LifecycleState;
/**
* A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
*/
"lifecycleDetails"?: string;
/**
* Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
* Example: {@code {\"bar-key\": \"value\"}}
*
*/
"freeformTags"?: {
[key: string]: string;
};
/**
* Defined tags for this resource. Each key is predefined and scoped to a namespace.
* Example: {@code {\"foo-namespace\": {\"bar-key\": \"value\"}}}
*
*/
"definedTags"?: {
[key: string]: {
[key: string]: any;
};
};
/**
* Usage of system tag keys. These predefined keys are scoped to namespaces.
* Example: {@code {\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}}
*
*/
"systemTags"?: {
[key: string]: {
[key: string]: any;
};
};
}
export declare namespace Mesh {
enum LifecycleState {
Creating = "CREATING",
Updating = "UPDATING",
Active = "ACTIVE",
Deleting = "DELETING",
Deleted = "DELETED",
Failed = "FAILED",
/**
* This value is used if a service returns a value for this enum that is not recognized by this
* version of the SDK.
*/
UnknownValue = "UNKNOWN_VALUE"
}
function getJsonObj(obj: Mesh): object;
function getDeserializedJsonObj(obj: Mesh): object;
}