Skip to content

Commit 95e5d31

Browse files
Generator: Update SDK /services/cdn (#3054)
* Generate cdn * fix(cdn) write changelog, bump version --------- Co-authored-by: Carlo Goetz <carlo.goetz@inovex.de>
1 parent db3ae4c commit 95e5d31

File tree

14 files changed

+407
-2
lines changed

14 files changed

+407
-2
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
- Update regular expressions to allow longer names
55
- `authorization`: [v0.7.0](services/authorization/CHANGELOG.md#v070)
66
- **Breaking change:** removed operation `get_assignable_subjects` and related models `assignable_subject`, `list_assignable_subjects_response`
7+
- `cdn`; [v2.3.0](services/cdn/CHANGELOG.md#v230)
8+
- **Feature:** Add support for `redirects` in `config`, `config_patch` and `create_distribution_payload` models
9+
- new related models `redirect_config`,` redirect_rule`, `matcher` and `match_condition`
710
- `loadbalancer`: [v0.8.1](services/loadbalancer/CHANGELOG.md#v081)
811
- Update regular expressions to allow longer names
912
- `runcommand`: [v1.1.1](services/runcommand/CHANGELOG.md#v111)

services/cdn/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## v2.3.0
2+
- **Feature:** Add support for `redirects` in `config`, `config_patch` and `create_distribution_payload` models
3+
- new related models `redirect_config`,` redirect_rule`, `matcher` and `match_condition`
4+
15
## v2.2.0
26
- **Feature:** Switch from `v1beta2` CDN API version to `v1` version.
37
- **Feature:** Add new function `GetLogsSearchFilters`

services/cdn/oas_commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
cfcfc32bc1ae335acecd7bf7ffb60354fdc565ab

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 = "v2.2.0"
6+
version = "v2.3.0"
77
authors = [
88
"STACKIT Developer Tools <developer-tools@stackit.cloud>",
99
]

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@
7575
"LokiLogSinkCreate",
7676
"LokiLogSinkCredentials",
7777
"LokiLogSinkPatch",
78+
"MatchCondition",
79+
"Matcher",
7880
"Optimizer",
7981
"OptimizerPatch",
8082
"PatchDistributionPayload",
@@ -86,6 +88,8 @@
8688
"PutCustomDomainPayloadCertificate",
8789
"PutCustomDomainResponse",
8890
"PutCustomDomainResponseCertificate",
91+
"RedirectConfig",
92+
"RedirectRule",
8993
"Region",
9094
"StatusError",
9195
"WAFRuleAction",
@@ -231,6 +235,8 @@
231235
LokiLogSinkCredentials as LokiLogSinkCredentials,
232236
)
233237
from stackit.cdn.models.loki_log_sink_patch import LokiLogSinkPatch as LokiLogSinkPatch
238+
from stackit.cdn.models.match_condition import MatchCondition as MatchCondition
239+
from stackit.cdn.models.matcher import Matcher as Matcher
234240
from stackit.cdn.models.optimizer import Optimizer as Optimizer
235241
from stackit.cdn.models.optimizer_patch import OptimizerPatch as OptimizerPatch
236242
from stackit.cdn.models.patch_distribution_payload import (
@@ -260,6 +266,8 @@
260266
from stackit.cdn.models.put_custom_domain_response_certificate import (
261267
PutCustomDomainResponseCertificate as PutCustomDomainResponseCertificate,
262268
)
269+
from stackit.cdn.models.redirect_config import RedirectConfig as RedirectConfig
270+
from stackit.cdn.models.redirect_rule import RedirectRule as RedirectRule
263271
from stackit.cdn.models.region import Region as Region
264272
from stackit.cdn.models.status_error import StatusError as StatusError
265273
from stackit.cdn.models.waf_config import WafConfig as WafConfig

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@
8585
from stackit.cdn.models.loki_log_sink_create import LokiLogSinkCreate
8686
from stackit.cdn.models.loki_log_sink_credentials import LokiLogSinkCredentials
8787
from stackit.cdn.models.loki_log_sink_patch import LokiLogSinkPatch
88+
from stackit.cdn.models.match_condition import MatchCondition
89+
from stackit.cdn.models.matcher import Matcher
8890
from stackit.cdn.models.optimizer import Optimizer
8991
from stackit.cdn.models.optimizer_patch import OptimizerPatch
9092
from stackit.cdn.models.patch_distribution_payload import PatchDistributionPayload
@@ -104,6 +106,8 @@
104106
from stackit.cdn.models.put_custom_domain_response_certificate import (
105107
PutCustomDomainResponseCertificate,
106108
)
109+
from stackit.cdn.models.redirect_config import RedirectConfig
110+
from stackit.cdn.models.redirect_rule import RedirectRule
107111
from stackit.cdn.models.region import Region
108112
from stackit.cdn.models.status_error import StatusError
109113
from stackit.cdn.models.waf_config import WafConfig

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from stackit.cdn.models.config_backend import ConfigBackend
2424
from stackit.cdn.models.loki_log_sink import LokiLogSink
2525
from stackit.cdn.models.optimizer import Optimizer
26+
from stackit.cdn.models.redirect_config import RedirectConfig
2627
from stackit.cdn.models.region import Region
2728
from stackit.cdn.models.waf_config import WafConfig
2829

@@ -53,6 +54,7 @@ class Config(BaseModel):
5354
alias="monthlyLimitBytes",
5455
)
5556
optimizer: Optional[Optimizer] = None
57+
redirects: Optional[RedirectConfig] = None
5658
regions: Annotated[List[Region], Field(min_length=1)]
5759
waf: WafConfig
5860
__properties: ClassVar[List[str]] = [
@@ -63,6 +65,7 @@ class Config(BaseModel):
6365
"logSink",
6466
"monthlyLimitBytes",
6567
"optimizer",
68+
"redirects",
6669
"regions",
6770
"waf",
6871
]
@@ -113,6 +116,9 @@ def to_dict(self) -> Dict[str, Any]:
113116
# override the default output from pydantic by calling `to_dict()` of optimizer
114117
if self.optimizer:
115118
_dict["optimizer"] = self.optimizer.to_dict()
119+
# override the default output from pydantic by calling `to_dict()` of redirects
120+
if self.redirects:
121+
_dict["redirects"] = self.redirects.to_dict()
116122
# override the default output from pydantic by calling `to_dict()` of waf
117123
if self.waf:
118124
_dict["waf"] = self.waf.to_dict()
@@ -146,6 +152,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
146152
"logSink": LokiLogSink.from_dict(obj["logSink"]) if obj.get("logSink") is not None else None,
147153
"monthlyLimitBytes": obj.get("monthlyLimitBytes"),
148154
"optimizer": Optimizer.from_dict(obj["optimizer"]) if obj.get("optimizer") is not None else None,
155+
"redirects": RedirectConfig.from_dict(obj["redirects"]) if obj.get("redirects") is not None else None,
149156
"regions": obj.get("regions"),
150157
"waf": WafConfig.from_dict(obj["waf"]) if obj.get("waf") is not None else None,
151158
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from stackit.cdn.models.config_patch_backend import ConfigPatchBackend
2424
from stackit.cdn.models.loki_log_sink_patch import LokiLogSinkPatch
2525
from stackit.cdn.models.optimizer_patch import OptimizerPatch
26+
from stackit.cdn.models.redirect_config import RedirectConfig
2627
from stackit.cdn.models.region import Region
2728
from stackit.cdn.models.waf_config_patch import WafConfigPatch
2829

@@ -55,6 +56,7 @@ class ConfigPatch(BaseModel):
5556
alias="monthlyLimitBytes",
5657
)
5758
optimizer: Optional[OptimizerPatch] = None
59+
redirects: Optional[RedirectConfig] = None
5860
regions: Optional[Annotated[List[Region], Field(min_length=1)]] = None
5961
waf: Optional[WafConfigPatch] = None
6062
__properties: ClassVar[List[str]] = [
@@ -65,6 +67,7 @@ class ConfigPatch(BaseModel):
6567
"logSink",
6668
"monthlyLimitBytes",
6769
"optimizer",
70+
"redirects",
6871
"regions",
6972
"waf",
7073
]
@@ -115,6 +118,9 @@ def to_dict(self) -> Dict[str, Any]:
115118
# override the default output from pydantic by calling `to_dict()` of optimizer
116119
if self.optimizer:
117120
_dict["optimizer"] = self.optimizer.to_dict()
121+
# override the default output from pydantic by calling `to_dict()` of redirects
122+
if self.redirects:
123+
_dict["redirects"] = self.redirects.to_dict()
118124
# override the default output from pydantic by calling `to_dict()` of waf
119125
if self.waf:
120126
_dict["waf"] = self.waf.to_dict()
@@ -153,6 +159,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
153159
"logSink": LokiLogSinkPatch.from_dict(obj["logSink"]) if obj.get("logSink") is not None else None,
154160
"monthlyLimitBytes": obj.get("monthlyLimitBytes"),
155161
"optimizer": OptimizerPatch.from_dict(obj["optimizer"]) if obj.get("optimizer") is not None else None,
162+
"redirects": RedirectConfig.from_dict(obj["redirects"]) if obj.get("redirects") is not None else None,
156163
"regions": obj.get("regions"),
157164
"waf": WafConfigPatch.from_dict(obj["waf"]) if obj.get("waf") is not None else None,
158165
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
)
2626
from stackit.cdn.models.loki_log_sink_create import LokiLogSinkCreate
2727
from stackit.cdn.models.optimizer import Optimizer
28+
from stackit.cdn.models.redirect_config import RedirectConfig
2829
from stackit.cdn.models.region import Region
2930
from stackit.cdn.models.waf_config import WafConfig
3031

@@ -62,6 +63,7 @@ class CreateDistributionPayload(BaseModel):
6263
alias="monthlyLimitBytes",
6364
)
6465
optimizer: Optional[Optimizer] = None
66+
redirects: Optional[RedirectConfig] = None
6567
regions: Annotated[List[Region], Field(min_length=1)] = Field(
6668
description="Define in which regions you would like your content to be cached. "
6769
)
@@ -75,6 +77,7 @@ class CreateDistributionPayload(BaseModel):
7577
"logSink",
7678
"monthlyLimitBytes",
7779
"optimizer",
80+
"redirects",
7881
"regions",
7982
"waf",
8083
]
@@ -125,6 +128,9 @@ def to_dict(self) -> Dict[str, Any]:
125128
# override the default output from pydantic by calling `to_dict()` of optimizer
126129
if self.optimizer:
127130
_dict["optimizer"] = self.optimizer.to_dict()
131+
# override the default output from pydantic by calling `to_dict()` of redirects
132+
if self.redirects:
133+
_dict["redirects"] = self.redirects.to_dict()
128134
# override the default output from pydantic by calling `to_dict()` of waf
129135
if self.waf:
130136
_dict["waf"] = self.waf.to_dict()
@@ -153,6 +159,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
153159
"logSink": LokiLogSinkCreate.from_dict(obj["logSink"]) if obj.get("logSink") is not None else None,
154160
"monthlyLimitBytes": obj.get("monthlyLimitBytes"),
155161
"optimizer": Optimizer.from_dict(obj["optimizer"]) if obj.get("optimizer") is not None else None,
162+
"redirects": RedirectConfig.from_dict(obj["redirects"]) if obj.get("redirects") is not None else None,
156163
"regions": obj.get("regions"),
157164
"waf": WafConfig.from_dict(obj["waf"]) if obj.get("waf") is not None else None,
158165
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# coding: utf-8
2+
3+
"""
4+
CDN API
5+
6+
API used to create and manage your CDN distributions.
7+
8+
The version of the OpenAPI document: 1.0.0
9+
Generated by OpenAPI Generator (https://openapi-generator.tech)
10+
11+
Do not edit the class manually.
12+
""" # noqa: E501
13+
14+
from __future__ import annotations
15+
16+
import json
17+
from enum import Enum
18+
19+
from typing_extensions import Self
20+
21+
22+
class MatchCondition(str, Enum):
23+
"""
24+
Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
25+
"""
26+
27+
"""
28+
allowed enum values
29+
"""
30+
ANY = "ANY"
31+
ALL = "ALL"
32+
NONE = "NONE"
33+
34+
@classmethod
35+
def from_json(cls, json_str: str) -> Self:
36+
"""Create an instance of MatchCondition from a JSON string"""
37+
return cls(json.loads(json_str))

0 commit comments

Comments
 (0)