waldur-api-client 7.6.7__py3-none-any.whl → 7.6.8__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 (40) hide show
  1. waldur_api_client/api/backend_resource_requests/__init__.py +1 -0
  2. waldur_api_client/api/backend_resource_requests/backend_resource_requests_create.py +150 -0
  3. waldur_api_client/api/backend_resource_requests/backend_resource_requests_list.py +313 -0
  4. waldur_api_client/api/backend_resource_requests/backend_resource_requests_retrieve.py +142 -0
  5. waldur_api_client/api/backend_resource_requests/backend_resource_requests_set_done.py +144 -0
  6. waldur_api_client/api/backend_resource_requests/backend_resource_requests_set_erred.py +166 -0
  7. waldur_api_client/api/backend_resource_requests/backend_resource_requests_start_processing.py +146 -0
  8. waldur_api_client/api/backend_resources/__init__.py +1 -0
  9. waldur_api_client/api/backend_resources/backend_resources_create.py +150 -0
  10. waldur_api_client/api/backend_resources/backend_resources_destroy.py +89 -0
  11. waldur_api_client/api/backend_resources/backend_resources_import_resource.py +162 -0
  12. waldur_api_client/api/backend_resources/backend_resources_list.py +315 -0
  13. waldur_api_client/api/backend_resources/backend_resources_retrieve.py +142 -0
  14. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_customer_projects_list.py +15 -0
  15. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_projects_list.py +15 -0
  16. waldur_api_client/api/projects/projects_list.py +15 -0
  17. waldur_api_client/models/__init__.py +26 -2
  18. waldur_api_client/models/backend_resource.py +162 -0
  19. waldur_api_client/models/backend_resource_import_request.py +67 -0
  20. waldur_api_client/models/backend_resource_req.py +162 -0
  21. waldur_api_client/models/backend_resource_req_request.py +60 -0
  22. waldur_api_client/models/backend_resource_req_state_enum.py +11 -0
  23. waldur_api_client/models/backend_resource_request.py +96 -0
  24. waldur_api_client/models/backend_resource_request_set_erred_request.py +68 -0
  25. waldur_api_client/models/backend_resource_requests_list_o_item.py +9 -0
  26. waldur_api_client/models/backend_resource_requests_list_state_item.py +11 -0
  27. waldur_api_client/models/{order_details_attributes.py → backend_resource_requests_set_done_response_200.py} +6 -6
  28. waldur_api_client/models/backend_resource_requests_set_erred_response_200.py +44 -0
  29. waldur_api_client/models/backend_resource_requests_start_processing_response_200.py +44 -0
  30. waldur_api_client/models/backend_resources_list_o_item.py +9 -0
  31. waldur_api_client/models/event_types_enum.py +4 -0
  32. waldur_api_client/models/merged_plugin_options.py +20 -0
  33. waldur_api_client/models/merged_plugin_options_request.py +20 -0
  34. waldur_api_client/models/order_details.py +4 -14
  35. waldur_api_client/models/user_agreement.py +9 -11
  36. waldur_api_client/models/user_agreement_request.py +9 -11
  37. {waldur_api_client-7.6.7.dist-info → waldur_api_client-7.6.8.dist-info}/METADATA +1 -1
  38. {waldur_api_client-7.6.7.dist-info → waldur_api_client-7.6.8.dist-info}/RECORD +40 -15
  39. {waldur_api_client-7.6.7.dist-info → waldur_api_client-7.6.8.dist-info}/LICENSE +0 -0
  40. {waldur_api_client-7.6.7.dist-info → waldur_api_client-7.6.8.dist-info}/WHEEL +0 -0
@@ -38,6 +38,7 @@ def _get_kwargs(
38
38
  page: Union[Unset, int] = UNSET,
39
39
  page_size: Union[Unset, int] = UNSET,
40
40
  query: Union[Unset, str] = UNSET,
41
+ slug: Union[Unset, str] = UNSET,
41
42
  ) -> dict[str, Any]:
42
43
  params: dict[str, Any] = {}
43
44
 
@@ -104,6 +105,8 @@ def _get_kwargs(
104
105
 
105
106
  params["query"] = query
106
107
 
108
+ params["slug"] = slug
109
+
107
110
  params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
108
111
 
109
112
  _kwargs: dict[str, Any] = {
@@ -163,6 +166,7 @@ def sync_detailed(
163
166
  page: Union[Unset, int] = UNSET,
164
167
  page_size: Union[Unset, int] = UNSET,
165
168
  query: Union[Unset, str] = UNSET,
169
+ slug: Union[Unset, str] = UNSET,
166
170
  ) -> Response[list["MarketplaceProviderCustomerProject"]]:
167
171
  """Return customer projects of service provider.
168
172
 
@@ -186,6 +190,7 @@ def sync_detailed(
186
190
  page (Union[Unset, int]):
187
191
  page_size (Union[Unset, int]):
188
192
  query (Union[Unset, str]):
193
+ slug (Union[Unset, str]):
189
194
 
190
195
  Raises:
191
196
  errors.UnexpectedStatus: If the server returns an undocumented status code.
@@ -215,6 +220,7 @@ def sync_detailed(
215
220
  page=page,
216
221
  page_size=page_size,
217
222
  query=query,
223
+ slug=slug,
218
224
  )
219
225
 
220
226
  response = client.get_httpx_client().request(
@@ -246,6 +252,7 @@ def sync(
246
252
  page: Union[Unset, int] = UNSET,
247
253
  page_size: Union[Unset, int] = UNSET,
248
254
  query: Union[Unset, str] = UNSET,
255
+ slug: Union[Unset, str] = UNSET,
249
256
  ) -> list["MarketplaceProviderCustomerProject"]:
250
257
  """Return customer projects of service provider.
251
258
 
@@ -269,6 +276,7 @@ def sync(
269
276
  page (Union[Unset, int]):
270
277
  page_size (Union[Unset, int]):
271
278
  query (Union[Unset, str]):
279
+ slug (Union[Unset, str]):
272
280
 
273
281
  Raises:
274
282
  errors.UnexpectedStatus: If the server returns an undocumented status code.
@@ -299,6 +307,7 @@ def sync(
299
307
  page=page,
300
308
  page_size=page_size,
301
309
  query=query,
310
+ slug=slug,
302
311
  ).parsed
303
312
 
304
313
 
@@ -324,6 +333,7 @@ async def asyncio_detailed(
324
333
  page: Union[Unset, int] = UNSET,
325
334
  page_size: Union[Unset, int] = UNSET,
326
335
  query: Union[Unset, str] = UNSET,
336
+ slug: Union[Unset, str] = UNSET,
327
337
  ) -> Response[list["MarketplaceProviderCustomerProject"]]:
328
338
  """Return customer projects of service provider.
329
339
 
@@ -347,6 +357,7 @@ async def asyncio_detailed(
347
357
  page (Union[Unset, int]):
348
358
  page_size (Union[Unset, int]):
349
359
  query (Union[Unset, str]):
360
+ slug (Union[Unset, str]):
350
361
 
351
362
  Raises:
352
363
  errors.UnexpectedStatus: If the server returns an undocumented status code.
@@ -376,6 +387,7 @@ async def asyncio_detailed(
376
387
  page=page,
377
388
  page_size=page_size,
378
389
  query=query,
390
+ slug=slug,
379
391
  )
380
392
 
381
393
  response = await client.get_async_httpx_client().request(**kwargs)
@@ -405,6 +417,7 @@ async def asyncio(
405
417
  page: Union[Unset, int] = UNSET,
406
418
  page_size: Union[Unset, int] = UNSET,
407
419
  query: Union[Unset, str] = UNSET,
420
+ slug: Union[Unset, str] = UNSET,
408
421
  ) -> list["MarketplaceProviderCustomerProject"]:
409
422
  """Return customer projects of service provider.
410
423
 
@@ -428,6 +441,7 @@ async def asyncio(
428
441
  page (Union[Unset, int]):
429
442
  page_size (Union[Unset, int]):
430
443
  query (Union[Unset, str]):
444
+ slug (Union[Unset, str]):
431
445
 
432
446
  Raises:
433
447
  errors.UnexpectedStatus: If the server returns an undocumented status code.
@@ -459,5 +473,6 @@ async def asyncio(
459
473
  page=page,
460
474
  page_size=page_size,
461
475
  query=query,
476
+ slug=slug,
462
477
  )
463
478
  ).parsed
@@ -36,6 +36,7 @@ def _get_kwargs(
36
36
  page: Union[Unset, int] = UNSET,
37
37
  page_size: Union[Unset, int] = UNSET,
38
38
  query: Union[Unset, str] = UNSET,
39
+ slug: Union[Unset, str] = UNSET,
39
40
  ) -> dict[str, Any]:
40
41
  params: dict[str, Any] = {}
41
42
 
@@ -102,6 +103,8 @@ def _get_kwargs(
102
103
 
103
104
  params["query"] = query
104
105
 
106
+ params["slug"] = slug
107
+
105
108
  params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
106
109
 
107
110
  _kwargs: dict[str, Any] = {
@@ -159,6 +162,7 @@ def sync_detailed(
159
162
  page: Union[Unset, int] = UNSET,
160
163
  page_size: Union[Unset, int] = UNSET,
161
164
  query: Union[Unset, str] = UNSET,
165
+ slug: Union[Unset, str] = UNSET,
162
166
  ) -> Response[list["Project"]]:
163
167
  """Return projects of service provider.
164
168
 
@@ -182,6 +186,7 @@ def sync_detailed(
182
186
  page (Union[Unset, int]):
183
187
  page_size (Union[Unset, int]):
184
188
  query (Union[Unset, str]):
189
+ slug (Union[Unset, str]):
185
190
 
186
191
  Raises:
187
192
  errors.UnexpectedStatus: If the server returns an undocumented status code.
@@ -211,6 +216,7 @@ def sync_detailed(
211
216
  page=page,
212
217
  page_size=page_size,
213
218
  query=query,
219
+ slug=slug,
214
220
  )
215
221
 
216
222
  response = client.get_httpx_client().request(
@@ -242,6 +248,7 @@ def sync(
242
248
  page: Union[Unset, int] = UNSET,
243
249
  page_size: Union[Unset, int] = UNSET,
244
250
  query: Union[Unset, str] = UNSET,
251
+ slug: Union[Unset, str] = UNSET,
245
252
  ) -> list["Project"]:
246
253
  """Return projects of service provider.
247
254
 
@@ -265,6 +272,7 @@ def sync(
265
272
  page (Union[Unset, int]):
266
273
  page_size (Union[Unset, int]):
267
274
  query (Union[Unset, str]):
275
+ slug (Union[Unset, str]):
268
276
 
269
277
  Raises:
270
278
  errors.UnexpectedStatus: If the server returns an undocumented status code.
@@ -295,6 +303,7 @@ def sync(
295
303
  page=page,
296
304
  page_size=page_size,
297
305
  query=query,
306
+ slug=slug,
298
307
  ).parsed
299
308
 
300
309
 
@@ -320,6 +329,7 @@ async def asyncio_detailed(
320
329
  page: Union[Unset, int] = UNSET,
321
330
  page_size: Union[Unset, int] = UNSET,
322
331
  query: Union[Unset, str] = UNSET,
332
+ slug: Union[Unset, str] = UNSET,
323
333
  ) -> Response[list["Project"]]:
324
334
  """Return projects of service provider.
325
335
 
@@ -343,6 +353,7 @@ async def asyncio_detailed(
343
353
  page (Union[Unset, int]):
344
354
  page_size (Union[Unset, int]):
345
355
  query (Union[Unset, str]):
356
+ slug (Union[Unset, str]):
346
357
 
347
358
  Raises:
348
359
  errors.UnexpectedStatus: If the server returns an undocumented status code.
@@ -372,6 +383,7 @@ async def asyncio_detailed(
372
383
  page=page,
373
384
  page_size=page_size,
374
385
  query=query,
386
+ slug=slug,
375
387
  )
376
388
 
377
389
  response = await client.get_async_httpx_client().request(**kwargs)
@@ -401,6 +413,7 @@ async def asyncio(
401
413
  page: Union[Unset, int] = UNSET,
402
414
  page_size: Union[Unset, int] = UNSET,
403
415
  query: Union[Unset, str] = UNSET,
416
+ slug: Union[Unset, str] = UNSET,
404
417
  ) -> list["Project"]:
405
418
  """Return projects of service provider.
406
419
 
@@ -424,6 +437,7 @@ async def asyncio(
424
437
  page (Union[Unset, int]):
425
438
  page_size (Union[Unset, int]):
426
439
  query (Union[Unset, str]):
440
+ slug (Union[Unset, str]):
427
441
 
428
442
  Raises:
429
443
  errors.UnexpectedStatus: If the server returns an undocumented status code.
@@ -455,5 +469,6 @@ async def asyncio(
455
469
  page=page,
456
470
  page_size=page_size,
457
471
  query=query,
472
+ slug=slug,
458
473
  )
459
474
  ).parsed
@@ -33,6 +33,7 @@ def _get_kwargs(
33
33
  page: Union[Unset, int] = UNSET,
34
34
  page_size: Union[Unset, int] = UNSET,
35
35
  query: Union[Unset, str] = UNSET,
36
+ slug: Union[Unset, str] = UNSET,
36
37
  ) -> dict[str, Any]:
37
38
  params: dict[str, Any] = {}
38
39
 
@@ -99,6 +100,8 @@ def _get_kwargs(
99
100
 
100
101
  params["query"] = query
101
102
 
103
+ params["slug"] = slug
104
+
102
105
  params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
103
106
 
104
107
  _kwargs: dict[str, Any] = {
@@ -155,6 +158,7 @@ def sync_detailed(
155
158
  page: Union[Unset, int] = UNSET,
156
159
  page_size: Union[Unset, int] = UNSET,
157
160
  query: Union[Unset, str] = UNSET,
161
+ slug: Union[Unset, str] = UNSET,
158
162
  ) -> Response[list["Project"]]:
159
163
  """Mixin to optimize HEAD requests for DRF views bypassing serializer processing
160
164
 
@@ -177,6 +181,7 @@ def sync_detailed(
177
181
  page (Union[Unset, int]):
178
182
  page_size (Union[Unset, int]):
179
183
  query (Union[Unset, str]):
184
+ slug (Union[Unset, str]):
180
185
 
181
186
  Raises:
182
187
  errors.UnexpectedStatus: If the server returns an undocumented status code.
@@ -205,6 +210,7 @@ def sync_detailed(
205
210
  page=page,
206
211
  page_size=page_size,
207
212
  query=query,
213
+ slug=slug,
208
214
  )
209
215
 
210
216
  response = client.get_httpx_client().request(
@@ -235,6 +241,7 @@ def sync(
235
241
  page: Union[Unset, int] = UNSET,
236
242
  page_size: Union[Unset, int] = UNSET,
237
243
  query: Union[Unset, str] = UNSET,
244
+ slug: Union[Unset, str] = UNSET,
238
245
  ) -> list["Project"]:
239
246
  """Mixin to optimize HEAD requests for DRF views bypassing serializer processing
240
247
 
@@ -257,6 +264,7 @@ def sync(
257
264
  page (Union[Unset, int]):
258
265
  page_size (Union[Unset, int]):
259
266
  query (Union[Unset, str]):
267
+ slug (Union[Unset, str]):
260
268
 
261
269
  Raises:
262
270
  errors.UnexpectedStatus: If the server returns an undocumented status code.
@@ -286,6 +294,7 @@ def sync(
286
294
  page=page,
287
295
  page_size=page_size,
288
296
  query=query,
297
+ slug=slug,
289
298
  ).parsed
290
299
 
291
300
 
@@ -310,6 +319,7 @@ async def asyncio_detailed(
310
319
  page: Union[Unset, int] = UNSET,
311
320
  page_size: Union[Unset, int] = UNSET,
312
321
  query: Union[Unset, str] = UNSET,
322
+ slug: Union[Unset, str] = UNSET,
313
323
  ) -> Response[list["Project"]]:
314
324
  """Mixin to optimize HEAD requests for DRF views bypassing serializer processing
315
325
 
@@ -332,6 +342,7 @@ async def asyncio_detailed(
332
342
  page (Union[Unset, int]):
333
343
  page_size (Union[Unset, int]):
334
344
  query (Union[Unset, str]):
345
+ slug (Union[Unset, str]):
335
346
 
336
347
  Raises:
337
348
  errors.UnexpectedStatus: If the server returns an undocumented status code.
@@ -360,6 +371,7 @@ async def asyncio_detailed(
360
371
  page=page,
361
372
  page_size=page_size,
362
373
  query=query,
374
+ slug=slug,
363
375
  )
364
376
 
365
377
  response = await client.get_async_httpx_client().request(**kwargs)
@@ -388,6 +400,7 @@ async def asyncio(
388
400
  page: Union[Unset, int] = UNSET,
389
401
  page_size: Union[Unset, int] = UNSET,
390
402
  query: Union[Unset, str] = UNSET,
403
+ slug: Union[Unset, str] = UNSET,
391
404
  ) -> list["Project"]:
392
405
  """Mixin to optimize HEAD requests for DRF views bypassing serializer processing
393
406
 
@@ -410,6 +423,7 @@ async def asyncio(
410
423
  page (Union[Unset, int]):
411
424
  page_size (Union[Unset, int]):
412
425
  query (Union[Unset, str]):
426
+ slug (Union[Unset, str]):
413
427
 
414
428
  Raises:
415
429
  errors.UnexpectedStatus: If the server returns an undocumented status code.
@@ -440,5 +454,6 @@ async def asyncio(
440
454
  page=page,
441
455
  page_size=page_size,
442
456
  query=query,
457
+ slug=slug,
443
458
  )
444
459
  ).parsed
@@ -85,6 +85,19 @@ from .azure_virtualmachines_list_state_item import AzureVirtualmachinesListState
85
85
  from .azure_virtualmachines_retrieve_field_item import AzureVirtualmachinesRetrieveFieldItem
86
86
  from .backend_id_request import BackendIdRequest
87
87
  from .backend_metadata import BackendMetadata
88
+ from .backend_resource import BackendResource
89
+ from .backend_resource_import_request import BackendResourceImportRequest
90
+ from .backend_resource_req import BackendResourceReq
91
+ from .backend_resource_req_request import BackendResourceReqRequest
92
+ from .backend_resource_req_state_enum import BackendResourceReqStateEnum
93
+ from .backend_resource_request import BackendResourceRequest
94
+ from .backend_resource_request_set_erred_request import BackendResourceRequestSetErredRequest
95
+ from .backend_resource_requests_list_o_item import BackendResourceRequestsListOItem
96
+ from .backend_resource_requests_list_state_item import BackendResourceRequestsListStateItem
97
+ from .backend_resource_requests_set_done_response_200 import BackendResourceRequestsSetDoneResponse200
98
+ from .backend_resource_requests_set_erred_response_200 import BackendResourceRequestsSetErredResponse200
99
+ from .backend_resource_requests_start_processing_response_200 import BackendResourceRequestsStartProcessingResponse200
100
+ from .backend_resources_list_o_item import BackendResourcesListOItem
88
101
  from .base_component_usage import BaseComponentUsage
89
102
  from .base_provider_plan import BaseProviderPlan
90
103
  from .base_provider_plan_future_prices import BaseProviderPlanFuturePrices
@@ -753,7 +766,6 @@ from .order_create_limits import OrderCreateLimits
753
766
  from .order_create_request import OrderCreateRequest
754
767
  from .order_create_request_limits import OrderCreateRequestLimits
755
768
  from .order_details import OrderDetails
756
- from .order_details_attributes import OrderDetailsAttributes
757
769
  from .order_details_limits import OrderDetailsLimits
758
770
  from .order_set_state_erred_request import OrderSetStateErredRequest
759
771
  from .order_state import OrderState
@@ -1353,6 +1365,19 @@ __all__ = (
1353
1365
  "AzureVirtualmachinesRetrieveFieldItem",
1354
1366
  "BackendIdRequest",
1355
1367
  "BackendMetadata",
1368
+ "BackendResource",
1369
+ "BackendResourceImportRequest",
1370
+ "BackendResourceReq",
1371
+ "BackendResourceReqRequest",
1372
+ "BackendResourceReqStateEnum",
1373
+ "BackendResourceRequest",
1374
+ "BackendResourceRequestSetErredRequest",
1375
+ "BackendResourceRequestsListOItem",
1376
+ "BackendResourceRequestsListStateItem",
1377
+ "BackendResourceRequestsSetDoneResponse200",
1378
+ "BackendResourceRequestsSetErredResponse200",
1379
+ "BackendResourceRequestsStartProcessingResponse200",
1380
+ "BackendResourcesListOItem",
1356
1381
  "BaseComponentUsage",
1357
1382
  "BaseProviderPlan",
1358
1383
  "BaseProviderPlanFuturePrices",
@@ -1965,7 +1990,6 @@ __all__ = (
1965
1990
  "OrderCreateRequest",
1966
1991
  "OrderCreateRequestLimits",
1967
1992
  "OrderDetails",
1968
- "OrderDetailsAttributes",
1969
1993
  "OrderDetailsLimits",
1970
1994
  "OrderSetStateErredRequest",
1971
1995
  "OrderState",
@@ -0,0 +1,162 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import Any, TypeVar, Union
4
+ from uuid import UUID
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+ from dateutil.parser import isoparse
9
+
10
+ from ..types import UNSET, Unset
11
+
12
+ T = TypeVar("T", bound="BackendResource")
13
+
14
+
15
+ @_attrs_define
16
+ class BackendResource:
17
+ """
18
+ Attributes:
19
+ url (str):
20
+ uuid (UUID):
21
+ name (str):
22
+ created (datetime.datetime):
23
+ modified (datetime.datetime):
24
+ project (UUID):
25
+ project_name (str):
26
+ project_url (str):
27
+ offering (UUID):
28
+ offering_name (str):
29
+ offering_url (str):
30
+ backend_id (Union[Unset, str]):
31
+ backend_metadata (Union[Unset, Any]):
32
+ """
33
+
34
+ url: str
35
+ uuid: UUID
36
+ name: str
37
+ created: datetime.datetime
38
+ modified: datetime.datetime
39
+ project: UUID
40
+ project_name: str
41
+ project_url: str
42
+ offering: UUID
43
+ offering_name: str
44
+ offering_url: str
45
+ backend_id: Union[Unset, str] = UNSET
46
+ backend_metadata: Union[Unset, Any] = UNSET
47
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
48
+
49
+ def to_dict(self) -> dict[str, Any]:
50
+ url = self.url
51
+
52
+ uuid = str(self.uuid)
53
+
54
+ name = self.name
55
+
56
+ created = self.created.isoformat()
57
+
58
+ modified = self.modified.isoformat()
59
+
60
+ project = str(self.project)
61
+
62
+ project_name = self.project_name
63
+
64
+ project_url = self.project_url
65
+
66
+ offering = str(self.offering)
67
+
68
+ offering_name = self.offering_name
69
+
70
+ offering_url = self.offering_url
71
+
72
+ backend_id = self.backend_id
73
+
74
+ backend_metadata = self.backend_metadata
75
+
76
+ field_dict: dict[str, Any] = {}
77
+ field_dict.update(self.additional_properties)
78
+ field_dict.update(
79
+ {
80
+ "url": url,
81
+ "uuid": uuid,
82
+ "name": name,
83
+ "created": created,
84
+ "modified": modified,
85
+ "project": project,
86
+ "project_name": project_name,
87
+ "project_url": project_url,
88
+ "offering": offering,
89
+ "offering_name": offering_name,
90
+ "offering_url": offering_url,
91
+ }
92
+ )
93
+ if backend_id is not UNSET:
94
+ field_dict["backend_id"] = backend_id
95
+ if backend_metadata is not UNSET:
96
+ field_dict["backend_metadata"] = backend_metadata
97
+
98
+ return field_dict
99
+
100
+ @classmethod
101
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
102
+ d = dict(src_dict)
103
+ url = d.pop("url")
104
+
105
+ uuid = UUID(d.pop("uuid"))
106
+
107
+ name = d.pop("name")
108
+
109
+ created = isoparse(d.pop("created"))
110
+
111
+ modified = isoparse(d.pop("modified"))
112
+
113
+ project = UUID(d.pop("project"))
114
+
115
+ project_name = d.pop("project_name")
116
+
117
+ project_url = d.pop("project_url")
118
+
119
+ offering = UUID(d.pop("offering"))
120
+
121
+ offering_name = d.pop("offering_name")
122
+
123
+ offering_url = d.pop("offering_url")
124
+
125
+ backend_id = d.pop("backend_id", UNSET)
126
+
127
+ backend_metadata = d.pop("backend_metadata", UNSET)
128
+
129
+ backend_resource = cls(
130
+ url=url,
131
+ uuid=uuid,
132
+ name=name,
133
+ created=created,
134
+ modified=modified,
135
+ project=project,
136
+ project_name=project_name,
137
+ project_url=project_url,
138
+ offering=offering,
139
+ offering_name=offering_name,
140
+ offering_url=offering_url,
141
+ backend_id=backend_id,
142
+ backend_metadata=backend_metadata,
143
+ )
144
+
145
+ backend_resource.additional_properties = d
146
+ return backend_resource
147
+
148
+ @property
149
+ def additional_keys(self) -> list[str]:
150
+ return list(self.additional_properties.keys())
151
+
152
+ def __getitem__(self, key: str) -> Any:
153
+ return self.additional_properties[key]
154
+
155
+ def __setitem__(self, key: str, value: Any) -> None:
156
+ self.additional_properties[key] = value
157
+
158
+ def __delitem__(self, key: str) -> None:
159
+ del self.additional_properties[key]
160
+
161
+ def __contains__(self, key: str) -> bool:
162
+ return key in self.additional_properties
@@ -0,0 +1,67 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union
3
+ from uuid import UUID
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="BackendResourceImportRequest")
11
+
12
+
13
+ @_attrs_define
14
+ class BackendResourceImportRequest:
15
+ """
16
+ Attributes:
17
+ plan (Union[Unset, UUID]):
18
+ """
19
+
20
+ plan: Union[Unset, UUID] = UNSET
21
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> dict[str, Any]:
24
+ plan: Union[Unset, str] = UNSET
25
+ if not isinstance(self.plan, Unset):
26
+ plan = str(self.plan)
27
+
28
+ field_dict: dict[str, Any] = {}
29
+ field_dict.update(self.additional_properties)
30
+ field_dict.update({})
31
+ if plan is not UNSET:
32
+ field_dict["plan"] = plan
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
38
+ d = dict(src_dict)
39
+ _plan = d.pop("plan", UNSET)
40
+ plan: Union[Unset, UUID]
41
+ if isinstance(_plan, Unset):
42
+ plan = UNSET
43
+ else:
44
+ plan = UUID(_plan)
45
+
46
+ backend_resource_import_request = cls(
47
+ plan=plan,
48
+ )
49
+
50
+ backend_resource_import_request.additional_properties = d
51
+ return backend_resource_import_request
52
+
53
+ @property
54
+ def additional_keys(self) -> list[str]:
55
+ return list(self.additional_properties.keys())
56
+
57
+ def __getitem__(self, key: str) -> Any:
58
+ return self.additional_properties[key]
59
+
60
+ def __setitem__(self, key: str, value: Any) -> None:
61
+ self.additional_properties[key] = value
62
+
63
+ def __delitem__(self, key: str) -> None:
64
+ del self.additional_properties[key]
65
+
66
+ def __contains__(self, key: str) -> bool:
67
+ return key in self.additional_properties