Skip to content

Commit bef59da

Browse files
Merge pull request #25 from vmware/feature/add_wld_support
[Preliminary] Add Support for Domain resource
2 parents 455d32a + 46e1ecd commit bef59da

40 files changed

+3745
-205
lines changed

CHANGELOG.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
# CHANGELOG
22

3+
## [v0.2.0](https://github.com/vmware/terraform-provider-vcf/releases/tag/v0.2.0)
4+
5+
> Release Date: Jul 25th 2023
6+
7+
Add support for creating/deleting workload domains and being used as datasource.
8+
39
## [v0.1.0](https://github.com/vmware/terraform-provider-vcf/releases/tag/v0.1.0)
410

5-
> Release Date: TBA
11+
> Release Date: Jun 5th 2023
612
713
Initial release, adding support for commissioning/decommissioning hosts, creating/destroying
8-
network pools, creating/destroying SSO user, turning on/off the telemetry (CEIP)
14+
network pools, creating/destroying SSO user, turning on/off the telemetry (CEIP).

docs/data-sources/domain.md

Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "vcf_domain Data Source - terraform-provider-vcf"
4+
subcategory: ""
5+
description: |-
6+
7+
---
8+
9+
# vcf_domain (Data Source)
10+
11+
A workload domain is a policy based resource container with specific availability and performance attributes that combines compute (vSphere),
12+
storage (vSAN/NFS/VMFS on FC/VVOL) and networking (NSX) into a single consumable entity.
13+
14+
<!-- schema generated by tfplugindocs -->
15+
## Schema
16+
17+
### Required
18+
19+
- `domain_id` (String) The ID of the Domain to be used as data source
20+
21+
### Optional
22+
23+
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
24+
25+
### Read-Only
26+
27+
- `cluster` (List of Object) Specification representing the clusters in the workload domain (see [below for nested schema](#nestedatt--cluster))
28+
- `id` (String) The ID of this resource.
29+
- `is_management_sso_domain` (Boolean) Shows whether the domain is joined to the management domain SSO
30+
- `name` (String) Name of the domain
31+
- `nsx_cluster_ref` (List of Object) Represents NSX Manager cluster references associated with the domain (see [below for nested schema](#nestedatt--nsx_cluster_ref))
32+
- `sso_id` (String) ID of the SSO domain associated with the workload domain
33+
- `sso_name` (String) Name of the SSO domain associated with the workload domain
34+
- `status` (String) Status of the workload domain
35+
- `type` (String) Type of the workload domain
36+
- `vcenter_fqdn` (String) Fully qualified domain name of the vCenter Server instance
37+
- `vcenter_id` (String) ID of the vCenter Server instance
38+
39+
<a id="nestedblock--timeouts"></a>
40+
### Nested Schema for `timeouts`
41+
42+
Optional:
43+
44+
- `read` (String)
45+
46+
47+
<a id="nestedatt--cluster"></a>
48+
### Nested Schema for `cluster`
49+
50+
Read-Only:
51+
52+
- `cluster_image_id` (String) ID of the cluster image to be used with the cluster
53+
- `evc_mode` (String) Cluster EVC mode
54+
- `geneve_vlan_id` (Number) VLAN ID use for NSX Geneve in the workload domain
55+
- `high_availability_enabled` (Boolean) vSphere High Availability settings for the cluster
56+
- `host` (List of Object) List of ESXi host information in the workload domain (see [below for nested schema](#nestedobjatt--cluster--host))
57+
- `id` (String) ID of the cluster
58+
- `is_default` (Boolean) Status of the cluster if default or not
59+
- `is_stretched` (Boolean) Status of the cluster if stretched or not
60+
- `name` (String) Name of the cluster in the workload domain
61+
- `nfs_datastores` (List of Object) Cluster storage configuration for NFS (see [below for nested schema](#nestedobjatt--cluster--nfs_datastores))
62+
- `primary_datastore_name` (String) Name of the primary datastore
63+
- `primary_datastore_type` (String) Storage type of the primary datastore
64+
- `vds` (List of Object) vSphere Distributed Switches in the cluster (see [below for nested schema](#nestedobjatt--cluster--vds))
65+
- `vmfs_datastore` (List of Object) Cluster storage configuration for VMFS (see [below for nested schema](#nestedobjatt--cluster--vmfs_datastore))
66+
- `vsan_datastore` (List of Object) Cluster storage configuration for vSAN (see [below for nested schema](#nestedobjatt--cluster--vsan_datastore))
67+
- `vsan_remote_datastore_cluster` Cluster storage configuration for vSAN Remote Datastore (List of Object) (see [below for nested schema](#nestedobjatt--cluster--vsan_remote_datastore_cluster))
68+
- `vvol_datastores` (List of Object) Cluster storage configuration for VVOL (see [below for nested schema](#nestedobjatt--cluster--vvol_datastores))
69+
70+
<a id="nestedobjatt--cluster--host"></a>
71+
### Nested Schema for `cluster.host`
72+
73+
Read-Only:
74+
75+
- `availability_zone_name` (String) Availability Zone Name
76+
- `host_name` (String) Host name of the ESXi host
77+
- `id` (String) ID of the host (UUID)
78+
- `ip_address` (String) IPv4 address of the ESXi host
79+
- `license_key` (String) License key for an ESXi host
80+
- `password` (String) Password to authenticate to the ESXi host
81+
- `serial_number` (String) Serial number of the ESXi host
82+
- `ssh_thumbprint` (String) SSH thumbprint of the ESXi host
83+
- `username` (String) Username to authenticate to the ESXi host
84+
- `vmnic` (List of Object) vmnic configuration for the ESXi host (see [below for nested schema](#nestedobjatt--cluster--host--vmnic))
85+
86+
<a id="nestedobjatt--cluster--host--vmnic"></a>
87+
### Nested Schema for `cluster.host.vmnic`
88+
89+
Read-Only:
90+
91+
- `id` (String) ESXI host vmnic ID associated with a VDS
92+
- `move_to_nvds` (Boolean) This flag determines if the vmnic is on N-VDS
93+
- `uplink` (String) Uplink associated with vmnic
94+
- `vds_name` (String) Name of the VDS associated with the ESXi host
95+
96+
97+
98+
<a id="nestedobjatt--cluster--nfs_datastores"></a>
99+
### Nested Schema for `cluster.nfs_datastores`
100+
101+
Read-Only:
102+
103+
- `datastore_name` (String) NFS datastore name used for cluster creation
104+
- `path` (String) Shared directory path used for NFS based cluster creation
105+
- `read_only` (Boolean) Readonly is used to identify whether to mount the directory as readOnly or not
106+
- `server_name` (String) Fully qualified domain name or IP address of the NFS endpoint
107+
- `user_tag` (String) User tag used to annotate NFS share
108+
109+
110+
<a id="nestedobjatt--cluster--vds"></a>
111+
### Nested Schema for `cluster.vds`
112+
113+
Read-Only:
114+
115+
- `name` (String) vSphere Distributed Switch name
116+
- `is_used_by_nsx` (Boolean) Identifies if the vSphere distributed switch is used by NSX
117+
- `nioc_bandwidth_allocations` (List of Object) List of Network I/O Control Bandwidth Allocations for System Traffic based on shares, reservation, and limit (see [below for nested schema](#nestedobjatt--cluster--vds--nioc_bandwidth_allocations))
118+
- `portgroup` (List of Object) List of portgroups associated with the vSphere Distributed Switch (see [below for nested schema](#nestedobjatt--cluster--vds--portgroup))
119+
120+
<a id="nestedobjatt--cluster--vds--nioc_bandwidth_allocations"></a>
121+
### Nested Schema for `cluster.vds.nioc_bandwidth_allocations`
122+
123+
Read-Only:
124+
125+
- `limit` (Number) The maximum allowed usage for a traffic class belonging to this resource pool per host physical NIC
126+
- `reservation` (Number) Amount of bandwidth resource that is guaranteed available to the host infrastructure traffic class.
127+
- `shares` (Number) The number of shares allocated. Used to determine resource allocation in case of resource contention.
128+
- `shares_level` (String) The allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares.
129+
- `type` (String) Host infrastructure traffic type.
130+
131+
132+
<a id="nestedobjatt--cluster--vds--portgroup"></a>
133+
### Nested Schema for `cluster.vds.portgroup`
134+
135+
Read-Only:
136+
137+
- `name` (String) Port group name
138+
- `active_uplinks` (List of String) List of active uplinks associated with portgroup.
139+
- `transport_type` (String) Port group transport type
140+
141+
142+
143+
<a id="nestedobjatt--cluster--vmfs_datastore"></a>
144+
### Nested Schema for `cluster.vmfs_datastore`
145+
146+
Read-Only:
147+
148+
- `datastore_names` (List of String) VMFS datastore names used for VMFS on FC for cluster creation
149+
150+
151+
<a id="nestedobjatt--cluster--vsan_datastore"></a>
152+
### Nested Schema for `cluster.vsan_datastore`
153+
154+
Read-Only:
155+
156+
- `datastore_name` (String) vSAN datastore name
157+
- `dedup_and_compression_enabled` (Boolean) Signals if vSAN deduplication and compression is enabled
158+
- `failures_to_tolerate` (Number) Number of ESXi host failures to tolerate in the vSAN cluster
159+
- `license_key` (String) vSAN license key used
160+
161+
162+
<a id="nestedobjatt--cluster--vsan_remote_datastore_cluster"></a>
163+
### Nested Schema for `cluster.vsan_remote_datastore_cluster`
164+
165+
Read-Only:
166+
167+
- `datastore_uuids` (List of String) vSAN HCI Mesh remote datastore UUIDs
168+
169+
170+
<a id="nestedobjatt--cluster--vvol_datastores"></a>
171+
### Nested Schema for `cluster.vvol_datastores`
172+
173+
Read-Only:
174+
175+
- `datastore_name` (String) vVol datastore name used
176+
- `storage_container_id` (String) UUID of the VASA storage container
177+
- `storage_protocol_type` (String) Type of the VASA storage protocol.
178+
- `user_id` (String) UUID of the VASA storage user
179+
- `vasa_provider_id` (String) UUID of the VASA storage provider
180+
181+
182+
183+
<a id="nestedatt--nsx_cluster_ref"></a>
184+
### Nested Schema for `nsx_cluster_ref`
185+
186+
Read-Only:
187+
188+
- `id` (String) NSX Manager cluster ID
189+
- `vip` (String) Virtual IP (VIP) for the NSX Manager cluster
190+
- `vip_fqdn` (String) Fully qualified domain name of the NSX Manager cluster VIP
191+
192+

docs/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ provider "vcf" {
3333
<!-- schema generated by tfplugindocs -->
3434
## Schema
3535

36-
### Optional
36+
### Required
3737

38-
- `sddc_manager_host` (String) SDDC Manager host.
39-
- `sddc_manager_password` (String) SDDC Manager password.
40-
- `sddc_manager_username` (String) SDDC Manager username.
38+
- `sddc_manager_host` (String) Fully qualified domain name or IP address of the SDDC Manager
39+
- `sddc_manager_password` (String) Password to authenticate to SDDC Manager
40+
- `sddc_manager_username` (String) Username to authenticate to SDDC Manager

0 commit comments

Comments
 (0)