Spot by NetApp · JSON Structure

Spot By Netapp Structure

JSON structure documentation for Spot by NetApp cloud optimization API resources

Type: Properties: 0
Cloud OptimizationFinOpsKubernetesAzureGCPCost OptimizationAuto Scaling

Spot by NetApp API Structure is a JSON Structure definition published by Spot by NetApp.

Meta-schema:

JSON Structure

Raw ↑
{
  "name": "Spot by NetApp API Structure",
  "description": "JSON structure documentation for Spot by NetApp cloud optimization API resources",
  "version": "1.0",
  "structures": [
    {
      "name": "ElastigroupAWS",
      "description": "Intelligent auto-scaling group using Spot instances on AWS",
      "fields": [
        {"name": "id", "type": "string", "required": false, "description": "Unique Elastigroup identifier (assigned on creation)"},
        {"name": "name", "type": "string", "required": true, "description": "Descriptive name (max 36 characters)"},
        {"name": "description", "type": "string", "required": false, "description": "Optional description"},
        {"name": "region", "type": "string", "required": true, "description": "AWS region (e.g., us-east-1, eu-west-1)"},
        {"name": "capacity", "type": "Capacity object", "required": true, "description": "Min/max/target instance counts"},
        {"name": "strategy", "type": "Strategy object", "required": false, "description": "Spot vs On-Demand balance strategy"},
        {"name": "compute", "type": "Compute object", "required": true, "description": "Instance types and launch configuration"},
        {"name": "scaling", "type": "Scaling object", "required": false, "description": "Auto-scaling policy configuration"},
        {"name": "scheduling", "type": "Scheduling object", "required": false, "description": "Scheduled scaling actions"},
        {"name": "createdAt", "type": "string (ISO 8601)", "required": false, "description": "Creation timestamp"},
        {"name": "updatedAt", "type": "string (ISO 8601)", "required": false, "description": "Last update timestamp"}
      ]
    },
    {
      "name": "Capacity",
      "description": "Instance count bounds for an Elastigroup or Ocean cluster",
      "fields": [
        {"name": "minimum", "type": "integer", "required": true, "description": "Minimum number of instances (>= 0)"},
        {"name": "maximum", "type": "integer", "required": true, "description": "Maximum number of instances"},
        {"name": "target", "type": "integer", "required": true, "description": "Desired instance count"},
        {"name": "unit", "type": "string enum", "required": false, "description": "Unit type: instance | weight"}
      ]
    },
    {
      "name": "Strategy",
      "description": "Spot instance usage and fallback strategy",
      "fields": [
        {"name": "risk", "type": "integer (0-100)", "required": false, "description": "Percentage of Spot instances target"},
        {"name": "onDemandCount", "type": "integer", "required": false, "description": "Fixed On-Demand instance count"},
        {"name": "availabilityVsCost", "type": "string enum", "required": false, "description": "balanced | availabilityOriented | costOriented"},
        {"name": "fallbackToOnDemand", "type": "boolean", "required": false, "description": "Fall back to On-Demand when Spot unavailable"},
        {"name": "utilizeReservedInstances", "type": "boolean", "required": false, "description": "Use Reserved Instances before Spot"}
      ]
    },
    {
      "name": "OceanCluster",
      "description": "Kubernetes cost optimization cluster using Spot instances",
      "fields": [
        {"name": "id", "type": "string", "required": false, "description": "Unique Ocean cluster identifier"},
        {"name": "name", "type": "string", "required": true, "description": "Cluster name"},
        {"name": "region", "type": "string", "required": true, "description": "Cloud provider region"},
        {"name": "cloudProvider", "type": "string enum", "required": true, "description": "Cloud provider: aws | azure | gcp"},
        {"name": "autoScaler", "type": "AutoScaler object", "required": false, "description": "Auto-scaling configuration"},
        {"name": "capacity", "type": "Capacity object", "required": false, "description": "Node count bounds"},
        {"name": "compute", "type": "Compute object", "required": false, "description": "Node instance type configuration"}
      ]
    },
    {
      "name": "CostSavings",
      "description": "Cloud cost savings report from Spot optimization",
      "fields": [
        {"name": "actualCost", "type": "number", "required": true, "description": "Actual spend with Spot optimization"},
        {"name": "potentialCost", "type": "number", "required": true, "description": "Estimated cost without optimization"},
        {"name": "savings", "type": "number", "required": true, "description": "Absolute cost savings amount"},
        {"name": "savingsPercentage", "type": "number", "required": true, "description": "Percentage saved vs. unoptimized"},
        {"name": "currency", "type": "string", "required": false, "description": "Currency code (default: USD)"}
      ]
    },
    {
      "name": "AuditEvent",
      "description": "An audit log entry recording API or console activity",
      "fields": [
        {"name": "id", "type": "string", "required": true, "description": "Unique audit event ID"},
        {"name": "eventType", "type": "string", "required": true, "description": "Type of action performed"},
        {"name": "resourceType", "type": "string", "required": true, "description": "Type of resource affected"},
        {"name": "resourceId", "type": "string", "required": false, "description": "ID of the affected resource"},
        {"name": "accountId", "type": "string", "required": true, "description": "Spot account where event occurred"},
        {"name": "userId", "type": "string", "required": true, "description": "User who performed the action"},
        {"name": "timestamp", "type": "string (ISO 8601)", "required": true, "description": "When the event occurred"},
        {"name": "data", "type": "object", "required": false, "description": "Event-specific payload data"}
      ]
    }
  ]
}