{ "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiVersion": { "type": "string" }, "kind": { "type": "string" }, "metadata": { "type": "object" }, "spec": { "properties": { "source": { "properties": { "selector": { "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": "selector is immutable", "rule": "self == oldSelf" } ] }, "volumeGroupSnapshotContentName": { "type": "string", "x-kubernetes-validations": [ { "message": "volumeGroupSnapshotContentName is immutable", "rule": "self == oldSelf" } ] } }, "type": "object", "x-kubernetes-validations": [ { "message": "selector is required once set", "rule": "!has(oldSelf.selector) || has(self.selector)" }, { "message": "volumeGroupSnapshotContentName is required once set", "rule": "!has(oldSelf.volumeGroupSnapshotContentName) || has(self.volumeGroupSnapshotContentName)" }, { "message": "exactly one of selector and volumeGroupSnapshotContentName must be set", "rule": "(has(self.selector) && !has(self.volumeGroupSnapshotContentName)) || (!has(self.selector) && has(self.volumeGroupSnapshotContentName))" } ] }, "volumeGroupSnapshotClassName": { "type": "string", "x-kubernetes-validations": [ { "message": "volumeGroupSnapshotClassName must not be the empty string when set", "rule": "size(self) > 0" } ] } }, "required": [ "source" ], "type": "object" }, "status": { "properties": { "boundVolumeGroupSnapshotContentName": { "type": "string", "x-kubernetes-validations": [ { "message": "boundVolumeGroupSnapshotContentName is immutable once set", "rule": "self == oldSelf" } ] }, "creationTime": { "format": "date-time", "type": "string" }, "error": { "properties": { "message": { "type": "string" }, "time": { "format": "date-time", "type": "string" } }, "type": "object" }, "readyToUse": { "type": "boolean" } }, "type": "object" } }, "required": [ "spec" ], "type": "object" }