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
|
@@ -8,6 +8,7 @@ from attrs import field as _attrs_field
|
|
|
8
8
|
from dateutil.parser import isoparse
|
|
9
9
|
|
|
10
10
|
from ..models.blank_enum import BlankEnum
|
|
11
|
+
from ..models.kind_enum import KindEnum
|
|
11
12
|
from ..models.oecd_fos_2007_code_enum import OecdFos2007CodeEnum
|
|
12
13
|
from ..types import UNSET, Unset
|
|
13
14
|
|
|
@@ -49,6 +50,7 @@ class Project:
|
|
|
49
50
|
image (Union[None, Unset, str]):
|
|
50
51
|
resources_count (Union[Unset, int]):
|
|
51
52
|
max_service_accounts (Union[None, Unset, int]): Maximum number of service accounts allowed
|
|
53
|
+
kind (Union[Unset, KindEnum]):
|
|
52
54
|
project_credit (Union[None, Unset, float]):
|
|
53
55
|
marketplace_resource_count (Union[Unset, ProjectMarketplaceResourceCount]):
|
|
54
56
|
billing_price_estimate (Union[Unset, NestedPriceEstimate]):
|
|
@@ -79,6 +81,7 @@ class Project:
|
|
|
79
81
|
image: Union[None, Unset, str] = UNSET
|
|
80
82
|
resources_count: Union[Unset, int] = UNSET
|
|
81
83
|
max_service_accounts: Union[None, Unset, int] = UNSET
|
|
84
|
+
kind: Union[Unset, KindEnum] = UNSET
|
|
82
85
|
project_credit: Union[None, Unset, float] = UNSET
|
|
83
86
|
marketplace_resource_count: Union[Unset, "ProjectMarketplaceResourceCount"] = UNSET
|
|
84
87
|
billing_price_estimate: Union[Unset, "NestedPriceEstimate"] = UNSET
|
|
@@ -187,6 +190,10 @@ class Project:
|
|
|
187
190
|
else:
|
|
188
191
|
max_service_accounts = self.max_service_accounts
|
|
189
192
|
|
|
193
|
+
kind: Union[Unset, str] = UNSET
|
|
194
|
+
if not isinstance(self.kind, Unset):
|
|
195
|
+
kind = self.kind.value
|
|
196
|
+
|
|
190
197
|
project_credit: Union[None, Unset, float]
|
|
191
198
|
if isinstance(self.project_credit, Unset):
|
|
192
199
|
project_credit = UNSET
|
|
@@ -254,6 +261,8 @@ class Project:
|
|
|
254
261
|
field_dict["resources_count"] = resources_count
|
|
255
262
|
if max_service_accounts is not UNSET:
|
|
256
263
|
field_dict["max_service_accounts"] = max_service_accounts
|
|
264
|
+
if kind is not UNSET:
|
|
265
|
+
field_dict["kind"] = kind
|
|
257
266
|
if project_credit is not UNSET:
|
|
258
267
|
field_dict["project_credit"] = project_credit
|
|
259
268
|
if marketplace_resource_count is not UNSET:
|
|
@@ -437,6 +446,13 @@ class Project:
|
|
|
437
446
|
|
|
438
447
|
max_service_accounts = _parse_max_service_accounts(d.pop("max_service_accounts", UNSET))
|
|
439
448
|
|
|
449
|
+
_kind = d.pop("kind", UNSET)
|
|
450
|
+
kind: Union[Unset, KindEnum]
|
|
451
|
+
if isinstance(_kind, Unset):
|
|
452
|
+
kind = UNSET
|
|
453
|
+
else:
|
|
454
|
+
kind = KindEnum(_kind)
|
|
455
|
+
|
|
440
456
|
def _parse_project_credit(data: object) -> Union[None, Unset, float]:
|
|
441
457
|
if data is None:
|
|
442
458
|
return data
|
|
@@ -486,6 +502,7 @@ class Project:
|
|
|
486
502
|
image=image,
|
|
487
503
|
resources_count=resources_count,
|
|
488
504
|
max_service_accounts=max_service_accounts,
|
|
505
|
+
kind=kind,
|
|
489
506
|
project_credit=project_credit,
|
|
490
507
|
marketplace_resource_count=marketplace_resource_count,
|
|
491
508
|
billing_price_estimate=billing_price_estimate,
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union, cast
|
|
3
|
+
from uuid import UUID
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
|
|
8
|
+
T = TypeVar("T", bound="ProjectAnswer")
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@_attrs_define
|
|
12
|
+
class ProjectAnswer:
|
|
13
|
+
"""
|
|
14
|
+
Attributes:
|
|
15
|
+
project_uuid (UUID):
|
|
16
|
+
project_name (str):
|
|
17
|
+
completion_uuid (Union[None, str]): Get completion UUID.
|
|
18
|
+
completion_percentage (float): Get completion percentage.
|
|
19
|
+
is_completed (bool): Get completion status.
|
|
20
|
+
requires_review (bool): Get review requirement status.
|
|
21
|
+
answers_count (int): Get count of answers.
|
|
22
|
+
unanswered_required_count (int): Get count of unanswered required questions.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
project_uuid: UUID
|
|
26
|
+
project_name: str
|
|
27
|
+
completion_uuid: Union[None, str]
|
|
28
|
+
completion_percentage: float
|
|
29
|
+
is_completed: bool
|
|
30
|
+
requires_review: bool
|
|
31
|
+
answers_count: int
|
|
32
|
+
unanswered_required_count: int
|
|
33
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
34
|
+
|
|
35
|
+
def to_dict(self) -> dict[str, Any]:
|
|
36
|
+
project_uuid = str(self.project_uuid)
|
|
37
|
+
|
|
38
|
+
project_name = self.project_name
|
|
39
|
+
|
|
40
|
+
completion_uuid: Union[None, str]
|
|
41
|
+
completion_uuid = self.completion_uuid
|
|
42
|
+
|
|
43
|
+
completion_percentage = self.completion_percentage
|
|
44
|
+
|
|
45
|
+
is_completed = self.is_completed
|
|
46
|
+
|
|
47
|
+
requires_review = self.requires_review
|
|
48
|
+
|
|
49
|
+
answers_count = self.answers_count
|
|
50
|
+
|
|
51
|
+
unanswered_required_count = self.unanswered_required_count
|
|
52
|
+
|
|
53
|
+
field_dict: dict[str, Any] = {}
|
|
54
|
+
field_dict.update(self.additional_properties)
|
|
55
|
+
field_dict.update(
|
|
56
|
+
{
|
|
57
|
+
"project_uuid": project_uuid,
|
|
58
|
+
"project_name": project_name,
|
|
59
|
+
"completion_uuid": completion_uuid,
|
|
60
|
+
"completion_percentage": completion_percentage,
|
|
61
|
+
"is_completed": is_completed,
|
|
62
|
+
"requires_review": requires_review,
|
|
63
|
+
"answers_count": answers_count,
|
|
64
|
+
"unanswered_required_count": unanswered_required_count,
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
return field_dict
|
|
69
|
+
|
|
70
|
+
@classmethod
|
|
71
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
72
|
+
d = dict(src_dict)
|
|
73
|
+
project_uuid = UUID(d.pop("project_uuid"))
|
|
74
|
+
|
|
75
|
+
project_name = d.pop("project_name")
|
|
76
|
+
|
|
77
|
+
def _parse_completion_uuid(data: object) -> Union[None, str]:
|
|
78
|
+
if data is None:
|
|
79
|
+
return data
|
|
80
|
+
return cast(Union[None, str], data)
|
|
81
|
+
|
|
82
|
+
completion_uuid = _parse_completion_uuid(d.pop("completion_uuid"))
|
|
83
|
+
|
|
84
|
+
completion_percentage = d.pop("completion_percentage")
|
|
85
|
+
|
|
86
|
+
is_completed = d.pop("is_completed")
|
|
87
|
+
|
|
88
|
+
requires_review = d.pop("requires_review")
|
|
89
|
+
|
|
90
|
+
answers_count = d.pop("answers_count")
|
|
91
|
+
|
|
92
|
+
unanswered_required_count = d.pop("unanswered_required_count")
|
|
93
|
+
|
|
94
|
+
project_answer = cls(
|
|
95
|
+
project_uuid=project_uuid,
|
|
96
|
+
project_name=project_name,
|
|
97
|
+
completion_uuid=completion_uuid,
|
|
98
|
+
completion_percentage=completion_percentage,
|
|
99
|
+
is_completed=is_completed,
|
|
100
|
+
requires_review=requires_review,
|
|
101
|
+
answers_count=answers_count,
|
|
102
|
+
unanswered_required_count=unanswered_required_count,
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
project_answer.additional_properties = d
|
|
106
|
+
return project_answer
|
|
107
|
+
|
|
108
|
+
@property
|
|
109
|
+
def additional_keys(self) -> list[str]:
|
|
110
|
+
return list(self.additional_properties.keys())
|
|
111
|
+
|
|
112
|
+
def __getitem__(self, key: str) -> Any:
|
|
113
|
+
return self.additional_properties[key]
|
|
114
|
+
|
|
115
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
116
|
+
self.additional_properties[key] = value
|
|
117
|
+
|
|
118
|
+
def __delitem__(self, key: str) -> None:
|
|
119
|
+
del self.additional_properties[key]
|
|
120
|
+
|
|
121
|
+
def __contains__(self, key: str) -> bool:
|
|
122
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union, cast
|
|
3
|
+
from uuid import UUID
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
|
|
8
|
+
T = TypeVar("T", bound="ProjectDetail")
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@_attrs_define
|
|
12
|
+
class ProjectDetail:
|
|
13
|
+
"""
|
|
14
|
+
Attributes:
|
|
15
|
+
project_uuid (UUID):
|
|
16
|
+
project_name (str):
|
|
17
|
+
completion_uuid (Union[None, UUID]):
|
|
18
|
+
completion_percentage (float):
|
|
19
|
+
is_completed (bool):
|
|
20
|
+
requires_review (bool):
|
|
21
|
+
answers (list[Any]):
|
|
22
|
+
unanswered_required_questions (list[Any]):
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
project_uuid: UUID
|
|
26
|
+
project_name: str
|
|
27
|
+
completion_uuid: Union[None, UUID]
|
|
28
|
+
completion_percentage: float
|
|
29
|
+
is_completed: bool
|
|
30
|
+
requires_review: bool
|
|
31
|
+
answers: list[Any]
|
|
32
|
+
unanswered_required_questions: list[Any]
|
|
33
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
34
|
+
|
|
35
|
+
def to_dict(self) -> dict[str, Any]:
|
|
36
|
+
project_uuid = str(self.project_uuid)
|
|
37
|
+
|
|
38
|
+
project_name = self.project_name
|
|
39
|
+
|
|
40
|
+
completion_uuid: Union[None, str]
|
|
41
|
+
if isinstance(self.completion_uuid, UUID):
|
|
42
|
+
completion_uuid = str(self.completion_uuid)
|
|
43
|
+
else:
|
|
44
|
+
completion_uuid = self.completion_uuid
|
|
45
|
+
|
|
46
|
+
completion_percentage = self.completion_percentage
|
|
47
|
+
|
|
48
|
+
is_completed = self.is_completed
|
|
49
|
+
|
|
50
|
+
requires_review = self.requires_review
|
|
51
|
+
|
|
52
|
+
answers = self.answers
|
|
53
|
+
|
|
54
|
+
unanswered_required_questions = self.unanswered_required_questions
|
|
55
|
+
|
|
56
|
+
field_dict: dict[str, Any] = {}
|
|
57
|
+
field_dict.update(self.additional_properties)
|
|
58
|
+
field_dict.update(
|
|
59
|
+
{
|
|
60
|
+
"project_uuid": project_uuid,
|
|
61
|
+
"project_name": project_name,
|
|
62
|
+
"completion_uuid": completion_uuid,
|
|
63
|
+
"completion_percentage": completion_percentage,
|
|
64
|
+
"is_completed": is_completed,
|
|
65
|
+
"requires_review": requires_review,
|
|
66
|
+
"answers": answers,
|
|
67
|
+
"unanswered_required_questions": unanswered_required_questions,
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
return field_dict
|
|
72
|
+
|
|
73
|
+
@classmethod
|
|
74
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
75
|
+
d = dict(src_dict)
|
|
76
|
+
project_uuid = UUID(d.pop("project_uuid"))
|
|
77
|
+
|
|
78
|
+
project_name = d.pop("project_name")
|
|
79
|
+
|
|
80
|
+
def _parse_completion_uuid(data: object) -> Union[None, UUID]:
|
|
81
|
+
if data is None:
|
|
82
|
+
return data
|
|
83
|
+
try:
|
|
84
|
+
if not isinstance(data, str):
|
|
85
|
+
raise TypeError()
|
|
86
|
+
completion_uuid_type_0 = UUID(data)
|
|
87
|
+
|
|
88
|
+
return completion_uuid_type_0
|
|
89
|
+
except: # noqa: E722
|
|
90
|
+
pass
|
|
91
|
+
return cast(Union[None, UUID], data)
|
|
92
|
+
|
|
93
|
+
completion_uuid = _parse_completion_uuid(d.pop("completion_uuid"))
|
|
94
|
+
|
|
95
|
+
completion_percentage = d.pop("completion_percentage")
|
|
96
|
+
|
|
97
|
+
is_completed = d.pop("is_completed")
|
|
98
|
+
|
|
99
|
+
requires_review = d.pop("requires_review")
|
|
100
|
+
|
|
101
|
+
answers = cast(list[Any], d.pop("answers"))
|
|
102
|
+
|
|
103
|
+
unanswered_required_questions = cast(list[Any], d.pop("unanswered_required_questions"))
|
|
104
|
+
|
|
105
|
+
project_detail = cls(
|
|
106
|
+
project_uuid=project_uuid,
|
|
107
|
+
project_name=project_name,
|
|
108
|
+
completion_uuid=completion_uuid,
|
|
109
|
+
completion_percentage=completion_percentage,
|
|
110
|
+
is_completed=is_completed,
|
|
111
|
+
requires_review=requires_review,
|
|
112
|
+
answers=answers,
|
|
113
|
+
unanswered_required_questions=unanswered_required_questions,
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
project_detail.additional_properties = d
|
|
117
|
+
return project_detail
|
|
118
|
+
|
|
119
|
+
@property
|
|
120
|
+
def additional_keys(self) -> list[str]:
|
|
121
|
+
return list(self.additional_properties.keys())
|
|
122
|
+
|
|
123
|
+
def __getitem__(self, key: str) -> Any:
|
|
124
|
+
return self.additional_properties[key]
|
|
125
|
+
|
|
126
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
127
|
+
self.additional_properties[key] = value
|
|
128
|
+
|
|
129
|
+
def __delitem__(self, key: str) -> None:
|
|
130
|
+
del self.additional_properties[key]
|
|
131
|
+
|
|
132
|
+
def __contains__(self, key: str) -> bool:
|
|
133
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from ..models.checklist_info import ChecklistInfo
|
|
9
|
+
from ..models.project_detail import ProjectDetail
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
T = TypeVar("T", bound="ProjectDetailsResponse")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@_attrs_define
|
|
16
|
+
class ProjectDetailsResponse:
|
|
17
|
+
"""
|
|
18
|
+
Attributes:
|
|
19
|
+
checklist (ChecklistInfo):
|
|
20
|
+
total_projects (int):
|
|
21
|
+
projects_with_completions (int):
|
|
22
|
+
fully_completed_projects (int):
|
|
23
|
+
projects_requiring_review (int):
|
|
24
|
+
project_details (list['ProjectDetail']):
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
checklist: "ChecklistInfo"
|
|
28
|
+
total_projects: int
|
|
29
|
+
projects_with_completions: int
|
|
30
|
+
fully_completed_projects: int
|
|
31
|
+
projects_requiring_review: int
|
|
32
|
+
project_details: list["ProjectDetail"]
|
|
33
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
34
|
+
|
|
35
|
+
def to_dict(self) -> dict[str, Any]:
|
|
36
|
+
checklist = self.checklist.to_dict()
|
|
37
|
+
|
|
38
|
+
total_projects = self.total_projects
|
|
39
|
+
|
|
40
|
+
projects_with_completions = self.projects_with_completions
|
|
41
|
+
|
|
42
|
+
fully_completed_projects = self.fully_completed_projects
|
|
43
|
+
|
|
44
|
+
projects_requiring_review = self.projects_requiring_review
|
|
45
|
+
|
|
46
|
+
project_details = []
|
|
47
|
+
for project_details_item_data in self.project_details:
|
|
48
|
+
project_details_item = project_details_item_data.to_dict()
|
|
49
|
+
project_details.append(project_details_item)
|
|
50
|
+
|
|
51
|
+
field_dict: dict[str, Any] = {}
|
|
52
|
+
field_dict.update(self.additional_properties)
|
|
53
|
+
field_dict.update(
|
|
54
|
+
{
|
|
55
|
+
"checklist": checklist,
|
|
56
|
+
"total_projects": total_projects,
|
|
57
|
+
"projects_with_completions": projects_with_completions,
|
|
58
|
+
"fully_completed_projects": fully_completed_projects,
|
|
59
|
+
"projects_requiring_review": projects_requiring_review,
|
|
60
|
+
"project_details": project_details,
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
return field_dict
|
|
65
|
+
|
|
66
|
+
@classmethod
|
|
67
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
68
|
+
from ..models.checklist_info import ChecklistInfo
|
|
69
|
+
from ..models.project_detail import ProjectDetail
|
|
70
|
+
|
|
71
|
+
d = dict(src_dict)
|
|
72
|
+
checklist = ChecklistInfo.from_dict(d.pop("checklist"))
|
|
73
|
+
|
|
74
|
+
total_projects = d.pop("total_projects")
|
|
75
|
+
|
|
76
|
+
projects_with_completions = d.pop("projects_with_completions")
|
|
77
|
+
|
|
78
|
+
fully_completed_projects = d.pop("fully_completed_projects")
|
|
79
|
+
|
|
80
|
+
projects_requiring_review = d.pop("projects_requiring_review")
|
|
81
|
+
|
|
82
|
+
project_details = []
|
|
83
|
+
_project_details = d.pop("project_details")
|
|
84
|
+
for project_details_item_data in _project_details:
|
|
85
|
+
project_details_item = ProjectDetail.from_dict(project_details_item_data)
|
|
86
|
+
|
|
87
|
+
project_details.append(project_details_item)
|
|
88
|
+
|
|
89
|
+
project_details_response = cls(
|
|
90
|
+
checklist=checklist,
|
|
91
|
+
total_projects=total_projects,
|
|
92
|
+
projects_with_completions=projects_with_completions,
|
|
93
|
+
fully_completed_projects=fully_completed_projects,
|
|
94
|
+
projects_requiring_review=projects_requiring_review,
|
|
95
|
+
project_details=project_details,
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
project_details_response.additional_properties = d
|
|
99
|
+
return project_details_response
|
|
100
|
+
|
|
101
|
+
@property
|
|
102
|
+
def additional_keys(self) -> list[str]:
|
|
103
|
+
return list(self.additional_properties.keys())
|
|
104
|
+
|
|
105
|
+
def __getitem__(self, key: str) -> Any:
|
|
106
|
+
return self.additional_properties[key]
|
|
107
|
+
|
|
108
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
109
|
+
self.additional_properties[key] = value
|
|
110
|
+
|
|
111
|
+
def __delitem__(self, key: str) -> None:
|
|
112
|
+
del self.additional_properties[key]
|
|
113
|
+
|
|
114
|
+
def __contains__(self, key: str) -> bool:
|
|
115
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
from collections.abc import Mapping
|
|
3
|
+
from typing import Any, TypeVar, Union, cast
|
|
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
|
+
T = TypeVar("T", bound="ProjectPermissionReview")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class ProjectPermissionReview:
|
|
15
|
+
"""
|
|
16
|
+
Attributes:
|
|
17
|
+
url (str):
|
|
18
|
+
uuid (UUID):
|
|
19
|
+
reviewer_full_name (Union[None, str]):
|
|
20
|
+
reviewer_uuid (Union[None, UUID]):
|
|
21
|
+
is_pending (bool):
|
|
22
|
+
created (datetime.datetime):
|
|
23
|
+
closed (Union[None, datetime.datetime]):
|
|
24
|
+
project_uuid (UUID):
|
|
25
|
+
project_name (str):
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
url: str
|
|
29
|
+
uuid: UUID
|
|
30
|
+
reviewer_full_name: Union[None, str]
|
|
31
|
+
reviewer_uuid: Union[None, UUID]
|
|
32
|
+
is_pending: bool
|
|
33
|
+
created: datetime.datetime
|
|
34
|
+
closed: Union[None, datetime.datetime]
|
|
35
|
+
project_uuid: UUID
|
|
36
|
+
project_name: str
|
|
37
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
38
|
+
|
|
39
|
+
def to_dict(self) -> dict[str, Any]:
|
|
40
|
+
url = self.url
|
|
41
|
+
|
|
42
|
+
uuid = str(self.uuid)
|
|
43
|
+
|
|
44
|
+
reviewer_full_name: Union[None, str]
|
|
45
|
+
reviewer_full_name = self.reviewer_full_name
|
|
46
|
+
|
|
47
|
+
reviewer_uuid: Union[None, str]
|
|
48
|
+
if isinstance(self.reviewer_uuid, UUID):
|
|
49
|
+
reviewer_uuid = str(self.reviewer_uuid)
|
|
50
|
+
else:
|
|
51
|
+
reviewer_uuid = self.reviewer_uuid
|
|
52
|
+
|
|
53
|
+
is_pending = self.is_pending
|
|
54
|
+
|
|
55
|
+
created = self.created.isoformat()
|
|
56
|
+
|
|
57
|
+
closed: Union[None, str]
|
|
58
|
+
if isinstance(self.closed, datetime.datetime):
|
|
59
|
+
closed = self.closed.isoformat()
|
|
60
|
+
else:
|
|
61
|
+
closed = self.closed
|
|
62
|
+
|
|
63
|
+
project_uuid = str(self.project_uuid)
|
|
64
|
+
|
|
65
|
+
project_name = self.project_name
|
|
66
|
+
|
|
67
|
+
field_dict: dict[str, Any] = {}
|
|
68
|
+
field_dict.update(self.additional_properties)
|
|
69
|
+
field_dict.update(
|
|
70
|
+
{
|
|
71
|
+
"url": url,
|
|
72
|
+
"uuid": uuid,
|
|
73
|
+
"reviewer_full_name": reviewer_full_name,
|
|
74
|
+
"reviewer_uuid": reviewer_uuid,
|
|
75
|
+
"is_pending": is_pending,
|
|
76
|
+
"created": created,
|
|
77
|
+
"closed": closed,
|
|
78
|
+
"project_uuid": project_uuid,
|
|
79
|
+
"project_name": project_name,
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
return field_dict
|
|
84
|
+
|
|
85
|
+
@classmethod
|
|
86
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
87
|
+
d = dict(src_dict)
|
|
88
|
+
url = d.pop("url")
|
|
89
|
+
|
|
90
|
+
uuid = UUID(d.pop("uuid"))
|
|
91
|
+
|
|
92
|
+
def _parse_reviewer_full_name(data: object) -> Union[None, str]:
|
|
93
|
+
if data is None:
|
|
94
|
+
return data
|
|
95
|
+
return cast(Union[None, str], data)
|
|
96
|
+
|
|
97
|
+
reviewer_full_name = _parse_reviewer_full_name(d.pop("reviewer_full_name"))
|
|
98
|
+
|
|
99
|
+
def _parse_reviewer_uuid(data: object) -> Union[None, UUID]:
|
|
100
|
+
if data is None:
|
|
101
|
+
return data
|
|
102
|
+
try:
|
|
103
|
+
if not isinstance(data, str):
|
|
104
|
+
raise TypeError()
|
|
105
|
+
reviewer_uuid_type_0 = UUID(data)
|
|
106
|
+
|
|
107
|
+
return reviewer_uuid_type_0
|
|
108
|
+
except: # noqa: E722
|
|
109
|
+
pass
|
|
110
|
+
return cast(Union[None, UUID], data)
|
|
111
|
+
|
|
112
|
+
reviewer_uuid = _parse_reviewer_uuid(d.pop("reviewer_uuid"))
|
|
113
|
+
|
|
114
|
+
is_pending = d.pop("is_pending")
|
|
115
|
+
|
|
116
|
+
created = isoparse(d.pop("created"))
|
|
117
|
+
|
|
118
|
+
def _parse_closed(data: object) -> Union[None, datetime.datetime]:
|
|
119
|
+
if data is None:
|
|
120
|
+
return data
|
|
121
|
+
try:
|
|
122
|
+
if not isinstance(data, str):
|
|
123
|
+
raise TypeError()
|
|
124
|
+
closed_type_0 = isoparse(data)
|
|
125
|
+
|
|
126
|
+
return closed_type_0
|
|
127
|
+
except: # noqa: E722
|
|
128
|
+
pass
|
|
129
|
+
return cast(Union[None, datetime.datetime], data)
|
|
130
|
+
|
|
131
|
+
closed = _parse_closed(d.pop("closed"))
|
|
132
|
+
|
|
133
|
+
project_uuid = UUID(d.pop("project_uuid"))
|
|
134
|
+
|
|
135
|
+
project_name = d.pop("project_name")
|
|
136
|
+
|
|
137
|
+
project_permission_review = cls(
|
|
138
|
+
url=url,
|
|
139
|
+
uuid=uuid,
|
|
140
|
+
reviewer_full_name=reviewer_full_name,
|
|
141
|
+
reviewer_uuid=reviewer_uuid,
|
|
142
|
+
is_pending=is_pending,
|
|
143
|
+
created=created,
|
|
144
|
+
closed=closed,
|
|
145
|
+
project_uuid=project_uuid,
|
|
146
|
+
project_name=project_name,
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
project_permission_review.additional_properties = d
|
|
150
|
+
return project_permission_review
|
|
151
|
+
|
|
152
|
+
@property
|
|
153
|
+
def additional_keys(self) -> list[str]:
|
|
154
|
+
return list(self.additional_properties.keys())
|
|
155
|
+
|
|
156
|
+
def __getitem__(self, key: str) -> Any:
|
|
157
|
+
return self.additional_properties[key]
|
|
158
|
+
|
|
159
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
160
|
+
self.additional_properties[key] = value
|
|
161
|
+
|
|
162
|
+
def __delitem__(self, key: str) -> None:
|
|
163
|
+
del self.additional_properties[key]
|
|
164
|
+
|
|
165
|
+
def __contains__(self, key: str) -> bool:
|
|
166
|
+
return key in self.additional_properties
|
|
@@ -9,6 +9,7 @@ from dateutil.parser import isoparse
|
|
|
9
9
|
|
|
10
10
|
from .. import types
|
|
11
11
|
from ..models.blank_enum import BlankEnum
|
|
12
|
+
from ..models.kind_enum import KindEnum
|
|
12
13
|
from ..models.oecd_fos_2007_code_enum import OecdFos2007CodeEnum
|
|
13
14
|
from ..types import UNSET, File, Unset
|
|
14
15
|
|
|
@@ -30,6 +31,7 @@ class ProjectRequest:
|
|
|
30
31
|
oecd_fos_2007_code (Union[BlankEnum, None, OecdFos2007CodeEnum, Unset]):
|
|
31
32
|
is_industry (Union[Unset, bool]):
|
|
32
33
|
image (Union[File, None, Unset]):
|
|
34
|
+
kind (Union[Unset, KindEnum]):
|
|
33
35
|
"""
|
|
34
36
|
|
|
35
37
|
name: str
|
|
@@ -42,6 +44,7 @@ class ProjectRequest:
|
|
|
42
44
|
oecd_fos_2007_code: Union[BlankEnum, None, OecdFos2007CodeEnum, Unset] = UNSET
|
|
43
45
|
is_industry: Union[Unset, bool] = UNSET
|
|
44
46
|
image: Union[File, None, Unset] = UNSET
|
|
47
|
+
kind: Union[Unset, KindEnum] = UNSET
|
|
45
48
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
46
49
|
|
|
47
50
|
def to_dict(self) -> dict[str, Any]:
|
|
@@ -96,6 +99,10 @@ class ProjectRequest:
|
|
|
96
99
|
else:
|
|
97
100
|
image = self.image
|
|
98
101
|
|
|
102
|
+
kind: Union[Unset, str] = UNSET
|
|
103
|
+
if not isinstance(self.kind, Unset):
|
|
104
|
+
kind = self.kind.value
|
|
105
|
+
|
|
99
106
|
field_dict: dict[str, Any] = {}
|
|
100
107
|
field_dict.update(self.additional_properties)
|
|
101
108
|
field_dict.update(
|
|
@@ -120,6 +127,8 @@ class ProjectRequest:
|
|
|
120
127
|
field_dict["is_industry"] = is_industry
|
|
121
128
|
if image is not UNSET:
|
|
122
129
|
field_dict["image"] = image
|
|
130
|
+
if kind is not UNSET:
|
|
131
|
+
field_dict["kind"] = kind
|
|
123
132
|
|
|
124
133
|
return field_dict
|
|
125
134
|
|
|
@@ -221,6 +230,13 @@ class ProjectRequest:
|
|
|
221
230
|
|
|
222
231
|
image = _parse_image(d.pop("image", UNSET))
|
|
223
232
|
|
|
233
|
+
_kind = d.pop("kind", UNSET)
|
|
234
|
+
kind: Union[Unset, KindEnum]
|
|
235
|
+
if isinstance(_kind, Unset):
|
|
236
|
+
kind = UNSET
|
|
237
|
+
else:
|
|
238
|
+
kind = KindEnum(_kind)
|
|
239
|
+
|
|
224
240
|
project_request = cls(
|
|
225
241
|
name=name,
|
|
226
242
|
customer=customer,
|
|
@@ -232,6 +248,7 @@ class ProjectRequest:
|
|
|
232
248
|
oecd_fos_2007_code=oecd_fos_2007_code,
|
|
233
249
|
is_industry=is_industry,
|
|
234
250
|
image=image,
|
|
251
|
+
kind=kind,
|
|
235
252
|
)
|
|
236
253
|
|
|
237
254
|
project_request.additional_properties = d
|