Skip to content

Commit be1ffe3

Browse files
ASHR4Rhys Ash
andauthored
feat: update resource_names variable to use object type with optional fields (#110)
Co-authored-by: Rhys Ash <rhysash@microsoft.com>
1 parent 490aac6 commit be1ffe3

3 files changed

Lines changed: 80 additions & 80 deletions

File tree

alz/azuredevops/variables.tf

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -274,45 +274,45 @@ variable "module_folder_path_relative" {
274274
}
275275

276276
variable "resource_names" {
277-
type = map(string)
277+
type = object({
278+
resource_group_state = optional(string, "rg-{{service_name}}-{{environment_name}}-state-{{azure_location}}-{{postfix_number}}")
279+
resource_group_identity = optional(string, "rg-{{service_name}}-{{environment_name}}-identity-{{azure_location}}-{{postfix_number}}")
280+
resource_group_agents = optional(string, "rg-{{service_name}}-{{environment_name}}-agents-{{azure_location}}-{{postfix_number}}")
281+
resource_group_network = optional(string, "rg-{{service_name}}-{{environment_name}}-network-{{azure_location}}-{{postfix_number}}")
282+
user_assigned_managed_identity_plan = optional(string, "id-{{service_name}}-{{environment_name}}-{{azure_location}}-plan-{{postfix_number}}")
283+
user_assigned_managed_identity_apply = optional(string, "id-{{service_name}}-{{environment_name}}-{{azure_location}}-apply-{{postfix_number}}")
284+
user_assigned_managed_identity_federated_credentials_plan = optional(string, "id-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-plan")
285+
user_assigned_managed_identity_federated_credentials_apply = optional(string, "id-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-apply")
286+
storage_account = optional(string, "sto{{service_name_short}}{{environment_name_short}}{{azure_location_short}}{{postfix_number}}{{random_string}}")
287+
storage_container = optional(string, "{{environment_name}}-tfstate")
288+
container_instance_01 = optional(string, "aci-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}")
289+
container_instance_02 = optional(string, "aci-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number_plus_1}}")
290+
container_instance_managed_identity = optional(string, "id-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-aci")
291+
agent_01 = optional(string, "agent-{{service_name}}-{{environment_name}}-{{postfix_number}}")
292+
agent_02 = optional(string, "agent-{{service_name}}-{{environment_name}}-{{postfix_number_plus_1}}")
293+
version_control_system_repository = optional(string, "{{service_name}}-{{environment_name}}")
294+
version_control_system_repository_templates = optional(string, "{{service_name}}-{{environment_name}}-templates")
295+
version_control_system_service_connection_plan = optional(string, "sc-{{service_name}}-{{environment_name}}-plan")
296+
version_control_system_service_connection_apply = optional(string, "sc-{{service_name}}-{{environment_name}}-apply")
297+
version_control_system_environment_plan = optional(string, "{{service_name}}-{{environment_name}}-plan")
298+
version_control_system_environment_apply = optional(string, "{{service_name}}-{{environment_name}}-apply")
299+
version_control_system_variable_group = optional(string, "{{service_name}}-{{environment_name}}")
300+
version_control_system_agent_pool = optional(string, "{{service_name}}-{{environment_name}}")
301+
version_control_system_group = optional(string, "{{service_name}}-{{environment_name}}-approvers")
302+
version_control_system_pipeline_name_ci = optional(string, "01 Azure Landing Zones Continuous Integration")
303+
version_control_system_pipeline_name_cd = optional(string, "02 Azure Landing Zones Continuous Delivery")
304+
virtual_network = optional(string, "vnet-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}")
305+
public_ip = optional(string, "pip-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}")
306+
nat_gateway = optional(string, "nat-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}")
307+
subnet_container_instances = optional(string, "subnet-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-aci")
308+
subnet_private_endpoints = optional(string, "subnet-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-pe")
309+
storage_account_private_endpoint = optional(string, "pe-{{service_name}}-{{environment_name}}-{{azure_location}}-sto-{{postfix_number}}")
310+
container_registry = optional(string, "acr{{service_name}}{{environment_name}}{{azure_location_short}}{{postfix_number}}{{random_string}}")
311+
container_registry_private_endpoint = optional(string, "pe-{{service_name}}-{{environment_name}}-{{azure_location}}-acr-{{postfix_number}}")
312+
container_image_name = optional(string, "azure-devops-agent")
313+
})
278314
description = "Overrides for resource names"
279-
default = {
280-
resource_group_state = "rg-{{service_name}}-{{environment_name}}-state-{{azure_location}}-{{postfix_number}}"
281-
resource_group_identity = "rg-{{service_name}}-{{environment_name}}-identity-{{azure_location}}-{{postfix_number}}"
282-
resource_group_agents = "rg-{{service_name}}-{{environment_name}}-agents-{{azure_location}}-{{postfix_number}}"
283-
resource_group_network = "rg-{{service_name}}-{{environment_name}}-network-{{azure_location}}-{{postfix_number}}"
284-
user_assigned_managed_identity_plan = "id-{{service_name}}-{{environment_name}}-{{azure_location}}-plan-{{postfix_number}}"
285-
user_assigned_managed_identity_apply = "id-{{service_name}}-{{environment_name}}-{{azure_location}}-apply-{{postfix_number}}"
286-
user_assigned_managed_identity_federated_credentials_plan = "id-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-plan"
287-
user_assigned_managed_identity_federated_credentials_apply = "id-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-apply"
288-
storage_account = "sto{{service_name_short}}{{environment_name_short}}{{azure_location_short}}{{postfix_number}}{{random_string}}"
289-
storage_container = "{{environment_name}}-tfstate"
290-
container_instance_01 = "aci-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}"
291-
container_instance_02 = "aci-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number_plus_1}}"
292-
container_instance_managed_identity = "id-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-aci"
293-
agent_01 = "agent-{{service_name}}-{{environment_name}}-{{postfix_number}}"
294-
agent_02 = "agent-{{service_name}}-{{environment_name}}-{{postfix_number_plus_1}}"
295-
version_control_system_repository = "{{service_name}}-{{environment_name}}"
296-
version_control_system_repository_templates = "{{service_name}}-{{environment_name}}-templates"
297-
version_control_system_service_connection_plan = "sc-{{service_name}}-{{environment_name}}-plan"
298-
version_control_system_service_connection_apply = "sc-{{service_name}}-{{environment_name}}-apply"
299-
version_control_system_environment_plan = "{{service_name}}-{{environment_name}}-plan"
300-
version_control_system_environment_apply = "{{service_name}}-{{environment_name}}-apply"
301-
version_control_system_variable_group = "{{service_name}}-{{environment_name}}"
302-
version_control_system_agent_pool = "{{service_name}}-{{environment_name}}"
303-
version_control_system_group = "{{service_name}}-{{environment_name}}-approvers"
304-
version_control_system_pipeline_name_ci = "01 Azure Landing Zones Continuous Integration"
305-
version_control_system_pipeline_name_cd = "02 Azure Landing Zones Continuous Delivery"
306-
virtual_network = "vnet-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}"
307-
public_ip = "pip-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}"
308-
nat_gateway = "nat-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}"
309-
subnet_container_instances = "subnet-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-aci"
310-
subnet_private_endpoints = "subnet-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-pe"
311-
storage_account_private_endpoint = "pe-{{service_name}}-{{environment_name}}-{{azure_location}}-sto-{{postfix_number}}"
312-
container_registry = "acr{{service_name}}{{environment_name}}{{azure_location_short}}{{postfix_number}}{{random_string}}"
313-
container_registry_private_endpoint = "pe-{{service_name}}-{{environment_name}}-{{azure_location}}-acr-{{postfix_number}}"
314-
container_image_name = "azure-devops-agent"
315-
}
315+
default = {}
316316
}
317317

318318
variable "agent_name_environment_variable" {

alz/github/variables.tf

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -243,39 +243,39 @@ variable "module_folder_path_relative" {
243243
}
244244

245245
variable "resource_names" {
246-
type = map(string)
246+
type = object({
247+
resource_group_state = optional(string, "rg-{{service_name}}-{{environment_name}}-state-{{azure_location}}-{{postfix_number}}")
248+
resource_group_identity = optional(string, "rg-{{service_name}}-{{environment_name}}-identity-{{azure_location}}-{{postfix_number}}")
249+
resource_group_agents = optional(string, "rg-{{service_name}}-{{environment_name}}-agents-{{azure_location}}-{{postfix_number}}")
250+
resource_group_network = optional(string, "rg-{{service_name}}-{{environment_name}}-network-{{azure_location}}-{{postfix_number}}")
251+
user_assigned_managed_identity_plan = optional(string, "id-{{service_name}}-{{environment_name}}-{{azure_location}}-plan-{{postfix_number}}")
252+
user_assigned_managed_identity_apply = optional(string, "id-{{service_name}}-{{environment_name}}-{{azure_location}}-apply-{{postfix_number}}")
253+
user_assigned_managed_identity_federated_credentials_prefix = optional(string, "{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}")
254+
storage_account = optional(string, "sto{{service_name_short}}{{environment_name_short}}{{azure_location_short}}{{postfix_number}}{{random_string}}")
255+
storage_container = optional(string, "{{environment_name}}-tfstate")
256+
container_instance_01 = optional(string, "aci-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}")
257+
container_instance_02 = optional(string, "aci-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number_plus_1}}")
258+
container_instance_managed_identity = optional(string, "id-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-aci")
259+
runner_01 = optional(string, "runner-{{service_name}}-{{environment_name}}-{{postfix_number}}")
260+
runner_02 = optional(string, "runner-{{service_name}}-{{environment_name}}-{{postfix_number_plus_1}}")
261+
version_control_system_repository = optional(string, "{{service_name}}-{{environment_name}}")
262+
version_control_system_repository_templates = optional(string, "{{service_name}}-{{environment_name}}-templates")
263+
version_control_system_environment_plan = optional(string, "{{service_name}}-{{environment_name}}-plan")
264+
version_control_system_environment_apply = optional(string, "{{service_name}}-{{environment_name}}-apply")
265+
version_control_system_team = optional(string, "{{service_name}}-{{environment_name}}-approvers")
266+
version_control_system_runner_group = optional(string, "{{service_name}}-{{environment_name}}")
267+
virtual_network = optional(string, "vnet-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}")
268+
public_ip = optional(string, "pip-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}")
269+
nat_gateway = optional(string, "nat-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}")
270+
subnet_container_instances = optional(string, "subnet-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-aci")
271+
subnet_private_endpoints = optional(string, "subnet-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-pe")
272+
storage_account_private_endpoint = optional(string, "pe-{{service_name}}-{{environment_name}}-{{azure_location}}-sto-{{postfix_number}}")
273+
container_registry = optional(string, "acr{{service_name}}{{environment_name}}{{azure_location_short}}{{postfix_number}}{{random_string}}")
274+
container_registry_private_endpoint = optional(string, "pe-{{service_name}}-{{environment_name}}-{{azure_location}}-acr-{{postfix_number}}")
275+
container_image_name = optional(string, "github-runner")
276+
})
247277
description = "Overrides for resource names"
248-
default = {
249-
resource_group_state = "rg-{{service_name}}-{{environment_name}}-state-{{azure_location}}-{{postfix_number}}"
250-
resource_group_identity = "rg-{{service_name}}-{{environment_name}}-identity-{{azure_location}}-{{postfix_number}}"
251-
resource_group_agents = "rg-{{service_name}}-{{environment_name}}-agents-{{azure_location}}-{{postfix_number}}"
252-
resource_group_network = "rg-{{service_name}}-{{environment_name}}-network-{{azure_location}}-{{postfix_number}}"
253-
user_assigned_managed_identity_plan = "id-{{service_name}}-{{environment_name}}-{{azure_location}}-plan-{{postfix_number}}"
254-
user_assigned_managed_identity_apply = "id-{{service_name}}-{{environment_name}}-{{azure_location}}-apply-{{postfix_number}}"
255-
user_assigned_managed_identity_federated_credentials_prefix = "{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}"
256-
storage_account = "sto{{service_name_short}}{{environment_name_short}}{{azure_location_short}}{{postfix_number}}{{random_string}}"
257-
storage_container = "{{environment_name}}-tfstate"
258-
container_instance_01 = "aci-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}"
259-
container_instance_02 = "aci-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number_plus_1}}"
260-
container_instance_managed_identity = "id-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-aci"
261-
runner_01 = "runner-{{service_name}}-{{environment_name}}-{{postfix_number}}"
262-
runner_02 = "runner-{{service_name}}-{{environment_name}}-{{postfix_number_plus_1}}"
263-
version_control_system_repository = "{{service_name}}-{{environment_name}}"
264-
version_control_system_repository_templates = "{{service_name}}-{{environment_name}}-templates"
265-
version_control_system_environment_plan = "{{service_name}}-{{environment_name}}-plan"
266-
version_control_system_environment_apply = "{{service_name}}-{{environment_name}}-apply"
267-
version_control_system_team = "{{service_name}}-{{environment_name}}-approvers"
268-
version_control_system_runner_group = "{{service_name}}-{{environment_name}}"
269-
virtual_network = "vnet-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}"
270-
public_ip = "pip-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}"
271-
nat_gateway = "nat-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}"
272-
subnet_container_instances = "subnet-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-aci"
273-
subnet_private_endpoints = "subnet-{{service_name}}-{{environment_name}}-{{azure_location}}-{{postfix_number}}-pe"
274-
storage_account_private_endpoint = "pe-{{service_name}}-{{environment_name}}-{{azure_location}}-sto-{{postfix_number}}"
275-
container_registry = "acr{{service_name}}{{environment_name}}{{azure_location_short}}{{postfix_number}}{{random_string}}"
276-
container_registry_private_endpoint = "pe-{{service_name}}-{{environment_name}}-{{azure_location}}-acr-{{postfix_number}}"
277-
container_image_name = "github-runner"
278-
}
278+
default = {}
279279
}
280280

281281
variable "runner_container_image_repository" {

0 commit comments

Comments
 (0)