{
  "name": "GetDeployment",
  "plane": "control",
  "terraformEligible": false,
  "protocol": {
    "kind": "cloudJson",
    "target": "CloudSites.GetDeployment",
    "service": "sites"
  },
  "requestBody": "typed",
  "responseBody": "typed",
  "requestSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "deploymentId": {
        "type": "string"
      },
      "siteId": {
        "type": "string"
      }
    },
    "required": [
      "deploymentId",
      "siteId"
    ],
    "title": "GetDeploymentRequest",
    "type": "object"
  },
  "responseSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
      "DeploymentPutUrl": {
        "properties": {
          "contentDigest": {
            "type": "string"
          },
          "headers": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "key": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "contentDigest",
          "headers",
          "key",
          "url"
        ],
        "type": "object"
      },
      "DeploymentStatus": {
        "enum": [
          "UPLOADING",
          "READY",
          "FAILED",
          "DELETED"
        ],
        "type": "string"
      },
      "DeploymentUploadSession": {
        "properties": {
          "expiresAt": {
            "type": "string"
          },
          "putUrls": {
            "items": {
              "$ref": "#/definitions/DeploymentPutUrl"
            },
            "type": "array"
          },
          "uploadId": {
            "type": "string"
          }
        },
        "required": [
          "expiresAt",
          "uploadId"
        ],
        "type": "object"
      }
    },
    "properties": {
      "adapterId": {
        "type": [
          "string",
          "null"
        ]
      },
      "contentDigest": {
        "type": "string"
      },
      "deploymentId": {
        "type": "string"
      },
      "detail": {
        "type": [
          "string",
          "null"
        ]
      },
      "frameworkId": {
        "type": [
          "string",
          "null"
        ]
      },
      "previewHostname": {
        "type": [
          "string",
          "null"
        ]
      },
      "siteId": {
        "type": "string"
      },
      "status": {
        "$ref": "#/definitions/DeploymentStatus"
      },
      "upload": {
        "anyOf": [
          {
            "$ref": "#/definitions/DeploymentUploadSession"
          },
          {
            "type": "null"
          }
        ]
      }
    },
    "required": [
      "contentDigest",
      "deploymentId",
      "siteId",
      "status"
    ],
    "title": "DeploymentDescription",
    "type": "object"
  }
}
