waldur-api-client 7.7.1__py3-none-any.whl → 7.7.3__py3-none-any.whl

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.

Potentially problematic release.


This version of waldur-api-client might be problematic. Click here for more details.

Files changed (90) hide show
  1. waldur_api_client/api/marketplace_checklists/marketplace_checklists_questions_list.py +31 -32
  2. waldur_api_client/api/marketplace_checklists/marketplace_checklists_retrieve.py +15 -14
  3. waldur_api_client/api/marketplace_checklists_admin/__init__.py +1 -0
  4. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_checklist_questions.py +187 -0
  5. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_create.py +150 -0
  6. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_destroy.py +89 -0
  7. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_list.py +173 -0
  8. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_partial_update.py +164 -0
  9. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_retrieve.py +142 -0
  10. waldur_api_client/api/marketplace_checklists_admin/marketplace_checklists_admin_update.py +164 -0
  11. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/__init__.py +1 -0
  12. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/marketplace_checklists_admin_question_dependencies_create.py +150 -0
  13. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/marketplace_checklists_admin_question_dependencies_destroy.py +89 -0
  14. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/marketplace_checklists_admin_question_dependencies_list.py +212 -0
  15. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/marketplace_checklists_admin_question_dependencies_partial_update.py +164 -0
  16. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/marketplace_checklists_admin_question_dependencies_retrieve.py +142 -0
  17. waldur_api_client/api/marketplace_checklists_admin_question_dependencies/marketplace_checklists_admin_question_dependencies_update.py +164 -0
  18. waldur_api_client/api/marketplace_checklists_admin_question_options/__init__.py +1 -0
  19. waldur_api_client/api/marketplace_checklists_admin_question_options/marketplace_checklists_admin_question_options_create.py +150 -0
  20. waldur_api_client/api/marketplace_checklists_admin_question_options/marketplace_checklists_admin_question_options_destroy.py +89 -0
  21. waldur_api_client/api/marketplace_checklists_admin_question_options/marketplace_checklists_admin_question_options_list.py +194 -0
  22. waldur_api_client/api/marketplace_checklists_admin_question_options/marketplace_checklists_admin_question_options_partial_update.py +164 -0
  23. waldur_api_client/api/marketplace_checklists_admin_question_options/marketplace_checklists_admin_question_options_retrieve.py +142 -0
  24. waldur_api_client/api/marketplace_checklists_admin_question_options/marketplace_checklists_admin_question_options_update.py +164 -0
  25. waldur_api_client/api/marketplace_checklists_admin_questions/__init__.py +1 -0
  26. waldur_api_client/api/marketplace_checklists_admin_questions/marketplace_checklists_admin_questions_create.py +148 -0
  27. waldur_api_client/api/marketplace_checklists_admin_questions/marketplace_checklists_admin_questions_destroy.py +89 -0
  28. waldur_api_client/api/marketplace_checklists_admin_questions/marketplace_checklists_admin_questions_list.py +192 -0
  29. waldur_api_client/api/marketplace_checklists_admin_questions/marketplace_checklists_admin_questions_partial_update.py +162 -0
  30. waldur_api_client/api/marketplace_checklists_admin_questions/marketplace_checklists_admin_questions_retrieve.py +140 -0
  31. waldur_api_client/api/marketplace_checklists_admin_questions/marketplace_checklists_admin_questions_update.py +162 -0
  32. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +23 -0
  33. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_set_pending_account_linking.py +105 -0
  34. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_set_pending_additional_validation.py +105 -0
  35. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_set_validation_complete.py +105 -0
  36. waldur_api_client/models/__init__.py +44 -2
  37. waldur_api_client/models/answer_list.py +8 -19
  38. waldur_api_client/models/answer_submit.py +7 -13
  39. waldur_api_client/models/answer_submit_request.py +7 -13
  40. waldur_api_client/models/booking_resource.py +18 -0
  41. waldur_api_client/models/booking_resources_list_field_item.py +2 -0
  42. waldur_api_client/models/booking_resources_retrieve_field_item.py +2 -0
  43. waldur_api_client/models/call_resource_template.py +23 -1
  44. waldur_api_client/models/checklist.py +8 -0
  45. waldur_api_client/models/checklist_admin.py +127 -0
  46. waldur_api_client/models/checklist_type_enum.py +10 -0
  47. waldur_api_client/models/create_checklist.py +131 -0
  48. waldur_api_client/models/create_checklist_request.py +90 -0
  49. waldur_api_client/models/event_types_enum.py +1 -0
  50. waldur_api_client/models/group_invitation.py +27 -3
  51. waldur_api_client/models/group_invitation_request.py +18 -0
  52. waldur_api_client/models/impact_level_display_enum.py +11 -0
  53. waldur_api_client/models/invitation.py +10 -4
  54. waldur_api_client/models/maintenance_announcement.py +8 -0
  55. waldur_api_client/models/maintenance_announcement_offering.py +17 -0
  56. waldur_api_client/models/maintenance_announcement_state_enum.py +7 -7
  57. waldur_api_client/models/marketplace_offering_users_list_field_item.py +2 -0
  58. waldur_api_client/models/marketplace_offering_users_list_state_item.py +16 -0
  59. waldur_api_client/models/marketplace_offering_users_retrieve_field_item.py +2 -0
  60. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +2 -0
  61. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +2 -0
  62. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +2 -0
  63. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +2 -0
  64. waldur_api_client/models/marketplace_resources_list_field_item.py +2 -0
  65. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +2 -0
  66. waldur_api_client/models/offering_user.py +27 -0
  67. waldur_api_client/models/offering_user_state_enum.py +16 -0
  68. waldur_api_client/models/offering_user_state_transition_request.py +59 -0
  69. waldur_api_client/models/open_stack_port.py +15 -4
  70. waldur_api_client/models/open_stack_router.py +15 -4
  71. waldur_api_client/models/operator_enum.py +12 -0
  72. waldur_api_client/models/patched_create_checklist_request.py +96 -0
  73. waldur_api_client/models/patched_question_admin_request.py +208 -0
  74. waldur_api_client/models/patched_question_dependency_request.py +94 -0
  75. waldur_api_client/models/patched_question_options_admin_request.py +68 -0
  76. waldur_api_client/models/{checklist_question.py → question.py} +29 -16
  77. waldur_api_client/models/question_admin.py +260 -0
  78. waldur_api_client/models/question_admin_request.py +210 -0
  79. waldur_api_client/models/question_dependency.py +127 -0
  80. waldur_api_client/models/question_dependency_request.py +94 -0
  81. waldur_api_client/models/question_options.py +79 -0
  82. waldur_api_client/models/question_options_admin.py +103 -0
  83. waldur_api_client/models/question_options_admin_request.py +78 -0
  84. waldur_api_client/models/question_type_enum.py +15 -0
  85. waldur_api_client/models/resource.py +18 -0
  86. waldur_api_client/models/visible_invitation_details.py +10 -4
  87. {waldur_api_client-7.7.1.dist-info → waldur_api_client-7.7.3.dist-info}/METADATA +1 -1
  88. {waldur_api_client-7.7.1.dist-info → waldur_api_client-7.7.3.dist-info}/RECORD +90 -37
  89. {waldur_api_client-7.7.1.dist-info → waldur_api_client-7.7.3.dist-info}/LICENSE +0 -0
  90. {waldur_api_client-7.7.1.dist-info → waldur_api_client-7.7.3.dist-info}/WHEEL +0 -0
@@ -5,6 +5,7 @@ from uuid import UUID
5
5
  from attrs import define as _attrs_define
6
6
  from attrs import field as _attrs_field
7
7
 
8
+ from ..models.impact_level_display_enum import ImpactLevelDisplayEnum
8
9
  from ..models.impact_level_enum import ImpactLevelEnum
9
10
  from ..types import UNSET, Unset
10
11
 
@@ -19,6 +20,8 @@ class MaintenanceAnnouncementOffering:
19
20
  uuid (UUID):
20
21
  maintenance (str):
21
22
  offering (str):
23
+ impact_level_display (ImpactLevelDisplayEnum):
24
+ offering_name (str):
22
25
  impact_level (Union[Unset, ImpactLevelEnum]):
23
26
  impact_description (Union[Unset, str]): Specific description of how this offering will be affected
24
27
  """
@@ -27,6 +30,8 @@ class MaintenanceAnnouncementOffering:
27
30
  uuid: UUID
28
31
  maintenance: str
29
32
  offering: str
33
+ impact_level_display: ImpactLevelDisplayEnum
34
+ offering_name: str
30
35
  impact_level: Union[Unset, ImpactLevelEnum] = UNSET
31
36
  impact_description: Union[Unset, str] = UNSET
32
37
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
@@ -40,6 +45,10 @@ class MaintenanceAnnouncementOffering:
40
45
 
41
46
  offering = self.offering
42
47
 
48
+ impact_level_display = self.impact_level_display.value
49
+
50
+ offering_name = self.offering_name
51
+
43
52
  impact_level: Union[Unset, int] = UNSET
44
53
  if not isinstance(self.impact_level, Unset):
45
54
  impact_level = self.impact_level.value
@@ -54,6 +63,8 @@ class MaintenanceAnnouncementOffering:
54
63
  "uuid": uuid,
55
64
  "maintenance": maintenance,
56
65
  "offering": offering,
66
+ "impact_level_display": impact_level_display,
67
+ "offering_name": offering_name,
57
68
  }
58
69
  )
59
70
  if impact_level is not UNSET:
@@ -74,6 +85,10 @@ class MaintenanceAnnouncementOffering:
74
85
 
75
86
  offering = d.pop("offering")
76
87
 
88
+ impact_level_display = ImpactLevelDisplayEnum(d.pop("impact_level_display"))
89
+
90
+ offering_name = d.pop("offering_name")
91
+
77
92
  _impact_level = d.pop("impact_level", UNSET)
78
93
  impact_level: Union[Unset, ImpactLevelEnum]
79
94
  if isinstance(_impact_level, Unset):
@@ -88,6 +103,8 @@ class MaintenanceAnnouncementOffering:
88
103
  uuid=uuid,
89
104
  maintenance=maintenance,
90
105
  offering=offering,
106
+ impact_level_display=impact_level_display,
107
+ offering_name=offering_name,
91
108
  impact_level=impact_level,
92
109
  impact_description=impact_description,
93
110
  )
@@ -1,12 +1,12 @@
1
- from enum import IntEnum
1
+ from enum import Enum
2
2
 
3
3
 
4
- class MaintenanceAnnouncementStateEnum(IntEnum):
5
- VALUE_1 = 1
6
- VALUE_2 = 2
7
- VALUE_3 = 3
8
- VALUE_4 = 4
9
- VALUE_5 = 5
4
+ class MaintenanceAnnouncementStateEnum(str, Enum):
5
+ CANCELLED = "Cancelled"
6
+ COMPLETED = "Completed"
7
+ DRAFT = "Draft"
8
+ IN_PROGRESS = "In progress"
9
+ SCHEDULED = "Scheduled"
10
10
 
11
11
  def __str__(self) -> str:
12
12
  return str(self.value)
@@ -10,6 +10,8 @@ class MarketplaceOfferingUsersListFieldItem(str, Enum):
10
10
  OFFERING = "offering"
11
11
  OFFERING_NAME = "offering_name"
12
12
  OFFERING_UUID = "offering_uuid"
13
+ SERVICE_PROVIDER_COMMENT = "service_provider_comment"
14
+ STATE = "state"
13
15
  URL = "url"
14
16
  USER = "user"
15
17
  USERNAME = "username"
@@ -0,0 +1,16 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MarketplaceOfferingUsersListStateItem(str, Enum):
5
+ CREATING = "Creating"
6
+ DELETED = "Deleted"
7
+ DELETING = "Deleting"
8
+ ERROR = "Error"
9
+ OK = "OK"
10
+ PENDING_ACCOUNT_LINKING = "Pending account linking"
11
+ PENDING_ADDITIONAL_VALIDATION = "Pending additional validation"
12
+ REQUESTED = "Requested"
13
+ REQUESTED_DELETION = "Requested deletion"
14
+
15
+ def __str__(self) -> str:
16
+ return str(self.value)
@@ -10,6 +10,8 @@ class MarketplaceOfferingUsersRetrieveFieldItem(str, Enum):
10
10
  OFFERING = "offering"
11
11
  OFFERING_NAME = "offering_name"
12
12
  OFFERING_UUID = "offering_uuid"
13
+ SERVICE_PROVIDER_COMMENT = "service_provider_comment"
14
+ STATE = "state"
13
15
  URL = "url"
14
16
  USER = "user"
15
17
  USERNAME = "username"
@@ -39,6 +39,7 @@ class MarketplaceProviderResourcesDetailsRetrieveFieldItem(str, Enum):
39
39
  OFFERING_NAME = "offering_name"
40
40
  OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
41
41
  OFFERING_SHARED = "offering_shared"
42
+ OFFERING_SLUG = "offering_slug"
42
43
  OFFERING_TERMS_OF_SERVICE = "offering_terms_of_service"
43
44
  OFFERING_THUMBNAIL = "offering_thumbnail"
44
45
  OFFERING_TYPE = "offering_type"
@@ -47,6 +48,7 @@ class MarketplaceProviderResourcesDetailsRetrieveFieldItem(str, Enum):
47
48
  ORDER_IN_PROGRESS = "order_in_progress"
48
49
  PARENT_NAME = "parent_name"
49
50
  PARENT_OFFERING_NAME = "parent_offering_name"
51
+ PARENT_OFFERING_SLUG = "parent_offering_slug"
50
52
  PARENT_OFFERING_UUID = "parent_offering_uuid"
51
53
  PARENT_UUID = "parent_uuid"
52
54
  PAUSED = "paused"
@@ -39,6 +39,7 @@ class MarketplaceProviderResourcesListFieldItem(str, Enum):
39
39
  OFFERING_NAME = "offering_name"
40
40
  OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
41
41
  OFFERING_SHARED = "offering_shared"
42
+ OFFERING_SLUG = "offering_slug"
42
43
  OFFERING_TERMS_OF_SERVICE = "offering_terms_of_service"
43
44
  OFFERING_THUMBNAIL = "offering_thumbnail"
44
45
  OFFERING_TYPE = "offering_type"
@@ -47,6 +48,7 @@ class MarketplaceProviderResourcesListFieldItem(str, Enum):
47
48
  ORDER_IN_PROGRESS = "order_in_progress"
48
49
  PARENT_NAME = "parent_name"
49
50
  PARENT_OFFERING_NAME = "parent_offering_name"
51
+ PARENT_OFFERING_SLUG = "parent_offering_slug"
50
52
  PARENT_OFFERING_UUID = "parent_offering_uuid"
51
53
  PARENT_UUID = "parent_uuid"
52
54
  PAUSED = "paused"
@@ -39,6 +39,7 @@ class MarketplaceProviderResourcesRetrieveFieldItem(str, Enum):
39
39
  OFFERING_NAME = "offering_name"
40
40
  OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
41
41
  OFFERING_SHARED = "offering_shared"
42
+ OFFERING_SLUG = "offering_slug"
42
43
  OFFERING_TERMS_OF_SERVICE = "offering_terms_of_service"
43
44
  OFFERING_THUMBNAIL = "offering_thumbnail"
44
45
  OFFERING_TYPE = "offering_type"
@@ -47,6 +48,7 @@ class MarketplaceProviderResourcesRetrieveFieldItem(str, Enum):
47
48
  ORDER_IN_PROGRESS = "order_in_progress"
48
49
  PARENT_NAME = "parent_name"
49
50
  PARENT_OFFERING_NAME = "parent_offering_name"
51
+ PARENT_OFFERING_SLUG = "parent_offering_slug"
50
52
  PARENT_OFFERING_UUID = "parent_offering_uuid"
51
53
  PARENT_UUID = "parent_uuid"
52
54
  PAUSED = "paused"
@@ -39,6 +39,7 @@ class MarketplaceResourcesDetailsRetrieveFieldItem(str, Enum):
39
39
  OFFERING_NAME = "offering_name"
40
40
  OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
41
41
  OFFERING_SHARED = "offering_shared"
42
+ OFFERING_SLUG = "offering_slug"
42
43
  OFFERING_TERMS_OF_SERVICE = "offering_terms_of_service"
43
44
  OFFERING_THUMBNAIL = "offering_thumbnail"
44
45
  OFFERING_TYPE = "offering_type"
@@ -47,6 +48,7 @@ class MarketplaceResourcesDetailsRetrieveFieldItem(str, Enum):
47
48
  ORDER_IN_PROGRESS = "order_in_progress"
48
49
  PARENT_NAME = "parent_name"
49
50
  PARENT_OFFERING_NAME = "parent_offering_name"
51
+ PARENT_OFFERING_SLUG = "parent_offering_slug"
50
52
  PARENT_OFFERING_UUID = "parent_offering_uuid"
51
53
  PARENT_UUID = "parent_uuid"
52
54
  PAUSED = "paused"
@@ -39,6 +39,7 @@ class MarketplaceResourcesListFieldItem(str, Enum):
39
39
  OFFERING_NAME = "offering_name"
40
40
  OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
41
41
  OFFERING_SHARED = "offering_shared"
42
+ OFFERING_SLUG = "offering_slug"
42
43
  OFFERING_TERMS_OF_SERVICE = "offering_terms_of_service"
43
44
  OFFERING_THUMBNAIL = "offering_thumbnail"
44
45
  OFFERING_TYPE = "offering_type"
@@ -47,6 +48,7 @@ class MarketplaceResourcesListFieldItem(str, Enum):
47
48
  ORDER_IN_PROGRESS = "order_in_progress"
48
49
  PARENT_NAME = "parent_name"
49
50
  PARENT_OFFERING_NAME = "parent_offering_name"
51
+ PARENT_OFFERING_SLUG = "parent_offering_slug"
50
52
  PARENT_OFFERING_UUID = "parent_offering_uuid"
51
53
  PARENT_UUID = "parent_uuid"
52
54
  PAUSED = "paused"
@@ -39,6 +39,7 @@ class MarketplaceResourcesRetrieveFieldItem(str, Enum):
39
39
  OFFERING_NAME = "offering_name"
40
40
  OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
41
41
  OFFERING_SHARED = "offering_shared"
42
+ OFFERING_SLUG = "offering_slug"
42
43
  OFFERING_TERMS_OF_SERVICE = "offering_terms_of_service"
43
44
  OFFERING_THUMBNAIL = "offering_thumbnail"
44
45
  OFFERING_TYPE = "offering_type"
@@ -47,6 +48,7 @@ class MarketplaceResourcesRetrieveFieldItem(str, Enum):
47
48
  ORDER_IN_PROGRESS = "order_in_progress"
48
49
  PARENT_NAME = "parent_name"
49
50
  PARENT_OFFERING_NAME = "parent_offering_name"
51
+ PARENT_OFFERING_SLUG = "parent_offering_slug"
50
52
  PARENT_OFFERING_UUID = "parent_offering_uuid"
51
53
  PARENT_UUID = "parent_uuid"
52
54
  PAUSED = "paused"
@@ -7,6 +7,7 @@ from attrs import define as _attrs_define
7
7
  from attrs import field as _attrs_field
8
8
  from dateutil.parser import isoparse
9
9
 
10
+ from ..models.offering_user_state_enum import OfferingUserStateEnum
10
11
  from ..types import UNSET, Unset
11
12
 
12
13
  T = TypeVar("T", bound="OfferingUser")
@@ -32,6 +33,9 @@ class OfferingUser:
32
33
  customer_uuid (Union[Unset, UUID]):
33
34
  customer_name (Union[Unset, str]):
34
35
  is_restricted (Union[Unset, bool]): Signal to service if the user account is restricted or not
36
+ state (Union[Unset, OfferingUserStateEnum]):
37
+ service_provider_comment (Union[Unset, str]): Additional comment for pending states like validation or account
38
+ linking
35
39
  """
36
40
 
37
41
  url: Union[Unset, str] = UNSET
@@ -49,6 +53,8 @@ class OfferingUser:
49
53
  customer_uuid: Union[Unset, UUID] = UNSET
50
54
  customer_name: Union[Unset, str] = UNSET
51
55
  is_restricted: Union[Unset, bool] = UNSET
56
+ state: Union[Unset, OfferingUserStateEnum] = UNSET
57
+ service_provider_comment: Union[Unset, str] = UNSET
52
58
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
53
59
 
54
60
  def to_dict(self) -> dict[str, Any]:
@@ -98,6 +104,12 @@ class OfferingUser:
98
104
 
99
105
  is_restricted = self.is_restricted
100
106
 
107
+ state: Union[Unset, str] = UNSET
108
+ if not isinstance(self.state, Unset):
109
+ state = self.state.value
110
+
111
+ service_provider_comment = self.service_provider_comment
112
+
101
113
  field_dict: dict[str, Any] = {}
102
114
  field_dict.update(self.additional_properties)
103
115
  field_dict.update({})
@@ -131,6 +143,10 @@ class OfferingUser:
131
143
  field_dict["customer_name"] = customer_name
132
144
  if is_restricted is not UNSET:
133
145
  field_dict["is_restricted"] = is_restricted
146
+ if state is not UNSET:
147
+ field_dict["state"] = state
148
+ if service_provider_comment is not UNSET:
149
+ field_dict["service_provider_comment"] = service_provider_comment
134
150
 
135
151
  return field_dict
136
152
 
@@ -204,6 +220,15 @@ class OfferingUser:
204
220
 
205
221
  is_restricted = d.pop("is_restricted", UNSET)
206
222
 
223
+ _state = d.pop("state", UNSET)
224
+ state: Union[Unset, OfferingUserStateEnum]
225
+ if isinstance(_state, Unset):
226
+ state = UNSET
227
+ else:
228
+ state = OfferingUserStateEnum(_state)
229
+
230
+ service_provider_comment = d.pop("service_provider_comment", UNSET)
231
+
207
232
  offering_user = cls(
208
233
  url=url,
209
234
  uuid=uuid,
@@ -220,6 +245,8 @@ class OfferingUser:
220
245
  customer_uuid=customer_uuid,
221
246
  customer_name=customer_name,
222
247
  is_restricted=is_restricted,
248
+ state=state,
249
+ service_provider_comment=service_provider_comment,
223
250
  )
224
251
 
225
252
  offering_user.additional_properties = d
@@ -0,0 +1,16 @@
1
+ from enum import Enum
2
+
3
+
4
+ class OfferingUserStateEnum(str, Enum):
5
+ CREATING = "Creating"
6
+ DELETED = "Deleted"
7
+ DELETING = "Deleting"
8
+ ERROR = "Error"
9
+ OK = "OK"
10
+ PENDING_ACCOUNT_LINKING = "Pending account linking"
11
+ PENDING_ADDITIONAL_VALIDATION = "Pending additional validation"
12
+ REQUESTED = "Requested"
13
+ REQUESTED_DELETION = "Requested deletion"
14
+
15
+ def __str__(self) -> str:
16
+ return str(self.value)
@@ -0,0 +1,59 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="OfferingUserStateTransitionRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class OfferingUserStateTransitionRequest:
14
+ """
15
+ Attributes:
16
+ comment (Union[Unset, str]):
17
+ """
18
+
19
+ comment: Union[Unset, str] = UNSET
20
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
+
22
+ def to_dict(self) -> dict[str, Any]:
23
+ comment = self.comment
24
+
25
+ field_dict: dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update({})
28
+ if comment is not UNSET:
29
+ field_dict["comment"] = comment
30
+
31
+ return field_dict
32
+
33
+ @classmethod
34
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
35
+ d = dict(src_dict)
36
+ comment = d.pop("comment", UNSET)
37
+
38
+ offering_user_state_transition_request = cls(
39
+ comment=comment,
40
+ )
41
+
42
+ offering_user_state_transition_request.additional_properties = d
43
+ return offering_user_state_transition_request
44
+
45
+ @property
46
+ def additional_keys(self) -> list[str]:
47
+ return list(self.additional_properties.keys())
48
+
49
+ def __getitem__(self, key: str) -> Any:
50
+ return self.additional_properties[key]
51
+
52
+ def __setitem__(self, key: str, value: Any) -> None:
53
+ self.additional_properties[key] = value
54
+
55
+ def __delitem__(self, key: str) -> None:
56
+ del self.additional_properties[key]
57
+
58
+ def __contains__(self, key: str) -> bool:
59
+ return key in self.additional_properties
@@ -48,7 +48,7 @@ class OpenStackPort:
48
48
  state (Union[Unset, CoreStates]):
49
49
  created (Union[Unset, datetime.datetime]):
50
50
  modified (Union[Unset, datetime.datetime]):
51
- backend_id (Union[Unset, str]):
51
+ backend_id (Union[None, Unset, str]):
52
52
  access_url (Union[None, Unset, str]):
53
53
  fixed_ips (Union[Unset, list['OpenStackFixedIp']]):
54
54
  mac_address (Union[Unset, str]):
@@ -100,7 +100,7 @@ class OpenStackPort:
100
100
  state: Union[Unset, CoreStates] = UNSET
101
101
  created: Union[Unset, datetime.datetime] = UNSET
102
102
  modified: Union[Unset, datetime.datetime] = UNSET
103
- backend_id: Union[Unset, str] = UNSET
103
+ backend_id: Union[None, Unset, str] = UNSET
104
104
  access_url: Union[None, Unset, str] = UNSET
105
105
  fixed_ips: Union[Unset, list["OpenStackFixedIp"]] = UNSET
106
106
  mac_address: Union[Unset, str] = UNSET
@@ -193,7 +193,11 @@ class OpenStackPort:
193
193
  if not isinstance(self.modified, Unset):
194
194
  modified = self.modified.isoformat()
195
195
 
196
- backend_id = self.backend_id
196
+ backend_id: Union[None, Unset, str]
197
+ if isinstance(self.backend_id, Unset):
198
+ backend_id = UNSET
199
+ else:
200
+ backend_id = self.backend_id
197
201
 
198
202
  access_url: Union[None, Unset, str]
199
203
  if isinstance(self.access_url, Unset):
@@ -526,7 +530,14 @@ class OpenStackPort:
526
530
  else:
527
531
  modified = isoparse(_modified)
528
532
 
529
- backend_id = d.pop("backend_id", UNSET)
533
+ def _parse_backend_id(data: object) -> Union[None, Unset, str]:
534
+ if data is None:
535
+ return data
536
+ if isinstance(data, Unset):
537
+ return data
538
+ return cast(Union[None, Unset, str], data)
539
+
540
+ backend_id = _parse_backend_id(d.pop("backend_id", UNSET))
530
541
 
531
542
  def _parse_access_url(data: object) -> Union[None, Unset, str]:
532
543
  if data is None:
@@ -48,7 +48,7 @@ class OpenStackRouter:
48
48
  state (Union[Unset, CoreStates]):
49
49
  created (Union[Unset, datetime.datetime]):
50
50
  modified (Union[Unset, datetime.datetime]):
51
- backend_id (Union[Unset, str]):
51
+ backend_id (Union[None, Unset, str]):
52
52
  access_url (Union[None, Unset, str]):
53
53
  tenant (Union[Unset, str]):
54
54
  tenant_name (Union[Unset, str]):
@@ -92,7 +92,7 @@ class OpenStackRouter:
92
92
  state: Union[Unset, CoreStates] = UNSET
93
93
  created: Union[Unset, datetime.datetime] = UNSET
94
94
  modified: Union[Unset, datetime.datetime] = UNSET
95
- backend_id: Union[Unset, str] = UNSET
95
+ backend_id: Union[None, Unset, str] = UNSET
96
96
  access_url: Union[None, Unset, str] = UNSET
97
97
  tenant: Union[Unset, str] = UNSET
98
98
  tenant_name: Union[Unset, str] = UNSET
@@ -176,7 +176,11 @@ class OpenStackRouter:
176
176
  if not isinstance(self.modified, Unset):
177
177
  modified = self.modified.isoformat()
178
178
 
179
- backend_id = self.backend_id
179
+ backend_id: Union[None, Unset, str]
180
+ if isinstance(self.backend_id, Unset):
181
+ backend_id = UNSET
182
+ else:
183
+ backend_id = self.backend_id
180
184
 
181
185
  access_url: Union[None, Unset, str]
182
186
  if isinstance(self.access_url, Unset):
@@ -456,7 +460,14 @@ class OpenStackRouter:
456
460
  else:
457
461
  modified = isoparse(_modified)
458
462
 
459
- backend_id = d.pop("backend_id", UNSET)
463
+ def _parse_backend_id(data: object) -> Union[None, Unset, str]:
464
+ if data is None:
465
+ return data
466
+ if isinstance(data, Unset):
467
+ return data
468
+ return cast(Union[None, Unset, str], data)
469
+
470
+ backend_id = _parse_backend_id(d.pop("backend_id", UNSET))
460
471
 
461
472
  def _parse_access_url(data: object) -> Union[None, Unset, str]:
462
473
  if data is None:
@@ -0,0 +1,12 @@
1
+ from enum import Enum
2
+
3
+
4
+ class OperatorEnum(str, Enum):
5
+ CONTAINS = "contains"
6
+ EQUALS = "equals"
7
+ IN = "in"
8
+ NOT_EQUALS = "not_equals"
9
+ NOT_IN = "not_in"
10
+
11
+ def __str__(self) -> str:
12
+ return str(self.value)
@@ -0,0 +1,96 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..models.checklist_type_enum import ChecklistTypeEnum
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="PatchedCreateChecklistRequest")
11
+
12
+
13
+ @_attrs_define
14
+ class PatchedCreateChecklistRequest:
15
+ """
16
+ Attributes:
17
+ name (Union[Unset, str]):
18
+ description (Union[Unset, str]):
19
+ roles (Union[Unset, list[str]]):
20
+ checklist_type (Union[Unset, ChecklistTypeEnum]):
21
+ """
22
+
23
+ name: Union[Unset, str] = UNSET
24
+ description: Union[Unset, str] = UNSET
25
+ roles: Union[Unset, list[str]] = UNSET
26
+ checklist_type: Union[Unset, ChecklistTypeEnum] = UNSET
27
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> dict[str, Any]:
30
+ name = self.name
31
+
32
+ description = self.description
33
+
34
+ roles: Union[Unset, list[str]] = UNSET
35
+ if not isinstance(self.roles, Unset):
36
+ roles = self.roles
37
+
38
+ checklist_type: Union[Unset, str] = UNSET
39
+ if not isinstance(self.checklist_type, Unset):
40
+ checklist_type = self.checklist_type.value
41
+
42
+ field_dict: dict[str, Any] = {}
43
+ field_dict.update(self.additional_properties)
44
+ field_dict.update({})
45
+ if name is not UNSET:
46
+ field_dict["name"] = name
47
+ if description is not UNSET:
48
+ field_dict["description"] = description
49
+ if roles is not UNSET:
50
+ field_dict["roles"] = roles
51
+ if checklist_type is not UNSET:
52
+ field_dict["checklist_type"] = checklist_type
53
+
54
+ return field_dict
55
+
56
+ @classmethod
57
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
58
+ d = dict(src_dict)
59
+ name = d.pop("name", UNSET)
60
+
61
+ description = d.pop("description", UNSET)
62
+
63
+ roles = cast(list[str], d.pop("roles", UNSET))
64
+
65
+ _checklist_type = d.pop("checklist_type", UNSET)
66
+ checklist_type: Union[Unset, ChecklistTypeEnum]
67
+ if isinstance(_checklist_type, Unset):
68
+ checklist_type = UNSET
69
+ else:
70
+ checklist_type = ChecklistTypeEnum(_checklist_type)
71
+
72
+ patched_create_checklist_request = cls(
73
+ name=name,
74
+ description=description,
75
+ roles=roles,
76
+ checklist_type=checklist_type,
77
+ )
78
+
79
+ patched_create_checklist_request.additional_properties = d
80
+ return patched_create_checklist_request
81
+
82
+ @property
83
+ def additional_keys(self) -> list[str]:
84
+ return list(self.additional_properties.keys())
85
+
86
+ def __getitem__(self, key: str) -> Any:
87
+ return self.additional_properties[key]
88
+
89
+ def __setitem__(self, key: str, value: Any) -> None:
90
+ self.additional_properties[key] = value
91
+
92
+ def __delitem__(self, key: str) -> None:
93
+ del self.additional_properties[key]
94
+
95
+ def __contains__(self, key: str) -> bool:
96
+ return key in self.additional_properties