@@ -128,10 +128,12 @@ type OpenStackControlPlaneSpec struct {
128128 // Memcached - Parameters related to the Memcached service
129129 Memcached MemcachedSection `json:"memcached,omitempty"`
130130
131+ // +kubebuilder:validation:Optional
131132 //+operator-sdk:csv:customresourcedefinitions:type=spec
132133 // Ovn - Overrides to use when creating the OVN Services
133134 Ovn OvnSection `json:"ovn,omitempty"`
134135
136+ // +kubebuilder:validation:Optional
135137 //+operator-sdk:csv:customresourcedefinitions:type=spec
136138 // Neutron - Overrides to use when creating the Neutron Service
137139 Neutron NeutronSection `json:"neutron,omitempty"`
@@ -151,6 +153,8 @@ type OpenStackControlPlaneSpec struct {
151153 // Ironic - Parameters related to the Ironic services
152154 Ironic IronicSection `json:"ironic,omitempty"`
153155
156+ // +kubebuilder:validation:Optional
157+ //+operator-sdk:csv:customresourcedefinitions:type=spec
154158 // Manila - Parameters related to the Manila service
155159 Manila ManilaSection `json:"manila,omitempty"`
156160
@@ -160,18 +164,27 @@ type OpenStackControlPlaneSpec struct {
160164 Horizon HorizonSection `json:"horizon,omitempty"`
161165
162166 // +kubebuilder:validation:Optional
167+ //+operator-sdk:csv:customresourcedefinitions:type=spec
163168 // Telemetry - Parameters related to the OpenStack Telemetry services
164169 Telemetry TelemetrySection `json:"telemetry,omitempty"`
165170
171+ // +kubebuilder:validation:Optional
172+ //+operator-sdk:csv:customresourcedefinitions:type=spec
166173 // Swift - Parameters related to the Swift service
167174 Swift SwiftSection `json:"swift,omitempty"`
168175
176+ // +kubebuilder:validation:Optional
177+ //+operator-sdk:csv:customresourcedefinitions:type=spec
169178 // Octavia - Parameters related to the Octavia service
170179 Octavia OctaviaSection `json:"octavia,omitempty"`
171180
181+ // +kubebuilder:validation:Optional
182+ //+operator-sdk:csv:customresourcedefinitions:type=spec
172183 // Designate - Parameters related to the Designate service
173184 Designate DesignateSection `json:"designate,omitempty"`
174185
186+ // +kubebuilder:validation:Optional
187+ //+operator-sdk:csv:customresourcedefinitions:type=spec
175188 // Barbican - Parameters related to the Barbican service
176189 Barbican BarbicanSection `json:"barbican,omitempty"`
177190
@@ -322,7 +335,7 @@ type DNSMasqSection struct {
322335 // +kubebuilder:validation:Optional
323336 //+operator-sdk:csv:customresourcedefinitions:type=spec
324337 // Template - Overrides to use when creating the DNSMasq service
325- Template networkv1.DNSMasqSpec `json:"template,omitempty"`
338+ Template * networkv1.DNSMasqSpec `json:"template,omitempty"`
326339}
327340
328341// KeystoneSection defines the desired state of Keystone service
@@ -336,7 +349,7 @@ type KeystoneSection struct {
336349 // +kubebuilder:validation:Optional
337350 // +operator-sdk:csv:customresourcedefinitions:type=spec
338351 // Template - Overrides to use when creating the Keystone service
339- Template keystonev1.KeystoneAPISpecCore `json:"template,omitempty"`
352+ Template * keystonev1.KeystoneAPISpecCore `json:"template,omitempty"`
340353
341354 // +kubebuilder:validation:Optional
342355 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -376,7 +389,7 @@ type PlacementSection struct {
376389 // +kubebuilder:validation:Optional
377390 //+operator-sdk:csv:customresourcedefinitions:type=spec
378391 // Template - Overrides to use when creating the Placement API
379- Template placementv1.PlacementAPISpecCore `json:"template,omitempty"`
392+ Template * placementv1.PlacementAPISpecCore `json:"template,omitempty"`
380393
381394 // +kubebuilder:validation:Optional
382395 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -395,7 +408,7 @@ type GlanceSection struct {
395408 // +kubebuilder:validation:Optional
396409 //+operator-sdk:csv:customresourcedefinitions:type=spec
397410 // Template - Overrides to use when creating the Glance Service
398- Template glancev1.GlanceSpecCore `json:"template,omitempty"`
411+ Template * glancev1.GlanceSpecCore `json:"template,omitempty"`
399412
400413 // +kubebuilder:validation:Optional
401414 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -414,7 +427,7 @@ type CinderSection struct {
414427 // +kubebuilder:validation:Optional
415428 //+operator-sdk:csv:customresourcedefinitions:type=spec
416429 // Template - Overrides to use when creating Cinder Resources
417- Template cinderv1.CinderSpecCore `json:"template,omitempty"`
430+ Template * cinderv1.CinderSpecCore `json:"template,omitempty"`
418431
419432 // +kubebuilder:validation:Optional
420433 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -433,7 +446,7 @@ type GaleraSection struct {
433446 // +kubebuilder:validation:Optional
434447 //+operator-sdk:csv:customresourcedefinitions:type=spec
435448 // Templates - Overrides to use when creating the Galera databases
436- Templates map [string ]mariadbv1.GaleraSpecCore `json:"templates,omitempty"`
449+ Templates * map [string ]mariadbv1.GaleraSpecCore `json:"templates,omitempty"`
437450}
438451
439452// RabbitmqSection defines the desired state of RabbitMQ service
@@ -447,7 +460,7 @@ type RabbitmqSection struct {
447460 // +kubebuilder:validation:Optional
448461 //+operator-sdk:csv:customresourcedefinitions:type=spec
449462 // Templates - Overrides to use when creating the Rabbitmq clusters
450- Templates map [string ]RabbitmqTemplate `json:"templates"`
463+ Templates * map [string ]RabbitmqTemplate `json:"templates"`
451464}
452465
453466// MemcachedSection defines the desired state of Memcached services
@@ -461,7 +474,7 @@ type MemcachedSection struct {
461474 // +kubebuilder:validation:Optional
462475 //+operator-sdk:csv:customresourcedefinitions:type=spec
463476 // Templates - Overrides to use when creating the Memcached databases
464- Templates map [string ]memcachedv1.MemcachedSpecCore `json:"templates,omitempty"`
477+ Templates * map [string ]memcachedv1.MemcachedSpecCore `json:"templates,omitempty"`
465478}
466479
467480// RabbitmqTemplate definition
@@ -483,7 +496,7 @@ type OvnSection struct {
483496 // +kubebuilder:validation:Optional
484497 //+operator-sdk:csv:customresourcedefinitions:type=spec
485498 // Template - Overrides to use when creating the OVN services
486- Template OvnResources `json:"template,omitempty"`
499+ Template * OvnResources `json:"template,omitempty"`
487500}
488501
489502// OvnResources defines the desired state of OVN services
@@ -515,7 +528,7 @@ type NeutronSection struct {
515528 // +kubebuilder:validation:Optional
516529 //+operator-sdk:csv:customresourcedefinitions:type=spec
517530 // Template - Overrides to use when creating the Neutron Service
518- Template neutronv1.NeutronAPISpecCore `json:"template,omitempty"`
531+ Template * neutronv1.NeutronAPISpecCore `json:"template,omitempty"`
519532
520533 // +kubebuilder:validation:Optional
521534 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -534,7 +547,7 @@ type NovaSection struct {
534547 // +kubebuilder:validation:Optional
535548 //+operator-sdk:csv:customresourcedefinitions:type=spec
536549 // Template - Overrides to use when creating the Nova services
537- Template novav1.NovaSpec `json:"template,omitempty"`
550+ Template * novav1.NovaSpec `json:"template,omitempty"`
538551
539552 // +kubebuilder:validation:Optional
540553 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -566,7 +579,7 @@ type HeatSection struct {
566579 // +kubebuilder:validation:Optional
567580 //+operator-sdk:csv:customresourcedefinitions:type=spec
568581 // Template - Overrides to use when creating the Heat services
569- Template heatv1.HeatSpecCore `json:"template,omitempty"`
582+ Template * heatv1.HeatSpecCore `json:"template,omitempty"`
570583
571584 // +kubebuilder:validation:Optional
572585 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -590,7 +603,7 @@ type IronicSection struct {
590603 // +kubebuilder:validation:Optional
591604 //+operator-sdk:csv:customresourcedefinitions:type=spec
592605 // Template - Overrides to use when creating the Ironic services
593- Template ironicv1.IronicSpecCore `json:"template,omitempty"`
606+ Template * ironicv1.IronicSpecCore `json:"template,omitempty"`
594607
595608 // +kubebuilder:validation:Optional
596609 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -612,8 +625,9 @@ type ManilaSection struct {
612625 Enabled bool `json:"enabled"`
613626
614627 // +kubebuilder:validation:Optional
628+ // +operator-sdk:csv:customresourcedefinitions:type=spec
615629 // Template - Overrides to use when creating Manila Resources
616- Template manilav1.ManilaSpecCore `json:"template,omitempty"`
630+ Template * manilav1.ManilaSpecCore `json:"template,omitempty"`
617631
618632 // +kubebuilder:validation:Optional
619633 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -629,8 +643,9 @@ type HorizonSection struct {
629643 Enabled bool `json:"enabled"`
630644
631645 // +kubebuilder:validation:Optional
646+ // +operator-sdk:csv:customresourcedefinitions:type=spec
632647 // Template - Overrides to use when creating the Horizon services
633- Template horizonv1.HorizonSpecCore `json:"template,omitempty"`
648+ Template * horizonv1.HorizonSpecCore `json:"template,omitempty"`
634649
635650 // +kubebuilder:validation:Optional
636651 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -649,7 +664,7 @@ type TelemetrySection struct {
649664 // +kubebuilder:validation:Optional
650665 //+operator-sdk:csv:customresourcedefinitions:type=spec
651666 // Template - Overrides to use when creating the OpenStack Telemetry services
652- Template telemetryv1.TelemetrySpecCore `json:"template,omitempty"`
667+ Template * telemetryv1.TelemetrySpecCore `json:"template,omitempty"`
653668
654669 // +kubebuilder:validation:Optional
655670 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -678,7 +693,7 @@ type SwiftSection struct {
678693 // +kubebuilder:validation:Optional
679694 //+operator-sdk:csv:customresourcedefinitions:type=spec
680695 // Template - Overrides to use when creating Swift Resources
681- Template swiftv1.SwiftSpecCore `json:"template,omitempty"`
696+ Template * swiftv1.SwiftSpecCore `json:"template,omitempty"`
682697
683698 // +kubebuilder:validation:Optional
684699 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -697,7 +712,7 @@ type OctaviaSection struct {
697712 // +kubebuilder:valdiation:Optional
698713 // +operator-sdk:csv:customresourcedefinitions:type=spec
699714 // Template - Overrides to use when creating Octavia Resources
700- Template octaviav1.OctaviaSpecCore `json:"template,omitempty"`
715+ Template * octaviav1.OctaviaSpecCore `json:"template,omitempty"`
701716
702717 // +kubebuilder:validation:Optional
703718 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -716,7 +731,7 @@ type DesignateSection struct {
716731 // +kubebuilder:valdiation:Optional
717732 // +operator-sdk:csv:customresourcedefinitions:type=spec
718733 // Template - Overrides to use when creating Designate Resources
719- Template designatev1.DesignateSpecCore `json:"template,omitempty"`
734+ Template * designatev1.DesignateSpecCore `json:"template,omitempty"`
720735
721736 // +kubebuilder:validation:Optional
722737 // +operator-sdk:csv:customresourcedefinitions:type=spec
@@ -735,7 +750,7 @@ type BarbicanSection struct {
735750 // +kubebuilder:validation:Optional
736751 //+operator-sdk:csv:customresourcedefinitions:type=spec
737752 // Template - Overrides to use when creating the Barbican Service
738- Template barbicanv1.BarbicanSpecCore `json:"template,omitempty"`
753+ Template * barbicanv1.BarbicanSpecCore `json:"template,omitempty"`
739754
740755 // +kubebuilder:validation:Optional
741756 // +operator-sdk:csv:customresourcedefinitions:type=spec
0 commit comments