Skip to content

Commit 4dc9d9e

Browse files
authored
feat: add VirtualMachineTemplate and VirtualMachineTemplateRequest resources (#2729)
Signed-off-by: rkishner <rkishner@redhat.com>
1 parent 99b7f8f commit 4dc9d9e

2 files changed

Lines changed: 120 additions & 0 deletions

File tree

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Generated using https://github.com/RedHatQE/openshift-python-wrapper/blob/main/scripts/resource/README.md
2+
3+
4+
from typing import Any
5+
6+
from ocp_resources.exceptions import MissingRequiredArgumentError
7+
from ocp_resources.resource import NamespacedResource
8+
9+
10+
class VirtualMachineTemplate(NamespacedResource):
11+
"""
12+
VirtualMachineTemplate is the Schema for the virtualmachinetemplates API
13+
"""
14+
15+
api_group: str = NamespacedResource.ApiGroup.TEMPLATE_KUBEVIRT_IO
16+
17+
def __init__(
18+
self,
19+
message: str | None = None,
20+
parameters: list[Any] | None = None,
21+
virtual_machine: dict[str, Any] | None = None,
22+
**kwargs: Any,
23+
) -> None:
24+
r"""
25+
Args:
26+
message (str): Message is an optional instructional message for this template. This
27+
field should inform the user how to utilize the newly created
28+
VirtualMachine.
29+
30+
parameters (list[Any]): Parameters is an optional list of Parameters used during processing of
31+
the template.
32+
33+
virtual_machine (dict[str, Any]): VirtualMachine is the template VirtualMachine to include in this
34+
template. If a namespace value is hardcoded, it will be removed
35+
during processing of the template. If the namespace value however
36+
contains a ${PARAMETER_REFERENCE}, the resolved value after
37+
parameter substitution will be respected and the VirtualMachine
38+
will be created in that namespace.
39+
40+
"""
41+
super().__init__(**kwargs)
42+
43+
self.message = message
44+
self.parameters = parameters
45+
self.virtual_machine = virtual_machine
46+
47+
def to_dict(self) -> None:
48+
49+
super().to_dict()
50+
51+
if not self.kind_dict and not self.yaml_file:
52+
if self.virtual_machine is None:
53+
raise MissingRequiredArgumentError(argument="self.virtual_machine")
54+
55+
self.res["spec"] = {}
56+
_spec = self.res["spec"]
57+
58+
_spec["virtualMachine"] = self.virtual_machine
59+
60+
if self.message is not None:
61+
_spec["message"] = self.message
62+
63+
if self.parameters is not None:
64+
_spec["parameters"] = self.parameters
65+
66+
# End of generated code
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Generated using https://github.com/RedHatQE/openshift-python-wrapper/blob/main/scripts/resource/README.md
2+
3+
4+
from typing import Any
5+
6+
from ocp_resources.exceptions import MissingRequiredArgumentError
7+
from ocp_resources.resource import NamespacedResource
8+
9+
10+
class VirtualMachineTemplateRequest(NamespacedResource):
11+
"""
12+
VirtualMachineTemplateRequest is the Schema for the virtualmachinetemplaterequests API
13+
"""
14+
15+
api_group: str = NamespacedResource.ApiGroup.TEMPLATE_KUBEVIRT_IO
16+
17+
def __init__(
18+
self,
19+
template_name: str | None = None,
20+
virtual_machine_ref: dict[str, Any] | None = None,
21+
**kwargs: Any,
22+
) -> None:
23+
r"""
24+
Args:
25+
template_name (str): TemplateName holds the optional name for the new
26+
VirtualMachineTemplate. If not specified the template will have
27+
the same name as the VirtualMachineTemplateRequest.
28+
29+
virtual_machine_ref (dict[str, Any]): VirtualMachineReference holds a reference to a
30+
VirtualMachine.kubevirt.io
31+
32+
"""
33+
super().__init__(**kwargs)
34+
35+
self.template_name = template_name
36+
self.virtual_machine_ref = virtual_machine_ref
37+
38+
def to_dict(self) -> None:
39+
40+
super().to_dict()
41+
42+
if not self.kind_dict and not self.yaml_file:
43+
if self.virtual_machine_ref is None:
44+
raise MissingRequiredArgumentError(argument="self.virtual_machine_ref")
45+
46+
self.res["spec"] = {}
47+
_spec = self.res["spec"]
48+
49+
_spec["virtualMachineRef"] = self.virtual_machine_ref
50+
51+
if self.template_name is not None:
52+
_spec["templateName"] = self.template_name
53+
54+
# End of generated code

0 commit comments

Comments
 (0)