waldur-api-client 7.8.0__py3-none-any.whl → 7.8.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of waldur-api-client might be problematic. Click here for more details.
- waldur_api_client/api/booking_resources/booking_resources_count.py +10 -13
- waldur_api_client/api/booking_resources/booking_resources_list.py +10 -13
- waldur_api_client/api/call_managing_organisations/call_managing_organisations_create.py +44 -7
- waldur_api_client/api/call_managing_organisations/call_managing_organisations_partial_update.py +46 -7
- waldur_api_client/api/call_managing_organisations/call_managing_organisations_update.py +44 -7
- waldur_api_client/api/checklists_admin/checklists_admin_checklist_questions.py +49 -0
- waldur_api_client/api/checklists_admin/checklists_admin_count.py +43 -0
- waldur_api_client/api/checklists_admin/checklists_admin_list.py +43 -0
- waldur_api_client/api/checklists_admin_categories/checklists_admin_categories_create.py +44 -7
- waldur_api_client/api/checklists_admin_categories/checklists_admin_categories_partial_update.py +44 -7
- waldur_api_client/api/checklists_admin_categories/checklists_admin_categories_update.py +44 -7
- waldur_api_client/api/customers/customers_create.py +44 -7
- waldur_api_client/api/customers/customers_partial_update.py +44 -7
- waldur_api_client/api/customers/customers_update.py +44 -7
- waldur_api_client/api/external_links/external_links_create.py +44 -7
- waldur_api_client/api/external_links/external_links_partial_update.py +44 -7
- waldur_api_client/api/external_links/external_links_update.py +44 -7
- waldur_api_client/api/invoices/invoices_paid.py +44 -7
- waldur_api_client/api/marketplace_categories/marketplace_categories_create.py +44 -7
- waldur_api_client/api/marketplace_categories/marketplace_categories_partial_update.py +44 -7
- waldur_api_client/api/marketplace_categories/marketplace_categories_update.py +44 -7
- waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_create.py +44 -7
- waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_partial_update.py +44 -7
- waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_update.py +44 -7
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_count.py +96 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +96 -0
- waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_create.py +44 -7
- waldur_api_client/api/marketplace_offering_user_checklist_completions/__init__.py +1 -0
- waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_count.py +286 -0
- waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_list.py +289 -0
- waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_retrieve.py +141 -0
- waldur_api_client/api/marketplace_orders/marketplace_orders_update_attachment.py +44 -7
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_create.py +44 -7
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list_course_accounts_retrieve.py +177 -0
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_refresh_offering_usernames.py +0 -22
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_compliance_checklist.py +105 -0
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_image.py +44 -7
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_thumbnail.py +30 -5
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +10 -13
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +10 -13
- waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +10 -13
- waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +10 -13
- waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_create.py +44 -7
- waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_update.py +44 -7
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_course_accounts_list.py +98 -0
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_create.py +44 -7
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_partial_update.py +44 -7
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_update.py +44 -7
- waldur_api_client/api/override_settings/override_settings.py +30 -5
- waldur_api_client/api/payments/payments_create.py +44 -7
- waldur_api_client/api/payments/payments_partial_update.py +44 -7
- waldur_api_client/api/payments/payments_update.py +44 -7
- waldur_api_client/api/projects/projects_create.py +44 -7
- waldur_api_client/api/projects/projects_partial_update.py +44 -7
- waldur_api_client/api/projects/projects_update.py +44 -7
- waldur_api_client/api/proposal_proposals/proposal_proposals_attach_document.py +30 -5
- waldur_api_client/api/slurm_jobs/slurm_jobs_create.py +44 -7
- waldur_api_client/api/slurm_jobs/slurm_jobs_update.py +44 -7
- waldur_api_client/api/support_attachments/support_attachments_create.py +44 -7
- waldur_api_client/api/user_group_invitations/user_group_invitations_count.py +15 -0
- waldur_api_client/api/user_group_invitations/user_group_invitations_list.py +15 -0
- waldur_api_client/api/user_invitations/user_invitations_count.py +15 -0
- waldur_api_client/api/user_invitations/user_invitations_list.py +15 -0
- waldur_api_client/api/users/users_create.py +44 -7
- waldur_api_client/api/users/users_partial_update.py +44 -7
- waldur_api_client/api/users/users_update.py +44 -7
- waldur_api_client/models/__init__.py +172 -4
- waldur_api_client/models/agent_type_enum.py +13 -0
- waldur_api_client/models/attachment_request_form.py +70 -0
- waldur_api_client/models/attachment_request_multipart.py +83 -0
- waldur_api_client/models/booking_offerings_list_field_item.py +1 -0
- waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -0
- waldur_api_client/models/booking_resource.py +18 -0
- waldur_api_client/models/booking_resources_list_field_item.py +2 -0
- waldur_api_client/models/booking_resources_retrieve_field_item.py +2 -0
- waldur_api_client/models/call_managing_organisation_request_form.py +103 -0
- waldur_api_client/models/call_managing_organisation_request_multipart.py +122 -0
- waldur_api_client/models/call_round.py +11 -1
- waldur_api_client/models/category_group_request_form.py +103 -0
- waldur_api_client/models/category_group_request_multipart.py +122 -0
- waldur_api_client/models/checklist_category_request_form.py +103 -0
- waldur_api_client/models/checklist_category_request_multipart.py +122 -0
- waldur_api_client/models/checklists_admin_checklist_questions_checklist_type.py +11 -0
- waldur_api_client/models/checklists_admin_checklist_questions_checklist_type_in_item.py +11 -0
- waldur_api_client/models/checklists_admin_count_checklist_type.py +11 -0
- waldur_api_client/models/checklists_admin_count_checklist_type_in_item.py +11 -0
- waldur_api_client/models/checklists_admin_list_checklist_type.py +11 -0
- waldur_api_client/models/checklists_admin_list_checklist_type_in_item.py +11 -0
- waldur_api_client/models/constance_settings.py +9 -0
- waldur_api_client/models/constance_settings_request.py +9 -0
- waldur_api_client/models/constance_settings_request_form.py +1547 -0
- waldur_api_client/models/constance_settings_request_multipart.py +2173 -0
- waldur_api_client/models/course_account.py +24 -0
- waldur_api_client/models/customer.py +9 -0
- waldur_api_client/models/customer_request.py +9 -0
- waldur_api_client/models/customer_request_form.py +312 -0
- waldur_api_client/models/customer_request_multipart.py +394 -0
- waldur_api_client/models/customers_list_field_item.py +1 -0
- waldur_api_client/models/customers_retrieve_field_item.py +1 -0
- waldur_api_client/models/external_link_request_form.py +111 -0
- waldur_api_client/models/external_link_request_multipart.py +132 -0
- waldur_api_client/models/firecrest_job_request_form.py +104 -0
- waldur_api_client/models/firecrest_job_request_multipart.py +127 -0
- waldur_api_client/models/group_invitation.py +8 -0
- waldur_api_client/models/integration_status.py +21 -4
- waldur_api_client/models/invitation.py +8 -0
- waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +2 -0
- waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +2 -0
- waldur_api_client/models/marketplace_category_request_form.py +153 -0
- waldur_api_client/models/marketplace_category_request_multipart.py +187 -0
- waldur_api_client/models/marketplace_course_accounts_count_o_item.py +23 -0
- waldur_api_client/models/marketplace_course_accounts_list_o_item.py +23 -0
- waldur_api_client/models/marketplace_offering_user_checklist_completions_count_o_item.py +11 -0
- waldur_api_client/models/marketplace_offering_user_checklist_completions_list_o_item.py +11 -0
- waldur_api_client/models/marketplace_orders_list_field_item.py +3 -0
- waldur_api_client/models/marketplace_orders_retrieve_field_item.py +3 -0
- waldur_api_client/models/marketplace_provider_offerings_list_course_accounts_retrieve_field_item.py +73 -0
- waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +2 -0
- waldur_api_client/models/marketplace_provider_resources_list_field_item.py +2 -0
- waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +2 -0
- waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -0
- waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +2 -0
- waldur_api_client/models/marketplace_resources_list_field_item.py +2 -0
- waldur_api_client/models/marketplace_resources_retrieve_field_item.py +2 -0
- waldur_api_client/models/marketplace_service_providers_course_accounts_list_o_item.py +23 -0
- waldur_api_client/models/marketplace_service_providers_offerings_list_field_item.py +1 -0
- waldur_api_client/models/merged_plugin_options.py +9 -0
- waldur_api_client/models/merged_plugin_options_request.py +9 -0
- waldur_api_client/models/nested_round.py +9 -0
- waldur_api_client/models/nested_round_request.py +9 -0
- waldur_api_client/models/notification.py +11 -0
- waldur_api_client/models/notification_context_fields.py +47 -0
- waldur_api_client/models/offering.py +20 -0
- waldur_api_client/models/offering_compliance_checklist_update_request.py +82 -0
- waldur_api_client/models/offering_create.py +20 -0
- waldur_api_client/models/offering_create_request.py +20 -0
- waldur_api_client/models/{provider_offering_details_request.py → offering_create_request_form.py} +77 -5
- waldur_api_client/models/offering_create_request_form_limits.py +57 -0
- waldur_api_client/models/offering_create_request_multipart.py +599 -0
- waldur_api_client/models/offering_create_request_multipart_limits.py +57 -0
- waldur_api_client/models/offering_file_request_form.py +78 -0
- waldur_api_client/models/offering_file_request_multipart.py +93 -0
- waldur_api_client/models/offering_image_request_form.py +62 -0
- waldur_api_client/models/offering_image_request_multipart.py +73 -0
- waldur_api_client/models/offering_thumbnail_request_form.py +62 -0
- waldur_api_client/models/offering_thumbnail_request_multipart.py +73 -0
- waldur_api_client/models/offering_user.py +5 -5
- waldur_api_client/models/{offering_user_state_enum.py → offering_user_state.py} +1 -1
- waldur_api_client/models/order_attachment_request_form.py +84 -0
- waldur_api_client/models/order_attachment_request_multipart.py +98 -0
- waldur_api_client/models/order_details.py +34 -0
- waldur_api_client/models/paid_request_form.py +81 -0
- waldur_api_client/models/paid_request_multipart.py +94 -0
- waldur_api_client/models/patched_call_managing_organisation_request_form.py +92 -0
- waldur_api_client/models/patched_call_managing_organisation_request_multipart.py +109 -0
- waldur_api_client/models/patched_category_group_request_form.py +101 -0
- waldur_api_client/models/patched_category_group_request_multipart.py +121 -0
- waldur_api_client/models/patched_checklist_category_request_form.py +102 -0
- waldur_api_client/models/patched_checklist_category_request_multipart.py +122 -0
- waldur_api_client/models/patched_customer_request.py +9 -0
- waldur_api_client/models/patched_customer_request_form.py +310 -0
- waldur_api_client/models/patched_customer_request_multipart.py +393 -0
- waldur_api_client/models/patched_external_link_request_form.py +110 -0
- waldur_api_client/models/patched_external_link_request_multipart.py +133 -0
- waldur_api_client/models/patched_marketplace_category_request_form.py +151 -0
- waldur_api_client/models/patched_marketplace_category_request_multipart.py +186 -0
- waldur_api_client/models/patched_payment_request_form.py +119 -0
- waldur_api_client/models/patched_payment_request_multipart.py +142 -0
- waldur_api_client/models/patched_project_request_form.py +279 -0
- waldur_api_client/models/patched_project_request_multipart.py +342 -0
- waldur_api_client/models/patched_service_provider_request_form.py +101 -0
- waldur_api_client/models/patched_service_provider_request_multipart.py +121 -0
- waldur_api_client/models/patched_user_request_form.py +241 -0
- waldur_api_client/models/patched_user_request_multipart.py +306 -0
- waldur_api_client/models/payment_request_form.py +113 -0
- waldur_api_client/models/payment_request_multipart.py +134 -0
- waldur_api_client/models/project_request_form.py +280 -0
- waldur_api_client/models/project_request_multipart.py +341 -0
- waldur_api_client/models/project_user.py +9 -0
- waldur_api_client/models/proposal.py +8 -0
- waldur_api_client/models/proposal_documentation_request_form.py +84 -0
- waldur_api_client/models/proposal_documentation_request_multipart.py +98 -0
- waldur_api_client/models/proposal_proposals_count_o_item.py +3 -1
- waldur_api_client/models/proposal_proposals_list_o_item.py +3 -1
- waldur_api_client/models/proposal_review.py +40 -0
- waldur_api_client/models/protected_proposal_list.py +8 -0
- waldur_api_client/models/protected_proposal_list_request.py +8 -0
- waldur_api_client/models/protected_round.py +8 -0
- waldur_api_client/models/provider_offering.py +21 -1
- waldur_api_client/models/provider_offering_details.py +20 -0
- waldur_api_client/models/public_offering_details.py +20 -0
- waldur_api_client/models/resource.py +18 -0
- waldur_api_client/models/resource_update_limits_request.py +1 -34
- waldur_api_client/models/screenshot_request_form.py +87 -0
- waldur_api_client/models/screenshot_request_multipart.py +105 -0
- waldur_api_client/models/service_provider_request_form.py +112 -0
- waldur_api_client/models/service_provider_request_multipart.py +134 -0
- waldur_api_client/models/user_checklist_completion.py +265 -0
- waldur_api_client/models/user_request_form.py +250 -0
- waldur_api_client/models/user_request_multipart.py +316 -0
- waldur_api_client/models/visible_invitation_details.py +8 -0
- {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.2.dist-info}/METADATA +1 -1
- {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.2.dist-info}/RECORD +212 -127
- {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.2.dist-info}/WHEEL +1 -1
- {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
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="OrderAttachmentRequestMultipart")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class OrderAttachmentRequestMultipart:
|
|
16
|
+
"""
|
|
17
|
+
Attributes:
|
|
18
|
+
attachment (Union[File, None, Unset]):
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
attachment: Union[File, None, Unset] = UNSET
|
|
22
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
23
|
+
|
|
24
|
+
def to_dict(self) -> dict[str, Any]:
|
|
25
|
+
attachment: Union[None, Unset, types.FileTypes]
|
|
26
|
+
if isinstance(self.attachment, Unset):
|
|
27
|
+
attachment = UNSET
|
|
28
|
+
elif isinstance(self.attachment, File):
|
|
29
|
+
attachment = self.attachment.to_tuple()
|
|
30
|
+
|
|
31
|
+
else:
|
|
32
|
+
attachment = self.attachment
|
|
33
|
+
|
|
34
|
+
field_dict: dict[str, Any] = {}
|
|
35
|
+
field_dict.update(self.additional_properties)
|
|
36
|
+
field_dict.update({})
|
|
37
|
+
if attachment is not UNSET:
|
|
38
|
+
field_dict["attachment"] = attachment
|
|
39
|
+
|
|
40
|
+
return field_dict
|
|
41
|
+
|
|
42
|
+
def to_multipart(self) -> types.RequestFiles:
|
|
43
|
+
files: types.RequestFiles = []
|
|
44
|
+
|
|
45
|
+
if not isinstance(self.attachment, Unset):
|
|
46
|
+
if isinstance(self.attachment, File):
|
|
47
|
+
files.append(("attachment", self.attachment.to_tuple()))
|
|
48
|
+
else:
|
|
49
|
+
files.append(("attachment", (None, str(self.attachment).encode(), "text/plain")))
|
|
50
|
+
|
|
51
|
+
for prop_name, prop in self.additional_properties.items():
|
|
52
|
+
files.append((prop_name, (None, str(prop).encode(), "text/plain")))
|
|
53
|
+
|
|
54
|
+
return files
|
|
55
|
+
|
|
56
|
+
@classmethod
|
|
57
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
58
|
+
d = dict(src_dict)
|
|
59
|
+
|
|
60
|
+
def _parse_attachment(data: object) -> Union[File, None, Unset]:
|
|
61
|
+
if data is None:
|
|
62
|
+
return data
|
|
63
|
+
if isinstance(data, Unset):
|
|
64
|
+
return data
|
|
65
|
+
try:
|
|
66
|
+
if not isinstance(data, bytes):
|
|
67
|
+
raise TypeError()
|
|
68
|
+
attachment_type_0 = File(payload=BytesIO(data))
|
|
69
|
+
|
|
70
|
+
return attachment_type_0
|
|
71
|
+
except: # noqa: E722
|
|
72
|
+
pass
|
|
73
|
+
return cast(Union[File, None, Unset], data)
|
|
74
|
+
|
|
75
|
+
attachment = _parse_attachment(d.pop("attachment", UNSET))
|
|
76
|
+
|
|
77
|
+
order_attachment_request_multipart = cls(
|
|
78
|
+
attachment=attachment,
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
order_attachment_request_multipart.additional_properties = d
|
|
82
|
+
return order_attachment_request_multipart
|
|
83
|
+
|
|
84
|
+
@property
|
|
85
|
+
def additional_keys(self) -> list[str]:
|
|
86
|
+
return list(self.additional_properties.keys())
|
|
87
|
+
|
|
88
|
+
def __getitem__(self, key: str) -> Any:
|
|
89
|
+
return self.additional_properties[key]
|
|
90
|
+
|
|
91
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
92
|
+
self.additional_properties[key] = value
|
|
93
|
+
|
|
94
|
+
def __delitem__(self, key: str) -> None:
|
|
95
|
+
del self.additional_properties[key]
|
|
96
|
+
|
|
97
|
+
def __contains__(self, key: str) -> bool:
|
|
98
|
+
return key in self.additional_properties
|
|
@@ -98,6 +98,9 @@ class OrderDetails:
|
|
|
98
98
|
activation_price (Union[Unset, float]):
|
|
99
99
|
termination_comment (Union[None, Unset, str]):
|
|
100
100
|
backend_id (Union[Unset, str]):
|
|
101
|
+
offering_customer_uuid (Union[Unset, UUID]):
|
|
102
|
+
offering_customer_name (Union[Unset, str]):
|
|
103
|
+
offering_customer_slug (Union[Unset, str]):
|
|
101
104
|
issue (Union['IssueReference', None, Unset]):
|
|
102
105
|
"""
|
|
103
106
|
|
|
@@ -169,6 +172,9 @@ class OrderDetails:
|
|
|
169
172
|
activation_price: Union[Unset, float] = UNSET
|
|
170
173
|
termination_comment: Union[None, Unset, str] = UNSET
|
|
171
174
|
backend_id: Union[Unset, str] = UNSET
|
|
175
|
+
offering_customer_uuid: Union[Unset, UUID] = UNSET
|
|
176
|
+
offering_customer_name: Union[Unset, str] = UNSET
|
|
177
|
+
offering_customer_slug: Union[Unset, str] = UNSET
|
|
172
178
|
issue: Union["IssueReference", None, Unset] = UNSET
|
|
173
179
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
174
180
|
|
|
@@ -459,6 +465,14 @@ class OrderDetails:
|
|
|
459
465
|
|
|
460
466
|
backend_id = self.backend_id
|
|
461
467
|
|
|
468
|
+
offering_customer_uuid: Union[Unset, str] = UNSET
|
|
469
|
+
if not isinstance(self.offering_customer_uuid, Unset):
|
|
470
|
+
offering_customer_uuid = str(self.offering_customer_uuid)
|
|
471
|
+
|
|
472
|
+
offering_customer_name = self.offering_customer_name
|
|
473
|
+
|
|
474
|
+
offering_customer_slug = self.offering_customer_slug
|
|
475
|
+
|
|
462
476
|
issue: Union[None, Unset, dict[str, Any]]
|
|
463
477
|
if isinstance(self.issue, Unset):
|
|
464
478
|
issue = UNSET
|
|
@@ -606,6 +620,12 @@ class OrderDetails:
|
|
|
606
620
|
field_dict["termination_comment"] = termination_comment
|
|
607
621
|
if backend_id is not UNSET:
|
|
608
622
|
field_dict["backend_id"] = backend_id
|
|
623
|
+
if offering_customer_uuid is not UNSET:
|
|
624
|
+
field_dict["offering_customer_uuid"] = offering_customer_uuid
|
|
625
|
+
if offering_customer_name is not UNSET:
|
|
626
|
+
field_dict["offering_customer_name"] = offering_customer_name
|
|
627
|
+
if offering_customer_slug is not UNSET:
|
|
628
|
+
field_dict["offering_customer_slug"] = offering_customer_slug
|
|
609
629
|
if issue is not UNSET:
|
|
610
630
|
field_dict["issue"] = issue
|
|
611
631
|
|
|
@@ -1074,6 +1094,17 @@ class OrderDetails:
|
|
|
1074
1094
|
|
|
1075
1095
|
backend_id = d.pop("backend_id", UNSET)
|
|
1076
1096
|
|
|
1097
|
+
_offering_customer_uuid = d.pop("offering_customer_uuid", UNSET)
|
|
1098
|
+
offering_customer_uuid: Union[Unset, UUID]
|
|
1099
|
+
if isinstance(_offering_customer_uuid, Unset):
|
|
1100
|
+
offering_customer_uuid = UNSET
|
|
1101
|
+
else:
|
|
1102
|
+
offering_customer_uuid = UUID(_offering_customer_uuid)
|
|
1103
|
+
|
|
1104
|
+
offering_customer_name = d.pop("offering_customer_name", UNSET)
|
|
1105
|
+
|
|
1106
|
+
offering_customer_slug = d.pop("offering_customer_slug", UNSET)
|
|
1107
|
+
|
|
1077
1108
|
def _parse_issue(data: object) -> Union["IssueReference", None, Unset]:
|
|
1078
1109
|
if data is None:
|
|
1079
1110
|
return data
|
|
@@ -1160,6 +1191,9 @@ class OrderDetails:
|
|
|
1160
1191
|
activation_price=activation_price,
|
|
1161
1192
|
termination_comment=termination_comment,
|
|
1162
1193
|
backend_id=backend_id,
|
|
1194
|
+
offering_customer_uuid=offering_customer_uuid,
|
|
1195
|
+
offering_customer_name=offering_customer_name,
|
|
1196
|
+
offering_customer_slug=offering_customer_slug,
|
|
1163
1197
|
issue=issue,
|
|
1164
1198
|
)
|
|
1165
1199
|
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
from collections.abc import Mapping
|
|
3
|
+
from io import BytesIO
|
|
4
|
+
from typing import Any, TypeVar, Union
|
|
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 .. import types
|
|
11
|
+
from ..types import UNSET, File, Unset
|
|
12
|
+
|
|
13
|
+
T = TypeVar("T", bound="PaidRequestForm")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@_attrs_define
|
|
17
|
+
class PaidRequestForm:
|
|
18
|
+
"""
|
|
19
|
+
Attributes:
|
|
20
|
+
date (datetime.date):
|
|
21
|
+
proof (Union[Unset, File]):
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
date: datetime.date
|
|
25
|
+
proof: Union[Unset, File] = UNSET
|
|
26
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
27
|
+
|
|
28
|
+
def to_dict(self) -> dict[str, Any]:
|
|
29
|
+
date = self.date.isoformat()
|
|
30
|
+
|
|
31
|
+
proof: Union[Unset, types.FileTypes] = UNSET
|
|
32
|
+
if not isinstance(self.proof, Unset):
|
|
33
|
+
proof = self.proof.to_tuple()
|
|
34
|
+
|
|
35
|
+
field_dict: dict[str, Any] = {}
|
|
36
|
+
field_dict.update(self.additional_properties)
|
|
37
|
+
field_dict.update(
|
|
38
|
+
{
|
|
39
|
+
"date": date,
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
if proof is not UNSET:
|
|
43
|
+
field_dict["proof"] = proof
|
|
44
|
+
|
|
45
|
+
return field_dict
|
|
46
|
+
|
|
47
|
+
@classmethod
|
|
48
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
49
|
+
d = dict(src_dict)
|
|
50
|
+
date = isoparse(d.pop("date")).date()
|
|
51
|
+
|
|
52
|
+
_proof = d.pop("proof", UNSET)
|
|
53
|
+
proof: Union[Unset, File]
|
|
54
|
+
if isinstance(_proof, Unset):
|
|
55
|
+
proof = UNSET
|
|
56
|
+
else:
|
|
57
|
+
proof = File(payload=BytesIO(_proof))
|
|
58
|
+
|
|
59
|
+
paid_request_form = cls(
|
|
60
|
+
date=date,
|
|
61
|
+
proof=proof,
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
paid_request_form.additional_properties = d
|
|
65
|
+
return paid_request_form
|
|
66
|
+
|
|
67
|
+
@property
|
|
68
|
+
def additional_keys(self) -> list[str]:
|
|
69
|
+
return list(self.additional_properties.keys())
|
|
70
|
+
|
|
71
|
+
def __getitem__(self, key: str) -> Any:
|
|
72
|
+
return self.additional_properties[key]
|
|
73
|
+
|
|
74
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
75
|
+
self.additional_properties[key] = value
|
|
76
|
+
|
|
77
|
+
def __delitem__(self, key: str) -> None:
|
|
78
|
+
del self.additional_properties[key]
|
|
79
|
+
|
|
80
|
+
def __contains__(self, key: str) -> bool:
|
|
81
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
from collections.abc import Mapping
|
|
3
|
+
from io import BytesIO
|
|
4
|
+
from typing import Any, TypeVar, Union
|
|
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 .. import types
|
|
11
|
+
from ..types import UNSET, File, Unset
|
|
12
|
+
|
|
13
|
+
T = TypeVar("T", bound="PaidRequestMultipart")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@_attrs_define
|
|
17
|
+
class PaidRequestMultipart:
|
|
18
|
+
"""
|
|
19
|
+
Attributes:
|
|
20
|
+
date (datetime.date):
|
|
21
|
+
proof (Union[Unset, File]):
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
date: datetime.date
|
|
25
|
+
proof: Union[Unset, File] = UNSET
|
|
26
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
27
|
+
|
|
28
|
+
def to_dict(self) -> dict[str, Any]:
|
|
29
|
+
date = self.date.isoformat()
|
|
30
|
+
|
|
31
|
+
proof: Union[Unset, types.FileTypes] = UNSET
|
|
32
|
+
if not isinstance(self.proof, Unset):
|
|
33
|
+
proof = self.proof.to_tuple()
|
|
34
|
+
|
|
35
|
+
field_dict: dict[str, Any] = {}
|
|
36
|
+
field_dict.update(self.additional_properties)
|
|
37
|
+
field_dict.update(
|
|
38
|
+
{
|
|
39
|
+
"date": date,
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
if proof is not UNSET:
|
|
43
|
+
field_dict["proof"] = proof
|
|
44
|
+
|
|
45
|
+
return field_dict
|
|
46
|
+
|
|
47
|
+
def to_multipart(self) -> types.RequestFiles:
|
|
48
|
+
files: types.RequestFiles = []
|
|
49
|
+
|
|
50
|
+
files.append(("date", (None, self.date.isoformat().encode(), "text/plain")))
|
|
51
|
+
|
|
52
|
+
if not isinstance(self.proof, Unset):
|
|
53
|
+
files.append(("proof", self.proof.to_tuple()))
|
|
54
|
+
|
|
55
|
+
for prop_name, prop in self.additional_properties.items():
|
|
56
|
+
files.append((prop_name, (None, str(prop).encode(), "text/plain")))
|
|
57
|
+
|
|
58
|
+
return files
|
|
59
|
+
|
|
60
|
+
@classmethod
|
|
61
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
62
|
+
d = dict(src_dict)
|
|
63
|
+
date = isoparse(d.pop("date")).date()
|
|
64
|
+
|
|
65
|
+
_proof = d.pop("proof", UNSET)
|
|
66
|
+
proof: Union[Unset, File]
|
|
67
|
+
if isinstance(_proof, Unset):
|
|
68
|
+
proof = UNSET
|
|
69
|
+
else:
|
|
70
|
+
proof = File(payload=BytesIO(_proof))
|
|
71
|
+
|
|
72
|
+
paid_request_multipart = cls(
|
|
73
|
+
date=date,
|
|
74
|
+
proof=proof,
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
paid_request_multipart.additional_properties = d
|
|
78
|
+
return paid_request_multipart
|
|
79
|
+
|
|
80
|
+
@property
|
|
81
|
+
def additional_keys(self) -> list[str]:
|
|
82
|
+
return list(self.additional_properties.keys())
|
|
83
|
+
|
|
84
|
+
def __getitem__(self, key: str) -> Any:
|
|
85
|
+
return self.additional_properties[key]
|
|
86
|
+
|
|
87
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
88
|
+
self.additional_properties[key] = value
|
|
89
|
+
|
|
90
|
+
def __delitem__(self, key: str) -> None:
|
|
91
|
+
del self.additional_properties[key]
|
|
92
|
+
|
|
93
|
+
def __contains__(self, key: str) -> bool:
|
|
94
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,92 @@
|
|
|
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="PatchedCallManagingOrganisationRequestForm")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class PatchedCallManagingOrganisationRequestForm:
|
|
16
|
+
"""
|
|
17
|
+
Attributes:
|
|
18
|
+
description (Union[Unset, str]):
|
|
19
|
+
image (Union[File, None, Unset]):
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
description: Union[Unset, str] = UNSET
|
|
23
|
+
image: Union[File, None, Unset] = UNSET
|
|
24
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
25
|
+
|
|
26
|
+
def to_dict(self) -> dict[str, Any]:
|
|
27
|
+
description = self.description
|
|
28
|
+
|
|
29
|
+
image: Union[None, Unset, types.FileTypes]
|
|
30
|
+
if isinstance(self.image, Unset):
|
|
31
|
+
image = UNSET
|
|
32
|
+
elif isinstance(self.image, File):
|
|
33
|
+
image = self.image.to_tuple()
|
|
34
|
+
|
|
35
|
+
else:
|
|
36
|
+
image = self.image
|
|
37
|
+
|
|
38
|
+
field_dict: dict[str, Any] = {}
|
|
39
|
+
field_dict.update(self.additional_properties)
|
|
40
|
+
field_dict.update({})
|
|
41
|
+
if description is not UNSET:
|
|
42
|
+
field_dict["description"] = description
|
|
43
|
+
if image is not UNSET:
|
|
44
|
+
field_dict["image"] = image
|
|
45
|
+
|
|
46
|
+
return field_dict
|
|
47
|
+
|
|
48
|
+
@classmethod
|
|
49
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
50
|
+
d = dict(src_dict)
|
|
51
|
+
description = d.pop("description", UNSET)
|
|
52
|
+
|
|
53
|
+
def _parse_image(data: object) -> Union[File, None, Unset]:
|
|
54
|
+
if data is None:
|
|
55
|
+
return data
|
|
56
|
+
if isinstance(data, Unset):
|
|
57
|
+
return data
|
|
58
|
+
try:
|
|
59
|
+
if not isinstance(data, bytes):
|
|
60
|
+
raise TypeError()
|
|
61
|
+
image_type_0 = File(payload=BytesIO(data))
|
|
62
|
+
|
|
63
|
+
return image_type_0
|
|
64
|
+
except: # noqa: E722
|
|
65
|
+
pass
|
|
66
|
+
return cast(Union[File, None, Unset], data)
|
|
67
|
+
|
|
68
|
+
image = _parse_image(d.pop("image", UNSET))
|
|
69
|
+
|
|
70
|
+
patched_call_managing_organisation_request_form = cls(
|
|
71
|
+
description=description,
|
|
72
|
+
image=image,
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
patched_call_managing_organisation_request_form.additional_properties = d
|
|
76
|
+
return patched_call_managing_organisation_request_form
|
|
77
|
+
|
|
78
|
+
@property
|
|
79
|
+
def additional_keys(self) -> list[str]:
|
|
80
|
+
return list(self.additional_properties.keys())
|
|
81
|
+
|
|
82
|
+
def __getitem__(self, key: str) -> Any:
|
|
83
|
+
return self.additional_properties[key]
|
|
84
|
+
|
|
85
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
86
|
+
self.additional_properties[key] = value
|
|
87
|
+
|
|
88
|
+
def __delitem__(self, key: str) -> None:
|
|
89
|
+
del self.additional_properties[key]
|
|
90
|
+
|
|
91
|
+
def __contains__(self, key: str) -> bool:
|
|
92
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,109 @@
|
|
|
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="PatchedCallManagingOrganisationRequestMultipart")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class PatchedCallManagingOrganisationRequestMultipart:
|
|
16
|
+
"""
|
|
17
|
+
Attributes:
|
|
18
|
+
description (Union[Unset, str]):
|
|
19
|
+
image (Union[File, None, Unset]):
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
description: Union[Unset, str] = UNSET
|
|
23
|
+
image: Union[File, None, Unset] = UNSET
|
|
24
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
25
|
+
|
|
26
|
+
def to_dict(self) -> dict[str, Any]:
|
|
27
|
+
description = self.description
|
|
28
|
+
|
|
29
|
+
image: Union[None, Unset, types.FileTypes]
|
|
30
|
+
if isinstance(self.image, Unset):
|
|
31
|
+
image = UNSET
|
|
32
|
+
elif isinstance(self.image, File):
|
|
33
|
+
image = self.image.to_tuple()
|
|
34
|
+
|
|
35
|
+
else:
|
|
36
|
+
image = self.image
|
|
37
|
+
|
|
38
|
+
field_dict: dict[str, Any] = {}
|
|
39
|
+
field_dict.update(self.additional_properties)
|
|
40
|
+
field_dict.update({})
|
|
41
|
+
if description is not UNSET:
|
|
42
|
+
field_dict["description"] = description
|
|
43
|
+
if image is not UNSET:
|
|
44
|
+
field_dict["image"] = image
|
|
45
|
+
|
|
46
|
+
return field_dict
|
|
47
|
+
|
|
48
|
+
def to_multipart(self) -> types.RequestFiles:
|
|
49
|
+
files: types.RequestFiles = []
|
|
50
|
+
|
|
51
|
+
if not isinstance(self.description, Unset):
|
|
52
|
+
files.append(("description", (None, str(self.description).encode(), "text/plain")))
|
|
53
|
+
|
|
54
|
+
if not isinstance(self.image, Unset):
|
|
55
|
+
if isinstance(self.image, File):
|
|
56
|
+
files.append(("image", self.image.to_tuple()))
|
|
57
|
+
else:
|
|
58
|
+
files.append(("image", (None, str(self.image).encode(), "text/plain")))
|
|
59
|
+
|
|
60
|
+
for prop_name, prop in self.additional_properties.items():
|
|
61
|
+
files.append((prop_name, (None, str(prop).encode(), "text/plain")))
|
|
62
|
+
|
|
63
|
+
return files
|
|
64
|
+
|
|
65
|
+
@classmethod
|
|
66
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
67
|
+
d = dict(src_dict)
|
|
68
|
+
description = d.pop("description", UNSET)
|
|
69
|
+
|
|
70
|
+
def _parse_image(data: object) -> Union[File, None, Unset]:
|
|
71
|
+
if data is None:
|
|
72
|
+
return data
|
|
73
|
+
if isinstance(data, Unset):
|
|
74
|
+
return data
|
|
75
|
+
try:
|
|
76
|
+
if not isinstance(data, bytes):
|
|
77
|
+
raise TypeError()
|
|
78
|
+
image_type_0 = File(payload=BytesIO(data))
|
|
79
|
+
|
|
80
|
+
return image_type_0
|
|
81
|
+
except: # noqa: E722
|
|
82
|
+
pass
|
|
83
|
+
return cast(Union[File, None, Unset], data)
|
|
84
|
+
|
|
85
|
+
image = _parse_image(d.pop("image", UNSET))
|
|
86
|
+
|
|
87
|
+
patched_call_managing_organisation_request_multipart = cls(
|
|
88
|
+
description=description,
|
|
89
|
+
image=image,
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
patched_call_managing_organisation_request_multipart.additional_properties = d
|
|
93
|
+
return patched_call_managing_organisation_request_multipart
|
|
94
|
+
|
|
95
|
+
@property
|
|
96
|
+
def additional_keys(self) -> list[str]:
|
|
97
|
+
return list(self.additional_properties.keys())
|
|
98
|
+
|
|
99
|
+
def __getitem__(self, key: str) -> Any:
|
|
100
|
+
return self.additional_properties[key]
|
|
101
|
+
|
|
102
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
103
|
+
self.additional_properties[key] = value
|
|
104
|
+
|
|
105
|
+
def __delitem__(self, key: str) -> None:
|
|
106
|
+
del self.additional_properties[key]
|
|
107
|
+
|
|
108
|
+
def __contains__(self, key: str) -> bool:
|
|
109
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,101 @@
|
|
|
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="PatchedCategoryGroupRequestForm")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class PatchedCategoryGroupRequestForm:
|
|
16
|
+
"""
|
|
17
|
+
Attributes:
|
|
18
|
+
title (Union[Unset, str]):
|
|
19
|
+
description (Union[Unset, str]):
|
|
20
|
+
icon (Union[File, None, Unset]):
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
title: Union[Unset, str] = UNSET
|
|
24
|
+
description: Union[Unset, str] = UNSET
|
|
25
|
+
icon: Union[File, None, Unset] = UNSET
|
|
26
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
27
|
+
|
|
28
|
+
def to_dict(self) -> dict[str, Any]:
|
|
29
|
+
title = self.title
|
|
30
|
+
|
|
31
|
+
description = self.description
|
|
32
|
+
|
|
33
|
+
icon: Union[None, Unset, types.FileTypes]
|
|
34
|
+
if isinstance(self.icon, Unset):
|
|
35
|
+
icon = UNSET
|
|
36
|
+
elif isinstance(self.icon, File):
|
|
37
|
+
icon = self.icon.to_tuple()
|
|
38
|
+
|
|
39
|
+
else:
|
|
40
|
+
icon = self.icon
|
|
41
|
+
|
|
42
|
+
field_dict: dict[str, Any] = {}
|
|
43
|
+
field_dict.update(self.additional_properties)
|
|
44
|
+
field_dict.update({})
|
|
45
|
+
if title is not UNSET:
|
|
46
|
+
field_dict["title"] = title
|
|
47
|
+
if description is not UNSET:
|
|
48
|
+
field_dict["description"] = description
|
|
49
|
+
if icon is not UNSET:
|
|
50
|
+
field_dict["icon"] = icon
|
|
51
|
+
|
|
52
|
+
return field_dict
|
|
53
|
+
|
|
54
|
+
@classmethod
|
|
55
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
56
|
+
d = dict(src_dict)
|
|
57
|
+
title = d.pop("title", UNSET)
|
|
58
|
+
|
|
59
|
+
description = d.pop("description", UNSET)
|
|
60
|
+
|
|
61
|
+
def _parse_icon(data: object) -> Union[File, None, Unset]:
|
|
62
|
+
if data is None:
|
|
63
|
+
return data
|
|
64
|
+
if isinstance(data, Unset):
|
|
65
|
+
return data
|
|
66
|
+
try:
|
|
67
|
+
if not isinstance(data, bytes):
|
|
68
|
+
raise TypeError()
|
|
69
|
+
icon_type_0 = File(payload=BytesIO(data))
|
|
70
|
+
|
|
71
|
+
return icon_type_0
|
|
72
|
+
except: # noqa: E722
|
|
73
|
+
pass
|
|
74
|
+
return cast(Union[File, None, Unset], data)
|
|
75
|
+
|
|
76
|
+
icon = _parse_icon(d.pop("icon", UNSET))
|
|
77
|
+
|
|
78
|
+
patched_category_group_request_form = cls(
|
|
79
|
+
title=title,
|
|
80
|
+
description=description,
|
|
81
|
+
icon=icon,
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
patched_category_group_request_form.additional_properties = d
|
|
85
|
+
return patched_category_group_request_form
|
|
86
|
+
|
|
87
|
+
@property
|
|
88
|
+
def additional_keys(self) -> list[str]:
|
|
89
|
+
return list(self.additional_properties.keys())
|
|
90
|
+
|
|
91
|
+
def __getitem__(self, key: str) -> Any:
|
|
92
|
+
return self.additional_properties[key]
|
|
93
|
+
|
|
94
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
95
|
+
self.additional_properties[key] = value
|
|
96
|
+
|
|
97
|
+
def __delitem__(self, key: str) -> None:
|
|
98
|
+
del self.additional_properties[key]
|
|
99
|
+
|
|
100
|
+
def __contains__(self, key: str) -> bool:
|
|
101
|
+
return key in self.additional_properties
|