Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
## Release (2026-MM-DD)
- `iaas`: [v1.2.3](services/iaas/CHANGELOG.md#v123)
- **Feature:** Add optional `cascade` parameter to `delete_volume` API call
- **Feature:** Add `config_drive` attribute to ModelClass `Server`
- `alb`: [v0.9.3](services/alb/CHANGELOG.md#v093)
- Add HTTP 429 status code to some API client methods
- `certificates`: [v1.3.1](services/certificates/CHANGELOG.md#v131)
Expand Down
4 changes: 4 additions & 0 deletions services/iaas/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## v1.2.3
- **Feature:** Add `cascade` parameter to `delete_volume` API call
- **Feature:** Add `config_drive` attribute to ModelClass `Server`

## v1.2.2
- **Docs:** Extend description of `PortRange` class

Expand Down
2 changes: 1 addition & 1 deletion services/iaas/oas_commit
Original file line number Diff line number Diff line change
@@ -1 +1 @@
467fe4d305e48699c34835e45fd1c7b486be01d2
a35d8f28738a45005b098b66b6debd08a67ab018
2 changes: 1 addition & 1 deletion services/iaas/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "stackit-iaas"
version = "v1.2.2"
version = "v1.2.3"
description = "IaaS-API"
authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }]
requires-python = ">=3.9,<4.0"
Expand Down
17 changes: 17 additions & 0 deletions services/iaas/src/stackit/iaas/api/default_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -12965,6 +12965,7 @@ def delete_volume(
project_id: Annotated[UUID, Field(description="The identifier (ID) of a STACKIT Project.")],
region: Annotated[StrictStr, Field(description="The STACKIT Region of the resources.")],
volume_id: Annotated[UUID, Field(description="The identifier (ID) of a STACKIT Volume.")],
cascade: Annotated[Optional[StrictBool], Field(description="Cascade action.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Expand All @@ -12985,6 +12986,8 @@ def delete_volume(
:type region: str
:param volume_id: The identifier (ID) of a STACKIT Volume. (required)
:type volume_id: UUID
:param cascade: Cascade action.
:type cascade: bool
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
Expand All @@ -13011,6 +13014,7 @@ def delete_volume(
project_id=project_id,
region=region,
volume_id=volume_id,
cascade=cascade,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
Expand Down Expand Up @@ -13039,6 +13043,7 @@ def delete_volume_with_http_info(
project_id: Annotated[UUID, Field(description="The identifier (ID) of a STACKIT Project.")],
region: Annotated[StrictStr, Field(description="The STACKIT Region of the resources.")],
volume_id: Annotated[UUID, Field(description="The identifier (ID) of a STACKIT Volume.")],
cascade: Annotated[Optional[StrictBool], Field(description="Cascade action.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Expand All @@ -13059,6 +13064,8 @@ def delete_volume_with_http_info(
:type region: str
:param volume_id: The identifier (ID) of a STACKIT Volume. (required)
:type volume_id: UUID
:param cascade: Cascade action.
:type cascade: bool
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
Expand All @@ -13085,6 +13092,7 @@ def delete_volume_with_http_info(
project_id=project_id,
region=region,
volume_id=volume_id,
cascade=cascade,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
Expand Down Expand Up @@ -13113,6 +13121,7 @@ def delete_volume_without_preload_content(
project_id: Annotated[UUID, Field(description="The identifier (ID) of a STACKIT Project.")],
region: Annotated[StrictStr, Field(description="The STACKIT Region of the resources.")],
volume_id: Annotated[UUID, Field(description="The identifier (ID) of a STACKIT Volume.")],
cascade: Annotated[Optional[StrictBool], Field(description="Cascade action.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Expand All @@ -13133,6 +13142,8 @@ def delete_volume_without_preload_content(
:type region: str
:param volume_id: The identifier (ID) of a STACKIT Volume. (required)
:type volume_id: UUID
:param cascade: Cascade action.
:type cascade: bool
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
Expand All @@ -13159,6 +13170,7 @@ def delete_volume_without_preload_content(
project_id=project_id,
region=region,
volume_id=volume_id,
cascade=cascade,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
Expand All @@ -13182,6 +13194,7 @@ def _delete_volume_serialize(
project_id,
region,
volume_id,
cascade,
_request_auth,
_content_type,
_headers,
Expand All @@ -13207,6 +13220,10 @@ def _delete_volume_serialize(
if volume_id is not None:
_path_params["volumeId"] = volume_id
# process the query parameters
if cascade is not None:

_query_params.append(("cascade", cascade))

# process the header parameters
# process the form parameters
# process the body parameter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
BaseModel,
ConfigDict,
Field,
StrictBool,
StrictBytes,
StrictStr,
field_validator,
Expand Down Expand Up @@ -55,6 +56,9 @@ class CreateServerPayload(BaseModel):
alias="availabilityZone",
)
boot_volume: Optional[BootVolume] = Field(default=None, alias="bootVolume")
config_drive: Optional[StrictBool] = Field(
default=False, description="When true the server is created with a config drive.", alias="configDrive"
)
created_at: Optional[datetime] = Field(
default=None, description="Date-time when resource was created.", alias="createdAt"
)
Expand Down Expand Up @@ -118,6 +122,7 @@ class CreateServerPayload(BaseModel):
"agent",
"availabilityZone",
"bootVolume",
"configDrive",
"createdAt",
"errorMessage",
"id",
Expand Down Expand Up @@ -338,6 +343,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"agent": ServerAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None,
"availabilityZone": obj.get("availabilityZone"),
"bootVolume": BootVolume.from_dict(obj["bootVolume"]) if obj.get("bootVolume") is not None else None,
"configDrive": obj.get("configDrive") if obj.get("configDrive") is not None else False,
"createdAt": obj.get("createdAt"),
"errorMessage": obj.get("errorMessage"),
"id": obj.get("id"),
Expand Down
6 changes: 6 additions & 0 deletions services/iaas/src/stackit/iaas/models/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
BaseModel,
ConfigDict,
Field,
StrictBool,
StrictBytes,
StrictStr,
field_validator,
Expand Down Expand Up @@ -53,6 +54,9 @@ class Server(BaseModel):
alias="availabilityZone",
)
boot_volume: Optional[BootVolume] = Field(default=None, alias="bootVolume")
config_drive: Optional[StrictBool] = Field(
default=False, description="When true the server is created with a config drive.", alias="configDrive"
)
created_at: Optional[datetime] = Field(
default=None, description="Date-time when resource was created.", alias="createdAt"
)
Expand Down Expand Up @@ -116,6 +120,7 @@ class Server(BaseModel):
"agent",
"availabilityZone",
"bootVolume",
"configDrive",
"createdAt",
"errorMessage",
"id",
Expand Down Expand Up @@ -336,6 +341,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"agent": ServerAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None,
"availabilityZone": obj.get("availabilityZone"),
"bootVolume": BootVolume.from_dict(obj["bootVolume"]) if obj.get("bootVolume") is not None else None,
"configDrive": obj.get("configDrive") if obj.get("configDrive") is not None else False,
"createdAt": obj.get("createdAt"),
"errorMessage": obj.get("errorMessage"),
"id": obj.get("id"),
Expand Down
Loading