{ "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiVersion": { "type": "string" }, "kind": { "type": "string" }, "metadata": { "type": "object" }, "spec": { "properties": { "availabilityGates": { "items": { "properties": { "conditionType": { "maxLength": 316, "minLength": 1, "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", "type": "string" }, "polarity": { "enum": [ "Positive", "Negative" ], "type": "string" } }, "required": [ "conditionType" ], "type": "object" }, "maxItems": 32, "type": "array", "x-kubernetes-list-map-keys": [ "conditionType" ], "x-kubernetes-list-type": "map" }, "controlPlane": { "properties": { "machineHealthCheck": { "properties": { "maxUnhealthy": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "nodeStartupTimeout": { "type": "string" }, "remediationTemplate": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" }, "resourceVersion": { "type": "string" }, "uid": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "unhealthyConditions": { "items": { "properties": { "status": { "minLength": 1, "type": "string" }, "timeout": { "type": "string" }, "type": { "minLength": 1, "type": "string" } }, "required": [ "status", "timeout", "type" ], "type": "object" }, "maxItems": 100, "type": "array" }, "unhealthyRange": { "maxLength": 32, "minLength": 1, "pattern": "^\\[[0-9]+-[0-9]+\\]$", "type": "string" } }, "type": "object" }, "machineInfrastructure": { "properties": { "ref": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" }, "resourceVersion": { "type": "string" }, "uid": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "required": [ "ref" ], "type": "object" }, "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "namingStrategy": { "properties": { "template": { "maxLength": 1024, "minLength": 1, "type": "string" } }, "type": "object" }, "nodeDeletionTimeout": { "type": "string" }, "nodeDrainTimeout": { "type": "string" }, "nodeVolumeDetachTimeout": { "type": "string" }, "readinessGates": { "items": { "properties": { "conditionType": { "maxLength": 316, "minLength": 1, "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", "type": "string" }, "polarity": { "enum": [ "Positive", "Negative" ], "type": "string" } }, "required": [ "conditionType" ], "type": "object" }, "maxItems": 32, "type": "array", "x-kubernetes-list-map-keys": [ "conditionType" ], "x-kubernetes-list-type": "map" }, "ref": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" }, "resourceVersion": { "type": "string" }, "uid": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "required": [ "ref" ], "type": "object" }, "infrastructure": { "properties": { "ref": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" }, "resourceVersion": { "type": "string" }, "uid": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "required": [ "ref" ], "type": "object" }, "infrastructureNamingStrategy": { "properties": { "template": { "maxLength": 1024, "minLength": 1, "type": "string" } }, "type": "object" }, "patches": { "items": { "properties": { "definitions": { "items": { "properties": { "jsonPatches": { "items": { "properties": { "op": { "enum": [ "add", "replace", "remove" ], "type": "string" }, "path": { "maxLength": 512, "minLength": 1, "type": "string" }, "value": { "x-kubernetes-preserve-unknown-fields": true }, "valueFrom": { "properties": { "template": { "maxLength": 10240, "minLength": 1, "type": "string" }, "variable": { "maxLength": 256, "minLength": 1, "type": "string" } }, "type": "object" } }, "required": [ "op", "path" ], "type": "object" }, "maxItems": 100, "type": "array" }, "selector": { "properties": { "apiVersion": { "maxLength": 512, "minLength": 1, "type": "string" }, "kind": { "maxLength": 256, "minLength": 1, "type": "string" }, "matchResources": { "properties": { "controlPlane": { "type": "boolean" }, "infrastructureCluster": { "type": "boolean" }, "machineDeploymentClass": { "properties": { "names": { "items": { "maxLength": 256, "minLength": 1, "type": "string" }, "maxItems": 100, "type": "array" } }, "type": "object" }, "machinePoolClass": { "properties": { "names": { "items": { "maxLength": 256, "minLength": 1, "type": "string" }, "maxItems": 100, "type": "array" } }, "type": "object" } }, "type": "object" } }, "required": [ "apiVersion", "kind", "matchResources" ], "type": "object" } }, "required": [ "jsonPatches", "selector" ], "type": "object" }, "maxItems": 100, "type": "array" }, "enabledIf": { "maxLength": 256, "minLength": 1, "type": "string" }, "external": { "properties": { "discoverVariablesExtension": { "maxLength": 512, "minLength": 1, "type": "string" }, "generateExtension": { "maxLength": 512, "minLength": 1, "type": "string" }, "settings": { "additionalProperties": { "type": "string" }, "type": "object" }, "validateExtension": { "maxLength": 512, "minLength": 1, "type": "string" } }, "type": "object" }, "name": { "maxLength": 256, "minLength": 1, "type": "string" } }, "required": [ "name" ], "type": "object" }, "maxItems": 1000, "type": "array" }, "variables": { "items": { "properties": { "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "name": { "maxLength": 256, "minLength": 1, "type": "string" }, "required": { "type": "boolean" }, "schema": { "properties": { "openAPIV3Schema": { "properties": { "additionalProperties": { "x-kubernetes-preserve-unknown-fields": true }, "allOf": { "x-kubernetes-preserve-unknown-fields": true }, "anyOf": { "x-kubernetes-preserve-unknown-fields": true }, "default": { "x-kubernetes-preserve-unknown-fields": true }, "enum": { "items": { "x-kubernetes-preserve-unknown-fields": true }, "maxItems": 100, "type": "array" }, "example": { "x-kubernetes-preserve-unknown-fields": true }, "exclusiveMaximum": { "type": "boolean" }, "exclusiveMinimum": { "type": "boolean" }, "format": { "maxLength": 32, "minLength": 1, "type": "string" }, "items": { "x-kubernetes-preserve-unknown-fields": true }, "maxItems": { "format": "int64", "type": "integer" }, "maxLength": { "format": "int64", "type": "integer" }, "maxProperties": { "format": "int64", "type": "integer" }, "maximum": { "format": "int64", "type": "integer" }, "minItems": { "format": "int64", "type": "integer" }, "minLength": { "format": "int64", "type": "integer" }, "minProperties": { "format": "int64", "type": "integer" }, "minimum": { "format": "int64", "type": "integer" }, "not": { "x-kubernetes-preserve-unknown-fields": true }, "oneOf": { "x-kubernetes-preserve-unknown-fields": true }, "pattern": { "maxLength": 512, "minLength": 1, "type": "string" }, "properties": { "x-kubernetes-preserve-unknown-fields": true }, "required": { "items": { "maxLength": 256, "minLength": 1, "type": "string" }, "maxItems": 1000, "type": "array" }, "type": { "enum": [ "object", "array", "string", "integer", "number", "boolean" ], "type": "string" }, "uniqueItems": { "type": "boolean" }, "x-kubernetes-int-or-string": { "type": "boolean" }, "x-kubernetes-preserve-unknown-fields": { "type": "boolean" }, "x-kubernetes-validations": { "items": { "properties": { "fieldPath": { "maxLength": 512, "minLength": 1, "type": "string" }, "message": { "maxLength": 512, "minLength": 1, "type": "string" }, "messageExpression": { "maxLength": 1024, "minLength": 1, "type": "string" }, "reason": { "default": "FieldValueInvalid", "enum": [ "FieldValueInvalid", "FieldValueForbidden", "FieldValueRequired", "FieldValueDuplicate" ], "type": "string" }, "rule": { "maxLength": 4096, "minLength": 1, "type": "string" } }, "required": [ "rule" ], "type": "object" }, "maxItems": 100, "type": "array", "x-kubernetes-list-map-keys": [ "rule" ], "x-kubernetes-list-type": "map" }, "x-metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" } }, "type": "object" } }, "required": [ "openAPIV3Schema" ], "type": "object" } }, "required": [ "name", "required", "schema" ], "type": "object" }, "maxItems": 1000, "type": "array" }, "workers": { "properties": { "machineDeployments": { "items": { "properties": { "class": { "maxLength": 256, "minLength": 1, "type": "string" }, "failureDomain": { "maxLength": 256, "minLength": 1, "type": "string" }, "machineHealthCheck": { "properties": { "maxUnhealthy": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "nodeStartupTimeout": { "type": "string" }, "remediationTemplate": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" }, "resourceVersion": { "type": "string" }, "uid": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "unhealthyConditions": { "items": { "properties": { "status": { "minLength": 1, "type": "string" }, "timeout": { "type": "string" }, "type": { "minLength": 1, "type": "string" } }, "required": [ "status", "timeout", "type" ], "type": "object" }, "maxItems": 100, "type": "array" }, "unhealthyRange": { "maxLength": 32, "minLength": 1, "pattern": "^\\[[0-9]+-[0-9]+\\]$", "type": "string" } }, "type": "object" }, "minReadySeconds": { "format": "int32", "type": "integer" }, "namingStrategy": { "properties": { "template": { "maxLength": 1024, "minLength": 1, "type": "string" } }, "type": "object" }, "nodeDeletionTimeout": { "type": "string" }, "nodeDrainTimeout": { "type": "string" }, "nodeVolumeDetachTimeout": { "type": "string" }, "readinessGates": { "items": { "properties": { "conditionType": { "maxLength": 316, "minLength": 1, "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", "type": "string" }, "polarity": { "enum": [ "Positive", "Negative" ], "type": "string" } }, "required": [ "conditionType" ], "type": "object" }, "maxItems": 32, "type": "array", "x-kubernetes-list-map-keys": [ "conditionType" ], "x-kubernetes-list-type": "map" }, "strategy": { "properties": { "remediation": { "properties": { "maxInFlight": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "type": "object" }, "rollingUpdate": { "properties": { "deletePolicy": { "enum": [ "Random", "Newest", "Oldest" ], "type": "string" }, "maxSurge": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "maxUnavailable": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } }, "type": "object" }, "type": { "enum": [ "RollingUpdate", "OnDelete" ], "type": "string" } }, "type": "object" }, "template": { "properties": { "bootstrap": { "properties": { "ref": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" }, "resourceVersion": { "type": "string" }, "uid": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "required": [ "ref" ], "type": "object" }, "infrastructure": { "properties": { "ref": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" }, "resourceVersion": { "type": "string" }, "uid": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "required": [ "ref" ], "type": "object" }, "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" } }, "required": [ "bootstrap", "infrastructure" ], "type": "object" } }, "required": [ "class", "template" ], "type": "object" }, "maxItems": 100, "type": "array", "x-kubernetes-list-map-keys": [ "class" ], "x-kubernetes-list-type": "map" }, "machinePools": { "items": { "properties": { "class": { "maxLength": 256, "minLength": 1, "type": "string" }, "failureDomains": { "items": { "maxLength": 256, "minLength": 1, "type": "string" }, "maxItems": 100, "type": "array" }, "minReadySeconds": { "format": "int32", "type": "integer" }, "namingStrategy": { "properties": { "template": { "maxLength": 1024, "minLength": 1, "type": "string" } }, "type": "object" }, "nodeDeletionTimeout": { "type": "string" }, "nodeDrainTimeout": { "type": "string" }, "nodeVolumeDetachTimeout": { "type": "string" }, "template": { "properties": { "bootstrap": { "properties": { "ref": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" }, "resourceVersion": { "type": "string" }, "uid": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "required": [ "ref" ], "type": "object" }, "infrastructure": { "properties": { "ref": { "properties": { "apiVersion": { "type": "string" }, "fieldPath": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" }, "namespace": { "type": "string" }, "resourceVersion": { "type": "string" }, "uid": { "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" } }, "required": [ "ref" ], "type": "object" }, "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" } }, "required": [ "bootstrap", "infrastructure" ], "type": "object" } }, "required": [ "class", "template" ], "type": "object" }, "maxItems": 100, "type": "array", "x-kubernetes-list-map-keys": [ "class" ], "x-kubernetes-list-type": "map" } }, "type": "object" } }, "type": "object" }, "status": { "properties": { "conditions": { "items": { "properties": { "lastTransitionTime": { "format": "date-time", "type": "string" }, "message": { "maxLength": 10240, "minLength": 1, "type": "string" }, "reason": { "maxLength": 256, "minLength": 1, "type": "string" }, "severity": { "maxLength": 32, "type": "string" }, "status": { "type": "string" }, "type": { "maxLength": 256, "minLength": 1, "type": "string" } }, "required": [ "lastTransitionTime", "status", "type" ], "type": "object" }, "type": "array" }, "observedGeneration": { "format": "int64", "type": "integer" }, "v1beta2": { "properties": { "conditions": { "items": { "properties": { "lastTransitionTime": { "format": "date-time", "type": "string" }, "message": { "maxLength": 32768, "type": "string" }, "observedGeneration": { "format": "int64", "minimum": 0, "type": "integer" }, "reason": { "maxLength": 1024, "minLength": 1, "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$", "type": "string" }, "status": { "enum": [ "True", "False", "Unknown" ], "type": "string" }, "type": { "maxLength": 316, "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", "type": "string" } }, "required": [ "lastTransitionTime", "message", "reason", "status", "type" ], "type": "object" }, "maxItems": 32, "type": "array", "x-kubernetes-list-map-keys": [ "type" ], "x-kubernetes-list-type": "map" } }, "type": "object" }, "variables": { "items": { "properties": { "definitions": { "items": { "properties": { "from": { "maxLength": 256, "minLength": 1, "type": "string" }, "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" }, "required": { "type": "boolean" }, "schema": { "properties": { "openAPIV3Schema": { "properties": { "additionalProperties": { "x-kubernetes-preserve-unknown-fields": true }, "allOf": { "x-kubernetes-preserve-unknown-fields": true }, "anyOf": { "x-kubernetes-preserve-unknown-fields": true }, "default": { "x-kubernetes-preserve-unknown-fields": true }, "enum": { "items": { "x-kubernetes-preserve-unknown-fields": true }, "maxItems": 100, "type": "array" }, "example": { "x-kubernetes-preserve-unknown-fields": true }, "exclusiveMaximum": { "type": "boolean" }, "exclusiveMinimum": { "type": "boolean" }, "format": { "maxLength": 32, "minLength": 1, "type": "string" }, "items": { "x-kubernetes-preserve-unknown-fields": true }, "maxItems": { "format": "int64", "type": "integer" }, "maxLength": { "format": "int64", "type": "integer" }, "maxProperties": { "format": "int64", "type": "integer" }, "maximum": { "format": "int64", "type": "integer" }, "minItems": { "format": "int64", "type": "integer" }, "minLength": { "format": "int64", "type": "integer" }, "minProperties": { "format": "int64", "type": "integer" }, "minimum": { "format": "int64", "type": "integer" }, "not": { "x-kubernetes-preserve-unknown-fields": true }, "oneOf": { "x-kubernetes-preserve-unknown-fields": true }, "pattern": { "maxLength": 512, "minLength": 1, "type": "string" }, "properties": { "x-kubernetes-preserve-unknown-fields": true }, "required": { "items": { "maxLength": 256, "minLength": 1, "type": "string" }, "maxItems": 1000, "type": "array" }, "type": { "enum": [ "object", "array", "string", "integer", "number", "boolean" ], "type": "string" }, "uniqueItems": { "type": "boolean" }, "x-kubernetes-int-or-string": { "type": "boolean" }, "x-kubernetes-preserve-unknown-fields": { "type": "boolean" }, "x-kubernetes-validations": { "items": { "properties": { "fieldPath": { "maxLength": 512, "minLength": 1, "type": "string" }, "message": { "maxLength": 512, "minLength": 1, "type": "string" }, "messageExpression": { "maxLength": 1024, "minLength": 1, "type": "string" }, "reason": { "default": "FieldValueInvalid", "enum": [ "FieldValueInvalid", "FieldValueForbidden", "FieldValueRequired", "FieldValueDuplicate" ], "type": "string" }, "rule": { "maxLength": 4096, "minLength": 1, "type": "string" } }, "required": [ "rule" ], "type": "object" }, "maxItems": 100, "type": "array", "x-kubernetes-list-map-keys": [ "rule" ], "x-kubernetes-list-type": "map" }, "x-metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object" } }, "type": "object" } }, "required": [ "openAPIV3Schema" ], "type": "object" } }, "required": [ "from", "required", "schema" ], "type": "object" }, "maxItems": 100, "type": "array" }, "definitionsConflict": { "type": "boolean" }, "name": { "maxLength": 256, "minLength": 1, "type": "string" } }, "required": [ "definitions", "name" ], "type": "object" }, "maxItems": 1000, "type": "array" } }, "type": "object" } }, "type": "object" }