Spot by NetApp · Schema
Spot Elastigroup
An Elastigroup is Spot by NetApp's intelligent auto-scaling group that uses Spot/Preemptible instances to reduce cloud costs while maintaining availability
Cloud OptimizationFinOpsKubernetesAzureGCPCost OptimizationAuto Scaling
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique Elastigroup identifier (assigned on creation) |
| name | string | Descriptive name for the Elastigroup |
| description | string | Optional description of the Elastigroup purpose |
| region | string | Cloud provider region (e.g., us-east-1, eastus, us-central1) |
| capacity | object | Capacity configuration for the Elastigroup |
| strategy | object | Spot instance strategy and fallback behavior |
| compute | object | Compute configuration including instance types and AMI |
| createdAt | string | Timestamp when the Elastigroup was created |
| updatedAt | string | Timestamp when the Elastigroup was last updated |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api.spotinst.io/schemas/elastigroup",
"title": "Spot Elastigroup",
"description": "An Elastigroup is Spot by NetApp's intelligent auto-scaling group that uses Spot/Preemptible instances to reduce cloud costs while maintaining availability",
"type": "object",
"required": ["name", "region", "capacity", "compute"],
"properties": {
"id": {
"type": "string",
"description": "Unique Elastigroup identifier (assigned on creation)"
},
"name": {
"type": "string",
"description": "Descriptive name for the Elastigroup",
"minLength": 1,
"maxLength": 36
},
"description": {
"type": "string",
"description": "Optional description of the Elastigroup purpose"
},
"region": {
"type": "string",
"description": "Cloud provider region (e.g., us-east-1, eastus, us-central1)"
},
"capacity": {
"type": "object",
"description": "Capacity configuration for the Elastigroup",
"required": ["minimum", "maximum", "target"],
"properties": {
"minimum": {
"type": "integer",
"description": "Minimum number of instances",
"minimum": 0
},
"maximum": {
"type": "integer",
"description": "Maximum number of instances",
"minimum": 1
},
"target": {
"type": "integer",
"description": "Desired number of instances",
"minimum": 0
},
"unit": {
"type": "string",
"enum": ["instance", "weight"],
"description": "Capacity unit type"
}
}
},
"strategy": {
"type": "object",
"description": "Spot instance strategy and fallback behavior",
"properties": {
"risk": {
"type": "integer",
"description": "Percentage of Spot instances (0-100)",
"minimum": 0,
"maximum": 100
},
"onDemandCount": {
"type": "integer",
"description": "Number of On-Demand instances to maintain",
"minimum": 0
},
"availabilityVsCost": {
"type": "string",
"enum": ["balanced", "availabilityOriented", "costOriented"],
"description": "Optimization strategy preference"
},
"fallbackToOnDemand": {
"type": "boolean",
"description": "Whether to fall back to On-Demand if no Spot capacity available"
},
"utilizeReservedInstances": {
"type": "boolean",
"description": "Whether to utilize Reserved Instances when available"
}
}
},
"compute": {
"type": "object",
"description": "Compute configuration including instance types and AMI",
"required": ["instanceTypes"],
"properties": {
"instanceTypes": {
"type": "object",
"properties": {
"ondemand": {
"type": "string",
"description": "On-Demand instance type for fallback"
},
"spot": {
"type": "array",
"description": "List of Spot instance types to use",
"items": {
"type": "string"
},
"minItems": 1
}
}
},
"launchSpecification": {
"type": "object",
"description": "Launch configuration for instances"
}
}
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the Elastigroup was created"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the Elastigroup was last updated"
}
}
}