waldur-api-client 7.8.3__py3-none-any.whl → 7.8.5__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 (341) hide show
  1. waldur_api_client/api/backend_resources/backend_resources_import_resource.py +3 -3
  2. waldur_api_client/api/booking_resources/booking_resources_count.py +108 -0
  3. waldur_api_client/api/booking_resources/booking_resources_list.py +108 -0
  4. waldur_api_client/api/call_managing_organisations/call_managing_organisations_add_user.py +17 -10
  5. waldur_api_client/api/customers/customers_add_user.py +17 -10
  6. waldur_api_client/api/marketplace_component_usages/marketplace_component_usages_count.py +30 -0
  7. waldur_api_client/api/marketplace_component_usages/marketplace_component_usages_list.py +30 -0
  8. waldur_api_client/api/marketplace_customer_component_usage_policies/__init__.py +1 -0
  9. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_actions_count.py +125 -0
  10. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_actions_retrieve.py +119 -0
  11. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_count.py +239 -0
  12. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_create.py +152 -0
  13. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_destroy.py +89 -0
  14. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_list.py +242 -0
  15. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_partial_update.py +166 -0
  16. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_retrieve.py +144 -0
  17. waldur_api_client/api/marketplace_customer_component_usage_policies/marketplace_customer_component_usage_policies_update.py +166 -0
  18. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_template_count.py +125 -0
  19. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_template_retrieve.py +126 -0
  20. waldur_api_client/api/marketplace_orders/marketplace_orders_set_backend_id.py +105 -0
  21. waldur_api_client/api/marketplace_plans/marketplace_plans_update_discounts.py +123 -0
  22. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_add_partition.py +168 -0
  23. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_add_software_catalog.py +168 -0
  24. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_add_user.py +19 -10
  25. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_component_stats_list.py +15 -0
  26. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_costs_list.py +15 -0
  27. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_count.py +15 -0
  28. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_create_offering_component.py +1 -1
  29. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_customers_list.py +15 -0
  30. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_count.py +15 -0
  31. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_list.py +15 -0
  32. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list.py +15 -0
  33. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_remove_partition.py +107 -0
  34. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_remove_software_catalog.py +107 -0
  35. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_tos_stats_retrieve.py +146 -0
  36. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_partition_partial_update.py +168 -0
  37. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_software_catalog_partial_update.py +168 -0
  38. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +108 -0
  39. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +108 -0
  40. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_downscaled.py +107 -0
  41. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_paused.py +107 -0
  42. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_set_restrict_member_access.py +107 -0
  43. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_update_options.py +168 -0
  44. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_count.py +15 -0
  45. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_list.py +15 -0
  46. waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +108 -0
  47. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +108 -0
  48. waldur_api_client/api/marketplace_resources/marketplace_resources_renew.py +166 -0
  49. waldur_api_client/api/marketplace_resources/marketplace_resources_set_downscaled.py +107 -0
  50. waldur_api_client/api/marketplace_resources/marketplace_resources_set_paused.py +107 -0
  51. waldur_api_client/api/marketplace_resources/marketplace_resources_set_restrict_member_access.py +107 -0
  52. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_add_user.py +17 -10
  53. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_customer_projects_list.py +15 -0
  54. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_offerings_list.py +15 -0
  55. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_projects_list.py +14 -24
  56. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_set_offerings_username.py +8 -67
  57. waldur_api_client/api/marketplace_service_providers/service_provider_checklists_summary.py +189 -0
  58. waldur_api_client/api/marketplace_site_agent_identities/__init__.py +1 -0
  59. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_count.py +240 -0
  60. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_create.py +148 -0
  61. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_destroy.py +89 -0
  62. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_list.py +241 -0
  63. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_register_event_subscription.py +176 -0
  64. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_register_service.py +170 -0
  65. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_retrieve.py +140 -0
  66. waldur_api_client/api/marketplace_site_agent_identities/marketplace_site_agent_identities_update.py +162 -0
  67. waldur_api_client/api/marketplace_site_agent_processors/__init__.py +1 -0
  68. waldur_api_client/api/marketplace_site_agent_processors/marketplace_site_agent_processors_count.py +240 -0
  69. waldur_api_client/api/marketplace_site_agent_processors/marketplace_site_agent_processors_list.py +241 -0
  70. waldur_api_client/api/marketplace_site_agent_processors/marketplace_site_agent_processors_retrieve.py +142 -0
  71. waldur_api_client/api/marketplace_site_agent_services/__init__.py +1 -0
  72. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_count.py +229 -0
  73. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_list.py +230 -0
  74. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_register_processor.py +172 -0
  75. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_retrieve.py +140 -0
  76. waldur_api_client/api/marketplace_site_agent_services/marketplace_site_agent_services_set_statistics.py +166 -0
  77. waldur_api_client/api/marketplace_software_catalogs/__init__.py +1 -0
  78. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_count.py +225 -0
  79. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_create.py +150 -0
  80. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_destroy.py +89 -0
  81. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_list.py +226 -0
  82. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_partial_update.py +164 -0
  83. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_retrieve.py +142 -0
  84. waldur_api_client/api/marketplace_software_catalogs/marketplace_software_catalogs_update.py +164 -0
  85. waldur_api_client/api/marketplace_software_packages/__init__.py +1 -0
  86. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_count.py +352 -0
  87. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_create.py +150 -0
  88. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_destroy.py +89 -0
  89. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_list.py +353 -0
  90. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_partial_update.py +164 -0
  91. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_retrieve.py +142 -0
  92. waldur_api_client/api/marketplace_software_packages/marketplace_software_packages_update.py +164 -0
  93. waldur_api_client/api/marketplace_software_targets/__init__.py +1 -0
  94. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_count.py +313 -0
  95. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_create.py +117 -0
  96. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_destroy.py +89 -0
  97. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_list.py +314 -0
  98. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_partial_update.py +142 -0
  99. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_retrieve.py +142 -0
  100. waldur_api_client/api/marketplace_software_targets/marketplace_software_targets_update.py +142 -0
  101. waldur_api_client/api/marketplace_software_versions/__init__.py +1 -0
  102. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_count.py +310 -0
  103. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_create.py +117 -0
  104. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_destroy.py +89 -0
  105. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_list.py +311 -0
  106. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_partial_update.py +142 -0
  107. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_retrieve.py +142 -0
  108. waldur_api_client/api/marketplace_software_versions/marketplace_software_versions_update.py +142 -0
  109. waldur_api_client/api/onboarding/__init__.py +1 -0
  110. waldur_api_client/api/onboarding/onboarding_supported_countries_retrieve.py +74 -0
  111. waldur_api_client/api/onboarding_justifications/__init__.py +1 -0
  112. waldur_api_client/api/onboarding_justifications/onboarding_justifications_approve.py +168 -0
  113. waldur_api_client/api/onboarding_justifications/onboarding_justifications_attach_document.py +211 -0
  114. waldur_api_client/api/onboarding_justifications/onboarding_justifications_count.py +172 -0
  115. waldur_api_client/api/onboarding_justifications/onboarding_justifications_create.py +150 -0
  116. waldur_api_client/api/onboarding_justifications/onboarding_justifications_create_justification.py +154 -0
  117. waldur_api_client/api/onboarding_justifications/onboarding_justifications_destroy.py +89 -0
  118. waldur_api_client/api/onboarding_justifications/onboarding_justifications_list.py +175 -0
  119. waldur_api_client/api/onboarding_justifications/onboarding_justifications_partial_update.py +164 -0
  120. waldur_api_client/api/onboarding_justifications/onboarding_justifications_reject.py +168 -0
  121. waldur_api_client/api/onboarding_justifications/onboarding_justifications_retrieve.py +142 -0
  122. waldur_api_client/api/onboarding_justifications/onboarding_justifications_update.py +164 -0
  123. waldur_api_client/api/onboarding_verifications/__init__.py +1 -0
  124. waldur_api_client/api/onboarding_verifications/onboarding_verifications_count.py +172 -0
  125. waldur_api_client/api/onboarding_verifications/onboarding_verifications_create.py +150 -0
  126. waldur_api_client/api/onboarding_verifications/onboarding_verifications_create_customer.py +144 -0
  127. waldur_api_client/api/onboarding_verifications/onboarding_verifications_destroy.py +89 -0
  128. waldur_api_client/api/onboarding_verifications/onboarding_verifications_list.py +175 -0
  129. waldur_api_client/api/onboarding_verifications/onboarding_verifications_partial_update.py +164 -0
  130. waldur_api_client/api/onboarding_verifications/onboarding_verifications_retrieve.py +142 -0
  131. waldur_api_client/api/onboarding_verifications/onboarding_verifications_update.py +164 -0
  132. waldur_api_client/api/onboarding_verifications/onboarding_verifications_validate_company.py +154 -0
  133. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_count.py +33 -0
  134. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_create.py +154 -0
  135. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_destroy.py +91 -0
  136. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_list.py +33 -0
  137. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_partial_update.py +164 -0
  138. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_update.py +164 -0
  139. waldur_api_client/api/openstack_networks/openstack_networks_rbac_policy_create.py +24 -22
  140. waldur_api_client/api/projects/projects_add_user.py +17 -10
  141. waldur_api_client/api/projects/projects_checklist_template_count.py +125 -0
  142. waldur_api_client/api/projects/projects_checklist_template_retrieve.py +126 -0
  143. waldur_api_client/api/projects/projects_count.py +30 -0
  144. waldur_api_client/api/projects/projects_list.py +30 -0
  145. waldur_api_client/api/projects/projects_move_project.py +19 -10
  146. waldur_api_client/api/projects/projects_recover.py +166 -0
  147. waldur_api_client/api/proposal_proposals/proposal_proposals_add_user.py +17 -10
  148. waldur_api_client/api/proposal_proposals/proposal_proposals_checklist_template_count.py +125 -0
  149. waldur_api_client/api/proposal_proposals/proposal_proposals_checklist_template_retrieve.py +126 -0
  150. waldur_api_client/api/proposal_protected_calls/proposal_protected_calls_add_user.py +17 -10
  151. waldur_api_client/api/proposal_protected_calls/proposal_protected_calls_offerings_list.py +15 -0
  152. waldur_api_client/api/remote_waldur_api/remote_waldur_api_pull_resource_robot_accounts.py +88 -0
  153. waldur_api_client/models/__init__.py +214 -8
  154. waldur_api_client/models/agent_event_subscription_create_request.py +71 -0
  155. waldur_api_client/models/agent_identity.py +211 -0
  156. waldur_api_client/models/agent_identity_request.py +157 -0
  157. waldur_api_client/models/agent_processor.py +170 -0
  158. waldur_api_client/models/agent_processor_create_request.py +89 -0
  159. waldur_api_client/models/agent_service.py +172 -0
  160. waldur_api_client/models/agent_service_create_request.py +81 -0
  161. waldur_api_client/models/agent_service_state.py +10 -0
  162. waldur_api_client/models/agent_service_statistics_request.py +59 -0
  163. waldur_api_client/models/base_provider_plan.py +21 -0
  164. waldur_api_client/models/base_public_plan.py +21 -0
  165. waldur_api_client/models/booking_offerings_list_field_item.py +2 -0
  166. waldur_api_client/models/booking_offerings_retrieve_field_item.py +2 -0
  167. waldur_api_client/models/booking_resource.py +37 -11
  168. waldur_api_client/models/booking_resource_renewal_date_type_0.py +53 -0
  169. waldur_api_client/models/booking_resources_list_field_item.py +1 -0
  170. waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -0
  171. waldur_api_client/models/call_managing_organisations_add_user_response_400.py +65 -0
  172. waldur_api_client/models/call_round.py +4 -4
  173. waldur_api_client/models/checklist_template.py +99 -0
  174. waldur_api_client/models/checklist_template_checklist.py +44 -0
  175. waldur_api_client/models/constance_settings.py +126 -45
  176. waldur_api_client/models/constance_settings_request.py +126 -45
  177. waldur_api_client/models/constance_settings_request_form.py +126 -45
  178. waldur_api_client/models/constance_settings_request_multipart.py +219 -71
  179. waldur_api_client/models/customer.py +9 -0
  180. waldur_api_client/models/customer_component_usage_policy.py +175 -0
  181. waldur_api_client/models/customer_component_usage_policy_request.py +102 -0
  182. waldur_api_client/models/customers_add_user_response_400.py +65 -0
  183. waldur_api_client/models/customers_list_field_item.py +1 -0
  184. waldur_api_client/models/customers_retrieve_field_item.py +1 -0
  185. waldur_api_client/models/deprecated_network_rbac_policy.py +137 -0
  186. waldur_api_client/models/deprecated_network_rbac_policy_request.py +78 -0
  187. waldur_api_client/models/discount_config_request.py +91 -0
  188. waldur_api_client/models/discounts_update_request.py +65 -0
  189. waldur_api_client/models/discounts_update_request_discounts.py +57 -0
  190. waldur_api_client/models/event_types_enum.py +1 -0
  191. waldur_api_client/models/issue.py +0 -25
  192. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +1 -0
  193. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +1 -0
  194. waldur_api_client/models/marketplace_orders_count_state_item.py +1 -0
  195. waldur_api_client/models/marketplace_orders_list_field_item.py +2 -0
  196. waldur_api_client/models/marketplace_orders_list_state_item.py +1 -0
  197. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +2 -0
  198. waldur_api_client/models/marketplace_provider_offerings_add_user_response_400.py +65 -0
  199. waldur_api_client/models/marketplace_provider_offerings_list_course_accounts_retrieve_field_item.py +2 -0
  200. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +2 -0
  201. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +2 -0
  202. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +2 -0
  203. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +2 -0
  204. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +2 -0
  205. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +2 -0
  206. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -0
  207. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -0
  208. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -0
  209. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +2 -0
  210. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +2 -0
  211. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -0
  212. waldur_api_client/models/marketplace_resources_list_field_item.py +1 -0
  213. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -0
  214. waldur_api_client/models/marketplace_service_providers_add_user_response_400.py +65 -0
  215. waldur_api_client/models/marketplace_site_agent_services_count_state_item.py +10 -0
  216. waldur_api_client/models/marketplace_site_agent_services_list_state_item.py +10 -0
  217. waldur_api_client/models/marketplace_software_catalogs_count_o_item.py +15 -0
  218. waldur_api_client/models/marketplace_software_catalogs_list_o_item.py +15 -0
  219. waldur_api_client/models/marketplace_software_packages_count_o_item.py +17 -0
  220. waldur_api_client/models/marketplace_software_packages_list_o_item.py +17 -0
  221. waldur_api_client/models/marketplace_software_targets_count_o_item.py +15 -0
  222. waldur_api_client/models/marketplace_software_targets_list_o_item.py +15 -0
  223. waldur_api_client/models/marketplace_software_versions_count_o_item.py +15 -0
  224. waldur_api_client/models/marketplace_software_versions_list_o_item.py +15 -0
  225. waldur_api_client/models/merged_plugin_options.py +65 -8
  226. waldur_api_client/models/merged_plugin_options_request.py +65 -8
  227. waldur_api_client/models/nested_agent_processor.py +154 -0
  228. waldur_api_client/models/nested_agent_service.py +134 -0
  229. waldur_api_client/models/nested_agent_service_request.py +90 -0
  230. waldur_api_client/models/nested_customer_usage_policy_component.py +103 -0
  231. waldur_api_client/models/nested_customer_usage_policy_component_request.py +87 -0
  232. waldur_api_client/models/nested_partition.py +412 -0
  233. waldur_api_client/models/nested_partition_request.py +397 -0
  234. waldur_api_client/models/nested_plan_component.py +155 -0
  235. waldur_api_client/models/nested_plan_component_request.py +128 -0
  236. waldur_api_client/models/nested_round.py +5 -5
  237. waldur_api_client/models/nested_software_catalog.py +134 -0
  238. waldur_api_client/models/nested_software_catalog_catalog.py +86 -0
  239. waldur_api_client/models/nested_software_catalog_partition.py +86 -0
  240. waldur_api_client/models/nested_software_catalog_request.py +68 -0
  241. waldur_api_client/models/nested_software_target.py +84 -0
  242. waldur_api_client/models/nested_software_target_request.py +75 -0
  243. waldur_api_client/models/nested_software_version.py +124 -0
  244. waldur_api_client/models/nested_software_version_request.py +93 -0
  245. waldur_api_client/models/network_rbac_policy_request.py +8 -0
  246. waldur_api_client/models/notification.py +9 -9
  247. waldur_api_client/models/{notification_context_fields.py → notification_context_schema.py} +6 -6
  248. waldur_api_client/models/notification_template_detail_serializers.py +9 -3
  249. waldur_api_client/models/observable_object_type_enum.py +14 -0
  250. waldur_api_client/models/offering.py +42 -0
  251. waldur_api_client/models/offering_component.py +79 -0
  252. waldur_api_client/models/offering_component_request.py +80 -0
  253. waldur_api_client/models/offering_create.py +36 -0
  254. waldur_api_client/models/offering_partition.py +440 -0
  255. waldur_api_client/models/offering_partition_request.py +406 -0
  256. waldur_api_client/models/offering_software_catalog.py +176 -0
  257. waldur_api_client/models/offering_software_catalog_request.py +118 -0
  258. waldur_api_client/models/onboarding_company_validation_request_request.py +88 -0
  259. waldur_api_client/models/onboarding_justification.py +212 -0
  260. waldur_api_client/models/onboarding_justification_create_request.py +71 -0
  261. waldur_api_client/models/onboarding_justification_documentation.py +108 -0
  262. waldur_api_client/models/onboarding_justification_documentation_request.py +84 -0
  263. waldur_api_client/models/onboarding_justification_documentation_request_form.py +84 -0
  264. waldur_api_client/models/onboarding_justification_documentation_request_multipart.py +98 -0
  265. waldur_api_client/models/onboarding_justification_request.py +89 -0
  266. waldur_api_client/models/onboarding_justification_review_request.py +59 -0
  267. waldur_api_client/models/onboarding_verification.py +250 -0
  268. waldur_api_client/models/onboarding_verification_request.py +128 -0
  269. waldur_api_client/models/onboarding_verification_status_enum.py +12 -0
  270. waldur_api_client/models/open_stack_create_floating_ip_request.py +20 -1
  271. waldur_api_client/models/order_backend_id_request.py +59 -0
  272. waldur_api_client/models/order_create.py +4 -4
  273. waldur_api_client/models/order_details.py +43 -11
  274. waldur_api_client/models/order_state.py +1 -0
  275. waldur_api_client/models/patched_customer_component_usage_policy_request.py +104 -0
  276. waldur_api_client/models/patched_network_rbac_policy_request.py +85 -0
  277. waldur_api_client/models/patched_offering_partition_request.py +412 -0
  278. waldur_api_client/models/patched_offering_software_catalog_update_request.py +131 -0
  279. waldur_api_client/models/patched_onboarding_justification_request.py +88 -0
  280. waldur_api_client/models/patched_onboarding_verification_request.py +128 -0
  281. waldur_api_client/models/patched_project_credit_request.py +13 -0
  282. waldur_api_client/models/patched_project_request.py +10 -2
  283. waldur_api_client/models/patched_project_request_form.py +10 -2
  284. waldur_api_client/models/patched_project_request_multipart.py +13 -2
  285. waldur_api_client/models/patched_software_catalog_request.py +86 -0
  286. waldur_api_client/models/patched_software_package_request.py +86 -0
  287. waldur_api_client/models/plan_component.py +40 -0
  288. waldur_api_client/models/project.py +37 -2
  289. waldur_api_client/models/project_credit.py +13 -0
  290. waldur_api_client/models/project_credit_request.py +13 -0
  291. waldur_api_client/models/project_recovery_request.py +70 -0
  292. waldur_api_client/models/project_request.py +10 -2
  293. waldur_api_client/models/project_request_form.py +10 -2
  294. waldur_api_client/models/project_request_multipart.py +13 -2
  295. waldur_api_client/models/project_user.py +21 -4
  296. waldur_api_client/models/projects_add_user_response_400.py +65 -0
  297. waldur_api_client/models/projects_list_field_item.py +4 -0
  298. waldur_api_client/models/projects_move_project_response_400.py +65 -0
  299. waldur_api_client/models/projects_retrieve_field_item.py +4 -0
  300. waldur_api_client/models/proposal_proposals_add_user_response_400.py +65 -0
  301. waldur_api_client/models/proposal_protected_calls_add_user_response_400.py +65 -0
  302. waldur_api_client/models/protected_round.py +4 -4
  303. waldur_api_client/models/provider_offering_details.py +42 -0
  304. waldur_api_client/models/provider_plan_details.py +18 -0
  305. waldur_api_client/models/public_offering_details.py +42 -0
  306. waldur_api_client/models/question.py +102 -0
  307. waldur_api_client/models/question_options.py +79 -0
  308. waldur_api_client/models/remote_resource_order_remote_state_enum.py +1 -0
  309. waldur_api_client/models/{set_offerings_username.py → remove_partition_request.py} +11 -19
  310. waldur_api_client/models/remove_software_catalog_request.py +60 -0
  311. waldur_api_client/models/resource.py +37 -11
  312. waldur_api_client/models/resource_downscaled_request.py +59 -0
  313. waldur_api_client/models/resource_paused_request.py +59 -0
  314. waldur_api_client/models/resource_renew_request.py +83 -0
  315. waldur_api_client/models/resource_renew_request_limits.py +44 -0
  316. waldur_api_client/models/resource_renewal_date_type_0.py +53 -0
  317. waldur_api_client/models/resource_restrict_member_access_request.py +59 -0
  318. waldur_api_client/models/{status_enum.py → round_status.py} +1 -1
  319. waldur_api_client/models/service_provider_checklist_summary.py +98 -0
  320. waldur_api_client/models/software_catalog.py +130 -0
  321. waldur_api_client/models/software_catalog_request.py +87 -0
  322. waldur_api_client/models/software_catalog_uuid.py +60 -0
  323. waldur_api_client/models/software_package.py +168 -0
  324. waldur_api_client/models/software_package_request.py +87 -0
  325. waldur_api_client/models/software_target.py +110 -0
  326. waldur_api_client/models/software_version.py +135 -0
  327. waldur_api_client/models/time_series_to_s_data.py +69 -0
  328. waldur_api_client/models/to_s_consent_dashboard.py +155 -0
  329. waldur_api_client/models/update_offering_component_request.py +79 -0
  330. waldur_api_client/models/user.py +20 -0
  331. waldur_api_client/models/users_list_field_item.py +1 -0
  332. waldur_api_client/models/users_me_retrieve_field_item.py +1 -0
  333. waldur_api_client/models/users_retrieve_field_item.py +1 -0
  334. waldur_api_client/models/validation_decision_enum.py +10 -0
  335. waldur_api_client/models/validation_method_enum.py +8 -0
  336. waldur_api_client/models/version_adoption.py +67 -0
  337. {waldur_api_client-7.8.3.dist-info → waldur_api_client-7.8.5.dist-info}/METADATA +1 -1
  338. {waldur_api_client-7.8.3.dist-info → waldur_api_client-7.8.5.dist-info}/RECORD +340 -123
  339. waldur_api_client/models/marketplace_service_providers_projects_list_field_item.py +0 -36
  340. {waldur_api_client-7.8.3.dist-info → waldur_api_client-7.8.5.dist-info}/WHEEL +0 -0
  341. {waldur_api_client-7.8.3.dist-info → waldur_api_client-7.8.5.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,128 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import Any, TypeVar, Union, cast
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+ from dateutil.parser import isoparse
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="PatchedOnboardingVerificationRequest")
12
+
13
+
14
+ @_attrs_define
15
+ class PatchedOnboardingVerificationRequest:
16
+ """
17
+ Attributes:
18
+ user (Union[Unset, int]): User requesting company onboarding
19
+ country (Union[Unset, str]): ISO country code (e.g., 'EE' for Estonia)
20
+ legal_person_identifier (Union[Unset, str]): Official company registration code
21
+ legal_name (Union[Unset, str]): Claimed company name (optional, for reference)
22
+ user_submitted_customer_metadata (Union[Unset, Any]): Additional customer metadata submitted by user for manual
23
+ verification cases. Should contain valid Customer model fields.
24
+ expires_at (Union[None, Unset, datetime.datetime]): When this verification expires
25
+ """
26
+
27
+ user: Union[Unset, int] = UNSET
28
+ country: Union[Unset, str] = UNSET
29
+ legal_person_identifier: Union[Unset, str] = UNSET
30
+ legal_name: Union[Unset, str] = UNSET
31
+ user_submitted_customer_metadata: Union[Unset, Any] = UNSET
32
+ expires_at: Union[None, Unset, datetime.datetime] = UNSET
33
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
34
+
35
+ def to_dict(self) -> dict[str, Any]:
36
+ user = self.user
37
+
38
+ country = self.country
39
+
40
+ legal_person_identifier = self.legal_person_identifier
41
+
42
+ legal_name = self.legal_name
43
+
44
+ user_submitted_customer_metadata = self.user_submitted_customer_metadata
45
+
46
+ expires_at: Union[None, Unset, str]
47
+ if isinstance(self.expires_at, Unset):
48
+ expires_at = UNSET
49
+ elif isinstance(self.expires_at, datetime.datetime):
50
+ expires_at = self.expires_at.isoformat()
51
+ else:
52
+ expires_at = self.expires_at
53
+
54
+ field_dict: dict[str, Any] = {}
55
+ field_dict.update(self.additional_properties)
56
+ field_dict.update({})
57
+ if user is not UNSET:
58
+ field_dict["user"] = user
59
+ if country is not UNSET:
60
+ field_dict["country"] = country
61
+ if legal_person_identifier is not UNSET:
62
+ field_dict["legal_person_identifier"] = legal_person_identifier
63
+ if legal_name is not UNSET:
64
+ field_dict["legal_name"] = legal_name
65
+ if user_submitted_customer_metadata is not UNSET:
66
+ field_dict["user_submitted_customer_metadata"] = user_submitted_customer_metadata
67
+ if expires_at is not UNSET:
68
+ field_dict["expires_at"] = expires_at
69
+
70
+ return field_dict
71
+
72
+ @classmethod
73
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
74
+ d = dict(src_dict)
75
+ user = d.pop("user", UNSET)
76
+
77
+ country = d.pop("country", UNSET)
78
+
79
+ legal_person_identifier = d.pop("legal_person_identifier", UNSET)
80
+
81
+ legal_name = d.pop("legal_name", UNSET)
82
+
83
+ user_submitted_customer_metadata = d.pop("user_submitted_customer_metadata", UNSET)
84
+
85
+ def _parse_expires_at(data: object) -> Union[None, Unset, datetime.datetime]:
86
+ if data is None:
87
+ return data
88
+ if isinstance(data, Unset):
89
+ return data
90
+ try:
91
+ if not isinstance(data, str):
92
+ raise TypeError()
93
+ expires_at_type_0 = isoparse(data)
94
+
95
+ return expires_at_type_0
96
+ except: # noqa: E722
97
+ pass
98
+ return cast(Union[None, Unset, datetime.datetime], data)
99
+
100
+ expires_at = _parse_expires_at(d.pop("expires_at", UNSET))
101
+
102
+ patched_onboarding_verification_request = cls(
103
+ user=user,
104
+ country=country,
105
+ legal_person_identifier=legal_person_identifier,
106
+ legal_name=legal_name,
107
+ user_submitted_customer_metadata=user_submitted_customer_metadata,
108
+ expires_at=expires_at,
109
+ )
110
+
111
+ patched_onboarding_verification_request.additional_properties = d
112
+ return patched_onboarding_verification_request
113
+
114
+ @property
115
+ def additional_keys(self) -> list[str]:
116
+ return list(self.additional_properties.keys())
117
+
118
+ def __getitem__(self, key: str) -> Any:
119
+ return self.additional_properties[key]
120
+
121
+ def __setitem__(self, key: str, value: Any) -> None:
122
+ self.additional_properties[key] = value
123
+
124
+ def __delitem__(self, key: str) -> None:
125
+ del self.additional_properties[key]
126
+
127
+ def __contains__(self, key: str) -> bool:
128
+ return key in self.additional_properties
@@ -23,6 +23,7 @@ class PatchedProjectCreditRequest:
23
23
  minimal_consumption_logic (Union[Unset, MinimalConsumptionLogicEnum]):
24
24
  grace_coefficient (Union[Unset, str]):
25
25
  apply_as_minimal_consumption (Union[Unset, bool]):
26
+ mark_unused_credit_as_spent_on_project_termination (Union[Unset, bool]):
26
27
  """
27
28
 
28
29
  value: Union[Unset, str] = UNSET
@@ -32,6 +33,7 @@ class PatchedProjectCreditRequest:
32
33
  minimal_consumption_logic: Union[Unset, MinimalConsumptionLogicEnum] = UNSET
33
34
  grace_coefficient: Union[Unset, str] = UNSET
34
35
  apply_as_minimal_consumption: Union[Unset, bool] = UNSET
36
+ mark_unused_credit_as_spent_on_project_termination: Union[Unset, bool] = UNSET
35
37
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
36
38
 
37
39
  def to_dict(self) -> dict[str, Any]:
@@ -57,6 +59,8 @@ class PatchedProjectCreditRequest:
57
59
 
58
60
  apply_as_minimal_consumption = self.apply_as_minimal_consumption
59
61
 
62
+ mark_unused_credit_as_spent_on_project_termination = self.mark_unused_credit_as_spent_on_project_termination
63
+
60
64
  field_dict: dict[str, Any] = {}
61
65
  field_dict.update(self.additional_properties)
62
66
  field_dict.update({})
@@ -74,6 +78,10 @@ class PatchedProjectCreditRequest:
74
78
  field_dict["grace_coefficient"] = grace_coefficient
75
79
  if apply_as_minimal_consumption is not UNSET:
76
80
  field_dict["apply_as_minimal_consumption"] = apply_as_minimal_consumption
81
+ if mark_unused_credit_as_spent_on_project_termination is not UNSET:
82
+ field_dict["mark_unused_credit_as_spent_on_project_termination"] = (
83
+ mark_unused_credit_as_spent_on_project_termination
84
+ )
77
85
 
78
86
  return field_dict
79
87
 
@@ -114,6 +122,10 @@ class PatchedProjectCreditRequest:
114
122
 
115
123
  apply_as_minimal_consumption = d.pop("apply_as_minimal_consumption", UNSET)
116
124
 
125
+ mark_unused_credit_as_spent_on_project_termination = d.pop(
126
+ "mark_unused_credit_as_spent_on_project_termination", UNSET
127
+ )
128
+
117
129
  patched_project_credit_request = cls(
118
130
  value=value,
119
131
  project=project,
@@ -122,6 +134,7 @@ class PatchedProjectCreditRequest:
122
134
  minimal_consumption_logic=minimal_consumption_logic,
123
135
  grace_coefficient=grace_coefficient,
124
136
  apply_as_minimal_consumption=apply_as_minimal_consumption,
137
+ mark_unused_credit_as_spent_on_project_termination=mark_unused_credit_as_spent_on_project_termination,
125
138
  )
126
139
 
127
140
  patched_project_credit_request.additional_properties = d
@@ -27,12 +27,12 @@ class PatchedProjectRequest:
27
27
  type_ (Union[None, Unset, str]):
28
28
  backend_id (Union[Unset, str]):
29
29
  start_date (Union[None, Unset, datetime.date]):
30
- end_date (Union[None, Unset, datetime.date]): The date is inclusive. Once reached, all project resource will be
31
- scheduled for termination.
30
+ end_date (Union[None, Unset, datetime.date]):
32
31
  oecd_fos_2007_code (Union[BlankEnum, None, OecdFos2007CodeEnum, Unset]):
33
32
  is_industry (Union[Unset, bool]):
34
33
  image (Union[File, None, Unset]):
35
34
  kind (Union[Unset, KindEnum]):
35
+ staff_notes (Union[Unset, str]):
36
36
  """
37
37
 
38
38
  name: Union[Unset, str] = UNSET
@@ -47,6 +47,7 @@ class PatchedProjectRequest:
47
47
  is_industry: Union[Unset, bool] = UNSET
48
48
  image: Union[File, None, Unset] = UNSET
49
49
  kind: Union[Unset, KindEnum] = UNSET
50
+ staff_notes: Union[Unset, str] = UNSET
50
51
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
51
52
 
52
53
  def to_dict(self) -> dict[str, Any]:
@@ -107,6 +108,8 @@ class PatchedProjectRequest:
107
108
  if not isinstance(self.kind, Unset):
108
109
  kind = self.kind.value
109
110
 
111
+ staff_notes = self.staff_notes
112
+
110
113
  field_dict: dict[str, Any] = {}
111
114
  field_dict.update(self.additional_properties)
112
115
  field_dict.update({})
@@ -134,6 +137,8 @@ class PatchedProjectRequest:
134
137
  field_dict["image"] = image
135
138
  if kind is not UNSET:
136
139
  field_dict["kind"] = kind
140
+ if staff_notes is not UNSET:
141
+ field_dict["staff_notes"] = staff_notes
137
142
 
138
143
  return field_dict
139
144
 
@@ -244,6 +249,8 @@ class PatchedProjectRequest:
244
249
  else:
245
250
  kind = KindEnum(_kind)
246
251
 
252
+ staff_notes = d.pop("staff_notes", UNSET)
253
+
247
254
  patched_project_request = cls(
248
255
  name=name,
249
256
  slug=slug,
@@ -257,6 +264,7 @@ class PatchedProjectRequest:
257
264
  is_industry=is_industry,
258
265
  image=image,
259
266
  kind=kind,
267
+ staff_notes=staff_notes,
260
268
  )
261
269
 
262
270
  patched_project_request.additional_properties = d
@@ -27,12 +27,12 @@ class PatchedProjectRequestForm:
27
27
  type_ (Union[None, Unset, str]):
28
28
  backend_id (Union[Unset, str]):
29
29
  start_date (Union[None, Unset, datetime.date]):
30
- end_date (Union[None, Unset, datetime.date]): The date is inclusive. Once reached, all project resource will be
31
- scheduled for termination.
30
+ end_date (Union[None, Unset, datetime.date]):
32
31
  oecd_fos_2007_code (Union[BlankEnum, None, OecdFos2007CodeEnum, Unset]):
33
32
  is_industry (Union[Unset, bool]):
34
33
  image (Union[File, None, Unset]):
35
34
  kind (Union[Unset, KindEnum]):
35
+ staff_notes (Union[Unset, str]):
36
36
  """
37
37
 
38
38
  name: Union[Unset, str] = UNSET
@@ -47,6 +47,7 @@ class PatchedProjectRequestForm:
47
47
  is_industry: Union[Unset, bool] = UNSET
48
48
  image: Union[File, None, Unset] = UNSET
49
49
  kind: Union[Unset, KindEnum] = UNSET
50
+ staff_notes: Union[Unset, str] = UNSET
50
51
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
51
52
 
52
53
  def to_dict(self) -> dict[str, Any]:
@@ -107,6 +108,8 @@ class PatchedProjectRequestForm:
107
108
  if not isinstance(self.kind, Unset):
108
109
  kind = self.kind.value
109
110
 
111
+ staff_notes = self.staff_notes
112
+
110
113
  field_dict: dict[str, Any] = {}
111
114
  field_dict.update(self.additional_properties)
112
115
  field_dict.update({})
@@ -134,6 +137,8 @@ class PatchedProjectRequestForm:
134
137
  field_dict["image"] = image
135
138
  if kind is not UNSET:
136
139
  field_dict["kind"] = kind
140
+ if staff_notes is not UNSET:
141
+ field_dict["staff_notes"] = staff_notes
137
142
 
138
143
  return field_dict
139
144
 
@@ -244,6 +249,8 @@ class PatchedProjectRequestForm:
244
249
  else:
245
250
  kind = KindEnum(_kind)
246
251
 
252
+ staff_notes = d.pop("staff_notes", UNSET)
253
+
247
254
  patched_project_request_form = cls(
248
255
  name=name,
249
256
  slug=slug,
@@ -257,6 +264,7 @@ class PatchedProjectRequestForm:
257
264
  is_industry=is_industry,
258
265
  image=image,
259
266
  kind=kind,
267
+ staff_notes=staff_notes,
260
268
  )
261
269
 
262
270
  patched_project_request_form.additional_properties = d
@@ -27,12 +27,12 @@ class PatchedProjectRequestMultipart:
27
27
  type_ (Union[None, Unset, str]):
28
28
  backend_id (Union[Unset, str]):
29
29
  start_date (Union[None, Unset, datetime.date]):
30
- end_date (Union[None, Unset, datetime.date]): The date is inclusive. Once reached, all project resource will be
31
- scheduled for termination.
30
+ end_date (Union[None, Unset, datetime.date]):
32
31
  oecd_fos_2007_code (Union[BlankEnum, None, OecdFos2007CodeEnum, Unset]):
33
32
  is_industry (Union[Unset, bool]):
34
33
  image (Union[File, None, Unset]):
35
34
  kind (Union[Unset, KindEnum]):
35
+ staff_notes (Union[Unset, str]):
36
36
  """
37
37
 
38
38
  name: Union[Unset, str] = UNSET
@@ -47,6 +47,7 @@ class PatchedProjectRequestMultipart:
47
47
  is_industry: Union[Unset, bool] = UNSET
48
48
  image: Union[File, None, Unset] = UNSET
49
49
  kind: Union[Unset, KindEnum] = UNSET
50
+ staff_notes: Union[Unset, str] = UNSET
50
51
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
51
52
 
52
53
  def to_dict(self) -> dict[str, Any]:
@@ -107,6 +108,8 @@ class PatchedProjectRequestMultipart:
107
108
  if not isinstance(self.kind, Unset):
108
109
  kind = self.kind.value
109
110
 
111
+ staff_notes = self.staff_notes
112
+
110
113
  field_dict: dict[str, Any] = {}
111
114
  field_dict.update(self.additional_properties)
112
115
  field_dict.update({})
@@ -134,6 +137,8 @@ class PatchedProjectRequestMultipart:
134
137
  field_dict["image"] = image
135
138
  if kind is not UNSET:
136
139
  field_dict["kind"] = kind
140
+ if staff_notes is not UNSET:
141
+ field_dict["staff_notes"] = staff_notes
137
142
 
138
143
  return field_dict
139
144
 
@@ -195,6 +200,9 @@ class PatchedProjectRequestMultipart:
195
200
  if not isinstance(self.kind, Unset):
196
201
  files.append(("kind", (None, str(self.kind.value).encode(), "text/plain")))
197
202
 
203
+ if not isinstance(self.staff_notes, Unset):
204
+ files.append(("staff_notes", (None, str(self.staff_notes).encode(), "text/plain")))
205
+
198
206
  for prop_name, prop in self.additional_properties.items():
199
207
  files.append((prop_name, (None, str(prop).encode(), "text/plain")))
200
208
 
@@ -307,6 +315,8 @@ class PatchedProjectRequestMultipart:
307
315
  else:
308
316
  kind = KindEnum(_kind)
309
317
 
318
+ staff_notes = d.pop("staff_notes", UNSET)
319
+
310
320
  patched_project_request_multipart = cls(
311
321
  name=name,
312
322
  slug=slug,
@@ -320,6 +330,7 @@ class PatchedProjectRequestMultipart:
320
330
  is_industry=is_industry,
321
331
  image=image,
322
332
  kind=kind,
333
+ staff_notes=staff_notes,
323
334
  )
324
335
 
325
336
  patched_project_request_multipart.additional_properties = d
@@ -0,0 +1,86 @@
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="PatchedSoftwareCatalogRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class PatchedSoftwareCatalogRequest:
14
+ """
15
+ Attributes:
16
+ name (Union[Unset, str]): Catalog name (e.g., EESSI)
17
+ version (Union[Unset, str]): Catalog version (e.g., 2023.06)
18
+ source_url (Union[Unset, str]): Catalog source URL
19
+ description (Union[Unset, str]):
20
+ """
21
+
22
+ name: Union[Unset, str] = UNSET
23
+ version: Union[Unset, str] = UNSET
24
+ source_url: Union[Unset, str] = UNSET
25
+ description: Union[Unset, str] = UNSET
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ name = self.name
30
+
31
+ version = self.version
32
+
33
+ source_url = self.source_url
34
+
35
+ description = self.description
36
+
37
+ field_dict: dict[str, Any] = {}
38
+ field_dict.update(self.additional_properties)
39
+ field_dict.update({})
40
+ if name is not UNSET:
41
+ field_dict["name"] = name
42
+ if version is not UNSET:
43
+ field_dict["version"] = version
44
+ if source_url is not UNSET:
45
+ field_dict["source_url"] = source_url
46
+ if description is not UNSET:
47
+ field_dict["description"] = description
48
+
49
+ return field_dict
50
+
51
+ @classmethod
52
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
53
+ d = dict(src_dict)
54
+ name = d.pop("name", UNSET)
55
+
56
+ version = d.pop("version", UNSET)
57
+
58
+ source_url = d.pop("source_url", UNSET)
59
+
60
+ description = d.pop("description", UNSET)
61
+
62
+ patched_software_catalog_request = cls(
63
+ name=name,
64
+ version=version,
65
+ source_url=source_url,
66
+ description=description,
67
+ )
68
+
69
+ patched_software_catalog_request.additional_properties = d
70
+ return patched_software_catalog_request
71
+
72
+ @property
73
+ def additional_keys(self) -> list[str]:
74
+ return list(self.additional_properties.keys())
75
+
76
+ def __getitem__(self, key: str) -> Any:
77
+ return self.additional_properties[key]
78
+
79
+ def __setitem__(self, key: str, value: Any) -> None:
80
+ self.additional_properties[key] = value
81
+
82
+ def __delitem__(self, key: str) -> None:
83
+ del self.additional_properties[key]
84
+
85
+ def __contains__(self, key: str) -> bool:
86
+ return key in self.additional_properties
@@ -0,0 +1,86 @@
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="PatchedSoftwarePackageRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class PatchedSoftwarePackageRequest:
14
+ """
15
+ Attributes:
16
+ catalog (Union[Unset, str]):
17
+ name (Union[Unset, str]):
18
+ description (Union[Unset, str]):
19
+ homepage (Union[Unset, str]):
20
+ """
21
+
22
+ catalog: Union[Unset, str] = UNSET
23
+ name: Union[Unset, str] = UNSET
24
+ description: Union[Unset, str] = UNSET
25
+ homepage: Union[Unset, str] = UNSET
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ catalog = self.catalog
30
+
31
+ name = self.name
32
+
33
+ description = self.description
34
+
35
+ homepage = self.homepage
36
+
37
+ field_dict: dict[str, Any] = {}
38
+ field_dict.update(self.additional_properties)
39
+ field_dict.update({})
40
+ if catalog is not UNSET:
41
+ field_dict["catalog"] = catalog
42
+ if name is not UNSET:
43
+ field_dict["name"] = name
44
+ if description is not UNSET:
45
+ field_dict["description"] = description
46
+ if homepage is not UNSET:
47
+ field_dict["homepage"] = homepage
48
+
49
+ return field_dict
50
+
51
+ @classmethod
52
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
53
+ d = dict(src_dict)
54
+ catalog = d.pop("catalog", UNSET)
55
+
56
+ name = d.pop("name", UNSET)
57
+
58
+ description = d.pop("description", UNSET)
59
+
60
+ homepage = d.pop("homepage", UNSET)
61
+
62
+ patched_software_package_request = cls(
63
+ catalog=catalog,
64
+ name=name,
65
+ description=description,
66
+ homepage=homepage,
67
+ )
68
+
69
+ patched_software_package_request.additional_properties = d
70
+ return patched_software_package_request
71
+
72
+ @property
73
+ def additional_keys(self) -> list[str]:
74
+ return list(self.additional_properties.keys())
75
+
76
+ def __getitem__(self, key: str) -> Any:
77
+ return self.additional_properties[key]
78
+
79
+ def __setitem__(self, key: str, value: Any) -> None:
80
+ self.additional_properties[key] = value
81
+
82
+ def __delitem__(self, key: str) -> None:
83
+ del self.additional_properties[key]
84
+
85
+ def __contains__(self, key: str) -> bool:
86
+ return key in self.additional_properties
@@ -24,6 +24,8 @@ class PlanComponent:
24
24
  amount (Union[Unset, int]):
25
25
  price (Union[Unset, str]):
26
26
  future_price (Union[None, Unset, str]):
27
+ discount_threshold (Union[None, Unset, int]): Minimum amount to be eligible for discount.
28
+ discount_rate (Union[None, Unset, int]): Discount rate in percentage.
27
29
  """
28
30
 
29
31
  offering_name: str
@@ -35,6 +37,8 @@ class PlanComponent:
35
37
  amount: Union[Unset, int] = UNSET
36
38
  price: Union[Unset, str] = UNSET
37
39
  future_price: Union[None, Unset, str] = UNSET
40
+ discount_threshold: Union[None, Unset, int] = UNSET
41
+ discount_rate: Union[None, Unset, int] = UNSET
38
42
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
39
43
 
40
44
  def to_dict(self) -> dict[str, Any]:
@@ -60,6 +64,18 @@ class PlanComponent:
60
64
  else:
61
65
  future_price = self.future_price
62
66
 
67
+ discount_threshold: Union[None, Unset, int]
68
+ if isinstance(self.discount_threshold, Unset):
69
+ discount_threshold = UNSET
70
+ else:
71
+ discount_threshold = self.discount_threshold
72
+
73
+ discount_rate: Union[None, Unset, int]
74
+ if isinstance(self.discount_rate, Unset):
75
+ discount_rate = UNSET
76
+ else:
77
+ discount_rate = self.discount_rate
78
+
63
79
  field_dict: dict[str, Any] = {}
64
80
  field_dict.update(self.additional_properties)
65
81
  field_dict.update(
@@ -78,6 +94,10 @@ class PlanComponent:
78
94
  field_dict["price"] = price
79
95
  if future_price is not UNSET:
80
96
  field_dict["future_price"] = future_price
97
+ if discount_threshold is not UNSET:
98
+ field_dict["discount_threshold"] = discount_threshold
99
+ if discount_rate is not UNSET:
100
+ field_dict["discount_rate"] = discount_rate
81
101
 
82
102
  return field_dict
83
103
 
@@ -109,6 +129,24 @@ class PlanComponent:
109
129
 
110
130
  future_price = _parse_future_price(d.pop("future_price", UNSET))
111
131
 
132
+ def _parse_discount_threshold(data: object) -> Union[None, Unset, int]:
133
+ if data is None:
134
+ return data
135
+ if isinstance(data, Unset):
136
+ return data
137
+ return cast(Union[None, Unset, int], data)
138
+
139
+ discount_threshold = _parse_discount_threshold(d.pop("discount_threshold", UNSET))
140
+
141
+ def _parse_discount_rate(data: object) -> Union[None, Unset, int]:
142
+ if data is None:
143
+ return data
144
+ if isinstance(data, Unset):
145
+ return data
146
+ return cast(Union[None, Unset, int], data)
147
+
148
+ discount_rate = _parse_discount_rate(d.pop("discount_rate", UNSET))
149
+
112
150
  plan_component = cls(
113
151
  offering_name=offering_name,
114
152
  plan_name=plan_name,
@@ -119,6 +157,8 @@ class PlanComponent:
119
157
  amount=amount,
120
158
  price=price,
121
159
  future_price=future_price,
160
+ discount_threshold=discount_threshold,
161
+ discount_rate=discount_rate,
122
162
  )
123
163
 
124
164
  plan_component.additional_properties = d