$ virtctl create vm --name rhel-9-minimal --volume-datasource src:openshift-virtualization-os-images/rhel9
You can create virtual machines (VMs) from the command line by editing or creating a VirtualMachine manifest. You can simplify VM configuration by using an instance type in your VM manifest.
| 
 You can also create VMs from instance types by using the web console.  | 
You can create a virtual machine (VM) from a VirtualMachine manifest. To simplify the creation of these manifests, you can use the virtctl command-line tool.
You must have the virtctl command-line tool installed.
Create a VirtualMachine manifest for your VM and save it as a YAML file. For example, to create a minimal Fedora VM, run the following command:
$ virtctl create vm --name rhel-9-minimal --volume-datasource src:openshift-virtualization-os-images/rhel9
Review the VirtualMachine manifest for your VM:
| 
 This example manifest does not configure VM authentication.  | 
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
  name: rhel-9-minimal (1)
spec:
  dataVolumeTemplates:
  - metadata:
      name: imported-volume-mk4lj
    spec:
      sourceRef:
        kind: DataSource
        name: rhel9 (2)
        namespace: openshift-virtualization-os-images (3)
      storage:
        resources: {}
  instancetype:
    inferFromVolume: imported-volume-mk4lj (4)
    inferFromVolumeFailurePolicy: Ignore
  preference:
    inferFromVolume: imported-volume-mk4lj (5)
    inferFromVolumeFailurePolicy: Ignore
  runStrategy: Always
  template:
    spec:
      domain:
        devices: {}
        memory:
          guest: 512Mi
        resources: {}
      terminationGracePeriodSeconds: 180
      volumes:
      - dataVolume:
          name: imported-volume-mk4lj
        name: imported-volume-mk4lj
| 1 | The VM name. | 
| 2 | The boot source for the guest operating system. | 
| 3 | The namespace for the boot source. Golden images are stored in the openshift-virtualization-os-images namespace. | 
| 4 | The instance type is inferred from the selected DataSource object. | 
| 5 | The preference is inferred from the selected DataSource object. | 
Create a virtual machine by using the manifest file:
$ oc create -f <vm_manifest_file>.yaml
Optional: Start the virtual machine:
$ virtctl start <vm_name>