Skip to content

Commit 4b0de29

Browse files
authored
Merge branch 'main' into feature/renovate
2 parents f312f1a + 0363266 commit 4b0de29

21 files changed

+3918
-914
lines changed

services/iaasalpha/src/stackit/iaasalpha/__init__.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@
5050
from stackit.iaasalpha.models.boot_volume_source import BootVolumeSource
5151
from stackit.iaasalpha.models.create_area_address_family import CreateAreaAddressFamily
5252
from stackit.iaasalpha.models.create_area_ipv4 import CreateAreaIPv4
53+
from stackit.iaasalpha.models.create_image_payload import CreateImagePayload
5354
from stackit.iaasalpha.models.create_key_pair_payload import CreateKeyPairPayload
54-
from stackit.iaasalpha.models.create_nic_payload import CreateNICPayload
55+
from stackit.iaasalpha.models.create_nic_payload import CreateNicPayload
5556
from stackit.iaasalpha.models.create_protocol import CreateProtocol
5657
from stackit.iaasalpha.models.create_public_ip_payload import CreatePublicIPPayload
5758
from stackit.iaasalpha.models.create_security_group_payload import (
@@ -77,8 +78,14 @@
7778
from stackit.iaasalpha.models.get_server_log200_response import GetServerLog200Response
7879
from stackit.iaasalpha.models.get_server_log_request import GetServerLogRequest
7980
from stackit.iaasalpha.models.icmp_parameters import ICMPParameters
81+
from stackit.iaasalpha.models.image import Image
82+
from stackit.iaasalpha.models.image_config import ImageConfig
83+
from stackit.iaasalpha.models.image_create_response import ImageCreateResponse
84+
from stackit.iaasalpha.models.image_list_response import ImageListResponse
8085
from stackit.iaasalpha.models.key_pair_list_response import KeyPairListResponse
8186
from stackit.iaasalpha.models.keypair import Keypair
87+
from stackit.iaasalpha.models.machine_type import MachineType
88+
from stackit.iaasalpha.models.machine_type_list_response import MachineTypeListResponse
8289
from stackit.iaasalpha.models.network import Network
8390
from stackit.iaasalpha.models.network_area import NetworkArea
8491
from stackit.iaasalpha.models.network_area_ipv4 import NetworkAreaIPv4
@@ -131,8 +138,9 @@
131138
from stackit.iaasalpha.models.update_attached_volume_payload import (
132139
UpdateAttachedVolumePayload,
133140
)
141+
from stackit.iaasalpha.models.update_image_payload import UpdateImagePayload
134142
from stackit.iaasalpha.models.update_key_pair_payload import UpdateKeyPairPayload
135-
from stackit.iaasalpha.models.update_nic_payload import UpdateNICPayload
143+
from stackit.iaasalpha.models.update_nic_payload import UpdateNicPayload
136144
from stackit.iaasalpha.models.update_public_ip_payload import UpdatePublicIPPayload
137145
from stackit.iaasalpha.models.update_security_group_payload import (
138146
UpdateSecurityGroupPayload,

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

Lines changed: 2793 additions & 892 deletions
Large diffs are not rendered by default.

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@
3131
from stackit.iaasalpha.models.boot_volume_source import BootVolumeSource
3232
from stackit.iaasalpha.models.create_area_address_family import CreateAreaAddressFamily
3333
from stackit.iaasalpha.models.create_area_ipv4 import CreateAreaIPv4
34+
from stackit.iaasalpha.models.create_image_payload import CreateImagePayload
3435
from stackit.iaasalpha.models.create_key_pair_payload import CreateKeyPairPayload
35-
from stackit.iaasalpha.models.create_nic_payload import CreateNICPayload
36+
from stackit.iaasalpha.models.create_nic_payload import CreateNicPayload
3637
from stackit.iaasalpha.models.create_protocol import CreateProtocol
3738
from stackit.iaasalpha.models.create_public_ip_payload import CreatePublicIPPayload
3839
from stackit.iaasalpha.models.create_security_group_payload import (
@@ -58,8 +59,14 @@
5859
from stackit.iaasalpha.models.get_server_log200_response import GetServerLog200Response
5960
from stackit.iaasalpha.models.get_server_log_request import GetServerLogRequest
6061
from stackit.iaasalpha.models.icmp_parameters import ICMPParameters
62+
from stackit.iaasalpha.models.image import Image
63+
from stackit.iaasalpha.models.image_config import ImageConfig
64+
from stackit.iaasalpha.models.image_create_response import ImageCreateResponse
65+
from stackit.iaasalpha.models.image_list_response import ImageListResponse
6166
from stackit.iaasalpha.models.key_pair_list_response import KeyPairListResponse
6267
from stackit.iaasalpha.models.keypair import Keypair
68+
from stackit.iaasalpha.models.machine_type import MachineType
69+
from stackit.iaasalpha.models.machine_type_list_response import MachineTypeListResponse
6370
from stackit.iaasalpha.models.network import Network
6471
from stackit.iaasalpha.models.network_area import NetworkArea
6572
from stackit.iaasalpha.models.network_area_ipv4 import NetworkAreaIPv4
@@ -112,8 +119,9 @@
112119
from stackit.iaasalpha.models.update_attached_volume_payload import (
113120
UpdateAttachedVolumePayload,
114121
)
122+
from stackit.iaasalpha.models.update_image_payload import UpdateImagePayload
115123
from stackit.iaasalpha.models.update_key_pair_payload import UpdateKeyPairPayload
116-
from stackit.iaasalpha.models.update_nic_payload import UpdateNICPayload
124+
from stackit.iaasalpha.models.update_nic_payload import UpdateNicPayload
117125
from stackit.iaasalpha.models.update_public_ip_payload import UpdatePublicIPPayload
118126
from stackit.iaasalpha.models.update_security_group_payload import (
119127
UpdateSecurityGroupPayload,

services/iaasalpha/src/stackit/iaasalpha/models/area_prefix_config_ipv4.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class AreaPrefixConfigIPv4(BaseModel):
3535
max_prefix_len: Optional[Annotated[int, Field(le=29, strict=True, ge=24)]] = Field(
3636
default=None, description="The maximal prefix length for networks in the network area.", alias="maxPrefixLen"
3737
)
38-
min_prefix_len: Optional[Annotated[int, Field(le=29, strict=True, ge=22)]] = Field(
38+
min_prefix_len: Optional[Annotated[int, Field(le=29, strict=True, ge=8)]] = Field(
3939
default=None, description="The minimal prefix length for networks in the network area.", alias="minPrefixLen"
4040
)
4141
__properties: ClassVar[List[str]] = ["defaultPrefixLen", "maxPrefixLen", "minPrefixLen"]

services/iaasalpha/src/stackit/iaasalpha/models/create_area_ipv4.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class CreateAreaIPv4(BaseModel):
4949
max_prefix_len: Optional[Annotated[int, Field(le=29, strict=True, ge=24)]] = Field(
5050
default=None, description="The maximal prefix length for networks in the network area.", alias="maxPrefixLen"
5151
)
52-
min_prefix_len: Optional[Annotated[int, Field(le=29, strict=True, ge=22)]] = Field(
52+
min_prefix_len: Optional[Annotated[int, Field(le=29, strict=True, ge=8)]] = Field(
5353
default=None, description="The minimal prefix length for networks in the network area.", alias="minPrefixLen"
5454
)
5555
__properties: ClassVar[List[str]] = [
Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
# coding: utf-8
2+
3+
"""
4+
IaaS-API
5+
6+
This API allows you to create and modify IaaS resources.
7+
8+
The version of the OpenAPI document: 1alpha1
9+
10+
Generated by OpenAPI Generator (https://openapi-generator.tech)
11+
12+
Do not edit the class manually.
13+
""" # noqa: E501 docstring might be too long
14+
15+
from __future__ import annotations
16+
17+
import json
18+
import pprint
19+
import re
20+
from datetime import datetime
21+
from typing import Any, ClassVar, Dict, List, Optional, Set
22+
23+
from pydantic import (
24+
BaseModel,
25+
ConfigDict,
26+
Field,
27+
StrictBool,
28+
StrictInt,
29+
StrictStr,
30+
field_validator,
31+
)
32+
from typing_extensions import Annotated, Self
33+
34+
from stackit.iaasalpha.models.image_config import ImageConfig
35+
36+
37+
class CreateImagePayload(BaseModel):
38+
"""
39+
Object that represents an Image and its parameters. Used for Creating and returning (get/list).
40+
"""
41+
42+
config: Optional[ImageConfig] = None
43+
created_at: Optional[datetime] = Field(
44+
default=None, description="Date-time when resource was created.", alias="createdAt"
45+
)
46+
disk_format: StrictStr = Field(description="Object that represents a disk format.", alias="diskFormat")
47+
id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field(
48+
default=None, description="Universally Unique Identifier (UUID)."
49+
)
50+
labels: Optional[Dict[str, Any]] = Field(
51+
default=None, description="Object that represents the labels of an object."
52+
)
53+
min_disk_size: Optional[StrictInt] = Field(default=None, description="Size in Gigabyte.", alias="minDiskSize")
54+
min_ram: Optional[StrictInt] = Field(default=None, description="Size in Megabyte.", alias="minRam")
55+
name: Annotated[str, Field(strict=True, max_length=63)] = Field(
56+
description="The name for a General Object. Matches Names and also UUIDs."
57+
)
58+
protected: Optional[StrictBool] = None
59+
status: Optional[StrictStr] = Field(default=None, description="The status of an image object.")
60+
updated_at: Optional[datetime] = Field(
61+
default=None, description="Date-time when resource was last updated.", alias="updatedAt"
62+
)
63+
__properties: ClassVar[List[str]] = [
64+
"config",
65+
"createdAt",
66+
"diskFormat",
67+
"id",
68+
"labels",
69+
"minDiskSize",
70+
"minRam",
71+
"name",
72+
"protected",
73+
"status",
74+
"updatedAt",
75+
]
76+
77+
@field_validator("id")
78+
def id_validate_regular_expression(cls, value):
79+
"""Validates the regular expression"""
80+
if value is None:
81+
return value
82+
83+
if not re.match(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", value):
84+
raise ValueError(
85+
r"must validate the regular expression /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"
86+
)
87+
return value
88+
89+
@field_validator("name")
90+
def name_validate_regular_expression(cls, value):
91+
"""Validates the regular expression"""
92+
if not re.match(r"^[A-Za-z0-9]+((-|_|\s|\.)[A-Za-z0-9]+)*$", value):
93+
raise ValueError(r"must validate the regular expression /^[A-Za-z0-9]+((-|_|\s|\.)[A-Za-z0-9]+)*$/")
94+
return value
95+
96+
model_config = ConfigDict(
97+
populate_by_name=True,
98+
validate_assignment=True,
99+
protected_namespaces=(),
100+
)
101+
102+
def to_str(self) -> str:
103+
"""Returns the string representation of the model using alias"""
104+
return pprint.pformat(self.model_dump(by_alias=True))
105+
106+
def to_json(self) -> str:
107+
"""Returns the JSON representation of the model using alias"""
108+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
109+
return json.dumps(self.to_dict())
110+
111+
@classmethod
112+
def from_json(cls, json_str: str) -> Optional[Self]:
113+
"""Create an instance of CreateImagePayload from a JSON string"""
114+
return cls.from_dict(json.loads(json_str))
115+
116+
def to_dict(self) -> Dict[str, Any]:
117+
"""Return the dictionary representation of the model using alias.
118+
119+
This has the following differences from calling pydantic's
120+
`self.model_dump(by_alias=True)`:
121+
122+
* `None` is only added to the output dict for nullable fields that
123+
were set at model initialization. Other fields with value `None`
124+
are ignored.
125+
* OpenAPI `readOnly` fields are excluded.
126+
* OpenAPI `readOnly` fields are excluded.
127+
* OpenAPI `readOnly` fields are excluded.
128+
* OpenAPI `readOnly` fields are excluded.
129+
"""
130+
excluded_fields: Set[str] = set(
131+
[
132+
"created_at",
133+
"id",
134+
"status",
135+
"updated_at",
136+
]
137+
)
138+
139+
_dict = self.model_dump(
140+
by_alias=True,
141+
exclude=excluded_fields,
142+
exclude_none=True,
143+
)
144+
# override the default output from pydantic by calling `to_dict()` of config
145+
if self.config:
146+
_dict["config"] = self.config.to_dict()
147+
return _dict
148+
149+
@classmethod
150+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
151+
"""Create an instance of CreateImagePayload from a dict"""
152+
if obj is None:
153+
return None
154+
155+
if not isinstance(obj, dict):
156+
return cls.model_validate(obj)
157+
158+
_obj = cls.model_validate(
159+
{
160+
"config": ImageConfig.from_dict(obj["config"]) if obj.get("config") is not None else None,
161+
"createdAt": obj.get("createdAt"),
162+
"diskFormat": obj.get("diskFormat"),
163+
"id": obj.get("id"),
164+
"labels": obj.get("labels"),
165+
"minDiskSize": obj.get("minDiskSize"),
166+
"minRam": obj.get("minRam"),
167+
"name": obj.get("name"),
168+
"protected": obj.get("protected"),
169+
"status": obj.get("status"),
170+
"updatedAt": obj.get("updatedAt"),
171+
}
172+
)
173+
return _obj

services/iaasalpha/src/stackit/iaasalpha/models/create_nic_payload.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
from stackit.iaasalpha.models.allowed_addresses_inner import AllowedAddressesInner
3333

3434

35-
class CreateNICPayload(BaseModel):
35+
class CreateNicPayload(BaseModel):
3636
"""
3737
Object that represents a network interface.
3838
"""
@@ -193,7 +193,7 @@ def to_json(self) -> str:
193193

194194
@classmethod
195195
def from_json(cls, json_str: str) -> Optional[Self]:
196-
"""Create an instance of CreateNICPayload from a JSON string"""
196+
"""Create an instance of CreateNicPayload from a JSON string"""
197197
return cls.from_dict(json.loads(json_str))
198198

199199
def to_dict(self) -> Dict[str, Any]:
@@ -239,7 +239,7 @@ def to_dict(self) -> Dict[str, Any]:
239239

240240
@classmethod
241241
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
242-
"""Create an instance of CreateNICPayload from a dict"""
242+
"""Create an instance of CreateNicPayload from a dict"""
243243
if obj is None:
244244
return None
245245

services/iaasalpha/src/stackit/iaasalpha/models/create_volume_payload.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,15 @@
2020
from datetime import datetime
2121
from typing import Any, ClassVar, Dict, List, Optional, Set
2222

23-
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
23+
from pydantic import (
24+
BaseModel,
25+
ConfigDict,
26+
Field,
27+
StrictBool,
28+
StrictInt,
29+
StrictStr,
30+
field_validator,
31+
)
2432
from typing_extensions import Annotated, Self
2533

2634
from stackit.iaasalpha.models.volume_source import VolumeSource
@@ -34,6 +42,7 @@ class CreateVolumePayload(BaseModel):
3442
availability_zone: StrictStr = Field(
3543
description="Object that represents an availability zone.", alias="availabilityZone"
3644
)
45+
bootable: Optional[StrictBool] = Field(default=None, description="Indicates if a volume is bootable.")
3746
created_at: Optional[datetime] = Field(
3847
default=None, description="Date-time when resource was created.", alias="createdAt"
3948
)
@@ -65,6 +74,7 @@ class CreateVolumePayload(BaseModel):
6574
)
6675
__properties: ClassVar[List[str]] = [
6776
"availabilityZone",
77+
"bootable",
6878
"createdAt",
6979
"description",
7080
"id",
@@ -189,6 +199,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
189199
_obj = cls.model_validate(
190200
{
191201
"availabilityZone": obj.get("availabilityZone"),
202+
"bootable": obj.get("bootable"),
192203
"createdAt": obj.get("createdAt"),
193204
"description": obj.get("description"),
194205
"id": obj.get("id"),

0 commit comments

Comments
 (0)