Show / Hide Table of Contents

Class Compartment

A collection of related resources. Compartments are a fundamental component of Oracle Cloud Infrastructure for organizing and isolating your cloud resources. You use them to clearly separate resources for the purposes of measuring usage and billing, access (through the use of IAM Service policies), and isolation (separating the resources for one project or business unit from another). A common approach is to create a compartment for each major part of your organization. For more information, see Overview of IAM and also Setting Up Your Tenancy.
To place a resource in a compartment, simply specify the compartment ID in the "Create" request object when initially creating the resource. For example, to launch an instance into a particular compartment, specify that compartment's OCID in the LaunchInstance request. You can't move an existing resource from one compartment to another.
To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized, talk to an administrator. If you're an administrator who needs to write policies to give users access, see Get Started with Policies.
Warning: Oracle recommends that you avoid using any confidential information when you supply string values using the API.

Inheritance
object
Compartment
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Oci.IdentityService.Models
Assembly: OCI.DotNetSDK.Identity.dll
Syntax
public class Compartment

Properties

CompartmentId

Declaration
[Required(ErrorMessage = "CompartmentId is required.")]
[JsonProperty(PropertyName = "compartmentId")]
public string CompartmentId { get; set; }
Property Value
Type Description
string

The OCID of the parent compartment containing the compartment.

Remarks

Required

DefinedTags

Declaration
[JsonProperty(PropertyName = "definedTags")]
public Dictionary<string, Dictionary<string, object>> DefinedTags { get; set; }
Property Value
Type Description
Dictionary<string, Dictionary<string, object>>

Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations": {"CostCenter": "42"}}

Description

Declaration
[Required(ErrorMessage = "Description is required.")]
[JsonProperty(PropertyName = "description")]
public string Description { get; set; }
Property Value
Type Description
string

The description you assign to the compartment. Does not have to be unique, and it's changeable.

Remarks

Required

FreeformTags

Declaration
[JsonProperty(PropertyName = "freeformTags")]
public Dictionary<string, string> FreeformTags { get; set; }
Property Value
Type Description
Dictionary<string, 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. Example: {"Department": "Finance"}

Id

Declaration
[Required(ErrorMessage = "Id is required.")]
[JsonProperty(PropertyName = "id")]
public string Id { get; set; }
Property Value
Type Description
string

The OCID of the compartment.

Remarks

Required

InactiveStatus

Declaration
[JsonProperty(PropertyName = "inactiveStatus")]
public long? InactiveStatus { get; set; }
Property Value
Type Description
long?

The detailed status of INACTIVE lifecycleState.

IsAccessible

Declaration
[JsonProperty(PropertyName = "isAccessible")]
public bool? IsAccessible { get; set; }
Property Value
Type Description
bool?

Indicates whether or not the compartment is accessible for the user making the request. Returns true when the user has INSPECT permissions directly on a resource in the compartment or indirectly (permissions can be on a resource in a subcompartment).

LifecycleState

Declaration
[Required(ErrorMessage = "LifecycleState is required.")]
[JsonProperty(PropertyName = "lifecycleState")]
[JsonConverter(typeof(ResponseEnumConverter))]
public Compartment.LifecycleStateEnum? LifecycleState { get; set; }
Property Value
Type Description
Compartment.LifecycleStateEnum?

The compartment's current state. After creating a compartment, make sure its lifecycleState changes from CREATING to ACTIVE before using it.

Remarks

Required

Name

Declaration
[Required(ErrorMessage = "Name is required.")]
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
Property Value
Type Description
string

The name you assign to the compartment during creation. The name must be unique across all compartments in the parent. Avoid entering confidential information.

Remarks

Required

TimeCreated

Declaration
[Required(ErrorMessage = "TimeCreated is required.")]
[JsonProperty(PropertyName = "timeCreated")]
public DateTime? TimeCreated { get; set; }
Property Value
Type Description
DateTime?

Date and time the compartment was created, in the format defined by RFC3339.
Example: 2016-08-25T21:10:29.600Z

Remarks

Required

In this article
Back to top