Web UI to create VCF JSON files

Over the last months and years, I’ve received a lot of questions regarding JSONs and VCF – both from customers, partners and colleagues.

The questions vary in everything from “how do I do this?”, to help creating JSONs for specific purposes.


As you may be aware, if you want to deploy a workload domain or cluster with more than 2 pNICs, or if you want to be able to control object names (like portgroups) – you would have to use the API in order to deploy. Also if you’re using anything but vmnic0/vmnic1 – it’s the API for you.

Directly modifying a JSON is error prone and you may end up having to delete and redeploy everything because of a typo. It can also be a somewhat daunting experience for someone who is not used to working with Infrastructure as Code.

During these last few weeks I’ve been building a web site to help generate and create JSON files for VCF 4.
It’s been somewhat of a challenge for me as I’m mostly used to stitching together bash or PowerShell code. This is now written in React.

With this initial release, I’ve added input forms to generate the json files needed for a customized VI Workload Domain or cluster. More to come!

There’s support for 3 Virtual Distributed Switches – fully customizable. You can run vMotion/VSAN/NSX-T on any VDS.
There’s also support for a blank VDS. A blank VDS you say? For instance, if you want to dedicate a VDS for backup traffic, and not have any vMotion/VSAN/NSX-T traffic on it, you must create a “blank” VDS with a PUBLIC portgroup.

This is all taken care of, just de-select any services on that VDS and a PUBLIC portgroup will automatically populate.

I’ve also added some validations:
You can’t deploy a 2-node WLD/cluster with VSAN, you must also add the Cluster Image UUID if you want to deploy something with 2 nodes.

If you select VSAN Failures To Tolerate 2, then the minimum number of hosts are 5.
If you want 2 VDS, then the minimum number of NICs are 4, for 3 VDS you need 6
NICs etc.

This is the first release, more validations and features coming in the future.

Please check it out at https://www.martingustafsson.com/vcf-ui-json
I’m open to any feedback, good or bad!

* No data is stored on the server *

10 Comments

Add yours →

  1. Nice tool, you should do the same for the management domain 🙂

  2. i was looking for a cluster expansion json and ended up here :). this is very well built! Maybe you could help me out too for an automated way to build a cluster expansion json for hosts that have already been commisioned.

  3. For the NSX-T Section: There doesn’t seem to be a true/false value in the JSON output for when you use an existing NSX-T cluster or generate a new one. Is that correct?

  4. Great tool. is the source for this tool per-chance available anywhere? was hoping to self-host this for internal use and integrate a bit further with our VCF deployments.

  5. Hi,
    How can I get Cluster Image UUID ? and Is it possible to join vCenter with management domain vCenter because UI provides these options.

    • Hi Fahim,

      To get the Cluster Image UUID you can use GET /v1/personalities.

      The vCenter deployed will automatically join the management vCenter ELM. VCF 5.0 adds support for isolated workload domains, but I have not yet added support for that in my json generator.

Leave a Reply to Martin Cancel reply

Your email address will not be published. Required fields are marked *

© 2024 mgustafsson – yet another VMware blog

Theme by Anders NorénUp ↑