waldur-api-client 7.8.1__py3-none-any.whl → 7.8.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 (234) 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_offering_files/marketplace_offering_files_create.py +44 -7
  26. waldur_api_client/api/marketplace_orders/marketplace_orders_update_attachment.py +44 -7
  27. waldur_api_client/api/marketplace_project_update_requests/marketplace_project_update_requests_count.py +18 -18
  28. waldur_api_client/api/marketplace_project_update_requests/marketplace_project_update_requests_list.py +18 -18
  29. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_create.py +44 -7
  30. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_image.py +44 -7
  31. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_thumbnail.py +30 -5
  32. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +10 -13
  33. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +10 -13
  34. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_move_resource.py +22 -0
  35. waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +10 -13
  36. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +10 -13
  37. waldur_api_client/api/marketplace_resources/marketplace_resources_move_resource.py +22 -0
  38. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_create.py +44 -7
  39. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_update.py +44 -7
  40. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_create.py +44 -7
  41. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_partial_update.py +44 -7
  42. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_update.py +44 -7
  43. waldur_api_client/api/openstack_backups/openstack_backups_restore.py +10 -10
  44. waldur_api_client/api/override_settings/override_settings.py +30 -5
  45. waldur_api_client/api/payments/payments_create.py +44 -7
  46. waldur_api_client/api/payments/payments_partial_update.py +44 -7
  47. waldur_api_client/api/payments/payments_update.py +44 -7
  48. waldur_api_client/api/projects/projects_create.py +44 -7
  49. waldur_api_client/api/projects/projects_partial_update.py +44 -7
  50. waldur_api_client/api/projects/projects_update.py +44 -7
  51. waldur_api_client/api/proposal_proposals/proposal_proposals_attach_document.py +30 -5
  52. waldur_api_client/api/rancher_services/rancher_services_create.py +22 -22
  53. waldur_api_client/api/slurm_jobs/slurm_jobs_create.py +44 -7
  54. waldur_api_client/api/slurm_jobs/slurm_jobs_update.py +44 -7
  55. waldur_api_client/api/support_attachments/support_attachments_create.py +44 -7
  56. waldur_api_client/api/user_group_invitations/user_group_invitations_count.py +15 -0
  57. waldur_api_client/api/user_group_invitations/user_group_invitations_list.py +15 -0
  58. waldur_api_client/api/users/users_create.py +44 -7
  59. waldur_api_client/api/users/users_partial_update.py +44 -7
  60. waldur_api_client/api/users/users_update.py +44 -7
  61. waldur_api_client/models/__init__.py +172 -8
  62. waldur_api_client/models/agent_type_enum.py +13 -0
  63. waldur_api_client/models/attachment_request_form.py +70 -0
  64. waldur_api_client/models/attachment_request_multipart.py +83 -0
  65. waldur_api_client/models/azure_sql_server_create_order_attributes.py +5 -10
  66. waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +7 -12
  67. waldur_api_client/models/booking_offerings_list_field_item.py +1 -0
  68. waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -0
  69. waldur_api_client/models/booking_resource.py +16 -34
  70. waldur_api_client/models/booking_resources_list_field_item.py +1 -3
  71. waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -3
  72. waldur_api_client/models/call_managing_organisation_request_form.py +103 -0
  73. waldur_api_client/models/call_managing_organisation_request_multipart.py +122 -0
  74. waldur_api_client/models/call_round.py +11 -1
  75. waldur_api_client/models/category_group_request_form.py +103 -0
  76. waldur_api_client/models/category_group_request_multipart.py +122 -0
  77. waldur_api_client/models/checklist_category_request_form.py +103 -0
  78. waldur_api_client/models/checklist_category_request_multipart.py +122 -0
  79. waldur_api_client/models/checklists_admin_checklist_questions_checklist_type.py +11 -0
  80. waldur_api_client/models/checklists_admin_checklist_questions_checklist_type_in_item.py +11 -0
  81. waldur_api_client/models/checklists_admin_count_checklist_type.py +11 -0
  82. waldur_api_client/models/checklists_admin_count_checklist_type_in_item.py +11 -0
  83. waldur_api_client/models/checklists_admin_list_checklist_type.py +11 -0
  84. waldur_api_client/models/checklists_admin_list_checklist_type_in_item.py +11 -0
  85. waldur_api_client/models/constance_settings.py +18 -0
  86. waldur_api_client/models/constance_settings_request.py +18 -0
  87. waldur_api_client/models/constance_settings_request_form.py +1556 -0
  88. waldur_api_client/models/constance_settings_request_multipart.py +2187 -0
  89. waldur_api_client/models/customer.py +9 -0
  90. waldur_api_client/models/customer_request.py +9 -0
  91. waldur_api_client/models/customer_request_form.py +312 -0
  92. waldur_api_client/models/customer_request_multipart.py +394 -0
  93. waldur_api_client/models/customers_list_field_item.py +1 -0
  94. waldur_api_client/models/customers_retrieve_field_item.py +1 -0
  95. waldur_api_client/models/event_groups_enum.py +1 -0
  96. waldur_api_client/models/event_types_enum.py +2 -0
  97. waldur_api_client/models/external_link_request_form.py +111 -0
  98. waldur_api_client/models/external_link_request_multipart.py +132 -0
  99. waldur_api_client/models/firecrest_job_request_form.py +104 -0
  100. waldur_api_client/models/firecrest_job_request_multipart.py +127 -0
  101. waldur_api_client/models/generic_order_attributes.py +1 -2
  102. waldur_api_client/models/integration_status.py +21 -4
  103. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +1 -3
  104. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +1 -3
  105. waldur_api_client/models/marketplace_category_request_form.py +153 -0
  106. waldur_api_client/models/marketplace_category_request_multipart.py +187 -0
  107. waldur_api_client/models/marketplace_orders_list_field_item.py +1 -3
  108. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +1 -3
  109. waldur_api_client/models/marketplace_provider_offerings_list_course_accounts_retrieve_field_item.py +1 -0
  110. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +1 -0
  111. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +1 -0
  112. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +1 -0
  113. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +1 -0
  114. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +1 -0
  115. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +1 -0
  116. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -3
  117. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -3
  118. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -3
  119. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -0
  120. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -0
  121. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -3
  122. waldur_api_client/models/marketplace_resources_list_field_item.py +1 -3
  123. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -3
  124. waldur_api_client/models/marketplace_robot_accounts_list_field_item.py +2 -1
  125. waldur_api_client/models/marketplace_robot_accounts_retrieve_field_item.py +2 -1
  126. waldur_api_client/models/marketplace_service_providers_offerings_list_field_item.py +1 -0
  127. waldur_api_client/models/merged_plugin_options.py +9 -0
  128. waldur_api_client/models/merged_plugin_options_request.py +9 -0
  129. waldur_api_client/models/move_resource_request.py +65 -0
  130. waldur_api_client/models/nested_round.py +9 -0
  131. waldur_api_client/models/nested_round_request.py +9 -0
  132. waldur_api_client/models/offering.py +20 -0
  133. waldur_api_client/models/offering_create.py +20 -0
  134. waldur_api_client/models/offering_create_request.py +20 -0
  135. waldur_api_client/models/offering_create_request_form.py +479 -0
  136. waldur_api_client/models/offering_create_request_form_limits.py +57 -0
  137. waldur_api_client/models/offering_create_request_multipart.py +599 -0
  138. waldur_api_client/models/offering_create_request_multipart_limits.py +57 -0
  139. waldur_api_client/models/offering_file_request_form.py +78 -0
  140. waldur_api_client/models/offering_file_request_multipart.py +93 -0
  141. waldur_api_client/models/offering_image_request_form.py +62 -0
  142. waldur_api_client/models/offering_image_request_multipart.py +73 -0
  143. waldur_api_client/models/offering_thumbnail_request_form.py +62 -0
  144. waldur_api_client/models/offering_thumbnail_request_multipart.py +73 -0
  145. waldur_api_client/models/offering_user.py +5 -5
  146. waldur_api_client/models/{offering_user_state_enum.py → offering_user_state.py} +1 -1
  147. waldur_api_client/models/open_stack_backup_restoration.py +3 -5
  148. waldur_api_client/models/open_stack_backup_restoration_create_request.py +141 -0
  149. waldur_api_client/models/open_stack_backup_restoration_request.py +22 -30
  150. waldur_api_client/models/{open_stack_nested_security_group_request.py → open_stack_create_floating_ip_request.py} +17 -6
  151. waldur_api_client/models/open_stack_create_port_request.py +104 -0
  152. waldur_api_client/models/open_stack_instance.py +13 -29
  153. waldur_api_client/models/open_stack_instance_create_order_attributes.py +67 -54
  154. waldur_api_client/models/open_stack_instance_floating_i_ps_update_request.py +5 -5
  155. waldur_api_client/models/open_stack_instance_ports_update_request.py +5 -5
  156. waldur_api_client/models/open_stack_instance_request.py +1 -67
  157. waldur_api_client/models/open_stack_nested_port_request.py +0 -9
  158. waldur_api_client/models/open_stack_security_group_hyperlink_request.py +59 -0
  159. waldur_api_client/models/open_stack_server_group_hyperlink_request.py +59 -0
  160. waldur_api_client/models/open_stack_tenant_create_order_attributes.py +9 -14
  161. waldur_api_client/models/open_stack_volume_create_order_attributes.py +8 -13
  162. waldur_api_client/models/openstack_instances_list_field_item.py +0 -7
  163. waldur_api_client/models/openstack_instances_retrieve_field_item.py +0 -7
  164. waldur_api_client/models/order_attachment_request_form.py +84 -0
  165. waldur_api_client/models/order_attachment_request_multipart.py +98 -0
  166. waldur_api_client/models/order_create.py +8 -0
  167. waldur_api_client/models/order_details.py +16 -34
  168. waldur_api_client/models/paid_request_form.py +81 -0
  169. waldur_api_client/models/paid_request_multipart.py +94 -0
  170. waldur_api_client/models/patched_call_managing_organisation_request_form.py +92 -0
  171. waldur_api_client/models/patched_call_managing_organisation_request_multipart.py +109 -0
  172. waldur_api_client/models/patched_category_group_request_form.py +101 -0
  173. waldur_api_client/models/patched_category_group_request_multipart.py +121 -0
  174. waldur_api_client/models/patched_checklist_category_request_form.py +102 -0
  175. waldur_api_client/models/patched_checklist_category_request_multipart.py +122 -0
  176. waldur_api_client/models/patched_customer_request.py +9 -0
  177. waldur_api_client/models/patched_customer_request_form.py +310 -0
  178. waldur_api_client/models/patched_customer_request_multipart.py +393 -0
  179. waldur_api_client/models/patched_external_link_request_form.py +110 -0
  180. waldur_api_client/models/patched_external_link_request_multipart.py +133 -0
  181. waldur_api_client/models/patched_marketplace_category_request_form.py +151 -0
  182. waldur_api_client/models/patched_marketplace_category_request_multipart.py +186 -0
  183. waldur_api_client/models/patched_open_stack_instance_request.py +1 -67
  184. waldur_api_client/models/patched_payment_request_form.py +119 -0
  185. waldur_api_client/models/patched_payment_request_multipart.py +142 -0
  186. waldur_api_client/models/patched_project_request_form.py +279 -0
  187. waldur_api_client/models/patched_project_request_multipart.py +342 -0
  188. waldur_api_client/models/patched_service_provider_request_form.py +101 -0
  189. waldur_api_client/models/patched_service_provider_request_multipart.py +121 -0
  190. waldur_api_client/models/patched_user_request_form.py +241 -0
  191. waldur_api_client/models/patched_user_request_multipart.py +306 -0
  192. waldur_api_client/models/payment_request_form.py +113 -0
  193. waldur_api_client/models/payment_request_multipart.py +134 -0
  194. waldur_api_client/models/{rancher_nested_security_group.py → project_hyperlink_request.py} +5 -5
  195. waldur_api_client/models/project_request_form.py +280 -0
  196. waldur_api_client/models/project_request_multipart.py +341 -0
  197. waldur_api_client/models/project_user.py +9 -0
  198. waldur_api_client/models/proposal.py +8 -0
  199. waldur_api_client/models/proposal_documentation_request_form.py +84 -0
  200. waldur_api_client/models/proposal_documentation_request_multipart.py +98 -0
  201. waldur_api_client/models/proposal_proposals_count_o_item.py +3 -1
  202. waldur_api_client/models/proposal_proposals_list_o_item.py +3 -1
  203. waldur_api_client/models/proposal_review.py +40 -0
  204. waldur_api_client/models/protected_proposal_list.py +8 -0
  205. waldur_api_client/models/protected_proposal_list_request.py +8 -0
  206. waldur_api_client/models/protected_round.py +8 -0
  207. waldur_api_client/models/provider_offering.py +21 -1
  208. waldur_api_client/models/provider_offering_details.py +20 -0
  209. waldur_api_client/models/public_offering_details.py +20 -0
  210. waldur_api_client/models/rancher_clusters_list_field_item.py +0 -1
  211. waldur_api_client/models/rancher_clusters_retrieve_field_item.py +0 -1
  212. waldur_api_client/models/rancher_service_create.py +508 -0
  213. waldur_api_client/models/rancher_service_create_marketplace_offering_plugin_options_type_0.py +44 -0
  214. waldur_api_client/models/rancher_service_create_request.py +185 -0
  215. waldur_api_client/models/rancher_service_request.py +16 -19
  216. waldur_api_client/models/rancher_workload_create.py +59 -0
  217. waldur_api_client/models/rancher_workload_create_request.py +59 -0
  218. waldur_api_client/models/resource.py +16 -34
  219. waldur_api_client/models/robot_account_details.py +22 -13
  220. waldur_api_client/models/screenshot_request_form.py +87 -0
  221. waldur_api_client/models/screenshot_request_multipart.py +105 -0
  222. waldur_api_client/models/service_provider_request_form.py +112 -0
  223. waldur_api_client/models/service_provider_request_multipart.py +134 -0
  224. waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +4 -9
  225. waldur_api_client/models/user_request_form.py +250 -0
  226. waldur_api_client/models/user_request_multipart.py +316 -0
  227. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +11 -16
  228. waldur_api_client/models/vmware_nested_network.py +0 -25
  229. waldur_api_client/models/vmware_nested_network_request.py +6 -14
  230. {waldur_api_client-7.8.1.dist-info → waldur_api_client-7.8.3.dist-info}/METADATA +1 -1
  231. {waldur_api_client-7.8.1.dist-info → waldur_api_client-7.8.3.dist-info}/RECORD +233 -153
  232. waldur_api_client/models/open_stack_data_volume.py +0 -81
  233. {waldur_api_client-7.8.1.dist-info → waldur_api_client-7.8.3.dist-info}/WHEEL +0 -0
  234. {waldur_api_client-7.8.1.dist-info → waldur_api_client-7.8.3.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,316 @@
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="UserRequestMultipart")
12
+
13
+
14
+ @_attrs_define
15
+ class UserRequestMultipart:
16
+ """
17
+ Attributes:
18
+ username (str): Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
19
+ email (str):
20
+ slug (Union[Unset, str]):
21
+ native_name (Union[Unset, str]):
22
+ job_title (Union[Unset, str]):
23
+ phone_number (Union[Unset, str]):
24
+ organization (Union[Unset, str]):
25
+ description (Union[Unset, str]):
26
+ is_staff (Union[Unset, bool]): Designates whether the user can log into this admin site.
27
+ is_active (Union[Unset, bool]): Designates whether this user should be treated as active. Unselect this instead
28
+ of deleting accounts.
29
+ is_support (Union[Unset, bool]): Designates whether the user is a global support user.
30
+ token_lifetime (Union[None, Unset, int]): Token lifetime in seconds.
31
+ agree_with_policy (Union[Unset, bool]): User must agree with the policy to register.
32
+ notifications_enabled (Union[Unset, bool]): Designates whether the user is allowed to receive email
33
+ notifications.
34
+ preferred_language (Union[Unset, str]):
35
+ first_name (Union[Unset, str]):
36
+ last_name (Union[Unset, str]):
37
+ image (Union[File, None, Unset]):
38
+ """
39
+
40
+ username: str
41
+ email: str
42
+ slug: Union[Unset, str] = UNSET
43
+ native_name: Union[Unset, str] = UNSET
44
+ job_title: Union[Unset, str] = UNSET
45
+ phone_number: Union[Unset, str] = UNSET
46
+ organization: Union[Unset, str] = UNSET
47
+ description: Union[Unset, str] = UNSET
48
+ is_staff: Union[Unset, bool] = UNSET
49
+ is_active: Union[Unset, bool] = UNSET
50
+ is_support: Union[Unset, bool] = UNSET
51
+ token_lifetime: Union[None, Unset, int] = UNSET
52
+ agree_with_policy: Union[Unset, bool] = UNSET
53
+ notifications_enabled: Union[Unset, bool] = UNSET
54
+ preferred_language: Union[Unset, str] = UNSET
55
+ first_name: Union[Unset, str] = UNSET
56
+ last_name: Union[Unset, str] = UNSET
57
+ image: Union[File, None, Unset] = UNSET
58
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
59
+
60
+ def to_dict(self) -> dict[str, Any]:
61
+ username = self.username
62
+
63
+ email = self.email
64
+
65
+ slug = self.slug
66
+
67
+ native_name = self.native_name
68
+
69
+ job_title = self.job_title
70
+
71
+ phone_number = self.phone_number
72
+
73
+ organization = self.organization
74
+
75
+ description = self.description
76
+
77
+ is_staff = self.is_staff
78
+
79
+ is_active = self.is_active
80
+
81
+ is_support = self.is_support
82
+
83
+ token_lifetime: Union[None, Unset, int]
84
+ if isinstance(self.token_lifetime, Unset):
85
+ token_lifetime = UNSET
86
+ else:
87
+ token_lifetime = self.token_lifetime
88
+
89
+ agree_with_policy = self.agree_with_policy
90
+
91
+ notifications_enabled = self.notifications_enabled
92
+
93
+ preferred_language = self.preferred_language
94
+
95
+ first_name = self.first_name
96
+
97
+ last_name = self.last_name
98
+
99
+ image: Union[None, Unset, types.FileTypes]
100
+ if isinstance(self.image, Unset):
101
+ image = UNSET
102
+ elif isinstance(self.image, File):
103
+ image = self.image.to_tuple()
104
+
105
+ else:
106
+ image = self.image
107
+
108
+ field_dict: dict[str, Any] = {}
109
+ field_dict.update(self.additional_properties)
110
+ field_dict.update(
111
+ {
112
+ "username": username,
113
+ "email": email,
114
+ }
115
+ )
116
+ if slug is not UNSET:
117
+ field_dict["slug"] = slug
118
+ if native_name is not UNSET:
119
+ field_dict["native_name"] = native_name
120
+ if job_title is not UNSET:
121
+ field_dict["job_title"] = job_title
122
+ if phone_number is not UNSET:
123
+ field_dict["phone_number"] = phone_number
124
+ if organization is not UNSET:
125
+ field_dict["organization"] = organization
126
+ if description is not UNSET:
127
+ field_dict["description"] = description
128
+ if is_staff is not UNSET:
129
+ field_dict["is_staff"] = is_staff
130
+ if is_active is not UNSET:
131
+ field_dict["is_active"] = is_active
132
+ if is_support is not UNSET:
133
+ field_dict["is_support"] = is_support
134
+ if token_lifetime is not UNSET:
135
+ field_dict["token_lifetime"] = token_lifetime
136
+ if agree_with_policy is not UNSET:
137
+ field_dict["agree_with_policy"] = agree_with_policy
138
+ if notifications_enabled is not UNSET:
139
+ field_dict["notifications_enabled"] = notifications_enabled
140
+ if preferred_language is not UNSET:
141
+ field_dict["preferred_language"] = preferred_language
142
+ if first_name is not UNSET:
143
+ field_dict["first_name"] = first_name
144
+ if last_name is not UNSET:
145
+ field_dict["last_name"] = last_name
146
+ if image is not UNSET:
147
+ field_dict["image"] = image
148
+
149
+ return field_dict
150
+
151
+ def to_multipart(self) -> types.RequestFiles:
152
+ files: types.RequestFiles = []
153
+
154
+ files.append(("username", (None, str(self.username).encode(), "text/plain")))
155
+
156
+ files.append(("email", (None, str(self.email).encode(), "text/plain")))
157
+
158
+ if not isinstance(self.slug, Unset):
159
+ files.append(("slug", (None, str(self.slug).encode(), "text/plain")))
160
+
161
+ if not isinstance(self.native_name, Unset):
162
+ files.append(("native_name", (None, str(self.native_name).encode(), "text/plain")))
163
+
164
+ if not isinstance(self.job_title, Unset):
165
+ files.append(("job_title", (None, str(self.job_title).encode(), "text/plain")))
166
+
167
+ if not isinstance(self.phone_number, Unset):
168
+ files.append(("phone_number", (None, str(self.phone_number).encode(), "text/plain")))
169
+
170
+ if not isinstance(self.organization, Unset):
171
+ files.append(("organization", (None, str(self.organization).encode(), "text/plain")))
172
+
173
+ if not isinstance(self.description, Unset):
174
+ files.append(("description", (None, str(self.description).encode(), "text/plain")))
175
+
176
+ if not isinstance(self.is_staff, Unset):
177
+ files.append(("is_staff", (None, str(self.is_staff).encode(), "text/plain")))
178
+
179
+ if not isinstance(self.is_active, Unset):
180
+ files.append(("is_active", (None, str(self.is_active).encode(), "text/plain")))
181
+
182
+ if not isinstance(self.is_support, Unset):
183
+ files.append(("is_support", (None, str(self.is_support).encode(), "text/plain")))
184
+
185
+ if not isinstance(self.token_lifetime, Unset):
186
+ if isinstance(self.token_lifetime, int):
187
+ files.append(("token_lifetime", (None, str(self.token_lifetime).encode(), "text/plain")))
188
+ else:
189
+ files.append(("token_lifetime", (None, str(self.token_lifetime).encode(), "text/plain")))
190
+
191
+ if not isinstance(self.agree_with_policy, Unset):
192
+ files.append(("agree_with_policy", (None, str(self.agree_with_policy).encode(), "text/plain")))
193
+
194
+ if not isinstance(self.notifications_enabled, Unset):
195
+ files.append(("notifications_enabled", (None, str(self.notifications_enabled).encode(), "text/plain")))
196
+
197
+ if not isinstance(self.preferred_language, Unset):
198
+ files.append(("preferred_language", (None, str(self.preferred_language).encode(), "text/plain")))
199
+
200
+ if not isinstance(self.first_name, Unset):
201
+ files.append(("first_name", (None, str(self.first_name).encode(), "text/plain")))
202
+
203
+ if not isinstance(self.last_name, Unset):
204
+ files.append(("last_name", (None, str(self.last_name).encode(), "text/plain")))
205
+
206
+ if not isinstance(self.image, Unset):
207
+ if isinstance(self.image, File):
208
+ files.append(("image", self.image.to_tuple()))
209
+ else:
210
+ files.append(("image", (None, str(self.image).encode(), "text/plain")))
211
+
212
+ for prop_name, prop in self.additional_properties.items():
213
+ files.append((prop_name, (None, str(prop).encode(), "text/plain")))
214
+
215
+ return files
216
+
217
+ @classmethod
218
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
219
+ d = dict(src_dict)
220
+ username = d.pop("username")
221
+
222
+ email = d.pop("email")
223
+
224
+ slug = d.pop("slug", UNSET)
225
+
226
+ native_name = d.pop("native_name", UNSET)
227
+
228
+ job_title = d.pop("job_title", UNSET)
229
+
230
+ phone_number = d.pop("phone_number", UNSET)
231
+
232
+ organization = d.pop("organization", UNSET)
233
+
234
+ description = d.pop("description", UNSET)
235
+
236
+ is_staff = d.pop("is_staff", UNSET)
237
+
238
+ is_active = d.pop("is_active", UNSET)
239
+
240
+ is_support = d.pop("is_support", UNSET)
241
+
242
+ def _parse_token_lifetime(data: object) -> Union[None, Unset, int]:
243
+ if data is None:
244
+ return data
245
+ if isinstance(data, Unset):
246
+ return data
247
+ return cast(Union[None, Unset, int], data)
248
+
249
+ token_lifetime = _parse_token_lifetime(d.pop("token_lifetime", UNSET))
250
+
251
+ agree_with_policy = d.pop("agree_with_policy", UNSET)
252
+
253
+ notifications_enabled = d.pop("notifications_enabled", UNSET)
254
+
255
+ preferred_language = d.pop("preferred_language", UNSET)
256
+
257
+ first_name = d.pop("first_name", UNSET)
258
+
259
+ last_name = d.pop("last_name", UNSET)
260
+
261
+ def _parse_image(data: object) -> Union[File, None, Unset]:
262
+ if data is None:
263
+ return data
264
+ if isinstance(data, Unset):
265
+ return data
266
+ try:
267
+ if not isinstance(data, bytes):
268
+ raise TypeError()
269
+ image_type_0 = File(payload=BytesIO(data))
270
+
271
+ return image_type_0
272
+ except: # noqa: E722
273
+ pass
274
+ return cast(Union[File, None, Unset], data)
275
+
276
+ image = _parse_image(d.pop("image", UNSET))
277
+
278
+ user_request_multipart = cls(
279
+ username=username,
280
+ email=email,
281
+ slug=slug,
282
+ native_name=native_name,
283
+ job_title=job_title,
284
+ phone_number=phone_number,
285
+ organization=organization,
286
+ description=description,
287
+ is_staff=is_staff,
288
+ is_active=is_active,
289
+ is_support=is_support,
290
+ token_lifetime=token_lifetime,
291
+ agree_with_policy=agree_with_policy,
292
+ notifications_enabled=notifications_enabled,
293
+ preferred_language=preferred_language,
294
+ first_name=first_name,
295
+ last_name=last_name,
296
+ image=image,
297
+ )
298
+
299
+ user_request_multipart.additional_properties = d
300
+ return user_request_multipart
301
+
302
+ @property
303
+ def additional_keys(self) -> list[str]:
304
+ return list(self.additional_properties.keys())
305
+
306
+ def __getitem__(self, key: str) -> Any:
307
+ return self.additional_properties[key]
308
+
309
+ def __setitem__(self, key: str, value: Any) -> None:
310
+ self.additional_properties[key] = value
311
+
312
+ def __delitem__(self, key: str) -> None:
313
+ del self.additional_properties[key]
314
+
315
+ def __contains__(self, key: str) -> bool:
316
+ return key in self.additional_properties
@@ -20,22 +20,17 @@ T = TypeVar("T", bound="VMwareVirtualMachineCreateOrderAttributes")
20
20
 
21
21
  @_attrs_define
22
22
  class VMwareVirtualMachineCreateOrderAttributes:
23
- """This mixin allows to specify list of fields to be rendered by serializer.
24
- It expects that request is available in serializer's context.
25
-
26
- It is disabled for nested serializers (where parent is another serializer)
27
- but remains active for list views (where parent is a ListSerializer).
28
-
29
- Attributes:
30
- name (str):
31
- description (Union[Unset, str]):
32
- guest_os (Union[None, Unset, VMwareVirtualMachineCreateOrderAttributesGuestOsType1,
33
- VMwareVirtualMachineCreateOrderAttributesGuestOsType2Type1,
34
- VMwareVirtualMachineCreateOrderAttributesGuestOsType3Type1]):
35
- cores_per_socket (Union[Unset, int]): Number of cores per socket in a VM
36
- template (Union[None, Unset, str]):
37
- cluster (Union[None, Unset, str]):
38
- datastore (Union[None, Unset, str]):
23
+ """
24
+ Attributes:
25
+ name (str):
26
+ description (Union[Unset, str]):
27
+ guest_os (Union[None, Unset, VMwareVirtualMachineCreateOrderAttributesGuestOsType1,
28
+ VMwareVirtualMachineCreateOrderAttributesGuestOsType2Type1,
29
+ VMwareVirtualMachineCreateOrderAttributesGuestOsType3Type1]):
30
+ cores_per_socket (Union[Unset, int]): Number of cores per socket in a VM
31
+ template (Union[None, Unset, str]):
32
+ cluster (Union[None, Unset, str]):
33
+ datastore (Union[None, Unset, str]):
39
34
  """
40
35
 
41
36
  name: str
@@ -1,6 +1,5 @@
1
1
  from collections.abc import Mapping
2
2
  from typing import Any, TypeVar
3
- from uuid import UUID
4
3
 
5
4
  from attrs import define as _attrs_define
6
5
  from attrs import field as _attrs_field
@@ -12,35 +11,20 @@ T = TypeVar("T", bound="VmwareNestedNetwork")
12
11
  class VmwareNestedNetwork:
13
12
  """
14
13
  Attributes:
15
- uuid (UUID):
16
14
  url (str):
17
- name (str):
18
- type_ (str):
19
15
  """
20
16
 
21
- uuid: UUID
22
17
  url: str
23
- name: str
24
- type_: str
25
18
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
26
19
 
27
20
  def to_dict(self) -> dict[str, Any]:
28
- uuid = str(self.uuid)
29
-
30
21
  url = self.url
31
22
 
32
- name = self.name
33
-
34
- type_ = self.type_
35
-
36
23
  field_dict: dict[str, Any] = {}
37
24
  field_dict.update(self.additional_properties)
38
25
  field_dict.update(
39
26
  {
40
- "uuid": uuid,
41
27
  "url": url,
42
- "name": name,
43
- "type": type_,
44
28
  }
45
29
  )
46
30
 
@@ -49,19 +33,10 @@ class VmwareNestedNetwork:
49
33
  @classmethod
50
34
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
51
35
  d = dict(src_dict)
52
- uuid = UUID(d.pop("uuid"))
53
-
54
36
  url = d.pop("url")
55
37
 
56
- name = d.pop("name")
57
-
58
- type_ = d.pop("type")
59
-
60
38
  vmware_nested_network = cls(
61
- uuid=uuid,
62
39
  url=url,
63
- name=name,
64
- type_=type_,
65
40
  )
66
41
 
67
42
  vmware_nested_network.additional_properties = d
@@ -11,25 +11,20 @@ T = TypeVar("T", bound="VmwareNestedNetworkRequest")
11
11
  class VmwareNestedNetworkRequest:
12
12
  """
13
13
  Attributes:
14
- name (str):
15
- type_ (str):
14
+ url (str):
16
15
  """
17
16
 
18
- name: str
19
- type_: str
17
+ url: str
20
18
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
19
 
22
20
  def to_dict(self) -> dict[str, Any]:
23
- name = self.name
24
-
25
- type_ = self.type_
21
+ url = self.url
26
22
 
27
23
  field_dict: dict[str, Any] = {}
28
24
  field_dict.update(self.additional_properties)
29
25
  field_dict.update(
30
26
  {
31
- "name": name,
32
- "type": type_,
27
+ "url": url,
33
28
  }
34
29
  )
35
30
 
@@ -38,13 +33,10 @@ class VmwareNestedNetworkRequest:
38
33
  @classmethod
39
34
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
40
35
  d = dict(src_dict)
41
- name = d.pop("name")
42
-
43
- type_ = d.pop("type")
36
+ url = d.pop("url")
44
37
 
45
38
  vmware_nested_network_request = cls(
46
- name=name,
47
- type_=type_,
39
+ url=url,
48
40
  )
49
41
 
50
42
  vmware_nested_network_request.additional_properties = d
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: waldur-api-client
3
- Version: 7.8.1
3
+ Version: 7.8.3
4
4
  Summary: A client library for accessing Waldur API
5
5
  License: MIT
6
6
  License-File: LICENSE