Spot · Schema

ElastigroupAWSRequest

AutoscalingCloud InfrastructureContainersCost OptimizationFinOpsKubernetesSpot Instances

Properties

Name Type Description
group object
View JSON Schema on GitHub

JSON Schema

spot-elastigroupawsrequest-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ElastigroupAWSRequest",
  "title": "ElastigroupAWSRequest",
  "type": "object",
  "properties": {
    "group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "capacity": {
          "type": "object",
          "properties": {
            "target": {
              "type": "integer"
            },
            "minimum": {
              "type": "integer"
            },
            "maximum": {
              "type": "integer"
            },
            "unit": {
              "type": "string",
              "enum": [
                "instance",
                "weight"
              ]
            }
          }
        },
        "strategy": {
          "type": "object",
          "properties": {
            "risk": {
              "type": "integer",
              "description": "Percentage of spot instances (0-100)."
            },
            "onDemandCount": {
              "type": "integer"
            },
            "availabilityVsCost": {
              "type": "string",
              "enum": [
                "balanced",
                "costOriented",
                "availabilityOriented",
                "cheapest"
              ]
            },
            "fallbackToOd": {
              "type": "boolean"
            },
            "utilizeReservedInstances": {
              "type": "boolean"
            }
          }
        },
        "compute": {
          "type": "object",
          "properties": {
            "instanceTypes": {
              "type": "object",
              "properties": {
                "ondemand": {
                  "type": "string"
                },
                "spot": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            "availabilityZones": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "subnetId": {
                    "type": "string"
                  }
                }
              }
            },
            "launchSpecification": {
              "type": "object",
              "properties": {
                "imageId": {
                  "type": "string"
                },
                "securityGroupIds": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "keyPair": {
                  "type": "string"
                }
              }
            }
          }
        },
        "scheduling": {
          "type": "object",
          "properties": {
            "tasks": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "isEnabled": {
                    "type": "boolean"
                  },
                  "taskType": {
                    "type": "string"
                  },
                  "cronExpression": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "example": "example_value"
    }
  }
}