waldur-api-client 7.7.7__py3-none-any.whl → 7.7.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.
- waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_count.py +19 -0
- waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_list.py +19 -0
- waldur_api_client/api/customers/customers_users_list.py +141 -53
- waldur_api_client/api/invoices/invoices_items_retrieve.py +20 -0
- waldur_api_client/api/managed_rancher_cluster_resources/__init__.py +1 -0
- waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_add_node.py +162 -0
- waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_count.py +172 -0
- waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_list.py +196 -0
- waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_retrieve.py +171 -0
- waldur_api_client/api/marketplace_course_accounts/__init__.py +1 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_count.py +244 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_create.py +148 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_create_bulk.py +152 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_destroy.py +89 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +245 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_retrieve.py +140 -0
- waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_count.py +25 -0
- waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_list.py +25 -0
- waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_count.py +25 -0
- waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_list.py +25 -0
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_course_accounts_list.py +284 -0
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_service_accounts_list.py +29 -0
- waldur_api_client/api/project_permissions_reviews/__init__.py +1 -0
- waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_close.py +91 -0
- waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_count.py +266 -0
- waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_list.py +269 -0
- waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_retrieve.py +142 -0
- waldur_api_client/api/projects/projects_other_users_list.py +98 -23
- waldur_api_client/api/projects/projects_sync_user_roles.py +10 -9
- waldur_api_client/api/support_issue_statuses/__init__.py +1 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_count.py +172 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_create.py +148 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_destroy.py +89 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_list.py +173 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_partial_update.py +162 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_retrieve.py +140 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_update.py +162 -0
- waldur_api_client/api/user_group_invitations/user_group_invitations_submit_request.py +12 -12
- waldur_api_client/api/user_invitations/user_invitations_count.py +30 -0
- waldur_api_client/api/user_invitations/user_invitations_list.py +30 -0
- waldur_api_client/api/user_permission_requests/user_permission_requests_cancel_request.py +146 -0
- waldur_api_client/models/__init__.py +76 -4
- waldur_api_client/models/cancel_request_response.py +75 -0
- waldur_api_client/models/constance_settings.py +9 -0
- waldur_api_client/models/constance_settings_request.py +9 -0
- waldur_api_client/models/course_account.py +188 -0
- waldur_api_client/models/course_account_create_nested.py +68 -0
- waldur_api_client/models/course_account_create_nested_request.py +68 -0
- waldur_api_client/models/course_account_request.py +89 -0
- waldur_api_client/models/course_accounts_bulk_create.py +82 -0
- waldur_api_client/models/course_accounts_bulk_create_request.py +82 -0
- waldur_api_client/models/customer.py +9 -0
- waldur_api_client/models/customer_permission_review.py +16 -16
- waldur_api_client/models/customer_request.py +9 -0
- waldur_api_client/models/customer_service_account.py +9 -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/customers_users_list_o.py +9 -0
- waldur_api_client/models/customers_users_list_organization_role_item_type_0.py +10 -0
- waldur_api_client/models/customers_users_list_project_role_item_type_0.py +10 -0
- waldur_api_client/models/dependency_logic_operator_enum.py +9 -0
- waldur_api_client/models/event_subscription.py +1 -1
- waldur_api_client/models/event_types_enum.py +4 -0
- waldur_api_client/models/group_invitation.py +9 -0
- waldur_api_client/models/invitation.py +9 -0
- waldur_api_client/models/invoices_items_retrieve_o.py +15 -0
- waldur_api_client/models/issue_status.py +103 -0
- waldur_api_client/models/issue_status_request.py +78 -0
- waldur_api_client/models/issue_status_type_enum.py +9 -0
- waldur_api_client/models/kind_enum.py +10 -0
- waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +82 -0
- waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +82 -0
- waldur_api_client/models/managed_rancher_create_node_request.py +186 -0
- waldur_api_client/models/marketplace_course_accounts_count_state_item.py +10 -0
- waldur_api_client/models/marketplace_course_accounts_list_state_item.py +10 -0
- waldur_api_client/models/marketplace_customer_service_accounts_count_state_item.py +10 -0
- waldur_api_client/models/marketplace_customer_service_accounts_list_state_item.py +10 -0
- waldur_api_client/models/marketplace_project_service_accounts_count_state_item.py +10 -0
- waldur_api_client/models/marketplace_project_service_accounts_list_state_item.py +10 -0
- waldur_api_client/models/marketplace_service_providers_course_accounts_list_state_item.py +10 -0
- waldur_api_client/models/marketplace_service_providers_project_service_accounts_list_state_item.py +10 -0
- waldur_api_client/models/marketplace_service_providers_projects_list_field_item.py +1 -0
- waldur_api_client/models/nested_security_group_rule.py +223 -0
- waldur_api_client/models/{open_stack_nested_security_group_rules_item.py → nested_security_group_rule_request.py} +67 -76
- waldur_api_client/models/open_stack_backup_restoration_request.py +0 -22
- waldur_api_client/models/open_stack_fixed_ip.py +13 -3
- waldur_api_client/models/open_stack_fixed_ip_request.py +7 -2
- waldur_api_client/models/open_stack_instance_create_order_attributes.py +20 -20
- waldur_api_client/models/open_stack_nested_security_group.py +16 -16
- waldur_api_client/models/open_stack_port_ip_update_request.py +6 -2
- waldur_api_client/models/open_stack_static_route.py +13 -4
- waldur_api_client/models/open_stack_static_route_request.py +7 -3
- waldur_api_client/models/open_stack_sub_net.py +15 -2
- waldur_api_client/models/open_stack_sub_net_allocation_pool.py +27 -8
- waldur_api_client/models/open_stack_sub_net_allocation_pool_request.py +14 -5
- waldur_api_client/models/open_stack_sub_net_request.py +15 -2
- waldur_api_client/models/patched_customer_request.py +9 -0
- waldur_api_client/models/patched_issue_status_request.py +76 -0
- waldur_api_client/models/patched_open_stack_sub_net_request.py +15 -2
- waldur_api_client/models/patched_project_request.py +17 -0
- waldur_api_client/models/patched_question_admin_request.py +17 -0
- waldur_api_client/models/patched_rancher_service_request.py +1 -1
- waldur_api_client/models/permission_request.py +16 -0
- waldur_api_client/models/project.py +17 -0
- waldur_api_client/models/project_permission_review.py +166 -0
- waldur_api_client/models/project_permissions_reviews_count_o_item.py +11 -0
- waldur_api_client/models/project_permissions_reviews_list_o_item.py +11 -0
- waldur_api_client/models/project_request.py +17 -0
- waldur_api_client/models/project_service_account.py +9 -0
- waldur_api_client/models/projects_list_field_item.py +1 -0
- waldur_api_client/models/projects_other_users_list_o.py +9 -0
- waldur_api_client/models/projects_retrieve_field_item.py +1 -0
- waldur_api_client/models/proposal.py +8 -0
- waldur_api_client/models/proposal_review.py +8 -0
- waldur_api_client/models/question_admin.py +17 -0
- waldur_api_client/models/question_admin_request.py +17 -0
- waldur_api_client/models/rancher_nested_public_ip.py +25 -7
- waldur_api_client/models/rancher_service.py +1 -1
- waldur_api_client/models/rancher_service_request.py +1 -1
- waldur_api_client/models/rmq_connection.py +8 -3
- waldur_api_client/models/rmq_subscription.py +7 -3
- waldur_api_client/models/robot_account.py +9 -17
- waldur_api_client/models/robot_account_details.py +9 -17
- waldur_api_client/models/service_account_state.py +10 -0
- waldur_api_client/models/submit_request_response.py +75 -0
- waldur_api_client/models/visible_invitation_details.py +9 -0
- {waldur_api_client-7.7.7.dist-info → waldur_api_client-7.7.8.dist-info}/METADATA +1 -1
- {waldur_api_client-7.7.7.dist-info → waldur_api_client-7.7.8.dist-info}/RECORD +130 -69
- waldur_api_client/models/robot_account_states.py +0 -13
- {waldur_api_client-7.7.7.dist-info → waldur_api_client-7.7.8.dist-info}/LICENSE +0 -0
- {waldur_api_client-7.7.7.dist-info → waldur_api_client-7.7.8.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,188 @@
|
|
|
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 ..models.service_account_state import ServiceAccountState
|
|
11
|
+
from ..types import UNSET, Unset
|
|
12
|
+
|
|
13
|
+
T = TypeVar("T", bound="CourseAccount")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@_attrs_define
|
|
17
|
+
class CourseAccount:
|
|
18
|
+
"""
|
|
19
|
+
Attributes:
|
|
20
|
+
url (str):
|
|
21
|
+
uuid (UUID):
|
|
22
|
+
created (datetime.datetime):
|
|
23
|
+
modified (datetime.datetime):
|
|
24
|
+
project (UUID):
|
|
25
|
+
project_uuid (UUID):
|
|
26
|
+
project_name (str):
|
|
27
|
+
user_uuid (UUID):
|
|
28
|
+
user_username (str):
|
|
29
|
+
customer_uuid (UUID):
|
|
30
|
+
customer_name (str):
|
|
31
|
+
state (ServiceAccountState):
|
|
32
|
+
error_message (str):
|
|
33
|
+
email (Union[Unset, str]):
|
|
34
|
+
description (Union[Unset, str]):
|
|
35
|
+
error_traceback (Union[Unset, str]):
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
url: str
|
|
39
|
+
uuid: UUID
|
|
40
|
+
created: datetime.datetime
|
|
41
|
+
modified: datetime.datetime
|
|
42
|
+
project: UUID
|
|
43
|
+
project_uuid: UUID
|
|
44
|
+
project_name: str
|
|
45
|
+
user_uuid: UUID
|
|
46
|
+
user_username: str
|
|
47
|
+
customer_uuid: UUID
|
|
48
|
+
customer_name: str
|
|
49
|
+
state: ServiceAccountState
|
|
50
|
+
error_message: str
|
|
51
|
+
email: Union[Unset, str] = UNSET
|
|
52
|
+
description: Union[Unset, str] = UNSET
|
|
53
|
+
error_traceback: Union[Unset, str] = UNSET
|
|
54
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
55
|
+
|
|
56
|
+
def to_dict(self) -> dict[str, Any]:
|
|
57
|
+
url = self.url
|
|
58
|
+
|
|
59
|
+
uuid = str(self.uuid)
|
|
60
|
+
|
|
61
|
+
created = self.created.isoformat()
|
|
62
|
+
|
|
63
|
+
modified = self.modified.isoformat()
|
|
64
|
+
|
|
65
|
+
project = str(self.project)
|
|
66
|
+
|
|
67
|
+
project_uuid = str(self.project_uuid)
|
|
68
|
+
|
|
69
|
+
project_name = self.project_name
|
|
70
|
+
|
|
71
|
+
user_uuid = str(self.user_uuid)
|
|
72
|
+
|
|
73
|
+
user_username = self.user_username
|
|
74
|
+
|
|
75
|
+
customer_uuid = str(self.customer_uuid)
|
|
76
|
+
|
|
77
|
+
customer_name = self.customer_name
|
|
78
|
+
|
|
79
|
+
state = self.state.value
|
|
80
|
+
|
|
81
|
+
error_message = self.error_message
|
|
82
|
+
|
|
83
|
+
email = self.email
|
|
84
|
+
|
|
85
|
+
description = self.description
|
|
86
|
+
|
|
87
|
+
error_traceback = self.error_traceback
|
|
88
|
+
|
|
89
|
+
field_dict: dict[str, Any] = {}
|
|
90
|
+
field_dict.update(self.additional_properties)
|
|
91
|
+
field_dict.update(
|
|
92
|
+
{
|
|
93
|
+
"url": url,
|
|
94
|
+
"uuid": uuid,
|
|
95
|
+
"created": created,
|
|
96
|
+
"modified": modified,
|
|
97
|
+
"project": project,
|
|
98
|
+
"project_uuid": project_uuid,
|
|
99
|
+
"project_name": project_name,
|
|
100
|
+
"user_uuid": user_uuid,
|
|
101
|
+
"user_username": user_username,
|
|
102
|
+
"customer_uuid": customer_uuid,
|
|
103
|
+
"customer_name": customer_name,
|
|
104
|
+
"state": state,
|
|
105
|
+
"error_message": error_message,
|
|
106
|
+
}
|
|
107
|
+
)
|
|
108
|
+
if email is not UNSET:
|
|
109
|
+
field_dict["email"] = email
|
|
110
|
+
if description is not UNSET:
|
|
111
|
+
field_dict["description"] = description
|
|
112
|
+
if error_traceback is not UNSET:
|
|
113
|
+
field_dict["error_traceback"] = error_traceback
|
|
114
|
+
|
|
115
|
+
return field_dict
|
|
116
|
+
|
|
117
|
+
@classmethod
|
|
118
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
119
|
+
d = dict(src_dict)
|
|
120
|
+
url = d.pop("url")
|
|
121
|
+
|
|
122
|
+
uuid = UUID(d.pop("uuid"))
|
|
123
|
+
|
|
124
|
+
created = isoparse(d.pop("created"))
|
|
125
|
+
|
|
126
|
+
modified = isoparse(d.pop("modified"))
|
|
127
|
+
|
|
128
|
+
project = UUID(d.pop("project"))
|
|
129
|
+
|
|
130
|
+
project_uuid = UUID(d.pop("project_uuid"))
|
|
131
|
+
|
|
132
|
+
project_name = d.pop("project_name")
|
|
133
|
+
|
|
134
|
+
user_uuid = UUID(d.pop("user_uuid"))
|
|
135
|
+
|
|
136
|
+
user_username = d.pop("user_username")
|
|
137
|
+
|
|
138
|
+
customer_uuid = UUID(d.pop("customer_uuid"))
|
|
139
|
+
|
|
140
|
+
customer_name = d.pop("customer_name")
|
|
141
|
+
|
|
142
|
+
state = ServiceAccountState(d.pop("state"))
|
|
143
|
+
|
|
144
|
+
error_message = d.pop("error_message")
|
|
145
|
+
|
|
146
|
+
email = d.pop("email", UNSET)
|
|
147
|
+
|
|
148
|
+
description = d.pop("description", UNSET)
|
|
149
|
+
|
|
150
|
+
error_traceback = d.pop("error_traceback", UNSET)
|
|
151
|
+
|
|
152
|
+
course_account = cls(
|
|
153
|
+
url=url,
|
|
154
|
+
uuid=uuid,
|
|
155
|
+
created=created,
|
|
156
|
+
modified=modified,
|
|
157
|
+
project=project,
|
|
158
|
+
project_uuid=project_uuid,
|
|
159
|
+
project_name=project_name,
|
|
160
|
+
user_uuid=user_uuid,
|
|
161
|
+
user_username=user_username,
|
|
162
|
+
customer_uuid=customer_uuid,
|
|
163
|
+
customer_name=customer_name,
|
|
164
|
+
state=state,
|
|
165
|
+
error_message=error_message,
|
|
166
|
+
email=email,
|
|
167
|
+
description=description,
|
|
168
|
+
error_traceback=error_traceback,
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
course_account.additional_properties = d
|
|
172
|
+
return course_account
|
|
173
|
+
|
|
174
|
+
@property
|
|
175
|
+
def additional_keys(self) -> list[str]:
|
|
176
|
+
return list(self.additional_properties.keys())
|
|
177
|
+
|
|
178
|
+
def __getitem__(self, key: str) -> Any:
|
|
179
|
+
return self.additional_properties[key]
|
|
180
|
+
|
|
181
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
182
|
+
self.additional_properties[key] = value
|
|
183
|
+
|
|
184
|
+
def __delitem__(self, key: str) -> None:
|
|
185
|
+
del self.additional_properties[key]
|
|
186
|
+
|
|
187
|
+
def __contains__(self, key: str) -> bool:
|
|
188
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="CourseAccountCreateNested")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class CourseAccountCreateNested:
|
|
14
|
+
"""
|
|
15
|
+
Attributes:
|
|
16
|
+
email (Union[Unset, str]):
|
|
17
|
+
description (Union[Unset, str]):
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
email: Union[Unset, str] = UNSET
|
|
21
|
+
description: Union[Unset, str] = UNSET
|
|
22
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
23
|
+
|
|
24
|
+
def to_dict(self) -> dict[str, Any]:
|
|
25
|
+
email = self.email
|
|
26
|
+
|
|
27
|
+
description = self.description
|
|
28
|
+
|
|
29
|
+
field_dict: dict[str, Any] = {}
|
|
30
|
+
field_dict.update(self.additional_properties)
|
|
31
|
+
field_dict.update({})
|
|
32
|
+
if email is not UNSET:
|
|
33
|
+
field_dict["email"] = email
|
|
34
|
+
if description is not UNSET:
|
|
35
|
+
field_dict["description"] = description
|
|
36
|
+
|
|
37
|
+
return field_dict
|
|
38
|
+
|
|
39
|
+
@classmethod
|
|
40
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
41
|
+
d = dict(src_dict)
|
|
42
|
+
email = d.pop("email", UNSET)
|
|
43
|
+
|
|
44
|
+
description = d.pop("description", UNSET)
|
|
45
|
+
|
|
46
|
+
course_account_create_nested = cls(
|
|
47
|
+
email=email,
|
|
48
|
+
description=description,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
course_account_create_nested.additional_properties = d
|
|
52
|
+
return course_account_create_nested
|
|
53
|
+
|
|
54
|
+
@property
|
|
55
|
+
def additional_keys(self) -> list[str]:
|
|
56
|
+
return list(self.additional_properties.keys())
|
|
57
|
+
|
|
58
|
+
def __getitem__(self, key: str) -> Any:
|
|
59
|
+
return self.additional_properties[key]
|
|
60
|
+
|
|
61
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
62
|
+
self.additional_properties[key] = value
|
|
63
|
+
|
|
64
|
+
def __delitem__(self, key: str) -> None:
|
|
65
|
+
del self.additional_properties[key]
|
|
66
|
+
|
|
67
|
+
def __contains__(self, key: str) -> bool:
|
|
68
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="CourseAccountCreateNestedRequest")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class CourseAccountCreateNestedRequest:
|
|
14
|
+
"""
|
|
15
|
+
Attributes:
|
|
16
|
+
email (Union[Unset, str]):
|
|
17
|
+
description (Union[Unset, str]):
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
email: Union[Unset, str] = UNSET
|
|
21
|
+
description: Union[Unset, str] = UNSET
|
|
22
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
23
|
+
|
|
24
|
+
def to_dict(self) -> dict[str, Any]:
|
|
25
|
+
email = self.email
|
|
26
|
+
|
|
27
|
+
description = self.description
|
|
28
|
+
|
|
29
|
+
field_dict: dict[str, Any] = {}
|
|
30
|
+
field_dict.update(self.additional_properties)
|
|
31
|
+
field_dict.update({})
|
|
32
|
+
if email is not UNSET:
|
|
33
|
+
field_dict["email"] = email
|
|
34
|
+
if description is not UNSET:
|
|
35
|
+
field_dict["description"] = description
|
|
36
|
+
|
|
37
|
+
return field_dict
|
|
38
|
+
|
|
39
|
+
@classmethod
|
|
40
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
41
|
+
d = dict(src_dict)
|
|
42
|
+
email = d.pop("email", UNSET)
|
|
43
|
+
|
|
44
|
+
description = d.pop("description", UNSET)
|
|
45
|
+
|
|
46
|
+
course_account_create_nested_request = cls(
|
|
47
|
+
email=email,
|
|
48
|
+
description=description,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
course_account_create_nested_request.additional_properties = d
|
|
52
|
+
return course_account_create_nested_request
|
|
53
|
+
|
|
54
|
+
@property
|
|
55
|
+
def additional_keys(self) -> list[str]:
|
|
56
|
+
return list(self.additional_properties.keys())
|
|
57
|
+
|
|
58
|
+
def __getitem__(self, key: str) -> Any:
|
|
59
|
+
return self.additional_properties[key]
|
|
60
|
+
|
|
61
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
62
|
+
self.additional_properties[key] = value
|
|
63
|
+
|
|
64
|
+
def __delitem__(self, key: str) -> None:
|
|
65
|
+
del self.additional_properties[key]
|
|
66
|
+
|
|
67
|
+
def __contains__(self, key: str) -> bool:
|
|
68
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,89 @@
|
|
|
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="CourseAccountRequest")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class CourseAccountRequest:
|
|
15
|
+
"""
|
|
16
|
+
Attributes:
|
|
17
|
+
project (UUID):
|
|
18
|
+
email (Union[Unset, str]):
|
|
19
|
+
description (Union[Unset, str]):
|
|
20
|
+
error_traceback (Union[Unset, str]):
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
project: UUID
|
|
24
|
+
email: Union[Unset, str] = UNSET
|
|
25
|
+
description: Union[Unset, str] = UNSET
|
|
26
|
+
error_traceback: Union[Unset, str] = UNSET
|
|
27
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
28
|
+
|
|
29
|
+
def to_dict(self) -> dict[str, Any]:
|
|
30
|
+
project = str(self.project)
|
|
31
|
+
|
|
32
|
+
email = self.email
|
|
33
|
+
|
|
34
|
+
description = self.description
|
|
35
|
+
|
|
36
|
+
error_traceback = self.error_traceback
|
|
37
|
+
|
|
38
|
+
field_dict: dict[str, Any] = {}
|
|
39
|
+
field_dict.update(self.additional_properties)
|
|
40
|
+
field_dict.update(
|
|
41
|
+
{
|
|
42
|
+
"project": project,
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
if email is not UNSET:
|
|
46
|
+
field_dict["email"] = email
|
|
47
|
+
if description is not UNSET:
|
|
48
|
+
field_dict["description"] = description
|
|
49
|
+
if error_traceback is not UNSET:
|
|
50
|
+
field_dict["error_traceback"] = error_traceback
|
|
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
|
+
project = UUID(d.pop("project"))
|
|
58
|
+
|
|
59
|
+
email = d.pop("email", UNSET)
|
|
60
|
+
|
|
61
|
+
description = d.pop("description", UNSET)
|
|
62
|
+
|
|
63
|
+
error_traceback = d.pop("error_traceback", UNSET)
|
|
64
|
+
|
|
65
|
+
course_account_request = cls(
|
|
66
|
+
project=project,
|
|
67
|
+
email=email,
|
|
68
|
+
description=description,
|
|
69
|
+
error_traceback=error_traceback,
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
course_account_request.additional_properties = d
|
|
73
|
+
return course_account_request
|
|
74
|
+
|
|
75
|
+
@property
|
|
76
|
+
def additional_keys(self) -> list[str]:
|
|
77
|
+
return list(self.additional_properties.keys())
|
|
78
|
+
|
|
79
|
+
def __getitem__(self, key: str) -> Any:
|
|
80
|
+
return self.additional_properties[key]
|
|
81
|
+
|
|
82
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
83
|
+
self.additional_properties[key] = value
|
|
84
|
+
|
|
85
|
+
def __delitem__(self, key: str) -> None:
|
|
86
|
+
del self.additional_properties[key]
|
|
87
|
+
|
|
88
|
+
def __contains__(self, key: str) -> bool:
|
|
89
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
3
|
+
from uuid import UUID
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
|
|
8
|
+
if TYPE_CHECKING:
|
|
9
|
+
from ..models.course_account_create_nested import CourseAccountCreateNested
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
T = TypeVar("T", bound="CourseAccountsBulkCreate")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@_attrs_define
|
|
16
|
+
class CourseAccountsBulkCreate:
|
|
17
|
+
"""
|
|
18
|
+
Attributes:
|
|
19
|
+
course_accounts (list['CourseAccountCreateNested']):
|
|
20
|
+
project (UUID):
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
course_accounts: list["CourseAccountCreateNested"]
|
|
24
|
+
project: UUID
|
|
25
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
26
|
+
|
|
27
|
+
def to_dict(self) -> dict[str, Any]:
|
|
28
|
+
course_accounts = []
|
|
29
|
+
for course_accounts_item_data in self.course_accounts:
|
|
30
|
+
course_accounts_item = course_accounts_item_data.to_dict()
|
|
31
|
+
course_accounts.append(course_accounts_item)
|
|
32
|
+
|
|
33
|
+
project = str(self.project)
|
|
34
|
+
|
|
35
|
+
field_dict: dict[str, Any] = {}
|
|
36
|
+
field_dict.update(self.additional_properties)
|
|
37
|
+
field_dict.update(
|
|
38
|
+
{
|
|
39
|
+
"course_accounts": course_accounts,
|
|
40
|
+
"project": project,
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
return field_dict
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
48
|
+
from ..models.course_account_create_nested import CourseAccountCreateNested
|
|
49
|
+
|
|
50
|
+
d = dict(src_dict)
|
|
51
|
+
course_accounts = []
|
|
52
|
+
_course_accounts = d.pop("course_accounts")
|
|
53
|
+
for course_accounts_item_data in _course_accounts:
|
|
54
|
+
course_accounts_item = CourseAccountCreateNested.from_dict(course_accounts_item_data)
|
|
55
|
+
|
|
56
|
+
course_accounts.append(course_accounts_item)
|
|
57
|
+
|
|
58
|
+
project = UUID(d.pop("project"))
|
|
59
|
+
|
|
60
|
+
course_accounts_bulk_create = cls(
|
|
61
|
+
course_accounts=course_accounts,
|
|
62
|
+
project=project,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
course_accounts_bulk_create.additional_properties = d
|
|
66
|
+
return course_accounts_bulk_create
|
|
67
|
+
|
|
68
|
+
@property
|
|
69
|
+
def additional_keys(self) -> list[str]:
|
|
70
|
+
return list(self.additional_properties.keys())
|
|
71
|
+
|
|
72
|
+
def __getitem__(self, key: str) -> Any:
|
|
73
|
+
return self.additional_properties[key]
|
|
74
|
+
|
|
75
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
76
|
+
self.additional_properties[key] = value
|
|
77
|
+
|
|
78
|
+
def __delitem__(self, key: str) -> None:
|
|
79
|
+
del self.additional_properties[key]
|
|
80
|
+
|
|
81
|
+
def __contains__(self, key: str) -> bool:
|
|
82
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
3
|
+
from uuid import UUID
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
|
|
8
|
+
if TYPE_CHECKING:
|
|
9
|
+
from ..models.course_account_create_nested_request import CourseAccountCreateNestedRequest
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
T = TypeVar("T", bound="CourseAccountsBulkCreateRequest")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@_attrs_define
|
|
16
|
+
class CourseAccountsBulkCreateRequest:
|
|
17
|
+
"""
|
|
18
|
+
Attributes:
|
|
19
|
+
course_accounts (list['CourseAccountCreateNestedRequest']):
|
|
20
|
+
project (UUID):
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
course_accounts: list["CourseAccountCreateNestedRequest"]
|
|
24
|
+
project: UUID
|
|
25
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
26
|
+
|
|
27
|
+
def to_dict(self) -> dict[str, Any]:
|
|
28
|
+
course_accounts = []
|
|
29
|
+
for course_accounts_item_data in self.course_accounts:
|
|
30
|
+
course_accounts_item = course_accounts_item_data.to_dict()
|
|
31
|
+
course_accounts.append(course_accounts_item)
|
|
32
|
+
|
|
33
|
+
project = str(self.project)
|
|
34
|
+
|
|
35
|
+
field_dict: dict[str, Any] = {}
|
|
36
|
+
field_dict.update(self.additional_properties)
|
|
37
|
+
field_dict.update(
|
|
38
|
+
{
|
|
39
|
+
"course_accounts": course_accounts,
|
|
40
|
+
"project": project,
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
return field_dict
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
48
|
+
from ..models.course_account_create_nested_request import CourseAccountCreateNestedRequest
|
|
49
|
+
|
|
50
|
+
d = dict(src_dict)
|
|
51
|
+
course_accounts = []
|
|
52
|
+
_course_accounts = d.pop("course_accounts")
|
|
53
|
+
for course_accounts_item_data in _course_accounts:
|
|
54
|
+
course_accounts_item = CourseAccountCreateNestedRequest.from_dict(course_accounts_item_data)
|
|
55
|
+
|
|
56
|
+
course_accounts.append(course_accounts_item)
|
|
57
|
+
|
|
58
|
+
project = UUID(d.pop("project"))
|
|
59
|
+
|
|
60
|
+
course_accounts_bulk_create_request = cls(
|
|
61
|
+
course_accounts=course_accounts,
|
|
62
|
+
project=project,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
course_accounts_bulk_create_request.additional_properties = d
|
|
66
|
+
return course_accounts_bulk_create_request
|
|
67
|
+
|
|
68
|
+
@property
|
|
69
|
+
def additional_keys(self) -> list[str]:
|
|
70
|
+
return list(self.additional_properties.keys())
|
|
71
|
+
|
|
72
|
+
def __getitem__(self, key: str) -> Any:
|
|
73
|
+
return self.additional_properties[key]
|
|
74
|
+
|
|
75
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
76
|
+
self.additional_properties[key] = value
|
|
77
|
+
|
|
78
|
+
def __delitem__(self, key: str) -> None:
|
|
79
|
+
del self.additional_properties[key]
|
|
80
|
+
|
|
81
|
+
def __contains__(self, key: str) -> bool:
|
|
82
|
+
return key in self.additional_properties
|
|
@@ -47,6 +47,7 @@ class Customer:
|
|
|
47
47
|
slug (Union[Unset, str]):
|
|
48
48
|
native_name (Union[Unset, str]):
|
|
49
49
|
abbreviation (Union[Unset, str]):
|
|
50
|
+
description (Union[Unset, str]):
|
|
50
51
|
contact_details (Union[Unset, str]):
|
|
51
52
|
agreement_number (Union[Unset, str]):
|
|
52
53
|
email (Union[Unset, str]):
|
|
@@ -96,6 +97,7 @@ class Customer:
|
|
|
96
97
|
slug: Union[Unset, str] = UNSET
|
|
97
98
|
native_name: Union[Unset, str] = UNSET
|
|
98
99
|
abbreviation: Union[Unset, str] = UNSET
|
|
100
|
+
description: Union[Unset, str] = UNSET
|
|
99
101
|
contact_details: Union[Unset, str] = UNSET
|
|
100
102
|
agreement_number: Union[Unset, str] = UNSET
|
|
101
103
|
email: Union[Unset, str] = UNSET
|
|
@@ -201,6 +203,8 @@ class Customer:
|
|
|
201
203
|
|
|
202
204
|
abbreviation = self.abbreviation
|
|
203
205
|
|
|
206
|
+
description = self.description
|
|
207
|
+
|
|
204
208
|
contact_details = self.contact_details
|
|
205
209
|
|
|
206
210
|
agreement_number = self.agreement_number
|
|
@@ -339,6 +343,8 @@ class Customer:
|
|
|
339
343
|
field_dict["native_name"] = native_name
|
|
340
344
|
if abbreviation is not UNSET:
|
|
341
345
|
field_dict["abbreviation"] = abbreviation
|
|
346
|
+
if description is not UNSET:
|
|
347
|
+
field_dict["description"] = description
|
|
342
348
|
if contact_details is not UNSET:
|
|
343
349
|
field_dict["contact_details"] = contact_details
|
|
344
350
|
if agreement_number is not UNSET:
|
|
@@ -503,6 +509,8 @@ class Customer:
|
|
|
503
509
|
|
|
504
510
|
abbreviation = d.pop("abbreviation", UNSET)
|
|
505
511
|
|
|
512
|
+
description = d.pop("description", UNSET)
|
|
513
|
+
|
|
506
514
|
contact_details = d.pop("contact_details", UNSET)
|
|
507
515
|
|
|
508
516
|
agreement_number = d.pop("agreement_number", UNSET)
|
|
@@ -660,6 +668,7 @@ class Customer:
|
|
|
660
668
|
slug=slug,
|
|
661
669
|
native_name=native_name,
|
|
662
670
|
abbreviation=abbreviation,
|
|
671
|
+
description=description,
|
|
663
672
|
contact_details=contact_details,
|
|
664
673
|
agreement_number=agreement_number,
|
|
665
674
|
email=email,
|