Skip to content

Commit 9dd7f9b

Browse files
feat: Adds TempoStack resource (#2542)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 78934bc commit 9dd7f9b

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed

ocp_resources/resource.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,7 @@ class ApiGroup:
568568
TEKTONTASKS_KUBEVIRT_IO: str = "tektontasks.kubevirt.io"
569569
TEMPLATE_KUBEVIRT_IO: str = "template.kubevirt.io"
570570
TEMPLATE_OPENSHIFT_IO: str = "template.openshift.io"
571+
TEMPO_GRAFANA_COM: str = "tempo.grafana.com"
571572
TRUSTYAI_OPENDATAHUB_IO: str = "trustyai.opendatahub.io"
572573
UPLOAD_CDI_KUBEVIRT_IO: str = "upload.cdi.kubevirt.io"
573574
USER_OPENSHIFT_IO: str = "user.openshift.io"

ocp_resources/tempo_stack.py

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Generated using https://github.com/RedHatQE/openshift-python-wrapper/blob/main/scripts/resource/README.md
2+
3+
4+
from typing import Any
5+
from ocp_resources.resource import NamespacedResource
6+
from ocp_resources.exceptions import MissingRequiredArgumentError
7+
8+
9+
class TempoStack(NamespacedResource):
10+
"""
11+
TempoStack manages a Tempo deployment in microservices mode.
12+
"""
13+
14+
api_group: str = NamespacedResource.ApiGroup.TEMPO_GRAFANA_COM
15+
16+
def __init__(
17+
self,
18+
management_state: str | None = None,
19+
resources: dict[str, Any] | None = None,
20+
storage: dict[str, Any] | None = None,
21+
storage_size: Any | None = None,
22+
template: dict[str, Any] | None = None,
23+
**kwargs: Any,
24+
) -> None:
25+
r"""
26+
Args:
27+
management_state (str): ManagementState defines if the CR should be managed by the operator or
28+
not. Default is managed.
29+
30+
resources (dict[str, Any]): Resources defines resources configuration.
31+
32+
storage (dict[str, Any]): Storage defines the spec for the object storage endpoint to store
33+
traces. User is required to create secret and supply it.
34+
35+
storage_size (Any): StorageSize for PVCs used by ingester. Defaults to 10Gi.
36+
37+
template (dict[str, Any]): Template defines requirements for a set of tempo components.
38+
"""
39+
super().__init__(**kwargs)
40+
41+
self.management_state = management_state
42+
self.resources = resources
43+
self.storage = storage
44+
self.storage_size = storage_size
45+
self.template = template
46+
47+
def to_dict(self) -> None:
48+
super().to_dict()
49+
50+
if not self.kind_dict and not self.yaml_file:
51+
if self.management_state is None:
52+
raise MissingRequiredArgumentError(argument="self.management_state")
53+
54+
if self.storage is None:
55+
raise MissingRequiredArgumentError(argument="self.storage")
56+
57+
self.res["spec"] = {}
58+
_spec = self.res["spec"]
59+
60+
_spec["managementState"] = self.management_state
61+
_spec["storage"] = self.storage
62+
63+
if self.resources is not None:
64+
_spec["resources"] = self.resources
65+
66+
if self.storage_size is not None:
67+
_spec["storageSize"] = self.storage_size
68+
69+
if self.template is not None:
70+
_spec["template"] = self.template
71+
72+
# End of generated code

0 commit comments

Comments
 (0)