wvd-sh/terraform-azurerm-azuresvirtualdesktop/archive/terraform-azurerm-windowsvirtualdesktop/virtual_machine_extensions.tf (139 lines of code) (raw):
resource "azurerm_virtual_machine_extension" "LogAnalytics" {
count = "${var.extension_loganalytics ? var.rdsh_count : 0}"
name = "${var.vm_prefix}${count.index +1}-LogAnalytics"
location = "${var.region}"
resource_group_name = "${var.resource_group_name}"
virtual_machine_name = "${azurerm_virtual_machine.main.*.name[count.index]}"
publisher = "Microsoft.EnterpriseCloud.Monitoring"
type = "MicrosoftMonitoringAgent"
type_handler_version = "1.0"
auto_upgrade_minor_version = true
settings = <<SETTINGS
{
"workspaceId": "${var.log_analytics_workspace_id}"
}
SETTINGS
protected_settings = <<protectedsettings
{
"workspaceKey": "${var.log_analytics_workspace_primary_shared_key}"
}
protectedsettings
tags {
BUC = "${var.tagBUC}"
SupportGroup = "${var.tagSupportGroup}"
AppGroupEmail = "${var.tagAppGroupEmail}"
EnvironmentType = "${var.tagEnvironmentType}"
CustomerCRMID = "${var.tagCustomerCRMID}"
}
}
resource "azurerm_virtual_machine_extension" "domainJoin" {
count = "${var.domain_joined ? var.rdsh_count : 0}"
name = "${var.vm_prefix}-${count.index +1}-domainJoin"
location = "${var.region}"
resource_group_name = "${var.resource_group_name}"
virtual_machine_name = "${azurerm_virtual_machine.main.*.name[count.index]}"
publisher = "Microsoft.Compute"
type = "JsonADDomainExtension"
type_handler_version = "1.3"
auto_upgrade_minor_version = true
depends_on = ["azurerm_virtual_machine_extension.LogAnalytics"]
lifecycle {
ignore_changes = [
"settings",
"protected_settings",
]
}
settings = <<SETTINGS
{
"Name": "${var.domain_name}",
"OUPath": "${var.ou_path}",
"User": "${var.domain_user_upn}@${var.domain_name}",
"Restart": "true",
"Options": "3"
}
SETTINGS
protected_settings = <<PROTECTED_SETTINGS
{
"Password": "${var.domain_password}"
}
PROTECTED_SETTINGS
tags {
BUC = "${var.tagBUC}"
SupportGroup = "${var.tagSupportGroup}"
AppGroupEmail = "${var.tagAppGroupEmail}"
EnvironmentType = "${var.tagEnvironmentType}"
CustomerCRMID = "${var.tagCustomerCRMID}"
}
}
resource "azurerm_virtual_machine_extension" "custom_script_extensions" {
count = "${var.extension_custom_script ? var.rdsh_count : 0}"
name = "${var.vm_prefix}${count.index +1}-custom_script_extensions"
location = "${var.region}"
resource_group_name = "${var.resource_group_name}"
virtual_machine_name = "${azurerm_virtual_machine.main.*.name[count.index]}"
publisher = "Microsoft.Compute"
type = "CustomScriptExtension"
depends_on = ["azurerm_virtual_machine_extension.domainJoin"]
type_handler_version = "1.9"
lifecycle {
ignore_changes = [
"settings",
]
}
settings = <<SETTINGS
{
"fileUris": ["${join("\",\"", var.extensions_custom_script_fileuris)}"],
"commandToExecute": "${var.extensions_custom_command}"
}
SETTINGS
tags {
BUC = "${var.tagBUC}"
SupportGroup = "${var.tagSupportGroup}"
AppGroupEmail = "${var.tagAppGroupEmail}"
EnvironmentType = "${var.tagEnvironmentType}"
CustomerCRMID = "${var.tagCustomerCRMID}"
}
}
resource "azurerm_virtual_machine_extension" "additional_session_host_dscextension" {
count = "${var.rdsh_count}"
name = "${var.vm_prefix}${count.index +1}-wvd_dsc"
location = "${var.region}"
resource_group_name = "${var.resource_group_name}"
virtual_machine_name = "${azurerm_virtual_machine.main.*.name[count.index]}"
publisher = "Microsoft.Powershell"
type = "DSC"
type_handler_version = "2.73"
auto_upgrade_minor_version = true
depends_on = ["azurerm_virtual_machine_extension.domainJoin", "azurerm_virtual_machine_extension.custom_script_extensions"]
settings = <<SETTINGS
{
"modulesURL": "${var.base_url}/DSC/Configuration.zip",
"configurationFunction": "Configuration.ps1\\RegisterSessionHost",
"properties": {
"TenantAdminCredentials":{
"userName":"${var.tenant_app_id}",
"password":"PrivateSettingsRef:tenantAdminPassword"
},
"RDBrokerURL":"${var.RDBrokerURL}",
"DefinedTenantGroupName":"${var.existing_tenant_group_name}",
"TenantName":"${var.tenant_name}",
"HostPoolName":"${var.host_pool_name}",
"Hours":"${var.registration_expiration_hours}",
"isServicePrincipal":"${var.is_service_principal}",
"AadTenantId":"${var.aad_tenant_id}"
}
}
SETTINGS
protected_settings = <<PROTECTED_SETTINGS
{
"items":{
"tenantAdminPassword":"${var.tenant_app_password}"
}
}
PROTECTED_SETTINGS
tags {
BUC = "${var.tagBUC}"
SupportGroup = "${var.tagSupportGroup}"
AppGroupEmail = "${var.tagAppGroupEmail}"
EnvironmentType = "${var.tagEnvironmentType}"
CustomerCRMID = "${var.tagCustomerCRMID}"
}
}