main.runcommand.tf (93 lines of code) (raw):
module "run_command" {
source = "./modules/run-command"
for_each = { for k, v in var.run_commands : k => v if v.deploy_sequence >= 3 }
name = each.value.name
location = each.value.location
virtualmachine_resource_id = local.virtualmachine_resource_id
script_source = each.value.script_source
error_blob_managed_identity = each.value.error_blob_managed_identity
error_blob_uri = each.value.error_blob_uri
output_blob_managed_identity = each.value.output_blob_managed_identity
output_blob_uri = each.value.output_blob_uri
parameters = each.value.parameters
protected_parameters = try(var.run_commands_secrets[each.key].protected_parameters, null)
run_as_user = try(var.run_commands_secrets[each.key].run_as_user, null)
run_as_password = try(var.run_commands_secrets[each.key].run_as_password, null)
timeouts = {
create = coalesce(try(each.value.timeouts.create, null), var.timeouts.azurerm_virtual_machine_run_command.create)
delete = coalesce(try(each.value.timeouts.delete, null), var.timeouts.azurerm_virtual_machine_run_command.delete)
read = coalesce(try(each.value.timeouts.read, null), var.timeouts.azurerm_virtual_machine_run_command.read)
update = coalesce(try(each.value.timeouts.update, null), var.timeouts.azurerm_virtual_machine_run_command.update)
}
tags = each.value.tags
depends_on = [
azurerm_windows_virtual_machine.this,
azurerm_linux_virtual_machine.this,
azurerm_role_assignment.this_virtual_machine,
azurerm_role_assignment.system_managed_identity,
module.run_command_1,
module.run_command_2,
module.extension
]
}
module "run_command_1" {
source = "./modules/run-command"
for_each = { for k, v in var.run_commands : k => v if v.deploy_sequence == 1 }
name = each.value.name
location = each.value.location
virtualmachine_resource_id = local.virtualmachine_resource_id
script_source = each.value.script_source
error_blob_managed_identity = each.value.error_blob_managed_identity
error_blob_uri = each.value.error_blob_uri
output_blob_managed_identity = each.value.output_blob_managed_identity
output_blob_uri = each.value.output_blob_uri
parameters = each.value.parameters
protected_parameters = try(var.run_commands_secrets[each.key].protected_parameters, null)
run_as_user = try(var.run_commands_secrets[each.key].run_as_user, null)
run_as_password = try(var.run_commands_secrets[each.key].run_as_password, null)
timeouts = {
create = coalesce(try(each.value.timeouts.create, null), var.timeouts.azurerm_virtual_machine_run_command.create)
delete = coalesce(try(each.value.timeouts.delete, null), var.timeouts.azurerm_virtual_machine_run_command.delete)
read = coalesce(try(each.value.timeouts.read, null), var.timeouts.azurerm_virtual_machine_run_command.read)
update = coalesce(try(each.value.timeouts.update, null), var.timeouts.azurerm_virtual_machine_run_command.update)
}
tags = each.value.tags
depends_on = [
azurerm_windows_virtual_machine.this,
azurerm_linux_virtual_machine.this,
azurerm_role_assignment.this_virtual_machine,
azurerm_role_assignment.system_managed_identity,
module.extension
]
}
module "run_command_2" {
source = "./modules/run-command"
for_each = { for k, v in var.run_commands : k => v if v.deploy_sequence == 2 }
name = each.value.name
location = each.value.location
virtualmachine_resource_id = local.virtualmachine_resource_id
script_source = each.value.script_source
error_blob_managed_identity = each.value.error_blob_managed_identity
error_blob_uri = each.value.error_blob_uri
output_blob_managed_identity = each.value.output_blob_managed_identity
output_blob_uri = each.value.output_blob_uri
parameters = each.value.parameters
protected_parameters = try(var.run_commands_secrets[each.key].protected_parameters, null)
run_as_user = try(var.run_commands_secrets[each.key].run_as_user, null)
run_as_password = try(var.run_commands_secrets[each.key].run_as_password, null)
timeouts = {
create = coalesce(try(each.value.timeouts.create, null), var.timeouts.azurerm_virtual_machine_run_command.create)
delete = coalesce(try(each.value.timeouts.delete, null), var.timeouts.azurerm_virtual_machine_run_command.delete)
read = coalesce(try(each.value.timeouts.read, null), var.timeouts.azurerm_virtual_machine_run_command.read)
update = coalesce(try(each.value.timeouts.update, null), var.timeouts.azurerm_virtual_machine_run_command.update)
}
tags = each.value.tags
depends_on = [
azurerm_windows_virtual_machine.this,
azurerm_linux_virtual_machine.this,
azurerm_role_assignment.this_virtual_machine,
azurerm_role_assignment.system_managed_identity,
module.run_command_1,
module.extension
]
}