Spot by Flexera · Schema

Spot Elastigroup

An Elastigroup is a compute group that manages and optimizes cloud instances across spot, reserved, and on-demand capacity to ensure availability at the lowest cost.

Auto-ScalingCloud InfrastructureContainersCost OptimizationFinOpsKubernetesSpot Instances

Properties

Name Type Description
id string The unique identifier of the Elastigroup.
name string The name of the Elastigroup.
description string A description of the Elastigroup.
region string The cloud provider region where the Elastigroup is deployed.
capacity object The capacity configuration for the Elastigroup.
strategy object The optimization strategy for the Elastigroup.
compute object The compute configuration for the Elastigroup.
createdAt string The timestamp when the Elastigroup was created.
updatedAt string The timestamp when the Elastigroup was last updated.
View JSON Schema on GitHub

JSON Schema

elastigroup.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/spot/blob/main/json-schema/elastigroup.json",
  "title": "Spot Elastigroup",
  "description": "An Elastigroup is a compute group that manages and optimizes cloud instances across spot, reserved, and on-demand capacity to ensure availability at the lowest cost.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The unique identifier of the Elastigroup."
    },
    "name": {
      "type": "string",
      "description": "The name of the Elastigroup."
    },
    "description": {
      "type": "string",
      "description": "A description of the Elastigroup."
    },
    "region": {
      "type": "string",
      "description": "The cloud provider region where the Elastigroup is deployed."
    },
    "capacity": {
      "type": "object",
      "description": "The capacity configuration for the Elastigroup.",
      "properties": {
        "target": {
          "type": "integer",
          "description": "The desired number of instances."
        },
        "minimum": {
          "type": "integer",
          "description": "The minimum number of instances."
        },
        "maximum": {
          "type": "integer",
          "description": "The maximum number of instances."
        },
        "unit": {
          "type": "string",
          "enum": ["instance", "weight"],
          "description": "The unit of capacity measurement."
        }
      }
    },
    "strategy": {
      "type": "object",
      "description": "The optimization strategy for the Elastigroup.",
      "properties": {
        "risk": {
          "type": "integer",
          "description": "Percentage of spot instances (0-100)."
        },
        "onDemandCount": {
          "type": "integer",
          "description": "Number of on-demand instances to maintain."
        },
        "availabilityVsCost": {
          "type": "string",
          "enum": ["balanced", "costOriented", "availabilityOriented", "cheapest"],
          "description": "The optimization preference between availability and cost."
        },
        "fallbackToOd": {
          "type": "boolean",
          "description": "Whether to fall back to on-demand instances when spot is unavailable."
        },
        "utilizeReservedInstances": {
          "type": "boolean",
          "description": "Whether to utilize reserved instances when available."
        }
      }
    },
    "compute": {
      "type": "object",
      "description": "The compute configuration for the Elastigroup.",
      "properties": {
        "instanceTypes": {
          "type": "object",
          "properties": {
            "ondemand": {
              "type": "string",
              "description": "The on-demand instance type."
            },
            "spot": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The spot instance types to consider."
            }
          }
        },
        "availabilityZones": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "subnetId": {
                "type": "string"
              }
            }
          },
          "description": "The availability zones for the Elastigroup."
        }
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "The timestamp when the Elastigroup was created."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "The timestamp when the Elastigroup was last updated."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/elastigroup"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.