Spectro Cloud · Schema
v1EdgeNativeMachinePoolConfig
CompanyInfrastructureKubernetesCloud-NativeCluster ManagementEdge ComputingMulti-CloudDevOpsAI Infrastructure
Properties
| Name | Type | Description |
|---|---|---|
| additionalLabels | object | AdditionalLabels |
| additionalTags | object | AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole |
| hosts | array | |
| isControlPlane | boolean | whether this pool is for control plane |
| labels | array | labels for this pool, example: master/worker, gpu, windows |
| machinePoolProperties | object | |
| maxSize | integer | max size of the pool, for scaling |
| minSize | integer | min size of the pool, for scaling |
| name | string | |
| nodeRepaveInterval | integer | Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster |
| osType | string | the os type for the pool, must be supported by the provider |
| size | integer | size of the pool, number of machines |
| skipK8sUpgrade | string | Skip Kubernetes version upgrade validation for worker pools with N-3 version skew. - enabled: Bypasses version skew validation, allows Control Plane upgrade even when this worker pool is >3 minor vers |
| taints | array | master or worker taints |
| updateStrategy | object | rolling update strategy for this machinepool if not specified, will use ScaleOut |
| useControlPlaneAsWorker | boolean | if IsControlPlane==true && useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/spectro-cloud/main/json-schema/spectro-cloud-v1-edge-native-machine-pool-config-schema.json",
"title": "v1EdgeNativeMachinePoolConfig",
"x-generated": "2026-10-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/spectro-cloud-edge-mgmt-api-openapi.yml#/components/schemas/v1EdgeNativeMachinePoolConfig",
"type": "object",
"required": [
"hosts"
],
"properties": {
"additionalLabels": {
"description": "AdditionalLabels",
"type": "object",
"additionalProperties": {
"type": "string",
"default": ""
}
},
"additionalTags": {
"description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole",
"type": "object",
"additionalProperties": {
"type": "string",
"default": ""
}
},
"hosts": {
"type": "array",
"items": {
"$ref": "#/$defs/v1EdgeNativeHost"
}
},
"isControlPlane": {
"description": "whether this pool is for control plane",
"type": "boolean"
},
"labels": {
"description": "labels for this pool, example: master/worker, gpu, windows",
"type": "array",
"items": {
"type": "string",
"default": ""
}
},
"machinePoolProperties": {
"$ref": "#/$defs/v1MachinePoolProperties"
},
"maxSize": {
"description": "max size of the pool, for scaling",
"type": "integer",
"format": "int32"
},
"minSize": {
"description": "min size of the pool, for scaling",
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
},
"nodeRepaveInterval": {
"description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster",
"type": "integer",
"format": "int32"
},
"osType": {
"description": "the os type for the pool, must be supported by the provider",
"type": "string"
},
"size": {
"description": "size of the pool, number of machines",
"type": "integer",
"format": "int32"
},
"skipK8sUpgrade": {
"description": "Skip Kubernetes version upgrade validation for worker pools with N-3 version skew.\n- enabled: Bypasses version skew validation, allows Control Plane upgrade even when this worker pool is >3 minor versions behind\n- disabled: Automatically upgrade worker pool to match Control Plane Kubernetes version\n",
"type": "string",
"enum": [
"enabled",
"disabled"
],
"x-omitempty": true
},
"taints": {
"description": "master or worker taints",
"type": "array",
"items": {
"$ref": "#/$defs/v1Taint"
}
},
"updateStrategy": {
"description": "rolling update strategy for this machinepool if not specified, will use ScaleOut",
"$ref": "#/$defs/v1UpdateStrategy"
},
"useControlPlaneAsWorker": {
"description": "if IsControlPlane==true && useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools",
"type": "boolean"
}
},
"$defs": {
"v1ArchType": {
"description": "Architecture type of the edge host",
"type": "string",
"default": "amd64",
"enum": [
"arm64",
"amd64"
]
},
"v1Condition": {
"required": [
"type",
"status"
],
"properties": {
"lastProbeTime": {
"$ref": "#/$defs/v1Time"
},
"lastTransitionTime": {
"$ref": "#/$defs/v1Time"
},
"message": {
"description": "Human readable message indicating details about last transition.",
"type": "string"
},
"reason": {
"description": "Unique, one word reason for the condition's last transition.",
"type": "string"
},
"status": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"v1EdgeNativeHost": {
"description": "EdgeNativeHost is the underlying appliance",
"type": "object",
"properties": {
"IsCandidateCaption": {
"description": "Is Edge host nominated as candidate",
"type": "boolean",
"default": false,
"x-omitempty": false
},
"caCert": {
"description": "CACert for TLS connections",
"type": "string"
},
"hostAddress": {
"description": "HostAddress is a FQDN or IP address of the Host",
"type": "string",
"default": ""
},
"hostName": {
"description": "Qualified name of host",
"type": "string",
"default": ""
},
"hostUid": {
"description": "HostUid is the ID of the EdgeHost",
"type": "string",
"default": ""
},
"networkInfo": {
"description": "List network interfaces of an EH",
"type": "array",
"items": {
"$ref": "#/$defs/v1Nic"
}
},
"nic": {
"description": "Edge native nic. (Depricated)",
"$ref": "#/$defs/v1Nic"
},
"nicName": {
"description": "Deprecated. Edge host nic name",
"type": "string"
},
"nodeInfo": {
"description": "node information if edgehost is part of a cluster",
"x-omitempty": true,
"$ref": "#/$defs/v1NodeInfo"
},
"staticIP": {
"description": "Deprecated. Edge host static IP",
"type": "string"
},
"tags": {
"description": "tags set via userdata.",
"additionalProperties": {
"type": "object"
},
"x-omitempty": true
},
"twoNodeCandidatePriority": {
"description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate",
"type": "string",
"enum": [
"primary",
"secondary"
]
}
}
},
"v1Health": {
"description": "Health provides details about the resource health.",
"type": "object",
"properties": {
"reason": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"Healthy",
"Unhealthy"
]
}
}
},
"v1MachinePoolProperties": {
"description": "Machine pool specific properties",
"type": "object",
"properties": {
"archType": {
"description": "Architecture type of the pool. Default value is 'amd64'",
"x-omitempty": false,
"$ref": "#/$defs/v1ArchType"
}
}
},
"v1Nic": {
"description": "Nic is the specification of the network interface card on the edge host.",
"type": "object",
"properties": {
"dns": {
"type": "array",
"items": {
"type": "string"
}
},
"gateway": {
"type": "string"
},
"ip": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"macAddr": {
"type": "string"
},
"nicName": {
"type": "string"
},
"subnet": {
"type": "string"
}
}
},
"v1NodeInfo": {
"type": "object",
"properties": {
"age": {
"type": "string"
},
"architecture": {
"type": "string"
},
"conditions": {
"type": "array",
"items": {
"$ref": "#/$defs/v1Condition"
}
},
"health": {
"$ref": "#/$defs/v1Health"
},
"ipv4": {
"type": "string",
"x-go-name": "IPV4"
},
"k8sVersion": {
"type": "string"
},
"nodeName": {
"type": "string"
},
"nodeState": {
"type": "string"
}
}
},
"v1Taint": {
"description": "Taint",
"type": "object",
"properties": {
"effect": {
"type": "string",
"enum": [
"NoSchedule",
"PreferNoSchedule",
"NoExecute"
]
},
"key": {
"description": "The taint key to be applied to a node",
"type": "string"
},
"timeAdded": {
"$ref": "#/$defs/v1Time"
},
"value": {
"description": "The taint value corresponding to the taint key.",
"type": "string"
}
}
},
"v1Time": {
"description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.",
"type": "string",
"format": "date-time"
},
"v1UpdateStrategy": {
"description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut => maxSurge=1, maxUnavailable=0 ScaleIn => maxSurge=0, maxUnavailable=1",
"type": "object",
"properties": {
"type": {
"description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut",
"type": "string",
"enum": [
"RollingUpdateScaleOut",
"RollingUpdateScaleIn"
]
}
}
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/spectro-cloud-v1-edge-native-machine-pool-config"
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.