AzureDevOpsDscNative.psd1
|
@{ RootModule = 'AzureDevOpsDscNative.psm1' # Version number of this module. # # This value is a fallback for local and CI builds only. Released versions are # driven by the git tag: the publish workflow sets $env:ModuleVersion from the # tag, and the build stamps that value into the packaged manifest instead of this # one. Do not hand-edit this to cut a release - push a vX.Y.Z tag. moduleVersion = '1.0.0' # ID used to uniquely identify this module GUID = 'e7eb078e-5e97-42be-ae8f-decb140fc38e' # Author of this module Author = 'ZanattaMichael' # Company or vendor of this module CompanyName = 'ZanattaMichael' # Copyright statement for this module Copyright = 'Copyright the DSC Community contributors and ZanattaMichael. All rights reserved.' # Description of the functionality provided by this module Description = 'A fork of the DSC Community AzureDevOpsDsc module with native DSC v3 support: every resource is discoverable and invokable by dsc.exe via the Microsoft.Adapter/PowerShell adapter, using generated adapted resource manifests, without requiring a wrapper resource.' # Minimum version of the Windows PowerShell engine required by this module PowerShellVersion = '7.0' # Minimum version of the common language runtime (CLR) required by this module CLRVersion = '4.0' # Functions to export from this module #FunctionsToExport = @() # Cmdlets to export from this module #CmdletsToExport = @() # Variables to export from this module VariablesToExport = @() # Aliases to export from this module AliasesToExport = @() # Import all the 'DSCClassResource', modules as part of this module NestedModules = @() DscResourcesToExport = @('AzDoGroupPermission','AzDoOrganizationGroup','AzDoProject','AzDoProjectServices','AzDoProjectGroup','AzDoGroupMember','AzDoGitRepository','AzDoGitPermission','AzDoAreaPermission','AzDoIterationPermission','AzDoWIPTags','AzDoAreaNodes','AzDoIterationNodes','AzDoBranchPolicy','AzDoVariableGroup','AzDoServiceConnection','AzDoPipelineEnvironment','AzDoAgentPool','AzDoAgentQueue','AzDoTeam','AzDoTeamMember','AzDoPipeline','AzDoPipelinePermission','AzDoEnvironmentApproval','AzDoVariableGroupPermission','AzDoServiceConnectionPermission','AzDoAgentPoolPermission','AzDoSecurityNamespacePermission','AzDoArtifactFeed','AzDoArtifactFeedPermission','AzDoDeploymentGroup','AzDoTaskGroup','AzDoOrganizationSettings','AzDoExtension','AzDoAuditStream','AzDoProjectPermission','AzDoEnvironmentPermission','AzDoWiki','AzDoNotificationSubscription','AzDoRepositorySettings','AzDoCheckConfiguration','AzDoTeamSettings','AzDoArtifactFeedSettings','AzDoArtifactFeedView','AzDoProcess','AzDoProcessPermission','AzDoUserEntitlement','AzDoServiceHook','AzDoPipelineSettings') RequiredAssemblies = @() # Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. PrivateData = @{ PSData = @{ # Set to a prerelease string value if the release should be a prerelease. Prerelease = 'preview5' # Tags applied to this module. These help with module discovery in online galleries. Tags = @('DesiredStateConfiguration', 'DSC', 'DSCResourceKit', 'DSCResource', 'DSCv3', 'AzureDevOps') # A URL to the license for this module. LicenseUri = 'https://github.com/ZanattaMichael/AzureDevOpsDsc/blob/main/LICENSE' # A URL to the main website for this project. ProjectUri = 'https://github.com/ZanattaMichael/AzureDevOpsDsc' # A URL to an icon representing this module. IconUri = 'https://dsccommunity.org/images/DSC_Logo_300p.png' # ReleaseNotes of this module. # Per-release notes are generated from the CHANGELOG's [Unreleased] section # at build time and attached to the GitHub Release. This link is the fallback # shown on the Gallery listing. ReleaseNotes = '## [1.0.0-preview5] - 2026-08-27 ### Changed - AzureDevOpsDscNative - Updated the `Dsc.PipelineRunner` documentation in `USAGE.md` and the "Pipeline runner initialization" example in every resource doc under `source/Examples/Resources` (published to the GitHub wiki on release) to match the latest `Dsc.PipelineRunner` release: `Invoke-AzDoLCM` is now `Invoke-DscPipelineRunner` (an Azure DevOps back-compat shim) or, for new integrations, the provider-agnostic `Invoke-DscRunner`. The `ConfigurationDirectory` and `ConfigurationUrl` parameters were renamed to `exportConfigDir` and `ConfigurationSourcePath`, and the cache directory environment variable is now `PIPELINERUNNER_CACHE_DIRECTORY` (with `AZDODSC_CACHE_DIRECTORY` retained as a back-compat alias). - The integration-test release gate now differentiates between a full release and a prerelease. A full release tag (`vX.Y.Z`) still requires every integration test to pass; a prerelease tag (`vX.Y.Z-<suffix>`) passes `allowFailures=true` to the integration workflow, so individual test failures are logged as warnings but the release still proceeds - preview builds can ship despite flaky or in-progress tests. Setup and infrastructure failures (Pester missing, module not resolving, no test result at all) still fail the gate in both modes, so a broken environment cannot silently pass. Implemented by an `-AllowFailures` switch on `Invoke-Tests.ps1` and an `allowFailures` input on `integration-tests.yml` that `publish.yml` sets from the tag. ### Added - AzureDevOpsDscNative - Added a `/run-azuredevopsdscnative` skill (`.claude/skills/run-azuredevopsdscnative/`) with a self-contained driver script for running the Common unit suite headless on Linux from a clean container. Installs PowerShell 7 if missing, side-loads Pester 5.7.1 from `api.nuget.org` when PowerShell Gallery is unreachable, runs the bootstrap, and exits non-zero on test failure. Does not run the Classes suite (needs a built module) or the build (needs PSGallery-hosted Sampler/ModuleBuilder) or integration tests (need the self-hosted runner and a live org). - AzureDevOpsDsc - Added DSC v3 support: all 49 class-based DSC resources now declare `Set()` and `Test()` directly (delegating to `AzDevOpsDscResourceBase`) instead of relying on pure inheritance, so both the `Microsoft.Adapter/PowerShell` runtime adapter and `DscResource.Authoring`''s manifest generator correctly detect `get`/`set`/`test` capabilities instead of only `get`. - Added a `dscv3` build workflow (`Create_DscAdaptedResourceManifests`, `Create_DscResourceManifestsList` from `DscResource.Authoring`) that generates DSC v3 adapted resource manifests for every resource into the built module output, and wired it into `pack`. - Renamed the module from `AzureDevOpsDsc` to `AzureDevOpsDscNative` for publishing under this fork, since PowerShell Gallery names are globally unique and this repo doesn''t own the existing `AzureDevOpsDsc` listing. - Added GitHub Actions workflows: `build.yml` (build + generate DSC v3 manifests as CI artifacts on every push/PR), `unit-tests.yml` (runs the Classes and Common unit test suites), and `publish.yml` (tag-triggered release: builds, re-runs both test suites as a release gate, packages the module, and publishes a GitHub Release plus - once a Gallery API key is configured - PowerShell Gallery). - Updated pipeline files to support change of default branch to main. - Added GitHub issue templates and pull request template ([issue #1](https://github.com/dsccommunity/AzureDevOpsDsc/issues/1)) - Added the `AzDevOpsProject`, DSC Resource - Fixed non-terminating, integration tests ([issue #18](https://github.com/dsccommunity/AzureDevOpsDsc/issues/18)) - Increased Azure DevOps, API timeout to 5 minutes to allow for busy/slow API operations ([issue #25](https://github.com/dsccommunity/AzureDevOpsDsc/issues/25)). - Updated contextual help ([issue #5](https://github.com/dsccommunity/AzureDevOpsDsc/issues/5)). - Removed `Classes` directory from being output in packaged module ([issue #10](https://github.com/dsccommunity/AzureDevOpsDsc/issues/10)). - Removed `Examples` directory from being output in packaged module ([issue #11](https://github.com/dsccommunity/AzureDevOpsDsc/issues/11)). - Moved ''Ensure'' and ''RequiredAction'' enums into ''Enum'' directory and out of ''prefix.ps1'' ([issue #12](https://github.com/dsccommunity/AzureDevOpsDsc/issues/12)). - Added pipeline support for publish markdown content to the GitHub repository wiki ([issue #15](https://github.com/dsccommunity/AzureDevOpsDsc/issues/15)). This will publish the markdown documentation that is generated by the build pipeline. - Added new source folder `WikiSource`. Every markdown file in the folder `WikiSource` will be published to the GitHub repository wiki. The markdown file `Home.md` will be updated with the correct module version on each publish to gallery (including preview). - CodeCov integration. - Added Resources: - AzDoGroupPermission - AzDoOrganizationGroup - AzDoProjectGroup - AzDoGroupMember - AzDoGitRepository - AzDoGitPermission - AzDoTeamSettings - AzDoArtifactFeedSettings - AzDoArtifactFeedView - AzDoProcess - AzDoProcessPermission - AzDoAgentPool - AzDoAgentPoolPermission - AzDoAgentQueue - AzDoAreaNodes - AzDoAreaPermission - AzDoArtifactFeed - AzDoArtifactFeedPermission - AzDoAuditStream - AzDoBranchPolicy - AzDoCheckConfiguration - AzDoDeploymentGroup - AzDoEnvironmentApproval - AzDoEnvironmentPermission - AzDoExtension - AzDoIterationNodes - AzDoIterationPermission - AzDoNotificationSubscription - AzDoOrganizationSettings - AzDoPipeline - AzDoPipelineEnvironment - AzDoPipelinePermission - AzDoProject - AzDoProjectPermission - AzDoProjectServices - AzDoRepositorySettings - AzDoSecurityNamespacePermission - AzDoServiceConnection - AzDoServiceConnectionPermission - AzDoTaskGroup - AzDoTeam - AzDoTeamMember - AzDoVariableGroup - AzDoVariableGroupPermission - AzDoWIPTags - AzDoWiki - AzDoUserEntitlement - AzDoServiceHook - AzDoPipelineSettings - AzureDevOpsDsc.Common - Added New-AzDoAuthenticationProvider. This is invoked prior to the resource invocation. - Added ''wrapper'' functionality around the [Azure DevOps REST API](https://docs.microsoft.com/en-us/rest/api/azure/devops/) - Added Supporting Functions for Azure Managed Identity. - Added Unit Testing to AzureDevOpsDsc.Common ### Changed - AzureDevOpsDscNative - Made the integration test suite a hard release gate. `publish.yml` is now split into `validate`, `integration-tests` and `publish` jobs, where `publish` depends on `integration-tests`; the integration job calls `integration-tests.yml` as a reusable workflow (rather than duplicating it) and builds the exact version being released. No GitHub Release and no PowerShell Gallery package is produced unless every integration test passes. The integration job runs as an ordinary Actions job on the self-hosted `AZDO-AGENT` runner - it does not use a GitHub Environment, so there is no deployment record or manual approval gate, and `AZURE_DEVOPS_PAT` and `AzureDevOpsOrg` must be repository-level rather than Environment-scoped. - Reworked the release process so that a released version has exactly one source of truth - the git tag. `publish.yml` now also verifies the tag is contained in `main` before releasing, accepts prerelease tags of the form `vX.Y.Z-preview0001`, and runs the `docs` tasks during packaging so the published package ships conceptual help. The `moduleVersion` in the module manifest and `next-version` in `GitVersion.yml` are documented as build fallbacks and brought into agreement with each other. - Added a changelog roll-over step to `publish.yml` (`Create_ChangeLog_GitHub_PR`), so a release converts the `[Unreleased]` section into a versioned one instead of carrying its entries into the next release. - Moved `Publish_GitHub_Wiki_Content` out of the `publish` task chain in `build.yaml` and into a separate non-blocking step, so a wiki failure can no longer fail a release whose Gallery package has already been published. - Added a `docs` step to `build.yml` so documentation generation is exercised on every push and pull request rather than for the first time during a release. - Documented the full release procedure and required repository secrets in `CONTRIBUTING.md`, and corrected the `Releases` section of `README.md`, which described an automatic preview release on every merge to `main` that this fork''s workflows never performed. - AzureDevOpsDsc - Enabled integration tests against https://dev.azure.com/azuredevopsdsc/ (see comment https://github.com/dsccommunity/AzureDevOpsDsc/issues/9#issuecomment-766375424 for more information). - Updated pipeline file `RequiredModules.ps1` to latest pipeline pattern. - Updated pipeline file `build.yaml` to latest pipeline pattern. - Updated pipeline file `azure-pipelines.yml` to use correct images (hosted runners) and correct task for artifacts. - Enhanced Authentication Mechanisms. The classes have been refactored to accommodate a variety of authentication methods. This refactoring allows the system to support multiple authentication protocols, enhancing security and providing flexibility in integrating with different identity providers. - Added LookupResult Property to classes. A new property, LookupResult, has been introduced to the classes. This' } # End of PSData hashtable } # End of PrivateData hashtable } |