VMware Horizon Cloud Service Next-Gen – The Automation Series – Chapter 6 – Provider Instance

This blog post is part of the VMware Horizon Cloud Service Next-Gen – The Automation Series, a series of blog posts that describes the possibilities and use of the VMware Horizon Cloud Service Next-Gen APIs.

In this chapter we will add, get and delete a provider instance configuration. We will use PowerShell to execute the requests. Since Azure is the only provider type supported at the time of writing this chapter, that’s the one we currently focusing on.

The original VMware documentation for provider instance operations can be found here.

Create

We will start by creating a provider instance configuration. We will be using the ByAppRegistration method. For this we will use the following information:

HTTP Method POST
URI https://cloud.vmwarehorizon.com/admin/v2/providers/
azure/instances
Content-Type application/json Header
Authorization Bearer <Access token> Header
orgId Organization ID Body
name Any name for the provider instance Body
directoryId The Azure directory id value Body
subscriptionId The Azure subscription id value in which you want to place the resources Body
applicationId The application (or service principal) id value Body
applicationKey The application (or service principal) key value Body
region The region value in which you want to place the resources Body

With this information we will now construct the lines of code in PowerShell to add the provider instance configuration.

(1) We create the access token from the API token using the New-HCSAccessToken function we described in chapter 2. We put this value in the $AccessToken variable, which we will use in the following step.

(2) We then construct the $Header array, where we specify the expected Content-Type to be received by the URI, which is application/json. And we specify the type of authorization using the Bearer type with the access token from the variable $AccessToken.

(3) After this we construct the $Body array with all the items that define the provider instance configuration to be added to the Horizon Cloud Services.

Now that we have both the Header and Body information in place, it’s time to execute the command to add the provider instance configuration (1). Once executed, the output with what has been configured will be displayed (2).

When we look in the Horizon Universal Console, we see that the provider instance configuration is added.

Get

To retrieve the provider instance configuration(s), we will use the following information:

HTTP Method GET
URI https://cloud.vmwarehorizon.com/admin/v2/providers/
azure/instances
Content-Type application/json Header
Authorization Bearer <Access token> Header

With this information we will now construct the lines of code in PowerShell to retrieve the provider instance configuration(s).

(1) We create the access token from the API token again using the New-HCSAccessToken function, and put this value in the $AccessToken variable, which we will use in the following step.

(2) We construct the $Header array, where we specify the expected Content-Type to be received by the URI, which is application/json. And we specify the type of authorization using the Bearer type with the access token from the variable $AccessToken.

(3) We execute the command to retrieve the provider instance configuration(s).

(4) Once executed, the output with what has been configured will be displayed.

Delete

To delete a provider instance configuration, we will use the following information:

HTTP Method DELETE
URI https://cloud.vmwarehorizon.com/admin/v2/providers/
azure/instances/<provider instance record ID>
Content-Type application/json Header
Authorization Bearer <Access token> Header

You can lookup the required provider instance record ID using the steps from the Get paragraph. Look for the id value in the output.

With this information we will now construct the lines of code in PowerShell to delete the provider instance configuration.

(1) We create the access token from the API token again using the New-HCSAccessToken function, and put this value in the $AccessToken variable, which we will use in the following step.

(2) We construct the $Header array, where we specify the expected Content-Type to be received by the URI, which is application/json. And we specify the type of authorization using the Bearer type with the access token from the variable $AccessToken.

(3) We execute the command to delete the provider instance configuration.

(4) Once executed, the output with what has been deleted will be displayed.

PowerShell Functions Examples

The scripts below serve as examples. You may change the scripts to your own needs or standards, like error handling, securing password strings and things like that.

I hope this chapter was informative and that you enjoyed reading.

Next up is edge configuration.

You may also like...