Thank you for your interest in the project. Whether it's a bug report, enhancement, correction, or additional documentation, I greatly value feedback and contributions from our community.
| Name | Role | GitHub |
|---|---|---|
| Ken Gould | Creator | :fontawesome-brands-github: |
VCF.JSONGenerator is provided as is, as a companion tool for the VCF 9.0 Planning & Preparation (P&P) workbook. Its intent is to help automate the task of creation JSON payloads for submission to the VCF management components.
- Windows (tested with Server 2022 Datacenter edition)
- Ubuntu (tested with 24.02)
- Debian (tested with 11)
- MacOS (tested with 15.5)
VCF.JSON Generator has the following dependencies
- ImportExcel PowerShell Module
- VMware.PowerCLI or VCF.PowerCLI PowerShell Module
Dependent modules and PowerCLI configuration settings may be configured using the Set-VCFJsonGenerationPrequisites cmdlet. This will detect installed modules, and if not present will install them. While VCF.JSONGenerator can leverage either VMware.PowerCLI or VCF.PowerCLI, it will install VCF.PowerCLI if neither are present due to it being the newer version of the module.
VCF.JSON Generator creates JSON files by reading data from a populated VCF 9.0 P&P workbook. After installing the module, navigate to the folder containing your P&P workbook(s) and use Start-VCFJsonGeneration. Use option 1 to discover and load a P&P workbook. Sections and Options with sections will be dynamically enabled/disabled based on the settings in the chosen file.
Not all configuration options within the P&P workbook are supported yet. They will gradually be included over time.
NOTE: VCF.JSONGenerator does not automate the pre-requisites for any of the JSON File, nor does it submit the JSON payload to an API endpoint. It is the users responsibility to configure pre-requisites by following the VCF documentation and to submit the JSON to the API in their own desired manner.
In many cases, a fully functional JSON payload requires the inclusion of unique identifiers for items such SDDC Manager object IDS, vCenter and NSX object IDs, or SSH fingerprints. In such cases, the user is asked if they want to retrive these programmatically. If this option is chosen, the user is prompted to provide credentials to the relevant running systems from which IDs need to be retrieved. If interactive mode is not selected, the corresponding files are populated with text in the format '<-- ENTER THE ID OF XXXXXXXXXX -->' to allow the user to retroactively populate those fields prior to submitting the JSON to the relevant VCF API Endpoint.
The following are the list of tested / supported permutations.
- When P&P operation is configured to be
Deploy a new VCF fleetorDeploy a VCF Instance in an existing VCF fleet - [Supported/Tested]
- Deploy a new VCF Fleet
- Simple Deployment Model
- Highly Available Deployment Model
- Deployment of VCF Operations and VCF Automation Day-N
- Deployment of VCF Operations with VCF Autuomation
- Joining an existing VCF Fleet
- Deployment of VSAN-OSA and VSAN-ESA based Management Clusters
- Auto generated passwords
- [Supported/UnTested]
- Deployment leveraging existing components
- Are enabled for all relevant operations
- [Supported/Tested]
- Network Pool Creation for vSAN HCI Cluster
- Network Pool Creation for vSAN Storage Cluster with Storage Client Traffic
- Host Commissioning vSAN HCI
- Host Commissioning vSAN Storage Cluster with Storage Client Traffic
- Stretched Cluster (that has been deployed as part of a workload domain or as an additional cluster)
- [Supported/Tested]
- Single-Rack / Layer-2 Multi-Rack HCI Cluster
- Single-Rack / Layer-2 Multi-Rack Storage Cluster
- Single-Rack / Layer-2 Multi-Rack Compute Only Cluster
- [Unsupported]
- Multi-Rack / Layer-2 Multi-Rack HCI Cluster
- Multi-Rack / Layer-2 Multi-Rack Storage Cluster
- Multi-Rack / Layer-2 Multi-Rack Compute Only Cluster
- [Supported/Tested]
- First workload domain when P&P Operation is set to
Deploy a new VCF fleetorDeploy a VCF Instance in an existing VCF fleet - Additional workload domains can be done when P&P Operation is set to
Create VI Workload Domain - [Supported/Tested]
- Workload Domain With Single-Rack / Layer-2 Multi-Rack HCI Cluster
- Workload Domain With Layer-3 Multi-Rack HCI Cluster
- [Unsupported]
- Workload Domain With Multi-Rack Compute Only Cluster
- Workload Domain With Multi-Rack Storage Cluster
- When P&P Operation is set to
Create Cluster - Additional vSphere Clusters
- [Supported/Tested]
- Single-Rack / Layer-2 Multi-Rack HCI Cluster
- Single-Rack / Layer-2 Multi-Rack Storage Cluster
- Single-Rack / Layer-2 Multi-Rack Compute Only Cluster
- Layer-3 Multi-Rack HCI Cluster
- Layer-3 Multi-Rack Compute Only Cluster
- Stretching of existing Single-Rack HCI Cluster
- Stretching of existing Single-Rack Storage Cluster
- Stretched Compute Only Cluster in a single operation
- [Unsupported]
- Multi-Rack Storage Cluster
- [Supported/Tested]
- For any domain type
- [Supported/Tested]
- Centralized Connectivity with BGP
- IP List / IP Pool / DHCP Edge TEPs Addressing
- [Unsupported]
- Static Routes
- Auto generated passwords
- [Supported/Tested]
- VCF Identify Broker (Appliance Mode)
- VCF Operations and Automation (via SDDC Manager Workflow)
- Simple Deployment Model
- Highly Available Deployment Model
- VCF Operations for Logs (via Fleet Manager)
- Simple Deployment Model
- Highly Available Deployment Model
- VCF Operations for Networks (via Fleet Manager)
- Simple Deployment Model
- Highly Available Deployment Model
- All of the above on
- Shared Management Network
- Dedicated VLAN network
- NSX Overlay Network
- NSX VLAN segment
- There is a very tight coupling between the version of the Planning & Preparation file you use and the version of the VCF.JSONGenerator Powershell Module. Bug resolution may involve a change to either or both of these elements. Please ensure that all required values in the Planning & Preparation workbook are populated in the desired format. In time, depending on the appetite for this module, I may introduce input format validation and cross-checking