{
  "$id": "https://firefox-ci-tc.services.mozilla.com/schemas/queue/v1/artifact-content-response.json#",
  "$schema": "https://firefox-ci-tc.services.mozilla.com/schemas/common/metaschema.json#",
  "description": "Response to the `artifact` and `latestArtifact` methods.  It is one of the\nfollowing types, as identified by the `storageType` property.\n",
  "oneOf": [
    {
      "additionalProperties": false,
      "properties": {
        "storageType": {
          "const": "s3"
        },
        "url": {
          "description": "URL from which to download the artifact.  This may be a URL for a bucket or\na CDN, and may or may not be signed, depending on server configuration.\n",
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "storageType",
        "url"
      ],
      "type": "object"
    },
    {
      "additionalProperties": false,
      "description": "An object name, and credentials to use to access that object on the object service.\nThe credentials expire one hour after this call; this should allow ample time for\nretries, slow downloads, and clock skew.\n",
      "properties": {
        "credentials": {
          "$ref": "object-credentials.json#"
        },
        "name": {
          "description": "Name of the object on the object service.\n",
          "pattern": "^[\\x20-\\x7e]+$",
          "type": "string"
        },
        "storageType": {
          "const": "object"
        }
      },
      "required": [
        "storageType",
        "name",
        "credentials"
      ],
      "type": "object"
    },
    {
      "additionalProperties": false,
      "properties": {
        "storageType": {
          "const": "reference"
        },
        "url": {
          "description": "Referenced URL",
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "storageType",
        "url"
      ],
      "type": "object"
    },
    {
      "additionalProperties": false,
      "properties": {
        "message": {
          "description": "Error message",
          "type": "string"
        },
        "reason": {
          "description": "Error reason",
          "type": "string"
        },
        "storageType": {
          "const": "error"
        }
      },
      "required": [
        "storageType",
        "reason",
        "message"
      ],
      "type": "object"
    }
  ],
  "title": "Get Artifact Content Response"
}