Skip to content

Commit d62ce3c

Browse files
authored
feat: Add InferenceGraph resource (#2361)
1 parent 2dc73c0 commit d62ce3c

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed

ocp_resources/inference_graph.py

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Generated using https://github.com/RedHatQE/openshift-python-wrapper/blob/main/scripts/resource/README.md
2+
3+
from __future__ import annotations
4+
5+
from typing import Any
6+
from ocp_resources.resource import NamespacedResource, MissingRequiredArgumentError
7+
8+
9+
class InferenceGraph(NamespacedResource):
10+
"""
11+
No field description from API; please add description
12+
"""
13+
14+
api_group: str = NamespacedResource.ApiGroup.SERVING_KSERVE_IO
15+
16+
def __init__(
17+
self,
18+
affinity: dict[str, Any] | None = None,
19+
max_replicas: int | None = None,
20+
min_replicas: int | None = None,
21+
nodes: dict[str, Any] | None = None,
22+
resources: dict[str, Any] | None = None,
23+
scale_metric: str | None = None,
24+
scale_target: int | None = None,
25+
timeout: int | None = None,
26+
**kwargs: Any,
27+
) -> None:
28+
r"""
29+
Args:
30+
affinity (dict[str, Any]): No field description from API; please add description
31+
32+
max_replicas (int): No field description from API; please add description
33+
34+
min_replicas (int): No field description from API; please add description
35+
36+
nodes (dict[str, Any]): No field description from API; please add description
37+
38+
resources (dict[str, Any]): No field description from API; please add description
39+
40+
scale_metric (str): No field description from API; please add description
41+
42+
scale_target (int): No field description from API; please add description
43+
44+
timeout (int): No field description from API; please add description
45+
46+
"""
47+
super().__init__(**kwargs)
48+
49+
self.affinity = affinity
50+
self.max_replicas = max_replicas
51+
self.min_replicas = min_replicas
52+
self.nodes = nodes
53+
self.resources = resources
54+
self.scale_metric = scale_metric
55+
self.scale_target = scale_target
56+
self.timeout = timeout
57+
58+
def to_dict(self) -> None:
59+
super().to_dict()
60+
61+
if not self.kind_dict and not self.yaml_file:
62+
if self.nodes is None:
63+
raise MissingRequiredArgumentError(argument="self.nodes")
64+
65+
self.res["spec"] = {}
66+
_spec = self.res["spec"]
67+
68+
_spec["nodes"] = self.nodes
69+
70+
if self.affinity is not None:
71+
_spec["affinity"] = self.affinity
72+
73+
if self.max_replicas is not None:
74+
_spec["maxReplicas"] = self.max_replicas
75+
76+
if self.min_replicas is not None:
77+
_spec["minReplicas"] = self.min_replicas
78+
79+
if self.resources is not None:
80+
_spec["resources"] = self.resources
81+
82+
if self.scale_metric is not None:
83+
_spec["scaleMetric"] = self.scale_metric
84+
85+
if self.scale_target is not None:
86+
_spec["scaleTarget"] = self.scale_target
87+
88+
if self.timeout is not None:
89+
_spec["timeout"] = self.timeout
90+
91+
# End of generated code

0 commit comments

Comments
 (0)