kubernetes-models
Version:
77 lines (76 loc) • 2.09 kB
JavaScript
import { register } from "@kubernetes-models/validate";
import { addSchema as IoK8sApiCoreV1TopologySelectorTerm } from "./IoK8sApiCoreV1TopologySelectorTerm.mjs";
import { addSchema as IoK8sApimachineryPkgApisMetaV1ObjectMeta } from "@kubernetes-models/apimachinery/_schemas/IoK8sApimachineryPkgApisMetaV1ObjectMeta";
const schema = {
"properties": {
"allowVolumeExpansion": {
"type": "boolean",
"nullable": true
},
"allowedTopologies": {
"items": {
"$ref": "io.k8s.api.core.v1.TopologySelectorTerm#"
},
"type": "array",
"nullable": true
},
"apiVersion": {
"type": "string",
"enum": [
"storage.k8s.io/v1"
]
},
"kind": {
"type": "string",
"enum": [
"StorageClass"
]
},
"metadata": {
"oneOf": [
{
"$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta#"
},
{
"type": "null"
}
]
},
"mountOptions": {
"items": {
"type": "string"
},
"type": "array",
"nullable": true
},
"parameters": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"nullable": true
},
"provisioner": {
"type": "string"
},
"reclaimPolicy": {
"type": "string",
"nullable": true
},
"volumeBindingMode": {
"type": "string",
"nullable": true
}
},
"required": [
"provisioner",
"apiVersion",
"kind"
],
"type": "object"
};
export function addSchema() {
IoK8sApiCoreV1TopologySelectorTerm();
IoK8sApimachineryPkgApisMetaV1ObjectMeta();
register("io.k8s.api.storage.v1.StorageClass", schema);
}