AVS-Landing-Zone/GreenField/Terraform/privatecloud.tf (51 lines of code) (raw):
resource "random_password" "nsxt" {
length = 14
special = true
numeric = true
override_special = "%@#"
min_special = 1
min_numeric = 1
min_upper = 1
min_lower = 1
}
resource "random_password" "vcenter" {
length = 14
special = true
numeric = true
override_special = "%@#"
min_special = 1
min_numeric = 1
min_upper = 1
min_lower = 1
}
resource "azurerm_vmware_private_cloud" "privatecloud" {
name = "${var.prefix}-SDDC"
resource_group_name = azurerm_resource_group.privatecloud.name
location = azurerm_resource_group.privatecloud.location
sku_name = lower(var.avs-sku)
management_cluster {
size = var.avs-hostcount
}
network_subnet_cidr = var.avs-networkblock
internet_connection_enabled = false
nsxt_password = random_password.nsxt.result
vcenter_password = random_password.vcenter.result
timeouts {
create = "10h"
}
lifecycle {
ignore_changes = [
nsxt_password,
vcenter_password
]
}
}
resource "azurerm_vmware_express_route_authorization" "expressrouteauthkey" {
name = "${var.prefix}-AVS"
private_cloud_id = azurerm_vmware_private_cloud.privatecloud.id
}
resource "azurerm_management_lock" "this_private_cloud" {
lock_level = "CanNotDelete"
name = "${var.prefix}-lock"
scope = azurerm_vmware_private_cloud.privatecloud.id
}