From ee71a399f5fbf5bc82688f2723dd24e11c75afaf Mon Sep 17 00:00:00 2001 From: SDK Generator Bot Date: Tue, 25 Feb 2025 16:54:59 +0000 Subject: [PATCH] Generate iaasalpha --- .../src/stackit/iaasalpha/api/default_api.py | 17 +++++++++++ .../models/add_volume_to_server_payload.py | 6 ++-- .../iaasalpha/models/affinity_group.py | 4 ++- .../src/stackit/iaasalpha/models/backup.py | 8 +++-- .../stackit/iaasalpha/models/backup_source.py | 2 +- .../stackit/iaasalpha/models/boot_volume.py | 6 ++-- .../iaasalpha/models/boot_volume_source.py | 2 +- .../models/create_affinity_group_payload.py | 4 ++- .../iaasalpha/models/create_backup_payload.py | 3 +- .../iaasalpha/models/create_image_payload.py | 21 +++++++++++--- .../models/create_key_pair_payload.py | 9 ++++-- .../models/create_network_area_payload.py | 3 +- .../models/create_network_payload.py | 3 +- .../iaasalpha/models/create_nic_payload.py | 3 +- .../iaasalpha/models/create_protocol.py | 3 +- .../models/create_public_ip_payload.py | 3 +- .../models/create_security_group_payload.py | 3 +- .../iaasalpha/models/create_server_payload.py | 18 ++++++++---- .../models/create_snapshot_payload.py | 8 +++-- .../models/create_virtual_ip_payload.py | 8 +++-- .../iaasalpha/models/create_volume_payload.py | 8 +++-- .../src/stackit/iaasalpha/models/image.py | 21 +++++++++++--- .../stackit/iaasalpha/models/image_config.py | 29 +++++++++++++------ .../src/stackit/iaasalpha/models/keypair.py | 9 ++++-- .../src/stackit/iaasalpha/models/network.py | 7 +++-- .../stackit/iaasalpha/models/network_area.py | 7 +++-- .../src/stackit/iaasalpha/models/nic.py | 3 +- .../partial_update_network_area_payload.py | 3 +- .../models/partial_update_network_payload.py | 3 +- .../src/stackit/iaasalpha/models/project.py | 4 ++- .../src/stackit/iaasalpha/models/protocol.py | 5 +++- .../src/stackit/iaasalpha/models/public_ip.py | 3 +- .../src/stackit/iaasalpha/models/request.py | 14 +++++++-- .../iaasalpha/models/request_resource.py | 8 +++-- .../src/stackit/iaasalpha/models/route.py | 3 +- .../iaasalpha/models/security_group.py | 3 +- .../src/stackit/iaasalpha/models/server.py | 18 ++++++++---- .../iaasalpha/models/server_network.py | 2 +- .../src/stackit/iaasalpha/models/snapshot.py | 8 +++-- .../models/update_attached_volume_payload.py | 6 ++-- .../iaasalpha/models/update_backup_payload.py | 8 +++-- .../iaasalpha/models/update_image_payload.py | 7 +++-- .../models/update_key_pair_payload.py | 3 +- .../iaasalpha/models/update_nic_payload.py | 3 +- .../models/update_public_ip_payload.py | 3 +- .../models/update_security_group_payload.py | 3 +- .../iaasalpha/models/update_server_payload.py | 9 +++--- .../models/update_snapshot_payload.py | 3 +- .../models/update_virtual_ip_payload.py | 3 +- .../iaasalpha/models/update_volume_payload.py | 7 +++-- .../v1alpha1_update_route_of_area_payload.py | 3 +- .../stackit/iaasalpha/models/virtual_ip.py | 8 +++-- .../src/stackit/iaasalpha/models/volume.py | 8 +++-- .../iaasalpha/models/volume_attachment.py | 6 ++-- .../models/volume_performance_class.py | 3 +- .../stackit/iaasalpha/models/volume_source.py | 4 ++- 56 files changed, 265 insertions(+), 114 deletions(-) diff --git a/services/iaasalpha/src/stackit/iaasalpha/api/default_api.py b/services/iaasalpha/src/stackit/iaasalpha/api/default_api.py index 9b3990aa..05229424 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/api/default_api.py +++ b/services/iaasalpha/src/stackit/iaasalpha/api/default_api.py @@ -21040,6 +21040,7 @@ def list_images( str, Field(min_length=36, strict=True, max_length=36, description="The identifier (ID) of a STACKIT Project."), ], + all: Annotated[Optional[StrictBool], Field(description="List all Images.")] = None, label_selector: Annotated[Optional[StrictStr], Field(description="Filter resources by labels.")] = None, _request_timeout: Union[ None, @@ -21057,6 +21058,8 @@ def list_images( :param project_id: The identifier (ID) of a STACKIT Project. (required) :type project_id: str + :param all: List all Images. + :type all: bool :param label_selector: Filter resources by labels. :type label_selector: str :param _request_timeout: timeout setting for this request. If one @@ -21083,6 +21086,7 @@ def list_images( _param = self._list_images_serialize( project_id=project_id, + all=all, label_selector=label_selector, _request_auth=_request_auth, _content_type=_content_type, @@ -21112,6 +21116,7 @@ def list_images_with_http_info( str, Field(min_length=36, strict=True, max_length=36, description="The identifier (ID) of a STACKIT Project."), ], + all: Annotated[Optional[StrictBool], Field(description="List all Images.")] = None, label_selector: Annotated[Optional[StrictStr], Field(description="Filter resources by labels.")] = None, _request_timeout: Union[ None, @@ -21129,6 +21134,8 @@ def list_images_with_http_info( :param project_id: The identifier (ID) of a STACKIT Project. (required) :type project_id: str + :param all: List all Images. + :type all: bool :param label_selector: Filter resources by labels. :type label_selector: str :param _request_timeout: timeout setting for this request. If one @@ -21155,6 +21162,7 @@ def list_images_with_http_info( _param = self._list_images_serialize( project_id=project_id, + all=all, label_selector=label_selector, _request_auth=_request_auth, _content_type=_content_type, @@ -21184,6 +21192,7 @@ def list_images_without_preload_content( str, Field(min_length=36, strict=True, max_length=36, description="The identifier (ID) of a STACKIT Project."), ], + all: Annotated[Optional[StrictBool], Field(description="List all Images.")] = None, label_selector: Annotated[Optional[StrictStr], Field(description="Filter resources by labels.")] = None, _request_timeout: Union[ None, @@ -21201,6 +21210,8 @@ def list_images_without_preload_content( :param project_id: The identifier (ID) of a STACKIT Project. (required) :type project_id: str + :param all: List all Images. + :type all: bool :param label_selector: Filter resources by labels. :type label_selector: str :param _request_timeout: timeout setting for this request. If one @@ -21227,6 +21238,7 @@ def list_images_without_preload_content( _param = self._list_images_serialize( project_id=project_id, + all=all, label_selector=label_selector, _request_auth=_request_auth, _content_type=_content_type, @@ -21248,6 +21260,7 @@ def list_images_without_preload_content( def _list_images_serialize( self, project_id, + all, label_selector, _request_auth, _content_type, @@ -21270,6 +21283,10 @@ def _list_images_serialize( if project_id is not None: _path_params["projectId"] = project_id # process the query parameters + if all is not None: + + _query_params.append(("all", all)) + if label_selector is not None: _query_params.append(("label_selector", label_selector)) diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/add_volume_to_server_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/add_volume_to_server_payload.py index 03d7ef33..d45240d7 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/add_volume_to_server_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/add_volume_to_server_payload.py @@ -29,7 +29,7 @@ class AddVolumeToServerPayload(BaseModel): """ delete_on_termination: Optional[StrictBool] = Field( - default=False, + default=None, description="Delete the volume during the termination of the server. Defaults to false.", alias="deleteOnTermination", ) @@ -122,9 +122,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate( { - "deleteOnTermination": ( - obj.get("deleteOnTermination") if obj.get("deleteOnTermination") is not None else False - ), + "deleteOnTermination": obj.get("deleteOnTermination"), "serverId": obj.get("serverId"), "volumeId": obj.get("volumeId"), } diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/affinity_group.py b/services/iaasalpha/src/stackit/iaasalpha/models/affinity_group.py index 1ae1e5a6..835257e9 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/affinity_group.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/affinity_group.py @@ -37,7 +37,9 @@ class AffinityGroup(BaseModel): name: Annotated[str, Field(strict=True, max_length=63)] = Field( description="The name for a General Object. Matches Names and also UUIDs." ) - policy: StrictStr = Field(description="The affinity group policy.") + policy: StrictStr = Field( + description="The affinity group policy. `hard-affinity`: All servers in this group will be hosted on the same compute node. `soft-affinity`: All servers in this group will be hosted on as few compute nodes as possible. `hard-anti-affinity`: All servers in this group will be hosted on different compute nodes. `soft-anti-affinity`: All servers in this group will be hosted on as many compute nodes as possible. Possible values: `hard-anti-affinity`, `hard-affinity`, `soft-anti-affinity`, `soft-affinity`." + ) __properties: ClassVar[List[str]] = ["id", "members", "name", "policy"] @field_validator("id") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/backup.py b/services/iaasalpha/src/stackit/iaasalpha/models/backup.py index 88961577..cb3ff573 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/backup.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/backup.py @@ -39,7 +39,8 @@ class Backup(BaseModel): default=None, description="Universally Unique Identifier (UUID)." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." @@ -48,7 +49,10 @@ class Backup(BaseModel): snapshot_id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( default=None, description="Universally Unique Identifier (UUID).", alias="snapshotId" ) - status: Optional[StrictStr] = Field(default=None, description="The status of a backup object.") + status: Optional[StrictStr] = Field( + default=None, + description="The status of a backup object. Possible values: `AVAILABLE`, `CREATING`, `DELETED`, `DELETING`, `ERROR`, `RESTORING`.", + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/backup_source.py b/services/iaasalpha/src/stackit/iaasalpha/models/backup_source.py index 4d34adc4..f53381f7 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/backup_source.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/backup_source.py @@ -31,7 +31,7 @@ class BackupSource(BaseModel): id: Annotated[str, Field(min_length=36, strict=True, max_length=36)] = Field( description="Universally Unique Identifier (UUID)." ) - type: StrictStr = Field(description="The source types of a backup.") + type: StrictStr = Field(description="The source types of a backup. Possible values: `volume`, `snapshot`.") __properties: ClassVar[List[str]] = ["id", "type"] @field_validator("id") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/boot_volume.py b/services/iaasalpha/src/stackit/iaasalpha/models/boot_volume.py index 477c8caf..9801ab1a 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/boot_volume.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/boot_volume.py @@ -38,7 +38,7 @@ class BootVolume(BaseModel): """ delete_on_termination: Optional[StrictBool] = Field( - default=False, + default=None, description="Delete the volume during the termination of the server. Defaults to false.", alias="deleteOnTermination", ) @@ -134,9 +134,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate( { - "deleteOnTermination": ( - obj.get("deleteOnTermination") if obj.get("deleteOnTermination") is not None else False - ), + "deleteOnTermination": obj.get("deleteOnTermination"), "id": obj.get("id"), "performanceClass": obj.get("performanceClass"), "size": obj.get("size"), diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/boot_volume_source.py b/services/iaasalpha/src/stackit/iaasalpha/models/boot_volume_source.py index 7c06fae9..aa4a3473 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/boot_volume_source.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/boot_volume_source.py @@ -31,7 +31,7 @@ class BootVolumeSource(BaseModel): id: Annotated[str, Field(min_length=36, strict=True, max_length=36)] = Field( description="Universally Unique Identifier (UUID)." ) - type: StrictStr = Field(description="The source types of a boot volume.") + type: StrictStr = Field(description="The source types of a boot volume. Possible values: `image`, `volume`.") __properties: ClassVar[List[str]] = ["id", "type"] @field_validator("id") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_affinity_group_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_affinity_group_payload.py index de287fbe..e86a396d 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_affinity_group_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_affinity_group_payload.py @@ -37,7 +37,9 @@ class CreateAffinityGroupPayload(BaseModel): name: Annotated[str, Field(strict=True, max_length=63)] = Field( description="The name for a General Object. Matches Names and also UUIDs." ) - policy: StrictStr = Field(description="The affinity group policy.") + policy: StrictStr = Field( + description="The affinity group policy. `hard-affinity`: All servers in this group will be hosted on the same compute node. `soft-affinity`: All servers in this group will be hosted on as few compute nodes as possible. `hard-anti-affinity`: All servers in this group will be hosted on different compute nodes. `soft-anti-affinity`: All servers in this group will be hosted on as many compute nodes as possible. Possible values: `hard-anti-affinity`, `hard-affinity`, `soft-anti-affinity`, `soft-affinity`." + ) __properties: ClassVar[List[str]] = ["id", "members", "name", "policy"] @field_validator("id") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_backup_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_backup_payload.py index 679dbd68..a5d12ac8 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_backup_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_backup_payload.py @@ -31,7 +31,8 @@ class CreateBackupPayload(BaseModel): """ labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_image_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_image_payload.py index 8b208a51..c02e26be 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_image_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_image_payload.py @@ -45,12 +45,15 @@ class CreateImagePayload(BaseModel): created_at: Optional[datetime] = Field( default=None, description="Date-time when resource was created.", alias="createdAt" ) - disk_format: StrictStr = Field(description="Object that represents a disk format.", alias="diskFormat") + disk_format: StrictStr = Field( + description="Object that represents a disk format. Possible values: `raw`, `qcow2`, `iso`.", alias="diskFormat" + ) id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( default=None, description="Universally Unique Identifier (UUID)." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) min_disk_size: Optional[StrictInt] = Field(default=None, description="Size in Gigabyte.", alias="minDiskSize") min_ram: Optional[StrictInt] = Field(default=None, description="Size in Megabyte.", alias="minRam") @@ -61,8 +64,14 @@ class CreateImagePayload(BaseModel): default=None, description="Universally Unique Identifier (UUID)." ) protected: Optional[StrictBool] = None - scope: Optional[StrictStr] = Field(default=None, description="Scope of an Image.") - status: Optional[StrictStr] = Field(default=None, description="The status of an image object.") + scope: Optional[StrictStr] = Field( + default=None, description="Scope of an Image. Possible values: `public`, `local`, `projects`, `organization`." + ) + size: Optional[StrictInt] = Field(default=None, description="Size in bytes.") + status: Optional[StrictStr] = Field( + default=None, + description="The status of an image object. Possible values: `AVAILABLE`, `CREATING`, `DEACTIVATED`, `DELETED`, `DELETING`, `ERROR`.", + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) @@ -79,6 +88,7 @@ class CreateImagePayload(BaseModel): "owner", "protected", "scope", + "size", "status", "updatedAt", ] @@ -150,6 +160,7 @@ def to_dict(self) -> Dict[str, Any]: * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set( [ @@ -158,6 +169,7 @@ def to_dict(self) -> Dict[str, Any]: "id", "owner", "scope", + "size", "status", "updated_at", ] @@ -199,6 +211,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "owner": obj.get("owner"), "protected": obj.get("protected"), "scope": obj.get("scope"), + "size": obj.get("size"), "status": obj.get("status"), "updatedAt": obj.get("updatedAt"), } diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_key_pair_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_key_pair_payload.py index 0cd09c75..289c0fb8 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_key_pair_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_key_pair_payload.py @@ -36,7 +36,8 @@ class CreateKeyPairPayload(BaseModel): default=None, description="Object that represents an SSH keypair MD5 fingerprint." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, @@ -73,9 +74,11 @@ def name_validate_regular_expression(cls, value): @field_validator("public_key") def public_key_validate_regular_expression(cls, value): """Validates the regular expression""" - if not re.match(r"^(ssh-rsa|ssh-ed25519)\s+[A-Za-z0-9+\/]+[=]{0,3}(\s+.+)?\s*$", value): + if not re.match( + r"^(ssh-rsa|ssh-ed25519|ecdsa-sha2-nistp(256|384|521))\s+[A-Za-z0-9+\/]+[=]{0,3}(\s+.+)?\s*$", value + ): raise ValueError( - r"must validate the regular expression /^(ssh-rsa|ssh-ed25519)\s+[A-Za-z0-9+\/]+[=]{0,3}(\s+.+)?\s*$/" + r"must validate the regular expression /^(ssh-rsa|ssh-ed25519|ecdsa-sha2-nistp(256|384|521))\s+[A-Za-z0-9+\/]+[=]{0,3}(\s+.+)?\s*$/" ) return value diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_network_area_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_network_area_payload.py index 06ab0f56..8a5bd0e7 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_network_area_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_network_area_payload.py @@ -32,7 +32,8 @@ class CreateNetworkAreaPayload(BaseModel): address_family: CreateAreaAddressFamily = Field(alias="addressFamily") labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Annotated[str, Field(strict=True, max_length=63)] = Field( description="The name for a General Object. Matches Names and also UUIDs." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_network_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_network_payload.py index 490475a2..1b3d7af9 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_network_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_network_payload.py @@ -34,7 +34,8 @@ class CreateNetworkPayload(BaseModel): address_family: Optional[CreateNetworkAddressFamily] = Field(default=None, alias="addressFamily") labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Annotated[str, Field(strict=True, max_length=63)] = Field( description="The name for a General Object. Matches Names and also UUIDs." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_nic_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_nic_payload.py index 67baa98f..13b72478 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_nic_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_nic_payload.py @@ -53,7 +53,8 @@ class CreateNicPayload(BaseModel): default=None, description="Object that represents an IPv6 address." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) mac: Optional[Annotated[str, Field(strict=True)]] = Field( default=None, description="Object that represents an MAC address." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_protocol.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_protocol.py index 6e3966ae..d0c0a82f 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_protocol.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_protocol.py @@ -43,7 +43,8 @@ class CreateProtocol(BaseModel): ) # data type: str oneof_schema_2_validator: Optional[StrictStr] = Field( - default=None, description="The protocol name which the rule should match." + default=None, + description="The protocol name which the rule should match. Possible values: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`.", ) actual_instance: Optional[Union[int, str]] = None one_of_schemas: Set[str] = {"int", "str"} diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_public_ip_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_public_ip_payload.py index 41732d03..c9b0ee0e 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_public_ip_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_public_ip_payload.py @@ -35,7 +35,8 @@ class CreatePublicIPPayload(BaseModel): default=None, description="Object that represents an IP address." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) network_interface: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( default=None, diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_security_group_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_security_group_payload.py index c9723eee..8df08cd5 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_security_group_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_security_group_payload.py @@ -41,7 +41,8 @@ class CreateSecurityGroupPayload(BaseModel): default=None, description="Universally Unique Identifier (UUID)." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Annotated[str, Field(strict=True, max_length=63)] = Field( description="The name for a General Object. Matches Names and also UUIDs." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_server_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_server_payload.py index 54765739..0df5c215 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_server_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_server_payload.py @@ -62,11 +62,12 @@ class CreateServerPayload(BaseModel): image_id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( default=None, description="Universally Unique Identifier (UUID).", alias="imageId" ) - keypair_name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( + keypair_name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The SSH keypair used during the server creation.", alias="keypairName" ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) launched_at: Optional[datetime] = Field( default=None, description="Date-time when resource was launched.", alias="launchedAt" @@ -82,7 +83,9 @@ class CreateServerPayload(BaseModel): description="The list of network interfaces (NICs) attached to the server. Only shown when detailed information is requested.", ) power_status: Optional[StrictStr] = Field( - default=None, description="The power status of a server.", alias="powerStatus" + default=None, + description="The power status of a server. Possible values: `CRASHED`, `ERROR`, `RUNNING`, `STOPPED`.", + alias="powerStatus", ) security_groups: Optional[List[Annotated[str, Field(strict=True, max_length=63)]]] = Field( default=None, description="The initial security groups for the server creation.", alias="securityGroups" @@ -94,7 +97,10 @@ class CreateServerPayload(BaseModel): description="A list of service account mails. Only shown when detailed information is requested.", alias="serviceAccountMails", ) - status: Optional[StrictStr] = Field(default=None, description="The status of a server object.") + status: Optional[StrictStr] = Field( + default=None, + description="The status of a server object. Possible values: `ACTIVE`, `BACKING-UP`, `CREATING`, `DEALLOCATED`, `DEALLOCATING`, `DELETED`, `DELETING`, `ERROR`, `INACTIVE`, `MIGRATING`, `REBOOT`, `REBOOTING`, `REBUILD`, `REBUILDING`, `RESCUE`, `RESCUING`, `RESIZING`, `RESTORING`, `SNAPSHOTTING`, `STARTING`, `STOPPING`, `UNRESCUING`, `UPDATING`.", + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) @@ -173,8 +179,8 @@ def keypair_name_validate_regular_expression(cls, value): if value is None: return value - if not re.match(r"^[A-Za-z0-9]+((-|_|\s|\.)[A-Za-z0-9]+)*$", value): - raise ValueError(r"must validate the regular expression /^[A-Za-z0-9]+((-|_|\s|\.)[A-Za-z0-9]+)*$/") + if not re.match(r"^[A-Za-z0-9@._-]*$", value): + raise ValueError(r"must validate the regular expression /^[A-Za-z0-9@._-]*$/") return value @field_validator("machine_type") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_snapshot_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_snapshot_payload.py index a4f9020f..1535da3e 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_snapshot_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_snapshot_payload.py @@ -36,13 +36,17 @@ class CreateSnapshotPayload(BaseModel): default=None, description="Universally Unique Identifier (UUID)." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) size: Optional[StrictInt] = Field(default=None, description="Size in Gigabyte.") - status: Optional[StrictStr] = Field(default=None, description="The status of a snapshot object.") + status: Optional[StrictStr] = Field( + default=None, + description="The status of a snapshot object. Possible values: `AVAILABLE`, `BACKING-UP`, `CREATING`, `DELETED`, `DELETING`, `ERROR`, `RESTORING`, `UNMANAGING`, `UPDATING`.", + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_virtual_ip_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_virtual_ip_payload.py index 9d250080..54a061fd 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_virtual_ip_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_virtual_ip_payload.py @@ -35,7 +35,8 @@ class CreateVirtualIPPayload(BaseModel): default=None, description="Object that represents an IP address." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) members: Optional[List[Annotated[str, Field(min_length=36, strict=True, max_length=36)]]] = Field( default=None, description="A list of UUIDs." @@ -46,7 +47,10 @@ class CreateVirtualIPPayload(BaseModel): network: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( default=None, description="Universally Unique Identifier (UUID)." ) - status: Optional[StrictStr] = Field(default=None, description="The state of a resource object.") + status: Optional[StrictStr] = Field( + default=None, + description="The state of a resource object. Possible values: `CREATING`, `CREATED`, `DELETING`, `DELETED`, `FAILED`, `UPDATED`, `UPDATING`.", + ) __properties: ClassVar[List[str]] = ["id", "ip", "labels", "members", "name", "network", "status"] @field_validator("id") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/create_volume_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_volume_payload.py index 94f73b64..af9014a7 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_volume_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_volume_payload.py @@ -55,7 +55,8 @@ class CreateVolumePayload(BaseModel): ) image_config: Optional[ImageConfig] = Field(default=None, alias="imageConfig") labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." @@ -70,7 +71,10 @@ class CreateVolumePayload(BaseModel): ) size: Optional[StrictInt] = Field(default=None, description="Size in Gigabyte.") source: Optional[VolumeSource] = None - status: Optional[StrictStr] = Field(default=None, description="The status of a volume object.") + status: Optional[StrictStr] = Field( + default=None, + description="The status of a volume object. Possible values: `ATTACHED`, `ATTACHING`, `AVAILABLE`, `AWAITING-TRANSFER`, `BACKING-UP`, `CREATING`, `DELETED`, `DELETING`, `DETACHING`, `DOWNLOADING`, `ERROR`, `ERROR_BACKING-UP`, `ERROR_DELETING`, `ERROR_RESIZING`, `ERROR_RESTORING-BACKUP`, `MAINTENANCE`, `RESERVED`, `RESIZING`, `RESTORING-BACKUP`, `RETYPING`, `UPLOADING`.", + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/image.py b/services/iaasalpha/src/stackit/iaasalpha/models/image.py index aef2d251..13649501 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/image.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/image.py @@ -45,12 +45,15 @@ class Image(BaseModel): created_at: Optional[datetime] = Field( default=None, description="Date-time when resource was created.", alias="createdAt" ) - disk_format: StrictStr = Field(description="Object that represents a disk format.", alias="diskFormat") + disk_format: StrictStr = Field( + description="Object that represents a disk format. Possible values: `raw`, `qcow2`, `iso`.", alias="diskFormat" + ) id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( default=None, description="Universally Unique Identifier (UUID)." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) min_disk_size: Optional[StrictInt] = Field(default=None, description="Size in Gigabyte.", alias="minDiskSize") min_ram: Optional[StrictInt] = Field(default=None, description="Size in Megabyte.", alias="minRam") @@ -61,8 +64,14 @@ class Image(BaseModel): default=None, description="Universally Unique Identifier (UUID)." ) protected: Optional[StrictBool] = None - scope: Optional[StrictStr] = Field(default=None, description="Scope of an Image.") - status: Optional[StrictStr] = Field(default=None, description="The status of an image object.") + scope: Optional[StrictStr] = Field( + default=None, description="Scope of an Image. Possible values: `public`, `local`, `projects`, `organization`." + ) + size: Optional[StrictInt] = Field(default=None, description="Size in bytes.") + status: Optional[StrictStr] = Field( + default=None, + description="The status of an image object. Possible values: `AVAILABLE`, `CREATING`, `DEACTIVATED`, `DELETED`, `DELETING`, `ERROR`.", + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) @@ -79,6 +88,7 @@ class Image(BaseModel): "owner", "protected", "scope", + "size", "status", "updatedAt", ] @@ -150,6 +160,7 @@ def to_dict(self) -> Dict[str, Any]: * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set( [ @@ -158,6 +169,7 @@ def to_dict(self) -> Dict[str, Any]: "id", "owner", "scope", + "size", "status", "updated_at", ] @@ -199,6 +211,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "owner": obj.get("owner"), "protected": obj.get("protected"), "scope": obj.get("scope"), + "size": obj.get("size"), "status": obj.get("status"), "updatedAt": obj.get("updatedAt"), } diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/image_config.py b/services/iaasalpha/src/stackit/iaasalpha/models/image_config.py index 13d0122b..e6045157 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/image_config.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/image_config.py @@ -27,7 +27,12 @@ class ImageConfig(BaseModel): Properties to set hardware and scheduling settings for an Image. """ - boot_menu: Optional[StrictBool] = Field(default=False, description="Enables the BIOS bootmenu.", alias="bootMenu") + architecture: Optional[StrictStr] = Field( + default=None, description="Represents CPU architecture. The default for new images is x86." + ) + boot_menu: Optional[StrictBool] = Field( + default=None, description="Enables the BIOS bootmenu. The default for new images is disabled.", alias="bootMenu" + ) cdrom_bus: Optional[StrictStr] = Field( default=None, description="Sets CDROM bus controller type.", alias="cdromBus" ) @@ -48,15 +53,20 @@ class ImageConfig(BaseModel): rescue_device: Optional[StrictStr] = Field( default=None, description="Sets the device when the image is used as a rescue image.", alias="rescueDevice" ) - secure_boot: Optional[StrictBool] = Field(default=False, description="Enables Secure Boot.", alias="secureBoot") - uefi: Optional[StrictBool] = Field(default=False, description="Enables UEFI boot.") + secure_boot: Optional[StrictBool] = Field( + default=None, description="Enables Secure Boot. The default for new images is disabled.", alias="secureBoot" + ) + uefi: Optional[StrictBool] = Field( + default=None, description="Configure UEFI boot. The default for new images is enabled." + ) video_model: Optional[StrictStr] = Field(default=None, description="Sets Graphic device model.", alias="videoModel") virtio_scsi: Optional[StrictBool] = Field( - default=False, - description="Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block.", + default=None, + description="Enables the use of VirtIO SCSI to provide block device access. By default servers use VirtIO Block.", alias="virtioScsi", ) __properties: ClassVar[List[str]] = [ + "architecture", "bootMenu", "cdromBus", "diskBus", @@ -162,7 +172,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate( { - "bootMenu": obj.get("bootMenu") if obj.get("bootMenu") is not None else False, + "architecture": obj.get("architecture"), + "bootMenu": obj.get("bootMenu"), "cdromBus": obj.get("cdromBus"), "diskBus": obj.get("diskBus"), "nicModel": obj.get("nicModel"), @@ -171,10 +182,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "operatingSystemVersion": obj.get("operatingSystemVersion"), "rescueBus": obj.get("rescueBus"), "rescueDevice": obj.get("rescueDevice"), - "secureBoot": obj.get("secureBoot") if obj.get("secureBoot") is not None else False, - "uefi": obj.get("uefi") if obj.get("uefi") is not None else False, + "secureBoot": obj.get("secureBoot"), + "uefi": obj.get("uefi"), "videoModel": obj.get("videoModel"), - "virtioScsi": obj.get("virtioScsi") if obj.get("virtioScsi") is not None else False, + "virtioScsi": obj.get("virtioScsi"), } ) return _obj diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/keypair.py b/services/iaasalpha/src/stackit/iaasalpha/models/keypair.py index d461e43f..3c65d8df 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/keypair.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/keypair.py @@ -36,7 +36,8 @@ class Keypair(BaseModel): default=None, description="Object that represents an SSH keypair MD5 fingerprint." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, @@ -73,9 +74,11 @@ def name_validate_regular_expression(cls, value): @field_validator("public_key") def public_key_validate_regular_expression(cls, value): """Validates the regular expression""" - if not re.match(r"^(ssh-rsa|ssh-ed25519)\s+[A-Za-z0-9+\/]+[=]{0,3}(\s+.+)?\s*$", value): + if not re.match( + r"^(ssh-rsa|ssh-ed25519|ecdsa-sha2-nistp(256|384|521))\s+[A-Za-z0-9+\/]+[=]{0,3}(\s+.+)?\s*$", value + ): raise ValueError( - r"must validate the regular expression /^(ssh-rsa|ssh-ed25519)\s+[A-Za-z0-9+\/]+[=]{0,3}(\s+.+)?\s*$/" + r"must validate the regular expression /^(ssh-rsa|ssh-ed25519|ecdsa-sha2-nistp(256|384|521))\s+[A-Za-z0-9+\/]+[=]{0,3}(\s+.+)?\s*$/" ) return value diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/network.py b/services/iaasalpha/src/stackit/iaasalpha/models/network.py index 6521513b..b6c7a8e7 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/network.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/network.py @@ -48,7 +48,8 @@ class Network(BaseModel): description="The gateway of a network. If not specified the first IP of the network will be assigned as the gateway. If 'null' is sent, then the network doesn't have a gateway.", ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: StrictStr nameservers: Optional[Annotated[List[Annotated[str, Field(strict=True)]], Field(max_length=3)]] = Field( @@ -68,7 +69,9 @@ class Network(BaseModel): routed: Optional[StrictBool] = Field( default=None, description="Shows if the network is routed and therefore accessible from other networks." ) - state: StrictStr = Field(description="The state of a resource object.") + state: StrictStr = Field( + description="The state of a resource object. Possible values: `CREATING`, `CREATED`, `DELETING`, `DELETED`, `FAILED`, `UPDATED`, `UPDATING`." + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/network_area.py b/services/iaasalpha/src/stackit/iaasalpha/models/network_area.py index e845793a..b72bb1e4 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/network_area.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/network_area.py @@ -39,13 +39,16 @@ class NetworkArea(BaseModel): ) ipv4: Optional[NetworkAreaIPv4] = None labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: StrictStr project_count: Annotated[int, Field(strict=True, ge=0)] = Field( description="The amount of projects currently referencing a specific area.", alias="projectCount" ) - state: StrictStr = Field(description="The state of a resource object.") + state: StrictStr = Field( + description="The state of a resource object. Possible values: `CREATING`, `CREATED`, `DELETING`, `DELETED`, `FAILED`, `UPDATED`, `UPDATING`." + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/nic.py b/services/iaasalpha/src/stackit/iaasalpha/models/nic.py index 21088dbe..48fe4bc4 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/nic.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/nic.py @@ -53,7 +53,8 @@ class NIC(BaseModel): default=None, description="Object that represents an IPv6 address." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) mac: Optional[Annotated[str, Field(strict=True)]] = Field( default=None, description="Object that represents an MAC address." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/partial_update_network_area_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/partial_update_network_area_payload.py index b3d556b4..93cfddff 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/partial_update_network_area_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/partial_update_network_area_payload.py @@ -32,7 +32,8 @@ class PartialUpdateNetworkAreaPayload(BaseModel): address_family: Optional[UpdateAreaAddressFamily] = Field(default=None, alias="addressFamily") labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/partial_update_network_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/partial_update_network_payload.py index 635b4f87..f0c1e8e7 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/partial_update_network_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/partial_update_network_payload.py @@ -34,7 +34,8 @@ class PartialUpdateNetworkPayload(BaseModel): address_family: Optional[UpdateNetworkAddressFamily] = Field(default=None, alias="addressFamily") labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/project.py b/services/iaasalpha/src/stackit/iaasalpha/models/project.py index 4cafa926..bd674dc2 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/project.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/project.py @@ -49,7 +49,9 @@ class Project(BaseModel): project_id: Annotated[str, Field(min_length=36, strict=True, max_length=36)] = Field( description="Universally Unique Identifier (UUID).", alias="projectId" ) - state: StrictStr = Field(description="The state of a resource object.") + state: StrictStr = Field( + description="The state of a resource object. Possible values: `CREATING`, `CREATED`, `DELETING`, `DELETED`, `FAILED`, `UPDATED`, `UPDATING`." + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/protocol.py b/services/iaasalpha/src/stackit/iaasalpha/models/protocol.py index e84ed268..b0df5c40 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/protocol.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/protocol.py @@ -27,7 +27,10 @@ class Protocol(BaseModel): The schema for a protocol of a security group rule. """ - name: Optional[StrictStr] = Field(default=None, description="The protocol name which the rule should match.") + name: Optional[StrictStr] = Field( + default=None, + description="The protocol name which the rule should match. Possible values: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`.", + ) number: Optional[Annotated[int, Field(le=255, strict=True, ge=0)]] = Field( default=None, description="The protocol number which the rule should match." ) diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/public_ip.py b/services/iaasalpha/src/stackit/iaasalpha/models/public_ip.py index 581fbbc2..f8e3c22b 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/public_ip.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/public_ip.py @@ -35,7 +35,8 @@ class PublicIp(BaseModel): default=None, description="Object that represents an IP address." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) network_interface: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( default=None, diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/request.py b/services/iaasalpha/src/stackit/iaasalpha/models/request.py index 7f2418a7..3f0aa3f1 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/request.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/request.py @@ -31,13 +31,21 @@ class Request(BaseModel): """ details: Optional[StrictStr] = None - request_action: StrictStr = Field(description="Object that represents a resource action.", alias="requestAction") + request_action: StrictStr = Field( + description="Object that represents a resource action. Possible values: `CREATE`, `DELETE`, `UPDATE`.", + alias="requestAction", + ) request_id: Annotated[str, Field(min_length=36, strict=True, max_length=36)] = Field( description="Identifier (ID) representing a single API request.", alias="requestId" ) - request_type: StrictStr = Field(description="Object that represents a resource type.", alias="requestType") + request_type: StrictStr = Field( + description="Object that represents a resource type. Possible values: `BACKUP`, `IMAGE`, `NETWORK`, `NETWORKAREA`, `NIC`, `PROJECT`, `ROUTE`, `SERVER`, `SERVICEACCOUNT`, `SNAPSHOT`, `VIRTUALIP`, `VOLUME`.", + alias="requestType", + ) resources: List[RequestResource] - status: StrictStr = Field(description="The state of a resource object.") + status: StrictStr = Field( + description="The state of a resource object. Possible values: `CREATING`, `CREATED`, `DELETING`, `DELETED`, `FAILED`, `UPDATED`, `UPDATING`." + ) __properties: ClassVar[List[str]] = ["details", "requestAction", "requestId", "requestType", "resources", "status"] @field_validator("request_id") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/request_resource.py b/services/iaasalpha/src/stackit/iaasalpha/models/request_resource.py index 737351a9..ed2eb165 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/request_resource.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/request_resource.py @@ -31,8 +31,12 @@ class RequestResource(BaseModel): id: Annotated[str, Field(min_length=36, strict=True, max_length=36)] = Field( description="Universally Unique Identifier (UUID)." ) - status: StrictStr = Field(description="The state of a resource object.") - type: StrictStr = Field(description="Object that represents a resource type.") + status: StrictStr = Field( + description="The state of a resource object. Possible values: `CREATING`, `CREATED`, `DELETING`, `DELETED`, `FAILED`, `UPDATED`, `UPDATING`." + ) + type: StrictStr = Field( + description="Object that represents a resource type. Possible values: `BACKUP`, `IMAGE`, `NETWORK`, `NETWORKAREA`, `NIC`, `PROJECT`, `ROUTE`, `SERVER`, `SERVICEACCOUNT`, `SNAPSHOT`, `VIRTUALIP`, `VOLUME`." + ) __properties: ClassVar[List[str]] = ["id", "status", "type"] @field_validator("id") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/route.py b/services/iaasalpha/src/stackit/iaasalpha/models/route.py index 9a0d5a71..66ba99d3 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/route.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/route.py @@ -33,7 +33,8 @@ class Route(BaseModel): default=None, description="Date-time when resource was created.", alias="createdAt" ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) nexthop: Annotated[str, Field(strict=True)] = Field(description="Object that represents an IP address.") prefix: Annotated[str, Field(strict=True)] = Field(description="Classless Inter-Domain Routing (CIDR).") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/security_group.py b/services/iaasalpha/src/stackit/iaasalpha/models/security_group.py index 1e87c0d1..c56d7844 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/security_group.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/security_group.py @@ -41,7 +41,8 @@ class SecurityGroup(BaseModel): default=None, description="Universally Unique Identifier (UUID)." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Annotated[str, Field(strict=True, max_length=63)] = Field( description="The name for a General Object. Matches Names and also UUIDs." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/server.py b/services/iaasalpha/src/stackit/iaasalpha/models/server.py index 175deffe..ac9f91b2 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/server.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/server.py @@ -62,11 +62,12 @@ class Server(BaseModel): image_id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( default=None, description="Universally Unique Identifier (UUID).", alias="imageId" ) - keypair_name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( + keypair_name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The SSH keypair used during the server creation.", alias="keypairName" ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) launched_at: Optional[datetime] = Field( default=None, description="Date-time when resource was launched.", alias="launchedAt" @@ -82,7 +83,9 @@ class Server(BaseModel): description="The list of network interfaces (NICs) attached to the server. Only shown when detailed information is requested.", ) power_status: Optional[StrictStr] = Field( - default=None, description="The power status of a server.", alias="powerStatus" + default=None, + description="The power status of a server. Possible values: `CRASHED`, `ERROR`, `RUNNING`, `STOPPED`.", + alias="powerStatus", ) security_groups: Optional[List[Annotated[str, Field(strict=True, max_length=63)]]] = Field( default=None, description="The initial security groups for the server creation.", alias="securityGroups" @@ -94,7 +97,10 @@ class Server(BaseModel): description="A list of service account mails. Only shown when detailed information is requested.", alias="serviceAccountMails", ) - status: Optional[StrictStr] = Field(default=None, description="The status of a server object.") + status: Optional[StrictStr] = Field( + default=None, + description="The status of a server object. Possible values: `ACTIVE`, `BACKING-UP`, `CREATING`, `DEALLOCATED`, `DEALLOCATING`, `DELETED`, `DELETING`, `ERROR`, `INACTIVE`, `MIGRATING`, `REBOOT`, `REBOOTING`, `REBUILD`, `REBUILDING`, `RESCUE`, `RESCUING`, `RESIZING`, `RESTORING`, `SNAPSHOTTING`, `STARTING`, `STOPPING`, `UNRESCUING`, `UPDATING`.", + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) @@ -173,8 +179,8 @@ def keypair_name_validate_regular_expression(cls, value): if value is None: return value - if not re.match(r"^[A-Za-z0-9]+((-|_|\s|\.)[A-Za-z0-9]+)*$", value): - raise ValueError(r"must validate the regular expression /^[A-Za-z0-9]+((-|_|\s|\.)[A-Za-z0-9]+)*$/") + if not re.match(r"^[A-Za-z0-9@._-]*$", value): + raise ValueError(r"must validate the regular expression /^[A-Za-z0-9@._-]*$/") return value @field_validator("machine_type") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/server_network.py b/services/iaasalpha/src/stackit/iaasalpha/models/server_network.py index 7b6cf793..29c3da3b 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/server_network.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/server_network.py @@ -217,7 +217,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "networkId": obj.get("networkId"), "networkName": obj.get("networkName"), "nicId": obj.get("nicId"), - "nicSecurity": obj.get("nicSecurity") if obj.get("nicSecurity") is not None else True, + "nicSecurity": obj.get("nicSecurity"), "publicIp": obj.get("publicIp"), "securityGroups": obj.get("securityGroups"), } diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/snapshot.py b/services/iaasalpha/src/stackit/iaasalpha/models/snapshot.py index c7c1198a..e68f1e6e 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/snapshot.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/snapshot.py @@ -36,13 +36,17 @@ class Snapshot(BaseModel): default=None, description="Universally Unique Identifier (UUID)." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) size: Optional[StrictInt] = Field(default=None, description="Size in Gigabyte.") - status: Optional[StrictStr] = Field(default=None, description="The status of a snapshot object.") + status: Optional[StrictStr] = Field( + default=None, + description="The status of a snapshot object. Possible values: `AVAILABLE`, `BACKING-UP`, `CREATING`, `DELETED`, `DELETING`, `ERROR`, `RESTORING`, `UNMANAGING`, `UPDATING`.", + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/update_attached_volume_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_attached_volume_payload.py index 359b52fa..77bfa87d 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_attached_volume_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_attached_volume_payload.py @@ -29,7 +29,7 @@ class UpdateAttachedVolumePayload(BaseModel): """ delete_on_termination: Optional[StrictBool] = Field( - default=False, + default=None, description="Delete the volume during the termination of the server. Defaults to false.", alias="deleteOnTermination", ) @@ -122,9 +122,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate( { - "deleteOnTermination": ( - obj.get("deleteOnTermination") if obj.get("deleteOnTermination") is not None else False - ), + "deleteOnTermination": obj.get("deleteOnTermination"), "serverId": obj.get("serverId"), "volumeId": obj.get("volumeId"), } diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/update_backup_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_backup_payload.py index a70da4a4..5395d23b 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_backup_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_backup_payload.py @@ -39,7 +39,8 @@ class UpdateBackupPayload(BaseModel): default=None, description="Universally Unique Identifier (UUID)." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." @@ -48,7 +49,10 @@ class UpdateBackupPayload(BaseModel): snapshot_id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( default=None, description="Universally Unique Identifier (UUID).", alias="snapshotId" ) - status: Optional[StrictStr] = Field(default=None, description="The status of a backup object.") + status: Optional[StrictStr] = Field( + default=None, + description="The status of a backup object. Possible values: `AVAILABLE`, `CREATING`, `DELETED`, `DELETING`, `ERROR`, `RESTORING`.", + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/update_image_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_image_payload.py index 4cb11ee1..1c49679f 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_image_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_image_payload.py @@ -40,10 +40,13 @@ class UpdateImagePayload(BaseModel): config: Optional[ImageConfig] = None disk_format: Optional[StrictStr] = Field( - default=None, description="Object that represents a disk format.", alias="diskFormat" + default=None, + description="Object that represents a disk format. Possible values: `raw`, `qcow2`, `iso`.", + alias="diskFormat", ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) min_disk_size: Optional[StrictInt] = Field(default=None, description="Size in Gigabyte.", alias="minDiskSize") min_ram: Optional[StrictInt] = Field(default=None, description="Size in Megabyte.", alias="minRam") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/update_key_pair_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_key_pair_payload.py index 2df4fd0f..15a06280 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_key_pair_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_key_pair_payload.py @@ -28,7 +28,8 @@ class UpdateKeyPairPayload(BaseModel): """ labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) __properties: ClassVar[List[str]] = ["labels"] diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/update_nic_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_nic_payload.py index 2ded9971..d575dc82 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_nic_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_nic_payload.py @@ -34,7 +34,8 @@ class UpdateNicPayload(BaseModel): default=None, description="A list of IPs or CIDR notations.", alias="allowedAddresses" ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/update_public_ip_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_public_ip_payload.py index 19037c14..af61e39f 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_public_ip_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_public_ip_payload.py @@ -35,7 +35,8 @@ class UpdatePublicIPPayload(BaseModel): default=None, description="Object that represents an IP address." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) network_interface: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( default=None, diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/update_security_group_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_security_group_payload.py index 6ee2a3d7..8fdad123 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_security_group_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_security_group_payload.py @@ -32,7 +32,8 @@ class UpdateSecurityGroupPayload(BaseModel): default=None, description="Description Object. Allows string up to 127 Characters." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/update_server_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_server_payload.py index 7a286c6a..aa9f10ec 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_server_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_server_payload.py @@ -29,10 +29,11 @@ class UpdateServerPayload(BaseModel): """ labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( - default=None, description="The name for a General Object. Matches Names and also UUIDs." + default=None, description="The name for a Server." ) __properties: ClassVar[List[str]] = ["labels", "name"] @@ -42,8 +43,8 @@ def name_validate_regular_expression(cls, value): if value is None: return value - if not re.match(r"^[A-Za-z0-9]+((-|_|\s|\.)[A-Za-z0-9]+)*$", value): - raise ValueError(r"must validate the regular expression /^[A-Za-z0-9]+((-|_|\s|\.)[A-Za-z0-9]+)*$/") + if not re.match(r"^[A-Za-z0-9]+((-|\.)[A-Za-z0-9]+)*$", value): + raise ValueError(r"must validate the regular expression /^[A-Za-z0-9]+((-|\.)[A-Za-z0-9]+)*$/") return value model_config = ConfigDict( diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/update_snapshot_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_snapshot_payload.py index 81a620db..3b53d543 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_snapshot_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_snapshot_payload.py @@ -29,7 +29,8 @@ class UpdateSnapshotPayload(BaseModel): """ labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/update_virtual_ip_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_virtual_ip_payload.py index 0ff9d129..207fdb17 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_virtual_ip_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_virtual_ip_payload.py @@ -29,7 +29,8 @@ class UpdateVirtualIPPayload(BaseModel): """ labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) members: Optional[List[Annotated[str, Field(min_length=36, strict=True, max_length=36)]]] = Field( default=None, description="A list of UUIDs." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/update_volume_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_volume_payload.py index e2944c58..fc6e983a 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_volume_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_volume_payload.py @@ -30,13 +30,14 @@ class UpdateVolumePayload(BaseModel): Object that represents an update request body of a volume. """ - bootable: Optional[StrictBool] = Field(default=False, description="Indicates if a volume is bootable.") + bootable: Optional[StrictBool] = Field(default=None, description="Indicates if a volume is bootable.") description: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="Description Object. Allows string up to 127 Characters." ) image_config: Optional[ImageConfig] = Field(default=None, alias="imageConfig") labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." @@ -106,7 +107,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate( { - "bootable": obj.get("bootable") if obj.get("bootable") is not None else False, + "bootable": obj.get("bootable"), "description": obj.get("description"), "imageConfig": ( ImageConfig.from_dict(obj["imageConfig"]) if obj.get("imageConfig") is not None else None diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/v1alpha1_update_route_of_area_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/v1alpha1_update_route_of_area_payload.py index d4c3d0c6..d27775b5 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/v1alpha1_update_route_of_area_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/v1alpha1_update_route_of_area_payload.py @@ -28,7 +28,8 @@ class V1alpha1UpdateRouteOfAreaPayload(BaseModel): """ labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) __properties: ClassVar[List[str]] = ["labels"] diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/virtual_ip.py b/services/iaasalpha/src/stackit/iaasalpha/models/virtual_ip.py index ee0851a9..606ee500 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/virtual_ip.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/virtual_ip.py @@ -35,7 +35,8 @@ class VirtualIp(BaseModel): default=None, description="Object that represents an IP address." ) labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) members: Optional[List[Annotated[str, Field(min_length=36, strict=True, max_length=36)]]] = Field( default=None, description="A list of UUIDs." @@ -46,7 +47,10 @@ class VirtualIp(BaseModel): network: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( default=None, description="Universally Unique Identifier (UUID)." ) - status: Optional[StrictStr] = Field(default=None, description="The state of a resource object.") + status: Optional[StrictStr] = Field( + default=None, + description="The state of a resource object. Possible values: `CREATING`, `CREATED`, `DELETING`, `DELETED`, `FAILED`, `UPDATED`, `UPDATING`.", + ) __properties: ClassVar[List[str]] = ["id", "ip", "labels", "members", "name", "network", "status"] @field_validator("id") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/volume.py b/services/iaasalpha/src/stackit/iaasalpha/models/volume.py index 26b0f040..8a743041 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/volume.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/volume.py @@ -55,7 +55,8 @@ class Volume(BaseModel): ) image_config: Optional[ImageConfig] = Field(default=None, alias="imageConfig") labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." @@ -70,7 +71,10 @@ class Volume(BaseModel): ) size: Optional[StrictInt] = Field(default=None, description="Size in Gigabyte.") source: Optional[VolumeSource] = None - status: Optional[StrictStr] = Field(default=None, description="The status of a volume object.") + status: Optional[StrictStr] = Field( + default=None, + description="The status of a volume object. Possible values: `ATTACHED`, `ATTACHING`, `AVAILABLE`, `AWAITING-TRANSFER`, `BACKING-UP`, `CREATING`, `DELETED`, `DELETING`, `DETACHING`, `DOWNLOADING`, `ERROR`, `ERROR_BACKING-UP`, `ERROR_DELETING`, `ERROR_RESIZING`, `ERROR_RESTORING-BACKUP`, `MAINTENANCE`, `RESERVED`, `RESIZING`, `RESTORING-BACKUP`, `RETYPING`, `UPLOADING`.", + ) updated_at: Optional[datetime] = Field( default=None, description="Date-time when resource was last updated.", alias="updatedAt" ) diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/volume_attachment.py b/services/iaasalpha/src/stackit/iaasalpha/models/volume_attachment.py index 7d2f3ffc..b2363b59 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/volume_attachment.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/volume_attachment.py @@ -29,7 +29,7 @@ class VolumeAttachment(BaseModel): """ delete_on_termination: Optional[StrictBool] = Field( - default=False, + default=None, description="Delete the volume during the termination of the server. Defaults to false.", alias="deleteOnTermination", ) @@ -122,9 +122,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate( { - "deleteOnTermination": ( - obj.get("deleteOnTermination") if obj.get("deleteOnTermination") is not None else False - ), + "deleteOnTermination": obj.get("deleteOnTermination"), "serverId": obj.get("serverId"), "volumeId": obj.get("volumeId"), } diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/volume_performance_class.py b/services/iaasalpha/src/stackit/iaasalpha/models/volume_performance_class.py index df46d6be..a54e34f7 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/volume_performance_class.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/volume_performance_class.py @@ -33,7 +33,8 @@ class VolumePerformanceClass(BaseModel): ) iops: Optional[StrictInt] = Field(default=None, description="Input/Output Operations per second.") labels: Optional[Dict[str, Any]] = Field( - default=None, description="Object that represents the labels of an object." + default=None, + description="Object that represents the labels of an object. Regex for keys: `^[a-z]((-|_|[a-z0-9])){0,62}$`. Regex for values: `^(-|_|[a-z0-9]){0,63}$`.", ) name: Annotated[str, Field(strict=True, max_length=63)] = Field( description="The name for a General Object. Matches Names and also UUIDs." diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/volume_source.py b/services/iaasalpha/src/stackit/iaasalpha/models/volume_source.py index e326d6cd..2f1749f3 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/volume_source.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/volume_source.py @@ -31,7 +31,9 @@ class VolumeSource(BaseModel): id: Annotated[str, Field(min_length=36, strict=True, max_length=36)] = Field( description="Universally Unique Identifier (UUID)." ) - type: StrictStr = Field(description="The source types of a volume.") + type: StrictStr = Field( + description="The source types of a volume. Possible values: `image`, `volume`, `snapshot`, `backup`." + ) __properties: ClassVar[List[str]] = ["id", "type"] @field_validator("id")