anchor.diff:  ...
   ----
   
  -. If a template that corresponds to the RHV VM operating system does not appear in the list of available templates, create a template with the {VirtProductName} web console.
  +. If an {VirtProductName} template that corresponds to the RHV VM operating system does not appear in the list of available templates, create a template with the {VirtProductName} web console.
   
  -. Create a ConfigMap to map the RHV VM operating system to an available template:
  +. Create a ConfigMap to map the RHV VM operating system to the {VirtProductName} template:
   +
   [source,yaml]
   ----
  
positive.code: ----
  $ oc get cm -n default os-configmap -o yaml
  ----
  
  ifeval::["{HCOVersion}" == "2.4.0"]
  . If you are importing a Windows VM:
  
  .. Create an {VirtProductName} Windows template:
  +
  [source,yaml]
  ----
  $ cat <<EOF | oc create -f -
  apiVersion: template.openshift.io/v1
  kind: Template
  metadata:
    annotations:
      defaults.template.kubevirt.io/disk: rootdisk
      defaults.template.kubevirt.io/network: default
      description: This template can be used to create a VM suitable for Microsoft Windows.
      iconClass: icon-windows
      name.os.template.kubevirt.io/windows: Microsoft Windows
      openshift.io/display-name: Microsoft Windows Server 2012 R2+ VM
      openshift.io/documentation-url: https://github.com/kubevirt/common-templates
      openshift.io/provider-display-name: KubeVirt
      openshift.io/support-url: https://github.com/kubevirt/common-templates/issues
      tags: hidden,kubevirt,virtualmachine,windows
      template.kubevirt.io/editable: |
        /objects[0].spec.template.spec.domain.cpu.cores
        /objects[0].spec.template.spec.domain.resources.requests.memory
        /objects[0].spec.template.spec.domain.devices.disks
        /objects[0].spec.template.spec.volumes
        /objects[0].spec.template.spec.networks
      template.kubevirt.io/version: v1alpha1
      template.openshift.io/bindable: "false"
      validations: |
        [
          {
            "name": "minimal-required-memory",
            "path": "jsonpath::.spec.domain.resources.requests.memory",
            "rule": "integer",
            "message": "This VM requires more memory.",
            "min": 536870912
          }
        ]
    labels:
      flavor.template.kubevirt.io/medium: "true"
      os.template.kubevirt.io/windows: "true"
      template.kubevirt.io/type: base
      template.kubevirt.io/version: v0.11.2
      workload.template.kubevirt.io/server: "true"
    name: custom-windows-server-medium-v0.7.0
    namespace: openshift
  objects:
  - apiVersion: kubevirt.io/v1alpha3
    kind: VirtualMachine
    metadata:
      labels:
        app: ${NAME}
        vm.kubevirt.io/template: custom-windows-server-medium-v0.7.0
        vm.kubevirt.io/template.revision: "1"
        vm.kubevirt.io/template.version: v0.11.2
      name: ${NAME}
    spec:
      running: false
      template:
        metadata:
          labels:
            kubevirt.io/domain: ${NAME}
            kubevirt.io/size: medium
        spec:
          domain:
            clock:
              timer:
                hpet:
                  present: false
                hyperv: {}
                pit:
                  tickPolicy: delay
                rtc:
                  tickPolicy: catchup
              utc: {}
            cpu:
              cores: 1
              sockets: 1
              threads: 1
            devices:
              disks:
              - disk:
                  bus: sata
                name: rootdisk
              interfaces:
              - masquerade: {}
                model: e1000e
                name: default
            features:
              acpi: {}
              apic: {}
              hyperv:
                relaxed: {}
                spinlocks:
                  spinlocks: 8191
                vapic: {}
            machine:
              type: pc-q35-rhel8.2.0
            resources:
              requests:
                memory: 4Gi
          evictionStrategy: LiveMigrate
          networks:
          - name: default
            pod: {}
          terminationGracePeriodSeconds: 0
          volumes:
          - name: rootdisk
            persistentVolumeClaim:
              claimName: ${PVCNAME}
  parameters:
  - description: VM name
    from: windows-[a-z0-9]{6}
    generate: expression
    name: NAME
  - description: Name of the PVC with the disk image
    name: PVCNAME
    required: true
  EOF
  ----
  
  .. Verify that the Windows template was created:
  +
  [source,terminal]
  ----
  $ oc get template -A | grep win
  ----
  
  .. Create a ConfigMap to map the RHV VM Windows operating system to the Windows template:
  +
  [source,yaml]
  ----
  $ cat <<EOF | oc create -f -
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: os-configmap
    namespace: default <1>
  data:
    osinfo2common: |
      "<rhv-vm-windows-os>": "windows-template" <2>
  EOF
  ----
  <1> Optional: You can change the value of the `namespace` parameter.
  <2> Specify the REST API name of the RHV VM Windows operating system, for example, `"windows_2016x64"`, and the Windows template.
  endif::[]
  
  . Edit the `kubevirt-hyperconverged-operator.v{HCOVersion}.yaml` file:
  +
  
negative.code: * `"ubuntu_14_04_ppc64": "ubuntu18.04"`
  * `"ubuntu_14_04": "ubuntu18.04"`
  * `"ubuntu_16_04_s390x": "ubuntu18.04"`
  * `"windows_10": "win10"`
  * `"windows_10x64": "win10"`
  * `"windows_2003": "win10"`
  