FEATURES:
resource/virtual_machine
: Add support for the paravirtual RDMA (PVRDMA)vmxnet3vrdma
network interface adapter type. (#1598)resource/virtual_machine
: Adds support for an optionalextra_config_reboot_required
argument tor/virtual_machine
. This argument allows you to configure if a virtual machine reboot is enforced whenextra_config
is changed. (#1603)resource/virtual_machine
: Adds support for two (2) CD-ROMs attached to a virtual machine. (#1631)resource/compute_cluster
: Add support for vSAN compression and deduplication. (#1702)resource/compute_cluster
: Add support for vSAN performance services. (#1727)resource/compute_cluster
: Add support for vSAN unmap. (#1745)
BUG FIXES:
resource/datastore_cluster
: Fixes error parsing string as enum type forsdrs_advanced_options
. (1749)
IMPROVEMENTS:
resource/virtual_machine
: Enables virtual machine reconfiguration tasks to use the providerapi_timeout
setting. (#1645)resource/host
: Documentation updates. (#1675)resource/host_virtual_switch
: Allowsstandby_nics
onr/vsphere_host_virtual_switch
to be an optional attribute sostandby_nics = []
does not need to be defined when no standby NICs are required/available. (#1695)resource/compute_cluster_vm_anti_affinity_rule
: Documentation updates. (#1700)
CHORES:
- Bumps
vmware/govmomi
fromv0.25.0
tov0.29.0
. (#1701)
BUG FIXES:
resource/virtual_machine
: Fixes ability to clone and import virtual machine resources with SATA and IDE controllers. (#1629)resource/dvs
: Prevent setting unsupported traffic classes. (#1633)resource/virtual_machine
: Fixes provider panic when a non supported PCI device is added outside Terraform to a virtual machine. (#1627)resource/datacenter
: UpdatesresourceVSphereDatacenterImport
to include the datacenter folder in which the datacenter object may exist. (#1607)resource/virtual_machine
- Fixes issue where PCI passthrough devices not applied during initial cloning. (#1625)helper/content_library
: Fixes content library item local iso upload (#1665)
FEATURES:
resource/vsphere_host
: Adds support for custom attributes. (#1619)resource/virtual_machine
: Adds support for guest customization script for Linux guest operating systems. (#1621)datasource/virtual_machine
: support lookup byuuid
. (#1650)resource/compute_cluster
: Adds support for scalable shares. (#1634)resource/resource_pool
: Adds support for scalable shares. (#1634)datasource/compute_cluster_host_group
: New data source can be used to read general attributes of a host group. (#1636)
IMPROVEMENTS:
resource/vsphere_resource_pool
: Documentation updates. (#1620)resource/virtual_machine
: Documentation updates. (#1630)resource/virtual_machine
: Addstools_upgrade_policy
to list of params that trigger a reboot (#1644)resource/datastore_cluster
: Documentation updates. (#1670)provider
: Index page documentation updates. (#1672)resource/host_port_group
: Documentation updates. (#1671)provider
: Updates Go to 1.18 and remove vendoring. (#1676)provider
: Updates Terraform Plugin SDK to 2.17.0. (#1677)
If you are using v2.1.0, please upgrade to this new version as soon as possible.
BUG FIXES:
resource/compute_cluster
: Reverts (#1432) switchingvsan_disk_group
back toTypeList
. Switching fromTypeList
toTypeSet
is a sore spot when it comes to what is considered a breaking change to provider configuration. Generally we accept that users may use list indices within their config. When this attribute switched toTypeSet
this caused a breaking change for configurations doing that, asTypeSet
is indexed by a hash value that Terraform calculates. Furthermore other code around type assertions was not changed and this attribute actually crashed the provider inv2.1.0
, we will address the now re-opened (#1205) inv3.0.0
of the provider. (#1615)
FEATURES:
resource/virtual_machine
: Adds support to check the power state of the resource. (#1407)
BUG FIXES:
resource/compute_cluster
: Updatesha_datastore_apd_response_delay
to the API default (180) forvmTerminateDelayForAPDSec
. Previously set to 3 (minutes) however the codebase uses this value as seconds. Users who had the field left blank may see a warning about the state value drifting from 3 to 180, after applying this should go away. (#1542)resource/virtual_machine
: Don't readstorage_policy_id
if vCenter is not configured. This is not a scenario we test or support explicitly (#1408)datasource/virtual_machine
: Fixes silent failure and adddefault_ip_address
attribute. (#1532)resource/virtual_machine
: Fixs race condition by always forcing a new datastore id. (#1486)resource/virtual_machine
: Fixes default guest OS identifier. (#1543)resource/virtual_machine
: Updateswindows_options
to ensure all required options for domain join are provided (#1562)resource/virtual_machine
: Fixes migration of all disks and configuration files when the datastore_cluster_id is changed on the resource. (#1546)resource/file
: Fixes upload of VMDK to datastore on ESXi host. (#1409)resource/tag
: Fixes deletion detection intag
andtag_category
. (#1579)resource/virtual_machine
: Setsannotation
to optional + computed. (#1588)
FEATURES:
datasource/license
: New datasource can be used to read general attributes of a license. (#1580)resource/virtual_machine
: Adds thetools_upgrade_policy
argument to set the upgrade policy for VMware Tools. (#1506)
IMPROVEMENTS:
resource/vapp_container
: Documentation updates. (#1551)resource/computer_cluster_vm_affinity_rule
: Documentation updates. (#1544)resource/computer_cluster_vm_anti_affinity_rule
: Documentation updates. (#1544)resource/virtual_machine
: Documentation updates. (#1513)resource/custom_attribute
: Documentation updates. (#1508)resource/vm_storage_policy
: Documentation updates. (#1541)datasource/storage_policy
: Documentation updates. (#1541)resource/distributed_virtual_switch
: Documentation updates. (#1504)datasource/distributed_virtual_switch
: Documentation updates. (#1504)resource/distributed_virtual_switch
: Adds support for dvs versions6.6.0
and7.0.3
. (#1501)datasource/content_library_item
: Documentation updates. (#1507)resource/ha_vm_override
: Addsdisabled
option toha_vm_restart_priority
. (#1505)resource/virtual_disk
: Documentation updates. (#1569)resource/virtual_machine
: Documentation updates. (#1566)resource/content_library
: Documentation updates. (#1577)resource/virtual_machine
: Updates the documentation with the conditions that causes the virtual machine to reboot on update. (#1522)resource/distributed_virtual_switch
: Devices argument is now optional (#1468)resource/virtual_host
: Adds support add tags to hosts. (#1499)resource/content_library_item
: Documentation updates. (#1586)resource/file
: Documentation updates and deletion fix. (#1590)resource/virtual_machine
: Documentation updates. (#1595)resource/tag_category
: Performs validation of associable types and update documentation around "All" which never worked. (#1602)
BUG FIXES:
resource/virtual_machine
: Fix logic bug that caused the provider to set unsupported fields when talking to vsphere 6.5. (1430)resource/virtual_machine
: Fix resource diff bug where it was not possible to ignore changes tocdrom
subresource. (1433)
IMPROVEMENTS:
resource/virtual_machine
: Support periodic time syncing for VMs on vsphere 7.0U1 onwards. (1431)
BUG FIXES:
resource/virtual_machine
: Only set vvtd/vbs if vsphere version is newer than 6.5. (1423)
BREAKING CHANGES:
provider
: Moving forward this provider will only work with Terraform version v0.12 and later.resource/virtual_machine
: Deprecated attributename
has been removed from thedisk
subresource.
BUG FIXES:
datasource/ovf_datasource
: Fix validation error when importing OVF spec. (1398)resource/virtual_machine
: Fix post-import VM regression. (1361)resource/virtual_machine
: Round up when calculating disk capacity. (1397)resource/vnic
: Fix default netstack name. (1376)
IMPROVEMENTS:
provider
: Provider wide API timeout setting. (1405)provider
: Enable keepalive for REST API sessions. (1301)provider
: Upgrade Plugin SDK to 2.6.1 (1379)datasource/virtual_machine
: Added 'network_interfaces' output. (#1274)resource/virtual_machine
: Allow unconfigurable vApp properties to be set. (1199)resource/virtual_machine
: Enable VBS (vbsEnabled) and I/O MMU (vvtdEnabled). (1287)resource/virtual_machine
: Addedreplace_trigger
to support replacement of vms based external changes such as cloud_init (#1360)
BUG FIXES:
- Minor fixes of issues that came up during testing against vSphere 7.0
- Change the way we set the timeout for maintenance mode (#1392)
IMPROVEMENTS:
provider
: vSphere 7 compatibility validation (#1381)resource/vm
: Allow hardware version up to 19 (#1391)
BUG FIXES:
resource/vsphere_entity_permissions
: Sorting permission objects on username/groupname before storing. (#1311)resource/vm
: Limit netmask length for ipv4 and ipv6 netmasks. (#1321)resource/vm
: Fix missing vApp properties. (#1322)
FEATURES:
data/vsphere_ovf_vm_template
: Created data source OVF VM Template. This new data source allowsvsphere_virtual_machine
to be created by its exported attributes. See PR for more details. (#1339)
IMPROVEMENTS:
resource/distributed_virtual_switch
: Allow vsphere 7. (#1363)provider
: Bump Go to version 1.16. (#1365)
BUG FIXES:
resource/vm
: Support for no disks in config (#1241)resource/vm
: Make API timeout configurable when building VMs (#1278)
BUG FIXES:
resource/vm
: Prevent guest_id nil condition. (#1234)
IMPROVEMENTS:
data/content_library_item
: Addtype
to content library item data source. (#1184)resource/virtual_switch
: Fix port group resource to enable LACP in virtual switch only. (#1214)resource/distributed_port_group
: Import distributed port group using MOID. (#1208)resource/host_port_group
: Add support for importing. (#1194)resource/VM
: Allow more config options to be changed from OVF. (#1218)resource/VM
: Convert folder path to MOID. (#1207)
BUG FIXES:
resource/datastore_cluster
: Fix missing field in import. (#1203)resource/VM
: Change default OS method on bare VMs. (#1217)resource/VM
: Read virtual machine after clone and OVF/OVA deploy. (#1221)
BUG FIXES:
resource/vm
: Skip SCSI controller check when empty. (#1179)resource/vm
: Make storage_policy_id computed to prevent flapping when unset. (#1185)resource/vm
: Ignore nil objects in host network on read. (#1186)resource/vm
: Keep progress channel open when deploying an OVF. (#1187)resource/vm
: Set SCSI controller type to unknown when nil. (#1188)
IMPROVEMENTS:
resource/content_library_item
: Add local upload, OVA, and vm-template sources. (#1196)resource/content_library
: Subscription and publication support. (#1197)resource/vm
: Content library vm-template, disk type, and vApp property support. (#1198)
BUG FIXES:
resource/vnic
: Fix missing fields on vnic import. (#1162)resource/virtual_machine
: Ignore thin_provisioned and eagerly_scrub during DiskPostCloneOperation. (#1161)resource/virtual_machine
: Fix SetHardwareOptions to fetch the hardware version from QueryConfigOption. (#1159)
IMPROVEMENTS:
resource/virtual_machine
: Allow performing a linked-clone from a template. (#1158)data/virtual_machine
: Merge the virtual machine configuration schema. (#1157)
FEATURES:
resource/compute_cluster
: Basic vSAN support on compute clusters. (#1151)resource/role
: Resource and data source to create and manage vSphere roles. (#1144)resource/entity_permission
: Resource to create and manage vSphere permissions. (#1144)data/entity_permission
: Data source to acquire ESXi host thumbprints . (#1142)
BUG FIXES:
resource/vm
: Set guest_id before customization. (#1139)
FEATURES:
resource/vm
: Support for SATA and IDE disks. (#1118)
FEATURES:
resource/vm
: Add support for OVA deployment. (#1105)
BUG FIXES:
resource/vm
: Delete disks on destroy when deployed from OVA/OVF. (#1106)resource/vm
: Skip PCI passthrough operations if there are no changes. (#1112)
FEATURES:
data/dynamic
: Data source which can be used to match any tagged managed object. (#1103)resource/vm_storage_policy_profile
: A resource for tag based storage placement. policies management. (#1094)resource/virtual_machine
: Add support for PCI passthrough devices on virtual machines. (#1099)data/host_pci_device
: Data source which will locate the address of a PCI device on a host. (#1099)
IMPROVEMENTS:
resource/custom_attribute
: Fix id in error message when category is missing. (#1088)resource/virtual_machine
: Add vApp properties with OVF deployment. (#1082)
IMPROVEMENTS:
resource/host
&resource/compute_cluster
: Add arguments for specifying if cluster management should be handled inhost
orcompute_cluster
resource. (#1085)resource/virtual_machine
: Handle OVF argument validation during VM creation. (#1084)resource/host
: Disconnect rather than entering maintenance mode when deleting. (#1083)
BUG FIXES:
resource/virtual_machine
: Skip unexpected NIC entries. (#1067)- Respect
session_persistence
for REST sessions. (#1077)
FEATURES:
resource/virtual_machine
: Allow users to deploy OVF templates from both from local system and remote URL. (#1052)
IMPROVEMENTS:
resource/virtual_machine
: Markproduct_key
as sensitive. (#1045)resource/virtual_machine
: Increase maxhardware_version
for vSphere v7.0. (#1056)
BUG FIXES:
resource/virtual_machine
: Fix to disk bus sorting. (#1039)resource/virtual_machine
: Only includehardware_version
in CreateSpecs. (#1055)
IMPROVEMENTS:
- Use built in session persistence in govmomi. (#1050)
IMPROVEMENTS:
resource/virtual_disk
: Support VMDK files. (#987)
BUG FIXES:
resource/virtual_machine
: Fix disk controller sorting. (#1032)
IMPROVEMENTS:
resource/virtual_machine
: Add support for hardware version tracking and upgrading. (#1020)data/vsphere_network
: Handle cases of network port groups with same name usingdistributed_virtual_switch_uuid
. (#1001)
BUG FIXES:
resource/virtual_machine
: Fix working with orphaned devices. (#1005)resource/virtual_machine
: Ignoreguest_id
with content library. (#1014)
FEATURES:
- New Data Source:
content_library
(#985) - New Data Source:
content_library_item
(#985) - New Resource:
content_library
(#985) - New Resource:
content_library_item
(#985)
IMPROVEMENTS:
resource/virtual_machine
: Addpoweron_timeout
option for the amount of time to give a VM to power on. (#990)
IMPROVEMENTS:
resource/virtual_machine
: Optimize OS family query. (#959)- Migrate provider to Terraform plugin SDK. (#982)
BUG FIXES:
resource/virtual_machine
: Setstorage_policy_id
based off of VM rather than template. (#970)
FEATURES:
- New Data Source:
storage_policy
(#881)
IMPROVEMENTS:
- Switch to govmomi REST client (#955)
- Add storage policy to
virtual_machine
resource. ** Requiresprofile-driven storage
privilege on vCenter Server for the Terraform provider user. (#881)
IMPROVEMENTS:
resource/virtual_machine
: Do not throw error when disk path is not known yet. (#944)
BUG FIXES:
resource/virtual_machine
: Do not set datastoreID in RelocateSpec when datastore_cluster is set. (#933)resource/vapp_container
: Fix handling of child vApp containers. (#941)resource/virtual_disk
: Enforce .vmdk suffix onvmdk_path
. (#942)
IMPROVEMENTS
resource/host
Add details to error messages. (#850)resource/virtual_machine
: Pick default datastore for extra disks. (#897)resource/virtual_machine
: Extendignored_guest_ips
to support CIDR. (#841)
FEATURES:
- New Resource:
vsphere_vnic
(#876)
BUG FIXES:
resource/virtual_machine
: Allow blank networkID in order to support cloning into clusters that do not include the source network. (#787)resource/host
: Properly handle situation where NIC teaming policy isnil
. (#889)- Limit scope when listing network interfaces. (#840)
resource/compute_cluster
: Set HA Admission Control Failure tooff
before deleting. (#891)resource/virtual_machine_snapshot
: Fix typo in error condition. (#906)tags
: Return matched tag rather than last tag in list. (#910)resource/virtual_machine
: Unmount ISO when switching CDROM backends. (#920)resource/virtual_machine
: Migrate VM when moving to different root resource pool. (#931)
IMPROVEMENTS:
- Add
vim_keep_alive
which sets a keepalive interval for VIM session. (#792) resource/virtual_machine
: Markwindows_sysprep_text
as sensitive. (#802)
FEATURES:
- New Resource:
vsphere_host
(#836)
BUG FIXES:
resource/virtual_machine
: Change the way we detect if a VM is in a vApp. (#825)- Delete tags and tag_categories when they are removed. (#801)
IMPROVEMENTS:
resource/virtual_machine
: Allow cloning of powered on virtual machines. (#785)- Add keep alive timer for VIM sessions. (#792)
BUG FIXES:
resource/virtual_machine
: Ignore validation when interpolation is not available. (#784)resource/virtual_machine
: Only set vApp properties that are UserConfigurable. (#751)resource/virtual_machine
: Setnetwork_id
to empty string when cloning avirtual_machine
to a cluster that is not part of source DVS. (#787)
IMPROVEMENTS:
- Add support for importing datacenters. (#737)
- Document max character limit on
run_once_command_list
. (#748) - Add missing ENV variable checks for acceptance tests. (#758)
- Switch to Terraform 0.12 SDK which is required for Terraform 0.12 support. This is the first release to use the 0.12 SDK required for Terraform 0.12 support. Some provider behaviour may have changed as a result of changes made by the new SDK version. (#760)
FEATURES:
- New Data Source:
vsphere_folder
(#709)
IMPROVEMENTS:
- Update tf-vsphere-devrc.mk.example to include all environment variables (#707)
- Add Go Modules support (#705)
- Fix assorted typos in documentation
resource/virtual_machine
: Add support for using guest.ipAddress for older versions of VM Tools. (#684)
BUG FIXES:
resource/virtual_machine
: Do not set optionalignored_guest_ips
on read (#726)
IMPROVEMENTS:
resource/virtual_machine
: Increase logging after old config expansion during diff checking (#661)resource/virtual_machine
: Unlockmemory_reservation
from maximum whenmemory_reservation
is not equal tomemory
. (#680)
BUG FIXES:
resource/virtual_machine
: Return zero instead of nil for memory allocation and reservation values (#655)- Ignore nil interfaces when converting a slice of interfaces into a slice of strings. (#666)
resource/virtual_machine
: Use schema forproperties
elem definition invapp
schema. (#678)
FEATURES:
- New Resource:
vsphere_vapp_entity
(#640) resource/host_virtual_switch
: Add support for importing (#625)
IMPROVEMENTS:
resource/virtual_disk
: Update existing and add additional tests (#635)
BUG FIXES:
resource/virtual_disk
: Ignore "already exists" errors when creating directories on vSAN. (#639)- Find tag changes when first tag is changed. (#632)
resource/virtual_machine
: Do not ForceNew when clonetimeout
is changed. (#631)resource/virtual_machine_snapshot
: Raise error on snapshot create task error. (#628)
IMPROVEMENTS:
data/vapp_container
: Re-adddata_source_vapp_container
. (#617)
FEATURES:
- New Data Source:
vsphere_vapp_container
(#610)
BUG FIXES:
resource/virtual_machine
: Only relocate after create ifhost_system_id
is set and does not match host the VM currently resides on. (#609)resource/compute_cluster
: Return empty policy instead of trying to readnil
variable whenha_admission_control_policy
is set todisabled
. (#611)resource/virtual_machine
: Skip reading latency sensitivity parameters when LatencySensitivity isnil
. (#612)resource/compute_cluster
: Unset ID when the resource is not found. (#613)resource/virtual_machine
: Skip OS specific customization checks whenresource_pool_id
is not set. (#614)
FEATURES:
- New Resource:
vsphere_vapp_container
(#566) resource/vsphere_virtual_machine
: Added support for bus sharing on SCSI adapters. (#574)
IMPROVEMENTS:
resource/vsphere_datacenter
: Addedmoid
to expose the managed object ID because the datacenter's name is currently being used as theid
. (#575)resource/vsphere_virtual_machine
: Check if relocation is necessary after creation. (#583)
BUG FIXES:
resource/vsphere_virtual_machine
: The resource no longer attempts to set ResourceAllocation on virtual ethernet cards when the vSphere version is under 6.0. (#579)resource/vsphere_resource_pool
: The read function is now called at the end of resource creation. (#560)- Updated govmomi to v0.18. (#600)
FEATURES:
- New Resource:
vsphere_resource_pool
(#535)
IMPROVEMENTS:
data/vsphere_host
: Now exports theresource_pool_id
attribute, which points to the root resource pool of either the standalone host, or the cluster's root resource pool in the event the host is a member of a cluster. (#535)
BUG FIXES:
resource/vsphere_virtual_machine
: Scenarios that force a new resource will no longer create diff mismatches when external disks are attached with theattach
parameter. (#528)
FEATURES:
- New Data Source:
vsphere_compute_cluster
(#492) - New Resource:
vsphere_compute_cluster
(#487) - New Resource:
vsphere_drs_vm_override
(#498) - New Resource:
vsphere_ha_vm_override
(#501) - New Resource:
vsphere_dpm_host_override
(#503) - New Resource:
vsphere_compute_cluster_vm_group
(#506) - New Resource:
vsphere_compute_cluster_host_group
(#508) - New Resource:
vsphere_compute_cluster_vm_host_rule
(#511) - New Resource:
vsphere_compute_cluster_vm_dependency_rule
(#513) - New Resource:
vsphere_compute_cluster_vm_affinity_rule
(#515) - New Resource:
vsphere_compute_cluster_vm_anti_affinity_rule
(#515) - New Resource:
vsphere_datastore_cluster_vm_anti_affinity_rule
(#520)
IMPROVEMENTS:
resource/vsphere_virtual_machine
: Exposedlatency_sensitivity
, which can be used to adjust the scheduling priority of the virtual machine for low-latency applications. (#490)resource/vsphere_virtual_disk
: Introduced thecreate_directories
setting, which tells this resource to create any parent directories in the VMDK path. (#512)
IMPROVEMENTS:
resource/vsphere_virtual_machine
: Introduced thewait_for_guest_net_routable
setting, which controls whether or not the guest network waiter waits on an address that matches the virtual machine's configured default gateway. (#470)
BUG FIXES:
resource/vsphere_virtual_machine
: The resource now correctly blocksclone
workflows on direct ESXi connections, where cloning is not supported. (#476)resource/vsphere_virtual_machine
: Corrected an issue that was preventing VMs from being migrated from one cluster to another. (#474)resource/vsphere_virtual_machine
: Corrected an issue where changing datastore information and cloning/customization parameters (which forces a new resource) at the same time was creating a diff mismatch after destroying the old virtual machine. (#469)resource/vsphere_virtual_machine
: Corrected a crash that can come up from an incomplete lookup of network information during network device management. (#456)resource/vsphere_virtual_machine
: Corrected some issues where some post-clone configuration errors were leaving the resource half-completed and irrecoverable without direct modification of the state. (#467)resource/vsphere_virtual_machine
: Corrected a crash that can come up when a retrieved virtual machine has no lower-level configuration object in the API. (#463)resource/vsphere_virtual_machine
: Fixed an issue where disk sub-resource configurations were not being checked for newly created disks. (#481)
FEATURES:
- New Resource:
vsphere_storage_drs_vm_override
(#450) - New Resource:
vsphere_datastore_cluster
(#436) - New Data Source:
vsphere_datastore_cluster
(#437)
IMPROVEMENTS:
- The provider now has the ability to persist sessions to disk, which can help when running large amounts of consecutive or concurrent Terraform operations at once. See the provider documentation for more details. (#422)
resource/vsphere_virtual_machine
: This resource now supports import of resources or migrations from legacy versions of the provider (provider version 0.4.2 or earlier) into configurations that have theclone
block specified. See Additional requirements and notes for importing in the resource documentation for more details. (#460)resource/vsphere_virtual_machine
: Now supports datastore clusters. Virtual machines placed in a datastore cluster will use Storage DRS recommendations for initial placement, virtual disk creation, and migration between datastore clusters. Migrations made by Storage DRS outside of Terraform will no longer create diffs when datastore clusters are in use. (#447)resource/vsphere_virtual_machine
: Added support for ISO transport of vApp properties. The resource should now behave better with virtual machines cloned from OVF/OVA templates that use the ISO transport to supply configuration settings. (#381)resource/vsphere_virtual_machine
: Added support for client mapped CDROM devices. (#421)resource/vsphere_virtual_machine
: Destroying a VM that currently has external disks attached should now function correctly and not give a duplicate UUID error. (#442)resource/vsphere_nas_datastore
: Now supports datastore clusters. (#439)resource/vsphere_vmfs_datastore
: Now supports datastore clusters. (#439)
IMPROVEMENTS:
resource/vsphere_virtual_machine
: Themoid
attribute has now be re-added to the resource, exporting the managed object ID of the virtual machine. (#390)
BUG FIXES:
resource/vsphere_virtual_machine
: Fixed a crash scenario that can happen when a virtual machine is deployed to a cluster that does not have any hosts, or under certain circumstances such an expired vCenter license. (#414)resource/vsphere_virtual_machine
: Corrected an issue reading disk capacity values after a vCenter or ESXi upgrade. (#405)resource/vsphere_virtual_machine
: Opaque networks, such as those coming from NSX, should now be able to be correctly added as networks for virtual machines. (#398)
BUG FIXES:
resource/vsphere_virtual_machine
: Changed the update implemented in (#377) to use a local filter implementation. This corrects situations where virtual machines in inventory with orphaned or otherwise corrupt configurations were interfering with UUID searches, creating erroneous duplicate UUID errors. This fix applies to vSphere 6.0 and lower only. vSphere 6.5 was not affected. (#391)
BUG FIXES:
resource/vsphere_virtual_machine
: Looking up templates by their UUID now functions correctly for vSphere 6.0 and earlier. (#377)
BREAKING CHANGES:
- The
vsphere_virtual_machine
resource now has a new method of identifying virtual disk sub-resources, via thelabel
attribute. This replaces thename
attribute, which has now been marked as deprecated and will be removed in the next major version (2.0.0). Further to this, there is apath
attribute that now must also be supplied for external disks. This has lifted several virtual disk-related cloning and migration restrictions, in addition to changing requirements for importing. See the resource documentation for usage details.
IMPROVEMENTS:
resource/vsphere_virtual_machine
: Fixed an issue where certain changes happening at the same time (such as a disk resize along with a change of SCSI type) were resulting in invalid device change operations. (#371)resource/vsphere_virtual_machine
: Introduced thelabel
argument, which allows one to address a virtual disk independent of its VMDK file name and position on the SCSI bus. (#363)resource/vsphere_virtual_machine
: Introduced thepath
argument, which replaces thename
attribute for supplying the path for externally attached disks supplied withattach = true
, and is otherwise a computed attribute pointing to the current path of any specific virtual disk. (#363)resource/vsphere_virtual_machine
: Introduced theuuid
attribute, a new computed attribute that allows the tracking of a disk independent of its current position on the SCSI bus. This is used in all scenarios aside from freshly-created or added virtual disks. (#363)resource/vsphere_virtual_machine
: The virtual diskname
argument is now deprecated and will be removed from future releases. It no longer dictates the name of non-attached VMDK files and serves as an alias to the now-splitlabel
andpath
attributes. (#363)resource/vsphere_virtual_machine
: Cloning no longer requires you to choose a disk label (name) that matches the name of the VM. (#363)resource/vsphere_virtual_machine
: Storage vMotion can now be performed on renamed virtual machines. (#363)resource/vsphere_virtual_machine
: Storage vMotion no longer cares what your disks are labeled (named), and will not block migrations based on the naming criteria added after 1.1.1. (#363)resource/vsphere_virtual_machine
: Storage vMotion now works on linked clones. (#363)resource/vsphere_virtual_machine
: The import restrictions for virtual disks have changed, and rather than ensuring that diskname
arguments match a certain convention,label
is now expected to match a convention ofdiskN
, where N is the disk number, ordered by the disk's position on the SCSI bus. Importing to a configuration still usingname
to address disks is no longer supported. (#363)resource/vsphere_virtual_machine
: Now supports setting vApp properties that usually come from an OVF/OVA template or virtual appliance. (#303)
FEATURES:
IMPROVEMENTS:
- All vSphere provider resources that are capable of doing so now support custom attributes. Check the documentation of any specific resource for more details! (#229)
resource/vsphere_virtual_machine
: The resource will now disallow a disk'sname
coming from a value that is still unavailable at plan time (such as a computed value from a resource). (#329)
BUG FIXES:
resource/vsphere_virtual_machine
: Fixed an issue that was causing crashes when working with virtual machines or templates when no network interface was occupying the first available device slot on the PCI bus. (#344)
IMPROVEMENTS:
resource/vsphere_virtual_machine
: Network interface resource allocation options are now restricted to vSphere 6.0 and higher, as they are unsupported on vSphere 5.5. (#322)resource/vsphere_virtual_machine
: Resources that were deleted outside of Terraform will now be marked as gone in the state, causing them to be re-created during the next apply. (#321)resource/vsphere_virtual_machine
: Added some restrictions to storage vMotion to cover some currently un-supported scenarios that were still allowed, leading to potentially dangerous situations or invalid post-application states. (#319)resource/vsphere_virtual_machine
: The resource now treats disks that it does not recognize at a known device address as orphaned, and will setkeep_on_remove
to safely remove them. (#317)resource/vsphere_virtual_machine
: The resource now attempts to detect unsafe disk deletion scenarios that can happen from the renaming of a virtual machine in situations where the VM and disk names may share a common variable. The provider will block such operations from proceeding. (#305)
BREAKING CHANGES:
- The
vsphere_virtual_machine
data source has a new sub-resource attribute for disk information, nameddisks
. This takes the place ofdisk_sizes
, which has been moved to asize
attribute within this new sub-resource, and also contains information about the discovered disks'eagerly_scrub
andthin_provisioned
settings. This is to facilitate the ability to discover all settings that could cause issues when cloning virtual machines.
To transition to the new syntax, any disk
sub-resource in a
vsphere_virtual_machine
resource that depends on a syntax such as:
resource "vsphere_virtual_machine" "vm" {
...
disk {
name = "terraform-test.vmdk"
size = "${data.vsphere_virtual_machine.template.disk_sizes[0]}"
}
}
Should be changed to:
resource "vsphere_virtual_machine" "vm" {
...
disk {
name = "terraform-test.vmdk"
size = "${data.vsphere_virtual_machine.template.disks.0.size}"
}
}
If you are using linked_clone
, add the new settings for eagerly_scrub
and
thin_provisioned
:
resource "vsphere_virtual_machine" "vm" {
...
disk {
name = "terraform-test.vmdk"
size = "${data.vsphere_virtual_machine.template.disks.0.size}"
eagerly_scrub = "${data.vsphere_virtual_machine.template.disks.0.eagerly_scrub}"
thin_provisioned = "${data.vsphere_virtual_machine.template.disks.0.thin_provisioned}"
}
}
For a more complete example, see the cloning and customization example in the documentation.
BUG FIXES:
resource/vsphere_virtual_machine
: Fixed a bug with NIC device assignment logic that was causing a crash when adding more than 3 NICs to a VM. (#280)resource/vsphere_virtual_machine
: CDROM devices on cloned virtual machines are now connected properly on power on. (#278)resource/vsphere_virtual_machine
: Tightened the pre-clone checks for virtual disks to ensure that the size and disk types are the same between the template and the created virtual machine's configuration. (#277)
BUG FIXES:
resource/vsphere_virtual_machine
: Fixed an issue in the post-clone process when a CDROM device exists in configuration. (#276)
BUG FIXES:
resource/vsphere_virtual_machine
: Fixed issues related to correct processing VM templates with no network interfaces, or fewer network interfaces than the amount that will ultimately end up in configuration. (#269)resource/vsphere_virtual_machine
: Version comparison logic now functions correctly to properly disable certain features when using older versions of vSphere. (#272)
BUG FIXES:
resource/vsphere_virtual_machine
: Corrected an issue that was preventing the use of this resource on standalone ESXi. (#263)data/vsphere_resource_pool
: This data source now works as documented on standalone ESXi. (#263)
BREAKING CHANGES:
- The
vsphere_virtual_machine
resource has received a major update and change to its interface. See the documentation for the resource for full details, including information on things to consider while migrating the new version of the resource.
FEATURES:
- New Data Source:
vsphere_resource_pool
(#244) - New Data Source:
vsphere_datastore
(#244) - New Data Source:
vsphere_virtual_machine
(#244)
IMPROVEMENTS:
resource/vsphere_virtual_machine
: The distinct VM workflows are now better defined: all cloning options are now contained within aclone
sub-resource, with customization being acustomize
sub-resource off of that. Absence of theclone
sub-resource means no cloning or customization will occur. (#244)resource/vsphere_virtual_machine
: Nearly all customization options have now been exposed. Magic values such as hostname and DNS defaults have been removed, with some of these options now being required values depending on the OS being customized. (#244)resource/vsphere_virtual_machine
: Device management workflows have been greatly improved, exposing more options and fixing several bugs. (#244)resource/vsphere_virtual_machine
: Added support for CPU and memory hot-plug. Several other VM reconfiguration operations are also supported while the VM is powered on, guest type and VMware Tools permitting in some cases. (#244)resource/vsphere_virtual_machine
: The resource now supports both host and storage vMotion. Virtual machines can now be moved between hosts, clusters, resource pools, and datastores. Individual disks can be pinned to a single datastore with a VM located in another. (#244)resource/vsphere_virtual_machine
: The resource now supports import. (#244)resource/vsphere_virtual_machine
: Several other minor improvements, see documentation for more details. (#244)
BUG FIXES:
resource/vsphere_virtual_machine
: Several long-standing issues have been fixed, namely surrounding virtual disk and network device management. (#244)resource/vsphere_host_virtual_switch
: This resource now correctly supports a configuration with no NICs. (#256)data/vsphere_network
: No longer restricted to being used on vCenter. (#248)
FEATURES:
- New Data Source:
vsphere_network
(#201) - New Data Source:
vsphere_distributed_virtual_switch
(#170) - New Resource:
vsphere_distributed_port_group
(#189) - New Resource:
vsphere_distributed_virtual_switch
(#188)
IMPROVEMENTS:
- resource/vsphere_virtual_machine: The customization waiter is now tunable
through the
wait_for_customization_timeout
argument. The timeout can be adjusted or the waiter can be disabled altogether. (#199) - resource/vsphere_virtual_machine:
domain
now acts as a default fordns_suffixes
if the latter is not defined, setting the value indomain
as a search domain in the customization specification.vsphere.local
is not used as a last resort only. (#185) - resource/vsphere_virtual_machine: Expose the
adapter_type
parameter to allow the control of the network interface type. This is currently restricted tovmxnet3
ande1000
but offers more control than what was available before, and more interface types will follow in later versions of the provider. (#193)
BUG FIXES:
- resource/vsphere_virtual_machine: Fixed a regression with network discovery that was causing Terraform to crash while the VM was in a powered off state. (#198)
- All resources that can use tags will now properly remove their tags completely
(or remove any out-of-band added tags) when the
tags
argument is not present in configuration. (#196)
BUG FIXES:
- resource/vsphere_folder: Migration of state from a version of this resource before v0.4.0 now works correctly. (#187)
BREAKING CHANGES:
- The
vsphere_folder
resource has been re-written, and its configuration is significantly different. See the resource documentation for more details. Existing state will be migrated. (#179)
FEATURES:
- New Data Source:
vsphere_tag
(#171) - New Data Source:
vsphere_tag_category
(#167) - New Resoruce:
vsphere_tag
(#171) - New Resoruce:
vsphere_tag_category
(#164)
IMPROVEMENTS:
- resource/vsphere_folder: You can now create any kind of folder with this resource, not just virtual machine folders. (#179)
- resource/vsphere_folder: Now supports tags. (#179)
- resource/vsphere_folder: Now supports import. (#179)
- resource/vsphere_datacenter: Tags can now be applied to datacenters. (#177)
- resource/vsphere_nas_datastore: Tags can now be applied to NAS datastores. (#176)
- resource/vsphere_vmfs_datastore: Tags can now be applied to VMFS datastores. (#176)
- resource/vsphere_virtual_machine: Tags can now be applied to virtual machines. (#175)
- resource/vsphere_virtual_machine: Adjusted the customization timeout to 10 minutes (#168)
BUG FIXES:
- resource/vsphere_virtual_machine: This resource can now be used with networks with unescaped slashes in its network name. (#181)
- resource/vsphere_virtual_machine: Fixed a crash where virtual NICs were created with networks backed by a 3rd party hardware VDS. (#181)
- resource/vsphere_virtual_machine: Fixed crashes and spurious diffs that were caused by errors in the code that associates the default gateway with its correct network device during refresh. (#180)
BREAKING CHANGES:
vsphere_virtual_machine
now waits on a routeable IP address by default, and does not wait when runningterraform plan
,terraform refresh
, orterraform destroy
. There is also now a timeout of 5 minutes, after whichterraform apply
will fail with an error. Note that the apply may not fail exactly on the 5 minute mark. The network waiter can be disabled completely by settingwait_for_guest_net
tofalse
. (#158)
FEATURES:
- New Resource:
vsphere_virtual_machine_snapshot
(#107)
IMPROVEMENTS:
- resource/vsphere_virtual_machine: Virtual machine power state is now enforced. Terraform will trigger a diff if the VM is powered off or suspended, and power it back on during the next apply. (#152)
BUG FIXES:
- resource/vsphere_virtual_machine: Fixed customization behavior to watch
customization events for success, rather than returning immediately when the
CustomizeVM
task returns. This is especially important during Windows customization where a large part of the customization task involves out-of-band configuration through Sysprep. (#158)
FEATURES:
- New Resource:
vsphere_nas_datastore
(#149) - New Resource:
vsphere_vmfs_datastore
(#142) - New Data Source:
vsphere_vmfs_disks
(#141)
FEATURES:
- New Resource:
vsphere_host_port_group
(#139) - New Resource:
vsphere_host_virtual_switch
(#138) - New Data Source:
vsphere_datacenter
(#144) - New Data Source:
vsphere_host
(#146)
IMPROVEMENTS:
- resource/vsphere_virtual_machine: Allow customization of hostname (#79)
BUG FIXES:
- resource/vsphere_virtual_machine: Fix IPv4 address mapping issues causing spurious diffs, in addition to IPv6 normalization issues that can lead to spurious diffs as well. (#128)
BREAKING CHANGES:
- resource/vsphere_virtual_disk: Default adapter type is now
lsiLogic
, changed fromide
. (#94)
FEATURES:
IMPROVEMENTS:
- resource/vsphere_virtual_machine: Add annotation argument (#111)
BUG FIXES:
- Updated govmomi to v0.15.0 (#114)
- Updated network interface discovery behaviour in refresh. [#129]. This fixes several reported bugs - see the PR for references!
NOTES:
- Same functionality as that of Terraform 0.9.8. Repacked as part of Provider Splitout