Skip to content
Michael Zanatta edited this page Aug 13, 2026 · 1 revision

AzureDevOpsDscNative Resources Documentation

This directory contains comprehensive documentation for all DSC resources available in the AzureDevOpsDscNative module.

Organization

Resources are documented individually in markdown files, organized alphabetically by resource name:

  • AzDoProject.md - Project management
  • AzDoGitRepository.md - Repository management
  • AzDoTeam.md - Team management
  • AzDoVariableGroup.md - Variable group management
  • And more...

Resource Categories

Organization & Groups

Manage organization-level groups, members, and permissions:

  • AzDoOrganizationGroup
  • AzDoGroupMember
  • AzDoGroupPermission
  • AzDoUserEntitlement
  • AzDoOrganizationSettings

Project Management

Create and configure projects:

  • AzDoProject
  • AzDoProjectGroup
  • AzDoProjectServices
  • AzDoProjectPermission
  • AzDoProjectSettings

Team Management

Manage teams and team members:

  • AzDoTeam
  • AzDoTeamMember
  • AzDoTeamSettings

Repository & Git

Manage Git repositories and related resources:

  • AzDoGitRepository
  • AzDoGitPermission
  • AzDoRepositorySettings
  • AzDoAreaNodes
  • AzDoIterationNodes

Permissions & Security

Fine-grained permission management:

  • AzDoAreaPermission
  • AzDoIterationPermission
  • AzDoSecurityNamespacePermission
  • AzDoBranchPolicy

Pipelines & CI/CD

Manage pipelines and deployment infrastructure:

  • AzDoPipeline
  • AzDoPipelinePermission
  • AzDoPipelineEnvironment
  • AzDoEnvironmentPermission
  • AzDoEnvironmentApproval
  • AzDoPipelineSettings
  • AzDoCheckConfiguration

Service Connections & Variables

Manage connections and variables:

  • AzDoServiceConnection
  • AzDoServiceConnectionPermission
  • AzDoVariableGroup
  • AzDoVariableGroupPermission

Agents & Infrastructure

Manage build and deployment infrastructure:

  • AzDoAgentPool
  • AzDoAgentPoolPermission
  • AzDoAgentQueue
  • AzDoDeploymentGroup

Artifacts & Package Management

Manage artifact feeds:

  • AzDoArtifactFeed
  • AzDoArtifactFeedPermission
  • AzDoArtifactFeedSettings
  • AzDoArtifactFeedView

Other Resources

Additional resources:

  • AzDoWiki
  • AzDoTaskGroup
  • AzDoExtension
  • AzDoAuditStream
  • AzDoNotificationSubscription
  • AzDoServiceHook
  • AzDoProcess
  • AzDoProcessPermission
  • AzDoWIPTags

Resource Documentation Structure

Each resource documentation file follows this consistent structure:

1. Description

High-level overview of what the resource does and its primary use cases.

2. Syntax

PowerShell DSC resource syntax showing:

  • Key properties (required)
  • Optional properties
  • Common properties available to all resources

3. Properties

Detailed description of each property:

  • Data types
  • Valid values
  • Default values (if applicable)
  • Constraints and requirements

4. Return Values

Properties returned by the resource's Get method.

5. Examples

Practical examples showing:

  • Basic usage
  • Advanced scenarios
  • Using Invoke-DscResource
  • Configuration Data approaches
  • Real-world patterns

6. Important Notes

Special considerations including:

  • Immutable properties
  • Prerequisites
  • Naming conventions
  • Permissions required
  • Scope and organization

7. Troubleshooting

Common issues and solutions with code examples.

8. Related Resources

Links to documentation for related resources.

Finding Resources

By Name

Resources follow Azure DevOps naming conventions. Most resources start with AzDo (Azure DevOps):

  • AzDoProject - Projects
  • AzDoTeam - Teams
  • AzDoGit* - Git-related
  • AzDoPipeline* - Pipeline-related
  • AzDoServiceConnection - Service connections
  • AzDoVariableGroup - Variable groups
  • etc.

By Function

Look for resources related to your task:

Need to manage projects?

  • AzDoProject - Create/configure projects
  • AzDoProjectGroup - Project groups
  • AzDoProjectServices - Project services
  • AzDoProjectPermission - Project permissions

Need to configure pipelines?

  • AzDoPipeline - Create pipelines
  • AzDoPipelineEnvironment - Pipeline environments
  • AzDoPipelineSettings - Pipeline settings
  • AzDoPipelinePermission - Pipeline permissions

Need to manage teams and people?

  • AzDoTeam - Create teams
  • AzDoTeamMember - Add team members
  • AzDoTeamSettings - Team settings
  • AzDoGroupMember - Group membership

Using the Documentation

Quick Start

  1. Find the resource you need (see "Finding Resources" above)
  2. Open the corresponding .md file
  3. Review the Syntax and Properties sections
  4. Check the Examples for typical use cases
  5. Note any Important Notes or requirements

Detailed Understanding

For deeper understanding:

  1. Read the Description to understand the resource's role
  2. Study the Properties section for configuration options
  3. Review multiple Examples to see different scenarios
  4. Check Related Resources for integrated workflows
  5. Consult Troubleshooting for common issues

Implementation

When implementing a solution:

  1. Review relevant Examples
  2. Understand Important Notes and prerequisites
  3. Note dependencies between resources (use DependsOn)
  4. Check Troubleshooting for potential issues
  5. Test in a non-production environment first

Common Resource Patterns

All resources support:

  • Ensure - 'Present' or 'Absent' for desired state
  • DependsOn - Specify dependencies on other resources
  • PsDscRunAsCredential - Run under specific credential

Key vs. Optional Properties

  • Key properties uniquely identify a resource
  • Optional properties configure the resource
  • Ensure is optional (defaults to 'Present')

Dependency Management

# Always use DependsOn for resource ordering
AzDoGitRepository 'MyRepo' {
    ProjectName = 'MyProject'
    RepositoryName = 'MyRepository'
    DependsOn = '[AzDoProject]MyProject'  # Wait for project first
}

Contributing Resource Documentation

Adding New Resource Documentation

  1. Copy the template:

    cp RESOURCE_TEMPLATE.md AzDoNewResource.md
  2. Replace placeholders:

    • [ResourceName] → actual resource name
    • [Type] → property types
    • [Description] → detailed descriptions
  3. Complete each section:

    • Update Syntax with actual properties
    • Document all properties thoroughly
    • Provide 4-6 practical examples
    • Add troubleshooting tips
  4. Verify links:

    • Check all cross-references work
    • Verify related resources exist
    • Update README if needed
  5. Format consistently:

    • Use standard markdown
    • Keep code examples valid
    • Use consistent formatting

Content Guidelines

Descriptions:

  • Clear, concise explanation of purpose
  • What problems it solves
  • Who should use it

Examples:

  • Show common use cases
  • Progress from simple to complex
  • Include error-handling where relevant
  • Use realistic values

Troubleshooting:

  • List common issues first
  • Explain root causes
  • Provide solutions with code
  • Reference related resources

Important Notes:

  • Immutable properties and constraints
  • Performance considerations
  • Security implications
  • Permissions required

Quick Reference

Resource Command Syntax

# DSC Configuration approach
Configuration MyConfig {
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
    Node localhost {
        AzDoResource 'Name' {
            Property1 = 'value1'
            Ensure = 'Present'
        }
    }
}

# Invoke-DscResource approach
$properties = @{ Property1 = 'value1' }
Invoke-DscResource -Name 'AzDoResource' -Method Get -Property $properties -ModuleName 'AzureDevOpsDscNative'

Common Property Values

# Ensure values
Ensure = 'Present'  # Resource should exist
Ensure = 'Absent'   # Resource should not exist

# Process Templates
ProcessTemplate = 'Agile'      # Agile process
ProcessTemplate = 'Scrum'      # Scrum process
ProcessTemplate = 'CMMI'       # CMMI process
ProcessTemplate = 'Basic'      # Basic process

# Source Control Types
SourceControlType = 'Git'      # Git version control
SourceControlType = 'Tfvc'     # Team Foundation Version Control

# Visibility
Visibility = 'Private'         # Private project
Visibility = 'Public'          # Public project

Resource Count

AzureDevOpsDscNative includes 50+ DSC resources covering:

  • 5 Organization & Group resources
  • 5 Project resources
  • 3 Team resources
  • 5 Repository & Git resources
  • 4 Permission resources
  • 8 Pipeline & CI/CD resources
  • 4 Service Connection & Variable resources
  • 4 Agent & Infrastructure resources
  • 4 Artifact resources
  • 9 Other specialized resources

Additional Help

Template for New Resources

If a resource isn't yet documented, use RESOURCE_TEMPLATE.md as a starting point.

Questions?

  • Check the Troubleshooting section in the resource documentation
  • Review the Related Resources section
  • Check Best Practices for patterns and recommendations
  • Review Examples for real-world scenarios

Clone this wiki locally