Class UpdateInstanceDetails
  
  
  
    Inheritance
    
    UpdateInstanceDetails
   
  
  
  Assembly: OCI.DotNetSDK.Core.dll
  Syntax
  
    public class UpdateInstanceDetails
   
  Properties
  
  AgentConfig
  
  
  Declaration
  
    [JsonProperty(PropertyName = "agentConfig")]
public UpdateInstanceAgentConfigDetails AgentConfig { get; set; }
   
  Property Value
  
  
  AvailabilityConfig
  
  
  Declaration
  
    [JsonProperty(PropertyName = "availabilityConfig")]
public UpdateInstanceAvailabilityConfigDetails AvailabilityConfig { get; set; }
   
  Property Value
  
  
  CapacityReservationId
  
  
  Declaration
  
    [JsonProperty(PropertyName = "capacityReservationId")]
public string CapacityReservationId { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | string | 
        The OCID of the compute capacity reservation this instance is launched under.
You can remove the instance from a reservation by specifying an empty string as input for this field.
For more information, see Capacity Reservations. 
 | 
      
    
  
  
  DedicatedVmHostId
  
  
  Declaration
  
    [JsonProperty(PropertyName = "dedicatedVmHostId")]
public string DedicatedVmHostId { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | string | 
        The OCID of the dedicated virtual machine host to place the instance on.
Supported only if this VM instance was already placed on a dedicated virtual machine host 
- that is, you can't move an instance from on-demand capacity to dedicated capacity,
nor can you move an instance from dedicated capacity to on-demand capacity.
 
 
 | 
      
    
  
  
  
  
  
  Declaration
  
    [JsonProperty(PropertyName = "definedTags")]
public Dictionary<string, Dictionary<string, object>> DefinedTags { get; set; }
   
  Property Value
  
  
  DisplayName
  
  
  Declaration
  
    [JsonProperty(PropertyName = "displayName")]
public string DisplayName { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | string | 
        A user-friendly name. Does not have to be unique, and it's changeable.
Avoid entering confidential information. 
 | 
      
    
  
  
  
  
  
  Declaration
  
    [JsonProperty(PropertyName = "extendedMetadata")]
public Dictionary<string, object> ExtendedMetadata { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | Dictionary<string, object> | 
        Additional metadata key/value pairs that you provide. They serve the same purpose and
functionality as fields in the metadata object.
 
They are distinguished from metadata fields in that these can be nested JSON objects
(whereas metadata fields are string/string maps only).
 
The "user_data" field and the "ssh_authorized_keys" field cannot be changed after an instance
has launched. Any request that updates, removes, or adds either of these fields will be
rejected. You must provide the same values for "user_data" and "ssh_authorized_keys" that
already exist on the instance.
 
The combined size of the metadata and extendedMetadata objects can be a maximum of
32,000 bytes. 
 | 
      
    
  
  
  FaultDomain
  
  
  Declaration
  
    [JsonProperty(PropertyName = "faultDomain")]
public string FaultDomain { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | string | 
        A fault domain is a grouping of hardware and infrastructure within an availability domain.
Each availability domain contains three fault domains. Fault domains let you distribute your
instances so that they are not on the same physical hardware within a single availability domain.
A hardware failure or Compute hardware maintenance that affects one fault domain does not affect
instances in other fault domains.
 
To get a list of fault domains, use the
{@link #listFaultDomains(ListFaultDomainsRequest) listFaultDomains} operation in the
Identity and Access Management Service API.
 
Example: FAULT-DOMAIN-1 
 | 
      
    
  
  
  
  
  
  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"} 
 | 
      
    
  
  
  InstanceOptions
  
  
  Declaration
  
    [JsonProperty(PropertyName = "instanceOptions")]
public InstanceOptions InstanceOptions { get; set; }
   
  Property Value
  
  
  IsAIEnterpriseEnabled
  
  
  Declaration
  
    [JsonProperty(PropertyName = "isAIEnterpriseEnabled")]
public bool? IsAIEnterpriseEnabled { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | bool? | 
        Whether to enable AI enterprise on the instance. 
 | 
      
    
  
  
  LaunchOptions
  
  
  Declaration
  
    [JsonProperty(PropertyName = "launchOptions")]
public UpdateLaunchOptions LaunchOptions { get; set; }
   
  Property Value
  
  
  LicensingConfigs
  
  
  Declaration
  
    [JsonProperty(PropertyName = "licensingConfigs")]
public List<UpdateInstanceLicensingConfig> LicensingConfigs { get; set; }
   
  Property Value
  
  
  
  
  
  Declaration
  
    [JsonProperty(PropertyName = "metadata")]
public Dictionary<string, string> Metadata { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | Dictionary<string, string> | 
        Custom metadata key/value string pairs that you provide. Any set of key/value pairs
provided here will completely replace the current set of key/value pairs in the metadata
field on the instance.
 
The "user_data" field and the "ssh_authorized_keys" field cannot be changed after an instance
has launched. Any request that updates, removes, or adds either of these fields will be
rejected. You must provide the same values for "user_data" and "ssh_authorized_keys" that
already exist on the instance.
 
The combined size of the metadata and extendedMetadata objects can be a maximum of
32,000 bytes. 
 | 
      
    
  
  
  
  
  
  Declaration
  
    [JsonProperty(PropertyName = "platformConfig")]
public UpdateInstancePlatformConfig PlatformConfig { get; set; }
   
  Property Value
  
  
  SecurityAttributes
  
  
  Declaration
  
    [JsonProperty(PropertyName = "securityAttributes")]
public Dictionary<string, Dictionary<string, object>> SecurityAttributes { get; set; }
   
  Property Value
  
  
  Shape
  
  
  Declaration
  
    [JsonProperty(PropertyName = "shape")]
public string Shape { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | string | 
        The shape of the instance. The shape determines the number of CPUs and the amount of memory
allocated to the instance. For more information about how to change shapes, and a list of
shapes that are supported, see
Editing an Instance.
 
For details about the CPUs, memory, and other properties of each shape, see
Compute Shapes.
 
The new shape must be compatible with the image that was used to launch the instance. You
can enumerate all available shapes and determine image compatibility by calling
{@link #listShapes(ListShapesRequest) listShapes}.
 
To determine whether capacity is available for a specific shape before you change the shape of an instance,
use the {@link #createComputeCapacityReport(CreateComputeCapacityReportRequest) createComputeCapacityReport}
operation.
 
If the instance is running when you change the shape, the instance is rebooted.
 
Example: VM.Standard2.1 
 | 
      
    
  
  
  ShapeConfig
  
  
  Declaration
  
    [JsonProperty(PropertyName = "shapeConfig")]
public UpdateInstanceShapeConfigDetails ShapeConfig { get; set; }
   
  Property Value
  
  
  SourceDetails
  
  
  Declaration
  
    [JsonProperty(PropertyName = "sourceDetails")]
public UpdateInstanceSourceDetails SourceDetails { get; set; }
   
  Property Value
  
  
  TimeMaintenanceRebootDue
  
  
  Declaration
  
    [JsonProperty(PropertyName = "timeMaintenanceRebootDue")]
public DateTime? TimeMaintenanceRebootDue { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | DateTime? | 
        For a VM instance, resets the scheduled time that the instance will be reboot migrated for
infrastructure maintenance, in the format defined by RFC3339.
If the instance hasn't been rebooted after this date, Oracle reboots the instance within 24 hours of the time
and date that maintenance is due.
 
To get the maximum possible date that a maintenance reboot can be extended,
use {@link #getInstanceMaintenanceReboot(GetInstanceMaintenanceRebootRequest) getInstanceMaintenanceReboot}.
 
Regardless of how the instance is stopped, this flag is reset to empty as soon as the instance reaches the
Stopped state.
 
To reboot migrate a bare metal instance, use the {@link #instanceAction(InstanceActionRequest) instanceAction} operation.
 
For more information, see
Infrastructure Maintenance.
 
Example: 2018-05-25T21:10:29.600Z 
 | 
      
    
  
  
  UpdateOperationConstraint
  
  
  Declaration
  
    [JsonProperty(PropertyName = "updateOperationConstraint")]
[JsonConverter(typeof(StringEnumConverter))]
public UpdateInstanceDetails.UpdateOperationConstraintEnum? UpdateOperationConstraint { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | UpdateInstanceDetails.UpdateOperationConstraintEnum? | 
        The parameter acts as a fail-safe to prevent unwanted downtime when updating a running instance.
The default is ALLOW_DOWNTIME. 
ALLOW_DOWNTIME - Compute might reboot the instance while updating the instance if a reboot is required. 
AVOID_DOWNTIME - If the instance is in running state, Compute tries to update the instance without rebooting
it. If the instance requires a reboot to be updated, an error is returned and the instance
is not updated. If the instance is stopped, it is updated and remains in the stopped state. 
 
 |