Aria Automation & Terraform - Part 2

This guide will cover the creation of the Aria Automation Cloud Accounts and Cloud Zones. Before getting started, follow Part 1 to configure the Aria Automation / VCF Automation provider for terraform.

The first terraform resource to create is the Cloud Accounts. Create a new file called "cloud_accounts.tf" and add the code below. The first account to be added is to a vSphere environment. The resource is of type 'vra_cloud_account_vsphere' and called 'homelab' in this example. A second data source is required to enumerate the available regions within the vSphere environment.

 1resource "vra_cloud_account_vsphere" "homelab" {
 2  name        = "tf-vsphere-homelab"
 3  description = "Homelab vSphere environment"
 4  username    = var.vsphere_username
 5  password    = var.vsphere_password
 6  hostname    = var.vsphere_hostname
 7  regions     = data.vra_region_enumeration_vsphere.this.regions
 8
 9  accept_self_signed_cert = true
10
11  tags {
12    key   = "cloud"
13    value = "vsphere"
14  }
15}
16
17data "vra_region_enumeration_vsphere" "this" {
18  username                = var.vsphere_username
19  password                = var.vsphere_password
20  hostname                = var.vsphere_hostname
21
22  accept_self_signed_cert = true
23}

Add the new variables to your variables.tf file.

 1# Input variable: vsphere_hostname
 2variable "vsphere_hostname" {
 3  description = "Hostname of the vSphere server"
 4  type        = string
 5}
 6
 7# Input variable: vsphere_username
 8variable "vsphere_username" {
 9  description = "Username of the user to authenticate to vSphere"
10  type        = string
11  default     = "administrator@vsphere.local"
12  sensitive   = true
13}
14
15# Input variable: vsphere_password
16variable "vsphere_password" {
17  description = "Password of the user to authenticate to vSphere"
18  type        = string
19  default     = "your_password"
20  sensitive   = true
21}
22
23# Input variable: regions
24variable "regions" {
25  description = "The vSphere Regions to be added as part of the Cloud Account"
26  type        = list(string)
27}

Add the variable values to the variables.tfvars file.

1url              = "https://vaa.homelab.local"
2insecure         = false
3username         = "configadmin"
4password         = "S3cur3P@ssw0rd!"
5vsphere_hostname = "vcenter.homelab.local"
6vsphere_username = "administrator@vsphere.local"
7vsphere_password = "S3cur3P@ssw0rd!"
8regions          = ""

With all the files now created, run the command terraform plan -var-file="variables.tfvars" and confirm everything looks correct and that your new resource will be created, and then run terraform apply.

Once the apply command has finished, in Aria Automation you will see the new Cloud Account created with the properties configured exactly as set in the "cloud_accounts.tf" file.

To configure additional Cloud Accounts for different cloud providers such as AWS, Azure or GCP, follow the HashiCorp documentation available here.

comments powered by Disqus