en-US/about_AzDoTaskGroupPermission.help.txt

.NAME
    AzDoTaskGroupPermission
 
.SYNOPSIS
    DSC resource for managing task group permissions.
 
.DESCRIPTION
    This resource manages permissions in the 'MetaTask' security namespace, which secures task
    groups (see AzDoTaskGroup): who can administer, edit or delete them.
 
    Omitting TaskGroupName targets the project level, which sets the baseline for every task group
    in the project.
 
    Only the identities listed in Permissions are managed. Every other identity's entry on the
    token, such as the Administer grant a task group's creator receives, is carried through
    unchanged when permissions are written, and removing the resource clears only the listed
    identities' entries.
 
.PARAMETER ProjectName
    Key - System.String
    The name of the Azure DevOps project. This is the key property.
 
.PARAMETER TaskGroupName
    Write - System.String
    The name of the task group. Omit to target every task group in the project.
 
.PARAMETER isInherited
    Write - System.Boolean
    Whether permissions are inherited from the project level. Defaults to $true.
 
.PARAMETER Permissions
    Write - HashTable[]
    An array of hashtables, each with an 'Identity' and a 'Permission' map from an action name
    (for example 'Edit task group') to 'Allow' or 'Deny'.
 
.EXAMPLE 1
 
This example shows how to let a group edit one task group.
 
Configuration Example
{
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
 
    node localhost
    {
        AzDoTaskGroupPermission 'AddAzDoTaskGroupPermission'
        {
            Ensure = 'Present'
            ProjectName = 'MyProject'
            TaskGroupName = 'Deploy web app'
            isInherited = $true
            Permissions = @(
                @{
                    Identity = '[MyProject]\Release Managers'
                    Permission = @{ Edit = 'Allow' }
                }
            )
        }
    }
}
 
.EXAMPLE 2
 
This example shows how to set permissions at the project level, which every task group in the project inherits.
 
Configuration Example
{
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
 
    node localhost
    {
        AzDoTaskGroupPermission 'UpdateAzDoTaskGroupPermission'
        {
            Ensure = 'Present'
            ProjectName = 'MyProject'
            isInherited = $true
            Permissions = @(
                @{
                    Identity = '[MyProject]\Release Managers'
                    Permission = @{ Edit = 'Allow'; Delete = 'Deny' }
                }
            )
        }
    }
}
 
.EXAMPLE 3
 
This example shows how to clear a group's permissions on a task group. Other identities' permissions are left as they are.
 
Configuration Example
{
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
 
    node localhost
    {
        AzDoTaskGroupPermission 'RemoveAzDoTaskGroupPermission'
        {
            Ensure = 'Absent'
            ProjectName = 'MyProject'
            TaskGroupName = 'Deploy web app'
            isInherited = $true
            Permissions = @(
                @{
                    Identity = '[MyProject]\Release Managers'
                    Permission = @{ Edit = 'Allow' }
                }
            )
        }
    }
}