waldur-api-client 7.7.5__py3-none-any.whl → 7.7.7__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 (229) 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/customers/customers_project_metadata_compliance_details_list.py +189 -0
  4. waldur_api_client/api/customers/customers_project_metadata_compliance_overview_list.py +189 -0
  5. waldur_api_client/api/customers/customers_project_metadata_compliance_projects_list.py +187 -0
  6. waldur_api_client/api/customers/customers_project_metadata_question_answers_list.py +187 -0
  7. waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_count.py +34 -11
  8. waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_list.py +34 -11
  9. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_count.py +34 -11
  10. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_list.py +34 -11
  11. waldur_api_client/api/marketplace_offering_terms_of_service/__init__.py +1 -0
  12. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_count.py +274 -0
  13. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_create.py +152 -0
  14. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_destroy.py +89 -0
  15. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_list.py +277 -0
  16. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_partial_update.py +164 -0
  17. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_retrieve.py +142 -0
  18. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_update.py +164 -0
  19. waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_count.py +34 -11
  20. waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_list.py +34 -11
  21. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_retrieve.py +154 -0
  22. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_review_retrieve.py +154 -0
  23. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_review_status_retrieve.py +154 -0
  24. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_status_retrieve.py +154 -0
  25. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_count.py +34 -11
  26. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +34 -11
  27. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_submit_answers.py +179 -0
  28. waldur_api_client/api/marketplace_orders/marketplace_orders_count.py +19 -0
  29. waldur_api_client/api/marketplace_orders/marketplace_orders_list.py +19 -0
  30. waldur_api_client/api/marketplace_plans/marketplace_plans_count.py +19 -0
  31. waldur_api_client/api/marketplace_plans/marketplace_plans_list.py +19 -0
  32. waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_count.py +19 -0
  33. waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_list.py +19 -0
  34. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +34 -11
  35. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +34 -11
  36. waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +34 -11
  37. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +34 -11
  38. waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_list.py +23 -0
  39. waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_retrieve.py +30 -1
  40. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_count.py +34 -11
  41. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_list.py +34 -11
  42. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_service_accounts_list.py +276 -0
  43. waldur_api_client/api/marketplace_service_providers/service_provider_compliance_overview.py +189 -0
  44. waldur_api_client/api/marketplace_service_providers/service_provider_offering_users_compliance.py +222 -0
  45. waldur_api_client/api/marketplace_user_offering_consents/__init__.py +1 -0
  46. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_count.py +307 -0
  47. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_create.py +152 -0
  48. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_destroy.py +89 -0
  49. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_list.py +310 -0
  50. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_partial_update.py +164 -0
  51. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_retrieve.py +142 -0
  52. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_revoke.py +146 -0
  53. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_update.py +164 -0
  54. waldur_api_client/api/public_maintenance_announcements/__init__.py +1 -0
  55. waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_count.py +325 -0
  56. waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_list.py +328 -0
  57. waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_retrieve.py +144 -0
  58. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_order_status_retrieve.py +145 -0
  59. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_status_retrieve.py +147 -0
  60. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_team_status_list.py +188 -0
  61. waldur_api_client/models/__init__.py +118 -4
  62. waldur_api_client/models/admin_announcement.py +109 -1
  63. waldur_api_client/models/admin_announcement_maintenance_affected_offerings_item.py +103 -0
  64. waldur_api_client/models/admin_announcements_list_field_item.py +8 -0
  65. waldur_api_client/models/admin_announcements_retrieve_field_item.py +8 -0
  66. waldur_api_client/models/azure_sql_server_create_order_attributes.py +83 -0
  67. waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +99 -0
  68. waldur_api_client/models/basic_user.py +30 -21
  69. waldur_api_client/models/booking_offerings_list_field_item.py +1 -2
  70. waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -2
  71. waldur_api_client/models/booking_resource.py +10 -9
  72. waldur_api_client/models/booking_resources_list_field_item.py +1 -1
  73. waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -1
  74. waldur_api_client/models/checklist_info.py +76 -0
  75. waldur_api_client/models/compliance_overview.py +91 -0
  76. waldur_api_client/models/create_router.py +1 -1
  77. waldur_api_client/models/create_router_request.py +1 -1
  78. waldur_api_client/models/customer.py +51 -0
  79. waldur_api_client/models/customers_list_field_item.py +2 -0
  80. waldur_api_client/models/customers_retrieve_field_item.py +2 -0
  81. waldur_api_client/models/fingerprint.py +19 -17
  82. waldur_api_client/models/generic_order_attributes.py +69 -0
  83. waldur_api_client/models/google_auth_authorize_retrieve_field_item.py +1 -0
  84. waldur_api_client/models/google_auth_list_field_item.py +1 -0
  85. waldur_api_client/models/google_auth_retrieve_field_item.py +1 -0
  86. waldur_api_client/models/google_credentials.py +9 -0
  87. waldur_api_client/models/group_invitation.py +24 -0
  88. waldur_api_client/models/group_invitation_request.py +10 -0
  89. waldur_api_client/models/instance_flavor_change_request.py +1 -1
  90. waldur_api_client/models/maintenance_announcement.py +8 -0
  91. waldur_api_client/models/marketplace_managed_rancher_create_order_attributes.py +144 -0
  92. waldur_api_client/models/marketplace_offering_terms_of_service_count_o_item.py +13 -0
  93. waldur_api_client/models/marketplace_offering_terms_of_service_list_o_item.py +13 -0
  94. waldur_api_client/models/marketplace_orders_list_field_item.py +1 -1
  95. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +1 -1
  96. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +1 -2
  97. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +1 -2
  98. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +1 -2
  99. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +1 -2
  100. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +1 -2
  101. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +1 -2
  102. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -1
  103. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -1
  104. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -1
  105. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -2
  106. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -2
  107. waldur_api_client/models/marketplace_rancher_create_order_attributes.py +145 -0
  108. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -1
  109. waldur_api_client/models/marketplace_resources_list_field_item.py +1 -1
  110. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -1
  111. waldur_api_client/models/marketplace_robot_accounts_list_field_item.py +32 -0
  112. waldur_api_client/models/marketplace_robot_accounts_retrieve_field_item.py +32 -0
  113. waldur_api_client/models/marketplace_service_providers_list_field_item.py +1 -0
  114. waldur_api_client/models/marketplace_service_providers_retrieve_field_item.py +1 -0
  115. waldur_api_client/models/marketplace_user_offering_consents_count_o_item.py +15 -0
  116. waldur_api_client/models/marketplace_user_offering_consents_list_o_item.py +15 -0
  117. waldur_api_client/models/offering.py +9 -18
  118. waldur_api_client/models/offering_create.py +8 -18
  119. waldur_api_client/models/offering_create_request.py +0 -18
  120. waldur_api_client/models/offering_overview_update_request.py +0 -18
  121. waldur_api_client/models/offering_terms_of_service.py +142 -0
  122. waldur_api_client/models/offering_terms_of_service_create.py +107 -0
  123. waldur_api_client/models/offering_terms_of_service_create_request.py +107 -0
  124. waldur_api_client/models/offering_terms_of_service_request.py +96 -0
  125. waldur_api_client/models/open_stack_backend_instance.py +2 -2
  126. waldur_api_client/models/open_stack_backend_volumes.py +3 -3
  127. waldur_api_client/models/open_stack_backup.py +1 -1
  128. waldur_api_client/models/open_stack_backup_restoration.py +8 -5
  129. waldur_api_client/models/open_stack_backup_restoration_request.py +28 -3
  130. waldur_api_client/models/open_stack_fixed_ip.py +2 -2
  131. waldur_api_client/models/open_stack_fixed_ip_request.py +2 -2
  132. waldur_api_client/models/open_stack_floating_ip.py +5 -4
  133. waldur_api_client/models/open_stack_instance.py +17 -15
  134. waldur_api_client/models/open_stack_instance_allowed_address_pairs_update_request.py +3 -2
  135. waldur_api_client/models/open_stack_instance_availability_zone.py +1 -1
  136. waldur_api_client/models/open_stack_instance_create_order_attributes.py +283 -0
  137. waldur_api_client/models/open_stack_instance_request.py +4 -3
  138. waldur_api_client/models/open_stack_instance_security_groups_update_request.py +1 -1
  139. waldur_api_client/models/open_stack_nested_floating_ip.py +3 -3
  140. waldur_api_client/models/open_stack_nested_instance.py +1 -1
  141. waldur_api_client/models/open_stack_nested_port.py +5 -5
  142. waldur_api_client/models/open_stack_nested_port_request.py +1 -1
  143. waldur_api_client/models/open_stack_nested_security_group.py +16 -16
  144. waldur_api_client/models/open_stack_nested_security_group_request.py +59 -0
  145. waldur_api_client/models/{nested_security_group_rule_request.py → open_stack_nested_security_group_rules_item.py} +73 -63
  146. waldur_api_client/models/open_stack_nested_sub_net.py +4 -4
  147. waldur_api_client/models/open_stack_nested_sub_net_request.py +4 -4
  148. waldur_api_client/models/open_stack_nested_volume.py +3 -3
  149. waldur_api_client/models/open_stack_nested_volume_request.py +3 -3
  150. waldur_api_client/models/open_stack_network.py +23 -3
  151. waldur_api_client/models/open_stack_port.py +10 -9
  152. waldur_api_client/models/open_stack_port_ip_update_request.py +2 -2
  153. waldur_api_client/models/open_stack_port_request.py +3 -3
  154. waldur_api_client/models/open_stack_router.py +2 -2
  155. waldur_api_client/models/open_stack_router_interface_request.py +4 -2
  156. waldur_api_client/models/open_stack_security_group_rule_create.py +6 -5
  157. waldur_api_client/models/open_stack_security_group_rule_create_request.py +6 -5
  158. waldur_api_client/models/open_stack_security_group_rule_update_request.py +10 -9
  159. waldur_api_client/models/open_stack_server_group.py +2 -1
  160. waldur_api_client/models/open_stack_server_group_request.py +2 -1
  161. waldur_api_client/models/open_stack_snapshot.py +2 -2
  162. waldur_api_client/models/open_stack_snapshot_restoration.py +1 -1
  163. waldur_api_client/models/open_stack_sub_net.py +5 -5
  164. waldur_api_client/models/open_stack_sub_net_request.py +2 -2
  165. waldur_api_client/models/open_stack_tenant.py +41 -3
  166. waldur_api_client/models/open_stack_tenant_create_order_attributes.py +130 -0
  167. waldur_api_client/models/open_stack_volume.py +9 -9
  168. waldur_api_client/models/open_stack_volume_create_order_attributes.py +155 -0
  169. waldur_api_client/models/open_stack_volume_request.py +1 -1
  170. waldur_api_client/models/openstack_networks_list_field_item.py +1 -0
  171. waldur_api_client/models/openstack_networks_retrieve_field_item.py +1 -0
  172. waldur_api_client/models/openstack_tenants_list_field_item.py +3 -0
  173. waldur_api_client/models/openstack_tenants_retrieve_field_item.py +3 -0
  174. waldur_api_client/models/order_create.py +0 -8
  175. waldur_api_client/models/order_create_request.py +181 -4
  176. waldur_api_client/models/order_details.py +0 -9
  177. waldur_api_client/models/patched_offering_terms_of_service_request.py +96 -0
  178. waldur_api_client/models/patched_open_stack_instance_request.py +4 -3
  179. waldur_api_client/models/patched_open_stack_server_group_request.py +2 -1
  180. waldur_api_client/models/patched_open_stack_sub_net_request.py +2 -2
  181. waldur_api_client/models/patched_open_stack_volume_request.py +1 -1
  182. waldur_api_client/models/patched_user_offering_consent_request.py +59 -0
  183. waldur_api_client/models/permission_project.py +147 -0
  184. waldur_api_client/models/permission_request.py +2 -2
  185. waldur_api_client/models/project_answer.py +122 -0
  186. waldur_api_client/models/project_detail.py +133 -0
  187. waldur_api_client/models/project_details_response.py +115 -0
  188. waldur_api_client/models/provider_offering_details.py +9 -18
  189. waldur_api_client/models/provider_offering_details_request.py +0 -18
  190. waldur_api_client/models/public_maintenance_announcement.py +217 -0
  191. waldur_api_client/models/public_maintenance_announcement_state_enum.py +10 -0
  192. waldur_api_client/models/public_maintenance_announcements_count_o_item.py +15 -0
  193. waldur_api_client/models/public_maintenance_announcements_count_state_item.py +12 -0
  194. waldur_api_client/models/public_maintenance_announcements_list_o_item.py +15 -0
  195. waldur_api_client/models/public_maintenance_announcements_list_state_item.py +12 -0
  196. waldur_api_client/models/public_offering_details.py +9 -18
  197. waldur_api_client/models/question_answer.py +176 -0
  198. waldur_api_client/models/question_answer_project_answers_item.py +44 -0
  199. waldur_api_client/models/question_answer_question_options_item.py +44 -0
  200. waldur_api_client/models/rancher_cluster_security_group_rule.py +5 -4
  201. waldur_api_client/models/rancher_cluster_security_group_rule_request.py +5 -4
  202. waldur_api_client/models/remote_project_update_request.py +2 -2
  203. waldur_api_client/models/remote_resource_order.py +88 -0
  204. waldur_api_client/models/remote_resource_order_remote_state_enum.py +15 -0
  205. waldur_api_client/models/remote_resource_sync_status.py +123 -0
  206. waldur_api_client/models/remote_resource_sync_status_remote_state_enum.py +13 -0
  207. waldur_api_client/models/remote_resource_team_member.py +85 -0
  208. waldur_api_client/models/resource.py +10 -9
  209. waldur_api_client/models/robot_account_details.py +226 -144
  210. waldur_api_client/models/service_provider.py +9 -0
  211. waldur_api_client/models/service_provider_compliance_overview.py +122 -0
  212. waldur_api_client/models/service_provider_offering_user_compliance.py +179 -0
  213. waldur_api_client/models/service_provider_offering_user_compliance_state_enum.py +17 -0
  214. waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +75 -0
  215. waldur_api_client/models/sync_status_enum.py +10 -0
  216. waldur_api_client/models/user_offering_consent.py +202 -0
  217. waldur_api_client/models/user_offering_consent_create.py +60 -0
  218. waldur_api_client/models/user_offering_consent_create_request.py +60 -0
  219. waldur_api_client/models/user_offering_consent_request.py +59 -0
  220. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +228 -0
  221. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_1.py +155 -0
  222. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_2_type_1.py +155 -0
  223. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_3_type_1.py +155 -0
  224. waldur_api_client/models/volume_attach_request.py +1 -1
  225. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/METADATA +1 -1
  226. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/RECORD +228 -138
  227. waldur_api_client/models/nested_security_group_rule.py +0 -222
  228. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/LICENSE +0 -0
  229. {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/WHEEL +0 -0
@@ -37,7 +37,6 @@ class BookingResource:
37
37
  offering_image (Union[Unset, str]):
38
38
  offering_thumbnail (Union[Unset, str]):
39
39
  offering_type (Union[Unset, str]):
40
- offering_terms_of_service (Union[Unset, str]):
41
40
  offering_shared (Union[Unset, bool]): Accessible to all customers.
42
41
  offering_billable (Union[Unset, bool]): Purchase and usage is invoiced.
43
42
  offering_plugin_options (Union[Unset, Any]): Public data used by specific plugin, such as storage mode for
@@ -108,6 +107,8 @@ class BookingResource:
108
107
  service_settings_uuid (Union[Unset, UUID]):
109
108
  project_slug (Union[Unset, str]):
110
109
  customer_slug (Union[Unset, str]):
110
+ user_requires_reconsent (Union[Unset, bool]): Check if the current user needs to re-consent for this resource's
111
+ offering.
111
112
  created_by (Union[Unset, str]):
112
113
  created_by_username (Union[Unset, str]): Required. 128 characters or fewer. Lowercase letters, numbers and
113
114
  @/./+/-/_ characters
@@ -126,7 +127,6 @@ class BookingResource:
126
127
  offering_image: Union[Unset, str] = UNSET
127
128
  offering_thumbnail: Union[Unset, str] = UNSET
128
129
  offering_type: Union[Unset, str] = UNSET
129
- offering_terms_of_service: Union[Unset, str] = UNSET
130
130
  offering_shared: Union[Unset, bool] = UNSET
131
131
  offering_billable: Union[Unset, bool] = UNSET
132
132
  offering_plugin_options: Union[Unset, Any] = UNSET
@@ -194,6 +194,7 @@ class BookingResource:
194
194
  service_settings_uuid: Union[Unset, UUID] = UNSET
195
195
  project_slug: Union[Unset, str] = UNSET
196
196
  customer_slug: Union[Unset, str] = UNSET
197
+ user_requires_reconsent: Union[Unset, bool] = UNSET
197
198
  created_by: Union[Unset, str] = UNSET
198
199
  created_by_username: Union[Unset, str] = UNSET
199
200
  created_by_full_name: Union[Unset, str] = UNSET
@@ -222,8 +223,6 @@ class BookingResource:
222
223
 
223
224
  offering_type = self.offering_type
224
225
 
225
- offering_terms_of_service = self.offering_terms_of_service
226
-
227
226
  offering_shared = self.offering_shared
228
227
 
229
228
  offering_billable = self.offering_billable
@@ -468,6 +467,8 @@ class BookingResource:
468
467
 
469
468
  customer_slug = self.customer_slug
470
469
 
470
+ user_requires_reconsent = self.user_requires_reconsent
471
+
471
472
  created_by = self.created_by
472
473
 
473
474
  created_by_username = self.created_by_username
@@ -504,8 +505,6 @@ class BookingResource:
504
505
  field_dict["offering_thumbnail"] = offering_thumbnail
505
506
  if offering_type is not UNSET:
506
507
  field_dict["offering_type"] = offering_type
507
- if offering_terms_of_service is not UNSET:
508
- field_dict["offering_terms_of_service"] = offering_terms_of_service
509
508
  if offering_shared is not UNSET:
510
509
  field_dict["offering_shared"] = offering_shared
511
510
  if offering_billable is not UNSET:
@@ -640,6 +639,8 @@ class BookingResource:
640
639
  field_dict["project_slug"] = project_slug
641
640
  if customer_slug is not UNSET:
642
641
  field_dict["customer_slug"] = customer_slug
642
+ if user_requires_reconsent is not UNSET:
643
+ field_dict["user_requires_reconsent"] = user_requires_reconsent
643
644
  if created_by is not UNSET:
644
645
  field_dict["created_by"] = created_by
645
646
  if created_by_username is not UNSET:
@@ -689,8 +690,6 @@ class BookingResource:
689
690
 
690
691
  offering_type = d.pop("offering_type", UNSET)
691
692
 
692
- offering_terms_of_service = d.pop("offering_terms_of_service", UNSET)
693
-
694
693
  offering_shared = d.pop("offering_shared", UNSET)
695
694
 
696
695
  offering_billable = d.pop("offering_billable", UNSET)
@@ -1065,6 +1064,8 @@ class BookingResource:
1065
1064
 
1066
1065
  customer_slug = d.pop("customer_slug", UNSET)
1067
1066
 
1067
+ user_requires_reconsent = d.pop("user_requires_reconsent", UNSET)
1068
+
1068
1069
  created_by = d.pop("created_by", UNSET)
1069
1070
 
1070
1071
  created_by_username = d.pop("created_by_username", UNSET)
@@ -1092,7 +1093,6 @@ class BookingResource:
1092
1093
  offering_image=offering_image,
1093
1094
  offering_thumbnail=offering_thumbnail,
1094
1095
  offering_type=offering_type,
1095
- offering_terms_of_service=offering_terms_of_service,
1096
1096
  offering_shared=offering_shared,
1097
1097
  offering_billable=offering_billable,
1098
1098
  offering_plugin_options=offering_plugin_options,
@@ -1160,6 +1160,7 @@ class BookingResource:
1160
1160
  service_settings_uuid=service_settings_uuid,
1161
1161
  project_slug=project_slug,
1162
1162
  customer_slug=customer_slug,
1163
+ user_requires_reconsent=user_requires_reconsent,
1163
1164
  created_by=created_by,
1164
1165
  created_by_username=created_by_username,
1165
1166
  created_by_full_name=created_by_full_name,
@@ -46,7 +46,6 @@ class BookingResourcesListFieldItem(str, Enum):
46
46
  OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
47
47
  OFFERING_SHARED = "offering_shared"
48
48
  OFFERING_SLUG = "offering_slug"
49
- OFFERING_TERMS_OF_SERVICE = "offering_terms_of_service"
50
49
  OFFERING_THUMBNAIL = "offering_thumbnail"
51
50
  OFFERING_TYPE = "offering_type"
52
51
  OFFERING_UUID = "offering_uuid"
@@ -83,6 +82,7 @@ class BookingResourcesListFieldItem(str, Enum):
83
82
  STATE = "state"
84
83
  URL = "url"
85
84
  USERNAME = "username"
85
+ USER_REQUIRES_RECONSENT = "user_requires_reconsent"
86
86
  UUID = "uuid"
87
87
 
88
88
  def __str__(self) -> str:
@@ -46,7 +46,6 @@ class BookingResourcesRetrieveFieldItem(str, Enum):
46
46
  OFFERING_PLUGIN_OPTIONS = "offering_plugin_options"
47
47
  OFFERING_SHARED = "offering_shared"
48
48
  OFFERING_SLUG = "offering_slug"
49
- OFFERING_TERMS_OF_SERVICE = "offering_terms_of_service"
50
49
  OFFERING_THUMBNAIL = "offering_thumbnail"
51
50
  OFFERING_TYPE = "offering_type"
52
51
  OFFERING_UUID = "offering_uuid"
@@ -83,6 +82,7 @@ class BookingResourcesRetrieveFieldItem(str, Enum):
83
82
  STATE = "state"
84
83
  URL = "url"
85
84
  USERNAME = "username"
85
+ USER_REQUIRES_RECONSENT = "user_requires_reconsent"
86
86
  UUID = "uuid"
87
87
 
88
88
  def __str__(self) -> str:
@@ -0,0 +1,76 @@
1
+ from collections.abc import Mapping
2
+ from typing import 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
+ T = TypeVar("T", bound="ChecklistInfo")
9
+
10
+
11
+ @_attrs_define
12
+ class ChecklistInfo:
13
+ """
14
+ Attributes:
15
+ uuid (UUID):
16
+ name (str):
17
+ checklist_type (str):
18
+ """
19
+
20
+ uuid: UUID
21
+ name: str
22
+ checklist_type: str
23
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> dict[str, Any]:
26
+ uuid = str(self.uuid)
27
+
28
+ name = self.name
29
+
30
+ checklist_type = self.checklist_type
31
+
32
+ field_dict: dict[str, Any] = {}
33
+ field_dict.update(self.additional_properties)
34
+ field_dict.update(
35
+ {
36
+ "uuid": uuid,
37
+ "name": name,
38
+ "checklist_type": checklist_type,
39
+ }
40
+ )
41
+
42
+ return field_dict
43
+
44
+ @classmethod
45
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
46
+ d = dict(src_dict)
47
+ uuid = UUID(d.pop("uuid"))
48
+
49
+ name = d.pop("name")
50
+
51
+ checklist_type = d.pop("checklist_type")
52
+
53
+ checklist_info = cls(
54
+ uuid=uuid,
55
+ name=name,
56
+ checklist_type=checklist_type,
57
+ )
58
+
59
+ checklist_info.additional_properties = d
60
+ return checklist_info
61
+
62
+ @property
63
+ def additional_keys(self) -> list[str]:
64
+ return list(self.additional_properties.keys())
65
+
66
+ def __getitem__(self, key: str) -> Any:
67
+ return self.additional_properties[key]
68
+
69
+ def __setitem__(self, key: str, value: Any) -> None:
70
+ self.additional_properties[key] = value
71
+
72
+ def __delitem__(self, key: str) -> None:
73
+ del self.additional_properties[key]
74
+
75
+ def __contains__(self, key: str) -> bool:
76
+ return key in self.additional_properties
@@ -0,0 +1,91 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="ComplianceOverview")
8
+
9
+
10
+ @_attrs_define
11
+ class ComplianceOverview:
12
+ """
13
+ Attributes:
14
+ total_projects (int):
15
+ projects_with_completions (int):
16
+ fully_completed_projects (int):
17
+ projects_requiring_review (int):
18
+ average_completion_percentage (float):
19
+ """
20
+
21
+ total_projects: int
22
+ projects_with_completions: int
23
+ fully_completed_projects: int
24
+ projects_requiring_review: int
25
+ average_completion_percentage: float
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ total_projects = self.total_projects
30
+
31
+ projects_with_completions = self.projects_with_completions
32
+
33
+ fully_completed_projects = self.fully_completed_projects
34
+
35
+ projects_requiring_review = self.projects_requiring_review
36
+
37
+ average_completion_percentage = self.average_completion_percentage
38
+
39
+ field_dict: dict[str, Any] = {}
40
+ field_dict.update(self.additional_properties)
41
+ field_dict.update(
42
+ {
43
+ "total_projects": total_projects,
44
+ "projects_with_completions": projects_with_completions,
45
+ "fully_completed_projects": fully_completed_projects,
46
+ "projects_requiring_review": projects_requiring_review,
47
+ "average_completion_percentage": average_completion_percentage,
48
+ }
49
+ )
50
+
51
+ return field_dict
52
+
53
+ @classmethod
54
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
55
+ d = dict(src_dict)
56
+ total_projects = d.pop("total_projects")
57
+
58
+ projects_with_completions = d.pop("projects_with_completions")
59
+
60
+ fully_completed_projects = d.pop("fully_completed_projects")
61
+
62
+ projects_requiring_review = d.pop("projects_requiring_review")
63
+
64
+ average_completion_percentage = d.pop("average_completion_percentage")
65
+
66
+ compliance_overview = cls(
67
+ total_projects=total_projects,
68
+ projects_with_completions=projects_with_completions,
69
+ fully_completed_projects=fully_completed_projects,
70
+ projects_requiring_review=projects_requiring_review,
71
+ average_completion_percentage=average_completion_percentage,
72
+ )
73
+
74
+ compliance_overview.additional_properties = d
75
+ return compliance_overview
76
+
77
+ @property
78
+ def additional_keys(self) -> list[str]:
79
+ return list(self.additional_properties.keys())
80
+
81
+ def __getitem__(self, key: str) -> Any:
82
+ return self.additional_properties[key]
83
+
84
+ def __setitem__(self, key: str, value: Any) -> None:
85
+ self.additional_properties[key] = value
86
+
87
+ def __delitem__(self, key: str) -> None:
88
+ del self.additional_properties[key]
89
+
90
+ def __contains__(self, key: str) -> bool:
91
+ return key in self.additional_properties
@@ -14,7 +14,7 @@ class CreateRouter:
14
14
  Attributes:
15
15
  url (str):
16
16
  uuid (UUID):
17
- tenant (str):
17
+ tenant (str): OpenStack tenant this router belongs to
18
18
  name (str):
19
19
  project (str):
20
20
  service_settings (str):
@@ -11,7 +11,7 @@ T = TypeVar("T", bound="CreateRouterRequest")
11
11
  class CreateRouterRequest:
12
12
  """
13
13
  Attributes:
14
- tenant (str):
14
+ tenant (str): OpenStack tenant this router belongs to
15
15
  name (str):
16
16
  """
17
17
 
@@ -15,6 +15,7 @@ if TYPE_CHECKING:
15
15
  from ..models.nested_price_estimate import NestedPriceEstimate
16
16
  from ..models.organization_group import OrganizationGroup
17
17
  from ..models.payment_profile import PaymentProfile
18
+ from ..models.permission_project import PermissionProject
18
19
 
19
20
 
20
21
  T = TypeVar("T", bound="Customer")
@@ -29,6 +30,7 @@ class Customer:
29
30
  created (Union[Unset, datetime.datetime]):
30
31
  organization_groups (Union[Unset, list['OrganizationGroup']]):
31
32
  display_name (Union[Unset, str]):
33
+ projects (Union[Unset, list['PermissionProject']]):
32
34
  backend_id (Union[Unset, str]): Organization identifier in another application.
33
35
  image (Union[None, Unset, str]):
34
36
  blocked (Union[Unset, bool]):
@@ -40,6 +42,7 @@ class Customer:
40
42
  sponsor_number (Union[None, Unset, int]): External ID of the sponsor covering the costs
41
43
  country_name (Union[Unset, str]):
42
44
  max_service_accounts (Union[None, Unset, int]): Maximum number of service accounts allowed
45
+ project_metadata_checklist (Union[None, UUID, Unset]):
43
46
  name (Union[Unset, str]):
44
47
  slug (Union[Unset, str]):
45
48
  native_name (Union[Unset, str]):
@@ -76,6 +79,7 @@ class Customer:
76
79
  created: Union[Unset, datetime.datetime] = UNSET
77
80
  organization_groups: Union[Unset, list["OrganizationGroup"]] = UNSET
78
81
  display_name: Union[Unset, str] = UNSET
82
+ projects: Union[Unset, list["PermissionProject"]] = UNSET
79
83
  backend_id: Union[Unset, str] = UNSET
80
84
  image: Union[None, Unset, str] = UNSET
81
85
  blocked: Union[Unset, bool] = UNSET
@@ -87,6 +91,7 @@ class Customer:
87
91
  sponsor_number: Union[None, Unset, int] = UNSET
88
92
  country_name: Union[Unset, str] = UNSET
89
93
  max_service_accounts: Union[None, Unset, int] = UNSET
94
+ project_metadata_checklist: Union[None, UUID, Unset] = UNSET
90
95
  name: Union[Unset, str] = UNSET
91
96
  slug: Union[Unset, str] = UNSET
92
97
  native_name: Union[Unset, str] = UNSET
@@ -137,6 +142,13 @@ class Customer:
137
142
 
138
143
  display_name = self.display_name
139
144
 
145
+ projects: Union[Unset, list[dict[str, Any]]] = UNSET
146
+ if not isinstance(self.projects, Unset):
147
+ projects = []
148
+ for projects_item_data in self.projects:
149
+ projects_item = projects_item_data.to_dict()
150
+ projects.append(projects_item)
151
+
140
152
  backend_id = self.backend_id
141
153
 
142
154
  image: Union[None, Unset, str]
@@ -173,6 +185,14 @@ class Customer:
173
185
  else:
174
186
  max_service_accounts = self.max_service_accounts
175
187
 
188
+ project_metadata_checklist: Union[None, Unset, str]
189
+ if isinstance(self.project_metadata_checklist, Unset):
190
+ project_metadata_checklist = UNSET
191
+ elif isinstance(self.project_metadata_checklist, UUID):
192
+ project_metadata_checklist = str(self.project_metadata_checklist)
193
+ else:
194
+ project_metadata_checklist = self.project_metadata_checklist
195
+
176
196
  name = self.name
177
197
 
178
198
  slug = self.slug
@@ -285,6 +305,8 @@ class Customer:
285
305
  field_dict["organization_groups"] = organization_groups
286
306
  if display_name is not UNSET:
287
307
  field_dict["display_name"] = display_name
308
+ if projects is not UNSET:
309
+ field_dict["projects"] = projects
288
310
  if backend_id is not UNSET:
289
311
  field_dict["backend_id"] = backend_id
290
312
  if image is not UNSET:
@@ -307,6 +329,8 @@ class Customer:
307
329
  field_dict["country_name"] = country_name
308
330
  if max_service_accounts is not UNSET:
309
331
  field_dict["max_service_accounts"] = max_service_accounts
332
+ if project_metadata_checklist is not UNSET:
333
+ field_dict["project_metadata_checklist"] = project_metadata_checklist
310
334
  if name is not UNSET:
311
335
  field_dict["name"] = name
312
336
  if slug is not UNSET:
@@ -371,6 +395,7 @@ class Customer:
371
395
  from ..models.nested_price_estimate import NestedPriceEstimate
372
396
  from ..models.organization_group import OrganizationGroup
373
397
  from ..models.payment_profile import PaymentProfile
398
+ from ..models.permission_project import PermissionProject
374
399
 
375
400
  d = dict(src_dict)
376
401
  url = d.pop("url", UNSET)
@@ -398,6 +423,13 @@ class Customer:
398
423
 
399
424
  display_name = d.pop("display_name", UNSET)
400
425
 
426
+ projects = []
427
+ _projects = d.pop("projects", UNSET)
428
+ for projects_item_data in _projects or []:
429
+ projects_item = PermissionProject.from_dict(projects_item_data)
430
+
431
+ projects.append(projects_item)
432
+
401
433
  backend_id = d.pop("backend_id", UNSET)
402
434
 
403
435
  def _parse_image(data: object) -> Union[None, Unset, str]:
@@ -446,6 +478,23 @@ class Customer:
446
478
 
447
479
  max_service_accounts = _parse_max_service_accounts(d.pop("max_service_accounts", UNSET))
448
480
 
481
+ def _parse_project_metadata_checklist(data: object) -> Union[None, UUID, Unset]:
482
+ if data is None:
483
+ return data
484
+ if isinstance(data, Unset):
485
+ return data
486
+ try:
487
+ if not isinstance(data, str):
488
+ raise TypeError()
489
+ project_metadata_checklist_type_0 = UUID(data)
490
+
491
+ return project_metadata_checklist_type_0
492
+ except: # noqa: E722
493
+ pass
494
+ return cast(Union[None, UUID, Unset], data)
495
+
496
+ project_metadata_checklist = _parse_project_metadata_checklist(d.pop("project_metadata_checklist", UNSET))
497
+
449
498
  name = d.pop("name", UNSET)
450
499
 
451
500
  slug = d.pop("slug", UNSET)
@@ -594,6 +643,7 @@ class Customer:
594
643
  created=created,
595
644
  organization_groups=organization_groups,
596
645
  display_name=display_name,
646
+ projects=projects,
597
647
  backend_id=backend_id,
598
648
  image=image,
599
649
  blocked=blocked,
@@ -605,6 +655,7 @@ class Customer:
605
655
  sponsor_number=sponsor_number,
606
656
  country_name=country_name,
607
657
  max_service_accounts=max_service_accounts,
658
+ project_metadata_checklist=project_metadata_checklist,
608
659
  name=name,
609
660
  slug=slug,
610
661
  native_name=native_name,
@@ -36,7 +36,9 @@ class CustomersListFieldItem(str, Enum):
36
36
  PAYMENT_PROFILES = "payment_profiles"
37
37
  PHONE_NUMBER = "phone_number"
38
38
  POSTAL = "postal"
39
+ PROJECTS = "projects"
39
40
  PROJECTS_COUNT = "projects_count"
41
+ PROJECT_METADATA_CHECKLIST = "project_metadata_checklist"
40
42
  REGISTRATION_CODE = "registration_code"
41
43
  SERVICE_PROVIDER = "service_provider"
42
44
  SERVICE_PROVIDER_UUID = "service_provider_uuid"
@@ -36,7 +36,9 @@ class CustomersRetrieveFieldItem(str, Enum):
36
36
  PAYMENT_PROFILES = "payment_profiles"
37
37
  PHONE_NUMBER = "phone_number"
38
38
  POSTAL = "postal"
39
+ PROJECTS = "projects"
39
40
  PROJECTS_COUNT = "projects_count"
41
+ PROJECT_METADATA_CHECKLIST = "project_metadata_checklist"
40
42
  REGISTRATION_CODE = "registration_code"
41
43
  SERVICE_PROVIDER = "service_provider"
42
44
  SERVICE_PROVIDER_UUID = "service_provider_uuid"
@@ -1,9 +1,11 @@
1
1
  from collections.abc import Mapping
2
- from typing import Any, TypeVar
2
+ from typing import Any, TypeVar, Union
3
3
 
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
6
6
 
7
+ from ..types import UNSET, Unset
8
+
7
9
  T = TypeVar("T", bound="Fingerprint")
8
10
 
9
11
 
@@ -11,14 +13,14 @@ T = TypeVar("T", bound="Fingerprint")
11
13
  class Fingerprint:
12
14
  """
13
15
  Attributes:
14
- md5 (str):
15
- sha256 (str):
16
- sha512 (str):
16
+ md5 (Union[Unset, str]):
17
+ sha256 (Union[Unset, str]):
18
+ sha512 (Union[Unset, str]):
17
19
  """
18
20
 
19
- md5: str
20
- sha256: str
21
- sha512: str
21
+ md5: Union[Unset, str] = UNSET
22
+ sha256: Union[Unset, str] = UNSET
23
+ sha512: Union[Unset, str] = UNSET
22
24
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
25
 
24
26
  def to_dict(self) -> dict[str, Any]:
@@ -30,24 +32,24 @@ class Fingerprint:
30
32
 
31
33
  field_dict: dict[str, Any] = {}
32
34
  field_dict.update(self.additional_properties)
33
- field_dict.update(
34
- {
35
- "md5": md5,
36
- "sha256": sha256,
37
- "sha512": sha512,
38
- }
39
- )
35
+ field_dict.update({})
36
+ if md5 is not UNSET:
37
+ field_dict["md5"] = md5
38
+ if sha256 is not UNSET:
39
+ field_dict["sha256"] = sha256
40
+ if sha512 is not UNSET:
41
+ field_dict["sha512"] = sha512
40
42
 
41
43
  return field_dict
42
44
 
43
45
  @classmethod
44
46
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
45
47
  d = dict(src_dict)
46
- md5 = d.pop("md5")
48
+ md5 = d.pop("md5", UNSET)
47
49
 
48
- sha256 = d.pop("sha256")
50
+ sha256 = d.pop("sha256", UNSET)
49
51
 
50
- sha512 = d.pop("sha512")
52
+ sha512 = d.pop("sha512", UNSET)
51
53
 
52
54
  fingerprint = cls(
53
55
  md5=md5,
@@ -0,0 +1,69 @@
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="GenericOrderAttributes")
10
+
11
+
12
+ @_attrs_define
13
+ class GenericOrderAttributes:
14
+ """A generic JSON object for offerings without a predefined schema. Allows any key-value pairs.
15
+
16
+ Attributes:
17
+ name (Union[Unset, str]): The name of the resource to be created. Will be displayed in the portal.
18
+ description (Union[Unset, str]): A free-form description for the resource.
19
+ """
20
+
21
+ name: Union[Unset, str] = UNSET
22
+ description: Union[Unset, str] = UNSET
23
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> dict[str, Any]:
26
+ name = self.name
27
+
28
+ description = self.description
29
+
30
+ field_dict: dict[str, Any] = {}
31
+ field_dict.update(self.additional_properties)
32
+ field_dict.update({})
33
+ if name is not UNSET:
34
+ field_dict["name"] = name
35
+ if description is not UNSET:
36
+ field_dict["description"] = description
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
42
+ d = dict(src_dict)
43
+ name = d.pop("name", UNSET)
44
+
45
+ description = d.pop("description", UNSET)
46
+
47
+ generic_order_attributes = cls(
48
+ name=name,
49
+ description=description,
50
+ )
51
+
52
+ generic_order_attributes.additional_properties = d
53
+ return generic_order_attributes
54
+
55
+ @property
56
+ def additional_keys(self) -> list[str]:
57
+ return list(self.additional_properties.keys())
58
+
59
+ def __getitem__(self, key: str) -> Any:
60
+ return self.additional_properties[key]
61
+
62
+ def __setitem__(self, key: str, value: Any) -> None:
63
+ self.additional_properties[key] = value
64
+
65
+ def __delitem__(self, key: str) -> None:
66
+ del self.additional_properties[key]
67
+
68
+ def __contains__(self, key: str) -> bool:
69
+ return key in self.additional_properties
@@ -14,6 +14,7 @@ class GoogleAuthAuthorizeRetrieveFieldItem(str, Enum):
14
14
  CUSTOMER_SLUG = "customer_slug"
15
15
  CUSTOMER_UUID = "customer_uuid"
16
16
  DESCRIPTION = "description"
17
+ ENABLE_NOTIFICATIONS = "enable_notifications"
17
18
  GOOGLE_AUTH_URL = "google_auth_url"
18
19
  IMAGE = "image"
19
20
  OFFERING_COUNT = "offering_count"
@@ -14,6 +14,7 @@ class GoogleAuthListFieldItem(str, Enum):
14
14
  CUSTOMER_SLUG = "customer_slug"
15
15
  CUSTOMER_UUID = "customer_uuid"
16
16
  DESCRIPTION = "description"
17
+ ENABLE_NOTIFICATIONS = "enable_notifications"
17
18
  GOOGLE_AUTH_URL = "google_auth_url"
18
19
  IMAGE = "image"
19
20
  OFFERING_COUNT = "offering_count"
@@ -14,6 +14,7 @@ class GoogleAuthRetrieveFieldItem(str, Enum):
14
14
  CUSTOMER_SLUG = "customer_slug"
15
15
  CUSTOMER_UUID = "customer_uuid"
16
16
  DESCRIPTION = "description"
17
+ ENABLE_NOTIFICATIONS = "enable_notifications"
17
18
  GOOGLE_AUTH_URL = "google_auth_url"
18
19
  IMAGE = "image"
19
20
  OFFERING_COUNT = "offering_count"