-
Notifications
You must be signed in to change notification settings - Fork 0
README
This directory contains comprehensive documentation for all DSC resources available in the AzureDevOpsDscNative module.
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...
Manage organization-level groups, members, and permissions:
AzDoOrganizationGroupAzDoGroupMemberAzDoGroupPermissionAzDoUserEntitlementAzDoOrganizationSettings
Create and configure projects:
AzDoProjectAzDoProjectGroupAzDoProjectServicesAzDoProjectPermissionAzDoProjectSettings
Manage teams and team members:
AzDoTeamAzDoTeamMemberAzDoTeamSettings
Manage Git repositories and related resources:
AzDoGitRepositoryAzDoGitPermissionAzDoRepositorySettingsAzDoAreaNodesAzDoIterationNodes
Fine-grained permission management:
AzDoAreaPermissionAzDoIterationPermissionAzDoSecurityNamespacePermissionAzDoBranchPolicy
Manage pipelines and deployment infrastructure:
AzDoPipelineAzDoPipelinePermissionAzDoPipelineEnvironmentAzDoEnvironmentPermissionAzDoEnvironmentApprovalAzDoPipelineSettingsAzDoCheckConfiguration
Manage connections and variables:
AzDoServiceConnectionAzDoServiceConnectionPermissionAzDoVariableGroupAzDoVariableGroupPermission
Manage build and deployment infrastructure:
AzDoAgentPoolAzDoAgentPoolPermissionAzDoAgentQueueAzDoDeploymentGroup
Manage artifact feeds:
AzDoArtifactFeedAzDoArtifactFeedPermissionAzDoArtifactFeedSettingsAzDoArtifactFeedView
Additional resources:
AzDoWikiAzDoTaskGroupAzDoExtensionAzDoAuditStreamAzDoNotificationSubscriptionAzDoServiceHookAzDoProcessAzDoProcessPermissionAzDoWIPTags
Each resource documentation file follows this consistent structure:
High-level overview of what the resource does and its primary use cases.
PowerShell DSC resource syntax showing:
- Key properties (required)
- Optional properties
- Common properties available to all resources
Detailed description of each property:
- Data types
- Valid values
- Default values (if applicable)
- Constraints and requirements
Properties returned by the resource's Get method.
Practical examples showing:
- Basic usage
- Advanced scenarios
- Using Invoke-DscResource
- Configuration Data approaches
- Real-world patterns
Special considerations including:
- Immutable properties
- Prerequisites
- Naming conventions
- Permissions required
- Scope and organization
Common issues and solutions with code examples.
Links to documentation for related resources.
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.
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
- Find the resource you need (see "Finding Resources" above)
- Open the corresponding
.mdfile - Review the Syntax and Properties sections
- Check the Examples for typical use cases
- Note any Important Notes or requirements
For deeper understanding:
- Read the Description to understand the resource's role
- Study the Properties section for configuration options
- Review multiple Examples to see different scenarios
- Check Related Resources for integrated workflows
- Consult Troubleshooting for common issues
When implementing a solution:
- Review relevant Examples
- Understand Important Notes and prerequisites
- Note dependencies between resources (use
DependsOn) - Check Troubleshooting for potential issues
- Test in a non-production environment first
- Ensure - 'Present' or 'Absent' for desired state
- DependsOn - Specify dependencies on other resources
- PsDscRunAsCredential - Run under specific credential
- Key properties uniquely identify a resource
- Optional properties configure the resource
- Ensure is optional (defaults to 'Present')
# Always use DependsOn for resource ordering
AzDoGitRepository 'MyRepo' {
ProjectName = 'MyProject'
RepositoryName = 'MyRepository'
DependsOn = '[AzDoProject]MyProject' # Wait for project first
}-
Copy the template:
cp RESOURCE_TEMPLATE.md AzDoNewResource.md
-
Replace placeholders:
-
[ResourceName]→ actual resource name -
[Type]→ property types -
[Description]→ detailed descriptions
-
-
Complete each section:
- Update Syntax with actual properties
- Document all properties thoroughly
- Provide 4-6 practical examples
- Add troubleshooting tips
-
Verify links:
- Check all cross-references work
- Verify related resources exist
- Update README if needed
-
Format consistently:
- Use standard markdown
- Keep code examples valid
- Use consistent formatting
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
# 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'# 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 projectAzureDevOpsDscNative 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
- Main Wiki: Home
- Resource List: Resources
- Authentication: Authentication Guide
- Best Practices: Best Practices
- Examples: Examples
If a resource isn't yet documented, use RESOURCE_TEMPLATE.md as a starting point.
- 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