diff --git a/services/observability/oas_commit b/services/observability/oas_commit index 6a2a7d7b..e3713dde 100644 --- a/services/observability/oas_commit +++ b/services/observability/oas_commit @@ -1 +1 @@ -10774896634990c655a523f5f0fabd6e2be9e216 +0e64886dd0847341800d7191ed193b75413be998 diff --git a/services/observability/src/stackit/observability/api_client.py b/services/observability/src/stackit/observability/api_client.py index 45da200e..8fdf1993 100644 --- a/services/observability/src/stackit/observability/api_client.py +++ b/services/observability/src/stackit/observability/api_client.py @@ -13,11 +13,13 @@ """ # noqa: E501 import datetime +import decimal import json import mimetypes import os import re import tempfile +import uuid from enum import Enum from typing import Dict, List, Optional, Tuple, Union from urllib.parse import quote @@ -64,8 +66,10 @@ class ApiClient: "bool": bool, "date": datetime.date, "datetime": datetime.datetime, + "decimal": decimal.Decimal, "object": object, } + _pool = None def __init__(self, configuration, header_name=None, header_value=None, cookie=None) -> None: self.config: Configuration = configuration @@ -268,7 +272,7 @@ def response_deserialize( return_data = self.__deserialize_file(response_data) elif response_type is not None: match = None - content_type = response_data.getheader("content-type") + content_type = response_data.headers.get("content-type") if content_type is not None: match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type) encoding = match.group(1) if match else "utf-8" @@ -285,7 +289,7 @@ def response_deserialize( return ApiResponse( status_code=response_data.status, data=return_data, - headers=response_data.getheaders(), + headers=response_data.headers, raw_data=response_data.data, ) @@ -297,6 +301,7 @@ def sanitize_for_serialization(self, obj): If obj is str, int, long, float, bool, return directly. If obj is datetime.datetime, datetime.date convert to string in iso8601 format. + If obj is decimal.Decimal return string representation. If obj is list, sanitize each element in the list. If obj is dict, return the dict. If obj is OpenAPI model, return the properties dict. @@ -312,12 +317,16 @@ def sanitize_for_serialization(self, obj): return obj.get_secret_value() elif isinstance(obj, self.PRIMITIVE_TYPES): return obj + elif isinstance(obj, uuid.UUID): + return str(obj) elif isinstance(obj, list): return [self.sanitize_for_serialization(sub_obj) for sub_obj in obj] elif isinstance(obj, tuple): return tuple(self.sanitize_for_serialization(sub_obj) for sub_obj in obj) elif isinstance(obj, (datetime.datetime, datetime.date)): return obj.isoformat() + elif isinstance(obj, decimal.Decimal): + return str(obj) elif isinstance(obj, dict): obj_dict = obj @@ -327,7 +336,7 @@ def sanitize_for_serialization(self, obj): # and attributes which value is not None. # Convert attribute name to json key in # model definition for request. - if hasattr(obj, "to_dict") and callable(obj.to_dict): + if hasattr(obj, "to_dict") and callable(getattr(obj, "to_dict")): obj_dict = obj.to_dict() else: obj_dict = obj.__dict__ @@ -355,7 +364,7 @@ def deserialize(self, response_text: str, response_type: str, content_type: Opti data = json.loads(response_text) except ValueError: data = response_text - elif re.match(r"^application/(json|[\w!#$&.+-^_]+\+json)\s*(;|$)", content_type, re.IGNORECASE): + elif re.match(r"^application/(json|[\w!#$&.+\-^_]+\+json)\s*(;|$)", content_type, re.IGNORECASE): if response_text == "": data = "" else: @@ -401,12 +410,14 @@ def __deserialize(self, data, klass): if klass in self.PRIMITIVE_TYPES: return self.__deserialize_primitive(data, klass) - elif klass == object: + elif klass is object: return self.__deserialize_object(data) - elif klass == datetime.date: + elif klass is datetime.date: return self.__deserialize_date(data) - elif klass == datetime.datetime: + elif klass is datetime.datetime: return self.__deserialize_datetime(data) + elif klass is decimal.Decimal: + return decimal.Decimal(data) elif issubclass(klass, Enum): return self.__deserialize_enum(data, klass) else: @@ -554,12 +565,14 @@ def __deserialize_file(self, response): os.close(fd) os.remove(path) - content_disposition = response.getheader("Content-Disposition") + content_disposition = response.headers.get("Content-Disposition") if content_disposition: m = re.search(r'filename=[\'"]?([^\'"\s]+)[\'"]?', content_disposition) if m is None: raise ValueError("Unexpected 'content-disposition' header value") - filename = m.group(1) + filename = os.path.basename(m.group(1)) # Strip any directory traversal + if filename in ("", ".", ".."): # fall back to tmp filename + filename = os.path.basename(path) path = os.path.join(os.path.dirname(path), filename) with open(path, "wb") as f: diff --git a/services/observability/src/stackit/observability/exceptions.py b/services/observability/src/stackit/observability/exceptions.py index 4e69a156..7c97ffc2 100644 --- a/services/observability/src/stackit/observability/exceptions.py +++ b/services/observability/src/stackit/observability/exceptions.py @@ -130,7 +130,7 @@ def __init__( self.body = http_resp.data.decode("utf-8") except Exception: # noqa: S110 pass - self.headers = http_resp.getheaders() + self.headers = http_resp.headers @classmethod def from_response( diff --git a/services/observability/src/stackit/observability/models/__init__.py b/services/observability/src/stackit/observability/models/__init__.py index f23f9738..55b21466 100644 --- a/services/observability/src/stackit/observability/models/__init__.py +++ b/services/observability/src/stackit/observability/models/__init__.py @@ -13,7 +13,6 @@ Do not edit the class manually. """ # noqa: E501 - # import models into model package from stackit.observability.models.alert import Alert from stackit.observability.models.alert_config_receivers_response import ( diff --git a/services/observability/src/stackit/observability/models/alert.py b/services/observability/src/stackit/observability/models/alert.py index a4f3c72b..ad5626a5 100644 --- a/services/observability/src/stackit/observability/models/alert.py +++ b/services/observability/src/stackit/observability/models/alert.py @@ -81,16 +81,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in inhibit_rules (list) _items = [] if self.inhibit_rules: - for _item in self.inhibit_rules: - if _item: - _items.append(_item.to_dict()) + for _item_inhibit_rules in self.inhibit_rules: + if _item_inhibit_rules: + _items.append(_item_inhibit_rules.to_dict()) _dict["inhibitRules"] = _items # override the default output from pydantic by calling `to_dict()` of each item in receivers (list) _items = [] if self.receivers: - for _item in self.receivers: - if _item: - _items.append(_item.to_dict()) + for _item_receivers in self.receivers: + if _item_receivers: + _items.append(_item_receivers.to_dict()) _dict["receivers"] = _items # override the default output from pydantic by calling `to_dict()` of route if self.route: diff --git a/services/observability/src/stackit/observability/models/alert_config_receivers_response.py b/services/observability/src/stackit/observability/models/alert_config_receivers_response.py index 995e7632..899b80f5 100644 --- a/services/observability/src/stackit/observability/models/alert_config_receivers_response.py +++ b/services/observability/src/stackit/observability/models/alert_config_receivers_response.py @@ -73,9 +73,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in data (list) _items = [] if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) _dict["data"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/alert_group.py b/services/observability/src/stackit/observability/models/alert_group.py index 9405e4c3..17914b1f 100644 --- a/services/observability/src/stackit/observability/models/alert_group.py +++ b/services/observability/src/stackit/observability/models/alert_group.py @@ -74,9 +74,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in rules (list) _items = [] if self.rules: - for _item in self.rules: - if _item: - _items.append(_item.to_dict()) + for _item_rules in self.rules: + if _item_rules: + _items.append(_item_rules.to_dict()) _dict["rules"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/alert_groups_response.py b/services/observability/src/stackit/observability/models/alert_groups_response.py index 5d94921c..f4380286 100644 --- a/services/observability/src/stackit/observability/models/alert_groups_response.py +++ b/services/observability/src/stackit/observability/models/alert_groups_response.py @@ -73,9 +73,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in data (list) _items = [] if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) _dict["data"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/alert_records_response.py b/services/observability/src/stackit/observability/models/alert_records_response.py index 30c89e3f..dc973ed5 100644 --- a/services/observability/src/stackit/observability/models/alert_records_response.py +++ b/services/observability/src/stackit/observability/models/alert_records_response.py @@ -73,9 +73,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in data (list) _items = [] if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) _dict["data"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/alert_rules_response.py b/services/observability/src/stackit/observability/models/alert_rules_response.py index ab300a81..78016637 100644 --- a/services/observability/src/stackit/observability/models/alert_rules_response.py +++ b/services/observability/src/stackit/observability/models/alert_rules_response.py @@ -73,9 +73,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in data (list) _items = [] if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) _dict["data"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/backup_schedule.py b/services/observability/src/stackit/observability/models/backup_schedule.py index f389b516..4887c97d 100644 --- a/services/observability/src/stackit/observability/models/backup_schedule.py +++ b/services/observability/src/stackit/observability/models/backup_schedule.py @@ -17,8 +17,9 @@ import json import pprint from typing import Any, ClassVar, Dict, List, Optional, Set +from uuid import UUID -from pydantic import BaseModel, ConfigDict, Field, StrictStr +from pydantic import BaseModel, ConfigDict, Field from typing_extensions import Annotated, Self @@ -28,7 +29,7 @@ class BackupSchedule(BaseModel): """ # noqa: E501 schedule: Annotated[str, Field(min_length=1, strict=True, max_length=100)] - schedule_id: StrictStr = Field(alias="scheduleId") + schedule_id: UUID = Field(alias="scheduleId") __properties: ClassVar[List[str]] = ["schedule", "scheduleId"] model_config = ConfigDict( diff --git a/services/observability/src/stackit/observability/models/backup_schedule_response.py b/services/observability/src/stackit/observability/models/backup_schedule_response.py index d03b6494..9bb9fff4 100644 --- a/services/observability/src/stackit/observability/models/backup_schedule_response.py +++ b/services/observability/src/stackit/observability/models/backup_schedule_response.py @@ -88,30 +88,30 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in alert_config_backup_schedules (list) _items = [] if self.alert_config_backup_schedules: - for _item in self.alert_config_backup_schedules: - if _item: - _items.append(_item.to_dict()) + for _item_alert_config_backup_schedules in self.alert_config_backup_schedules: + if _item_alert_config_backup_schedules: + _items.append(_item_alert_config_backup_schedules.to_dict()) _dict["alertConfigBackupSchedules"] = _items # override the default output from pydantic by calling `to_dict()` of each item in alert_rules_backup_schedules (list) _items = [] if self.alert_rules_backup_schedules: - for _item in self.alert_rules_backup_schedules: - if _item: - _items.append(_item.to_dict()) + for _item_alert_rules_backup_schedules in self.alert_rules_backup_schedules: + if _item_alert_rules_backup_schedules: + _items.append(_item_alert_rules_backup_schedules.to_dict()) _dict["alertRulesBackupSchedules"] = _items # override the default output from pydantic by calling `to_dict()` of each item in grafana_backup_schedules (list) _items = [] if self.grafana_backup_schedules: - for _item in self.grafana_backup_schedules: - if _item: - _items.append(_item.to_dict()) + for _item_grafana_backup_schedules in self.grafana_backup_schedules: + if _item_grafana_backup_schedules: + _items.append(_item_grafana_backup_schedules.to_dict()) _dict["grafanaBackupSchedules"] = _items # override the default output from pydantic by calling `to_dict()` of each item in scrape_config_backup_schedules (list) _items = [] if self.scrape_config_backup_schedules: - for _item in self.scrape_config_backup_schedules: - if _item: - _items.append(_item.to_dict()) + for _item_scrape_config_backup_schedules in self.scrape_config_backup_schedules: + if _item_scrape_config_backup_schedules: + _items.append(_item_scrape_config_backup_schedules.to_dict()) _dict["scrapeConfigBackupSchedules"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/cert_check_response.py b/services/observability/src/stackit/observability/models/cert_check_response.py index d3018d5c..8284ec57 100644 --- a/services/observability/src/stackit/observability/models/cert_check_response.py +++ b/services/observability/src/stackit/observability/models/cert_check_response.py @@ -79,9 +79,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in cert_checks (list) _items = [] if self.cert_checks: - for _item in self.cert_checks: - if _item: - _items.append(_item.to_dict()) + for _item_cert_checks in self.cert_checks: + if _item_cert_checks: + _items.append(_item_cert_checks.to_dict()) _dict["certChecks"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/create_alert_config_receiver_payload.py b/services/observability/src/stackit/observability/models/create_alert_config_receiver_payload.py index e7a18bd0..82f0d2ce 100644 --- a/services/observability/src/stackit/observability/models/create_alert_config_receiver_payload.py +++ b/services/observability/src/stackit/observability/models/create_alert_config_receiver_payload.py @@ -91,23 +91,23 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in email_configs (list) _items = [] if self.email_configs: - for _item in self.email_configs: - if _item: - _items.append(_item.to_dict()) + for _item_email_configs in self.email_configs: + if _item_email_configs: + _items.append(_item_email_configs.to_dict()) _dict["emailConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of each item in opsgenie_configs (list) _items = [] if self.opsgenie_configs: - for _item in self.opsgenie_configs: - if _item: - _items.append(_item.to_dict()) + for _item_opsgenie_configs in self.opsgenie_configs: + if _item_opsgenie_configs: + _items.append(_item_opsgenie_configs.to_dict()) _dict["opsgenieConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of each item in web_hook_configs (list) _items = [] if self.web_hook_configs: - for _item in self.web_hook_configs: - if _item: - _items.append(_item.to_dict()) + for _item_web_hook_configs in self.web_hook_configs: + if _item_web_hook_configs: + _items.append(_item_web_hook_configs.to_dict()) _dict["webHookConfigs"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/create_alert_config_route_payload.py b/services/observability/src/stackit/observability/models/create_alert_config_route_payload.py index 5f8c42e6..ec758afb 100644 --- a/services/observability/src/stackit/observability/models/create_alert_config_route_payload.py +++ b/services/observability/src/stackit/observability/models/create_alert_config_route_payload.py @@ -128,9 +128,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in routes (list) _items = [] if self.routes: - for _item in self.routes: - if _item: - _items.append(_item.to_dict()) + for _item_routes in self.routes: + if _item_routes: + _items.append(_item_routes.to_dict()) _dict["routes"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/create_alertgroups_payload.py b/services/observability/src/stackit/observability/models/create_alertgroups_payload.py index 688e87cb..ca0df700 100644 --- a/services/observability/src/stackit/observability/models/create_alertgroups_payload.py +++ b/services/observability/src/stackit/observability/models/create_alertgroups_payload.py @@ -81,9 +81,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in rules (list) _items = [] if self.rules: - for _item in self.rules: - if _item: - _items.append(_item.to_dict()) + for _item_rules in self.rules: + if _item_rules: + _items.append(_item_rules.to_dict()) _dict["rules"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/create_logs_alertgroups_payload.py b/services/observability/src/stackit/observability/models/create_logs_alertgroups_payload.py index fdaf0631..4a20f101 100644 --- a/services/observability/src/stackit/observability/models/create_logs_alertgroups_payload.py +++ b/services/observability/src/stackit/observability/models/create_logs_alertgroups_payload.py @@ -81,9 +81,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in rules (list) _items = [] if self.rules: - for _item in self.rules: - if _item: - _items.append(_item.to_dict()) + for _item_rules in self.rules: + if _item_rules: + _items.append(_item_rules.to_dict()) _dict["rules"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/create_scrape_config_payload.py b/services/observability/src/stackit/observability/models/create_scrape_config_payload.py index 8d64ab0c..e50871d5 100644 --- a/services/observability/src/stackit/observability/models/create_scrape_config_payload.py +++ b/services/observability/src/stackit/observability/models/create_scrape_config_payload.py @@ -182,16 +182,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in http_sd_configs (list) _items = [] if self.http_sd_configs: - for _item in self.http_sd_configs: - if _item: - _items.append(_item.to_dict()) + for _item_http_sd_configs in self.http_sd_configs: + if _item_http_sd_configs: + _items.append(_item_http_sd_configs.to_dict()) _dict["httpSdConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of each item in metrics_relabel_configs (list) _items = [] if self.metrics_relabel_configs: - for _item in self.metrics_relabel_configs: - if _item: - _items.append(_item.to_dict()) + for _item_metrics_relabel_configs in self.metrics_relabel_configs: + if _item_metrics_relabel_configs: + _items.append(_item_metrics_relabel_configs.to_dict()) _dict["metricsRelabelConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of oauth2 if self.oauth2: @@ -199,9 +199,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in static_configs (list) _items = [] if self.static_configs: - for _item in self.static_configs: - if _item: - _items.append(_item.to_dict()) + for _item_static_configs in self.static_configs: + if _item_static_configs: + _items.append(_item_static_configs.to_dict()) _dict["staticConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of tls_config if self.tls_config: diff --git a/services/observability/src/stackit/observability/models/delete_scrape_config_response.py b/services/observability/src/stackit/observability/models/delete_scrape_config_response.py index dd800abb..c6882a66 100644 --- a/services/observability/src/stackit/observability/models/delete_scrape_config_response.py +++ b/services/observability/src/stackit/observability/models/delete_scrape_config_response.py @@ -73,9 +73,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in data (list) _items = [] if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) _dict["data"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/elasticsearch_check_response.py b/services/observability/src/stackit/observability/models/elasticsearch_check_response.py index 4d55f45a..c293ef05 100644 --- a/services/observability/src/stackit/observability/models/elasticsearch_check_response.py +++ b/services/observability/src/stackit/observability/models/elasticsearch_check_response.py @@ -81,9 +81,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in elasticsearch_checks (list) _items = [] if self.elasticsearch_checks: - for _item in self.elasticsearch_checks: - if _item: - _items.append(_item.to_dict()) + for _item_elasticsearch_checks in self.elasticsearch_checks: + if _item_elasticsearch_checks: + _items.append(_item_elasticsearch_checks.to_dict()) _dict["elasticsearchChecks"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/http_check_response.py b/services/observability/src/stackit/observability/models/http_check_response.py index 24126580..b1ea7f42 100644 --- a/services/observability/src/stackit/observability/models/http_check_response.py +++ b/services/observability/src/stackit/observability/models/http_check_response.py @@ -79,9 +79,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in http_checks (list) _items = [] if self.http_checks: - for _item in self.http_checks: - if _item: - _items.append(_item.to_dict()) + for _item_http_checks in self.http_checks: + if _item_http_checks: + _items.append(_item_http_checks.to_dict()) _dict["httpChecks"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/job.py b/services/observability/src/stackit/observability/models/job.py index 0a8956ec..6e3feb45 100644 --- a/services/observability/src/stackit/observability/models/job.py +++ b/services/observability/src/stackit/observability/models/job.py @@ -137,16 +137,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in http_sd_configs (list) _items = [] if self.http_sd_configs: - for _item in self.http_sd_configs: - if _item: - _items.append(_item.to_dict()) + for _item_http_sd_configs in self.http_sd_configs: + if _item_http_sd_configs: + _items.append(_item_http_sd_configs.to_dict()) _dict["httpSdConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of each item in metrics_relabel_configs (list) _items = [] if self.metrics_relabel_configs: - for _item in self.metrics_relabel_configs: - if _item: - _items.append(_item.to_dict()) + for _item_metrics_relabel_configs in self.metrics_relabel_configs: + if _item_metrics_relabel_configs: + _items.append(_item_metrics_relabel_configs.to_dict()) _dict["metricsRelabelConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of oauth2 if self.oauth2: @@ -154,9 +154,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in static_configs (list) _items = [] if self.static_configs: - for _item in self.static_configs: - if _item: - _items.append(_item.to_dict()) + for _item_static_configs in self.static_configs: + if _item_static_configs: + _items.append(_item_static_configs.to_dict()) _dict["staticConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of tls_config if self.tls_config: diff --git a/services/observability/src/stackit/observability/models/list_credentials_response.py b/services/observability/src/stackit/observability/models/list_credentials_response.py index 7f11beb9..72e23367 100644 --- a/services/observability/src/stackit/observability/models/list_credentials_response.py +++ b/services/observability/src/stackit/observability/models/list_credentials_response.py @@ -73,9 +73,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in credentials (list) _items = [] if self.credentials: - for _item in self.credentials: - if _item: - _items.append(_item.to_dict()) + for _item_credentials in self.credentials: + if _item_credentials: + _items.append(_item_credentials.to_dict()) _dict["credentials"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/list_instances_response.py b/services/observability/src/stackit/observability/models/list_instances_response.py index 8d1081a1..14967e85 100644 --- a/services/observability/src/stackit/observability/models/list_instances_response.py +++ b/services/observability/src/stackit/observability/models/list_instances_response.py @@ -73,9 +73,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in instances (list) _items = [] if self.instances: - for _item in self.instances: - if _item: - _items.append(_item.to_dict()) + for _item_instances in self.instances: + if _item_instances: + _items.append(_item_instances.to_dict()) _dict["instances"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/list_scrape_configs_response.py b/services/observability/src/stackit/observability/models/list_scrape_configs_response.py index a39f1ccd..b4255e62 100644 --- a/services/observability/src/stackit/observability/models/list_scrape_configs_response.py +++ b/services/observability/src/stackit/observability/models/list_scrape_configs_response.py @@ -73,9 +73,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in data (list) _items = [] if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) _dict["data"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/mongodb_check_response.py b/services/observability/src/stackit/observability/models/mongodb_check_response.py index 80f4422b..754bc107 100644 --- a/services/observability/src/stackit/observability/models/mongodb_check_response.py +++ b/services/observability/src/stackit/observability/models/mongodb_check_response.py @@ -79,9 +79,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in mongodb_checks (list) _items = [] if self.mongodb_checks: - for _item in self.mongodb_checks: - if _item: - _items.append(_item.to_dict()) + for _item_mongodb_checks in self.mongodb_checks: + if _item_mongodb_checks: + _items.append(_item_mongodb_checks.to_dict()) _dict["mongodbChecks"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/mysql_check_response.py b/services/observability/src/stackit/observability/models/mysql_check_response.py index 3c6d1784..8eacdebc 100644 --- a/services/observability/src/stackit/observability/models/mysql_check_response.py +++ b/services/observability/src/stackit/observability/models/mysql_check_response.py @@ -79,9 +79,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in mysql_checks (list) _items = [] if self.mysql_checks: - for _item in self.mysql_checks: - if _item: - _items.append(_item.to_dict()) + for _item_mysql_checks in self.mysql_checks: + if _item_mysql_checks: + _items.append(_item_mysql_checks.to_dict()) _dict["mysqlChecks"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/network_check_response.py b/services/observability/src/stackit/observability/models/network_check_response.py index c3df22bb..b08d468c 100644 --- a/services/observability/src/stackit/observability/models/network_check_response.py +++ b/services/observability/src/stackit/observability/models/network_check_response.py @@ -79,9 +79,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in network_checks (list) _items = [] if self.network_checks: - for _item in self.network_checks: - if _item: - _items.append(_item.to_dict()) + for _item_network_checks in self.network_checks: + if _item_network_checks: + _items.append(_item_network_checks.to_dict()) _dict["networkChecks"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/offerings.py b/services/observability/src/stackit/observability/models/offerings.py index 305e40f2..f466c70e 100644 --- a/services/observability/src/stackit/observability/models/offerings.py +++ b/services/observability/src/stackit/observability/models/offerings.py @@ -79,9 +79,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in plans (list) _items = [] if self.plans: - for _item in self.plans: - if _item: - _items.append(_item.to_dict()) + for _item_plans in self.plans: + if _item_plans: + _items.append(_item_plans.to_dict()) _dict["plans"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/partial_update_scrape_configs_request_inner.py b/services/observability/src/stackit/observability/models/partial_update_scrape_configs_request_inner.py index 9e865ffd..3b66d685 100644 --- a/services/observability/src/stackit/observability/models/partial_update_scrape_configs_request_inner.py +++ b/services/observability/src/stackit/observability/models/partial_update_scrape_configs_request_inner.py @@ -182,16 +182,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in http_sd_configs (list) _items = [] if self.http_sd_configs: - for _item in self.http_sd_configs: - if _item: - _items.append(_item.to_dict()) + for _item_http_sd_configs in self.http_sd_configs: + if _item_http_sd_configs: + _items.append(_item_http_sd_configs.to_dict()) _dict["httpSdConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of each item in metrics_relabel_configs (list) _items = [] if self.metrics_relabel_configs: - for _item in self.metrics_relabel_configs: - if _item: - _items.append(_item.to_dict()) + for _item_metrics_relabel_configs in self.metrics_relabel_configs: + if _item_metrics_relabel_configs: + _items.append(_item_metrics_relabel_configs.to_dict()) _dict["metricsRelabelConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of oauth2 if self.oauth2: @@ -199,9 +199,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in static_configs (list) _items = [] if self.static_configs: - for _item in self.static_configs: - if _item: - _items.append(_item.to_dict()) + for _item_static_configs in self.static_configs: + if _item_static_configs: + _items.append(_item_static_configs.to_dict()) _dict["staticConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of tls_config if self.tls_config: diff --git a/services/observability/src/stackit/observability/models/ping_check_response.py b/services/observability/src/stackit/observability/models/ping_check_response.py index d772f80d..a0ff5c21 100644 --- a/services/observability/src/stackit/observability/models/ping_check_response.py +++ b/services/observability/src/stackit/observability/models/ping_check_response.py @@ -79,9 +79,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in ping_checks (list) _items = [] if self.ping_checks: - for _item in self.ping_checks: - if _item: - _items.append(_item.to_dict()) + for _item_ping_checks in self.ping_checks: + if _item_ping_checks: + _items.append(_item_ping_checks.to_dict()) _dict["pingChecks"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/plan.py b/services/observability/src/stackit/observability/models/plan.py index 177988f4..31103f74 100644 --- a/services/observability/src/stackit/observability/models/plan.py +++ b/services/observability/src/stackit/observability/models/plan.py @@ -17,6 +17,7 @@ import json import pprint from typing import Any, ClassVar, Dict, List, Optional, Set, Union +from uuid import UUID from pydantic import ( BaseModel, @@ -24,7 +25,6 @@ Field, StrictBool, StrictInt, - StrictStr, ) from typing_extensions import Annotated, Self @@ -49,13 +49,13 @@ class Plan(BaseModel): grafana_global_orgs: StrictInt = Field(alias="grafanaGlobalOrgs") grafana_global_sessions: StrictInt = Field(alias="grafanaGlobalSessions") grafana_global_users: StrictInt = Field(alias="grafanaGlobalUsers") - id: StrictStr + id: UUID is_free: Optional[StrictBool] = Field(default=False, alias="isFree") is_public: Optional[StrictBool] = Field(default=True, alias="isPublic") logs_alert: StrictInt = Field(alias="logsAlert") logs_storage: StrictInt = Field(alias="logsStorage") name: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=500)]] = None - plan_id: StrictStr = Field(alias="planId") + plan_id: UUID = Field(alias="planId") samples_per_scrape: StrictInt = Field(alias="samplesPerScrape") var_schema: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default="", alias="schema") target_number: StrictInt = Field(alias="targetNumber") diff --git a/services/observability/src/stackit/observability/models/plan_model.py b/services/observability/src/stackit/observability/models/plan_model.py index 80637429..4dc63f6a 100644 --- a/services/observability/src/stackit/observability/models/plan_model.py +++ b/services/observability/src/stackit/observability/models/plan_model.py @@ -17,8 +17,9 @@ import json import pprint from typing import Any, ClassVar, Dict, List, Optional, Set, Union +from uuid import UUID -from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictInt from typing_extensions import Annotated, Self @@ -42,11 +43,11 @@ class PlanModel(BaseModel): grafana_global_orgs: StrictInt = Field(alias="grafanaGlobalOrgs") grafana_global_sessions: StrictInt = Field(alias="grafanaGlobalSessions") grafana_global_users: StrictInt = Field(alias="grafanaGlobalUsers") - id: StrictStr + id: UUID logs_alert: StrictInt = Field(alias="logsAlert") logs_storage: StrictInt = Field(alias="logsStorage") name: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=500)]] = None - plan_id: StrictStr = Field(alias="planId") + plan_id: UUID = Field(alias="planId") samples_per_scrape: StrictInt = Field(alias="samplesPerScrape") target_number: StrictInt = Field(alias="targetNumber") total_metric_samples: StrictInt = Field(alias="totalMetricSamples") diff --git a/services/observability/src/stackit/observability/models/plans_response.py b/services/observability/src/stackit/observability/models/plans_response.py index e65a6c08..d798cae8 100644 --- a/services/observability/src/stackit/observability/models/plans_response.py +++ b/services/observability/src/stackit/observability/models/plans_response.py @@ -73,9 +73,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in plans (list) _items = [] if self.plans: - for _item in self.plans: - if _item: - _items.append(_item.to_dict()) + for _item_plans in self.plans: + if _item_plans: + _items.append(_item_plans.to_dict()) _dict["plans"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/postgresql_check_response.py b/services/observability/src/stackit/observability/models/postgresql_check_response.py index 39ea44cf..e37f1a14 100644 --- a/services/observability/src/stackit/observability/models/postgresql_check_response.py +++ b/services/observability/src/stackit/observability/models/postgresql_check_response.py @@ -81,9 +81,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in postgresql_checks (list) _items = [] if self.postgresql_checks: - for _item in self.postgresql_checks: - if _item: - _items.append(_item.to_dict()) + for _item_postgresql_checks in self.postgresql_checks: + if _item_postgresql_checks: + _items.append(_item_postgresql_checks.to_dict()) _dict["postgresqlChecks"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/rabbitmq_check_response.py b/services/observability/src/stackit/observability/models/rabbitmq_check_response.py index bc20d85b..de0468f4 100644 --- a/services/observability/src/stackit/observability/models/rabbitmq_check_response.py +++ b/services/observability/src/stackit/observability/models/rabbitmq_check_response.py @@ -79,9 +79,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in rabbitmq_checks (list) _items = [] if self.rabbitmq_checks: - for _item in self.rabbitmq_checks: - if _item: - _items.append(_item.to_dict()) + for _item_rabbitmq_checks in self.rabbitmq_checks: + if _item_rabbitmq_checks: + _items.append(_item_rabbitmq_checks.to_dict()) _dict["rabbitmqChecks"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/receivers.py b/services/observability/src/stackit/observability/models/receivers.py index 419d97fa..e02c48d8 100644 --- a/services/observability/src/stackit/observability/models/receivers.py +++ b/services/observability/src/stackit/observability/models/receivers.py @@ -77,23 +77,23 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in email_configs (list) _items = [] if self.email_configs: - for _item in self.email_configs: - if _item: - _items.append(_item.to_dict()) + for _item_email_configs in self.email_configs: + if _item_email_configs: + _items.append(_item_email_configs.to_dict()) _dict["emailConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of each item in opsgenie_configs (list) _items = [] if self.opsgenie_configs: - for _item in self.opsgenie_configs: - if _item: - _items.append(_item.to_dict()) + for _item_opsgenie_configs in self.opsgenie_configs: + if _item_opsgenie_configs: + _items.append(_item_opsgenie_configs.to_dict()) _dict["opsgenieConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of each item in web_hook_configs (list) _items = [] if self.web_hook_configs: - for _item in self.web_hook_configs: - if _item: - _items.append(_item.to_dict()) + for _item_web_hook_configs in self.web_hook_configs: + if _item_web_hook_configs: + _items.append(_item_web_hook_configs.to_dict()) _dict["webHookConfigs"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/redis_check_response.py b/services/observability/src/stackit/observability/models/redis_check_response.py index 33f523c1..2f9f7d9d 100644 --- a/services/observability/src/stackit/observability/models/redis_check_response.py +++ b/services/observability/src/stackit/observability/models/redis_check_response.py @@ -79,9 +79,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in redis_checks (list) _items = [] if self.redis_checks: - for _item in self.redis_checks: - if _item: - _items.append(_item.to_dict()) + for _item_redis_checks in self.redis_checks: + if _item_redis_checks: + _items.append(_item_redis_checks.to_dict()) _dict["redisChecks"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/route.py b/services/observability/src/stackit/observability/models/route.py index 765eacdd..ef0c191e 100644 --- a/services/observability/src/stackit/observability/models/route.py +++ b/services/observability/src/stackit/observability/models/route.py @@ -104,9 +104,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in routes (list) _items = [] if self.routes: - for _item in self.routes: - if _item: - _items.append(_item.to_dict()) + for _item_routes in self.routes: + if _item_routes: + _items.append(_item_routes.to_dict()) _dict["routes"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/scrape_configs_response.py b/services/observability/src/stackit/observability/models/scrape_configs_response.py index b9fd95b9..23427cd2 100644 --- a/services/observability/src/stackit/observability/models/scrape_configs_response.py +++ b/services/observability/src/stackit/observability/models/scrape_configs_response.py @@ -73,9 +73,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in data (list) _items = [] if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) _dict["data"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/update_alert_config_receiver_payload.py b/services/observability/src/stackit/observability/models/update_alert_config_receiver_payload.py index a545fd2c..ebfac06b 100644 --- a/services/observability/src/stackit/observability/models/update_alert_config_receiver_payload.py +++ b/services/observability/src/stackit/observability/models/update_alert_config_receiver_payload.py @@ -91,23 +91,23 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in email_configs (list) _items = [] if self.email_configs: - for _item in self.email_configs: - if _item: - _items.append(_item.to_dict()) + for _item_email_configs in self.email_configs: + if _item_email_configs: + _items.append(_item_email_configs.to_dict()) _dict["emailConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of each item in opsgenie_configs (list) _items = [] if self.opsgenie_configs: - for _item in self.opsgenie_configs: - if _item: - _items.append(_item.to_dict()) + for _item_opsgenie_configs in self.opsgenie_configs: + if _item_opsgenie_configs: + _items.append(_item_opsgenie_configs.to_dict()) _dict["opsgenieConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of each item in web_hook_configs (list) _items = [] if self.web_hook_configs: - for _item in self.web_hook_configs: - if _item: - _items.append(_item.to_dict()) + for _item_web_hook_configs in self.web_hook_configs: + if _item_web_hook_configs: + _items.append(_item_web_hook_configs.to_dict()) _dict["webHookConfigs"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/update_alert_config_route_payload.py b/services/observability/src/stackit/observability/models/update_alert_config_route_payload.py index cdf39d68..3fe0a443 100644 --- a/services/observability/src/stackit/observability/models/update_alert_config_route_payload.py +++ b/services/observability/src/stackit/observability/models/update_alert_config_route_payload.py @@ -128,9 +128,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in routes (list) _items = [] if self.routes: - for _item in self.routes: - if _item: - _items.append(_item.to_dict()) + for _item_routes in self.routes: + if _item_routes: + _items.append(_item_routes.to_dict()) _dict["routes"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/update_alert_configs_payload.py b/services/observability/src/stackit/observability/models/update_alert_configs_payload.py index e7047205..5ff92707 100644 --- a/services/observability/src/stackit/observability/models/update_alert_configs_payload.py +++ b/services/observability/src/stackit/observability/models/update_alert_configs_payload.py @@ -92,9 +92,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in receivers (list) _items = [] if self.receivers: - for _item in self.receivers: - if _item: - _items.append(_item.to_dict()) + for _item_receivers in self.receivers: + if _item_receivers: + _items.append(_item_receivers.to_dict()) _dict["receivers"] = _items # override the default output from pydantic by calling `to_dict()` of route if self.route: diff --git a/services/observability/src/stackit/observability/models/update_alert_configs_payload_receivers_inner.py b/services/observability/src/stackit/observability/models/update_alert_configs_payload_receivers_inner.py index bd5ab5a5..48fbcb81 100644 --- a/services/observability/src/stackit/observability/models/update_alert_configs_payload_receivers_inner.py +++ b/services/observability/src/stackit/observability/models/update_alert_configs_payload_receivers_inner.py @@ -91,23 +91,23 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in email_configs (list) _items = [] if self.email_configs: - for _item in self.email_configs: - if _item: - _items.append(_item.to_dict()) + for _item_email_configs in self.email_configs: + if _item_email_configs: + _items.append(_item_email_configs.to_dict()) _dict["emailConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of each item in opsgenie_configs (list) _items = [] if self.opsgenie_configs: - for _item in self.opsgenie_configs: - if _item: - _items.append(_item.to_dict()) + for _item_opsgenie_configs in self.opsgenie_configs: + if _item_opsgenie_configs: + _items.append(_item_opsgenie_configs.to_dict()) _dict["opsgenieConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of each item in web_hook_configs (list) _items = [] if self.web_hook_configs: - for _item in self.web_hook_configs: - if _item: - _items.append(_item.to_dict()) + for _item_web_hook_configs in self.web_hook_configs: + if _item_web_hook_configs: + _items.append(_item_web_hook_configs.to_dict()) _dict["webHookConfigs"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/update_alert_configs_payload_route.py b/services/observability/src/stackit/observability/models/update_alert_configs_payload_route.py index acbdca20..a22b8dfa 100644 --- a/services/observability/src/stackit/observability/models/update_alert_configs_payload_route.py +++ b/services/observability/src/stackit/observability/models/update_alert_configs_payload_route.py @@ -123,9 +123,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in routes (list) _items = [] if self.routes: - for _item in self.routes: - if _item: - _items.append(_item.to_dict()) + for _item_routes in self.routes: + if _item_routes: + _items.append(_item_routes.to_dict()) _dict["routes"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/update_alertgroup_payload.py b/services/observability/src/stackit/observability/models/update_alertgroup_payload.py index c642f559..0577b8dd 100644 --- a/services/observability/src/stackit/observability/models/update_alertgroup_payload.py +++ b/services/observability/src/stackit/observability/models/update_alertgroup_payload.py @@ -78,9 +78,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in rules (list) _items = [] if self.rules: - for _item in self.rules: - if _item: - _items.append(_item.to_dict()) + for _item_rules in self.rules: + if _item_rules: + _items.append(_item_rules.to_dict()) _dict["rules"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/update_alertgroups_request_inner.py b/services/observability/src/stackit/observability/models/update_alertgroups_request_inner.py index 8551c8e4..d29bc9f8 100644 --- a/services/observability/src/stackit/observability/models/update_alertgroups_request_inner.py +++ b/services/observability/src/stackit/observability/models/update_alertgroups_request_inner.py @@ -81,9 +81,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in rules (list) _items = [] if self.rules: - for _item in self.rules: - if _item: - _items.append(_item.to_dict()) + for _item_rules in self.rules: + if _item_rules: + _items.append(_item_rules.to_dict()) _dict["rules"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/update_logs_alertgroup_payload.py b/services/observability/src/stackit/observability/models/update_logs_alertgroup_payload.py index de776957..bd9d292f 100644 --- a/services/observability/src/stackit/observability/models/update_logs_alertgroup_payload.py +++ b/services/observability/src/stackit/observability/models/update_logs_alertgroup_payload.py @@ -78,9 +78,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in rules (list) _items = [] if self.rules: - for _item in self.rules: - if _item: - _items.append(_item.to_dict()) + for _item_rules in self.rules: + if _item_rules: + _items.append(_item_rules.to_dict()) _dict["rules"] = _items return _dict diff --git a/services/observability/src/stackit/observability/models/update_scrape_config_payload.py b/services/observability/src/stackit/observability/models/update_scrape_config_payload.py index 1b80da1d..25662e9f 100644 --- a/services/observability/src/stackit/observability/models/update_scrape_config_payload.py +++ b/services/observability/src/stackit/observability/models/update_scrape_config_payload.py @@ -161,16 +161,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of each item in metrics_relabel_configs (list) _items = [] if self.metrics_relabel_configs: - for _item in self.metrics_relabel_configs: - if _item: - _items.append(_item.to_dict()) + for _item_metrics_relabel_configs in self.metrics_relabel_configs: + if _item_metrics_relabel_configs: + _items.append(_item_metrics_relabel_configs.to_dict()) _dict["metricsRelabelConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of each item in static_configs (list) _items = [] if self.static_configs: - for _item in self.static_configs: - if _item: - _items.append(_item.to_dict()) + for _item_static_configs in self.static_configs: + if _item_static_configs: + _items.append(_item_static_configs.to_dict()) _dict["staticConfigs"] = _items # override the default output from pydantic by calling `to_dict()` of tls_config if self.tls_config: diff --git a/services/observability/src/stackit/observability/rest.py b/services/observability/src/stackit/observability/rest.py index f504719e..3168dbdc 100644 --- a/services/observability/src/stackit/observability/rest.py +++ b/services/observability/src/stackit/observability/rest.py @@ -39,12 +39,17 @@ def read(self): self.data = self.response.content return self.data + @property + def headers(self): + """Returns a dictionary of response headers.""" + return self.response.headers + def getheaders(self): - """Returns a dictionary of the response headers.""" + """Returns a dictionary of the response headers; use ``headers`` instead.""" return self.response.headers def getheader(self, name, default=None): - """Returns a given response header.""" + """Returns a given response header; use ``headers.get()`` instead.""" return self.response.headers.get(name, default) @@ -94,6 +99,7 @@ def request(self, method, url, headers=None, body=None, post_params=None, _reque url, data=request_body, headers=headers, + timeout=_request_timeout, ) elif content_type == "application/x-www-form-urlencoded": r = self.session.request( @@ -101,6 +107,7 @@ def request(self, method, url, headers=None, body=None, post_params=None, _reque url, params=post_params, headers=headers, + timeout=_request_timeout, ) elif content_type == "multipart/form-data": # must del headers['Content-Type'], or the correct @@ -114,6 +121,7 @@ def request(self, method, url, headers=None, body=None, post_params=None, _reque url, files=post_params, headers=headers, + timeout=_request_timeout, ) # Pass a `string` parameter directly in the body to support # other content types than JSON when `body` argument is @@ -124,10 +132,17 @@ def request(self, method, url, headers=None, body=None, post_params=None, _reque url, data=body, headers=headers, + timeout=_request_timeout, ) elif headers["Content-Type"].startswith("text/") and isinstance(body, bool): request_body = "true" if body else "false" - r = self.session.request(method, url, data=request_body, headers=headers) + r = self.session.request( + method, + url, + data=request_body, + headers=headers, + timeout=_request_timeout, + ) else: # Cannot generate the request from given parameters msg = """Cannot prepare a request message for provided @@ -141,6 +156,7 @@ def request(self, method, url, headers=None, body=None, post_params=None, _reque url, params={}, headers=headers, + timeout=_request_timeout, ) except requests.exceptions.SSLError as e: msg = "\n".join([type(e).__name__, str(e)])