Image capabilities are the configuration options available when launching an instance from an image. Some image capability examples are the firmware used to boot the instance, the volume attachment types supported, and so on. The full set of image capabilities provided by Oracle Cloud Infrastructure Compute are defined in the global image capability schema. You can also create your own custom image capability schemas based on the global image capability schema to specify and configure image capabilities for your custom images. Using these schemas, you can customize the image configuration and options available when users launch instances from your custom images.
Caution
Using this feature allows you to customize image capabilities from the default capabilities that Oracle recommends and should be used for advanced custom image scenarios only. Ensure that you understand the optimal configuration options for your custom image.
Global Image Capability Schema
The following JSON is what's returned when you use the GetComputeGlobalImageCapabilitySchemaVersion API operation or the global-image-capability-schema-version CLI command. It represents the full set of image capabilities available for images. The default values specified for each element are the recommended values for each option.
You can customize these options by creating image capability schemas. When you create an image capability schema, you can specify a subset of the values that are included in the global capabilities schema. Values that are not included in the global capabilities schema cannot be provided in an image capability schema.
The following list describes all the available elements in the global image capabilities
schema.
Compute.AMD_SecureEncryptedVirtualization: Provides confidential computing to virtual machine users leveraging AMD Secure Encrypted Virtualization (SEV) on AMD shapes. Data is encrypted in-use and you can verify the confidentiality through a secure attestation process. The default value is false.
Compute.Firmware: The firmware used to boot the virtual machine instance. The default
value is UEFI_64.
Compute.SecureBoot: Whether the instance can use Secure Boot. The default value is false.
Important
Custom images do not support Secure Boot.
Compute.LaunchMode: The configuration mode for launching instances. The default value is
PARAVIRTUALIZED.
Network.AttachmentType: The emulation type for the primary VNIC, which is automatically
created and attached when the instance is launched. The default value is
PARAVIRTUALIZED.
Storage.BootVolumeType: Specifies the driver options for the image's boot volume. The default value is PARAVIRTUALIZED.
Storage.LocalDataVolumeType: Specifies the driver options for the image to access local
storage volumes. The default value is PARAVIRTUALIZED.
Storage.RemoteDataVolumeType: Specifies the driver options for the image to access remote
storage volumes. The default value is PARAVIRTUALIZED.
Storage.ConsistentVolumeNaming: Specifies whether consistent device paths for iSCSI and
paravirtualized attached block volumes are enabled for the image. If enabled,
the image must support consistent device names. The default value is true.
Storage.ParaVirtualization.EncryptionInTransit: Specifies whether in-transit encryption is enabled for the image's boot volume attachment. Applies only to paravirtualized boot volume attachments. The default value is true.
Storage.ParaVirtualization.AttachmentVersion: Specifies the paravirtualization version for
boot volume and block volume attachments. Applies only to paravirtualized volume
attachments. The default value is 2.
Storage.Iscsi.MultipathDeviceSupported: Specifies whether multipath-enabled attachments
are supported for the image. Applies only to iSCSI volume attachments. The
default value is false.
Required IAM Policy 🔗
To use Oracle Cloud Infrastructure, an administrator must be a member of a group granted security access in a policy by a tenancy administrator. This access is required whether you're using the Console or the REST API with an SDK, CLI, or other tool. If you get a message that you don't have permission or are unauthorized, verify with the tenancy administrator what type of access you have and which compartment your access works in.
For administrators, the following policy provides full access to the image capability schema framework:
Allow group IAM_group_name to manage compute-image-capability-schema in tenancy
Using the Console 🔗
Open the navigation menu and select Compute. Under Compute, select Custom Images.
Click the custom image that you're interested in.
Click Edit image capabilities.
Edit the image capabilities that you want to configure. For details about each image capability, see Schema Elements.
Click Save changes.
Using the CLI 🔗
For information about using the CLI, see Command Line Interface (CLI). To work with image capability schemas using the CLI, open a command prompt and run any of the following commands.
To list out the global image capability schema:
Command
CopyTry It
oci compute global-image-capability-schema list
To list out the global image capability schema versions:
Command
CopyTry It
oci compute global-image-capability-schema-version list --global-image-capability-schema-id <global_image_capability_schema_OCID>
To retrieve the global image capability schema version:
Command
CopyTry It
oci compute global-image-capability-schema-version get --global-image-capability-schema-id <global_image_capability_schema_OCID> --global-image-capability-schema-version-name <version_name>
To list the image capability schemas in the specified compartment:
Command
CopyTry It
oci compute image-capability-schema list --compartment-id <compartment_OCID>
To retrieve the image capability schema for the specified ID:
Command
CopyTry It
oci compute image-capability-schema get --image-capability-schema-id <image_capability_schema_OCID>
This example shows how to use the CLI to update the image capability schema for a custom image. For information about using the CLI, see Command Line Interface (CLI).
Open a command prompt, and run the following command to retrieve the current global schema for the region:
Using the OCID and version name of the global image capability schema that you retrieved in the previous step, run the following command to get the global image capability schema:
Command
CopyTry It
oci compute global-image-capability-schema-version get --global-image-capability-schema-id <global_image_capability_schema_OCID> --global-image-capability-schema-version-name <version_name>