Changes in progress for v3.7.0 are available at .changes/v3.7.0 until the release.
- New Data Source:
vcd_org_group
allows to fetch an Organization Group to use it with other resources (#798) - Add
catalog_version
,number_of_vapp_templates
,number_of_media
,is_shared
,is_published
,publish_subscription_type
computed fields to catalog resource and datasource (#800) - Update
vcd_catalog
datasource so now it can take org from provider level or datasource level like modern resources/datasources (#800) - New Resource:
vcd_nsxt_distributed_firewall
manages Distributed Firewall Rules in VDC Groups (#810) - New Data Source:
vcd_nsxt_distributed_firewall
provides lookup functionality for Distributed Firewall rules in VDC Groups (#810) - New Data Source:
vcd_nsxt_network_context_profile
allows user to lookup Network Context Profile ID for usage invcd_nsxt_distributed_firewall
(#810)
resource/vcd_catalog
add support formetadata
so this field can be set when creating/updating catalogs. (#780)datasource/vcd_catalog
add support formetadata
so this field can be retrieved when reading from catalogs. (#780)data/vcd_storage_profile
add IOPS settings propertiesiops_limiting_enabled
,maximum_disk_iops
,default_disk_iops
,disk_iops_per_gb_max
,iops_limit
and other data attributeslimit
,units
,used_storage
,default
,enabled
,iops_allocated
to the state (#782)resource/vcd_nsxt_edgegateway
anddatasource/vcd_nsxt_edgegateway
support VDC Groups via new fieldowner_id
replacingvdc
(#793)- Update codebase to be compatible with changes in go-vcloud-director due to bump to VCD API V35.0 (#795)
vcd_org
resource adds support formetadata
so this field can be set when creating/updating organizations. (#797)vcd_org
data source adds support formetadata
so this field can be retrieved when reading from organizations. (#797)vcd_independent_disk
resource adds support formetadata
so this field can be set when creating/updating independent disks. (#797)vcd_independent_disk
data source adds support formetadata
so this field can be retrieved when reading from independent disks. (#797)vcd_org_user
resource and data source have nowis_external
attribute to support the importing of LDAP users into the Organization (#798)vcd_org_user
resource does not have a default value fordeployed_vm_quota
andstored_vm_quota
. Local users will have unlimited quota by default, imported from LDAP will have no quota (#798)vcd_org_user
resource and data source have nowgroup_names
attribute to list group names if the user comes from an LDAP group (#798)vcd_org_group
resource and data source have nowuser_names
attribute to list user names if the user was imported from LDAP (#798)resource/vcd_network_routed_v2
anddatasource/vcd_network_routed_v2
support VDC Groups by inheriting parent VDC or VDC Group from Edge Gateway (#801)resource/vcd_network_isolated_v2
anddatasource/vcd_network_isolated_v2
support VDC Groups via new fieldowner_id
replacingvdc
(#801)resource/vcd_nsxt_network_imported
anddatasource/vcd_nsxt_network_imported
support VDC Groups via new fieldowner_id
replacingvdc
(#801)- Add support for
can_publish_external_catalogs
andcan_subscribe_external_catalogs
indatasource_vcd_org
andresource_vcd_org
(#803) resource/vcd_network_direct
add support formetadata
so this field can be set when creating/updating direct networks. (#804)datasource/vcd_network_direct
add support formetadata
so this field can be retrieved when reading from direct networks. (#804)resource/vcd_network_isolated
add support formetadata
so this field can be set when creating/updating isolated networks. (#804)datasource/vcd_network_isolated
add support formetadata
so this field can be retrieved when reading from isolated networks. (#804)resource/vcd_network_routed
add support formetadata
so this field can be set when creating/updating routed networks. (#804)datasource/vcd_network_routed
add support formetadata
so this field can be retrieved when reading from routed networks. (#804)resource/vcd_nsxt_ip_set
anddatasource/vcd_nsxt_ip_set
support VDC Groups by inheriting parent VDC or VDC Group from Edge Gateway (#809)- Data source
vcd_storage_profile
supportsmetadata
so this field can be populated when reading VDC storage profiles. (#811) resource/vcd_nsxt_app_port_profile
anddatasource/vcd_nsxt_app_port_profile
add support for VDC Groups with new fieldcontext_id
(#812)resource/vcd_nsxt_security_group
anddatasource/vcd_nsxt_security_group
support VDC Groups by inheriting parent VDC or VDC Group from Edge Gateway (#814)resource/vcd_network_isolated_v2
add support formetadata
so this field can be set when creating/updating isolated NSX-T networks. (#816)datasource/vcd_network_isolated_v2
add support formetadata
so this field can be retrieved when reading from isolated NSX-T networks. (#816)resource/vcd_network_routed_v2
add support formetadata
so this field can be set when creating/updating routed NSX-T networks. (#816)datasource/vcd_network_routed_v2
add support formetadata
so this field can be retrieved when reading from routed NSX-T networks. (#816)vcd_catalog_item
allows usingovf_url
to upload vApp template from URL (#770)vcd_catalog_item
update allows changingname
anddescription
(#770)vcd_catalog
allows to publish a catalog externally to make its vApp templates and media files available for subscription by organizations outside the Cloud Director installation (#772], [#773)vcd_vapp_vm
,vcd_vm
allows configuring advanced compute settings (shares and reservations) for VM (#779)vcd_independent_disk
allows creating additionally shared disks types by configuringsharing_type
(VCD 10.3+). Also, add update support. Add new disk typeNVME
and new attributesencrypted
anduuid
. Import now allows listing all independent disks in VDC (#789, #810)
- Fixes Issue #754 where VDC creation with storage profile
enabled=false
wasn't working (#781) - Fix Issue #611 when read of
vcd_vapp_vm
andvcd_vm
resource failed when VM isn't found. Now allows Terraform to recreate resource when it isn't found. (#783) - Fix Issue #759 where enable_ip_masquerade handling in vcd_vapp_nat_rules resource wasn't correct (#784)
- Fix bug in
datasource/vcd_nsxt_app_port_profile
where a lookup of a TENANT scope profile could fail finding exact Application Port Profile in case Org has multiple VDCs (#812)
- Default values for
deployed_vm_quota
andstored_vm_quota
fororg_user
have changed from 10 to 0 (unlimited) (#798) - Internal functions
lockParentEdgeGtw
,unLockParentEdgeGtw
,lockEdgeGateway
,unlockEdgeGateway
were converted to use just their ID for lock key instead of full pathorg:vdc:edge_id
. This is done because paths for VDC and VDC Groups can differ, but UUID is unique so it makes it simpler to manage (#801) - Additional locking mechanisms
lockIfOwnerIsVdcGroup
,unLockIfOwnerIsVdcGroup
,lockById
,unlockById
(#801) - Bump
staticheck
tool to2022.1
to support Go 1.18 and fix newly detected errors (#813) - Improve docs for
vcd_nsxt_network_dhcp
VDC Group support (#818) - Improves VDC Group guide documentation (#818)
Fix Issue #769 "Plugin did not respond: terraform-provider-vcd may crash with Terraform 1.1+ on some OSes".
The consequences of this fix are that some messages that were directed at the standard output (such as
progress percentage during uploads or suggestions when using outdated resources) are now written to the regular
log file (go-vcloud-director.log
) using the special tag [SCREEN]
for easy filtering. #771
- New Resource:
vcd_nsxt_alb_settings
for managing NSX-T ALB on NSX-T Edge Gateways (#726) - New Data source:
vcd_nsxt_alb_settings
for reading NSX-T ALB on NSX-T Edge Gateways (#726) - New Resource:
vcd_library_certificate
for managing certificates in library (provider configuration) (#733) - New Data source:
vcd_library_certificate
for reading certificates in library (#733) - New Resource:
vcd_nsxt_alb_edgegateway_service_engine_group
for managing NSX-T ALB Service Engine Groups assignments to Edge Gateways (#738, #764) - New Data source:
vcd_nsxt_alb_edgegateway_service_engine_group
for reading NSX-T ALB Service Engine Groups assignments to Edge Gateways (#738, #764) - New Resource:
vcd_vdc_group
for managing VDC Groups (#752) - New Data source:
vcd_vdc_group
for reading VDC Groups (#752) - New Resource:
vcd_nsxt_alb_pool
for NSX-T Load Balancer pools (#756) - New Data source:
vcd_nsxt_alb_pool
for reading NSX-T Load Balancer pools (#756) - New Resource:
vcd_nsxt_alb_virtual_service
for managing NSX-T ALB Virtual Service on NSX-T Edge Gateways (#757, #764) - New Data source:
vcd_nsxt_alb_virtual_service
for reading NSX-T ALB Virtual Service on NSX-T Edge Gateways (#757, #764)
- Remove Coverity warnings from code (#734)
resource/vcd_vapp_vm
,resource/vcd_vm_internal_disk
add support for disk controller type nvme (#680,#739)- Add property
api_token
to provider, supporting API token authentication (#742) - Bump Terraform SDK to 2.10.0 (#751)
resource/vcd_vapp
add support forlease
settings management. [#762)datasource/vcd_vapp
add support forlease
settings visualization. (#762)
- Fix bootable media connection in
vcd_vm
by sending media reference inCreateVM
(#714) - Fix broken documentation links (#721)
- Fix bug where using
vcd_vm_internal_disk
could removedescription
field invcd_vapp_vm
andvcd_vm
(#758) - Skip tests for resources not available in 10.1 (#761)
- Fix wrong references in
TestAccVcdVAppVmMultiNIC
(#761)
- Add Guest Customization docs with examples to "guides" section (#729)
- Improve HCL samples in documentation to only contain single newline spaces and adjust automated check to catch it (#747)
- Add support for Terraform 1.1 CLI by upgrading Terraform Plugin SDK from v2.7.0 to v2.10.0 (there was a crash with older SDK version) (#751)
- New Resource:
vcd_nsxt_alb_controller
for managing NSX-T ALB Controllers (provider configuration) (#709) - New Data source:
vcd_nsxt_alb_controller
for reading NSX-T ALB Controllers (provider configuration) (#709,#718) - New Resource:
vcd_nsxt_alb_cloud
for managing NSX-T ALB Clouds (provider configuration) (#709) - New Data source:
vcd_nsxt_alb_cloud
for reading NSX-T ALB Clouds (provider configuration) (#709,#718) - New Data source:
vcd_nsxt_alb_importable_cloud
for reading NSX-T ALB Importable Clouds (provider configuration) (#709,#718) - New Resource:
vcd_nsxt_alb_service_engine_group
for managing NSX-T ALB Service Engine Groups (provider configuration) (#709) - New Data source:
vcd_nsxt_alb_service_engine_group
for reading NSX-T ALB Service Engine Groups (provider configuration) (#709,#718)
- Resource and Data source
vcd_external_network_v2
support NSX-T Segment backed network (#711) vcd_org_vdc
: it is now possible adding and removing storage profiles (#698)data/vcd_nsxt_edge_cluster
add documentation for missing fields (#700)- Bump Terraform SDK to 2.7.0 (#701)
- Formatted HCL docs using
terraform fmt
(#705) - Updated attribute syntax to use first class expressions (#705)
- Align build tags to match go fmt with Go 1.17 (#707)
- Improve
test-tags.sh
script to handle new build tag format (#707) - Prevent invalid space in the base64 encoded authentication string in the token scripts specific for Linux (#708)
- Fix Issue #696: Catalog deletion failure returns as success (#698)
- Fix Issue #648
vcd_org_vdc
: adding a storage profile requires the vdc to be replaced (#698) - Primary NIC removal for
vcd_vapp_vm
andvcd_vapp
is done in cold fashion (#716) - Change broken docs reference links with final docs format
- Drop support for VCD 10.0 (#704)
- (Issue #689)
resource/vcd_vm
andresource/vcd_vapp_vm
cannot find templates in shared catalogs from other Orgs (#691)
- New Resource:
vcd_nsxt_security_group
for NSX-T Edge Gateways (#663) - New Data source:
vcd_nsxt_security_group
for NSX-T Edge Gateways (#663) - New Resource:
vcd_nsxt_ip_set
for NSX-T IP Set management (#668) - New Data source:
vcd_nsxt_ip_set
for NSX-T IP Set management (#668) - New Resource:
vcd_nsxt_app_port_profile
for NSX-T Application Port Profile management (#673) - New Data source:
vcd_nsxt_app_port_profile
for NSX-T Application Port Profile management (#673) - New Resource:
vcd_nsxt_firewall
for NSX-T Edge Gateways (#663) - New Data Source:
vcd_nsxt_firewall
for NSX-T Edge Gateways (#663) - New Resource:
vcd_nsxt_nat_rule
for NSX-T Edge Gateways (#676) - New Data source:
vcd_nsxt_nat_rule
for NSX-T Edge Gateways (#676) - New Resource:
vcd_role
for provider and tenant role management (#677) - New Resource:
vcd_global_role
for provider role management (#677) - New Resource:
vcd_rights_bundle
for provider role management (#677) - New Data source:
vcd_right
for provider and tenant role management (#677) - New Data source:
vcd_role
for provider and tenant role management (#677) - New Data source:
vcd_global_role
for provider role management (#677) - New Data source:
vcd_rights_bundle
for provider role management (#677) - New Resource:
vcd_nsxt_ipsec_vpn_tunnel
for NSX-T IPsec VPN Tunnel management (#678) - New Data source:
vcd_nsxt_ipsec_vpn_tunnel
for NSX-T IPsec VPN Tunnel management (#678)
- Fix a few typos and add example in Routed Network V2 docs (#663)
- Add compatibility with Terraform 0.15.0 for
TestAccVcdNsxtStandaloneVmTemplate
andTestAccVcdStandaloneVmTemplate
(#663) - Tests: add optional test config variable Misc.LdapContainer to override default LDAP container location.
(can be used to overcome Docker registry throttling issues for pulling testing LDAP container) (#673) datasource/vcd_resource_list
addsvcd_right
,vcd_role
,vcd_global_role
,vcd_rights_bundle
to the supported resource types (#677)- Replace
vdc.ComposeRawVApp
withvdc.CreateRawVApp
(#681) - Change "vCloud Director" or "vCloudDirector" to "VMware Cloud Director" in all docs. (#682)
- Update
org_user
docs to include creation of system users. (#682)
resource/vcd_edgegateway
not retrieved when there are more than 25 items (#660)- (Issue #633) vApp description was ignored in creation and update. (#664)
- (Issue #634) Setting CPU count to less than what the template has throws error. (#673)
- Tests: LDAP related tests had incorrect port mapping after image update (#673)
resource/vcd_org_vdc
complained about storage profile name update from empty to specified on some VCD versions (#676)
- Bump terraform-plugin-sdk to 2.4.4 (#657)
- Add VCDClient.GetNsxtEdgeGateway, VCDClient.GetNsxtEdgeGatewayById, and GetNsxtEdgeGatewayFromResourceById convenience functions (#663)
- Add
importStateIdNsxtEdgeGatewayObject
function for import testing of NSX-T Edge Gateway child objects (#663)
- New Resource:
vcd_network_routed_v2
for NSX-T and NSX-V routed networks (#628) - New Data source:
vcd_network_routed_v2
for NSX-T and NSX-V routed networks (#628) - New Resource:
vcd_network_isolated_v2
for NSX-T and NSX-V isolated networks (#636) - New Data source:
vcd_network_isolated_v2
for NSX-T and NSX-V isolated networks (#636) - New Resource:
vcd_vm
- Standalone VM (#638) - New Data source:
vcd_vm
- Standalone VM (#638) - New Resource:
vcd_nsxt_network_imported
for NSX-T imported networks (#645) - New Data source:
vcd_nsxt_network_imported
for NSX-T imported networks (#645) - New Resource:
vcd_nsxt_network_dhcp
for NSX-T routed network DHCP configuration (#650) - New Data source:
vcd_nsxt_network_dhcp
for NSX-T routed network DHCP configuration (#650)
make install
will use lightweight tags for build version injection (#628)datasource/vcd_resource_list
addsvcd_vm
to the supported resource types (#638)datasource/vcd_resource_list
addsvcd_network_routed_v2
to the supported resource types (#628)datasource/vcd_resource_list
addsvcd_network_isolated_v2
to the supported resource types (#636)datasource/vcd_resource_list
addsvcd_nsxt_network_imported
to the supported resource types (#645)vcd_edgegateway
resource and datasource throws error (on create, import and datasource read) and refers tovcd_nsxt_edgegateway
for NSX-T backed VDC (#650)vcd_network_isolated
andvcd_network_routed
throw warnings on create and errors on import by referring tovcd_network_isolated_v2
andvcd_network_routed_v2
for NSX VDCs (#650)vcd_vapp_network
throws error whenorg_network_name
is specified for NSX-T VDC (because NSX-T networks cannot be attached to vApp networks) (#650)
- Internal functions
lockParentEdgeGtw
andunLockParentEdgeGtw
will handle Edge Gateway locks whenname
orid
reference is used (#628)
FEATURES
- New Resource:
vcd_nsxt_edgegateway
- NSX-T edge gateway (#600, #608) - New Data source:
vcd_nsxt_edgegateway
- NSX-T edge gateway (#600) - New Data source:
vcd_nsxt_edge_cluster
- allows to lookup ID and other details of NSX-T Edge Cluster (#600) - New Data source:
vcd_resource_list
info about VCD entities (#594) - New Data source:
vcd_resource_schema
definition of VCD resources schema (#594) - New Data Source:
vcd_storage_profile
for storage profile lookup (#602)
IMPROVEMENTS
resource/vcd_vapp_vm
adds support to updatestorage_profile
(#580)resource/vcd_org_vdc
adds support to updatestorage_profile
(#583)resource/vcd_org_vdc
new computed fieldstorage_used_in_mb
(#583)resource/vcd_catalog
allows to set and updatestorage_profile_id
(#602)resource/vcd_catalog
adds support to updatedescription
(#602)datasource/vcd_catalog
exportsstorage_profile_id
(#602)- Provider: add support for bearer tokens in addition to authorization tokens (#590)
- Provider: automatically use
/cloudapi/1.0.0/sessions/provider
when/api/sessions
is disabled (#590)
BUG FIXES
resource/vcd_external_network_v2
may fail when creating NSX-V network backed by standard vSwitch port group (#600)
NOTES
FEATURES
- New Resource:
vcd_vapp_access_control
Access control for vApps #543 - New Data Source:
vcd_org_user
Org User #543 - New Resource:
vcd_vm_sizing_policy
VDC VM sizing policy #553 - New Data Source:
vcd_vm_sizing_policy
VDC VM sizing policy #553 - New Resource:
vcd_edgegateway_settings
Changes LB and FW global settings for Edge Gateway #557 - New Resource:
vcd_external_network_v2
with NSX-T support #560 - New Data Source:
vcd_external_network_v2
with NSX-T support #560 - New Data Source:
vcd_vcenter
useful forvcd_external_network_v2
resource when used with NSX-V #560 - New Data Source:
vcd_portgroup
useful forvcd_external_network_v2
resource when used with NSX-V #560 - New Data Source:
vcd_nsxt_manager
useful forvcd_external_network_v2
resource when used with NSX-T #560 - New Data Source:
vcd_nsxt_tier0_router
useful forvcd_external_network_v2
resource when used with NSX-T #560
IMPROVEMENTS
- Added command
make tagverify
to check testing tags isolation. It also runs when callingmake test
#532 - Added directory
.changes
and script./scripts/make-changelog.sh
to handle CHANGELOG entries #534 resource/vcd_vapp_vm
allows toggle network connection withnetwork.connected
#535resource/vcd_vapp_vm
allows toggle memory and vCPU hot add withcpu_hot_add_enabled
andmemory_hot_add_enabled
#536resource/vcd_vapp_vm
allows changenetwork
parameters without VM power off #536- Repository has a new home! Moved from https://github.com/terraform-providers/terraform-provider-vcd to https://github.com/vmware/terraform-provider-vcd #542
- Added support for NSX-T Org VDC #550
resource/vcd_org_vdc
new fields for assigning VM sizing policiesvm_sizing_policy_ids
anddefault_vm_sizing_policy_id
#553resource/vcd_vapp_vm
new fieldsizing_policy_id
uses VM sizing policy #553
BUG FIXES
resource/vcd_vapp_vm
removed default value forcpus
andcpu_cores
#553resource/vcd_vapp_vm
fix ignoringis_primary=false
#556
NOTES
- Added support for VCD 10.2 #544
- Dropped support for VCD 9.5 #544
resource/vcd_nsxv_firewall_rule
virtual_machine_ids
renamed tovm_ids
#558resource/vcd_vm_affinity_rule
virtual_machine_ids
renamed tovm_ids
#558- Provider will send HTTP User-Agent while performing API calls #566
- Added conditional skips for some checks in test
TestAccVcdVAppVmDhcpWait
REMOVALS
- Fixed
vcd_independent_disk.size
issue, new fieldsize_in_mb
replaces thesize
#588 - Removed deprecated resource
vcd_network
#543 - Removed deprecated resources
vcd_dnat
,vcd_snat
, andvcd_firewall_rules
#557 - Removed deprecated attributes
ip, network_name, vapp_network_name, network_href, mac, initscript
fromvcd_vapp_vm
#563 - Removed deprecated attributes
external_networks, default_gateway_network, advaced
fromvcd_edgegateway
#588 - Removed
vcd_independent_disk.size
in favor ofvcd_independent_disk.size_in_mb
#588 - Removed deprecated attributes
template_name, catalog_name, network_name, memory, cpus, ip, storage_profile, initscript, ovf, accept_all_eulas
fromvcd_vapp
#588
FEATURES:
- New Resource:
vcd_vm_affinity_rule
VM affinity and anti-affinity rules (#514) - New Data Source:
vcd_vm_affinity_rule
VM affinity and anti-affinity rules (#514) - Add support for SAML auth with Active Directory Federation Services (ADFS) as IdP using "/adfs/services/trust/13/usernamemixed" endpoint usin auth_type="saml_adfs". (#504)
- Add support for LDAP authentication using auth_type="integrated". (#504)
- New Resource:
vcd_org_group
Org Group management (#513) - New Resource:
resource/vcd_vapp_firewall_rules
vApp network firewall rules (#511) - New Resource:
resource/vcd_vapp_nat_rules
vApp network NAT rules (#518) - New Resource:
resource/vcd_vapp_static_routing
vApp network static routing rules (#520)
IMPROVEMENTS:
resource/vcd_vapp_vm
allows creating empty VM. New fields addedboot_image
,os_type
andhardware_version
. Also, supportsdescription
updates. (#484)- Data sources
vcd_edgegateway
,vcd_catalog
,vcd_catalog_item
,vcd_catalog_media
,vcd_network_*
allow search by filter. (#487) - Removed code that handled specific cases for API 29.0 and 30.0. This library now supports VCD versions from 9.5 to 10.1 included (#499)
- Added command line flags to test suite, corresponding to environment variables listed in TESTING.md (#505)
resource/vcd_vapp_vm
allows creating VM from multi VM vApp template (#501)
BUG FIXES:
resource/vcd_vapp_vm
anddatasource/vcd_vapp_vm
can reportnetwork.X.is_primary
attribute incorrectly when VM is imported to Terraform and NIC indexes in vCD do not start with 0. [#512]- Rename docs files from
.markdown
to.html.markdown
(Add test to check file name consistency) (#522) nat_enabled
andfirewall_enabled
were incorrectly added tovcd_vapp_network
and would collide with the depending resources. Now moved to respective resourcesvcd_vapp_nat_rules
andvcd_vapp_firewall_rules
.
DEPRECATIONS:
- Deprecated
vcd_snat
(replaced byvcd_nsxv_snat
),vcd_dnat
(replaced byvcd_nsxv_dnat
), andvcd_firewall_rules
(replaced byvcd_nsxv_firewall_rule
) (#518) The deprecated resources are to be used only with non-advanced edge gateway.
NOTES:
- Dropped support for vCD 9.1 (#492)
IMPROVEMENTS:
resource/vcd_network_routed
,resource/vcd_network_direct
, andresource/vcd_network_isolated
now support in place updates. (#465)vcd_vapp_network
,vcd_vapp_org_network
has now missing import documentation [#481]resource/vcd_vapp_vm
anddatasource/vcd_vapp_vm
simplifies network adapter validation when it is not attached to network (network.x.type=none
andnetwork.x.ip_allocation_mode=none
) andnetwork_dhcp_wait_seconds
is defined. This is required for vCD 10.1 support (#485)
BUG FIXES
- Using wrong defaults for
vcd_network_isolated
andvcd_network_routed
DNS (#434) external_network_gateway
not filled in datasourcevcd_network_direct
(#450)resource/vcd_vapp_vm
sometimes reports incorrectvcd_vapp_vm.ip
andvcd_vapp_vm.mac
fields in deprecated network configuration (when usingvcd_vapp_vm.network_name
andvcd_vapp_vm.vapp_network_name
parameters instead ofvcd_vapp_vm.network
blocks) (#478)resource/vcd_vapp_org_network
fix potential error 'NAT rule cannot be configured for nics with DHCP addressing mode' during removal (#489)resource/vcd_org_vdc
supports vCD 10.1 and resolves "no provider VDC found" errors (#489)
DEPRECATIONS:
- vCD 9.1 support is deprecated. Next version will require at least version 9.5 (#489)
NOTES:
FEATURES:
- New Resource:
vcd_vm_internal_disk
VM internal disk configuration (#412) - New Resource:
vcd_vapp_org_network
vApp organization network (#455) - New Data Source:
vcd_vapp_org_network
vApp org network (#455) - New Data Source:
vcd_vapp_network
vApp network (#455)
IMPROVEMENTS:
vcd_vapp_network
supports isolated network and vApp network connected to Org VDC networks (#455,#468)vcd_vapp_network
does not defaultdns1
anddns2
fields to 8.8.8.8 and 8.8.4.4 respectively (#455,#468)vcd_org_vdc
can be created with Flex allocation model in vCD 9.7 and later. Also two new fields added for Flex -elasticity
,include_vm_memory_overhead
(#443)resource/vcd_org
anddatasource/vcd_org
include a sectionvapp_lease
and a sectionvapp_template_lease
to define lease related parameters of depending entities - (#432)resource/vcd_vapp_vm
Internal disks in VM template can be edited byoverride_template_disk
field (#412)vcd_vapp_vm
disk
has new attributesize_in_mb
(#433)resource/vcd_vapp_vm
anddatasource/vcd_vapp_vm
get optionalnetwork_dhcp_wait_seconds
field to ensureip
is reported whenip_allocation_mode=DHCP
is used (#436)resource/vcd_vapp_vm
anddatasource/vcd_vapp_vm
include a fieldadapter_type
innetwork
definition to specify NIC type - (#441)resource/vcd_vapp_vm
anddatasource/vcd_vapp_vm
customization
block supports all available features (#462, #469, #477)datasource/*
- all data sources return an error when object is not found (#446, #470)vcd_vapp_vm
allows to add routed vApp network, not only isolated one.network.name
can referencevcd_vapp_network.name
of a vApp network withorg_network_name
set (#472)
DEPRECATIONS:
resource/vcd_vapp_vm
network.name
deprecates automatic attachment of vApp Org network whennetwork.type=org
and it is not attached withvcd_vapp_org_network
before referencing it. (#455)resource/vcd_vapp_vm
fieldinitscript
is now deprecated in favor ofcustomization.0.initscript
to group all guest customization settings (#462)
BUG FIXES:
resource/vcd_vapp_vm
read - independent disks where losingbus_number
andunit_number
values after refresh (#433)datasource/vcd_nsxv_dhcp_relay
crashes if no DHCP relay settings are present in Edge Gateway (#446)resource/vcd_vapp_vm
network
block changes caused MAC address changes in existing NICs (#436,#407)- Fix a potential data race in client connection caching when VCD_CACHE is enabled (#453)
resource/vcd_vapp_vm
whencustomization.0.force=false
crashes withinterface {} is nil
(#462)resource/vcd_vapp_vm
customization.0.force=true
could have skipped "Forced customization" on each apply (#462, #477)
NOTES:
- Drop support for vCD 9.0
- Bump terraform-plugin-sdk to v1.5.0 (#442)
make seqtestacc
andmake test-binary
use-race
flags forgo test
to check if there are no data races. Additionally GNUMakefile supportsmake installrace
andmake buildrace
to build binary with race detection enabled. (#453)- Add
make test-upgrade-prepare
directive (#462)
FEATURES:
- New Resource:
vcd_nsxv_dhcp_relay
Edge gateway DHCP relay configuration - (#416) - New Resource:
vcd_nsxv_ip_set
IP set - (#406,#411) - New Data Source:
vcd_nsxv_dhcp_relay
Edge gateway DHCP relay configuration - (#416) - New Data Source:
vcd_vapp_vm
VM - (#218) - New Data Source:
vcd_nsxv_ip_set
IP set - (#406,#411) - New build command:
make test-upgrade
to run an upgrade test from the previous released version
IMPROVEMENTS:
-
Switch to Terraform terraform-plugin-sdk v1.3.0 as per recent HashiCorp recommendation - (#382, #406)
-
resource/vcd_vapp_vm
VM state ID changed from VM name to vCD ID -
resource/vcd_vapp_vm
Add propertiesdescription
andstorage_profile
-
resource/vcd_vapp_vm
Add import capability and full read support (#218) -
resource/vcd_nsxv_dnat
andresource/vcd_nsxv_dnat
more precise error message when network is not found - (#384) -
resource/vcd_nsxv_dnat
andresource/vcd_nsxv_dnat
rule_tag
must be int to avoid vCD internal exception passthrough - (#384) -
resource/vcd_nsxv_dnat
put correct name in doc example - (#384) -
resource/vcd_nsxv_dnat
andresource/vcd_nsxv_dnat
avoid rule replacement because of changedrule_tag
when rule is altered via UI - (#384) -
resource/vcd_nsxv_firewall_rule
add explicit protocol validation to avoid odd NSX-V API error - (#384) -
resource/vcd_nsxv_firewall_rule
rule_tag
must be int to avoid vCD internal exception passthrough - (#384) -
Fix code warnings from
staticcheck
and add commandmake static
to Travis tests -
resource/vcd_edge_gateway
anddatasource/vcd_edge_gateway
adddefault_external_network_ip
andexternal_network_ips
fields to export default edge gateway IP address and other external network IPs used on gateway interfaces - (#389, #401) -
Add
token
to thevcd
provider for the ability of connecting with an authorization token - (#280) -
Add command
make token
to create an authorization token from testing credentials -
Clean up interpolation-only expressions from tests (as allowed in terraform v0.12.11+)
-
Increment vCD API version used from 27.0 to 29.0 (#396)
-
resource/vcd_network_routed
Add propertiesdescription
andinterface_type
(#321,#342,#374) -
resource/vcd_network_isolated
Add propertydescription
(#373) -
resource/vcd_network_direct
Add propertydescription
-
resource/vcd_network_routed
Add check for valid IPs (#374) -
resource/vcd_network_isolated
Add check for valid IPs (#373) -
resource/vcd_nsxv_firewall_rule
Add support for IP sets (#411) -
resource/vcd_edgegateway
new fieldsfips_mode_enabled
,use_default_route_for_dns_relay
-
resource/vcd_edgegateway
newexternal_network
block for advanced configurations of external networks including multiple subnets, IP pool sub-allocation and rate limits - (#401,#418) -
resource/vcd_edgegateway
enables read support for fielddistributed_routing
after switch to vCD API v29.0 - (#401) -
vcd_nsxv_firewall_rule
- improve internal lookup mechanism forgateway_interfaces
field in source and/or destination (#419)
BUG FIXES:
- Fix
vcd_org_vdc
datasource read. When user was Organization administrator datasource failed. Fields provider_vdc_name, storage_profile, memory_guaranteed, cpu_guaranteed, cpu_speed, enable_thin_provisioning, enable_fast_provisioning, network_pool_name won't have values for org admin. - Removed
power_on
property from data sourcevcd_vapp
, as it is a directive used during vApp build. Its state is never updated and the fieldsstatus
andstatus_text
already provide the necessary information. (#379) - Fix
vcd_independent_disk
reapply issue, which was seen when optionalbus_sub_type
andbus_type
wasn't used - (#394) - Fix
vcd_vapp_network
apply issue, where the propertyguest_vlan_allowed
was applied only to the last of multiple networks. datasource/vcd_network_direct
is now readable by Org User (previously it was only by Sys Admin), as this change made it possible to get the details of External Network as Org User (#408)
DEPRECATIONS:
- Deprecated property
storage_profile
in resourcevcd_vapp
, as the corresponding field is now enabled invcd_vapp_vm
resource/vcd_edgegateway
deprecates fieldsexternal_networks
anddefault_gateway_network
in favor of newexternal_network
block(s) - [#401]
FEATURES:
- New Resource:
vcd_nsxv_dnat
DNAT for advanced edge gateways using proxied NSX-V API - (#328) - New Resource:
vcd_nsxv_snat
SNAT for advanced edge gateways using proxied NSX-V API - (#328) - New Resource:
vcd_nsxv_firewall_rule
firewall for advanced edge gateways using proxied NSX-V API - (#341, #358) - New Data Source:
vcd_org
Organization - (#218) - New Data Source:
vcd_catalog
Catalog - (#218) - New Data Source:
vcd_catalog_item
CatalogItem - (#218) - New Data Source:
vcd_org_vdc
Organization VDC - (#324) - New Data Source:
vcd_external_network
External Network - (#218) - New Data Source:
vcd_edgegateway
Edge Gateway - (#218) - New Data Source:
vcd_network_routed
Routed Network - (#218) - New Data Source:
vcd_network_isolated
Isolated Network - (#218) - New Data Source:
vcd_network_direct
Direct Network - (#218) - New Data Source:
vcd_vapp
vApp - (#218) - New Data Source:
vcd_nsxv_dnat
DNAT for advanced edge gateways using proxied NSX-V API - (#328) - New Data Source:
vcd_nsxv_snat
SNAT for advanced edge gateways using proxied NSX-V API - (#328) - New Data Source:
vcd_nsxv_firewall_rule
firewall for advanced edge gateways using proxied NSX-V API - (#341) - New Data Source:
vcd_independent_disk
Independent disk - (#349) - New Data Source:
vcd_catalog_media
Media item - (#340)
IMPROVEMENTS:
- Add support for vCD 10.0
resource/vcd_org
Add import capability and full read support (#218)resource/vcd_catalog
Add import capability and full read support (#218)resource/vcd_catalog_item
Add import capability and full read support (#218)resource/vcd_external_network
Add import capability and full read support (#218)resource/vcd_edgegateway
Add import capability and full read support (#218)resource/vcd_network_routed
Add import capability and full read support (#218)resource/vcd_network_isolated
Add import capability and full read support (#218)resource/vcd_network_direct
Add import capability and full read support (#218)resource/vcd_vapp
Add import capability and full read support (#218)resource/vcd_network_direct
: Direct network state ID changed from network name to vCD IDresource/vcd_network_isolated
: Isolated network state ID changed from network name to vCD IDresource/vcd_network_routed
: Routed network state ID changed from network name to vCD IDresource/vcd_vapp
: vApp state ID changed from vApp name to vCD IDresource/vcd_vapp
: Add propertiesstatus
andstatus_text
resource/catalog_item
added catalog item metadata support [#285]resource/vcd_catalog
: Catalog state ID changed from catalog name to vCD IDresource/vcd_catalog_item
: CatalogItem state ID changed from colon separated list of catalog name and item name to vCD IDresource/catalog_item
added catalog item metadata support [#298]resource/catalog_media
added catalog media item metadata support (#298)resource/vcd_vapp_vm
supports update fornetwork
block (#310)resource/vcd_vapp_vm
allows to force guest customization (#310)resource/vcd_vapp
supports guest properties (#319)resource/vcd_vapp_vm
supports guest properties (#319)resource/vcd_network_direct
Add computed properties (external network gateway, netmask, DNS, and DNS suffix) (#330)vcd_org_vdc
Add import capability and full read support (#218)- Upgrade Terraform SDK dependency to 0.12.8 (#320)
resource/vcd_vapp_vm
has new fieldcomputer_name
(#334)- Import functions can now use custom separators instead of "." (#343)
resource/vcd_independent_disk
Add computed properties (iops
,owner_name
,datastore_name
,is_attached
) and read support for all fields except thesize
(#349)resource/vcd_independent_disk
Disk state ID changed from name of disk to vCD ID (#349)- Import functions can now use a custom separator instead of "." (#343)
resource/vcd_catalog_media
Add computed properties (is_iso
,owner_name
,is_published
,creation_date
,size
,status
,storage_profile_name
) and full read support (#340)resource/vcd_catalog_media
MediaItem state ID changed from colon separated list of catalog name and media name to vCD ID (#340)- Import functions can now use custom separators instead of "." (#343)
resource/vcd_vapp_vm
has new fieldcomputer_name
(#334, #347)
BUG FIXES:
- Change default value for
vcd_org.deployed_vm_quota
andvcd_org.stored_vm_quota
. It was incorrectly set at-1
instead of0
. - Change Org ID from partial task ID to real Org ID during creation.
- Wait for task completion on creation and update, where tasks were not handled at all.
resource/vcd_firewall_rules
force recreation of the resource when attributes of the sub-elementrule
are changed (fixes a situation when it tried to update a rule).resource/vcd_network_isolated
Fix definition of DHCP, which was created automatically with leftovers from static IP pool even when not requested.resource/vcd_network_routed
Fix retrieval with early vCD versions. (#344)resource/vcd_edgegateway_vpn
Required replacement every time forshared_secret
field. (#361)
DEPRECATIONS
- The ability of deploying a VM implicitly within a vApp is deprecated. Users are encouraged to set an empty vApp and
add explicit VM resources
vcd_vapp_vm
. For this reason, the following fields invcd_vapp
are deprecated:template_name
catalog_name
network_name
ip
cpus
memory
network_name
initscript
ovf
accept_all_eulas
NOTES:
- Drop support for vCD 8.20
FEATURES:
- New Resource:
vcd_lb_service_monitor
Load Balancer Service Monitor - (#256, #290) - New Resource:
vcd_edgegateway
creates and deletes edge gateways, manages general load balancing settings - (#262, #288) - New Resource:
vcd_lb_server_pool
Load Balancer Server Pool - (#268, #290, #297) - New Resource:
vcd_lb_app_profile
Load Balancer Application profile - (#274, #290, #297) - New Resource:
vcd_lb_app_rule
Load Balancer Application rule - (#278, #290) - New Resource:
vcd_lb_virtual_server
Load Balancer Virtual Server - (#284, #290, #297) - New Resource:
vcd_org_user
Organization User - (#279) - New Data Source:
vcd_lb_service_monitor
Load Balancer Service Monitor - (#256, #290) - New Data Source:
vcd_lb_server_pool
Load Balancer Server Pool - (#268, #290, #297) - New Data Source:
vcd_lb_app_profile
Load Balancer Application profile - (#274, #290, #297) - New Data Source:
vcd_lb_app_rule
Load Balancer Application rule - (#278, #290) - New Data Source:
vcd_lb_virtual_server
Load Balancer Virtual Server - (#284, #290, #297) - New build commands
make test-env-init
andmake test-env-apply
can configure an empty vCD to run the test suite. SeeTESTING.md
for details. resource/vcd_org_vdc
added Org VDC update and full state read - (#275)resource/vcd_org_vdc
added Org VDC metadata support - (#276)resource/vcd_snat
added ability to choose network name and type. [#282]resource/vcd_dnat
added ability to choose network name and type. (#282, #292, #293)
IMPROVEMENTS:
resource/vcd_org_vdc
: Fix ignoring of resource guarantee values - (#265)resource/vcd_org_vdc
: Org VDC state ID changed from name to vCD ID - (#275)- Change resource handling to use locking mechanism when resource parallel handling is not supported by vCD. [#255]
- Fix issue when vApp is power cycled during member VM deletion. (#261)
resource/vcd_dnat
,resource/vcd_snat
has got full read functionality. This means that on the nextplan/apply
it will detect if configuration has changed in vCD and propose to update it.
BUG FIXES:
resource/vcd_dnat and resource/vcd_snat
- fix resource destroy as it would still leave NAT rule in edge gateway. Fix works if network_name and network_type is used. (#282)
NOTES:
resource/vcd_dnat
protocol
requires lower case values to be consistent with the underlying NSX API. This may result in invalid configuration if upper case was used previously!resource/vcd_dnat
default value forprotocol
field changed from upper caseTCP
to lower casetcp
, which may result in a single update when runningplan
on a configuration with a state file from an older version.
IMPROVEMENTS:
- Switch to Terraform 0.12 SDK which is required for Terraform 0.12 support. HCL (HashiCorp configuration language) parsing behaviour may have changed as a result of changes made by the new SDK version (#254)
NOTES:
- Provider plugin will still work with Terraform 0.11 executable
FEATURES:
vcd_vapp_vm
- Ability to add metadata to a VM. For previous behaviour please seeBACKWARDS INCOMPATIBILITIES
(#158)vcd_vapp_vm
- Ability to enable hardware assisted CPU virtualization for VM. It allows hypervisor nesting. (#219)- New Resource: external network -
vcd_external_network
- (#230) - New Resource: VDC resource
vcd_org_vdc
- (#236) - resource/vcd_vapp_vm: Add
network
argument for multiple NIC support and more flexible configuration (#233) - resource/vcd_vapp_vm: Add
mac
argument to store MAC address in state file (#233)
BUG FIXES:
vcd_vapp
- Ability to add metadata to empty vApp. For previous behaviour please seeBACKWARDS INCOMPATIBILITIES
(#158)
BACKWARDS INCOMPATIBILITIES / NOTES:
vcd_vapp
- Metadata is no longer added to first VM in vApp it will be added to vApp directly instead. (#158)- Tests files are now all tagged. Running them through Makefile works as before, but manual execution requires specific tags. Run
go test -v .
for tags list. vcd_vapp_vm
- Deprecated attributesnetwork_name
,vapp_network_name
,network_href
andip
in favor ofnetwork
(#118)
NOTES:
- Please look for "v2.1+" keyword in documentation which is used to emphasize new features.
- Project switched to using Go modules, while
vendor
is left for backwards build compatibility only. It is worth having a look at README.md to understand how Go modules impact build and development (#178) - Project dependency of github.com/hashicorp/terraform updated from v0.10.0 to v0.11.13 (#181)
- MaxRetryTimeout is shared with underlying SDK
go-vcloud-director
(#189) - Improved testing functionality (#166)
FEATURES:
- New Resource: disk resource -
vcd_independent_disk
(#188) - resource/vcd_vapp_vm has ability to attach independent disk (#188)
- New Resource: vApp network -
vcd_vapp_network
(#155) - resource/vcd_vapp_vm has ability to use vApp network (#155)
IMPROVEMENTS:
- resource/vcd_inserted_media now supports force ejecting on running VM (#184)
- resource/vcd_vapp_vm now support CPU cores configuration (#174)
BUG FIXES:
- resource/vcd_vapp, resource/vcd_vapp_vm add vApp status handling when environment is very fast (#68)
- resource/vcd_vapp_vm add additional validation to check if vApp template is OK [#157]
Please look for "v2.0+" keyword in documentation which is used to emphasize changes and new features.
ARCHITECTURAL:
- Vendor (vCD Golang SDK) switch from the old govcloudair to the newly supported go-vcloud-director
FEATURES:
- vCD 8.2, 9.0, 9.1 and 9.5 version support
- Sys admin login support (required to support new higher privileged operations) -
provider.org = "System"
orprovider.sysorg = "System"
- Ability to select Org and VDC at resource level -
org
andvdc
parameters - New Org resource -
vcd_org
- New Catalog resource -
vcd_catalog
- New Catalog item resource (upload OVA) -
vcd_catalog_item
- New Catalog media resource (upload ISO) -
vcd_catalog_media
- New direct and isolated Org VDC network resources (complements the routed network) -
vcd_network_direct
,vcd_network_isolated
andvcd_network_routed
- DNAT protocol and ICMP sub type setting -
vcd_dnat.protocol
andvcd_dnat.icmp_sub_type
- Ability to accept EULAs when deploying VM -
vcd_vapp_vm.accept_all_eulas
- Setting to log API calls for troubleshooting -
provider.logging
andprovider.logging_file
IMPROVEMENTS:
- Fixes for guest customization issues
- Improvements to error handling and error messages
- New tests and test framework improvements
- Provisional support for connection caching (disabled by default)
BACKWARDS INCOMPATIBILITIES / NOTES:
- Resource
vcd_network
deprecated in favor of a new namevcd_network_routed
- Previously deprecated parameter
provider.maxRetryTimeout
removed completely in favor ofprovider.max_retry_timeout
TESTS:
- Test configuration is now included in a file (create
vcd_test_config.json
fromsample_vcd_test_config.json
) instead of being defined by environment variables
IMPROVEMENTS:
vcd_vapp
- Fixes an issue with Networks in vApp templates being required, also introduced in 0.1.2 (#38)
FEATURES:
vcd_vapp
- Add support for defining shared vcd_networks (#46)vcd_vapp
- Added options to configure dhcp lease times (#47)
IMPROVEMENTS:
vcd_vapp
- Fixes an issue with storage profiles introduced in 0.1.2 (#39)
BACKWARDS INCOMPATIBILITIES / NOTES:
- provider: Deprecate
maxRetryTimeout
in favour ofmax_retry_timeout
(#40)
IMPROVEMENTS:
vcd_vapp
- Setting the computer name regardless of init script (#31)vcd_vapp
- Fixes the power_on issue introduced in 0.1.2 (#33)vcd_vapp
- Fixes issue with allocated IP address affecting tf plan (#17 & #29)vcd_vapp_vm
- Setting the computer name regardless of init script (#31)vcd_firewall_rules
- corrected typo in docs (#35)
IMPROVEMENTS:
FEATURES:
- New VM Resource:
vcd_vapp_vm
(#9) - New VPN Resource:
vcd_edgegateway_vpn
IMPROVEMENTS:
- resource/vcd_dnat: Added a new (optional) param translated_port (#14)
NOTES:
- Same functionality as that of Terraform 0.9.8. Repacked as part of Provider Splitout