forked from kubevirt/hyperconverged-cluster-operator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzz_generated.openapi.go
1392 lines (1366 loc) · 63.5 KB
/
zz_generated.openapi.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
//go:build !ignore_autogenerated
// +build !ignore_autogenerated
/*
* This file is part of the KubeVirt project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Copyright 2025 Red Hat, Inc.
*
*/
// Code generated by openapi-gen. DO NOT EDIT.
package v1beta1
import (
common "k8s.io/kube-openapi/pkg/common"
spec "k8s.io/kube-openapi/pkg/validation/spec"
)
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition {
return map[string]common.OpenAPIDefinition{
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.ApplicationAwareConfigurations": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_ApplicationAwareConfigurations(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.CertRotateConfigCA": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_CertRotateConfigCA(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.CertRotateConfigServer": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_CertRotateConfigServer(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConverged": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConverged(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedCertConfig": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConvergedCertConfig(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedFeatureGates": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConvergedFeatureGates(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedObsoleteCPUs": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConvergedObsoleteCPUs(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedSpec": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConvergedSpec(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedStatus": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConvergedStatus(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedWorkloadUpdateStrategy": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConvergedWorkloadUpdateStrategy(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.LiveMigrationConfigurations": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_LiveMigrationConfigurations(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.LogVerbosityConfiguration": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_LogVerbosityConfiguration(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.MediatedDevicesConfiguration": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_MediatedDevicesConfiguration(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.MediatedHostDevice": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_MediatedHostDevice(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.NodeMediatedDeviceTypesConfig": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_NodeMediatedDeviceTypesConfig(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.OperandResourceRequirements": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_OperandResourceRequirements(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.PciHostDevice": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_PciHostDevice(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.PermittedHostDevices": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_PermittedHostDevices(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.StorageImportConfig": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_StorageImportConfig(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.USBHostDevice": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_USBHostDevice(ref),
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.USBSelector": schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_USBSelector(ref),
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_ApplicationAwareConfigurations(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "ApplicationAwareConfigurations holds the AAQ configurations",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"vmiCalcConfigName": {
SchemaProps: spec.SchemaProps{
Description: "VmiCalcConfigName determine how resource allocation will be done with ApplicationsResourceQuota. allowed values are: VmiPodUsage, VirtualResources, DedicatedVirtualResources or IgnoreVmiCalculator",
Type: []string{"string"},
Format: "",
},
},
"namespaceSelector": {
SchemaProps: spec.SchemaProps{
Description: "NamespaceSelector determines in which namespaces scheduling gate will be added to pods..",
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"),
},
},
"allowApplicationAwareClusterResourceQuota": {
SchemaProps: spec.SchemaProps{
Description: "AllowApplicationAwareClusterResourceQuota if set to true, allows creation and management of ClusterAppsResourceQuota",
Type: []string{"boolean"},
Format: "",
},
},
},
},
},
Dependencies: []string{
"k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"},
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_CertRotateConfigCA(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "CertRotateConfigCA contains the tunables for TLS certificates.",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"duration": {
SchemaProps: spec.SchemaProps{
Description: "The requested 'duration' (i.e. lifetime) of the Certificate. This should comply with golang's ParseDuration format (https://golang.org/pkg/time/#ParseDuration)",
Default: "48h0m0s",
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"),
},
},
"renewBefore": {
SchemaProps: spec.SchemaProps{
Description: "The amount of time before the currently issued certificate's `notAfter` time that we will begin to attempt to renew the certificate. This should comply with golang's ParseDuration format (https://golang.org/pkg/time/#ParseDuration)",
Default: "24h0m0s",
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"),
},
},
},
},
},
Dependencies: []string{
"k8s.io/apimachinery/pkg/apis/meta/v1.Duration"},
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_CertRotateConfigServer(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "CertRotateConfigServer contains the tunables for TLS certificates.",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"duration": {
SchemaProps: spec.SchemaProps{
Description: "The requested 'duration' (i.e. lifetime) of the Certificate. This should comply with golang's ParseDuration format (https://golang.org/pkg/time/#ParseDuration)",
Default: "24h0m0s",
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"),
},
},
"renewBefore": {
SchemaProps: spec.SchemaProps{
Description: "The amount of time before the currently issued certificate's `notAfter` time that we will begin to attempt to renew the certificate. This should comply with golang's ParseDuration format (https://golang.org/pkg/time/#ParseDuration)",
Default: "12h0m0s",
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"),
},
},
},
},
},
Dependencies: []string{
"k8s.io/apimachinery/pkg/apis/meta/v1.Duration"},
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConverged(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "HyperConverged is the Schema for the hyperconvergeds API",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"kind": {
SchemaProps: spec.SchemaProps{
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",
Type: []string{"string"},
Format: "",
},
},
"apiVersion": {
SchemaProps: spec.SchemaProps{
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",
Type: []string{"string"},
Format: "",
},
},
"metadata": {
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"),
},
},
"spec": {
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedSpec"),
},
},
"status": {
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedStatus"),
},
},
},
},
},
Dependencies: []string{
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedSpec", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConvergedCertConfig(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "HyperConvergedCertConfig holds the CertConfig entries for the HCO operands",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"ca": {
SchemaProps: spec.SchemaProps{
Description: "CA configuration - CA certs are kept in the CA bundle as long as they are valid",
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.CertRotateConfigCA"),
},
},
"server": {
SchemaProps: spec.SchemaProps{
Description: "Server configuration - Certs are rotated and discarded",
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.CertRotateConfigServer"),
},
},
},
},
},
Dependencies: []string{
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.CertRotateConfigCA", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.CertRotateConfigServer"},
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConvergedFeatureGates(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "HyperConvergedFeatureGates is a set of optional feature gates to enable or disable new features that are not enabled by default yet.",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"downwardMetrics": {
SchemaProps: spec.SchemaProps{
Description: "Allow to expose a limited set of host metrics to guests.",
Default: false,
Type: []string{"boolean"},
Format: "",
},
},
"withHostPassthroughCPU": {
SchemaProps: spec.SchemaProps{
Description: "Deprecated: there is no such FG in KubeVirt. This field is ignored",
Type: []string{"boolean"},
Format: "",
},
},
"enableCommonBootImageImport": {
SchemaProps: spec.SchemaProps{
Description: "Opt-in to automatic delivery/updates of the common data import cron templates. There are two sources for the data import cron templates: hard coded list of common templates, and custom templates that can be added to the dataImportCronTemplates field. This feature gates only control the common templates. It is possible to use custom templates by adding them to the dataImportCronTemplates field. Deprecated: This field is ignored. Use spec.enableCommonBootImageImport instead",
Type: []string{"boolean"},
Format: "",
},
},
"deployTektonTaskResources": {
SchemaProps: spec.SchemaProps{
Description: "Deprecated: This field is ignored and will be removed on the next version of the API.",
Type: []string{"boolean"},
Format: "",
},
},
"deployVmConsoleProxy": {
SchemaProps: spec.SchemaProps{
Description: "deploy VM console proxy resources in SSP operator",
Default: false,
Type: []string{"boolean"},
Format: "",
},
},
"deployKubeSecondaryDNS": {
SchemaProps: spec.SchemaProps{
Description: "Deploy KubeSecondaryDNS by CNAO",
Default: false,
Type: []string{"boolean"},
Format: "",
},
},
"deployKubevirtIpamController": {
SchemaProps: spec.SchemaProps{
Description: "Deploy KubevirtIpamController by CNAO. Deprecated: this field is ignored and will be removed in the next version of the API.",
Type: []string{"boolean"},
Format: "",
},
},
"nonRoot": {
SchemaProps: spec.SchemaProps{
Description: "Deprecated: // Deprecated: This field is ignored and will be removed on the next version of the API.",
Type: []string{"boolean"},
Format: "",
},
},
"disableMDevConfiguration": {
SchemaProps: spec.SchemaProps{
Description: "Disable mediated devices handling on KubeVirt",
Default: false,
Type: []string{"boolean"},
Format: "",
},
},
"persistentReservation": {
SchemaProps: spec.SchemaProps{
Description: "Enable persistent reservation of a LUN through the SCSI Persistent Reserve commands on Kubevirt. In order to issue privileged SCSI ioctls, the VM requires activation of the persistent reservation flag. Once this feature gate is enabled, then the additional container with the qemu-pr-helper is deployed inside the virt-handler pod. Enabling (or removing) the feature gate causes the redeployment of the virt-handler pod.",
Default: false,
Type: []string{"boolean"},
Format: "",
},
},
"enableManagedTenantQuota": {
SchemaProps: spec.SchemaProps{
Description: "Deprecated: This field is ignored and will be removed on the next version of the API.",
Type: []string{"boolean"},
Format: "",
},
},
"autoResourceLimits": {
SchemaProps: spec.SchemaProps{
Description: "Deprecated: this field is ignored and will be removed in the next version of the API.",
Type: []string{"boolean"},
Format: "",
},
},
"alignCPUs": {
SchemaProps: spec.SchemaProps{
Description: "Enable KubeVirt to request up to two additional dedicated CPUs in order to complete the total CPU count to an even parity when using emulator thread isolation. Note: this feature is in Developer Preview.",
Default: false,
Type: []string{"boolean"},
Format: "",
},
},
"enableApplicationAwareQuota": {
SchemaProps: spec.SchemaProps{
Description: "EnableApplicationAwareQuota if true, enables the Application Aware Quota feature",
Default: false,
Type: []string{"boolean"},
Format: "",
},
},
"primaryUserDefinedNetworkBinding": {
SchemaProps: spec.SchemaProps{
Description: "primaryUserDefinedNetworkBinding deploys the needed configurations for kubevirt users to be able to bind their VM to a UDN network on the VM's primary interface. Deprecated: this field is ignored and will be removed in the next version of the API.",
Type: []string{"boolean"},
Format: "",
},
},
},
},
},
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConvergedObsoleteCPUs(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "HyperConvergedObsoleteCPUs allows avoiding scheduling of VMs for obsolete CPU models",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"minCPUModel": {
SchemaProps: spec.SchemaProps{
Description: "MinCPUModel is the Minimum CPU model that is used for basic CPU features; e.g. Penryn or Haswell. The default value for this field is nil, but in KubeVirt, the default value is \"Penryn\", if nothing else is set. Use this field to override KubeVirt default value.",
Type: []string{"string"},
Format: "",
},
},
"cpuModels": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-list-type": "set",
},
},
SchemaProps: spec.SchemaProps{
Description: "CPUModels is a list of obsolete CPU models. When the node-labeller obtains the list of obsolete CPU models, it eliminates those CPU models and creates labels for valid CPU models. The default values for this field is nil, however, HCO uses opinionated values, and adding values to this list will add them to the opinionated values.",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: "",
Type: []string{"string"},
Format: "",
},
},
},
},
},
},
},
},
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConvergedSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "HyperConvergedSpec defines the desired state of HyperConverged",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"localStorageClassName": {
SchemaProps: spec.SchemaProps{
Description: "Deprecated: LocalStorageClassName the name of the local storage class.",
Type: []string{"string"},
Format: "",
},
},
"tuningPolicy": {
SchemaProps: spec.SchemaProps{
Description: "TuningPolicy allows to configure the mode in which the RateLimits of kubevirt are set. If TuningPolicy is not present the default kubevirt values are used. It can be set to `annotation` for fine-tuning the kubevirt queryPerSeconds (qps) and burst values. Qps and burst values are taken from the annotation hco.kubevirt.io/tuningPolicy",
Type: []string{"string"},
Format: "",
},
},
"infra": {
SchemaProps: spec.SchemaProps{
Description: "infra HyperConvergedConfig influences the pod configuration (currently only placement) for all the infra components needed on the virtualization enabled cluster but not necessarily directly on each node running VMs/VMIs.",
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedConfig"),
},
},
"workloads": {
SchemaProps: spec.SchemaProps{
Description: "workloads HyperConvergedConfig influences the pod configuration (currently only placement) of components which need to be running on a node where virtualization workloads should be able to run. Changes to Workloads HyperConvergedConfig can be applied only without existing workload.",
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedConfig"),
},
},
"featureGates": {
SchemaProps: spec.SchemaProps{
Description: "featureGates is a map of feature gate flags. Setting a flag to `true` will enable the feature. Setting `false` or removing the feature gate, disables the feature.",
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedFeatureGates"),
},
},
"liveMigrationConfig": {
SchemaProps: spec.SchemaProps{
Description: "Live migration limits and timeouts are applied so that migration processes do not overwhelm the cluster.",
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.LiveMigrationConfigurations"),
},
},
"permittedHostDevices": {
SchemaProps: spec.SchemaProps{
Description: "PermittedHostDevices holds information about devices allowed for passthrough",
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.PermittedHostDevices"),
},
},
"mediatedDevicesConfiguration": {
SchemaProps: spec.SchemaProps{
Description: "MediatedDevicesConfiguration holds information about MDEV types to be defined on nodes, if available",
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.MediatedDevicesConfiguration"),
},
},
"certConfig": {
SchemaProps: spec.SchemaProps{
Description: "certConfig holds the rotation policy for internal, self-signed certificates",
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedCertConfig"),
},
},
"resourceRequirements": {
SchemaProps: spec.SchemaProps{
Description: "ResourceRequirements describes the resource requirements for the operand workloads.",
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.OperandResourceRequirements"),
},
},
"scratchSpaceStorageClass": {
SchemaProps: spec.SchemaProps{
Description: "Override the storage class used for scratch space during transfer operations. The scratch space storage class is determined in the following order: 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",
Type: []string{"string"},
Format: "",
},
},
"vddkInitImage": {
SchemaProps: spec.SchemaProps{
Description: "VDDK Init Image eventually used to import VMs from external providers\n\nDeprecated: please use the Migration Toolkit for Virtualization",
Type: []string{"string"},
Format: "",
},
},
"defaultCPUModel": {
SchemaProps: spec.SchemaProps{
Description: "DefaultCPUModel defines a cluster default for CPU model: default CPU model is set when VMI doesn't have any CPU model. When VMI has CPU model set, then VMI's CPU model is preferred. When default CPU model is not set and VMI's CPU model is not set too, host-model will be set. Default CPU model can be changed when kubevirt is running.",
Type: []string{"string"},
Format: "",
},
},
"defaultRuntimeClass": {
SchemaProps: spec.SchemaProps{
Description: "DefaultRuntimeClass defines a cluster default for the RuntimeClass to be used for VMIs pods if not set there. Default RuntimeClass can be changed when kubevirt is running, existing VMIs are not impacted till the next restart/live-migration when they are eventually going to consume the new default RuntimeClass.",
Type: []string{"string"},
Format: "",
},
},
"obsoleteCPUs": {
SchemaProps: spec.SchemaProps{
Description: "ObsoleteCPUs allows avoiding scheduling of VMs for obsolete CPU models",
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedObsoleteCPUs"),
},
},
"commonTemplatesNamespace": {
SchemaProps: spec.SchemaProps{
Description: "CommonTemplatesNamespace defines namespace in which common templates will be deployed. It overrides the default openshift namespace.",
Type: []string{"string"},
Format: "",
},
},
"storageImport": {
SchemaProps: spec.SchemaProps{
Description: "StorageImport contains configuration for importing containerized data",
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.StorageImportConfig"),
},
},
"workloadUpdateStrategy": {
SchemaProps: spec.SchemaProps{
Description: "WorkloadUpdateStrategy defines at the cluster level how to handle automated workload updates",
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedWorkloadUpdateStrategy"),
},
},
"dataImportCronTemplates": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-list-type": "atomic",
},
},
SchemaProps: spec.SchemaProps{
Description: "DataImportCronTemplates holds list of data import cron templates (golden images)",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.DataImportCronTemplate"),
},
},
},
},
},
"filesystemOverhead": {
SchemaProps: spec.SchemaProps{
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.055 (5.5 percent overhead)",
Ref: ref("kubevirt.io/containerized-data-importer-api/pkg/apis/core/v1beta1.FilesystemOverhead"),
},
},
"uninstallStrategy": {
SchemaProps: spec.SchemaProps{
Description: "UninstallStrategy defines how to proceed on uninstall when workloads (VirtualMachines, DataVolumes) still exist. BlockUninstallIfWorkloadsExist will prevent the CR from being removed when workloads still exist. BlockUninstallIfWorkloadsExist is the safest choice to protect your workloads from accidental data loss, so it's strongly advised. RemoveWorkloads will cause all the workloads to be cascading deleted on uninstallation. WARNING: please notice that RemoveWorkloads will cause your workloads to be deleted as soon as this CR will be, even accidentally, deleted. Please correctly consider the implications of this option before setting it. BlockUninstallIfWorkloadsExist is the default behaviour.",
Default: "BlockUninstallIfWorkloadsExist",
Type: []string{"string"},
Format: "",
},
},
"logVerbosityConfig": {
SchemaProps: spec.SchemaProps{
Description: "LogVerbosityConfig configures the verbosity level of Kubevirt's different components. The higher the value - the higher the log verbosity.",
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.LogVerbosityConfiguration"),
},
},
"tlsSecurityProfile": {
SchemaProps: spec.SchemaProps{
Description: "TLSSecurityProfile specifies the settings for TLS connections to be propagated to all kubevirt-hyperconverged components. If unset, the hyperconverged cluster operator will consume the value set on the APIServer CR on OCP/OKD or Intermediate if on vanilla k8s. Note that only Old, Intermediate and Custom profiles are currently supported, and the maximum available MinTLSVersions is VersionTLS12.",
Ref: ref("github.com/openshift/api/config/v1.TLSSecurityProfile"),
},
},
"tektonPipelinesNamespace": {
SchemaProps: spec.SchemaProps{
Description: "TektonPipelinesNamespace defines namespace in which example pipelines will be deployed. If unset, then the default value is the operator namespace. Deprecated: This field is ignored.",
Type: []string{"string"},
Format: "",
},
},
"tektonTasksNamespace": {
SchemaProps: spec.SchemaProps{
Description: "TektonTasksNamespace defines namespace in which tekton tasks will be deployed. If unset, then the default value is the operator namespace. Deprecated: This field is ignored.",
Type: []string{"string"},
Format: "",
},
},
"kubeSecondaryDNSNameServerIP": {
SchemaProps: spec.SchemaProps{
Description: "KubeSecondaryDNSNameServerIP defines name server IP used by KubeSecondaryDNS",
Type: []string{"string"},
Format: "",
},
},
"evictionStrategy": {
SchemaProps: spec.SchemaProps{
Description: "EvictionStrategy defines at the cluster level if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain. If the VirtualMachineInstance specific field is set it overrides the cluster level one. Allowed values: - `None` no eviction strategy at cluster level. - `LiveMigrate` migrate the VM on eviction; a not live migratable VM with no specific strategy will block the drain of the node util manually evicted. - `LiveMigrateIfPossible` migrate the VM on eviction if live migration is possible, otherwise directly evict. - `External` block the drain, track eviction and notify an external controller. Defaults to LiveMigrate with multiple worker nodes, None on single worker clusters.",
Type: []string{"string"},
Format: "",
},
},
"vmStateStorageClass": {
SchemaProps: spec.SchemaProps{
Description: "VMStateStorageClass is the name of the storage class to use for the PVCs created to preserve VM state, like TPM. The storage class must support RWX in filesystem mode.",
Type: []string{"string"},
Format: "",
},
},
"virtualMachineOptions": {
SchemaProps: spec.SchemaProps{
Description: "VirtualMachineOptions holds the cluster level information regarding the virtual machine.",
Default: map[string]interface{}{"disableFreePageReporting": false, "disableSerialConsoleLog": false},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.VirtualMachineOptions"),
},
},
"commonBootImageNamespace": {
SchemaProps: spec.SchemaProps{
Description: "CommonBootImageNamespace override the default namespace of the common boot images, in order to hide them.\n\nIf not set, HCO won't set any namespace, letting SSP to use the default. If set, use the namespace to create the DataImportCronTemplates and the common image streams, with this namespace. This field is not set by default.",
Type: []string{"string"},
Format: "",
},
},
"ksmConfiguration": {
SchemaProps: spec.SchemaProps{
Description: "KSMConfiguration holds the information regarding the enabling the KSM in the nodes (if available).",
Ref: ref("kubevirt.io/api/core/v1.KSMConfiguration"),
},
},
"networkBinding": {
SchemaProps: spec.SchemaProps{
Description: "NetworkBinding defines the network binding plugins. Those bindings can be used when defining virtual machine interfaces.",
Type: []string{"object"},
AdditionalProperties: &spec.SchemaOrBool{
Allows: true,
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("kubevirt.io/api/core/v1.InterfaceBindingPlugin"),
},
},
},
},
},
"applicationAwareConfig": {
SchemaProps: spec.SchemaProps{
Description: "ApplicationAwareConfig set the AAQ configurations",
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.ApplicationAwareConfigurations"),
},
},
"higherWorkloadDensity": {
SchemaProps: spec.SchemaProps{
Description: "HigherWorkloadDensity holds configurataion aimed to increase virtual machine density",
Default: map[string]interface{}{"memoryOvercommitPercentage": 100},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HigherWorkloadDensityConfiguration"),
},
},
"enableCommonBootImageImport": {
SchemaProps: spec.SchemaProps{
Description: "Opt-in to automatic delivery/updates of the common data import cron templates. There are two sources for the data import cron templates: hard coded list of common templates, and custom (user defined) templates that can be added to the dataImportCronTemplates field. This field only controls the common templates. It is possible to use custom templates by adding them to the dataImportCronTemplates field.",
Default: true,
Type: []string{"boolean"},
Format: "",
},
},
},
},
},
Dependencies: []string{
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.ApplicationAwareConfigurations", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.DataImportCronTemplate", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HigherWorkloadDensityConfiguration", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedCertConfig", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedConfig", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedFeatureGates", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedObsoleteCPUs", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.HyperConvergedWorkloadUpdateStrategy", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.LiveMigrationConfigurations", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.LogVerbosityConfiguration", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.MediatedDevicesConfiguration", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.OperandResourceRequirements", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.PermittedHostDevices", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.StorageImportConfig", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.VirtualMachineOptions", "github.com/openshift/api/config/v1.TLSSecurityProfile", "kubevirt.io/api/core/v1.InterfaceBindingPlugin", "kubevirt.io/api/core/v1.KSMConfiguration", "kubevirt.io/containerized-data-importer-api/pkg/apis/core/v1beta1.FilesystemOverhead"},
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConvergedStatus(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "HyperConvergedStatus defines the observed state of HyperConverged",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"conditions": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-list-type": "atomic",
"x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge",
},
},
SchemaProps: spec.SchemaProps{
Description: "Conditions describes the state of the HyperConverged resource.",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"),
},
},
},
},
},
"relatedObjects": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-list-type": "atomic",
},
},
SchemaProps: spec.SchemaProps{
Description: "RelatedObjects is a list of objects created and maintained by this operator. Object references will be added to this list after they have been created AND found in the cluster.",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("k8s.io/api/core/v1.ObjectReference"),
},
},
},
},
},
"versions": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-list-type": "atomic",
},
},
SchemaProps: spec.SchemaProps{
Description: "Versions is a list of HCO component versions, as name/version pairs. The version with a name of \"operator\" is the HCO version itself, as described here: https://github.com/openshift/cluster-version-operator/blob/master/docs/dev/clusteroperator.md#version",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.Version"),
},
},
},
},
},
"observedGeneration": {
SchemaProps: spec.SchemaProps{
Description: "ObservedGeneration reflects the HyperConverged resource generation. If the ObservedGeneration is less than the resource generation in metadata, the status is out of date",
Type: []string{"integer"},
Format: "int64",
},
},
"dataImportSchedule": {
SchemaProps: spec.SchemaProps{
Description: "DataImportSchedule is the cron expression that is used in for the hard-coded data import cron templates. HCO generates the value of this field once and stored in the status field, so will survive restart.",
Type: []string{"string"},
Format: "",
},
},
"dataImportCronTemplates": {
SchemaProps: spec.SchemaProps{
Description: "DataImportCronTemplates is a list of the actual DataImportCronTemplates as HCO update in the SSP CR. The list contains both the common and the custom templates, including any modification done by HCO.",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.DataImportCronTemplateStatus"),
},
},
},
},
},
"systemHealthStatus": {
SchemaProps: spec.SchemaProps{
Description: "SystemHealthStatus reflects the health of HCO and its secondary resources, based on the aggregated conditions.",
Type: []string{"string"},
Format: "",
},
},
"infrastructureHighlyAvailable": {
SchemaProps: spec.SchemaProps{
Description: "InfrastructureHighlyAvailable describes whether the cluster has only one worker node (false) or more (true).",
Type: []string{"boolean"},
Format: "",
},
},
},
},
},
Dependencies: []string{
"github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.DataImportCronTemplateStatus", "github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.Version", "k8s.io/api/core/v1.ObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Condition"},
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_HyperConvergedWorkloadUpdateStrategy(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "HyperConvergedWorkloadUpdateStrategy defines options related to updating a KubeVirt install",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"workloadUpdateMethods": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-list-type": "atomic",
},
},
SchemaProps: spec.SchemaProps{
Description: "WorkloadUpdateMethods defines the methods that can be used to disrupt workloads during automated workload updates. When multiple methods are present, the least disruptive method takes precedence over more disruptive methods. For example if both LiveMigrate and Evict methods are listed, only VMs which are not live migratable will be restarted/shutdown. An empty list defaults to no automated workload updating.",
Default: []interface{}{"LiveMigrate"},
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: "",
Type: []string{"string"},
Format: "",
},
},
},
},
},
"batchEvictionSize": {
SchemaProps: spec.SchemaProps{
Description: "BatchEvictionSize Represents the number of VMIs that can be forced updated per the BatchShutdownInterval interval",
Default: 10,
Type: []string{"integer"},
Format: "int32",
},
},
"batchEvictionInterval": {
SchemaProps: spec.SchemaProps{
Description: "BatchEvictionInterval Represents the interval to wait before issuing the next batch of shutdowns",
Default: "1m0s",
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"),
},
},
},
Required: []string{"workloadUpdateMethods"},
},
},
Dependencies: []string{
"k8s.io/apimachinery/pkg/apis/meta/v1.Duration"},
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_LiveMigrationConfigurations(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "LiveMigrationConfigurations - Live migration limits and timeouts are applied so that migration processes do not overwhelm the cluster.",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"parallelMigrationsPerCluster": {
SchemaProps: spec.SchemaProps{
Description: "Number of migrations running in parallel in the cluster.",
Default: 5,
Type: []string{"integer"},
Format: "int64",
},
},
"parallelOutboundMigrationsPerNode": {
SchemaProps: spec.SchemaProps{
Description: "Maximum number of outbound migrations per node.",
Default: 2,
Type: []string{"integer"},
Format: "int64",
},
},
"bandwidthPerMigration": {
SchemaProps: spec.SchemaProps{
Description: "Bandwidth limit of each migration, the value is quantity of bytes per second (e.g. 2048Mi = 2048MiB/sec)",
Type: []string{"string"},
Format: "",
},
},
"completionTimeoutPerGiB": {
SchemaProps: spec.SchemaProps{
Description: "If a migrating VM is big and busy, while the connection to the destination node is slow, migration may never converge. The completion timeout is calculated based on completionTimeoutPerGiB times the size of the guest (both RAM and migrated disks, if any). For example, with completionTimeoutPerGiB set to 800, a virtual machine instance with 6GiB memory will timeout if it has not completed migration in 1h20m. Use a lower completionTimeoutPerGiB to induce quicker failure, so that another destination or post-copy is attempted. Use a higher completionTimeoutPerGiB to let workload with spikes in its memory dirty rate to converge. The format is a number.",
Default: 150,
Type: []string{"integer"},
Format: "int64",
},
},
"progressTimeout": {
SchemaProps: spec.SchemaProps{
Description: "The migration will be canceled if memory copy fails to make progress in this time, in seconds.",
Default: 150,
Type: []string{"integer"},
Format: "int64",
},
},
"network": {
SchemaProps: spec.SchemaProps{
Description: "The migrations will be performed over a dedicated multus network to minimize disruption to tenant workloads due to network saturation when VM live migrations are triggered.",
Type: []string{"string"},
Format: "",
},
},
"allowAutoConverge": {
SchemaProps: spec.SchemaProps{
Description: "AllowAutoConverge allows the platform to compromise performance/availability of VMIs to guarantee successful VMI live migrations. Defaults to false",
Default: false,
Type: []string{"boolean"},
Format: "",
},
},
"allowPostCopy": {
SchemaProps: spec.SchemaProps{
Description: "When enabled, KubeVirt attempts to use post-copy live-migration in case it reaches its completion timeout while attempting pre-copy live-migration. Post-copy migrations allow even the busiest VMs to successfully live-migrate. However, events like a network failure or a failure in any of the source or destination nodes can cause the migrated VM to crash or reach inconsistency. Enable this option when evicting nodes is more important than keeping VMs alive. Defaults to false.",
Default: false,
Type: []string{"boolean"},
Format: "",
},
},
},
},
},
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_LogVerbosityConfiguration(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "LogVerbosityConfiguration configures log verbosity for different components",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"kubevirt": {
SchemaProps: spec.SchemaProps{
Description: "Kubevirt is a struct that allows specifying the log verbosity level that controls the amount of information logged for each Kubevirt component.",
Ref: ref("kubevirt.io/api/core/v1.LogVerbosity"),
},
},
"cdi": {
SchemaProps: spec.SchemaProps{
Description: "CDI indicates the log verbosity level that controls the amount of information logged for CDI components.",
Type: []string{"integer"},
Format: "int32",
},
},
},
},
},
Dependencies: []string{
"kubevirt.io/api/core/v1.LogVerbosity"},
}
}
func schema_kubevirt_hyperconverged_cluster_operator_api_v1beta1_MediatedDevicesConfiguration(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "MediatedDevicesConfiguration holds information about MDEV types to be defined, if available",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"mediatedDeviceTypes": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-list-type": "atomic",
},
},
SchemaProps: spec.SchemaProps{
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: "",
Type: []string{"string"},
Format: "",
},
},
},
},
},
"mediatedDevicesTypes": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-list-type": "atomic",
},
},
SchemaProps: spec.SchemaProps{
Description: "Deprecated: please use mediatedDeviceTypes instead.",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: "",
Type: []string{"string"},
Format: "",
},
},
},
},
},
"nodeMediatedDeviceTypes": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-list-type": "atomic",
},
},
SchemaProps: spec.SchemaProps{
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/kubevirt/hyperconverged-cluster-operator/api/v1beta1.NodeMediatedDeviceTypesConfig"),
},
},
},
},
},
},
},