Changes in progress for v3.14.0 are available at .changes/v3.14.0 until the release.
- Add support for VCD 10.6 (#1279)
- New Guide
Data Solution Extension and Solution Add-On management
(#1286) - New Guide
Site and Org associations
to describe association operations for sites and organizations (#1260) - New Resource:
vcd_solution_landing_zone
to manage Solution Add-On Landing Zone (#1251) - New Data Source:
vcd_solution_landing_zone
to read Solution Add-On Landing Zone (#1251) - New Resource:
vcd_solution_add_on
to manage Solution Add-Ons (#1256) - New Data Source:
vcd_solution_add_on
to read Solution Add-Ons (#1256) - New Resource:
vcd_solution_add_on_instance
to manage Solution Add-On Instances (#1272) - New Data Source:
vcd_solution_add_on_instance
to read existing Solution Add-On Instances (#1272) - New Resource:
vcd_solution_add_on_instance_publish
to manage publishing settings for Solution Add-On Instances (#1272) - New Data Source:
vcd_solution_add_on_instance_publish
to read publishing settings for Solution Add-On Instances (#1272) - New Resource:
vcd_dse_registry_configuration
to manage Data Solution Extension (DSE) Registry Configuration (#1284,#1286) - New Data Source:
vcd_dse_registry_configuration
to read Data Solution Extension (DSE) Registry Configuration (#1284,#1286) - New Resource:
vcd_dse_solution_publish
to manage DSE Solution publishing (#1284) - New Data Source:
vcd_dse_solution_publish
to read DSE Solution publishing (#1284) - New Data Source:
vcd_multisite_site
to read the state and associations of current site (#1260) - New Data Source:
vcd_multisite_site_data
to produce the association data needed to start a site association (#1260) - New Data Source:
vcd_multisite_site_association
to read the details of a site association (#1260) - New Resource:
vcd_multisite_site_association
to associate the current site with a remote one (#1260) - New Data Source:
vcd_multisite_org_data
to produce the association data needed to start an organization association (#1260) - New Data Source:
vcd_multisite_org_association
to read the details of an organization association (#1260) - New Resource:
vcd_multisite_org_association
to associate a local organization with a remote one (#1260) - New Resource:
vcd_org_oidc
to manage the Open ID Connect settings for an Organization (#1263) - New Data Source:
vcd_org_oidc
to read the Open ID Connect settings from an Organization (#1263) - New Resource:
vcd_org_vdc_template
to manage VDC Templates (#1276, #1280) - New Data Source:
vcd_org_vdc_template
to read VDC Templates (#1276) - New Resource:
vcd_org_vdc_template_instance
to instantiate VDC Templates (#1280)
- Resource and data source
vcd_vapp
add fieldsvm_names
,vapp_network_names
,vapp_org_network_names
to list VMs and vApp networks. (#1235) - Data source
vcd_resource_list
adds ability to listvcd_vapp_network
,vcd_vapp_org_network
,vcd_vapp_all_network
to list vApp networks (#1235) - Resource and data source
vcd_external_network_v2
add support for Provider Gateway Topology intentions in VCD 10.5.1+ via fieldsnat_and_firewall_service_intention
androute_advertisement_intention
(#1239) - Resource
vcd_nsxt_firewall
supportsREJECT
action (#1240) - Resources
vcd_vapp_vm
andvcd_vm
add propertyset_extra_config
to add, modify, or remove VM extra configuration items (#1253, #1288) - Resources and data sources
vcd_vapp_vm
andvcd_vm
add propertyextra_config
to read existing VM extra configuration (#1253, #1288) - Resource and data source
vcd_catalog_media
exposed additional attributecatalog_item_id
to expose catalog item ID (#1256) - Data source
vcd_resource_list
can now list site and organization associations (#1260) - The
worker_pool
block fromvcd_cse_kubernetes_cluster
resource allows to configure the cluster autoscaler withautoscaler_max_replicas
andautoscaler_min_replicas
arguments (#1269) - Data source
vcd_resource_list
can list VDC Templates (#1276) - Improve
rde_type_behavior_acl
documentation to state that redundant access levels should be avoided, especially in VCD 10.6+ to prevent undesired updates-in-place during plans (#1277)
- Fix a missing Edge Gateway filter bug in
vcd_nsxt_alb_edgegateway_service_engine_group
resource (issue #1245) (#1246) - Fix Issue #1258:
vcd_cse_kubernetes_cluster
fails during creation when the chosen network belongs to a VDC Group (#1266) - Fix Issue #1265: The
kubeconfig
attribute fromvcd_cse_kubernetes_cluster
resource and data source is now marked as sensitive (#1266) - Fix a bug where
vcd_nsxt_distributed_firewall_rule
resource could report incorrect firewall rule when usingabove_rule_id
(issue #1202) (#1268) - Fix
vcd_catalog_media
resource so it doesn't wait indefinitely to the upload task to reach 100% progress, by checking also its status, to decide that the upload is complete or aborted (#1273) - Fix Issue 1170 where an imported VM complains about missing or altered fields and Terraform tries to re-create the resource (#1274)
- Fix Issue #1202 - Resource and
data source
vcd_nsxt_edgegateway
may crash due to exhausting memory while counting huge IPv6 subnets by adding count limit defined inip_count_read_limit
field (#1275) - Fix
vcd_nsxt_ipsec_vpn_tunnel
update operations, that failed in VCD 10.6+ when asecurity_profile_customization
block is added to the IPSec VPN tunnel (#1282) - Fix resource
vcd_nsxt_alb_settings
so update operations don't fail in VCD 10.6+ (#1283)
- Bump
go-vcloud-director
to v2.25.0 (SDK this provider uses for low level access to the VCD) (#1289) - Bump
terraform-plugin-sdk
to v2.34.0 (#1271) - Amend the test
TestAccVcdRdeDuplicate
so it doesn't fail on VCD 10.6+. Since this version, whenever a RDE is created in a tenant by the System Administrator, the owner is not"administrator"
anymore, but"system"
(#1278) - Tests for FLEX Org VDC must set
memory_guaranteed
wheninclude_vm_memory_overhead=true
(#1281) - Amend
TestAccVcdOrgOidc
to check theredirect_uri
in a case-insensitive way (#1282) - Amend
TestAccVcdCatalogSharedAccess
, it failed in VCD 10.6+ as the used VDC was missing theResourceGuaranteedMemory
parameter (Flex allocation model) (#1283) - Amend test
TestAccVcdSubscribedCatalog
to be compatible with VCD 10.6.0 (#1285) - Update
vcd_subscribed_catalog
resource documentation to state thatmetadata
attribute is not available in VCD 10.6.0 (#1285)
- Improve page links for authentication methods in main documentation page (#1241)
- Rename VMware NSX Advanced Load Balancer (Avi) to VMware Avi Load Balancer (#1241)
- Fix Issue #1242: panic when edge gateway IP count returns empty (#1244)
- Fix Issue #1248 that prevents CSE Kubernetes clusters from being upgraded to an OVA with higher Kubernetes version but same TKG version, and to an OVA with a higher patch version of Kubernetes (#1247)
- Fix Issue #1248 that prevents CSE Kubernetes clusters from being upgraded to TKG v2.5.0 with Kubernetes v1.26.11 as it performed an invalid upgrade of CoreDNS (#1247)
- Fix Issue #1252 that prevents reading the SSH Public Key from provisioned CSE Kubernetes clusters (#1247)
- Bump
go-vcloud-director
to v2.24.0 (SDK this provider uses for low level access to the VCD) (#1247)
- New Resource:
vcd_cse_kubernetes_cluster
to create and manage Kubernetes clusters in a VCD with Container Service Extension 4.2.1, 4.2.0, 4.1.1 or 4.1.0 installed and running (#1195, #1218, #1222) - New Data Source:
vcd_cse_kubernetes_cluster
to read Kubernetes clusters from a VCD with Container Service Extension 4.2.1, 4.2.0, 4.1.1 or 4.1.0 installed and running (#1195, #1218, #1222) - New Data Source:
vcd_version
to get the VCD version and perform additional checks with version constraints (#1195, #1218)
- Resource
vcd_provider_vdc
adds ability of creating a provider VDC without network pool or NSX-T manager (issue #1186) (#1220) - Add route advertisement support to
vcd_network_routed_v2
via fieldroute_advertisement_enabled
(#1203) vcd_vapp_vm
andvcd_vm
add fieldconsolidate_disks_on_create
that helps to change template disk sizes usingoverride_template_disk
in fast provisioned VDCs (#1206)vcd_vapp_vm
andvcd_vm
add support for VM Copy operation by usingcopy_from_vm_id
field (#1210, #1218, #1219)- Resources and data sources
vcd_vapp_vm
/vcd_vm
expose computed fieldvapp_id
(#1215) - Resource
vcd_catalog_vapp_template
supports creating templates from existing vApps and standalone VMs using newcapture_vapp
configuration block (#1215) - Resource
vcd_catalog_vapp_template
exposes attributecatalog_item_id
for related Catalog Item ID (#1215, #1219)
- Fix Issue #1121 Portgroup backed network pool can't have a data source (#1220)
- Resource
vcd_cse_kubernetes_cluster
deprecates the Container Service Extension cluster management guide, so users should not usevcd_rde
resources to create a Kubernetes cluster anymore (#1195)
- Bump terraform-plugin-sdk to v2.31.0 (#1193)
- Bump
go-vcloud-director
to v2.23.0 (SDK this provider uses for low level access to the VCD) (#1225)
- Add support for VMware Cloud Director 10.5.1
- Add support for Container Service Extension v4.1 by updating both the installation and the cluster management guides (#1063, #1139)
- New Resource:
vcd_network_pool
to create and manage network pools (#1115) - New Data Source:
vcd_nsxt_segment_ip_discovery_profile
to read NSX-T IP Discovery Segment Profiles (#1120) - New Data Source:
vcd_nsxt_segment_mac_discovery_profile
to read NSX-T MAC Discovery Segment Profiles (#1120) - New Data Source:
vcd_nsxt_segment_spoof_guard_profile
to read NSX-T Spoof Guard Profiles (#1120) - New Data Source:
vcd_nsxt_segment_qos_profile
to read NSX-T QoS Profiles (#1120) - New Data Source:
vcd_nsxt_segment_security_profile
to read NSX-T Segment Security Profiles (#1120) - New Resource:
vcd_nsxt_segment_profile_template
to manage NSX-T Segment Profile Templates (#1120) - New Data Source:
vcd_nsxt_segment_profile_template
to read NSX-T Segment Profile Templates (#1120) - New Resource:
vcd_nsxt_global_default_segment_profile_template
to manage NSX-T Global Default Segment Profile Templates (#1120) - New Data Source:
vcd_nsxt_global_default_segment_profile_template
to read NSX-T Global Default Segment Profile Templates (#1120) - New Resource:
vcd_org_vdc_nsxt_network_profile
to manage default Segment Profile Templates for NSX-T VDCs (#1120) - New Data Source:
vcd_org_vdc_nsxt_network_profile
to read default Segment Profile Templates for NSX-T VDCs (#1120) - New Resource:
vcd_nsxt_network_segment_profile
to manage individual Segment Profiles or Segment Profile Templates for NSX-T Org VDC Networks (#1120) - New Data Source:
vcd_nsxt_network_segment_profile
to read individual Segment Profiles or Segment Profile Templates for NSX-T Org VDC Networks (#1120) - New Resource:
vcd_nsxt_edgegateway_l2_vpn_tunnel
to manage Edge Gateway L2 VPN Tunnel sessions (#1061) - New Data Source:
vcd_nsxt_edgegateway_l2_vpn_tunnel
to read Edge Gateway L2 VPN Tunnel sessions (#1061) - New Resource:
vcd_nsxt_edgegateway_dns
to manage Edge Gateway DNS forwarder configuration (#1154) - New Data Source:
vcd_nsxt_edgegateway_dns
to read Edge Gateway DNS forwarder configuration (#1154)
- New guide
Importing resources
on how to import resources with new experimental Terraform import blocks (#1104) - New example
Importing catalog contents
showing how to import shared catalogs (#1104) - New example
Importing cloned vApps
showing how to import vApps and VMs from cloned vApps (#1104) - New Data Source:
vcd_rde_behavior_invocation
to invoke a Behavior of a given RDE (#1117, #1136) - New Resource:
vcd_vm_vgpu_policy
to manage VM vGPU compute policy configuration (#1167) - New Data Source:
vcd_vm_vgpu_policy
to read VM vGPU compute policies (#1167)
- Add
metadata_entry
attribute tovcd_rde
resource and data source to manage metadata entries of typeString
,Number
andBool
in Runtime Defined Entities (#1018, #1164) - Resource
vcd_catalog_access_control
adds propertyread_only_shared_with_all_orgs
to share the catalog as read-only with all organizations (#1020) - Resource and data source
vcd_org
add propertiesnumber_of_vdcs
,number_of_catalogs
,list_of_vdcs
,list_of_catalogs
(#1020) - Resources
vcd_vapp_network
andvcd_vapp_org_network
will additionally check if vApp is inRESOLVED
(in addition to already checkedPOWERED_OFF
) state before attempting a reboot whenreboot_vapp_on_removal
flag is set totrue
(#1092) - Resource
vcd_vdc_group
supports force deletion using new parameterforce_delete
(#1071) - Add fields
name_regex
andimport_file_name
tovcd_resource_list
to facilitate creation of import blocks (#1104) - Properties
delete_force
anddelete_recursive
invcd_org
,vcd_org_vdc
, andvcd_catalog
are now optional, to facilitate import operations (#1104) - Properties
ova_path
andovf_url
invcd_catalog_item
andvcd_vapp_template
are now optional, to facilitate import operations (#1104) - Property
ova_path
invcd_catalog_media
is now optional, to facilitate import operations (#1104) - Add field
ssl_enabled
to resource and data sourcevcd_nsxt_alb_pool
to set SSL support on demand (#1108) - Introduce new attributes
firmware
andboot_options
tovcd_vm
andvcd_vapp_vm
, allowing to specify boot options of a VM (VCD 10.4.1+) (#1109) - Resource and data source
vcd_nsxt_edgegateway
support attachment of NSX-T Segment backed External Networks viaexternal_network
block (#1111, #1172) - Data source
vcd_resource_list
can now list network pools, vCenters, NSX-T transfer zones, distributed switches, and importable port groups (#1115) - Data source
vcd_network_pool
includes all properties of the corresponding resource (#1115) - Field
rde_type_id
from resourcevcd_rde
does not force a deletion when updated, to allow easier RDE Type version upgrades (#1117) - Resource
vcd_rde_type
supports Behavior hooks with the newhook
blocks, that allow to automatically invoke Behaviors on certain RDE lifecycle events (#1122) - Data source
vcd_rde_type
supports reading Behavior hooks from VCD and store their information in the newhook
blocks (#1122) - Add property
upload_any_file
to resourcevcd_catalog_media
to allow uploading any file as catalog media item (#1123) - Add property
download_to_file
to data sourcevcd_catalog_media
to allow downloading a catalog media item into a file (#1124) - Resource
vcd_provider_vdc
supports metadata withmetadata_entry
blocks (#1126) - Resource and data source
vcd_catalog_vapp_template
add propertylease
with fieldstorage_lease_in_sec
to handle the VApp Template lease (#1130) - Add property
custom_user_ou
tovcd_org_ldap
to specify custom attributes whenldap_mode = "SYSTEM"
(#1142) - Add support to the metadata that gets automatically created on
vcd_vapp_vm
andvcd_vm
when they are created by a VM from a vApp Template in VCD 10.5.1+, with the newinherited_metadata
computed map. Example of metadata entries of this kind:vm.origin.id
,vm.origin.name
,vm.origin.type
(#1146, #1173) - Add support to the metadata that gets automatically created on
vcd_vapp
when it is created by a vApp Template or another vApp in VCD 10.5.1+, with the newinherited_metadata
computed map. Example of metadata entries of this kind:vapp.origin.id
,vapp.origin.name
,vapp.origin.type
(#1146, #1173) - Add missing property
value
tovcd_ip_space_ip_allocation
to specify IP or Prefix value on VCD 10.4.2+ (#1147) - Add
vcd_independent_disk
to the resources retrieved byvcd_resource_list
(#1155) - Resource and data source
vcd_ip_space
support NAT and Firewall creation configuration using fieldsdefault_firewall_rule_creation_enabled
,default_no_snat_rule_creation_enabled
,default_snat_rule_creation_enabled
(#1156)
- Minimize risk of latency-induced test failures in TestAccVcdSubscribedCatalog (#1101)
- Fix Issue #1112: Data source
vcd_vcenter
fails when name contains spaces (#1115) - Fix a bug that made impossible to delete
vcd_rde_type_behavior_acl
resources when the Access Level is the last one in the Behavior (#1117) - Fix the resource
vcd_rde_type_behavior_acl
to avoid race conditions when creating, updating or deleting more than one Access Level (#1117) - Fix media item detection in
vcd_resource_list
: it was incorrectly listing also vApp templates (#1119) - Fix Issue #1127 (Incorrect behavior of vcd_resource_list, which can retrieve Edge Gateways belonging to a VDC, but not belonging to a VDC Group) (#1129)
- Fix test TestAccVcdRightsContainers and expand it to test most available items (#1135)
- Fix a bug in
vcd_rde
that caused a RDE created in a certain Organization to be unreachable by a user belonging to a different Organization despite having the required rights (#1139, #1164) - Fix organization retrieval in
vcd_resource_list
when users fill the"parent"
field instead of"org"
(#1140) - Fix organization retrieval in
vcd_resource_list
when field"org"
from the provider block was not used (#1140) - Fix Issue 1134 : Can't use SYSTEM
ldap_mode
(#1142) - Fix a bug in
ignore_metadata_changes
provider configuration block whenconflict_action = warn
, that caused an operation to fail immediately instead of continuing without an error when a conflict was found (#1164, #1173) - Fix usage example for datasource
vcd_nsxt_edgegateway_bgp_ip_prefix_list
in registry documentation (#1169)
- Resource
vcd_org_vdc
deprecatesedge_cluster_id
in favor of new resourcevcd_org_vdc_nsxt_network_profile
that can configure NSX-T Edge Clusters and default Segment Profile Templates for NSX-T VDCs (#1120)
- Drop support for VCD 10.3.x (#1108)
- Add ability to split the test suite across several VCDs (#1110)
- Patch tests
TestAccVcdVAppVmCustomizationSettings
andTestAccVcdStandaloneVmCustomizationSettings
to use valid guest customization settings (#1113) - Improve
TestAccVcdIpv6Support
to avoid subnet clashes (#1133) - Bump
terraform-plugin-sdk
tov2.29.0
(#1148) - Bump minimum Go requirement to
1.20
because such version is required byterraform-plugin-sdk
v2.29.0
(#1148) - Improve documentation of the
provider_scoped
andtenant_scoped
attributes fromvcd_ui_plugin
resource (#1180)
- Add a new guide to create and manage Kubernetes Clusters using Container Service Extension v4.0 (#1030)
- New Resource:
vcd_nsxt_edgegateway_dhcp_forwarding
to manage NSX-T Edge Gateway DHCP Forwarding configuration (#1056) - New Data Source:
vcd_nsxt_edgegateway_dhcp_forwarding
to read NSX-T Edge Gateway DHCP Forwarding configuration (#1056) - New Resource:
vcd_ui_plugin
to programmatically install and manage UI Plugins (#1059) - New Data Source:
vcd_ui_plugin
to fetch existing UI Plugins (#1059) - New Resource:
vcd_ip_space
to manage IP Spaces in VCD 10.4.1+ (#1061) - New Data Source:
vcd_ip_space
to read IP Spaces in VCD 10.4.1+ (#1061) - New Resource:
vcd_ip_space_uplink
to manage IP Space Uplinks for External Networks (Provider gateways) in VCD 10.4.1+ (#1062) - New Data Source:
vcd_ip_space_uplink
to read IP Space Uplinks for External Networks (Provider gateways) in VCD 10.4.1+ (#1062) - New Resource:
vcd_ip_space_ip_allocation
to manage IP Space IP Allocations in VCD 10.4.1+ (#1062) - New Data Source:
vcd_ip_space_ip_allocation
to read IP Space IP Allocations in VCD 10.4.1+ (#1062) - New Resource:
vcd_ip_space_custom_quota
to manage Custom IP Space Quotas for individual Organizations in VCD 10.4.1+ (#1062) - New Data Source:
vcd_ip_space_custom_quota
to read Custom IP Space Quotas for individual Organizations in VCD 10.4.1+ (#1062) - New Resource:
vcd_org_saml
to manage an organization SAML configuration (#1064) - New Data Source:
vcd_org_saml
to read an organization SAML configuration (#1064) - New Data Source:
vcd_org_saml_metadata
to read an organization SAML service provider metadata (#1064) - New Resource:
vcd_api_token
to manage API tokens (#1070) - New Resource:
vcd_service_account
to manage Service Accounts (#1070) - New Data Source:
vcd_service_account
to read Service Accounts (#1070) - New Resource:
vcd_nsxt_edgegateway_dhcpv6
to manage NSX-T Edge Gateway DHCPv6 configuration (#1071,#1083) - New Data Source:
vcd_nsxt_edgegateway_dhcpv6
to read NSX-T Edge Gateway DHCPv6 configuration (#1071,#1083) - New Resource:
vcd_provider_vdc
to manage provider VDCs (#1073) - New Data Source:
vcd_resource_pool
to read vCenter Resource Pools (#1073) - New Data Source:
vcd_network_pool
to read Network Pools (#1073) - New Resource:
vcd_rde_interface_behavior
to manage RDE Interface Behaviors, which can be invoked by RDEs and overridden by RDE Types (#1074) - New Data Source:
vcd_rde_interface_behavior
to read RDE Interface Behaviors, so they can be used in RDE Type Behavior overrides (#1074) - New Resource:
vcd_rde_type_behavior
to manage Behaviors in RDE Types, which can override those defined in RDE Interfaces (#1074) - New Data Source:
vcd_rde_type_behavior
to read RDE Type Behaviors (#1074) - New Resource:
vcd_rde_type_behavior_acl
to manage the access to Behaviors in RDE Types and RDE Interfaces (#1074) - New Data Source:
vcd_rde_type_behavior_acl
to read Access Levels from Behaviors of RDE Types and RDE Interfaces (#1074) - New Resource:
vcd_nsxt_edgegateway_static_route
to manage NSX-T Edge Gateway Static Routes on VCD 10.4.0+ (#1075) - New Data Source:
vcd_nsxt_edgegateway_static_route
to read NSX-T Edge Gateway Static Routes on VCD 10.4.0+ (#1075) - New Resource:
vcd_nsxt_distributed_firewall_rule
to manage NSX-T Distributed Firewall one by one. Rules will not be created in parallel because the API provides no direct endpoint to create a single rule and this functionality uses a custom-made function that abstracts the "update all" endpoint (#1076) - New Data Source:
vcd_nsxt_distributed_firewall_rule
to read NSX-T Distributed Firewall one by one (#1076) - New Resource:
vcd_cloned_vapp
to create a vApp from either a vApp template or another vApp (#1081)
(Experimental features and improvements may change in future releases, until declared stable.)
- Add
ignore_metadata_changes
argument to the Provider configuration to be able to specify metadata entries that should not be managed by Terraform when usingmetadata_entry
configuration blocks (#1057, #1089)
- The guide to install the Container Service Extension v4.0 now additionally explains how to install the Kubernetes Container Clusters UI Plugin (#1059)
vcd_external_network_v2
resource and data source support IP Spaces on VCD 10.4.1+ by addinguse_ip_spaces
anddedicated_org_id
fields (#1062)vcd_nsxt_edgegateway
resource supports IP Spaces by not requiringsubnet
specification (#1062)- Resource and data source
vcd_nsxt_alb_virtual_service
support IPv6 on VCD 10.4.0+ via new fieldipv6_virtual_ip_address
(#1071) - Resource and data source
vcd_network_routed_v2
support Dual-Stack mode usingdual_stack_enabled
andsecondary_gateway
,secondary_prefix_length
,secondary_static_ip_pool
fields (#1071) - Resource and data source
vcd_network_isolated_v2
support Dual-Stack mode usingdual_stack_enabled
andsecondary_gateway
,secondary_prefix_length
,secondary_static_ip_pool
fields (#1071) - Resource and data source
vcd_nsxt_network_imported
support Dual-Stack mode usingdual_stack_enabled
andsecondary_gateway
,secondary_prefix_length
,secondary_static_ip_pool
fields (#1071) - Resource and data source
vcd_nsxt_network_dhcp_binding
supportdhcp_v6_config
config (#1071) - Validate possibility to perform end to end IPv6 configuration via additional tests (#1071)
- Resource
vcd_vdc_group
adds new fieldremove_default_firewall_rule
to remove default Distributed Firewall Rule after creation (#1076) - The attribute
description
ofvcd_vm_placement_policy
is now Computed, as latest VCD versions set a default description automatically if it is not set (#1082)
- Fix Issue #1058 - Multiple
SYSTEM
scope data sourcevcd_nsxt_app_port_profile
when multiple NSX-T managers are configured (#1065) - Fix Issue #1069 - Inconsistent
security_profile_customization
field duringvcd_nsxt_ipsec_vpn_tunnel
update (#1072) - Fix Issue #1066 - Not possible to handle more than 128 storage profiles (#1073)
- Fix a bug that caused
vcd_catalog
creation to fail if it is created with deprecatedmetadata
argument in VCD 10.5 (#1085)
- Internal - replaces
takeBoolPointer
,takeIntPointer
,takeInt64Pointer
with genericaddrOf
(#1055) - Bump
terraform-plugin-sdk
to v2.27.0 (#1079) - Resource
vcd_nsxt_edgegateway_bgp_configuration
will send existingGracefulRestart
to avoid API validation errors in VCD 10.5.0+ (#1083) go-vcloud-director
, the SDK this provider uses for low level access to the VCD, released with version v2.21.0
- New guide to install Container Service Extension (CSE) v4.0 in VCD 10.4+ (#1003, #1053)
- New Resource:
vcd_rde_interface
to manage Runtime Defined Entity Interfaces which are required for using Runtime Defined Entity (RDE) types (#965) - New Data Source:
vcd_rde_interface
to fetch existing Runtime Defined Entity Interfaces (#965) - New Resource:
vcd_rde_type
to manage Runtime Defined Entity Types which are required for using Runtime Defined Entities (RDEs) (#973) - New Data Source:
vcd_rde_type
to fetch existing Runtime Defined Entity Types (#973) - New Resource:
vcd_rde
to manage Runtime Defined Entities (#977) - New Data Source:
vcd_rde
to fetch existing Runtime Defined Entities (#977) - New Resource:
vcd_nsxv_distributed_firewall
to create and manage NSX-V distributed firewall (#988) - New Data Source:
vcd_nsxv_distributed_firewall
to fetch existing NSX-V distributed firewall (#988) - New Data Source:
vcd_nsxv_application_finder
to search applications and application groups to use with a NSX-V distributed firewall (#988) - New Data Source:
vcd_nsxv_application
to fetch existing application to use with a NSX-V distributed firewall (#988) - New Data Source:
vcd_nsxv_application_group
to fetch existing application_group to use with a NSX-V distributed firewall (#988) - New Resource:
vcd_nsxt_network_dhcp_binding
to manage NSX-T DHCP Bindings (#1039) - New Data Source:
vcd_nsxt_network_dhcp_binding
to read NSX-T DHCP Bindings (#1039) - New Resource:
vcd_nsxt_edgegateway_rate_limiting
to manage NSX-T Edge Gateway Rate Limiting (#1042) - New Data Source:
vcd_nsxt_edgegateway_rate_limiting
to read NSX-T Edge Gateway Rate Limiting (#1042) - New Data Source:
vcd_nsxt_edgegateway_qos_profile
to read QoS profiles available forvcd_nsxt_edgegateway_rate_limiting
resource (#1042)
vcd_external_network_v2
allows setting DNS fieldsdns1
,dns2
anddns_suffix
for NSX-T backed entities so that it can be inherited by direct Org VDC networks (#984)vcd_org_vdc
includes a propertyenable_nsxv_distributed_firewall
to enable or disable a NSX-V distributed firewall (#988)vcd_nsxt_edgegateway
resource and data source got automatic IP allocation support using new configuration fieldssubnet_with_total_ip_count
,subnet_with_ip_count
andtotal_allocated_ip_count
fields (#991)vcd_nsxt_edgegateway
resource and data source exposeused_ip_count
andunused_ip_count
attributes (#991, #1047)vcd_nsxt_alb_settings
resource and data source adds two new fieldsis_transparent_mode_enabled
andipv6_service_network_specification
(#996)- Resources
vcd_vapp_network
andvcd_vapp_org_network
add convenience flagreboot_vapp_on_removal
. When enabled, it will power off parent vApp (and power back on after if it was before) during vApp network removal. This improves workflows with VCD 10.4.1+ which returns an error when removing vApp networks from powered on vApps (#1004) vcd_vapp_vm
andvcd_vm
resources support security tag management via new fieldsecurity_tags
(#1006, #1046)- Resource
vcd_nsxt_ipsec_vpn_tunnel
adds support for customremote_id
field and certificate based auth via fieldsauthentication_mode
,certificate_id
,ca_certificate_id
(#1010) vcd_org_group
addsOAUTH
as an option to argumentprovider_type
(#1013)- Resource and data source
vcd_nsxt_alb_virtual_service
add support for Transparent mode in VCD 10.4.1+ via fieldis_transparent_mode_enabled
(#1024) - Resource and data source
vcd_nsxt_alb_pool
add support for Pool Group Membership via fieldmember_group_id
(#1024) - Resource and data source
vcd_nsxt_network_imported
support Distributed Virtual Port Group (DVPG) backed Org VDC network (#1043) - Support provider authentication using Active Service Accounts (#1040)
- Fix a bug that prevented returning a specific error while authenticating provider with invalid password (#962)
- Add
prefix_length
field tovcd_vapp_network
as creating IPv6 vApp networks was not supported due to the lack of a suitable subnet representation (Issue #999) (#1007, #1031) - Remove incorrect default value from
vcd_vapp_network
netmask
field, as it prevents using IPv6 networks. Users of already defined resources need to add anetmask = "255.255.255.0"
when using IPv4 (#1007)
- Deprecate
netmask
in favor ofprefix_length
forvcd_vapp_network
(#1007)
- Add missing test name fields for
TestAccVcdNsxtEdgeBgpConfigIntegrationVdc
andTestAccVcdNsxtEdgeBgpConfigIntegrationVdcGroup
(#958) - Create
TestAccVcdCatalogRename
, which checks that renaming a catalog works correctly (#992) - Removed disk update steps from
TestAccVcdIndependentDiskBasic
, as it was sometimes failing due to a bug in VCD. Created a new oneTestAccVcdIndependentDiskBasicWithUpdates
which will be run only on new releases of VCD (>=v10.4.1) (#1014) - Increased sleep in between testing steps in
TestAccVcdNsxtDynamicSecurityGroupVdcGroupCriteriaWithVms
from 15s to 25s to let VMs get created (#1014) - Added skipping of
TestAccVcdVsphereSubscriber
andTestAccVcdSubscribedCatalog
if VCD version is older than v10.4.0 as there was a bug with catalog sharing rights that caused the tests to fail (#1014) - Update
CODING_GUIDELINES.md
with documentation notes (#1015) - Bump
terraform-plugin-sdk
to v2.26.1 (#1002, #1023) - Bump
golang.org/x/net
to v0.7.0 to address vulnerability reports (#1002) - Add support for Go 1.20 in testing workflows (#1034)
- Bump
staticcheck
to 2023.1.3 (#1034)
- Add
catalog_id
to resource and data sourcevcd_catalog_media
to allow handling similarly tovcd_catalog_vapp_template
(#972)
- Change
vcd_catalog
,vcd_catalog_media
,vcd_catalog_vapp_template
, andvcd_catalog_item
to access their entities without the need to use a full Org object, thus allowing the access to shared catalogs from other organizations (Issue #960) (#972) - Fix a bug that caused inconsistent plan when using
group_id
invcd_catalog_access_control
,vcd_org_vdc_access_control
andvcd_vapp_access_control
resources (#963) - Remove unnecessary URL checks from
vcd_subscribed_catalog
creation, to allow subscribing to non-VCD entities, such as vSphere shared library (#972) - Remove unnecessary validation that prevents attaching NSX-T Org network to vApp using
org_network_name
field invcd_vapp_network
resource (#975)
- Deprecate usage of
catalog
in favor ofcatalog_id
invcd_catalog_media
(#972)
- Add mini-framework for running tests with several Organizations (#972)
- Try to amend quirky test
TestAccVcdNsxtDynamicSecurityGroupVdcGroupCriteriaWithVm
that sometimes fails due to a bad filter. It now uses a shorter name for the Dynamic Security Groups to try to not break the resulting filter chain (#980)
- Add
vdc_id
to data sourcevcd_vm_placement_policy
to allow tenant users to fetch VM Placement Policies from the ones assigned to VDCs (#948) - Resource and data source
vcd_catalog
andvcd_subscribed_catalog
introduce new computed fieldis_local
to specify whether the catalog originated from the current org (#949) - Improve usage of
org
field invcd_catalog
to accept sharing Org name for shared catalogs and improve error messages (#949)
- Fix a bug that caused
vcd_vm_group
data source to fail when the backing Provider VDC had multiple resource pools (#948) - Fix issue #944 - shared catalog datasource not accessible to Org users (#949)
- Fix issue #672 - update Org with invalid or extended LDAP settings (#952, #955)
- New Resource:
vcd_catalog_vapp_template
to manage the upload and usage of vApp Templates (#899) - New Data Source:
vcd_catalog_vapp_template
to fetch existing vApp Templates (#899) - New Resource:
vcd_vm_placement_policy
that allows creating VM Placement Policies (#904, #911) - New Data Source:
vcd_vm_placement_policy
that allows fetching existing VM Placement Policies (#904, #911) - New Data Source:
vcd_provider_vdc
that allows fetching existing Provider VDCs (#904) - New Data Source:
vcd_vm_group
that allows fetching existing VM Groups, to be able to create VM Placement Policies (#904) - New Resource:
vcd_org_ldap
that allows configuring LDAP settings for an organization (#909) - New Data Source:
vcd_org_ldap
that allows exploring LDAP settings for an organization (#909) - New Resource:
vcd_catalog_access_control
that allows sharing a catalog with users, groups, or Orgs (#915) - New Resource:
vcd_subscribed_catalog
that allows subscribing to a published catalog (#916) - New Data Source:
vcd_subscribed_catalog
that allows reading a subscribed catalog (#916) - New Data Source:
vcd_task
that allows reading a VCD task (#916)
- Add attribute
metadata_entry
to the following data sources:vcd_catalog
,vcd_catalog_media
,vcd_independent_disk
,vcd_network_direct
,vcd_network_isolated
,vcd_network_isolated_v2
,vcd_network_routed
,vcd_network_routed_v2
,vcd_org
,vcd_org_vdc
,vcd_provider_vdc
,vcd_storage_profile
,vcd_vapp
,vcd_vapp_vm
. This new attribute replacesmetadata
to add support of metadata visibility (user access levels), all the available types and domains for every metadata entry (#917) - Add attribute
metadata_entry
to the following resources:vcd_catalog
,vcd_catalog_media
,vcd_independent_disk
,vcd_network_direct
,vcd_network_isolated
,vcd_network_isolated_v2
,vcd_network_routed
,vcd_network_routed_v2
,vcd_org
,vcd_org_vdc
,vcd_vapp
,vcd_vapp_vm
. This new attribute replacesmetadata
to add support of metadata visibility (user access levels), all the available types and domains for every metadata entry (#917) - Add
placement_policy_id
attribute tovcd_vapp_vm
andvcd_vm
resource and data source, to support the usage of VM Placement Policies in VMs (#922) - Resources and data sources
vcd_vapp_vm
andvcd_vm
have new computed fieldsstatus
andstatus_text
(#901) - Add
vm_placement_policy_ids
attribute tovcd_org_vdc
resource and data source to assign existing VM Placement Policies to VDCs (#904, #911) - Add
default_compute_policy_id
attribute tovcd_org_vdc
resource and data source to specify a default VM Sizing Policy, VM Placement Policy or vGPU Policy for the VDC (#904, #911) - Add attributes
href
,vapp_template_list
,media_item_list
, andpublishing_url
tovcd_catalog
resource and data source to show published items (#916) - Add
subscribed_catalog
to examples (#916) - Upgrade Terraform SDK dependency to v2.24.1 (#920, #930)
- Resource and data source
vcd_org_vdc
introduce new fieldedge_cluster_id
to specify NSX-T Edge Cluster for VDC (#921) - Resources, that are removed outside of Terraform control are removed from state and recreated
instead of returning error (#925)
vcd_edgegateway_settings
vcd_vapp_network
vcd_vm_internal_disk
vcd_nsxv_dhcp_relay
vcd_vapp_static_routing
vcd_vapp_nat_rules
vcd_vapp_firewall_rules
vcd_vapp_access_control
vcd_nsxt_alb_edgegateway_service_engine_group
vcd_org_vdc
vcd_org_user
vcd_external_network
- Resource and data source
vcd_nsxt_network_dhcp
support Isolated networks, different DHCP modes ('EDGE', 'NETWORK', 'RELAY') and lease time (#929) - Add the new attributes
vapp_template_id
,boot_image_id
to the resourcesvcd_vapp_vm
andvcd_vm
to be able to use unique URNs to reference vApp Templates and Media items through data sources, to build strong dependencies in Terraform configuration (#931) - Data source
vcd_nsxt_edge_cluster
supports NSX-T Edge Cluster filtering byvdc_id
,vdc_group_id
, andprovider_vdc_id
(#921)
- Fix bug where VM was power cycled multiple times during creation (#901)
- Fix bug where storage_profile is ignored for empty (non template) VM (#901)
resource/vcd_nsxt_alb_edgegateway_service_engine_group
fieldreserved_virtual_services
accepts "0" as value (#923)- Fix a bug in
resource/vcd_vapp
that would prevent to Power off vApp when previous state waspower_on=true
(#932)
- Deprecate
vcd_external_network
in favor ofvcd_external_network_v2
(#903) - Deprecate
default_vm_sizing_policy_id
field invcd_org_vdc
resource and data source. This field is misleading as it can contain not only VM Sizing Policies but also VM Placement Policies or vGPU Policies. Its replacement is thedefault_compute_policy_id
attribute (#904) - Deprecate attribute
metadata
in favor ofmetadata_entry
in the following data sources:vcd_catalog
,vcd_catalog_media
,vcd_catalog_vapp_template
,vcd_independent_disk
,vcd_network_direct
,vcd_network_isolated
,vcd_network_isolated_v2
,vcd_network_routed
,vcd_network_routed_v2
,vcd_org
,vcd_org_vdc
,vcd_provider_vdc
,vcd_storage_profile
,vcd_vapp
,vcd_vapp_vm
(#917) - Deprecate attribute
metadata
in favor ofmetadata_entry
in the following resources:vcd_catalog
,vcd_catalog_media
,vcd_catalog_vapp_template
,vcd_independent_disk
,vcd_network_direct
,vcd_network_isolated
,vcd_network_isolated_v2
,vcd_network_routed
,vcd_network_routed_v2
,vcd_org
,vcd_org_vdc
,vcd_vapp
,vcd_vapp_vm
(#917) - Deprecate attribute
catalog_item_metadata
in favor ofmetadata_entry
in thevcd_catalog_item
resource and data source. (#917) - Deprecate
template_name
in favor ofvapp_template_id
invcd_vapp_vm
andvcd_vm
to be able to use unique URNs instead of catalog dependent names (#931) - Deprecate
boot_image
in favor ofboot_image_id
invcd_vapp_vm
andvcd_vm
to be able to use URNs instead of catalog dependent names (#931) - Deprecate
catalog_name
in favor ofvapp_template_id
orboot_image_id
, which don't require a catalog name anymore (#931) - Data source
vcd_nsxt_edge_cluster
deprecatesvdc
field in favor of three new fields to define NSX-T Edge Cluster lookup scope -vdc_id
,vdc_group_id
, andprovider_vdc_id
(#921)
- Drop support for EOL VCD 10.2.x (#903)
- Add a guide and examples on Catalog subscribing and sharing to the documentation (#916)
- All non-NSX-V resources and data sources use the new SDK signatures with Context and Diagnostics (#895)
- Refactor VM Creation code, which should result in identifiable parts creation for all types of
VMs. Behind the scenes, there are 4 different types of VMs with respective different API calls as
listed below (#901)
vcd_vapp_vm
built from vApp templatevcd_vm
built from vApp templatevcd_vapp_vm
built without vApp template (empty VM)vcd_vm
built without vApp template (empty VM)
- Bump Go to 1.19 in
go.mod
as the minimum required version. (#902, #916) - Code documentation formatting is adjusted using Go 1.19 (
make fmt
) (#902) - Adjust GitHub actions in pipeline to use the latest code (#902)
staticcheck
switched version naming from2021.1.2
tov0.3.3
in downloads section. This PR also updates the code to fetch correct staticcheck (#902)- package
io/ioutil
is deprecated as of Go 1.16.staticcheck
started complaining about usage of deprecated packages. As a result this PR switches packages to eitherio
oros
(still the same functions are used) (#902) - Add a new GitHub Action to run
gosec
on every push and pull request (#928)
- Add a guide and examples to configure and install Container Service Extension (CSE) 3.1.x using Terraform (#856, #882, #876)
- New Resource:
vcd_security_tag
that allows creating security tags (#845) - New Resource:
vcd_org_vdc_access_control
to manage VDC access control (#850) - New Resource:
vcd_nsxt_route_advertisement
that allows NSX-T Edge Gateway to advertise subnets to Tier-0 Gateway (#858, #888) - New Data Source:
vcd_nsxt_route_advertisement
that reads the NSX-T Edge Gateway routes that are being advertised (#858, #888) - New Resource:
vcd_nsxt_edgegateway_bgp_configuration
for NSX-T Edge Gateway BGP Configuration (#798, #887) - New Data Source:
vcd_nsxt_edgegateway_bgp_configuration
for reading NSX-T Edge Gateway BGP Configuration (#798, #887) - New Resource:
vcd_nsxt_dynamic_security_group
to manage dynamic security groups (#877) - New Data Source:
vcd_nsxt_dynamic_security_group
to lookup existing dynamic security groups (#877) - New Resource:
vcd_nsxt_edgegateway_bgp_ip_prefix_list
allows users to configure NSX-T Edge Gateway BGP IP Prefix Lists (#879, #887, #888) - New Data Source:
vcd_nsxt_edgegateway_bgp_ip_prefix_list
allows users to read NSX-T Edge Gateway BGP IP Prefix Lists (#879, #887, #888) - New Resource:
vcd_nsxt_edgegateway_bgp_neighbor
allows users to configure NSX-T Edge Gateway BGP Neighbors (#879, #887, #888) - New Data Source:
vcd_nsxt_edgegateway_bgp_neighbor
allows users to read NSX-T Edge Gateway BGP Neighbors (#879, #887, #888)
resource/vcd_nsxt_network_dhcp
anddatasource/vcd_nsxt_firewall
now supportdns_servers
(#830)- Add VDC Group compatibility for
resource/vcd_nsxt_firewall
anddatasource/vcd_nsxt_firewall
(#841, #888) - Add VDC Group compatibility for
resource/vcd_nsxt_nat_rule
anddatasource/vcd_nsxt_nat_rule
(#841, #888) - Add VDC Group compatibility for
resource/vcd_nsxt_ipsec_vpn_tunnel
anddatasource/vcd_nsxt_ipsec_vpn_tunnel
(#841, #888) - Add VDC Group compatibility for
resource/vcd_nsxt_alb_settings
anddatasource/vcd_nsxt_alb_settings
(#841) - Add VDC Group compatibility for
resource/vcd_nsxt_alb_edgegateway_service_engine_group
anddatasource/vcd_nsxt_alb_edgegateway_service_engine_group
(#841, #854) - Add VDC Group compatibility for
resource/vcd_nsxt_alb_virtual_service
anddatasource/vcd_nsxt_alb_virtual_service
(#841) - Add VDC Group compatibility for
resource/vcd_nsxt_alb_pool
anddatasource/vcd_nsxt_alb_pool
(#841) resource/vcd_vm_sizing_policy
: remove (deprecate) unneededorg
property (#843)datasource/vcd_vm_sizing_policy
: remove (deprecate) unneededorg
property (#843)- Add changes to allow running tests on CDS and make NSX-V configuration optional (#848)
resource/vcd_catalog_item
anddatasource/vcd_catalog_item
now support metadata for the CatalogItem entity withcatalog_item_metadata
attribute (#851)metadata
attribute on every compatible resource and data source is now more performant when adding and updating metadata (#853)- Make
license_type
attribute on vcd_nsxt_alb_controller optional as it is not used from VCD v10.4 onwards (#878) - Add
supported_feature_set
to vcd_nsxt_alb_service_engine_group resource and data source to be compatible with VCD v10.4, which replaces the vcd_nsxt_alb_controllerlicense_type
(#878) - Add
supported_feature_set
to vcd_nsxt_alb_settings resource and data source to be compatible with VCD v10.4, which replaces the vcd_nsxt_alb_controllerlicense_type
(#878)
- Fix typo in documentation for
resource/vcd_vapp_vm
to fix broken attribute rendering (#828) - Skip binary and upgrade tests for NVMe in VCD < 10.2.2 (#838)
- Network lookup could return incorrect ID for
vcd_vapp_network
andvcd_vapp_org_network
(#838) - Set missing
org
andvdc
fields during import ofvcd_independent_disk
(#838) - Add missing
None
mode in independent disksharing_type
(#849) vcd_vm_internal_disk
now uses default IOPS value from storage profile when custom IOPS value isn't provided (#863)- Fix
vcd_inserted_media
locking mechanism to avoid race condition withvcd_vm_internal_disk
(#870, #888) - Fix a bug that causes
vcd_vapp_vm
to fail on creation if attributesizing_policy_id
is set and corresponds to a Sizing Policy with CPU or memory defined,template_name
is used andpower_on
istrue
(#883)
- Deprecate
vdc
field in NSX-T Edge Gateway child entities. This field is no longer precise as with introduction of VDC Group support an Edge Gateway can be bound either to a VDC, either to a VDC Group. Parent VDC or VDC Group is now inherited fromedge_gateway_id
field. Impacted resources and data sources are:vcd_nsxt_firewall
,vcd_nsxt_nat_rule
,vcd_nsxt_ipsec_vpn_tunnel
,,vcd_nsxt_alb_settings
,vcd_nsxt_alb_edgegateway_service_engine_group
,vcd_nsxt_alb_virtual_service
,vcd_nsxt_alb_pool
(#841) resource/vcd_nsxt_network_dhcp
anddatasource/vcd_nsxt_network_dhcp
deprecatevdc
field to make consumption more friendly with VDC Groups (#846)
- Apply
gofmt -s -w .
to cleanup code (#833) - Adjust
role
data source and resource documentation forrights
attribute to reflect its Set nature (#834) - Adjust
rights_bundle
data source and resource documentation forrights
andtenants
attribute to reflect its Set nature (#834) - Add an example about using CloudInit to Guest Customization guides page (#852)
- Upgrade Terraform SDK dependency to v2.17.0 [#844, #853]
- Testing infrastructure: make NSX-T VDC primary for tests instead of NSX-V one (required for CDS certification) (#886)
- Add Cloud Director Service (CDS) as supported (#890)
- 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