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
@@ -0,0 +1,142 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import Any, TypeVar, Union
4
+ from uuid import UUID
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+ from dateutil.parser import isoparse
9
+
10
+ from ..types import UNSET, Unset
11
+
12
+ T = TypeVar("T", bound="OfferingTermsOfService")
13
+
14
+
15
+ @_attrs_define
16
+ class OfferingTermsOfService:
17
+ """
18
+ Attributes:
19
+ uuid (UUID):
20
+ offering_uuid (UUID):
21
+ offering_name (str):
22
+ created (datetime.datetime):
23
+ modified (datetime.datetime):
24
+ terms_of_service (Union[Unset, str]):
25
+ terms_of_service_link (Union[Unset, str]):
26
+ version (Union[Unset, str]):
27
+ is_active (Union[Unset, bool]):
28
+ requires_reconsent (Union[Unset, bool]): If True, user will be asked to re-consent to the terms of service when
29
+ the terms of service are updated.
30
+ """
31
+
32
+ uuid: UUID
33
+ offering_uuid: UUID
34
+ offering_name: str
35
+ created: datetime.datetime
36
+ modified: datetime.datetime
37
+ terms_of_service: Union[Unset, str] = UNSET
38
+ terms_of_service_link: Union[Unset, str] = UNSET
39
+ version: Union[Unset, str] = UNSET
40
+ is_active: Union[Unset, bool] = UNSET
41
+ requires_reconsent: Union[Unset, bool] = UNSET
42
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
43
+
44
+ def to_dict(self) -> dict[str, Any]:
45
+ uuid = str(self.uuid)
46
+
47
+ offering_uuid = str(self.offering_uuid)
48
+
49
+ offering_name = self.offering_name
50
+
51
+ created = self.created.isoformat()
52
+
53
+ modified = self.modified.isoformat()
54
+
55
+ terms_of_service = self.terms_of_service
56
+
57
+ terms_of_service_link = self.terms_of_service_link
58
+
59
+ version = self.version
60
+
61
+ is_active = self.is_active
62
+
63
+ requires_reconsent = self.requires_reconsent
64
+
65
+ field_dict: dict[str, Any] = {}
66
+ field_dict.update(self.additional_properties)
67
+ field_dict.update(
68
+ {
69
+ "uuid": uuid,
70
+ "offering_uuid": offering_uuid,
71
+ "offering_name": offering_name,
72
+ "created": created,
73
+ "modified": modified,
74
+ }
75
+ )
76
+ if terms_of_service is not UNSET:
77
+ field_dict["terms_of_service"] = terms_of_service
78
+ if terms_of_service_link is not UNSET:
79
+ field_dict["terms_of_service_link"] = terms_of_service_link
80
+ if version is not UNSET:
81
+ field_dict["version"] = version
82
+ if is_active is not UNSET:
83
+ field_dict["is_active"] = is_active
84
+ if requires_reconsent is not UNSET:
85
+ field_dict["requires_reconsent"] = requires_reconsent
86
+
87
+ return field_dict
88
+
89
+ @classmethod
90
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
91
+ d = dict(src_dict)
92
+ uuid = UUID(d.pop("uuid"))
93
+
94
+ offering_uuid = UUID(d.pop("offering_uuid"))
95
+
96
+ offering_name = d.pop("offering_name")
97
+
98
+ created = isoparse(d.pop("created"))
99
+
100
+ modified = isoparse(d.pop("modified"))
101
+
102
+ terms_of_service = d.pop("terms_of_service", UNSET)
103
+
104
+ terms_of_service_link = d.pop("terms_of_service_link", UNSET)
105
+
106
+ version = d.pop("version", UNSET)
107
+
108
+ is_active = d.pop("is_active", UNSET)
109
+
110
+ requires_reconsent = d.pop("requires_reconsent", UNSET)
111
+
112
+ offering_terms_of_service = cls(
113
+ uuid=uuid,
114
+ offering_uuid=offering_uuid,
115
+ offering_name=offering_name,
116
+ created=created,
117
+ modified=modified,
118
+ terms_of_service=terms_of_service,
119
+ terms_of_service_link=terms_of_service_link,
120
+ version=version,
121
+ is_active=is_active,
122
+ requires_reconsent=requires_reconsent,
123
+ )
124
+
125
+ offering_terms_of_service.additional_properties = d
126
+ return offering_terms_of_service
127
+
128
+ @property
129
+ def additional_keys(self) -> list[str]:
130
+ return list(self.additional_properties.keys())
131
+
132
+ def __getitem__(self, key: str) -> Any:
133
+ return self.additional_properties[key]
134
+
135
+ def __setitem__(self, key: str, value: Any) -> None:
136
+ self.additional_properties[key] = value
137
+
138
+ def __delitem__(self, key: str) -> None:
139
+ del self.additional_properties[key]
140
+
141
+ def __contains__(self, key: str) -> bool:
142
+ return key in self.additional_properties
@@ -0,0 +1,107 @@
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="OfferingTermsOfServiceCreate")
10
+
11
+
12
+ @_attrs_define
13
+ class OfferingTermsOfServiceCreate:
14
+ """
15
+ Attributes:
16
+ offering (str):
17
+ terms_of_service (Union[Unset, str]):
18
+ terms_of_service_link (Union[Unset, str]):
19
+ version (Union[Unset, str]):
20
+ is_active (Union[Unset, bool]):
21
+ requires_reconsent (Union[Unset, bool]): If True, user will be asked to re-consent to the terms of service when
22
+ the terms of service are updated.
23
+ """
24
+
25
+ offering: str
26
+ terms_of_service: Union[Unset, str] = UNSET
27
+ terms_of_service_link: Union[Unset, str] = UNSET
28
+ version: Union[Unset, str] = UNSET
29
+ is_active: Union[Unset, bool] = UNSET
30
+ requires_reconsent: Union[Unset, bool] = UNSET
31
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
32
+
33
+ def to_dict(self) -> dict[str, Any]:
34
+ offering = self.offering
35
+
36
+ terms_of_service = self.terms_of_service
37
+
38
+ terms_of_service_link = self.terms_of_service_link
39
+
40
+ version = self.version
41
+
42
+ is_active = self.is_active
43
+
44
+ requires_reconsent = self.requires_reconsent
45
+
46
+ field_dict: dict[str, Any] = {}
47
+ field_dict.update(self.additional_properties)
48
+ field_dict.update(
49
+ {
50
+ "offering": offering,
51
+ }
52
+ )
53
+ if terms_of_service is not UNSET:
54
+ field_dict["terms_of_service"] = terms_of_service
55
+ if terms_of_service_link is not UNSET:
56
+ field_dict["terms_of_service_link"] = terms_of_service_link
57
+ if version is not UNSET:
58
+ field_dict["version"] = version
59
+ if is_active is not UNSET:
60
+ field_dict["is_active"] = is_active
61
+ if requires_reconsent is not UNSET:
62
+ field_dict["requires_reconsent"] = requires_reconsent
63
+
64
+ return field_dict
65
+
66
+ @classmethod
67
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
68
+ d = dict(src_dict)
69
+ offering = d.pop("offering")
70
+
71
+ terms_of_service = d.pop("terms_of_service", UNSET)
72
+
73
+ terms_of_service_link = d.pop("terms_of_service_link", UNSET)
74
+
75
+ version = d.pop("version", UNSET)
76
+
77
+ is_active = d.pop("is_active", UNSET)
78
+
79
+ requires_reconsent = d.pop("requires_reconsent", UNSET)
80
+
81
+ offering_terms_of_service_create = cls(
82
+ offering=offering,
83
+ terms_of_service=terms_of_service,
84
+ terms_of_service_link=terms_of_service_link,
85
+ version=version,
86
+ is_active=is_active,
87
+ requires_reconsent=requires_reconsent,
88
+ )
89
+
90
+ offering_terms_of_service_create.additional_properties = d
91
+ return offering_terms_of_service_create
92
+
93
+ @property
94
+ def additional_keys(self) -> list[str]:
95
+ return list(self.additional_properties.keys())
96
+
97
+ def __getitem__(self, key: str) -> Any:
98
+ return self.additional_properties[key]
99
+
100
+ def __setitem__(self, key: str, value: Any) -> None:
101
+ self.additional_properties[key] = value
102
+
103
+ def __delitem__(self, key: str) -> None:
104
+ del self.additional_properties[key]
105
+
106
+ def __contains__(self, key: str) -> bool:
107
+ return key in self.additional_properties
@@ -0,0 +1,107 @@
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="OfferingTermsOfServiceCreateRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class OfferingTermsOfServiceCreateRequest:
14
+ """
15
+ Attributes:
16
+ offering (str):
17
+ terms_of_service (Union[Unset, str]):
18
+ terms_of_service_link (Union[Unset, str]):
19
+ version (Union[Unset, str]):
20
+ is_active (Union[Unset, bool]):
21
+ requires_reconsent (Union[Unset, bool]): If True, user will be asked to re-consent to the terms of service when
22
+ the terms of service are updated.
23
+ """
24
+
25
+ offering: str
26
+ terms_of_service: Union[Unset, str] = UNSET
27
+ terms_of_service_link: Union[Unset, str] = UNSET
28
+ version: Union[Unset, str] = UNSET
29
+ is_active: Union[Unset, bool] = UNSET
30
+ requires_reconsent: Union[Unset, bool] = UNSET
31
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
32
+
33
+ def to_dict(self) -> dict[str, Any]:
34
+ offering = self.offering
35
+
36
+ terms_of_service = self.terms_of_service
37
+
38
+ terms_of_service_link = self.terms_of_service_link
39
+
40
+ version = self.version
41
+
42
+ is_active = self.is_active
43
+
44
+ requires_reconsent = self.requires_reconsent
45
+
46
+ field_dict: dict[str, Any] = {}
47
+ field_dict.update(self.additional_properties)
48
+ field_dict.update(
49
+ {
50
+ "offering": offering,
51
+ }
52
+ )
53
+ if terms_of_service is not UNSET:
54
+ field_dict["terms_of_service"] = terms_of_service
55
+ if terms_of_service_link is not UNSET:
56
+ field_dict["terms_of_service_link"] = terms_of_service_link
57
+ if version is not UNSET:
58
+ field_dict["version"] = version
59
+ if is_active is not UNSET:
60
+ field_dict["is_active"] = is_active
61
+ if requires_reconsent is not UNSET:
62
+ field_dict["requires_reconsent"] = requires_reconsent
63
+
64
+ return field_dict
65
+
66
+ @classmethod
67
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
68
+ d = dict(src_dict)
69
+ offering = d.pop("offering")
70
+
71
+ terms_of_service = d.pop("terms_of_service", UNSET)
72
+
73
+ terms_of_service_link = d.pop("terms_of_service_link", UNSET)
74
+
75
+ version = d.pop("version", UNSET)
76
+
77
+ is_active = d.pop("is_active", UNSET)
78
+
79
+ requires_reconsent = d.pop("requires_reconsent", UNSET)
80
+
81
+ offering_terms_of_service_create_request = cls(
82
+ offering=offering,
83
+ terms_of_service=terms_of_service,
84
+ terms_of_service_link=terms_of_service_link,
85
+ version=version,
86
+ is_active=is_active,
87
+ requires_reconsent=requires_reconsent,
88
+ )
89
+
90
+ offering_terms_of_service_create_request.additional_properties = d
91
+ return offering_terms_of_service_create_request
92
+
93
+ @property
94
+ def additional_keys(self) -> list[str]:
95
+ return list(self.additional_properties.keys())
96
+
97
+ def __getitem__(self, key: str) -> Any:
98
+ return self.additional_properties[key]
99
+
100
+ def __setitem__(self, key: str, value: Any) -> None:
101
+ self.additional_properties[key] = value
102
+
103
+ def __delitem__(self, key: str) -> None:
104
+ del self.additional_properties[key]
105
+
106
+ def __contains__(self, key: str) -> bool:
107
+ return key in self.additional_properties
@@ -0,0 +1,96 @@
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="OfferingTermsOfServiceRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class OfferingTermsOfServiceRequest:
14
+ """
15
+ Attributes:
16
+ terms_of_service (Union[Unset, str]):
17
+ terms_of_service_link (Union[Unset, str]):
18
+ version (Union[Unset, str]):
19
+ is_active (Union[Unset, bool]):
20
+ requires_reconsent (Union[Unset, bool]): If True, user will be asked to re-consent to the terms of service when
21
+ the terms of service are updated.
22
+ """
23
+
24
+ terms_of_service: Union[Unset, str] = UNSET
25
+ terms_of_service_link: Union[Unset, str] = UNSET
26
+ version: Union[Unset, str] = UNSET
27
+ is_active: Union[Unset, bool] = UNSET
28
+ requires_reconsent: Union[Unset, bool] = UNSET
29
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
30
+
31
+ def to_dict(self) -> dict[str, Any]:
32
+ terms_of_service = self.terms_of_service
33
+
34
+ terms_of_service_link = self.terms_of_service_link
35
+
36
+ version = self.version
37
+
38
+ is_active = self.is_active
39
+
40
+ requires_reconsent = self.requires_reconsent
41
+
42
+ field_dict: dict[str, Any] = {}
43
+ field_dict.update(self.additional_properties)
44
+ field_dict.update({})
45
+ if terms_of_service is not UNSET:
46
+ field_dict["terms_of_service"] = terms_of_service
47
+ if terms_of_service_link is not UNSET:
48
+ field_dict["terms_of_service_link"] = terms_of_service_link
49
+ if version is not UNSET:
50
+ field_dict["version"] = version
51
+ if is_active is not UNSET:
52
+ field_dict["is_active"] = is_active
53
+ if requires_reconsent is not UNSET:
54
+ field_dict["requires_reconsent"] = requires_reconsent
55
+
56
+ return field_dict
57
+
58
+ @classmethod
59
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
60
+ d = dict(src_dict)
61
+ terms_of_service = d.pop("terms_of_service", UNSET)
62
+
63
+ terms_of_service_link = d.pop("terms_of_service_link", UNSET)
64
+
65
+ version = d.pop("version", UNSET)
66
+
67
+ is_active = d.pop("is_active", UNSET)
68
+
69
+ requires_reconsent = d.pop("requires_reconsent", UNSET)
70
+
71
+ offering_terms_of_service_request = cls(
72
+ terms_of_service=terms_of_service,
73
+ terms_of_service_link=terms_of_service_link,
74
+ version=version,
75
+ is_active=is_active,
76
+ requires_reconsent=requires_reconsent,
77
+ )
78
+
79
+ offering_terms_of_service_request.additional_properties = d
80
+ return offering_terms_of_service_request
81
+
82
+ @property
83
+ def additional_keys(self) -> list[str]:
84
+ return list(self.additional_properties.keys())
85
+
86
+ def __getitem__(self, key: str) -> Any:
87
+ return self.additional_properties[key]
88
+
89
+ def __setitem__(self, key: str, value: Any) -> None:
90
+ self.additional_properties[key] = value
91
+
92
+ def __delitem__(self, key: str) -> None:
93
+ del self.additional_properties[key]
94
+
95
+ def __contains__(self, key: str) -> bool:
96
+ return key in self.additional_properties
@@ -22,8 +22,8 @@ class OpenStackBackendInstance:
22
22
  key_name (Union[Unset, str]):
23
23
  start_time (Union[None, Unset, datetime.datetime]):
24
24
  runtime_state (Union[Unset, str]):
25
- backend_id (Union[None, Unset, str]):
26
- hypervisor_hostname (Union[Unset, str]):
25
+ backend_id (Union[None, Unset, str]): Instance ID in the OpenStack backend
26
+ hypervisor_hostname (Union[Unset, str]): Name of the hypervisor hosting this instance
27
27
  """
28
28
 
29
29
  name: str
@@ -19,9 +19,9 @@ class OpenStackBackendVolumes:
19
19
  state (str):
20
20
  availability_zone (str):
21
21
  description (Union[Unset, str]):
22
- metadata (Union[Unset, str]):
23
- backend_id (Union[None, Unset, str]):
24
- bootable (Union[Unset, bool]):
22
+ metadata (Union[Unset, str]): Arbitrary key-value pairs associated with the volume
23
+ backend_id (Union[None, Unset, str]): Volume ID in the OpenStack backend
24
+ bootable (Union[Unset, bool]): Indicates if this volume can be used to boot an instance
25
25
  runtime_state (Union[Unset, str]):
26
26
  """
27
27
 
@@ -53,7 +53,7 @@ class OpenStackBackup:
53
53
  access_url (Union[None, Unset, str]):
54
54
  kept_until (Union[None, Unset, datetime.datetime]): Guaranteed time of backup retention. If null - keep forever.
55
55
  metadata (Union[Unset, Any]):
56
- instance (Union[Unset, str]):
56
+ instance (Union[Unset, str]): Instance that this backup is created from
57
57
  instance_name (Union[Unset, str]):
58
58
  instance_marketplace_uuid (Union[Unset, UUID]):
59
59
  restorations (Union[Unset, list['OpenStackBackupRestoration']]):
@@ -23,13 +23,16 @@ class OpenStackBackupRestoration:
23
23
  """
24
24
  Attributes:
25
25
  uuid (Union[Unset, UUID]):
26
- instance (Union[Unset, str]):
26
+ instance (Union[Unset, str]): Instance that is being restored from the backup
27
27
  created (Union[Unset, datetime.datetime]):
28
- flavor (Union[Unset, str]):
28
+ flavor (Union[Unset, str]): Flavor to be used for the restored instance. If not specified, original instance
29
+ flavor will be used
29
30
  name (Union[Unset, str]): New instance name. Leave blank to use source instance name.
30
- floating_ips (Union[Unset, list['OpenStackNestedFloatingIP']]):
31
- security_groups (Union[Unset, list['OpenStackNestedSecurityGroup']]):
32
- ports (Union[Unset, list['OpenStackNestedPort']]):
31
+ floating_ips (Union[Unset, list['OpenStackNestedFloatingIP']]): Floating IPs that will be assigned to the
32
+ restored instance
33
+ security_groups (Union[Unset, list['OpenStackNestedSecurityGroup']]): Security groups that will be assigned to
34
+ the restored instance
35
+ ports (Union[Unset, list['OpenStackNestedPort']]): Network ports that will be attached to the restored instance
33
36
  """
34
37
 
35
38
  uuid: Union[Unset, UUID] = UNSET
@@ -9,6 +9,7 @@ from ..types import UNSET, Unset
9
9
  if TYPE_CHECKING:
10
10
  from ..models.open_stack_nested_floating_ip_request import OpenStackNestedFloatingIPRequest
11
11
  from ..models.open_stack_nested_port_request import OpenStackNestedPortRequest
12
+ from ..models.open_stack_nested_security_group_request import OpenStackNestedSecurityGroupRequest
12
13
 
13
14
 
14
15
  T = TypeVar("T", bound="OpenStackBackupRestorationRequest")
@@ -18,15 +19,21 @@ T = TypeVar("T", bound="OpenStackBackupRestorationRequest")
18
19
  class OpenStackBackupRestorationRequest:
19
20
  """
20
21
  Attributes:
21
- flavor (str):
22
+ flavor (str): Flavor to be used for the restored instance. If not specified, original instance flavor will be
23
+ used
22
24
  name (Union[Unset, str]): New instance name. Leave blank to use source instance name.
23
- floating_ips (Union[Unset, list['OpenStackNestedFloatingIPRequest']]):
24
- ports (Union[Unset, list['OpenStackNestedPortRequest']]):
25
+ floating_ips (Union[Unset, list['OpenStackNestedFloatingIPRequest']]): Floating IPs that will be assigned to the
26
+ restored instance
27
+ security_groups (Union[Unset, list['OpenStackNestedSecurityGroupRequest']]): Security groups that will be
28
+ assigned to the restored instance
29
+ ports (Union[Unset, list['OpenStackNestedPortRequest']]): Network ports that will be attached to the restored
30
+ instance
25
31
  """
26
32
 
27
33
  flavor: str
28
34
  name: Union[Unset, str] = UNSET
29
35
  floating_ips: Union[Unset, list["OpenStackNestedFloatingIPRequest"]] = UNSET
36
+ security_groups: Union[Unset, list["OpenStackNestedSecurityGroupRequest"]] = UNSET
30
37
  ports: Union[Unset, list["OpenStackNestedPortRequest"]] = UNSET
31
38
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
32
39
 
@@ -42,6 +49,13 @@ class OpenStackBackupRestorationRequest:
42
49
  floating_ips_item = floating_ips_item_data.to_dict()
43
50
  floating_ips.append(floating_ips_item)
44
51
 
52
+ security_groups: Union[Unset, list[dict[str, Any]]] = UNSET
53
+ if not isinstance(self.security_groups, Unset):
54
+ security_groups = []
55
+ for security_groups_item_data in self.security_groups:
56
+ security_groups_item = security_groups_item_data.to_dict()
57
+ security_groups.append(security_groups_item)
58
+
45
59
  ports: Union[Unset, list[dict[str, Any]]] = UNSET
46
60
  if not isinstance(self.ports, Unset):
47
61
  ports = []
@@ -60,6 +74,8 @@ class OpenStackBackupRestorationRequest:
60
74
  field_dict["name"] = name
61
75
  if floating_ips is not UNSET:
62
76
  field_dict["floating_ips"] = floating_ips
77
+ if security_groups is not UNSET:
78
+ field_dict["security_groups"] = security_groups
63
79
  if ports is not UNSET:
64
80
  field_dict["ports"] = ports
65
81
 
@@ -69,6 +85,7 @@ class OpenStackBackupRestorationRequest:
69
85
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
70
86
  from ..models.open_stack_nested_floating_ip_request import OpenStackNestedFloatingIPRequest
71
87
  from ..models.open_stack_nested_port_request import OpenStackNestedPortRequest
88
+ from ..models.open_stack_nested_security_group_request import OpenStackNestedSecurityGroupRequest
72
89
 
73
90
  d = dict(src_dict)
74
91
  flavor = d.pop("flavor")
@@ -82,6 +99,13 @@ class OpenStackBackupRestorationRequest:
82
99
 
83
100
  floating_ips.append(floating_ips_item)
84
101
 
102
+ security_groups = []
103
+ _security_groups = d.pop("security_groups", UNSET)
104
+ for security_groups_item_data in _security_groups or []:
105
+ security_groups_item = OpenStackNestedSecurityGroupRequest.from_dict(security_groups_item_data)
106
+
107
+ security_groups.append(security_groups_item)
108
+
85
109
  ports = []
86
110
  _ports = d.pop("ports", UNSET)
87
111
  for ports_item_data in _ports or []:
@@ -93,6 +117,7 @@ class OpenStackBackupRestorationRequest:
93
117
  flavor=flavor,
94
118
  name=name,
95
119
  floating_ips=floating_ips,
120
+ security_groups=security_groups,
96
121
  ports=ports,
97
122
  )
98
123
 
@@ -13,8 +13,8 @@ T = TypeVar("T", bound="OpenStackFixedIp")
13
13
  class OpenStackFixedIp:
14
14
  """
15
15
  Attributes:
16
- ip_address (Union[Unset, str]):
17
- subnet_id (Union[Unset, str]):
16
+ ip_address (Union[Unset, str]): IP address to assign to the port
17
+ subnet_id (Union[Unset, str]): ID of the subnet in which to assign the IP address
18
18
  """
19
19
 
20
20
  ip_address: Union[Unset, str] = UNSET
@@ -11,8 +11,8 @@ T = TypeVar("T", bound="OpenStackFixedIpRequest")
11
11
  class OpenStackFixedIpRequest:
12
12
  """
13
13
  Attributes:
14
- ip_address (str):
15
- subnet_id (str):
14
+ ip_address (str): IP address to assign to the port
15
+ subnet_id (str): ID of the subnet in which to assign the IP address
16
16
  """
17
17
 
18
18
  ip_address: str
@@ -49,13 +49,14 @@ class OpenStackFloatingIP:
49
49
  backend_id (Union[Unset, str]):
50
50
  access_url (Union[None, Unset, str]):
51
51
  runtime_state (Union[Unset, str]):
52
- address (Union[None, Unset, str]):
53
- backend_network_id (Union[Unset, str]):
54
- tenant (Union[Unset, str]):
52
+ address (Union[None, Unset, str]): The public IPv4 address of the floating IP
53
+ backend_network_id (Union[Unset, str]): ID of network in OpenStack where this floating IP is allocated
54
+ tenant (Union[Unset, str]): OpenStack tenant this floating IP belongs to
55
55
  tenant_name (Union[Unset, str]):
56
56
  tenant_uuid (Union[Unset, UUID]):
57
57
  port (Union[Unset, str]):
58
- external_address (Union[None, Unset, str]): An optional address that maps to floating IP's address
58
+ external_address (Union[None, Unset, str]): Optional address that maps to floating IP's address in external
59
+ networks
59
60
  port_fixed_ips (Union[Unset, list['OpenStackFixedIp']]):
60
61
  instance_uuid (Union[None, Unset, str]):
61
62
  instance_name (Union[None, Unset, str]):