azuredevops_build_folder_permissions

Manages permissions for a Build Folder

Example Usage

Set specific folder permissions

resource "azuredevops_project" "example" {
  name               = "Example Project"
  work_item_template = "Agile"
  version_control    = "Git"
  visibility         = "private"
  description        = "Managed by Terraform"
}

data "azuredevops_group" "example-readers" {
  project_id = azuredevops_project.example.id
  name       = "Readers"
}

resource "azuredevops_build_folder" "example" {
  project_id  = azuredevops_project.example.id
  path        = "\\ExampleFolder"
  description = "ExampleFolder description"
}

resource "azuredevops_build_folder_permissions" "example" {
  project_id = azuredevops_project.example.id
  path       = "\\ExampleFolder"
  principal  = data.azuredevops_group.example-readers.id

  permissions = {
    "ViewBuilds":                 "Allow",
    "EditBuildQuality":           "Allow",
    "RetainIndefinitely":         "Allow",
    "DeleteBuilds":               "Deny",
    "ManageBuildQualities":       "Deny",
    "DestroyBuilds":              "Deny",
    "UpdateBuildInformation":     "Deny",
    "QueueBuilds":                "Allow",
    "ManageBuildQueue":           "Deny",
    "StopBuilds":                 "Allow",
    "ViewBuildDefinition":        "Allow",
    "EditBuildDefinition":        "Deny",
    "DeleteBuildDefinition":      "Deny",
    "AdministerBuildPermissions": "NotSet"
  }
}

Set root folder permissions

resource "azuredevops_project" "example" {
  name               = "Example Project"
  work_item_template = "Agile"
  version_control    = "Git"
  visibility         = "private"
  description        = "Managed by Terraform"
}

data "azuredevops_group" "example-readers" {
  project_id = azuredevops_project.example.id
  name       = "Readers"
}

resource "azuredevops_build_folder_permissions" "example" {
  project_id = azuredevops_project.example.id
  path       = "\\"
  principal  = data.azuredevops_group.example-readers.id

  permissions = {
    "RetainIndefinitely": "Allow"
  }
}

Argument Reference

The following arguments are supported:

Permission Description
ViewBuilds View builds
EditBuildQuality Edit build quality
RetainIndefinitely Retain indefinitely
DeleteBuilds Delete builds
ManageBuildQualities Manage build qualities
DestroyBuilds Destroy builds
UpdateBuildInformation Update build information
QueueBuilds Queue builds
ManageBuildQueue Manage build queue
StopBuilds Stop builds
ViewBuildDefinition View build pipeline
EditBuildDefinition Edit build pipeline
DeleteBuildDefinition Delete build pipeline
OverrideBuildCheckInValidation Override check-in validation by build
AdministerBuildPermissions Administer build permissions

Import

The resource does not support import.

PAT Permissions Required