{
  "name": "CreateFleet",
  "plane": "control",
  "terraformEligible": true,
  "protocol": {
    "kind": "cloudJson",
    "target": "CloudMachines.CreateFleet",
    "service": "machines"
  },
  "requestBody": "typed",
  "responseBody": "typed",
  "requestSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "definitions": {
      "FunctionCodeSourceRequest": {
        "additionalProperties": false,
        "properties": {
          "bucket": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "sha256": {
            "type": "string"
          }
        },
        "required": [
          "bucket",
          "key",
          "sha256"
        ],
        "type": "object"
      }
    },
    "properties": {
      "arch": {
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "desiredCount": {
        "default": null,
        "format": "uint32",
        "minimum": 0.0,
        "type": [
          "integer",
          "null"
        ]
      },
      "executionPrincipal": {
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "functionCode": {
        "anyOf": [
          {
            "$ref": "#/definitions/FunctionCodeSourceRequest"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "functionImageDigest": {
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "image": {
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "ingress": {
        "default": null,
        "type": [
          "boolean",
          "null"
        ]
      },
      "memMib": {
        "default": null,
        "format": "uint32",
        "minimum": 0.0,
        "type": [
          "integer",
          "null"
        ]
      },
      "name": {
        "type": "string"
      },
      "sourceRevision": {
        "default": null,
        "format": "uint64",
        "minimum": 1.0,
        "type": [
          "integer",
          "null"
        ]
      },
      "vcpus": {
        "default": null,
        "format": "uint32",
        "minimum": 0.0,
        "type": [
          "integer",
          "null"
        ]
      }
    },
    "required": [
      "name"
    ],
    "title": "CreateFleetRequest",
    "type": "object"
  },
  "responseSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
      "FunctionCodeSourceRequest": {
        "additionalProperties": false,
        "properties": {
          "bucket": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "sha256": {
            "type": "string"
          }
        },
        "required": [
          "bucket",
          "key",
          "sha256"
        ],
        "type": "object"
      },
      "RuntimeEndpointResponse": {
        "additionalProperties": false,
        "properties": {
          "ip": {
            "type": "string"
          },
          "launchFingerprint": {
            "type": "string"
          }
        },
        "required": [
          "ip",
          "launchFingerprint"
        ],
        "type": "object"
      }
    },
    "properties": {
      "arch": {
        "type": [
          "string",
          "null"
        ]
      },
      "desiredCount": {
        "format": "uint32",
        "minimum": 0.0,
        "type": "integer"
      },
      "executionPrincipal": {
        "type": [
          "string",
          "null"
        ]
      },
      "functionCode": {
        "anyOf": [
          {
            "$ref": "#/definitions/FunctionCodeSourceRequest"
          },
          {
            "type": "null"
          }
        ]
      },
      "functionImageDigest": {
        "type": [
          "string",
          "null"
        ]
      },
      "image": {
        "type": [
          "string",
          "null"
        ]
      },
      "ingress": {
        "type": [
          "boolean",
          "null"
        ]
      },
      "launchFingerprint": {
        "type": "string"
      },
      "leaseEpoch": {
        "format": "uint64",
        "minimum": 0.0,
        "type": [
          "integer",
          "null"
        ]
      },
      "memMib": {
        "format": "uint32",
        "minimum": 0.0,
        "type": [
          "integer",
          "null"
        ]
      },
      "name": {
        "type": "string"
      },
      "observedCount": {
        "format": "uint32",
        "minimum": 0.0,
        "type": [
          "integer",
          "null"
        ]
      },
      "runtimeEndpoints": {
        "items": {
          "$ref": "#/definitions/RuntimeEndpointResponse"
        },
        "type": "array"
      },
      "sourceRevision": {
        "format": "uint64",
        "minimum": 1.0,
        "type": [
          "integer",
          "null"
        ]
      },
      "vcpus": {
        "format": "uint32",
        "minimum": 0.0,
        "type": [
          "integer",
          "null"
        ]
      }
    },
    "required": [
      "desiredCount",
      "launchFingerprint",
      "name"
    ],
    "title": "FleetResponse",
    "type": "object"
  }
}
