Oracle · Schema

OCI Compute Instance

Schema for an Oracle Cloud Infrastructure compute instance. Defines the structure of a virtual machine or bare metal instance including its shape configuration, source image details, networking, lifecycle state, and metadata.

CloudDatabaseEnterpriseInfrastructureSaaSFortune 100

Properties

Name Type Description
id string The OCID of the instance. Oracle Cloud Identifier (OCID) is a unique identifier assigned to every OCI resource.
compartmentId string The OCID of the compartment that contains the instance. Compartments are the primary building blocks for organizing cloud resources.
availabilityDomain string The availability domain the instance is running in. An availability domain is one or more data centers within a region.
faultDomain string The fault domain the instance is running in. Fault domains provide anti-affinity within an availability domain.
displayName string A user-friendly name for the instance. Does not have to be unique and is changeable. Avoid entering confidential information.
shape string The shape of the instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.
shapeConfig object
region string The region that contains the availability domain the instance is running in.
imageId string Deprecated. Use sourceDetails instead. The OCID of the image used to boot the instance.
sourceDetails object
lifecycleState object
timeCreated string The date and time the instance was created, in RFC 3339 format.
metadata object Custom metadata key/value pairs provided for the instance. Common keys include ssh_authorized_keys for providing SSH public keys and user_data for cloud-init scripts (base64-encoded).
extendedMetadata object Additional metadata key/value pairs that can contain nested JSON objects.
launchMode string Specifies the configuration mode for launching VM instances.
launchOptions object
agentConfig object
availabilityConfig object
platformConfig object
timeMaintenanceRebootDue string The date and time the instance is expected to be stopped or migrated for infrastructure maintenance, if applicable.
capacityReservationId string The OCID of the compute capacity reservation this instance is launched under.
dedicatedVmHostId string The OCID of the dedicated virtual machine host the instance is placed on.
isCrossNumaNode boolean Whether the instance spans multiple NUMA nodes.
definedTags object
freeformTags object
View JSON Schema on GitHub

JSON Schema

oracle-compute-instance-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://docs.oracle.com/en-us/iaas/schemas/compute/instance.json",
  "title": "OCI Compute Instance",
  "description": "Schema for an Oracle Cloud Infrastructure compute instance. Defines the structure of a virtual machine or bare metal instance including its shape configuration, source image details, networking, lifecycle state, and metadata.",
  "type": "object",
  "required": [
    "id",
    "compartmentId",
    "availabilityDomain",
    "shape",
    "region",
    "lifecycleState",
    "timeCreated"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The OCID of the instance. Oracle Cloud Identifier (OCID) is a unique identifier assigned to every OCI resource.",
      "pattern": "^ocid1\\.instance\\..+$",
      "examples": ["ocid1.instance.oc1.phx.abcdefghijklmnop"]
    },
    "compartmentId": {
      "type": "string",
      "description": "The OCID of the compartment that contains the instance. Compartments are the primary building blocks for organizing cloud resources.",
      "pattern": "^ocid1\\.compartment\\..+$"
    },
    "availabilityDomain": {
      "type": "string",
      "description": "The availability domain the instance is running in. An availability domain is one or more data centers within a region.",
      "examples": ["Uocm:PHX-AD-1", "Uocm:US-ASHBURN-AD-1"]
    },
    "faultDomain": {
      "type": "string",
      "description": "The fault domain the instance is running in. Fault domains provide anti-affinity within an availability domain.",
      "examples": ["FAULT-DOMAIN-1", "FAULT-DOMAIN-2", "FAULT-DOMAIN-3"]
    },
    "displayName": {
      "type": "string",
      "description": "A user-friendly name for the instance. Does not have to be unique and is changeable. Avoid entering confidential information.",
      "maxLength": 255
    },
    "shape": {
      "type": "string",
      "description": "The shape of the instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.",
      "examples": [
        "VM.Standard.E4.Flex",
        "VM.Standard3.Flex",
        "BM.Standard3.64",
        "VM.GPU.A10.1",
        "VM.DenseIO.E4.Flex",
        "VM.Standard.A1.Flex"
      ]
    },
    "shapeConfig": {
      "$ref": "#/$defs/ShapeConfig"
    },
    "region": {
      "type": "string",
      "description": "The region that contains the availability domain the instance is running in.",
      "examples": ["us-ashburn-1", "us-phoenix-1", "eu-frankfurt-1"]
    },
    "imageId": {
      "type": "string",
      "description": "Deprecated. Use sourceDetails instead. The OCID of the image used to boot the instance.",
      "pattern": "^ocid1\\.image\\..+$",
      "deprecated": true
    },
    "sourceDetails": {
      "$ref": "#/$defs/SourceDetails"
    },
    "lifecycleState": {
      "$ref": "#/$defs/LifecycleState"
    },
    "timeCreated": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the instance was created, in RFC 3339 format."
    },
    "metadata": {
      "type": "object",
      "description": "Custom metadata key/value pairs provided for the instance. Common keys include ssh_authorized_keys for providing SSH public keys and user_data for cloud-init scripts (base64-encoded).",
      "additionalProperties": {
        "type": "string"
      },
      "properties": {
        "ssh_authorized_keys": {
          "type": "string",
          "description": "One or more SSH public keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Separate multiple keys with newline characters."
        },
        "user_data": {
          "type": "string",
          "description": "Base64-encoded cloud-init user data script to run when the instance starts."
        }
      }
    },
    "extendedMetadata": {
      "type": "object",
      "description": "Additional metadata key/value pairs that can contain nested JSON objects.",
      "additionalProperties": true
    },
    "launchMode": {
      "type": "string",
      "description": "Specifies the configuration mode for launching VM instances.",
      "enum": ["NATIVE", "EMULATED", "PARAVIRTUALIZED", "CUSTOM"]
    },
    "launchOptions": {
      "$ref": "#/$defs/LaunchOptions"
    },
    "agentConfig": {
      "$ref": "#/$defs/AgentConfig"
    },
    "availabilityConfig": {
      "$ref": "#/$defs/AvailabilityConfig"
    },
    "platformConfig": {
      "$ref": "#/$defs/PlatformConfig"
    },
    "timeMaintenanceRebootDue": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the instance is expected to be stopped or migrated for infrastructure maintenance, if applicable."
    },
    "capacityReservationId": {
      "type": "string",
      "description": "The OCID of the compute capacity reservation this instance is launched under.",
      "pattern": "^ocid1\\.capacityreservation\\..+$"
    },
    "dedicatedVmHostId": {
      "type": "string",
      "description": "The OCID of the dedicated virtual machine host the instance is placed on.",
      "pattern": "^ocid1\\.dedicatedvmhost\\..+$"
    },
    "isCrossNumaNode": {
      "type": "boolean",
      "description": "Whether the instance spans multiple NUMA nodes."
    },
    "definedTags": {
      "$ref": "#/$defs/DefinedTags"
    },
    "freeformTags": {
      "$ref": "#/$defs/FreeformTags"
    }
  },
  "$defs": {
    "LifecycleState": {
      "type": "string",
      "description": "The lifecycle state of a compute instance. The state transitions are: PROVISIONING -> RUNNING -> STOPPING -> STOPPED -> STARTING -> RUNNING, and RUNNING -> TERMINATING -> TERMINATED.",
      "enum": [
        "MOVING",
        "PROVISIONING",
        "RUNNING",
        "STARTING",
        "STOPPING",
        "STOPPED",
        "CREATING_IMAGE",
        "TERMINATING",
        "TERMINATED"
      ]
    },
    "ShapeConfig": {
      "type": "object",
      "description": "The shape configuration of an instance. For flexible shapes, this specifies the allocated OCPUs, memory, and other resources.",
      "properties": {
        "ocpus": {
          "type": "number",
          "description": "The total number of OCPUs available to the instance.",
          "minimum": 1,
          "examples": [1, 2, 4, 8, 16, 32, 64]
        },
        "memoryInGBs": {
          "type": "number",
          "description": "The total amount of memory available to the instance, in gigabytes.",
          "minimum": 1,
          "examples": [16, 32, 64, 128, 256, 512]
        },
        "baselineOcpuUtilization": {
          "type": "string",
          "description": "The baseline OCPU utilization for a subcore burstable instance. BASELINE_1_8 means 12.5% baseline, BASELINE_1_2 means 50% baseline, BASELINE_1_1 means 100% (non-burstable).",
          "enum": ["BASELINE_1_8", "BASELINE_1_2", "BASELINE_1_1"]
        },
        "processorDescription": {
          "type": "string",
          "description": "A short description of the instance processor.",
          "examples": ["2.55 GHz AMD EPYC 7J13 (Milan)", "3.0 GHz Ampere Altra (Arm-based)"]
        },
        "networkingBandwidthInGbps": {
          "type": "number",
          "description": "The networking bandwidth available to the instance, in gigabits per second."
        },
        "maxVnicAttachments": {
          "type": "integer",
          "description": "The maximum number of VNIC attachments for the instance.",
          "minimum": 1
        },
        "gpus": {
          "type": "integer",
          "description": "The number of GPUs available to the instance.",
          "minimum": 0
        },
        "gpuDescription": {
          "type": "string",
          "description": "A short description of the instance GPU.",
          "examples": ["NVIDIA A10", "NVIDIA A100"]
        },
        "localDisks": {
          "type": "integer",
          "description": "The number of local NVMe disks available to the instance.",
          "minimum": 0
        },
        "localDisksTotalSizeInGBs": {
          "type": "number",
          "description": "The aggregate size of all local disks, in gigabytes."
        },
        "vcpus": {
          "type": "integer",
          "description": "The total number of VCPUs available. This is typically 2x the number of OCPUs.",
          "minimum": 1
        }
      }
    },
    "SourceDetails": {
      "type": "object",
      "description": "Details for the source used to launch the instance. The source is either an image or a boot volume.",
      "required": ["sourceType"],
      "properties": {
        "sourceType": {
          "type": "string",
          "description": "The source type for the instance.",
          "enum": ["image", "bootVolume"]
        },
        "imageId": {
          "type": "string",
          "description": "The OCID of the image used to boot the instance. Required when sourceType is image.",
          "pattern": "^ocid1\\.image\\..+$"
        },
        "bootVolumeId": {
          "type": "string",
          "description": "The OCID of the boot volume used to boot the instance. Required when sourceType is bootVolume.",
          "pattern": "^ocid1\\.bootvolume\\..+$"
        },
        "bootVolumeSizeInGBs": {
          "type": "integer",
          "description": "The size of the boot volume in GBs.",
          "minimum": 50,
          "maximum": 32768
        },
        "bootVolumeVpusPerGB": {
          "type": "integer",
          "description": "The number of volume performance units per GB for the boot volume. 10 = Balanced, 20 = Higher Performance, 30-120 = Ultra High Performance.",
          "minimum": 10,
          "maximum": 120,
          "default": 10
        }
      },
      "if": {
        "properties": {
          "sourceType": { "const": "image" }
        }
      },
      "then": {
        "required": ["imageId"]
      },
      "else": {
        "required": ["bootVolumeId"]
      }
    },
    "LaunchOptions": {
      "type": "object",
      "description": "Options for tuning the compatibility and performance of VM shapes.",
      "properties": {
        "bootVolumeType": {
          "type": "string",
          "description": "Emulation type for the boot volume attachment.",
          "enum": ["ISCSI", "SCSI", "IDE", "VFIO", "PARAVIRTUALIZED"]
        },
        "firmware": {
          "type": "string",
          "description": "Firmware used to boot the VM.",
          "enum": ["BIOS", "UEFI_64"]
        },
        "networkType": {
          "type": "string",
          "description": "Emulation type for the physical network interface card.",
          "enum": ["E1000", "VFIO", "PARAVIRTUALIZED"]
        },
        "remoteDataVolumeType": {
          "type": "string",
          "description": "Emulation type for remote data volume attachments.",
          "enum": ["ISCSI", "SCSI", "IDE", "VFIO", "PARAVIRTUALIZED"]
        },
        "isPvEncryptionInTransitEnabled": {
          "type": "boolean",
          "description": "Whether in-transit encryption is enabled for the volume's paravirtualized attachment."
        },
        "isConsistentVolumeNamingEnabled": {
          "type": "boolean",
          "description": "Whether consistent volume naming is enabled."
        }
      }
    },
    "AgentConfig": {
      "type": "object",
      "description": "Configuration options for the Oracle Cloud Agent software running on the instance.",
      "properties": {
        "isMonitoringDisabled": {
          "type": "boolean",
          "description": "Whether the Monitoring plugin is disabled.",
          "default": false
        },
        "isManagementDisabled": {
          "type": "boolean",
          "description": "Whether the Management plugin is disabled.",
          "default": false
        },
        "areAllPluginsDisabled": {
          "type": "boolean",
          "description": "Whether all Oracle Cloud Agent plugins are disabled.",
          "default": false
        },
        "pluginsConfig": {
          "type": "array",
          "description": "The configuration of plugins associated with this instance.",
          "items": {
            "$ref": "#/$defs/PluginConfig"
          }
        }
      }
    },
    "PluginConfig": {
      "type": "object",
      "description": "Configuration details for an Oracle Cloud Agent plugin.",
      "required": ["name", "desiredState"],
      "properties": {
        "name": {
          "type": "string",
          "description": "The plugin name.",
          "examples": [
            "Vulnerability Scanning",
            "Compute RDMA GPU Monitoring",
            "Compute Instance Monitoring",
            "Bastion",
            "Management Agent",
            "Custom Logs Monitoring",
            "Compute Instance Run Command",
            "Block Volume Management"
          ]
        },
        "desiredState": {
          "type": "string",
          "description": "Whether the plugin should be enabled or disabled.",
          "enum": ["ENABLED", "DISABLED"]
        }
      }
    },
    "AvailabilityConfig": {
      "type": "object",
      "description": "Options for VM migration during infrastructure maintenance events.",
      "properties": {
        "isLiveMigrationPreferred": {
          "type": "boolean",
          "description": "Whether live migration is the preferred option for infrastructure maintenance."
        },
        "recoveryAction": {
          "type": "string",
          "description": "The lifecycle action to take when maintenance is due. RESTORE_INSTANCE restarts the instance after maintenance. STOP_INSTANCE keeps it stopped.",
          "enum": ["RESTORE_INSTANCE", "STOP_INSTANCE"]
        }
      }
    },
    "PlatformConfig": {
      "type": "object",
      "description": "The platform configuration for the instance, including security settings like Secure Boot and TPM.",
      "properties": {
        "type": {
          "type": "string",
          "description": "The type of platform configuration.",
          "enum": [
            "AMD_MILAN_BM",
            "AMD_MILAN_BM_GPU",
            "AMD_ROME_BM",
            "AMD_ROME_BM_GPU",
            "AMD_VM",
            "GENERIC_BM",
            "INTEL_ICELAKE_BM",
            "INTEL_SKYLAKE_BM",
            "INTEL_VM"
          ]
        },
        "isSecureBootEnabled": {
          "type": "boolean",
          "description": "Whether Secure Boot is enabled on the instance."
        },
        "isTrustedPlatformModuleEnabled": {
          "type": "boolean",
          "description": "Whether the Trusted Platform Module (TPM) is enabled."
        },
        "isMeasuredBootEnabled": {
          "type": "boolean",
          "description": "Whether the Measured Boot feature is enabled."
        },
        "isMemoryEncryptionEnabled": {
          "type": "boolean",
          "description": "Whether AMD Secure Encrypted Virtualization (SEV) memory encryption is enabled."
        }
      }
    },
    "DefinedTags": {
      "type": "object",
      "description": "Defined tags for the resource. Each key is predefined and scoped to a namespace. Format: {namespace: {key: value}}.",
      "additionalProperties": {
        "type": "object",
        "additionalProperties": {
          "type": "string"
        }
      }
    },
    "FreeformTags": {
      "type": "object",
      "description": "Free-form tags for the resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "Shape": {
      "type": "object",
      "description": "A compute shape determines the resources allocated to an instance. Shapes can be fixed (predetermined resources) or flexible (configurable OCPUs and memory).",
      "required": ["shape"],
      "properties": {
        "shape": {
          "type": "string",
          "description": "The name of the shape.",
          "examples": [
            "VM.Standard.E4.Flex",
            "VM.Standard3.Flex",
            "VM.Standard.A1.Flex",
            "BM.Standard3.64",
            "VM.GPU.A10.1"
          ]
        },
        "availabilityDomain": {
          "type": "string",
          "description": "The availability domain where the shape is available. Null if available across all ADs."
        },
        "ocpus": {
          "type": "number",
          "description": "The default number of OCPUs for this shape."
        },
        "memoryInGBs": {
          "type": "number",
          "description": "The default amount of memory for this shape, in GB."
        },
        "processorDescription": {
          "type": "string",
          "description": "A short description of the processor."
        },
        "networkingBandwidthInGbps": {
          "type": "number",
          "description": "The networking bandwidth for this shape, in Gbps."
        },
        "maxVnicAttachments": {
          "type": "integer",
          "description": "The maximum number of VNICs that can be attached."
        },
        "gpus": {
          "type": "integer",
          "description": "The number of GPUs for this shape."
        },
        "gpuDescription": {
          "type": "string",
          "description": "A short description of the GPU."
        },
        "localDisks": {
          "type": "integer",
          "description": "The number of local disks for this shape."
        },
        "localDisksTotalSizeInGBs": {
          "type": "number",
          "description": "The aggregate local disk size in GB."
        },
        "isFlexible": {
          "type": "boolean",
          "description": "Whether the shape supports flexible OCPU and memory configuration."
        },
        "isBilledForStoppedInstance": {
          "type": "boolean",
          "description": "Whether billing continues when the instance is stopped."
        }
      }
    },
    "Image": {
      "type": "object",
      "description": "A boot disk image for launching compute instances. Images can be Oracle-provided platform images, custom images created from instances, or Marketplace partner images.",
      "required": [
        "id",
        "compartmentId",
        "operatingSystem",
        "operatingSystemVersion",
        "lifecycleState",
        "timeCreated"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The OCID of the image.",
          "pattern": "^ocid1\\.image\\..+$"
        },
        "compartmentId": {
          "type": "string",
          "description": "The OCID of the compartment containing the image."
        },
        "displayName": {
          "type": "string",
          "description": "A user-friendly name for the image."
        },
        "operatingSystem": {
          "type": "string",
          "description": "The operating system of the image.",
          "examples": ["Oracle Linux", "CentOS", "Canonical Ubuntu", "Windows"]
        },
        "operatingSystemVersion": {
          "type": "string",
          "description": "The operating system version.",
          "examples": ["8", "9", "22.04", "Server 2019 Standard"]
        },
        "lifecycleState": {
          "type": "string",
          "description": "The lifecycle state of the image.",
          "enum": [
            "PROVISIONING",
            "IMPORTING",
            "AVAILABLE",
            "EXPORTING",
            "DISABLED",
            "DELETED"
          ]
        },
        "timeCreated": {
          "type": "string",
          "format": "date-time",
          "description": "The date and time the image was created."
        },
        "baseImageId": {
          "type": "string",
          "description": "The OCID of the image originally used to create this custom image."
        },
        "sizeInMBs": {
          "type": "integer",
          "description": "The boot volume size for instances launched from this image, in MBs."
        },
        "billableSizeInGBs": {
          "type": "integer",
          "description": "The billable size of the image in GBs."
        },
        "createImageAllowed": {
          "type": "boolean",
          "description": "Whether instances from this image can create new images."
        },
        "launchMode": {
          "type": "string",
          "description": "The launch mode of instances created from this image.",
          "enum": ["NATIVE", "EMULATED", "PARAVIRTUALIZED", "CUSTOM"]
        }
      }
    }
  }
}