waldur-api-client 7.8.2__py3-none-any.whl → 7.8.4__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 (174) hide show
  1. waldur_api_client/api/booking_resources/booking_resources_count.py +18 -0
  2. waldur_api_client/api/booking_resources/booking_resources_list.py +18 -0
  3. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_template_count.py +125 -0
  4. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_template_retrieve.py +126 -0
  5. waldur_api_client/api/marketplace_project_update_requests/marketplace_project_update_requests_count.py +18 -18
  6. waldur_api_client/api/marketplace_project_update_requests/marketplace_project_update_requests_list.py +18 -18
  7. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_tos_stats_retrieve.py +146 -0
  8. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +18 -0
  9. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +18 -0
  10. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_move_resource.py +22 -0
  11. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_update_options.py +168 -0
  12. waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +18 -0
  13. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +18 -0
  14. waldur_api_client/api/marketplace_resources/marketplace_resources_move_resource.py +22 -0
  15. waldur_api_client/api/marketplace_resources/marketplace_resources_renew.py +166 -0
  16. waldur_api_client/api/marketplace_service_providers/service_provider_checklists_summary.py +189 -0
  17. waldur_api_client/api/onboarding/__init__.py +1 -0
  18. waldur_api_client/api/onboarding/onboarding_supported_countries_retrieve.py +74 -0
  19. waldur_api_client/api/onboarding_justifications/__init__.py +1 -0
  20. waldur_api_client/api/onboarding_justifications/onboarding_justifications_attach_document.py +211 -0
  21. waldur_api_client/api/onboarding_justifications/onboarding_justifications_count.py +172 -0
  22. waldur_api_client/api/onboarding_justifications/onboarding_justifications_create.py +150 -0
  23. waldur_api_client/api/onboarding_justifications/onboarding_justifications_create_justification.py +154 -0
  24. waldur_api_client/api/onboarding_justifications/onboarding_justifications_destroy.py +89 -0
  25. waldur_api_client/api/onboarding_justifications/onboarding_justifications_list.py +175 -0
  26. waldur_api_client/api/onboarding_justifications/onboarding_justifications_partial_update.py +164 -0
  27. waldur_api_client/api/onboarding_justifications/onboarding_justifications_retrieve.py +142 -0
  28. waldur_api_client/api/onboarding_justifications/onboarding_justifications_update.py +164 -0
  29. waldur_api_client/api/onboarding_verifications/__init__.py +1 -0
  30. waldur_api_client/api/onboarding_verifications/onboarding_verifications_count.py +172 -0
  31. waldur_api_client/api/onboarding_verifications/onboarding_verifications_create.py +150 -0
  32. waldur_api_client/api/onboarding_verifications/onboarding_verifications_create_customer.py +144 -0
  33. waldur_api_client/api/onboarding_verifications/onboarding_verifications_destroy.py +89 -0
  34. waldur_api_client/api/onboarding_verifications/onboarding_verifications_list.py +175 -0
  35. waldur_api_client/api/onboarding_verifications/onboarding_verifications_partial_update.py +164 -0
  36. waldur_api_client/api/onboarding_verifications/onboarding_verifications_retrieve.py +142 -0
  37. waldur_api_client/api/onboarding_verifications/onboarding_verifications_update.py +164 -0
  38. waldur_api_client/api/onboarding_verifications/onboarding_verifications_validate_company.py +154 -0
  39. waldur_api_client/api/openstack_backups/openstack_backups_restore.py +10 -10
  40. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_count.py +33 -0
  41. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_create.py +154 -0
  42. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_destroy.py +91 -0
  43. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_list.py +33 -0
  44. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_partial_update.py +164 -0
  45. waldur_api_client/api/openstack_network_rbac_policies/openstack_network_rbac_policies_update.py +164 -0
  46. waldur_api_client/api/openstack_networks/openstack_networks_rbac_policy_create.py +24 -22
  47. waldur_api_client/api/projects/projects_checklist_template_count.py +125 -0
  48. waldur_api_client/api/projects/projects_checklist_template_retrieve.py +126 -0
  49. waldur_api_client/api/proposal_proposals/proposal_proposals_checklist_template_count.py +125 -0
  50. waldur_api_client/api/proposal_proposals/proposal_proposals_checklist_template_retrieve.py +126 -0
  51. waldur_api_client/api/proposal_protected_calls/proposal_protected_calls_offerings_list.py +15 -0
  52. waldur_api_client/api/rancher_services/rancher_services_create.py +22 -22
  53. waldur_api_client/models/__init__.py +88 -10
  54. waldur_api_client/models/azure_sql_server_create_order_attributes.py +5 -10
  55. waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +7 -12
  56. waldur_api_client/models/booking_resource.py +9 -34
  57. waldur_api_client/models/booking_resources_list_field_item.py +1 -3
  58. waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -3
  59. waldur_api_client/models/call_round.py +4 -4
  60. waldur_api_client/models/checklist_template.py +99 -0
  61. waldur_api_client/models/checklist_template_checklist.py +44 -0
  62. waldur_api_client/models/constance_settings.py +54 -0
  63. waldur_api_client/models/constance_settings_request.py +54 -0
  64. waldur_api_client/models/constance_settings_request_form.py +54 -0
  65. waldur_api_client/models/constance_settings_request_multipart.py +99 -0
  66. waldur_api_client/models/customer.py +9 -0
  67. waldur_api_client/models/customers_list_field_item.py +1 -0
  68. waldur_api_client/models/customers_retrieve_field_item.py +1 -0
  69. waldur_api_client/models/deprecated_network_rbac_policy.py +137 -0
  70. waldur_api_client/models/deprecated_network_rbac_policy_request.py +78 -0
  71. waldur_api_client/models/event_groups_enum.py +1 -0
  72. waldur_api_client/models/event_types_enum.py +3 -0
  73. waldur_api_client/models/generic_order_attributes.py +1 -2
  74. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +1 -3
  75. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +1 -3
  76. waldur_api_client/models/marketplace_orders_list_field_item.py +1 -3
  77. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +1 -3
  78. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -3
  79. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -3
  80. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -3
  81. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -3
  82. waldur_api_client/models/marketplace_resources_list_field_item.py +1 -3
  83. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -3
  84. waldur_api_client/models/marketplace_robot_accounts_list_field_item.py +2 -1
  85. waldur_api_client/models/marketplace_robot_accounts_retrieve_field_item.py +2 -1
  86. waldur_api_client/models/marketplace_service_providers_projects_list_field_item.py +1 -0
  87. waldur_api_client/models/merged_plugin_options.py +27 -0
  88. waldur_api_client/models/merged_plugin_options_request.py +27 -0
  89. waldur_api_client/models/move_resource_request.py +65 -0
  90. waldur_api_client/models/nested_round.py +5 -5
  91. waldur_api_client/models/network_rbac_policy_request.py +8 -0
  92. waldur_api_client/models/notification.py +9 -9
  93. waldur_api_client/models/{notification_context_fields.py → notification_context_schema.py} +6 -6
  94. waldur_api_client/models/notification_template_detail_serializers.py +9 -3
  95. waldur_api_client/models/offering_component.py +79 -0
  96. waldur_api_client/models/offering_component_request.py +80 -0
  97. waldur_api_client/models/onboarding_company_validation_request_request.py +88 -0
  98. waldur_api_client/models/onboarding_justification.py +183 -0
  99. waldur_api_client/models/onboarding_justification_create_request.py +68 -0
  100. waldur_api_client/models/onboarding_justification_documentation.py +108 -0
  101. waldur_api_client/models/onboarding_justification_documentation_request.py +84 -0
  102. waldur_api_client/models/onboarding_justification_documentation_request_form.py +84 -0
  103. waldur_api_client/models/onboarding_justification_documentation_request_multipart.py +98 -0
  104. waldur_api_client/models/onboarding_justification_request.py +75 -0
  105. waldur_api_client/models/onboarding_verification.py +250 -0
  106. waldur_api_client/models/onboarding_verification_request.py +128 -0
  107. waldur_api_client/models/onboarding_verification_status_enum.py +12 -0
  108. waldur_api_client/models/open_stack_backup_restoration.py +3 -5
  109. waldur_api_client/models/open_stack_backup_restoration_create_request.py +141 -0
  110. waldur_api_client/models/open_stack_backup_restoration_request.py +22 -30
  111. waldur_api_client/models/open_stack_create_floating_ip_request.py +89 -0
  112. waldur_api_client/models/open_stack_create_port_request.py +104 -0
  113. waldur_api_client/models/open_stack_instance.py +13 -29
  114. waldur_api_client/models/open_stack_instance_create_order_attributes.py +67 -54
  115. waldur_api_client/models/open_stack_instance_floating_i_ps_update_request.py +5 -5
  116. waldur_api_client/models/open_stack_instance_ports_update_request.py +5 -5
  117. waldur_api_client/models/open_stack_instance_request.py +1 -67
  118. waldur_api_client/models/open_stack_nested_port_request.py +0 -9
  119. waldur_api_client/models/{open_stack_nested_security_group_request.py → open_stack_security_group_hyperlink_request.py} +14 -14
  120. waldur_api_client/models/open_stack_server_group_hyperlink_request.py +59 -0
  121. waldur_api_client/models/open_stack_tenant_create_order_attributes.py +9 -14
  122. waldur_api_client/models/open_stack_volume_create_order_attributes.py +8 -13
  123. waldur_api_client/models/openstack_instances_list_field_item.py +0 -7
  124. waldur_api_client/models/openstack_instances_retrieve_field_item.py +0 -7
  125. waldur_api_client/models/order_create.py +8 -0
  126. waldur_api_client/models/order_details.py +9 -34
  127. waldur_api_client/models/patched_network_rbac_policy_request.py +85 -0
  128. waldur_api_client/models/patched_onboarding_justification_request.py +77 -0
  129. waldur_api_client/models/patched_onboarding_verification_request.py +128 -0
  130. waldur_api_client/models/patched_open_stack_instance_request.py +1 -67
  131. waldur_api_client/models/patched_project_credit_request.py +13 -0
  132. waldur_api_client/models/patched_project_request.py +1 -2
  133. waldur_api_client/models/patched_project_request_form.py +1 -2
  134. waldur_api_client/models/patched_project_request_multipart.py +1 -2
  135. waldur_api_client/models/project.py +10 -2
  136. waldur_api_client/models/project_credit.py +13 -0
  137. waldur_api_client/models/project_credit_request.py +13 -0
  138. waldur_api_client/models/{rancher_nested_security_group.py → project_hyperlink_request.py} +5 -5
  139. waldur_api_client/models/project_request.py +1 -2
  140. waldur_api_client/models/project_request_form.py +1 -2
  141. waldur_api_client/models/project_request_multipart.py +1 -2
  142. waldur_api_client/models/projects_list_field_item.py +1 -0
  143. waldur_api_client/models/projects_retrieve_field_item.py +1 -0
  144. waldur_api_client/models/protected_round.py +4 -4
  145. waldur_api_client/models/question.py +102 -0
  146. waldur_api_client/models/{open_stack_data_volume.py → question_options.py} +27 -29
  147. waldur_api_client/models/rancher_clusters_list_field_item.py +0 -1
  148. waldur_api_client/models/rancher_clusters_retrieve_field_item.py +0 -1
  149. waldur_api_client/models/rancher_service_create.py +508 -0
  150. waldur_api_client/models/rancher_service_create_marketplace_offering_plugin_options_type_0.py +44 -0
  151. waldur_api_client/models/rancher_service_create_request.py +185 -0
  152. waldur_api_client/models/rancher_service_request.py +16 -19
  153. waldur_api_client/models/rancher_workload_create.py +59 -0
  154. waldur_api_client/models/rancher_workload_create_request.py +59 -0
  155. waldur_api_client/models/resource.py +9 -34
  156. waldur_api_client/models/resource_renew_request.py +83 -0
  157. waldur_api_client/models/resource_renew_request_limits.py +44 -0
  158. waldur_api_client/models/robot_account_details.py +22 -13
  159. waldur_api_client/models/{status_enum.py → round_status.py} +1 -1
  160. waldur_api_client/models/service_provider_checklist_summary.py +98 -0
  161. waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +4 -9
  162. waldur_api_client/models/time_series_to_s_data.py +69 -0
  163. waldur_api_client/models/to_s_consent_dashboard.py +155 -0
  164. waldur_api_client/models/update_offering_component_request.py +79 -0
  165. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +11 -16
  166. waldur_api_client/models/validation_decision_enum.py +10 -0
  167. waldur_api_client/models/validation_method_enum.py +8 -0
  168. waldur_api_client/models/version_adoption.py +67 -0
  169. waldur_api_client/models/vmware_nested_network.py +0 -25
  170. waldur_api_client/models/vmware_nested_network_request.py +6 -14
  171. {waldur_api_client-7.8.2.dist-info → waldur_api_client-7.8.4.dist-info}/METADATA +1 -1
  172. {waldur_api_client-7.8.2.dist-info → waldur_api_client-7.8.4.dist-info}/RECORD +174 -101
  173. {waldur_api_client-7.8.2.dist-info → waldur_api_client-7.8.4.dist-info}/WHEEL +0 -0
  174. {waldur_api_client-7.8.2.dist-info → waldur_api_client-7.8.4.dist-info}/licenses/LICENSE +0 -0
@@ -47,7 +47,8 @@ class RobotAccountDetails:
47
47
  project_uuid (Union[Unset, UUID]):
48
48
  customer_uuid (Union[Unset, UUID]):
49
49
  customer_name (Union[Unset, str]):
50
- offering_customer_uuid (Union[Unset, UUID]):
50
+ provider_uuid (Union[Unset, UUID]):
51
+ provider_name (Union[Unset, str]):
51
52
  offering_plugin_options (Union[Unset, MergedPluginOptions]):
52
53
  """
53
54
 
@@ -74,7 +75,8 @@ class RobotAccountDetails:
74
75
  project_uuid: Union[Unset, UUID] = UNSET
75
76
  customer_uuid: Union[Unset, UUID] = UNSET
76
77
  customer_name: Union[Unset, str] = UNSET
77
- offering_customer_uuid: Union[Unset, UUID] = UNSET
78
+ provider_uuid: Union[Unset, UUID] = UNSET
79
+ provider_name: Union[Unset, str] = UNSET
78
80
  offering_plugin_options: Union[Unset, "MergedPluginOptions"] = UNSET
79
81
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
80
82
 
@@ -162,9 +164,11 @@ class RobotAccountDetails:
162
164
 
163
165
  customer_name = self.customer_name
164
166
 
165
- offering_customer_uuid: Union[Unset, str] = UNSET
166
- if not isinstance(self.offering_customer_uuid, Unset):
167
- offering_customer_uuid = str(self.offering_customer_uuid)
167
+ provider_uuid: Union[Unset, str] = UNSET
168
+ if not isinstance(self.provider_uuid, Unset):
169
+ provider_uuid = str(self.provider_uuid)
170
+
171
+ provider_name = self.provider_name
168
172
 
169
173
  offering_plugin_options: Union[Unset, dict[str, Any]] = UNSET
170
174
  if not isinstance(self.offering_plugin_options, Unset):
@@ -219,8 +223,10 @@ class RobotAccountDetails:
219
223
  field_dict["customer_uuid"] = customer_uuid
220
224
  if customer_name is not UNSET:
221
225
  field_dict["customer_name"] = customer_name
222
- if offering_customer_uuid is not UNSET:
223
- field_dict["offering_customer_uuid"] = offering_customer_uuid
226
+ if provider_uuid is not UNSET:
227
+ field_dict["provider_uuid"] = provider_uuid
228
+ if provider_name is not UNSET:
229
+ field_dict["provider_name"] = provider_name
224
230
  if offering_plugin_options is not UNSET:
225
231
  field_dict["offering_plugin_options"] = offering_plugin_options
226
232
 
@@ -345,12 +351,14 @@ class RobotAccountDetails:
345
351
 
346
352
  customer_name = d.pop("customer_name", UNSET)
347
353
 
348
- _offering_customer_uuid = d.pop("offering_customer_uuid", UNSET)
349
- offering_customer_uuid: Union[Unset, UUID]
350
- if isinstance(_offering_customer_uuid, Unset):
351
- offering_customer_uuid = UNSET
354
+ _provider_uuid = d.pop("provider_uuid", UNSET)
355
+ provider_uuid: Union[Unset, UUID]
356
+ if isinstance(_provider_uuid, Unset):
357
+ provider_uuid = UNSET
352
358
  else:
353
- offering_customer_uuid = UUID(_offering_customer_uuid)
359
+ provider_uuid = UUID(_provider_uuid)
360
+
361
+ provider_name = d.pop("provider_name", UNSET)
354
362
 
355
363
  _offering_plugin_options = d.pop("offering_plugin_options", UNSET)
356
364
  offering_plugin_options: Union[Unset, MergedPluginOptions]
@@ -383,7 +391,8 @@ class RobotAccountDetails:
383
391
  project_uuid=project_uuid,
384
392
  customer_uuid=customer_uuid,
385
393
  customer_name=customer_name,
386
- offering_customer_uuid=offering_customer_uuid,
394
+ provider_uuid=provider_uuid,
395
+ provider_name=provider_name,
387
396
  offering_plugin_options=offering_plugin_options,
388
397
  )
389
398
 
@@ -1,7 +1,7 @@
1
1
  from enum import Enum
2
2
 
3
3
 
4
- class StatusEnum(str, Enum):
4
+ class RoundStatus(str, Enum):
5
5
  ENDED = "ended"
6
6
  OPEN = "open"
7
7
  SCHEDULED = "scheduled"
@@ -0,0 +1,98 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+ from uuid import UUID
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ T = TypeVar("T", bound="ServiceProviderChecklistSummary")
9
+
10
+
11
+ @_attrs_define
12
+ class ServiceProviderChecklistSummary:
13
+ """
14
+ Attributes:
15
+ checklist_uuid (UUID):
16
+ checklist_name (str):
17
+ questions_count (int):
18
+ offerings_count (int):
19
+ category_name (Union[None, str]):
20
+ """
21
+
22
+ checklist_uuid: UUID
23
+ checklist_name: str
24
+ questions_count: int
25
+ offerings_count: int
26
+ category_name: Union[None, str]
27
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> dict[str, Any]:
30
+ checklist_uuid = str(self.checklist_uuid)
31
+
32
+ checklist_name = self.checklist_name
33
+
34
+ questions_count = self.questions_count
35
+
36
+ offerings_count = self.offerings_count
37
+
38
+ category_name: Union[None, str]
39
+ category_name = self.category_name
40
+
41
+ field_dict: dict[str, Any] = {}
42
+ field_dict.update(self.additional_properties)
43
+ field_dict.update(
44
+ {
45
+ "checklist_uuid": checklist_uuid,
46
+ "checklist_name": checklist_name,
47
+ "questions_count": questions_count,
48
+ "offerings_count": offerings_count,
49
+ "category_name": category_name,
50
+ }
51
+ )
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
57
+ d = dict(src_dict)
58
+ checklist_uuid = UUID(d.pop("checklist_uuid"))
59
+
60
+ checklist_name = d.pop("checklist_name")
61
+
62
+ questions_count = d.pop("questions_count")
63
+
64
+ offerings_count = d.pop("offerings_count")
65
+
66
+ def _parse_category_name(data: object) -> Union[None, str]:
67
+ if data is None:
68
+ return data
69
+ return cast(Union[None, str], data)
70
+
71
+ category_name = _parse_category_name(d.pop("category_name"))
72
+
73
+ service_provider_checklist_summary = cls(
74
+ checklist_uuid=checklist_uuid,
75
+ checklist_name=checklist_name,
76
+ questions_count=questions_count,
77
+ offerings_count=offerings_count,
78
+ category_name=category_name,
79
+ )
80
+
81
+ service_provider_checklist_summary.additional_properties = d
82
+ return service_provider_checklist_summary
83
+
84
+ @property
85
+ def additional_keys(self) -> list[str]:
86
+ return list(self.additional_properties.keys())
87
+
88
+ def __getitem__(self, key: str) -> Any:
89
+ return self.additional_properties[key]
90
+
91
+ def __setitem__(self, key: str, value: Any) -> None:
92
+ self.additional_properties[key] = value
93
+
94
+ def __delitem__(self, key: str) -> None:
95
+ del self.additional_properties[key]
96
+
97
+ def __contains__(self, key: str) -> bool:
98
+ return key in self.additional_properties
@@ -11,15 +11,10 @@ T = TypeVar("T", bound="SlurmInvoicesSlurmPackageCreateOrderAttributes")
11
11
 
12
12
  @_attrs_define
13
13
  class SlurmInvoicesSlurmPackageCreateOrderAttributes:
14
- """This mixin allows to specify list of fields to be rendered by serializer.
15
- It expects that request is available in serializer's context.
16
-
17
- It is disabled for nested serializers (where parent is another serializer)
18
- but remains active for list views (where parent is a ListSerializer).
19
-
20
- Attributes:
21
- name (str):
22
- description (Union[Unset, str]):
14
+ """
15
+ Attributes:
16
+ name (str):
17
+ description (Union[Unset, str]):
23
18
  """
24
19
 
25
20
  name: str
@@ -0,0 +1,69 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import Any, TypeVar
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
+ T = TypeVar("T", bound="TimeSeriesToSData")
10
+
11
+
12
+ @_attrs_define
13
+ class TimeSeriesToSData:
14
+ """
15
+ Attributes:
16
+ date (datetime.date):
17
+ count (int):
18
+ """
19
+
20
+ date: datetime.date
21
+ count: int
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ date = self.date.isoformat()
26
+
27
+ count = self.count
28
+
29
+ field_dict: dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "date": date,
34
+ "count": count,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
42
+ d = dict(src_dict)
43
+ date = isoparse(d.pop("date")).date()
44
+
45
+ count = d.pop("count")
46
+
47
+ time_series_to_s_data = cls(
48
+ date=date,
49
+ count=count,
50
+ )
51
+
52
+ time_series_to_s_data.additional_properties = d
53
+ return time_series_to_s_data
54
+
55
+ @property
56
+ def additional_keys(self) -> list[str]:
57
+ return list(self.additional_properties.keys())
58
+
59
+ def __getitem__(self, key: str) -> Any:
60
+ return self.additional_properties[key]
61
+
62
+ def __setitem__(self, key: str, value: Any) -> None:
63
+ self.additional_properties[key] = value
64
+
65
+ def __delitem__(self, key: str) -> None:
66
+ del self.additional_properties[key]
67
+
68
+ def __contains__(self, key: str) -> bool:
69
+ return key in self.additional_properties
@@ -0,0 +1,155 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.time_series_to_s_data import TimeSeriesToSData
9
+ from ..models.version_adoption import VersionAdoption
10
+
11
+
12
+ T = TypeVar("T", bound="ToSConsentDashboard")
13
+
14
+
15
+ @_attrs_define
16
+ class ToSConsentDashboard:
17
+ """
18
+ Attributes:
19
+ active_users_count (int):
20
+ total_users_count (int):
21
+ active_users_percentage (float):
22
+ accepted_consents_count (int):
23
+ revoked_consents_count (int):
24
+ total_consents_count (int):
25
+ revoked_consents_over_time (list['TimeSeriesToSData']):
26
+ tos_version_adoption (list['VersionAdoption']):
27
+ active_users_over_time (list['TimeSeriesToSData']):
28
+ """
29
+
30
+ active_users_count: int
31
+ total_users_count: int
32
+ active_users_percentage: float
33
+ accepted_consents_count: int
34
+ revoked_consents_count: int
35
+ total_consents_count: int
36
+ revoked_consents_over_time: list["TimeSeriesToSData"]
37
+ tos_version_adoption: list["VersionAdoption"]
38
+ active_users_over_time: list["TimeSeriesToSData"]
39
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
40
+
41
+ def to_dict(self) -> dict[str, Any]:
42
+ active_users_count = self.active_users_count
43
+
44
+ total_users_count = self.total_users_count
45
+
46
+ active_users_percentage = self.active_users_percentage
47
+
48
+ accepted_consents_count = self.accepted_consents_count
49
+
50
+ revoked_consents_count = self.revoked_consents_count
51
+
52
+ total_consents_count = self.total_consents_count
53
+
54
+ revoked_consents_over_time = []
55
+ for revoked_consents_over_time_item_data in self.revoked_consents_over_time:
56
+ revoked_consents_over_time_item = revoked_consents_over_time_item_data.to_dict()
57
+ revoked_consents_over_time.append(revoked_consents_over_time_item)
58
+
59
+ tos_version_adoption = []
60
+ for tos_version_adoption_item_data in self.tos_version_adoption:
61
+ tos_version_adoption_item = tos_version_adoption_item_data.to_dict()
62
+ tos_version_adoption.append(tos_version_adoption_item)
63
+
64
+ active_users_over_time = []
65
+ for active_users_over_time_item_data in self.active_users_over_time:
66
+ active_users_over_time_item = active_users_over_time_item_data.to_dict()
67
+ active_users_over_time.append(active_users_over_time_item)
68
+
69
+ field_dict: dict[str, Any] = {}
70
+ field_dict.update(self.additional_properties)
71
+ field_dict.update(
72
+ {
73
+ "active_users_count": active_users_count,
74
+ "total_users_count": total_users_count,
75
+ "active_users_percentage": active_users_percentage,
76
+ "accepted_consents_count": accepted_consents_count,
77
+ "revoked_consents_count": revoked_consents_count,
78
+ "total_consents_count": total_consents_count,
79
+ "revoked_consents_over_time": revoked_consents_over_time,
80
+ "tos_version_adoption": tos_version_adoption,
81
+ "active_users_over_time": active_users_over_time,
82
+ }
83
+ )
84
+
85
+ return field_dict
86
+
87
+ @classmethod
88
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
89
+ from ..models.time_series_to_s_data import TimeSeriesToSData
90
+ from ..models.version_adoption import VersionAdoption
91
+
92
+ d = dict(src_dict)
93
+ active_users_count = d.pop("active_users_count")
94
+
95
+ total_users_count = d.pop("total_users_count")
96
+
97
+ active_users_percentage = d.pop("active_users_percentage")
98
+
99
+ accepted_consents_count = d.pop("accepted_consents_count")
100
+
101
+ revoked_consents_count = d.pop("revoked_consents_count")
102
+
103
+ total_consents_count = d.pop("total_consents_count")
104
+
105
+ revoked_consents_over_time = []
106
+ _revoked_consents_over_time = d.pop("revoked_consents_over_time")
107
+ for revoked_consents_over_time_item_data in _revoked_consents_over_time:
108
+ revoked_consents_over_time_item = TimeSeriesToSData.from_dict(revoked_consents_over_time_item_data)
109
+
110
+ revoked_consents_over_time.append(revoked_consents_over_time_item)
111
+
112
+ tos_version_adoption = []
113
+ _tos_version_adoption = d.pop("tos_version_adoption")
114
+ for tos_version_adoption_item_data in _tos_version_adoption:
115
+ tos_version_adoption_item = VersionAdoption.from_dict(tos_version_adoption_item_data)
116
+
117
+ tos_version_adoption.append(tos_version_adoption_item)
118
+
119
+ active_users_over_time = []
120
+ _active_users_over_time = d.pop("active_users_over_time")
121
+ for active_users_over_time_item_data in _active_users_over_time:
122
+ active_users_over_time_item = TimeSeriesToSData.from_dict(active_users_over_time_item_data)
123
+
124
+ active_users_over_time.append(active_users_over_time_item)
125
+
126
+ to_s_consent_dashboard = cls(
127
+ active_users_count=active_users_count,
128
+ total_users_count=total_users_count,
129
+ active_users_percentage=active_users_percentage,
130
+ accepted_consents_count=accepted_consents_count,
131
+ revoked_consents_count=revoked_consents_count,
132
+ total_consents_count=total_consents_count,
133
+ revoked_consents_over_time=revoked_consents_over_time,
134
+ tos_version_adoption=tos_version_adoption,
135
+ active_users_over_time=active_users_over_time,
136
+ )
137
+
138
+ to_s_consent_dashboard.additional_properties = d
139
+ return to_s_consent_dashboard
140
+
141
+ @property
142
+ def additional_keys(self) -> list[str]:
143
+ return list(self.additional_properties.keys())
144
+
145
+ def __getitem__(self, key: str) -> Any:
146
+ return self.additional_properties[key]
147
+
148
+ def __setitem__(self, key: str, value: Any) -> None:
149
+ self.additional_properties[key] = value
150
+
151
+ def __delitem__(self, key: str) -> None:
152
+ del self.additional_properties[key]
153
+
154
+ def __contains__(self, key: str) -> bool:
155
+ return key in self.additional_properties
@@ -32,6 +32,10 @@ class UpdateOfferingComponentRequest:
32
32
  max_available_limit (Union[None, Unset, int]):
33
33
  is_boolean (Union[Unset, bool]):
34
34
  default_limit (Union[None, Unset, int]):
35
+ is_prepaid (Union[Unset, bool]):
36
+ overage_component (Union[None, UUID, Unset]):
37
+ min_prepaid_duration (Union[None, Unset, int]):
38
+ max_prepaid_duration (Union[None, Unset, int]):
35
39
  """
36
40
 
37
41
  uuid: UUID
@@ -49,6 +53,10 @@ class UpdateOfferingComponentRequest:
49
53
  max_available_limit: Union[None, Unset, int] = UNSET
50
54
  is_boolean: Union[Unset, bool] = UNSET
51
55
  default_limit: Union[None, Unset, int] = UNSET
56
+ is_prepaid: Union[Unset, bool] = UNSET
57
+ overage_component: Union[None, UUID, Unset] = UNSET
58
+ min_prepaid_duration: Union[None, Unset, int] = UNSET
59
+ max_prepaid_duration: Union[None, Unset, int] = UNSET
52
60
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
53
61
 
54
62
  def to_dict(self) -> dict[str, Any]:
@@ -110,6 +118,28 @@ class UpdateOfferingComponentRequest:
110
118
  else:
111
119
  default_limit = self.default_limit
112
120
 
121
+ is_prepaid = self.is_prepaid
122
+
123
+ overage_component: Union[None, Unset, str]
124
+ if isinstance(self.overage_component, Unset):
125
+ overage_component = UNSET
126
+ elif isinstance(self.overage_component, UUID):
127
+ overage_component = str(self.overage_component)
128
+ else:
129
+ overage_component = self.overage_component
130
+
131
+ min_prepaid_duration: Union[None, Unset, int]
132
+ if isinstance(self.min_prepaid_duration, Unset):
133
+ min_prepaid_duration = UNSET
134
+ else:
135
+ min_prepaid_duration = self.min_prepaid_duration
136
+
137
+ max_prepaid_duration: Union[None, Unset, int]
138
+ if isinstance(self.max_prepaid_duration, Unset):
139
+ max_prepaid_duration = UNSET
140
+ else:
141
+ max_prepaid_duration = self.max_prepaid_duration
142
+
113
143
  field_dict: dict[str, Any] = {}
114
144
  field_dict.update(self.additional_properties)
115
145
  field_dict.update(
@@ -142,6 +172,14 @@ class UpdateOfferingComponentRequest:
142
172
  field_dict["is_boolean"] = is_boolean
143
173
  if default_limit is not UNSET:
144
174
  field_dict["default_limit"] = default_limit
175
+ if is_prepaid is not UNSET:
176
+ field_dict["is_prepaid"] = is_prepaid
177
+ if overage_component is not UNSET:
178
+ field_dict["overage_component"] = overage_component
179
+ if min_prepaid_duration is not UNSET:
180
+ field_dict["min_prepaid_duration"] = min_prepaid_duration
181
+ if max_prepaid_duration is not UNSET:
182
+ field_dict["max_prepaid_duration"] = max_prepaid_duration
145
183
 
146
184
  return field_dict
147
185
 
@@ -236,6 +274,43 @@ class UpdateOfferingComponentRequest:
236
274
 
237
275
  default_limit = _parse_default_limit(d.pop("default_limit", UNSET))
238
276
 
277
+ is_prepaid = d.pop("is_prepaid", UNSET)
278
+
279
+ def _parse_overage_component(data: object) -> Union[None, UUID, Unset]:
280
+ if data is None:
281
+ return data
282
+ if isinstance(data, Unset):
283
+ return data
284
+ try:
285
+ if not isinstance(data, str):
286
+ raise TypeError()
287
+ overage_component_type_0 = UUID(data)
288
+
289
+ return overage_component_type_0
290
+ except: # noqa: E722
291
+ pass
292
+ return cast(Union[None, UUID, Unset], data)
293
+
294
+ overage_component = _parse_overage_component(d.pop("overage_component", UNSET))
295
+
296
+ def _parse_min_prepaid_duration(data: object) -> Union[None, Unset, int]:
297
+ if data is None:
298
+ return data
299
+ if isinstance(data, Unset):
300
+ return data
301
+ return cast(Union[None, Unset, int], data)
302
+
303
+ min_prepaid_duration = _parse_min_prepaid_duration(d.pop("min_prepaid_duration", UNSET))
304
+
305
+ def _parse_max_prepaid_duration(data: object) -> Union[None, Unset, int]:
306
+ if data is None:
307
+ return data
308
+ if isinstance(data, Unset):
309
+ return data
310
+ return cast(Union[None, Unset, int], data)
311
+
312
+ max_prepaid_duration = _parse_max_prepaid_duration(d.pop("max_prepaid_duration", UNSET))
313
+
239
314
  update_offering_component_request = cls(
240
315
  uuid=uuid,
241
316
  billing_type=billing_type,
@@ -252,6 +327,10 @@ class UpdateOfferingComponentRequest:
252
327
  max_available_limit=max_available_limit,
253
328
  is_boolean=is_boolean,
254
329
  default_limit=default_limit,
330
+ is_prepaid=is_prepaid,
331
+ overage_component=overage_component,
332
+ min_prepaid_duration=min_prepaid_duration,
333
+ max_prepaid_duration=max_prepaid_duration,
255
334
  )
256
335
 
257
336
  update_offering_component_request.additional_properties = d
@@ -20,22 +20,17 @@ T = TypeVar("T", bound="VMwareVirtualMachineCreateOrderAttributes")
20
20
 
21
21
  @_attrs_define
22
22
  class VMwareVirtualMachineCreateOrderAttributes:
23
- """This mixin allows to specify list of fields to be rendered by serializer.
24
- It expects that request is available in serializer's context.
25
-
26
- It is disabled for nested serializers (where parent is another serializer)
27
- but remains active for list views (where parent is a ListSerializer).
28
-
29
- Attributes:
30
- name (str):
31
- description (Union[Unset, str]):
32
- guest_os (Union[None, Unset, VMwareVirtualMachineCreateOrderAttributesGuestOsType1,
33
- VMwareVirtualMachineCreateOrderAttributesGuestOsType2Type1,
34
- VMwareVirtualMachineCreateOrderAttributesGuestOsType3Type1]):
35
- cores_per_socket (Union[Unset, int]): Number of cores per socket in a VM
36
- template (Union[None, Unset, str]):
37
- cluster (Union[None, Unset, str]):
38
- datastore (Union[None, Unset, str]):
23
+ """
24
+ Attributes:
25
+ name (str):
26
+ description (Union[Unset, str]):
27
+ guest_os (Union[None, Unset, VMwareVirtualMachineCreateOrderAttributesGuestOsType1,
28
+ VMwareVirtualMachineCreateOrderAttributesGuestOsType2Type1,
29
+ VMwareVirtualMachineCreateOrderAttributesGuestOsType3Type1]):
30
+ cores_per_socket (Union[Unset, int]): Number of cores per socket in a VM
31
+ template (Union[None, Unset, str]):
32
+ cluster (Union[None, Unset, str]):
33
+ datastore (Union[None, Unset, str]):
39
34
  """
40
35
 
41
36
  name: str
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ValidationDecisionEnum(str, Enum):
5
+ APPROVED = "approved"
6
+ PENDING = "pending"
7
+ REJECTED = "rejected"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ValidationMethodEnum(str, Enum):
5
+ ARIREGISTER = "ariregister"
6
+
7
+ def __str__(self) -> str:
8
+ return str(self.value)
@@ -0,0 +1,67 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="VersionAdoption")
8
+
9
+
10
+ @_attrs_define
11
+ class VersionAdoption:
12
+ """
13
+ Attributes:
14
+ version (str):
15
+ users_count (int):
16
+ """
17
+
18
+ version: str
19
+ users_count: int
20
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
+
22
+ def to_dict(self) -> dict[str, Any]:
23
+ version = self.version
24
+
25
+ users_count = self.users_count
26
+
27
+ field_dict: dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "version": version,
32
+ "users_count": users_count,
33
+ }
34
+ )
35
+
36
+ return field_dict
37
+
38
+ @classmethod
39
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
40
+ d = dict(src_dict)
41
+ version = d.pop("version")
42
+
43
+ users_count = d.pop("users_count")
44
+
45
+ version_adoption = cls(
46
+ version=version,
47
+ users_count=users_count,
48
+ )
49
+
50
+ version_adoption.additional_properties = d
51
+ return version_adoption
52
+
53
+ @property
54
+ def additional_keys(self) -> list[str]:
55
+ return list(self.additional_properties.keys())
56
+
57
+ def __getitem__(self, key: str) -> Any:
58
+ return self.additional_properties[key]
59
+
60
+ def __setitem__(self, key: str, value: Any) -> None:
61
+ self.additional_properties[key] = value
62
+
63
+ def __delitem__(self, key: str) -> None:
64
+ del self.additional_properties[key]
65
+
66
+ def __contains__(self, key: str) -> bool:
67
+ return key in self.additional_properties