Skip to content

Commit

Permalink
feat: Change method obtain subnet id into azure-vmss module (#431)
Browse files Browse the repository at this point in the history
  • Loading branch information
gustavoborragan authored Feb 3, 2025
1 parent 2d98985 commit 36836f4
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion modules/azure-vmss/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_common"></a> [common](#input\_common) | VARIABLES SECTION | <pre>object({<br/> resource_group_name = string<br/> location = string<br/> tags = map(string)<br/> })</pre> | n/a | yes |
| <a name="input_vmss"></a> [vmss](#input\_vmss) | n/a | <pre>object({<br/> name = string<br/> sku = string<br/> instances = optional(number)<br/> admin_username = string<br/> admin_ssh_key_username = string<br/> first_public_key = optional(string)<br/> eviction_policy = optional(string)<br/> secure_boot_enabled = optional(bool)<br/> platform_fault_domain_count = optional(number)<br/> encryption_at_host_enabled = optional(bool)<br/> vtpm_enabled = optional(bool)<br/> zones = optional(list(string))<br/> computer_name_prefix = optional(string)<br/><br/> disk_storage_account_type = string<br/> disk_caching = string<br/> data_disk = optional(object({<br/> name = optional(string)<br/> caching = string<br/> create_option = optional(string)<br/> disk_size_gb = number<br/> lun = number<br/> storage_account_type = string<br/> }))<br/><br/> upgrade_mode = string<br/> rolling_upgrade_policy_max_batch_instance_percent = number<br/> rolling_upgrade_policy_max_unhealthy_instance_percent = number<br/> rolling_upgrade_policy_max_unhealthy_upgraded_instance_percent = number<br/> rolling_upgrade_policy_pause_time_between_batches = string<br/> rolling_upgrade_policy_cross_zone_upgrades_enabled = bool<br/> rolling_upgrade_policy_maximum_surge_instances_enabled = bool<br/> rolling_upgrade_policy_prioritize_unhealthy_instances_enabled = bool<br/><br/> image_publisher = string<br/> image_offer = string<br/> image_sku = string<br/> image_version = string<br/><br/> edge_zone = optional(string)<br/> network_primary = optional(bool)<br/> network_ip_primary = optional(bool)<br/> network_security_group_id = optional(string)<br/> subnet_output = optional(list(string))<br/> subnet_name = optional(string)<br/> prefix_length = optional(number)<br/><br/> scale_in_rule = optional(string)<br/> scale_in_force_deletion_enabled = optional(bool)<br/><br/> network_interface_ip_configuration_application_gateway_backend_address_pool_ids = optional(list(string))<br/> network_interface_ip_configuration_application_security_group_ids = optional(list(string))<br/> network_interface_ip_configuration_load_balancer_backend_address_pool_ids = optional(list(string))<br/> network_interface_ip_configuration_load_balancer_inbound_nat_rules_ids = optional(list(string))<br/> network_interface_public_ip_adress_idle_timeout_in_minutes = optional(number)<br/> network_interface_public_ip_adress_public_ip_prefix_id = string<br/><br/> identity_type = string<br/> identity_ids = optional(list(string))<br/> identity_rg_name = optional(string)<br/><br/> cloud_init = optional(string)<br/> run_script = optional(string)<br/> })</pre> | n/a | yes |
| <a name="input_vmss"></a> [vmss](#input\_vmss) | n/a | <pre>object({<br/> name = string<br/> sku = string<br/> instances = optional(number)<br/> admin_username = string<br/> admin_ssh_key_username = string<br/> first_public_key = optional(string)<br/> eviction_policy = optional(string)<br/> secure_boot_enabled = optional(bool)<br/> platform_fault_domain_count = optional(number)<br/> encryption_at_host_enabled = optional(bool)<br/> vtpm_enabled = optional(bool)<br/> zones = optional(list(string))<br/> computer_name_prefix = optional(string)<br/><br/> disk_storage_account_type = string<br/> disk_caching = string<br/> data_disk = optional(object({<br/> name = optional(string)<br/> caching = string<br/> create_option = optional(string)<br/> disk_size_gb = number<br/> lun = number<br/> storage_account_type = string<br/> }))<br/><br/> upgrade_mode = string<br/> rolling_upgrade_policy_max_batch_instance_percent = number<br/> rolling_upgrade_policy_max_unhealthy_instance_percent = number<br/> rolling_upgrade_policy_max_unhealthy_upgraded_instance_percent = number<br/> rolling_upgrade_policy_pause_time_between_batches = string<br/> rolling_upgrade_policy_cross_zone_upgrades_enabled = bool<br/> rolling_upgrade_policy_maximum_surge_instances_enabled = bool<br/> rolling_upgrade_policy_prioritize_unhealthy_instances_enabled = bool<br/><br/> image_publisher = string<br/> image_offer = string<br/> image_sku = string<br/> image_version = string<br/><br/> edge_zone = optional(string)<br/> network_primary = optional(bool)<br/> network_ip_primary = optional(bool)<br/> network_security_group_id = optional(string)<br/> subnet_name = optional(string)<br/> virtual_network_name = optional(string)<br/> virtual_network_resource_group_name = optional(string)<br/> prefix_length = optional(number)<br/><br/> scale_in_rule = optional(string)<br/> scale_in_force_deletion_enabled = optional(bool)<br/><br/> network_interface_ip_configuration_application_gateway_backend_address_pool_ids = optional(list(string))<br/> network_interface_ip_configuration_application_security_group_ids = optional(list(string))<br/> network_interface_ip_configuration_load_balancer_backend_address_pool_ids = optional(list(string))<br/> network_interface_ip_configuration_load_balancer_inbound_nat_rules_ids = optional(list(string))<br/> network_interface_public_ip_adress_idle_timeout_in_minutes = optional(number)<br/> network_interface_public_ip_adress_public_ip_prefix_id = string<br/><br/> identity_type = string<br/> identity_ids = optional(list(string))<br/> identity_rg_name = optional(string)<br/><br/> cloud_init = optional(string)<br/> run_script = optional(string)<br/> })</pre> | n/a | yes |

## Outputs

Expand Down
13 changes: 6 additions & 7 deletions modules/azure-vmss/main.tf
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# LOCAL SECTION
locals {
split_subnet = [for subnet in var.vmss.subnet_output : split("/", subnet)]
last_elements = [for split_subnet in local.split_subnet : split_subnet[length(split_subnet) - 1]]
subnet = [for i, last_element in local.last_elements : var.vmss.subnet_output[i] if last_element == var.vmss.subnet_name][0]
# DATA SECTION
data "azurerm_subnet" "this" {
name = var.vmss.subnet_name
virtual_network_name = var.vmss.virtual_network_name
resource_group_name = var.common.virtual_network_resource_group_name
}

# RESOURCES SECTION
Expand Down Expand Up @@ -61,7 +61,7 @@ resource "azurerm_linux_virtual_machine_scale_set" "this" {
ip_configuration {
name = var.vmss.name
primary = var.vmss.network_ip_primary
subnet_id = local.subnet
subnet_id = data.azurerm_subnet.this.id
application_gateway_backend_address_pool_ids = var.vmss.network_interface_ip_configuration_application_gateway_backend_address_pool_ids
application_security_group_ids = var.vmss.network_interface_ip_configuration_application_security_group_ids
load_balancer_backend_address_pool_ids = var.vmss.network_interface_ip_configuration_load_balancer_inbound_nat_rules_ids
Expand Down Expand Up @@ -111,4 +111,3 @@ resource "azurerm_virtual_machine_scale_set_extension" "this" {
"script" = "${base64encode("${var.vmss.run_script}")}"
})
}

5 changes: 3 additions & 2 deletions modules/azure-vmss/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,9 @@ variable "vmss" {
network_primary = optional(bool)
network_ip_primary = optional(bool)
network_security_group_id = optional(string)
subnet_output = optional(list(string))
subnet_name = optional(string)
name = optional(string)
virtual_network_name = optional(string)
resource_group_name = optional(string)
prefix_length = optional(number)

scale_in_rule = optional(string)
Expand Down

0 comments on commit 36836f4

Please sign in to comment.