{
  "name": "GetUsage",
  "plane": "control",
  "terraformEligible": false,
  "subProduct": "runner",
  "protocol": {
    "kind": "cloudJson",
    "target": "CloudDeploy.Runner.GetUsage",
    "service": "deploy"
  },
  "requestBody": "typed",
  "responseBody": "typed",
  "requestSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "period": {
        "type": "string"
      }
    },
    "required": [
      "period"
    ],
    "title": "GetUsageRequest",
    "type": "object"
  },
  "responseSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
      "UsageSlice": {
        "properties": {
          "billedMinutes": {
            "format": "uint64",
            "minimum": 0.0,
            "type": "integer"
          },
          "elapsedMinutes": {
            "format": "uint64",
            "minimum": 0.0,
            "type": "integer"
          },
          "key": {
            "type": "string"
          }
        },
        "required": [
          "billedMinutes",
          "elapsedMinutes",
          "key"
        ],
        "type": "object"
      }
    },
    "properties": {
      "billedMinutes": {
        "format": "uint64",
        "minimum": 0.0,
        "type": "integer"
      },
      "byRepo": {
        "default": [],
        "items": {
          "$ref": "#/definitions/UsageSlice"
        },
        "type": "array"
      },
      "bySize": {
        "default": [],
        "items": {
          "$ref": "#/definitions/UsageSlice"
        },
        "type": "array"
      },
      "cacheGb": {
        "format": "uint64",
        "minimum": 0.0,
        "type": "integer"
      },
      "elapsedMinutes": {
        "format": "uint64",
        "minimum": 0.0,
        "type": "integer"
      }
    },
    "required": [
      "billedMinutes",
      "cacheGb",
      "elapsedMinutes"
    ],
    "title": "RunnerUsageResponse",
    "type": "object"
  }
}
