{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/GcpKey",
  "title": "GcpKey",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "This is the type of the key. Most likely, this is \"service_account\"."
    },
    "projectId": {
      "type": "string",
      "description": "This is the ID of the Google Cloud project associated with this key."
    },
    "privateKeyId": {
      "type": "string",
      "description": "This is the unique identifier for the private key."
    },
    "privateKey": {
      "type": "string",
      "description": "This is the private key in PEM format.\n\nNote: This is not returned in the API."
    },
    "clientEmail": {
      "type": "string",
      "description": "This is the email address associated with the service account."
    },
    "clientId": {
      "type": "string",
      "description": "This is the unique identifier for the client."
    },
    "authUri": {
      "type": "string",
      "description": "This is the URI for the auth provider's authorization endpoint."
    },
    "tokenUri": {
      "type": "string",
      "description": "This is the URI for the auth provider's token endpoint."
    },
    "authProviderX509CertUrl": {
      "type": "string",
      "description": "This is the URL of the public x509 certificate for the auth provider."
    },
    "clientX509CertUrl": {
      "type": "string",
      "description": "This is the URL of the public x509 certificate for the client."
    },
    "universeDomain": {
      "type": "string",
      "description": "This is the domain associated with the universe this service account belongs to."
    }
  },
  "required": [
    "type",
    "projectId",
    "privateKeyId",
    "privateKey",
    "clientEmail",
    "clientId",
    "authUri",
    "tokenUri",
    "authProviderX509CertUrl",
    "clientX509CertUrl",
    "universeDomain"
  ]
}