Skip to content

Core Compute: Instance

Manage OCI Compute and core networking resources from Kubernetes. This page is generated from checked-in package metadata, CRD schemas, and sample manifests.

Resource Snapshot

Field Value
Service core
Resource Instance
API Version core.oracle.com/v1beta1
Package Core Compute
Support Status Preview
Latest Released Version Not yet released
Install Namespace oci-service-operator-core-system

Spec Fields

This summary shows the top-level spec fields. Use the full API reference for nested fields, defaults, and enum values.

Field Description Type Required
agentConfig InstanceAgentConfig defines nested fields for Instance.AgentConfig. object No
availabilityConfig InstanceAvailabilityConfig defines nested fields for Instance.AvailabilityConfig. object No
availabilityDomain The availability domain of the instance. Example: Uocm:PHX-AD-1 string Yes
capacityReservationId 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 (https://docs.oracle.com/iaas/Content/Compute/Tasks/reserve-capacity.htm#default). string No
clusterPlacementGroupId The OCID of the cluster placement group of the instance. string No
compartmentId The OCID of the compartment. string Yes
computeClusterId The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compute cluster (https://docs.oracle.com/iaas/Content/Compute/Tasks/compute-clusters.htm) that the instance will be created in. string No
createVnicDetails InstanceCreateVnicDetails defines nested fields for Instance.CreateVnicDetails. object No
dedicatedVmHostId 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. string No
definedTags Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Operations": {"CostCenter": "42"}} map[string, map[string, string]] No
displayName A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. string No
extendedMetadata 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. map[string, object (preserves unknown fields)] No
faultDomain 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 ListFaultDomains operation in the Identity and Access Management Service API. Example: FAULT-DOMAIN-1 string No
freeformTags 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 (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Department": "Finance"} map[string, string] No
hostnameLabel Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match. string No
imageId Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match. string No
instanceConfigurationId The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch. string No
instanceOptions InstanceOptions defines nested fields for Instance.InstanceOptions. object No
ipxeScript 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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot. If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive. For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image (https://docs.oracle.com/iaas/Content/Compute/References/bringyourownimage.htm). For more information about iPXE, see http://ipxe.org. string No
isAIEnterpriseEnabled Whether to enable AI enterprise on the instance. boolean No
isPvEncryptionInTransitEnabled Whether to enable in-transit encryption for the data volume's paravirtualized attachment. This field applies to both block volumes and boot volumes. The default value is false. boolean No
launchOptions InstanceLaunchOptions defines nested fields for Instance.LaunchOptions. object No
launchVolumeAttachments Volume attachments to create as part of the launch instance operation. list[object] No
licensingConfigs The list of liscensing configurations with target update values. list[object] No
metadata 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. map[string, string] No
placementConstraintDetails InstancePlacementConstraintDetails defines nested fields for Instance.PlacementConstraintDetails. object No
platformConfig InstancePlatformConfig defines nested fields for Instance.PlatformConfig. object No
preemptibleInstanceConfig InstancePreemptibleInstanceConfig defines nested fields for Instance.PreemptibleInstanceConfig. object No
securityAttributes Security attributes (https://docs.oracle.com/iaas/Content/zero-trust-packet-routing/zpr-artifacts.htm#security-attributes) are labels for a resource that can be referenced in a Zero Trust Packet Routing (https://docs.oracle.com/iaas/Content/zero-trust-packet-routing/overview.htm) (ZPR) policy to control access to ZPR-supported resources. Example: {"Oracle-DataSecurity-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit"}}} map[string, map[string, string]] No
shape 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 (https://docs.oracle.com/iaas/Content/Compute/Tasks/resizinginstances.htm). For details about the CPUs, memory, and other properties of each shape, see Compute Shapes (https://docs.oracle.com/iaas/Content/Compute/References/computeshapes.htm). 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 ListShapes. To determine whether capacity is available for a specific shape before you change the shape of an instance, use the CreateComputeCapacityReport operation. If the instance is running when you change the shape, the instance is rebooted. Example: VM.Standard2.1 string No
shapeConfig InstanceShapeConfig defines nested fields for Instance.ShapeConfig. object No
sourceDetails InstanceSourceDetails defines nested fields for Instance.SourceDetails. object No
subnetId Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match. string No
timeMaintenanceRebootDue For a VM instance, resets the scheduled time that the instance will be reboot migrated for infrastructure maintenance, in the format defined by RFC3339 (https://tools.ietf.org/html/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 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 InstanceAction operation. For more information, see Infrastructure Maintenance (https://docs.oracle.com/iaas/Content/Compute/References/infrastructure-maintenance.htm). Example: 2018-05-25T21:10:29.600Z string No
updateOperationConstraint 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. string No

Status Fields

This summary shows the top-level status fields. Use the full API reference for nested fields, defaults, and enum values.

Field Description Type Required
agentConfig InstanceAgentConfig defines nested fields for Instance.AgentConfig. object No
availabilityConfig InstanceAvailabilityConfig defines nested fields for Instance.AvailabilityConfig. object No
availabilityDomain The availability domain the instance is running in. Example: Uocm:PHX-AD-1 string No
capacityReservationId The OCID of the compute capacity reservation this instance is launched under. When this field contains an empty string or is null, the instance is not currently in a capacity reservation. For more information, see Capacity Reservations (https://docs.oracle.com/iaas/Content/Compute/Tasks/reserve-capacity.htm#default). string No
clusterPlacementGroupId The OCID of the cluster placement group of the instance. string No
compartmentId The OCID of the compartment that contains the instance. string No
dedicatedVmHostId The OCID of the dedicated virtual machine host that the instance is placed on. string No
definedTags Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Operations": {"CostCenter": "42"}} map[string, map[string, string]] No
displayName A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. string No
extendedMetadata 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). map[string, object (preserves unknown fields)] No
faultDomain The name of the fault domain the instance is running in. 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. Example: FAULT-DOMAIN-1 string No
freeformTags 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 (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Department": "Finance"} map[string, string] No
id The OCID of the instance. string No
imageId Deprecated. Use sourceDetails instead. string No
instanceConfigurationId The OCID of the Instance Configuration used to source launch details for this instance. Any other fields supplied in the instance launch request override the details stored in the Instance Configuration for this instance launch. string No
instanceOptions InstanceOptions defines nested fields for Instance.InstanceOptions. object No
ipxeScript 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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot. If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive. For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image (https://docs.oracle.com/iaas/Content/Compute/References/bringyourownimage.htm). For more information about iPXE, see http://ipxe.org. string No
isAIEnterpriseEnabled Whether AI enterprise is enabled on the instance. boolean No
isCrossNumaNode Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes. boolean No
launchMode 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. string No
launchOptions InstanceLaunchOptions defines nested fields for Instance.LaunchOptions. object No
licensingConfigs List of licensing configurations associated with the instance. list[object] No
lifecycleState The current state of the instance. string No
loadBalancerBackends The load balancer backends that are configured for the instance pool instance. list[object] No
metadata Custom metadata that you provide. map[string, string] No
placementConstraintDetails InstancePlacementConstraintDetails defines nested fields for Instance.PlacementConstraintDetails. object No
platformConfig InstancePlatformConfig defines nested fields for Instance.PlatformConfig. object No
preemptibleInstanceConfig InstancePreemptibleInstanceConfig defines nested fields for Instance.PreemptibleInstanceConfig. object No
region The region that contains the availability domain the instance is running in. For the us-phoenix-1 and us-ashburn-1 regions, phx and iad are returned, respectively. For all other regions, the full region name is returned. Examples: phx, eu-frankfurt-1 string No
securityAttributes Security attributes (https://docs.oracle.com/iaas/Content/zero-trust-packet-routing/zpr-artifacts.htm#security-attributes) are labels for a resource that can be referenced in a Zero Trust Packet Routing (https://docs.oracle.com/iaas/Content/zero-trust-packet-routing/overview.htm) (ZPR) policy to control access to ZPR-supported resources. Example: {"Oracle-DataSecurity-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit"}}} map[string, map[string, string]] No
securityAttributesState The lifecycle state of the securityAttributes string No
shape The shape of the instance. The shape determines the number of CPUs and the amount of memory allocated to the instance. You can enumerate all available shapes by calling ListShapes. string No
shapeConfig InstanceShapeConfig defines nested fields for Instance.ShapeConfig. object No
sourceDetails InstanceSourceDetails defines nested fields for Instance.SourceDetails. object No
state The current state of the instance pool instance. string No
status - object Yes
systemTags System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace": {"bar-key": "value"}} map[string, map[string, string]] No
timeCreated The date and time the instance was created, in the format defined by RFC3339 (https://tools.ietf.org/html/rfc3339). Example: 2016-08-25T21:10:29.600Z string No
timeMaintenanceRebootDue The date and time the instance is expected to be stopped / started, in the format defined by RFC3339 (https://tools.ietf.org/html/rfc3339). After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z string No

Sample Manifest

This example is generated from the checked-in sample manifest at config/samples/core_v1beta1_instance.yaml. Replace placeholder values before applying it.

Open the rendered sample page

#
# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
#

#
# Replace the OCI identifiers below before running e2e.
# Update metadata.name and spec.displayName if you want to force a fresh create
# instead of reusing an existing Instance with the same display name in the same
# compartment and availability domain.
# Adjust spec.shape and spec.shapeConfig if your tenancy or region does not have
# capacity for this starter shape.
#
apiVersion: core.oracle.com/v1beta1
kind: Instance
metadata:
  name: instance-sample
spec:
  compartmentId: ocid1.compartment.oc1..exampleuniqueID
  availabilityDomain: "AD-1"
  subnetId: ocid1.subnet.oc1..exampleuniqueID
  displayName: "instance-sample"
  shape: "VM.Standard.E4.Flex"
  shapeConfig:
    ocpus: 1
    memoryInGBs: 16
  sourceDetails:
    sourceType: image
    imageId: ocid1.image.oc1..exampleuniqueID