avm-res-avs-privatecloud
Azure/avm-res-avs-privatecloud/azurerm
Terraform Azure Verified Resource Module for AVS Private Cloud
terraform-azurerm-avm-res-avs-privatecloud This repo is used for the Azure Verified Modules version of an Azure VMWare Solution Private Cloud resource. It includes definitions for the following common AVM interface types: Tags, Locks, Resource Level Role Assignments, Diagnostic Settings, Managed Identity, and Customer Managed Keys. It leverages both the AzAPI and AzureRM providers to implement the child-level resources. > \_NOTE:\_ This module is not currently fully idempotent. Because run commands are used to implement the configuration of identity sources and run-commands don't have an effective data provider to do standard reads, we currently redeploy the run-command resource to get the identity provider state. Based on the output of the read, the delete and configure resources are also
| Name | Type | Description | Default |
|---|---|---|---|
| resource_group_resource_id | string | The resource group Azure Resource ID for the deployment resource group. Used for | required |
| avs_network_cidr | string | The full /22 or larger network CIDR summary for the private cloud managed compon | required |
| name | string | The name to use when creating the avs sddc private cloud. | required |
| sku_name | string | The sku value for the AVS SDDC management cluster nodes. Valid values are av20, | required |
| location | string | The Azure region where this and supporting resources should be deployed. | required |
| resource_group_name | string | The resource group where the resources will be deployed. | required |
| segments | map(object({ display_name | This map object describes the additional segments to configure on the private cl | {} |
| clusters | map(object({ cluster_node_ | This object describes additional clusters in the private cloud in addition to th | {} |
| enable_stretch_cluster | bool | Set this value to true if deploying an AVS stretch cluster. | false |
| expressroute_connections | map(object({ name | Map of string objects describing one or more ExpressRoute connections to be conf | {} |
| virtual_network_resource_id | string | The Azure Resource ID for the virtual network where the private cloud will be de | null |
| elastic_san_datastores | map(object({ cluster_names | Map of objects describing one or more elastic sAN based datastore to configure o | {} |
| extended_network_blocks | list(string) | If using AV64 sku's in non-management Gen 1 clusters it is required to provide o | [] |
| internet_enabled | bool | Configure the internet SNAT option to be on or off. Defaults to off. | false |
| dhcp_configuration | map(object({ display_name | This map object describes the DHCP configuration to use for the private cloud. I | {} |
| external_storage_address_block | string | If using Elastic SAN or other ISCSI storage, provide an /24 CIDR range as a stri | null |
| internet_inbound_public_ips | map(object({ number_of_ip_ | This map object that describes the public IP configuration. Configure this value | {} |
| managed_identities | object({ system_assigned | Controls the Managed Identity configuration on this resource. The following pr | {} |
| secondary_zone | number | This value represents the secondary zone in a stretch cluster deployment. | null |
| dns_forwarder_zones | map(object({ display_name | Map of string objects describing one or more dns forwarder zones for NSX within | {} |
| lock | object({ kind = string | Controls the Resource Lock configuration for this resource. The following proper | null |
| role_assignments | map(object({ role_definiti | A map of role assignments to create on the <RESOURCE>. The map key is deliberate | {} |
| vcenter_identity_sources | map(object({ alias | A map of objects representing a list of 0-2 identity sources for configuring LDA | {} |
| vcenter_password | string | The password value to use for the cloudadmin account password in the local domai | null |
| addons | map(object({ arc_vcenter | Map object containing configurations for the different addon types. Each addon | {} |
| customer_managed_key | object({ key_vault_resourc | This object defines the customer managed key details to use when encrypting the | null |
credentials — This value returns the vcenter and nsxt cloudadmin credential values.hcx_cloud_manager_endpoint_hostname — The hcx cloud manager's hostnamehcx_cloud_manager_endpoint_https — The full https endpoint for hcx cloud managernsxt_manager_endpoint_hostname — The nsxt endpoint's hostnamensxt_manager_endpoint_https — The full https endpoint for nsxt manager.public_ip — The public IP prefixes when a public ip config is configured for the private cloud.resource — This output returns the full private cloud resource object properties.vcsa_endpoint_https — The full https endpoint for vcsa.identity — This output returns the managed identity values if the managed identity has been enabled on the moduresource_id — The azure resource if of the private cloud.system_assigned_mi_principal_id — The principal id of the system managed identity assigned to the virtual machinevcsa_endpoint_hostname — The vcsa endpoint's hostname