WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
    • VMware Cloud Foundation 9
  • VKS
  • Homelab
    • Hardware Options
    • Hardware Reviews
    • Lab Deployment Scripts
    • Nested Virtualization
    • Homelab Podcasts
  • VMware Nostalgia
  • Apple
You are here: Home / VCF Operations / Automating License Entitlement Workflows between VCF Operations & VCF Business Service Console (BSC)

Automating License Entitlement Workflows between VCF Operations & VCF Business Service Console (BSC)

12.18.2025 by William Lam // Leave a Comment

In an air-gapped or disconnected environment, license entitlement for VMware Cloud Foundation (VCF) involves a multi-step file exchange between the VCF Business Service Console (BSC) and your deployed VCF Operations instance.

Below is a visual that outlines the workflow between VCF BSC (red) and VCF Operations (orange):

Note: This workflow is also applicable to VMware vSphere Foundation (VVF) deployments as well.

For organizations managing multiple VCF Fleet deployments, automation is essential to operating at scale. Back in September, I had written a blog post that demonstrated some of the VCF Operations APIs that can be used to address the orange boxes above, but that was only half the solution.

However, the steps outlined in the red boxes were not covered and a recent question came up on whether those operations could also be automated?

The answer is YES! Using the VCF Business Service Console (BSC) API, users can fully automate the end-to-end workflow for VCF license entitlement.

To demonstrate the complete workflow outlined in the diagram above and to provide users with a ready to use solution, I have created a comprehensive PowerShell Module called Broadcom.Community.VCFLicensing that can contains the following functions:

  • Connect-VcfBsc
  • Connect-VcfOperations
  • Download-VcfBscLicense
  • Download-VcfOperationsRegistrationFile
  • Download-VcfOperationsUsageFile
  • Get-VcfBscCLicense
  • Get-VcfOperationsEntitlements
  • Get-VcfOperationsVcenters
  • Import-VcfOperationsLicenseFile
  • Import-VcfOperationsUsageFile
  • Register-VcfOperations
  • Set-VcfBscCLicense
  • Set-VcfOperationsLicenseAssignment

Step 1 - Install the Powershell Module by running the following command:

Install-Module Community.VCFLicenseEntitlement

Step 2 - Login to VCF BSC portal (https://vcf.broadcom.com) to create an OAuth API Client by navigating to Access Management->OAuth Apps and make a note of the Client ID and Client Secret.

You will also need to make a note of your BSC Tenant ID, which can be obtained by hovering over the info icon next to your SiteID on the left hand navigation.


Step 3 - Login to your VCF Operations instance using the Connect-VcfOperations function with FQDN and credentials:

$VCF_OPERATIONS_HOSTNAME="vcf01.vcf.lab"
$VCF_OPERATIONS_USERNAME="admin"
$VCF_OPERATIONS_PASSWORD=''

Connect-VcfOperations -Fqdn $VCF_OPERATIONS_HOSTNAME -User $VCF_OPERATIONS_USERNAME -Password $VCF_OPERATIONS_PASSWORD

Step 4 - Run the Download-VcfOperationsRegistrationFile function to download the registration file from your VCF Operations instance to your local system as shown in the screenshot below.


Step 5 - Connect to VCF BSC using Connect-VcfBsc function with the Client ID/Secret and Tenant ID from Step 2

$VCF_BSC_OAUTH_CLIENT_ID=""
$VCF_BSC_OAUTH_CLIENT_SECRET=""
$VCF_BSC_TENANT_ID=""

Connect-VcfBsc -ClientId $VCF_BSC_OAUTH_CLIENT_ID -SecretId $VCF_BSC_OAUTH_CLIENT_SECRET

Step 6 - Register your VCF Operations instance by using the Register-VcfOperations function providing the registration file that was downloaded from Step 4 and friendly name to label your VCF Operations instance in VCF BSC portal.

$VCF_OPERATIONS_REGISTRATION_LABEL="vcf01.vcf.lab"
$VCF_OPERATIONS_REGISTRATION_FILE="Registration-vcf01.vcf.lab-2025-12-16T15_03_43Z.data"

Register-VcfOperations -TenantId $VCF_BSC_TENANT_ID -RegistrationFile $VCF_OPERATIONS_REGISTRATION_FILE -Name $VCF_OPERATIONS_REGISTRATION_LABEL


Once your VCF Operations instance has been registered successfully, you will see an ID that is returned, make a note of that as you will need it later.

Step 7 - Make sure you have already created license entitlements using the VCF BSC portal, especially if you want to assign a subset of the entitlements to a given VCF Operations instance. In my example, I have created the following two entitlements:

  • william-vcf with 64 Cores of VCF entitlements
  • william-vsan with 64 TiB of vSAN entitlements


We will need the entitlement IDs that you wish to associate with a given VCF Operations by using the Get-VcfBscCLicense function. You can also filter by a specific entitlement label by providing -Name property.

Get-VcfBscCLicense -TenantId $VCF_BSC_TENANT_ID

Make a note of all entitlement IDs as you will need that in the next step.

Step 8 - We will now associate the entitlement IDs to your VCF Operations by using the Set-VcfBscCLicense function provided with the VCF Operations ID (retrieved from Step 6) and the entitlement IDs from Step 7

$VCF_BSC_OPERATIONS_REGISTRATION_ID=""
$VCF_BSC_LICENSE_IDS=@("efaa38b7-08ac-452f-929b-d30f6d37fba5","fc711690-f8d3-4209-a06e-529c39979251")

Set-VcfBscCLicense -TenantId $VCF_BSC_TENANT_ID -VcfOperationsId $VCF_BSC_OPERATIONS_REGISTRATION_ID -LicenseIds $VCF_BSC_LICENSE_IDS -Operation Associate


Note: We can also remove entitlements from a given VCF Operations by specifying the Disassociate for the Operation parameter.

Step 9 - We can now download the license entitlement file for our VCF Operations instance by using the Download-VcfBscLicense function and provide the filename to save the license file to.

$VCF_LICENSE_FILE="vcf01.vcf.lab.lic"

Download-VcfBscLicense -TenantId $VCF_BSC_TENANT_ID -VcfOperationsId $VCF_BSC_OPERATIONS_REGISTRATION_ID -LicenseFile $VCF_LICENSE_FILE


Step 10 - We can now import the license file into your VCF Operations instance by using the Import-VcfOperationsLicenseFile function and the name of the license file from previous step.

$VCF_LICENSE_FILE="vcf01.vcf.lab.lic"

Import-VcfOperationsLicenseFile -LicenseFile $VCF_LICENSE_FILE


Step 11 - Before we can assign the imported license entitlements to a particular vCenter Server that is managed by your VCF Operations instance, we need to retrieve the entitlement IDs and vCenter Server IDs. To do so, you can use the Get-VcfOperationsEntitlements and Get-VcfOperationsVcenters functions respectively and make note of the IDs.


Step 12 - We can finally assign the license entitlements to a specific vCenter Server using the Set-VcfOperationsLicenseAssignment function with the provided IDs from the previous Step.

$VCENTER_ID="df688ce4-66d6-4adf-b33b-8926bad4be48"
$VCF_LICENSE_IDS=("efaa38b7-08ac-452f-929b-d30f6d37fba5","fc711690-f8d3-4209-a06e-529c39979251")

Set-VcfOperationsLicenseAssignment -VcenterId $VCENTER_ID -VcfLicenseIds $VCF_LICENSE_IDS


If you now login to your VCF Operations UI and navigate to License Management->Licenses, we can see that we have successfully completed the license entitlement workflow and our selected vCenter Server has been assigned with both our VCF and vSAN entitlements!


After completing your initial VCF Operations registration, you will have up to 180 days before you need to provide a usage report and then download an updated license entitlement from VCF BSC portal.

You can automate this of course by using the Download-VcfOperationsUsageFile function.


To upload the usage file into VCF BSC, you will use the

$VCF_OPERATIONS_USAGE_FILE="Usage-vcf01.vcf.lab-2025-12-16T21_09_14Z.gzip"

Import-VcfOperationsUsageFile -TenantId $VCF_BSC_TENANT_ID -UsageFile $VCF_OPERATIONS_USAGE_FILE


After successfully importing the usage file, you can then download a new license entitlement file by using the same Download-VcfBscLicense function as shown in Step 9.

Categories // VCF Operations, VMware Cloud Foundation Tags // VCF 9.0

Thanks for the comment!Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Quick Tip - NSX Edge fails DNS pre-check as part of VCF 9.0.2 Upgrade 01/23/2026
  • Quick Tip - No space left on device when upgrading VCF Operations using VCF Operations Fleet Manager to VCF 9.0.2 01/22/2026
  • Every Mini PC & SFF Hardware Announced at CES 2026 01/21/2026
  • Improved Workaround for NSX Edge Deployment & Upgrade to VCF 9.0.2 running AMD Ryzen CPUs 01/20/2026
  • Disable HTTP Range Requests on Synology WebStation, Apache or Nginx 01/14/2026

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.

To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2026

 

Loading Comments...