-
Notifications
You must be signed in to change notification settings - Fork 0
Home
AzureDevOpsDscNative - Native DSC v3 Support for Azure DevOps
Welcome to the comprehensive documentation for AzureDevOpsDscNative, a PowerShell Desired State Configuration (DSC) module for managing and configuring Azure DevOps organizations, projects, and resources.
Note: This is a native DSC v3 module where every resource is discoverable and invokable by
dsc.exevia theMicrosoft.Adapter/PowerShelladapter, using generated adapted resource manifests. No wrapper resources required.
AzureDevOpsDscNative is a comprehensive DSC module that enables you to:
- Manage Projects: Create and configure Azure DevOps projects with specific settings
- Control Permissions: Define fine-grained permissions for users and groups across resources
- Manage Teams: Create and manage teams and team membership
- Configure Repositories: Manage Git repositories, permissions, and settings
- Setup Pipelines: Configure pipelines, environments, and pipeline settings
- Manage Service Connections: Create and manage service connections for CI/CD
- Configure Variable Groups: Create and manage variable groups
- Manage Artifacts: Configure artifact feeds and permissions
- Setup Infrastructure: Manage agent pools, deployment groups, and other infrastructure
- Apply Policies: Configure branch policies and other governance settings
- Automation: Automate complex Azure DevOps configurations using DSC
Install AzureDevOpsDscNative from the PowerShell Gallery:
Install-Module -Name AzureDevOpsDscNative -Repository PSGalleryOr download from PowerShell Gallery
Confirm that the module is installed and resources are available:
Get-DscResource -Module AzureDevOpsDscNative- PowerShell 7.0 or later - Required for this module
- Azure DevOps Account - Access to an Azure DevOps organization
- Authentication Token - Personal Access Token (PAT), Managed Identity, Service Principal, or other supported authentication methods
Configuration AzureDevOpsConfig {
Import-DscResource -ModuleName 'AzureDevOpsDscNative'
Node localhost {
AzDoProject 'MyProject' {
Ensure = 'Present'
ProjectName = 'MyProject'
ProjectDescription = 'A sample Azure DevOps project'
SourceControlType = 'Git'
ProcessTemplate = 'Agile'
Visibility = 'Private'
}
}
}
AzureDevOpsConfig
Start-DscConfiguration -Path ./AzureDevOpsConfig -Wait -VerboseComplete reference for all available DSC resources in AzureDevOpsDscNative, organized by category:
- Organization Management - Organization-level resources
- Project Management - Project and project-level resources
- Team Management - Teams and team settings
- Repository Management - Git repositories and settings
- Permissions & Security - Permission and security-related resources
- Pipeline & CI/CD - Pipeline, environment, and automation resources
- Artifacts & NuGet - Artifact feed management
- Infrastructure - Agent pools, deployment groups, and related resources
- Governance & Policies - Policies and branch protection
- Settings & Configuration - Various configuration and settings resources
Learn how to authenticate with Azure DevOps using various methods:
- Personal Access Tokens (PAT)
- Managed Identity
- Service Principal
- Certificate-based Authentication
- Azure CLI Token
- Workload Identity Federation
Guidelines and recommendations for using AzureDevOpsDscNative effectively:
- Configuration management patterns
- Security best practices
- Performance optimization
- Error handling and troubleshooting
- Large-scale deployments
Practical examples and scenarios:
- Setting up a new project with all resources
- Configuring security and permissions
- Setting up CI/CD pipelines
- Artifact feed configuration
- Team structure automation
AzureDevOpsDscNative includes 50+ DSC resources covering:
-
AzDoOrganizationGroup- Manage organization-level groups -
AzDoGroupMember- Manage group membership -
AzDoGroupPermission- Manage group permissions -
AzDoOrganizationSettings- Configure organization settings -
AzDoUserEntitlement- Manage user entitlements
-
AzDoProject- Create and manage projects -
AzDoProjectGroup- Manage project groups -
AzDoProjectServices- Manage project services -
AzDoProjectPermission- Manage project permissions -
AzDoProjectSettings- Configure project settings
-
AzDoTeam- Create and manage teams -
AzDoTeamMember- Manage team membership -
AzDoTeamSettings- Configure team settings
-
AzDoGitRepository- Create and manage Git repositories -
AzDoGitPermission- Manage repository permissions -
AzDoRepositorySettings- Configure repository settings -
AzDoAreaNodes- Manage area nodes -
AzDoIterationNodes- Manage iteration nodes
-
AzDoAreaPermission- Manage area permissions -
AzDoIterationPermission- Manage iteration permissions -
AzDoSecurityNamespacePermission- Manage security namespace permissions -
AzDoBranchPolicy- Configure branch policies
-
AzDoPipeline- Create and manage pipelines -
AzDoPipelinePermission- Manage pipeline permissions -
AzDoPipelineEnvironment- Manage pipeline environments -
AzDoEnvironmentPermission- Manage environment permissions -
AzDoEnvironmentApproval- Configure environment approvals -
AzDoPipelineSettings- Configure pipeline settings -
AzDoCheckConfiguration- Manage pipeline checks
-
AzDoServiceConnection- Create and manage service connections -
AzDoServiceConnectionPermission- Manage service connection permissions -
AzDoVariableGroup- Create and manage variable groups -
AzDoVariableGroupPermission- Manage variable group permissions
-
AzDoAgentPool- Create and manage agent pools -
AzDoAgentPoolPermission- Manage agent pool permissions -
AzDoAgentQueue- Manage agent queues -
AzDoDeploymentGroup- Create and manage deployment groups
-
AzDoArtifactFeed- Create and manage artifact feeds -
AzDoArtifactFeedPermission- Manage feed permissions -
AzDoArtifactFeedSettings- Configure feed settings -
AzDoArtifactFeedView- Manage feed views
-
AzDoWiki- Manage project wikis -
AzDoTaskGroup- Create and manage task groups -
AzDoExtension- Manage extensions -
AzDoAuditStream- Configure audit streams -
AzDoNotificationSubscription- Manage notification subscriptions -
AzDoServiceHook- Create and manage service hooks -
AzDoProcess- Create and manage custom processes -
AzDoProcessPermission- Manage process permissions -
AzDoWIPTags- Manage WIP tags
✅ 50+ Native DSC Resources - Cover most Azure DevOps management needs
✅ Native DSC v3 Support - Full compatibility with dsc.exe and adapted resource manifests
✅ Multiple Authentication Methods - PAT, Managed Identity, Service Principal, and more
✅ Comprehensive Permissions - Fine-grained control over all Azure DevOps security scenarios
✅ Well-Tested - Extensive unit and integration tests
✅ Active Development - Regularly updated with new features and improvements
✅ DSC Community - Part of the DSC Community initiative
- Documentation: Review the resource-specific documentation in this wiki
- Examples: Check the Examples section for common scenarios
- Issues: Report issues on GitHub: AzureDevOpsDscNative Issues
- Contributing: Contributions are welcome! See Contributing Guidelines
This module is provided as-is under the MIT License. For commercial support, please refer to the contributing organization.
- AzureDevOpsDsc - Original module (PowerShell 5.1 compatible)
- AzureDevOpsDscv3 - Alternative DSC v3 implementation
See CHANGELOG.md for a complete list of changes in each version.