stackit-observability 0.4.1__tar.gz → 0.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/PKG-INFO +1 -1
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/pyproject.toml +1 -1
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_alert_config_receiver_payload_email_configs_inner.py +14 -2
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_alert_config_receiver_payload_opsgenie_configs_inner.py +17 -3
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_alert_config_receiver_payload_web_hook_configs_inner.py +9 -2
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_alert_config_route_payload.py +8 -1
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_alert_config_route_payload_routes_inner.py +9 -1
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/route.py +5 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_alert_config_route_payload.py +8 -1
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_alert_configs_payload_route.py +8 -1
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/LICENSE.md +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/NOTICE.txt +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/README.md +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/__init__.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/api/__init__.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/api/default_api.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/api_client.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/api_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/configuration.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/exceptions.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/__init__.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/alert.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/alert_config_receivers_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/alert_config_route_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/alert_group.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/alert_group_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/alert_groups_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/alert_rule.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/alert_rule_record.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/alert_rules_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/basic_auth.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_alert_config_receiver_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_alertgroups_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_alertrules_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_credentials_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_instance_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_instance_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_logs_alertgroups_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_scrape_config_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_scrape_config_payload_basic_auth.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_scrape_config_payload_http_sd_configs_inner.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_scrape_config_payload_http_sd_configs_inner_oauth2.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_scrape_config_payload_http_sd_configs_inner_oauth2_tls_config.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_scrape_config_payload_metrics_relabel_configs_inner.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/create_scrape_config_payload_static_configs_inner.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/credentials.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/credentials_remote_write_config.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/credentials_remote_write_delete_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/delete_scrape_config_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/email_config.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/error.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/get_alert_configs_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/get_credentials_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/get_instance_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/get_metrics_storage_retention_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/get_scrape_config_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/grafana_configs.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/grafana_oauth.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/http_service_sd.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/inhibit_rules.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/instance.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/instance_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/instance_sensitive_data.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/job.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/list_acl_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/list_credentials_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/list_instances_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/list_scrape_configs_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/message.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/metrics_relabel_config.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/model_global.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/o_auth2.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/opsgenie_config.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/permission_denied.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/plan.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/plan_model.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/plans_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/project_instance_full.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/receiver.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/receivers.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/route_serializer.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/scrape_configs_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/service_keys_list.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/static_configs.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/tls_config.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_acl_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_alert_config_receiver_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_alert_configs_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_alert_configs_payload_global.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_alert_configs_payload_inhibit_rules.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_alert_configs_payload_receivers_inner.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_alert_configs_response.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_alertgroup_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_alertgroups_request_inner.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_alertgroups_request_inner_rules_inner.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_credentials_remote_write_config_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_grafana_configs_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_grafana_configs_payload_generic_oauth.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_instance_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_logs_alertgroup_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_metrics_storage_retention_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_scrape_config_payload.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/update_scrape_config_payload_static_configs_inner.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/web_hook.py +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/py.typed +0 -0
- {stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/rest.py +0 -0
|
@@ -18,7 +18,7 @@ import json
|
|
|
18
18
|
import pprint
|
|
19
19
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
20
20
|
|
|
21
|
-
from pydantic import BaseModel, ConfigDict, Field
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
|
22
22
|
from typing_extensions import Annotated, Self
|
|
23
23
|
|
|
24
24
|
|
|
@@ -43,6 +43,9 @@ class CreateAlertConfigReceiverPayloadEmailConfigsInner(BaseModel):
|
|
|
43
43
|
description="The sender address. `Additional Validators:` * must be a syntactically valid email address",
|
|
44
44
|
alias="from",
|
|
45
45
|
)
|
|
46
|
+
send_resolved: Optional[StrictBool] = Field(
|
|
47
|
+
default=False, description="Whether to notify about resolved alerts.", alias="sendResolved"
|
|
48
|
+
)
|
|
46
49
|
smarthost: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=200)]] = Field(
|
|
47
50
|
default=None,
|
|
48
51
|
description="The SMTP host through which emails are sent. `Additional Validators:` * should only include the characters: a-zA-Z0-9_./@&?:-",
|
|
@@ -51,7 +54,15 @@ class CreateAlertConfigReceiverPayloadEmailConfigsInner(BaseModel):
|
|
|
51
54
|
default=None,
|
|
52
55
|
description="The email address to send notifications to. `Additional Validators:` * must be a syntactically valid email address",
|
|
53
56
|
)
|
|
54
|
-
__properties: ClassVar[List[str]] = [
|
|
57
|
+
__properties: ClassVar[List[str]] = [
|
|
58
|
+
"authIdentity",
|
|
59
|
+
"authPassword",
|
|
60
|
+
"authUsername",
|
|
61
|
+
"from",
|
|
62
|
+
"sendResolved",
|
|
63
|
+
"smarthost",
|
|
64
|
+
"to",
|
|
65
|
+
]
|
|
55
66
|
|
|
56
67
|
model_config = ConfigDict(
|
|
57
68
|
populate_by_name=True,
|
|
@@ -107,6 +118,7 @@ class CreateAlertConfigReceiverPayloadEmailConfigsInner(BaseModel):
|
|
|
107
118
|
"authPassword": obj.get("authPassword"),
|
|
108
119
|
"authUsername": obj.get("authUsername"),
|
|
109
120
|
"from": obj.get("from"),
|
|
121
|
+
"sendResolved": obj.get("sendResolved") if obj.get("sendResolved") is not None else False,
|
|
110
122
|
"smarthost": obj.get("smarthost"),
|
|
111
123
|
"to": obj.get("to"),
|
|
112
124
|
}
|
|
@@ -18,7 +18,7 @@ import json
|
|
|
18
18
|
import pprint
|
|
19
19
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
20
20
|
|
|
21
|
-
from pydantic import BaseModel, ConfigDict, Field
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
|
22
22
|
from typing_extensions import Annotated, Self
|
|
23
23
|
|
|
24
24
|
|
|
@@ -37,10 +37,16 @@ class CreateAlertConfigReceiverPayloadOpsgenieConfigsInner(BaseModel):
|
|
|
37
37
|
description="The host to send OpsGenie API requests to. `Additional Validators:` * must be a syntactically valid url address",
|
|
38
38
|
alias="apiUrl",
|
|
39
39
|
)
|
|
40
|
+
priority: Optional[Annotated[str, Field(min_length=2, strict=True, max_length=2)]] = Field(
|
|
41
|
+
default=None, description="Priority level of alert. Possible values are P1, P2, P3, P4, and P5."
|
|
42
|
+
)
|
|
43
|
+
send_resolved: Optional[StrictBool] = Field(
|
|
44
|
+
default=True, description="Whether to notify about resolved alerts.", alias="sendResolved"
|
|
45
|
+
)
|
|
40
46
|
tags: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=400)]] = Field(
|
|
41
47
|
default=None, description="Comma separated list of tags attached to the notifications."
|
|
42
48
|
)
|
|
43
|
-
__properties: ClassVar[List[str]] = ["apiKey", "apiUrl", "tags"]
|
|
49
|
+
__properties: ClassVar[List[str]] = ["apiKey", "apiUrl", "priority", "sendResolved", "tags"]
|
|
44
50
|
|
|
45
51
|
model_config = ConfigDict(
|
|
46
52
|
populate_by_name=True,
|
|
@@ -90,5 +96,13 @@ class CreateAlertConfigReceiverPayloadOpsgenieConfigsInner(BaseModel):
|
|
|
90
96
|
if not isinstance(obj, dict):
|
|
91
97
|
return cls.model_validate(obj)
|
|
92
98
|
|
|
93
|
-
_obj = cls.model_validate(
|
|
99
|
+
_obj = cls.model_validate(
|
|
100
|
+
{
|
|
101
|
+
"apiKey": obj.get("apiKey"),
|
|
102
|
+
"apiUrl": obj.get("apiUrl"),
|
|
103
|
+
"priority": obj.get("priority"),
|
|
104
|
+
"sendResolved": obj.get("sendResolved") if obj.get("sendResolved") is not None else True,
|
|
105
|
+
"tags": obj.get("tags"),
|
|
106
|
+
}
|
|
107
|
+
)
|
|
94
108
|
return _obj
|
|
@@ -32,11 +32,14 @@ class CreateAlertConfigReceiverPayloadWebHookConfigsInner(BaseModel):
|
|
|
32
32
|
description="Microsoft Teams webhooks require special handling. If you set this property to true, it is treated as such",
|
|
33
33
|
alias="msTeams",
|
|
34
34
|
)
|
|
35
|
+
send_resolved: Optional[StrictBool] = Field(
|
|
36
|
+
default=True, description="Whether to notify about resolved alerts.", alias="sendResolved"
|
|
37
|
+
)
|
|
35
38
|
url: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=500)]] = Field(
|
|
36
39
|
default=None,
|
|
37
40
|
description="The endpoint to send HTTP POST requests to. `Additional Validators:` * must be a syntactically valid url address",
|
|
38
41
|
)
|
|
39
|
-
__properties: ClassVar[List[str]] = ["msTeams", "url"]
|
|
42
|
+
__properties: ClassVar[List[str]] = ["msTeams", "sendResolved", "url"]
|
|
40
43
|
|
|
41
44
|
model_config = ConfigDict(
|
|
42
45
|
populate_by_name=True,
|
|
@@ -87,6 +90,10 @@ class CreateAlertConfigReceiverPayloadWebHookConfigsInner(BaseModel):
|
|
|
87
90
|
return cls.model_validate(obj)
|
|
88
91
|
|
|
89
92
|
_obj = cls.model_validate(
|
|
90
|
-
{
|
|
93
|
+
{
|
|
94
|
+
"msTeams": obj.get("msTeams") if obj.get("msTeams") is not None else False,
|
|
95
|
+
"sendResolved": obj.get("sendResolved") if obj.get("sendResolved") is not None else True,
|
|
96
|
+
"url": obj.get("url"),
|
|
97
|
+
}
|
|
91
98
|
)
|
|
92
99
|
return _obj
|
|
@@ -18,7 +18,7 @@ import json
|
|
|
18
18
|
import pprint
|
|
19
19
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
20
20
|
|
|
21
|
-
from pydantic import BaseModel, ConfigDict, Field
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
|
22
22
|
from typing_extensions import Annotated, Self
|
|
23
23
|
|
|
24
24
|
from stackit.observability.models.create_alert_config_route_payload_routes_inner import (
|
|
@@ -31,6 +31,11 @@ class CreateAlertConfigRoutePayload(BaseModel):
|
|
|
31
31
|
The root node of the routing tree.
|
|
32
32
|
"""
|
|
33
33
|
|
|
34
|
+
var_continue: Optional[StrictBool] = Field(
|
|
35
|
+
default=False,
|
|
36
|
+
description="Whether an alert should continue matching subsequent sibling nodes.",
|
|
37
|
+
alias="continue",
|
|
38
|
+
)
|
|
34
39
|
group_by: Optional[List[Annotated[str, Field(min_length=1, strict=True, max_length=200)]]] = Field(
|
|
35
40
|
default=None,
|
|
36
41
|
description="The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.",
|
|
@@ -71,6 +76,7 @@ class CreateAlertConfigRoutePayload(BaseModel):
|
|
|
71
76
|
default=None, description="Zero or more child routes."
|
|
72
77
|
)
|
|
73
78
|
__properties: ClassVar[List[str]] = [
|
|
79
|
+
"continue",
|
|
74
80
|
"groupBy",
|
|
75
81
|
"groupInterval",
|
|
76
82
|
"groupWait",
|
|
@@ -139,6 +145,7 @@ class CreateAlertConfigRoutePayload(BaseModel):
|
|
|
139
145
|
|
|
140
146
|
_obj = cls.model_validate(
|
|
141
147
|
{
|
|
148
|
+
"continue": obj.get("continue") if obj.get("continue") is not None else False,
|
|
142
149
|
"groupBy": obj.get("groupBy"),
|
|
143
150
|
"groupInterval": obj.get("groupInterval") if obj.get("groupInterval") is not None else "5m",
|
|
144
151
|
"groupWait": obj.get("groupWait") if obj.get("groupWait") is not None else "30s",
|
|
@@ -18,7 +18,7 @@ import json
|
|
|
18
18
|
import pprint
|
|
19
19
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
20
20
|
|
|
21
|
-
from pydantic import BaseModel, ConfigDict, Field
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
|
22
22
|
from typing_extensions import Annotated, Self
|
|
23
23
|
|
|
24
24
|
|
|
@@ -27,6 +27,7 @@ class CreateAlertConfigRoutePayloadRoutesInner(BaseModel):
|
|
|
27
27
|
As in one level above
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
|
+
var_continue: Optional[StrictBool] = Field(default=False, description="As in one level above", alias="continue")
|
|
30
31
|
group_by: Optional[List[Annotated[str, Field(min_length=1, strict=True, max_length=200)]]] = Field(
|
|
31
32
|
default=None, alias="groupBy"
|
|
32
33
|
)
|
|
@@ -38,6 +39,9 @@ class CreateAlertConfigRoutePayloadRoutesInner(BaseModel):
|
|
|
38
39
|
)
|
|
39
40
|
match: Optional[Dict[str, Any]] = Field(default=None, description="As in one level above")
|
|
40
41
|
match_re: Optional[Dict[str, Any]] = Field(default=None, description="As in one level above", alias="matchRe")
|
|
42
|
+
matchers: Optional[List[Annotated[str, Field(min_length=1, strict=True, max_length=200)]]] = Field(
|
|
43
|
+
default=None, description="As in one level above"
|
|
44
|
+
)
|
|
41
45
|
receiver: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=100)]] = Field(
|
|
42
46
|
default=None, description="As in one level above"
|
|
43
47
|
)
|
|
@@ -46,11 +50,13 @@ class CreateAlertConfigRoutePayloadRoutesInner(BaseModel):
|
|
|
46
50
|
)
|
|
47
51
|
routes: Optional[List[Dict[str, Any]]] = Field(default=None, description="Another child routes")
|
|
48
52
|
__properties: ClassVar[List[str]] = [
|
|
53
|
+
"continue",
|
|
49
54
|
"groupBy",
|
|
50
55
|
"groupInterval",
|
|
51
56
|
"groupWait",
|
|
52
57
|
"match",
|
|
53
58
|
"matchRe",
|
|
59
|
+
"matchers",
|
|
54
60
|
"receiver",
|
|
55
61
|
"repeatInterval",
|
|
56
62
|
"routes",
|
|
@@ -106,11 +112,13 @@ class CreateAlertConfigRoutePayloadRoutesInner(BaseModel):
|
|
|
106
112
|
|
|
107
113
|
_obj = cls.model_validate(
|
|
108
114
|
{
|
|
115
|
+
"continue": obj.get("continue") if obj.get("continue") is not None else False,
|
|
109
116
|
"groupBy": obj.get("groupBy"),
|
|
110
117
|
"groupInterval": obj.get("groupInterval"),
|
|
111
118
|
"groupWait": obj.get("groupWait"),
|
|
112
119
|
"match": obj.get("match"),
|
|
113
120
|
"matchRe": obj.get("matchRe"),
|
|
121
|
+
"matchers": obj.get("matchers"),
|
|
114
122
|
"receiver": obj.get("receiver"),
|
|
115
123
|
"repeatInterval": obj.get("repeatInterval"),
|
|
116
124
|
"routes": obj.get("routes"),
|
|
@@ -43,6 +43,9 @@ class Route(BaseModel):
|
|
|
43
43
|
match_re: Optional[Dict[str, Annotated[str, Field(min_length=1, strict=True, max_length=200)]]] = Field(
|
|
44
44
|
default=None, alias="matchRe"
|
|
45
45
|
)
|
|
46
|
+
matchers: Optional[
|
|
47
|
+
Annotated[List[Annotated[str, Field(min_length=1, strict=True, max_length=200)]], Field(max_length=5)]
|
|
48
|
+
] = None
|
|
46
49
|
receiver: Annotated[str, Field(min_length=1, strict=True, max_length=200)]
|
|
47
50
|
repeat_interval: Optional[Annotated[str, Field(min_length=2, strict=True, max_length=8)]] = Field(
|
|
48
51
|
default="4h", alias="repeatInterval"
|
|
@@ -55,6 +58,7 @@ class Route(BaseModel):
|
|
|
55
58
|
"groupWait",
|
|
56
59
|
"match",
|
|
57
60
|
"matchRe",
|
|
61
|
+
"matchers",
|
|
58
62
|
"receiver",
|
|
59
63
|
"repeatInterval",
|
|
60
64
|
"routes",
|
|
@@ -123,6 +127,7 @@ class Route(BaseModel):
|
|
|
123
127
|
"groupWait": obj.get("groupWait") if obj.get("groupWait") is not None else "30s",
|
|
124
128
|
"match": obj.get("match"),
|
|
125
129
|
"matchRe": obj.get("matchRe"),
|
|
130
|
+
"matchers": obj.get("matchers"),
|
|
126
131
|
"receiver": obj.get("receiver"),
|
|
127
132
|
"repeatInterval": obj.get("repeatInterval") if obj.get("repeatInterval") is not None else "4h",
|
|
128
133
|
"routes": (
|
|
@@ -18,7 +18,7 @@ import json
|
|
|
18
18
|
import pprint
|
|
19
19
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
20
20
|
|
|
21
|
-
from pydantic import BaseModel, ConfigDict, Field
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
|
22
22
|
from typing_extensions import Annotated, Self
|
|
23
23
|
|
|
24
24
|
from stackit.observability.models.create_alert_config_route_payload_routes_inner import (
|
|
@@ -31,6 +31,11 @@ class UpdateAlertConfigRoutePayload(BaseModel):
|
|
|
31
31
|
The root node of the routing tree.
|
|
32
32
|
"""
|
|
33
33
|
|
|
34
|
+
var_continue: Optional[StrictBool] = Field(
|
|
35
|
+
default=False,
|
|
36
|
+
description="Whether an alert should continue matching subsequent sibling nodes.",
|
|
37
|
+
alias="continue",
|
|
38
|
+
)
|
|
34
39
|
group_by: Optional[List[Annotated[str, Field(min_length=1, strict=True, max_length=200)]]] = Field(
|
|
35
40
|
default=None,
|
|
36
41
|
description="The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.",
|
|
@@ -71,6 +76,7 @@ class UpdateAlertConfigRoutePayload(BaseModel):
|
|
|
71
76
|
default=None, description="Zero or more child routes."
|
|
72
77
|
)
|
|
73
78
|
__properties: ClassVar[List[str]] = [
|
|
79
|
+
"continue",
|
|
74
80
|
"groupBy",
|
|
75
81
|
"groupInterval",
|
|
76
82
|
"groupWait",
|
|
@@ -139,6 +145,7 @@ class UpdateAlertConfigRoutePayload(BaseModel):
|
|
|
139
145
|
|
|
140
146
|
_obj = cls.model_validate(
|
|
141
147
|
{
|
|
148
|
+
"continue": obj.get("continue") if obj.get("continue") is not None else False,
|
|
142
149
|
"groupBy": obj.get("groupBy"),
|
|
143
150
|
"groupInterval": obj.get("groupInterval") if obj.get("groupInterval") is not None else "5m",
|
|
144
151
|
"groupWait": obj.get("groupWait") if obj.get("groupWait") is not None else "30s",
|
|
@@ -18,7 +18,7 @@ import json
|
|
|
18
18
|
import pprint
|
|
19
19
|
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
20
20
|
|
|
21
|
-
from pydantic import BaseModel, ConfigDict, Field
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
|
22
22
|
from typing_extensions import Annotated, Self
|
|
23
23
|
|
|
24
24
|
from stackit.observability.models.create_alert_config_route_payload_routes_inner import (
|
|
@@ -31,6 +31,11 @@ class UpdateAlertConfigsPayloadRoute(BaseModel):
|
|
|
31
31
|
The root node of the routing tree.
|
|
32
32
|
"""
|
|
33
33
|
|
|
34
|
+
var_continue: Optional[StrictBool] = Field(
|
|
35
|
+
default=False,
|
|
36
|
+
description="Whether an alert should continue matching subsequent sibling nodes.",
|
|
37
|
+
alias="continue",
|
|
38
|
+
)
|
|
34
39
|
group_by: Optional[List[Annotated[str, Field(min_length=1, strict=True, max_length=200)]]] = Field(
|
|
35
40
|
default=None,
|
|
36
41
|
description="The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.",
|
|
@@ -71,6 +76,7 @@ class UpdateAlertConfigsPayloadRoute(BaseModel):
|
|
|
71
76
|
default=None, description="Zero or more child routes."
|
|
72
77
|
)
|
|
73
78
|
__properties: ClassVar[List[str]] = [
|
|
79
|
+
"continue",
|
|
74
80
|
"groupBy",
|
|
75
81
|
"groupInterval",
|
|
76
82
|
"groupWait",
|
|
@@ -139,6 +145,7 @@ class UpdateAlertConfigsPayloadRoute(BaseModel):
|
|
|
139
145
|
|
|
140
146
|
_obj = cls.model_validate(
|
|
141
147
|
{
|
|
148
|
+
"continue": obj.get("continue") if obj.get("continue") is not None else False,
|
|
142
149
|
"groupBy": obj.get("groupBy"),
|
|
143
150
|
"groupInterval": obj.get("groupInterval") if obj.get("groupInterval") is not None else "5m",
|
|
144
151
|
"groupWait": obj.get("groupWait") if obj.get("groupWait") is not None else "30s",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/api_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/job.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/models/plan.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/py.typed
RENAMED
|
File without changes
|
{stackit_observability-0.4.1 → stackit_observability-0.5.0}/src/stackit/observability/rest.py
RENAMED
|
File without changes
|