en-US/about_AzDoVariableGroupPermission.help.txt

.NAME
    AzDoVariableGroupPermission
 
.SYNOPSIS
    DSC resource for managing Azure DevOps variable group permissions.
 
.DESCRIPTION
    This resource manages security permissions on Azure DevOps variable groups (Library security
    namespace), controlling which groups or users can use, view secrets or administer specific
    variable groups in pipelines. ### The Library namespace is shared with secure files Variable
    groups and secure files live in the same namespace and are told apart by their token segment: |
    Object | Token | |---|---| | Variable group |
    Library/Project/{projectId}/VariableGroup/{variableGroupId} | | Secure file |
    Library/Project/{projectId}/SecureFile/{secureFileId} | | Project Library root |
    Library/Project/{projectId} | Secure files are managed by
    AzDoSecureFilePermission.md. This matters when targeting the
    project Library root (omitting VariableGroupName): the root is the token with neither
    segment. The resource excludes secure file tokens explicitly when matching it, so a secure
    file's ACL is never mistaken for the root's.
 
.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 VariableGroupName
    Required - System.String
    The name of the variable group. This is a key property.
 
.PARAMETER GroupName
    Required - System.String
    The name of the group to grant permissions to. This is a key property. Use the format [ProjectName]\GroupName.
 
.PARAMETER isInherited
    Write - System.Boolean
    Whether permissions are inherited. Defaults to $true.
 
.PARAMETER Permissions
    Write - HashTable[]
 
.EXAMPLE 1
 
This example shows how to grant permissions on a variable group in an Azure DevOps project.
 
Configuration Example
{
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
 
    node localhost
    {
        AzDoVariableGroupPermission 'AddAzDoVariableGroupPermission'
        {
            Ensure = 'Present'
            ProjectName = 'MyProject'
            VariableGroupName = 'MyVariableGroup'
            GroupName = '[MyProject]\Contributors'
            isInherited = $true
            Permissions = @(
                @{ Permission = 'Use'; Access = 'Allow' }
            )
        }
    }
}
 
.EXAMPLE 2
 
This example shows how to update permissions on a variable group in an Azure DevOps project.
 
Configuration Example
{
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
 
    node localhost
    {
        AzDoVariableGroupPermission 'UpdateAzDoVariableGroupPermission'
        {
            Ensure = 'Present'
            ProjectName = 'MyProject'
            VariableGroupName = 'MyVariableGroup'
            GroupName = '[MyProject]\Contributors'
            isInherited = $false
            Permissions = @(
                @{ Permission = 'Use'; Access = 'Allow' }
                @{ Permission = 'Administer'; Access = 'Deny' }
            )
        }
    }
}
 
.EXAMPLE 3
 
This example shows how to remove permissions on a variable group in an Azure DevOps project.
 
Configuration Example
{
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
 
    node localhost
    {
        AzDoVariableGroupPermission 'RemoveAzDoVariableGroupPermission'
        {
            Ensure = 'Absent'
            ProjectName = 'MyProject'
            VariableGroupName = 'MyVariableGroup'
            GroupName = '[MyProject]\Contributors'
        }
    }
}