waldur-api-client 7.8.0__py3-none-any.whl → 7.8.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 (212) hide show
  1. waldur_api_client/api/booking_resources/booking_resources_count.py +10 -13
  2. waldur_api_client/api/booking_resources/booking_resources_list.py +10 -13
  3. waldur_api_client/api/call_managing_organisations/call_managing_organisations_create.py +44 -7
  4. waldur_api_client/api/call_managing_organisations/call_managing_organisations_partial_update.py +46 -7
  5. waldur_api_client/api/call_managing_organisations/call_managing_organisations_update.py +44 -7
  6. waldur_api_client/api/checklists_admin/checklists_admin_checklist_questions.py +49 -0
  7. waldur_api_client/api/checklists_admin/checklists_admin_count.py +43 -0
  8. waldur_api_client/api/checklists_admin/checklists_admin_list.py +43 -0
  9. waldur_api_client/api/checklists_admin_categories/checklists_admin_categories_create.py +44 -7
  10. waldur_api_client/api/checklists_admin_categories/checklists_admin_categories_partial_update.py +44 -7
  11. waldur_api_client/api/checklists_admin_categories/checklists_admin_categories_update.py +44 -7
  12. waldur_api_client/api/customers/customers_create.py +44 -7
  13. waldur_api_client/api/customers/customers_partial_update.py +44 -7
  14. waldur_api_client/api/customers/customers_update.py +44 -7
  15. waldur_api_client/api/external_links/external_links_create.py +44 -7
  16. waldur_api_client/api/external_links/external_links_partial_update.py +44 -7
  17. waldur_api_client/api/external_links/external_links_update.py +44 -7
  18. waldur_api_client/api/invoices/invoices_paid.py +44 -7
  19. waldur_api_client/api/marketplace_categories/marketplace_categories_create.py +44 -7
  20. waldur_api_client/api/marketplace_categories/marketplace_categories_partial_update.py +44 -7
  21. waldur_api_client/api/marketplace_categories/marketplace_categories_update.py +44 -7
  22. waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_create.py +44 -7
  23. waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_partial_update.py +44 -7
  24. waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_update.py +44 -7
  25. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_count.py +96 -0
  26. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +96 -0
  27. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_create.py +44 -7
  28. waldur_api_client/api/marketplace_offering_user_checklist_completions/__init__.py +1 -0
  29. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_count.py +286 -0
  30. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_list.py +289 -0
  31. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_retrieve.py +141 -0
  32. waldur_api_client/api/marketplace_orders/marketplace_orders_update_attachment.py +44 -7
  33. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_create.py +44 -7
  34. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list_course_accounts_retrieve.py +177 -0
  35. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_refresh_offering_usernames.py +0 -22
  36. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_compliance_checklist.py +105 -0
  37. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_image.py +44 -7
  38. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_thumbnail.py +30 -5
  39. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +10 -13
  40. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +10 -13
  41. waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +10 -13
  42. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +10 -13
  43. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_create.py +44 -7
  44. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_update.py +44 -7
  45. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_course_accounts_list.py +98 -0
  46. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_create.py +44 -7
  47. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_partial_update.py +44 -7
  48. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_update.py +44 -7
  49. waldur_api_client/api/override_settings/override_settings.py +30 -5
  50. waldur_api_client/api/payments/payments_create.py +44 -7
  51. waldur_api_client/api/payments/payments_partial_update.py +44 -7
  52. waldur_api_client/api/payments/payments_update.py +44 -7
  53. waldur_api_client/api/projects/projects_create.py +44 -7
  54. waldur_api_client/api/projects/projects_partial_update.py +44 -7
  55. waldur_api_client/api/projects/projects_update.py +44 -7
  56. waldur_api_client/api/proposal_proposals/proposal_proposals_attach_document.py +30 -5
  57. waldur_api_client/api/slurm_jobs/slurm_jobs_create.py +44 -7
  58. waldur_api_client/api/slurm_jobs/slurm_jobs_update.py +44 -7
  59. waldur_api_client/api/support_attachments/support_attachments_create.py +44 -7
  60. waldur_api_client/api/user_group_invitations/user_group_invitations_count.py +15 -0
  61. waldur_api_client/api/user_group_invitations/user_group_invitations_list.py +15 -0
  62. waldur_api_client/api/user_invitations/user_invitations_count.py +15 -0
  63. waldur_api_client/api/user_invitations/user_invitations_list.py +15 -0
  64. waldur_api_client/api/users/users_create.py +44 -7
  65. waldur_api_client/api/users/users_partial_update.py +44 -7
  66. waldur_api_client/api/users/users_update.py +44 -7
  67. waldur_api_client/models/__init__.py +172 -4
  68. waldur_api_client/models/agent_type_enum.py +13 -0
  69. waldur_api_client/models/attachment_request_form.py +70 -0
  70. waldur_api_client/models/attachment_request_multipart.py +83 -0
  71. waldur_api_client/models/booking_offerings_list_field_item.py +1 -0
  72. waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -0
  73. waldur_api_client/models/booking_resource.py +18 -0
  74. waldur_api_client/models/booking_resources_list_field_item.py +2 -0
  75. waldur_api_client/models/booking_resources_retrieve_field_item.py +2 -0
  76. waldur_api_client/models/call_managing_organisation_request_form.py +103 -0
  77. waldur_api_client/models/call_managing_organisation_request_multipart.py +122 -0
  78. waldur_api_client/models/call_round.py +11 -1
  79. waldur_api_client/models/category_group_request_form.py +103 -0
  80. waldur_api_client/models/category_group_request_multipart.py +122 -0
  81. waldur_api_client/models/checklist_category_request_form.py +103 -0
  82. waldur_api_client/models/checklist_category_request_multipart.py +122 -0
  83. waldur_api_client/models/checklists_admin_checklist_questions_checklist_type.py +11 -0
  84. waldur_api_client/models/checklists_admin_checklist_questions_checklist_type_in_item.py +11 -0
  85. waldur_api_client/models/checklists_admin_count_checklist_type.py +11 -0
  86. waldur_api_client/models/checklists_admin_count_checklist_type_in_item.py +11 -0
  87. waldur_api_client/models/checklists_admin_list_checklist_type.py +11 -0
  88. waldur_api_client/models/checklists_admin_list_checklist_type_in_item.py +11 -0
  89. waldur_api_client/models/constance_settings.py +9 -0
  90. waldur_api_client/models/constance_settings_request.py +9 -0
  91. waldur_api_client/models/constance_settings_request_form.py +1547 -0
  92. waldur_api_client/models/constance_settings_request_multipart.py +2173 -0
  93. waldur_api_client/models/course_account.py +24 -0
  94. waldur_api_client/models/customer.py +9 -0
  95. waldur_api_client/models/customer_request.py +9 -0
  96. waldur_api_client/models/customer_request_form.py +312 -0
  97. waldur_api_client/models/customer_request_multipart.py +394 -0
  98. waldur_api_client/models/customers_list_field_item.py +1 -0
  99. waldur_api_client/models/customers_retrieve_field_item.py +1 -0
  100. waldur_api_client/models/external_link_request_form.py +111 -0
  101. waldur_api_client/models/external_link_request_multipart.py +132 -0
  102. waldur_api_client/models/firecrest_job_request_form.py +104 -0
  103. waldur_api_client/models/firecrest_job_request_multipart.py +127 -0
  104. waldur_api_client/models/group_invitation.py +8 -0
  105. waldur_api_client/models/integration_status.py +21 -4
  106. waldur_api_client/models/invitation.py +8 -0
  107. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +2 -0
  108. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +2 -0
  109. waldur_api_client/models/marketplace_category_request_form.py +153 -0
  110. waldur_api_client/models/marketplace_category_request_multipart.py +187 -0
  111. waldur_api_client/models/marketplace_course_accounts_count_o_item.py +23 -0
  112. waldur_api_client/models/marketplace_course_accounts_list_o_item.py +23 -0
  113. waldur_api_client/models/marketplace_offering_user_checklist_completions_count_o_item.py +11 -0
  114. waldur_api_client/models/marketplace_offering_user_checklist_completions_list_o_item.py +11 -0
  115. waldur_api_client/models/marketplace_orders_list_field_item.py +3 -0
  116. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +3 -0
  117. waldur_api_client/models/marketplace_provider_offerings_list_course_accounts_retrieve_field_item.py +73 -0
  118. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +1 -0
  119. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +1 -0
  120. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +1 -0
  121. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +1 -0
  122. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +1 -0
  123. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +1 -0
  124. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +2 -0
  125. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +2 -0
  126. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +2 -0
  127. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -0
  128. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -0
  129. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +2 -0
  130. waldur_api_client/models/marketplace_resources_list_field_item.py +2 -0
  131. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +2 -0
  132. waldur_api_client/models/marketplace_service_providers_course_accounts_list_o_item.py +23 -0
  133. waldur_api_client/models/marketplace_service_providers_offerings_list_field_item.py +1 -0
  134. waldur_api_client/models/merged_plugin_options.py +9 -0
  135. waldur_api_client/models/merged_plugin_options_request.py +9 -0
  136. waldur_api_client/models/nested_round.py +9 -0
  137. waldur_api_client/models/nested_round_request.py +9 -0
  138. waldur_api_client/models/notification.py +11 -0
  139. waldur_api_client/models/notification_context_fields.py +47 -0
  140. waldur_api_client/models/offering.py +20 -0
  141. waldur_api_client/models/offering_compliance_checklist_update_request.py +82 -0
  142. waldur_api_client/models/offering_create.py +20 -0
  143. waldur_api_client/models/offering_create_request.py +20 -0
  144. waldur_api_client/models/{provider_offering_details_request.py → offering_create_request_form.py} +77 -5
  145. waldur_api_client/models/offering_create_request_form_limits.py +57 -0
  146. waldur_api_client/models/offering_create_request_multipart.py +599 -0
  147. waldur_api_client/models/offering_create_request_multipart_limits.py +57 -0
  148. waldur_api_client/models/offering_file_request_form.py +78 -0
  149. waldur_api_client/models/offering_file_request_multipart.py +93 -0
  150. waldur_api_client/models/offering_image_request_form.py +62 -0
  151. waldur_api_client/models/offering_image_request_multipart.py +73 -0
  152. waldur_api_client/models/offering_thumbnail_request_form.py +62 -0
  153. waldur_api_client/models/offering_thumbnail_request_multipart.py +73 -0
  154. waldur_api_client/models/offering_user.py +5 -5
  155. waldur_api_client/models/{offering_user_state_enum.py → offering_user_state.py} +1 -1
  156. waldur_api_client/models/order_attachment_request_form.py +84 -0
  157. waldur_api_client/models/order_attachment_request_multipart.py +98 -0
  158. waldur_api_client/models/order_details.py +34 -0
  159. waldur_api_client/models/paid_request_form.py +81 -0
  160. waldur_api_client/models/paid_request_multipart.py +94 -0
  161. waldur_api_client/models/patched_call_managing_organisation_request_form.py +92 -0
  162. waldur_api_client/models/patched_call_managing_organisation_request_multipart.py +109 -0
  163. waldur_api_client/models/patched_category_group_request_form.py +101 -0
  164. waldur_api_client/models/patched_category_group_request_multipart.py +121 -0
  165. waldur_api_client/models/patched_checklist_category_request_form.py +102 -0
  166. waldur_api_client/models/patched_checklist_category_request_multipart.py +122 -0
  167. waldur_api_client/models/patched_customer_request.py +9 -0
  168. waldur_api_client/models/patched_customer_request_form.py +310 -0
  169. waldur_api_client/models/patched_customer_request_multipart.py +393 -0
  170. waldur_api_client/models/patched_external_link_request_form.py +110 -0
  171. waldur_api_client/models/patched_external_link_request_multipart.py +133 -0
  172. waldur_api_client/models/patched_marketplace_category_request_form.py +151 -0
  173. waldur_api_client/models/patched_marketplace_category_request_multipart.py +186 -0
  174. waldur_api_client/models/patched_payment_request_form.py +119 -0
  175. waldur_api_client/models/patched_payment_request_multipart.py +142 -0
  176. waldur_api_client/models/patched_project_request_form.py +279 -0
  177. waldur_api_client/models/patched_project_request_multipart.py +342 -0
  178. waldur_api_client/models/patched_service_provider_request_form.py +101 -0
  179. waldur_api_client/models/patched_service_provider_request_multipart.py +121 -0
  180. waldur_api_client/models/patched_user_request_form.py +241 -0
  181. waldur_api_client/models/patched_user_request_multipart.py +306 -0
  182. waldur_api_client/models/payment_request_form.py +113 -0
  183. waldur_api_client/models/payment_request_multipart.py +134 -0
  184. waldur_api_client/models/project_request_form.py +280 -0
  185. waldur_api_client/models/project_request_multipart.py +341 -0
  186. waldur_api_client/models/project_user.py +9 -0
  187. waldur_api_client/models/proposal.py +8 -0
  188. waldur_api_client/models/proposal_documentation_request_form.py +84 -0
  189. waldur_api_client/models/proposal_documentation_request_multipart.py +98 -0
  190. waldur_api_client/models/proposal_proposals_count_o_item.py +3 -1
  191. waldur_api_client/models/proposal_proposals_list_o_item.py +3 -1
  192. waldur_api_client/models/proposal_review.py +40 -0
  193. waldur_api_client/models/protected_proposal_list.py +8 -0
  194. waldur_api_client/models/protected_proposal_list_request.py +8 -0
  195. waldur_api_client/models/protected_round.py +8 -0
  196. waldur_api_client/models/provider_offering.py +21 -1
  197. waldur_api_client/models/provider_offering_details.py +20 -0
  198. waldur_api_client/models/public_offering_details.py +20 -0
  199. waldur_api_client/models/resource.py +18 -0
  200. waldur_api_client/models/resource_update_limits_request.py +1 -34
  201. waldur_api_client/models/screenshot_request_form.py +87 -0
  202. waldur_api_client/models/screenshot_request_multipart.py +105 -0
  203. waldur_api_client/models/service_provider_request_form.py +112 -0
  204. waldur_api_client/models/service_provider_request_multipart.py +134 -0
  205. waldur_api_client/models/user_checklist_completion.py +265 -0
  206. waldur_api_client/models/user_request_form.py +250 -0
  207. waldur_api_client/models/user_request_multipart.py +316 -0
  208. waldur_api_client/models/visible_invitation_details.py +8 -0
  209. {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.2.dist-info}/METADATA +1 -1
  210. {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.2.dist-info}/RECORD +212 -127
  211. {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.2.dist-info}/WHEEL +1 -1
  212. {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.2.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,104 @@
1
+ from collections.abc import Mapping
2
+ from io import BytesIO
3
+ from typing import Any, TypeVar, Union
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from ..types import UNSET, File, Unset
9
+
10
+ T = TypeVar("T", bound="FirecrestJobRequestForm")
11
+
12
+
13
+ @_attrs_define
14
+ class FirecrestJobRequestForm:
15
+ """
16
+ Attributes:
17
+ name (str):
18
+ service_settings (str):
19
+ project (str):
20
+ file (File):
21
+ description (Union[Unset, str]):
22
+ runtime_state (Union[Unset, str]):
23
+ """
24
+
25
+ name: str
26
+ service_settings: str
27
+ project: str
28
+ file: File
29
+ description: Union[Unset, str] = UNSET
30
+ runtime_state: Union[Unset, str] = UNSET
31
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
32
+
33
+ def to_dict(self) -> dict[str, Any]:
34
+ name = self.name
35
+
36
+ service_settings = self.service_settings
37
+
38
+ project = self.project
39
+
40
+ file = self.file.to_tuple()
41
+
42
+ description = self.description
43
+
44
+ runtime_state = self.runtime_state
45
+
46
+ field_dict: dict[str, Any] = {}
47
+ field_dict.update(self.additional_properties)
48
+ field_dict.update(
49
+ {
50
+ "name": name,
51
+ "service_settings": service_settings,
52
+ "project": project,
53
+ "file": file,
54
+ }
55
+ )
56
+ if description is not UNSET:
57
+ field_dict["description"] = description
58
+ if runtime_state is not UNSET:
59
+ field_dict["runtime_state"] = runtime_state
60
+
61
+ return field_dict
62
+
63
+ @classmethod
64
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
65
+ d = dict(src_dict)
66
+ name = d.pop("name")
67
+
68
+ service_settings = d.pop("service_settings")
69
+
70
+ project = d.pop("project")
71
+
72
+ file = File(payload=BytesIO(d.pop("file")))
73
+
74
+ description = d.pop("description", UNSET)
75
+
76
+ runtime_state = d.pop("runtime_state", UNSET)
77
+
78
+ firecrest_job_request_form = cls(
79
+ name=name,
80
+ service_settings=service_settings,
81
+ project=project,
82
+ file=file,
83
+ description=description,
84
+ runtime_state=runtime_state,
85
+ )
86
+
87
+ firecrest_job_request_form.additional_properties = d
88
+ return firecrest_job_request_form
89
+
90
+ @property
91
+ def additional_keys(self) -> list[str]:
92
+ return list(self.additional_properties.keys())
93
+
94
+ def __getitem__(self, key: str) -> Any:
95
+ return self.additional_properties[key]
96
+
97
+ def __setitem__(self, key: str, value: Any) -> None:
98
+ self.additional_properties[key] = value
99
+
100
+ def __delitem__(self, key: str) -> None:
101
+ del self.additional_properties[key]
102
+
103
+ def __contains__(self, key: str) -> bool:
104
+ return key in self.additional_properties
@@ -0,0 +1,127 @@
1
+ from collections.abc import Mapping
2
+ from io import BytesIO
3
+ from typing import Any, TypeVar, Union
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from .. import types
9
+ from ..types import UNSET, File, Unset
10
+
11
+ T = TypeVar("T", bound="FirecrestJobRequestMultipart")
12
+
13
+
14
+ @_attrs_define
15
+ class FirecrestJobRequestMultipart:
16
+ """
17
+ Attributes:
18
+ name (str):
19
+ service_settings (str):
20
+ project (str):
21
+ file (File):
22
+ description (Union[Unset, str]):
23
+ runtime_state (Union[Unset, str]):
24
+ """
25
+
26
+ name: str
27
+ service_settings: str
28
+ project: str
29
+ file: File
30
+ description: Union[Unset, str] = UNSET
31
+ runtime_state: Union[Unset, str] = UNSET
32
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
33
+
34
+ def to_dict(self) -> dict[str, Any]:
35
+ name = self.name
36
+
37
+ service_settings = self.service_settings
38
+
39
+ project = self.project
40
+
41
+ file = self.file.to_tuple()
42
+
43
+ description = self.description
44
+
45
+ runtime_state = self.runtime_state
46
+
47
+ field_dict: dict[str, Any] = {}
48
+ field_dict.update(self.additional_properties)
49
+ field_dict.update(
50
+ {
51
+ "name": name,
52
+ "service_settings": service_settings,
53
+ "project": project,
54
+ "file": file,
55
+ }
56
+ )
57
+ if description is not UNSET:
58
+ field_dict["description"] = description
59
+ if runtime_state is not UNSET:
60
+ field_dict["runtime_state"] = runtime_state
61
+
62
+ return field_dict
63
+
64
+ def to_multipart(self) -> types.RequestFiles:
65
+ files: types.RequestFiles = []
66
+
67
+ files.append(("name", (None, str(self.name).encode(), "text/plain")))
68
+
69
+ files.append(("service_settings", (None, str(self.service_settings).encode(), "text/plain")))
70
+
71
+ files.append(("project", (None, str(self.project).encode(), "text/plain")))
72
+
73
+ files.append(("file", self.file.to_tuple()))
74
+
75
+ if not isinstance(self.description, Unset):
76
+ files.append(("description", (None, str(self.description).encode(), "text/plain")))
77
+
78
+ if not isinstance(self.runtime_state, Unset):
79
+ files.append(("runtime_state", (None, str(self.runtime_state).encode(), "text/plain")))
80
+
81
+ for prop_name, prop in self.additional_properties.items():
82
+ files.append((prop_name, (None, str(prop).encode(), "text/plain")))
83
+
84
+ return files
85
+
86
+ @classmethod
87
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
88
+ d = dict(src_dict)
89
+ name = d.pop("name")
90
+
91
+ service_settings = d.pop("service_settings")
92
+
93
+ project = d.pop("project")
94
+
95
+ file = File(payload=BytesIO(d.pop("file")))
96
+
97
+ description = d.pop("description", UNSET)
98
+
99
+ runtime_state = d.pop("runtime_state", UNSET)
100
+
101
+ firecrest_job_request_multipart = cls(
102
+ name=name,
103
+ service_settings=service_settings,
104
+ project=project,
105
+ file=file,
106
+ description=description,
107
+ runtime_state=runtime_state,
108
+ )
109
+
110
+ firecrest_job_request_multipart.additional_properties = d
111
+ return firecrest_job_request_multipart
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
@@ -27,6 +27,7 @@ class GroupInvitation:
27
27
  role_description (str):
28
28
  created_by_full_name (str):
29
29
  created_by_username (str):
30
+ created_by_image (str):
30
31
  url (str):
31
32
  uuid (UUID):
32
33
  role (UUID):
@@ -55,6 +56,7 @@ class GroupInvitation:
55
56
  role_description: str
56
57
  created_by_full_name: str
57
58
  created_by_username: str
59
+ created_by_image: str
58
60
  url: str
59
61
  uuid: UUID
60
62
  role: UUID
@@ -92,6 +94,8 @@ class GroupInvitation:
92
94
 
93
95
  created_by_username = self.created_by_username
94
96
 
97
+ created_by_image = self.created_by_image
98
+
95
99
  url = self.url
96
100
 
97
101
  uuid = str(self.uuid)
@@ -143,6 +147,7 @@ class GroupInvitation:
143
147
  "role_description": role_description,
144
148
  "created_by_full_name": created_by_full_name,
145
149
  "created_by_username": created_by_username,
150
+ "created_by_image": created_by_image,
146
151
  "url": url,
147
152
  "uuid": uuid,
148
153
  "role": role,
@@ -195,6 +200,8 @@ class GroupInvitation:
195
200
 
196
201
  created_by_username = d.pop("created_by_username")
197
202
 
203
+ created_by_image = d.pop("created_by_image")
204
+
198
205
  url = d.pop("url")
199
206
 
200
207
  uuid = UUID(d.pop("uuid"))
@@ -259,6 +266,7 @@ class GroupInvitation:
259
266
  role_description=role_description,
260
267
  created_by_full_name=created_by_full_name,
261
268
  created_by_username=created_by_username,
269
+ created_by_image=created_by_image,
262
270
  url=url,
263
271
  uuid=uuid,
264
272
  role=role,
@@ -6,6 +6,7 @@ from attrs import define as _attrs_define
6
6
  from attrs import field as _attrs_field
7
7
  from dateutil.parser import isoparse
8
8
 
9
+ from ..models.agent_type_enum import AgentTypeEnum
9
10
  from ..types import UNSET, Unset
10
11
 
11
12
  T = TypeVar("T", bound="IntegrationStatus")
@@ -15,18 +16,22 @@ T = TypeVar("T", bound="IntegrationStatus")
15
16
  class IntegrationStatus:
16
17
  """
17
18
  Attributes:
18
- agent_type (Union[Unset, str]):
19
+ agent_type (Union[Unset, AgentTypeEnum]):
19
20
  status (Union[Unset, str]):
20
21
  last_request_timestamp (Union[None, Unset, datetime.datetime]):
22
+ service_name (Union[Unset, str]):
21
23
  """
22
24
 
23
- agent_type: Union[Unset, str] = UNSET
25
+ agent_type: Union[Unset, AgentTypeEnum] = UNSET
24
26
  status: Union[Unset, str] = UNSET
25
27
  last_request_timestamp: Union[None, Unset, datetime.datetime] = UNSET
28
+ service_name: Union[Unset, str] = UNSET
26
29
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
30
 
28
31
  def to_dict(self) -> dict[str, Any]:
29
- agent_type = self.agent_type
32
+ agent_type: Union[Unset, str] = UNSET
33
+ if not isinstance(self.agent_type, Unset):
34
+ agent_type = self.agent_type.value
30
35
 
31
36
  status = self.status
32
37
 
@@ -38,6 +43,8 @@ class IntegrationStatus:
38
43
  else:
39
44
  last_request_timestamp = self.last_request_timestamp
40
45
 
46
+ service_name = self.service_name
47
+
41
48
  field_dict: dict[str, Any] = {}
42
49
  field_dict.update(self.additional_properties)
43
50
  field_dict.update({})
@@ -47,13 +54,20 @@ class IntegrationStatus:
47
54
  field_dict["status"] = status
48
55
  if last_request_timestamp is not UNSET:
49
56
  field_dict["last_request_timestamp"] = last_request_timestamp
57
+ if service_name is not UNSET:
58
+ field_dict["service_name"] = service_name
50
59
 
51
60
  return field_dict
52
61
 
53
62
  @classmethod
54
63
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
55
64
  d = dict(src_dict)
56
- agent_type = d.pop("agent_type", UNSET)
65
+ _agent_type = d.pop("agent_type", UNSET)
66
+ agent_type: Union[Unset, AgentTypeEnum]
67
+ if isinstance(_agent_type, Unset):
68
+ agent_type = UNSET
69
+ else:
70
+ agent_type = AgentTypeEnum(_agent_type)
57
71
 
58
72
  status = d.pop("status", UNSET)
59
73
 
@@ -74,10 +88,13 @@ class IntegrationStatus:
74
88
 
75
89
  last_request_timestamp = _parse_last_request_timestamp(d.pop("last_request_timestamp", UNSET))
76
90
 
91
+ service_name = d.pop("service_name", UNSET)
92
+
77
93
  integration_status = cls(
78
94
  agent_type=agent_type,
79
95
  status=status,
80
96
  last_request_timestamp=last_request_timestamp,
97
+ service_name=service_name,
81
98
  )
82
99
 
83
100
  integration_status.additional_properties = d
@@ -29,6 +29,7 @@ class Invitation:
29
29
  role_description (str):
30
30
  created_by_full_name (str):
31
31
  created_by_username (str):
32
+ created_by_image (str):
32
33
  url (str):
33
34
  uuid (UUID):
34
35
  role (UUID):
@@ -59,6 +60,7 @@ class Invitation:
59
60
  role_description: str
60
61
  created_by_full_name: str
61
62
  created_by_username: str
63
+ created_by_image: str
62
64
  url: str
63
65
  uuid: UUID
64
66
  role: UUID
@@ -99,6 +101,8 @@ class Invitation:
99
101
 
100
102
  created_by_username = self.created_by_username
101
103
 
104
+ created_by_image = self.created_by_image
105
+
102
106
  url = self.url
103
107
 
104
108
  uuid = str(self.uuid)
@@ -145,6 +149,7 @@ class Invitation:
145
149
  "role_description": role_description,
146
150
  "created_by_full_name": created_by_full_name,
147
151
  "created_by_username": created_by_username,
152
+ "created_by_image": created_by_image,
148
153
  "url": url,
149
154
  "uuid": uuid,
150
155
  "role": role,
@@ -201,6 +206,8 @@ class Invitation:
201
206
 
202
207
  created_by_username = d.pop("created_by_username")
203
208
 
209
+ created_by_image = d.pop("created_by_image")
210
+
204
211
  url = d.pop("url")
205
212
 
206
213
  uuid = UUID(d.pop("uuid"))
@@ -244,6 +251,7 @@ class Invitation:
244
251
  role_description=role_description,
245
252
  created_by_full_name=created_by_full_name,
246
253
  created_by_username=created_by_username,
254
+ created_by_image=created_by_image,
247
255
  url=url,
248
256
  uuid=uuid,
249
257
  role=role,
@@ -33,6 +33,8 @@ class ManagedRancherClusterResourcesListFieldItem(str, Enum):
33
33
  NAME = "name"
34
34
  OFFERING = "offering"
35
35
  OFFERING_BILLABLE = "offering_billable"
36
+ OFFERING_CUSTOMER_NAME = "offering_customer_name"
37
+ OFFERING_CUSTOMER_SLUG = "offering_customer_slug"
36
38
  OFFERING_CUSTOMER_UUID = "offering_customer_uuid"
37
39
  OFFERING_DESCRIPTION = "offering_description"
38
40
  OFFERING_IMAGE = "offering_image"
@@ -33,6 +33,8 @@ class ManagedRancherClusterResourcesRetrieveFieldItem(str, Enum):
33
33
  NAME = "name"
34
34
  OFFERING = "offering"
35
35
  OFFERING_BILLABLE = "offering_billable"
36
+ OFFERING_CUSTOMER_NAME = "offering_customer_name"
37
+ OFFERING_CUSTOMER_SLUG = "offering_customer_slug"
36
38
  OFFERING_CUSTOMER_UUID = "offering_customer_uuid"
37
39
  OFFERING_DESCRIPTION = "offering_description"
38
40
  OFFERING_IMAGE = "offering_image"
@@ -0,0 +1,153 @@
1
+ from collections.abc import Mapping
2
+ from io import BytesIO
3
+ from typing import Any, TypeVar, Union, cast
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from .. import types
9
+ from ..types import UNSET, File, Unset
10
+
11
+ T = TypeVar("T", bound="MarketplaceCategoryRequestForm")
12
+
13
+
14
+ @_attrs_define
15
+ class MarketplaceCategoryRequestForm:
16
+ """
17
+ Attributes:
18
+ title (str):
19
+ description (Union[Unset, str]):
20
+ icon (Union[File, None, Unset]):
21
+ default_vm_category (Union[Unset, bool]): Set to "true" if this category is for OpenStack VM. Only one category
22
+ can have "true" value.
23
+ default_volume_category (Union[Unset, bool]): Set to true if this category is for OpenStack Volume. Only one
24
+ category can have "true" value.
25
+ default_tenant_category (Union[Unset, bool]): Set to true if this category is for OpenStack Tenant. Only one
26
+ category can have "true" value.
27
+ group (Union[None, Unset, str]):
28
+ """
29
+
30
+ title: str
31
+ description: Union[Unset, str] = UNSET
32
+ icon: Union[File, None, Unset] = UNSET
33
+ default_vm_category: Union[Unset, bool] = UNSET
34
+ default_volume_category: Union[Unset, bool] = UNSET
35
+ default_tenant_category: Union[Unset, bool] = UNSET
36
+ group: Union[None, 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
+ title = self.title
41
+
42
+ description = self.description
43
+
44
+ icon: Union[None, Unset, types.FileTypes]
45
+ if isinstance(self.icon, Unset):
46
+ icon = UNSET
47
+ elif isinstance(self.icon, File):
48
+ icon = self.icon.to_tuple()
49
+
50
+ else:
51
+ icon = self.icon
52
+
53
+ default_vm_category = self.default_vm_category
54
+
55
+ default_volume_category = self.default_volume_category
56
+
57
+ default_tenant_category = self.default_tenant_category
58
+
59
+ group: Union[None, Unset, str]
60
+ if isinstance(self.group, Unset):
61
+ group = UNSET
62
+ else:
63
+ group = self.group
64
+
65
+ field_dict: dict[str, Any] = {}
66
+ field_dict.update(self.additional_properties)
67
+ field_dict.update(
68
+ {
69
+ "title": title,
70
+ }
71
+ )
72
+ if description is not UNSET:
73
+ field_dict["description"] = description
74
+ if icon is not UNSET:
75
+ field_dict["icon"] = icon
76
+ if default_vm_category is not UNSET:
77
+ field_dict["default_vm_category"] = default_vm_category
78
+ if default_volume_category is not UNSET:
79
+ field_dict["default_volume_category"] = default_volume_category
80
+ if default_tenant_category is not UNSET:
81
+ field_dict["default_tenant_category"] = default_tenant_category
82
+ if group is not UNSET:
83
+ field_dict["group"] = group
84
+
85
+ return field_dict
86
+
87
+ @classmethod
88
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
89
+ d = dict(src_dict)
90
+ title = d.pop("title")
91
+
92
+ description = d.pop("description", UNSET)
93
+
94
+ def _parse_icon(data: object) -> Union[File, None, Unset]:
95
+ if data is None:
96
+ return data
97
+ if isinstance(data, Unset):
98
+ return data
99
+ try:
100
+ if not isinstance(data, bytes):
101
+ raise TypeError()
102
+ icon_type_0 = File(payload=BytesIO(data))
103
+
104
+ return icon_type_0
105
+ except: # noqa: E722
106
+ pass
107
+ return cast(Union[File, None, Unset], data)
108
+
109
+ icon = _parse_icon(d.pop("icon", UNSET))
110
+
111
+ default_vm_category = d.pop("default_vm_category", UNSET)
112
+
113
+ default_volume_category = d.pop("default_volume_category", UNSET)
114
+
115
+ default_tenant_category = d.pop("default_tenant_category", UNSET)
116
+
117
+ def _parse_group(data: object) -> Union[None, Unset, str]:
118
+ if data is None:
119
+ return data
120
+ if isinstance(data, Unset):
121
+ return data
122
+ return cast(Union[None, Unset, str], data)
123
+
124
+ group = _parse_group(d.pop("group", UNSET))
125
+
126
+ marketplace_category_request_form = cls(
127
+ title=title,
128
+ description=description,
129
+ icon=icon,
130
+ default_vm_category=default_vm_category,
131
+ default_volume_category=default_volume_category,
132
+ default_tenant_category=default_tenant_category,
133
+ group=group,
134
+ )
135
+
136
+ marketplace_category_request_form.additional_properties = d
137
+ return marketplace_category_request_form
138
+
139
+ @property
140
+ def additional_keys(self) -> list[str]:
141
+ return list(self.additional_properties.keys())
142
+
143
+ def __getitem__(self, key: str) -> Any:
144
+ return self.additional_properties[key]
145
+
146
+ def __setitem__(self, key: str, value: Any) -> None:
147
+ self.additional_properties[key] = value
148
+
149
+ def __delitem__(self, key: str) -> None:
150
+ del self.additional_properties[key]
151
+
152
+ def __contains__(self, key: str) -> bool:
153
+ return key in self.additional_properties