@bluedynamics/cdk8s-plone 0.1.43 → 0.1.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/.jsii +24 -23
  2. package/API.md +6 -2
  3. package/README.md +3 -3
  4. package/documentation/sources/conf.py +55 -29
  5. package/documentation/sources/explanation/architecture.md +14 -16
  6. package/documentation/sources/explanation/cdk8s-workflow.md +66 -0
  7. package/documentation/sources/explanation/index.md +1 -27
  8. package/documentation/sources/how-to/backup-and-restore.md +107 -0
  9. package/documentation/sources/how-to/configure-env-and-secrets.md +184 -0
  10. package/documentation/sources/how-to/configure-ingress-tls.md +108 -0
  11. package/documentation/sources/how-to/configure-security-context.md +0 -5
  12. package/documentation/sources/how-to/deploy-blicca.md +8 -8
  13. package/documentation/sources/how-to/{deploy-production-volto.md → deploy-volto.md} +20 -25
  14. package/documentation/sources/how-to/deploy-with-httpcache.md +224 -0
  15. package/documentation/sources/how-to/deploy-with-vinyl-cache.md +0 -5
  16. package/documentation/sources/how-to/enable-prometheus-monitoring.md +4 -5
  17. package/documentation/sources/how-to/index.md +15 -8
  18. package/documentation/sources/how-to/scale-and-high-availability.md +122 -0
  19. package/documentation/sources/how-to/schedule-pods.md +0 -5
  20. package/documentation/sources/how-to/troubleshooting.md +113 -0
  21. package/documentation/sources/how-to/upgrade-and-rollout.md +89 -0
  22. package/documentation/sources/index.md +3 -11
  23. package/documentation/sources/reference/api/index.md +6 -4
  24. package/documentation/sources/reference/configuration-options.md +85 -516
  25. package/documentation/sources/reference/index.md +16 -43
  26. package/documentation/sources/tutorials/01-quick-start.md +1 -1
  27. package/documentation/sources/tutorials/index.md +7 -11
  28. package/examples/blicca/.env.example +3 -2
  29. package/examples/blicca/README.md +21 -24
  30. package/examples/blicca/__snapshots__/main.test.ts.snap +138 -345
  31. package/examples/blicca/main.test.ts +7 -0
  32. package/examples/blicca/main.ts +8 -7
  33. package/examples/blicca/postgres.plain.ts +115 -0
  34. package/examples/blicca/tsconfig.json +33 -0
  35. package/examples/{production-volto → volto}/.env.example +3 -2
  36. package/examples/{production-volto → volto}/README.md +20 -23
  37. package/examples/{production-volto → volto}/__snapshots__/main.test.ts.snap +139 -345
  38. package/examples/{production-volto → volto}/main.test.ts +7 -0
  39. package/examples/{production-volto → volto}/main.ts +8 -7
  40. package/examples/{production-volto → volto}/package.json +1 -1
  41. package/examples/volto/postgres.plain.ts +115 -0
  42. package/examples/volto/tsconfig.json +33 -0
  43. package/lib/httpcache.js +1 -1
  44. package/lib/imports/vinyl.bluedynamics.eu.d.ts +4011 -53
  45. package/lib/imports/vinyl.bluedynamics.eu.js +1786 -157
  46. package/lib/plone.js +1 -1
  47. package/lib/vinylcache.d.ts +3 -1
  48. package/lib/vinylcache.js +3 -2
  49. package/package.json +1 -1
  50. package/documentation/sources/_static/brand-theme.css +0 -685
  51. package/documentation/sources/_static/custom-icons.css +0 -123
  52. package/documentation/sources/_static/fonts/hack/Hack-Regular.woff2 +0 -0
  53. package/documentation/sources/_static/fonts/orbitron/Orbitron-Black.woff2 +0 -11
  54. package/documentation/sources/_static/fonts/orbitron/Orbitron-Bold.woff2 +0 -11
  55. package/documentation/sources/_static/fonts/orbitron/Orbitron-Regular.woff2 +0 -0
  56. package/documentation/sources/_static/fonts/rajdhani/Rajdhani-Bold.woff2 +0 -11
  57. package/documentation/sources/_static/fonts/rajdhani/Rajdhani-Medium.woff2 +0 -11
  58. package/documentation/sources/_static/fonts/rajdhani/Rajdhani-Regular.woff2 +0 -11
  59. package/documentation/sources/_static/fonts/rajdhani/Rajdhani-SemiBold.woff2 +0 -11
  60. package/documentation/sources/_static/kup6s-icon-explanation.svg +0 -32
  61. package/documentation/sources/_static/kup6s-icon-howto.svg +0 -34
  62. package/documentation/sources/_static/kup6s-icon-reference.svg +0 -34
  63. package/documentation/sources/_static/kup6s-icon-tutorials.svg +0 -30
  64. package/documentation/sources/_static/logo-fix.js +0 -12
  65. package/documentation/sources/reference/api/.gitkeep +0 -1
  66. package/examples/blicca/postgres.bitnami.ts +0 -49
  67. package/examples/production-volto/postgres.bitnami.ts +0 -49
  68. /package/documentation/sources/_static/{kup6s-icon-plone.svg → logo.svg} +0 -0
  69. /package/examples/{production-volto → volto}/cdk8s.yaml +0 -0
  70. /package/examples/{production-volto → volto}/config/varnish.tpl.vcl +0 -0
  71. /package/examples/{production-volto → volto}/ingress.ts +0 -0
  72. /package/examples/{production-volto → volto}/jest.config.js +0 -0
  73. /package/examples/{production-volto → volto}/postgres.cloudnativepg.ts +0 -0
@@ -163,6 +163,17 @@ export interface VinylCacheSpec {
163
163
  * @schema VinylCacheSpec#vcl
164
164
  */
165
165
  readonly vcl?: VinylCacheSpecVcl;
166
+ /**
167
+ * volumeClaimTemplates are appended verbatim to the generated StatefulSet's
168
+ * spec.volumeClaimTemplates. Each template yields one PVC per replica
169
+ * (named <claim>-<statefulset>-<ord>) that persists across pod restarts
170
+ * for that replica. Useful for per-replica SSD-backed file storage.
171
+ * Reference the claim name from spec.pod.volumeMounts; reference the
172
+ * resulting mountPath from spec.storage[].path.
173
+ *
174
+ * @schema VinylCacheSpec#volumeClaimTemplates
175
+ */
176
+ readonly volumeClaimTemplates?: VinylCacheSpecVolumeClaimTemplates[];
166
177
  }
167
178
  /**
168
179
  * Converts an object of type 'VinylCacheSpec' to JSON representation.
@@ -338,6 +349,13 @@ export interface VinylCacheSpecMonitoring {
338
349
  * @schema VinylCacheSpecMonitoring#enabled
339
350
  */
340
351
  readonly enabled?: boolean;
352
+ /**
353
+ * exporter configures the prometheus_varnish_exporter sidecar that exposes
354
+ * native varnish_* metrics (cache hit/miss, backend health) from varnishstat.
355
+ *
356
+ * @schema VinylCacheSpecMonitoring#exporter
357
+ */
358
+ readonly exporter?: VinylCacheSpecMonitoringExporter;
341
359
  /**
342
360
  * prometheusRules configures PrometheusRule objects for alerting.
343
361
  *
@@ -403,6 +421,28 @@ export interface VinylCacheSpecPod {
403
421
  * @schema VinylCacheSpecPod#tolerations
404
422
  */
405
423
  readonly tolerations?: VinylCacheSpecPodTolerations[];
424
+ /**
425
+ * volumeMounts are additional mounts appended to the varnish container.
426
+ * Each entry must reference a name present in spec.pod.volumes or
427
+ * spec.volumeClaimTemplates. Reserved mount paths (/run/vinyl,
428
+ * /etc/varnish/secret, /var/lib/varnish, /tmp, /etc/varnish/default.vcl)
429
+ * are rejected by the admission webhook.
430
+ *
431
+ * @schema VinylCacheSpecPod#volumeMounts
432
+ */
433
+ readonly volumeMounts?: VinylCacheSpecPodVolumeMounts[];
434
+ /**
435
+ * volumes are additional pod-level volumes appended to the operator-managed
436
+ * defaults (agent-token, varnish-secret, varnish-workdir, varnish-tmp,
437
+ * bootstrap-vcl). Use to back spec.storage[].path with a PVC, an EmptyDir
438
+ * with sizeLimit, or any VolumeSource supported by Kubernetes. Reserved
439
+ * names collide with operator-managed volumes and are rejected by the
440
+ * admission webhook. Volume names must also be unique across volumes and
441
+ * volumeClaimTemplates.
442
+ *
443
+ * @schema VinylCacheSpecPod#volumes
444
+ */
445
+ readonly volumes?: VinylCacheSpecPodVolumes[];
406
446
  }
407
447
  /**
408
448
  * Converts an object of type 'VinylCacheSpecPod' to JSON representation.
@@ -591,6 +631,58 @@ export interface VinylCacheSpecVcl {
591
631
  * Converts an object of type 'VinylCacheSpecVcl' to JSON representation.
592
632
  */
593
633
  export declare function toJson_VinylCacheSpecVcl(obj: VinylCacheSpecVcl | undefined): Record<string, any> | undefined;
634
+ /**
635
+ * PersistentVolumeClaim is a user's request for and claim to a persistent volume
636
+ *
637
+ * @schema VinylCacheSpecVolumeClaimTemplates
638
+ */
639
+ export interface VinylCacheSpecVolumeClaimTemplates {
640
+ /**
641
+ * APIVersion defines the versioned schema of this representation of an object.
642
+ * Servers should convert recognized schemas to the latest internal value, and
643
+ * may reject unrecognized values.
644
+ * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
645
+ *
646
+ * @schema VinylCacheSpecVolumeClaimTemplates#apiVersion
647
+ */
648
+ readonly apiVersion?: string;
649
+ /**
650
+ * Kind is a string value representing the REST resource this object represents.
651
+ * Servers may infer this from the endpoint the client submits requests to.
652
+ * Cannot be updated.
653
+ * In CamelCase.
654
+ * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
655
+ *
656
+ * @schema VinylCacheSpecVolumeClaimTemplates#kind
657
+ */
658
+ readonly kind?: string;
659
+ /**
660
+ * Standard object's metadata.
661
+ * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
662
+ *
663
+ * @schema VinylCacheSpecVolumeClaimTemplates#metadata
664
+ */
665
+ readonly metadata?: any;
666
+ /**
667
+ * spec defines the desired characteristics of a volume requested by a pod author.
668
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
669
+ *
670
+ * @schema VinylCacheSpecVolumeClaimTemplates#spec
671
+ */
672
+ readonly spec?: VinylCacheSpecVolumeClaimTemplatesSpec;
673
+ /**
674
+ * status represents the current information/status of a persistent volume claim.
675
+ * Read-only.
676
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
677
+ *
678
+ * @schema VinylCacheSpecVolumeClaimTemplates#status
679
+ */
680
+ readonly status?: VinylCacheSpecVolumeClaimTemplatesStatus;
681
+ }
682
+ /**
683
+ * Converts an object of type 'VinylCacheSpecVolumeClaimTemplates' to JSON representation.
684
+ */
685
+ export declare function toJson_VinylCacheSpecVolumeClaimTemplates(obj: VinylCacheSpecVolumeClaimTemplates | undefined): Record<string, any> | undefined;
594
686
  /**
595
687
  * connectionParameters configures backend connection pool timeouts and limits.
596
688
  *
@@ -921,6 +1013,45 @@ export interface VinylCacheSpecInvalidationXkey {
921
1013
  * Converts an object of type 'VinylCacheSpecInvalidationXkey' to JSON representation.
922
1014
  */
923
1015
  export declare function toJson_VinylCacheSpecInvalidationXkey(obj: VinylCacheSpecInvalidationXkey | undefined): Record<string, any> | undefined;
1016
+ /**
1017
+ * exporter configures the prometheus_varnish_exporter sidecar that exposes
1018
+ * native varnish_* metrics (cache hit/miss, backend health) from varnishstat.
1019
+ *
1020
+ * @schema VinylCacheSpecMonitoringExporter
1021
+ */
1022
+ export interface VinylCacheSpecMonitoringExporter {
1023
+ /**
1024
+ * enabled adds a prometheus_varnish_exporter sidecar to each Varnish pod.
1025
+ *
1026
+ * @schema VinylCacheSpecMonitoringExporter#enabled
1027
+ */
1028
+ readonly enabled?: boolean;
1029
+ /**
1030
+ * image overrides the exporter image. Defaults to
1031
+ * ghcr.io/bluedynamics/varnish-exporter:1.6.1.
1032
+ *
1033
+ * @default ghcr.io/bluedynamics/varnish-exporter:1.6.1.
1034
+ * @schema VinylCacheSpecMonitoringExporter#image
1035
+ */
1036
+ readonly image?: VinylCacheSpecMonitoringExporterImage;
1037
+ /**
1038
+ * port is the container port the exporter listens on. Defaults to 9131.
1039
+ *
1040
+ * @default 9131.
1041
+ * @schema VinylCacheSpecMonitoringExporter#port
1042
+ */
1043
+ readonly port?: number;
1044
+ /**
1045
+ * resources sets the exporter container resource requirements.
1046
+ *
1047
+ * @schema VinylCacheSpecMonitoringExporter#resources
1048
+ */
1049
+ readonly resources?: VinylCacheSpecMonitoringExporterResources;
1050
+ }
1051
+ /**
1052
+ * Converts an object of type 'VinylCacheSpecMonitoringExporter' to JSON representation.
1053
+ */
1054
+ export declare function toJson_VinylCacheSpecMonitoringExporter(obj: VinylCacheSpecMonitoringExporter | undefined): Record<string, any> | undefined;
924
1055
  /**
925
1056
  * prometheusRules configures PrometheusRule objects for alerting.
926
1057
  *
@@ -1044,6 +1175,367 @@ export interface VinylCacheSpecPodTolerations {
1044
1175
  * Converts an object of type 'VinylCacheSpecPodTolerations' to JSON representation.
1045
1176
  */
1046
1177
  export declare function toJson_VinylCacheSpecPodTolerations(obj: VinylCacheSpecPodTolerations | undefined): Record<string, any> | undefined;
1178
+ /**
1179
+ * VolumeMount describes a mounting of a Volume within a container.
1180
+ *
1181
+ * @schema VinylCacheSpecPodVolumeMounts
1182
+ */
1183
+ export interface VinylCacheSpecPodVolumeMounts {
1184
+ /**
1185
+ * Path within the container at which the volume should be mounted. Must
1186
+ * not contain ':'.
1187
+ *
1188
+ * @schema VinylCacheSpecPodVolumeMounts#mountPath
1189
+ */
1190
+ readonly mountPath: string;
1191
+ /**
1192
+ * mountPropagation determines how mounts are propagated from the host
1193
+ * to container and the other way around.
1194
+ * When not set, MountPropagationNone is used.
1195
+ * This field is beta in 1.10.
1196
+ * When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified
1197
+ * (which defaults to None).
1198
+ *
1199
+ * @schema VinylCacheSpecPodVolumeMounts#mountPropagation
1200
+ */
1201
+ readonly mountPropagation?: string;
1202
+ /**
1203
+ * This must match the Name of a Volume.
1204
+ *
1205
+ * @schema VinylCacheSpecPodVolumeMounts#name
1206
+ */
1207
+ readonly name: string;
1208
+ /**
1209
+ * Mounted read-only if true, read-write otherwise (false or unspecified).
1210
+ * Defaults to false.
1211
+ *
1212
+ * @default false.
1213
+ * @schema VinylCacheSpecPodVolumeMounts#readOnly
1214
+ */
1215
+ readonly readOnly?: boolean;
1216
+ /**
1217
+ * RecursiveReadOnly specifies whether read-only mounts should be handled
1218
+ * recursively.
1219
+ *
1220
+ * If ReadOnly is false, this field has no meaning and must be unspecified.
1221
+ *
1222
+ * If ReadOnly is true, and this field is set to Disabled, the mount is not made
1223
+ * recursively read-only. If this field is set to IfPossible, the mount is made
1224
+ * recursively read-only, if it is supported by the container runtime. If this
1225
+ * field is set to Enabled, the mount is made recursively read-only if it is
1226
+ * supported by the container runtime, otherwise the pod will not be started and
1227
+ * an error will be generated to indicate the reason.
1228
+ *
1229
+ * If this field is set to IfPossible or Enabled, MountPropagation must be set to
1230
+ * None (or be unspecified, which defaults to None).
1231
+ *
1232
+ * If this field is not specified, it is treated as an equivalent of Disabled.
1233
+ *
1234
+ * @schema VinylCacheSpecPodVolumeMounts#recursiveReadOnly
1235
+ */
1236
+ readonly recursiveReadOnly?: string;
1237
+ /**
1238
+ * Path within the volume from which the container's volume should be mounted.
1239
+ * Defaults to "" (volume's root).
1240
+ *
1241
+ * @default volume's root).
1242
+ * @schema VinylCacheSpecPodVolumeMounts#subPath
1243
+ */
1244
+ readonly subPath?: string;
1245
+ /**
1246
+ * Expanded path within the volume from which the container's volume should be mounted.
1247
+ * Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
1248
+ * Defaults to "" (volume's root).
1249
+ * SubPathExpr and SubPath are mutually exclusive.
1250
+ *
1251
+ * @default volume's root).
1252
+ * @schema VinylCacheSpecPodVolumeMounts#subPathExpr
1253
+ */
1254
+ readonly subPathExpr?: string;
1255
+ }
1256
+ /**
1257
+ * Converts an object of type 'VinylCacheSpecPodVolumeMounts' to JSON representation.
1258
+ */
1259
+ export declare function toJson_VinylCacheSpecPodVolumeMounts(obj: VinylCacheSpecPodVolumeMounts | undefined): Record<string, any> | undefined;
1260
+ /**
1261
+ * Volume represents a named volume in a pod that may be accessed by any container in the pod.
1262
+ *
1263
+ * @schema VinylCacheSpecPodVolumes
1264
+ */
1265
+ export interface VinylCacheSpecPodVolumes {
1266
+ /**
1267
+ * awsElasticBlockStore represents an AWS Disk resource that is attached to a
1268
+ * kubelet's host machine and then exposed to the pod.
1269
+ * Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
1270
+ * awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
1271
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
1272
+ *
1273
+ * @schema VinylCacheSpecPodVolumes#awsElasticBlockStore
1274
+ */
1275
+ readonly awsElasticBlockStore?: VinylCacheSpecPodVolumesAwsElasticBlockStore;
1276
+ /**
1277
+ * azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
1278
+ * Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
1279
+ * are redirected to the disk.csi.azure.com CSI driver.
1280
+ *
1281
+ * @schema VinylCacheSpecPodVolumes#azureDisk
1282
+ */
1283
+ readonly azureDisk?: VinylCacheSpecPodVolumesAzureDisk;
1284
+ /**
1285
+ * azureFile represents an Azure File Service mount on the host and bind mount to the pod.
1286
+ * Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
1287
+ * are redirected to the file.csi.azure.com CSI driver.
1288
+ *
1289
+ * @schema VinylCacheSpecPodVolumes#azureFile
1290
+ */
1291
+ readonly azureFile?: VinylCacheSpecPodVolumesAzureFile;
1292
+ /**
1293
+ * cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
1294
+ * Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
1295
+ *
1296
+ * @schema VinylCacheSpecPodVolumes#cephfs
1297
+ */
1298
+ readonly cephfs?: VinylCacheSpecPodVolumesCephfs;
1299
+ /**
1300
+ * cinder represents a cinder volume attached and mounted on kubelets host machine.
1301
+ * Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
1302
+ * are redirected to the cinder.csi.openstack.org CSI driver.
1303
+ * More info: https://examples.k8s.io/mysql-cinder-pd/README.md
1304
+ *
1305
+ * @schema VinylCacheSpecPodVolumes#cinder
1306
+ */
1307
+ readonly cinder?: VinylCacheSpecPodVolumesCinder;
1308
+ /**
1309
+ * configMap represents a configMap that should populate this volume
1310
+ *
1311
+ * @schema VinylCacheSpecPodVolumes#configMap
1312
+ */
1313
+ readonly configMap?: VinylCacheSpecPodVolumesConfigMap;
1314
+ /**
1315
+ * csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.
1316
+ *
1317
+ * @schema VinylCacheSpecPodVolumes#csi
1318
+ */
1319
+ readonly csi?: VinylCacheSpecPodVolumesCsi;
1320
+ /**
1321
+ * downwardAPI represents downward API about the pod that should populate this volume
1322
+ *
1323
+ * @schema VinylCacheSpecPodVolumes#downwardAPI
1324
+ */
1325
+ readonly downwardApi?: VinylCacheSpecPodVolumesDownwardApi;
1326
+ /**
1327
+ * emptyDir represents a temporary directory that shares a pod's lifetime.
1328
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
1329
+ *
1330
+ * @schema VinylCacheSpecPodVolumes#emptyDir
1331
+ */
1332
+ readonly emptyDir?: VinylCacheSpecPodVolumesEmptyDir;
1333
+ /**
1334
+ * ephemeral represents a volume that is handled by a cluster storage driver.
1335
+ * The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
1336
+ * and deleted when the pod is removed.
1337
+ *
1338
+ * Use this if:
1339
+ * a) the volume is only needed while the pod runs,
1340
+ * b) features of normal volumes like restoring from snapshot or capacity
1341
+ * tracking are needed,
1342
+ * c) the storage driver is specified through a storage class, and
1343
+ * d) the storage driver supports dynamic volume provisioning through
1344
+ * a PersistentVolumeClaim (see EphemeralVolumeSource for more
1345
+ * information on the connection between this volume type
1346
+ * and PersistentVolumeClaim).
1347
+ *
1348
+ * Use PersistentVolumeClaim or one of the vendor-specific
1349
+ * APIs for volumes that persist for longer than the lifecycle
1350
+ * of an individual pod.
1351
+ *
1352
+ * Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
1353
+ * be used that way - see the documentation of the driver for
1354
+ * more information.
1355
+ *
1356
+ * A pod can use both types of ephemeral volumes and
1357
+ * persistent volumes at the same time.
1358
+ *
1359
+ * @schema VinylCacheSpecPodVolumes#ephemeral
1360
+ */
1361
+ readonly ephemeral?: VinylCacheSpecPodVolumesEphemeral;
1362
+ /**
1363
+ * fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.
1364
+ *
1365
+ * @schema VinylCacheSpecPodVolumes#fc
1366
+ */
1367
+ readonly fc?: VinylCacheSpecPodVolumesFc;
1368
+ /**
1369
+ * flexVolume represents a generic volume resource that is
1370
+ * provisioned/attached using an exec based plugin.
1371
+ * Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
1372
+ *
1373
+ * @schema VinylCacheSpecPodVolumes#flexVolume
1374
+ */
1375
+ readonly flexVolume?: VinylCacheSpecPodVolumesFlexVolume;
1376
+ /**
1377
+ * flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
1378
+ * Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
1379
+ *
1380
+ * @schema VinylCacheSpecPodVolumes#flocker
1381
+ */
1382
+ readonly flocker?: VinylCacheSpecPodVolumesFlocker;
1383
+ /**
1384
+ * gcePersistentDisk represents a GCE Disk resource that is attached to a
1385
+ * kubelet's host machine and then exposed to the pod.
1386
+ * Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
1387
+ * gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
1388
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
1389
+ *
1390
+ * @schema VinylCacheSpecPodVolumes#gcePersistentDisk
1391
+ */
1392
+ readonly gcePersistentDisk?: VinylCacheSpecPodVolumesGcePersistentDisk;
1393
+ /**
1394
+ * gitRepo represents a git repository at a particular revision.
1395
+ * Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
1396
+ * EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
1397
+ * into the Pod's container.
1398
+ *
1399
+ * @schema VinylCacheSpecPodVolumes#gitRepo
1400
+ */
1401
+ readonly gitRepo?: VinylCacheSpecPodVolumesGitRepo;
1402
+ /**
1403
+ * glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
1404
+ * Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
1405
+ *
1406
+ * @schema VinylCacheSpecPodVolumes#glusterfs
1407
+ */
1408
+ readonly glusterfs?: VinylCacheSpecPodVolumesGlusterfs;
1409
+ /**
1410
+ * hostPath represents a pre-existing file or directory on the host
1411
+ * machine that is directly exposed to the container. This is generally
1412
+ * used for system agents or other privileged things that are allowed
1413
+ * to see the host machine. Most containers will NOT need this.
1414
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
1415
+ *
1416
+ * @schema VinylCacheSpecPodVolumes#hostPath
1417
+ */
1418
+ readonly hostPath?: VinylCacheSpecPodVolumesHostPath;
1419
+ /**
1420
+ * image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
1421
+ * The volume is resolved at pod startup depending on which PullPolicy value is provided:
1422
+ *
1423
+ * - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
1424
+ * - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
1425
+ * - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
1426
+ *
1427
+ * The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation.
1428
+ * A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message.
1429
+ * The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field.
1430
+ * The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images.
1431
+ * The volume will be mounted read-only (ro) and non-executable files (noexec).
1432
+ * Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33.
1433
+ * The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
1434
+ *
1435
+ * @schema VinylCacheSpecPodVolumes#image
1436
+ */
1437
+ readonly image?: VinylCacheSpecPodVolumesImage;
1438
+ /**
1439
+ * iscsi represents an ISCSI Disk resource that is attached to a
1440
+ * kubelet's host machine and then exposed to the pod.
1441
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes/#iscsi
1442
+ *
1443
+ * @schema VinylCacheSpecPodVolumes#iscsi
1444
+ */
1445
+ readonly iscsi?: VinylCacheSpecPodVolumesIscsi;
1446
+ /**
1447
+ * name of the volume.
1448
+ * Must be a DNS_LABEL and unique within the pod.
1449
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1450
+ *
1451
+ * @schema VinylCacheSpecPodVolumes#name
1452
+ */
1453
+ readonly name: string;
1454
+ /**
1455
+ * nfs represents an NFS mount on the host that shares a pod's lifetime
1456
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
1457
+ *
1458
+ * @schema VinylCacheSpecPodVolumes#nfs
1459
+ */
1460
+ readonly nfs?: VinylCacheSpecPodVolumesNfs;
1461
+ /**
1462
+ * persistentVolumeClaimVolumeSource represents a reference to a
1463
+ * PersistentVolumeClaim in the same namespace.
1464
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
1465
+ *
1466
+ * @schema VinylCacheSpecPodVolumes#persistentVolumeClaim
1467
+ */
1468
+ readonly persistentVolumeClaim?: VinylCacheSpecPodVolumesPersistentVolumeClaim;
1469
+ /**
1470
+ * photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
1471
+ * Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
1472
+ *
1473
+ * @schema VinylCacheSpecPodVolumes#photonPersistentDisk
1474
+ */
1475
+ readonly photonPersistentDisk?: VinylCacheSpecPodVolumesPhotonPersistentDisk;
1476
+ /**
1477
+ * portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
1478
+ * Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
1479
+ * are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
1480
+ * is on.
1481
+ *
1482
+ * @schema VinylCacheSpecPodVolumes#portworxVolume
1483
+ */
1484
+ readonly portworxVolume?: VinylCacheSpecPodVolumesPortworxVolume;
1485
+ /**
1486
+ * projected items for all in one resources secrets, configmaps, and downward API
1487
+ *
1488
+ * @schema VinylCacheSpecPodVolumes#projected
1489
+ */
1490
+ readonly projected?: VinylCacheSpecPodVolumesProjected;
1491
+ /**
1492
+ * quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
1493
+ * Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
1494
+ *
1495
+ * @schema VinylCacheSpecPodVolumes#quobyte
1496
+ */
1497
+ readonly quobyte?: VinylCacheSpecPodVolumesQuobyte;
1498
+ /**
1499
+ * rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
1500
+ * Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
1501
+ *
1502
+ * @schema VinylCacheSpecPodVolumes#rbd
1503
+ */
1504
+ readonly rbd?: VinylCacheSpecPodVolumesRbd;
1505
+ /**
1506
+ * scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
1507
+ * Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
1508
+ *
1509
+ * @schema VinylCacheSpecPodVolumes#scaleIO
1510
+ */
1511
+ readonly scaleIo?: VinylCacheSpecPodVolumesScaleIo;
1512
+ /**
1513
+ * secret represents a secret that should populate this volume.
1514
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
1515
+ *
1516
+ * @schema VinylCacheSpecPodVolumes#secret
1517
+ */
1518
+ readonly secret?: VinylCacheSpecPodVolumesSecret;
1519
+ /**
1520
+ * storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
1521
+ * Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
1522
+ *
1523
+ * @schema VinylCacheSpecPodVolumes#storageos
1524
+ */
1525
+ readonly storageos?: VinylCacheSpecPodVolumesStorageos;
1526
+ /**
1527
+ * vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
1528
+ * Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
1529
+ * are redirected to the csi.vsphere.vmware.com CSI driver.
1530
+ *
1531
+ * @schema VinylCacheSpecPodVolumes#vsphereVolume
1532
+ */
1533
+ readonly vsphereVolume?: VinylCacheSpecPodVolumesVsphereVolume;
1534
+ }
1535
+ /**
1536
+ * Converts an object of type 'VinylCacheSpecPodVolumes' to JSON representation.
1537
+ */
1538
+ export declare function toJson_VinylCacheSpecPodVolumes(obj: VinylCacheSpecPodVolumes | undefined): Record<string, any> | undefined;
1047
1539
  /**
1048
1540
  * ResourceClaim references one entry in PodSpec.ResourceClaims.
1049
1541
  *
@@ -1228,6 +1720,239 @@ export interface VinylCacheSpecVclSnippets {
1228
1720
  * Converts an object of type 'VinylCacheSpecVclSnippets' to JSON representation.
1229
1721
  */
1230
1722
  export declare function toJson_VinylCacheSpecVclSnippets(obj: VinylCacheSpecVclSnippets | undefined): Record<string, any> | undefined;
1723
+ /**
1724
+ * spec defines the desired characteristics of a volume requested by a pod author.
1725
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
1726
+ *
1727
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpec
1728
+ */
1729
+ export interface VinylCacheSpecVolumeClaimTemplatesSpec {
1730
+ /**
1731
+ * accessModes contains the desired access modes the volume should have.
1732
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
1733
+ *
1734
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpec#accessModes
1735
+ */
1736
+ readonly accessModes?: string[];
1737
+ /**
1738
+ * dataSource field can be used to specify either:
1739
+ * * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
1740
+ * * An existing PVC (PersistentVolumeClaim)
1741
+ * If the provisioner or an external controller can support the specified data source,
1742
+ * it will create a new volume based on the contents of the specified data source.
1743
+ * When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
1744
+ * and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
1745
+ * If the namespace is specified, then dataSourceRef will not be copied to dataSource.
1746
+ *
1747
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpec#dataSource
1748
+ */
1749
+ readonly dataSource?: VinylCacheSpecVolumeClaimTemplatesSpecDataSource;
1750
+ /**
1751
+ * dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
1752
+ * volume is desired. This may be any object from a non-empty API group (non
1753
+ * core object) or a PersistentVolumeClaim object.
1754
+ * When this field is specified, volume binding will only succeed if the type of
1755
+ * the specified object matches some installed volume populator or dynamic
1756
+ * provisioner.
1757
+ * This field will replace the functionality of the dataSource field and as such
1758
+ * if both fields are non-empty, they must have the same value. For backwards
1759
+ * compatibility, when namespace isn't specified in dataSourceRef,
1760
+ * both fields (dataSource and dataSourceRef) will be set to the same
1761
+ * value automatically if one of them is empty and the other is non-empty.
1762
+ * When namespace is specified in dataSourceRef,
1763
+ * dataSource isn't set to the same value and must be empty.
1764
+ * There are three important differences between dataSource and dataSourceRef:
1765
+ * * While dataSource only allows two specific types of objects, dataSourceRef
1766
+ * allows any non-core object, as well as PersistentVolumeClaim objects.
1767
+ * * While dataSource ignores disallowed values (dropping them), dataSourceRef
1768
+ * preserves all values, and generates an error if a disallowed value is
1769
+ * specified.
1770
+ * * While dataSource only allows local objects, dataSourceRef allows objects
1771
+ * in any namespaces.
1772
+ * (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
1773
+ * (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
1774
+ *
1775
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpec#dataSourceRef
1776
+ */
1777
+ readonly dataSourceRef?: VinylCacheSpecVolumeClaimTemplatesSpecDataSourceRef;
1778
+ /**
1779
+ * resources represents the minimum resources the volume should have.
1780
+ * Users are allowed to specify resource requirements
1781
+ * that are lower than previous value but must still be higher than capacity recorded in the
1782
+ * status field of the claim.
1783
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
1784
+ *
1785
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpec#resources
1786
+ */
1787
+ readonly resources?: VinylCacheSpecVolumeClaimTemplatesSpecResources;
1788
+ /**
1789
+ * selector is a label query over volumes to consider for binding.
1790
+ *
1791
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpec#selector
1792
+ */
1793
+ readonly selector?: VinylCacheSpecVolumeClaimTemplatesSpecSelector;
1794
+ /**
1795
+ * storageClassName is the name of the StorageClass required by the claim.
1796
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
1797
+ *
1798
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpec#storageClassName
1799
+ */
1800
+ readonly storageClassName?: string;
1801
+ /**
1802
+ * volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
1803
+ * If specified, the CSI driver will create or update the volume with the attributes defined
1804
+ * in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
1805
+ * it can be changed after the claim is created. An empty string or nil value indicates that no
1806
+ * VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state,
1807
+ * this field can be reset to its previous value (including nil) to cancel the modification.
1808
+ * If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
1809
+ * set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
1810
+ * exists.
1811
+ * More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
1812
+ *
1813
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpec#volumeAttributesClassName
1814
+ */
1815
+ readonly volumeAttributesClassName?: string;
1816
+ /**
1817
+ * volumeMode defines what type of volume is required by the claim.
1818
+ * Value of Filesystem is implied when not included in claim spec.
1819
+ *
1820
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpec#volumeMode
1821
+ */
1822
+ readonly volumeMode?: string;
1823
+ /**
1824
+ * volumeName is the binding reference to the PersistentVolume backing this claim.
1825
+ *
1826
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpec#volumeName
1827
+ */
1828
+ readonly volumeName?: string;
1829
+ }
1830
+ /**
1831
+ * Converts an object of type 'VinylCacheSpecVolumeClaimTemplatesSpec' to JSON representation.
1832
+ */
1833
+ export declare function toJson_VinylCacheSpecVolumeClaimTemplatesSpec(obj: VinylCacheSpecVolumeClaimTemplatesSpec | undefined): Record<string, any> | undefined;
1834
+ /**
1835
+ * status represents the current information/status of a persistent volume claim.
1836
+ * Read-only.
1837
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
1838
+ *
1839
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatus
1840
+ */
1841
+ export interface VinylCacheSpecVolumeClaimTemplatesStatus {
1842
+ /**
1843
+ * accessModes contains the actual access modes the volume backing the PVC has.
1844
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
1845
+ *
1846
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatus#accessModes
1847
+ */
1848
+ readonly accessModes?: string[];
1849
+ /**
1850
+ * allocatedResourceStatuses stores status of resource being resized for the given PVC.
1851
+ * Key names follow standard Kubernetes label syntax. Valid values are either:
1852
+ * * Un-prefixed keys:
1853
+ * - storage - the capacity of the volume.
1854
+ * * Custom resources must use implementation-defined prefixed names such as "example.com/my-custom-resource"
1855
+ * Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered
1856
+ * reserved and hence may not be used.
1857
+ *
1858
+ * ClaimResourceStatus can be in any of following states:
1859
+ * - ControllerResizeInProgress:
1860
+ * State set when resize controller starts resizing the volume in control-plane.
1861
+ * - ControllerResizeFailed:
1862
+ * State set when resize has failed in resize controller with a terminal error.
1863
+ * - NodeResizePending:
1864
+ * State set when resize controller has finished resizing the volume but further resizing of
1865
+ * volume is needed on the node.
1866
+ * - NodeResizeInProgress:
1867
+ * State set when kubelet starts resizing the volume.
1868
+ * - NodeResizeFailed:
1869
+ * State set when resizing has failed in kubelet with a terminal error. Transient errors don't set
1870
+ * NodeResizeFailed.
1871
+ * For example: if expanding a PVC for more capacity - this field can be one of the following states:
1872
+ * - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeInProgress"
1873
+ * - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeFailed"
1874
+ * - pvc.status.allocatedResourceStatus['storage'] = "NodeResizePending"
1875
+ * - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeInProgress"
1876
+ * - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeFailed"
1877
+ * When this field is not set, it means that no resize operation is in progress for the given PVC.
1878
+ *
1879
+ * A controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus
1880
+ * should ignore the update for the purpose it was designed. For example - a controller that
1881
+ * only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid
1882
+ * resources associated with PVC.
1883
+ *
1884
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatus#allocatedResourceStatuses
1885
+ */
1886
+ readonly allocatedResourceStatuses?: {
1887
+ [key: string]: string;
1888
+ };
1889
+ /**
1890
+ * allocatedResources tracks the resources allocated to a PVC including its capacity.
1891
+ * Key names follow standard Kubernetes label syntax. Valid values are either:
1892
+ * * Un-prefixed keys:
1893
+ * - storage - the capacity of the volume.
1894
+ * * Custom resources must use implementation-defined prefixed names such as "example.com/my-custom-resource"
1895
+ * Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered
1896
+ * reserved and hence may not be used.
1897
+ *
1898
+ * Capacity reported here may be larger than the actual capacity when a volume expansion operation
1899
+ * is requested.
1900
+ * For storage quota, the larger value from allocatedResources and PVC.spec.resources is used.
1901
+ * If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.
1902
+ * If a volume expansion capacity request is lowered, allocatedResources is only
1903
+ * lowered if there are no expansion operations in progress and if the actual volume capacity
1904
+ * is equal or lower than the requested capacity.
1905
+ *
1906
+ * A controller that receives PVC update with previously unknown resourceName
1907
+ * should ignore the update for the purpose it was designed. For example - a controller that
1908
+ * only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid
1909
+ * resources associated with PVC.
1910
+ *
1911
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatus#allocatedResources
1912
+ */
1913
+ readonly allocatedResources?: {
1914
+ [key: string]: VinylCacheSpecVolumeClaimTemplatesStatusAllocatedResources;
1915
+ };
1916
+ /**
1917
+ * capacity represents the actual resources of the underlying volume.
1918
+ *
1919
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatus#capacity
1920
+ */
1921
+ readonly capacity?: {
1922
+ [key: string]: VinylCacheSpecVolumeClaimTemplatesStatusCapacity;
1923
+ };
1924
+ /**
1925
+ * conditions is the current Condition of persistent volume claim. If underlying persistent volume is being
1926
+ * resized then the Condition will be set to 'Resizing'.
1927
+ *
1928
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatus#conditions
1929
+ */
1930
+ readonly conditions?: VinylCacheSpecVolumeClaimTemplatesStatusConditions[];
1931
+ /**
1932
+ * currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.
1933
+ * When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim
1934
+ *
1935
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatus#currentVolumeAttributesClassName
1936
+ */
1937
+ readonly currentVolumeAttributesClassName?: string;
1938
+ /**
1939
+ * ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.
1940
+ * When this is unset, there is no ModifyVolume operation being attempted.
1941
+ *
1942
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatus#modifyVolumeStatus
1943
+ */
1944
+ readonly modifyVolumeStatus?: VinylCacheSpecVolumeClaimTemplatesStatusModifyVolumeStatus;
1945
+ /**
1946
+ * phase represents the current phase of PersistentVolumeClaim.
1947
+ *
1948
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatus#phase
1949
+ */
1950
+ readonly phase?: string;
1951
+ }
1952
+ /**
1953
+ * Converts an object of type 'VinylCacheSpecVolumeClaimTemplatesStatus' to JSON representation.
1954
+ */
1955
+ export declare function toJson_VinylCacheSpecVolumeClaimTemplatesStatus(obj: VinylCacheSpecVolumeClaimTemplatesStatus | undefined): Record<string, any> | undefined;
1231
1956
  /**
1232
1957
  * hash configures the hash director. Only used when type is "hash".
1233
1958
  *
@@ -1345,16 +2070,80 @@ export declare enum VinylCacheSpecDirectorShardHealthy {
1345
2070
  ALL = "ALL"
1346
2071
  }
1347
2072
  /**
1348
- * Describes node affinity scheduling rules for the pod.
2073
+ * image overrides the exporter image. Defaults to
2074
+ * ghcr.io/bluedynamics/varnish-exporter:1.6.1.
1349
2075
  *
1350
- * @schema VinylCacheSpecPodAffinityNodeAffinity
2076
+ * @default ghcr.io/bluedynamics/varnish-exporter:1.6.1.
2077
+ * @schema VinylCacheSpecMonitoringExporterImage
1351
2078
  */
1352
- export interface VinylCacheSpecPodAffinityNodeAffinity {
2079
+ export interface VinylCacheSpecMonitoringExporterImage {
1353
2080
  /**
1354
- * The scheduler will prefer to schedule pods to nodes that satisfy
1355
- * the affinity expressions specified by this field, but it may choose
1356
- * a node that violates one or more of the expressions. The node that is
1357
- * most preferred is the one with the greatest sum of weights, i.e.
2081
+ * @schema VinylCacheSpecMonitoringExporterImage#repository
2082
+ */
2083
+ readonly repository?: string;
2084
+ /**
2085
+ * @schema VinylCacheSpecMonitoringExporterImage#tag
2086
+ */
2087
+ readonly tag?: string;
2088
+ }
2089
+ /**
2090
+ * Converts an object of type 'VinylCacheSpecMonitoringExporterImage' to JSON representation.
2091
+ */
2092
+ export declare function toJson_VinylCacheSpecMonitoringExporterImage(obj: VinylCacheSpecMonitoringExporterImage | undefined): Record<string, any> | undefined;
2093
+ /**
2094
+ * resources sets the exporter container resource requirements.
2095
+ *
2096
+ * @schema VinylCacheSpecMonitoringExporterResources
2097
+ */
2098
+ export interface VinylCacheSpecMonitoringExporterResources {
2099
+ /**
2100
+ * Claims lists the names of resources, defined in spec.resourceClaims,
2101
+ * that are used by this container.
2102
+ *
2103
+ * This field depends on the
2104
+ * DynamicResourceAllocation feature gate.
2105
+ *
2106
+ * This field is immutable. It can only be set for containers.
2107
+ *
2108
+ * @schema VinylCacheSpecMonitoringExporterResources#claims
2109
+ */
2110
+ readonly claims?: VinylCacheSpecMonitoringExporterResourcesClaims[];
2111
+ /**
2112
+ * Limits describes the maximum amount of compute resources allowed.
2113
+ * More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
2114
+ *
2115
+ * @schema VinylCacheSpecMonitoringExporterResources#limits
2116
+ */
2117
+ readonly limits?: {
2118
+ [key: string]: VinylCacheSpecMonitoringExporterResourcesLimits;
2119
+ };
2120
+ /**
2121
+ * Requests describes the minimum amount of compute resources required.
2122
+ * If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
2123
+ * otherwise to an implementation-defined value. Requests cannot exceed Limits.
2124
+ * More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
2125
+ *
2126
+ * @schema VinylCacheSpecMonitoringExporterResources#requests
2127
+ */
2128
+ readonly requests?: {
2129
+ [key: string]: VinylCacheSpecMonitoringExporterResourcesRequests;
2130
+ };
2131
+ }
2132
+ /**
2133
+ * Converts an object of type 'VinylCacheSpecMonitoringExporterResources' to JSON representation.
2134
+ */
2135
+ export declare function toJson_VinylCacheSpecMonitoringExporterResources(obj: VinylCacheSpecMonitoringExporterResources | undefined): Record<string, any> | undefined;
2136
+ /**
2137
+ * Describes node affinity scheduling rules for the pod.
2138
+ *
2139
+ * @schema VinylCacheSpecPodAffinityNodeAffinity
2140
+ */
2141
+ export interface VinylCacheSpecPodAffinityNodeAffinity {
2142
+ /**
2143
+ * The scheduler will prefer to schedule pods to nodes that satisfy
2144
+ * the affinity expressions specified by this field, but it may choose
2145
+ * a node that violates one or more of the expressions. The node that is
2146
+ * most preferred is the one with the greatest sum of weights, i.e.
1358
2147
  * for each node that meets all of the scheduling requirements (resource
1359
2148
  * request, requiredDuringScheduling affinity expressions, etc.),
1360
2149
  * compute a sum by iterating through the elements of this field and adding
@@ -1445,14 +2234,1661 @@ export interface VinylCacheSpecPodAffinityPodAntiAffinity {
1445
2234
  * When there are multiple elements, the lists of nodes corresponding to each
1446
2235
  * podAffinityTerm are intersected, i.e. all terms must be satisfied.
1447
2236
  *
1448
- * @schema VinylCacheSpecPodAffinityPodAntiAffinity#requiredDuringSchedulingIgnoredDuringExecution
2237
+ * @schema VinylCacheSpecPodAffinityPodAntiAffinity#requiredDuringSchedulingIgnoredDuringExecution
2238
+ */
2239
+ readonly requiredDuringSchedulingIgnoredDuringExecution?: VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution[];
2240
+ }
2241
+ /**
2242
+ * Converts an object of type 'VinylCacheSpecPodAffinityPodAntiAffinity' to JSON representation.
2243
+ */
2244
+ export declare function toJson_VinylCacheSpecPodAffinityPodAntiAffinity(obj: VinylCacheSpecPodAffinityPodAntiAffinity | undefined): Record<string, any> | undefined;
2245
+ /**
2246
+ * awsElasticBlockStore represents an AWS Disk resource that is attached to a
2247
+ * kubelet's host machine and then exposed to the pod.
2248
+ * Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
2249
+ * awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
2250
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
2251
+ *
2252
+ * @schema VinylCacheSpecPodVolumesAwsElasticBlockStore
2253
+ */
2254
+ export interface VinylCacheSpecPodVolumesAwsElasticBlockStore {
2255
+ /**
2256
+ * fsType is the filesystem type of the volume that you want to mount.
2257
+ * Tip: Ensure that the filesystem type is supported by the host operating system.
2258
+ * Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
2259
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
2260
+ *
2261
+ * @schema VinylCacheSpecPodVolumesAwsElasticBlockStore#fsType
2262
+ */
2263
+ readonly fsType?: string;
2264
+ /**
2265
+ * partition is the partition in the volume that you want to mount.
2266
+ * If omitted, the default is to mount by volume name.
2267
+ * Examples: For volume /dev/sda1, you specify the partition as "1".
2268
+ * Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
2269
+ *
2270
+ * @schema VinylCacheSpecPodVolumesAwsElasticBlockStore#partition
2271
+ */
2272
+ readonly partition?: number;
2273
+ /**
2274
+ * readOnly value true will force the readOnly setting in VolumeMounts.
2275
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
2276
+ *
2277
+ * @schema VinylCacheSpecPodVolumesAwsElasticBlockStore#readOnly
2278
+ */
2279
+ readonly readOnly?: boolean;
2280
+ /**
2281
+ * volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
2282
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
2283
+ *
2284
+ * @schema VinylCacheSpecPodVolumesAwsElasticBlockStore#volumeID
2285
+ */
2286
+ readonly volumeId: string;
2287
+ }
2288
+ /**
2289
+ * Converts an object of type 'VinylCacheSpecPodVolumesAwsElasticBlockStore' to JSON representation.
2290
+ */
2291
+ export declare function toJson_VinylCacheSpecPodVolumesAwsElasticBlockStore(obj: VinylCacheSpecPodVolumesAwsElasticBlockStore | undefined): Record<string, any> | undefined;
2292
+ /**
2293
+ * azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
2294
+ * Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
2295
+ * are redirected to the disk.csi.azure.com CSI driver.
2296
+ *
2297
+ * @schema VinylCacheSpecPodVolumesAzureDisk
2298
+ */
2299
+ export interface VinylCacheSpecPodVolumesAzureDisk {
2300
+ /**
2301
+ * cachingMode is the Host Caching mode: None, Read Only, Read Write.
2302
+ *
2303
+ * @schema VinylCacheSpecPodVolumesAzureDisk#cachingMode
2304
+ */
2305
+ readonly cachingMode?: string;
2306
+ /**
2307
+ * diskName is the Name of the data disk in the blob storage
2308
+ *
2309
+ * @schema VinylCacheSpecPodVolumesAzureDisk#diskName
2310
+ */
2311
+ readonly diskName: string;
2312
+ /**
2313
+ * diskURI is the URI of data disk in the blob storage
2314
+ *
2315
+ * @schema VinylCacheSpecPodVolumesAzureDisk#diskURI
2316
+ */
2317
+ readonly diskUri: string;
2318
+ /**
2319
+ * fsType is Filesystem type to mount.
2320
+ * Must be a filesystem type supported by the host operating system.
2321
+ * Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
2322
+ *
2323
+ * @schema VinylCacheSpecPodVolumesAzureDisk#fsType
2324
+ */
2325
+ readonly fsType?: string;
2326
+ /**
2327
+ * kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared
2328
+ *
2329
+ * @schema VinylCacheSpecPodVolumesAzureDisk#kind
2330
+ */
2331
+ readonly kind?: string;
2332
+ /**
2333
+ * readOnly Defaults to false (read/write). ReadOnly here will force
2334
+ * the ReadOnly setting in VolumeMounts.
2335
+ *
2336
+ * @default false (read/write). ReadOnly here will force
2337
+ * @schema VinylCacheSpecPodVolumesAzureDisk#readOnly
2338
+ */
2339
+ readonly readOnly?: boolean;
2340
+ }
2341
+ /**
2342
+ * Converts an object of type 'VinylCacheSpecPodVolumesAzureDisk' to JSON representation.
2343
+ */
2344
+ export declare function toJson_VinylCacheSpecPodVolumesAzureDisk(obj: VinylCacheSpecPodVolumesAzureDisk | undefined): Record<string, any> | undefined;
2345
+ /**
2346
+ * azureFile represents an Azure File Service mount on the host and bind mount to the pod.
2347
+ * Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
2348
+ * are redirected to the file.csi.azure.com CSI driver.
2349
+ *
2350
+ * @schema VinylCacheSpecPodVolumesAzureFile
2351
+ */
2352
+ export interface VinylCacheSpecPodVolumesAzureFile {
2353
+ /**
2354
+ * readOnly defaults to false (read/write). ReadOnly here will force
2355
+ * the ReadOnly setting in VolumeMounts.
2356
+ *
2357
+ * @schema VinylCacheSpecPodVolumesAzureFile#readOnly
2358
+ */
2359
+ readonly readOnly?: boolean;
2360
+ /**
2361
+ * secretName is the name of secret that contains Azure Storage Account Name and Key
2362
+ *
2363
+ * @schema VinylCacheSpecPodVolumesAzureFile#secretName
2364
+ */
2365
+ readonly secretName: string;
2366
+ /**
2367
+ * shareName is the azure share Name
2368
+ *
2369
+ * @schema VinylCacheSpecPodVolumesAzureFile#shareName
2370
+ */
2371
+ readonly shareName: string;
2372
+ }
2373
+ /**
2374
+ * Converts an object of type 'VinylCacheSpecPodVolumesAzureFile' to JSON representation.
2375
+ */
2376
+ export declare function toJson_VinylCacheSpecPodVolumesAzureFile(obj: VinylCacheSpecPodVolumesAzureFile | undefined): Record<string, any> | undefined;
2377
+ /**
2378
+ * cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
2379
+ * Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
2380
+ *
2381
+ * @schema VinylCacheSpecPodVolumesCephfs
2382
+ */
2383
+ export interface VinylCacheSpecPodVolumesCephfs {
2384
+ /**
2385
+ * monitors is Required: Monitors is a collection of Ceph monitors
2386
+ * More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
2387
+ *
2388
+ * @schema VinylCacheSpecPodVolumesCephfs#monitors
2389
+ */
2390
+ readonly monitors: string[];
2391
+ /**
2392
+ * path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /
2393
+ *
2394
+ * @schema VinylCacheSpecPodVolumesCephfs#path
2395
+ */
2396
+ readonly path?: string;
2397
+ /**
2398
+ * readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
2399
+ * the ReadOnly setting in VolumeMounts.
2400
+ * More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
2401
+ *
2402
+ * @default false (read/write). ReadOnly here will force
2403
+ * @schema VinylCacheSpecPodVolumesCephfs#readOnly
2404
+ */
2405
+ readonly readOnly?: boolean;
2406
+ /**
2407
+ * secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
2408
+ * More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
2409
+ *
2410
+ * @schema VinylCacheSpecPodVolumesCephfs#secretFile
2411
+ */
2412
+ readonly secretFile?: string;
2413
+ /**
2414
+ * secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
2415
+ * More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
2416
+ *
2417
+ * @schema VinylCacheSpecPodVolumesCephfs#secretRef
2418
+ */
2419
+ readonly secretRef?: VinylCacheSpecPodVolumesCephfsSecretRef;
2420
+ /**
2421
+ * user is optional: User is the rados user name, default is admin
2422
+ * More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
2423
+ *
2424
+ * @schema VinylCacheSpecPodVolumesCephfs#user
2425
+ */
2426
+ readonly user?: string;
2427
+ }
2428
+ /**
2429
+ * Converts an object of type 'VinylCacheSpecPodVolumesCephfs' to JSON representation.
2430
+ */
2431
+ export declare function toJson_VinylCacheSpecPodVolumesCephfs(obj: VinylCacheSpecPodVolumesCephfs | undefined): Record<string, any> | undefined;
2432
+ /**
2433
+ * cinder represents a cinder volume attached and mounted on kubelets host machine.
2434
+ * Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
2435
+ * are redirected to the cinder.csi.openstack.org CSI driver.
2436
+ * More info: https://examples.k8s.io/mysql-cinder-pd/README.md
2437
+ *
2438
+ * @schema VinylCacheSpecPodVolumesCinder
2439
+ */
2440
+ export interface VinylCacheSpecPodVolumesCinder {
2441
+ /**
2442
+ * fsType is the filesystem type to mount.
2443
+ * Must be a filesystem type supported by the host operating system.
2444
+ * Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
2445
+ * More info: https://examples.k8s.io/mysql-cinder-pd/README.md
2446
+ *
2447
+ * @schema VinylCacheSpecPodVolumesCinder#fsType
2448
+ */
2449
+ readonly fsType?: string;
2450
+ /**
2451
+ * readOnly defaults to false (read/write). ReadOnly here will force
2452
+ * the ReadOnly setting in VolumeMounts.
2453
+ * More info: https://examples.k8s.io/mysql-cinder-pd/README.md
2454
+ *
2455
+ * @schema VinylCacheSpecPodVolumesCinder#readOnly
2456
+ */
2457
+ readonly readOnly?: boolean;
2458
+ /**
2459
+ * secretRef is optional: points to a secret object containing parameters used to connect
2460
+ * to OpenStack.
2461
+ *
2462
+ * @schema VinylCacheSpecPodVolumesCinder#secretRef
2463
+ */
2464
+ readonly secretRef?: VinylCacheSpecPodVolumesCinderSecretRef;
2465
+ /**
2466
+ * volumeID used to identify the volume in cinder.
2467
+ * More info: https://examples.k8s.io/mysql-cinder-pd/README.md
2468
+ *
2469
+ * @schema VinylCacheSpecPodVolumesCinder#volumeID
2470
+ */
2471
+ readonly volumeId: string;
2472
+ }
2473
+ /**
2474
+ * Converts an object of type 'VinylCacheSpecPodVolumesCinder' to JSON representation.
2475
+ */
2476
+ export declare function toJson_VinylCacheSpecPodVolumesCinder(obj: VinylCacheSpecPodVolumesCinder | undefined): Record<string, any> | undefined;
2477
+ /**
2478
+ * configMap represents a configMap that should populate this volume
2479
+ *
2480
+ * @schema VinylCacheSpecPodVolumesConfigMap
2481
+ */
2482
+ export interface VinylCacheSpecPodVolumesConfigMap {
2483
+ /**
2484
+ * defaultMode is optional: mode bits used to set permissions on created files by default.
2485
+ * Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
2486
+ * YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
2487
+ * Defaults to 0644.
2488
+ * Directories within the path are not affected by this setting.
2489
+ * This might be in conflict with other options that affect the file
2490
+ * mode, like fsGroup, and the result can be other mode bits set.
2491
+ *
2492
+ * @default 0644.
2493
+ * @schema VinylCacheSpecPodVolumesConfigMap#defaultMode
2494
+ */
2495
+ readonly defaultMode?: number;
2496
+ /**
2497
+ * items if unspecified, each key-value pair in the Data field of the referenced
2498
+ * ConfigMap will be projected into the volume as a file whose name is the
2499
+ * key and content is the value. If specified, the listed keys will be
2500
+ * projected into the specified paths, and unlisted keys will not be
2501
+ * present. If a key is specified which is not present in the ConfigMap,
2502
+ * the volume setup will error unless it is marked optional. Paths must be
2503
+ * relative and may not contain the '..' path or start with '..'.
2504
+ *
2505
+ * @schema VinylCacheSpecPodVolumesConfigMap#items
2506
+ */
2507
+ readonly items?: VinylCacheSpecPodVolumesConfigMapItems[];
2508
+ /**
2509
+ * Name of the referent.
2510
+ * This field is effectively required, but due to backwards compatibility is
2511
+ * allowed to be empty. Instances of this type with an empty value here are
2512
+ * almost certainly wrong.
2513
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2514
+ *
2515
+ * @schema VinylCacheSpecPodVolumesConfigMap#name
2516
+ */
2517
+ readonly name?: string;
2518
+ /**
2519
+ * optional specify whether the ConfigMap or its keys must be defined
2520
+ *
2521
+ * @schema VinylCacheSpecPodVolumesConfigMap#optional
2522
+ */
2523
+ readonly optional?: boolean;
2524
+ }
2525
+ /**
2526
+ * Converts an object of type 'VinylCacheSpecPodVolumesConfigMap' to JSON representation.
2527
+ */
2528
+ export declare function toJson_VinylCacheSpecPodVolumesConfigMap(obj: VinylCacheSpecPodVolumesConfigMap | undefined): Record<string, any> | undefined;
2529
+ /**
2530
+ * csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.
2531
+ *
2532
+ * @schema VinylCacheSpecPodVolumesCsi
2533
+ */
2534
+ export interface VinylCacheSpecPodVolumesCsi {
2535
+ /**
2536
+ * driver is the name of the CSI driver that handles this volume.
2537
+ * Consult with your admin for the correct name as registered in the cluster.
2538
+ *
2539
+ * @schema VinylCacheSpecPodVolumesCsi#driver
2540
+ */
2541
+ readonly driver: string;
2542
+ /**
2543
+ * fsType to mount. Ex. "ext4", "xfs", "ntfs".
2544
+ * If not provided, the empty value is passed to the associated CSI driver
2545
+ * which will determine the default filesystem to apply.
2546
+ *
2547
+ * @schema VinylCacheSpecPodVolumesCsi#fsType
2548
+ */
2549
+ readonly fsType?: string;
2550
+ /**
2551
+ * nodePublishSecretRef is a reference to the secret object containing
2552
+ * sensitive information to pass to the CSI driver to complete the CSI
2553
+ * NodePublishVolume and NodeUnpublishVolume calls.
2554
+ * This field is optional, and may be empty if no secret is required. If the
2555
+ * secret object contains more than one secret, all secret references are passed.
2556
+ *
2557
+ * @schema VinylCacheSpecPodVolumesCsi#nodePublishSecretRef
2558
+ */
2559
+ readonly nodePublishSecretRef?: VinylCacheSpecPodVolumesCsiNodePublishSecretRef;
2560
+ /**
2561
+ * readOnly specifies a read-only configuration for the volume.
2562
+ * Defaults to false (read/write).
2563
+ *
2564
+ * @default false (read/write).
2565
+ * @schema VinylCacheSpecPodVolumesCsi#readOnly
2566
+ */
2567
+ readonly readOnly?: boolean;
2568
+ /**
2569
+ * volumeAttributes stores driver-specific properties that are passed to the CSI
2570
+ * driver. Consult your driver's documentation for supported values.
2571
+ *
2572
+ * @schema VinylCacheSpecPodVolumesCsi#volumeAttributes
2573
+ */
2574
+ readonly volumeAttributes?: {
2575
+ [key: string]: string;
2576
+ };
2577
+ }
2578
+ /**
2579
+ * Converts an object of type 'VinylCacheSpecPodVolumesCsi' to JSON representation.
2580
+ */
2581
+ export declare function toJson_VinylCacheSpecPodVolumesCsi(obj: VinylCacheSpecPodVolumesCsi | undefined): Record<string, any> | undefined;
2582
+ /**
2583
+ * downwardAPI represents downward API about the pod that should populate this volume
2584
+ *
2585
+ * @schema VinylCacheSpecPodVolumesDownwardApi
2586
+ */
2587
+ export interface VinylCacheSpecPodVolumesDownwardApi {
2588
+ /**
2589
+ * Optional: mode bits to use on created files by default. Must be a
2590
+ * Optional: mode bits used to set permissions on created files by default.
2591
+ * Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
2592
+ * YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
2593
+ * Defaults to 0644.
2594
+ * Directories within the path are not affected by this setting.
2595
+ * This might be in conflict with other options that affect the file
2596
+ * mode, like fsGroup, and the result can be other mode bits set.
2597
+ *
2598
+ * @default 0644.
2599
+ * @schema VinylCacheSpecPodVolumesDownwardApi#defaultMode
2600
+ */
2601
+ readonly defaultMode?: number;
2602
+ /**
2603
+ * Items is a list of downward API volume file
2604
+ *
2605
+ * @schema VinylCacheSpecPodVolumesDownwardApi#items
2606
+ */
2607
+ readonly items?: VinylCacheSpecPodVolumesDownwardApiItems[];
2608
+ }
2609
+ /**
2610
+ * Converts an object of type 'VinylCacheSpecPodVolumesDownwardApi' to JSON representation.
2611
+ */
2612
+ export declare function toJson_VinylCacheSpecPodVolumesDownwardApi(obj: VinylCacheSpecPodVolumesDownwardApi | undefined): Record<string, any> | undefined;
2613
+ /**
2614
+ * emptyDir represents a temporary directory that shares a pod's lifetime.
2615
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
2616
+ *
2617
+ * @schema VinylCacheSpecPodVolumesEmptyDir
2618
+ */
2619
+ export interface VinylCacheSpecPodVolumesEmptyDir {
2620
+ /**
2621
+ * medium represents what type of storage medium should back this directory.
2622
+ * The default is "" which means to use the node's default medium.
2623
+ * Must be an empty string (default) or Memory.
2624
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
2625
+ *
2626
+ * @schema VinylCacheSpecPodVolumesEmptyDir#medium
2627
+ */
2628
+ readonly medium?: string;
2629
+ /**
2630
+ * sizeLimit is the total amount of local storage required for this EmptyDir volume.
2631
+ * The size limit is also applicable for memory medium.
2632
+ * The maximum usage on memory medium EmptyDir would be the minimum value between
2633
+ * the SizeLimit specified here and the sum of memory limits of all containers in a pod.
2634
+ * The default is nil which means that the limit is undefined.
2635
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
2636
+ *
2637
+ * @schema VinylCacheSpecPodVolumesEmptyDir#sizeLimit
2638
+ */
2639
+ readonly sizeLimit?: VinylCacheSpecPodVolumesEmptyDirSizeLimit;
2640
+ }
2641
+ /**
2642
+ * Converts an object of type 'VinylCacheSpecPodVolumesEmptyDir' to JSON representation.
2643
+ */
2644
+ export declare function toJson_VinylCacheSpecPodVolumesEmptyDir(obj: VinylCacheSpecPodVolumesEmptyDir | undefined): Record<string, any> | undefined;
2645
+ /**
2646
+ * ephemeral represents a volume that is handled by a cluster storage driver.
2647
+ * The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
2648
+ * and deleted when the pod is removed.
2649
+ *
2650
+ * Use this if:
2651
+ * a) the volume is only needed while the pod runs,
2652
+ * b) features of normal volumes like restoring from snapshot or capacity
2653
+ * tracking are needed,
2654
+ * c) the storage driver is specified through a storage class, and
2655
+ * d) the storage driver supports dynamic volume provisioning through
2656
+ * a PersistentVolumeClaim (see EphemeralVolumeSource for more
2657
+ * information on the connection between this volume type
2658
+ * and PersistentVolumeClaim).
2659
+ *
2660
+ * Use PersistentVolumeClaim or one of the vendor-specific
2661
+ * APIs for volumes that persist for longer than the lifecycle
2662
+ * of an individual pod.
2663
+ *
2664
+ * Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
2665
+ * be used that way - see the documentation of the driver for
2666
+ * more information.
2667
+ *
2668
+ * A pod can use both types of ephemeral volumes and
2669
+ * persistent volumes at the same time.
2670
+ *
2671
+ * @schema VinylCacheSpecPodVolumesEphemeral
2672
+ */
2673
+ export interface VinylCacheSpecPodVolumesEphemeral {
2674
+ /**
2675
+ * Will be used to create a stand-alone PVC to provision the volume.
2676
+ * The pod in which this EphemeralVolumeSource is embedded will be the
2677
+ * owner of the PVC, i.e. the PVC will be deleted together with the
2678
+ * pod. The name of the PVC will be `<pod name>-<volume name>` where
2679
+ * `<volume name>` is the name from the `PodSpec.Volumes` array
2680
+ * entry. Pod validation will reject the pod if the concatenated name
2681
+ * is not valid for a PVC (for example, too long).
2682
+ *
2683
+ * An existing PVC with that name that is not owned by the pod
2684
+ * will *not* be used for the pod to avoid using an unrelated
2685
+ * volume by mistake. Starting the pod is then blocked until
2686
+ * the unrelated PVC is removed. If such a pre-created PVC is
2687
+ * meant to be used by the pod, the PVC has to updated with an
2688
+ * owner reference to the pod once the pod exists. Normally
2689
+ * this should not be necessary, but it may be useful when
2690
+ * manually reconstructing a broken cluster.
2691
+ *
2692
+ * This field is read-only and no changes will be made by Kubernetes
2693
+ * to the PVC after it has been created.
2694
+ *
2695
+ * Required, must not be nil.
2696
+ *
2697
+ * @schema VinylCacheSpecPodVolumesEphemeral#volumeClaimTemplate
2698
+ */
2699
+ readonly volumeClaimTemplate?: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplate;
2700
+ }
2701
+ /**
2702
+ * Converts an object of type 'VinylCacheSpecPodVolumesEphemeral' to JSON representation.
2703
+ */
2704
+ export declare function toJson_VinylCacheSpecPodVolumesEphemeral(obj: VinylCacheSpecPodVolumesEphemeral | undefined): Record<string, any> | undefined;
2705
+ /**
2706
+ * fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.
2707
+ *
2708
+ * @schema VinylCacheSpecPodVolumesFc
2709
+ */
2710
+ export interface VinylCacheSpecPodVolumesFc {
2711
+ /**
2712
+ * fsType is the filesystem type to mount.
2713
+ * Must be a filesystem type supported by the host operating system.
2714
+ * Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
2715
+ *
2716
+ * @schema VinylCacheSpecPodVolumesFc#fsType
2717
+ */
2718
+ readonly fsType?: string;
2719
+ /**
2720
+ * lun is Optional: FC target lun number
2721
+ *
2722
+ * @schema VinylCacheSpecPodVolumesFc#lun
2723
+ */
2724
+ readonly lun?: number;
2725
+ /**
2726
+ * readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
2727
+ * the ReadOnly setting in VolumeMounts.
2728
+ *
2729
+ * @default false (read/write). ReadOnly here will force
2730
+ * @schema VinylCacheSpecPodVolumesFc#readOnly
2731
+ */
2732
+ readonly readOnly?: boolean;
2733
+ /**
2734
+ * targetWWNs is Optional: FC target worldwide names (WWNs)
2735
+ *
2736
+ * @schema VinylCacheSpecPodVolumesFc#targetWWNs
2737
+ */
2738
+ readonly targetWwNs?: string[];
2739
+ /**
2740
+ * wwids Optional: FC volume world wide identifiers (wwids)
2741
+ * Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
2742
+ *
2743
+ * @schema VinylCacheSpecPodVolumesFc#wwids
2744
+ */
2745
+ readonly wwids?: string[];
2746
+ }
2747
+ /**
2748
+ * Converts an object of type 'VinylCacheSpecPodVolumesFc' to JSON representation.
2749
+ */
2750
+ export declare function toJson_VinylCacheSpecPodVolumesFc(obj: VinylCacheSpecPodVolumesFc | undefined): Record<string, any> | undefined;
2751
+ /**
2752
+ * flexVolume represents a generic volume resource that is
2753
+ * provisioned/attached using an exec based plugin.
2754
+ * Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
2755
+ *
2756
+ * @schema VinylCacheSpecPodVolumesFlexVolume
2757
+ */
2758
+ export interface VinylCacheSpecPodVolumesFlexVolume {
2759
+ /**
2760
+ * driver is the name of the driver to use for this volume.
2761
+ *
2762
+ * @schema VinylCacheSpecPodVolumesFlexVolume#driver
2763
+ */
2764
+ readonly driver: string;
2765
+ /**
2766
+ * fsType is the filesystem type to mount.
2767
+ * Must be a filesystem type supported by the host operating system.
2768
+ * Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
2769
+ *
2770
+ * @schema VinylCacheSpecPodVolumesFlexVolume#fsType
2771
+ */
2772
+ readonly fsType?: string;
2773
+ /**
2774
+ * options is Optional: this field holds extra command options if any.
2775
+ *
2776
+ * @schema VinylCacheSpecPodVolumesFlexVolume#options
2777
+ */
2778
+ readonly options?: {
2779
+ [key: string]: string;
2780
+ };
2781
+ /**
2782
+ * readOnly is Optional: defaults to false (read/write). ReadOnly here will force
2783
+ * the ReadOnly setting in VolumeMounts.
2784
+ *
2785
+ * @schema VinylCacheSpecPodVolumesFlexVolume#readOnly
2786
+ */
2787
+ readonly readOnly?: boolean;
2788
+ /**
2789
+ * secretRef is Optional: secretRef is reference to the secret object containing
2790
+ * sensitive information to pass to the plugin scripts. This may be
2791
+ * empty if no secret object is specified. If the secret object
2792
+ * contains more than one secret, all secrets are passed to the plugin
2793
+ * scripts.
2794
+ *
2795
+ * @schema VinylCacheSpecPodVolumesFlexVolume#secretRef
2796
+ */
2797
+ readonly secretRef?: VinylCacheSpecPodVolumesFlexVolumeSecretRef;
2798
+ }
2799
+ /**
2800
+ * Converts an object of type 'VinylCacheSpecPodVolumesFlexVolume' to JSON representation.
2801
+ */
2802
+ export declare function toJson_VinylCacheSpecPodVolumesFlexVolume(obj: VinylCacheSpecPodVolumesFlexVolume | undefined): Record<string, any> | undefined;
2803
+ /**
2804
+ * flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
2805
+ * Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
2806
+ *
2807
+ * @schema VinylCacheSpecPodVolumesFlocker
2808
+ */
2809
+ export interface VinylCacheSpecPodVolumesFlocker {
2810
+ /**
2811
+ * datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
2812
+ * should be considered as deprecated
2813
+ *
2814
+ * @schema VinylCacheSpecPodVolumesFlocker#datasetName
2815
+ */
2816
+ readonly datasetName?: string;
2817
+ /**
2818
+ * datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset
2819
+ *
2820
+ * @schema VinylCacheSpecPodVolumesFlocker#datasetUUID
2821
+ */
2822
+ readonly datasetUuid?: string;
2823
+ }
2824
+ /**
2825
+ * Converts an object of type 'VinylCacheSpecPodVolumesFlocker' to JSON representation.
2826
+ */
2827
+ export declare function toJson_VinylCacheSpecPodVolumesFlocker(obj: VinylCacheSpecPodVolumesFlocker | undefined): Record<string, any> | undefined;
2828
+ /**
2829
+ * gcePersistentDisk represents a GCE Disk resource that is attached to a
2830
+ * kubelet's host machine and then exposed to the pod.
2831
+ * Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
2832
+ * gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
2833
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
2834
+ *
2835
+ * @schema VinylCacheSpecPodVolumesGcePersistentDisk
2836
+ */
2837
+ export interface VinylCacheSpecPodVolumesGcePersistentDisk {
2838
+ /**
2839
+ * fsType is filesystem type of the volume that you want to mount.
2840
+ * Tip: Ensure that the filesystem type is supported by the host operating system.
2841
+ * Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
2842
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
2843
+ *
2844
+ * @schema VinylCacheSpecPodVolumesGcePersistentDisk#fsType
2845
+ */
2846
+ readonly fsType?: string;
2847
+ /**
2848
+ * partition is the partition in the volume that you want to mount.
2849
+ * If omitted, the default is to mount by volume name.
2850
+ * Examples: For volume /dev/sda1, you specify the partition as "1".
2851
+ * Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
2852
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
2853
+ *
2854
+ * @schema VinylCacheSpecPodVolumesGcePersistentDisk#partition
2855
+ */
2856
+ readonly partition?: number;
2857
+ /**
2858
+ * pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
2859
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
2860
+ *
2861
+ * @schema VinylCacheSpecPodVolumesGcePersistentDisk#pdName
2862
+ */
2863
+ readonly pdName: string;
2864
+ /**
2865
+ * readOnly here will force the ReadOnly setting in VolumeMounts.
2866
+ * Defaults to false.
2867
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
2868
+ *
2869
+ * @default false.
2870
+ * @schema VinylCacheSpecPodVolumesGcePersistentDisk#readOnly
2871
+ */
2872
+ readonly readOnly?: boolean;
2873
+ }
2874
+ /**
2875
+ * Converts an object of type 'VinylCacheSpecPodVolumesGcePersistentDisk' to JSON representation.
2876
+ */
2877
+ export declare function toJson_VinylCacheSpecPodVolumesGcePersistentDisk(obj: VinylCacheSpecPodVolumesGcePersistentDisk | undefined): Record<string, any> | undefined;
2878
+ /**
2879
+ * gitRepo represents a git repository at a particular revision.
2880
+ * Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
2881
+ * EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
2882
+ * into the Pod's container.
2883
+ *
2884
+ * @schema VinylCacheSpecPodVolumesGitRepo
2885
+ */
2886
+ export interface VinylCacheSpecPodVolumesGitRepo {
2887
+ /**
2888
+ * directory is the target directory name.
2889
+ * Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
2890
+ * git repository. Otherwise, if specified, the volume will contain the git repository in
2891
+ * the subdirectory with the given name.
2892
+ *
2893
+ * @schema VinylCacheSpecPodVolumesGitRepo#directory
2894
+ */
2895
+ readonly directory?: string;
2896
+ /**
2897
+ * repository is the URL
2898
+ *
2899
+ * @schema VinylCacheSpecPodVolumesGitRepo#repository
2900
+ */
2901
+ readonly repository: string;
2902
+ /**
2903
+ * revision is the commit hash for the specified revision.
2904
+ *
2905
+ * @schema VinylCacheSpecPodVolumesGitRepo#revision
2906
+ */
2907
+ readonly revision?: string;
2908
+ }
2909
+ /**
2910
+ * Converts an object of type 'VinylCacheSpecPodVolumesGitRepo' to JSON representation.
2911
+ */
2912
+ export declare function toJson_VinylCacheSpecPodVolumesGitRepo(obj: VinylCacheSpecPodVolumesGitRepo | undefined): Record<string, any> | undefined;
2913
+ /**
2914
+ * glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
2915
+ * Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
2916
+ *
2917
+ * @schema VinylCacheSpecPodVolumesGlusterfs
2918
+ */
2919
+ export interface VinylCacheSpecPodVolumesGlusterfs {
2920
+ /**
2921
+ * endpoints is the endpoint name that details Glusterfs topology.
2922
+ *
2923
+ * @schema VinylCacheSpecPodVolumesGlusterfs#endpoints
2924
+ */
2925
+ readonly endpoints: string;
2926
+ /**
2927
+ * path is the Glusterfs volume path.
2928
+ * More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
2929
+ *
2930
+ * @schema VinylCacheSpecPodVolumesGlusterfs#path
2931
+ */
2932
+ readonly path: string;
2933
+ /**
2934
+ * readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
2935
+ * Defaults to false.
2936
+ * More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
2937
+ *
2938
+ * @default false.
2939
+ * @schema VinylCacheSpecPodVolumesGlusterfs#readOnly
2940
+ */
2941
+ readonly readOnly?: boolean;
2942
+ }
2943
+ /**
2944
+ * Converts an object of type 'VinylCacheSpecPodVolumesGlusterfs' to JSON representation.
2945
+ */
2946
+ export declare function toJson_VinylCacheSpecPodVolumesGlusterfs(obj: VinylCacheSpecPodVolumesGlusterfs | undefined): Record<string, any> | undefined;
2947
+ /**
2948
+ * hostPath represents a pre-existing file or directory on the host
2949
+ * machine that is directly exposed to the container. This is generally
2950
+ * used for system agents or other privileged things that are allowed
2951
+ * to see the host machine. Most containers will NOT need this.
2952
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
2953
+ *
2954
+ * @schema VinylCacheSpecPodVolumesHostPath
2955
+ */
2956
+ export interface VinylCacheSpecPodVolumesHostPath {
2957
+ /**
2958
+ * path of the directory on the host.
2959
+ * If the path is a symlink, it will follow the link to the real path.
2960
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
2961
+ *
2962
+ * @schema VinylCacheSpecPodVolumesHostPath#path
2963
+ */
2964
+ readonly path: string;
2965
+ /**
2966
+ * type for HostPath Volume
2967
+ * Defaults to ""
2968
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
2969
+ *
2970
+ * @default More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
2971
+ * @schema VinylCacheSpecPodVolumesHostPath#type
2972
+ */
2973
+ readonly type?: string;
2974
+ }
2975
+ /**
2976
+ * Converts an object of type 'VinylCacheSpecPodVolumesHostPath' to JSON representation.
2977
+ */
2978
+ export declare function toJson_VinylCacheSpecPodVolumesHostPath(obj: VinylCacheSpecPodVolumesHostPath | undefined): Record<string, any> | undefined;
2979
+ /**
2980
+ * image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
2981
+ * The volume is resolved at pod startup depending on which PullPolicy value is provided:
2982
+ *
2983
+ * - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
2984
+ * - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
2985
+ * - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
2986
+ *
2987
+ * The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation.
2988
+ * A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message.
2989
+ * The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field.
2990
+ * The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images.
2991
+ * The volume will be mounted read-only (ro) and non-executable files (noexec).
2992
+ * Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33.
2993
+ * The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
2994
+ *
2995
+ * @schema VinylCacheSpecPodVolumesImage
2996
+ */
2997
+ export interface VinylCacheSpecPodVolumesImage {
2998
+ /**
2999
+ * Policy for pulling OCI objects. Possible values are:
3000
+ * Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
3001
+ * Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
3002
+ * IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
3003
+ * Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
3004
+ *
3005
+ * @default Always if :latest tag is specified, or IfNotPresent otherwise.
3006
+ * @schema VinylCacheSpecPodVolumesImage#pullPolicy
3007
+ */
3008
+ readonly pullPolicy?: string;
3009
+ /**
3010
+ * Required: Image or artifact reference to be used.
3011
+ * Behaves in the same way as pod.spec.containers[*].image.
3012
+ * Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets.
3013
+ * More info: https://kubernetes.io/docs/concepts/containers/images
3014
+ * This field is optional to allow higher level config management to default or override
3015
+ * container images in workload controllers like Deployments and StatefulSets.
3016
+ *
3017
+ * @schema VinylCacheSpecPodVolumesImage#reference
3018
+ */
3019
+ readonly reference?: string;
3020
+ }
3021
+ /**
3022
+ * Converts an object of type 'VinylCacheSpecPodVolumesImage' to JSON representation.
3023
+ */
3024
+ export declare function toJson_VinylCacheSpecPodVolumesImage(obj: VinylCacheSpecPodVolumesImage | undefined): Record<string, any> | undefined;
3025
+ /**
3026
+ * iscsi represents an ISCSI Disk resource that is attached to a
3027
+ * kubelet's host machine and then exposed to the pod.
3028
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes/#iscsi
3029
+ *
3030
+ * @schema VinylCacheSpecPodVolumesIscsi
3031
+ */
3032
+ export interface VinylCacheSpecPodVolumesIscsi {
3033
+ /**
3034
+ * chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication
3035
+ *
3036
+ * @schema VinylCacheSpecPodVolumesIscsi#chapAuthDiscovery
3037
+ */
3038
+ readonly chapAuthDiscovery?: boolean;
3039
+ /**
3040
+ * chapAuthSession defines whether support iSCSI Session CHAP authentication
3041
+ *
3042
+ * @schema VinylCacheSpecPodVolumesIscsi#chapAuthSession
3043
+ */
3044
+ readonly chapAuthSession?: boolean;
3045
+ /**
3046
+ * fsType is the filesystem type of the volume that you want to mount.
3047
+ * Tip: Ensure that the filesystem type is supported by the host operating system.
3048
+ * Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
3049
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
3050
+ *
3051
+ * @schema VinylCacheSpecPodVolumesIscsi#fsType
3052
+ */
3053
+ readonly fsType?: string;
3054
+ /**
3055
+ * initiatorName is the custom iSCSI Initiator Name.
3056
+ * If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
3057
+ * <target portal>:<volume name> will be created for the connection.
3058
+ *
3059
+ * @schema VinylCacheSpecPodVolumesIscsi#initiatorName
3060
+ */
3061
+ readonly initiatorName?: string;
3062
+ /**
3063
+ * iqn is the target iSCSI Qualified Name.
3064
+ *
3065
+ * @schema VinylCacheSpecPodVolumesIscsi#iqn
3066
+ */
3067
+ readonly iqn: string;
3068
+ /**
3069
+ * iscsiInterface is the interface Name that uses an iSCSI transport.
3070
+ * Defaults to 'default' (tcp).
3071
+ *
3072
+ * @default default' (tcp).
3073
+ * @schema VinylCacheSpecPodVolumesIscsi#iscsiInterface
3074
+ */
3075
+ readonly iscsiInterface?: string;
3076
+ /**
3077
+ * lun represents iSCSI Target Lun number.
3078
+ *
3079
+ * @schema VinylCacheSpecPodVolumesIscsi#lun
3080
+ */
3081
+ readonly lun: number;
3082
+ /**
3083
+ * portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
3084
+ * is other than default (typically TCP ports 860 and 3260).
3085
+ *
3086
+ * @schema VinylCacheSpecPodVolumesIscsi#portals
3087
+ */
3088
+ readonly portals?: string[];
3089
+ /**
3090
+ * readOnly here will force the ReadOnly setting in VolumeMounts.
3091
+ * Defaults to false.
3092
+ *
3093
+ * @default false.
3094
+ * @schema VinylCacheSpecPodVolumesIscsi#readOnly
3095
+ */
3096
+ readonly readOnly?: boolean;
3097
+ /**
3098
+ * secretRef is the CHAP Secret for iSCSI target and initiator authentication
3099
+ *
3100
+ * @schema VinylCacheSpecPodVolumesIscsi#secretRef
3101
+ */
3102
+ readonly secretRef?: VinylCacheSpecPodVolumesIscsiSecretRef;
3103
+ /**
3104
+ * targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
3105
+ * is other than default (typically TCP ports 860 and 3260).
3106
+ *
3107
+ * @schema VinylCacheSpecPodVolumesIscsi#targetPortal
3108
+ */
3109
+ readonly targetPortal: string;
3110
+ }
3111
+ /**
3112
+ * Converts an object of type 'VinylCacheSpecPodVolumesIscsi' to JSON representation.
3113
+ */
3114
+ export declare function toJson_VinylCacheSpecPodVolumesIscsi(obj: VinylCacheSpecPodVolumesIscsi | undefined): Record<string, any> | undefined;
3115
+ /**
3116
+ * nfs represents an NFS mount on the host that shares a pod's lifetime
3117
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
3118
+ *
3119
+ * @schema VinylCacheSpecPodVolumesNfs
3120
+ */
3121
+ export interface VinylCacheSpecPodVolumesNfs {
3122
+ /**
3123
+ * path that is exported by the NFS server.
3124
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
3125
+ *
3126
+ * @schema VinylCacheSpecPodVolumesNfs#path
3127
+ */
3128
+ readonly path: string;
3129
+ /**
3130
+ * readOnly here will force the NFS export to be mounted with read-only permissions.
3131
+ * Defaults to false.
3132
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
3133
+ *
3134
+ * @default false.
3135
+ * @schema VinylCacheSpecPodVolumesNfs#readOnly
3136
+ */
3137
+ readonly readOnly?: boolean;
3138
+ /**
3139
+ * server is the hostname or IP address of the NFS server.
3140
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
3141
+ *
3142
+ * @schema VinylCacheSpecPodVolumesNfs#server
3143
+ */
3144
+ readonly server: string;
3145
+ }
3146
+ /**
3147
+ * Converts an object of type 'VinylCacheSpecPodVolumesNfs' to JSON representation.
3148
+ */
3149
+ export declare function toJson_VinylCacheSpecPodVolumesNfs(obj: VinylCacheSpecPodVolumesNfs | undefined): Record<string, any> | undefined;
3150
+ /**
3151
+ * persistentVolumeClaimVolumeSource represents a reference to a
3152
+ * PersistentVolumeClaim in the same namespace.
3153
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
3154
+ *
3155
+ * @schema VinylCacheSpecPodVolumesPersistentVolumeClaim
3156
+ */
3157
+ export interface VinylCacheSpecPodVolumesPersistentVolumeClaim {
3158
+ /**
3159
+ * claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
3160
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
3161
+ *
3162
+ * @schema VinylCacheSpecPodVolumesPersistentVolumeClaim#claimName
3163
+ */
3164
+ readonly claimName: string;
3165
+ /**
3166
+ * readOnly Will force the ReadOnly setting in VolumeMounts.
3167
+ * Default false.
3168
+ *
3169
+ * @schema VinylCacheSpecPodVolumesPersistentVolumeClaim#readOnly
3170
+ */
3171
+ readonly readOnly?: boolean;
3172
+ }
3173
+ /**
3174
+ * Converts an object of type 'VinylCacheSpecPodVolumesPersistentVolumeClaim' to JSON representation.
3175
+ */
3176
+ export declare function toJson_VinylCacheSpecPodVolumesPersistentVolumeClaim(obj: VinylCacheSpecPodVolumesPersistentVolumeClaim | undefined): Record<string, any> | undefined;
3177
+ /**
3178
+ * photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
3179
+ * Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
3180
+ *
3181
+ * @schema VinylCacheSpecPodVolumesPhotonPersistentDisk
3182
+ */
3183
+ export interface VinylCacheSpecPodVolumesPhotonPersistentDisk {
3184
+ /**
3185
+ * fsType is the filesystem type to mount.
3186
+ * Must be a filesystem type supported by the host operating system.
3187
+ * Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
3188
+ *
3189
+ * @schema VinylCacheSpecPodVolumesPhotonPersistentDisk#fsType
3190
+ */
3191
+ readonly fsType?: string;
3192
+ /**
3193
+ * pdID is the ID that identifies Photon Controller persistent disk
3194
+ *
3195
+ * @schema VinylCacheSpecPodVolumesPhotonPersistentDisk#pdID
3196
+ */
3197
+ readonly pdId: string;
3198
+ }
3199
+ /**
3200
+ * Converts an object of type 'VinylCacheSpecPodVolumesPhotonPersistentDisk' to JSON representation.
3201
+ */
3202
+ export declare function toJson_VinylCacheSpecPodVolumesPhotonPersistentDisk(obj: VinylCacheSpecPodVolumesPhotonPersistentDisk | undefined): Record<string, any> | undefined;
3203
+ /**
3204
+ * portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
3205
+ * Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
3206
+ * are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
3207
+ * is on.
3208
+ *
3209
+ * @schema VinylCacheSpecPodVolumesPortworxVolume
3210
+ */
3211
+ export interface VinylCacheSpecPodVolumesPortworxVolume {
3212
+ /**
3213
+ * fSType represents the filesystem type to mount
3214
+ * Must be a filesystem type supported by the host operating system.
3215
+ * Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
3216
+ *
3217
+ * @schema VinylCacheSpecPodVolumesPortworxVolume#fsType
3218
+ */
3219
+ readonly fsType?: string;
3220
+ /**
3221
+ * readOnly defaults to false (read/write). ReadOnly here will force
3222
+ * the ReadOnly setting in VolumeMounts.
3223
+ *
3224
+ * @schema VinylCacheSpecPodVolumesPortworxVolume#readOnly
3225
+ */
3226
+ readonly readOnly?: boolean;
3227
+ /**
3228
+ * volumeID uniquely identifies a Portworx volume
3229
+ *
3230
+ * @schema VinylCacheSpecPodVolumesPortworxVolume#volumeID
3231
+ */
3232
+ readonly volumeId: string;
3233
+ }
3234
+ /**
3235
+ * Converts an object of type 'VinylCacheSpecPodVolumesPortworxVolume' to JSON representation.
3236
+ */
3237
+ export declare function toJson_VinylCacheSpecPodVolumesPortworxVolume(obj: VinylCacheSpecPodVolumesPortworxVolume | undefined): Record<string, any> | undefined;
3238
+ /**
3239
+ * projected items for all in one resources secrets, configmaps, and downward API
3240
+ *
3241
+ * @schema VinylCacheSpecPodVolumesProjected
3242
+ */
3243
+ export interface VinylCacheSpecPodVolumesProjected {
3244
+ /**
3245
+ * defaultMode are the mode bits used to set permissions on created files by default.
3246
+ * Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
3247
+ * YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
3248
+ * Directories within the path are not affected by this setting.
3249
+ * This might be in conflict with other options that affect the file
3250
+ * mode, like fsGroup, and the result can be other mode bits set.
3251
+ *
3252
+ * @schema VinylCacheSpecPodVolumesProjected#defaultMode
3253
+ */
3254
+ readonly defaultMode?: number;
3255
+ /**
3256
+ * sources is the list of volume projections. Each entry in this list
3257
+ * handles one source.
3258
+ *
3259
+ * @schema VinylCacheSpecPodVolumesProjected#sources
3260
+ */
3261
+ readonly sources?: VinylCacheSpecPodVolumesProjectedSources[];
3262
+ }
3263
+ /**
3264
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjected' to JSON representation.
3265
+ */
3266
+ export declare function toJson_VinylCacheSpecPodVolumesProjected(obj: VinylCacheSpecPodVolumesProjected | undefined): Record<string, any> | undefined;
3267
+ /**
3268
+ * quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
3269
+ * Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
3270
+ *
3271
+ * @schema VinylCacheSpecPodVolumesQuobyte
3272
+ */
3273
+ export interface VinylCacheSpecPodVolumesQuobyte {
3274
+ /**
3275
+ * group to map volume access to
3276
+ * Default is no group
3277
+ *
3278
+ * @default no group
3279
+ * @schema VinylCacheSpecPodVolumesQuobyte#group
3280
+ */
3281
+ readonly group?: string;
3282
+ /**
3283
+ * readOnly here will force the Quobyte volume to be mounted with read-only permissions.
3284
+ * Defaults to false.
3285
+ *
3286
+ * @default false.
3287
+ * @schema VinylCacheSpecPodVolumesQuobyte#readOnly
3288
+ */
3289
+ readonly readOnly?: boolean;
3290
+ /**
3291
+ * registry represents a single or multiple Quobyte Registry services
3292
+ * specified as a string as host:port pair (multiple entries are separated with commas)
3293
+ * which acts as the central registry for volumes
3294
+ *
3295
+ * @schema VinylCacheSpecPodVolumesQuobyte#registry
3296
+ */
3297
+ readonly registry: string;
3298
+ /**
3299
+ * tenant owning the given Quobyte volume in the Backend
3300
+ * Used with dynamically provisioned Quobyte volumes, value is set by the plugin
3301
+ *
3302
+ * @schema VinylCacheSpecPodVolumesQuobyte#tenant
3303
+ */
3304
+ readonly tenant?: string;
3305
+ /**
3306
+ * user to map volume access to
3307
+ * Defaults to serivceaccount user
3308
+ *
3309
+ * @default serivceaccount user
3310
+ * @schema VinylCacheSpecPodVolumesQuobyte#user
3311
+ */
3312
+ readonly user?: string;
3313
+ /**
3314
+ * volume is a string that references an already created Quobyte volume by name.
3315
+ *
3316
+ * @schema VinylCacheSpecPodVolumesQuobyte#volume
3317
+ */
3318
+ readonly volume: string;
3319
+ }
3320
+ /**
3321
+ * Converts an object of type 'VinylCacheSpecPodVolumesQuobyte' to JSON representation.
3322
+ */
3323
+ export declare function toJson_VinylCacheSpecPodVolumesQuobyte(obj: VinylCacheSpecPodVolumesQuobyte | undefined): Record<string, any> | undefined;
3324
+ /**
3325
+ * rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
3326
+ * Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
3327
+ *
3328
+ * @schema VinylCacheSpecPodVolumesRbd
3329
+ */
3330
+ export interface VinylCacheSpecPodVolumesRbd {
3331
+ /**
3332
+ * fsType is the filesystem type of the volume that you want to mount.
3333
+ * Tip: Ensure that the filesystem type is supported by the host operating system.
3334
+ * Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
3335
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
3336
+ *
3337
+ * @schema VinylCacheSpecPodVolumesRbd#fsType
3338
+ */
3339
+ readonly fsType?: string;
3340
+ /**
3341
+ * image is the rados image name.
3342
+ * More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
3343
+ *
3344
+ * @schema VinylCacheSpecPodVolumesRbd#image
3345
+ */
3346
+ readonly image: string;
3347
+ /**
3348
+ * keyring is the path to key ring for RBDUser.
3349
+ * Default is /etc/ceph/keyring.
3350
+ * More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
3351
+ *
3352
+ * @default etc/ceph/keyring.
3353
+ * @schema VinylCacheSpecPodVolumesRbd#keyring
3354
+ */
3355
+ readonly keyring?: string;
3356
+ /**
3357
+ * monitors is a collection of Ceph monitors.
3358
+ * More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
3359
+ *
3360
+ * @schema VinylCacheSpecPodVolumesRbd#monitors
3361
+ */
3362
+ readonly monitors: string[];
3363
+ /**
3364
+ * pool is the rados pool name.
3365
+ * Default is rbd.
3366
+ * More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
3367
+ *
3368
+ * @default rbd.
3369
+ * @schema VinylCacheSpecPodVolumesRbd#pool
3370
+ */
3371
+ readonly pool?: string;
3372
+ /**
3373
+ * readOnly here will force the ReadOnly setting in VolumeMounts.
3374
+ * Defaults to false.
3375
+ * More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
3376
+ *
3377
+ * @default false.
3378
+ * @schema VinylCacheSpecPodVolumesRbd#readOnly
3379
+ */
3380
+ readonly readOnly?: boolean;
3381
+ /**
3382
+ * secretRef is name of the authentication secret for RBDUser. If provided
3383
+ * overrides keyring.
3384
+ * Default is nil.
3385
+ * More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
3386
+ *
3387
+ * @default nil.
3388
+ * @schema VinylCacheSpecPodVolumesRbd#secretRef
3389
+ */
3390
+ readonly secretRef?: VinylCacheSpecPodVolumesRbdSecretRef;
3391
+ /**
3392
+ * user is the rados user name.
3393
+ * Default is admin.
3394
+ * More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
3395
+ *
3396
+ * @default admin.
3397
+ * @schema VinylCacheSpecPodVolumesRbd#user
3398
+ */
3399
+ readonly user?: string;
3400
+ }
3401
+ /**
3402
+ * Converts an object of type 'VinylCacheSpecPodVolumesRbd' to JSON representation.
3403
+ */
3404
+ export declare function toJson_VinylCacheSpecPodVolumesRbd(obj: VinylCacheSpecPodVolumesRbd | undefined): Record<string, any> | undefined;
3405
+ /**
3406
+ * scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
3407
+ * Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
3408
+ *
3409
+ * @schema VinylCacheSpecPodVolumesScaleIo
3410
+ */
3411
+ export interface VinylCacheSpecPodVolumesScaleIo {
3412
+ /**
3413
+ * fsType is the filesystem type to mount.
3414
+ * Must be a filesystem type supported by the host operating system.
3415
+ * Ex. "ext4", "xfs", "ntfs".
3416
+ * Default is "xfs".
3417
+ *
3418
+ * @default xfs".
3419
+ * @schema VinylCacheSpecPodVolumesScaleIo#fsType
3420
+ */
3421
+ readonly fsType?: string;
3422
+ /**
3423
+ * gateway is the host address of the ScaleIO API Gateway.
3424
+ *
3425
+ * @schema VinylCacheSpecPodVolumesScaleIo#gateway
3426
+ */
3427
+ readonly gateway: string;
3428
+ /**
3429
+ * protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.
3430
+ *
3431
+ * @schema VinylCacheSpecPodVolumesScaleIo#protectionDomain
3432
+ */
3433
+ readonly protectionDomain?: string;
3434
+ /**
3435
+ * readOnly Defaults to false (read/write). ReadOnly here will force
3436
+ * the ReadOnly setting in VolumeMounts.
3437
+ *
3438
+ * @default false (read/write). ReadOnly here will force
3439
+ * @schema VinylCacheSpecPodVolumesScaleIo#readOnly
3440
+ */
3441
+ readonly readOnly?: boolean;
3442
+ /**
3443
+ * secretRef references to the secret for ScaleIO user and other
3444
+ * sensitive information. If this is not provided, Login operation will fail.
3445
+ *
3446
+ * @schema VinylCacheSpecPodVolumesScaleIo#secretRef
3447
+ */
3448
+ readonly secretRef: VinylCacheSpecPodVolumesScaleIoSecretRef;
3449
+ /**
3450
+ * sslEnabled Flag enable/disable SSL communication with Gateway, default false
3451
+ *
3452
+ * @schema VinylCacheSpecPodVolumesScaleIo#sslEnabled
3453
+ */
3454
+ readonly sslEnabled?: boolean;
3455
+ /**
3456
+ * storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
3457
+ * Default is ThinProvisioned.
3458
+ *
3459
+ * @default ThinProvisioned.
3460
+ * @schema VinylCacheSpecPodVolumesScaleIo#storageMode
3461
+ */
3462
+ readonly storageMode?: string;
3463
+ /**
3464
+ * storagePool is the ScaleIO Storage Pool associated with the protection domain.
3465
+ *
3466
+ * @schema VinylCacheSpecPodVolumesScaleIo#storagePool
3467
+ */
3468
+ readonly storagePool?: string;
3469
+ /**
3470
+ * system is the name of the storage system as configured in ScaleIO.
3471
+ *
3472
+ * @schema VinylCacheSpecPodVolumesScaleIo#system
3473
+ */
3474
+ readonly system: string;
3475
+ /**
3476
+ * volumeName is the name of a volume already created in the ScaleIO system
3477
+ * that is associated with this volume source.
3478
+ *
3479
+ * @schema VinylCacheSpecPodVolumesScaleIo#volumeName
3480
+ */
3481
+ readonly volumeName?: string;
3482
+ }
3483
+ /**
3484
+ * Converts an object of type 'VinylCacheSpecPodVolumesScaleIo' to JSON representation.
3485
+ */
3486
+ export declare function toJson_VinylCacheSpecPodVolumesScaleIo(obj: VinylCacheSpecPodVolumesScaleIo | undefined): Record<string, any> | undefined;
3487
+ /**
3488
+ * secret represents a secret that should populate this volume.
3489
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
3490
+ *
3491
+ * @schema VinylCacheSpecPodVolumesSecret
3492
+ */
3493
+ export interface VinylCacheSpecPodVolumesSecret {
3494
+ /**
3495
+ * defaultMode is Optional: mode bits used to set permissions on created files by default.
3496
+ * Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
3497
+ * YAML accepts both octal and decimal values, JSON requires decimal values
3498
+ * for mode bits. Defaults to 0644.
3499
+ * Directories within the path are not affected by this setting.
3500
+ * This might be in conflict with other options that affect the file
3501
+ * mode, like fsGroup, and the result can be other mode bits set.
3502
+ *
3503
+ * @default 0644.
3504
+ * @schema VinylCacheSpecPodVolumesSecret#defaultMode
3505
+ */
3506
+ readonly defaultMode?: number;
3507
+ /**
3508
+ * items If unspecified, each key-value pair in the Data field of the referenced
3509
+ * Secret will be projected into the volume as a file whose name is the
3510
+ * key and content is the value. If specified, the listed keys will be
3511
+ * projected into the specified paths, and unlisted keys will not be
3512
+ * present. If a key is specified which is not present in the Secret,
3513
+ * the volume setup will error unless it is marked optional. Paths must be
3514
+ * relative and may not contain the '..' path or start with '..'.
3515
+ *
3516
+ * @schema VinylCacheSpecPodVolumesSecret#items
3517
+ */
3518
+ readonly items?: VinylCacheSpecPodVolumesSecretItems[];
3519
+ /**
3520
+ * optional field specify whether the Secret or its keys must be defined
3521
+ *
3522
+ * @schema VinylCacheSpecPodVolumesSecret#optional
3523
+ */
3524
+ readonly optional?: boolean;
3525
+ /**
3526
+ * secretName is the name of the secret in the pod's namespace to use.
3527
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
3528
+ *
3529
+ * @schema VinylCacheSpecPodVolumesSecret#secretName
3530
+ */
3531
+ readonly secretName?: string;
3532
+ }
3533
+ /**
3534
+ * Converts an object of type 'VinylCacheSpecPodVolumesSecret' to JSON representation.
3535
+ */
3536
+ export declare function toJson_VinylCacheSpecPodVolumesSecret(obj: VinylCacheSpecPodVolumesSecret | undefined): Record<string, any> | undefined;
3537
+ /**
3538
+ * storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
3539
+ * Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
3540
+ *
3541
+ * @schema VinylCacheSpecPodVolumesStorageos
3542
+ */
3543
+ export interface VinylCacheSpecPodVolumesStorageos {
3544
+ /**
3545
+ * fsType is the filesystem type to mount.
3546
+ * Must be a filesystem type supported by the host operating system.
3547
+ * Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
3548
+ *
3549
+ * @schema VinylCacheSpecPodVolumesStorageos#fsType
3550
+ */
3551
+ readonly fsType?: string;
3552
+ /**
3553
+ * readOnly defaults to false (read/write). ReadOnly here will force
3554
+ * the ReadOnly setting in VolumeMounts.
3555
+ *
3556
+ * @schema VinylCacheSpecPodVolumesStorageos#readOnly
3557
+ */
3558
+ readonly readOnly?: boolean;
3559
+ /**
3560
+ * secretRef specifies the secret to use for obtaining the StorageOS API
3561
+ * credentials. If not specified, default values will be attempted.
3562
+ *
3563
+ * @schema VinylCacheSpecPodVolumesStorageos#secretRef
3564
+ */
3565
+ readonly secretRef?: VinylCacheSpecPodVolumesStorageosSecretRef;
3566
+ /**
3567
+ * volumeName is the human-readable name of the StorageOS volume. Volume
3568
+ * names are only unique within a namespace.
3569
+ *
3570
+ * @schema VinylCacheSpecPodVolumesStorageos#volumeName
3571
+ */
3572
+ readonly volumeName?: string;
3573
+ /**
3574
+ * volumeNamespace specifies the scope of the volume within StorageOS. If no
3575
+ * namespace is specified then the Pod's namespace will be used. This allows the
3576
+ * Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
3577
+ * Set VolumeName to any name to override the default behaviour.
3578
+ * Set to "default" if you are not using namespaces within StorageOS.
3579
+ * Namespaces that do not pre-exist within StorageOS will be created.
3580
+ *
3581
+ * @schema VinylCacheSpecPodVolumesStorageos#volumeNamespace
3582
+ */
3583
+ readonly volumeNamespace?: string;
3584
+ }
3585
+ /**
3586
+ * Converts an object of type 'VinylCacheSpecPodVolumesStorageos' to JSON representation.
3587
+ */
3588
+ export declare function toJson_VinylCacheSpecPodVolumesStorageos(obj: VinylCacheSpecPodVolumesStorageos | undefined): Record<string, any> | undefined;
3589
+ /**
3590
+ * vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
3591
+ * Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
3592
+ * are redirected to the csi.vsphere.vmware.com CSI driver.
3593
+ *
3594
+ * @schema VinylCacheSpecPodVolumesVsphereVolume
3595
+ */
3596
+ export interface VinylCacheSpecPodVolumesVsphereVolume {
3597
+ /**
3598
+ * fsType is filesystem type to mount.
3599
+ * Must be a filesystem type supported by the host operating system.
3600
+ * Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
3601
+ *
3602
+ * @schema VinylCacheSpecPodVolumesVsphereVolume#fsType
3603
+ */
3604
+ readonly fsType?: string;
3605
+ /**
3606
+ * storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.
3607
+ *
3608
+ * @schema VinylCacheSpecPodVolumesVsphereVolume#storagePolicyID
3609
+ */
3610
+ readonly storagePolicyId?: string;
3611
+ /**
3612
+ * storagePolicyName is the storage Policy Based Management (SPBM) profile name.
3613
+ *
3614
+ * @schema VinylCacheSpecPodVolumesVsphereVolume#storagePolicyName
3615
+ */
3616
+ readonly storagePolicyName?: string;
3617
+ /**
3618
+ * volumePath is the path that identifies vSphere volume vmdk
3619
+ *
3620
+ * @schema VinylCacheSpecPodVolumesVsphereVolume#volumePath
3621
+ */
3622
+ readonly volumePath: string;
3623
+ }
3624
+ /**
3625
+ * Converts an object of type 'VinylCacheSpecPodVolumesVsphereVolume' to JSON representation.
3626
+ */
3627
+ export declare function toJson_VinylCacheSpecPodVolumesVsphereVolume(obj: VinylCacheSpecPodVolumesVsphereVolume | undefined): Record<string, any> | undefined;
3628
+ /**
3629
+ * dataSource field can be used to specify either:
3630
+ * * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
3631
+ * * An existing PVC (PersistentVolumeClaim)
3632
+ * If the provisioner or an external controller can support the specified data source,
3633
+ * it will create a new volume based on the contents of the specified data source.
3634
+ * When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
3635
+ * and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
3636
+ * If the namespace is specified, then dataSourceRef will not be copied to dataSource.
3637
+ *
3638
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecDataSource
3639
+ */
3640
+ export interface VinylCacheSpecVolumeClaimTemplatesSpecDataSource {
3641
+ /**
3642
+ * APIGroup is the group for the resource being referenced.
3643
+ * If APIGroup is not specified, the specified Kind must be in the core API group.
3644
+ * For any other third-party types, APIGroup is required.
3645
+ *
3646
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecDataSource#apiGroup
3647
+ */
3648
+ readonly apiGroup?: string;
3649
+ /**
3650
+ * Kind is the type of resource being referenced
3651
+ *
3652
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecDataSource#kind
3653
+ */
3654
+ readonly kind: string;
3655
+ /**
3656
+ * Name is the name of resource being referenced
3657
+ *
3658
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecDataSource#name
3659
+ */
3660
+ readonly name: string;
3661
+ }
3662
+ /**
3663
+ * Converts an object of type 'VinylCacheSpecVolumeClaimTemplatesSpecDataSource' to JSON representation.
3664
+ */
3665
+ export declare function toJson_VinylCacheSpecVolumeClaimTemplatesSpecDataSource(obj: VinylCacheSpecVolumeClaimTemplatesSpecDataSource | undefined): Record<string, any> | undefined;
3666
+ /**
3667
+ * dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
3668
+ * volume is desired. This may be any object from a non-empty API group (non
3669
+ * core object) or a PersistentVolumeClaim object.
3670
+ * When this field is specified, volume binding will only succeed if the type of
3671
+ * the specified object matches some installed volume populator or dynamic
3672
+ * provisioner.
3673
+ * This field will replace the functionality of the dataSource field and as such
3674
+ * if both fields are non-empty, they must have the same value. For backwards
3675
+ * compatibility, when namespace isn't specified in dataSourceRef,
3676
+ * both fields (dataSource and dataSourceRef) will be set to the same
3677
+ * value automatically if one of them is empty and the other is non-empty.
3678
+ * When namespace is specified in dataSourceRef,
3679
+ * dataSource isn't set to the same value and must be empty.
3680
+ * There are three important differences between dataSource and dataSourceRef:
3681
+ * * While dataSource only allows two specific types of objects, dataSourceRef
3682
+ * allows any non-core object, as well as PersistentVolumeClaim objects.
3683
+ * * While dataSource ignores disallowed values (dropping them), dataSourceRef
3684
+ * preserves all values, and generates an error if a disallowed value is
3685
+ * specified.
3686
+ * * While dataSource only allows local objects, dataSourceRef allows objects
3687
+ * in any namespaces.
3688
+ * (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
3689
+ * (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
3690
+ *
3691
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecDataSourceRef
3692
+ */
3693
+ export interface VinylCacheSpecVolumeClaimTemplatesSpecDataSourceRef {
3694
+ /**
3695
+ * APIGroup is the group for the resource being referenced.
3696
+ * If APIGroup is not specified, the specified Kind must be in the core API group.
3697
+ * For any other third-party types, APIGroup is required.
3698
+ *
3699
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecDataSourceRef#apiGroup
3700
+ */
3701
+ readonly apiGroup?: string;
3702
+ /**
3703
+ * Kind is the type of resource being referenced
3704
+ *
3705
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecDataSourceRef#kind
3706
+ */
3707
+ readonly kind: string;
3708
+ /**
3709
+ * Name is the name of resource being referenced
3710
+ *
3711
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecDataSourceRef#name
3712
+ */
3713
+ readonly name: string;
3714
+ /**
3715
+ * Namespace is the namespace of resource being referenced
3716
+ * Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
3717
+ * (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
3718
+ *
3719
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecDataSourceRef#namespace
3720
+ */
3721
+ readonly namespace?: string;
3722
+ }
3723
+ /**
3724
+ * Converts an object of type 'VinylCacheSpecVolumeClaimTemplatesSpecDataSourceRef' to JSON representation.
3725
+ */
3726
+ export declare function toJson_VinylCacheSpecVolumeClaimTemplatesSpecDataSourceRef(obj: VinylCacheSpecVolumeClaimTemplatesSpecDataSourceRef | undefined): Record<string, any> | undefined;
3727
+ /**
3728
+ * resources represents the minimum resources the volume should have.
3729
+ * Users are allowed to specify resource requirements
3730
+ * that are lower than previous value but must still be higher than capacity recorded in the
3731
+ * status field of the claim.
3732
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
3733
+ *
3734
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecResources
3735
+ */
3736
+ export interface VinylCacheSpecVolumeClaimTemplatesSpecResources {
3737
+ /**
3738
+ * Limits describes the maximum amount of compute resources allowed.
3739
+ * More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
3740
+ *
3741
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecResources#limits
3742
+ */
3743
+ readonly limits?: {
3744
+ [key: string]: VinylCacheSpecVolumeClaimTemplatesSpecResourcesLimits;
3745
+ };
3746
+ /**
3747
+ * Requests describes the minimum amount of compute resources required.
3748
+ * If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
3749
+ * otherwise to an implementation-defined value. Requests cannot exceed Limits.
3750
+ * More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
3751
+ *
3752
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecResources#requests
3753
+ */
3754
+ readonly requests?: {
3755
+ [key: string]: VinylCacheSpecVolumeClaimTemplatesSpecResourcesRequests;
3756
+ };
3757
+ }
3758
+ /**
3759
+ * Converts an object of type 'VinylCacheSpecVolumeClaimTemplatesSpecResources' to JSON representation.
3760
+ */
3761
+ export declare function toJson_VinylCacheSpecVolumeClaimTemplatesSpecResources(obj: VinylCacheSpecVolumeClaimTemplatesSpecResources | undefined): Record<string, any> | undefined;
3762
+ /**
3763
+ * selector is a label query over volumes to consider for binding.
3764
+ *
3765
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecSelector
3766
+ */
3767
+ export interface VinylCacheSpecVolumeClaimTemplatesSpecSelector {
3768
+ /**
3769
+ * matchExpressions is a list of label selector requirements. The requirements are ANDed.
3770
+ *
3771
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecSelector#matchExpressions
3772
+ */
3773
+ readonly matchExpressions?: VinylCacheSpecVolumeClaimTemplatesSpecSelectorMatchExpressions[];
3774
+ /**
3775
+ * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
3776
+ * map is equivalent to an element of matchExpressions, whose key field is "key", the
3777
+ * operator is "In", and the values array contains only "value". The requirements are ANDed.
3778
+ *
3779
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecSelector#matchLabels
3780
+ */
3781
+ readonly matchLabels?: {
3782
+ [key: string]: string;
3783
+ };
3784
+ }
3785
+ /**
3786
+ * Converts an object of type 'VinylCacheSpecVolumeClaimTemplatesSpecSelector' to JSON representation.
3787
+ */
3788
+ export declare function toJson_VinylCacheSpecVolumeClaimTemplatesSpecSelector(obj: VinylCacheSpecVolumeClaimTemplatesSpecSelector | undefined): Record<string, any> | undefined;
3789
+ /**
3790
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatusAllocatedResources
3791
+ */
3792
+ export declare class VinylCacheSpecVolumeClaimTemplatesStatusAllocatedResources {
3793
+ readonly value: number | string;
3794
+ static fromNumber(value: number): VinylCacheSpecVolumeClaimTemplatesStatusAllocatedResources;
3795
+ static fromString(value: string): VinylCacheSpecVolumeClaimTemplatesStatusAllocatedResources;
3796
+ private constructor();
3797
+ }
3798
+ /**
3799
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatusCapacity
3800
+ */
3801
+ export declare class VinylCacheSpecVolumeClaimTemplatesStatusCapacity {
3802
+ readonly value: number | string;
3803
+ static fromNumber(value: number): VinylCacheSpecVolumeClaimTemplatesStatusCapacity;
3804
+ static fromString(value: string): VinylCacheSpecVolumeClaimTemplatesStatusCapacity;
3805
+ private constructor();
3806
+ }
3807
+ /**
3808
+ * PersistentVolumeClaimCondition contains details about state of pvc
3809
+ *
3810
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatusConditions
3811
+ */
3812
+ export interface VinylCacheSpecVolumeClaimTemplatesStatusConditions {
3813
+ /**
3814
+ * lastProbeTime is the time we probed the condition.
3815
+ *
3816
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatusConditions#lastProbeTime
3817
+ */
3818
+ readonly lastProbeTime?: Date;
3819
+ /**
3820
+ * lastTransitionTime is the time the condition transitioned from one status to another.
3821
+ *
3822
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatusConditions#lastTransitionTime
3823
+ */
3824
+ readonly lastTransitionTime?: Date;
3825
+ /**
3826
+ * message is the human-readable message indicating details about last transition.
3827
+ *
3828
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatusConditions#message
3829
+ */
3830
+ readonly message?: string;
3831
+ /**
3832
+ * reason is a unique, this should be a short, machine understandable string that gives the reason
3833
+ * for condition's last transition. If it reports "Resizing" that means the underlying
3834
+ * persistent volume is being resized.
3835
+ *
3836
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatusConditions#reason
3837
+ */
3838
+ readonly reason?: string;
3839
+ /**
3840
+ * Status is the status of the condition.
3841
+ * Can be True, False, Unknown.
3842
+ * More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=state%20of%20pvc-,conditions.status,-(string)%2C%20required
3843
+ *
3844
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatusConditions#status
3845
+ */
3846
+ readonly status: string;
3847
+ /**
3848
+ * Type is the type of the condition.
3849
+ * More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=set%20to%20%27ResizeStarted%27.-,PersistentVolumeClaimCondition,-contains%20details%20about
3850
+ *
3851
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatusConditions#type
3852
+ */
3853
+ readonly type: string;
3854
+ }
3855
+ /**
3856
+ * Converts an object of type 'VinylCacheSpecVolumeClaimTemplatesStatusConditions' to JSON representation.
3857
+ */
3858
+ export declare function toJson_VinylCacheSpecVolumeClaimTemplatesStatusConditions(obj: VinylCacheSpecVolumeClaimTemplatesStatusConditions | undefined): Record<string, any> | undefined;
3859
+ /**
3860
+ * ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.
3861
+ * When this is unset, there is no ModifyVolume operation being attempted.
3862
+ *
3863
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatusModifyVolumeStatus
3864
+ */
3865
+ export interface VinylCacheSpecVolumeClaimTemplatesStatusModifyVolumeStatus {
3866
+ /**
3867
+ * status is the status of the ControllerModifyVolume operation. It can be in any of following states:
3868
+ * - Pending
3869
+ * Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as
3870
+ * the specified VolumeAttributesClass not existing.
3871
+ * - InProgress
3872
+ * InProgress indicates that the volume is being modified.
3873
+ * - Infeasible
3874
+ * Infeasible indicates that the request has been rejected as invalid by the CSI driver. To
3875
+ * resolve the error, a valid VolumeAttributesClass needs to be specified.
3876
+ * Note: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately.
3877
+ *
3878
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatusModifyVolumeStatus#status
1449
3879
  */
1450
- readonly requiredDuringSchedulingIgnoredDuringExecution?: VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution[];
3880
+ readonly status: string;
3881
+ /**
3882
+ * targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled
3883
+ *
3884
+ * @schema VinylCacheSpecVolumeClaimTemplatesStatusModifyVolumeStatus#targetVolumeAttributesClassName
3885
+ */
3886
+ readonly targetVolumeAttributesClassName?: string;
1451
3887
  }
1452
3888
  /**
1453
- * Converts an object of type 'VinylCacheSpecPodAffinityPodAntiAffinity' to JSON representation.
3889
+ * Converts an object of type 'VinylCacheSpecVolumeClaimTemplatesStatusModifyVolumeStatus' to JSON representation.
1454
3890
  */
1455
- export declare function toJson_VinylCacheSpecPodAffinityPodAntiAffinity(obj: VinylCacheSpecPodAffinityPodAntiAffinity | undefined): Record<string, any> | undefined;
3891
+ export declare function toJson_VinylCacheSpecVolumeClaimTemplatesStatusModifyVolumeStatus(obj: VinylCacheSpecVolumeClaimTemplatesStatusModifyVolumeStatus | undefined): Record<string, any> | undefined;
1456
3892
  /**
1457
3893
  * by determines what value is hashed for shard selection. "HASH" uses the Varnish
1458
3894
  * hash (default); "URL" uses the request URL.
@@ -1478,6 +3914,51 @@ export declare enum VinylCacheSpecBackendsDirectorShardHealthy {
1478
3914
  /** ALL */
1479
3915
  ALL = "ALL"
1480
3916
  }
3917
+ /**
3918
+ * ResourceClaim references one entry in PodSpec.ResourceClaims.
3919
+ *
3920
+ * @schema VinylCacheSpecMonitoringExporterResourcesClaims
3921
+ */
3922
+ export interface VinylCacheSpecMonitoringExporterResourcesClaims {
3923
+ /**
3924
+ * Name must match the name of one entry in pod.spec.resourceClaims of
3925
+ * the Pod where this field is used. It makes that resource available
3926
+ * inside a container.
3927
+ *
3928
+ * @schema VinylCacheSpecMonitoringExporterResourcesClaims#name
3929
+ */
3930
+ readonly name: string;
3931
+ /**
3932
+ * Request is the name chosen for a request in the referenced claim.
3933
+ * If empty, everything from the claim is made available, otherwise
3934
+ * only the result of this request.
3935
+ *
3936
+ * @schema VinylCacheSpecMonitoringExporterResourcesClaims#request
3937
+ */
3938
+ readonly request?: string;
3939
+ }
3940
+ /**
3941
+ * Converts an object of type 'VinylCacheSpecMonitoringExporterResourcesClaims' to JSON representation.
3942
+ */
3943
+ export declare function toJson_VinylCacheSpecMonitoringExporterResourcesClaims(obj: VinylCacheSpecMonitoringExporterResourcesClaims | undefined): Record<string, any> | undefined;
3944
+ /**
3945
+ * @schema VinylCacheSpecMonitoringExporterResourcesLimits
3946
+ */
3947
+ export declare class VinylCacheSpecMonitoringExporterResourcesLimits {
3948
+ readonly value: number | string;
3949
+ static fromNumber(value: number): VinylCacheSpecMonitoringExporterResourcesLimits;
3950
+ static fromString(value: string): VinylCacheSpecMonitoringExporterResourcesLimits;
3951
+ private constructor();
3952
+ }
3953
+ /**
3954
+ * @schema VinylCacheSpecMonitoringExporterResourcesRequests
3955
+ */
3956
+ export declare class VinylCacheSpecMonitoringExporterResourcesRequests {
3957
+ readonly value: number | string;
3958
+ static fromNumber(value: number): VinylCacheSpecMonitoringExporterResourcesRequests;
3959
+ static fromString(value: string): VinylCacheSpecMonitoringExporterResourcesRequests;
3960
+ private constructor();
3961
+ }
1481
3962
  /**
1482
3963
  * An empty preferred scheduling term matches all objects with implicit weight 0
1483
3964
  * (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
@@ -1681,52 +4162,560 @@ export interface VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulin
1681
4162
  */
1682
4163
  readonly matchLabelKeys?: string[];
1683
4164
  /**
1684
- * MismatchLabelKeys is a set of pod label keys to select which pods will
1685
- * be taken into consideration. The keys are used to lookup values from the
1686
- * incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
1687
- * to select the group of existing pods which pods will be taken into consideration
1688
- * for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
1689
- * pod labels will be ignored. The default value is empty.
1690
- * The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
1691
- * Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
4165
+ * MismatchLabelKeys is a set of pod label keys to select which pods will
4166
+ * be taken into consideration. The keys are used to lookup values from the
4167
+ * incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
4168
+ * to select the group of existing pods which pods will be taken into consideration
4169
+ * for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
4170
+ * pod labels will be ignored. The default value is empty.
4171
+ * The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
4172
+ * Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
4173
+ *
4174
+ * @schema VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution#mismatchLabelKeys
4175
+ */
4176
+ readonly mismatchLabelKeys?: string[];
4177
+ /**
4178
+ * A label query over the set of namespaces that the term applies to.
4179
+ * The term is applied to the union of the namespaces selected by this field
4180
+ * and the ones listed in the namespaces field.
4181
+ * null selector and null or empty namespaces list means "this pod's namespace".
4182
+ * An empty selector ({}) matches all namespaces.
4183
+ *
4184
+ * @schema VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution#namespaceSelector
4185
+ */
4186
+ readonly namespaceSelector?: VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector;
4187
+ /**
4188
+ * namespaces specifies a static list of namespace names that the term applies to.
4189
+ * The term is applied to the union of the namespaces listed in this field
4190
+ * and the ones selected by namespaceSelector.
4191
+ * null or empty namespaces list and null namespaceSelector means "this pod's namespace".
4192
+ *
4193
+ * @schema VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution#namespaces
4194
+ */
4195
+ readonly namespaces?: string[];
4196
+ /**
4197
+ * This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
4198
+ * the labelSelector in the specified namespaces, where co-located is defined as running on a node
4199
+ * whose value of the label with key topologyKey matches that of any node on which any of the
4200
+ * selected pods is running.
4201
+ * Empty topologyKey is not allowed.
4202
+ *
4203
+ * @schema VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution#topologyKey
4204
+ */
4205
+ readonly topologyKey: string;
4206
+ }
4207
+ /**
4208
+ * Converts an object of type 'VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution' to JSON representation.
4209
+ */
4210
+ export declare function toJson_VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution(obj: VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution | undefined): Record<string, any> | undefined;
4211
+ /**
4212
+ * secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
4213
+ * More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
4214
+ *
4215
+ * @schema VinylCacheSpecPodVolumesCephfsSecretRef
4216
+ */
4217
+ export interface VinylCacheSpecPodVolumesCephfsSecretRef {
4218
+ /**
4219
+ * Name of the referent.
4220
+ * This field is effectively required, but due to backwards compatibility is
4221
+ * allowed to be empty. Instances of this type with an empty value here are
4222
+ * almost certainly wrong.
4223
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4224
+ *
4225
+ * @schema VinylCacheSpecPodVolumesCephfsSecretRef#name
4226
+ */
4227
+ readonly name?: string;
4228
+ }
4229
+ /**
4230
+ * Converts an object of type 'VinylCacheSpecPodVolumesCephfsSecretRef' to JSON representation.
4231
+ */
4232
+ export declare function toJson_VinylCacheSpecPodVolumesCephfsSecretRef(obj: VinylCacheSpecPodVolumesCephfsSecretRef | undefined): Record<string, any> | undefined;
4233
+ /**
4234
+ * secretRef is optional: points to a secret object containing parameters used to connect
4235
+ * to OpenStack.
4236
+ *
4237
+ * @schema VinylCacheSpecPodVolumesCinderSecretRef
4238
+ */
4239
+ export interface VinylCacheSpecPodVolumesCinderSecretRef {
4240
+ /**
4241
+ * Name of the referent.
4242
+ * This field is effectively required, but due to backwards compatibility is
4243
+ * allowed to be empty. Instances of this type with an empty value here are
4244
+ * almost certainly wrong.
4245
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4246
+ *
4247
+ * @schema VinylCacheSpecPodVolumesCinderSecretRef#name
4248
+ */
4249
+ readonly name?: string;
4250
+ }
4251
+ /**
4252
+ * Converts an object of type 'VinylCacheSpecPodVolumesCinderSecretRef' to JSON representation.
4253
+ */
4254
+ export declare function toJson_VinylCacheSpecPodVolumesCinderSecretRef(obj: VinylCacheSpecPodVolumesCinderSecretRef | undefined): Record<string, any> | undefined;
4255
+ /**
4256
+ * Maps a string key to a path within a volume.
4257
+ *
4258
+ * @schema VinylCacheSpecPodVolumesConfigMapItems
4259
+ */
4260
+ export interface VinylCacheSpecPodVolumesConfigMapItems {
4261
+ /**
4262
+ * key is the key to project.
4263
+ *
4264
+ * @schema VinylCacheSpecPodVolumesConfigMapItems#key
4265
+ */
4266
+ readonly key: string;
4267
+ /**
4268
+ * mode is Optional: mode bits used to set permissions on this file.
4269
+ * Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
4270
+ * YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
4271
+ * If not specified, the volume defaultMode will be used.
4272
+ * This might be in conflict with other options that affect the file
4273
+ * mode, like fsGroup, and the result can be other mode bits set.
4274
+ *
4275
+ * @schema VinylCacheSpecPodVolumesConfigMapItems#mode
4276
+ */
4277
+ readonly mode?: number;
4278
+ /**
4279
+ * path is the relative path of the file to map the key to.
4280
+ * May not be an absolute path.
4281
+ * May not contain the path element '..'.
4282
+ * May not start with the string '..'.
4283
+ *
4284
+ * @schema VinylCacheSpecPodVolumesConfigMapItems#path
4285
+ */
4286
+ readonly path: string;
4287
+ }
4288
+ /**
4289
+ * Converts an object of type 'VinylCacheSpecPodVolumesConfigMapItems' to JSON representation.
4290
+ */
4291
+ export declare function toJson_VinylCacheSpecPodVolumesConfigMapItems(obj: VinylCacheSpecPodVolumesConfigMapItems | undefined): Record<string, any> | undefined;
4292
+ /**
4293
+ * nodePublishSecretRef is a reference to the secret object containing
4294
+ * sensitive information to pass to the CSI driver to complete the CSI
4295
+ * NodePublishVolume and NodeUnpublishVolume calls.
4296
+ * This field is optional, and may be empty if no secret is required. If the
4297
+ * secret object contains more than one secret, all secret references are passed.
4298
+ *
4299
+ * @schema VinylCacheSpecPodVolumesCsiNodePublishSecretRef
4300
+ */
4301
+ export interface VinylCacheSpecPodVolumesCsiNodePublishSecretRef {
4302
+ /**
4303
+ * Name of the referent.
4304
+ * This field is effectively required, but due to backwards compatibility is
4305
+ * allowed to be empty. Instances of this type with an empty value here are
4306
+ * almost certainly wrong.
4307
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4308
+ *
4309
+ * @schema VinylCacheSpecPodVolumesCsiNodePublishSecretRef#name
4310
+ */
4311
+ readonly name?: string;
4312
+ }
4313
+ /**
4314
+ * Converts an object of type 'VinylCacheSpecPodVolumesCsiNodePublishSecretRef' to JSON representation.
4315
+ */
4316
+ export declare function toJson_VinylCacheSpecPodVolumesCsiNodePublishSecretRef(obj: VinylCacheSpecPodVolumesCsiNodePublishSecretRef | undefined): Record<string, any> | undefined;
4317
+ /**
4318
+ * DownwardAPIVolumeFile represents information to create the file containing the pod field
4319
+ *
4320
+ * @schema VinylCacheSpecPodVolumesDownwardApiItems
4321
+ */
4322
+ export interface VinylCacheSpecPodVolumesDownwardApiItems {
4323
+ /**
4324
+ * Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.
4325
+ *
4326
+ * @schema VinylCacheSpecPodVolumesDownwardApiItems#fieldRef
4327
+ */
4328
+ readonly fieldRef?: VinylCacheSpecPodVolumesDownwardApiItemsFieldRef;
4329
+ /**
4330
+ * Optional: mode bits used to set permissions on this file, must be an octal value
4331
+ * between 0000 and 0777 or a decimal value between 0 and 511.
4332
+ * YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
4333
+ * If not specified, the volume defaultMode will be used.
4334
+ * This might be in conflict with other options that affect the file
4335
+ * mode, like fsGroup, and the result can be other mode bits set.
4336
+ *
4337
+ * @schema VinylCacheSpecPodVolumesDownwardApiItems#mode
4338
+ */
4339
+ readonly mode?: number;
4340
+ /**
4341
+ * Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'
4342
+ *
4343
+ * @schema VinylCacheSpecPodVolumesDownwardApiItems#path
4344
+ */
4345
+ readonly path: string;
4346
+ /**
4347
+ * Selects a resource of the container: only resources limits and requests
4348
+ * (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
4349
+ *
4350
+ * @schema VinylCacheSpecPodVolumesDownwardApiItems#resourceFieldRef
4351
+ */
4352
+ readonly resourceFieldRef?: VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRef;
4353
+ }
4354
+ /**
4355
+ * Converts an object of type 'VinylCacheSpecPodVolumesDownwardApiItems' to JSON representation.
4356
+ */
4357
+ export declare function toJson_VinylCacheSpecPodVolumesDownwardApiItems(obj: VinylCacheSpecPodVolumesDownwardApiItems | undefined): Record<string, any> | undefined;
4358
+ /**
4359
+ * sizeLimit is the total amount of local storage required for this EmptyDir volume.
4360
+ * The size limit is also applicable for memory medium.
4361
+ * The maximum usage on memory medium EmptyDir would be the minimum value between
4362
+ * the SizeLimit specified here and the sum of memory limits of all containers in a pod.
4363
+ * The default is nil which means that the limit is undefined.
4364
+ * More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
4365
+ *
4366
+ * @schema VinylCacheSpecPodVolumesEmptyDirSizeLimit
4367
+ */
4368
+ export declare class VinylCacheSpecPodVolumesEmptyDirSizeLimit {
4369
+ readonly value: number | string;
4370
+ static fromNumber(value: number): VinylCacheSpecPodVolumesEmptyDirSizeLimit;
4371
+ static fromString(value: string): VinylCacheSpecPodVolumesEmptyDirSizeLimit;
4372
+ private constructor();
4373
+ }
4374
+ /**
4375
+ * Will be used to create a stand-alone PVC to provision the volume.
4376
+ * The pod in which this EphemeralVolumeSource is embedded will be the
4377
+ * owner of the PVC, i.e. the PVC will be deleted together with the
4378
+ * pod. The name of the PVC will be `<pod name>-<volume name>` where
4379
+ * `<volume name>` is the name from the `PodSpec.Volumes` array
4380
+ * entry. Pod validation will reject the pod if the concatenated name
4381
+ * is not valid for a PVC (for example, too long).
4382
+ *
4383
+ * An existing PVC with that name that is not owned by the pod
4384
+ * will *not* be used for the pod to avoid using an unrelated
4385
+ * volume by mistake. Starting the pod is then blocked until
4386
+ * the unrelated PVC is removed. If such a pre-created PVC is
4387
+ * meant to be used by the pod, the PVC has to updated with an
4388
+ * owner reference to the pod once the pod exists. Normally
4389
+ * this should not be necessary, but it may be useful when
4390
+ * manually reconstructing a broken cluster.
4391
+ *
4392
+ * This field is read-only and no changes will be made by Kubernetes
4393
+ * to the PVC after it has been created.
4394
+ *
4395
+ * Required, must not be nil.
4396
+ *
4397
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplate
4398
+ */
4399
+ export interface VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplate {
4400
+ /**
4401
+ * May contain labels and annotations that will be copied into the PVC
4402
+ * when creating it. No other fields are allowed and will be rejected during
4403
+ * validation.
4404
+ *
4405
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplate#metadata
4406
+ */
4407
+ readonly metadata?: any;
4408
+ /**
4409
+ * The specification for the PersistentVolumeClaim. The entire content is
4410
+ * copied unchanged into the PVC that gets created from this
4411
+ * template. The same fields as in a PersistentVolumeClaim
4412
+ * are also valid here.
4413
+ *
4414
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplate#spec
4415
+ */
4416
+ readonly spec: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec;
4417
+ }
4418
+ /**
4419
+ * Converts an object of type 'VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplate' to JSON representation.
4420
+ */
4421
+ export declare function toJson_VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplate(obj: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplate | undefined): Record<string, any> | undefined;
4422
+ /**
4423
+ * secretRef is Optional: secretRef is reference to the secret object containing
4424
+ * sensitive information to pass to the plugin scripts. This may be
4425
+ * empty if no secret object is specified. If the secret object
4426
+ * contains more than one secret, all secrets are passed to the plugin
4427
+ * scripts.
4428
+ *
4429
+ * @schema VinylCacheSpecPodVolumesFlexVolumeSecretRef
4430
+ */
4431
+ export interface VinylCacheSpecPodVolumesFlexVolumeSecretRef {
4432
+ /**
4433
+ * Name of the referent.
4434
+ * This field is effectively required, but due to backwards compatibility is
4435
+ * allowed to be empty. Instances of this type with an empty value here are
4436
+ * almost certainly wrong.
4437
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4438
+ *
4439
+ * @schema VinylCacheSpecPodVolumesFlexVolumeSecretRef#name
4440
+ */
4441
+ readonly name?: string;
4442
+ }
4443
+ /**
4444
+ * Converts an object of type 'VinylCacheSpecPodVolumesFlexVolumeSecretRef' to JSON representation.
4445
+ */
4446
+ export declare function toJson_VinylCacheSpecPodVolumesFlexVolumeSecretRef(obj: VinylCacheSpecPodVolumesFlexVolumeSecretRef | undefined): Record<string, any> | undefined;
4447
+ /**
4448
+ * secretRef is the CHAP Secret for iSCSI target and initiator authentication
4449
+ *
4450
+ * @schema VinylCacheSpecPodVolumesIscsiSecretRef
4451
+ */
4452
+ export interface VinylCacheSpecPodVolumesIscsiSecretRef {
4453
+ /**
4454
+ * Name of the referent.
4455
+ * This field is effectively required, but due to backwards compatibility is
4456
+ * allowed to be empty. Instances of this type with an empty value here are
4457
+ * almost certainly wrong.
4458
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4459
+ *
4460
+ * @schema VinylCacheSpecPodVolumesIscsiSecretRef#name
4461
+ */
4462
+ readonly name?: string;
4463
+ }
4464
+ /**
4465
+ * Converts an object of type 'VinylCacheSpecPodVolumesIscsiSecretRef' to JSON representation.
4466
+ */
4467
+ export declare function toJson_VinylCacheSpecPodVolumesIscsiSecretRef(obj: VinylCacheSpecPodVolumesIscsiSecretRef | undefined): Record<string, any> | undefined;
4468
+ /**
4469
+ * Projection that may be projected along with other supported volume types.
4470
+ * Exactly one of these fields must be set.
4471
+ *
4472
+ * @schema VinylCacheSpecPodVolumesProjectedSources
4473
+ */
4474
+ export interface VinylCacheSpecPodVolumesProjectedSources {
4475
+ /**
4476
+ * ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
4477
+ * of ClusterTrustBundle objects in an auto-updating file.
4478
+ *
4479
+ * Alpha, gated by the ClusterTrustBundleProjection feature gate.
4480
+ *
4481
+ * ClusterTrustBundle objects can either be selected by name, or by the
4482
+ * combination of signer name and a label selector.
4483
+ *
4484
+ * Kubelet performs aggressive normalization of the PEM contents written
4485
+ * into the pod filesystem. Esoteric PEM features such as inter-block
4486
+ * comments and block headers are stripped. Certificates are deduplicated.
4487
+ * The ordering of certificates within the file is arbitrary, and Kubelet
4488
+ * may change the order over time.
4489
+ *
4490
+ * @schema VinylCacheSpecPodVolumesProjectedSources#clusterTrustBundle
4491
+ */
4492
+ readonly clusterTrustBundle?: VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundle;
4493
+ /**
4494
+ * configMap information about the configMap data to project
4495
+ *
4496
+ * @schema VinylCacheSpecPodVolumesProjectedSources#configMap
4497
+ */
4498
+ readonly configMap?: VinylCacheSpecPodVolumesProjectedSourcesConfigMap;
4499
+ /**
4500
+ * downwardAPI information about the downwardAPI data to project
4501
+ *
4502
+ * @schema VinylCacheSpecPodVolumesProjectedSources#downwardAPI
4503
+ */
4504
+ readonly downwardApi?: VinylCacheSpecPodVolumesProjectedSourcesDownwardApi;
4505
+ /**
4506
+ * Projects an auto-rotating credential bundle (private key and certificate
4507
+ * chain) that the pod can use either as a TLS client or server.
4508
+ *
4509
+ * Kubelet generates a private key and uses it to send a
4510
+ * PodCertificateRequest to the named signer. Once the signer approves the
4511
+ * request and issues a certificate chain, Kubelet writes the key and
4512
+ * certificate chain to the pod filesystem. The pod does not start until
4513
+ * certificates have been issued for each podCertificate projected volume
4514
+ * source in its spec.
4515
+ *
4516
+ * Kubelet will begin trying to rotate the certificate at the time indicated
4517
+ * by the signer using the PodCertificateRequest.Status.BeginRefreshAt
4518
+ * timestamp.
4519
+ *
4520
+ * Kubelet can write a single file, indicated by the credentialBundlePath
4521
+ * field, or separate files, indicated by the keyPath and
4522
+ * certificateChainPath fields.
4523
+ *
4524
+ * The credential bundle is a single file in PEM format. The first PEM
4525
+ * entry is the private key (in PKCS#8 format), and the remaining PEM
4526
+ * entries are the certificate chain issued by the signer (typically,
4527
+ * signers will return their certificate chain in leaf-to-root order).
4528
+ *
4529
+ * Prefer using the credential bundle format, since your application code
4530
+ * can read it atomically. If you use keyPath and certificateChainPath,
4531
+ * your application must make two separate file reads. If these coincide
4532
+ * with a certificate rotation, it is possible that the private key and leaf
4533
+ * certificate you read may not correspond to each other. Your application
4534
+ * will need to check for this condition, and re-read until they are
4535
+ * consistent.
4536
+ *
4537
+ * The named signer controls chooses the format of the certificate it
4538
+ * issues; consult the signer implementation's documentation to learn how to
4539
+ * use the certificates it issues.
4540
+ *
4541
+ * @schema VinylCacheSpecPodVolumesProjectedSources#podCertificate
4542
+ */
4543
+ readonly podCertificate?: VinylCacheSpecPodVolumesProjectedSourcesPodCertificate;
4544
+ /**
4545
+ * secret information about the secret data to project
4546
+ *
4547
+ * @schema VinylCacheSpecPodVolumesProjectedSources#secret
4548
+ */
4549
+ readonly secret?: VinylCacheSpecPodVolumesProjectedSourcesSecret;
4550
+ /**
4551
+ * serviceAccountToken is information about the serviceAccountToken data to project
4552
+ *
4553
+ * @schema VinylCacheSpecPodVolumesProjectedSources#serviceAccountToken
4554
+ */
4555
+ readonly serviceAccountToken?: VinylCacheSpecPodVolumesProjectedSourcesServiceAccountToken;
4556
+ }
4557
+ /**
4558
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSources' to JSON representation.
4559
+ */
4560
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSources(obj: VinylCacheSpecPodVolumesProjectedSources | undefined): Record<string, any> | undefined;
4561
+ /**
4562
+ * secretRef is name of the authentication secret for RBDUser. If provided
4563
+ * overrides keyring.
4564
+ * Default is nil.
4565
+ * More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
4566
+ *
4567
+ * @default nil.
4568
+ * @schema VinylCacheSpecPodVolumesRbdSecretRef
4569
+ */
4570
+ export interface VinylCacheSpecPodVolumesRbdSecretRef {
4571
+ /**
4572
+ * Name of the referent.
4573
+ * This field is effectively required, but due to backwards compatibility is
4574
+ * allowed to be empty. Instances of this type with an empty value here are
4575
+ * almost certainly wrong.
4576
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4577
+ *
4578
+ * @schema VinylCacheSpecPodVolumesRbdSecretRef#name
4579
+ */
4580
+ readonly name?: string;
4581
+ }
4582
+ /**
4583
+ * Converts an object of type 'VinylCacheSpecPodVolumesRbdSecretRef' to JSON representation.
4584
+ */
4585
+ export declare function toJson_VinylCacheSpecPodVolumesRbdSecretRef(obj: VinylCacheSpecPodVolumesRbdSecretRef | undefined): Record<string, any> | undefined;
4586
+ /**
4587
+ * secretRef references to the secret for ScaleIO user and other
4588
+ * sensitive information. If this is not provided, Login operation will fail.
4589
+ *
4590
+ * @schema VinylCacheSpecPodVolumesScaleIoSecretRef
4591
+ */
4592
+ export interface VinylCacheSpecPodVolumesScaleIoSecretRef {
4593
+ /**
4594
+ * Name of the referent.
4595
+ * This field is effectively required, but due to backwards compatibility is
4596
+ * allowed to be empty. Instances of this type with an empty value here are
4597
+ * almost certainly wrong.
4598
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4599
+ *
4600
+ * @schema VinylCacheSpecPodVolumesScaleIoSecretRef#name
4601
+ */
4602
+ readonly name?: string;
4603
+ }
4604
+ /**
4605
+ * Converts an object of type 'VinylCacheSpecPodVolumesScaleIoSecretRef' to JSON representation.
4606
+ */
4607
+ export declare function toJson_VinylCacheSpecPodVolumesScaleIoSecretRef(obj: VinylCacheSpecPodVolumesScaleIoSecretRef | undefined): Record<string, any> | undefined;
4608
+ /**
4609
+ * Maps a string key to a path within a volume.
4610
+ *
4611
+ * @schema VinylCacheSpecPodVolumesSecretItems
4612
+ */
4613
+ export interface VinylCacheSpecPodVolumesSecretItems {
4614
+ /**
4615
+ * key is the key to project.
4616
+ *
4617
+ * @schema VinylCacheSpecPodVolumesSecretItems#key
4618
+ */
4619
+ readonly key: string;
4620
+ /**
4621
+ * mode is Optional: mode bits used to set permissions on this file.
4622
+ * Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
4623
+ * YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
4624
+ * If not specified, the volume defaultMode will be used.
4625
+ * This might be in conflict with other options that affect the file
4626
+ * mode, like fsGroup, and the result can be other mode bits set.
4627
+ *
4628
+ * @schema VinylCacheSpecPodVolumesSecretItems#mode
4629
+ */
4630
+ readonly mode?: number;
4631
+ /**
4632
+ * path is the relative path of the file to map the key to.
4633
+ * May not be an absolute path.
4634
+ * May not contain the path element '..'.
4635
+ * May not start with the string '..'.
4636
+ *
4637
+ * @schema VinylCacheSpecPodVolumesSecretItems#path
4638
+ */
4639
+ readonly path: string;
4640
+ }
4641
+ /**
4642
+ * Converts an object of type 'VinylCacheSpecPodVolumesSecretItems' to JSON representation.
4643
+ */
4644
+ export declare function toJson_VinylCacheSpecPodVolumesSecretItems(obj: VinylCacheSpecPodVolumesSecretItems | undefined): Record<string, any> | undefined;
4645
+ /**
4646
+ * secretRef specifies the secret to use for obtaining the StorageOS API
4647
+ * credentials. If not specified, default values will be attempted.
4648
+ *
4649
+ * @schema VinylCacheSpecPodVolumesStorageosSecretRef
4650
+ */
4651
+ export interface VinylCacheSpecPodVolumesStorageosSecretRef {
4652
+ /**
4653
+ * Name of the referent.
4654
+ * This field is effectively required, but due to backwards compatibility is
4655
+ * allowed to be empty. Instances of this type with an empty value here are
4656
+ * almost certainly wrong.
4657
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1692
4658
  *
1693
- * @schema VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution#mismatchLabelKeys
4659
+ * @schema VinylCacheSpecPodVolumesStorageosSecretRef#name
1694
4660
  */
1695
- readonly mismatchLabelKeys?: string[];
4661
+ readonly name?: string;
4662
+ }
4663
+ /**
4664
+ * Converts an object of type 'VinylCacheSpecPodVolumesStorageosSecretRef' to JSON representation.
4665
+ */
4666
+ export declare function toJson_VinylCacheSpecPodVolumesStorageosSecretRef(obj: VinylCacheSpecPodVolumesStorageosSecretRef | undefined): Record<string, any> | undefined;
4667
+ /**
4668
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecResourcesLimits
4669
+ */
4670
+ export declare class VinylCacheSpecVolumeClaimTemplatesSpecResourcesLimits {
4671
+ readonly value: number | string;
4672
+ static fromNumber(value: number): VinylCacheSpecVolumeClaimTemplatesSpecResourcesLimits;
4673
+ static fromString(value: string): VinylCacheSpecVolumeClaimTemplatesSpecResourcesLimits;
4674
+ private constructor();
4675
+ }
4676
+ /**
4677
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecResourcesRequests
4678
+ */
4679
+ export declare class VinylCacheSpecVolumeClaimTemplatesSpecResourcesRequests {
4680
+ readonly value: number | string;
4681
+ static fromNumber(value: number): VinylCacheSpecVolumeClaimTemplatesSpecResourcesRequests;
4682
+ static fromString(value: string): VinylCacheSpecVolumeClaimTemplatesSpecResourcesRequests;
4683
+ private constructor();
4684
+ }
4685
+ /**
4686
+ * A label selector requirement is a selector that contains values, a key, and an operator that
4687
+ * relates the key and values.
4688
+ *
4689
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecSelectorMatchExpressions
4690
+ */
4691
+ export interface VinylCacheSpecVolumeClaimTemplatesSpecSelectorMatchExpressions {
1696
4692
  /**
1697
- * A label query over the set of namespaces that the term applies to.
1698
- * The term is applied to the union of the namespaces selected by this field
1699
- * and the ones listed in the namespaces field.
1700
- * null selector and null or empty namespaces list means "this pod's namespace".
1701
- * An empty selector ({}) matches all namespaces.
4693
+ * key is the label key that the selector applies to.
1702
4694
  *
1703
- * @schema VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution#namespaceSelector
4695
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecSelectorMatchExpressions#key
1704
4696
  */
1705
- readonly namespaceSelector?: VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector;
4697
+ readonly key: string;
1706
4698
  /**
1707
- * namespaces specifies a static list of namespace names that the term applies to.
1708
- * The term is applied to the union of the namespaces listed in this field
1709
- * and the ones selected by namespaceSelector.
1710
- * null or empty namespaces list and null namespaceSelector means "this pod's namespace".
4699
+ * operator represents a key's relationship to a set of values.
4700
+ * Valid operators are In, NotIn, Exists and DoesNotExist.
1711
4701
  *
1712
- * @schema VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution#namespaces
4702
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecSelectorMatchExpressions#operator
1713
4703
  */
1714
- readonly namespaces?: string[];
4704
+ readonly operator: string;
1715
4705
  /**
1716
- * This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
1717
- * the labelSelector in the specified namespaces, where co-located is defined as running on a node
1718
- * whose value of the label with key topologyKey matches that of any node on which any of the
1719
- * selected pods is running.
1720
- * Empty topologyKey is not allowed.
4706
+ * values is an array of string values. If the operator is In or NotIn,
4707
+ * the values array must be non-empty. If the operator is Exists or DoesNotExist,
4708
+ * the values array must be empty. This array is replaced during a strategic
4709
+ * merge patch.
1721
4710
  *
1722
- * @schema VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution#topologyKey
4711
+ * @schema VinylCacheSpecVolumeClaimTemplatesSpecSelectorMatchExpressions#values
1723
4712
  */
1724
- readonly topologyKey: string;
4713
+ readonly values?: string[];
1725
4714
  }
1726
4715
  /**
1727
- * Converts an object of type 'VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution' to JSON representation.
4716
+ * Converts an object of type 'VinylCacheSpecVolumeClaimTemplatesSpecSelectorMatchExpressions' to JSON representation.
1728
4717
  */
1729
- export declare function toJson_VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution(obj: VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution | undefined): Record<string, any> | undefined;
4718
+ export declare function toJson_VinylCacheSpecVolumeClaimTemplatesSpecSelectorMatchExpressions(obj: VinylCacheSpecVolumeClaimTemplatesSpecSelectorMatchExpressions | undefined): Record<string, any> | undefined;
1730
4719
  /**
1731
4720
  * A node selector term, associated with the corresponding weight.
1732
4721
  *
@@ -2023,22 +5012,524 @@ export interface VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulin
2023
5012
  *
2024
5013
  * @schema VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector#matchExpressions
2025
5014
  */
2026
- readonly matchExpressions?: VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions[];
5015
+ readonly matchExpressions?: VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions[];
5016
+ /**
5017
+ * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
5018
+ * map is equivalent to an element of matchExpressions, whose key field is "key", the
5019
+ * operator is "In", and the values array contains only "value". The requirements are ANDed.
5020
+ *
5021
+ * @schema VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector#matchLabels
5022
+ */
5023
+ readonly matchLabels?: {
5024
+ [key: string]: string;
5025
+ };
5026
+ }
5027
+ /**
5028
+ * Converts an object of type 'VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector' to JSON representation.
5029
+ */
5030
+ export declare function toJson_VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector(obj: VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector | undefined): Record<string, any> | undefined;
5031
+ /**
5032
+ * Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.
5033
+ *
5034
+ * @schema VinylCacheSpecPodVolumesDownwardApiItemsFieldRef
5035
+ */
5036
+ export interface VinylCacheSpecPodVolumesDownwardApiItemsFieldRef {
5037
+ /**
5038
+ * Version of the schema the FieldPath is written in terms of, defaults to "v1".
5039
+ *
5040
+ * @schema VinylCacheSpecPodVolumesDownwardApiItemsFieldRef#apiVersion
5041
+ */
5042
+ readonly apiVersion?: string;
5043
+ /**
5044
+ * Path of the field to select in the specified API version.
5045
+ *
5046
+ * @schema VinylCacheSpecPodVolumesDownwardApiItemsFieldRef#fieldPath
5047
+ */
5048
+ readonly fieldPath: string;
5049
+ }
5050
+ /**
5051
+ * Converts an object of type 'VinylCacheSpecPodVolumesDownwardApiItemsFieldRef' to JSON representation.
5052
+ */
5053
+ export declare function toJson_VinylCacheSpecPodVolumesDownwardApiItemsFieldRef(obj: VinylCacheSpecPodVolumesDownwardApiItemsFieldRef | undefined): Record<string, any> | undefined;
5054
+ /**
5055
+ * Selects a resource of the container: only resources limits and requests
5056
+ * (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
5057
+ *
5058
+ * @schema VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRef
5059
+ */
5060
+ export interface VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRef {
5061
+ /**
5062
+ * Container name: required for volumes, optional for env vars
5063
+ *
5064
+ * @schema VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRef#containerName
5065
+ */
5066
+ readonly containerName?: string;
5067
+ /**
5068
+ * Specifies the output format of the exposed resources, defaults to "1"
5069
+ *
5070
+ * @schema VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRef#divisor
5071
+ */
5072
+ readonly divisor?: VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRefDivisor;
5073
+ /**
5074
+ * Required: resource to select
5075
+ *
5076
+ * @schema VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRef#resource
5077
+ */
5078
+ readonly resource: string;
5079
+ }
5080
+ /**
5081
+ * Converts an object of type 'VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRef' to JSON representation.
5082
+ */
5083
+ export declare function toJson_VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRef(obj: VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRef | undefined): Record<string, any> | undefined;
5084
+ /**
5085
+ * The specification for the PersistentVolumeClaim. The entire content is
5086
+ * copied unchanged into the PVC that gets created from this
5087
+ * template. The same fields as in a PersistentVolumeClaim
5088
+ * are also valid here.
5089
+ *
5090
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec
5091
+ */
5092
+ export interface VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec {
5093
+ /**
5094
+ * accessModes contains the desired access modes the volume should have.
5095
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
5096
+ *
5097
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec#accessModes
5098
+ */
5099
+ readonly accessModes?: string[];
5100
+ /**
5101
+ * dataSource field can be used to specify either:
5102
+ * * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
5103
+ * * An existing PVC (PersistentVolumeClaim)
5104
+ * If the provisioner or an external controller can support the specified data source,
5105
+ * it will create a new volume based on the contents of the specified data source.
5106
+ * When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
5107
+ * and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
5108
+ * If the namespace is specified, then dataSourceRef will not be copied to dataSource.
5109
+ *
5110
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec#dataSource
5111
+ */
5112
+ readonly dataSource?: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSource;
5113
+ /**
5114
+ * dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
5115
+ * volume is desired. This may be any object from a non-empty API group (non
5116
+ * core object) or a PersistentVolumeClaim object.
5117
+ * When this field is specified, volume binding will only succeed if the type of
5118
+ * the specified object matches some installed volume populator or dynamic
5119
+ * provisioner.
5120
+ * This field will replace the functionality of the dataSource field and as such
5121
+ * if both fields are non-empty, they must have the same value. For backwards
5122
+ * compatibility, when namespace isn't specified in dataSourceRef,
5123
+ * both fields (dataSource and dataSourceRef) will be set to the same
5124
+ * value automatically if one of them is empty and the other is non-empty.
5125
+ * When namespace is specified in dataSourceRef,
5126
+ * dataSource isn't set to the same value and must be empty.
5127
+ * There are three important differences between dataSource and dataSourceRef:
5128
+ * * While dataSource only allows two specific types of objects, dataSourceRef
5129
+ * allows any non-core object, as well as PersistentVolumeClaim objects.
5130
+ * * While dataSource ignores disallowed values (dropping them), dataSourceRef
5131
+ * preserves all values, and generates an error if a disallowed value is
5132
+ * specified.
5133
+ * * While dataSource only allows local objects, dataSourceRef allows objects
5134
+ * in any namespaces.
5135
+ * (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
5136
+ * (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
5137
+ *
5138
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec#dataSourceRef
5139
+ */
5140
+ readonly dataSourceRef?: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef;
5141
+ /**
5142
+ * resources represents the minimum resources the volume should have.
5143
+ * Users are allowed to specify resource requirements
5144
+ * that are lower than previous value but must still be higher than capacity recorded in the
5145
+ * status field of the claim.
5146
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
5147
+ *
5148
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec#resources
5149
+ */
5150
+ readonly resources?: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResources;
5151
+ /**
5152
+ * selector is a label query over volumes to consider for binding.
5153
+ *
5154
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec#selector
5155
+ */
5156
+ readonly selector?: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelector;
5157
+ /**
5158
+ * storageClassName is the name of the StorageClass required by the claim.
5159
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
5160
+ *
5161
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec#storageClassName
5162
+ */
5163
+ readonly storageClassName?: string;
5164
+ /**
5165
+ * volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
5166
+ * If specified, the CSI driver will create or update the volume with the attributes defined
5167
+ * in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
5168
+ * it can be changed after the claim is created. An empty string or nil value indicates that no
5169
+ * VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state,
5170
+ * this field can be reset to its previous value (including nil) to cancel the modification.
5171
+ * If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
5172
+ * set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
5173
+ * exists.
5174
+ * More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
5175
+ *
5176
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec#volumeAttributesClassName
5177
+ */
5178
+ readonly volumeAttributesClassName?: string;
5179
+ /**
5180
+ * volumeMode defines what type of volume is required by the claim.
5181
+ * Value of Filesystem is implied when not included in claim spec.
5182
+ *
5183
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec#volumeMode
5184
+ */
5185
+ readonly volumeMode?: string;
5186
+ /**
5187
+ * volumeName is the binding reference to the PersistentVolume backing this claim.
5188
+ *
5189
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec#volumeName
5190
+ */
5191
+ readonly volumeName?: string;
5192
+ }
5193
+ /**
5194
+ * Converts an object of type 'VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec' to JSON representation.
5195
+ */
5196
+ export declare function toJson_VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec(obj: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpec | undefined): Record<string, any> | undefined;
5197
+ /**
5198
+ * ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
5199
+ * of ClusterTrustBundle objects in an auto-updating file.
5200
+ *
5201
+ * Alpha, gated by the ClusterTrustBundleProjection feature gate.
5202
+ *
5203
+ * ClusterTrustBundle objects can either be selected by name, or by the
5204
+ * combination of signer name and a label selector.
5205
+ *
5206
+ * Kubelet performs aggressive normalization of the PEM contents written
5207
+ * into the pod filesystem. Esoteric PEM features such as inter-block
5208
+ * comments and block headers are stripped. Certificates are deduplicated.
5209
+ * The ordering of certificates within the file is arbitrary, and Kubelet
5210
+ * may change the order over time.
5211
+ *
5212
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundle
5213
+ */
5214
+ export interface VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundle {
5215
+ /**
5216
+ * Select all ClusterTrustBundles that match this label selector. Only has
5217
+ * effect if signerName is set. Mutually-exclusive with name. If unset,
5218
+ * interpreted as "match nothing". If set but empty, interpreted as "match
5219
+ * everything".
5220
+ *
5221
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundle#labelSelector
5222
+ */
5223
+ readonly labelSelector?: VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelector;
5224
+ /**
5225
+ * Select a single ClusterTrustBundle by object name. Mutually-exclusive
5226
+ * with signerName and labelSelector.
5227
+ *
5228
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundle#name
5229
+ */
5230
+ readonly name?: string;
5231
+ /**
5232
+ * If true, don't block pod startup if the referenced ClusterTrustBundle(s)
5233
+ * aren't available. If using name, then the named ClusterTrustBundle is
5234
+ * allowed not to exist. If using signerName, then the combination of
5235
+ * signerName and labelSelector is allowed to match zero
5236
+ * ClusterTrustBundles.
5237
+ *
5238
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundle#optional
5239
+ */
5240
+ readonly optional?: boolean;
5241
+ /**
5242
+ * Relative path from the volume root to write the bundle.
5243
+ *
5244
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundle#path
5245
+ */
5246
+ readonly path: string;
5247
+ /**
5248
+ * Select all ClusterTrustBundles that match this signer name.
5249
+ * Mutually-exclusive with name. The contents of all selected
5250
+ * ClusterTrustBundles will be unified and deduplicated.
5251
+ *
5252
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundle#signerName
5253
+ */
5254
+ readonly signerName?: string;
5255
+ }
5256
+ /**
5257
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundle' to JSON representation.
5258
+ */
5259
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundle(obj: VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundle | undefined): Record<string, any> | undefined;
5260
+ /**
5261
+ * configMap information about the configMap data to project
5262
+ *
5263
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesConfigMap
5264
+ */
5265
+ export interface VinylCacheSpecPodVolumesProjectedSourcesConfigMap {
5266
+ /**
5267
+ * items if unspecified, each key-value pair in the Data field of the referenced
5268
+ * ConfigMap will be projected into the volume as a file whose name is the
5269
+ * key and content is the value. If specified, the listed keys will be
5270
+ * projected into the specified paths, and unlisted keys will not be
5271
+ * present. If a key is specified which is not present in the ConfigMap,
5272
+ * the volume setup will error unless it is marked optional. Paths must be
5273
+ * relative and may not contain the '..' path or start with '..'.
5274
+ *
5275
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesConfigMap#items
5276
+ */
5277
+ readonly items?: VinylCacheSpecPodVolumesProjectedSourcesConfigMapItems[];
5278
+ /**
5279
+ * Name of the referent.
5280
+ * This field is effectively required, but due to backwards compatibility is
5281
+ * allowed to be empty. Instances of this type with an empty value here are
5282
+ * almost certainly wrong.
5283
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5284
+ *
5285
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesConfigMap#name
5286
+ */
5287
+ readonly name?: string;
5288
+ /**
5289
+ * optional specify whether the ConfigMap or its keys must be defined
5290
+ *
5291
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesConfigMap#optional
5292
+ */
5293
+ readonly optional?: boolean;
5294
+ }
5295
+ /**
5296
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesConfigMap' to JSON representation.
5297
+ */
5298
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesConfigMap(obj: VinylCacheSpecPodVolumesProjectedSourcesConfigMap | undefined): Record<string, any> | undefined;
5299
+ /**
5300
+ * downwardAPI information about the downwardAPI data to project
5301
+ *
5302
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApi
5303
+ */
5304
+ export interface VinylCacheSpecPodVolumesProjectedSourcesDownwardApi {
5305
+ /**
5306
+ * Items is a list of DownwardAPIVolume file
5307
+ *
5308
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApi#items
5309
+ */
5310
+ readonly items?: VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItems[];
5311
+ }
5312
+ /**
5313
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesDownwardApi' to JSON representation.
5314
+ */
5315
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesDownwardApi(obj: VinylCacheSpecPodVolumesProjectedSourcesDownwardApi | undefined): Record<string, any> | undefined;
5316
+ /**
5317
+ * Projects an auto-rotating credential bundle (private key and certificate
5318
+ * chain) that the pod can use either as a TLS client or server.
5319
+ *
5320
+ * Kubelet generates a private key and uses it to send a
5321
+ * PodCertificateRequest to the named signer. Once the signer approves the
5322
+ * request and issues a certificate chain, Kubelet writes the key and
5323
+ * certificate chain to the pod filesystem. The pod does not start until
5324
+ * certificates have been issued for each podCertificate projected volume
5325
+ * source in its spec.
5326
+ *
5327
+ * Kubelet will begin trying to rotate the certificate at the time indicated
5328
+ * by the signer using the PodCertificateRequest.Status.BeginRefreshAt
5329
+ * timestamp.
5330
+ *
5331
+ * Kubelet can write a single file, indicated by the credentialBundlePath
5332
+ * field, or separate files, indicated by the keyPath and
5333
+ * certificateChainPath fields.
5334
+ *
5335
+ * The credential bundle is a single file in PEM format. The first PEM
5336
+ * entry is the private key (in PKCS#8 format), and the remaining PEM
5337
+ * entries are the certificate chain issued by the signer (typically,
5338
+ * signers will return their certificate chain in leaf-to-root order).
5339
+ *
5340
+ * Prefer using the credential bundle format, since your application code
5341
+ * can read it atomically. If you use keyPath and certificateChainPath,
5342
+ * your application must make two separate file reads. If these coincide
5343
+ * with a certificate rotation, it is possible that the private key and leaf
5344
+ * certificate you read may not correspond to each other. Your application
5345
+ * will need to check for this condition, and re-read until they are
5346
+ * consistent.
5347
+ *
5348
+ * The named signer controls chooses the format of the certificate it
5349
+ * issues; consult the signer implementation's documentation to learn how to
5350
+ * use the certificates it issues.
5351
+ *
5352
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesPodCertificate
5353
+ */
5354
+ export interface VinylCacheSpecPodVolumesProjectedSourcesPodCertificate {
5355
+ /**
5356
+ * Write the certificate chain at this path in the projected volume.
5357
+ *
5358
+ * Most applications should use credentialBundlePath. When using keyPath
5359
+ * and certificateChainPath, your application needs to check that the key
5360
+ * and leaf certificate are consistent, because it is possible to read the
5361
+ * files mid-rotation.
5362
+ *
5363
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesPodCertificate#certificateChainPath
5364
+ */
5365
+ readonly certificateChainPath?: string;
5366
+ /**
5367
+ * Write the credential bundle at this path in the projected volume.
5368
+ *
5369
+ * The credential bundle is a single file that contains multiple PEM blocks.
5370
+ * The first PEM block is a PRIVATE KEY block, containing a PKCS#8 private
5371
+ * key.
5372
+ *
5373
+ * The remaining blocks are CERTIFICATE blocks, containing the issued
5374
+ * certificate chain from the signer (leaf and any intermediates).
5375
+ *
5376
+ * Using credentialBundlePath lets your Pod's application code make a single
5377
+ * atomic read that retrieves a consistent key and certificate chain. If you
5378
+ * project them to separate files, your application code will need to
5379
+ * additionally check that the leaf certificate was issued to the key.
5380
+ *
5381
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesPodCertificate#credentialBundlePath
5382
+ */
5383
+ readonly credentialBundlePath?: string;
5384
+ /**
5385
+ * Write the key at this path in the projected volume.
5386
+ *
5387
+ * Most applications should use credentialBundlePath. When using keyPath
5388
+ * and certificateChainPath, your application needs to check that the key
5389
+ * and leaf certificate are consistent, because it is possible to read the
5390
+ * files mid-rotation.
5391
+ *
5392
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesPodCertificate#keyPath
5393
+ */
5394
+ readonly keyPath?: string;
5395
+ /**
5396
+ * The type of keypair Kubelet will generate for the pod.
5397
+ *
5398
+ * Valid values are "RSA3072", "RSA4096", "ECDSAP256", "ECDSAP384",
5399
+ * "ECDSAP521", and "ED25519".
5400
+ *
5401
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesPodCertificate#keyType
5402
+ */
5403
+ readonly keyType: string;
5404
+ /**
5405
+ * maxExpirationSeconds is the maximum lifetime permitted for the
5406
+ * certificate.
5407
+ *
5408
+ * Kubelet copies this value verbatim into the PodCertificateRequests it
5409
+ * generates for this projection.
5410
+ *
5411
+ * If omitted, kube-apiserver will set it to 86400(24 hours). kube-apiserver
5412
+ * will reject values shorter than 3600 (1 hour). The maximum allowable
5413
+ * value is 7862400 (91 days).
5414
+ *
5415
+ * The signer implementation is then free to issue a certificate with any
5416
+ * lifetime *shorter* than MaxExpirationSeconds, but no shorter than 3600
5417
+ * seconds (1 hour). This constraint is enforced by kube-apiserver.
5418
+ * `kubernetes.io` signers will never issue certificates with a lifetime
5419
+ * longer than 24 hours.
5420
+ *
5421
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesPodCertificate#maxExpirationSeconds
5422
+ */
5423
+ readonly maxExpirationSeconds?: number;
5424
+ /**
5425
+ * Kubelet's generated CSRs will be addressed to this signer.
5426
+ *
5427
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesPodCertificate#signerName
5428
+ */
5429
+ readonly signerName: string;
5430
+ /**
5431
+ * userAnnotations allow pod authors to pass additional information to
5432
+ * the signer implementation. Kubernetes does not restrict or validate this
5433
+ * metadata in any way.
5434
+ *
5435
+ * These values are copied verbatim into the `spec.unverifiedUserAnnotations` field of
5436
+ * the PodCertificateRequest objects that Kubelet creates.
5437
+ *
5438
+ * Entries are subject to the same validation as object metadata annotations,
5439
+ * with the addition that all keys must be domain-prefixed. No restrictions
5440
+ * are placed on values, except an overall size limitation on the entire field.
5441
+ *
5442
+ * Signers should document the keys and values they support. Signers should
5443
+ * deny requests that contain keys they do not recognize.
5444
+ *
5445
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesPodCertificate#userAnnotations
5446
+ */
5447
+ readonly userAnnotations?: {
5448
+ [key: string]: string;
5449
+ };
5450
+ }
5451
+ /**
5452
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesPodCertificate' to JSON representation.
5453
+ */
5454
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesPodCertificate(obj: VinylCacheSpecPodVolumesProjectedSourcesPodCertificate | undefined): Record<string, any> | undefined;
5455
+ /**
5456
+ * secret information about the secret data to project
5457
+ *
5458
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesSecret
5459
+ */
5460
+ export interface VinylCacheSpecPodVolumesProjectedSourcesSecret {
5461
+ /**
5462
+ * items if unspecified, each key-value pair in the Data field of the referenced
5463
+ * Secret will be projected into the volume as a file whose name is the
5464
+ * key and content is the value. If specified, the listed keys will be
5465
+ * projected into the specified paths, and unlisted keys will not be
5466
+ * present. If a key is specified which is not present in the Secret,
5467
+ * the volume setup will error unless it is marked optional. Paths must be
5468
+ * relative and may not contain the '..' path or start with '..'.
5469
+ *
5470
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesSecret#items
5471
+ */
5472
+ readonly items?: VinylCacheSpecPodVolumesProjectedSourcesSecretItems[];
5473
+ /**
5474
+ * Name of the referent.
5475
+ * This field is effectively required, but due to backwards compatibility is
5476
+ * allowed to be empty. Instances of this type with an empty value here are
5477
+ * almost certainly wrong.
5478
+ * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5479
+ *
5480
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesSecret#name
5481
+ */
5482
+ readonly name?: string;
5483
+ /**
5484
+ * optional field specify whether the Secret or its key must be defined
5485
+ *
5486
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesSecret#optional
5487
+ */
5488
+ readonly optional?: boolean;
5489
+ }
5490
+ /**
5491
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesSecret' to JSON representation.
5492
+ */
5493
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesSecret(obj: VinylCacheSpecPodVolumesProjectedSourcesSecret | undefined): Record<string, any> | undefined;
5494
+ /**
5495
+ * serviceAccountToken is information about the serviceAccountToken data to project
5496
+ *
5497
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesServiceAccountToken
5498
+ */
5499
+ export interface VinylCacheSpecPodVolumesProjectedSourcesServiceAccountToken {
5500
+ /**
5501
+ * audience is the intended audience of the token. A recipient of a token
5502
+ * must identify itself with an identifier specified in the audience of the
5503
+ * token, and otherwise should reject the token. The audience defaults to the
5504
+ * identifier of the apiserver.
5505
+ *
5506
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesServiceAccountToken#audience
5507
+ */
5508
+ readonly audience?: string;
5509
+ /**
5510
+ * expirationSeconds is the requested duration of validity of the service
5511
+ * account token. As the token approaches expiration, the kubelet volume
5512
+ * plugin will proactively rotate the service account token. The kubelet will
5513
+ * start trying to rotate the token if the token is older than 80 percent of
5514
+ * its time to live or if the token is older than 24 hours.Defaults to 1 hour
5515
+ * and must be at least 10 minutes.
5516
+ *
5517
+ * @default 1 hour
5518
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesServiceAccountToken#expirationSeconds
5519
+ */
5520
+ readonly expirationSeconds?: number;
2027
5521
  /**
2028
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
2029
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
2030
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
5522
+ * path is the path relative to the mount point of the file to project the
5523
+ * token into.
2031
5524
  *
2032
- * @schema VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector#matchLabels
5525
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesServiceAccountToken#path
2033
5526
  */
2034
- readonly matchLabels?: {
2035
- [key: string]: string;
2036
- };
5527
+ readonly path: string;
2037
5528
  }
2038
5529
  /**
2039
- * Converts an object of type 'VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector' to JSON representation.
5530
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesServiceAccountToken' to JSON representation.
2040
5531
  */
2041
- export declare function toJson_VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector(obj: VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector | undefined): Record<string, any> | undefined;
5532
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesServiceAccountToken(obj: VinylCacheSpecPodVolumesProjectedSourcesServiceAccountToken | undefined): Record<string, any> | undefined;
2042
5533
  /**
2043
5534
  * A node selector requirement is a selector that contains values, a key, and an operator
2044
5535
  * that relates the key and values.
@@ -2433,6 +5924,323 @@ export interface VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulin
2433
5924
  * Converts an object of type 'VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions' to JSON representation.
2434
5925
  */
2435
5926
  export declare function toJson_VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions(obj: VinylCacheSpecPodAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions | undefined): Record<string, any> | undefined;
5927
+ /**
5928
+ * Specifies the output format of the exposed resources, defaults to "1"
5929
+ *
5930
+ * @schema VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRefDivisor
5931
+ */
5932
+ export declare class VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRefDivisor {
5933
+ readonly value: number | string;
5934
+ static fromNumber(value: number): VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRefDivisor;
5935
+ static fromString(value: string): VinylCacheSpecPodVolumesDownwardApiItemsResourceFieldRefDivisor;
5936
+ private constructor();
5937
+ }
5938
+ /**
5939
+ * dataSource field can be used to specify either:
5940
+ * * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
5941
+ * * An existing PVC (PersistentVolumeClaim)
5942
+ * If the provisioner or an external controller can support the specified data source,
5943
+ * it will create a new volume based on the contents of the specified data source.
5944
+ * When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
5945
+ * and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
5946
+ * If the namespace is specified, then dataSourceRef will not be copied to dataSource.
5947
+ *
5948
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSource
5949
+ */
5950
+ export interface VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSource {
5951
+ /**
5952
+ * APIGroup is the group for the resource being referenced.
5953
+ * If APIGroup is not specified, the specified Kind must be in the core API group.
5954
+ * For any other third-party types, APIGroup is required.
5955
+ *
5956
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSource#apiGroup
5957
+ */
5958
+ readonly apiGroup?: string;
5959
+ /**
5960
+ * Kind is the type of resource being referenced
5961
+ *
5962
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSource#kind
5963
+ */
5964
+ readonly kind: string;
5965
+ /**
5966
+ * Name is the name of resource being referenced
5967
+ *
5968
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSource#name
5969
+ */
5970
+ readonly name: string;
5971
+ }
5972
+ /**
5973
+ * Converts an object of type 'VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSource' to JSON representation.
5974
+ */
5975
+ export declare function toJson_VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSource(obj: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSource | undefined): Record<string, any> | undefined;
5976
+ /**
5977
+ * dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
5978
+ * volume is desired. This may be any object from a non-empty API group (non
5979
+ * core object) or a PersistentVolumeClaim object.
5980
+ * When this field is specified, volume binding will only succeed if the type of
5981
+ * the specified object matches some installed volume populator or dynamic
5982
+ * provisioner.
5983
+ * This field will replace the functionality of the dataSource field and as such
5984
+ * if both fields are non-empty, they must have the same value. For backwards
5985
+ * compatibility, when namespace isn't specified in dataSourceRef,
5986
+ * both fields (dataSource and dataSourceRef) will be set to the same
5987
+ * value automatically if one of them is empty and the other is non-empty.
5988
+ * When namespace is specified in dataSourceRef,
5989
+ * dataSource isn't set to the same value and must be empty.
5990
+ * There are three important differences between dataSource and dataSourceRef:
5991
+ * * While dataSource only allows two specific types of objects, dataSourceRef
5992
+ * allows any non-core object, as well as PersistentVolumeClaim objects.
5993
+ * * While dataSource ignores disallowed values (dropping them), dataSourceRef
5994
+ * preserves all values, and generates an error if a disallowed value is
5995
+ * specified.
5996
+ * * While dataSource only allows local objects, dataSourceRef allows objects
5997
+ * in any namespaces.
5998
+ * (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
5999
+ * (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
6000
+ *
6001
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef
6002
+ */
6003
+ export interface VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef {
6004
+ /**
6005
+ * APIGroup is the group for the resource being referenced.
6006
+ * If APIGroup is not specified, the specified Kind must be in the core API group.
6007
+ * For any other third-party types, APIGroup is required.
6008
+ *
6009
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef#apiGroup
6010
+ */
6011
+ readonly apiGroup?: string;
6012
+ /**
6013
+ * Kind is the type of resource being referenced
6014
+ *
6015
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef#kind
6016
+ */
6017
+ readonly kind: string;
6018
+ /**
6019
+ * Name is the name of resource being referenced
6020
+ *
6021
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef#name
6022
+ */
6023
+ readonly name: string;
6024
+ /**
6025
+ * Namespace is the namespace of resource being referenced
6026
+ * Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
6027
+ * (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
6028
+ *
6029
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef#namespace
6030
+ */
6031
+ readonly namespace?: string;
6032
+ }
6033
+ /**
6034
+ * Converts an object of type 'VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef' to JSON representation.
6035
+ */
6036
+ export declare function toJson_VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef(obj: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef | undefined): Record<string, any> | undefined;
6037
+ /**
6038
+ * resources represents the minimum resources the volume should have.
6039
+ * Users are allowed to specify resource requirements
6040
+ * that are lower than previous value but must still be higher than capacity recorded in the
6041
+ * status field of the claim.
6042
+ * More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
6043
+ *
6044
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResources
6045
+ */
6046
+ export interface VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResources {
6047
+ /**
6048
+ * Limits describes the maximum amount of compute resources allowed.
6049
+ * More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
6050
+ *
6051
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResources#limits
6052
+ */
6053
+ readonly limits?: {
6054
+ [key: string]: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResourcesLimits;
6055
+ };
6056
+ /**
6057
+ * Requests describes the minimum amount of compute resources required.
6058
+ * If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
6059
+ * otherwise to an implementation-defined value. Requests cannot exceed Limits.
6060
+ * More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
6061
+ *
6062
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResources#requests
6063
+ */
6064
+ readonly requests?: {
6065
+ [key: string]: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResourcesRequests;
6066
+ };
6067
+ }
6068
+ /**
6069
+ * Converts an object of type 'VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResources' to JSON representation.
6070
+ */
6071
+ export declare function toJson_VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResources(obj: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResources | undefined): Record<string, any> | undefined;
6072
+ /**
6073
+ * selector is a label query over volumes to consider for binding.
6074
+ *
6075
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelector
6076
+ */
6077
+ export interface VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelector {
6078
+ /**
6079
+ * matchExpressions is a list of label selector requirements. The requirements are ANDed.
6080
+ *
6081
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelector#matchExpressions
6082
+ */
6083
+ readonly matchExpressions?: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions[];
6084
+ /**
6085
+ * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
6086
+ * map is equivalent to an element of matchExpressions, whose key field is "key", the
6087
+ * operator is "In", and the values array contains only "value". The requirements are ANDed.
6088
+ *
6089
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelector#matchLabels
6090
+ */
6091
+ readonly matchLabels?: {
6092
+ [key: string]: string;
6093
+ };
6094
+ }
6095
+ /**
6096
+ * Converts an object of type 'VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelector' to JSON representation.
6097
+ */
6098
+ export declare function toJson_VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelector(obj: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelector | undefined): Record<string, any> | undefined;
6099
+ /**
6100
+ * Select all ClusterTrustBundles that match this label selector. Only has
6101
+ * effect if signerName is set. Mutually-exclusive with name. If unset,
6102
+ * interpreted as "match nothing". If set but empty, interpreted as "match
6103
+ * everything".
6104
+ *
6105
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelector
6106
+ */
6107
+ export interface VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelector {
6108
+ /**
6109
+ * matchExpressions is a list of label selector requirements. The requirements are ANDed.
6110
+ *
6111
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelector#matchExpressions
6112
+ */
6113
+ readonly matchExpressions?: VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions[];
6114
+ /**
6115
+ * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
6116
+ * map is equivalent to an element of matchExpressions, whose key field is "key", the
6117
+ * operator is "In", and the values array contains only "value". The requirements are ANDed.
6118
+ *
6119
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelector#matchLabels
6120
+ */
6121
+ readonly matchLabels?: {
6122
+ [key: string]: string;
6123
+ };
6124
+ }
6125
+ /**
6126
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelector' to JSON representation.
6127
+ */
6128
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelector(obj: VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelector | undefined): Record<string, any> | undefined;
6129
+ /**
6130
+ * Maps a string key to a path within a volume.
6131
+ *
6132
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesConfigMapItems
6133
+ */
6134
+ export interface VinylCacheSpecPodVolumesProjectedSourcesConfigMapItems {
6135
+ /**
6136
+ * key is the key to project.
6137
+ *
6138
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesConfigMapItems#key
6139
+ */
6140
+ readonly key: string;
6141
+ /**
6142
+ * mode is Optional: mode bits used to set permissions on this file.
6143
+ * Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
6144
+ * YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
6145
+ * If not specified, the volume defaultMode will be used.
6146
+ * This might be in conflict with other options that affect the file
6147
+ * mode, like fsGroup, and the result can be other mode bits set.
6148
+ *
6149
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesConfigMapItems#mode
6150
+ */
6151
+ readonly mode?: number;
6152
+ /**
6153
+ * path is the relative path of the file to map the key to.
6154
+ * May not be an absolute path.
6155
+ * May not contain the path element '..'.
6156
+ * May not start with the string '..'.
6157
+ *
6158
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesConfigMapItems#path
6159
+ */
6160
+ readonly path: string;
6161
+ }
6162
+ /**
6163
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesConfigMapItems' to JSON representation.
6164
+ */
6165
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesConfigMapItems(obj: VinylCacheSpecPodVolumesProjectedSourcesConfigMapItems | undefined): Record<string, any> | undefined;
6166
+ /**
6167
+ * DownwardAPIVolumeFile represents information to create the file containing the pod field
6168
+ *
6169
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItems
6170
+ */
6171
+ export interface VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItems {
6172
+ /**
6173
+ * Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.
6174
+ *
6175
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItems#fieldRef
6176
+ */
6177
+ readonly fieldRef?: VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsFieldRef;
6178
+ /**
6179
+ * Optional: mode bits used to set permissions on this file, must be an octal value
6180
+ * between 0000 and 0777 or a decimal value between 0 and 511.
6181
+ * YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
6182
+ * If not specified, the volume defaultMode will be used.
6183
+ * This might be in conflict with other options that affect the file
6184
+ * mode, like fsGroup, and the result can be other mode bits set.
6185
+ *
6186
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItems#mode
6187
+ */
6188
+ readonly mode?: number;
6189
+ /**
6190
+ * Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'
6191
+ *
6192
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItems#path
6193
+ */
6194
+ readonly path: string;
6195
+ /**
6196
+ * Selects a resource of the container: only resources limits and requests
6197
+ * (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
6198
+ *
6199
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItems#resourceFieldRef
6200
+ */
6201
+ readonly resourceFieldRef?: VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRef;
6202
+ }
6203
+ /**
6204
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItems' to JSON representation.
6205
+ */
6206
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItems(obj: VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItems | undefined): Record<string, any> | undefined;
6207
+ /**
6208
+ * Maps a string key to a path within a volume.
6209
+ *
6210
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesSecretItems
6211
+ */
6212
+ export interface VinylCacheSpecPodVolumesProjectedSourcesSecretItems {
6213
+ /**
6214
+ * key is the key to project.
6215
+ *
6216
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesSecretItems#key
6217
+ */
6218
+ readonly key: string;
6219
+ /**
6220
+ * mode is Optional: mode bits used to set permissions on this file.
6221
+ * Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
6222
+ * YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
6223
+ * If not specified, the volume defaultMode will be used.
6224
+ * This might be in conflict with other options that affect the file
6225
+ * mode, like fsGroup, and the result can be other mode bits set.
6226
+ *
6227
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesSecretItems#mode
6228
+ */
6229
+ readonly mode?: number;
6230
+ /**
6231
+ * path is the relative path of the file to map the key to.
6232
+ * May not be an absolute path.
6233
+ * May not contain the path element '..'.
6234
+ * May not start with the string '..'.
6235
+ *
6236
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesSecretItems#path
6237
+ */
6238
+ readonly path: string;
6239
+ }
6240
+ /**
6241
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesSecretItems' to JSON representation.
6242
+ */
6243
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesSecretItems(obj: VinylCacheSpecPodVolumesProjectedSourcesSecretItems | undefined): Record<string, any> | undefined;
2436
6244
  /**
2437
6245
  * A label selector requirement is a selector that contains values, a key, and an operator that
2438
6246
  * relates the key and values.
@@ -2569,3 +6377,153 @@ export interface VinylCacheSpecPodAffinityPodAntiAffinityPreferredDuringScheduli
2569
6377
  * Converts an object of type 'VinylCacheSpecPodAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions' to JSON representation.
2570
6378
  */
2571
6379
  export declare function toJson_VinylCacheSpecPodAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions(obj: VinylCacheSpecPodAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions | undefined): Record<string, any> | undefined;
6380
+ /**
6381
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResourcesLimits
6382
+ */
6383
+ export declare class VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResourcesLimits {
6384
+ readonly value: number | string;
6385
+ static fromNumber(value: number): VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResourcesLimits;
6386
+ static fromString(value: string): VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResourcesLimits;
6387
+ private constructor();
6388
+ }
6389
+ /**
6390
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResourcesRequests
6391
+ */
6392
+ export declare class VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResourcesRequests {
6393
+ readonly value: number | string;
6394
+ static fromNumber(value: number): VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResourcesRequests;
6395
+ static fromString(value: string): VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecResourcesRequests;
6396
+ private constructor();
6397
+ }
6398
+ /**
6399
+ * A label selector requirement is a selector that contains values, a key, and an operator that
6400
+ * relates the key and values.
6401
+ *
6402
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions
6403
+ */
6404
+ export interface VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions {
6405
+ /**
6406
+ * key is the label key that the selector applies to.
6407
+ *
6408
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions#key
6409
+ */
6410
+ readonly key: string;
6411
+ /**
6412
+ * operator represents a key's relationship to a set of values.
6413
+ * Valid operators are In, NotIn, Exists and DoesNotExist.
6414
+ *
6415
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions#operator
6416
+ */
6417
+ readonly operator: string;
6418
+ /**
6419
+ * values is an array of string values. If the operator is In or NotIn,
6420
+ * the values array must be non-empty. If the operator is Exists or DoesNotExist,
6421
+ * the values array must be empty. This array is replaced during a strategic
6422
+ * merge patch.
6423
+ *
6424
+ * @schema VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions#values
6425
+ */
6426
+ readonly values?: string[];
6427
+ }
6428
+ /**
6429
+ * Converts an object of type 'VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions' to JSON representation.
6430
+ */
6431
+ export declare function toJson_VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions(obj: VinylCacheSpecPodVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions | undefined): Record<string, any> | undefined;
6432
+ /**
6433
+ * A label selector requirement is a selector that contains values, a key, and an operator that
6434
+ * relates the key and values.
6435
+ *
6436
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions
6437
+ */
6438
+ export interface VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions {
6439
+ /**
6440
+ * key is the label key that the selector applies to.
6441
+ *
6442
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions#key
6443
+ */
6444
+ readonly key: string;
6445
+ /**
6446
+ * operator represents a key's relationship to a set of values.
6447
+ * Valid operators are In, NotIn, Exists and DoesNotExist.
6448
+ *
6449
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions#operator
6450
+ */
6451
+ readonly operator: string;
6452
+ /**
6453
+ * values is an array of string values. If the operator is In or NotIn,
6454
+ * the values array must be non-empty. If the operator is Exists or DoesNotExist,
6455
+ * the values array must be empty. This array is replaced during a strategic
6456
+ * merge patch.
6457
+ *
6458
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions#values
6459
+ */
6460
+ readonly values?: string[];
6461
+ }
6462
+ /**
6463
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions' to JSON representation.
6464
+ */
6465
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions(obj: VinylCacheSpecPodVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions | undefined): Record<string, any> | undefined;
6466
+ /**
6467
+ * Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.
6468
+ *
6469
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsFieldRef
6470
+ */
6471
+ export interface VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsFieldRef {
6472
+ /**
6473
+ * Version of the schema the FieldPath is written in terms of, defaults to "v1".
6474
+ *
6475
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsFieldRef#apiVersion
6476
+ */
6477
+ readonly apiVersion?: string;
6478
+ /**
6479
+ * Path of the field to select in the specified API version.
6480
+ *
6481
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsFieldRef#fieldPath
6482
+ */
6483
+ readonly fieldPath: string;
6484
+ }
6485
+ /**
6486
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsFieldRef' to JSON representation.
6487
+ */
6488
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsFieldRef(obj: VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsFieldRef | undefined): Record<string, any> | undefined;
6489
+ /**
6490
+ * Selects a resource of the container: only resources limits and requests
6491
+ * (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
6492
+ *
6493
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRef
6494
+ */
6495
+ export interface VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRef {
6496
+ /**
6497
+ * Container name: required for volumes, optional for env vars
6498
+ *
6499
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRef#containerName
6500
+ */
6501
+ readonly containerName?: string;
6502
+ /**
6503
+ * Specifies the output format of the exposed resources, defaults to "1"
6504
+ *
6505
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRef#divisor
6506
+ */
6507
+ readonly divisor?: VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRefDivisor;
6508
+ /**
6509
+ * Required: resource to select
6510
+ *
6511
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRef#resource
6512
+ */
6513
+ readonly resource: string;
6514
+ }
6515
+ /**
6516
+ * Converts an object of type 'VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRef' to JSON representation.
6517
+ */
6518
+ export declare function toJson_VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRef(obj: VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRef | undefined): Record<string, any> | undefined;
6519
+ /**
6520
+ * Specifies the output format of the exposed resources, defaults to "1"
6521
+ *
6522
+ * @schema VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRefDivisor
6523
+ */
6524
+ export declare class VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRefDivisor {
6525
+ readonly value: number | string;
6526
+ static fromNumber(value: number): VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRefDivisor;
6527
+ static fromString(value: string): VinylCacheSpecPodVolumesProjectedSourcesDownwardApiItemsResourceFieldRefDivisor;
6528
+ private constructor();
6529
+ }