en-US/about_AzDoTaggingPermission.help.txt

.NAME
    AzDoTaggingPermission
 
.SYNOPSIS
    DSC resource for managing project-level Tagging ACL permissions.
 
.DESCRIPTION
    This resource manages permissions in the 'Tagging' security namespace, controlling what
    actions groups or users can perform on work item tags within a specific project (create,
    delete, enumerate and use tag definitions). The namespace's ACL token shape is
    '/{projectId}'.
 
.PARAMETER ProjectName
    Key - System.String
    The name of the Azure DevOps project. This property is mandatory and serves as a key property for the resource.
 
.PARAMETER GroupName
    Required - System.String
    The name of the group to grant permissions to. This is a key property. Use the format [ProjectName]\GroupName or [TEAM FOUNDATION]\GroupName for organization-level groups.
 
.PARAMETER isInherited
    Write - System.Boolean
    Whether permissions are inherited from parent objects. Defaults to $true.
 
.PARAMETER Permissions
    Write - HashTable[]
    An array of hashtables mapping an action name (e.g. 'Create tag definition') to 'Allow' or 'Deny'.
 
.EXAMPLE 1
 
This example shows how to deny work item tag creation for a group in Azure DevOps.
 
Configuration Example
{
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
 
    node localhost
    {
        AzDoTaggingPermission 'AddAzDoTaggingPermission'
        {
            Ensure = 'Present'
            ProjectName = 'MyProject'
            GroupName = '[MyProject]\Contributors'
            isInherited = $false
            Permissions = @(
                @{ Permission = 'Create tag definition'; Access = 'Deny' }
            )
        }
    }
}
 
.EXAMPLE 2
 
This example shows how to update tagging permissions for a group in Azure DevOps.
 
Configuration Example
{
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
 
    node localhost
    {
        AzDoTaggingPermission 'UpdateAzDoTaggingPermission'
        {
            Ensure = 'Present'
            ProjectName = 'MyProject'
            GroupName = '[MyProject]\Contributors'
            isInherited = $false
            Permissions = @(
                @{ Permission = 'Create tag definition'; Access = 'Allow' }
            )
        }
    }
}
 
.EXAMPLE 3
 
This example shows how to remove explicit tagging permissions from a group, reverting
it to inherited permissions.
 
Configuration Example
{
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
 
    node localhost
    {
        AzDoTaggingPermission 'RemoveAzDoTaggingPermission'
        {
            Ensure = 'Absent'
            ProjectName = 'MyProject'
            GroupName = '[MyProject]\Contributors'
        }
    }
}