stackit-mongodbflex 0.2.1__tar.gz → 1.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/PKG-INFO +1 -1
  2. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/pyproject.toml +1 -1
  3. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/api/default_api.py +0 -235
  4. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/api_client.py +1 -1
  5. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/configuration.py +6 -2
  6. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/instance.py +12 -2
  7. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/instance_list_instance.py +12 -2
  8. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/LICENSE.md +0 -0
  9. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/NOTICE.txt +0 -0
  10. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/README.md +0 -0
  11. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/__init__.py +0 -0
  12. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/api/__init__.py +0 -0
  13. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/api_response.py +0 -0
  14. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/exceptions.py +0 -0
  15. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/__init__.py +0 -0
  16. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/acl.py +0 -0
  17. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/backup.py +0 -0
  18. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/backup_schedule.py +0 -0
  19. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/clone_instance_payload.py +0 -0
  20. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/clone_instance_response.py +0 -0
  21. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/create_instance_payload.py +0 -0
  22. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/create_instance_response.py +0 -0
  23. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/create_user_payload.py +0 -0
  24. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/create_user_response.py +0 -0
  25. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/data_point.py +0 -0
  26. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/error.py +0 -0
  27. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/flavor.py +0 -0
  28. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/get_backup_response.py +0 -0
  29. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/get_instance_response.py +0 -0
  30. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/get_user_response.py +0 -0
  31. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/handlers_infra_flavor.py +0 -0
  32. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/handlers_infra_get_flavors_response.py +0 -0
  33. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/handlers_instances_get_instance_response.py +0 -0
  34. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/handlers_instances_slow_queries_response.py +0 -0
  35. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/handlers_instances_suggested_indexes_response.py +0 -0
  36. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/host.py +0 -0
  37. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/host_metric.py +0 -0
  38. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/instance_response_user.py +0 -0
  39. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/list_backups_response.py +0 -0
  40. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/list_flavors_response.py +0 -0
  41. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/list_instances_response.py +0 -0
  42. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/list_metrics_response.py +0 -0
  43. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/list_restore_jobs_response.py +0 -0
  44. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/list_storages_response.py +0 -0
  45. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/list_user.py +0 -0
  46. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/list_users_response.py +0 -0
  47. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/list_versions_response.py +0 -0
  48. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/mongodbatlas_operation.py +0 -0
  49. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/mongodbatlas_stats.py +0 -0
  50. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/partial_update_instance_payload.py +0 -0
  51. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/partial_update_user_payload.py +0 -0
  52. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/restore_instance_payload.py +0 -0
  53. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/restore_instance_response.py +0 -0
  54. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/restore_instance_status.py +0 -0
  55. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/shape.py +0 -0
  56. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/slow_query.py +0 -0
  57. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/storage.py +0 -0
  58. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/storage_range.py +0 -0
  59. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/suggested_index.py +0 -0
  60. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/update_backup_schedule_payload.py +0 -0
  61. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/update_instance_payload.py +0 -0
  62. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/update_instance_response.py +0 -0
  63. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/update_user_payload.py +0 -0
  64. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/models/user.py +0 -0
  65. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/py.typed +0 -0
  66. {stackit_mongodbflex-0.2.1 → stackit_mongodbflex-1.0.1}/src/stackit/mongodbflex/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stackit-mongodbflex
3
- Version: 0.2.1
3
+ Version: 1.0.1
4
4
  Summary: STACKIT MongoDB Service API
5
5
  Author: STACKIT Developer Tools
6
6
  Author-email: developer-tools@stackit.cloud
@@ -3,7 +3,7 @@ name = "stackit-mongodbflex"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "stackit-mongodbflex"
6
- version = "v0.2.1"
6
+ version = "v1.0.1"
7
7
  authors = [
8
8
  "STACKIT Developer Tools <developer-tools@stackit.cloud>",
9
9
  ]
@@ -1393,241 +1393,6 @@ class DefaultApi:
1393
1393
  _request_auth=_request_auth,
1394
1394
  )
1395
1395
 
1396
- @validate_call
1397
- def disable_service(
1398
- self,
1399
- project_id: Annotated[StrictStr, Field(description="project id")],
1400
- _request_timeout: Union[
1401
- None,
1402
- Annotated[StrictFloat, Field(gt=0)],
1403
- Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1404
- ] = None,
1405
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
1406
- _content_type: Optional[StrictStr] = None,
1407
- _headers: Optional[Dict[StrictStr, Any]] = None,
1408
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1409
- ) -> None:
1410
- """Delete project
1411
-
1412
- removes all instances inside project
1413
-
1414
- :param project_id: project id (required)
1415
- :type project_id: str
1416
- :param _request_timeout: timeout setting for this request. If one
1417
- number provided, it will be total request
1418
- timeout. It can also be a pair (tuple) of
1419
- (connection, read) timeouts.
1420
- :type _request_timeout: int, tuple(int, int), optional
1421
- :param _request_auth: set to override the auth_settings for an a single
1422
- request; this effectively ignores the
1423
- authentication in the spec for a single request.
1424
- :type _request_auth: dict, optional
1425
- :param _content_type: force content-type for the request.
1426
- :type _content_type: str, Optional
1427
- :param _headers: set to override the headers for a single
1428
- request; this effectively ignores the headers
1429
- in the spec for a single request.
1430
- :type _headers: dict, optional
1431
- :param _host_index: set to override the host_index for a single
1432
- request; this effectively ignores the host_index
1433
- in the spec for a single request.
1434
- :type _host_index: int, optional
1435
- :return: Returns the result object.
1436
- """ # noqa: E501 docstring might be too long
1437
-
1438
- _param = self._disable_service_serialize(
1439
- project_id=project_id,
1440
- _request_auth=_request_auth,
1441
- _content_type=_content_type,
1442
- _headers=_headers,
1443
- _host_index=_host_index,
1444
- )
1445
-
1446
- _response_types_map: Dict[str, Optional[str]] = {
1447
- "200": None,
1448
- "202": None,
1449
- "409": "Error",
1450
- "500": "Error",
1451
- }
1452
- response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1453
- response_data.read()
1454
- return self.api_client.response_deserialize(
1455
- response_data=response_data,
1456
- response_types_map=_response_types_map,
1457
- ).data
1458
-
1459
- @validate_call
1460
- def disable_service_with_http_info(
1461
- self,
1462
- project_id: Annotated[StrictStr, Field(description="project id")],
1463
- _request_timeout: Union[
1464
- None,
1465
- Annotated[StrictFloat, Field(gt=0)],
1466
- Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1467
- ] = None,
1468
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
1469
- _content_type: Optional[StrictStr] = None,
1470
- _headers: Optional[Dict[StrictStr, Any]] = None,
1471
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1472
- ) -> ApiResponse[None]:
1473
- """Delete project
1474
-
1475
- removes all instances inside project
1476
-
1477
- :param project_id: project id (required)
1478
- :type project_id: str
1479
- :param _request_timeout: timeout setting for this request. If one
1480
- number provided, it will be total request
1481
- timeout. It can also be a pair (tuple) of
1482
- (connection, read) timeouts.
1483
- :type _request_timeout: int, tuple(int, int), optional
1484
- :param _request_auth: set to override the auth_settings for an a single
1485
- request; this effectively ignores the
1486
- authentication in the spec for a single request.
1487
- :type _request_auth: dict, optional
1488
- :param _content_type: force content-type for the request.
1489
- :type _content_type: str, Optional
1490
- :param _headers: set to override the headers for a single
1491
- request; this effectively ignores the headers
1492
- in the spec for a single request.
1493
- :type _headers: dict, optional
1494
- :param _host_index: set to override the host_index for a single
1495
- request; this effectively ignores the host_index
1496
- in the spec for a single request.
1497
- :type _host_index: int, optional
1498
- :return: Returns the result object.
1499
- """ # noqa: E501 docstring might be too long
1500
-
1501
- _param = self._disable_service_serialize(
1502
- project_id=project_id,
1503
- _request_auth=_request_auth,
1504
- _content_type=_content_type,
1505
- _headers=_headers,
1506
- _host_index=_host_index,
1507
- )
1508
-
1509
- _response_types_map: Dict[str, Optional[str]] = {
1510
- "200": None,
1511
- "202": None,
1512
- "409": "Error",
1513
- "500": "Error",
1514
- }
1515
- response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1516
- response_data.read()
1517
- return self.api_client.response_deserialize(
1518
- response_data=response_data,
1519
- response_types_map=_response_types_map,
1520
- )
1521
-
1522
- @validate_call
1523
- def disable_service_without_preload_content(
1524
- self,
1525
- project_id: Annotated[StrictStr, Field(description="project id")],
1526
- _request_timeout: Union[
1527
- None,
1528
- Annotated[StrictFloat, Field(gt=0)],
1529
- Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1530
- ] = None,
1531
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
1532
- _content_type: Optional[StrictStr] = None,
1533
- _headers: Optional[Dict[StrictStr, Any]] = None,
1534
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1535
- ) -> RESTResponseType:
1536
- """Delete project
1537
-
1538
- removes all instances inside project
1539
-
1540
- :param project_id: project id (required)
1541
- :type project_id: str
1542
- :param _request_timeout: timeout setting for this request. If one
1543
- number provided, it will be total request
1544
- timeout. It can also be a pair (tuple) of
1545
- (connection, read) timeouts.
1546
- :type _request_timeout: int, tuple(int, int), optional
1547
- :param _request_auth: set to override the auth_settings for an a single
1548
- request; this effectively ignores the
1549
- authentication in the spec for a single request.
1550
- :type _request_auth: dict, optional
1551
- :param _content_type: force content-type for the request.
1552
- :type _content_type: str, Optional
1553
- :param _headers: set to override the headers for a single
1554
- request; this effectively ignores the headers
1555
- in the spec for a single request.
1556
- :type _headers: dict, optional
1557
- :param _host_index: set to override the host_index for a single
1558
- request; this effectively ignores the host_index
1559
- in the spec for a single request.
1560
- :type _host_index: int, optional
1561
- :return: Returns the result object.
1562
- """ # noqa: E501 docstring might be too long
1563
-
1564
- _param = self._disable_service_serialize(
1565
- project_id=project_id,
1566
- _request_auth=_request_auth,
1567
- _content_type=_content_type,
1568
- _headers=_headers,
1569
- _host_index=_host_index,
1570
- )
1571
-
1572
- _response_types_map: Dict[str, Optional[str]] = {
1573
- "200": None,
1574
- "202": None,
1575
- "409": "Error",
1576
- "500": "Error",
1577
- }
1578
- response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1579
- return response_data.response
1580
-
1581
- def _disable_service_serialize(
1582
- self,
1583
- project_id,
1584
- _request_auth,
1585
- _content_type,
1586
- _headers,
1587
- _host_index,
1588
- ) -> RequestSerialized:
1589
-
1590
- _host = None
1591
-
1592
- _collection_formats: Dict[str, str] = {}
1593
-
1594
- _path_params: Dict[str, str] = {}
1595
- _query_params: List[Tuple[str, str]] = []
1596
- _header_params: Dict[str, Optional[str]] = _headers or {}
1597
- _form_params: List[Tuple[str, str]] = []
1598
- _files: Dict[str, Union[str, bytes]] = {}
1599
- _body_params: Optional[bytes] = None
1600
-
1601
- # process the path parameters
1602
- if project_id is not None:
1603
- _path_params["projectId"] = project_id
1604
- # process the query parameters
1605
- # process the header parameters
1606
- # process the form parameters
1607
- # process the body parameter
1608
-
1609
- # set the HTTP header `Accept`
1610
- if "Accept" not in _header_params:
1611
- _header_params["Accept"] = self.api_client.select_header_accept(["*/*"])
1612
-
1613
- # authentication setting
1614
- _auth_settings: List[str] = []
1615
-
1616
- return self.api_client.param_serialize(
1617
- method="DELETE",
1618
- resource_path="/v1/projects/{projectId}",
1619
- path_params=_path_params,
1620
- query_params=_query_params,
1621
- header_params=_header_params,
1622
- body=_body_params,
1623
- post_params=_form_params,
1624
- files=_files,
1625
- auth_settings=_auth_settings,
1626
- collection_formats=_collection_formats,
1627
- _host=_host,
1628
- _request_auth=_request_auth,
1629
- )
1630
-
1631
1396
  @validate_call
1632
1397
  def get_backup(
1633
1398
  self,
@@ -82,7 +82,7 @@ class ApiClient:
82
82
  self.default_headers[header_name] = header_value
83
83
  self.cookie = cookie
84
84
  # Set default User-Agent.
85
- self.user_agent = "OpenAPI-Generator/1.0.0/python"
85
+ self.user_agent = "stackit-sdk-python/mongodbflex"
86
86
 
87
87
  def __enter__(self):
88
88
  return self
@@ -1,5 +1,10 @@
1
1
  # coding: utf-8
2
2
 
3
+ import sys
4
+
5
+ import os
6
+
7
+
3
8
  """
4
9
  STACKIT MongoDB Service API
5
10
 
@@ -12,8 +17,6 @@
12
17
  Do not edit the class manually.
13
18
  """ # noqa: E501 docstring might be too long
14
19
 
15
- import os
16
-
17
20
 
18
21
  class HostConfiguration:
19
22
  def __init__(
@@ -30,6 +33,7 @@ class HostConfiguration:
30
33
  "as a function argument instead of being set in the client configuration.\n"
31
34
  "Once all services have migrated, the methods to specify the region in the client configuration "
32
35
  "will be removed.",
36
+ file=sys.stderr,
33
37
  )
34
38
  """Constructor
35
39
  """
@@ -18,7 +18,7 @@ import json
18
18
  import pprint
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
- from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
22
22
  from typing_extensions import Self
23
23
 
24
24
  from stackit.mongodbflex.models.acl import ACL
@@ -38,7 +38,7 @@ class Instance(BaseModel):
38
38
  name: Optional[StrictStr] = None
39
39
  options: Optional[Dict[str, StrictStr]] = None
40
40
  replicas: Optional[StrictInt] = None
41
- status: Optional[StrictStr] = None
41
+ status: Optional[StrictStr] = Field(default=None, description="The current status of the instance.")
42
42
  storage: Optional[Storage] = None
43
43
  version: Optional[StrictStr] = None
44
44
  __properties: ClassVar[List[str]] = [
@@ -54,6 +54,16 @@ class Instance(BaseModel):
54
54
  "version",
55
55
  ]
56
56
 
57
+ @field_validator("status")
58
+ def status_validate_enum(cls, value):
59
+ """Validates the enum"""
60
+ if value is None:
61
+ return value
62
+
63
+ if value not in set(["READY", "PENDING", "PROCESSING", "FAILED", "UNKNOWN"]):
64
+ raise ValueError("must be one of enum values ('READY', 'PENDING', 'PROCESSING', 'FAILED', 'UNKNOWN')")
65
+ return value
66
+
57
67
  model_config = ConfigDict(
58
68
  populate_by_name=True,
59
69
  validate_assignment=True,
@@ -18,7 +18,7 @@ import json
18
18
  import pprint
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
- from pydantic import BaseModel, ConfigDict, StrictStr
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
22
  from typing_extensions import Self
23
23
 
24
24
 
@@ -29,9 +29,19 @@ class InstanceListInstance(BaseModel):
29
29
 
30
30
  id: Optional[StrictStr] = None
31
31
  name: Optional[StrictStr] = None
32
- status: Optional[StrictStr] = None
32
+ status: Optional[StrictStr] = Field(default=None, description="The current status of the instance.")
33
33
  __properties: ClassVar[List[str]] = ["id", "name", "status"]
34
34
 
35
+ @field_validator("status")
36
+ def status_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value is None:
39
+ return value
40
+
41
+ if value not in set(["READY", "PENDING", "PROCESSING", "FAILED", "UNKNOWN"]):
42
+ raise ValueError("must be one of enum values ('READY', 'PENDING', 'PROCESSING', 'FAILED', 'UNKNOWN')")
43
+ return value
44
+
35
45
  model_config = ConfigDict(
36
46
  populate_by_name=True,
37
47
  validate_assignment=True,