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
@@ -0,0 +1,185 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
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
+ if TYPE_CHECKING:
10
+ from ..models.rancher_workload_create_request import RancherWorkloadCreateRequest
11
+
12
+
13
+ T = TypeVar("T", bound="RancherServiceCreateRequest")
14
+
15
+
16
+ @_attrs_define
17
+ class RancherServiceCreateRequest:
18
+ """
19
+ Attributes:
20
+ name (str):
21
+ service_settings (str):
22
+ project (str):
23
+ description (Union[Unset, str]):
24
+ error_message (Union[Unset, str]):
25
+ error_traceback (Union[Unset, str]):
26
+ backend_id (Union[Unset, str]):
27
+ runtime_state (Union[Unset, str]):
28
+ namespace (Union[Unset, str]):
29
+ cluster_ip (Union[None, Unset, str]): An IPv4 or IPv6 address.
30
+ selector (Union[Unset, Any]):
31
+ target_workloads (Union[Unset, list['RancherWorkloadCreateRequest']]):
32
+ """
33
+
34
+ name: str
35
+ service_settings: str
36
+ project: str
37
+ description: Union[Unset, str] = UNSET
38
+ error_message: Union[Unset, str] = UNSET
39
+ error_traceback: Union[Unset, str] = UNSET
40
+ backend_id: Union[Unset, str] = UNSET
41
+ runtime_state: Union[Unset, str] = UNSET
42
+ namespace: Union[Unset, str] = UNSET
43
+ cluster_ip: Union[None, Unset, str] = UNSET
44
+ selector: Union[Unset, Any] = UNSET
45
+ target_workloads: Union[Unset, list["RancherWorkloadCreateRequest"]] = UNSET
46
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
47
+
48
+ def to_dict(self) -> dict[str, Any]:
49
+ name = self.name
50
+
51
+ service_settings = self.service_settings
52
+
53
+ project = self.project
54
+
55
+ description = self.description
56
+
57
+ error_message = self.error_message
58
+
59
+ error_traceback = self.error_traceback
60
+
61
+ backend_id = self.backend_id
62
+
63
+ runtime_state = self.runtime_state
64
+
65
+ namespace = self.namespace
66
+
67
+ cluster_ip: Union[None, Unset, str]
68
+ if isinstance(self.cluster_ip, Unset):
69
+ cluster_ip = UNSET
70
+ else:
71
+ cluster_ip = self.cluster_ip
72
+
73
+ selector = self.selector
74
+
75
+ target_workloads: Union[Unset, list[dict[str, Any]]] = UNSET
76
+ if not isinstance(self.target_workloads, Unset):
77
+ target_workloads = []
78
+ for target_workloads_item_data in self.target_workloads:
79
+ target_workloads_item = target_workloads_item_data.to_dict()
80
+ target_workloads.append(target_workloads_item)
81
+
82
+ field_dict: dict[str, Any] = {}
83
+ field_dict.update(self.additional_properties)
84
+ field_dict.update(
85
+ {
86
+ "name": name,
87
+ "service_settings": service_settings,
88
+ "project": project,
89
+ }
90
+ )
91
+ if description is not UNSET:
92
+ field_dict["description"] = description
93
+ if error_message is not UNSET:
94
+ field_dict["error_message"] = error_message
95
+ if error_traceback is not UNSET:
96
+ field_dict["error_traceback"] = error_traceback
97
+ if backend_id is not UNSET:
98
+ field_dict["backend_id"] = backend_id
99
+ if runtime_state is not UNSET:
100
+ field_dict["runtime_state"] = runtime_state
101
+ if namespace is not UNSET:
102
+ field_dict["namespace"] = namespace
103
+ if cluster_ip is not UNSET:
104
+ field_dict["cluster_ip"] = cluster_ip
105
+ if selector is not UNSET:
106
+ field_dict["selector"] = selector
107
+ if target_workloads is not UNSET:
108
+ field_dict["target_workloads"] = target_workloads
109
+
110
+ return field_dict
111
+
112
+ @classmethod
113
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
114
+ from ..models.rancher_workload_create_request import RancherWorkloadCreateRequest
115
+
116
+ d = dict(src_dict)
117
+ name = d.pop("name")
118
+
119
+ service_settings = d.pop("service_settings")
120
+
121
+ project = d.pop("project")
122
+
123
+ description = d.pop("description", UNSET)
124
+
125
+ error_message = d.pop("error_message", UNSET)
126
+
127
+ error_traceback = d.pop("error_traceback", UNSET)
128
+
129
+ backend_id = d.pop("backend_id", UNSET)
130
+
131
+ runtime_state = d.pop("runtime_state", UNSET)
132
+
133
+ namespace = d.pop("namespace", UNSET)
134
+
135
+ def _parse_cluster_ip(data: object) -> Union[None, Unset, str]:
136
+ if data is None:
137
+ return data
138
+ if isinstance(data, Unset):
139
+ return data
140
+ return cast(Union[None, Unset, str], data)
141
+
142
+ cluster_ip = _parse_cluster_ip(d.pop("cluster_ip", UNSET))
143
+
144
+ selector = d.pop("selector", UNSET)
145
+
146
+ target_workloads = []
147
+ _target_workloads = d.pop("target_workloads", UNSET)
148
+ for target_workloads_item_data in _target_workloads or []:
149
+ target_workloads_item = RancherWorkloadCreateRequest.from_dict(target_workloads_item_data)
150
+
151
+ target_workloads.append(target_workloads_item)
152
+
153
+ rancher_service_create_request = cls(
154
+ name=name,
155
+ service_settings=service_settings,
156
+ project=project,
157
+ description=description,
158
+ error_message=error_message,
159
+ error_traceback=error_traceback,
160
+ backend_id=backend_id,
161
+ runtime_state=runtime_state,
162
+ namespace=namespace,
163
+ cluster_ip=cluster_ip,
164
+ selector=selector,
165
+ target_workloads=target_workloads,
166
+ )
167
+
168
+ rancher_service_create_request.additional_properties = d
169
+ return rancher_service_create_request
170
+
171
+ @property
172
+ def additional_keys(self) -> list[str]:
173
+ return list(self.additional_properties.keys())
174
+
175
+ def __getitem__(self, key: str) -> Any:
176
+ return self.additional_properties[key]
177
+
178
+ def __setitem__(self, key: str, value: Any) -> None:
179
+ self.additional_properties[key] = value
180
+
181
+ def __delitem__(self, key: str) -> None:
182
+ del self.additional_properties[key]
183
+
184
+ def __contains__(self, key: str) -> bool:
185
+ return key in self.additional_properties
@@ -20,6 +20,7 @@ class RancherServiceRequest:
20
20
  name (str):
21
21
  service_settings (str):
22
22
  project (str):
23
+ target_workloads (list['RancherNestedWorkloadRequest']):
23
24
  description (Union[Unset, str]):
24
25
  error_message (Union[Unset, str]):
25
26
  error_traceback (Union[Unset, str]):
@@ -28,12 +29,12 @@ class RancherServiceRequest:
28
29
  namespace (Union[Unset, str]):
29
30
  cluster_ip (Union[None, Unset, str]): An IPv4 or IPv6 address.
30
31
  selector (Union[Unset, Any]):
31
- target_workloads (Union[Unset, list['RancherNestedWorkloadRequest']]):
32
32
  """
33
33
 
34
34
  name: str
35
35
  service_settings: str
36
36
  project: str
37
+ target_workloads: list["RancherNestedWorkloadRequest"]
37
38
  description: Union[Unset, str] = UNSET
38
39
  error_message: Union[Unset, str] = UNSET
39
40
  error_traceback: Union[Unset, str] = UNSET
@@ -42,7 +43,6 @@ class RancherServiceRequest:
42
43
  namespace: Union[Unset, str] = UNSET
43
44
  cluster_ip: Union[None, Unset, str] = UNSET
44
45
  selector: Union[Unset, Any] = UNSET
45
- target_workloads: Union[Unset, list["RancherNestedWorkloadRequest"]] = UNSET
46
46
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
47
47
 
48
48
  def to_dict(self) -> dict[str, Any]:
@@ -52,6 +52,11 @@ class RancherServiceRequest:
52
52
 
53
53
  project = self.project
54
54
 
55
+ target_workloads = []
56
+ for target_workloads_item_data in self.target_workloads:
57
+ target_workloads_item = target_workloads_item_data.to_dict()
58
+ target_workloads.append(target_workloads_item)
59
+
55
60
  description = self.description
56
61
 
57
62
  error_message = self.error_message
@@ -72,13 +77,6 @@ class RancherServiceRequest:
72
77
 
73
78
  selector = self.selector
74
79
 
75
- target_workloads: Union[Unset, list[dict[str, Any]]] = UNSET
76
- if not isinstance(self.target_workloads, Unset):
77
- target_workloads = []
78
- for target_workloads_item_data in self.target_workloads:
79
- target_workloads_item = target_workloads_item_data.to_dict()
80
- target_workloads.append(target_workloads_item)
81
-
82
80
  field_dict: dict[str, Any] = {}
83
81
  field_dict.update(self.additional_properties)
84
82
  field_dict.update(
@@ -86,6 +84,7 @@ class RancherServiceRequest:
86
84
  "name": name,
87
85
  "service_settings": service_settings,
88
86
  "project": project,
87
+ "target_workloads": target_workloads,
89
88
  }
90
89
  )
91
90
  if description is not UNSET:
@@ -104,8 +103,6 @@ class RancherServiceRequest:
104
103
  field_dict["cluster_ip"] = cluster_ip
105
104
  if selector is not UNSET:
106
105
  field_dict["selector"] = selector
107
- if target_workloads is not UNSET:
108
- field_dict["target_workloads"] = target_workloads
109
106
 
110
107
  return field_dict
111
108
 
@@ -120,6 +117,13 @@ class RancherServiceRequest:
120
117
 
121
118
  project = d.pop("project")
122
119
 
120
+ target_workloads = []
121
+ _target_workloads = d.pop("target_workloads")
122
+ for target_workloads_item_data in _target_workloads:
123
+ target_workloads_item = RancherNestedWorkloadRequest.from_dict(target_workloads_item_data)
124
+
125
+ target_workloads.append(target_workloads_item)
126
+
123
127
  description = d.pop("description", UNSET)
124
128
 
125
129
  error_message = d.pop("error_message", UNSET)
@@ -143,17 +147,11 @@ class RancherServiceRequest:
143
147
 
144
148
  selector = d.pop("selector", UNSET)
145
149
 
146
- target_workloads = []
147
- _target_workloads = d.pop("target_workloads", UNSET)
148
- for target_workloads_item_data in _target_workloads or []:
149
- target_workloads_item = RancherNestedWorkloadRequest.from_dict(target_workloads_item_data)
150
-
151
- target_workloads.append(target_workloads_item)
152
-
153
150
  rancher_service_request = cls(
154
151
  name=name,
155
152
  service_settings=service_settings,
156
153
  project=project,
154
+ target_workloads=target_workloads,
157
155
  description=description,
158
156
  error_message=error_message,
159
157
  error_traceback=error_traceback,
@@ -162,7 +160,6 @@ class RancherServiceRequest:
162
160
  namespace=namespace,
163
161
  cluster_ip=cluster_ip,
164
162
  selector=selector,
165
- target_workloads=target_workloads,
166
163
  )
167
164
 
168
165
  rancher_service_request.additional_properties = d
@@ -0,0 +1,59 @@
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="RancherWorkloadCreate")
8
+
9
+
10
+ @_attrs_define
11
+ class RancherWorkloadCreate:
12
+ """
13
+ Attributes:
14
+ url (str):
15
+ """
16
+
17
+ url: str
18
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
19
+
20
+ def to_dict(self) -> dict[str, Any]:
21
+ url = self.url
22
+
23
+ field_dict: dict[str, Any] = {}
24
+ field_dict.update(self.additional_properties)
25
+ field_dict.update(
26
+ {
27
+ "url": url,
28
+ }
29
+ )
30
+
31
+ return field_dict
32
+
33
+ @classmethod
34
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
35
+ d = dict(src_dict)
36
+ url = d.pop("url")
37
+
38
+ rancher_workload_create = cls(
39
+ url=url,
40
+ )
41
+
42
+ rancher_workload_create.additional_properties = d
43
+ return rancher_workload_create
44
+
45
+ @property
46
+ def additional_keys(self) -> list[str]:
47
+ return list(self.additional_properties.keys())
48
+
49
+ def __getitem__(self, key: str) -> Any:
50
+ return self.additional_properties[key]
51
+
52
+ def __setitem__(self, key: str, value: Any) -> None:
53
+ self.additional_properties[key] = value
54
+
55
+ def __delitem__(self, key: str) -> None:
56
+ del self.additional_properties[key]
57
+
58
+ def __contains__(self, key: str) -> bool:
59
+ return key in self.additional_properties
@@ -0,0 +1,59 @@
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="RancherWorkloadCreateRequest")
8
+
9
+
10
+ @_attrs_define
11
+ class RancherWorkloadCreateRequest:
12
+ """
13
+ Attributes:
14
+ url (str):
15
+ """
16
+
17
+ url: str
18
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
19
+
20
+ def to_dict(self) -> dict[str, Any]:
21
+ url = self.url
22
+
23
+ field_dict: dict[str, Any] = {}
24
+ field_dict.update(self.additional_properties)
25
+ field_dict.update(
26
+ {
27
+ "url": url,
28
+ }
29
+ )
30
+
31
+ return field_dict
32
+
33
+ @classmethod
34
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
35
+ d = dict(src_dict)
36
+ url = d.pop("url")
37
+
38
+ rancher_workload_create_request = cls(
39
+ url=url,
40
+ )
41
+
42
+ rancher_workload_create_request.additional_properties = d
43
+ return rancher_workload_create_request
44
+
45
+ @property
46
+ def additional_keys(self) -> list[str]:
47
+ return list(self.additional_properties.keys())
48
+
49
+ def __getitem__(self, key: str) -> Any:
50
+ return self.additional_properties[key]
51
+
52
+ def __setitem__(self, key: str, value: Any) -> None:
53
+ self.additional_properties[key] = value
54
+
55
+ def __delitem__(self, key: str) -> None:
56
+ del self.additional_properties[key]
57
+
58
+ def __contains__(self, key: str) -> bool:
59
+ return key in self.additional_properties
@@ -42,6 +42,7 @@ class Resource:
42
42
  OpenStack.
43
43
  provider_name (Union[Unset, str]):
44
44
  provider_uuid (Union[Unset, UUID]):
45
+ provider_slug (Union[Unset, str]):
45
46
  category_title (Union[Unset, str]):
46
47
  category_uuid (Union[Unset, UUID]):
47
48
  category_icon (Union[Unset, str]):
@@ -97,9 +98,6 @@ class Resource:
97
98
  endpoints (Union[Unset, list['NestedEndpoint']]):
98
99
  error_message (Union[Unset, str]):
99
100
  error_traceback (Union[Unset, str]):
100
- offering_customer_uuid (Union[Unset, UUID]):
101
- offering_customer_name (Union[Unset, str]):
102
- offering_customer_slug (Union[Unset, str]):
103
101
  options (Union[Unset, Any]):
104
102
  available_actions (Union[Unset, list[str]]):
105
103
  last_sync (Union[Unset, datetime.datetime]):
@@ -124,6 +122,7 @@ class Resource:
124
122
  offering_plugin_options: Union[Unset, Any] = UNSET
125
123
  provider_name: Union[Unset, str] = UNSET
126
124
  provider_uuid: Union[Unset, UUID] = UNSET
125
+ provider_slug: Union[Unset, str] = UNSET
127
126
  category_title: Union[Unset, str] = UNSET
128
127
  category_uuid: Union[Unset, UUID] = UNSET
129
128
  category_icon: Union[Unset, str] = UNSET
@@ -177,9 +176,6 @@ class Resource:
177
176
  endpoints: Union[Unset, list["NestedEndpoint"]] = UNSET
178
177
  error_message: Union[Unset, str] = UNSET
179
178
  error_traceback: Union[Unset, str] = UNSET
180
- offering_customer_uuid: Union[Unset, UUID] = UNSET
181
- offering_customer_name: Union[Unset, str] = UNSET
182
- offering_customer_slug: Union[Unset, str] = UNSET
183
179
  options: Union[Unset, Any] = UNSET
184
180
  available_actions: Union[Unset, list[str]] = UNSET
185
181
  last_sync: Union[Unset, datetime.datetime] = UNSET
@@ -222,6 +218,8 @@ class Resource:
222
218
  if not isinstance(self.provider_uuid, Unset):
223
219
  provider_uuid = str(self.provider_uuid)
224
220
 
221
+ provider_slug = self.provider_slug
222
+
225
223
  category_title = self.category_title
226
224
 
227
225
  category_uuid: Union[Unset, str] = UNSET
@@ -416,14 +414,6 @@ class Resource:
416
414
 
417
415
  error_traceback = self.error_traceback
418
416
 
419
- offering_customer_uuid: Union[Unset, str] = UNSET
420
- if not isinstance(self.offering_customer_uuid, Unset):
421
- offering_customer_uuid = str(self.offering_customer_uuid)
422
-
423
- offering_customer_name = self.offering_customer_name
424
-
425
- offering_customer_slug = self.offering_customer_slug
426
-
427
417
  options = self.options
428
418
 
429
419
  available_actions: Union[Unset, list[str]] = UNSET
@@ -487,6 +477,8 @@ class Resource:
487
477
  field_dict["provider_name"] = provider_name
488
478
  if provider_uuid is not UNSET:
489
479
  field_dict["provider_uuid"] = provider_uuid
480
+ if provider_slug is not UNSET:
481
+ field_dict["provider_slug"] = provider_slug
490
482
  if category_title is not UNSET:
491
483
  field_dict["category_title"] = category_title
492
484
  if category_uuid is not UNSET:
@@ -593,12 +585,6 @@ class Resource:
593
585
  field_dict["error_message"] = error_message
594
586
  if error_traceback is not UNSET:
595
587
  field_dict["error_traceback"] = error_traceback
596
- if offering_customer_uuid is not UNSET:
597
- field_dict["offering_customer_uuid"] = offering_customer_uuid
598
- if offering_customer_name is not UNSET:
599
- field_dict["offering_customer_name"] = offering_customer_name
600
- if offering_customer_slug is not UNSET:
601
- field_dict["offering_customer_slug"] = offering_customer_slug
602
588
  if options is not UNSET:
603
589
  field_dict["options"] = options
604
590
  if available_actions is not UNSET:
@@ -666,6 +652,8 @@ class Resource:
666
652
  else:
667
653
  provider_uuid = UUID(_provider_uuid)
668
654
 
655
+ provider_slug = d.pop("provider_slug", UNSET)
656
+
669
657
  category_title = d.pop("category_title", UNSET)
670
658
 
671
659
  _category_uuid = d.pop("category_uuid", UNSET)
@@ -962,17 +950,6 @@ class Resource:
962
950
 
963
951
  error_traceback = d.pop("error_traceback", UNSET)
964
952
 
965
- _offering_customer_uuid = d.pop("offering_customer_uuid", UNSET)
966
- offering_customer_uuid: Union[Unset, UUID]
967
- if isinstance(_offering_customer_uuid, Unset):
968
- offering_customer_uuid = UNSET
969
- else:
970
- offering_customer_uuid = UUID(_offering_customer_uuid)
971
-
972
- offering_customer_name = d.pop("offering_customer_name", UNSET)
973
-
974
- offering_customer_slug = d.pop("offering_customer_slug", UNSET)
975
-
976
953
  options = d.pop("options", UNSET)
977
954
 
978
955
  available_actions = cast(list[str], d.pop("available_actions", UNSET))
@@ -1044,6 +1021,7 @@ class Resource:
1044
1021
  offering_plugin_options=offering_plugin_options,
1045
1022
  provider_name=provider_name,
1046
1023
  provider_uuid=provider_uuid,
1024
+ provider_slug=provider_slug,
1047
1025
  category_title=category_title,
1048
1026
  category_uuid=category_uuid,
1049
1027
  category_icon=category_icon,
@@ -1097,9 +1075,6 @@ class Resource:
1097
1075
  endpoints=endpoints,
1098
1076
  error_message=error_message,
1099
1077
  error_traceback=error_traceback,
1100
- offering_customer_uuid=offering_customer_uuid,
1101
- offering_customer_name=offering_customer_name,
1102
- offering_customer_slug=offering_customer_slug,
1103
1078
  options=options,
1104
1079
  available_actions=available_actions,
1105
1080
  last_sync=last_sync,
@@ -0,0 +1,83 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, 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
+ if TYPE_CHECKING:
10
+ from ..models.resource_renew_request_limits import ResourceRenewRequestLimits
11
+
12
+
13
+ T = TypeVar("T", bound="ResourceRenewRequest")
14
+
15
+
16
+ @_attrs_define
17
+ class ResourceRenewRequest:
18
+ """
19
+ Attributes:
20
+ extension_months (int): Number of months to extend the subscription by.
21
+ limits (Union[Unset, ResourceRenewRequestLimits]): Optional new limits for the resource. Supports upgrades only.
22
+ """
23
+
24
+ extension_months: int
25
+ limits: Union[Unset, "ResourceRenewRequestLimits"] = UNSET
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ extension_months = self.extension_months
30
+
31
+ limits: Union[Unset, dict[str, Any]] = UNSET
32
+ if not isinstance(self.limits, Unset):
33
+ limits = self.limits.to_dict()
34
+
35
+ field_dict: dict[str, Any] = {}
36
+ field_dict.update(self.additional_properties)
37
+ field_dict.update(
38
+ {
39
+ "extension_months": extension_months,
40
+ }
41
+ )
42
+ if limits is not UNSET:
43
+ field_dict["limits"] = limits
44
+
45
+ return field_dict
46
+
47
+ @classmethod
48
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
49
+ from ..models.resource_renew_request_limits import ResourceRenewRequestLimits
50
+
51
+ d = dict(src_dict)
52
+ extension_months = d.pop("extension_months")
53
+
54
+ _limits = d.pop("limits", UNSET)
55
+ limits: Union[Unset, ResourceRenewRequestLimits]
56
+ if isinstance(_limits, Unset):
57
+ limits = UNSET
58
+ else:
59
+ limits = ResourceRenewRequestLimits.from_dict(_limits)
60
+
61
+ resource_renew_request = cls(
62
+ extension_months=extension_months,
63
+ limits=limits,
64
+ )
65
+
66
+ resource_renew_request.additional_properties = d
67
+ return resource_renew_request
68
+
69
+ @property
70
+ def additional_keys(self) -> list[str]:
71
+ return list(self.additional_properties.keys())
72
+
73
+ def __getitem__(self, key: str) -> Any:
74
+ return self.additional_properties[key]
75
+
76
+ def __setitem__(self, key: str, value: Any) -> None:
77
+ self.additional_properties[key] = value
78
+
79
+ def __delitem__(self, key: str) -> None:
80
+ del self.additional_properties[key]
81
+
82
+ def __contains__(self, key: str) -> bool:
83
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
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="ResourceRenewRequestLimits")
8
+
9
+
10
+ @_attrs_define
11
+ class ResourceRenewRequestLimits:
12
+ """Optional new limits for the resource. Supports upgrades only."""
13
+
14
+ additional_properties: dict[str, int] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ resource_renew_request_limits = cls()
26
+
27
+ resource_renew_request_limits.additional_properties = d
28
+ return resource_renew_request_limits
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> int:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: int) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties