22 lines
1.1 KiB
Terraform
22 lines
1.1 KiB
Terraform
resource "azuredevops_pipeline_authorization" "service_connection_auth" {
|
|
for_each = { for key, val in local.pipelines : key => val if val.suffix != "feature-branches" }
|
|
pipeline_id = azuredevops_build_definition.pipelines[each.value.pipeline_name].id
|
|
project_id = data.azuredevops_project.project.id
|
|
resource_id = jsondecode(data.http.azdo_service_connections[each.value.suffix].response_body).value[0].id
|
|
type = "endpoint"
|
|
}
|
|
|
|
resource "azuredevops_environment" "this" {
|
|
for_each = toset(local.environments)
|
|
project_id = data.azuredevops_project.project.id
|
|
name = each.value
|
|
}
|
|
|
|
resource "azuredevops_pipeline_authorization" "environments_auth" {
|
|
for_each = { for key, val in local.pipelines : key => val if val.suffix != "feature-branches" && lookup(val, "environment_auth", null) != null }
|
|
pipeline_id = azuredevops_build_definition.pipelines[each.value.pipeline_name].id
|
|
project_id = data.azuredevops_project.project.id
|
|
resource_id = azuredevops_environment.this["${each.value.environment_auth}"].id
|
|
type = "environment"
|
|
}
|