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.
Inherited Members
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 |
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.
|
Remarks
Required