diff --git a/quickstart/101-azure-virtual-desktop/README.md b/quickstart/101-azure-virtual-desktop/README.md index 9098f388..71d89ffa 100644 --- a/quickstart/101-azure-virtual-desktop/README.md +++ b/quickstart/101-azure-virtual-desktop/README.md @@ -30,47 +30,26 @@ This directory contains the various components for building out Azure Virtual De * `afstorage.tf` deploys Azure Files storage for profiles and creates file share with RBAC permissions for the users group ([NTFS permissions will need to be configured](https://docs.microsoft.com/en-us/azure/virtual-desktop/create-file-share)) * `rbac.tf` - deploys rbac assignment for the users group + deploys rbac assignment for the users group * `variables.tf` Input variables +* `loganalytics.tf` + deploys log anaylytics workspace +* `sig.tf` + deploys log anaylytics workspace +* `random.tf` + Random provider configuration * `defaults.tfvars` declares the actual input values (keep security in mind if you are putting confidential data) * `provider.tf` - Azure RM and Azure AD provider configuation + Azure RM and Azure AD provider configuration * `outputs.tf` defines the outputs that will be displayed on deployment * `netappstorage.tf` as an alternate to Azure Files storage this deploys NetApp Files storage for profiles in a dedicated subnet (access needs to be granted to the ANF service) [Set up Azure NetApp Files](https://docs.microsoft.com/en-us/azure/azure-netapp-files/azure-netapp-files-quickstart-set-up-account-create-volumes?tabs=azure-portal) -## Varialble Inputs - -| Name | Description | Default | -|:---|:---|:---| -| `rg_name` | Name of the Resource Group in which to deploy these resources | `AVD-TF` | -| `deploy_location` | Region in which to deploy these resources | - | -| `hostpool` | Name of the Azure Virtual Desktop host pool | `AVD-TF-HP` | -| `ad_vnet` | Name of domain controller VNet | - | -| `dns_servers` | Custom DNS configuration | - | -| `vnet_range` | Address range for deployment VNet | - | -| `subnet_range` | Address range for session host subnet | - | -| `avd_users` | The resource group for AD VM | `[]` | -| `aad_group_name` | Azure Active Directory Group for AVD users | - | -| `rdsh_count` | Number of AVD machines to deploy | 2 | -| `prefix` | Prefix of the name of the AVD machine(s) | - | -| `domain_name` | Name of the domain to join | - | -| `domain_user_upn` | Username for domain join (do not include domain name as this is appended | - | -| `domain_password` | Password of the user to authenticate with the domain | - | -| `vm_size` | Size of the machine to deploy | `Standard_DS2_v2` | -| `ou_path` | The ou path for AD | `""` | -| `local_admin_username` | The local admin username for the VM | - | -| `local_admin_password` | The local admin password for the VM | - | -| `netapp_acct_name` | The NetApp account name | `AVD_NetApp` | -| `netapp_pool_name` | The NetApp pool name | `AVD_NetApp_pool` | -| `netapp_volume_name` | The NetApp volume name | `AVD_NetApp_volume` | -| `netapp_smb_name` | The NetApp smb name | `AVDNetApp` | -| `netapp_volume_path` | The NetApp volume path | `AVDNetAppVolume` | -| `netapp_subnet_name` | The NetApp subnet name | `NetAppSubnet` | -| `netapp_address` | The Address range for NetApp Subnet | - | +## Variable Inputs +[Variable Inputs](https://github.com/jensheerin/AVD-Terraform/blob/main/USAGE.md#inputs) ## Deploy If you’ve not previously setup terraform, check out this article to get it installed [Quickstart - Configure Terraform using Azure Cloud Shell](https://docs.microsoft.com/en-us/azure/developer/terraform/get-started-cloud-shell) diff --git a/quickstart/101-azure-virtual-desktop/USAGE.md b/quickstart/101-azure-virtual-desktop/USAGE.md new file mode 100644 index 00000000..436527e7 --- /dev/null +++ b/quickstart/101-azure-virtual-desktop/USAGE.md @@ -0,0 +1,102 @@ +# Usage + + +## Requirements + +| Name | Version | +|------|---------| +| [azurerm](#requirement\_azurerm) | ~>2.0 | + +## Providers + +| Name | Version | +|------|---------| +| [azuread](#provider\_azuread) | n/a | +| [azurerm](#provider\_azurerm) | ~>2.0 | +| [random](#provider\_random) | n/a | +| [time](#provider\_time) | n/a | + +## Modules + +No modules. + +## Resources + +| Name | Type | +|------|------| +| [azuread_group.aad_group](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/resources/group) | resource | +| [azuread_group_member.aad_group_member](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/resources/group_member) | resource | +| [azurerm_log_analytics_workspace.law](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/log_analytics_workspace) | resource | +| [azurerm_network_interface.avd_vm_nic](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/network_interface) | resource | +| [azurerm_network_security_group.nsg](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/network_security_group) | resource | +| [azurerm_resource_group.log](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) | resource | +| [azurerm_resource_group.rg](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) | resource | +| [azurerm_resource_group.rg_storage](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) | resource | +| [azurerm_resource_group.sigrg](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) | resource | +| [azurerm_role_assignment.af_role](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_assignment) | resource | +| [azurerm_role_assignment.role](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_assignment) | resource | +| [azurerm_shared_image.example](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/shared_image) | resource | +| [azurerm_shared_image_gallery.sig](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/shared_image_gallery) | resource | +| [azurerm_storage_account.storage](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_account) | resource | +| [azurerm_storage_share.FSShare](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_share) | resource | +| [azurerm_subnet.subnet](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/subnet) | resource | +| [azurerm_subnet_network_security_group_association.nsg_assoc](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/subnet_network_security_group_association) | resource | +| [azurerm_virtual_desktop_application_group.dag](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_desktop_application_group) | resource | +| [azurerm_virtual_desktop_host_pool.hostpool](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_desktop_host_pool) | resource | +| [azurerm_virtual_desktop_workspace.workspace](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_desktop_workspace) | resource | +| [azurerm_virtual_desktop_workspace_application_group_association.ws-dag](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_desktop_workspace_application_group_association) | resource | +| [azurerm_virtual_machine_extension.domain_join](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_machine_extension) | resource | +| [azurerm_virtual_machine_extension.vmext_dsc](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_machine_extension) | resource | +| [azurerm_virtual_network.vnet](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_network) | resource | +| [azurerm_virtual_network_peering.peer1](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_network_peering) | resource | +| [azurerm_virtual_network_peering.peer2](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_network_peering) | resource | +| [azurerm_windows_virtual_machine.avd_vm](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/windows_virtual_machine) | resource | +| [random_string.AVD_local_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) | resource | +| [random_string.random](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) | resource | +| [time_rotating.avd_token](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/rotating) | resource | +| [azuread_user.aad_user](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/data-sources/user) | data source | +| [azurerm_role_definition.role](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/role_definition) | data source | +| [azurerm_role_definition.storage_role](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/role_definition) | data source | +| [azurerm_virtual_network.ad_vnet_data](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/virtual_network) | data source | + +## Inputs + +| Name | Description | Type | Default | Required | +|------|-------------|------|---------|:--------:| +| [aad\_group\_name](#input\_aad\_group\_name) | Azure Active Directory Group for AVD users | `string` | n/a | yes | +| [ad\_rg](#input\_ad\_rg) | The resource group for AD VM | `string` | n/a | yes | +| [ad\_vnet](#input\_ad\_vnet) | Name of domain controller vnet | `string` | n/a | yes | +| [avd\_users](#input\_avd\_users) | AVD users | `list` | `[]` | no | +| [deploy\_location](#input\_deploy\_location) | The Azure Region in which all resources in this example should be created. | `string` | n/a | yes | +| [dns\_servers](#input\_dns\_servers) | Custom DNS configuration | `list(string)` | n/a | yes | +| [domain\_name](#input\_domain\_name) | Name of the domain to join | `string` | n/a | yes | +| [domain\_password](#input\_domain\_password) | Password of the user to authenticate with the domain | `string` | n/a | yes | +| [domain\_user\_upn](#input\_domain\_user\_upn) | Username for domain join (do not include domain name as this is appended) | `string` | n/a | yes | +| [hostpool](#input\_hostpool) | Name of the Azure Virtual Desktop host pool | `string` | `"AVD-TF-HP"` | no | +| [local\_admin\_password](#input\_local\_admin\_password) | local admin password | `any` | n/a | yes | +| [local\_admin\_username](#input\_local\_admin\_username) | local admin username | `string` | n/a | yes | +| [ou\_path](#input\_ou\_path) | n/a | `string` | `""` | no | +| [prefix](#input\_prefix) | Prefix of the name of the AVD machine(s) | `string` | n/a | yes | +| [rdsh\_count](#input\_rdsh\_count) | Number of AVD machines to deploy | `number` | `2` | no | +| [rg\_name](#input\_rg\_name) | Name of the Resource group in which to deploy these resources | `string` | `"AVD-TF"` | no | +| [shared](#input\_shared) | Prefix of the name of the AVD machine(s) | `string` | n/a | yes | +| [subnet\_range](#input\_subnet\_range) | Address range for session host subnet | `list(string)` | n/a | yes | +| [vm\_size](#input\_vm\_size) | Size of the machine to deploy | `string` | `"Standard_DS2_v2"` | no | +| [vnet\_range](#input\_vnet\_range) | Address range for deployment VNet | `list(string)` | n/a | yes | +| [workspace](#input\_workspace) | Name of the Azure Virtual Desktop workspace | `string` | `"AVD TF Workspace"` | no | + +## Outputs + +| Name | Description | +|------|-------------| +| [aadgroupname](#output\_aadgroupname) | Azure Active Directory Group for AVD users | +| [avdusers](#output\_avdusers) | AVD users | +| [dnsservers](#output\_dnsservers) | Custom DNS configuration | +| [location](#output\_location) | The Azure region | +| [rdshcount](#output\_rdshcount) | The number of VMs created | +| [resource\_group\_name](#output\_resource\_group\_name) | Name of the Resource group created | +| [storage\_account\_share](#output\_storage\_account\_share) | Name of the Azure File Share created for FSLogix | +| [vnetrange](#output\_vnetrange) | Address range for deployment vnet | + + +