Skip to content

Commit 8e626a2

Browse files
authored
Merge branch 'main' into dependabot/uv/services/alb/cryptography-50.0.0
2 parents 2b9af6e + 6050f28 commit 8e626a2

127 files changed

Lines changed: 283 additions & 217 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎CHANGELOG.md‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,31 @@
99
- `automation`:
1010
- [v0.1.0](services/automation/CHANGELOG.md#v010)
1111
- Initial onboarding of STACKIT Python SDK for Automation service
12+
- `dns`:
13+
- [v0.10.0](services/dns/CHANGELOG.md#v0100)
14+
- **Feature:** New `labels_map` field (`Dict[str, str]`) on `CreateZonePayload`, `PartialUpdateZonePayload`, and `Zone` to manage zone labels as a map (max 64 items)
15+
- **Deprecation:** `create_label`, `delete_label`, `list_labels` operations are now deprecated and scheduled for sunset on 2027-10-01; use the `labels_map` field on the `Zone` resource instead
16+
- **Improvement:** `list_record_sets`/`list_zones` docs clarify that records/zones in the `DELETE_SUCCEEDED` state are excluded by default; pass `state[eq]=DELETE_SUCCEEDED` to retrieve them
17+
- **Improvement:** `Label.key`/`CreateLabelPayload.key` now accepts up to 314 characters (previously 63), supporting prefixed label keys (e.g. `example.com/environment`)
18+
- **Breaking Change:** `PartialUpdateZonePayload.extensions` type changed from `ZoneExtensions` to `DomainExtensions`, now also exposing `observability_extension.state`
1219
- `objectstorage`:
1320
- [v1.6.0](services/objectstorage/CHANGELOG.md#v160)
1421
- **Feature:** New model class `RateLimitError`
1522
- **Improvement:** Add HTTP 429 rate limit error responses in API operations
1623
- **Breaking Change:** Field `expires` in `AccessKey` model is now optional (`Optional[StrictStr]`)
1724
- **Improvement:** Field `expires` in `CreateAccessKeyPayload` model now supports explicit `None` serialization
25+
- `rabbitmq`:
26+
- [v1.4.0](services/rabbitmq/CHANGELOG.md#v140)
27+
- **Breaking Change:** `rabbitmq_tracing` removed from the allowed values for `InstanceParameters.plugins`; passing it now raises a `ValueError`
1828
- `resourcemanager`
1929
- [v0.11.1](services/resourcemanager/CHANGELOG.md#0111)
2030
- Update descriptions of `labels` attributes in model classes
2131
- `telemetryrouter`:
2232
- [v0.6.0](services/telemetryrouter/CHANGELOG.md#v060)
2333
- **Feature:** Add `disabled` field to `ConfigFilter` to allow disabling a filter without removing it
34+
- `valkey`:
35+
- [v0.2.2](services/valkey/CHANGELOG.md#v022)
36+
- **Docs:** `InstanceParameters.min_replicas_to_write` doc comment now notes it should not be greater than the number of nodes (e.g. 1 or 3)
2437
- `vpn`:
2538
- [v0.7.3](services/vpn/CHANGELOG.md#v073)
2639
- **Improvement:** Relax maximum `rekey_time` validation to `86400` (previously `28800`) in `TunnelConfigurationPhase1`

‎core/uv.lock‎

Lines changed: 48 additions & 48 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎services/dns/CHANGELOG.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
## v0.10.0
2+
- **Feature:** New `labels_map` field (`Dict[str, str]`) on `CreateZonePayload`, `PartialUpdateZonePayload`, and `Zone` to manage zone labels as a map (max 64 items)
3+
- **Deprecation:** `create_label`, `delete_label`, `list_labels` operations are now deprecated and scheduled for sunset on 2027-10-01; use the `labels_map` field on the `Zone` resource instead
4+
- **Improvement:** `list_record_sets`/`list_zones` docs clarify that records/zones in the `DELETE_SUCCEEDED` state are excluded by default; pass `state[eq]=DELETE_SUCCEEDED` to retrieve them
5+
- **Improvement:** `Label.key`/`CreateLabelPayload.key` now accepts up to 314 characters (previously 63), supporting prefixed label keys (e.g. `example.com/environment`)
6+
- **Breaking Change:** `PartialUpdateZonePayload.extensions` type changed from `ZoneExtensions` to `DomainExtensions`, now also exposing `observability_extension.state`
7+
18
## v0.9.0
29
- **Feature:** `create_move_code` operation now accepts an optional `CreateMoveCodePayload` request body (field `ttl`) to configure the move code's validity duration
310
- **Breaking Change:** `DomainObservabilityExtension.state` now validates against a fixed set of values (`CREATING`, `CREATE_SUCCEEDED`, `ERROR`); previously any string was accepted

‎services/dns/oas_commit‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1fdef398bea59d49731a7d9ac39394ba5b6bb72c
1+
7db6460b25eee93a646427ec41a08f06d75615d3

‎services/dns/pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "stackit-dns"
3-
version = "v0.9.0"
3+
version = "v0.10.0"
44
description = "STACKIT DNS API"
55
authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }]
66
requires-python = ">=3.10,<4.0"

‎services/dns/src/stackit/dns/api/default_api.py‎

Lines changed: 58 additions & 36 deletions
Large diffs are not rendered by default.

‎services/dns/src/stackit/dns/models/create_label_payload.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class CreateLabelPayload(BaseModel):
2828
CreateLabelPayload
2929
""" # noqa: E501
3030

31-
key: Annotated[str, Field(min_length=1, strict=True, max_length=63)]
31+
key: Annotated[str, Field(min_length=1, strict=True, max_length=314)]
3232
value: Optional[Annotated[str, Field(strict=True, max_length=63)]] = None
3333
__properties: ClassVar[List[str]] = ["key", "value"]
3434

‎services/dns/src/stackit/dns/models/create_zone_payload.py‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ class CreateZonePayload(BaseModel):
6060
is_reverse_zone: Optional[StrictBool] = Field(
6161
default=False, description="if the zone is a reverse zone or not", alias="isReverseZone"
6262
)
63+
labels_map: Optional[Dict[str, StrictStr]] = Field(
64+
default=None,
65+
description="labels for the zone - max 64 items. Keys: 1-314 chars (up to 250 prefix, 1 for slash, 1-63 the actual key). Values: 0-63 chars.",
66+
alias="labelsMap",
67+
)
6368
name: Annotated[str, Field(min_length=1, strict=True, max_length=63)] = Field(description="user given name")
6469
negative_cache: Optional[Annotated[int, Field(strict=True, ge=60)]] = Field(
6570
default=None, description="negative caching", alias="negativeCache"
@@ -81,6 +86,7 @@ class CreateZonePayload(BaseModel):
8186
"expireTime",
8287
"extensions",
8388
"isReverseZone",
89+
"labelsMap",
8490
"name",
8591
"negativeCache",
8692
"primaries",
@@ -164,6 +170,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
164170
ZoneExtensions.from_dict(obj["extensions"]) if obj.get("extensions") is not None else None
165171
),
166172
"isReverseZone": obj.get("isReverseZone") if obj.get("isReverseZone") is not None else False,
173+
"labelsMap": obj.get("labelsMap"),
167174
"name": obj.get("name"),
168175
"negativeCache": obj.get("negativeCache"),
169176
"primaries": obj.get("primaries"),

‎services/dns/src/stackit/dns/models/label.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class Label(BaseModel):
2828
Label
2929
""" # noqa: E501
3030

31-
key: Annotated[str, Field(min_length=1, strict=True, max_length=63)]
31+
key: Annotated[str, Field(min_length=1, strict=True, max_length=314)]
3232
value: Optional[Annotated[str, Field(strict=True, max_length=63)]] = None
3333
__properties: ClassVar[List[str]] = ["key", "value"]
3434

‎services/dns/src/stackit/dns/models/partial_update_zone_payload.py‎

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from pydantic_core import to_jsonable_python
2323
from typing_extensions import Annotated, Self
2424

25-
from stackit.dns.models.zone_extensions import ZoneExtensions
25+
from stackit.dns.models.domain_extensions import DomainExtensions
2626

2727

2828
class PartialUpdateZonePayload(BaseModel):
@@ -46,7 +46,12 @@ class PartialUpdateZonePayload(BaseModel):
4646
expire_time: Optional[Annotated[int, Field(strict=True, ge=60)]] = Field(
4747
default=1209600, description="expire time", alias="expireTime"
4848
)
49-
extensions: Optional[ZoneExtensions] = Field(default=None, description="optional extensions")
49+
extensions: Optional[DomainExtensions] = Field(default=None, description="optional extensions")
50+
labels_map: Optional[Dict[str, StrictStr]] = Field(
51+
default=None,
52+
description="labels for the zone - max 64 items. Keys: 1-314 chars (up to 250 prefix, 1 for slash, 1-63 the actual key). Values: 0-63 chars.",
53+
alias="labelsMap",
54+
)
5055
name: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=63)]] = Field(
5156
default=None, description="user given name"
5257
)
@@ -67,6 +72,7 @@ class PartialUpdateZonePayload(BaseModel):
6772
"description",
6873
"expireTime",
6974
"extensions",
75+
"labelsMap",
7076
"name",
7177
"negativeCache",
7278
"primaries",
@@ -135,8 +141,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
135141
"description": obj.get("description"),
136142
"expireTime": obj.get("expireTime") if obj.get("expireTime") is not None else 1209600,
137143
"extensions": (
138-
ZoneExtensions.from_dict(obj["extensions"]) if obj.get("extensions") is not None else None
144+
DomainExtensions.from_dict(obj["extensions"]) if obj.get("extensions") is not None else None
139145
),
146+
"labelsMap": obj.get("labelsMap"),
140147
"name": obj.get("name"),
141148
"negativeCache": obj.get("negativeCache"),
142149
"primaries": obj.get("primaries"),

0 commit comments

Comments
 (0)