Skip to content

Reference

Coverage

Everything Docker Compose, Vagrant (and each provider) and Terraform can do, and whether Isoloom produces it.

Everything each format can do, and whether Isoloom produces it from a spec. The lists come from the formats themselves: every key of the Compose schema, every setting of Vagrant's and each provider plugin's configuration. Tests fail when a list has an unclassified entry, or when it disagrees with what Isoloom really generates. For Terraform, each provider's resource types (the arguments of each are detailed as its generator is built).

Every No says why: another way to get the same effect, in the image, not yet, by design, or not needed (the format's own tooling).

Docker Compose

From compose-spec schema, commit 914ec15d1fa4 (crates/isoloom-core/coverage/compose-spec.json).

Top level

KeyImplementedNotes
versionNoBy design: obsolete in Compose
nameYesFrom name
includeNoNot needed: Compose tooling, not the environment's behavior
servicesYesFrom machines
networksYesFrom networks
volumesNoNot yet: persistent or shared data: no concept in the format yet
secretsNoAnother way: via inputs (values given at launch, never baked into images)
configsNoIn the image: set it in the image (docker.build)
modelsNoNot needed: Compose tooling, not the environment's behavior
jobsNoAnother way: via docker.init (one-shot jobs)

Services

KeyImplementedNotes
annotationsNoNot needed: Compose tooling, not the environment's behavior
attachNoNot needed: Compose tooling, not the environment's behavior
blkio_configNoBy design: host-level tuning: no meaning for the same machine as a VM
buildYesFrom machines.*.docker.build
cap_addPartlyFrom networks.*.gateway; not: only NET_ADMIN, for gateways and Isoloom's own router
cap_dropNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
cgroupNoBy design: host-level tuning: no meaning for the same machine as a VM
cgroup_parentNoBy design: host-level tuning: no meaning for the same machine as a VM
commandNoIn the image: set it in the image (docker.build)
configsNoIn the image: set it in the image (docker.build)
container_nameNoBy design: names come from the environment; the hostname is the machine's name
cpu_countNoBy design: host-level tuning: no meaning for the same machine as a VM
cpu_percentNoBy design: host-level tuning: no meaning for the same machine as a VM
cpu_periodNoBy design: host-level tuning: no meaning for the same machine as a VM
cpu_quotaNoBy design: host-level tuning: no meaning for the same machine as a VM
cpu_rt_periodNoBy design: host-level tuning: no meaning for the same machine as a VM
cpu_rt_runtimeNoBy design: host-level tuning: no meaning for the same machine as a VM
cpu_sharesNoBy design: host-level tuning: no meaning for the same machine as a VM
cpusNoAnother way: via machines.*.resources.cpus, written as deploy.resources.limits
cpusetNoBy design: host-level tuning: no meaning for the same machine as a VM
credential_specNoBy design: Windows containers only
depends_onYesFrom machines.*.depends_on
deployPartlyFrom machines.*.resources; not: only CPU and memory limits
developNoNot needed: Compose tooling, not the environment's behavior
device_cgroup_rulesNoBy design: host-level tuning: no meaning for the same machine as a VM
devicesNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
dnsNoNot yet: a DNS concept for networks (servers, search domains)
dns_optNoNot yet: with DNS
dns_searchNoNot yet: with DNS
domainnameNoNot yet: with DNS
entrypointPartlyWritten for Isoloom's own containers and init jobs; not: a machine's own: set it in its image
env_fileNoAnother way: via inputs
environmentPartlyFrom machines.*.inputs; not: only values given at launch; fixed values belong in the image
exposeNoAnother way: via machines.*.services (every port is reachable on the machine's networks)
extendsNoNot needed: Compose tooling, not the environment's behavior
external_linksNoNot needed: legacy; replaced by networks
extra_hostsYesFrom machines.*.networks (names of machines on other networks)
gpusNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
group_addNoIn the image: set it in the image (docker.build)
healthcheckYesFrom machines.*.services (a probe of every port)
hostnameYesFrom the machine's name
imageYesFrom machines.*.docker.image
initNoBy design: host-level tuning: no meaning for the same machine as a VM
ipcNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
isolationNoBy design: Windows containers only
label_fileNoNot needed: Compose tooling, not the environment's behavior
labelsNoNot needed: Compose tooling, not the environment's behavior
linksNoNot needed: legacy; replaced by networks
loggingNoBy design: host-level tuning: no meaning for the same machine as a VM
mac_addressNoBy design: addresses are fixed at the IP level, the same on every target
mem_limitNoAnother way: via machines.*.resources.memory_mb, written as deploy.resources.limits
mem_reservationNoBy design: host-level tuning: no meaning for the same machine as a VM
mem_swappinessNoBy design: host-level tuning: no meaning for the same machine as a VM
memswap_limitNoBy design: host-level tuning: no meaning for the same machine as a VM
modelsNoNot needed: Compose tooling, not the environment's behavior
network_modePartlyInternal; not: used by Isoloom's sidecars and check runner; a machine can't share another's network
networksYesFrom machines.*.networks (fixed addresses)
oom_kill_disableNoBy design: host-level tuning: no meaning for the same machine as a VM
oom_score_adjNoBy design: host-level tuning: no meaning for the same machine as a VM
pidNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
pids_limitNoBy design: host-level tuning: no meaning for the same machine as a VM
platformNoNot yet: a CPU architecture field (amd64, arm64), for VMs too
portsNoBy design: nothing is published on the host: the environment is reached from its own networks
post_startNoAnother way: via machines.*.docker.init (runs once the machine answers)
pre_startNoAnother way: via machines.*.depends_on and docker.init
pre_stopNoNot needed: Compose tooling, not the environment's behavior
privilegedNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
profilesYesFrom checks (a check profile)
providerNoNot needed: Compose tooling, not the environment's behavior
pull_policyNoNot needed: Compose tooling, not the environment's behavior
pull_refresh_afterNoNot needed: Compose tooling, not the environment's behavior
read_onlyNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
restartYesAlways unless-stopped: machines stay up like VMs
runtimeNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
scaleNoBy design: machines are individuals with their own addresses
secretsNoAnother way: via machines.*.inputs
security_optNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
shm_sizeNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
stdin_openNoNot needed: Compose tooling, not the environment's behavior
stop_grace_periodNoNot needed: Compose tooling, not the environment's behavior
stop_signalNoIn the image: set it in the image (docker.build)
storage_optNoBy design: host-level tuning: no meaning for the same machine as a VM
sysctlsPartlyFrom networks.*.gateway; not: only forwarding, for gateways and Isoloom's own router
tmpfsNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
ttyNoNot needed: Compose tooling, not the environment's behavior
ulimitsNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
use_api_socketNoBy design: would hand the host's Docker to a machine
userNoIn the image: set it in the image (docker.build)
userns_modeNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
utsNoNot yet, undecided: a container-runtime knob with no VM equivalent; would need a field under docker:
volumesPartlyRead-only mounts of init and check scripts; not: persistent or shared data: no concept in the format yet
volumes_fromNoNot yet: with volumes
working_dirNoIn the image: set it in the image (docker.build)

Networks

KeyImplementedNotes
attachableNoNot needed: Compose tooling, not the environment's behavior
driverNoBy design: always a bridge: the same layer-2 network as on VM targets
driver_optsNoBy design: host-level tuning: no meaning for the same machine as a VM
enable_ipv4NoBy design: networks are IPv4 (the default)
enable_ipv6NoNot yet: IPv6 networks
externalNoBy design: an environment is self-contained
internalYesFrom networks.*.internet: false (when nothing routes)
ipamYesFrom networks.*.cidr
labelsNoNot needed: Compose tooling, not the environment's behavior
nameNoBy design: names are scoped to the environment by Compose

Volumes

KeyImplementedNotes
driverNoNot yet: with volumes
driver_optsNoNot yet: with volumes
externalNoBy design: an environment is self-contained
labelsNoNot needed: Compose tooling, not the environment's behavior
nameNoBy design: names are scoped to the environment by Compose

Vagrant

From Vagrant 2.4.9 (config.vm, network types, provisioners).

Machine settings (config.vm)

KeyImplementedNotes
allow_fstab_modificationNoNot needed: shared folders are off: the project is copied into each VM
allow_hosts_modificationNoNot needed: Isoloom writes /etc/hosts itself (names of the other machines)
allowed_synced_folder_typesNoNot needed: shared folders are off: the project is copied into each VM
base_addressNoBy design: addresses are fixed at the IP level, the same on every target
base_macNoBy design: addresses are fixed at the IP level, the same on every target
boot_timeoutYesFixed: 10 minutes
boxPartlyFrom machines.*.vm.os; not: Linux images only; Windows comes later
box_architectureNoNot yet: a CPU architecture field (amd64, arm64)
box_check_updateNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
box_download_ca_certNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
box_download_ca_pathNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
box_download_checksumNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
box_download_checksum_typeNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
box_download_client_certNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
box_download_disable_ssl_revoke_best_effortNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
box_download_insecureNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
box_download_location_trustedNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
box_download_optionsNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
box_extra_download_optionsNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
box_server_urlNoNot yet, undecided: custom images: would need a field under vm:
box_urlNoNot yet, undecided: custom images: would need a field under vm:
box_versionNoNot yet: pinning images to a version
cloneNoNot needed: starts from another Vagrant machine; machines start from their image
cloud_initNoAnother way: via provisioning steps run any setup
cloud_init_configsNoAnother way: via provisioning steps run any setup
cloud_init_first_boot_onlyNoAnother way: via provisioning steps run any setup
communicatorNoNot yet: with Windows guests
defineYesFrom machines
diskNoNot yet: machines.*.resources.disk_gb
disksNoNot yet: machines.*.resources.disk_gb
graceful_halt_timeoutNoNot needed: Vagrant tooling, not the environment's behavior
guestNoNot yet: with Windows guests
host_nameNoNot needed: old name of hostname
hostnameYesFrom the machine's name
ignore_box_vagrantfileNoNot needed: Vagrant tooling, not the environment's behavior
networkYesFrom networks (see the network types below)
post_up_messageNoNot needed: Vagrant tooling, not the environment's behavior
providerYesFrom machines.*.resources (see each provider below)
provisionYesFrom machines.*.vm.provision (see the provisioners below)
provisionersNoNot needed: Vagrant's own list behind provision
synced_folderYesDisabled: the project is copied into each VM instead
usable_port_rangeNoBy design: would expose the environment on the user's machine

Network types

KeyImplementedNotes
private_networkYesFrom networks and machines.*.networks
forwarded_portNoBy design: would expose the environment on the user's machine
public_networkNoBy design: would put the environment on the user's LAN

Provisioners

KeyImplementedNotes
shellYesFrom machines.*.vm.provision (.sh), and Isoloom's own steps
fileYesThe project, copied into each VM
ansible_localYesFrom machines.*.vm.provision (.yml, .yaml)
ansibleNoBy design: Ansible runs inside the VM, never on the user's machine
chefNoAnother way: via a .sh provisioning step can run any tool
puppetNoAnother way: via a .sh provisioning step can run any tool
saltNoAnother way: via a .sh provisioning step can run any tool
cfengineNoAnother way: via a .sh provisioning step can run any tool
dockerNoBy design: VMs run their services natively; containers come from docker:
podmanNoBy design: VMs run their services natively; containers come from docker:
containerNoBy design: VMs run their services natively; containers come from docker:

Other settings

KeyImplementedNotes
config.sshNoNot needed: Vagrant tooling, not the environment's behavior
config.winrmNoNot yet: with Windows guests
config.winsshNoNot yet: with Windows guests
config.triggerNoNot needed: Vagrant tooling, not the environment's behavior
config.vagrantNoNot needed: Vagrant tooling, not the environment's behavior

Vagrant: VirtualBox

From Vagrant 2.4.9 (the provider's config class).

Settings

KeyImplementedNotes
auto_nat_dns_proxyNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
check_guest_additionsNoNot needed: Vagrant tooling, not the environment's behavior
cpusYesFrom machines.*.resources
customizationsNoBy design: provider-specific commands: the same machine must behave the same on every provider
customizeNoBy design: provider-specific commands: the same machine must behave the same on every provider
default_nic_typeNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
destroy_unused_network_interfacesNoNot needed: Vagrant tooling, not the environment's behavior
functional_vboxsfNoNot needed: shared folders are off: the project is copied into each VM
guiNoBy design: display, input and host devices: an environment is reached over its networks
linked_cloneNoNot yet: faster starts from one image (no change in behavior)
linked_clone_snapshotNoNot needed: Vagrant tooling, not the environment's behavior
memoryYesFrom machines.*.resources
nameYesThe environment and machine names, as the VM's display name
network_adapterNoBy design: networks come from config.vm.network private_network, the same on every provider
network_adaptersNoBy design: networks come from config.vm.network private_network, the same on every provider

Vagrant: VMware Desktop

From vagrant-vmware-desktop 3.0.5 (its config class).

Settings

KeyImplementedNotes
allowlist_verifiedNoNot needed: Vagrant tooling, not the environment's behavior
base_addressNoBy design: addresses are fixed at the IP level, the same on every target
base_macNoBy design: addresses are fixed at the IP level, the same on every target
clone_directoryNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
cpusNoAnother way: via machines.*.resources, written in vmx
enable_vmrun_ip_lookupNoNot needed: Vagrant tooling, not the environment's behavior
force_vmware_licenseNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
functional_hgfsNoNot needed: shared folders are off: the project is copied into each VM
guiNoBy design: display, input and host devices: an environment is reached over its networks
linked_cloneNoNot yet: faster starts from one image (no change in behavior)
memoryNoAnother way: via machines.*.resources, written in vmx
nat_deviceNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
network_adapterNoBy design: networks come from config.vm.network private_network, the same on every provider
network_adaptersNoBy design: networks come from config.vm.network private_network, the same on every provider
port_forward_network_pauseNoNot needed: Vagrant tooling, not the environment's behavior
shared_folder_special_charNoNot needed: shared folders are off: the project is copied into each VM
ssh_info_publicNoNot needed: Vagrant tooling, not the environment's behavior
unmount_default_hgfsNoNot needed: shared folders are off: the project is copied into each VM
utility_certificate_pathNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
utility_hostNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
utility_portNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
verify_vmnetNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
vmxPartlyFrom machines.*.resources; not: only displayName, numvcpus and memsize
whitelist_verifiedNoNot needed: Vagrant tooling, not the environment's behavior

Vagrant: Parallels

From vagrant-parallels 2.4.7 (its config class).

Settings

KeyImplementedNotes
check_guest_toolsNoNot needed: Vagrant tooling, not the environment's behavior
cpusYesFrom machines.*.resources
customizationsNoBy design: provider-specific commands: the same machine must behave the same on every provider
customizeNoBy design: provider-specific commands: the same machine must behave the same on every provider
destroy_unused_network_interfacesNoNot needed: Vagrant tooling, not the environment's behavior
functional_psfNoNot needed: shared folders are off: the project is copied into each VM
linked_cloneNoNot yet: faster starts from one image (no change in behavior)
linked_clone_snapshotNoNot needed: Vagrant tooling, not the environment's behavior
memoryYesFrom machines.*.resources
nameYesThe environment and machine names, as the VM's display name
network_adapterNoBy design: networks come from config.vm.network private_network, the same on every provider
network_adaptersNoBy design: networks come from config.vm.network private_network, the same on every provider
optimize_power_consumptionNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
regen_src_uuidNoNot needed: Vagrant tooling, not the environment's behavior
update_guest_toolsNoNot needed: Vagrant tooling, not the environment's behavior

Vagrant: libvirt

From vagrant-libvirt 0.12.2 (its config class).

Settings

KeyImplementedNotes
autostartNoNot needed: Vagrant tooling, not the environment's behavior
bootNoBy design: machines boot from their image
boot_orderNoBy design: machines boot from their image
cdromsNoBy design: display, input and host devices: an environment is reached over its networks
channelNoBy design: display, input and host devices: an environment is reached over its networks
channelsNoBy design: display, input and host devices: an environment is reached over its networks
clock_absoluteNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
clock_adjustmentNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
clock_basisNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
clock_offsetNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
clock_timerNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
clock_timersNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
clock_timezoneNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
cmd_lineNoBy design: machines boot from their image
connect_via_sshNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
cpu_affinityNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
cpu_fallbackNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
cpu_featureNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
cpu_featuresNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
cpu_modeNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
cpu_modelNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
cpu_topologyNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
cpuaffinitiyNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
cpusYesFrom machines.*.resources
cpusetNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
cputopologyNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
default_prefixNoNot needed: Vagrant tooling, not the environment's behavior
descriptionNoNot needed: Vagrant tooling, not the environment's behavior
disk_address_typeNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
disk_busNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
disk_controller_modelNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
disk_deviceNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
disk_driverNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
disk_driver_optsNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
disksNoNot yet: machines.*.resources.disk_gb
driverNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
dtbNoBy design: machines boot from their image
emulator_pathNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
featuresNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
features_hypervNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
floppiesNoBy design: display, input and host devices: an environment is reached over its networks
forward_ssh_portNoNot needed: Vagrant tooling, not the environment's behavior
graphics_autoportNoBy design: display, input and host devices: an environment is reached over its networks
graphics_glNoBy design: display, input and host devices: an environment is reached over its networks
graphics_ipNoBy design: display, input and host devices: an environment is reached over its networks
graphics_passwdNoBy design: display, input and host devices: an environment is reached over its networks
graphics_portNoBy design: display, input and host devices: an environment is reached over its networks
graphics_typeNoBy design: display, input and host devices: an environment is reached over its networks
graphics_websocketNoBy design: display, input and host devices: an environment is reached over its networks
hostNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
host_device_exclude_prefixesNoNot needed: Vagrant tooling, not the environment's behavior
hyperv_featureNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
id_ssh_key_fileNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
initrdNoBy design: machines boot from their image
inputNoBy design: display, input and host devices: an environment is reached over its networks
inputsNoBy design: display, input and host devices: an environment is reached over its networks
kernelNoBy design: machines boot from their image
keymapNoBy design: display, input and host devices: an environment is reached over its networks
kvm_hiddenNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
launchsecurityNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
launchsecurity_dataNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
loaderNoBy design: machines boot from their image
machine_archNoNot yet: a CPU architecture field (amd64, arm64)
machine_typeNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
machine_virtual_sizeNoNot yet: machines.*.resources.disk_gb
management_network_addressNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_autostartNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_deviceNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_domainNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_driver_iommuNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_guest_ipv6NoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_iface_nameNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_keepNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_macNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_modeNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_model_typeNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_mtuNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_nameNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_pci_busNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
management_network_pci_slotNoNot needed: Vagrant's management network, used to provision (like the NAT interface elsewhere)
memballoon_enabledNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
memballoon_modelNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
memballoon_pci_busNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
memballoon_pci_slotNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
memoryYesFrom machines.*.resources
memory_backingNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
memorybackingNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
memtuneNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
memtunesNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
mgmt_attachNoNot needed: Vagrant tooling, not the environment's behavior
nestedNoNot yet, undecided: nested virtualization: would need a field under vm:
nic_adapter_countNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
nic_model_typeNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
nodesetNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
numa_nodesNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
nvramNoBy design: machines boot from their image
passwordNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
pciNoBy design: display, input and host devices: an environment is reached over its networks
pcisNoBy design: display, input and host devices: an environment is reached over its networks
portNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
proxy_commandNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
qemu_argsNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
qemu_envNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
qemu_use_agentNoNot needed: Vagrant tooling, not the environment's behavior
qemu_use_sessionNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
qemuargsNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
qemuenvNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
randomNoBy design: display, input and host devices: an environment is reached over its networks
random_hostnameNoNot needed: Vagrant tooling, not the environment's behavior
redirdevNoBy design: display, input and host devices: an environment is reached over its networks
redirdevsNoBy design: display, input and host devices: an environment is reached over its networks
redirfilterNoBy design: display, input and host devices: an environment is reached over its networks
redirfiltersNoBy design: display, input and host devices: an environment is reached over its networks
rngNoBy design: display, input and host devices: an environment is reached over its networks
serialNoBy design: display, input and host devices: an environment is reached over its networks
serialsNoBy design: display, input and host devices: an environment is reached over its networks
sharesNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
smartcardNoBy design: display, input and host devices: an environment is reached over its networks
smartcard_devNoBy design: display, input and host devices: an environment is reached over its networks
snapshot_pool_nameNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
socketNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
sound_typeNoBy design: display, input and host devices: an environment is reached over its networks
storageNoNot yet: machines.*.resources.disk_gb
storage_pool_nameNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
storage_pool_pathNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
suspend_modeNoNot needed: Vagrant tooling, not the environment's behavior
sysinfoNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
system_uriNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
titleNoNot needed: Vagrant tooling, not the environment's behavior
tpm_modelNoNot yet: with Windows guests
tpm_pathNoNot yet: with Windows guests
tpm_typeNoNot yet: with Windows guests
tpm_versionNoNot yet: with Windows guests
uriNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
usbNoBy design: display, input and host devices: an environment is reached over its networks
usb_controllerNoBy design: display, input and host devices: an environment is reached over its networks
usbctl_devNoBy design: display, input and host devices: an environment is reached over its networks
usbsNoBy design: display, input and host devices: an environment is reached over its networks
usernameNoNot needed: the user's own setup (how Vagrant reaches the hypervisor, where it stores things)
uuidNoNot needed: Vagrant tooling, not the environment's behavior
video_accel3dNoBy design: display, input and host devices: an environment is reached over its networks
video_typeNoBy design: display, input and host devices: an environment is reached over its networks
video_vramNoBy design: display, input and host devices: an environment is reached over its networks
volume_cacheNoNot needed: Vagrant tooling, not the environment's behavior
watchdogNoBy design: display, input and host devices: an environment is reached over its networks
watchdog_devNoBy design: display, input and host devices: an environment is reached over its networks

Vagrant: Hyper-V

From Vagrant 2.4.9 (the provider's config class).

Settings

KeyImplementedNotes
auto_start_actionNoNot needed: Vagrant tooling, not the environment's behavior
auto_stop_actionNoNot needed: Vagrant tooling, not the environment's behavior
cpusNoNot yet: with Hyper-V hosts
differencing_diskNoNot yet: faster starts from one image (no change in behavior)
enable_automatic_checkpointsNoNot needed: Vagrant tooling, not the environment's behavior
enable_checkpointsNoNot needed: Vagrant tooling, not the environment's behavior
enable_enhanced_session_modeNoBy design: display, input and host devices: an environment is reached over its networks
enable_virtualization_extensionsNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
ip_address_timeoutNoNot needed: Vagrant tooling, not the environment's behavior
linked_cloneNoNot yet: faster starts from one image (no change in behavior)
macNoBy design: networks come from config.vm.network private_network, the same on every provider
maxmemoryNoBy design: hypervisor tuning: no meaning for the same machine as a container or on another provider
memoryNoNot yet: with Hyper-V hosts
vlan_idNoBy design: networks come from config.vm.network private_network, the same on every provider
vm_integration_servicesNoNot needed: Vagrant tooling, not the environment's behavior
vmnameNoNot yet: with Hyper-V hosts

Terraform: Proxmox

From bpg/proxmox 0.115.0 (its resource types).

Resource types

KeyImplementedNotes
proxmox_aclNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_acme_accountNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_acme_certificateNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_acme_dns_pluginNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_apt_repositoryNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_apt_standard_repositoryNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_backup_jobNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_ceph_poolNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_cloned_vmNoNot yet: linked clones: faster starts from one image (no change in behavior)
proxmox_cluster_optionsNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_download_fileNoNot yet: with the Proxmox generator
proxmox_hagroupNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_hardware_mapping_dirNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_hardware_mapping_pciNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_hardware_mapping_usbNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_haresourceNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_haruleNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_metrics_serverNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_network_applierNoBy design: changes the server's own network; an environment gets its own SDN networks
proxmox_network_linux_bondNoBy design: changes the server's own network; an environment gets its own SDN networks
proxmox_network_linux_bridgeNoBy design: changes the server's own network; an environment gets its own SDN networks
proxmox_network_linux_vlanNoBy design: changes the server's own network; an environment gets its own SDN networks
proxmox_node_configNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_node_disk_zfsNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_node_firewallNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_oci_imageNoNot yet, undecided: LXC containers: a way to run docker: machines on Proxmox
proxmox_pool_membershipNoNot yet: with the Proxmox generator
proxmox_realm_ldapNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_realm_openidNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_realm_syncNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_replicationNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_sdn_applierNoNot yet: with the Proxmox generator
proxmox_sdn_controller_evpnNoNot yet, undecided: multi-node clusters (a simple zone covers one node)
proxmox_sdn_fabric_node_openfabricNoNot yet, undecided: multi-node clusters (a simple zone covers one node)
proxmox_sdn_fabric_node_ospfNoNot yet, undecided: multi-node clusters (a simple zone covers one node)
proxmox_sdn_fabric_openfabricNoNot yet, undecided: multi-node clusters (a simple zone covers one node)
proxmox_sdn_fabric_ospfNoNot yet, undecided: multi-node clusters (a simple zone covers one node)
proxmox_sdn_subnetNoBy design: a subnet's gateway lives on the host bridge, which would route between networks; the router VM holds it
proxmox_sdn_vnetNoNot yet: with the Proxmox generator
proxmox_sdn_zone_evpnNoNot yet, undecided: multi-node clusters (a simple zone covers one node)
proxmox_sdn_zone_qinqNoNot yet, undecided: multi-node clusters (a simple zone covers one node)
proxmox_sdn_zone_simpleNoNot yet: with the Proxmox generator
proxmox_sdn_zone_vlanNoNot yet, undecided: multi-node clusters (a simple zone covers one node)
proxmox_sdn_zone_vxlanNoNot yet, undecided: multi-node clusters (a simple zone covers one node)
proxmox_storage_cifsNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_storage_directoryNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_storage_lvmNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_storage_lvmthinNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_storage_nfsNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_storage_pbsNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_storage_zfspoolNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_user_tokenNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_virtual_environment_aclNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_acme_accountNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_acme_certificateNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_acme_dns_pluginNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_apt_repositoryNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_apt_standard_repositoryNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_certificateNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_virtual_environment_cloned_vmNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_cluster_firewallNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_virtual_environment_cluster_firewall_security_groupNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_virtual_environment_cluster_optionsNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_containerNoNot yet, undecided: LXC containers: a way to run docker: machines on Proxmox
proxmox_virtual_environment_dnsNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_virtual_environment_download_fileNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_fileNoNot yet: with the Proxmox generator
proxmox_virtual_environment_firewall_aliasNoNot yet, undecided: the Proxmox firewall: reach rules enforced outside the VMs, besides the router
proxmox_virtual_environment_firewall_ipsetNoNot yet, undecided: the Proxmox firewall: reach rules enforced outside the VMs, besides the router
proxmox_virtual_environment_firewall_optionsNoNot yet, undecided: the Proxmox firewall: reach rules enforced outside the VMs, besides the router
proxmox_virtual_environment_firewall_rulesNoNot yet, undecided: the Proxmox firewall: reach rules enforced outside the VMs, besides the router
proxmox_virtual_environment_groupNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_virtual_environment_hagroupNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_hardware_mapping_dirNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_hardware_mapping_pciNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_hardware_mapping_usbNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_haresourceNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_haruleNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_hostsNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_virtual_environment_metrics_serverNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_network_linux_bridgeNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_network_linux_vlanNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_node_firewallNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_oci_imageNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_poolNoNot yet: with the Proxmox generator
proxmox_virtual_environment_pool_membershipNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_realm_ldapNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_realm_openidNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_realm_syncNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_replicationNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_roleNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_virtual_environment_sdn_applierNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_sdn_fabric_node_openfabricNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_sdn_fabric_node_ospfNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_sdn_fabric_openfabricNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_sdn_fabric_ospfNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_sdn_subnetNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_sdn_vnetNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_sdn_zone_evpnNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_sdn_zone_qinqNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_sdn_zone_simpleNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_sdn_zone_vlanNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_sdn_zone_vxlanNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_storage_cifsNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_storage_directoryNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_storage_lvmNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_storage_lvmthinNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_storage_nfsNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_storage_pbsNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_storage_zfspoolNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_timeNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_virtual_environment_userNoBy design: administers the Proxmox server itself, not an environment on it
proxmox_virtual_environment_user_tokenNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_vmNoNot needed: older name of the resource without virtual_environment_
proxmox_virtual_environment_vm2NoNot needed: an older, experimental VM resource
proxmox_vmNoNot yet: with the Proxmox generator