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.

Files changed (261) hide show
  1. waldur_api_client/api/booking_resources/booking_resources_count.py +34 -11
  2. waldur_api_client/api/booking_resources/booking_resources_list.py +34 -11
  3. waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_count.py +19 -0
  4. waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_list.py +19 -0
  5. waldur_api_client/api/customers/customers_project_metadata_compliance_details_list.py +189 -0
  6. waldur_api_client/api/customers/customers_project_metadata_compliance_overview_list.py +189 -0
  7. waldur_api_client/api/customers/customers_project_metadata_compliance_projects_list.py +187 -0
  8. waldur_api_client/api/customers/customers_project_metadata_question_answers_list.py +187 -0
  9. waldur_api_client/api/customers/customers_users_list.py +141 -53
  10. waldur_api_client/api/invoices/invoices_items_retrieve.py +20 -0
  11. waldur_api_client/api/managed_rancher_cluster_resources/__init__.py +1 -0
  12. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_add_node.py +162 -0
  13. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_count.py +172 -0
  14. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_list.py +196 -0
  15. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_retrieve.py +171 -0
  16. waldur_api_client/api/marketplace_course_accounts/__init__.py +1 -0
  17. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_count.py +244 -0
  18. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_create.py +148 -0
  19. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_create_bulk.py +152 -0
  20. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_destroy.py +89 -0
  21. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +245 -0
  22. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_retrieve.py +140 -0
  23. waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_count.py +25 -0
  24. waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_list.py +25 -0
  25. waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_count.py +34 -11
  26. waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_list.py +34 -11
  27. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_count.py +34 -11
  28. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_list.py +34 -11
  29. waldur_api_client/api/marketplace_offering_terms_of_service/__init__.py +1 -0
  30. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_count.py +274 -0
  31. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_create.py +152 -0
  32. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_destroy.py +89 -0
  33. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_list.py +277 -0
  34. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_partial_update.py +164 -0
  35. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_retrieve.py +142 -0
  36. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_update.py +164 -0
  37. waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_count.py +34 -11
  38. waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_list.py +34 -11
  39. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_count.py +34 -11
  40. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +34 -11
  41. waldur_api_client/api/marketplace_orders/marketplace_orders_count.py +19 -0
  42. waldur_api_client/api/marketplace_orders/marketplace_orders_list.py +19 -0
  43. waldur_api_client/api/marketplace_plans/marketplace_plans_count.py +19 -0
  44. waldur_api_client/api/marketplace_plans/marketplace_plans_list.py +19 -0
  45. waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_count.py +19 -0
  46. waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_list.py +19 -0
  47. waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_count.py +25 -0
  48. waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_list.py +25 -0
  49. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +34 -11
  50. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +34 -11
  51. waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +34 -11
  52. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +34 -11
  53. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_count.py +34 -11
  54. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_list.py +34 -11
  55. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_course_accounts_list.py +284 -0
  56. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_service_accounts_list.py +29 -0
  57. waldur_api_client/api/marketplace_user_offering_consents/__init__.py +1 -0
  58. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_count.py +307 -0
  59. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_create.py +152 -0
  60. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_destroy.py +89 -0
  61. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_list.py +310 -0
  62. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_partial_update.py +164 -0
  63. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_retrieve.py +142 -0
  64. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_revoke.py +146 -0
  65. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_update.py +164 -0
  66. waldur_api_client/api/project_permissions_reviews/__init__.py +1 -0
  67. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_close.py +91 -0
  68. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_count.py +266 -0
  69. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_list.py +269 -0
  70. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_retrieve.py +142 -0
  71. waldur_api_client/api/projects/projects_other_users_list.py +98 -23
  72. waldur_api_client/api/projects/projects_sync_user_roles.py +10 -9
  73. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_order_status_retrieve.py +145 -0
  74. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_status_retrieve.py +147 -0
  75. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_team_status_list.py +188 -0
  76. waldur_api_client/api/support_issue_statuses/__init__.py +1 -0
  77. waldur_api_client/api/support_issue_statuses/support_issue_statuses_count.py +172 -0
  78. waldur_api_client/api/support_issue_statuses/support_issue_statuses_create.py +148 -0
  79. waldur_api_client/api/support_issue_statuses/support_issue_statuses_destroy.py +89 -0
  80. waldur_api_client/api/support_issue_statuses/support_issue_statuses_list.py +173 -0
  81. waldur_api_client/api/support_issue_statuses/support_issue_statuses_partial_update.py +162 -0
  82. waldur_api_client/api/support_issue_statuses/support_issue_statuses_retrieve.py +140 -0
  83. waldur_api_client/api/support_issue_statuses/support_issue_statuses_update.py +162 -0
  84. waldur_api_client/api/user_group_invitations/user_group_invitations_submit_request.py +12 -12
  85. waldur_api_client/api/user_invitations/user_invitations_count.py +30 -0
  86. waldur_api_client/api/user_invitations/user_invitations_list.py +30 -0
  87. waldur_api_client/api/user_permission_requests/user_permission_requests_cancel_request.py +146 -0
  88. waldur_api_client/models/__init__.py +136 -2
  89. waldur_api_client/models/azure_sql_server_create_order_attributes.py +3 -0
  90. waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +3 -0
  91. waldur_api_client/models/booking_offerings_list_field_item.py +0 -2
  92. waldur_api_client/models/booking_offerings_retrieve_field_item.py +0 -2
  93. waldur_api_client/models/booking_resource.py +10 -9
  94. waldur_api_client/models/booking_resources_list_field_item.py +1 -1
  95. waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -1
  96. waldur_api_client/models/cancel_request_response.py +75 -0
  97. waldur_api_client/models/checklist_info.py +76 -0
  98. waldur_api_client/models/compliance_overview.py +91 -0
  99. waldur_api_client/models/constance_settings.py +9 -0
  100. waldur_api_client/models/constance_settings_request.py +9 -0
  101. waldur_api_client/models/course_account.py +188 -0
  102. waldur_api_client/models/course_account_create_nested.py +68 -0
  103. waldur_api_client/models/course_account_create_nested_request.py +68 -0
  104. waldur_api_client/models/course_account_request.py +89 -0
  105. waldur_api_client/models/course_accounts_bulk_create.py +82 -0
  106. waldur_api_client/models/course_accounts_bulk_create_request.py +82 -0
  107. waldur_api_client/models/customer.py +90 -0
  108. waldur_api_client/models/customer_permission_review.py +16 -16
  109. waldur_api_client/models/customer_request.py +9 -0
  110. waldur_api_client/models/customer_service_account.py +9 -0
  111. waldur_api_client/models/customers_list_field_item.py +5 -0
  112. waldur_api_client/models/customers_retrieve_field_item.py +5 -0
  113. waldur_api_client/models/customers_users_list_o.py +9 -0
  114. waldur_api_client/models/customers_users_list_organization_role_item_type_0.py +10 -0
  115. waldur_api_client/models/customers_users_list_project_role_item_type_0.py +10 -0
  116. waldur_api_client/models/dependency_logic_operator_enum.py +9 -0
  117. waldur_api_client/models/event_subscription.py +1 -1
  118. waldur_api_client/models/event_types_enum.py +4 -0
  119. waldur_api_client/models/generic_order_attributes.py +69 -0
  120. waldur_api_client/models/google_auth_authorize_retrieve_field_item.py +1 -0
  121. waldur_api_client/models/google_auth_list_field_item.py +1 -0
  122. waldur_api_client/models/google_auth_retrieve_field_item.py +1 -0
  123. waldur_api_client/models/google_credentials.py +9 -0
  124. waldur_api_client/models/group_invitation.py +33 -0
  125. waldur_api_client/models/group_invitation_request.py +10 -0
  126. waldur_api_client/models/invitation.py +9 -0
  127. waldur_api_client/models/invoices_items_retrieve_o.py +15 -0
  128. waldur_api_client/models/issue_status.py +103 -0
  129. waldur_api_client/models/issue_status_request.py +78 -0
  130. waldur_api_client/models/issue_status_type_enum.py +9 -0
  131. waldur_api_client/models/kind_enum.py +10 -0
  132. waldur_api_client/models/maintenance_announcement.py +8 -0
  133. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +82 -0
  134. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +82 -0
  135. waldur_api_client/models/managed_rancher_create_node_request.py +186 -0
  136. waldur_api_client/models/marketplace_course_accounts_count_state_item.py +10 -0
  137. waldur_api_client/models/marketplace_course_accounts_list_state_item.py +10 -0
  138. waldur_api_client/models/marketplace_customer_service_accounts_count_state_item.py +10 -0
  139. waldur_api_client/models/marketplace_customer_service_accounts_list_state_item.py +10 -0
  140. waldur_api_client/models/marketplace_offering_terms_of_service_count_o_item.py +13 -0
  141. waldur_api_client/models/marketplace_offering_terms_of_service_list_o_item.py +13 -0
  142. waldur_api_client/models/marketplace_orders_list_field_item.py +1 -1
  143. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +1 -1
  144. waldur_api_client/models/marketplace_project_service_accounts_count_state_item.py +10 -0
  145. waldur_api_client/models/marketplace_project_service_accounts_list_state_item.py +10 -0
  146. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +0 -2
  147. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +0 -2
  148. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +0 -2
  149. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +0 -2
  150. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +0 -2
  151. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +0 -2
  152. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -1
  153. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -1
  154. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -1
  155. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +0 -2
  156. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +0 -2
  157. waldur_api_client/models/marketplace_rancher_create_order_attributes.py +3 -0
  158. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -1
  159. waldur_api_client/models/marketplace_resources_list_field_item.py +1 -1
  160. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -1
  161. waldur_api_client/models/marketplace_service_providers_course_accounts_list_state_item.py +10 -0
  162. waldur_api_client/models/marketplace_service_providers_list_field_item.py +1 -0
  163. waldur_api_client/models/marketplace_service_providers_project_service_accounts_list_state_item.py +10 -0
  164. waldur_api_client/models/marketplace_service_providers_projects_list_field_item.py +1 -0
  165. waldur_api_client/models/marketplace_service_providers_retrieve_field_item.py +1 -0
  166. waldur_api_client/models/marketplace_user_offering_consents_count_o_item.py +15 -0
  167. waldur_api_client/models/marketplace_user_offering_consents_list_o_item.py +15 -0
  168. waldur_api_client/models/nested_security_group_rule.py +223 -0
  169. waldur_api_client/models/nested_security_group_rule_request.py +188 -0
  170. waldur_api_client/models/offering.py +0 -18
  171. waldur_api_client/models/offering_create.py +0 -18
  172. waldur_api_client/models/offering_create_request.py +0 -18
  173. waldur_api_client/models/offering_overview_update_request.py +0 -18
  174. waldur_api_client/models/offering_terms_of_service.py +142 -0
  175. waldur_api_client/models/offering_terms_of_service_create.py +107 -0
  176. waldur_api_client/models/offering_terms_of_service_create_request.py +107 -0
  177. waldur_api_client/models/offering_terms_of_service_request.py +96 -0
  178. waldur_api_client/models/open_stack_backup_restoration_request.py +0 -22
  179. waldur_api_client/models/open_stack_fixed_ip.py +13 -3
  180. waldur_api_client/models/open_stack_fixed_ip_request.py +7 -2
  181. waldur_api_client/models/open_stack_instance_create_order_attributes.py +23 -20
  182. waldur_api_client/models/open_stack_nested_security_group.py +53 -1
  183. waldur_api_client/models/open_stack_network.py +20 -0
  184. waldur_api_client/models/open_stack_port_ip_update_request.py +6 -2
  185. waldur_api_client/models/open_stack_security_group_rule_update_request.py +4 -4
  186. waldur_api_client/models/open_stack_static_route.py +13 -4
  187. waldur_api_client/models/open_stack_static_route_request.py +7 -3
  188. waldur_api_client/models/open_stack_sub_net.py +15 -2
  189. waldur_api_client/models/open_stack_sub_net_allocation_pool.py +27 -8
  190. waldur_api_client/models/open_stack_sub_net_allocation_pool_request.py +14 -5
  191. waldur_api_client/models/open_stack_sub_net_request.py +15 -2
  192. waldur_api_client/models/open_stack_tenant.py +38 -0
  193. waldur_api_client/models/open_stack_tenant_create_order_attributes.py +21 -0
  194. waldur_api_client/models/open_stack_volume_create_order_attributes.py +3 -0
  195. waldur_api_client/models/openstack_networks_list_field_item.py +1 -0
  196. waldur_api_client/models/openstack_networks_retrieve_field_item.py +1 -0
  197. waldur_api_client/models/openstack_tenants_list_field_item.py +3 -0
  198. waldur_api_client/models/openstack_tenants_retrieve_field_item.py +3 -0
  199. waldur_api_client/models/order_create.py +0 -8
  200. waldur_api_client/models/order_create_request.py +23 -7
  201. waldur_api_client/models/order_details.py +0 -9
  202. waldur_api_client/models/patched_customer_request.py +9 -0
  203. waldur_api_client/models/patched_issue_status_request.py +76 -0
  204. waldur_api_client/models/patched_offering_terms_of_service_request.py +96 -0
  205. waldur_api_client/models/patched_open_stack_sub_net_request.py +15 -2
  206. waldur_api_client/models/patched_project_request.py +17 -0
  207. waldur_api_client/models/patched_question_admin_request.py +17 -0
  208. waldur_api_client/models/patched_rancher_service_request.py +1 -1
  209. waldur_api_client/models/patched_user_offering_consent_request.py +59 -0
  210. waldur_api_client/models/permission_project.py +147 -0
  211. waldur_api_client/models/permission_request.py +16 -0
  212. waldur_api_client/models/project.py +17 -0
  213. waldur_api_client/models/project_answer.py +122 -0
  214. waldur_api_client/models/project_detail.py +133 -0
  215. waldur_api_client/models/project_details_response.py +115 -0
  216. waldur_api_client/models/project_permission_review.py +166 -0
  217. waldur_api_client/models/project_permissions_reviews_count_o_item.py +11 -0
  218. waldur_api_client/models/project_permissions_reviews_list_o_item.py +11 -0
  219. waldur_api_client/models/project_request.py +17 -0
  220. waldur_api_client/models/project_service_account.py +9 -0
  221. waldur_api_client/models/projects_list_field_item.py +1 -0
  222. waldur_api_client/models/projects_other_users_list_o.py +9 -0
  223. waldur_api_client/models/projects_retrieve_field_item.py +1 -0
  224. waldur_api_client/models/proposal.py +8 -0
  225. waldur_api_client/models/proposal_review.py +8 -0
  226. waldur_api_client/models/provider_offering_details.py +0 -18
  227. waldur_api_client/models/provider_offering_details_request.py +0 -18
  228. waldur_api_client/models/public_offering_details.py +0 -18
  229. waldur_api_client/models/question_admin.py +17 -0
  230. waldur_api_client/models/question_admin_request.py +17 -0
  231. waldur_api_client/models/question_answer.py +176 -0
  232. waldur_api_client/models/question_answer_project_answers_item.py +44 -0
  233. waldur_api_client/models/question_answer_question_options_item.py +44 -0
  234. waldur_api_client/models/rancher_nested_public_ip.py +25 -7
  235. waldur_api_client/models/rancher_service.py +1 -1
  236. waldur_api_client/models/rancher_service_request.py +1 -1
  237. waldur_api_client/models/remote_resource_order.py +88 -0
  238. waldur_api_client/models/remote_resource_order_remote_state_enum.py +15 -0
  239. waldur_api_client/models/remote_resource_sync_status.py +123 -0
  240. waldur_api_client/models/{robot_account_states.py → remote_resource_sync_status_remote_state_enum.py} +1 -1
  241. waldur_api_client/models/remote_resource_team_member.py +85 -0
  242. waldur_api_client/models/resource.py +10 -9
  243. waldur_api_client/models/rmq_connection.py +8 -3
  244. waldur_api_client/models/rmq_subscription.py +7 -3
  245. waldur_api_client/models/robot_account.py +9 -17
  246. waldur_api_client/models/robot_account_details.py +9 -17
  247. waldur_api_client/models/service_account_state.py +10 -0
  248. waldur_api_client/models/service_provider.py +9 -0
  249. waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +3 -0
  250. waldur_api_client/models/submit_request_response.py +75 -0
  251. waldur_api_client/models/sync_status_enum.py +10 -0
  252. waldur_api_client/models/user_offering_consent.py +202 -0
  253. waldur_api_client/models/user_offering_consent_create.py +60 -0
  254. waldur_api_client/models/user_offering_consent_create_request.py +60 -0
  255. waldur_api_client/models/user_offering_consent_request.py +59 -0
  256. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +3 -0
  257. waldur_api_client/models/visible_invitation_details.py +9 -0
  258. {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/METADATA +1 -1
  259. {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/RECORD +261 -145
  260. {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/LICENSE +0 -0
  261. {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
@@ -0,0 +1,11 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ProjectPermissionsReviewsCountOItem(str, Enum):
5
+ CLOSED = "closed"
6
+ CREATED = "created"
7
+ VALUE_0 = "-closed"
8
+ VALUE_1 = "-created"
9
+
10
+ def __str__(self) -> str:
11
+ return str(self.value)
@@ -0,0 +1,11 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ProjectPermissionsReviewsListOItem(str, Enum):
5
+ CLOSED = "closed"
6
+ CREATED = "created"
7
+ VALUE_0 = "-closed"
8
+ VALUE_1 = "-created"
9
+
10
+ def __str__(self) -> str:
11
+ return str(self.value)
@@ -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