FEATURES
- 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)
IMPROVEMENTS
- 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
and
status_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)
BUG FIXES
- 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 was
power_on=true
(#932)
DEPRECATIONS
- 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)
NOTES
- 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)