waldur-api-client 7.7.5__py3-none-any.whl → 7.7.6__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 (122) hide show
  1. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_retrieve.py +154 -0
  2. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_review_retrieve.py +154 -0
  3. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_review_status_retrieve.py +154 -0
  4. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_status_retrieve.py +154 -0
  5. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_submit_answers.py +179 -0
  6. waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_list.py +23 -0
  7. waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_retrieve.py +30 -1
  8. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_service_accounts_list.py +276 -0
  9. waldur_api_client/api/marketplace_service_providers/service_provider_compliance_overview.py +189 -0
  10. waldur_api_client/api/marketplace_service_providers/service_provider_offering_users_compliance.py +222 -0
  11. waldur_api_client/api/public_maintenance_announcements/__init__.py +1 -0
  12. waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_count.py +325 -0
  13. waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_list.py +328 -0
  14. waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_retrieve.py +144 -0
  15. waldur_api_client/models/__init__.py +56 -4
  16. waldur_api_client/models/admin_announcement.py +109 -1
  17. waldur_api_client/models/admin_announcement_maintenance_affected_offerings_item.py +103 -0
  18. waldur_api_client/models/admin_announcements_list_field_item.py +8 -0
  19. waldur_api_client/models/admin_announcements_retrieve_field_item.py +8 -0
  20. waldur_api_client/models/azure_sql_server_create_order_attributes.py +80 -0
  21. waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +96 -0
  22. waldur_api_client/models/basic_user.py +30 -21
  23. waldur_api_client/models/booking_offerings_list_field_item.py +1 -0
  24. waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -0
  25. waldur_api_client/models/create_router.py +1 -1
  26. waldur_api_client/models/create_router_request.py +1 -1
  27. waldur_api_client/models/customer.py +0 -30
  28. waldur_api_client/models/customers_list_field_item.py +0 -2
  29. waldur_api_client/models/customers_retrieve_field_item.py +0 -2
  30. waldur_api_client/models/fingerprint.py +19 -17
  31. waldur_api_client/models/instance_flavor_change_request.py +1 -1
  32. waldur_api_client/models/marketplace_managed_rancher_create_order_attributes.py +144 -0
  33. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +1 -0
  34. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +1 -0
  35. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +1 -0
  36. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +1 -0
  37. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +1 -0
  38. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +1 -0
  39. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -0
  40. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -0
  41. waldur_api_client/models/marketplace_rancher_create_order_attributes.py +142 -0
  42. waldur_api_client/models/marketplace_robot_accounts_list_field_item.py +32 -0
  43. waldur_api_client/models/marketplace_robot_accounts_retrieve_field_item.py +32 -0
  44. waldur_api_client/models/offering.py +9 -0
  45. waldur_api_client/models/offering_create.py +8 -0
  46. waldur_api_client/models/open_stack_backend_instance.py +2 -2
  47. waldur_api_client/models/open_stack_backend_volumes.py +3 -3
  48. waldur_api_client/models/open_stack_backup.py +1 -1
  49. waldur_api_client/models/open_stack_backup_restoration.py +8 -5
  50. waldur_api_client/models/open_stack_backup_restoration_request.py +28 -3
  51. waldur_api_client/models/open_stack_fixed_ip.py +2 -2
  52. waldur_api_client/models/open_stack_fixed_ip_request.py +2 -2
  53. waldur_api_client/models/open_stack_floating_ip.py +5 -4
  54. waldur_api_client/models/open_stack_instance.py +17 -15
  55. waldur_api_client/models/open_stack_instance_allowed_address_pairs_update_request.py +3 -2
  56. waldur_api_client/models/open_stack_instance_availability_zone.py +1 -1
  57. waldur_api_client/models/open_stack_instance_create_order_attributes.py +280 -0
  58. waldur_api_client/models/open_stack_instance_request.py +4 -3
  59. waldur_api_client/models/open_stack_instance_security_groups_update_request.py +1 -1
  60. waldur_api_client/models/open_stack_nested_floating_ip.py +3 -3
  61. waldur_api_client/models/open_stack_nested_instance.py +1 -1
  62. waldur_api_client/models/open_stack_nested_port.py +5 -5
  63. waldur_api_client/models/open_stack_nested_port_request.py +1 -1
  64. waldur_api_client/models/open_stack_nested_security_group.py +1 -53
  65. waldur_api_client/models/open_stack_nested_security_group_request.py +59 -0
  66. waldur_api_client/models/open_stack_nested_sub_net.py +4 -4
  67. waldur_api_client/models/open_stack_nested_sub_net_request.py +4 -4
  68. waldur_api_client/models/open_stack_nested_volume.py +3 -3
  69. waldur_api_client/models/open_stack_nested_volume_request.py +3 -3
  70. waldur_api_client/models/open_stack_network.py +3 -3
  71. waldur_api_client/models/open_stack_port.py +10 -9
  72. waldur_api_client/models/open_stack_port_ip_update_request.py +2 -2
  73. waldur_api_client/models/open_stack_port_request.py +3 -3
  74. waldur_api_client/models/open_stack_router.py +2 -2
  75. waldur_api_client/models/open_stack_router_interface_request.py +4 -2
  76. waldur_api_client/models/open_stack_security_group_rule_create.py +6 -5
  77. waldur_api_client/models/open_stack_security_group_rule_create_request.py +6 -5
  78. waldur_api_client/models/open_stack_security_group_rule_update_request.py +6 -5
  79. waldur_api_client/models/open_stack_server_group.py +2 -1
  80. waldur_api_client/models/open_stack_server_group_request.py +2 -1
  81. waldur_api_client/models/open_stack_snapshot.py +2 -2
  82. waldur_api_client/models/open_stack_snapshot_restoration.py +1 -1
  83. waldur_api_client/models/open_stack_sub_net.py +5 -5
  84. waldur_api_client/models/open_stack_sub_net_request.py +2 -2
  85. waldur_api_client/models/open_stack_tenant.py +3 -3
  86. waldur_api_client/models/open_stack_tenant_create_order_attributes.py +109 -0
  87. waldur_api_client/models/open_stack_volume.py +9 -9
  88. waldur_api_client/models/open_stack_volume_create_order_attributes.py +152 -0
  89. waldur_api_client/models/open_stack_volume_request.py +1 -1
  90. waldur_api_client/models/order_create_request.py +165 -4
  91. waldur_api_client/models/patched_open_stack_instance_request.py +4 -3
  92. waldur_api_client/models/patched_open_stack_server_group_request.py +2 -1
  93. waldur_api_client/models/patched_open_stack_sub_net_request.py +2 -2
  94. waldur_api_client/models/patched_open_stack_volume_request.py +1 -1
  95. waldur_api_client/models/permission_request.py +2 -2
  96. waldur_api_client/models/provider_offering_details.py +9 -0
  97. waldur_api_client/models/public_maintenance_announcement.py +217 -0
  98. waldur_api_client/models/public_maintenance_announcement_state_enum.py +10 -0
  99. waldur_api_client/models/public_maintenance_announcements_count_o_item.py +15 -0
  100. waldur_api_client/models/public_maintenance_announcements_count_state_item.py +12 -0
  101. waldur_api_client/models/public_maintenance_announcements_list_o_item.py +15 -0
  102. waldur_api_client/models/public_maintenance_announcements_list_state_item.py +12 -0
  103. waldur_api_client/models/public_offering_details.py +9 -0
  104. waldur_api_client/models/rancher_cluster_security_group_rule.py +5 -4
  105. waldur_api_client/models/rancher_cluster_security_group_rule_request.py +5 -4
  106. waldur_api_client/models/remote_project_update_request.py +2 -2
  107. waldur_api_client/models/robot_account_details.py +226 -144
  108. waldur_api_client/models/service_provider_compliance_overview.py +122 -0
  109. waldur_api_client/models/service_provider_offering_user_compliance.py +179 -0
  110. waldur_api_client/models/service_provider_offering_user_compliance_state_enum.py +17 -0
  111. waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +72 -0
  112. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +225 -0
  113. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_1.py +155 -0
  114. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_2_type_1.py +155 -0
  115. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_3_type_1.py +155 -0
  116. waldur_api_client/models/volume_attach_request.py +1 -1
  117. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/METADATA +1 -1
  118. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/RECORD +120 -85
  119. waldur_api_client/models/nested_security_group_rule.py +0 -222
  120. waldur_api_client/models/nested_security_group_rule_request.py +0 -187
  121. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/LICENSE +0 -0
  122. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/WHEEL +0 -0
@@ -0,0 +1,325 @@
1
+ import datetime
2
+ from http import HTTPStatus
3
+ from typing import Any, Union
4
+ from uuid import UUID
5
+
6
+ import httpx
7
+
8
+ from ... import errors
9
+ from ...client import AuthenticatedClient, Client
10
+ from ...models.public_maintenance_announcements_count_o_item import PublicMaintenanceAnnouncementsCountOItem
11
+ from ...models.public_maintenance_announcements_count_state_item import PublicMaintenanceAnnouncementsCountStateItem
12
+ from ...types import UNSET, Response, Unset
13
+
14
+
15
+ def _get_kwargs(
16
+ *,
17
+ maintenance_type: Union[Unset, int] = UNSET,
18
+ o: Union[Unset, list[PublicMaintenanceAnnouncementsCountOItem]] = UNSET,
19
+ page: Union[Unset, int] = UNSET,
20
+ page_size: Union[Unset, int] = UNSET,
21
+ scheduled_end_after: Union[Unset, datetime.datetime] = UNSET,
22
+ scheduled_end_before: Union[Unset, datetime.datetime] = UNSET,
23
+ scheduled_start_after: Union[Unset, datetime.datetime] = UNSET,
24
+ scheduled_start_before: Union[Unset, datetime.datetime] = UNSET,
25
+ service_provider_uuid: Union[Unset, UUID] = UNSET,
26
+ state: Union[Unset, list[PublicMaintenanceAnnouncementsCountStateItem]] = UNSET,
27
+ ) -> dict[str, Any]:
28
+ params: dict[str, Any] = {}
29
+
30
+ params["maintenance_type"] = maintenance_type
31
+
32
+ json_o: Union[Unset, list[str]] = UNSET
33
+ if not isinstance(o, Unset):
34
+ json_o = []
35
+ for o_item_data in o:
36
+ o_item = o_item_data.value
37
+ json_o.append(o_item)
38
+
39
+ params["o"] = json_o
40
+
41
+ params["page"] = page
42
+
43
+ params["page_size"] = page_size
44
+
45
+ json_scheduled_end_after: Union[Unset, str] = UNSET
46
+ if not isinstance(scheduled_end_after, Unset):
47
+ json_scheduled_end_after = scheduled_end_after.isoformat()
48
+ params["scheduled_end_after"] = json_scheduled_end_after
49
+
50
+ json_scheduled_end_before: Union[Unset, str] = UNSET
51
+ if not isinstance(scheduled_end_before, Unset):
52
+ json_scheduled_end_before = scheduled_end_before.isoformat()
53
+ params["scheduled_end_before"] = json_scheduled_end_before
54
+
55
+ json_scheduled_start_after: Union[Unset, str] = UNSET
56
+ if not isinstance(scheduled_start_after, Unset):
57
+ json_scheduled_start_after = scheduled_start_after.isoformat()
58
+ params["scheduled_start_after"] = json_scheduled_start_after
59
+
60
+ json_scheduled_start_before: Union[Unset, str] = UNSET
61
+ if not isinstance(scheduled_start_before, Unset):
62
+ json_scheduled_start_before = scheduled_start_before.isoformat()
63
+ params["scheduled_start_before"] = json_scheduled_start_before
64
+
65
+ json_service_provider_uuid: Union[Unset, str] = UNSET
66
+ if not isinstance(service_provider_uuid, Unset):
67
+ json_service_provider_uuid = str(service_provider_uuid)
68
+ params["service_provider_uuid"] = json_service_provider_uuid
69
+
70
+ json_state: Union[Unset, list[str]] = UNSET
71
+ if not isinstance(state, Unset):
72
+ json_state = []
73
+ for state_item_data in state:
74
+ state_item = state_item_data.value
75
+ json_state.append(state_item)
76
+
77
+ params["state"] = json_state
78
+
79
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
80
+
81
+ _kwargs: dict[str, Any] = {
82
+ "method": "head",
83
+ "url": "/api/public-maintenance-announcements/",
84
+ "params": params,
85
+ }
86
+
87
+ return _kwargs
88
+
89
+
90
+ def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> int:
91
+ if response.status_code == HTTPStatus.OK:
92
+ try:
93
+ return int(response.headers["x-result-count"])
94
+ except KeyError:
95
+ raise errors.UnexpectedStatus(
96
+ response.status_code, b"Expected 'X-Result-Count' header for HEAD request, but it was not found."
97
+ )
98
+ except ValueError:
99
+ count_val = response.headers.get("x-result-count")
100
+ msg = f"Expected 'X-Result-Count' header to be an integer, but got '{count_val}'."
101
+ raise errors.UnexpectedStatus(response.status_code, msg.encode())
102
+ raise errors.UnexpectedStatus(response.status_code, response.content)
103
+
104
+
105
+ def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[int]:
106
+ return Response(
107
+ status_code=HTTPStatus(response.status_code),
108
+ content=response.content,
109
+ headers=response.headers,
110
+ parsed=_parse_response(client=client, response=response),
111
+ )
112
+
113
+
114
+ def sync_detailed(
115
+ *,
116
+ client: AuthenticatedClient,
117
+ maintenance_type: Union[Unset, int] = UNSET,
118
+ o: Union[Unset, list[PublicMaintenanceAnnouncementsCountOItem]] = UNSET,
119
+ page: Union[Unset, int] = UNSET,
120
+ page_size: Union[Unset, int] = UNSET,
121
+ scheduled_end_after: Union[Unset, datetime.datetime] = UNSET,
122
+ scheduled_end_before: Union[Unset, datetime.datetime] = UNSET,
123
+ scheduled_start_after: Union[Unset, datetime.datetime] = UNSET,
124
+ scheduled_start_before: Union[Unset, datetime.datetime] = UNSET,
125
+ service_provider_uuid: Union[Unset, UUID] = UNSET,
126
+ state: Union[Unset, list[PublicMaintenanceAnnouncementsCountStateItem]] = UNSET,
127
+ ) -> Response[int]:
128
+ """Get number of items in the collection matching the request parameters.
129
+
130
+ Args:
131
+ maintenance_type (Union[Unset, int]):
132
+ o (Union[Unset, list[PublicMaintenanceAnnouncementsCountOItem]]):
133
+ page (Union[Unset, int]):
134
+ page_size (Union[Unset, int]):
135
+ scheduled_end_after (Union[Unset, datetime.datetime]):
136
+ scheduled_end_before (Union[Unset, datetime.datetime]):
137
+ scheduled_start_after (Union[Unset, datetime.datetime]):
138
+ scheduled_start_before (Union[Unset, datetime.datetime]):
139
+ service_provider_uuid (Union[Unset, UUID]):
140
+ state (Union[Unset, list[PublicMaintenanceAnnouncementsCountStateItem]]):
141
+
142
+ Raises:
143
+ errors.UnexpectedStatus: If the server returns an undocumented status code.
144
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
145
+
146
+ Returns:
147
+ Response[int]
148
+ """
149
+
150
+ kwargs = _get_kwargs(
151
+ maintenance_type=maintenance_type,
152
+ o=o,
153
+ page=page,
154
+ page_size=page_size,
155
+ scheduled_end_after=scheduled_end_after,
156
+ scheduled_end_before=scheduled_end_before,
157
+ scheduled_start_after=scheduled_start_after,
158
+ scheduled_start_before=scheduled_start_before,
159
+ service_provider_uuid=service_provider_uuid,
160
+ state=state,
161
+ )
162
+
163
+ response = client.get_httpx_client().request(
164
+ **kwargs,
165
+ )
166
+
167
+ return _build_response(client=client, response=response)
168
+
169
+
170
+ def sync(
171
+ *,
172
+ client: AuthenticatedClient,
173
+ maintenance_type: Union[Unset, int] = UNSET,
174
+ o: Union[Unset, list[PublicMaintenanceAnnouncementsCountOItem]] = UNSET,
175
+ page: Union[Unset, int] = UNSET,
176
+ page_size: Union[Unset, int] = UNSET,
177
+ scheduled_end_after: Union[Unset, datetime.datetime] = UNSET,
178
+ scheduled_end_before: Union[Unset, datetime.datetime] = UNSET,
179
+ scheduled_start_after: Union[Unset, datetime.datetime] = UNSET,
180
+ scheduled_start_before: Union[Unset, datetime.datetime] = UNSET,
181
+ service_provider_uuid: Union[Unset, UUID] = UNSET,
182
+ state: Union[Unset, list[PublicMaintenanceAnnouncementsCountStateItem]] = UNSET,
183
+ ) -> int:
184
+ """Get number of items in the collection matching the request parameters.
185
+
186
+ Args:
187
+ maintenance_type (Union[Unset, int]):
188
+ o (Union[Unset, list[PublicMaintenanceAnnouncementsCountOItem]]):
189
+ page (Union[Unset, int]):
190
+ page_size (Union[Unset, int]):
191
+ scheduled_end_after (Union[Unset, datetime.datetime]):
192
+ scheduled_end_before (Union[Unset, datetime.datetime]):
193
+ scheduled_start_after (Union[Unset, datetime.datetime]):
194
+ scheduled_start_before (Union[Unset, datetime.datetime]):
195
+ service_provider_uuid (Union[Unset, UUID]):
196
+ state (Union[Unset, list[PublicMaintenanceAnnouncementsCountStateItem]]):
197
+
198
+ Raises:
199
+ errors.UnexpectedStatus: If the server returns an undocumented status code.
200
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
201
+
202
+ Returns:
203
+ int
204
+ """
205
+
206
+ return sync_detailed(
207
+ client=client,
208
+ maintenance_type=maintenance_type,
209
+ o=o,
210
+ page=page,
211
+ page_size=page_size,
212
+ scheduled_end_after=scheduled_end_after,
213
+ scheduled_end_before=scheduled_end_before,
214
+ scheduled_start_after=scheduled_start_after,
215
+ scheduled_start_before=scheduled_start_before,
216
+ service_provider_uuid=service_provider_uuid,
217
+ state=state,
218
+ ).parsed
219
+
220
+
221
+ async def asyncio_detailed(
222
+ *,
223
+ client: AuthenticatedClient,
224
+ maintenance_type: Union[Unset, int] = UNSET,
225
+ o: Union[Unset, list[PublicMaintenanceAnnouncementsCountOItem]] = UNSET,
226
+ page: Union[Unset, int] = UNSET,
227
+ page_size: Union[Unset, int] = UNSET,
228
+ scheduled_end_after: Union[Unset, datetime.datetime] = UNSET,
229
+ scheduled_end_before: Union[Unset, datetime.datetime] = UNSET,
230
+ scheduled_start_after: Union[Unset, datetime.datetime] = UNSET,
231
+ scheduled_start_before: Union[Unset, datetime.datetime] = UNSET,
232
+ service_provider_uuid: Union[Unset, UUID] = UNSET,
233
+ state: Union[Unset, list[PublicMaintenanceAnnouncementsCountStateItem]] = UNSET,
234
+ ) -> Response[int]:
235
+ """Get number of items in the collection matching the request parameters.
236
+
237
+ Args:
238
+ maintenance_type (Union[Unset, int]):
239
+ o (Union[Unset, list[PublicMaintenanceAnnouncementsCountOItem]]):
240
+ page (Union[Unset, int]):
241
+ page_size (Union[Unset, int]):
242
+ scheduled_end_after (Union[Unset, datetime.datetime]):
243
+ scheduled_end_before (Union[Unset, datetime.datetime]):
244
+ scheduled_start_after (Union[Unset, datetime.datetime]):
245
+ scheduled_start_before (Union[Unset, datetime.datetime]):
246
+ service_provider_uuid (Union[Unset, UUID]):
247
+ state (Union[Unset, list[PublicMaintenanceAnnouncementsCountStateItem]]):
248
+
249
+ Raises:
250
+ errors.UnexpectedStatus: If the server returns an undocumented status code.
251
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
252
+
253
+ Returns:
254
+ Response[int]
255
+ """
256
+
257
+ kwargs = _get_kwargs(
258
+ maintenance_type=maintenance_type,
259
+ o=o,
260
+ page=page,
261
+ page_size=page_size,
262
+ scheduled_end_after=scheduled_end_after,
263
+ scheduled_end_before=scheduled_end_before,
264
+ scheduled_start_after=scheduled_start_after,
265
+ scheduled_start_before=scheduled_start_before,
266
+ service_provider_uuid=service_provider_uuid,
267
+ state=state,
268
+ )
269
+
270
+ response = await client.get_async_httpx_client().request(**kwargs)
271
+
272
+ return _build_response(client=client, response=response)
273
+
274
+
275
+ async def asyncio(
276
+ *,
277
+ client: AuthenticatedClient,
278
+ maintenance_type: Union[Unset, int] = UNSET,
279
+ o: Union[Unset, list[PublicMaintenanceAnnouncementsCountOItem]] = UNSET,
280
+ page: Union[Unset, int] = UNSET,
281
+ page_size: Union[Unset, int] = UNSET,
282
+ scheduled_end_after: Union[Unset, datetime.datetime] = UNSET,
283
+ scheduled_end_before: Union[Unset, datetime.datetime] = UNSET,
284
+ scheduled_start_after: Union[Unset, datetime.datetime] = UNSET,
285
+ scheduled_start_before: Union[Unset, datetime.datetime] = UNSET,
286
+ service_provider_uuid: Union[Unset, UUID] = UNSET,
287
+ state: Union[Unset, list[PublicMaintenanceAnnouncementsCountStateItem]] = UNSET,
288
+ ) -> int:
289
+ """Get number of items in the collection matching the request parameters.
290
+
291
+ Args:
292
+ maintenance_type (Union[Unset, int]):
293
+ o (Union[Unset, list[PublicMaintenanceAnnouncementsCountOItem]]):
294
+ page (Union[Unset, int]):
295
+ page_size (Union[Unset, int]):
296
+ scheduled_end_after (Union[Unset, datetime.datetime]):
297
+ scheduled_end_before (Union[Unset, datetime.datetime]):
298
+ scheduled_start_after (Union[Unset, datetime.datetime]):
299
+ scheduled_start_before (Union[Unset, datetime.datetime]):
300
+ service_provider_uuid (Union[Unset, UUID]):
301
+ state (Union[Unset, list[PublicMaintenanceAnnouncementsCountStateItem]]):
302
+
303
+ Raises:
304
+ errors.UnexpectedStatus: If the server returns an undocumented status code.
305
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
306
+
307
+ Returns:
308
+ int
309
+ """
310
+
311
+ return (
312
+ await asyncio_detailed(
313
+ client=client,
314
+ maintenance_type=maintenance_type,
315
+ o=o,
316
+ page=page,
317
+ page_size=page_size,
318
+ scheduled_end_after=scheduled_end_after,
319
+ scheduled_end_before=scheduled_end_before,
320
+ scheduled_start_after=scheduled_start_after,
321
+ scheduled_start_before=scheduled_start_before,
322
+ service_provider_uuid=service_provider_uuid,
323
+ state=state,
324
+ )
325
+ ).parsed
@@ -0,0 +1,328 @@
1
+ import datetime
2
+ from http import HTTPStatus
3
+ from typing import Any, Union
4
+ from uuid import UUID
5
+
6
+ import httpx
7
+
8
+ from ... import errors
9
+ from ...client import AuthenticatedClient, Client
10
+ from ...models.public_maintenance_announcement import PublicMaintenanceAnnouncement
11
+ from ...models.public_maintenance_announcements_list_o_item import PublicMaintenanceAnnouncementsListOItem
12
+ from ...models.public_maintenance_announcements_list_state_item import PublicMaintenanceAnnouncementsListStateItem
13
+ from ...types import UNSET, Response, Unset
14
+
15
+
16
+ def _get_kwargs(
17
+ *,
18
+ maintenance_type: Union[Unset, int] = UNSET,
19
+ o: Union[Unset, list[PublicMaintenanceAnnouncementsListOItem]] = UNSET,
20
+ page: Union[Unset, int] = UNSET,
21
+ page_size: Union[Unset, int] = UNSET,
22
+ scheduled_end_after: Union[Unset, datetime.datetime] = UNSET,
23
+ scheduled_end_before: Union[Unset, datetime.datetime] = UNSET,
24
+ scheduled_start_after: Union[Unset, datetime.datetime] = UNSET,
25
+ scheduled_start_before: Union[Unset, datetime.datetime] = UNSET,
26
+ service_provider_uuid: Union[Unset, UUID] = UNSET,
27
+ state: Union[Unset, list[PublicMaintenanceAnnouncementsListStateItem]] = UNSET,
28
+ ) -> dict[str, Any]:
29
+ params: dict[str, Any] = {}
30
+
31
+ params["maintenance_type"] = maintenance_type
32
+
33
+ json_o: Union[Unset, list[str]] = UNSET
34
+ if not isinstance(o, Unset):
35
+ json_o = []
36
+ for o_item_data in o:
37
+ o_item = o_item_data.value
38
+ json_o.append(o_item)
39
+
40
+ params["o"] = json_o
41
+
42
+ params["page"] = page
43
+
44
+ params["page_size"] = page_size
45
+
46
+ json_scheduled_end_after: Union[Unset, str] = UNSET
47
+ if not isinstance(scheduled_end_after, Unset):
48
+ json_scheduled_end_after = scheduled_end_after.isoformat()
49
+ params["scheduled_end_after"] = json_scheduled_end_after
50
+
51
+ json_scheduled_end_before: Union[Unset, str] = UNSET
52
+ if not isinstance(scheduled_end_before, Unset):
53
+ json_scheduled_end_before = scheduled_end_before.isoformat()
54
+ params["scheduled_end_before"] = json_scheduled_end_before
55
+
56
+ json_scheduled_start_after: Union[Unset, str] = UNSET
57
+ if not isinstance(scheduled_start_after, Unset):
58
+ json_scheduled_start_after = scheduled_start_after.isoformat()
59
+ params["scheduled_start_after"] = json_scheduled_start_after
60
+
61
+ json_scheduled_start_before: Union[Unset, str] = UNSET
62
+ if not isinstance(scheduled_start_before, Unset):
63
+ json_scheduled_start_before = scheduled_start_before.isoformat()
64
+ params["scheduled_start_before"] = json_scheduled_start_before
65
+
66
+ json_service_provider_uuid: Union[Unset, str] = UNSET
67
+ if not isinstance(service_provider_uuid, Unset):
68
+ json_service_provider_uuid = str(service_provider_uuid)
69
+ params["service_provider_uuid"] = json_service_provider_uuid
70
+
71
+ json_state: Union[Unset, list[str]] = UNSET
72
+ if not isinstance(state, Unset):
73
+ json_state = []
74
+ for state_item_data in state:
75
+ state_item = state_item_data.value
76
+ json_state.append(state_item)
77
+
78
+ params["state"] = json_state
79
+
80
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
81
+
82
+ _kwargs: dict[str, Any] = {
83
+ "method": "get",
84
+ "url": "/api/public-maintenance-announcements/",
85
+ "params": params,
86
+ }
87
+
88
+ return _kwargs
89
+
90
+
91
+ def _parse_response(
92
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
93
+ ) -> list["PublicMaintenanceAnnouncement"]:
94
+ if response.status_code == 200:
95
+ response_200 = []
96
+ _response_200 = response.json()
97
+ for response_200_item_data in _response_200:
98
+ response_200_item = PublicMaintenanceAnnouncement.from_dict(response_200_item_data)
99
+
100
+ response_200.append(response_200_item)
101
+
102
+ return response_200
103
+ raise errors.UnexpectedStatus(response.status_code, response.content)
104
+
105
+
106
+ def _build_response(
107
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
108
+ ) -> Response[list["PublicMaintenanceAnnouncement"]]:
109
+ return Response(
110
+ status_code=HTTPStatus(response.status_code),
111
+ content=response.content,
112
+ headers=response.headers,
113
+ parsed=_parse_response(client=client, response=response),
114
+ )
115
+
116
+
117
+ def sync_detailed(
118
+ *,
119
+ client: AuthenticatedClient,
120
+ maintenance_type: Union[Unset, int] = UNSET,
121
+ o: Union[Unset, list[PublicMaintenanceAnnouncementsListOItem]] = UNSET,
122
+ page: Union[Unset, int] = UNSET,
123
+ page_size: Union[Unset, int] = UNSET,
124
+ scheduled_end_after: Union[Unset, datetime.datetime] = UNSET,
125
+ scheduled_end_before: Union[Unset, datetime.datetime] = UNSET,
126
+ scheduled_start_after: Union[Unset, datetime.datetime] = UNSET,
127
+ scheduled_start_before: Union[Unset, datetime.datetime] = UNSET,
128
+ service_provider_uuid: Union[Unset, UUID] = UNSET,
129
+ state: Union[Unset, list[PublicMaintenanceAnnouncementsListStateItem]] = UNSET,
130
+ ) -> Response[list["PublicMaintenanceAnnouncement"]]:
131
+ """Mixin to optimize HEAD requests for DRF views bypassing serializer processing
132
+
133
+ Args:
134
+ maintenance_type (Union[Unset, int]):
135
+ o (Union[Unset, list[PublicMaintenanceAnnouncementsListOItem]]):
136
+ page (Union[Unset, int]):
137
+ page_size (Union[Unset, int]):
138
+ scheduled_end_after (Union[Unset, datetime.datetime]):
139
+ scheduled_end_before (Union[Unset, datetime.datetime]):
140
+ scheduled_start_after (Union[Unset, datetime.datetime]):
141
+ scheduled_start_before (Union[Unset, datetime.datetime]):
142
+ service_provider_uuid (Union[Unset, UUID]):
143
+ state (Union[Unset, list[PublicMaintenanceAnnouncementsListStateItem]]):
144
+
145
+ Raises:
146
+ errors.UnexpectedStatus: If the server returns an undocumented status code.
147
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
148
+
149
+ Returns:
150
+ Response[list['PublicMaintenanceAnnouncement']]
151
+ """
152
+
153
+ kwargs = _get_kwargs(
154
+ maintenance_type=maintenance_type,
155
+ o=o,
156
+ page=page,
157
+ page_size=page_size,
158
+ scheduled_end_after=scheduled_end_after,
159
+ scheduled_end_before=scheduled_end_before,
160
+ scheduled_start_after=scheduled_start_after,
161
+ scheduled_start_before=scheduled_start_before,
162
+ service_provider_uuid=service_provider_uuid,
163
+ state=state,
164
+ )
165
+
166
+ response = client.get_httpx_client().request(
167
+ **kwargs,
168
+ )
169
+
170
+ return _build_response(client=client, response=response)
171
+
172
+
173
+ def sync(
174
+ *,
175
+ client: AuthenticatedClient,
176
+ maintenance_type: Union[Unset, int] = UNSET,
177
+ o: Union[Unset, list[PublicMaintenanceAnnouncementsListOItem]] = UNSET,
178
+ page: Union[Unset, int] = UNSET,
179
+ page_size: Union[Unset, int] = UNSET,
180
+ scheduled_end_after: Union[Unset, datetime.datetime] = UNSET,
181
+ scheduled_end_before: Union[Unset, datetime.datetime] = UNSET,
182
+ scheduled_start_after: Union[Unset, datetime.datetime] = UNSET,
183
+ scheduled_start_before: Union[Unset, datetime.datetime] = UNSET,
184
+ service_provider_uuid: Union[Unset, UUID] = UNSET,
185
+ state: Union[Unset, list[PublicMaintenanceAnnouncementsListStateItem]] = UNSET,
186
+ ) -> list["PublicMaintenanceAnnouncement"]:
187
+ """Mixin to optimize HEAD requests for DRF views bypassing serializer processing
188
+
189
+ Args:
190
+ maintenance_type (Union[Unset, int]):
191
+ o (Union[Unset, list[PublicMaintenanceAnnouncementsListOItem]]):
192
+ page (Union[Unset, int]):
193
+ page_size (Union[Unset, int]):
194
+ scheduled_end_after (Union[Unset, datetime.datetime]):
195
+ scheduled_end_before (Union[Unset, datetime.datetime]):
196
+ scheduled_start_after (Union[Unset, datetime.datetime]):
197
+ scheduled_start_before (Union[Unset, datetime.datetime]):
198
+ service_provider_uuid (Union[Unset, UUID]):
199
+ state (Union[Unset, list[PublicMaintenanceAnnouncementsListStateItem]]):
200
+
201
+ Raises:
202
+ errors.UnexpectedStatus: If the server returns an undocumented status code.
203
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
204
+
205
+ Returns:
206
+ list['PublicMaintenanceAnnouncement']
207
+ """
208
+
209
+ return sync_detailed(
210
+ client=client,
211
+ maintenance_type=maintenance_type,
212
+ o=o,
213
+ page=page,
214
+ page_size=page_size,
215
+ scheduled_end_after=scheduled_end_after,
216
+ scheduled_end_before=scheduled_end_before,
217
+ scheduled_start_after=scheduled_start_after,
218
+ scheduled_start_before=scheduled_start_before,
219
+ service_provider_uuid=service_provider_uuid,
220
+ state=state,
221
+ ).parsed
222
+
223
+
224
+ async def asyncio_detailed(
225
+ *,
226
+ client: AuthenticatedClient,
227
+ maintenance_type: Union[Unset, int] = UNSET,
228
+ o: Union[Unset, list[PublicMaintenanceAnnouncementsListOItem]] = UNSET,
229
+ page: Union[Unset, int] = UNSET,
230
+ page_size: Union[Unset, int] = UNSET,
231
+ scheduled_end_after: Union[Unset, datetime.datetime] = UNSET,
232
+ scheduled_end_before: Union[Unset, datetime.datetime] = UNSET,
233
+ scheduled_start_after: Union[Unset, datetime.datetime] = UNSET,
234
+ scheduled_start_before: Union[Unset, datetime.datetime] = UNSET,
235
+ service_provider_uuid: Union[Unset, UUID] = UNSET,
236
+ state: Union[Unset, list[PublicMaintenanceAnnouncementsListStateItem]] = UNSET,
237
+ ) -> Response[list["PublicMaintenanceAnnouncement"]]:
238
+ """Mixin to optimize HEAD requests for DRF views bypassing serializer processing
239
+
240
+ Args:
241
+ maintenance_type (Union[Unset, int]):
242
+ o (Union[Unset, list[PublicMaintenanceAnnouncementsListOItem]]):
243
+ page (Union[Unset, int]):
244
+ page_size (Union[Unset, int]):
245
+ scheduled_end_after (Union[Unset, datetime.datetime]):
246
+ scheduled_end_before (Union[Unset, datetime.datetime]):
247
+ scheduled_start_after (Union[Unset, datetime.datetime]):
248
+ scheduled_start_before (Union[Unset, datetime.datetime]):
249
+ service_provider_uuid (Union[Unset, UUID]):
250
+ state (Union[Unset, list[PublicMaintenanceAnnouncementsListStateItem]]):
251
+
252
+ Raises:
253
+ errors.UnexpectedStatus: If the server returns an undocumented status code.
254
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
255
+
256
+ Returns:
257
+ Response[list['PublicMaintenanceAnnouncement']]
258
+ """
259
+
260
+ kwargs = _get_kwargs(
261
+ maintenance_type=maintenance_type,
262
+ o=o,
263
+ page=page,
264
+ page_size=page_size,
265
+ scheduled_end_after=scheduled_end_after,
266
+ scheduled_end_before=scheduled_end_before,
267
+ scheduled_start_after=scheduled_start_after,
268
+ scheduled_start_before=scheduled_start_before,
269
+ service_provider_uuid=service_provider_uuid,
270
+ state=state,
271
+ )
272
+
273
+ response = await client.get_async_httpx_client().request(**kwargs)
274
+
275
+ return _build_response(client=client, response=response)
276
+
277
+
278
+ async def asyncio(
279
+ *,
280
+ client: AuthenticatedClient,
281
+ maintenance_type: Union[Unset, int] = UNSET,
282
+ o: Union[Unset, list[PublicMaintenanceAnnouncementsListOItem]] = UNSET,
283
+ page: Union[Unset, int] = UNSET,
284
+ page_size: Union[Unset, int] = UNSET,
285
+ scheduled_end_after: Union[Unset, datetime.datetime] = UNSET,
286
+ scheduled_end_before: Union[Unset, datetime.datetime] = UNSET,
287
+ scheduled_start_after: Union[Unset, datetime.datetime] = UNSET,
288
+ scheduled_start_before: Union[Unset, datetime.datetime] = UNSET,
289
+ service_provider_uuid: Union[Unset, UUID] = UNSET,
290
+ state: Union[Unset, list[PublicMaintenanceAnnouncementsListStateItem]] = UNSET,
291
+ ) -> list["PublicMaintenanceAnnouncement"]:
292
+ """Mixin to optimize HEAD requests for DRF views bypassing serializer processing
293
+
294
+ Args:
295
+ maintenance_type (Union[Unset, int]):
296
+ o (Union[Unset, list[PublicMaintenanceAnnouncementsListOItem]]):
297
+ page (Union[Unset, int]):
298
+ page_size (Union[Unset, int]):
299
+ scheduled_end_after (Union[Unset, datetime.datetime]):
300
+ scheduled_end_before (Union[Unset, datetime.datetime]):
301
+ scheduled_start_after (Union[Unset, datetime.datetime]):
302
+ scheduled_start_before (Union[Unset, datetime.datetime]):
303
+ service_provider_uuid (Union[Unset, UUID]):
304
+ state (Union[Unset, list[PublicMaintenanceAnnouncementsListStateItem]]):
305
+
306
+ Raises:
307
+ errors.UnexpectedStatus: If the server returns an undocumented status code.
308
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
309
+
310
+ Returns:
311
+ list['PublicMaintenanceAnnouncement']
312
+ """
313
+
314
+ return (
315
+ await asyncio_detailed(
316
+ client=client,
317
+ maintenance_type=maintenance_type,
318
+ o=o,
319
+ page=page,
320
+ page_size=page_size,
321
+ scheduled_end_after=scheduled_end_after,
322
+ scheduled_end_before=scheduled_end_before,
323
+ scheduled_start_after=scheduled_start_after,
324
+ scheduled_start_before=scheduled_start_before,
325
+ service_provider_uuid=service_provider_uuid,
326
+ state=state,
327
+ )
328
+ ).parsed