kube_schema 1.4.7 → 1.4.8

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.
@@ -0,0 +1,1574 @@
1
+ {
2
+ "api.NodePlacement": {
3
+ "description": "NodePlacement describes node scheduling configuration.",
4
+ "type": "object",
5
+ "properties": {
6
+ "affinity": {
7
+ "description": "affinity enables pod affinity/anti-affinity placement expanding the types of constraints that can be expressed with nodeSelector. affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity",
8
+ "$ref": "#/definitions/io.k8s.api.core.v1.Affinity"
9
+ },
10
+ "nodeSelector": {
11
+ "description": "nodeSelector is the node selector applied to the relevant kind of pods It specifies a map of key-value pairs: for the pod to be eligible to run on a node, the node must have each of the indicated key-value pairs as labels (it can have additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector",
12
+ "type": "object",
13
+ "additionalProperties": {
14
+ "type": "string",
15
+ "default": ""
16
+ }
17
+ },
18
+ "tolerations": {
19
+ "description": "tolerations is a list of tolerations applied to the relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info. These are additional tolerations other than default ones.",
20
+ "type": "array",
21
+ "items": {
22
+ "default": {},
23
+ "$ref": "#/definitions/io.k8s.api.core.v1.Toleration"
24
+ }
25
+ }
26
+ }
27
+ },
28
+ "v1beta1.CDI": {
29
+ "description": "CDI is the CDI Operator CRD",
30
+ "type": "object",
31
+ "required": [
32
+ "spec"
33
+ ],
34
+ "properties": {
35
+ "apiVersion": {
36
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
37
+ "type": "string"
38
+ },
39
+ "kind": {
40
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
41
+ "type": "string"
42
+ },
43
+ "metadata": {
44
+ "default": {},
45
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
46
+ },
47
+ "spec": {
48
+ "default": {},
49
+ "$ref": "#/definitions/v1beta1.CDISpec"
50
+ },
51
+ "status": {
52
+ "default": {},
53
+ "$ref": "#/definitions/v1beta1.CDIStatus"
54
+ }
55
+ },
56
+ "x-kubernetes-group-version-kind": [
57
+ {
58
+ "group": "cdi.kubevirt.io",
59
+ "version": "v1beta1",
60
+ "kind": "CDI"
61
+ }
62
+ ]
63
+ },
64
+ "v1beta1.CDICertConfig": {
65
+ "description": "CDICertConfig has the CertConfigs for CDI",
66
+ "type": "object",
67
+ "properties": {
68
+ "ca": {
69
+ "description": "CA configuration CA certs are kept in the CA bundle as long as they are valid",
70
+ "$ref": "#/definitions/v1beta1.CertConfig"
71
+ },
72
+ "client": {
73
+ "description": "Client configuration Certs are rotated and discarded",
74
+ "$ref": "#/definitions/v1beta1.CertConfig"
75
+ },
76
+ "server": {
77
+ "description": "Server configuration Certs are rotated and discarded",
78
+ "$ref": "#/definitions/v1beta1.CertConfig"
79
+ }
80
+ }
81
+ },
82
+ "v1beta1.CDIConfig": {
83
+ "description": "CDIConfig provides a user configuration for CDI",
84
+ "type": "object",
85
+ "required": [
86
+ "spec"
87
+ ],
88
+ "properties": {
89
+ "apiVersion": {
90
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
91
+ "type": "string"
92
+ },
93
+ "kind": {
94
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
95
+ "type": "string"
96
+ },
97
+ "metadata": {
98
+ "default": {},
99
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
100
+ },
101
+ "spec": {
102
+ "default": {},
103
+ "$ref": "#/definitions/v1beta1.CDIConfigSpec"
104
+ },
105
+ "status": {
106
+ "default": {},
107
+ "$ref": "#/definitions/v1beta1.CDIConfigStatus"
108
+ }
109
+ },
110
+ "x-kubernetes-group-version-kind": [
111
+ {
112
+ "group": "cdi.kubevirt.io",
113
+ "version": "v1beta1",
114
+ "kind": "CDIConfig"
115
+ }
116
+ ]
117
+ },
118
+ "v1beta1.CDIConfigList": {
119
+ "description": "CDIConfigList provides the needed parameters to do request a list of CDIConfigs from the system",
120
+ "type": "object",
121
+ "required": [
122
+ "metadata",
123
+ "items"
124
+ ],
125
+ "properties": {
126
+ "apiVersion": {
127
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
128
+ "type": "string"
129
+ },
130
+ "items": {
131
+ "description": "Items provides a list of CDIConfigs",
132
+ "type": "array",
133
+ "items": {
134
+ "default": {},
135
+ "$ref": "#/definitions/v1beta1.CDIConfig"
136
+ }
137
+ },
138
+ "kind": {
139
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
140
+ "type": "string"
141
+ },
142
+ "metadata": {
143
+ "default": {},
144
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
145
+ }
146
+ }
147
+ },
148
+ "v1beta1.CDIConfigSpec": {
149
+ "description": "CDIConfigSpec defines specification for user configuration",
150
+ "type": "object",
151
+ "properties": {
152
+ "dataVolumeTTLSeconds": {
153
+ "description": "DataVolumeTTLSeconds is the time in seconds after DataVolume completion it can be garbage collected. Disabled by default. Deprecated: Removed in v1.62.",
154
+ "type": "integer",
155
+ "format": "int32"
156
+ },
157
+ "featureGates": {
158
+ "description": "FeatureGates are a list of specific enabled feature gates",
159
+ "type": "array",
160
+ "items": {
161
+ "type": "string",
162
+ "default": ""
163
+ }
164
+ },
165
+ "filesystemOverhead": {
166
+ "description": "FilesystemOverhead describes the space reserved for overhead when using Filesystem volumes. A value is between 0 and 1, if not defined it is 0.06 (6% overhead)",
167
+ "$ref": "#/definitions/v1beta1.FilesystemOverhead"
168
+ },
169
+ "imagePullSecrets": {
170
+ "description": "The imagePullSecrets used to pull the container images",
171
+ "type": "array",
172
+ "items": {
173
+ "default": {},
174
+ "$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
175
+ }
176
+ },
177
+ "importProxy": {
178
+ "description": "ImportProxy contains importer pod proxy configuration.",
179
+ "$ref": "#/definitions/v1beta1.ImportProxy"
180
+ },
181
+ "insecureRegistries": {
182
+ "description": "InsecureRegistries is a list of TLS disabled registries",
183
+ "type": "array",
184
+ "items": {
185
+ "type": "string",
186
+ "default": ""
187
+ }
188
+ },
189
+ "logVerbosity": {
190
+ "description": "LogVerbosity overrides the default verbosity level used to initialize loggers",
191
+ "type": "integer",
192
+ "format": "int32"
193
+ },
194
+ "podResourceRequirements": {
195
+ "description": "ResourceRequirements describes the compute resource requirements.",
196
+ "$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements"
197
+ },
198
+ "preallocation": {
199
+ "description": "Preallocation controls whether storage for DataVolumes should be allocated in advance.",
200
+ "type": "boolean"
201
+ },
202
+ "scratchSpaceStorageClass": {
203
+ "description": "Override the storage class to used for scratch space during transfer operations. The scratch space storage class is determined in the following order: 1. value of scratchSpaceStorageClass, if that doesn't exist, use the default storage class, if there is no default storage class, use the storage class of the DataVolume, if no storage class specified, use no storage class for scratch space",
204
+ "type": "string"
205
+ },
206
+ "tlsSecurityProfile": {
207
+ "description": "TLSSecurityProfile is used by operators to apply cluster-wide TLS security settings to operands.",
208
+ "$ref": "#/definitions/v1beta1.TLSSecurityProfile"
209
+ },
210
+ "uploadProxyURLOverride": {
211
+ "description": "Override the URL used when uploading to a DataVolume",
212
+ "type": "string"
213
+ }
214
+ }
215
+ },
216
+ "v1beta1.CDIConfigStatus": {
217
+ "description": "CDIConfigStatus provides the most recently observed status of the CDI Config resource",
218
+ "type": "object",
219
+ "properties": {
220
+ "defaultPodResourceRequirements": {
221
+ "description": "ResourceRequirements describes the compute resource requirements.",
222
+ "$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements"
223
+ },
224
+ "filesystemOverhead": {
225
+ "description": "FilesystemOverhead describes the space reserved for overhead when using Filesystem volumes. A percentage value is between 0 and 1",
226
+ "$ref": "#/definitions/v1beta1.FilesystemOverhead"
227
+ },
228
+ "imagePullSecrets": {
229
+ "description": "The imagePullSecrets used to pull the container images",
230
+ "type": "array",
231
+ "items": {
232
+ "default": {},
233
+ "$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
234
+ }
235
+ },
236
+ "importProxy": {
237
+ "description": "ImportProxy contains importer pod proxy configuration.",
238
+ "$ref": "#/definitions/v1beta1.ImportProxy"
239
+ },
240
+ "preallocation": {
241
+ "description": "Preallocation controls whether storage for DataVolumes should be allocated in advance.",
242
+ "type": "boolean"
243
+ },
244
+ "scratchSpaceStorageClass": {
245
+ "description": "The calculated storage class to be used for scratch space",
246
+ "type": "string"
247
+ },
248
+ "uploadProxyCA": {
249
+ "description": "UploadProxyCA is the certificate authority of the upload proxy",
250
+ "type": "string"
251
+ },
252
+ "uploadProxyURL": {
253
+ "description": "The calculated upload proxy URL",
254
+ "type": "string"
255
+ }
256
+ }
257
+ },
258
+ "v1beta1.CDIList": {
259
+ "description": "CDIList provides the needed parameters to do request a list of CDIs from the system",
260
+ "type": "object",
261
+ "required": [
262
+ "metadata",
263
+ "items"
264
+ ],
265
+ "properties": {
266
+ "apiVersion": {
267
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
268
+ "type": "string"
269
+ },
270
+ "items": {
271
+ "description": "Items provides a list of CDIs",
272
+ "type": "array",
273
+ "items": {
274
+ "default": {},
275
+ "$ref": "#/definitions/v1beta1.CDI"
276
+ }
277
+ },
278
+ "kind": {
279
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
280
+ "type": "string"
281
+ },
282
+ "metadata": {
283
+ "default": {},
284
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
285
+ }
286
+ }
287
+ },
288
+ "v1beta1.CDISpec": {
289
+ "description": "CDISpec defines our specification for the CDI installation",
290
+ "type": "object",
291
+ "properties": {
292
+ "certConfig": {
293
+ "description": "certificate configuration",
294
+ "$ref": "#/definitions/v1beta1.CDICertConfig"
295
+ },
296
+ "cloneStrategyOverride": {
297
+ "description": "Clone strategy override: should we use a host-assisted copy even if snapshots are available?",
298
+ "type": "string"
299
+ },
300
+ "config": {
301
+ "description": "CDIConfig at CDI level",
302
+ "$ref": "#/definitions/v1beta1.CDIConfigSpec"
303
+ },
304
+ "customizeComponents": {
305
+ "default": {},
306
+ "$ref": "#/definitions/v1beta1.CustomizeComponents"
307
+ },
308
+ "imagePullPolicy": {
309
+ "description": "PullPolicy describes a policy for if/when to pull a container image\n\nPossible enum values:\n - `\"Always\"` means that kubelet always attempts to pull the latest image. Container will fail If the pull fails.\n - `\"IfNotPresent\"` means that kubelet pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails.\n - `\"Never\"` means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present",
310
+ "type": "string",
311
+ "enum": [
312
+ "Always",
313
+ "IfNotPresent",
314
+ "Never"
315
+ ]
316
+ },
317
+ "infra": {
318
+ "description": "Selectors and tolerations that should apply to cdi infrastructure components",
319
+ "default": {},
320
+ "$ref": "#/definitions/v1beta1.ComponentConfig"
321
+ },
322
+ "priorityClass": {
323
+ "description": "PriorityClass of the CDI control plane",
324
+ "type": "string"
325
+ },
326
+ "uninstallStrategy": {
327
+ "description": "CDIUninstallStrategy defines the state to leave CDI on uninstall",
328
+ "type": "string"
329
+ },
330
+ "workload": {
331
+ "description": "Restrict on which nodes CDI workload pods will be scheduled",
332
+ "default": {},
333
+ "$ref": "#/definitions/api.NodePlacement"
334
+ }
335
+ }
336
+ },
337
+ "v1beta1.CDIStatus": {
338
+ "description": "CDIStatus defines the status of the installation",
339
+ "type": "object",
340
+ "properties": {
341
+ "conditions": {
342
+ "description": "A list of current conditions of the resource",
343
+ "type": "array",
344
+ "items": {
345
+ "default": {},
346
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Condition"
347
+ }
348
+ },
349
+ "observedVersion": {
350
+ "description": "The observed version of the resource",
351
+ "type": "string"
352
+ },
353
+ "operatorVersion": {
354
+ "description": "The version of the resource as defined by the operator",
355
+ "type": "string"
356
+ },
357
+ "phase": {
358
+ "type": "string"
359
+ },
360
+ "targetVersion": {
361
+ "description": "The desired version of the resource",
362
+ "type": "string"
363
+ }
364
+ }
365
+ },
366
+ "v1beta1.CertConfig": {
367
+ "description": "CertConfig contains the tunables for TLS certificates",
368
+ "type": "object",
369
+ "properties": {
370
+ "duration": {
371
+ "description": "The requested 'duration' (i.e. lifetime) of the Certificate.",
372
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Duration"
373
+ },
374
+ "renewBefore": {
375
+ "description": "The amount of time before the currently issued certificate's `notAfter` time that we will begin to attempt to renew the certificate.",
376
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Duration"
377
+ }
378
+ }
379
+ },
380
+ "v1beta1.ComponentConfig": {
381
+ "description": "ComponentConfig defines the scheduling and replicas configuration for CDI components",
382
+ "type": "object",
383
+ "properties": {
384
+ "affinity": {
385
+ "description": "affinity enables pod affinity/anti-affinity placement expanding the types of constraints that can be expressed with nodeSelector. affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity",
386
+ "$ref": "#/definitions/io.k8s.api.core.v1.Affinity"
387
+ },
388
+ "apiServerReplicas": {
389
+ "description": "ApiserverReplicas set Replicas for cdi-apiserver",
390
+ "type": "integer",
391
+ "format": "int32"
392
+ },
393
+ "deploymentReplicas": {
394
+ "description": "DeploymentReplicas set Replicas for cdi-deployment",
395
+ "type": "integer",
396
+ "format": "int32"
397
+ },
398
+ "nodeSelector": {
399
+ "description": "nodeSelector is the node selector applied to the relevant kind of pods It specifies a map of key-value pairs: for the pod to be eligible to run on a node, the node must have each of the indicated key-value pairs as labels (it can have additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector",
400
+ "type": "object",
401
+ "additionalProperties": {
402
+ "type": "string",
403
+ "default": ""
404
+ }
405
+ },
406
+ "tolerations": {
407
+ "description": "tolerations is a list of tolerations applied to the relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info. These are additional tolerations other than default ones.",
408
+ "type": "array",
409
+ "items": {
410
+ "default": {},
411
+ "$ref": "#/definitions/io.k8s.api.core.v1.Toleration"
412
+ }
413
+ },
414
+ "uploadProxyReplicas": {
415
+ "description": "UploadproxyReplicas set Replicas for cdi-uploadproxy",
416
+ "type": "integer",
417
+ "format": "int32"
418
+ }
419
+ }
420
+ },
421
+ "v1beta1.CustomTLSProfile": {
422
+ "description": "CustomTLSProfile is a user-defined TLS security profile. Be extremely careful using a custom TLS profile as invalid configurations can be catastrophic.",
423
+ "type": "object",
424
+ "required": [
425
+ "ciphers",
426
+ "minTLSVersion"
427
+ ],
428
+ "properties": {
429
+ "ciphers": {
430
+ "description": "ciphers is used to specify the cipher algorithms that are negotiated during the TLS handshake. Operators may remove entries their operands do not support. For example, to use DES-CBC3-SHA (yaml):\n\n ciphers:\n - DES-CBC3-SHA",
431
+ "type": "array",
432
+ "items": {
433
+ "type": "string",
434
+ "default": ""
435
+ }
436
+ },
437
+ "minTLSVersion": {
438
+ "description": "minTLSVersion is used to specify the minimal version of the TLS protocol that is negotiated during the TLS handshake. For example, to use TLS versions 1.1, 1.2 and 1.3 (yaml):\n\n minTLSVersion: VersionTLS11\n\nNOTE: currently the highest minTLSVersion allowed is VersionTLS12",
439
+ "type": "string",
440
+ "default": ""
441
+ }
442
+ }
443
+ },
444
+ "v1beta1.CustomizeComponents": {
445
+ "description": "CustomizeComponents defines patches for components deployed by the CDI operator.",
446
+ "type": "object",
447
+ "properties": {
448
+ "flags": {
449
+ "description": "Configure the value used for deployment and daemonset resources",
450
+ "$ref": "#/definitions/v1beta1.Flags"
451
+ },
452
+ "patches": {
453
+ "type": "array",
454
+ "items": {
455
+ "default": {},
456
+ "$ref": "#/definitions/v1beta1.CustomizeComponentsPatch"
457
+ },
458
+ "x-kubernetes-list-type": "atomic"
459
+ }
460
+ }
461
+ },
462
+ "v1beta1.CustomizeComponentsPatch": {
463
+ "description": "CustomizeComponentsPatch defines a patch for some resource.",
464
+ "type": "object",
465
+ "required": [
466
+ "resourceName",
467
+ "resourceType",
468
+ "patch",
469
+ "type"
470
+ ],
471
+ "properties": {
472
+ "patch": {
473
+ "type": "string",
474
+ "default": ""
475
+ },
476
+ "resourceName": {
477
+ "type": "string",
478
+ "default": ""
479
+ },
480
+ "resourceType": {
481
+ "type": "string",
482
+ "default": ""
483
+ },
484
+ "type": {
485
+ "type": "string",
486
+ "default": ""
487
+ }
488
+ }
489
+ },
490
+ "v1beta1.DataImportCron": {
491
+ "description": "DataImportCron defines a cron job for recurring polling/importing disk images as PVCs into a golden image namespace",
492
+ "type": "object",
493
+ "required": [
494
+ "spec"
495
+ ],
496
+ "properties": {
497
+ "apiVersion": {
498
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
499
+ "type": "string"
500
+ },
501
+ "kind": {
502
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
503
+ "type": "string"
504
+ },
505
+ "metadata": {
506
+ "default": {},
507
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
508
+ },
509
+ "spec": {
510
+ "default": {},
511
+ "$ref": "#/definitions/v1beta1.DataImportCronSpec"
512
+ },
513
+ "status": {
514
+ "default": {},
515
+ "$ref": "#/definitions/v1beta1.DataImportCronStatus"
516
+ }
517
+ },
518
+ "x-kubernetes-group-version-kind": [
519
+ {
520
+ "group": "cdi.kubevirt.io",
521
+ "version": "v1beta1",
522
+ "kind": "DataImportCron"
523
+ }
524
+ ]
525
+ },
526
+ "v1beta1.DataImportCronCondition": {
527
+ "description": "DataImportCronCondition represents the state of a data import cron condition",
528
+ "type": "object",
529
+ "required": [
530
+ "type",
531
+ "status"
532
+ ],
533
+ "properties": {
534
+ "lastHeartbeatTime": {
535
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
536
+ },
537
+ "lastTransitionTime": {
538
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
539
+ },
540
+ "message": {
541
+ "type": "string"
542
+ },
543
+ "reason": {
544
+ "type": "string"
545
+ },
546
+ "status": {
547
+ "type": "string",
548
+ "default": ""
549
+ },
550
+ "type": {
551
+ "type": "string",
552
+ "default": ""
553
+ }
554
+ }
555
+ },
556
+ "v1beta1.DataImportCronList": {
557
+ "description": "DataImportCronList provides the needed parameters to do request a list of DataImportCrons from the system",
558
+ "type": "object",
559
+ "required": [
560
+ "metadata",
561
+ "items"
562
+ ],
563
+ "properties": {
564
+ "apiVersion": {
565
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
566
+ "type": "string"
567
+ },
568
+ "items": {
569
+ "description": "Items provides a list of DataImportCrons",
570
+ "type": "array",
571
+ "items": {
572
+ "default": {},
573
+ "$ref": "#/definitions/v1beta1.DataImportCron"
574
+ }
575
+ },
576
+ "kind": {
577
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
578
+ "type": "string"
579
+ },
580
+ "metadata": {
581
+ "default": {},
582
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
583
+ }
584
+ }
585
+ },
586
+ "v1beta1.DataImportCronSpec": {
587
+ "description": "DataImportCronSpec defines specification for DataImportCron",
588
+ "type": "object",
589
+ "required": [
590
+ "template",
591
+ "schedule",
592
+ "managedDataSource"
593
+ ],
594
+ "properties": {
595
+ "garbageCollect": {
596
+ "description": "GarbageCollect specifies whether old PVCs should be cleaned up after a new PVC is imported. Options are currently \"Outdated\" and \"Never\", defaults to \"Outdated\".",
597
+ "type": "string"
598
+ },
599
+ "importsToKeep": {
600
+ "description": "Number of import PVCs to keep when garbage collecting. Default is 3.",
601
+ "type": "integer",
602
+ "format": "int32"
603
+ },
604
+ "managedDataSource": {
605
+ "description": "ManagedDataSource specifies the name of the corresponding DataSource this cron will manage. DataSource has to be in the same namespace.",
606
+ "type": "string",
607
+ "default": ""
608
+ },
609
+ "retentionPolicy": {
610
+ "description": "RetentionPolicy specifies whether the created DataVolumes and DataSources are retained when their DataImportCron is deleted. Default is RetainAll.",
611
+ "type": "string"
612
+ },
613
+ "schedule": {
614
+ "description": "Schedule specifies in cron format when and how often to look for new imports",
615
+ "type": "string",
616
+ "default": ""
617
+ },
618
+ "serviceAccountName": {
619
+ "description": "ServiceAccountName is the name of the ServiceAccount for creating DataVolumes.",
620
+ "type": "string"
621
+ },
622
+ "template": {
623
+ "description": "Template specifies template for the DVs to be created",
624
+ "default": {},
625
+ "$ref": "#/definitions/v1beta1.DataVolume"
626
+ }
627
+ }
628
+ },
629
+ "v1beta1.DataImportCronStatus": {
630
+ "description": "DataImportCronStatus provides the most recently observed status of the DataImportCron",
631
+ "type": "object",
632
+ "properties": {
633
+ "conditions": {
634
+ "type": "array",
635
+ "items": {
636
+ "default": {},
637
+ "$ref": "#/definitions/v1beta1.DataImportCronCondition"
638
+ }
639
+ },
640
+ "currentImports": {
641
+ "description": "CurrentImports are the imports in progress. Currently only a single import is supported.",
642
+ "type": "array",
643
+ "items": {
644
+ "default": {},
645
+ "$ref": "#/definitions/v1beta1.ImportStatus"
646
+ }
647
+ },
648
+ "lastExecutionTimestamp": {
649
+ "description": "LastExecutionTimestamp is the time of the last polling",
650
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
651
+ },
652
+ "lastImportTimestamp": {
653
+ "description": "LastImportTimestamp is the time of the last import",
654
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
655
+ },
656
+ "lastImportedPVC": {
657
+ "description": "LastImportedPVC is the last imported PVC",
658
+ "$ref": "#/definitions/v1beta1.DataVolumeSourcePVC"
659
+ },
660
+ "sourceFormat": {
661
+ "description": "SourceFormat defines the format of the DataImportCron-created disk image sources",
662
+ "type": "string"
663
+ }
664
+ }
665
+ },
666
+ "v1beta1.DataSource": {
667
+ "description": "DataSource references an import/clone source for a DataVolume",
668
+ "type": "object",
669
+ "required": [
670
+ "spec"
671
+ ],
672
+ "properties": {
673
+ "apiVersion": {
674
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
675
+ "type": "string"
676
+ },
677
+ "kind": {
678
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
679
+ "type": "string"
680
+ },
681
+ "metadata": {
682
+ "default": {},
683
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
684
+ },
685
+ "spec": {
686
+ "default": {},
687
+ "$ref": "#/definitions/v1beta1.DataSourceSpec"
688
+ },
689
+ "status": {
690
+ "default": {},
691
+ "$ref": "#/definitions/v1beta1.DataSourceStatus"
692
+ }
693
+ },
694
+ "x-kubernetes-group-version-kind": [
695
+ {
696
+ "group": "cdi.kubevirt.io",
697
+ "version": "v1beta1",
698
+ "kind": "DataSource"
699
+ }
700
+ ]
701
+ },
702
+ "v1beta1.DataSourceCondition": {
703
+ "description": "DataSourceCondition represents the state of a data source condition",
704
+ "type": "object",
705
+ "required": [
706
+ "type",
707
+ "status"
708
+ ],
709
+ "properties": {
710
+ "lastHeartbeatTime": {
711
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
712
+ },
713
+ "lastTransitionTime": {
714
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
715
+ },
716
+ "message": {
717
+ "type": "string"
718
+ },
719
+ "reason": {
720
+ "type": "string"
721
+ },
722
+ "status": {
723
+ "type": "string",
724
+ "default": ""
725
+ },
726
+ "type": {
727
+ "type": "string",
728
+ "default": ""
729
+ }
730
+ }
731
+ },
732
+ "v1beta1.DataSourceList": {
733
+ "description": "DataSourceList provides the needed parameters to do request a list of Data Sources from the system",
734
+ "type": "object",
735
+ "required": [
736
+ "metadata",
737
+ "items"
738
+ ],
739
+ "properties": {
740
+ "apiVersion": {
741
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
742
+ "type": "string"
743
+ },
744
+ "items": {
745
+ "description": "Items provides a list of DataSources",
746
+ "type": "array",
747
+ "items": {
748
+ "default": {},
749
+ "$ref": "#/definitions/v1beta1.DataSource"
750
+ }
751
+ },
752
+ "kind": {
753
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
754
+ "type": "string"
755
+ },
756
+ "metadata": {
757
+ "default": {},
758
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
759
+ }
760
+ }
761
+ },
762
+ "v1beta1.DataSourceRefSourceDataSource": {
763
+ "description": "DataSourceRefSourceDataSource serves as a reference to another DataSource Can be resolved into a DataVolumeSourcePVC or a DataVolumeSourceSnapshot The maximum depth of a reference chain may not exceed 1.",
764
+ "type": "object",
765
+ "required": [
766
+ "namespace",
767
+ "name"
768
+ ],
769
+ "properties": {
770
+ "name": {
771
+ "description": "The name of the source DataSource",
772
+ "type": "string",
773
+ "default": ""
774
+ },
775
+ "namespace": {
776
+ "description": "The namespace of the source DataSource",
777
+ "type": "string",
778
+ "default": ""
779
+ }
780
+ }
781
+ },
782
+ "v1beta1.DataSourceSource": {
783
+ "description": "DataSourceSource represents the source for our DataSource",
784
+ "type": "object",
785
+ "properties": {
786
+ "dataSource": {
787
+ "$ref": "#/definitions/v1beta1.DataSourceRefSourceDataSource"
788
+ },
789
+ "pvc": {
790
+ "$ref": "#/definitions/v1beta1.DataVolumeSourcePVC"
791
+ },
792
+ "snapshot": {
793
+ "$ref": "#/definitions/v1beta1.DataVolumeSourceSnapshot"
794
+ }
795
+ }
796
+ },
797
+ "v1beta1.DataSourceSpec": {
798
+ "description": "DataSourceSpec defines specification for DataSource",
799
+ "type": "object",
800
+ "required": [
801
+ "source"
802
+ ],
803
+ "properties": {
804
+ "source": {
805
+ "description": "Source is the source of the data referenced by the DataSource",
806
+ "default": {},
807
+ "$ref": "#/definitions/v1beta1.DataSourceSource"
808
+ }
809
+ }
810
+ },
811
+ "v1beta1.DataSourceStatus": {
812
+ "description": "DataSourceStatus provides the most recently observed status of the DataSource",
813
+ "type": "object",
814
+ "properties": {
815
+ "conditions": {
816
+ "type": "array",
817
+ "items": {
818
+ "default": {},
819
+ "$ref": "#/definitions/v1beta1.DataSourceCondition"
820
+ }
821
+ },
822
+ "source": {
823
+ "description": "Source is the current source of the data referenced by the DataSource",
824
+ "default": {},
825
+ "$ref": "#/definitions/v1beta1.DataSourceSource"
826
+ }
827
+ }
828
+ },
829
+ "v1beta1.DataVolume": {
830
+ "description": "DataVolume is an abstraction on top of PersistentVolumeClaims to allow easy population of those PersistentVolumeClaims with relation to VirtualMachines",
831
+ "type": "object",
832
+ "required": [
833
+ "spec"
834
+ ],
835
+ "properties": {
836
+ "apiVersion": {
837
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
838
+ "type": "string"
839
+ },
840
+ "kind": {
841
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
842
+ "type": "string"
843
+ },
844
+ "metadata": {
845
+ "default": {},
846
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
847
+ },
848
+ "spec": {
849
+ "default": {},
850
+ "$ref": "#/definitions/v1beta1.DataVolumeSpec"
851
+ },
852
+ "status": {
853
+ "default": {},
854
+ "$ref": "#/definitions/v1beta1.DataVolumeStatus"
855
+ }
856
+ },
857
+ "x-kubernetes-group-version-kind": [
858
+ {
859
+ "group": "cdi.kubevirt.io",
860
+ "version": "v1beta1",
861
+ "kind": "DataVolume"
862
+ }
863
+ ]
864
+ },
865
+ "v1beta1.DataVolumeBlankImage": {
866
+ "description": "DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC",
867
+ "type": "object"
868
+ },
869
+ "v1beta1.DataVolumeCheckpoint": {
870
+ "description": "DataVolumeCheckpoint defines a stage in a warm migration.",
871
+ "type": "object",
872
+ "required": [
873
+ "previous",
874
+ "current"
875
+ ],
876
+ "properties": {
877
+ "current": {
878
+ "description": "Current is the identifier of the snapshot created for this checkpoint.",
879
+ "type": "string",
880
+ "default": ""
881
+ },
882
+ "previous": {
883
+ "description": "Previous is the identifier of the snapshot from the previous checkpoint.",
884
+ "type": "string",
885
+ "default": ""
886
+ }
887
+ }
888
+ },
889
+ "v1beta1.DataVolumeCondition": {
890
+ "description": "DataVolumeCondition represents the state of a data volume condition.",
891
+ "type": "object",
892
+ "required": [
893
+ "type",
894
+ "status"
895
+ ],
896
+ "properties": {
897
+ "lastHeartbeatTime": {
898
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
899
+ },
900
+ "lastTransitionTime": {
901
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
902
+ },
903
+ "message": {
904
+ "type": "string"
905
+ },
906
+ "reason": {
907
+ "type": "string"
908
+ },
909
+ "status": {
910
+ "type": "string",
911
+ "default": ""
912
+ },
913
+ "type": {
914
+ "type": "string",
915
+ "default": ""
916
+ }
917
+ }
918
+ },
919
+ "v1beta1.DataVolumeList": {
920
+ "description": "DataVolumeList provides the needed parameters to do request a list of Data Volumes from the system",
921
+ "type": "object",
922
+ "required": [
923
+ "metadata",
924
+ "items"
925
+ ],
926
+ "properties": {
927
+ "apiVersion": {
928
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
929
+ "type": "string"
930
+ },
931
+ "items": {
932
+ "description": "Items provides a list of DataVolumes",
933
+ "type": "array",
934
+ "items": {
935
+ "default": {},
936
+ "$ref": "#/definitions/v1beta1.DataVolume"
937
+ }
938
+ },
939
+ "kind": {
940
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
941
+ "type": "string"
942
+ },
943
+ "metadata": {
944
+ "default": {},
945
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
946
+ }
947
+ }
948
+ },
949
+ "v1beta1.DataVolumeSource": {
950
+ "description": "DataVolumeSource represents the source for our Data Volume, this can be HTTP, Imageio, S3, GCS, Registry or an existing PVC",
951
+ "type": "object",
952
+ "properties": {
953
+ "blank": {
954
+ "$ref": "#/definitions/v1beta1.DataVolumeBlankImage"
955
+ },
956
+ "gcs": {
957
+ "$ref": "#/definitions/v1beta1.DataVolumeSourceGCS"
958
+ },
959
+ "http": {
960
+ "$ref": "#/definitions/v1beta1.DataVolumeSourceHTTP"
961
+ },
962
+ "imageio": {
963
+ "$ref": "#/definitions/v1beta1.DataVolumeSourceImageIO"
964
+ },
965
+ "pvc": {
966
+ "$ref": "#/definitions/v1beta1.DataVolumeSourcePVC"
967
+ },
968
+ "registry": {
969
+ "$ref": "#/definitions/v1beta1.DataVolumeSourceRegistry"
970
+ },
971
+ "s3": {
972
+ "$ref": "#/definitions/v1beta1.DataVolumeSourceS3"
973
+ },
974
+ "snapshot": {
975
+ "$ref": "#/definitions/v1beta1.DataVolumeSourceSnapshot"
976
+ },
977
+ "upload": {
978
+ "$ref": "#/definitions/v1beta1.DataVolumeSourceUpload"
979
+ },
980
+ "vddk": {
981
+ "$ref": "#/definitions/v1beta1.DataVolumeSourceVDDK"
982
+ }
983
+ }
984
+ },
985
+ "v1beta1.DataVolumeSourceGCS": {
986
+ "description": "DataVolumeSourceGCS provides the parameters to create a Data Volume from an GCS source",
987
+ "type": "object",
988
+ "required": [
989
+ "url"
990
+ ],
991
+ "properties": {
992
+ "secretRef": {
993
+ "description": "SecretRef provides the secret reference needed to access the GCS source",
994
+ "type": "string"
995
+ },
996
+ "url": {
997
+ "description": "URL is the url of the GCS source",
998
+ "type": "string",
999
+ "default": ""
1000
+ }
1001
+ }
1002
+ },
1003
+ "v1beta1.DataVolumeSourceHTTP": {
1004
+ "description": "DataVolumeSourceHTTP can be either an http or https endpoint, with an optional basic auth user name and password, and an optional configmap containing additional CAs",
1005
+ "type": "object",
1006
+ "required": [
1007
+ "url"
1008
+ ],
1009
+ "properties": {
1010
+ "certConfigMap": {
1011
+ "description": "CertConfigMap is a configmap reference, containing a Certificate Authority(CA) public key, and a base64 encoded pem certificate",
1012
+ "type": "string"
1013
+ },
1014
+ "checksum": {
1015
+ "description": "Checksum is the expected checksum of the file. Format: \"algorithm:hash\", e.g., \"sha256:1234abcd...\" or \"md5:5678efgh...\" Supported algorithms: md5, sha1, sha256, sha512 If specified, the importer will verify the downloaded content matches this checksum",
1016
+ "type": "string"
1017
+ },
1018
+ "extraHeaders": {
1019
+ "description": "ExtraHeaders is a list of strings containing extra headers to include with HTTP transfer requests",
1020
+ "type": "array",
1021
+ "items": {
1022
+ "type": "string",
1023
+ "default": ""
1024
+ }
1025
+ },
1026
+ "secretExtraHeaders": {
1027
+ "description": "SecretExtraHeaders is a list of Secret references, each containing an extra HTTP header that may include sensitive information",
1028
+ "type": "array",
1029
+ "items": {
1030
+ "type": "string",
1031
+ "default": ""
1032
+ }
1033
+ },
1034
+ "secretRef": {
1035
+ "description": "SecretRef A Secret reference, the secret should contain accessKeyId (user name) base64 encoded, and secretKey (password) also base64 encoded",
1036
+ "type": "string"
1037
+ },
1038
+ "url": {
1039
+ "description": "URL is the URL of the http(s) endpoint",
1040
+ "type": "string",
1041
+ "default": ""
1042
+ }
1043
+ }
1044
+ },
1045
+ "v1beta1.DataVolumeSourceImageIO": {
1046
+ "description": "DataVolumeSourceImageIO provides the parameters to create a Data Volume from an imageio source",
1047
+ "type": "object",
1048
+ "required": [
1049
+ "url",
1050
+ "diskId"
1051
+ ],
1052
+ "properties": {
1053
+ "certConfigMap": {
1054
+ "description": "CertConfigMap provides a reference to the CA cert",
1055
+ "type": "string"
1056
+ },
1057
+ "diskId": {
1058
+ "description": "DiskID provides id of a disk to be imported",
1059
+ "type": "string",
1060
+ "default": ""
1061
+ },
1062
+ "insecureSkipVerify": {
1063
+ "description": "InsecureSkipVerify is a flag to skip certificate verification",
1064
+ "type": "boolean"
1065
+ },
1066
+ "secretRef": {
1067
+ "description": "SecretRef provides the secret reference needed to access the ovirt-engine",
1068
+ "type": "string"
1069
+ },
1070
+ "url": {
1071
+ "description": "URL is the URL of the ovirt-engine",
1072
+ "type": "string",
1073
+ "default": ""
1074
+ }
1075
+ }
1076
+ },
1077
+ "v1beta1.DataVolumeSourcePVC": {
1078
+ "description": "DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC",
1079
+ "type": "object",
1080
+ "required": [
1081
+ "namespace",
1082
+ "name"
1083
+ ],
1084
+ "properties": {
1085
+ "name": {
1086
+ "description": "The name of the source PVC",
1087
+ "type": "string",
1088
+ "default": ""
1089
+ },
1090
+ "namespace": {
1091
+ "description": "The namespace of the source PVC",
1092
+ "type": "string",
1093
+ "default": ""
1094
+ }
1095
+ }
1096
+ },
1097
+ "v1beta1.DataVolumeSourceRef": {
1098
+ "description": "DataVolumeSourceRef defines an indirect reference to the source of data for the DataVolume",
1099
+ "type": "object",
1100
+ "required": [
1101
+ "kind",
1102
+ "name"
1103
+ ],
1104
+ "properties": {
1105
+ "kind": {
1106
+ "description": "The kind of the source reference, currently only \"DataSource\" is supported",
1107
+ "type": "string",
1108
+ "default": ""
1109
+ },
1110
+ "name": {
1111
+ "description": "The name of the source reference",
1112
+ "type": "string",
1113
+ "default": ""
1114
+ },
1115
+ "namespace": {
1116
+ "description": "The namespace of the source reference, defaults to the DataVolume namespace",
1117
+ "type": "string"
1118
+ }
1119
+ }
1120
+ },
1121
+ "v1beta1.DataVolumeSourceRegistry": {
1122
+ "description": "DataVolumeSourceRegistry provides the parameters to create a Data Volume from an registry source",
1123
+ "type": "object",
1124
+ "properties": {
1125
+ "certConfigMap": {
1126
+ "description": "CertConfigMap provides a reference to the Registry certs",
1127
+ "type": "string"
1128
+ },
1129
+ "imageStream": {
1130
+ "description": "ImageStream is the name of image stream for import",
1131
+ "type": "string"
1132
+ },
1133
+ "platform": {
1134
+ "description": "Platform describes the minimum runtime requirements of the image",
1135
+ "$ref": "#/definitions/v1beta1.PlatformOptions"
1136
+ },
1137
+ "pullMethod": {
1138
+ "description": "PullMethod can be either \"pod\" (default import), or \"node\" (node docker cache based import)",
1139
+ "type": "string"
1140
+ },
1141
+ "secretRef": {
1142
+ "description": "SecretRef provides the secret reference needed to access the Registry source",
1143
+ "type": "string"
1144
+ },
1145
+ "url": {
1146
+ "description": "URL is the url of the registry source (starting with the scheme: docker, oci-archive)",
1147
+ "type": "string"
1148
+ }
1149
+ }
1150
+ },
1151
+ "v1beta1.DataVolumeSourceS3": {
1152
+ "description": "DataVolumeSourceS3 provides the parameters to create a Data Volume from an S3 source",
1153
+ "type": "object",
1154
+ "required": [
1155
+ "url"
1156
+ ],
1157
+ "properties": {
1158
+ "certConfigMap": {
1159
+ "description": "CertConfigMap is a configmap reference, containing a Certificate Authority(CA) public key, and a base64 encoded pem certificate",
1160
+ "type": "string"
1161
+ },
1162
+ "secretRef": {
1163
+ "description": "SecretRef provides the secret reference needed to access the S3 source",
1164
+ "type": "string"
1165
+ },
1166
+ "url": {
1167
+ "description": "URL is the url of the S3 source",
1168
+ "type": "string",
1169
+ "default": ""
1170
+ }
1171
+ }
1172
+ },
1173
+ "v1beta1.DataVolumeSourceSnapshot": {
1174
+ "description": "DataVolumeSourceSnapshot provides the parameters to create a Data Volume from an existing VolumeSnapshot",
1175
+ "type": "object",
1176
+ "required": [
1177
+ "namespace",
1178
+ "name"
1179
+ ],
1180
+ "properties": {
1181
+ "name": {
1182
+ "description": "The name of the source VolumeSnapshot",
1183
+ "type": "string",
1184
+ "default": ""
1185
+ },
1186
+ "namespace": {
1187
+ "description": "The namespace of the source VolumeSnapshot",
1188
+ "type": "string",
1189
+ "default": ""
1190
+ }
1191
+ }
1192
+ },
1193
+ "v1beta1.DataVolumeSourceUpload": {
1194
+ "description": "DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source",
1195
+ "type": "object"
1196
+ },
1197
+ "v1beta1.DataVolumeSourceVDDK": {
1198
+ "description": "DataVolumeSourceVDDK provides the parameters to create a Data Volume from a Vmware source",
1199
+ "type": "object",
1200
+ "properties": {
1201
+ "backingFile": {
1202
+ "description": "BackingFile is the path to the virtual hard disk to migrate from vCenter/ESXi",
1203
+ "type": "string"
1204
+ },
1205
+ "extraArgs": {
1206
+ "description": "ExtraArgs is a reference to a ConfigMap containing extra arguments to pass directly to the VDDK library",
1207
+ "type": "string"
1208
+ },
1209
+ "initImageURL": {
1210
+ "description": "InitImageURL is an optional URL to an image containing an extracted VDDK library, overrides v2v-vmware config map",
1211
+ "type": "string"
1212
+ },
1213
+ "secretRef": {
1214
+ "description": "SecretRef provides a reference to a secret containing the username and password needed to access the vCenter or ESXi host",
1215
+ "type": "string"
1216
+ },
1217
+ "thumbprint": {
1218
+ "description": "Thumbprint is the certificate thumbprint of the vCenter or ESXi host",
1219
+ "type": "string"
1220
+ },
1221
+ "url": {
1222
+ "description": "URL is the URL of the vCenter or ESXi host with the VM to migrate",
1223
+ "type": "string"
1224
+ },
1225
+ "uuid": {
1226
+ "description": "UUID is the UUID of the virtual machine that the backing file is attached to in vCenter/ESXi",
1227
+ "type": "string"
1228
+ }
1229
+ }
1230
+ },
1231
+ "v1beta1.DataVolumeSpec": {
1232
+ "description": "DataVolumeSpec defines the DataVolume type specification",
1233
+ "type": "object",
1234
+ "properties": {
1235
+ "checkpoints": {
1236
+ "description": "Checkpoints is a list of DataVolumeCheckpoints, representing stages in a multistage import.",
1237
+ "type": "array",
1238
+ "items": {
1239
+ "default": {},
1240
+ "$ref": "#/definitions/v1beta1.DataVolumeCheckpoint"
1241
+ }
1242
+ },
1243
+ "contentType": {
1244
+ "description": "DataVolumeContentType options: \"kubevirt\", \"archive\"",
1245
+ "type": "string"
1246
+ },
1247
+ "finalCheckpoint": {
1248
+ "description": "FinalCheckpoint indicates whether the current DataVolumeCheckpoint is the final checkpoint.",
1249
+ "type": "boolean"
1250
+ },
1251
+ "preallocation": {
1252
+ "description": "Preallocation controls whether storage for DataVolumes should be allocated in advance.",
1253
+ "type": "boolean"
1254
+ },
1255
+ "priorityClassName": {
1256
+ "description": "PriorityClassName for Importer, Cloner and Uploader pod",
1257
+ "type": "string"
1258
+ },
1259
+ "pvc": {
1260
+ "description": "PVC is the PVC specification",
1261
+ "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimSpec"
1262
+ },
1263
+ "serviceAccountName": {
1264
+ "description": "ServiceAccountName for Importer and Uploader pod",
1265
+ "type": "string"
1266
+ },
1267
+ "source": {
1268
+ "description": "Source is the src of the data for the requested DataVolume",
1269
+ "$ref": "#/definitions/v1beta1.DataVolumeSource"
1270
+ },
1271
+ "sourceRef": {
1272
+ "description": "SourceRef is an indirect reference to the source of data for the requested DataVolume",
1273
+ "$ref": "#/definitions/v1beta1.DataVolumeSourceRef"
1274
+ },
1275
+ "storage": {
1276
+ "description": "Storage is the requested storage specification",
1277
+ "$ref": "#/definitions/v1beta1.StorageSpec"
1278
+ }
1279
+ }
1280
+ },
1281
+ "v1beta1.DataVolumeStatus": {
1282
+ "description": "DataVolumeStatus contains the current status of the DataVolume",
1283
+ "type": "object",
1284
+ "properties": {
1285
+ "claimName": {
1286
+ "description": "ClaimName is the name of the underlying PVC used by the DataVolume.",
1287
+ "type": "string"
1288
+ },
1289
+ "conditions": {
1290
+ "type": "array",
1291
+ "items": {
1292
+ "default": {},
1293
+ "$ref": "#/definitions/v1beta1.DataVolumeCondition"
1294
+ }
1295
+ },
1296
+ "phase": {
1297
+ "description": "Phase is the current phase of the data volume",
1298
+ "type": "string"
1299
+ },
1300
+ "progress": {
1301
+ "type": "string"
1302
+ },
1303
+ "restartCount": {
1304
+ "description": "RestartCount is the number of times the pod populating the DataVolume has restarted",
1305
+ "type": "integer",
1306
+ "format": "int32"
1307
+ }
1308
+ }
1309
+ },
1310
+ "v1beta1.FilesystemOverhead": {
1311
+ "description": "FilesystemOverhead defines the reserved size for PVCs with VolumeMode: Filesystem",
1312
+ "type": "object",
1313
+ "properties": {
1314
+ "global": {
1315
+ "description": "Global is how much space of a Filesystem volume should be reserved for overhead. This value is used unless overridden by a more specific value (per storageClass)",
1316
+ "type": "string"
1317
+ },
1318
+ "storageClass": {
1319
+ "description": "StorageClass specifies how much space of a Filesystem volume should be reserved for safety. The keys are the storageClass and the values are the overhead. This value overrides the global value",
1320
+ "type": "object",
1321
+ "additionalProperties": {
1322
+ "type": "string",
1323
+ "default": ""
1324
+ }
1325
+ }
1326
+ }
1327
+ },
1328
+ "v1beta1.Flags": {
1329
+ "description": "Flags will create a patch that will replace all flags for the container's command field. The only flags that will be used are those define. There are no guarantees around forward/backward compatibility. If set incorrectly this will cause the resource when rolled out to error until flags are updated.",
1330
+ "type": "object",
1331
+ "properties": {
1332
+ "api": {
1333
+ "type": "object",
1334
+ "additionalProperties": {
1335
+ "type": "string",
1336
+ "default": ""
1337
+ }
1338
+ },
1339
+ "controller": {
1340
+ "type": "object",
1341
+ "additionalProperties": {
1342
+ "type": "string",
1343
+ "default": ""
1344
+ }
1345
+ },
1346
+ "uploadProxy": {
1347
+ "type": "object",
1348
+ "additionalProperties": {
1349
+ "type": "string",
1350
+ "default": ""
1351
+ }
1352
+ }
1353
+ }
1354
+ },
1355
+ "v1beta1.ImportProxy": {
1356
+ "description": "ImportProxy provides the information on how to configure the importer pod proxy.",
1357
+ "type": "object",
1358
+ "properties": {
1359
+ "HTTPProxy": {
1360
+ "description": "HTTPProxy is the URL http://<username>:<pswd>@<ip>:<port> of the import proxy for HTTP requests. Empty means unset and will not result in the import pod env var.",
1361
+ "type": "string"
1362
+ },
1363
+ "HTTPSProxy": {
1364
+ "description": "HTTPSProxy is the URL https://<username>:<pswd>@<ip>:<port> of the import proxy for HTTPS requests. Empty means unset and will not result in the import pod env var.",
1365
+ "type": "string"
1366
+ },
1367
+ "noProxy": {
1368
+ "description": "NoProxy is a comma-separated list of hostnames and/or CIDRs for which the proxy should not be used. Empty means unset and will not result in the import pod env var.",
1369
+ "type": "string"
1370
+ },
1371
+ "trustedCAProxy": {
1372
+ "description": "TrustedCAProxy is the name of a ConfigMap in the cdi namespace that contains a user-provided trusted certificate authority (CA) bundle. The TrustedCAProxy ConfigMap is consumed by the DataImportCron controller for creating cronjobs, and by the import controller referring a copy of the ConfigMap in the import namespace. Here is an example of the ConfigMap (in yaml):\n\napiVersion: v1 kind: ConfigMap metadata:\n name: my-ca-proxy-cm\n namespace: cdi\ndata:\n ca.pem: |\n -----BEGIN CERTIFICATE-----\n\t ... <base64 encoded cert> ...\n\t -----END CERTIFICATE-----",
1373
+ "type": "string"
1374
+ }
1375
+ }
1376
+ },
1377
+ "v1beta1.ImportStatus": {
1378
+ "description": "ImportStatus of a currently in progress import",
1379
+ "type": "object",
1380
+ "required": [
1381
+ "DataVolumeName",
1382
+ "Digest"
1383
+ ],
1384
+ "properties": {
1385
+ "DataVolumeName": {
1386
+ "description": "DataVolumeName is the currently in progress import DataVolume",
1387
+ "type": "string",
1388
+ "default": ""
1389
+ },
1390
+ "Digest": {
1391
+ "description": "Digest of the currently imported image",
1392
+ "type": "string",
1393
+ "default": ""
1394
+ }
1395
+ }
1396
+ },
1397
+ "v1beta1.IntermediateTLSProfile": {
1398
+ "description": "IntermediateTLSProfile is a TLS security profile based on: https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29",
1399
+ "type": "object"
1400
+ },
1401
+ "v1beta1.ModernTLSProfile": {
1402
+ "description": "ModernTLSProfile is a TLS security profile based on: https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility",
1403
+ "type": "object"
1404
+ },
1405
+ "v1beta1.OldTLSProfile": {
1406
+ "description": "OldTLSProfile is a TLS security profile based on: https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility",
1407
+ "type": "object"
1408
+ },
1409
+ "v1beta1.PlatformOptions": {
1410
+ "type": "object",
1411
+ "properties": {
1412
+ "architecture": {
1413
+ "description": "Architecture specifies the image target CPU architecture",
1414
+ "type": "string"
1415
+ }
1416
+ }
1417
+ },
1418
+ "v1beta1.StorageSpec": {
1419
+ "description": "StorageSpec defines the Storage type specification",
1420
+ "type": "object",
1421
+ "properties": {
1422
+ "accessModes": {
1423
+ "description": "AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1",
1424
+ "type": "array",
1425
+ "items": {
1426
+ "type": "string",
1427
+ "default": "",
1428
+ "enum": [
1429
+ "ReadOnlyMany",
1430
+ "ReadWriteMany",
1431
+ "ReadWriteOnce",
1432
+ "ReadWriteOncePod"
1433
+ ]
1434
+ }
1435
+ },
1436
+ "dataSource": {
1437
+ "description": "This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.",
1438
+ "$ref": "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference"
1439
+ },
1440
+ "dataSourceRef": {
1441
+ "description": "Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.",
1442
+ "$ref": "#/definitions/io.k8s.api.core.v1.TypedObjectReference"
1443
+ },
1444
+ "resources": {
1445
+ "description": "Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources",
1446
+ "default": {},
1447
+ "$ref": "#/definitions/io.k8s.api.core.v1.VolumeResourceRequirements"
1448
+ },
1449
+ "selector": {
1450
+ "description": "A label query over volumes to consider for binding.",
1451
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
1452
+ },
1453
+ "storageClassName": {
1454
+ "description": "Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1",
1455
+ "type": "string"
1456
+ },
1457
+ "volumeMode": {
1458
+ "description": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.\n\nPossible enum values:\n - `\"Block\"` means the volume will not be formatted with a filesystem and will remain a raw block device.\n - `\"Filesystem\"` means the volume will be or is formatted with a filesystem.\n - `\"FromStorageProfile\"` means the volume mode will be auto selected by CDI according to a matching StorageProfile",
1459
+ "type": "string",
1460
+ "enum": [
1461
+ "Block",
1462
+ "Filesystem",
1463
+ "FromStorageProfile"
1464
+ ]
1465
+ },
1466
+ "volumeName": {
1467
+ "description": "VolumeName is the binding reference to the PersistentVolume backing this claim.",
1468
+ "type": "string"
1469
+ }
1470
+ }
1471
+ },
1472
+ "v1beta1.TLSSecurityProfile": {
1473
+ "description": "TLSSecurityProfile defines the schema for a TLS security profile. This object is used by operators to apply TLS security settings to operands.",
1474
+ "type": "object",
1475
+ "properties": {
1476
+ "custom": {
1477
+ "description": "custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this:\n\n ciphers:\n - ECDHE-ECDSA-CHACHA20-POLY1305\n - ECDHE-RSA-CHACHA20-POLY1305\n - ECDHE-RSA-AES128-GCM-SHA256\n - ECDHE-ECDSA-AES128-GCM-SHA256\n minTLSVersion: VersionTLS11",
1478
+ "$ref": "#/definitions/v1beta1.CustomTLSProfile"
1479
+ },
1480
+ "intermediate": {
1481
+ "description": "intermediate is a TLS security profile based on:\n\nhttps://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29\n\nand looks like this (yaml):\n\n ciphers:\n - TLS_AES_128_GCM_SHA256\n - TLS_AES_256_GCM_SHA384\n - TLS_CHACHA20_POLY1305_SHA256\n - ECDHE-ECDSA-AES128-GCM-SHA256\n - ECDHE-RSA-AES128-GCM-SHA256\n - ECDHE-ECDSA-AES256-GCM-SHA384\n - ECDHE-RSA-AES256-GCM-SHA384\n - ECDHE-ECDSA-CHACHA20-POLY1305\n - ECDHE-RSA-CHACHA20-POLY1305\n - DHE-RSA-AES128-GCM-SHA256\n - DHE-RSA-AES256-GCM-SHA384\n minTLSVersion: VersionTLS12",
1482
+ "$ref": "#/definitions/v1beta1.IntermediateTLSProfile"
1483
+ },
1484
+ "modern": {
1485
+ "description": "modern is a TLS security profile based on:\n\nhttps://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility\n\nand looks like this (yaml):\n\n ciphers:\n - TLS_AES_128_GCM_SHA256\n - TLS_AES_256_GCM_SHA384\n - TLS_CHACHA20_POLY1305_SHA256\n minTLSVersion: VersionTLS13\n\nNOTE: Currently unsupported.",
1486
+ "$ref": "#/definitions/v1beta1.ModernTLSProfile"
1487
+ },
1488
+ "old": {
1489
+ "description": "old is a TLS security profile based on:\n\nhttps://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility\n\nand looks like this (yaml):\n\n ciphers:\n - TLS_AES_128_GCM_SHA256\n - TLS_AES_256_GCM_SHA384\n - TLS_CHACHA20_POLY1305_SHA256\n - ECDHE-ECDSA-AES128-GCM-SHA256\n - ECDHE-RSA-AES128-GCM-SHA256\n - ECDHE-ECDSA-AES256-GCM-SHA384\n - ECDHE-RSA-AES256-GCM-SHA384\n - ECDHE-ECDSA-CHACHA20-POLY1305\n - ECDHE-RSA-CHACHA20-POLY1305\n - DHE-RSA-AES128-GCM-SHA256\n - DHE-RSA-AES256-GCM-SHA384\n - DHE-RSA-CHACHA20-POLY1305\n - ECDHE-ECDSA-AES128-SHA256\n - ECDHE-RSA-AES128-SHA256\n - ECDHE-ECDSA-AES128-SHA\n - ECDHE-RSA-AES128-SHA\n - ECDHE-ECDSA-AES256-SHA384\n - ECDHE-RSA-AES256-SHA384\n - ECDHE-ECDSA-AES256-SHA\n - ECDHE-RSA-AES256-SHA\n - DHE-RSA-AES128-SHA256\n - DHE-RSA-AES256-SHA256\n - AES128-GCM-SHA256\n - AES256-GCM-SHA384\n - AES128-SHA256\n - AES256-SHA256\n - AES128-SHA\n - AES256-SHA\n - DES-CBC3-SHA\n minTLSVersion: VersionTLS10",
1490
+ "$ref": "#/definitions/v1beta1.OldTLSProfile"
1491
+ },
1492
+ "type": {
1493
+ "description": "type is one of Old, Intermediate, Modern or Custom. Custom provides the ability to specify individual TLS security profile parameters. Old, Intermediate and Modern are TLS security profiles based on:\n\nhttps://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations\n\nThe profiles are intent based, so they may change over time as new ciphers are developed and existing ciphers are found to be insecure. Depending on precisely which ciphers are available to a process, the list may be reduced.\n\nNote that the Modern profile is currently not supported because it is not yet well adopted by common software libraries.",
1494
+ "type": "string",
1495
+ "default": ""
1496
+ }
1497
+ },
1498
+ "x-kubernetes-unions": [
1499
+ {
1500
+ "discriminator": "type",
1501
+ "fields-to-discriminateBy": {
1502
+ "custom": "Custom",
1503
+ "intermediate": "Intermediate",
1504
+ "modern": "Modern",
1505
+ "old": "Old"
1506
+ }
1507
+ }
1508
+ ]
1509
+ },
1510
+ "v1beta1.UploadTokenRequest": {
1511
+ "description": "UploadTokenRequest is the CR used to initiate a CDI upload",
1512
+ "type": "object",
1513
+ "required": [
1514
+ "metadata",
1515
+ "spec",
1516
+ "status"
1517
+ ],
1518
+ "properties": {
1519
+ "apiVersion": {
1520
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
1521
+ "type": "string"
1522
+ },
1523
+ "kind": {
1524
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
1525
+ "type": "string"
1526
+ },
1527
+ "metadata": {
1528
+ "default": {},
1529
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
1530
+ },
1531
+ "spec": {
1532
+ "description": "Spec contains the parameters of the request",
1533
+ "default": {},
1534
+ "$ref": "#/definitions/v1beta1.UploadTokenRequestSpec"
1535
+ },
1536
+ "status": {
1537
+ "description": "Status contains the status of the request",
1538
+ "default": {},
1539
+ "$ref": "#/definitions/v1beta1.UploadTokenRequestStatus"
1540
+ }
1541
+ },
1542
+ "x-kubernetes-group-version-kind": [
1543
+ {
1544
+ "group": "upload.cdi.kubevirt.io",
1545
+ "version": "v1beta1",
1546
+ "kind": "UploadTokenRequest"
1547
+ }
1548
+ ]
1549
+ },
1550
+ "v1beta1.UploadTokenRequestSpec": {
1551
+ "description": "UploadTokenRequestSpec defines the parameters of the token request",
1552
+ "type": "object",
1553
+ "required": [
1554
+ "pvcName"
1555
+ ],
1556
+ "properties": {
1557
+ "pvcName": {
1558
+ "description": "PvcName is the name of the PVC to upload to",
1559
+ "type": "string",
1560
+ "default": ""
1561
+ }
1562
+ }
1563
+ },
1564
+ "v1beta1.UploadTokenRequestStatus": {
1565
+ "description": "UploadTokenRequestStatus stores the status of a token request",
1566
+ "type": "object",
1567
+ "properties": {
1568
+ "token": {
1569
+ "description": "Token is a JWT token to be inserted in \"Authentication Bearer header\"",
1570
+ "type": "string"
1571
+ }
1572
+ }
1573
+ }
1574
+ }