// THIS IS A AUTO-GENERATED FILE. DO NOT MODIFY MANUALLY!
const schema = {
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "AppConfig",
  "definitions": {
    "GitHubAppConfig": {
      "type": "object",
      "properties": {
        "type": {
          "const": "github",
          "description": "GitHub App Configuration"
        },
        "deploymentHostname": {
          "type": "string",
          "format": "hostname",
          "default": "github.com",
          "description": "The hostname of the GitHub App deployment.",
          "examples": [
            "github.com",
            "github.example.com"
          ]
        },
        "id": {
          "type": "string",
          "description": "The ID of the GitHub App."
        },
        "privateKey": {
          "description": "The private key of the GitHub App.",
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "env": {
                  "type": "string",
                  "description": "The name of the environment variable that contains the token."
                }
              },
              "required": [
                "env"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "googleCloudSecret": {
                  "type": "string",
                  "description": "The resource name of a Google Cloud secret. Must be in the format `projects/<project-id>/secrets/<secret-name>/versions/<version-id>`. See https://cloud.google.com/secret-manager/docs/creating-and-accessing-secrets"
                }
              },
              "required": [
                "googleCloudSecret"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      "required": [
        "type",
        "id",
        "privateKey"
      ],
      "additionalProperties": false
    }
  },
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "type": {
          "const": "github",
          "description": "GitHub App Configuration"
        },
        "deploymentHostname": {
          "type": "string",
          "format": "hostname",
          "default": "github.com",
          "description": "The hostname of the GitHub App deployment.",
          "examples": [
            "github.com",
            "github.example.com"
          ]
        },
        "id": {
          "type": "string",
          "description": "The ID of the GitHub App."
        },
        "privateKey": {
          "description": "The private key of the GitHub App.",
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "env": {
                  "type": "string",
                  "description": "The name of the environment variable that contains the token."
                }
              },
              "required": [
                "env"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "googleCloudSecret": {
                  "type": "string",
                  "description": "The resource name of a Google Cloud secret. Must be in the format `projects/<project-id>/secrets/<secret-name>/versions/<version-id>`. See https://cloud.google.com/secret-manager/docs/creating-and-accessing-secrets"
                }
              },
              "required": [
                "googleCloudSecret"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      "required": [
        "type",
        "id",
        "privateKey"
      ],
      "additionalProperties": false
    }
  ]
} as const;
export { schema as appSchema };