Skip to content

Commit 92ca829

Browse files
Generator: Update SDK /services/observability (#2355)
* Generate observability * Generate cdn * Add changelog - Deprecation warning Observability JaegerHttpTracesUrl field is now deprecated in all relevant models and will be removed after 9th April 2026. Use the new JaegerHttpUrl field instead. Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de> --------- Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de> Co-authored-by: Alexander Dahmen <alexander.dahmen@inovex.de>
1 parent b5ad144 commit 92ca829

23 files changed

+1222
-2
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
## Release (2025-xx-xx)
2+
- `observability`: [v0.11.0](services/observability/CHANGELOG.md#v0110)
3+
- **Deprecation:** The `JaegerHttpTracesUrl` field is now deprecated in all relevant models and will be removed after 9th April 2026. Use the new `JaegerHttpUrl` field instead.
4+
- `cdn`: [v1.7.0](services/cdn/CHANGELOG.md#v170)
5+
- **Feature:** Add models: `DistributionWaf`, `WafConfig`, `WAFConfigPatch`, `WAFMode`, `WAFRule`, `WAFRuleCollection`, `WAFRuleGroup` and `WAFStatusRuleBlock`
6+
- **Feature:** Add `Waf` attribute to `Config` and `Distribution`
7+
- **Feature:** Add `WafStatus` to `DistributionRequest` and `ListWafCollections`
8+
19
## Release (2025-09-30)
210
- `authorization`: [v0.4.0](services/authorization/CHANGELOG.md#v040)
311
- **Feature**: Add support for assignable subjects

services/cdn/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## v1.7.0
2+
- **Feature:** Add models: `DistributionWaf`, `WafConfig`, `WAFConfigPatch`, `WAFMode`, `WAFRule`, `WAFRuleCollection`, `WAFRuleGroup` and `WAFStatusRuleBlock`
3+
- **Feature:** Add `Waf` attribute to `Config` and `Distribution`
4+
- **Feature:** Add `WafStatus` to `DistributionRequest` and `ListWafCollections`
5+
16
## v1.6.0
27
- **Feature:** Added Attribute `LogSink` to `ConfigPatch`
38
- **Feature:** Added Attribute `Geofencing` to `DistributionPayload`, `HttpBackend` and `HttpBackendPatch`

services/cdn/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "stackit-cdn"
33

44
[tool.poetry]
55
name = "stackit-cdn"
6-
version = "v1.6.0"
6+
version = "v1.7.0"
77
authors = [
88
"STACKIT Developer Tools <developer-tools@stackit.cloud>",
99
]

services/cdn/src/stackit/cdn/__init__.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
"DistributionStatisticsRecord",
4141
"DistributionStatisticsRecordEntry",
4242
"DistributionStatisticsRecordRegions",
43+
"DistributionWaf",
4344
"Domain",
4445
"DomainStatus",
4546
"ErrorDetails",
@@ -59,6 +60,7 @@
5960
"HttpBackend",
6061
"HttpBackendPatch",
6162
"ListDistributionsResponse",
63+
"ListWAFCollectionsResponse",
6264
"LokiLogSink",
6365
"Optimizer",
6466
"OptimizerPatch",
@@ -74,6 +76,14 @@
7476
"PutCustomDomainResponseCertificate",
7577
"Region",
7678
"StatusError",
79+
"WAFRule",
80+
"WAFRuleCollection",
81+
"WAFRuleGroup",
82+
"WAFStatusRuleBlock",
83+
"WafConfig",
84+
"WafConfigPatch",
85+
"WafMode",
86+
"WafType",
7787
]
7888

7989
# import apis into sdk package
@@ -119,6 +129,7 @@
119129
from stackit.cdn.models.distribution_statistics_record_regions import (
120130
DistributionStatisticsRecordRegions as DistributionStatisticsRecordRegions,
121131
)
132+
from stackit.cdn.models.distribution_waf import DistributionWaf as DistributionWaf
122133
from stackit.cdn.models.domain import Domain as Domain
123134
from stackit.cdn.models.domain_status import DomainStatus as DomainStatus
124135
from stackit.cdn.models.error_details import ErrorDetails as ErrorDetails
@@ -164,6 +175,9 @@
164175
from stackit.cdn.models.list_distributions_response import (
165176
ListDistributionsResponse as ListDistributionsResponse,
166177
)
178+
from stackit.cdn.models.list_waf_collections_response import (
179+
ListWAFCollectionsResponse as ListWAFCollectionsResponse,
180+
)
167181
from stackit.cdn.models.loki_log_sink import LokiLogSink as LokiLogSink
168182
from stackit.cdn.models.optimizer import Optimizer as Optimizer
169183
from stackit.cdn.models.optimizer_patch import OptimizerPatch as OptimizerPatch
@@ -197,3 +211,15 @@
197211
)
198212
from stackit.cdn.models.region import Region as Region
199213
from stackit.cdn.models.status_error import StatusError as StatusError
214+
from stackit.cdn.models.waf_config import WafConfig as WafConfig
215+
from stackit.cdn.models.waf_config_patch import WafConfigPatch as WafConfigPatch
216+
from stackit.cdn.models.waf_mode import WafMode as WafMode
217+
from stackit.cdn.models.waf_rule import WAFRule as WAFRule
218+
from stackit.cdn.models.waf_rule_collection import (
219+
WAFRuleCollection as WAFRuleCollection,
220+
)
221+
from stackit.cdn.models.waf_rule_group import WAFRuleGroup as WAFRuleGroup
222+
from stackit.cdn.models.waf_status_rule_block import (
223+
WAFStatusRuleBlock as WAFStatusRuleBlock,
224+
)
225+
from stackit.cdn.models.waf_type import WafType as WafType

services/cdn/src/stackit/cdn/api/default_api.py

Lines changed: 300 additions & 0 deletions
Large diffs are not rendered by default.

services/cdn/src/stackit/cdn/models/__init__.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
from stackit.cdn.models.distribution_statistics_record_regions import (
3333
DistributionStatisticsRecordRegions,
3434
)
35+
from stackit.cdn.models.distribution_waf import DistributionWaf
3536
from stackit.cdn.models.domain import Domain
3637
from stackit.cdn.models.domain_status import DomainStatus
3738
from stackit.cdn.models.error_details import ErrorDetails
@@ -63,6 +64,7 @@
6364
from stackit.cdn.models.http_backend import HttpBackend
6465
from stackit.cdn.models.http_backend_patch import HttpBackendPatch
6566
from stackit.cdn.models.list_distributions_response import ListDistributionsResponse
67+
from stackit.cdn.models.list_waf_collections_response import ListWAFCollectionsResponse
6668
from stackit.cdn.models.loki_log_sink import LokiLogSink
6769
from stackit.cdn.models.optimizer import Optimizer
6870
from stackit.cdn.models.optimizer_patch import OptimizerPatch
@@ -86,3 +88,11 @@
8688
)
8789
from stackit.cdn.models.region import Region
8890
from stackit.cdn.models.status_error import StatusError
91+
from stackit.cdn.models.waf_config import WafConfig
92+
from stackit.cdn.models.waf_config_patch import WafConfigPatch
93+
from stackit.cdn.models.waf_mode import WafMode
94+
from stackit.cdn.models.waf_rule import WAFRule
95+
from stackit.cdn.models.waf_rule_collection import WAFRuleCollection
96+
from stackit.cdn.models.waf_rule_group import WAFRuleGroup
97+
from stackit.cdn.models.waf_status_rule_block import WAFStatusRuleBlock
98+
from stackit.cdn.models.waf_type import WafType

services/cdn/src/stackit/cdn/models/config.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from stackit.cdn.models.loki_log_sink import LokiLogSink
2525
from stackit.cdn.models.optimizer import Optimizer
2626
from stackit.cdn.models.region import Region
27+
from stackit.cdn.models.waf_config import WafConfig
2728

2829

2930
class Config(BaseModel):
@@ -53,6 +54,7 @@ class Config(BaseModel):
5354
)
5455
optimizer: Optional[Optimizer] = None
5556
regions: Annotated[List[Region], Field(min_length=1)]
57+
waf: WafConfig
5658
__properties: ClassVar[List[str]] = [
5759
"backend",
5860
"blockedCountries",
@@ -62,6 +64,7 @@ class Config(BaseModel):
6264
"monthlyLimitBytes",
6365
"optimizer",
6466
"regions",
67+
"waf",
6568
]
6669

6770
model_config = ConfigDict(
@@ -110,6 +113,9 @@ def to_dict(self) -> Dict[str, Any]:
110113
# override the default output from pydantic by calling `to_dict()` of optimizer
111114
if self.optimizer:
112115
_dict["optimizer"] = self.optimizer.to_dict()
116+
# override the default output from pydantic by calling `to_dict()` of waf
117+
if self.waf:
118+
_dict["waf"] = self.waf.to_dict()
113119
# set to None if default_cache_duration (nullable) is None
114120
# and model_fields_set contains the field
115121
if self.default_cache_duration is None and "default_cache_duration" in self.model_fields_set:
@@ -141,6 +147,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
141147
"monthlyLimitBytes": obj.get("monthlyLimitBytes"),
142148
"optimizer": Optimizer.from_dict(obj["optimizer"]) if obj.get("optimizer") is not None else None,
143149
"regions": obj.get("regions"),
150+
"waf": WafConfig.from_dict(obj["waf"]) if obj.get("waf") is not None else None,
144151
}
145152
)
146153
return _obj

services/cdn/src/stackit/cdn/models/config_patch.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from stackit.cdn.models.optimizer_patch import OptimizerPatch
2525
from stackit.cdn.models.patch_loki_log_sink import PatchLokiLogSink
2626
from stackit.cdn.models.region import Region
27+
from stackit.cdn.models.waf_config_patch import WafConfigPatch
2728

2829

2930
class ConfigPatch(BaseModel):
@@ -55,6 +56,7 @@ class ConfigPatch(BaseModel):
5556
)
5657
optimizer: Optional[OptimizerPatch] = None
5758
regions: Optional[Annotated[List[Region], Field(min_length=1)]] = None
59+
waf: Optional[WafConfigPatch] = None
5860
__properties: ClassVar[List[str]] = [
5961
"backend",
6062
"blockedCountries",
@@ -64,6 +66,7 @@ class ConfigPatch(BaseModel):
6466
"monthlyLimitBytes",
6567
"optimizer",
6668
"regions",
69+
"waf",
6770
]
6871

6972
model_config = ConfigDict(
@@ -112,6 +115,9 @@ def to_dict(self) -> Dict[str, Any]:
112115
# override the default output from pydantic by calling `to_dict()` of optimizer
113116
if self.optimizer:
114117
_dict["optimizer"] = self.optimizer.to_dict()
118+
# override the default output from pydantic by calling `to_dict()` of waf
119+
if self.waf:
120+
_dict["waf"] = self.waf.to_dict()
115121
# set to None if default_cache_duration (nullable) is None
116122
# and model_fields_set contains the field
117123
if self.default_cache_duration is None and "default_cache_duration" in self.model_fields_set:
@@ -148,6 +154,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
148154
"monthlyLimitBytes": obj.get("monthlyLimitBytes"),
149155
"optimizer": OptimizerPatch.from_dict(obj["optimizer"]) if obj.get("optimizer") is not None else None,
150156
"regions": obj.get("regions"),
157+
"waf": WafConfigPatch.from_dict(obj["waf"]) if obj.get("waf") is not None else None,
151158
}
152159
)
153160
return _obj

services/cdn/src/stackit/cdn/models/create_distribution_payload.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from stackit.cdn.models.optimizer import Optimizer
2424
from stackit.cdn.models.patch_loki_log_sink import PatchLokiLogSink
2525
from stackit.cdn.models.region import Region
26+
from stackit.cdn.models.waf_config import WafConfig
2627

2728

2829
class CreateDistributionPayload(BaseModel):
@@ -73,6 +74,7 @@ class CreateDistributionPayload(BaseModel):
7374
regions: Annotated[List[Region], Field(min_length=1)] = Field(
7475
description="Define in which regions you would like your content to be cached. "
7576
)
77+
waf: Optional[WafConfig] = None
7678
__properties: ClassVar[List[str]] = [
7779
"blockedCountries",
7880
"blockedIPs",
@@ -85,6 +87,7 @@ class CreateDistributionPayload(BaseModel):
8587
"originRequestHeaders",
8688
"originUrl",
8789
"regions",
90+
"waf",
8891
]
8992

9093
model_config = ConfigDict(
@@ -130,6 +133,9 @@ def to_dict(self) -> Dict[str, Any]:
130133
# override the default output from pydantic by calling `to_dict()` of optimizer
131134
if self.optimizer:
132135
_dict["optimizer"] = self.optimizer.to_dict()
136+
# override the default output from pydantic by calling `to_dict()` of waf
137+
if self.waf:
138+
_dict["waf"] = self.waf.to_dict()
133139
return _dict
134140

135141
@classmethod
@@ -154,6 +160,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
154160
"originRequestHeaders": obj.get("originRequestHeaders"),
155161
"originUrl": obj.get("originUrl"),
156162
"regions": obj.get("regions"),
163+
"waf": WafConfig.from_dict(obj["waf"]) if obj.get("waf") is not None else None,
157164
}
158165
)
159166
return _obj

services/cdn/src/stackit/cdn/models/distribution.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from typing_extensions import Annotated, Self
2323

2424
from stackit.cdn.models.config import Config
25+
from stackit.cdn.models.distribution_waf import DistributionWaf
2526
from stackit.cdn.models.domain import Domain
2627
from stackit.cdn.models.status_error import StatusError
2728

@@ -49,6 +50,7 @@ class Distribution(BaseModel):
4950
description="RFC3339 string which returns the last time the distribution configuration was modified. ",
5051
alias="updatedAt",
5152
)
53+
waf: Optional[DistributionWaf] = None
5254
__properties: ClassVar[List[str]] = [
5355
"config",
5456
"createdAt",
@@ -58,6 +60,7 @@ class Distribution(BaseModel):
5860
"projectId",
5961
"status",
6062
"updatedAt",
63+
"waf",
6164
]
6265

6366
@field_validator("status")
@@ -121,6 +124,9 @@ def to_dict(self) -> Dict[str, Any]:
121124
if _item:
122125
_items.append(_item.to_dict())
123126
_dict["errors"] = _items
127+
# override the default output from pydantic by calling `to_dict()` of waf
128+
if self.waf:
129+
_dict["waf"] = self.waf.to_dict()
124130
return _dict
125131

126132
@classmethod
@@ -146,6 +152,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
146152
"projectId": obj.get("projectId"),
147153
"status": obj.get("status"),
148154
"updatedAt": obj.get("updatedAt"),
155+
"waf": DistributionWaf.from_dict(obj["waf"]) if obj.get("waf") is not None else None,
149156
}
150157
)
151158
return _obj

0 commit comments

Comments
 (0)