{
    "namespace": "OS::Compute::VMware",
    "display_name": "VMware Driver Options",
    "description": "The VMware compute driver options.  \n\nThese are properties specific to VMWare compute drivers and will only have an effect if the VMWare compute driver is enabled in Nova.  For a list of all hypervisors, see here: https://docs.openstack.org/nova/latest/user/support-matrix.html",
    "visibility": "public",
    "protected": true,
    "resource_type_associations": [
        {
            "name": "OS::Glance::Image"
        }
    ],
    "properties": {
        "img_linked_clone":{
            "title": "Linked Clone",
            "description": "By default, the VMware compute driver creates linked clones when possible (though this can be turned off by the operator). You can use this image property on a per-image basis to control whether virtual machines booted from the image are treated as full clones (value: false) or linked clones (value: true). Please refer to VMware documentation for information about full vs. linked clones.",
            "type": "boolean"
        },
        "vmware_adaptertype": {
            "title": "Disk Adapter Type",
            "description": "The virtual SCSI or IDE controller used by the hypervisor.",
            "type": "string",
            "enum": [
                "lsiLogic",
                "lsiLogicsas",
                "paraVirtual",
                "busLogic",
                "ide"
            ],
            "default" : "lsiLogic"
        },
        "vmware_disktype": {
            "title": "Disk Provisioning Type",
            "description": "When performing operations such as creating a virtual disk, cloning, or migrating, the disk provisioning type may be specified. Please refer to VMware documentation for more.",
            "type": "string",
            "enum": [
                "streamOptimized",
                "sparse",
                "preallocated"
            ],
            "default" : "preallocated"
        },
        "vmware_ostype": {
            "title": "OS Type",
            "description": "A VMware GuestID which describes the operating system installed in the image. This value is passed to the hypervisor when creating a virtual machine. If not specified, the key defaults to otherGuest. See thinkvirt.com.",
            "type": "string",
            "enum": [
                "asianux3_64Guest",
                "asianux3Guest",
                "asianux4_64Guest",
                "asianux4Guest",
                "asianux5_64Guest",
                "asianux7_64Guest",
                "centos64Guest",
                "centosGuest",
                "centos6Guest",
                "centos6_64Guest",
                "centos7_64Guest",
                "coreos64Guest",
                "darwin10_64Guest",
                "darwin10Guest",
                "darwin11_64Guest",
                "darwin11Guest",
                "darwin12_64Guest",
                "darwin13_64Guest",
                "darwin14_64Guest",
                "darwin15_64Guest",
                "darwin16_64Guest",
                "darwin64Guest",
                "darwinGuest",
                "debian4_64Guest",
                "debian4Guest",
                "debian5_64Guest",
                "debian5Guest",
                "debian6_64Guest",
                "debian6Guest",
                "debian7_64Guest",
                "debian7Guest",
                "debian8_64Guest",
                "debian8Guest",
                "debian9_64Guest",
                "debian9Guest",
                "debian10_64Guest",
                "debian10Guest",
                "dosGuest",
                "eComStation2Guest",
                "eComStationGuest",
                "fedora64Guest",
                "fedoraGuest",
                "freebsd64Guest",
                "freebsdGuest",
                "genericLinuxGuest",
                "mandrakeGuest",
                "mandriva64Guest",
                "mandrivaGuest",
                "netware4Guest",
                "netware5Guest",
                "netware6Guest",
                "nld9Guest",
                "oesGuest",
                "openServer5Guest",
                "openServer6Guest",
                "opensuse64Guest",
                "opensuseGuest",
                "oracleLinux64Guest",
                "oracleLinuxGuest",
                "oracleLinux6Guest",
                "oracleLinux6_64Guest",
                "oracleLinux7_64Guest",
                "os2Guest",
                "other24xLinux64Guest",
                "other24xLinuxGuest",
                "other26xLinux64Guest",
                "other26xLinuxGuest",
                "other3xLinux64Guest",
                "other3xLinuxGuest",
                "otherGuest",
                "otherGuest64",
                "otherLinux64Guest",
                "otherLinuxGuest",
                "redhatGuest",
                "rhel2Guest",
                "rhel3_64Guest",
                "rhel3Guest",
                "rhel4_64Guest",
                "rhel4Guest",
                "rhel5_64Guest",
                "rhel5Guest",
                "rhel6_64Guest",
                "rhel6Guest",
                "rhel7_64Guest",
                "rhel7Guest",
                "sjdsGuest",
                "sles10_64Guest",
                "sles10Guest",
                "sles11_64Guest",
                "sles11Guest",
                "sles12_64Guest",
                "sles12Guest",
                "sles64Guest",
                "slesGuest",
                "solaris10_64Guest",
                "solaris10Guest",
                "solaris11_64Guest",
                "solaris6Guest",
                "solaris7Guest",
                "solaris8Guest",
                "solaris9Guest",
                "turboLinux64Guest",
                "turboLinuxGuest",
                "ubuntu64Guest",
                "ubuntuGuest",
                "unixWare7Guest",
                "vmkernel5Guest",
                "vmkernel6Guest",
                "vmkernel65Guest",
                "vmkernelGuest",
                "vmwarePhoton64Guest",
                "win2000AdvServGuest",
                "win2000ProGuest",
                "win2000ServGuest",
                "win31Guest",
                "win95Guest",
                "win98Guest",
                "windows7_64Guest",
                "windows7Guest",
                "windows7Server64Guest",
                "windows8_64Guest",
                "windows8Guest",
                "windows8Server64Guest",
                "windows9_64Guest",
                "windows9Guest",
                "windows9Server64Guest",
                "windowsHyperVGuest",
                "winLonghorn64Guest",
                "winLonghornGuest",
                "winMeGuest",
                "winNetBusinessGuest",
                "winNetDatacenter64Guest",
                "winNetDatacenterGuest",
                "winNetEnterprise64Guest",
                "winNetEnterpriseGuest",
                "winNetStandard64Guest",
                "winNetStandardGuest",
                "winNetWebGuest",
                "winNTGuest",
                "winVista64Guest",
                "winVistaGuest",
                "winXPHomeGuest",
                "winXPPro64Guest",
                "winXPProGuest"
            ],
            "default": "otherGuest"
        },
        "hw_vif_model": {
            "title": "Virtual Network Interface",
            "description": "Specifies the model of virtual network interface device to use. The valid options depend on the hypervisor. VMware driver supported options: e1000, e1000e, VirtualE1000, VirtualE1000e, VirtualPCNet32, and VirtualVmxnet.",
            "type": "string",
            "enum": [
                "e1000",
                "e1000e",
                "VirtualE1000",
                "VirtualE1000e",
                "VirtualPCNet32",
                "VirtualVmxnet",
                "VirtualVmxnet3"
            ],
            "default" : "e1000"
        },
        "hw_vif_multiqueue_enabled": {
            "title": "Multiqueue Enabled",
            "description": "If true, this enables the virtio-net multiqueue feature. In this case, the driver sets the number of queues equal to the number of guest vCPUs. This makes the network performance scale across a number of vCPUs.",
            "type": "string",
            "enum": ["true", "false"]
        }
    },
    "objects": []
}
