With the improvements of VCF Automation 9 it now includes a new model which supports developer consumer use cases. In context of the tenancy architecture, it provides 2 different types of organizations:
- VM-Apps-Org
An organization which is almost identical to what is known from 8.x versions of Aria Automation. Its main purpose is to support VM-based workloads and custom resources. - All-Apps-Org
This type of organization is a new capability of VCF Automation 9 which has been developed to support all types of workloads like VMs, Kubernetes/Containers and custom resources.
The later one has been built with new principles and allows for a full consumption of the services through Kubernetes YAML files and in specific through the Kubernetes kubectl CLI command. Developers will benefit from a consumption interface they are familiar with from their application development tasks. With that they now can build a single Kubernetes YAML file that deploys the application including the underlying infrastructure.
In this blog I will explain the basics of how to provision a resource using a kubectl command.
Pre-requisites
To use the CLI command with VCF Automation it’s mandatory to have an All-Apps-Org configured. I will not go into the details on how to do that as multiple steps are required which are part of the official documentation. Once you have an All-Apps-Org available, make sure you can successfully deploy a virtual machine using the VM-Service.
Installing the VCF CLI
Before you will be able to use Kubernetes commands you need a kubeconfig file that includes all the details of how to access your tenant environment. VCF 9 has a new “vcf-cli” which exactly does this task. There are versions for the most common operating systems available and for each OS there are typically 2 ways to install it: Installation as binary download and installation through a package manager
The official documentation is located here.
In my case I got a Windows client and decided to go for the binary download path which requires following procedure to be followed:
- Download the vcf-cli zip file and store it in C:\Program Files\vcf (directory must be created).
- Unpack the zip file and rename the executable to vcf.exe
- Right-click the vcf folder and make sure that your user account has full control permissions (Properties > Security)
- Got to Windows system variables and add C:\Program Files\vcf to the Path variable
Getting an API Token
VCF Automation 9 supports the creation of an API Token through UI. This can be done by any user who has access to an All-Apps-Org. The only exception is the redirected admin user from the provider portal who does not have this option in the tenant itself, but in the provider org. However we would not recommend to use that user for API resource consumption as it has high privileges.
You could use the first user created during org creation for retrieving an API token. Just go to the automation URL, logout and make sure to change the organization to the org in question.

After login just go to the account settings and create a new API token in the respective tab. You can specify the name for the token. Be aware: The token must be copied and stored somewhere else as it can’t be retrieved later anymore.
Using the VCF CLI
Once installed, the following command should provide a valid output:
vcf version
To connect to an All-Apps-Org with the respective credentials, a Kubernetes context needs to be created. This is done with the “vcf context create” command. If you do not specify the parameters as below, the tool asks for them interactively.
vcf context create <context name> --endpoint <automation url> --insecure-skip-tls-verify --type cci --auth-type basic --tenant-name <name of org> --api-token <api token for user>
- <context name>: Free name which describes the environment.
- <automation URL>: URL of the Automation web interface like https://flt-auto01.rainpole.io
- <name of the org>: Org name like allapps_org01
- <api token for user>: API token of the user who shall manage resources, see previous section how to retrieve it
After successful execution you will find a config file in the .kube sub folder of the profile. On Windows this will be in %USERPROFILE%\.kube
With the context list command, the available namespaces will show up.
vcf context list
Use “vcf context use” to specify the default context used by the later kubectl command.
vcf context use
If the session has expired, you can simply use the “vcf context refresh” command to update it by selecting the context and providing the token.
vcf context refresh
Installing kubectl
For managing resources in an All-Apps-Org the standard kubectl CLI command can be used. There is multiple documentation out there which describes how to download and install it. For Windows the simplest way is to download the executable and copy it into a Windows search path like c:\windows\system32. Just make sure you rename it to kubectl.exe if it has a different name.
As a quick check just execute
kubectl version
which will show the details of the version.
With this command you will see the available VMs in the selected namespace if you already deployed some:
kubectl get vm
Testing a deployment
To test a deployment, just walk through the “create VM” wizard in the UI select the required components and copy the resulting YAML code into a file.
Now you can apply the configuration through CLI by
kubectl apply -f <path to yaml file>
Just make sure that you don’t have a VM with the same name already as otherwise the deployment will fail.
A deployment can then be deleted by the UI or by a kubectl command:
kubectl delete -f <path to yaml file>
- VCF Automation 9 API Access - 6. November 2025
- Monitoring VKS Clusters in VCF Operations - 24. October 2025
- VCF Automation 9 – New Terraform Providers for All-Apps-Org - 7. August 2025
