Modules/AzureDevOpsDsc.Common/Api/Functions/Private/Api/OrganizationSettings/Get-DevOpsOrganizationPolicyMap.ps1
|
<#
.SYNOPSIS Single source of truth mapping `AzDoOrganizationSettings` policy-backed properties to their Azure DevOps `OrganizationPolicy` policy names. .DESCRIPTION Each entry describes one property that is backed by the organization policy API (written via `_apis/OrganizationPolicy/Policies/{policyName}`, read via the policy page's data provider, or per policy from the SPS host) rather than the `_apis/settings/entries/host` mechanism used by the resource's original five properties. The policy names are unverified candidates (see issue #84); the integration test reads them from a live organization and fails loudly if a name or route is wrong. `DefaultValue` is the value the per-policy read route is asked to report for a policy that was never set: the value the *Policies* page shows for it in a new organization. It is used only when the page's own routes return no policy data. .EXAMPLE Get-DevOpsOrganizationPolicyMap #> function Get-DevOpsOrganizationPolicyMap { [CmdletBinding()] [OutputType([System.Collections.Hashtable[]])] param () return @( @{ PropertyName = 'EnableIPConditionalAccessPolicyValidation'; PolicyName = 'Policy.EnforceAADConditionalAccess'; DefaultValue = 'false' } @{ PropertyName = 'LogAuditEvents'; PolicyName = 'Policy.LogAuditEvents'; DefaultValue = 'false' } @{ PropertyName = 'AllowTeamAdminsToInviteUsers'; PolicyName = 'Policy.AllowTeamAdminsInvitationsAccessToken'; DefaultValue = 'true' } @{ PropertyName = 'EnableRequestAccess'; PolicyName = 'Policy.AllowRequestAccessToken'; DefaultValue = 'true' } @{ PropertyName = 'EnableArtifactsFeedUpstreamProtection'; PolicyName = 'Policy.ArtifactsExternalPackageProtectionToken'; DefaultValue = 'false' } ) } |