Class InstanceConfigurationLaunchInstanceDetails
  Instance launch details for creating an instance from an instance configuration. Use the sourceDetails
parameter to specify whether a boot volume or an image should be used to launch a new instance.
See {@link LaunchInstanceDetails} for more information.
 
  
  
    Inheritance
    
    InstanceConfigurationLaunchInstanceDetails
   
  
  
  Assembly: OCI.DotNetSDK.Core.dll
  Syntax
  
    public class InstanceConfigurationLaunchInstanceDetails
   
  Properties
  
  AgentConfig
  
  
  Declaration
  
    [JsonProperty(PropertyName = "agentConfig")]
public InstanceConfigurationLaunchInstanceAgentConfigDetails AgentConfig { get; set; }
   
  Property Value
  
  
  AvailabilityConfig
  
  
  Declaration
  
    [JsonProperty(PropertyName = "availabilityConfig")]
public InstanceConfigurationAvailabilityConfig AvailabilityConfig { get; set; }
   
  Property Value
  
  
  AvailabilityDomain
  
  
  Declaration
  
    [JsonProperty(PropertyName = "availabilityDomain")]
public string AvailabilityDomain { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | string | 
        The availability domain of the instance.
 
Example: Uocm:PHX-AD-1 
 | 
      
    
  
  
  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. 
 | 
      
    
  
  
  ClusterPlacementGroupId
  
  
  Declaration
  
    [JsonProperty(PropertyName = "clusterPlacementGroupId")]
public string ClusterPlacementGroupId { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | string | 
        The OCID of the cluster placement group of the instance. 
 | 
      
    
  
  
  CompartmentId
  
  
  Declaration
  
    [JsonProperty(PropertyName = "compartmentId")]
public string CompartmentId { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | string | 
        The OCID of the compartment containing the instance.
Instances created from instance configurations are placed in the same compartment
as the instance that was used to create the instance configuration. 
 | 
      
    
  
  
  ComputeClusterId
  
  
  Declaration
  
    [JsonProperty(PropertyName = "computeClusterId")]
public string ComputeClusterId { get; set; }
   
  Property Value
  
  
  CreateVnicDetails
  
  
  Declaration
  
    [JsonProperty(PropertyName = "createVnicDetails")]
public InstanceConfigurationCreateVnicDetails CreateVnicDetails { get; set; }
   
  Property Value
  
  
  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.
 
Dedicated VM hosts can be used when launching individual instances from an instance configuration. They
cannot be used to launch instance pools. 
 | 
      
    
  
  
  
  
  
  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 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.
 
If you do not specify the fault domain, the system selects one for you.
  
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 InstanceConfigurationInstanceOptions InstanceOptions { get; set; }
   
  Property Value
  
  
  IpxeScript
  
  
  Declaration
  
    [JsonProperty(PropertyName = "ipxeScript")]
public string IpxeScript { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | string | 
        This is an advanced option.
 
When a bare metal or virtual machine
instance boots, the iPXE firmware that runs on the instance is
configured to run an iPXE script to continue the boot process.
 
If you want more control over the boot process, you can provide
your own custom iPXE script that will run when the instance boots;
however, you should be aware that the same iPXE script will run
every time an instance boots; not only after the initial
LaunchInstance call.
 
The default iPXE script connects to the instance's local boot
volume over iSCSI and performs a network boot. If you use a custom iPXE
script and want to network-boot from the instance's local boot volume
over iSCSI the same way as the default iPXE script, you should use the
following iSCSI IP address: 169.254.0.2, and boot volume IQN:
iqn.2015-02.oracle.boot.
 
For more information about the Bring Your Own Image feature of
Oracle Cloud Infrastructure, see
Bring Your Own Image.
 
For more information about iPXE, see http://ipxe.org. 
 | 
      
    
  
  
  IsAIEnterpriseEnabled
  
  
  Declaration
  
    [JsonProperty(PropertyName = "isAIEnterpriseEnabled")]
public bool? IsAIEnterpriseEnabled { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | bool? | 
        Whether to enable AI enterprise on the instance. 
 | 
      
    
  
  
  IsPvEncryptionInTransitEnabled
  
  
  Declaration
  
    [JsonProperty(PropertyName = "isPvEncryptionInTransitEnabled")]
public bool? IsPvEncryptionInTransitEnabled { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | bool? | 
        Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. 
 | 
      
    
  
  
  LaunchMode
  
  
  Declaration
  
    [JsonProperty(PropertyName = "launchMode")]
[JsonConverter(typeof(ResponseEnumConverter))]
public InstanceConfigurationLaunchInstanceDetails.LaunchModeEnum? LaunchMode { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | InstanceConfigurationLaunchInstanceDetails.LaunchModeEnum? | 
        Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are: 
NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images. 
EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller. 
PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers. 
CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter. 
 
 | 
      
    
  
  
  LaunchOptions
  
  
  Declaration
  
    [JsonProperty(PropertyName = "launchOptions")]
public InstanceConfigurationLaunchOptions LaunchOptions { get; set; }
   
  Property Value
  
  
  LicensingConfigs
  
  
  Declaration
  
    [JsonProperty(PropertyName = "licensingConfigs")]
public List<LaunchInstanceLicensingConfig> LicensingConfigs { get; set; }
   
  Property Value
  
  
  
  
  
  Declaration
  
    [JsonProperty(PropertyName = "metadata")]
public Dictionary<string, string> Metadata { get; set; }
   
  Property Value
  
  
  PlacementConstraintDetails
  
  
  Declaration
  
    [JsonProperty(PropertyName = "placementConstraintDetails")]
public InstanceConfigurationPlacementConstraintDetails PlacementConstraintDetails { get; set; }
   
  Property Value
  
  
  
  
  
  Declaration
  
    [JsonProperty(PropertyName = "platformConfig")]
public InstanceConfigurationLaunchInstancePlatformConfig PlatformConfig { get; set; }
   
  Property Value
  
  
  PreemptibleInstanceConfig
  
  
  Declaration
  
    [JsonProperty(PropertyName = "preemptibleInstanceConfig")]
public PreemptibleInstanceConfigDetails PreemptibleInstanceConfig { get; set; }
   
  Property Value
  
  
  PreferredMaintenanceAction
  
  
  Declaration
  
    [JsonProperty(PropertyName = "preferredMaintenanceAction")]
[JsonConverter(typeof(ResponseEnumConverter))]
public InstanceConfigurationLaunchInstanceDetails.PreferredMaintenanceActionEnum? PreferredMaintenanceAction { 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 an instance. The shape determines the number of CPUs, amount of memory,
and other resources allocated to the instance.
 
You can enumerate all available shapes by calling {@link #listShapes(ListShapesRequest) listShapes}. 
 | 
      
    
  
  
  ShapeConfig
  
  
  Declaration
  
    [JsonProperty(PropertyName = "shapeConfig")]
public InstanceConfigurationLaunchInstanceShapeConfigDetails ShapeConfig { get; set; }
   
  Property Value
  
  
  SourceDetails
  
  
  Declaration
  
    [JsonProperty(PropertyName = "sourceDetails")]
public InstanceConfigurationInstanceSourceDetails SourceDetails { get; set; }
   
  Property Value