File tree Expand file tree Collapse file tree
images/virtualization-artifact/pkg/builder Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -17,6 +17,9 @@ limitations under the License.
1717package vd
1818
1919import (
20+ "k8s.io/apimachinery/pkg/api/resource"
21+ "k8s.io/utils/ptr"
22+
2023 "github.com/deckhouse/virtualization-controller/pkg/builder/meta"
2124 "github.com/deckhouse/virtualization/api/core/v1alpha2"
2225)
@@ -81,3 +84,24 @@ func WithDataSourceObjectRefFromCVI(cvi *v1alpha2.ClusterVirtualImage) Option {
8184func WithDataSourceObjectRefFromVI (vi * v1alpha2.VirtualImage ) Option {
8285 return WithDataSourceObjectRef (v1alpha2 .VirtualDiskObjectRefKindVirtualImage , vi .Name )
8386}
87+
88+ func WithPersistentVolumeClaim (storageClass * string , size * resource.Quantity ) Option {
89+ return func (vd * v1alpha2.VirtualDisk ) {
90+ vd .Spec .PersistentVolumeClaim = v1alpha2.VirtualDiskPersistentVolumeClaim {
91+ StorageClass : storageClass ,
92+ Size : size ,
93+ }
94+ }
95+ }
96+
97+ func WithStorageClass (storageClass string ) Option {
98+ return func (vd * v1alpha2.VirtualDisk ) {
99+ vd .Spec .PersistentVolumeClaim .StorageClass = ptr .To (storageClass )
100+ }
101+ }
102+
103+ func WithSize (size * resource.Quantity ) Option {
104+ return func (vd * v1alpha2.VirtualDisk ) {
105+ vd .Spec .PersistentVolumeClaim .Size = size
106+ }
107+ }
Original file line number Diff line number Diff line change @@ -63,6 +63,12 @@ func WithDisks(disks ...*v1alpha2.VirtualDisk) Option {
6363 }
6464}
6565
66+ func WithBlockDeviceRefs (refs ... v1alpha2.BlockDeviceSpecRef ) Option {
67+ return func (vm * v1alpha2.VirtualMachine ) {
68+ vm .Spec .BlockDeviceRefs = append (vm .Spec .BlockDeviceRefs , refs ... )
69+ }
70+ }
71+
6672func WithNodeSelector (nodeSelector map [string ]string ) Option {
6773 return func (vm * v1alpha2.VirtualMachine ) {
6874 vm .Spec .NodeSelector = nodeSelector
You can’t perform that action at this time.
0 commit comments