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
1 change: 1 addition & 0 deletions services/observability/oas_commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fe212a12ec79a23b81cb53d9a7728f5706bddc23
196 changes: 176 additions & 20 deletions services/observability/src/stackit/observability/__init__.py

Large diffs are not rendered by default.

15,076 changes: 13,289 additions & 1,787 deletions services/observability/src/stackit/observability/api/default_api.py

Large diffs are not rendered by default.

118 changes: 104 additions & 14 deletions services/observability/src/stackit/observability/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,22 @@
from stackit.observability.models.alert_group import AlertGroup
from stackit.observability.models.alert_group_response import AlertGroupResponse
from stackit.observability.models.alert_groups_response import AlertGroupsResponse
from stackit.observability.models.alert_record import AlertRecord
from stackit.observability.models.alert_record_response import AlertRecordResponse
from stackit.observability.models.alert_records_response import AlertRecordsResponse
from stackit.observability.models.alert_rule import AlertRule
from stackit.observability.models.alert_rule_record import AlertRuleRecord
from stackit.observability.models.alert_rule_response import AlertRuleResponse
from stackit.observability.models.alert_rules_response import AlertRulesResponse
from stackit.observability.models.backup_response import BackupResponse
from stackit.observability.models.backup_retention_response import (
BackupRetentionResponse,
)
from stackit.observability.models.backup_schedule import BackupSchedule
from stackit.observability.models.backup_schedule_post_response import (
BackupSchedulePostResponse,
)
from stackit.observability.models.backup_schedule_response import BackupScheduleResponse
from stackit.observability.models.basic_auth import BasicAuth
from stackit.observability.models.cert_check_child_response import (
CertCheckChildResponse,
Expand All @@ -51,12 +64,18 @@
from stackit.observability.models.create_alert_config_route_payload_routes_inner import (
CreateAlertConfigRoutePayloadRoutesInner,
)
from stackit.observability.models.create_alert_record_payload import (
CreateAlertRecordPayload,
)
from stackit.observability.models.create_alertgroups_payload import (
CreateAlertgroupsPayload,
)
from stackit.observability.models.create_alertrules_payload import (
CreateAlertrulesPayload,
)
from stackit.observability.models.create_backup_schedule_payload import (
CreateBackupSchedulePayload,
)
from stackit.observability.models.create_cert_check400_response import (
CreateCertCheck400Response,
)
Expand All @@ -69,6 +88,9 @@
from stackit.observability.models.create_credentials_response import (
CreateCredentialsResponse,
)
from stackit.observability.models.create_elasticsearch_check_payload import (
CreateElasticsearchCheckPayload,
)
from stackit.observability.models.create_http_check_payload import (
CreateHttpCheckPayload,
)
Expand All @@ -80,26 +102,29 @@
from stackit.observability.models.create_logs_alertgroups_payload_rules_inner import (
CreateLogsAlertgroupsPayloadRulesInner,
)
from stackit.observability.models.create_scrape_config_payload import (
CreateScrapeConfigPayload,
from stackit.observability.models.create_mongodb_check_payload import (
CreateMongodbCheckPayload,
)
from stackit.observability.models.create_scrape_config_payload_basic_auth import (
CreateScrapeConfigPayloadBasicAuth,
from stackit.observability.models.create_mysql_check_payload import (
CreateMysqlCheckPayload,
)
from stackit.observability.models.create_scrape_config_payload_http_sd_configs_inner import (
CreateScrapeConfigPayloadHttpSdConfigsInner,
from stackit.observability.models.create_network_check_payload import (
CreateNetworkCheckPayload,
)
from stackit.observability.models.create_scrape_config_payload_http_sd_configs_inner_oauth2 import (
CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2,
from stackit.observability.models.create_ping_check_payload import (
CreatePingCheckPayload,
)
from stackit.observability.models.create_scrape_config_payload_http_sd_configs_inner_oauth2_tls_config import (
CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig,
from stackit.observability.models.create_postgresql_check_payload import (
CreatePostgresqlCheckPayload,
)
from stackit.observability.models.create_scrape_config_payload_metrics_relabel_configs_inner import (
CreateScrapeConfigPayloadMetricsRelabelConfigsInner,
from stackit.observability.models.create_rabbitmq_check_payload import (
CreateRabbitmqCheckPayload,
)
from stackit.observability.models.create_scrape_config_payload_static_configs_inner import (
CreateScrapeConfigPayloadStaticConfigsInner,
from stackit.observability.models.create_redis_check_payload import (
CreateRedisCheckPayload,
)
from stackit.observability.models.create_scrape_config_payload import (
CreateScrapeConfigPayload,
)
from stackit.observability.models.credentials import Credentials
from stackit.observability.models.credentials_remote_write_config import (
Expand All @@ -111,6 +136,12 @@
from stackit.observability.models.delete_scrape_config_response import (
DeleteScrapeConfigResponse,
)
from stackit.observability.models.elasticsearch_check_child_response import (
ElasticsearchCheckChildResponse,
)
from stackit.observability.models.elasticsearch_check_response import (
ElasticsearchCheckResponse,
)
from stackit.observability.models.email_config import EmailConfig
from stackit.observability.models.error import Error
from stackit.observability.models.get_alert_configs_response import (
Expand Down Expand Up @@ -149,18 +180,73 @@
from stackit.observability.models.message import Message
from stackit.observability.models.metrics_relabel_config import MetricsRelabelConfig
from stackit.observability.models.model_global import ModelGlobal
from stackit.observability.models.mongodb_check_child_response import (
MongodbCheckChildResponse,
)
from stackit.observability.models.mongodb_check_response import MongodbCheckResponse
from stackit.observability.models.mysql_check_child_response import (
MysqlCheckChildResponse,
)
from stackit.observability.models.mysql_check_response import MysqlCheckResponse
from stackit.observability.models.network_check_child_response import (
NetworkCheckChildResponse,
)
from stackit.observability.models.network_check_response import NetworkCheckResponse
from stackit.observability.models.o_auth2 import OAuth2
from stackit.observability.models.offerings import Offerings
from stackit.observability.models.opsgenie_config import OpsgenieConfig
from stackit.observability.models.partial_update_alert_records_request_inner import (
PartialUpdateAlertRecordsRequestInner,
)
from stackit.observability.models.partial_update_alertrules_request_inner import (
PartialUpdateAlertrulesRequestInner,
)
from stackit.observability.models.partial_update_scrape_configs_request_inner import (
PartialUpdateScrapeConfigsRequestInner,
)
from stackit.observability.models.partial_update_scrape_configs_request_inner_basic_auth import (
PartialUpdateScrapeConfigsRequestInnerBasicAuth,
)
from stackit.observability.models.partial_update_scrape_configs_request_inner_http_sd_configs_inner import (
PartialUpdateScrapeConfigsRequestInnerHttpSdConfigsInner,
)
from stackit.observability.models.partial_update_scrape_configs_request_inner_http_sd_configs_inner_oauth2 import (
PartialUpdateScrapeConfigsRequestInnerHttpSdConfigsInnerOauth2,
)
from stackit.observability.models.partial_update_scrape_configs_request_inner_http_sd_configs_inner_oauth2_tls_config import (
PartialUpdateScrapeConfigsRequestInnerHttpSdConfigsInnerOauth2TlsConfig,
)
from stackit.observability.models.partial_update_scrape_configs_request_inner_metrics_relabel_configs_inner import (
PartialUpdateScrapeConfigsRequestInnerMetricsRelabelConfigsInner,
)
from stackit.observability.models.partial_update_scrape_configs_request_inner_static_configs_inner import (
PartialUpdateScrapeConfigsRequestInnerStaticConfigsInner,
)
from stackit.observability.models.permission_denied import PermissionDenied
from stackit.observability.models.ping_check_child_response import (
PingCheckChildResponse,
)
from stackit.observability.models.ping_check_response import PingCheckResponse
from stackit.observability.models.plan import Plan
from stackit.observability.models.plan_model import PlanModel
from stackit.observability.models.plans_response import PlansResponse
from stackit.observability.models.postgresql_check_child_response import (
PostgresqlCheckChildResponse,
)
from stackit.observability.models.postgresql_check_response import (
PostgresqlCheckResponse,
)
from stackit.observability.models.project_instance_full import ProjectInstanceFull
from stackit.observability.models.rabbit_mq_check_child_response import (
RabbitMQCheckChildResponse,
)
from stackit.observability.models.rabbitmq_check_response import RabbitmqCheckResponse
from stackit.observability.models.receiver import Receiver
from stackit.observability.models.receivers import Receivers
from stackit.observability.models.redis_check_child_response import (
RedisCheckChildResponse,
)
from stackit.observability.models.redis_check_response import RedisCheckResponse
from stackit.observability.models.route import Route
from stackit.observability.models.route_serializer import RouteSerializer
from stackit.observability.models.scrape_configs_response import ScrapeConfigsResponse
Expand Down Expand Up @@ -197,6 +283,9 @@
from stackit.observability.models.update_alert_configs_response import (
UpdateAlertConfigsResponse,
)
from stackit.observability.models.update_alert_record_payload import (
UpdateAlertRecordPayload,
)
from stackit.observability.models.update_alertgroup_payload import (
UpdateAlertgroupPayload,
)
Expand All @@ -206,6 +295,7 @@
from stackit.observability.models.update_alertgroups_request_inner_rules_inner import (
UpdateAlertgroupsRequestInnerRulesInner,
)
from stackit.observability.models.update_alertrule_payload import UpdateAlertrulePayload
from stackit.observability.models.update_credentials_remote_write_config_payload import (
UpdateCredentialsRemoteWriteConfigPayload,
)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# coding: utf-8

"""
STACKIT Observability API

API endpoints for Observability on STACKIT

The version of the OpenAPI document: 1.1.1
Contact: stackit-argus@mail.schwarz
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
""" # noqa: E501

from __future__ import annotations

import json
import pprint
from typing import Any, ClassVar, Dict, List, Optional, Set

from pydantic import BaseModel, ConfigDict, Field
from typing_extensions import Annotated, Self


class AlertRecord(BaseModel):
"""
AlertRecord
""" # noqa: E501

expr: Annotated[str, Field(min_length=1, strict=True, max_length=2000)]
labels: Optional[Dict[str, Annotated[str, Field(min_length=1, strict=True)]]] = None
record: Annotated[str, Field(min_length=1, strict=True, max_length=300)]
__properties: ClassVar[List[str]] = ["expr", "labels", "record"]

model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)

def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))

def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of AlertRecord from a JSON string"""
return cls.from_dict(json.loads(json_str))

def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.

This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:

* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([])

_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict

@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of AlertRecord from a dict"""
if obj is None:
return None

if not isinstance(obj, dict):
return cls.model_validate(obj)

_obj = cls.model_validate({"expr": obj.get("expr"), "labels": obj.get("labels"), "record": obj.get("record")})
return _obj
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# coding: utf-8

"""
STACKIT Observability API

API endpoints for Observability on STACKIT

The version of the OpenAPI document: 1.1.1
Contact: stackit-argus@mail.schwarz
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
""" # noqa: E501

from __future__ import annotations

import json
import pprint
from typing import Any, ClassVar, Dict, List, Optional, Set

from pydantic import BaseModel, ConfigDict, Field
from typing_extensions import Annotated, Self

from stackit.observability.models.alert_record import AlertRecord


class AlertRecordResponse(BaseModel):
"""
AlertRecordResponse
""" # noqa: E501

data: AlertRecord
message: Annotated[str, Field(min_length=1, strict=True)]
__properties: ClassVar[List[str]] = ["data", "message"]

model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)

def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))

def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of AlertRecordResponse from a JSON string"""
return cls.from_dict(json.loads(json_str))

def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.

This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:

* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([])

_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of data
if self.data:
_dict["data"] = self.data.to_dict()
return _dict

@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of AlertRecordResponse from a dict"""
if obj is None:
return None

if not isinstance(obj, dict):
return cls.model_validate(obj)

_obj = cls.model_validate(
{
"data": AlertRecord.from_dict(obj["data"]) if obj.get("data") is not None else None,
"message": obj.get("message"),
}
)
return _obj
Loading
Loading