waldur-api-client 7.7.6__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/booking_resources/booking_resources_count.py +34 -11
- waldur_api_client/api/booking_resources/booking_resources_list.py +34 -11
- 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_project_metadata_compliance_details_list.py +189 -0
- waldur_api_client/api/customers/customers_project_metadata_compliance_overview_list.py +189 -0
- waldur_api_client/api/customers/customers_project_metadata_compliance_projects_list.py +187 -0
- waldur_api_client/api/customers/customers_project_metadata_question_answers_list.py +187 -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_integration_statuses/marketplace_integration_statuses_count.py +34 -11
- waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_list.py +34 -11
- waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_count.py +34 -11
- waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_list.py +34 -11
- waldur_api_client/api/marketplace_offering_terms_of_service/__init__.py +1 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_count.py +274 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_create.py +152 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_destroy.py +89 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_list.py +277 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_partial_update.py +164 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_retrieve.py +142 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_update.py +164 -0
- waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_count.py +34 -11
- waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_list.py +34 -11
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_count.py +34 -11
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +34 -11
- waldur_api_client/api/marketplace_orders/marketplace_orders_count.py +19 -0
- waldur_api_client/api/marketplace_orders/marketplace_orders_list.py +19 -0
- waldur_api_client/api/marketplace_plans/marketplace_plans_count.py +19 -0
- waldur_api_client/api/marketplace_plans/marketplace_plans_list.py +19 -0
- waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_count.py +19 -0
- waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_list.py +19 -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_provider_resources/marketplace_provider_resources_count.py +34 -11
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +34 -11
- waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +34 -11
- waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +34 -11
- waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_count.py +34 -11
- waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_list.py +34 -11
- 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/marketplace_user_offering_consents/__init__.py +1 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_count.py +307 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_create.py +152 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_destroy.py +89 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_list.py +310 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_partial_update.py +164 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_retrieve.py +142 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_revoke.py +146 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_update.py +164 -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/remote_waldur_api/remote_waldur_api_remote_resource_order_status_retrieve.py +145 -0
- waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_status_retrieve.py +147 -0
- waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_team_status_list.py +188 -0
- 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 +136 -2
- waldur_api_client/models/azure_sql_server_create_order_attributes.py +3 -0
- waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +3 -0
- waldur_api_client/models/booking_offerings_list_field_item.py +0 -2
- waldur_api_client/models/booking_offerings_retrieve_field_item.py +0 -2
- waldur_api_client/models/booking_resource.py +10 -9
- waldur_api_client/models/booking_resources_list_field_item.py +1 -1
- waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -1
- waldur_api_client/models/cancel_request_response.py +75 -0
- waldur_api_client/models/checklist_info.py +76 -0
- waldur_api_client/models/compliance_overview.py +91 -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 +90 -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 +5 -0
- waldur_api_client/models/customers_retrieve_field_item.py +5 -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/generic_order_attributes.py +69 -0
- waldur_api_client/models/google_auth_authorize_retrieve_field_item.py +1 -0
- waldur_api_client/models/google_auth_list_field_item.py +1 -0
- waldur_api_client/models/google_auth_retrieve_field_item.py +1 -0
- waldur_api_client/models/google_credentials.py +9 -0
- waldur_api_client/models/group_invitation.py +33 -0
- waldur_api_client/models/group_invitation_request.py +10 -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/maintenance_announcement.py +8 -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_offering_terms_of_service_count_o_item.py +13 -0
- waldur_api_client/models/marketplace_offering_terms_of_service_list_o_item.py +13 -0
- waldur_api_client/models/marketplace_orders_list_field_item.py +1 -1
- waldur_api_client/models/marketplace_orders_retrieve_field_item.py +1 -1
- 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_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +0 -2
- waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +0 -2
- waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +0 -2
- waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +0 -2
- waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +0 -2
- waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +0 -2
- waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -1
- waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_public_offerings_list_field_item.py +0 -2
- waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +0 -2
- waldur_api_client/models/marketplace_rancher_create_order_attributes.py +3 -0
- waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_resources_list_field_item.py +1 -1
- waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_service_providers_course_accounts_list_state_item.py +10 -0
- waldur_api_client/models/marketplace_service_providers_list_field_item.py +1 -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/marketplace_service_providers_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_user_offering_consents_count_o_item.py +15 -0
- waldur_api_client/models/marketplace_user_offering_consents_list_o_item.py +15 -0
- waldur_api_client/models/nested_security_group_rule.py +223 -0
- waldur_api_client/models/nested_security_group_rule_request.py +188 -0
- waldur_api_client/models/offering.py +0 -18
- waldur_api_client/models/offering_create.py +0 -18
- waldur_api_client/models/offering_create_request.py +0 -18
- waldur_api_client/models/offering_overview_update_request.py +0 -18
- waldur_api_client/models/offering_terms_of_service.py +142 -0
- waldur_api_client/models/offering_terms_of_service_create.py +107 -0
- waldur_api_client/models/offering_terms_of_service_create_request.py +107 -0
- waldur_api_client/models/offering_terms_of_service_request.py +96 -0
- 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 +23 -20
- waldur_api_client/models/open_stack_nested_security_group.py +53 -1
- waldur_api_client/models/open_stack_network.py +20 -0
- waldur_api_client/models/open_stack_port_ip_update_request.py +6 -2
- waldur_api_client/models/open_stack_security_group_rule_update_request.py +4 -4
- 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/open_stack_tenant.py +38 -0
- waldur_api_client/models/open_stack_tenant_create_order_attributes.py +21 -0
- waldur_api_client/models/open_stack_volume_create_order_attributes.py +3 -0
- waldur_api_client/models/openstack_networks_list_field_item.py +1 -0
- waldur_api_client/models/openstack_networks_retrieve_field_item.py +1 -0
- waldur_api_client/models/openstack_tenants_list_field_item.py +3 -0
- waldur_api_client/models/openstack_tenants_retrieve_field_item.py +3 -0
- waldur_api_client/models/order_create.py +0 -8
- waldur_api_client/models/order_create_request.py +23 -7
- waldur_api_client/models/order_details.py +0 -9
- 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_offering_terms_of_service_request.py +96 -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/patched_user_offering_consent_request.py +59 -0
- waldur_api_client/models/permission_project.py +147 -0
- waldur_api_client/models/permission_request.py +16 -0
- waldur_api_client/models/project.py +17 -0
- waldur_api_client/models/project_answer.py +122 -0
- waldur_api_client/models/project_detail.py +133 -0
- waldur_api_client/models/project_details_response.py +115 -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/provider_offering_details.py +0 -18
- waldur_api_client/models/provider_offering_details_request.py +0 -18
- waldur_api_client/models/public_offering_details.py +0 -18
- waldur_api_client/models/question_admin.py +17 -0
- waldur_api_client/models/question_admin_request.py +17 -0
- waldur_api_client/models/question_answer.py +176 -0
- waldur_api_client/models/question_answer_project_answers_item.py +44 -0
- waldur_api_client/models/question_answer_question_options_item.py +44 -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/remote_resource_order.py +88 -0
- waldur_api_client/models/remote_resource_order_remote_state_enum.py +15 -0
- waldur_api_client/models/remote_resource_sync_status.py +123 -0
- waldur_api_client/models/{robot_account_states.py → remote_resource_sync_status_remote_state_enum.py} +1 -1
- waldur_api_client/models/remote_resource_team_member.py +85 -0
- waldur_api_client/models/resource.py +10 -9
- 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/service_provider.py +9 -0
- waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +3 -0
- waldur_api_client/models/submit_request_response.py +75 -0
- waldur_api_client/models/sync_status_enum.py +10 -0
- waldur_api_client/models/user_offering_consent.py +202 -0
- waldur_api_client/models/user_offering_consent_create.py +60 -0
- waldur_api_client/models/user_offering_consent_create_request.py +60 -0
- waldur_api_client/models/user_offering_consent_request.py +59 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +3 -0
- waldur_api_client/models/visible_invitation_details.py +9 -0
- {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/METADATA +1 -1
- {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/RECORD +261 -145
- {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/LICENSE +0 -0
- {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/WHEEL +0 -0
|
@@ -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
|
|
@@ -13,7 +13,9 @@ from ..types import UNSET, Unset
|
|
|
13
13
|
|
|
14
14
|
if TYPE_CHECKING:
|
|
15
15
|
from ..models.nested_price_estimate import NestedPriceEstimate
|
|
16
|
+
from ..models.organization_group import OrganizationGroup
|
|
16
17
|
from ..models.payment_profile import PaymentProfile
|
|
18
|
+
from ..models.permission_project import PermissionProject
|
|
17
19
|
|
|
18
20
|
|
|
19
21
|
T = TypeVar("T", bound="Customer")
|
|
@@ -26,7 +28,9 @@ class Customer:
|
|
|
26
28
|
url (Union[Unset, str]):
|
|
27
29
|
uuid (Union[Unset, UUID]):
|
|
28
30
|
created (Union[Unset, datetime.datetime]):
|
|
31
|
+
organization_groups (Union[Unset, list['OrganizationGroup']]):
|
|
29
32
|
display_name (Union[Unset, str]):
|
|
33
|
+
projects (Union[Unset, list['PermissionProject']]):
|
|
30
34
|
backend_id (Union[Unset, str]): Organization identifier in another application.
|
|
31
35
|
image (Union[None, Unset, str]):
|
|
32
36
|
blocked (Union[Unset, bool]):
|
|
@@ -34,13 +38,16 @@ class Customer:
|
|
|
34
38
|
default_tax_percent (Union[Unset, str]):
|
|
35
39
|
accounting_start_date (Union[Unset, datetime.datetime]):
|
|
36
40
|
projects_count (Union[Unset, int]):
|
|
41
|
+
users_count (Union[Unset, int]):
|
|
37
42
|
sponsor_number (Union[None, Unset, int]): External ID of the sponsor covering the costs
|
|
38
43
|
country_name (Union[Unset, str]):
|
|
39
44
|
max_service_accounts (Union[None, Unset, int]): Maximum number of service accounts allowed
|
|
45
|
+
project_metadata_checklist (Union[None, UUID, Unset]):
|
|
40
46
|
name (Union[Unset, str]):
|
|
41
47
|
slug (Union[Unset, str]):
|
|
42
48
|
native_name (Union[Unset, str]):
|
|
43
49
|
abbreviation (Union[Unset, str]):
|
|
50
|
+
description (Union[Unset, str]):
|
|
44
51
|
contact_details (Union[Unset, str]):
|
|
45
52
|
agreement_number (Union[Unset, str]):
|
|
46
53
|
email (Union[Unset, str]):
|
|
@@ -71,7 +78,9 @@ class Customer:
|
|
|
71
78
|
url: Union[Unset, str] = UNSET
|
|
72
79
|
uuid: Union[Unset, UUID] = UNSET
|
|
73
80
|
created: Union[Unset, datetime.datetime] = UNSET
|
|
81
|
+
organization_groups: Union[Unset, list["OrganizationGroup"]] = UNSET
|
|
74
82
|
display_name: Union[Unset, str] = UNSET
|
|
83
|
+
projects: Union[Unset, list["PermissionProject"]] = UNSET
|
|
75
84
|
backend_id: Union[Unset, str] = UNSET
|
|
76
85
|
image: Union[None, Unset, str] = UNSET
|
|
77
86
|
blocked: Union[Unset, bool] = UNSET
|
|
@@ -79,13 +88,16 @@ class Customer:
|
|
|
79
88
|
default_tax_percent: Union[Unset, str] = UNSET
|
|
80
89
|
accounting_start_date: Union[Unset, datetime.datetime] = UNSET
|
|
81
90
|
projects_count: Union[Unset, int] = UNSET
|
|
91
|
+
users_count: Union[Unset, int] = UNSET
|
|
82
92
|
sponsor_number: Union[None, Unset, int] = UNSET
|
|
83
93
|
country_name: Union[Unset, str] = UNSET
|
|
84
94
|
max_service_accounts: Union[None, Unset, int] = UNSET
|
|
95
|
+
project_metadata_checklist: Union[None, UUID, Unset] = UNSET
|
|
85
96
|
name: Union[Unset, str] = UNSET
|
|
86
97
|
slug: Union[Unset, str] = UNSET
|
|
87
98
|
native_name: Union[Unset, str] = UNSET
|
|
88
99
|
abbreviation: Union[Unset, str] = UNSET
|
|
100
|
+
description: Union[Unset, str] = UNSET
|
|
89
101
|
contact_details: Union[Unset, str] = UNSET
|
|
90
102
|
agreement_number: Union[Unset, str] = UNSET
|
|
91
103
|
email: Union[Unset, str] = UNSET
|
|
@@ -123,8 +135,22 @@ class Customer:
|
|
|
123
135
|
if not isinstance(self.created, Unset):
|
|
124
136
|
created = self.created.isoformat()
|
|
125
137
|
|
|
138
|
+
organization_groups: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
139
|
+
if not isinstance(self.organization_groups, Unset):
|
|
140
|
+
organization_groups = []
|
|
141
|
+
for organization_groups_item_data in self.organization_groups:
|
|
142
|
+
organization_groups_item = organization_groups_item_data.to_dict()
|
|
143
|
+
organization_groups.append(organization_groups_item)
|
|
144
|
+
|
|
126
145
|
display_name = self.display_name
|
|
127
146
|
|
|
147
|
+
projects: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
148
|
+
if not isinstance(self.projects, Unset):
|
|
149
|
+
projects = []
|
|
150
|
+
for projects_item_data in self.projects:
|
|
151
|
+
projects_item = projects_item_data.to_dict()
|
|
152
|
+
projects.append(projects_item)
|
|
153
|
+
|
|
128
154
|
backend_id = self.backend_id
|
|
129
155
|
|
|
130
156
|
image: Union[None, Unset, str]
|
|
@@ -145,6 +171,8 @@ class Customer:
|
|
|
145
171
|
|
|
146
172
|
projects_count = self.projects_count
|
|
147
173
|
|
|
174
|
+
users_count = self.users_count
|
|
175
|
+
|
|
148
176
|
sponsor_number: Union[None, Unset, int]
|
|
149
177
|
if isinstance(self.sponsor_number, Unset):
|
|
150
178
|
sponsor_number = UNSET
|
|
@@ -159,6 +187,14 @@ class Customer:
|
|
|
159
187
|
else:
|
|
160
188
|
max_service_accounts = self.max_service_accounts
|
|
161
189
|
|
|
190
|
+
project_metadata_checklist: Union[None, Unset, str]
|
|
191
|
+
if isinstance(self.project_metadata_checklist, Unset):
|
|
192
|
+
project_metadata_checklist = UNSET
|
|
193
|
+
elif isinstance(self.project_metadata_checklist, UUID):
|
|
194
|
+
project_metadata_checklist = str(self.project_metadata_checklist)
|
|
195
|
+
else:
|
|
196
|
+
project_metadata_checklist = self.project_metadata_checklist
|
|
197
|
+
|
|
162
198
|
name = self.name
|
|
163
199
|
|
|
164
200
|
slug = self.slug
|
|
@@ -167,6 +203,8 @@ class Customer:
|
|
|
167
203
|
|
|
168
204
|
abbreviation = self.abbreviation
|
|
169
205
|
|
|
206
|
+
description = self.description
|
|
207
|
+
|
|
170
208
|
contact_details = self.contact_details
|
|
171
209
|
|
|
172
210
|
agreement_number = self.agreement_number
|
|
@@ -267,8 +305,12 @@ class Customer:
|
|
|
267
305
|
field_dict["uuid"] = uuid
|
|
268
306
|
if created is not UNSET:
|
|
269
307
|
field_dict["created"] = created
|
|
308
|
+
if organization_groups is not UNSET:
|
|
309
|
+
field_dict["organization_groups"] = organization_groups
|
|
270
310
|
if display_name is not UNSET:
|
|
271
311
|
field_dict["display_name"] = display_name
|
|
312
|
+
if projects is not UNSET:
|
|
313
|
+
field_dict["projects"] = projects
|
|
272
314
|
if backend_id is not UNSET:
|
|
273
315
|
field_dict["backend_id"] = backend_id
|
|
274
316
|
if image is not UNSET:
|
|
@@ -283,12 +325,16 @@ class Customer:
|
|
|
283
325
|
field_dict["accounting_start_date"] = accounting_start_date
|
|
284
326
|
if projects_count is not UNSET:
|
|
285
327
|
field_dict["projects_count"] = projects_count
|
|
328
|
+
if users_count is not UNSET:
|
|
329
|
+
field_dict["users_count"] = users_count
|
|
286
330
|
if sponsor_number is not UNSET:
|
|
287
331
|
field_dict["sponsor_number"] = sponsor_number
|
|
288
332
|
if country_name is not UNSET:
|
|
289
333
|
field_dict["country_name"] = country_name
|
|
290
334
|
if max_service_accounts is not UNSET:
|
|
291
335
|
field_dict["max_service_accounts"] = max_service_accounts
|
|
336
|
+
if project_metadata_checklist is not UNSET:
|
|
337
|
+
field_dict["project_metadata_checklist"] = project_metadata_checklist
|
|
292
338
|
if name is not UNSET:
|
|
293
339
|
field_dict["name"] = name
|
|
294
340
|
if slug is not UNSET:
|
|
@@ -297,6 +343,8 @@ class Customer:
|
|
|
297
343
|
field_dict["native_name"] = native_name
|
|
298
344
|
if abbreviation is not UNSET:
|
|
299
345
|
field_dict["abbreviation"] = abbreviation
|
|
346
|
+
if description is not UNSET:
|
|
347
|
+
field_dict["description"] = description
|
|
300
348
|
if contact_details is not UNSET:
|
|
301
349
|
field_dict["contact_details"] = contact_details
|
|
302
350
|
if agreement_number is not UNSET:
|
|
@@ -351,7 +399,9 @@ class Customer:
|
|
|
351
399
|
@classmethod
|
|
352
400
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
353
401
|
from ..models.nested_price_estimate import NestedPriceEstimate
|
|
402
|
+
from ..models.organization_group import OrganizationGroup
|
|
354
403
|
from ..models.payment_profile import PaymentProfile
|
|
404
|
+
from ..models.permission_project import PermissionProject
|
|
355
405
|
|
|
356
406
|
d = dict(src_dict)
|
|
357
407
|
url = d.pop("url", UNSET)
|
|
@@ -370,8 +420,22 @@ class Customer:
|
|
|
370
420
|
else:
|
|
371
421
|
created = isoparse(_created)
|
|
372
422
|
|
|
423
|
+
organization_groups = []
|
|
424
|
+
_organization_groups = d.pop("organization_groups", UNSET)
|
|
425
|
+
for organization_groups_item_data in _organization_groups or []:
|
|
426
|
+
organization_groups_item = OrganizationGroup.from_dict(organization_groups_item_data)
|
|
427
|
+
|
|
428
|
+
organization_groups.append(organization_groups_item)
|
|
429
|
+
|
|
373
430
|
display_name = d.pop("display_name", UNSET)
|
|
374
431
|
|
|
432
|
+
projects = []
|
|
433
|
+
_projects = d.pop("projects", UNSET)
|
|
434
|
+
for projects_item_data in _projects or []:
|
|
435
|
+
projects_item = PermissionProject.from_dict(projects_item_data)
|
|
436
|
+
|
|
437
|
+
projects.append(projects_item)
|
|
438
|
+
|
|
375
439
|
backend_id = d.pop("backend_id", UNSET)
|
|
376
440
|
|
|
377
441
|
def _parse_image(data: object) -> Union[None, Unset, str]:
|
|
@@ -398,6 +462,8 @@ class Customer:
|
|
|
398
462
|
|
|
399
463
|
projects_count = d.pop("projects_count", UNSET)
|
|
400
464
|
|
|
465
|
+
users_count = d.pop("users_count", UNSET)
|
|
466
|
+
|
|
401
467
|
def _parse_sponsor_number(data: object) -> Union[None, Unset, int]:
|
|
402
468
|
if data is None:
|
|
403
469
|
return data
|
|
@@ -418,6 +484,23 @@ class Customer:
|
|
|
418
484
|
|
|
419
485
|
max_service_accounts = _parse_max_service_accounts(d.pop("max_service_accounts", UNSET))
|
|
420
486
|
|
|
487
|
+
def _parse_project_metadata_checklist(data: object) -> Union[None, UUID, Unset]:
|
|
488
|
+
if data is None:
|
|
489
|
+
return data
|
|
490
|
+
if isinstance(data, Unset):
|
|
491
|
+
return data
|
|
492
|
+
try:
|
|
493
|
+
if not isinstance(data, str):
|
|
494
|
+
raise TypeError()
|
|
495
|
+
project_metadata_checklist_type_0 = UUID(data)
|
|
496
|
+
|
|
497
|
+
return project_metadata_checklist_type_0
|
|
498
|
+
except: # noqa: E722
|
|
499
|
+
pass
|
|
500
|
+
return cast(Union[None, UUID, Unset], data)
|
|
501
|
+
|
|
502
|
+
project_metadata_checklist = _parse_project_metadata_checklist(d.pop("project_metadata_checklist", UNSET))
|
|
503
|
+
|
|
421
504
|
name = d.pop("name", UNSET)
|
|
422
505
|
|
|
423
506
|
slug = d.pop("slug", UNSET)
|
|
@@ -426,6 +509,8 @@ class Customer:
|
|
|
426
509
|
|
|
427
510
|
abbreviation = d.pop("abbreviation", UNSET)
|
|
428
511
|
|
|
512
|
+
description = d.pop("description", UNSET)
|
|
513
|
+
|
|
429
514
|
contact_details = d.pop("contact_details", UNSET)
|
|
430
515
|
|
|
431
516
|
agreement_number = d.pop("agreement_number", UNSET)
|
|
@@ -564,7 +649,9 @@ class Customer:
|
|
|
564
649
|
url=url,
|
|
565
650
|
uuid=uuid,
|
|
566
651
|
created=created,
|
|
652
|
+
organization_groups=organization_groups,
|
|
567
653
|
display_name=display_name,
|
|
654
|
+
projects=projects,
|
|
568
655
|
backend_id=backend_id,
|
|
569
656
|
image=image,
|
|
570
657
|
blocked=blocked,
|
|
@@ -572,13 +659,16 @@ class Customer:
|
|
|
572
659
|
default_tax_percent=default_tax_percent,
|
|
573
660
|
accounting_start_date=accounting_start_date,
|
|
574
661
|
projects_count=projects_count,
|
|
662
|
+
users_count=users_count,
|
|
575
663
|
sponsor_number=sponsor_number,
|
|
576
664
|
country_name=country_name,
|
|
577
665
|
max_service_accounts=max_service_accounts,
|
|
666
|
+
project_metadata_checklist=project_metadata_checklist,
|
|
578
667
|
name=name,
|
|
579
668
|
slug=slug,
|
|
580
669
|
native_name=native_name,
|
|
581
670
|
abbreviation=abbreviation,
|
|
671
|
+
description=description,
|
|
582
672
|
contact_details=contact_details,
|
|
583
673
|
agreement_number=agreement_number,
|
|
584
674
|
email=email,
|