{
  "type": "object",
  "properties": {
    "registry_type": {
      "description": "The registry type.",
      "type": "string",
      "enum": [
        "maven_repository",
        "nuget_feed",
        "goproxy_server",
        "npm_registry",
        "rubygems_server",
        "cargo_registry",
        "composer_repository",
        "docker_registry",
        "git_source",
        "helm_registry",
        "hex_organization",
        "hex_repository",
        "pub_repository",
        "python_index",
        "terraform_registry"
      ]
    },
    "url": {
      "description": "The URL of the private registry.",
      "type": "string",
      "format": "uri"
    },
    "username": {
      "description": "The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication.",
      "type": [
        "string",
        "null"
      ]
    },
    "replaces_base": {
      "description": "Whether this private registry should replace the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When set to `true`, Dependabot will only use this registry and will not fall back to the public registry. When set to `false` (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages.",
      "type": "boolean",
      "default": false
    },
    "encrypted_value": {
      "description": "The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint.",
      "type": "string",
      "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$"
    },
    "key_id": {
      "description": "The ID of the key you used to encrypt the secret.",
      "type": "string"
    },
    "visibility": {
      "description": "Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry.",
      "type": "string",
      "enum": [
        "all",
        "private",
        "selected"
      ]
    },
    "selected_repository_ids": {
      "description": "An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. This field should be omitted if `visibility` is set to `all` or `private`.",
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "auth_type": {
      "description": "The authentication type for the private registry. This field cannot be changed after creation. If provided, it must match the existing `auth_type` of the configuration. To change the authentication type, delete and recreate the configuration.",
      "type": "string",
      "enum": [
        "token",
        "username_password",
        "oidc_azure",
        "oidc_aws",
        "oidc_jfrog"
      ]
    },
    "tenant_id": {
      "description": "The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.",
      "type": "string"
    },
    "client_id": {
      "description": "The client ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.",
      "type": "string"
    },
    "aws_region": {
      "description": "The AWS region. Required when `auth_type` is `oidc_aws`.",
      "type": "string"
    },
    "account_id": {
      "description": "The AWS account ID. Required when `auth_type` is `oidc_aws`.",
      "type": "string"
    },
    "role_name": {
      "description": "The AWS IAM role name. Required when `auth_type` is `oidc_aws`.",
      "type": "string"
    },
    "domain": {
      "description": "The CodeArtifact domain. Required when `auth_type` is `oidc_aws`.",
      "type": "string"
    },
    "domain_owner": {
      "description": "The CodeArtifact domain owner (AWS account ID). Required when `auth_type` is `oidc_aws`.",
      "type": "string"
    },
    "jfrog_oidc_provider_name": {
      "description": "The JFrog OIDC provider name. Required when `auth_type` is `oidc_jfrog`.",
      "type": "string"
    },
    "audience": {
      "description": "The OIDC audience. Optional for `oidc_aws` and `oidc_jfrog` auth types.",
      "type": "string"
    },
    "identity_mapping_name": {
      "description": "The JFrog identity mapping name. Optional for `oidc_jfrog` auth type.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2019-09/schema"
}