kubernetes-models
Version:
128 lines (127 loc) • 4.62 kB
JavaScript
import { register } from "@kubernetes-models/validate";
import { addSchema as IoK8sApiAppsV1StatefulSetPersistentVolumeClaimRetentionPolicy } from "./IoK8sApiAppsV1StatefulSetPersistentVolumeClaimRetentionPolicy.mjs";
import { addSchema as IoK8sApimachineryPkgApisMetaV1LabelSelector } from "@kubernetes-models/apimachinery/_schemas/IoK8sApimachineryPkgApisMetaV1LabelSelector";
import { addSchema as IoK8sApiCoreV1PodTemplateSpec } from "./IoK8sApiCoreV1PodTemplateSpec.mjs";
import { addSchema as IoK8sApiAppsV1StatefulSetUpdateStrategy } from "./IoK8sApiAppsV1StatefulSetUpdateStrategy.mjs";
import { addSchema as IoK8sApimachineryPkgApisMetaV1ObjectMeta } from "@kubernetes-models/apimachinery/_schemas/IoK8sApimachineryPkgApisMetaV1ObjectMeta";
import { addSchema as IoK8sApiCoreV1PersistentVolumeClaimSpec } from "./IoK8sApiCoreV1PersistentVolumeClaimSpec.mjs";
import { addSchema as IoK8sApiCoreV1PersistentVolumeClaimStatus } from "./IoK8sApiCoreV1PersistentVolumeClaimStatus.mjs";
const schema = {
"properties": {
"minReadySeconds": {
"format": "int32",
"type": "integer",
"nullable": true
},
"persistentVolumeClaimRetentionPolicy": {
"oneOf": [
{
"$ref": "io.k8s.api.apps.v1.StatefulSetPersistentVolumeClaimRetentionPolicy#"
},
{
"type": "null"
}
]
},
"podManagementPolicy": {
"enum": [
"OrderedReady",
"Parallel"
],
"type": "string",
"nullable": true
},
"replicas": {
"format": "int32",
"type": "integer",
"nullable": true
},
"revisionHistoryLimit": {
"format": "int32",
"type": "integer",
"nullable": true
},
"selector": {
"$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector#"
},
"serviceName": {
"type": "string"
},
"template": {
"$ref": "io.k8s.api.core.v1.PodTemplateSpec#"
},
"updateStrategy": {
"oneOf": [
{
"$ref": "io.k8s.api.apps.v1.StatefulSetUpdateStrategy#"
},
{
"type": "null"
}
]
},
"volumeClaimTemplates": {
"items": {
"properties": {
"apiVersion": {
"type": "string",
"nullable": true
},
"kind": {
"type": "string",
"nullable": true
},
"metadata": {
"oneOf": [
{
"$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta#"
},
{
"type": "null"
}
]
},
"spec": {
"oneOf": [
{
"$ref": "io.k8s.api.core.v1.PersistentVolumeClaimSpec#"
},
{
"type": "null"
}
]
},
"status": {
"oneOf": [
{
"$ref": "io.k8s.api.core.v1.PersistentVolumeClaimStatus#"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"type": "array",
"nullable": true
}
},
"required": [
"selector",
"template",
"serviceName"
],
"type": "object"
};
export function addSchema() {
IoK8sApiAppsV1StatefulSetPersistentVolumeClaimRetentionPolicy();
IoK8sApimachineryPkgApisMetaV1LabelSelector();
IoK8sApiCoreV1PodTemplateSpec();
IoK8sApiAppsV1StatefulSetUpdateStrategy();
IoK8sApimachineryPkgApisMetaV1ObjectMeta();
IoK8sApiCoreV1PersistentVolumeClaimSpec();
IoK8sApiCoreV1PersistentVolumeClaimStatus();
register("io.k8s.api.apps.v1.StatefulSetSpec", schema);
}