kubernetes-models
Version:
76 lines (75 loc) • 2.31 kB
JavaScript
import { register } from "@kubernetes-models/validate";
import { addSchema as IoK8sApimachineryPkgApiResourceQuantity } from "@kubernetes-models/apimachinery/_schemas/IoK8sApimachineryPkgApiResourceQuantity";
import { addSchema as IoK8sApimachineryPkgApisMetaV1ObjectMeta } from "@kubernetes-models/apimachinery/_schemas/IoK8sApimachineryPkgApisMetaV1ObjectMeta";
import { addSchema as IoK8sApimachineryPkgApisMetaV1LabelSelector } from "@kubernetes-models/apimachinery/_schemas/IoK8sApimachineryPkgApisMetaV1LabelSelector";
const schema = {
"properties": {
"apiVersion": {
"type": "string",
"enum": [
"storage.k8s.io/v1"
]
},
"capacity": {
"oneOf": [
{
"$ref": "io.k8s.apimachinery.pkg.api.resource.Quantity#"
},
{
"type": "null"
}
]
},
"kind": {
"type": "string",
"enum": [
"CSIStorageCapacity"
]
},
"maximumVolumeSize": {
"oneOf": [
{
"$ref": "io.k8s.apimachinery.pkg.api.resource.Quantity#"
},
{
"type": "null"
}
]
},
"metadata": {
"oneOf": [
{
"$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta#"
},
{
"type": "null"
}
]
},
"nodeTopology": {
"oneOf": [
{
"$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector#"
},
{
"type": "null"
}
]
},
"storageClassName": {
"type": "string"
}
},
"required": [
"storageClassName",
"apiVersion",
"kind"
],
"type": "object"
};
export function addSchema() {
IoK8sApimachineryPkgApiResourceQuantity();
IoK8sApimachineryPkgApisMetaV1ObjectMeta();
IoK8sApimachineryPkgApisMetaV1LabelSelector();
register("io.k8s.api.storage.v1.CSIStorageCapacity", schema);
}