modules/azure_devops/locals_pipelines.tf (47 lines of code) (raw):

locals { pipelines = { for key, value in var.pipelines : key => { pipeline_name = value.pipeline_name file = azuredevops_git_repository_file.alz[value.pipeline_file_name].file environments = [for environment_key in value.environment_keys : { environment_key = environment_key environment_id = azuredevops_environment.alz[environment_key].id } ] service_connections = [for service_connection_key in value.service_connection_keys : { service_connection_key = service_connection_key service_connection_id = azuredevops_serviceendpoint_azurerm.alz[service_connection_key].id } ] } } pipeline_environments = flatten([for pipeline_key, pipeline in local.pipelines : [for environment in pipeline.environments : { pipeline_key = pipeline_key environment_key = environment.environment_key pipeline_id = azuredevops_build_definition.alz[pipeline_key].id environment_id = environment.environment_id } ] ]) pipeline_service_connections = flatten([for pipeline_key, pipeline in local.pipelines : [for service_connection in pipeline.service_connections : { pipeline_key = pipeline_key service_connection_key = service_connection.service_connection_key pipeline_id = azuredevops_build_definition.alz[pipeline_key].id service_connection_id = service_connection.service_connection_id } ] ]) pipeline_environments_map = { for pipeline_environment in local.pipeline_environments : "${pipeline_environment.pipeline_key}-${pipeline_environment.environment_key}" => { pipeline_id = pipeline_environment.pipeline_id environment_id = pipeline_environment.environment_id } } pipeline_service_connections_map = { for pipeline_service_connection in local.pipeline_service_connections : "${pipeline_service_connection.pipeline_key}-${pipeline_service_connection.service_connection_key}" => { pipeline_id = pipeline_service_connection.pipeline_id service_connection_id = pipeline_service_connection.service_connection_id } } }