AzureDevOpsDscNative.AzDoOrganizationSettings.dsc.adaptedResource.json

{
  "$schema": "https://aka.ms/dsc/schemas/v3/bundled/adaptedresource/manifest.json",
  "type": "AzureDevOpsDscNative/AzDoOrganizationSettings",
  "kind": "resource",
  "version": "1.3.0",
  "capabilities": [
    "set",
    "test",
    "get"
  ],
  "description": "DSC resource for managing Azure DevOps organisation-level settings (singleton).",
  "author": "ZanattaMichael",
  "requireAdapter": "Microsoft.Adapter/PowerShell",
  "path": "AzureDevOpsDscNative.psd1",
  "schema": {
    "embedded": {
      "title": "AzureDevOpsDscNative/AzDoOrganizationSettings",
      "additionalProperties": false,
      "type": "object",
      "required": [
        "OrganizationName"
      ],
      "properties": {
        "Ensure": {
          "type": "string",
          "enum": [
            "Present",
            "Absent"
          ],
          "title": "Ensure",
          "description": "The Ensure property."
        },
        "LookupResult": {
          "type": "object",
          "title": "LookupResult",
          "readOnly": true,
          "description": "The LookupResult property."
        },
        "OrganizationName": {
          "type": "string",
          "title": "OrganizationName",
          "description": "The name of the Azure DevOps organization. This property is mandatory and serves as the key property for the resource. It is not configurable after initial setup."
        },
        "AllowPublicProjects": {
          "type": "boolean",
          "title": "AllowPublicProjects",
          "description": "Whether users can create public (anonymous-access) projects."
        },
        "AllowExternalGuestAccess": {
          "type": "boolean",
          "title": "AllowExternalGuestAccess",
          "description": "Whether external guest users (Azure AD guests) can be added to the organization."
        },
        "EnableOAuthAuthentication": {
          "type": "boolean",
          "title": "EnableOAuthAuthentication",
          "description": "Whether OAuth authentication is enabled for third-party applications."
        },
        "EnableSSHAuthentication": {
          "type": "boolean",
          "title": "EnableSSHAuthentication",
          "description": "Whether SSH authentication is enabled for Git operations."
        },
        "DisallowAadGuestUserPolicy": {
          "type": "boolean",
          "title": "DisallowAadGuestUserPolicy",
          "description": "Whether the Azure AD guest user policy is disallowed."
        },
        "EnableIPConditionalAccessPolicyValidation": {
          "type": "string",
          "enum": [
            "",
            "true",
            "false"
          ],
          "title": "EnableIPConditionalAccessPolicyValidation",
          "description": "Whether IP Conditional Access policy validation is enforced for this organization (Organization settings -> Policies -> Security -> \"Enable IP Conditional Access policy validation\"). Backed by the organization policy API, not the host settings entries used by the properties above. This and the other organization policy properties take 'true', 'false' or '' (the default). '' leaves the policy unmanaged: it is neither compared nor written. A plain boolean cannot express that, because the resource base class passes every property to Get and Set, so an unset boolean would arrive as $false and switch the policy off. `$true` and `$false` in a configuration are accepted and converted."
        },
        "LogAuditEvents": {
          "type": "string",
          "enum": [
            "",
            "true",
            "false"
          ],
          "title": "LogAuditEvents",
          "description": "Whether organization audit events are logged (Organization settings -> Policies -> Security -> \"Log audit events\"). Turning this off means an `AzDoAuditStream` on this organization receives nothing; `Set-AzDoOrganizationSettings` warns when this is set to 'false'."
        },
        "AllowTeamAdminsToInviteUsers": {
          "type": "string",
          "enum": [
            "",
            "true",
            "false"
          ],
          "title": "AllowTeamAdminsToInviteUsers",
          "description": "Whether team and project administrators can invite new users (Organization settings -> Policies -> User -> \"Allow team and project administrators to invite new users\")."
        },
        "EnableRequestAccess": {
          "type": "string",
          "enum": [
            "",
            "true",
            "false"
          ],
          "title": "EnableRequestAccess",
          "description": "Whether the \"Request access\" link is shown to users without access (Organization settings -> Policies -> User -> \"Request access\")."
        },
        "RequestAccessUrl": {
          "type": "string",
          "title": "RequestAccessUrl",
          "description": "The URL shown alongside the request-access prompt. Only compared and written when `EnableRequestAccess` is 'true' and this is not empty."
        },
        "EnableArtifactsFeedUpstreamProtection": {
          "type": "string",
          "enum": [
            "",
            "true",
            "false"
          ],
          "title": "EnableArtifactsFeedUpstreamProtection",
          "description": "Whether additional protections are applied when Artifacts feeds use public package registries as an upstream source (Organization settings -> Policies -> Security -> \"Additional protections when using public package registries\")."
        }
      },
      "description": "DSC resource for managing Azure DevOps organisation-level settings (singleton).",
      "$schema": "https://json-schema.org/draft/2020-12/schema"
    }
  }
}