waldur-api-client 7.8.0__py3-none-any.whl → 7.8.1__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 (50) hide show
  1. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_count.py +96 -0
  2. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +96 -0
  3. waldur_api_client/api/marketplace_offering_user_checklist_completions/__init__.py +1 -0
  4. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_count.py +286 -0
  5. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_list.py +289 -0
  6. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_retrieve.py +141 -0
  7. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list_course_accounts_retrieve.py +177 -0
  8. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_refresh_offering_usernames.py +0 -22
  9. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_compliance_checklist.py +105 -0
  10. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_course_accounts_list.py +98 -0
  11. waldur_api_client/api/user_invitations/user_invitations_count.py +15 -0
  12. waldur_api_client/api/user_invitations/user_invitations_list.py +15 -0
  13. waldur_api_client/models/__init__.py +26 -2
  14. waldur_api_client/models/booking_resource.py +18 -0
  15. waldur_api_client/models/booking_resources_list_field_item.py +2 -0
  16. waldur_api_client/models/booking_resources_retrieve_field_item.py +2 -0
  17. waldur_api_client/models/course_account.py +24 -0
  18. waldur_api_client/models/group_invitation.py +8 -0
  19. waldur_api_client/models/invitation.py +8 -0
  20. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +2 -0
  21. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +2 -0
  22. waldur_api_client/models/marketplace_course_accounts_count_o_item.py +23 -0
  23. waldur_api_client/models/marketplace_course_accounts_list_o_item.py +23 -0
  24. waldur_api_client/models/marketplace_offering_user_checklist_completions_count_o_item.py +11 -0
  25. waldur_api_client/models/marketplace_offering_user_checklist_completions_list_o_item.py +11 -0
  26. waldur_api_client/models/marketplace_orders_list_field_item.py +3 -0
  27. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +3 -0
  28. waldur_api_client/models/marketplace_provider_offerings_list_course_accounts_retrieve_field_item.py +72 -0
  29. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +2 -0
  30. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +2 -0
  31. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +2 -0
  32. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +2 -0
  33. waldur_api_client/models/marketplace_resources_list_field_item.py +2 -0
  34. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +2 -0
  35. waldur_api_client/models/marketplace_service_providers_course_accounts_list_o_item.py +23 -0
  36. waldur_api_client/models/merged_plugin_options.py +9 -0
  37. waldur_api_client/models/merged_plugin_options_request.py +9 -0
  38. waldur_api_client/models/notification.py +11 -0
  39. waldur_api_client/models/notification_context_fields.py +47 -0
  40. waldur_api_client/models/offering_compliance_checklist_update_request.py +82 -0
  41. waldur_api_client/models/order_details.py +34 -0
  42. waldur_api_client/models/resource.py +18 -0
  43. waldur_api_client/models/resource_update_limits_request.py +1 -34
  44. waldur_api_client/models/user_checklist_completion.py +265 -0
  45. waldur_api_client/models/visible_invitation_details.py +8 -0
  46. {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.1.dist-info}/METADATA +1 -1
  47. {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.1.dist-info}/RECORD +49 -35
  48. {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.1.dist-info}/WHEEL +1 -1
  49. waldur_api_client/models/provider_offering_details_request.py +0 -407
  50. {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,407 +0,0 @@
1
- from collections.abc import Mapping
2
- from io import BytesIO
3
- from typing import TYPE_CHECKING, 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 ..models.blank_enum import BlankEnum
10
- from ..models.country_enum import CountryEnum
11
- from ..types import UNSET, File, Unset
12
-
13
- if TYPE_CHECKING:
14
- from ..models.base_provider_plan_request import BaseProviderPlanRequest
15
- from ..models.offering_component_request import OfferingComponentRequest
16
-
17
-
18
- T = TypeVar("T", bound="ProviderOfferingDetailsRequest")
19
-
20
-
21
- @_attrs_define
22
- class ProviderOfferingDetailsRequest:
23
- """
24
- Attributes:
25
- name (str):
26
- category (str):
27
- type_ (str):
28
- slug (Union[Unset, str]):
29
- description (Union[Unset, str]):
30
- full_description (Union[Unset, str]):
31
- privacy_policy_link (Union[Unset, str]):
32
- access_url (Union[Unset, str]): Publicly accessible offering access URL
33
- customer (Union[None, Unset, str]):
34
- attributes (Union[Unset, Any]):
35
- components (Union[Unset, list['OfferingComponentRequest']]):
36
- vendor_details (Union[Unset, str]):
37
- getting_started (Union[Unset, str]):
38
- integration_guide (Union[Unset, str]):
39
- thumbnail (Union[File, None, Unset]):
40
- plans (Union[Unset, list['BaseProviderPlanRequest']]):
41
- shared (Union[Unset, bool]): Accessible to all customers.
42
- billable (Union[Unset, bool]): Purchase and usage is invoiced.
43
- datacite_doi (Union[Unset, str]):
44
- latitude (Union[None, Unset, float]):
45
- longitude (Union[None, Unset, float]):
46
- country (Union[BlankEnum, CountryEnum, Unset]):
47
- backend_id (Union[Unset, str]):
48
- image (Union[File, None, Unset]):
49
- backend_metadata (Union[Unset, Any]):
50
- """
51
-
52
- name: str
53
- category: str
54
- type_: str
55
- slug: Union[Unset, str] = UNSET
56
- description: Union[Unset, str] = UNSET
57
- full_description: Union[Unset, str] = UNSET
58
- privacy_policy_link: Union[Unset, str] = UNSET
59
- access_url: Union[Unset, str] = UNSET
60
- customer: Union[None, Unset, str] = UNSET
61
- attributes: Union[Unset, Any] = UNSET
62
- components: Union[Unset, list["OfferingComponentRequest"]] = UNSET
63
- vendor_details: Union[Unset, str] = UNSET
64
- getting_started: Union[Unset, str] = UNSET
65
- integration_guide: Union[Unset, str] = UNSET
66
- thumbnail: Union[File, None, Unset] = UNSET
67
- plans: Union[Unset, list["BaseProviderPlanRequest"]] = UNSET
68
- shared: Union[Unset, bool] = UNSET
69
- billable: Union[Unset, bool] = UNSET
70
- datacite_doi: Union[Unset, str] = UNSET
71
- latitude: Union[None, Unset, float] = UNSET
72
- longitude: Union[None, Unset, float] = UNSET
73
- country: Union[BlankEnum, CountryEnum, Unset] = UNSET
74
- backend_id: Union[Unset, str] = UNSET
75
- image: Union[File, None, Unset] = UNSET
76
- backend_metadata: Union[Unset, Any] = UNSET
77
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
78
-
79
- def to_dict(self) -> dict[str, Any]:
80
- name = self.name
81
-
82
- category = self.category
83
-
84
- type_ = self.type_
85
-
86
- slug = self.slug
87
-
88
- description = self.description
89
-
90
- full_description = self.full_description
91
-
92
- privacy_policy_link = self.privacy_policy_link
93
-
94
- access_url = self.access_url
95
-
96
- customer: Union[None, Unset, str]
97
- if isinstance(self.customer, Unset):
98
- customer = UNSET
99
- else:
100
- customer = self.customer
101
-
102
- attributes = self.attributes
103
-
104
- components: Union[Unset, list[dict[str, Any]]] = UNSET
105
- if not isinstance(self.components, Unset):
106
- components = []
107
- for components_item_data in self.components:
108
- components_item = components_item_data.to_dict()
109
- components.append(components_item)
110
-
111
- vendor_details = self.vendor_details
112
-
113
- getting_started = self.getting_started
114
-
115
- integration_guide = self.integration_guide
116
-
117
- thumbnail: Union[None, Unset, types.FileTypes]
118
- if isinstance(self.thumbnail, Unset):
119
- thumbnail = UNSET
120
- elif isinstance(self.thumbnail, File):
121
- thumbnail = self.thumbnail.to_tuple()
122
-
123
- else:
124
- thumbnail = self.thumbnail
125
-
126
- plans: Union[Unset, list[dict[str, Any]]] = UNSET
127
- if not isinstance(self.plans, Unset):
128
- plans = []
129
- for plans_item_data in self.plans:
130
- plans_item = plans_item_data.to_dict()
131
- plans.append(plans_item)
132
-
133
- shared = self.shared
134
-
135
- billable = self.billable
136
-
137
- datacite_doi = self.datacite_doi
138
-
139
- latitude: Union[None, Unset, float]
140
- if isinstance(self.latitude, Unset):
141
- latitude = UNSET
142
- else:
143
- latitude = self.latitude
144
-
145
- longitude: Union[None, Unset, float]
146
- if isinstance(self.longitude, Unset):
147
- longitude = UNSET
148
- else:
149
- longitude = self.longitude
150
-
151
- country: Union[Unset, str]
152
- if isinstance(self.country, Unset):
153
- country = UNSET
154
- elif isinstance(self.country, CountryEnum):
155
- country = self.country.value
156
- else:
157
- country = self.country.value
158
-
159
- backend_id = self.backend_id
160
-
161
- image: Union[None, Unset, types.FileTypes]
162
- if isinstance(self.image, Unset):
163
- image = UNSET
164
- elif isinstance(self.image, File):
165
- image = self.image.to_tuple()
166
-
167
- else:
168
- image = self.image
169
-
170
- backend_metadata = self.backend_metadata
171
-
172
- field_dict: dict[str, Any] = {}
173
- field_dict.update(self.additional_properties)
174
- field_dict.update(
175
- {
176
- "name": name,
177
- "category": category,
178
- "type": type_,
179
- }
180
- )
181
- if slug is not UNSET:
182
- field_dict["slug"] = slug
183
- if description is not UNSET:
184
- field_dict["description"] = description
185
- if full_description is not UNSET:
186
- field_dict["full_description"] = full_description
187
- if privacy_policy_link is not UNSET:
188
- field_dict["privacy_policy_link"] = privacy_policy_link
189
- if access_url is not UNSET:
190
- field_dict["access_url"] = access_url
191
- if customer is not UNSET:
192
- field_dict["customer"] = customer
193
- if attributes is not UNSET:
194
- field_dict["attributes"] = attributes
195
- if components is not UNSET:
196
- field_dict["components"] = components
197
- if vendor_details is not UNSET:
198
- field_dict["vendor_details"] = vendor_details
199
- if getting_started is not UNSET:
200
- field_dict["getting_started"] = getting_started
201
- if integration_guide is not UNSET:
202
- field_dict["integration_guide"] = integration_guide
203
- if thumbnail is not UNSET:
204
- field_dict["thumbnail"] = thumbnail
205
- if plans is not UNSET:
206
- field_dict["plans"] = plans
207
- if shared is not UNSET:
208
- field_dict["shared"] = shared
209
- if billable is not UNSET:
210
- field_dict["billable"] = billable
211
- if datacite_doi is not UNSET:
212
- field_dict["datacite_doi"] = datacite_doi
213
- if latitude is not UNSET:
214
- field_dict["latitude"] = latitude
215
- if longitude is not UNSET:
216
- field_dict["longitude"] = longitude
217
- if country is not UNSET:
218
- field_dict["country"] = country
219
- if backend_id is not UNSET:
220
- field_dict["backend_id"] = backend_id
221
- if image is not UNSET:
222
- field_dict["image"] = image
223
- if backend_metadata is not UNSET:
224
- field_dict["backend_metadata"] = backend_metadata
225
-
226
- return field_dict
227
-
228
- @classmethod
229
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
230
- from ..models.base_provider_plan_request import BaseProviderPlanRequest
231
- from ..models.offering_component_request import OfferingComponentRequest
232
-
233
- d = dict(src_dict)
234
- name = d.pop("name")
235
-
236
- category = d.pop("category")
237
-
238
- type_ = d.pop("type")
239
-
240
- slug = d.pop("slug", UNSET)
241
-
242
- description = d.pop("description", UNSET)
243
-
244
- full_description = d.pop("full_description", UNSET)
245
-
246
- privacy_policy_link = d.pop("privacy_policy_link", UNSET)
247
-
248
- access_url = d.pop("access_url", UNSET)
249
-
250
- def _parse_customer(data: object) -> Union[None, Unset, str]:
251
- if data is None:
252
- return data
253
- if isinstance(data, Unset):
254
- return data
255
- return cast(Union[None, Unset, str], data)
256
-
257
- customer = _parse_customer(d.pop("customer", UNSET))
258
-
259
- attributes = d.pop("attributes", UNSET)
260
-
261
- components = []
262
- _components = d.pop("components", UNSET)
263
- for components_item_data in _components or []:
264
- components_item = OfferingComponentRequest.from_dict(components_item_data)
265
-
266
- components.append(components_item)
267
-
268
- vendor_details = d.pop("vendor_details", UNSET)
269
-
270
- getting_started = d.pop("getting_started", UNSET)
271
-
272
- integration_guide = d.pop("integration_guide", UNSET)
273
-
274
- def _parse_thumbnail(data: object) -> Union[File, None, Unset]:
275
- if data is None:
276
- return data
277
- if isinstance(data, Unset):
278
- return data
279
- try:
280
- if not isinstance(data, bytes):
281
- raise TypeError()
282
- thumbnail_type_0 = File(payload=BytesIO(data))
283
-
284
- return thumbnail_type_0
285
- except: # noqa: E722
286
- pass
287
- return cast(Union[File, None, Unset], data)
288
-
289
- thumbnail = _parse_thumbnail(d.pop("thumbnail", UNSET))
290
-
291
- plans = []
292
- _plans = d.pop("plans", UNSET)
293
- for plans_item_data in _plans or []:
294
- plans_item = BaseProviderPlanRequest.from_dict(plans_item_data)
295
-
296
- plans.append(plans_item)
297
-
298
- shared = d.pop("shared", UNSET)
299
-
300
- billable = d.pop("billable", UNSET)
301
-
302
- datacite_doi = d.pop("datacite_doi", UNSET)
303
-
304
- def _parse_latitude(data: object) -> Union[None, Unset, float]:
305
- if data is None:
306
- return data
307
- if isinstance(data, Unset):
308
- return data
309
- return cast(Union[None, Unset, float], data)
310
-
311
- latitude = _parse_latitude(d.pop("latitude", UNSET))
312
-
313
- def _parse_longitude(data: object) -> Union[None, Unset, float]:
314
- if data is None:
315
- return data
316
- if isinstance(data, Unset):
317
- return data
318
- return cast(Union[None, Unset, float], data)
319
-
320
- longitude = _parse_longitude(d.pop("longitude", UNSET))
321
-
322
- def _parse_country(data: object) -> Union[BlankEnum, CountryEnum, Unset]:
323
- if isinstance(data, Unset):
324
- return data
325
- try:
326
- if not isinstance(data, str):
327
- raise TypeError()
328
- country_type_0 = CountryEnum(data)
329
-
330
- return country_type_0
331
- except: # noqa: E722
332
- pass
333
- if not isinstance(data, str):
334
- raise TypeError()
335
- country_type_1 = BlankEnum(data)
336
-
337
- return country_type_1
338
-
339
- country = _parse_country(d.pop("country", UNSET))
340
-
341
- backend_id = d.pop("backend_id", UNSET)
342
-
343
- def _parse_image(data: object) -> Union[File, None, Unset]:
344
- if data is None:
345
- return data
346
- if isinstance(data, Unset):
347
- return data
348
- try:
349
- if not isinstance(data, bytes):
350
- raise TypeError()
351
- image_type_0 = File(payload=BytesIO(data))
352
-
353
- return image_type_0
354
- except: # noqa: E722
355
- pass
356
- return cast(Union[File, None, Unset], data)
357
-
358
- image = _parse_image(d.pop("image", UNSET))
359
-
360
- backend_metadata = d.pop("backend_metadata", UNSET)
361
-
362
- provider_offering_details_request = cls(
363
- name=name,
364
- category=category,
365
- type_=type_,
366
- slug=slug,
367
- description=description,
368
- full_description=full_description,
369
- privacy_policy_link=privacy_policy_link,
370
- access_url=access_url,
371
- customer=customer,
372
- attributes=attributes,
373
- components=components,
374
- vendor_details=vendor_details,
375
- getting_started=getting_started,
376
- integration_guide=integration_guide,
377
- thumbnail=thumbnail,
378
- plans=plans,
379
- shared=shared,
380
- billable=billable,
381
- datacite_doi=datacite_doi,
382
- latitude=latitude,
383
- longitude=longitude,
384
- country=country,
385
- backend_id=backend_id,
386
- image=image,
387
- backend_metadata=backend_metadata,
388
- )
389
-
390
- provider_offering_details_request.additional_properties = d
391
- return provider_offering_details_request
392
-
393
- @property
394
- def additional_keys(self) -> list[str]:
395
- return list(self.additional_properties.keys())
396
-
397
- def __getitem__(self, key: str) -> Any:
398
- return self.additional_properties[key]
399
-
400
- def __setitem__(self, key: str, value: Any) -> None:
401
- self.additional_properties[key] = value
402
-
403
- def __delitem__(self, key: str) -> None:
404
- del self.additional_properties[key]
405
-
406
- def __contains__(self, key: str) -> bool:
407
- return key in self.additional_properties