{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Shape",
  "type": "object",
  "description": "A compute shape that can be used to launch an instance. A shape determines the type of resources allocated, including CPUs, memory, and networking bandwidth.",
  "properties": {
    "shape": {
      "type": "string",
      "description": "The name of the shape"
    },
    "availabilityDomain": {
      "type": "string",
      "description": "The availability domain where the shape is available. Null if the shape is available across all availability domains."
    },
    "ocpus": {
      "type": "number",
      "description": "The default number of OCPUs available for this shape. For flexible shapes, this is the default when not specifying a custom value."
    },
    "memoryInGBs": {
      "type": "number",
      "description": "The default amount of memory available for this shape, in GB"
    },
    "processorDescription": {
      "type": "string",
      "description": "A short description of the processor"
    },
    "networkingBandwidthInGbps": {
      "type": "number",
      "description": "The networking bandwidth available for this shape, in Gbps"
    },
    "maxVnicAttachments": {
      "type": "integer",
      "description": "The maximum number of VNICs that can be attached"
    },
    "gpus": {
      "type": "integer",
      "description": "The number of GPUs available for this shape"
    },
    "gpuDescription": {
      "type": "string",
      "description": "A short description of the GPU"
    },
    "localDisks": {
      "type": "integer",
      "description": "The number of local disks available for this shape"
    },
    "localDisksTotalSizeInGBs": {
      "type": "number",
      "description": "The aggregate size of local disks in GB"
    },
    "localDiskDescription": {
      "type": "string",
      "description": "A short description of the local disks"
    },
    "isFlexible": {
      "type": "boolean",
      "description": "Whether the shape supports flexible OCPU and memory configuration"
    },
    "isBilledForStoppedInstance": {
      "type": "boolean",
      "description": "Whether billing continues when the instance using this shape is stopped"
    },
    "quotaNames": {
      "type": "array",
      "description": "The list of quota names associated with this shape"
    },
    "recommendedAlternatives": {
      "type": "array",
      "description": "The list of shapes recommended as alternatives"
    }
  }
}