{ "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiVersion": { "type": "string" }, "kind": { "type": "string" }, "metadata": { "type": "object" }, "spec": { "properties": { "allowCrossNamespaceImport": { "default": false, "type": "boolean" }, "configMapRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "contentCacheDuration": { "type": "string" }, "datasources": { "items": { "properties": { "datasourceName": { "type": "string" }, "inputName": { "type": "string" } }, "required": [ "datasourceName", "inputName" ], "type": "object" }, "type": "array" }, "envFrom": { "items": { "properties": { "configMapKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "secretKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" }, "type": "array" }, "envs": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "valueFrom": { "properties": { "configMapKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "secretKeyRef": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" } }, "required": [ "name" ], "type": "object" }, "type": "array" }, "folder": { "type": "string" }, "folderRef": { "type": "string" }, "folderUID": { "type": "string" }, "grafanaCom": { "properties": { "id": { "type": "integer" }, "revision": { "type": "integer" } }, "required": [ "id" ], "type": "object" }, "gzipJson": { "format": "byte", "type": "string" }, "instanceSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "x-kubernetes-list-type": "atomic" }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object" } }, "type": "object", "x-kubernetes-map-type": "atomic", "x-kubernetes-validations": [ { "message": "spec.instanceSelector is immutable", "rule": "self == oldSelf" } ] }, "json": { "type": "string" }, "jsonnet": { "type": "string" }, "jsonnetLib": { "properties": { "fileName": { "type": "string" }, "gzipJsonnetProject": { "format": "byte", "type": "string" }, "jPath": { "items": { "type": "string" }, "type": "array" } }, "required": [ "fileName", "gzipJsonnetProject" ], "type": "object" }, "oci": { "properties": { "insecurePlainHTTP": { "type": "boolean" }, "path": { "maxLength": 512, "minLength": 1, "type": "string" }, "pullSecretRef": { "properties": { "name": { "default": "", "type": "string" } }, "type": "object", "x-kubernetes-map-type": "atomic" }, "reference": { "maxLength": 512, "minLength": 3, "pattern": "^[^:@]+(:[^:@/]+|@sha256:[a-fA-F0-9]{64})$", "type": "string" } }, "required": [ "path", "reference" ], "type": "object" }, "plugins": { "items": { "properties": { "name": { "minLength": 1, "type": "string" }, "version": { "pattern": "^((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?|latest)$", "type": "string" } }, "required": [ "name", "version" ], "type": "object" }, "type": "array" }, "resyncPeriod": { "pattern": "^([0-9]+(\\.[0-9]+)?(ns|us|\u00b5s|ms|s|m|h))+$", "type": "string" }, "suspend": { "type": "boolean" }, "uid": { "maxLength": 40, "pattern": "^[a-zA-Z0-9-_]+$", "type": "string", "x-kubernetes-validations": [ { "message": "spec.uid is immutable", "rule": "self == oldSelf" } ] }, "url": { "pattern": "^https?://.+$", "type": "string" }, "urlAuthorization": { "properties": { "basicAuth": { "properties": { "password": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" }, "username": { "properties": { "key": { "type": "string" }, "name": { "default": "", "type": "string" }, "optional": { "type": "boolean" } }, "required": [ "key" ], "type": "object", "x-kubernetes-map-type": "atomic" } }, "type": "object" } }, "type": "object" } }, "required": [ "instanceSelector" ], "type": "object", "x-kubernetes-validations": [ { "message": "Only one of folderUID or folderRef can be declared at the same time", "rule": "(has(self.folderUID) && !(has(self.folderRef))) || (has(self.folderRef) && !(has(self.folderUID))) || !(has(self.folderRef) && (has(self.folderUID)))" }, { "message": "folder field cannot be set when folderUID or folderRef is already declared", "rule": "(has(self.folder) && !(has(self.folderRef) || has(self.folderUID))) || !(has(self.folder))" }, { "message": "spec.uid is immutable", "rule": "((!has(oldSelf.uid) && !has(self.uid)) || (has(oldSelf.uid) && has(self.uid)))" }, { "message": "disabling spec.allowCrossNamespaceImport requires a recreate to ensure desired state", "rule": "!oldSelf.allowCrossNamespaceImport || (oldSelf.allowCrossNamespaceImport && self.allowCrossNamespaceImport)" } ] }, "status": { "properties": { "NoMatchingInstances": { "type": "boolean" }, "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" }, "type": "array" }, "contentCache": { "format": "byte", "type": "string" }, "contentTimestamp": { "format": "date-time", "type": "string" }, "contentUrl": { "type": "string" }, "hash": { "type": "string" }, "lastResync": { "format": "date-time", "type": "string" }, "uid": { "type": "string" } }, "type": "object" } }, "required": [ "spec" ], "type": "object" }