Skip to content

Commit 508d75b

Browse files
Generate iaas
1 parent d38df9f commit 508d75b

Some content is hidden

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

55 files changed

+1757
-4746
lines changed

services/iaas/src/stackit/iaas/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
Do not edit the class manually.
1515
""" # noqa: E501
1616

17-
1817
__version__ = "1.0.0"
1918

2019
# Define package exports

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

Lines changed: 1579 additions & 4500 deletions
Large diffs are not rendered by default.

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
Do not edit the class manually.
1414
""" # noqa: E501
1515

16-
1716
# import models into model package
1817
from stackit.iaas.models.add_routes_to_routing_table_payload import (
1918
AddRoutesToRoutingTablePayload,

services/iaas/src/stackit/iaas/models/add_routing_table_to_area_payload.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import re # noqa: F401
2020
from datetime import datetime
2121
from typing import Any, ClassVar, Dict, List, Optional, Set
22+
from uuid import UUID
2223

2324
from pydantic import BaseModel, ConfigDict, Field, StrictBool, field_validator
2425
from typing_extensions import Annotated, Self
@@ -44,9 +45,7 @@ class AddRoutingTableToAreaPayload(BaseModel):
4445
description="A config setting for a routing table which allows propagation of dynamic routes to this routing table.",
4546
alias="dynamicRoutes",
4647
)
47-
id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field(
48-
default=None, description="Universally Unique Identifier (UUID)."
49-
)
48+
id: Optional[UUID] = Field(default=None, description="Universally Unique Identifier (UUID).")
5049
labels: Optional[Dict[str, Any]] = Field(
5150
default=None,
5251
description="Object that represents the labels of an object. Regex for keys: `^(?=.{1,63}$)([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$`. Regex for values: `^(?=.{0,63}$)(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])*$`. Providing a `null` value for a key will remove that key.",

services/iaas/src/stackit/iaas/models/add_volume_to_server_payload.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818
import pprint
1919
import re # noqa: F401
2020
from typing import Any, ClassVar, Dict, List, Optional, Set
21+
from uuid import UUID
2122

2223
from pydantic import BaseModel, ConfigDict, Field, StrictBool, field_validator
23-
from typing_extensions import Annotated, Self
24+
from typing_extensions import Self
2425

2526

2627
class AddVolumeToServerPayload(BaseModel):
@@ -33,10 +34,10 @@ class AddVolumeToServerPayload(BaseModel):
3334
description="Delete the volume during the termination of the server. Defaults to false.",
3435
alias="deleteOnTermination",
3536
)
36-
server_id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field(
37+
server_id: Optional[UUID] = Field(
3738
default=None, description="Universally Unique Identifier (UUID).", alias="serverId"
3839
)
39-
volume_id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field(
40+
volume_id: Optional[UUID] = Field(
4041
default=None, description="Universally Unique Identifier (UUID).", alias="volumeId"
4142
)
4243
__properties: ClassVar[List[str]] = ["deleteOnTermination", "serverId", "volumeId"]

services/iaas/src/stackit/iaas/models/affinity_group.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import pprint
1919
import re # noqa: F401
2020
from typing import Any, ClassVar, Dict, List, Optional, Set
21+
from uuid import UUID
2122

2223
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
2324
from typing_extensions import Annotated, Self
@@ -28,12 +29,8 @@ class AffinityGroup(BaseModel):
2829
Definition of an affinity group.
2930
""" # noqa: E501
3031

31-
id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field(
32-
default=None, description="Universally Unique Identifier (UUID)."
33-
)
34-
members: Optional[List[Annotated[str, Field(min_length=36, strict=True, max_length=36)]]] = Field(
35-
default=None, description="The servers that are part of the affinity group."
36-
)
32+
id: Optional[UUID] = Field(default=None, description="Universally Unique Identifier (UUID).")
33+
members: Optional[List[UUID]] = Field(default=None, description="The servers that are part of the affinity group.")
3734
name: Annotated[str, Field(strict=True, max_length=127)] = Field(
3835
description="The name for a General Object. Matches Names and also UUIDs."
3936
)

services/iaas/src/stackit/iaas/models/area_id.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import pprint
1919
import re
2020
from typing import Any, Dict, Optional, Set, Union
21+
from uuid import UUID
2122

2223
from pydantic import (
2324
BaseModel,
@@ -26,34 +27,36 @@
2627
ValidationError,
2728
field_validator,
2829
)
29-
from typing_extensions import Annotated, Self
30+
from typing_extensions import Self
3031

3132
from stackit.iaas.models.static_area_id import StaticAreaID
3233

34+
from typing import Annotated
3335

34-
AREAID_ONE_OF_SCHEMAS = ["StaticAreaID", "str"]
36+
37+
AREAID_ONE_OF_SCHEMAS = ["StaticAreaID", "UUID"]
3538

3639

3740
class AreaId(BaseModel):
3841
"""
3942
The identifier (ID) of an area.
4043
"""
4144

42-
# data type: str
45+
# data type: UUID
4346
# BEGIN of the workaround until upstream issues are fixed:
4447
# https://github.com/OpenAPITools/openapi-generator/issues/19034 from Jun 28, 2024
4548
# and https://github.com/OpenAPITools/openapi-generator/issues/19842 from Oct 11, 2024
4649
# Tracking issue on our side: https://jira.schwarz/browse/STACKITSDK-227
47-
oneof_schema_1_validator: Optional[Annotated[str, Field(strict=True)]] = Field(
50+
oneof_schema_1_validator: Optional[Annotated[UUID, Field(strict=True)]] = Field(
4851
default=None,
4952
description="Universally Unique Identifier (UUID).",
5053
pattern=re.sub(r"^\/|\/$", "", r"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/"),
5154
)
5255
# END of the workaround
5356
# data type: StaticAreaID
5457
oneof_schema_2_validator: Optional[StaticAreaID] = None
55-
actual_instance: Optional[Union[StaticAreaID, str]] = None
56-
one_of_schemas: Set[str] = {"StaticAreaID", "str"}
58+
actual_instance: Optional[Union[StaticAreaID, UUID]] = None
59+
one_of_schemas: Set[str] = {"StaticAreaID", "UUID"}
5760

5861
model_config = ConfigDict(
5962
validate_assignment=True,
@@ -75,7 +78,7 @@ def actual_instance_must_validate_oneof(cls, v):
7578
instance = AreaId.model_construct()
7679
error_messages = []
7780
match = 0
78-
# validate data type: str
81+
# validate data type: UUID
7982
try:
8083
instance.oneof_schema_1_validator = v
8184
match += 1
@@ -89,7 +92,7 @@ def actual_instance_must_validate_oneof(cls, v):
8992
if match == 0:
9093
# no match
9194
raise ValueError(
92-
"No match found when setting `actual_instance` in AreaId with oneOf schemas: StaticAreaID, str. Details: "
95+
"No match found when setting `actual_instance` in AreaId with oneOf schemas: StaticAreaID, UUID. Details: "
9396
+ ", ".join(error_messages)
9497
)
9598
else:
@@ -106,7 +109,7 @@ def from_json(cls, json_str: str) -> Self:
106109
error_messages = []
107110
match = 0
108111

109-
# deserialize data into str
112+
# deserialize data into UUID
110113
try:
111114
# validation
112115
instance.oneof_schema_1_validator = json.loads(json_str)
@@ -125,13 +128,13 @@ def from_json(cls, json_str: str) -> Self:
125128
if match > 1:
126129
# more than 1 match
127130
raise ValueError(
128-
"Multiple matches found when deserializing the JSON string into AreaId with oneOf schemas: StaticAreaID, str. Details: "
131+
"Multiple matches found when deserializing the JSON string into AreaId with oneOf schemas: StaticAreaID, UUID. Details: "
129132
+ ", ".join(error_messages)
130133
)
131134
elif match == 0:
132135
# no match
133136
raise ValueError(
134-
"No match found when deserializing the JSON string into AreaId with oneOf schemas: StaticAreaID, str. Details: "
137+
"No match found when deserializing the JSON string into AreaId with oneOf schemas: StaticAreaID, UUID. Details: "
135138
+ ", ".join(error_messages)
136139
)
137140
else:
@@ -147,7 +150,7 @@ def to_json(self) -> str:
147150
else:
148151
return json.dumps(self.actual_instance)
149152

150-
def to_dict(self) -> Optional[Union[Dict[str, Any], StaticAreaID, str]]:
153+
def to_dict(self) -> Optional[Union[Dict[str, Any], StaticAreaID, UUID]]:
151154
"""Returns the dict representation of the actual instance"""
152155
if self.actual_instance is None:
153156
return None

services/iaas/src/stackit/iaas/models/backup.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import re # noqa: F401
2020
from datetime import datetime
2121
from typing import Any, ClassVar, Dict, List, Optional, Set
22+
from uuid import UUID
2223

2324
from pydantic import (
2425
BaseModel,
@@ -44,9 +45,7 @@ class Backup(BaseModel):
4445
default=None, description="Date-time when resource was created.", alias="createdAt"
4546
)
4647
encrypted: Optional[StrictBool] = Field(default=None, description="Indicates if a volume is encrypted.")
47-
id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field(
48-
default=None, description="Universally Unique Identifier (UUID)."
49-
)
48+
id: Optional[UUID] = Field(default=None, description="Universally Unique Identifier (UUID).")
5049
labels: Optional[Dict[str, Any]] = Field(
5150
default=None,
5251
description="Object that represents the labels of an object. Regex for keys: `^(?=.{1,63}$)([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$`. Regex for values: `^(?=.{0,63}$)(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])*$`. Providing a `null` value for a key will remove that key.",
@@ -55,7 +54,7 @@ class Backup(BaseModel):
5554
default=None, description="The name for a General Object. Matches Names and also UUIDs."
5655
)
5756
size: Optional[StrictInt] = Field(default=None, description="Size in Gigabyte.")
58-
snapshot_id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field(
57+
snapshot_id: Optional[UUID] = Field(
5958
default=None, description="Universally Unique Identifier (UUID).", alias="snapshotId"
6059
)
6160
status: Optional[StrictStr] = Field(
@@ -65,7 +64,7 @@ class Backup(BaseModel):
6564
updated_at: Optional[datetime] = Field(
6665
default=None, description="Date-time when resource was last updated.", alias="updatedAt"
6766
)
68-
volume_id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field(
67+
volume_id: Optional[UUID] = Field(
6968
default=None, description="Universally Unique Identifier (UUID).", alias="volumeId"
7069
)
7170
__properties: ClassVar[List[str]] = [

services/iaas/src/stackit/iaas/models/backup_source.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,18 @@
1818
import pprint
1919
import re # noqa: F401
2020
from typing import Any, ClassVar, Dict, List, Optional, Set
21+
from uuid import UUID
2122

2223
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
23-
from typing_extensions import Annotated, Self
24+
from typing_extensions import Self
2425

2526

2627
class BackupSource(BaseModel):
2728
"""
2829
The source object of a backup.
2930
""" # noqa: E501
3031

31-
id: Annotated[str, Field(min_length=36, strict=True, max_length=36)] = Field(
32-
description="Universally Unique Identifier (UUID)."
33-
)
32+
id: UUID = Field(description="Universally Unique Identifier (UUID).")
3433
type: StrictStr = Field(description="The source types of a backup. Possible values: `volume`, `snapshot`.")
3534
__properties: ClassVar[List[str]] = ["id", "type"]
3635

services/iaas/src/stackit/iaas/models/base_security_group_rule.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import re # noqa: F401
2020
from datetime import datetime
2121
from typing import Any, ClassVar, Dict, List, Optional, Set
22+
from uuid import UUID
2223

2324
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
2425
from typing_extensions import Annotated, Self
@@ -45,19 +46,17 @@ class BaseSecurityGroupRule(BaseModel):
4546
default="IPv4", description="The ethertype which the rule should match. Possible values: `IPv4`, `IPv6`."
4647
)
4748
icmp_parameters: Optional[ICMPParameters] = Field(default=None, alias="icmpParameters")
48-
id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field(
49-
default=None, description="Universally Unique Identifier (UUID)."
50-
)
49+
id: Optional[UUID] = Field(default=None, description="Universally Unique Identifier (UUID).")
5150
ip_range: Optional[Annotated[str, Field(strict=True)]] = Field(
5251
default=None, description="The remote IP range which the rule should match.", alias="ipRange"
5352
)
5453
port_range: Optional[PortRange] = Field(default=None, alias="portRange")
55-
remote_security_group_id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field(
54+
remote_security_group_id: Optional[UUID] = Field(
5655
default=None,
5756
description="The remote security group which the rule should match.",
5857
alias="remoteSecurityGroupId",
5958
)
60-
security_group_id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field(
59+
security_group_id: Optional[UUID] = Field(
6160
default=None, description="Universally Unique Identifier (UUID).", alias="securityGroupId"
6261
)
6362
updated_at: Optional[datetime] = Field(

0 commit comments

Comments
 (0)