Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion onelens_backend_client_v2/models.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: <stdin>
# timestamp: 2024-11-19T11:33:12+00:00
# timestamp: 2024-11-20T06:47:32+00:00

from __future__ import annotations

Expand Down Expand Up @@ -850,6 +850,12 @@ class Direction(str, Enum):
desc = "desc"


class DisableMetricsResponse(BaseModel):
success: Optional[bool] = Field(
None, description="Whether the operation was successful", title="Success"
)


class DisableTenantAnomalySettingsRequest(BaseModel):
tenant_id: UUID4 = Field(
..., description="The id of the tenant.", title="Tenant Id"
Expand Down Expand Up @@ -4512,6 +4518,20 @@ class DataRetrieverResponse(BaseModel):
error: Optional[str] = Field(None, description="Error of query", title="Error")


class DisableMetricsRequest(BaseModel):
tenant_id: Optional[UUID4] = Field(
None, description="The unique identifier of the tenant", title="Tenant Id"
)
user_id: Optional[UUID4] = Field(
None, description="The unique identifier of the user", title="User Id"
)
user_role: Optional[UserRole] = Field(None, description="The role of the user")
node_ids: Optional[List[UUID4]] = Field(
None, description="The unique identifiers of the nodes", title="Node Ids"
)
metric_name: MetricName = Field(..., description="The name of the metric")


class DisableTenantAnomalySettingsResponse(BaseModel):
config_overrides: Optional[AnomalyLogicOperation] = Field(
None, description="The config overrides for the tenant anomaly."
Expand Down
127 changes: 127 additions & 0 deletions onelens_backend_client_v2/rpc/metrics_control_service_rpc_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@
from typing_extensions import Annotated


from onelens_backend_client_v2.models import DisableMetricsRequest


from onelens_backend_client_v2.models import DisableMetricsResponse


from onelens_backend_client_v2.models import EnableMetricsRequest


Expand Down Expand Up @@ -37,6 +43,127 @@ def __init__(self, api_client=None) -> None:
api_client = ApiClient.get_default()
self.api_client = api_client

@validate_call
def disable_metric(
self,
request: DisableMetricsRequest,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
],
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> DisableMetricsResponse:
"""Disable Metric



:param request: (required)
:type request: DisableMetricsRequest
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
"""

_param = self._disable_metric_serialize(
request=request,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index,
)

_response_types_map: Dict[str, Optional[str]] = {
"200": "DisableMetricsResponse",
"422": "HTTPValidationError",
}
response_data = self.api_client.call_api(
*_param, _request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data

def _disable_metric_serialize(
self,
request: DisableMetricsRequest,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None

_collection_formats: Dict[str, str] = {}

_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[str, Union[str, bytes]] = {}
_body_params: Optional[bytes] = None

# process the body parameter
if request is not None:
_body_params = request

# set the HTTP header `Accept`
_header_params["Accept"] = self.api_client.select_header_accept(
["application/json"]
)

# set the HTTP header `Content-Type`
if _content_type:
_header_params["Content-Type"] = _content_type
else:
_default_content_type = self.api_client.select_header_content_type(
["application/json"]
)
if _default_content_type is not None:
_header_params["Content-Type"] = _default_content_type

# authentication setting
_auth_settings: List[str] = []

return self.api_client.param_serialize(
method="POST",
resource_path="/rpc/metrics_control_service/disable_metric",
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth,
)

@validate_call
def enable_metrics(
self,
Expand Down
Loading