diff --git a/services/iaasalpha/src/stackit/iaasalpha/api/default_api.py b/services/iaasalpha/src/stackit/iaasalpha/api/default_api.py index 740ec3cde..4e1587858 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/api/default_api.py +++ b/services/iaasalpha/src/stackit/iaasalpha/api/default_api.py @@ -14332,7 +14332,7 @@ def get_machine_type( str, Field(min_length=36, strict=True, max_length=36, description="The identifier (ID) of a STACKIT Project."), ], - machine_type: Annotated[str, Field(strict=True, max_length=63, description="STACKIT machine type Name.")], + machine_type: Annotated[str, Field(strict=True, max_length=127, description="STACKIT machine type Name.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14404,7 +14404,7 @@ def get_machine_type_with_http_info( str, Field(min_length=36, strict=True, max_length=36, description="The identifier (ID) of a STACKIT Project."), ], - machine_type: Annotated[str, Field(strict=True, max_length=63, description="STACKIT machine type Name.")], + machine_type: Annotated[str, Field(strict=True, max_length=127, description="STACKIT machine type Name.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -14476,7 +14476,7 @@ def get_machine_type_without_preload_content( str, Field(min_length=36, strict=True, max_length=36, description="The identifier (ID) of a STACKIT Project."), ], - machine_type: Annotated[str, Field(strict=True, max_length=63, description="STACKIT machine type Name.")], + machine_type: Annotated[str, Field(strict=True, max_length=127, description="STACKIT machine type Name.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19759,7 +19759,7 @@ def get_volume_performance_class( Field(min_length=36, strict=True, max_length=36, description="The identifier (ID) of a STACKIT Project."), ], volume_performance_class: Annotated[ - str, Field(strict=True, max_length=63, description="The name of a STACKIT Volume performance class.") + str, Field(strict=True, max_length=127, description="The name of a STACKIT Volume performance class.") ], _request_timeout: Union[ None, @@ -19833,7 +19833,7 @@ def get_volume_performance_class_with_http_info( Field(min_length=36, strict=True, max_length=36, description="The identifier (ID) of a STACKIT Project."), ], volume_performance_class: Annotated[ - str, Field(strict=True, max_length=63, description="The name of a STACKIT Volume performance class.") + str, Field(strict=True, max_length=127, description="The name of a STACKIT Volume performance class.") ], _request_timeout: Union[ None, @@ -19907,7 +19907,7 @@ def get_volume_performance_class_without_preload_content( Field(min_length=36, strict=True, max_length=36, description="The identifier (ID) of a STACKIT Project."), ], volume_performance_class: Annotated[ - str, Field(strict=True, max_length=63, description="The name of a STACKIT Volume performance class.") + str, Field(strict=True, max_length=127, description="The name of a STACKIT Volume performance class.") ], _request_timeout: Union[ None, diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/affinity_group.py b/services/iaasalpha/src/stackit/iaasalpha/models/affinity_group.py index 835257e93..4b417c6cd 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/affinity_group.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/affinity_group.py @@ -34,7 +34,7 @@ class AffinityGroup(BaseModel): members: Optional[List[Annotated[str, Field(min_length=36, strict=True, max_length=36)]]] = Field( default=None, description="The servers that are part of the affinity group." ) - name: Annotated[str, Field(strict=True, max_length=63)] = Field( + name: Annotated[str, Field(strict=True, max_length=127)] = Field( description="The name for a General Object. Matches Names and also UUIDs." ) policy: StrictStr = Field( @@ -57,8 +57,8 @@ def id_validate_regular_expression(cls, value): @field_validator("name") def name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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/backup.py b/services/iaasalpha/src/stackit/iaasalpha/models/backup.py index cb3ff573f..92f2766a7 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/backup.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/backup.py @@ -42,7 +42,7 @@ class Backup(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = 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.") @@ -90,8 +90,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 @field_validator("snapshot_id") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/boot_volume.py b/services/iaasalpha/src/stackit/iaasalpha/models/boot_volume.py index 9801ab1a2..6b588ccd5 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/boot_volume.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/boot_volume.py @@ -45,7 +45,7 @@ class BootVolume(BaseModel): id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( default=None, description="Universally Unique Identifier (UUID)." ) - performance_class: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( + performance_class: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs.", alias="performanceClass", @@ -72,8 +72,8 @@ def performance_class_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/create_affinity_group_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_affinity_group_payload.py index e86a396db..f4432c237 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 @@ -34,7 +34,7 @@ class CreateAffinityGroupPayload(BaseModel): members: Optional[List[Annotated[str, Field(min_length=36, strict=True, max_length=36)]]] = Field( default=None, description="The servers that are part of the affinity group." ) - name: Annotated[str, Field(strict=True, max_length=63)] = Field( + name: Annotated[str, Field(strict=True, max_length=127)] = Field( description="The name for a General Object. Matches Names and also UUIDs." ) policy: StrictStr = Field( @@ -57,8 +57,8 @@ def id_validate_regular_expression(cls, value): @field_validator("name") def name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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/create_backup_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_backup_payload.py index a5d12ac80..65d7eae41 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_backup_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_backup_payload.py @@ -34,7 +34,7 @@ class CreateBackupPayload(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) source: BackupSource @@ -46,8 +46,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/create_image_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_image_payload.py index c02e26be4..1656398e6 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_image_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_image_payload.py @@ -57,7 +57,7 @@ class CreateImagePayload(BaseModel): ) 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") - name: Annotated[str, Field(strict=True, max_length=63)] = Field( + name: Annotated[str, Field(strict=True, max_length=127)] = Field( description="The name for a General Object. Matches Names and also UUIDs." ) owner: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( @@ -108,8 +108,8 @@ def id_validate_regular_expression(cls, value): @field_validator("name") def name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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 @field_validator("owner") 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 8a5bd0e73..9e12c940a 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 @@ -35,7 +35,7 @@ class CreateNetworkAreaPayload(BaseModel): 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( + name: Annotated[str, Field(strict=True, max_length=127)] = Field( description="The name for a General Object. Matches Names and also UUIDs." ) __properties: ClassVar[List[str]] = ["addressFamily", "labels", "name"] @@ -43,8 +43,8 @@ class CreateNetworkAreaPayload(BaseModel): @field_validator("name") def name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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/create_network_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_network_payload.py index 1b3d7af97..14dcfc598 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_network_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_network_payload.py @@ -37,7 +37,7 @@ class CreateNetworkPayload(BaseModel): 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( + name: Annotated[str, Field(strict=True, max_length=127)] = Field( description="The name for a General Object. Matches Names and also UUIDs." ) routed: Optional[StrictBool] = Field( @@ -48,8 +48,8 @@ class CreateNetworkPayload(BaseModel): @field_validator("name") def name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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/create_nic_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_nic_payload.py index 318601c42..af2dda5f0 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_nic_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_nic_payload.py @@ -59,7 +59,7 @@ class CreateNicPayload(BaseModel): mac: Optional[Annotated[str, Field(strict=True)]] = Field( default=None, description="Object that represents an MAC address." ) - name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) network_id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( @@ -161,8 +161,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 @field_validator("network_id") 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 48bc45758..0eb9a7dbd 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 @@ -44,7 +44,7 @@ class CreateSecurityGroupPayload(BaseModel): 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( + name: Annotated[str, Field(strict=True, max_length=127)] = Field( description="The name for a General Object. Matches Names and also UUIDs." ) rules: Optional[List[SecurityGroupRule]] = Field( @@ -83,8 +83,8 @@ def id_validate_regular_expression(cls, value): @field_validator("name") def name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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/create_server_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/create_server_payload.py index 40dad5db4..863d3e9d5 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_server_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_server_payload.py @@ -72,10 +72,14 @@ class CreateServerPayload(BaseModel): launched_at: Optional[datetime] = Field( default=None, description="Date-time when resource was launched.", alias="launchedAt" ) - machine_type: Annotated[str, Field(strict=True, max_length=63)] = Field( + machine_type: Annotated[str, Field(strict=True, max_length=127)] = Field( description="Name of the machine type the server shall belong to.", alias="machineType" ) maintenance_window: Optional[ServerMaintenance] = Field(default=None, alias="maintenanceWindow") + metadata: Optional[Dict[str, Any]] = Field( + default=None, + description="Object that represents the metadata of an object. Regex for keys: `^[a-zA-Z0-9-_:. ]{1,255}$`. Regex for values: `^.{0,255}$`.", + ) name: Annotated[str, Field(strict=True, max_length=63)] = Field(description="The name for a Server.") networking: Optional[CreateServerPayloadNetworking] = None nics: Optional[List[ServerNetwork]] = Field( @@ -87,7 +91,7 @@ class CreateServerPayload(BaseModel): 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( + security_groups: Optional[List[Annotated[str, Field(strict=True, max_length=127)]]] = Field( default=None, description="The initial security groups for the server creation.", alias="securityGroups" ) service_account_mails: Optional[ @@ -125,6 +129,7 @@ class CreateServerPayload(BaseModel): "launchedAt", "machineType", "maintenanceWindow", + "metadata", "name", "networking", "nics", @@ -186,15 +191,20 @@ def keypair_name_validate_regular_expression(cls, value): @field_validator("machine_type") def machine_type_validate_regular_expression(cls, value): """Validates the regular expression""" - 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 @field_validator("name") def name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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]+)*$/") + if not re.match( + r"^(([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][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][A-Za-z0-9-]*[A-Za-z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/" + ) return value model_config = ConfigDict( @@ -300,6 +310,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: if obj.get("maintenanceWindow") is not None else None ), + "metadata": obj.get("metadata"), "name": obj.get("name"), "networking": ( CreateServerPayloadNetworking.from_dict(obj["networking"]) 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 1535da3e0..a24865fd4 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_snapshot_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_snapshot_payload.py @@ -39,7 +39,7 @@ class CreateSnapshotPayload(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = 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.") @@ -73,8 +73,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 @field_validator("volume_id") 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 54a061fd1..756ff26c7 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 @@ -41,7 +41,7 @@ class CreateVirtualIPPayload(BaseModel): members: Optional[List[Annotated[str, Field(min_length=36, strict=True, max_length=36)]]] = Field( default=None, description="A list of UUIDs." ) - name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) network: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( @@ -86,8 +86,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 @field_validator("network") 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 54efef2c9..22776b802 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/create_volume_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/create_volume_payload.py @@ -58,10 +58,10 @@ class CreateVolumePayload(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) - performance_class: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( + performance_class: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs.", alias="performanceClass", @@ -113,8 +113,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 @field_validator("performance_class") @@ -123,8 +123,8 @@ def performance_class_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 @field_validator("server_id") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/image.py b/services/iaasalpha/src/stackit/iaasalpha/models/image.py index 13649501f..c9ff69d13 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/image.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/image.py @@ -57,7 +57,7 @@ class Image(BaseModel): ) 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") - name: Annotated[str, Field(strict=True, max_length=63)] = Field( + name: Annotated[str, Field(strict=True, max_length=127)] = Field( description="The name for a General Object. Matches Names and also UUIDs." ) owner: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( @@ -108,8 +108,8 @@ def id_validate_regular_expression(cls, value): @field_validator("name") def name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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 @field_validator("owner") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/machine_type.py b/services/iaasalpha/src/stackit/iaasalpha/models/machine_type.py index 07733ecd0..f4ff7f4c7 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/machine_type.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/machine_type.py @@ -37,7 +37,7 @@ class MachineType(BaseModel): description="Properties to control certain aspects or scheduling behavior for an object.", alias="extraSpecs", ) - name: Annotated[str, Field(strict=True, max_length=63)] = Field( + name: Annotated[str, Field(strict=True, max_length=127)] = Field( description="The name for a General Object. Matches Names and also UUIDs." ) ram: StrictInt = Field(description="Size in Megabyte.") @@ -47,8 +47,8 @@ class MachineType(BaseModel): @field_validator("name") def name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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/nic.py b/services/iaasalpha/src/stackit/iaasalpha/models/nic.py index 5f6bd26a8..ead5ad3e6 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/nic.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/nic.py @@ -59,7 +59,7 @@ class NIC(BaseModel): mac: Optional[Annotated[str, Field(strict=True)]] = Field( default=None, description="Object that represents an MAC address." ) - name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) network_id: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( @@ -161,8 +161,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 @field_validator("network_id") 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 93cfddffa..4f2086082 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 @@ -35,7 +35,7 @@ class PartialUpdateNetworkAreaPayload(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) __properties: ClassVar[List[str]] = ["addressFamily", "labels", "name"] @@ -46,8 +46,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/partial_update_network_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/partial_update_network_payload.py index f0c1e8e7d..87b0ec506 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 @@ -37,7 +37,7 @@ class PartialUpdateNetworkPayload(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) routed: Optional[StrictBool] = Field( @@ -51,8 +51,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/resize_server_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/resize_server_payload.py index 5b3cf3886..c090f3529 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/resize_server_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/resize_server_payload.py @@ -28,7 +28,7 @@ class ResizeServerPayload(BaseModel): ResizeServerPayload """ - machine_type: Annotated[str, Field(strict=True, max_length=63)] = Field( + machine_type: Annotated[str, Field(strict=True, max_length=127)] = Field( description="The name for a General Object. Matches Names and also UUIDs.", alias="machineType" ) __properties: ClassVar[List[str]] = ["machineType"] @@ -36,8 +36,8 @@ class ResizeServerPayload(BaseModel): @field_validator("machine_type") def machine_type_validate_regular_expression(cls, value): """Validates the regular expression""" - 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/security_group.py b/services/iaasalpha/src/stackit/iaasalpha/models/security_group.py index 7b6e75cf7..23c702d7b 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/security_group.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/security_group.py @@ -44,7 +44,7 @@ class SecurityGroup(BaseModel): 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( + name: Annotated[str, Field(strict=True, max_length=127)] = Field( description="The name for a General Object. Matches Names and also UUIDs." ) rules: Optional[List[SecurityGroupRule]] = Field( @@ -83,8 +83,8 @@ def id_validate_regular_expression(cls, value): @field_validator("name") def name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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/server.py b/services/iaasalpha/src/stackit/iaasalpha/models/server.py index 44246e12d..8cbdec874 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/server.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/server.py @@ -72,10 +72,14 @@ class Server(BaseModel): launched_at: Optional[datetime] = Field( default=None, description="Date-time when resource was launched.", alias="launchedAt" ) - machine_type: Annotated[str, Field(strict=True, max_length=63)] = Field( + machine_type: Annotated[str, Field(strict=True, max_length=127)] = Field( description="Name of the machine type the server shall belong to.", alias="machineType" ) maintenance_window: Optional[ServerMaintenance] = Field(default=None, alias="maintenanceWindow") + metadata: Optional[Dict[str, Any]] = Field( + default=None, + description="Object that represents the metadata of an object. Regex for keys: `^[a-zA-Z0-9-_:. ]{1,255}$`. Regex for values: `^.{0,255}$`.", + ) name: Annotated[str, Field(strict=True, max_length=63)] = Field(description="The name for a Server.") networking: Optional[CreateServerPayloadNetworking] = None nics: Optional[List[ServerNetwork]] = Field( @@ -87,7 +91,7 @@ class Server(BaseModel): 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( + security_groups: Optional[List[Annotated[str, Field(strict=True, max_length=127)]]] = Field( default=None, description="The initial security groups for the server creation.", alias="securityGroups" ) service_account_mails: Optional[ @@ -125,6 +129,7 @@ class Server(BaseModel): "launchedAt", "machineType", "maintenanceWindow", + "metadata", "name", "networking", "nics", @@ -186,15 +191,20 @@ def keypair_name_validate_regular_expression(cls, value): @field_validator("machine_type") def machine_type_validate_regular_expression(cls, value): """Validates the regular expression""" - 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 @field_validator("name") def name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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]+)*$/") + if not re.match( + r"^(([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][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][A-Za-z0-9-]*[A-Za-z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/" + ) return value model_config = ConfigDict( @@ -300,6 +310,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: if obj.get("maintenanceWindow") is not None else None ), + "metadata": obj.get("metadata"), "name": obj.get("name"), "networking": ( CreateServerPayloadNetworking.from_dict(obj["networking"]) diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/server_network.py b/services/iaasalpha/src/stackit/iaasalpha/models/server_network.py index f6a52bed9..1ba2e42f8 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/server_network.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/server_network.py @@ -43,7 +43,7 @@ class ServerNetwork(BaseModel): network_id: Annotated[str, Field(min_length=36, strict=True, max_length=36)] = Field( description="Universally Unique Identifier (UUID).", alias="networkId" ) - network_name: Annotated[str, Field(strict=True, max_length=63)] = Field( + network_name: Annotated[str, Field(strict=True, max_length=127)] = Field( description="The name for a General Object. Matches Names and also UUIDs.", alias="networkName" ) nic_id: Annotated[str, Field(min_length=36, strict=True, max_length=36)] = Field( @@ -121,8 +121,8 @@ def network_id_validate_regular_expression(cls, value): @field_validator("network_name") def network_name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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 @field_validator("nic_id") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/snapshot.py b/services/iaasalpha/src/stackit/iaasalpha/models/snapshot.py index e68f1e6e9..a4048eb12 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/snapshot.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/snapshot.py @@ -39,7 +39,7 @@ class Snapshot(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = 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.") @@ -73,8 +73,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 @field_validator("volume_id") 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 5395d23b5..e5088a682 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_backup_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_backup_payload.py @@ -42,7 +42,7 @@ class UpdateBackupPayload(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = 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.") @@ -90,8 +90,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 @field_validator("snapshot_id") 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 1c49679f5..2258ccf98 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_image_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_image_payload.py @@ -50,7 +50,7 @@ class UpdateImagePayload(BaseModel): ) 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") - name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) protected: Optional[StrictBool] = None @@ -62,8 +62,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_nic_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_nic_payload.py index d575dc82f..9f8188a83 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_nic_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_nic_payload.py @@ -37,7 +37,7 @@ class UpdateNicPayload(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) nic_security: Optional[StrictBool] = Field( @@ -56,8 +56,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_security_group_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_security_group_payload.py index 4613dfc7e..457a2ff0d 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 @@ -35,7 +35,7 @@ class UpdateSecurityGroupPayload(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) __properties: ClassVar[List[str]] = ["description", "labels", "name"] @@ -46,8 +46,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_server_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_server_payload.py index aa9f10ecf..83046e060 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_server_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_server_payload.py @@ -32,10 +32,14 @@ class UpdateServerPayload(BaseModel): 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}$`.", ) + metadata: Optional[Dict[str, Any]] = Field( + default=None, + description="Object that represents the metadata of an object. Regex for keys: `^[a-zA-Z0-9-_:. ]{1,255}$`. Regex for values: `^.{0,255}$`.", + ) name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( default=None, description="The name for a Server." ) - __properties: ClassVar[List[str]] = ["labels", "name"] + __properties: ClassVar[List[str]] = ["labels", "metadata", "name"] @field_validator("name") def name_validate_regular_expression(cls, value): @@ -43,8 +47,13 @@ def name_validate_regular_expression(cls, value): if value is None: return value - 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]+)*$/") + if not re.match( + r"^(([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][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][A-Za-z0-9-]*[A-Za-z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/" + ) return value model_config = ConfigDict( @@ -95,5 +104,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: if not isinstance(obj, dict): return cls.model_validate(obj) - _obj = cls.model_validate({"labels": obj.get("labels"), "name": obj.get("name")}) + _obj = cls.model_validate( + {"labels": obj.get("labels"), "metadata": obj.get("metadata"), "name": obj.get("name")} + ) return _obj 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 3b53d5434..54abfd30c 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_snapshot_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_snapshot_payload.py @@ -32,7 +32,7 @@ class UpdateSnapshotPayload(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) __properties: ClassVar[List[str]] = ["labels", "name"] @@ -43,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_virtual_ip_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_virtual_ip_payload.py index 207fdb179..d40849f29 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 @@ -35,7 +35,7 @@ class UpdateVirtualIPPayload(BaseModel): members: Optional[List[Annotated[str, Field(min_length=36, strict=True, max_length=36)]]] = Field( default=None, description="A list of UUIDs." ) - name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) __properties: ClassVar[List[str]] = ["labels", "members", "name"] @@ -46,8 +46,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_volume_payload.py b/services/iaasalpha/src/stackit/iaasalpha/models/update_volume_payload.py index f524ac2e2..fbf77b35a 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/update_volume_payload.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/update_volume_payload.py @@ -39,7 +39,7 @@ class UpdateVolumePayload(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) __properties: ClassVar[List[str]] = ["bootable", "description", "imageConfig", "labels", "name"] @@ -50,8 +50,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/virtual_ip.py b/services/iaasalpha/src/stackit/iaasalpha/models/virtual_ip.py index 606ee500e..0049ccba1 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/virtual_ip.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/virtual_ip.py @@ -41,7 +41,7 @@ class VirtualIp(BaseModel): members: Optional[List[Annotated[str, Field(min_length=36, strict=True, max_length=36)]]] = Field( default=None, description="A list of UUIDs." ) - name: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) network: Optional[Annotated[str, Field(min_length=36, strict=True, max_length=36)]] = Field( @@ -86,8 +86,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 @field_validator("network") diff --git a/services/iaasalpha/src/stackit/iaasalpha/models/volume.py b/services/iaasalpha/src/stackit/iaasalpha/models/volume.py index 108cc2eca..18809e39e 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/volume.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/volume.py @@ -58,10 +58,10 @@ class Volume(BaseModel): 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( + name: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs." ) - performance_class: Optional[Annotated[str, Field(strict=True, max_length=63)]] = Field( + performance_class: Optional[Annotated[str, Field(strict=True, max_length=127)]] = Field( default=None, description="The name for a General Object. Matches Names and also UUIDs.", alias="performanceClass", @@ -113,8 +113,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 @field_validator("performance_class") @@ -123,8 +123,8 @@ def performance_class_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 @field_validator("server_id") 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 e734ac46b..cc335aad8 100644 --- a/services/iaasalpha/src/stackit/iaasalpha/models/volume_performance_class.py +++ b/services/iaasalpha/src/stackit/iaasalpha/models/volume_performance_class.py @@ -36,7 +36,7 @@ class VolumePerformanceClass(BaseModel): 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( + name: Annotated[str, Field(strict=True, max_length=127)] = Field( description="The name for a General Object. Matches Names and also UUIDs." ) throughput: Optional[StrictInt] = Field(default=None, description="Throughput in Megabyte per second.") @@ -45,8 +45,8 @@ class VolumePerformanceClass(BaseModel): @field_validator("name") def name_validate_regular_expression(cls, value): """Validates the regular expression""" - 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(