waldur-api-client 7.7.1__py3-none-any.whl → 7.7.2__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 (71) 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/models/__init__.py +36 -2
  33. waldur_api_client/models/answer_list.py +8 -19
  34. waldur_api_client/models/answer_submit.py +7 -13
  35. waldur_api_client/models/answer_submit_request.py +7 -13
  36. waldur_api_client/models/booking_resource.py +18 -0
  37. waldur_api_client/models/booking_resources_list_field_item.py +2 -0
  38. waldur_api_client/models/booking_resources_retrieve_field_item.py +2 -0
  39. waldur_api_client/models/call_resource_template.py +23 -1
  40. waldur_api_client/models/checklist.py +8 -0
  41. waldur_api_client/models/checklist_admin.py +127 -0
  42. waldur_api_client/models/checklist_type_enum.py +10 -0
  43. waldur_api_client/models/create_checklist.py +131 -0
  44. waldur_api_client/models/create_checklist_request.py +90 -0
  45. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +2 -0
  46. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +2 -0
  47. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +2 -0
  48. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +2 -0
  49. waldur_api_client/models/marketplace_resources_list_field_item.py +2 -0
  50. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +2 -0
  51. waldur_api_client/models/open_stack_port.py +15 -4
  52. waldur_api_client/models/open_stack_router.py +15 -4
  53. waldur_api_client/models/operator_enum.py +12 -0
  54. waldur_api_client/models/patched_create_checklist_request.py +96 -0
  55. waldur_api_client/models/patched_question_admin_request.py +208 -0
  56. waldur_api_client/models/patched_question_dependency_request.py +94 -0
  57. waldur_api_client/models/patched_question_options_admin_request.py +68 -0
  58. waldur_api_client/models/{checklist_question.py → question.py} +29 -16
  59. waldur_api_client/models/question_admin.py +260 -0
  60. waldur_api_client/models/question_admin_request.py +210 -0
  61. waldur_api_client/models/question_dependency.py +127 -0
  62. waldur_api_client/models/question_dependency_request.py +94 -0
  63. waldur_api_client/models/question_options.py +79 -0
  64. waldur_api_client/models/question_options_admin.py +103 -0
  65. waldur_api_client/models/question_options_admin_request.py +78 -0
  66. waldur_api_client/models/question_type_enum.py +15 -0
  67. waldur_api_client/models/resource.py +18 -0
  68. {waldur_api_client-7.7.1.dist-info → waldur_api_client-7.7.2.dist-info}/METADATA +1 -1
  69. {waldur_api_client-7.7.1.dist-info → waldur_api_client-7.7.2.dist-info}/RECORD +71 -25
  70. {waldur_api_client-7.7.1.dist-info → waldur_api_client-7.7.2.dist-info}/LICENSE +0 -0
  71. {waldur_api_client-7.7.1.dist-info → waldur_api_client-7.7.2.dist-info}/WHEEL +0 -0
@@ -45,6 +45,7 @@ class BookingResourcesRetrieveFieldItem(str, Enum):
45
45
  OFFERING_NAME = "offering_name"
46
46
  OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
47
47
  OFFERING_SHARED = "offering_shared"
48
+ OFFERING_SLUG = "offering_slug"
48
49
  OFFERING_TERMS_OF_SERVICE = "offering_terms_of_service"
49
50
  OFFERING_THUMBNAIL = "offering_thumbnail"
50
51
  OFFERING_TYPE = "offering_type"
@@ -53,6 +54,7 @@ class BookingResourcesRetrieveFieldItem(str, Enum):
53
54
  ORDER_IN_PROGRESS = "order_in_progress"
54
55
  PARENT_NAME = "parent_name"
55
56
  PARENT_OFFERING_NAME = "parent_offering_name"
57
+ PARENT_OFFERING_SLUG = "parent_offering_slug"
56
58
  PARENT_OFFERING_UUID = "parent_offering_uuid"
57
59
  PARENT_UUID = "parent_uuid"
58
60
  PAUSED = "paused"
@@ -1,6 +1,6 @@
1
1
  import datetime
2
2
  from collections.abc import Mapping
3
- from typing import Any, TypeVar, Union, cast
3
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
4
4
  from uuid import UUID
5
5
 
6
6
  from attrs import define as _attrs_define
@@ -9,6 +9,10 @@ from dateutil.parser import isoparse
9
9
 
10
10
  from ..types import UNSET, Unset
11
11
 
12
+ if TYPE_CHECKING:
13
+ from ..models.base_public_plan import BasePublicPlan
14
+
15
+
12
16
  T = TypeVar("T", bound="CallResourceTemplate")
13
17
 
14
18
 
@@ -26,6 +30,7 @@ class CallResourceTemplate:
26
30
  requested_offering (Union[Unset, str]):
27
31
  requested_offering_name (Union[Unset, str]):
28
32
  requested_offering_uuid (Union[Unset, UUID]):
33
+ requested_offering_plan (Union[Unset, BasePublicPlan]):
29
34
  created_by (Union[None, Unset, str]):
30
35
  created_by_name (Union[Unset, str]):
31
36
  created (Union[Unset, datetime.datetime]):
@@ -41,6 +46,7 @@ class CallResourceTemplate:
41
46
  requested_offering: Union[Unset, str] = UNSET
42
47
  requested_offering_name: Union[Unset, str] = UNSET
43
48
  requested_offering_uuid: Union[Unset, UUID] = UNSET
49
+ requested_offering_plan: Union[Unset, "BasePublicPlan"] = UNSET
44
50
  created_by: Union[None, Unset, str] = UNSET
45
51
  created_by_name: Union[Unset, str] = UNSET
46
52
  created: Union[Unset, datetime.datetime] = UNSET
@@ -71,6 +77,10 @@ class CallResourceTemplate:
71
77
  if not isinstance(self.requested_offering_uuid, Unset):
72
78
  requested_offering_uuid = str(self.requested_offering_uuid)
73
79
 
80
+ requested_offering_plan: Union[Unset, dict[str, Any]] = UNSET
81
+ if not isinstance(self.requested_offering_plan, Unset):
82
+ requested_offering_plan = self.requested_offering_plan.to_dict()
83
+
74
84
  created_by: Union[None, Unset, str]
75
85
  if isinstance(self.created_by, Unset):
76
86
  created_by = UNSET
@@ -106,6 +116,8 @@ class CallResourceTemplate:
106
116
  field_dict["requested_offering_name"] = requested_offering_name
107
117
  if requested_offering_uuid is not UNSET:
108
118
  field_dict["requested_offering_uuid"] = requested_offering_uuid
119
+ if requested_offering_plan is not UNSET:
120
+ field_dict["requested_offering_plan"] = requested_offering_plan
109
121
  if created_by is not UNSET:
110
122
  field_dict["created_by"] = created_by
111
123
  if created_by_name is not UNSET:
@@ -117,6 +129,8 @@ class CallResourceTemplate:
117
129
 
118
130
  @classmethod
119
131
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
132
+ from ..models.base_public_plan import BasePublicPlan
133
+
120
134
  d = dict(src_dict)
121
135
  _uuid = d.pop("uuid", UNSET)
122
136
  uuid: Union[Unset, UUID]
@@ -148,6 +162,13 @@ class CallResourceTemplate:
148
162
  else:
149
163
  requested_offering_uuid = UUID(_requested_offering_uuid)
150
164
 
165
+ _requested_offering_plan = d.pop("requested_offering_plan", UNSET)
166
+ requested_offering_plan: Union[Unset, BasePublicPlan]
167
+ if isinstance(_requested_offering_plan, Unset):
168
+ requested_offering_plan = UNSET
169
+ else:
170
+ requested_offering_plan = BasePublicPlan.from_dict(_requested_offering_plan)
171
+
151
172
  def _parse_created_by(data: object) -> Union[None, Unset, str]:
152
173
  if data is None:
153
174
  return data
@@ -177,6 +198,7 @@ class CallResourceTemplate:
177
198
  requested_offering=requested_offering,
178
199
  requested_offering_name=requested_offering_name,
179
200
  requested_offering_uuid=requested_offering_uuid,
201
+ requested_offering_plan=requested_offering_plan,
180
202
  created_by=created_by,
181
203
  created_by_name=created_by_name,
182
204
  created=created,
@@ -15,6 +15,7 @@ class Checklist:
15
15
  """
16
16
  Attributes:
17
17
  uuid (UUID):
18
+ url (str):
18
19
  name (str):
19
20
  questions_count (int):
20
21
  category_name (str):
@@ -24,6 +25,7 @@ class Checklist:
24
25
  """
25
26
 
26
27
  uuid: UUID
28
+ url: str
27
29
  name: str
28
30
  questions_count: int
29
31
  category_name: str
@@ -35,6 +37,8 @@ class Checklist:
35
37
  def to_dict(self) -> dict[str, Any]:
36
38
  uuid = str(self.uuid)
37
39
 
40
+ url = self.url
41
+
38
42
  name = self.name
39
43
 
40
44
  questions_count = self.questions_count
@@ -52,6 +56,7 @@ class Checklist:
52
56
  field_dict.update(
53
57
  {
54
58
  "uuid": uuid,
59
+ "url": url,
55
60
  "name": name,
56
61
  "questions_count": questions_count,
57
62
  "category_name": category_name,
@@ -69,6 +74,8 @@ class Checklist:
69
74
  d = dict(src_dict)
70
75
  uuid = UUID(d.pop("uuid"))
71
76
 
77
+ url = d.pop("url")
78
+
72
79
  name = d.pop("name")
73
80
 
74
81
  questions_count = d.pop("questions_count")
@@ -83,6 +90,7 @@ class Checklist:
83
90
 
84
91
  checklist = cls(
85
92
  uuid=uuid,
93
+ url=url,
86
94
  name=name,
87
95
  questions_count=questions_count,
88
96
  category_name=category_name,
@@ -0,0 +1,127 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+ from uuid import UUID
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="ChecklistAdmin")
11
+
12
+
13
+ @_attrs_define
14
+ class ChecklistAdmin:
15
+ """
16
+ Attributes:
17
+ uuid (UUID):
18
+ url (str):
19
+ name (str):
20
+ questions_count (int):
21
+ category_name (str):
22
+ category_uuid (UUID):
23
+ roles (list[str]):
24
+ checklist_type (str):
25
+ description (Union[Unset, str]):
26
+ """
27
+
28
+ uuid: UUID
29
+ url: str
30
+ name: str
31
+ questions_count: int
32
+ category_name: str
33
+ category_uuid: UUID
34
+ roles: list[str]
35
+ checklist_type: str
36
+ description: Union[Unset, str] = UNSET
37
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
38
+
39
+ def to_dict(self) -> dict[str, Any]:
40
+ uuid = str(self.uuid)
41
+
42
+ url = self.url
43
+
44
+ name = self.name
45
+
46
+ questions_count = self.questions_count
47
+
48
+ category_name = self.category_name
49
+
50
+ category_uuid = str(self.category_uuid)
51
+
52
+ roles = self.roles
53
+
54
+ checklist_type = self.checklist_type
55
+
56
+ description = self.description
57
+
58
+ field_dict: dict[str, Any] = {}
59
+ field_dict.update(self.additional_properties)
60
+ field_dict.update(
61
+ {
62
+ "uuid": uuid,
63
+ "url": url,
64
+ "name": name,
65
+ "questions_count": questions_count,
66
+ "category_name": category_name,
67
+ "category_uuid": category_uuid,
68
+ "roles": roles,
69
+ "checklist_type": checklist_type,
70
+ }
71
+ )
72
+ if description is not UNSET:
73
+ field_dict["description"] = description
74
+
75
+ return field_dict
76
+
77
+ @classmethod
78
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
79
+ d = dict(src_dict)
80
+ uuid = UUID(d.pop("uuid"))
81
+
82
+ url = d.pop("url")
83
+
84
+ name = d.pop("name")
85
+
86
+ questions_count = d.pop("questions_count")
87
+
88
+ category_name = d.pop("category_name")
89
+
90
+ category_uuid = UUID(d.pop("category_uuid"))
91
+
92
+ roles = cast(list[str], d.pop("roles"))
93
+
94
+ checklist_type = d.pop("checklist_type")
95
+
96
+ description = d.pop("description", UNSET)
97
+
98
+ checklist_admin = cls(
99
+ uuid=uuid,
100
+ url=url,
101
+ name=name,
102
+ questions_count=questions_count,
103
+ category_name=category_name,
104
+ category_uuid=category_uuid,
105
+ roles=roles,
106
+ checklist_type=checklist_type,
107
+ description=description,
108
+ )
109
+
110
+ checklist_admin.additional_properties = d
111
+ return checklist_admin
112
+
113
+ @property
114
+ def additional_keys(self) -> list[str]:
115
+ return list(self.additional_properties.keys())
116
+
117
+ def __getitem__(self, key: str) -> Any:
118
+ return self.additional_properties[key]
119
+
120
+ def __setitem__(self, key: str, value: Any) -> None:
121
+ self.additional_properties[key] = value
122
+
123
+ def __delitem__(self, key: str) -> None:
124
+ del self.additional_properties[key]
125
+
126
+ def __contains__(self, key: str) -> bool:
127
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ChecklistTypeEnum(str, Enum):
5
+ OFFERING_COMPLIANCE = "offering_compliance"
6
+ PROJECT_COMPLIANCE = "project_compliance"
7
+ PROPOSAL_COMPLIANCE = "proposal_compliance"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,131 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+ from uuid import UUID
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from ..models.checklist_type_enum import ChecklistTypeEnum
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="CreateChecklist")
12
+
13
+
14
+ @_attrs_define
15
+ class CreateChecklist:
16
+ """
17
+ Attributes:
18
+ uuid (UUID):
19
+ url (str):
20
+ name (str):
21
+ questions_count (int):
22
+ category_name (str):
23
+ category_uuid (UUID):
24
+ checklist_type (ChecklistTypeEnum):
25
+ description (Union[Unset, str]):
26
+ roles (Union[Unset, list[str]]):
27
+ """
28
+
29
+ uuid: UUID
30
+ url: str
31
+ name: str
32
+ questions_count: int
33
+ category_name: str
34
+ category_uuid: UUID
35
+ checklist_type: ChecklistTypeEnum
36
+ description: Union[Unset, str] = UNSET
37
+ roles: Union[Unset, list[str]] = UNSET
38
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
39
+
40
+ def to_dict(self) -> dict[str, Any]:
41
+ uuid = str(self.uuid)
42
+
43
+ url = self.url
44
+
45
+ name = self.name
46
+
47
+ questions_count = self.questions_count
48
+
49
+ category_name = self.category_name
50
+
51
+ category_uuid = str(self.category_uuid)
52
+
53
+ checklist_type = self.checklist_type.value
54
+
55
+ description = self.description
56
+
57
+ roles: Union[Unset, list[str]] = UNSET
58
+ if not isinstance(self.roles, Unset):
59
+ roles = self.roles
60
+
61
+ field_dict: dict[str, Any] = {}
62
+ field_dict.update(self.additional_properties)
63
+ field_dict.update(
64
+ {
65
+ "uuid": uuid,
66
+ "url": url,
67
+ "name": name,
68
+ "questions_count": questions_count,
69
+ "category_name": category_name,
70
+ "category_uuid": category_uuid,
71
+ "checklist_type": checklist_type,
72
+ }
73
+ )
74
+ if description is not UNSET:
75
+ field_dict["description"] = description
76
+ if roles is not UNSET:
77
+ field_dict["roles"] = roles
78
+
79
+ return field_dict
80
+
81
+ @classmethod
82
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
83
+ d = dict(src_dict)
84
+ uuid = UUID(d.pop("uuid"))
85
+
86
+ url = d.pop("url")
87
+
88
+ name = d.pop("name")
89
+
90
+ questions_count = d.pop("questions_count")
91
+
92
+ category_name = d.pop("category_name")
93
+
94
+ category_uuid = UUID(d.pop("category_uuid"))
95
+
96
+ checklist_type = ChecklistTypeEnum(d.pop("checklist_type"))
97
+
98
+ description = d.pop("description", UNSET)
99
+
100
+ roles = cast(list[str], d.pop("roles", UNSET))
101
+
102
+ create_checklist = cls(
103
+ uuid=uuid,
104
+ url=url,
105
+ name=name,
106
+ questions_count=questions_count,
107
+ category_name=category_name,
108
+ category_uuid=category_uuid,
109
+ checklist_type=checklist_type,
110
+ description=description,
111
+ roles=roles,
112
+ )
113
+
114
+ create_checklist.additional_properties = d
115
+ return create_checklist
116
+
117
+ @property
118
+ def additional_keys(self) -> list[str]:
119
+ return list(self.additional_properties.keys())
120
+
121
+ def __getitem__(self, key: str) -> Any:
122
+ return self.additional_properties[key]
123
+
124
+ def __setitem__(self, key: str, value: Any) -> None:
125
+ self.additional_properties[key] = value
126
+
127
+ def __delitem__(self, key: str) -> None:
128
+ del self.additional_properties[key]
129
+
130
+ def __contains__(self, key: str) -> bool:
131
+ return key in self.additional_properties
@@ -0,0 +1,90 @@
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="CreateChecklistRequest")
11
+
12
+
13
+ @_attrs_define
14
+ class CreateChecklistRequest:
15
+ """
16
+ Attributes:
17
+ name (str):
18
+ checklist_type (ChecklistTypeEnum):
19
+ description (Union[Unset, str]):
20
+ roles (Union[Unset, list[str]]):
21
+ """
22
+
23
+ name: str
24
+ checklist_type: ChecklistTypeEnum
25
+ description: Union[Unset, str] = UNSET
26
+ roles: Union[Unset, list[str]] = 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
+ checklist_type = self.checklist_type.value
33
+
34
+ description = self.description
35
+
36
+ roles: Union[Unset, list[str]] = UNSET
37
+ if not isinstance(self.roles, Unset):
38
+ roles = self.roles
39
+
40
+ field_dict: dict[str, Any] = {}
41
+ field_dict.update(self.additional_properties)
42
+ field_dict.update(
43
+ {
44
+ "name": name,
45
+ "checklist_type": checklist_type,
46
+ }
47
+ )
48
+ if description is not UNSET:
49
+ field_dict["description"] = description
50
+ if roles is not UNSET:
51
+ field_dict["roles"] = roles
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
57
+ d = dict(src_dict)
58
+ name = d.pop("name")
59
+
60
+ checklist_type = ChecklistTypeEnum(d.pop("checklist_type"))
61
+
62
+ description = d.pop("description", UNSET)
63
+
64
+ roles = cast(list[str], d.pop("roles", UNSET))
65
+
66
+ create_checklist_request = cls(
67
+ name=name,
68
+ checklist_type=checklist_type,
69
+ description=description,
70
+ roles=roles,
71
+ )
72
+
73
+ create_checklist_request.additional_properties = d
74
+ return create_checklist_request
75
+
76
+ @property
77
+ def additional_keys(self) -> list[str]:
78
+ return list(self.additional_properties.keys())
79
+
80
+ def __getitem__(self, key: str) -> Any:
81
+ return self.additional_properties[key]
82
+
83
+ def __setitem__(self, key: str, value: Any) -> None:
84
+ self.additional_properties[key] = value
85
+
86
+ def __delitem__(self, key: str) -> None:
87
+ del self.additional_properties[key]
88
+
89
+ def __contains__(self, key: str) -> bool:
90
+ return key in self.additional_properties
@@ -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"
@@ -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: