hyperstack 1.25.0a0__py3-none-any.whl → 1.41.2a0__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.
Files changed (225) hide show
  1. hyperstack/__init__.py +80 -131
  2. hyperstack/api/__init__.py +2 -0
  3. hyperstack/api/alive_api.py +240 -0
  4. hyperstack/api/api_key_api.py +16 -20
  5. hyperstack/api/assigning_member_role_api.py +15 -17
  6. hyperstack/api/auth_api.py +1050 -5
  7. hyperstack/api/beta_access_api.py +856 -0
  8. hyperstack/api/billing_api.py +6461 -673
  9. hyperstack/api/calculate_api.py +8 -9
  10. hyperstack/api/callbacks_api.py +120 -126
  11. hyperstack/api/cluster_events_api.py +1 -2
  12. hyperstack/api/clusters_api.py +2816 -199
  13. hyperstack/api/compliance_api.py +14 -18
  14. hyperstack/api/credit_api.py +17 -15
  15. hyperstack/api/customer_contract_api.py +30 -33
  16. hyperstack/api/dashboard_api.py +4 -5
  17. hyperstack/api/deployment_api.py +4 -8
  18. hyperstack/api/environment_api.py +285 -16
  19. hyperstack/api/firewall_attachment_api.py +11 -9
  20. hyperstack/api/firewalls_api.py +341 -347
  21. hyperstack/api/flavor_api.py +4 -5
  22. hyperstack/api/floating_ip_api.py +50 -49
  23. hyperstack/api/gpu_api.py +1 -2
  24. hyperstack/api/image_api.py +35 -39
  25. hyperstack/api/invite_api.py +288 -18
  26. hyperstack/api/keypair_api.py +22 -26
  27. hyperstack/api/organization_api.py +12 -15
  28. hyperstack/api/partner_config_api.py +564 -0
  29. hyperstack/api/payment_api.py +299 -18
  30. hyperstack/api/permission_api.py +4 -5
  31. hyperstack/api/policy_api.py +4 -5
  32. hyperstack/api/pricebook_api.py +14 -12
  33. hyperstack/api/profile_api.py +13 -17
  34. hyperstack/api/rbac_role_api.py +20 -25
  35. hyperstack/api/region_api.py +7 -8
  36. hyperstack/api/security_rules_api.py +1 -2
  37. hyperstack/api/snapshot_events_api.py +1 -2
  38. hyperstack/api/snapshots_api.py +166 -172
  39. hyperstack/api/stock_api.py +4 -5
  40. hyperstack/api/template_api.py +14 -19
  41. hyperstack/api/user_api.py +55 -49
  42. hyperstack/api/user_detail_choice_api.py +1 -2
  43. hyperstack/api/user_permission_api.py +8 -10
  44. hyperstack/api/virtual_machine_api.py +1529 -929
  45. hyperstack/api/virtual_machine_events_api.py +21 -22
  46. hyperstack/api/vnc_url_api.py +54 -50
  47. hyperstack/api/volume_api.py +340 -40
  48. hyperstack/api/volume_attachment_api.py +342 -42
  49. hyperstack/api_client.py +1 -1
  50. hyperstack/configuration.py +1 -11
  51. hyperstack/models/__init__.py +77 -130
  52. hyperstack/models/{environment_fieldsfor_volume.py → access_token_field.py} +7 -7
  53. hyperstack/models/attach_volume_fields.py +6 -2
  54. hyperstack/models/attach_volumes_payload.py +4 -2
  55. hyperstack/models/{virtual_machine_usage.py → attachments_fields_for_volume.py} +13 -11
  56. hyperstack/models/{flavor_vm_fields.py → attributes.py} +15 -18
  57. hyperstack/models/auth_get_token_response_model.py +4 -6
  58. hyperstack/models/{future_node_model.py → beta_access_request_fields.py} +27 -25
  59. hyperstack/models/{create_gpu.py → beta_access_request_payload.py} +9 -11
  60. hyperstack/models/{create_discount_response.py → beta_access_request_response_model.py} +11 -11
  61. hyperstack/models/{export_billing_data_request.py → beta_access_status_item.py} +20 -23
  62. hyperstack/models/{get_all_discount_for_all_organization_response.py → beta_access_status_response_model.py} +15 -15
  63. hyperstack/models/{exclude_billing_post_response.py → billing_history.py} +13 -11
  64. hyperstack/models/billing_history_data_synthesis_details.py +105 -0
  65. hyperstack/models/{vm_usage_response.py → billing_history_fine_tuning.py} +23 -19
  66. hyperstack/models/billing_history_model_evalutation_details.py +105 -0
  67. hyperstack/models/{get_all_discounts_fields.py → billing_history_serverless_inference.py} +23 -24
  68. hyperstack/models/billing_history_serverless_inference_details.py +105 -0
  69. hyperstack/models/{billingmetricesfields.py → billing_metrices_fields.py} +4 -4
  70. hyperstack/models/{billingmetricesresponse.py → billing_metrices_response.py} +7 -7
  71. hyperstack/models/cluster_fields.py +27 -9
  72. hyperstack/models/{add_update_flavor_organization_payload.py → cluster_flavor_fields.py} +28 -26
  73. hyperstack/models/{historical_instances_fields.py → cluster_node_fields.py} +24 -22
  74. hyperstack/models/{internal_instance_flavor_fields.py → cluster_node_group_fields.py} +17 -17
  75. hyperstack/models/{create_update_policy_response_model.py → cluster_node_groups_create_response.py} +21 -11
  76. hyperstack/models/{create_update_permission_response_model.py → cluster_node_groups_get_response.py} +11 -11
  77. hyperstack/models/{auth_request_login_response_model.py → cluster_node_groups_list_response.py} +15 -11
  78. hyperstack/models/{contract_eligible_instance_fields.py → cluster_node_instance_fields.py} +13 -11
  79. hyperstack/models/{image_logos.py → cluster_nodes_list_response.py} +14 -14
  80. hyperstack/models/{internal_environment_fields.py → cluster_version.py} +13 -9
  81. hyperstack/models/cluster_versions.py +10 -2
  82. hyperstack/models/{future_nodes_stock_model.py → colors.py} +17 -15
  83. hyperstack/models/contract_discount_plan_fields.py +3 -1
  84. hyperstack/models/contract_instance_fields.py +7 -1
  85. hyperstack/models/{future_node_response_model.py → create_cluster_node_fields.py} +23 -18
  86. hyperstack/models/{update_gpu.py → create_cluster_node_group_payload.py} +12 -11
  87. hyperstack/models/create_cluster_payload.py +31 -8
  88. hyperstack/models/create_environment.py +1 -1
  89. hyperstack/models/create_instances_payload.py +7 -7
  90. hyperstack/models/create_profile_payload.py +1 -1
  91. hyperstack/models/create_snapshot_payload.py +2 -4
  92. hyperstack/models/create_volume_payload.py +1 -1
  93. hyperstack/models/data_synthesis_billing_history_details_response_schema.py +95 -0
  94. hyperstack/models/{deployment_fieldsforstartdeployments.py → deployment_fields_for_start_deployments.py} +4 -4
  95. hyperstack/models/{editlabelofanexisting_vm_payload.py → edit_label_of_an_existing_vm_payload.py} +4 -4
  96. hyperstack/models/environment_features.py +14 -2
  97. hyperstack/models/{node_stocks_payload.py → environment_fields_for_volume.py} +10 -12
  98. hyperstack/models/flavor_fields.py +3 -1
  99. hyperstack/models/{customer_fields.py → flavor_label_fields.py} +7 -7
  100. hyperstack/models/{getcreditandthresholdinfo.py → get_credit_and_threshold_info.py} +4 -4
  101. hyperstack/models/{getcreditandthresholdinfoinresponse.py → get_credit_and_threshold_info_in_response.py} +7 -7
  102. hyperstack/models/{region_payload.py → get_instance_logs_response.py} +7 -9
  103. hyperstack/models/instance_fields.py +8 -4
  104. hyperstack/models/instance_flavor_fields.py +13 -1
  105. hyperstack/models/{flavor_response.py → keypair_environment_features.py} +20 -16
  106. hyperstack/models/{internal_instance_keypair_fields.py → keypair_environment_fields.py} +13 -11
  107. hyperstack/models/keypair_fields.py +6 -2
  108. hyperstack/models/{lastdaycostfields.py → last_day_cost_fields.py} +4 -4
  109. hyperstack/models/{lastdaycostresponse.py → last_day_cost_response.py} +7 -7
  110. hyperstack/models/{export_billing_data_response.py → logos.py} +13 -9
  111. hyperstack/models/{verify_api_key_response_model.py → manual_reconciliation_model.py} +13 -13
  112. hyperstack/models/{creditrequestresponse.py → master_flavors_response.py} +14 -14
  113. hyperstack/models/{customer_payload.py → mfa_status_fields.py} +8 -10
  114. hyperstack/models/{gpu.py → mfa_status_response.py} +11 -11
  115. hyperstack/models/model_evaluation_billing_history_details_response_schema.py +95 -0
  116. hyperstack/models/{organization_thresholdfields.py → organization_threshold_fields.py} +4 -4
  117. hyperstack/models/{organizationthresholdupdateresponse.py → organization_threshold_update_response.py} +7 -7
  118. hyperstack/models/{organizationthresholdsresponse.py → organization_thresholds_response.py} +7 -7
  119. hyperstack/models/{logo_get_response.py → pagination.py} +12 -12
  120. hyperstack/models/{billing_response.py → partner_config.py} +31 -20
  121. hyperstack/models/payment_details_fields.py +5 -1
  122. hyperstack/models/{logout_payload.py → primary_color.py} +10 -8
  123. hyperstack/models/region_fields.py +16 -2
  124. hyperstack/models/{vm_usage_request_payload.py → request_instance_logs_payload.py} +8 -8
  125. hyperstack/models/{stock_visibility_user_payload.py → request_instance_logs_response.py} +8 -8
  126. hyperstack/models/{contract_billing_history.py → resource_level_billing_bucket_details_resources.py} +10 -10
  127. hyperstack/models/{node_response_model.py → resource_level_billing_history_resources_cluster.py} +21 -11
  128. hyperstack/models/resource_level_billing_history_response_attributes.py +3 -1
  129. hyperstack/models/{get_all_contracts_response_model.py → resource_level_bucket_billing_details_response_model.py} +11 -15
  130. hyperstack/models/{contract_billing_history_response_model.py → resource_level_bucket_billing_history_response_model.py} +11 -11
  131. hyperstack/models/resource_level_cluster_billing_details_response_model.py +95 -0
  132. hyperstack/models/resource_level_cluster_billing_history_response_model.py +95 -0
  133. hyperstack/models/{get_discount_detail_response.py → resource_level_cluster_graph_billing_details_response_model.py} +11 -11
  134. hyperstack/models/{organization_object_response.py → resource_level_graph_billing_details_bucket.py} +18 -14
  135. hyperstack/models/{update_discounts_status_payload.py → secondary_color.py} +10 -8
  136. hyperstack/models/{security_rules_fieldsfor_instance.py → security_rules_fields_for_instance.py} +4 -4
  137. hyperstack/models/serverless_inferenced_billing_history_details_response_schema.py +95 -0
  138. hyperstack/models/snapshot_fields.py +6 -1
  139. hyperstack/models/snapshot_retrieve_fields.py +29 -2
  140. hyperstack/models/start_deployment.py +3 -3
  141. hyperstack/models/{subscribeorunsubscribeupdatepayload.py → subscribe_or_unsubscribe_update_payload.py} +4 -4
  142. hyperstack/models/token_based_billing_history_response.py +95 -0
  143. hyperstack/models/{update_keypairnameresponse.py → update_keypair_name_response.py} +4 -4
  144. hyperstack/models/update_volume_attachment_payload.py +87 -0
  145. hyperstack/models/{verify_api_key_payload.py → update_volume_payload.py} +7 -7
  146. hyperstack/models/{stock_visibility_user_list_response.py → update_volume_response.py} +14 -16
  147. hyperstack/models/{auth_request_login_fields.py → uris.py} +19 -9
  148. hyperstack/models/{userinfopostpayload.py → user_info_post_payload.py} +4 -4
  149. hyperstack/models/{node_stock_response_model.py → user_organizations_response.py} +14 -14
  150. hyperstack/models/users_info_fields.py +3 -1
  151. hyperstack/models/volume_attachment_fields.py +9 -5
  152. hyperstack/models/volume_fields.py +14 -4
  153. hyperstack/models/{volume_fieldsfor_instance.py → volume_fields_for_instance.py} +4 -4
  154. hyperstack/models/volumes.py +17 -11
  155. hyperstack/models/{instances_summary_fields.py → volumes_fields.py} +33 -29
  156. hyperstack/models/workload_billing_history_response.py +95 -0
  157. {hyperstack-1.25.0a0.dist-info → hyperstack-1.41.2a0.dist-info}/METADATA +2 -2
  158. hyperstack-1.41.2a0.dist-info/RECORD +350 -0
  159. {hyperstack-1.25.0a0.dist-info → hyperstack-1.41.2a0.dist-info}/WHEEL +1 -1
  160. hyperstack/models/api_key_verify_fields.py +0 -93
  161. hyperstack/models/billing_immune_resources_response.py +0 -95
  162. hyperstack/models/contract_billing_history_response_attributes.py +0 -99
  163. hyperstack/models/contract_change_payload.py +0 -101
  164. hyperstack/models/contract_eligible_instances_response.py +0 -101
  165. hyperstack/models/contract_event_create_model.py +0 -91
  166. hyperstack/models/contract_resource_payload.py +0 -95
  167. hyperstack/models/contractl_billing_history_response_metrics.py +0 -87
  168. hyperstack/models/create_contract_fields.py +0 -110
  169. hyperstack/models/create_contract_payload.py +0 -106
  170. hyperstack/models/create_discounts_payload.py +0 -112
  171. hyperstack/models/create_update_permission_payload.py +0 -93
  172. hyperstack/models/create_update_policy_payload.py +0 -93
  173. hyperstack/models/creditrechargelimitfield.py +0 -93
  174. hyperstack/models/creditrechargelimitresponse.py +0 -99
  175. hyperstack/models/creditrequests.py +0 -96
  176. hyperstack/models/data.py +0 -91
  177. hyperstack/models/discount_entity_model.py +0 -97
  178. hyperstack/models/discount_fields.py +0 -100
  179. hyperstack/models/discount_plan_fields.py +0 -108
  180. hyperstack/models/discount_resource_fields.py +0 -93
  181. hyperstack/models/discount_resource_payload.py +0 -93
  182. hyperstack/models/exclude_billing_post_payload.py +0 -91
  183. hyperstack/models/field_change.py +0 -91
  184. hyperstack/models/flavor_payload.py +0 -101
  185. hyperstack/models/flavor_vms_response.py +0 -99
  186. hyperstack/models/future_node_stock_model.py +0 -93
  187. hyperstack/models/future_node_update_model.py +0 -98
  188. hyperstack/models/get_all_contract_fields.py +0 -100
  189. hyperstack/models/get_discount_response.py +0 -99
  190. hyperstack/models/get_entity_discount_detail_response.py +0 -108
  191. hyperstack/models/get_token_payload.py +0 -89
  192. hyperstack/models/get_version_response.py +0 -91
  193. hyperstack/models/historical_instance.py +0 -101
  194. hyperstack/models/infrahub_resource_object_response.py +0 -119
  195. hyperstack/models/insert_discount_plan_fields.py +0 -112
  196. hyperstack/models/internal_instance_fields.py +0 -156
  197. hyperstack/models/internal_instance_image_fields.py +0 -95
  198. hyperstack/models/internal_instances_response.py +0 -99
  199. hyperstack/models/internal_security_rules_fields_for_instance.py +0 -104
  200. hyperstack/models/internal_volume_attachment_fields.py +0 -98
  201. hyperstack/models/internal_volume_fields.py +0 -95
  202. hyperstack/models/internal_volumes_response.py +0 -99
  203. hyperstack/models/new_stock_update_response_model.py +0 -89
  204. hyperstack/models/node_model.py +0 -114
  205. hyperstack/models/node_payload_model.py +0 -97
  206. hyperstack/models/node_power_usage_model.py +0 -120
  207. hyperstack/models/node_stock_payload_model.py +0 -95
  208. hyperstack/models/organizationcreditrechargelimitresponse.py +0 -95
  209. hyperstack/models/power_usage_model.py +0 -89
  210. hyperstack/models/pricebook_resource_object_response.py +0 -107
  211. hyperstack/models/refresh_token_payload.py +0 -89
  212. hyperstack/models/region_response.py +0 -95
  213. hyperstack/models/set_defaults_payload.py +0 -89
  214. hyperstack/models/single_visibility_user_response.py +0 -91
  215. hyperstack/models/success_response_model.py +0 -89
  216. hyperstack/models/token_fields.py +0 -91
  217. hyperstack/models/update_contract_payload.py +0 -104
  218. hyperstack/models/update_discounts_payload.py +0 -102
  219. hyperstack/models/user_transfer_payload.py +0 -89
  220. hyperstack/models/volume_status_change_fields.py +0 -96
  221. hyperstack/models/volumes_last_status_change_response.py +0 -99
  222. hyperstack/models/warning_mail_log_fields.py +0 -99
  223. hyperstack/models/warning_mail_log_response.py +0 -101
  224. hyperstack-1.25.0a0.dist-info/RECORD +0 -401
  225. {hyperstack-1.25.0a0.dist-info → hyperstack-1.41.2a0.dist-info}/top_level.txt +0 -0
@@ -16,11 +16,21 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
16
  from typing import Any, Dict, List, Optional, Tuple, Union
17
17
  from typing_extensions import Annotated
18
18
 
19
- from pydantic import StrictInt, StrictStr
19
+ from pydantic import Field, StrictInt, StrictStr
20
+ from typing import Optional
21
+ from typing_extensions import Annotated
20
22
  from ..models.cluster_list_response import ClusterListResponse
23
+ from ..models.cluster_node_groups_create_response import ClusterNodeGroupsCreateResponse
24
+ from ..models.cluster_node_groups_get_response import ClusterNodeGroupsGetResponse
25
+ from ..models.cluster_node_groups_list_response import ClusterNodeGroupsListResponse
26
+ from ..models.cluster_nodes_list_response import ClusterNodesListResponse
21
27
  from ..models.cluster_response import ClusterResponse
22
28
  from ..models.cluster_versions import ClusterVersions
29
+ from ..models.create_cluster_node_fields import CreateClusterNodeFields
30
+ from ..models.create_cluster_node_group_payload import CreateClusterNodeGroupPayload
23
31
  from ..models.create_cluster_payload import CreateClusterPayload
32
+ from ..models.manual_reconciliation_model import ManualReconciliationModel
33
+ from ..models.master_flavors_response import MasterFlavorsResponse
24
34
  from ..models.name_available_model import NameAvailableModel
25
35
  from ..models.response_model import ResponseModel
26
36
 
@@ -33,19 +43,2548 @@ class ClustersApi:
33
43
  """NOTE: This class is auto generated by OpenAPI Generator
34
44
  Ref: https://openapi-generator.tech
35
45
 
36
- Do not edit the class manually.
37
- """
46
+ Do not edit the class manually.
47
+ """
48
+
49
+ def __init__(self, api_client=None) -> None:
50
+ if api_client is None:
51
+ api_client = ApiClient.get_default()
52
+ self.api_client = api_client
53
+
54
+
55
+ @validate_call
56
+ def attempt_to_manually_reconcile_a_cluster(
57
+ self,
58
+ cluster_id: StrictInt,
59
+ _request_timeout: Union[
60
+ None,
61
+ Annotated[StrictFloat, Field(gt=0)],
62
+ Tuple[
63
+ Annotated[StrictFloat, Field(gt=0)],
64
+ Annotated[StrictFloat, Field(gt=0)]
65
+ ]
66
+ ] = None,
67
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
68
+ _content_type: Optional[StrictStr] = None,
69
+ _headers: Optional[Dict[StrictStr, Any]] = None,
70
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
71
+ ) -> ManualReconciliationModel:
72
+ """Reconcile a cluster
73
+
74
+
75
+ :param cluster_id: (required)
76
+ :type cluster_id: int
77
+ :param _request_timeout: timeout setting for this request. If one
78
+ number provided, it will be total request
79
+ timeout. It can also be a pair (tuple) of
80
+ (connection, read) timeouts.
81
+ :type _request_timeout: int, tuple(int, int), optional
82
+ :param _request_auth: set to override the auth_settings for an a single
83
+ request; this effectively ignores the
84
+ authentication in the spec for a single request.
85
+ :type _request_auth: dict, optional
86
+ :param _content_type: force content-type for the request.
87
+ :type _content_type: str, Optional
88
+ :param _headers: set to override the headers for a single
89
+ request; this effectively ignores the headers
90
+ in the spec for a single request.
91
+ :type _headers: dict, optional
92
+ :param _host_index: set to override the host_index for a single
93
+ request; this effectively ignores the host_index
94
+ in the spec for a single request.
95
+ :type _host_index: int, optional
96
+ :return: Returns the result object.
97
+ """ # noqa: E501
98
+
99
+ _param = self._attempt_to_manually_reconcile_a_cluster_serialize(
100
+ cluster_id=cluster_id,
101
+ _request_auth=_request_auth,
102
+ _content_type=_content_type,
103
+ _headers=_headers,
104
+ _host_index=_host_index
105
+ )
106
+
107
+ _response_types_map: Dict[str, Optional[str]] = {
108
+ '200': "ManualReconciliationModel",
109
+ '400': "ErrorResponseModel",
110
+ '401': "ErrorResponseModel",
111
+ '404': "ErrorResponseModel",
112
+ '500': None,
113
+ }
114
+ response_data = self.api_client.call_api(
115
+ *_param,
116
+ _request_timeout=_request_timeout
117
+ )
118
+ response_data.read()
119
+ return self.api_client.response_deserialize(
120
+ response_data=response_data,
121
+ response_types_map=_response_types_map,
122
+ ).data
123
+
124
+
125
+ @validate_call
126
+ def attempt_to_manually_reconcile_a_cluster_with_http_info(
127
+ self,
128
+ cluster_id: StrictInt,
129
+ _request_timeout: Union[
130
+ None,
131
+ Annotated[StrictFloat, Field(gt=0)],
132
+ Tuple[
133
+ Annotated[StrictFloat, Field(gt=0)],
134
+ Annotated[StrictFloat, Field(gt=0)]
135
+ ]
136
+ ] = None,
137
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
138
+ _content_type: Optional[StrictStr] = None,
139
+ _headers: Optional[Dict[StrictStr, Any]] = None,
140
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
141
+ ) -> ApiResponse[ManualReconciliationModel]:
142
+ """Reconcile a cluster
143
+
144
+
145
+ :param cluster_id: (required)
146
+ :type cluster_id: int
147
+ :param _request_timeout: timeout setting for this request. If one
148
+ number provided, it will be total request
149
+ timeout. It can also be a pair (tuple) of
150
+ (connection, read) timeouts.
151
+ :type _request_timeout: int, tuple(int, int), optional
152
+ :param _request_auth: set to override the auth_settings for an a single
153
+ request; this effectively ignores the
154
+ authentication in the spec for a single request.
155
+ :type _request_auth: dict, optional
156
+ :param _content_type: force content-type for the request.
157
+ :type _content_type: str, Optional
158
+ :param _headers: set to override the headers for a single
159
+ request; this effectively ignores the headers
160
+ in the spec for a single request.
161
+ :type _headers: dict, optional
162
+ :param _host_index: set to override the host_index for a single
163
+ request; this effectively ignores the host_index
164
+ in the spec for a single request.
165
+ :type _host_index: int, optional
166
+ :return: Returns the result object.
167
+ """ # noqa: E501
168
+
169
+ _param = self._attempt_to_manually_reconcile_a_cluster_serialize(
170
+ cluster_id=cluster_id,
171
+ _request_auth=_request_auth,
172
+ _content_type=_content_type,
173
+ _headers=_headers,
174
+ _host_index=_host_index
175
+ )
176
+
177
+ _response_types_map: Dict[str, Optional[str]] = {
178
+ '200': "ManualReconciliationModel",
179
+ '400': "ErrorResponseModel",
180
+ '401': "ErrorResponseModel",
181
+ '404': "ErrorResponseModel",
182
+ '500': None,
183
+ }
184
+ response_data = self.api_client.call_api(
185
+ *_param,
186
+ _request_timeout=_request_timeout
187
+ )
188
+ response_data.read()
189
+ return self.api_client.response_deserialize(
190
+ response_data=response_data,
191
+ response_types_map=_response_types_map,
192
+ )
193
+
194
+
195
+ @validate_call
196
+ def attempt_to_manually_reconcile_a_cluster_without_preload_content(
197
+ self,
198
+ cluster_id: StrictInt,
199
+ _request_timeout: Union[
200
+ None,
201
+ Annotated[StrictFloat, Field(gt=0)],
202
+ Tuple[
203
+ Annotated[StrictFloat, Field(gt=0)],
204
+ Annotated[StrictFloat, Field(gt=0)]
205
+ ]
206
+ ] = None,
207
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
208
+ _content_type: Optional[StrictStr] = None,
209
+ _headers: Optional[Dict[StrictStr, Any]] = None,
210
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
211
+ ) -> RESTResponseType:
212
+ """Reconcile a cluster
213
+
214
+
215
+ :param cluster_id: (required)
216
+ :type cluster_id: int
217
+ :param _request_timeout: timeout setting for this request. If one
218
+ number provided, it will be total request
219
+ timeout. It can also be a pair (tuple) of
220
+ (connection, read) timeouts.
221
+ :type _request_timeout: int, tuple(int, int), optional
222
+ :param _request_auth: set to override the auth_settings for an a single
223
+ request; this effectively ignores the
224
+ authentication in the spec for a single request.
225
+ :type _request_auth: dict, optional
226
+ :param _content_type: force content-type for the request.
227
+ :type _content_type: str, Optional
228
+ :param _headers: set to override the headers for a single
229
+ request; this effectively ignores the headers
230
+ in the spec for a single request.
231
+ :type _headers: dict, optional
232
+ :param _host_index: set to override the host_index for a single
233
+ request; this effectively ignores the host_index
234
+ in the spec for a single request.
235
+ :type _host_index: int, optional
236
+ :return: Returns the result object.
237
+ """ # noqa: E501
238
+
239
+ _param = self._attempt_to_manually_reconcile_a_cluster_serialize(
240
+ cluster_id=cluster_id,
241
+ _request_auth=_request_auth,
242
+ _content_type=_content_type,
243
+ _headers=_headers,
244
+ _host_index=_host_index
245
+ )
246
+
247
+ _response_types_map: Dict[str, Optional[str]] = {
248
+ '200': "ManualReconciliationModel",
249
+ '400': "ErrorResponseModel",
250
+ '401': "ErrorResponseModel",
251
+ '404': "ErrorResponseModel",
252
+ '500': None,
253
+ }
254
+ response_data = self.api_client.call_api(
255
+ *_param,
256
+ _request_timeout=_request_timeout
257
+ )
258
+ return response_data.response
259
+
260
+
261
+ def _attempt_to_manually_reconcile_a_cluster_serialize(
262
+ self,
263
+ cluster_id,
264
+ _request_auth,
265
+ _content_type,
266
+ _headers,
267
+ _host_index,
268
+ ) -> RequestSerialized:
269
+
270
+ _host = None
271
+
272
+ _collection_formats: Dict[str, str] = {
273
+ }
274
+
275
+ _path_params: Dict[str, str] = {}
276
+ _query_params: List[Tuple[str, str]] = []
277
+ _header_params: Dict[str, Optional[str]] = _headers or {}
278
+ _form_params: List[Tuple[str, str]] = []
279
+ _files: Dict[
280
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
281
+ ] = {}
282
+ _body_params: Optional[bytes] = None
283
+
284
+ # process the path parameters
285
+ if cluster_id is not None:
286
+ _path_params['cluster_id'] = cluster_id
287
+ # process the query parameters
288
+ # process the header parameters
289
+ # process the form parameters
290
+ # process the body parameter
291
+
292
+
293
+ # set the HTTP header `Accept`
294
+ if 'Accept' not in _header_params:
295
+ _header_params['Accept'] = self.api_client.select_header_accept(
296
+ [
297
+ 'application/json'
298
+ ]
299
+ )
300
+
301
+
302
+ # authentication setting
303
+ _auth_settings: List[str] = [
304
+ 'apiKey'
305
+ ]
306
+
307
+ return self.api_client.param_serialize(
308
+ method='POST',
309
+ resource_path='/core/clusters/{cluster_id}/reconcile',
310
+ path_params=_path_params,
311
+ query_params=_query_params,
312
+ header_params=_header_params,
313
+ body=_body_params,
314
+ post_params=_form_params,
315
+ files=_files,
316
+ auth_settings=_auth_settings,
317
+ collection_formats=_collection_formats,
318
+ _host=_host,
319
+ _request_auth=_request_auth
320
+ )
321
+
322
+
323
+
324
+
325
+ @validate_call
326
+ def create_cluster(
327
+ self,
328
+ payload: CreateClusterPayload,
329
+ _request_timeout: Union[
330
+ None,
331
+ Annotated[StrictFloat, Field(gt=0)],
332
+ Tuple[
333
+ Annotated[StrictFloat, Field(gt=0)],
334
+ Annotated[StrictFloat, Field(gt=0)]
335
+ ]
336
+ ] = None,
337
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
338
+ _content_type: Optional[StrictStr] = None,
339
+ _headers: Optional[Dict[StrictStr, Any]] = None,
340
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
341
+ ) -> ClusterResponse:
342
+ """Create Cluster
343
+
344
+
345
+ :param payload: (required)
346
+ :type payload: CreateClusterPayload
347
+ :param _request_timeout: timeout setting for this request. If one
348
+ number provided, it will be total request
349
+ timeout. It can also be a pair (tuple) of
350
+ (connection, read) timeouts.
351
+ :type _request_timeout: int, tuple(int, int), optional
352
+ :param _request_auth: set to override the auth_settings for an a single
353
+ request; this effectively ignores the
354
+ authentication in the spec for a single request.
355
+ :type _request_auth: dict, optional
356
+ :param _content_type: force content-type for the request.
357
+ :type _content_type: str, Optional
358
+ :param _headers: set to override the headers for a single
359
+ request; this effectively ignores the headers
360
+ in the spec for a single request.
361
+ :type _headers: dict, optional
362
+ :param _host_index: set to override the host_index for a single
363
+ request; this effectively ignores the host_index
364
+ in the spec for a single request.
365
+ :type _host_index: int, optional
366
+ :return: Returns the result object.
367
+ """ # noqa: E501
368
+
369
+ _param = self._create_cluster_serialize(
370
+ payload=payload,
371
+ _request_auth=_request_auth,
372
+ _content_type=_content_type,
373
+ _headers=_headers,
374
+ _host_index=_host_index
375
+ )
376
+
377
+ _response_types_map: Dict[str, Optional[str]] = {
378
+ '201': "ClusterResponse",
379
+ '400': "ErrorResponseModel",
380
+ '401': "ErrorResponseModel",
381
+ '404': "ErrorResponseModel",
382
+ '409': "ErrorResponseModel",
383
+ '422': "ErrorResponseModel",
384
+ '500': None,
385
+ }
386
+ response_data = self.api_client.call_api(
387
+ *_param,
388
+ _request_timeout=_request_timeout
389
+ )
390
+ response_data.read()
391
+ return self.api_client.response_deserialize(
392
+ response_data=response_data,
393
+ response_types_map=_response_types_map,
394
+ ).data
395
+
396
+
397
+ @validate_call
398
+ def create_cluster_with_http_info(
399
+ self,
400
+ payload: CreateClusterPayload,
401
+ _request_timeout: Union[
402
+ None,
403
+ Annotated[StrictFloat, Field(gt=0)],
404
+ Tuple[
405
+ Annotated[StrictFloat, Field(gt=0)],
406
+ Annotated[StrictFloat, Field(gt=0)]
407
+ ]
408
+ ] = None,
409
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
410
+ _content_type: Optional[StrictStr] = None,
411
+ _headers: Optional[Dict[StrictStr, Any]] = None,
412
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
413
+ ) -> ApiResponse[ClusterResponse]:
414
+ """Create Cluster
415
+
416
+
417
+ :param payload: (required)
418
+ :type payload: CreateClusterPayload
419
+ :param _request_timeout: timeout setting for this request. If one
420
+ number provided, it will be total request
421
+ timeout. It can also be a pair (tuple) of
422
+ (connection, read) timeouts.
423
+ :type _request_timeout: int, tuple(int, int), optional
424
+ :param _request_auth: set to override the auth_settings for an a single
425
+ request; this effectively ignores the
426
+ authentication in the spec for a single request.
427
+ :type _request_auth: dict, optional
428
+ :param _content_type: force content-type for the request.
429
+ :type _content_type: str, Optional
430
+ :param _headers: set to override the headers for a single
431
+ request; this effectively ignores the headers
432
+ in the spec for a single request.
433
+ :type _headers: dict, optional
434
+ :param _host_index: set to override the host_index for a single
435
+ request; this effectively ignores the host_index
436
+ in the spec for a single request.
437
+ :type _host_index: int, optional
438
+ :return: Returns the result object.
439
+ """ # noqa: E501
440
+
441
+ _param = self._create_cluster_serialize(
442
+ payload=payload,
443
+ _request_auth=_request_auth,
444
+ _content_type=_content_type,
445
+ _headers=_headers,
446
+ _host_index=_host_index
447
+ )
448
+
449
+ _response_types_map: Dict[str, Optional[str]] = {
450
+ '201': "ClusterResponse",
451
+ '400': "ErrorResponseModel",
452
+ '401': "ErrorResponseModel",
453
+ '404': "ErrorResponseModel",
454
+ '409': "ErrorResponseModel",
455
+ '422': "ErrorResponseModel",
456
+ '500': None,
457
+ }
458
+ response_data = self.api_client.call_api(
459
+ *_param,
460
+ _request_timeout=_request_timeout
461
+ )
462
+ response_data.read()
463
+ return self.api_client.response_deserialize(
464
+ response_data=response_data,
465
+ response_types_map=_response_types_map,
466
+ )
467
+
468
+
469
+ @validate_call
470
+ def create_cluster_without_preload_content(
471
+ self,
472
+ payload: CreateClusterPayload,
473
+ _request_timeout: Union[
474
+ None,
475
+ Annotated[StrictFloat, Field(gt=0)],
476
+ Tuple[
477
+ Annotated[StrictFloat, Field(gt=0)],
478
+ Annotated[StrictFloat, Field(gt=0)]
479
+ ]
480
+ ] = None,
481
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
482
+ _content_type: Optional[StrictStr] = None,
483
+ _headers: Optional[Dict[StrictStr, Any]] = None,
484
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
485
+ ) -> RESTResponseType:
486
+ """Create Cluster
487
+
488
+
489
+ :param payload: (required)
490
+ :type payload: CreateClusterPayload
491
+ :param _request_timeout: timeout setting for this request. If one
492
+ number provided, it will be total request
493
+ timeout. It can also be a pair (tuple) of
494
+ (connection, read) timeouts.
495
+ :type _request_timeout: int, tuple(int, int), optional
496
+ :param _request_auth: set to override the auth_settings for an a single
497
+ request; this effectively ignores the
498
+ authentication in the spec for a single request.
499
+ :type _request_auth: dict, optional
500
+ :param _content_type: force content-type for the request.
501
+ :type _content_type: str, Optional
502
+ :param _headers: set to override the headers for a single
503
+ request; this effectively ignores the headers
504
+ in the spec for a single request.
505
+ :type _headers: dict, optional
506
+ :param _host_index: set to override the host_index for a single
507
+ request; this effectively ignores the host_index
508
+ in the spec for a single request.
509
+ :type _host_index: int, optional
510
+ :return: Returns the result object.
511
+ """ # noqa: E501
512
+
513
+ _param = self._create_cluster_serialize(
514
+ payload=payload,
515
+ _request_auth=_request_auth,
516
+ _content_type=_content_type,
517
+ _headers=_headers,
518
+ _host_index=_host_index
519
+ )
520
+
521
+ _response_types_map: Dict[str, Optional[str]] = {
522
+ '201': "ClusterResponse",
523
+ '400': "ErrorResponseModel",
524
+ '401': "ErrorResponseModel",
525
+ '404': "ErrorResponseModel",
526
+ '409': "ErrorResponseModel",
527
+ '422': "ErrorResponseModel",
528
+ '500': None,
529
+ }
530
+ response_data = self.api_client.call_api(
531
+ *_param,
532
+ _request_timeout=_request_timeout
533
+ )
534
+ return response_data.response
535
+
536
+
537
+ def _create_cluster_serialize(
538
+ self,
539
+ payload,
540
+ _request_auth,
541
+ _content_type,
542
+ _headers,
543
+ _host_index,
544
+ ) -> RequestSerialized:
545
+
546
+ _host = None
547
+
548
+ _collection_formats: Dict[str, str] = {
549
+ }
550
+
551
+ _path_params: Dict[str, str] = {}
552
+ _query_params: List[Tuple[str, str]] = []
553
+ _header_params: Dict[str, Optional[str]] = _headers or {}
554
+ _form_params: List[Tuple[str, str]] = []
555
+ _files: Dict[
556
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
557
+ ] = {}
558
+ _body_params: Optional[bytes] = None
559
+
560
+ # process the path parameters
561
+ # process the query parameters
562
+ # process the header parameters
563
+ # process the form parameters
564
+ # process the body parameter
565
+ if payload is not None:
566
+ _body_params = payload
567
+
568
+
569
+ # set the HTTP header `Accept`
570
+ if 'Accept' not in _header_params:
571
+ _header_params['Accept'] = self.api_client.select_header_accept(
572
+ [
573
+ 'application/json'
574
+ ]
575
+ )
576
+
577
+ # set the HTTP header `Content-Type`
578
+ if _content_type:
579
+ _header_params['Content-Type'] = _content_type
580
+ else:
581
+ _default_content_type = (
582
+ self.api_client.select_header_content_type(
583
+ [
584
+ 'application/json'
585
+ ]
586
+ )
587
+ )
588
+ if _default_content_type is not None:
589
+ _header_params['Content-Type'] = _default_content_type
590
+
591
+ # authentication setting
592
+ _auth_settings: List[str] = [
593
+ 'apiKey'
594
+ ]
595
+
596
+ return self.api_client.param_serialize(
597
+ method='POST',
598
+ resource_path='/core/clusters',
599
+ path_params=_path_params,
600
+ query_params=_query_params,
601
+ header_params=_header_params,
602
+ body=_body_params,
603
+ post_params=_form_params,
604
+ files=_files,
605
+ auth_settings=_auth_settings,
606
+ collection_formats=_collection_formats,
607
+ _host=_host,
608
+ _request_auth=_request_auth
609
+ )
610
+
611
+
612
+
613
+
614
+ @validate_call
615
+ def create_node(
616
+ self,
617
+ cluster_id: StrictInt,
618
+ payload: CreateClusterNodeFields,
619
+ _request_timeout: Union[
620
+ None,
621
+ Annotated[StrictFloat, Field(gt=0)],
622
+ Tuple[
623
+ Annotated[StrictFloat, Field(gt=0)],
624
+ Annotated[StrictFloat, Field(gt=0)]
625
+ ]
626
+ ] = None,
627
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
628
+ _content_type: Optional[StrictStr] = None,
629
+ _headers: Optional[Dict[StrictStr, Any]] = None,
630
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
631
+ ) -> ClusterNodesListResponse:
632
+ """Create Node
633
+
634
+
635
+ :param cluster_id: (required)
636
+ :type cluster_id: int
637
+ :param payload: (required)
638
+ :type payload: CreateClusterNodeFields
639
+ :param _request_timeout: timeout setting for this request. If one
640
+ number provided, it will be total request
641
+ timeout. It can also be a pair (tuple) of
642
+ (connection, read) timeouts.
643
+ :type _request_timeout: int, tuple(int, int), optional
644
+ :param _request_auth: set to override the auth_settings for an a single
645
+ request; this effectively ignores the
646
+ authentication in the spec for a single request.
647
+ :type _request_auth: dict, optional
648
+ :param _content_type: force content-type for the request.
649
+ :type _content_type: str, Optional
650
+ :param _headers: set to override the headers for a single
651
+ request; this effectively ignores the headers
652
+ in the spec for a single request.
653
+ :type _headers: dict, optional
654
+ :param _host_index: set to override the host_index for a single
655
+ request; this effectively ignores the host_index
656
+ in the spec for a single request.
657
+ :type _host_index: int, optional
658
+ :return: Returns the result object.
659
+ """ # noqa: E501
660
+
661
+ _param = self._create_node_serialize(
662
+ cluster_id=cluster_id,
663
+ payload=payload,
664
+ _request_auth=_request_auth,
665
+ _content_type=_content_type,
666
+ _headers=_headers,
667
+ _host_index=_host_index
668
+ )
669
+
670
+ _response_types_map: Dict[str, Optional[str]] = {
671
+ '201': "ClusterNodesListResponse",
672
+ '400': "ErrorResponseModel",
673
+ '401': "ErrorResponseModel",
674
+ '404': "ErrorResponseModel",
675
+ '409': "ErrorResponseModel",
676
+ '500': None,
677
+ }
678
+ response_data = self.api_client.call_api(
679
+ *_param,
680
+ _request_timeout=_request_timeout
681
+ )
682
+ response_data.read()
683
+ return self.api_client.response_deserialize(
684
+ response_data=response_data,
685
+ response_types_map=_response_types_map,
686
+ ).data
687
+
688
+
689
+ @validate_call
690
+ def create_node_with_http_info(
691
+ self,
692
+ cluster_id: StrictInt,
693
+ payload: CreateClusterNodeFields,
694
+ _request_timeout: Union[
695
+ None,
696
+ Annotated[StrictFloat, Field(gt=0)],
697
+ Tuple[
698
+ Annotated[StrictFloat, Field(gt=0)],
699
+ Annotated[StrictFloat, Field(gt=0)]
700
+ ]
701
+ ] = None,
702
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
703
+ _content_type: Optional[StrictStr] = None,
704
+ _headers: Optional[Dict[StrictStr, Any]] = None,
705
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
706
+ ) -> ApiResponse[ClusterNodesListResponse]:
707
+ """Create Node
708
+
709
+
710
+ :param cluster_id: (required)
711
+ :type cluster_id: int
712
+ :param payload: (required)
713
+ :type payload: CreateClusterNodeFields
714
+ :param _request_timeout: timeout setting for this request. If one
715
+ number provided, it will be total request
716
+ timeout. It can also be a pair (tuple) of
717
+ (connection, read) timeouts.
718
+ :type _request_timeout: int, tuple(int, int), optional
719
+ :param _request_auth: set to override the auth_settings for an a single
720
+ request; this effectively ignores the
721
+ authentication in the spec for a single request.
722
+ :type _request_auth: dict, optional
723
+ :param _content_type: force content-type for the request.
724
+ :type _content_type: str, Optional
725
+ :param _headers: set to override the headers for a single
726
+ request; this effectively ignores the headers
727
+ in the spec for a single request.
728
+ :type _headers: dict, optional
729
+ :param _host_index: set to override the host_index for a single
730
+ request; this effectively ignores the host_index
731
+ in the spec for a single request.
732
+ :type _host_index: int, optional
733
+ :return: Returns the result object.
734
+ """ # noqa: E501
735
+
736
+ _param = self._create_node_serialize(
737
+ cluster_id=cluster_id,
738
+ payload=payload,
739
+ _request_auth=_request_auth,
740
+ _content_type=_content_type,
741
+ _headers=_headers,
742
+ _host_index=_host_index
743
+ )
744
+
745
+ _response_types_map: Dict[str, Optional[str]] = {
746
+ '201': "ClusterNodesListResponse",
747
+ '400': "ErrorResponseModel",
748
+ '401': "ErrorResponseModel",
749
+ '404': "ErrorResponseModel",
750
+ '409': "ErrorResponseModel",
751
+ '500': None,
752
+ }
753
+ response_data = self.api_client.call_api(
754
+ *_param,
755
+ _request_timeout=_request_timeout
756
+ )
757
+ response_data.read()
758
+ return self.api_client.response_deserialize(
759
+ response_data=response_data,
760
+ response_types_map=_response_types_map,
761
+ )
762
+
763
+
764
+ @validate_call
765
+ def create_node_without_preload_content(
766
+ self,
767
+ cluster_id: StrictInt,
768
+ payload: CreateClusterNodeFields,
769
+ _request_timeout: Union[
770
+ None,
771
+ Annotated[StrictFloat, Field(gt=0)],
772
+ Tuple[
773
+ Annotated[StrictFloat, Field(gt=0)],
774
+ Annotated[StrictFloat, Field(gt=0)]
775
+ ]
776
+ ] = None,
777
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
778
+ _content_type: Optional[StrictStr] = None,
779
+ _headers: Optional[Dict[StrictStr, Any]] = None,
780
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
781
+ ) -> RESTResponseType:
782
+ """Create Node
783
+
784
+
785
+ :param cluster_id: (required)
786
+ :type cluster_id: int
787
+ :param payload: (required)
788
+ :type payload: CreateClusterNodeFields
789
+ :param _request_timeout: timeout setting for this request. If one
790
+ number provided, it will be total request
791
+ timeout. It can also be a pair (tuple) of
792
+ (connection, read) timeouts.
793
+ :type _request_timeout: int, tuple(int, int), optional
794
+ :param _request_auth: set to override the auth_settings for an a single
795
+ request; this effectively ignores the
796
+ authentication in the spec for a single request.
797
+ :type _request_auth: dict, optional
798
+ :param _content_type: force content-type for the request.
799
+ :type _content_type: str, Optional
800
+ :param _headers: set to override the headers for a single
801
+ request; this effectively ignores the headers
802
+ in the spec for a single request.
803
+ :type _headers: dict, optional
804
+ :param _host_index: set to override the host_index for a single
805
+ request; this effectively ignores the host_index
806
+ in the spec for a single request.
807
+ :type _host_index: int, optional
808
+ :return: Returns the result object.
809
+ """ # noqa: E501
810
+
811
+ _param = self._create_node_serialize(
812
+ cluster_id=cluster_id,
813
+ payload=payload,
814
+ _request_auth=_request_auth,
815
+ _content_type=_content_type,
816
+ _headers=_headers,
817
+ _host_index=_host_index
818
+ )
819
+
820
+ _response_types_map: Dict[str, Optional[str]] = {
821
+ '201': "ClusterNodesListResponse",
822
+ '400': "ErrorResponseModel",
823
+ '401': "ErrorResponseModel",
824
+ '404': "ErrorResponseModel",
825
+ '409': "ErrorResponseModel",
826
+ '500': None,
827
+ }
828
+ response_data = self.api_client.call_api(
829
+ *_param,
830
+ _request_timeout=_request_timeout
831
+ )
832
+ return response_data.response
833
+
834
+
835
+ def _create_node_serialize(
836
+ self,
837
+ cluster_id,
838
+ payload,
839
+ _request_auth,
840
+ _content_type,
841
+ _headers,
842
+ _host_index,
843
+ ) -> RequestSerialized:
844
+
845
+ _host = None
846
+
847
+ _collection_formats: Dict[str, str] = {
848
+ }
849
+
850
+ _path_params: Dict[str, str] = {}
851
+ _query_params: List[Tuple[str, str]] = []
852
+ _header_params: Dict[str, Optional[str]] = _headers or {}
853
+ _form_params: List[Tuple[str, str]] = []
854
+ _files: Dict[
855
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
856
+ ] = {}
857
+ _body_params: Optional[bytes] = None
858
+
859
+ # process the path parameters
860
+ if cluster_id is not None:
861
+ _path_params['cluster_id'] = cluster_id
862
+ # process the query parameters
863
+ # process the header parameters
864
+ # process the form parameters
865
+ # process the body parameter
866
+ if payload is not None:
867
+ _body_params = payload
868
+
869
+
870
+ # set the HTTP header `Accept`
871
+ if 'Accept' not in _header_params:
872
+ _header_params['Accept'] = self.api_client.select_header_accept(
873
+ [
874
+ 'application/json'
875
+ ]
876
+ )
877
+
878
+ # set the HTTP header `Content-Type`
879
+ if _content_type:
880
+ _header_params['Content-Type'] = _content_type
881
+ else:
882
+ _default_content_type = (
883
+ self.api_client.select_header_content_type(
884
+ [
885
+ 'application/json'
886
+ ]
887
+ )
888
+ )
889
+ if _default_content_type is not None:
890
+ _header_params['Content-Type'] = _default_content_type
891
+
892
+ # authentication setting
893
+ _auth_settings: List[str] = [
894
+ 'apiKey'
895
+ ]
896
+
897
+ return self.api_client.param_serialize(
898
+ method='POST',
899
+ resource_path='/core/clusters/{cluster_id}/nodes',
900
+ path_params=_path_params,
901
+ query_params=_query_params,
902
+ header_params=_header_params,
903
+ body=_body_params,
904
+ post_params=_form_params,
905
+ files=_files,
906
+ auth_settings=_auth_settings,
907
+ collection_formats=_collection_formats,
908
+ _host=_host,
909
+ _request_auth=_request_auth
910
+ )
911
+
912
+
913
+
914
+
915
+ @validate_call
916
+ def create_node_group(
917
+ self,
918
+ cluster_id: StrictInt,
919
+ payload: CreateClusterNodeGroupPayload,
920
+ _request_timeout: Union[
921
+ None,
922
+ Annotated[StrictFloat, Field(gt=0)],
923
+ Tuple[
924
+ Annotated[StrictFloat, Field(gt=0)],
925
+ Annotated[StrictFloat, Field(gt=0)]
926
+ ]
927
+ ] = None,
928
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
929
+ _content_type: Optional[StrictStr] = None,
930
+ _headers: Optional[Dict[StrictStr, Any]] = None,
931
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
932
+ ) -> ClusterNodeGroupsCreateResponse:
933
+ """Create a node group in a cluster
934
+
935
+
936
+ :param cluster_id: (required)
937
+ :type cluster_id: int
938
+ :param payload: (required)
939
+ :type payload: CreateClusterNodeGroupPayload
940
+ :param _request_timeout: timeout setting for this request. If one
941
+ number provided, it will be total request
942
+ timeout. It can also be a pair (tuple) of
943
+ (connection, read) timeouts.
944
+ :type _request_timeout: int, tuple(int, int), optional
945
+ :param _request_auth: set to override the auth_settings for an a single
946
+ request; this effectively ignores the
947
+ authentication in the spec for a single request.
948
+ :type _request_auth: dict, optional
949
+ :param _content_type: force content-type for the request.
950
+ :type _content_type: str, Optional
951
+ :param _headers: set to override the headers for a single
952
+ request; this effectively ignores the headers
953
+ in the spec for a single request.
954
+ :type _headers: dict, optional
955
+ :param _host_index: set to override the host_index for a single
956
+ request; this effectively ignores the host_index
957
+ in the spec for a single request.
958
+ :type _host_index: int, optional
959
+ :return: Returns the result object.
960
+ """ # noqa: E501
961
+
962
+ _param = self._create_node_group_serialize(
963
+ cluster_id=cluster_id,
964
+ payload=payload,
965
+ _request_auth=_request_auth,
966
+ _content_type=_content_type,
967
+ _headers=_headers,
968
+ _host_index=_host_index
969
+ )
970
+
971
+ _response_types_map: Dict[str, Optional[str]] = {
972
+ '201': "ClusterNodeGroupsCreateResponse",
973
+ '400': "ErrorResponseModel",
974
+ '401': "ErrorResponseModel",
975
+ '404': "ErrorResponseModel",
976
+ '409': "ErrorResponseModel",
977
+ '500': None,
978
+ }
979
+ response_data = self.api_client.call_api(
980
+ *_param,
981
+ _request_timeout=_request_timeout
982
+ )
983
+ response_data.read()
984
+ return self.api_client.response_deserialize(
985
+ response_data=response_data,
986
+ response_types_map=_response_types_map,
987
+ ).data
988
+
989
+
990
+ @validate_call
991
+ def create_node_group_with_http_info(
992
+ self,
993
+ cluster_id: StrictInt,
994
+ payload: CreateClusterNodeGroupPayload,
995
+ _request_timeout: Union[
996
+ None,
997
+ Annotated[StrictFloat, Field(gt=0)],
998
+ Tuple[
999
+ Annotated[StrictFloat, Field(gt=0)],
1000
+ Annotated[StrictFloat, Field(gt=0)]
1001
+ ]
1002
+ ] = None,
1003
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1004
+ _content_type: Optional[StrictStr] = None,
1005
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1006
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1007
+ ) -> ApiResponse[ClusterNodeGroupsCreateResponse]:
1008
+ """Create a node group in a cluster
1009
+
1010
+
1011
+ :param cluster_id: (required)
1012
+ :type cluster_id: int
1013
+ :param payload: (required)
1014
+ :type payload: CreateClusterNodeGroupPayload
1015
+ :param _request_timeout: timeout setting for this request. If one
1016
+ number provided, it will be total request
1017
+ timeout. It can also be a pair (tuple) of
1018
+ (connection, read) timeouts.
1019
+ :type _request_timeout: int, tuple(int, int), optional
1020
+ :param _request_auth: set to override the auth_settings for an a single
1021
+ request; this effectively ignores the
1022
+ authentication in the spec for a single request.
1023
+ :type _request_auth: dict, optional
1024
+ :param _content_type: force content-type for the request.
1025
+ :type _content_type: str, Optional
1026
+ :param _headers: set to override the headers for a single
1027
+ request; this effectively ignores the headers
1028
+ in the spec for a single request.
1029
+ :type _headers: dict, optional
1030
+ :param _host_index: set to override the host_index for a single
1031
+ request; this effectively ignores the host_index
1032
+ in the spec for a single request.
1033
+ :type _host_index: int, optional
1034
+ :return: Returns the result object.
1035
+ """ # noqa: E501
1036
+
1037
+ _param = self._create_node_group_serialize(
1038
+ cluster_id=cluster_id,
1039
+ payload=payload,
1040
+ _request_auth=_request_auth,
1041
+ _content_type=_content_type,
1042
+ _headers=_headers,
1043
+ _host_index=_host_index
1044
+ )
1045
+
1046
+ _response_types_map: Dict[str, Optional[str]] = {
1047
+ '201': "ClusterNodeGroupsCreateResponse",
1048
+ '400': "ErrorResponseModel",
1049
+ '401': "ErrorResponseModel",
1050
+ '404': "ErrorResponseModel",
1051
+ '409': "ErrorResponseModel",
1052
+ '500': None,
1053
+ }
1054
+ response_data = self.api_client.call_api(
1055
+ *_param,
1056
+ _request_timeout=_request_timeout
1057
+ )
1058
+ response_data.read()
1059
+ return self.api_client.response_deserialize(
1060
+ response_data=response_data,
1061
+ response_types_map=_response_types_map,
1062
+ )
1063
+
1064
+
1065
+ @validate_call
1066
+ def create_node_group_without_preload_content(
1067
+ self,
1068
+ cluster_id: StrictInt,
1069
+ payload: CreateClusterNodeGroupPayload,
1070
+ _request_timeout: Union[
1071
+ None,
1072
+ Annotated[StrictFloat, Field(gt=0)],
1073
+ Tuple[
1074
+ Annotated[StrictFloat, Field(gt=0)],
1075
+ Annotated[StrictFloat, Field(gt=0)]
1076
+ ]
1077
+ ] = None,
1078
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1079
+ _content_type: Optional[StrictStr] = None,
1080
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1081
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1082
+ ) -> RESTResponseType:
1083
+ """Create a node group in a cluster
1084
+
1085
+
1086
+ :param cluster_id: (required)
1087
+ :type cluster_id: int
1088
+ :param payload: (required)
1089
+ :type payload: CreateClusterNodeGroupPayload
1090
+ :param _request_timeout: timeout setting for this request. If one
1091
+ number provided, it will be total request
1092
+ timeout. It can also be a pair (tuple) of
1093
+ (connection, read) timeouts.
1094
+ :type _request_timeout: int, tuple(int, int), optional
1095
+ :param _request_auth: set to override the auth_settings for an a single
1096
+ request; this effectively ignores the
1097
+ authentication in the spec for a single request.
1098
+ :type _request_auth: dict, optional
1099
+ :param _content_type: force content-type for the request.
1100
+ :type _content_type: str, Optional
1101
+ :param _headers: set to override the headers for a single
1102
+ request; this effectively ignores the headers
1103
+ in the spec for a single request.
1104
+ :type _headers: dict, optional
1105
+ :param _host_index: set to override the host_index for a single
1106
+ request; this effectively ignores the host_index
1107
+ in the spec for a single request.
1108
+ :type _host_index: int, optional
1109
+ :return: Returns the result object.
1110
+ """ # noqa: E501
1111
+
1112
+ _param = self._create_node_group_serialize(
1113
+ cluster_id=cluster_id,
1114
+ payload=payload,
1115
+ _request_auth=_request_auth,
1116
+ _content_type=_content_type,
1117
+ _headers=_headers,
1118
+ _host_index=_host_index
1119
+ )
1120
+
1121
+ _response_types_map: Dict[str, Optional[str]] = {
1122
+ '201': "ClusterNodeGroupsCreateResponse",
1123
+ '400': "ErrorResponseModel",
1124
+ '401': "ErrorResponseModel",
1125
+ '404': "ErrorResponseModel",
1126
+ '409': "ErrorResponseModel",
1127
+ '500': None,
1128
+ }
1129
+ response_data = self.api_client.call_api(
1130
+ *_param,
1131
+ _request_timeout=_request_timeout
1132
+ )
1133
+ return response_data.response
1134
+
1135
+
1136
+ def _create_node_group_serialize(
1137
+ self,
1138
+ cluster_id,
1139
+ payload,
1140
+ _request_auth,
1141
+ _content_type,
1142
+ _headers,
1143
+ _host_index,
1144
+ ) -> RequestSerialized:
1145
+
1146
+ _host = None
1147
+
1148
+ _collection_formats: Dict[str, str] = {
1149
+ }
1150
+
1151
+ _path_params: Dict[str, str] = {}
1152
+ _query_params: List[Tuple[str, str]] = []
1153
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1154
+ _form_params: List[Tuple[str, str]] = []
1155
+ _files: Dict[
1156
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1157
+ ] = {}
1158
+ _body_params: Optional[bytes] = None
1159
+
1160
+ # process the path parameters
1161
+ if cluster_id is not None:
1162
+ _path_params['cluster_id'] = cluster_id
1163
+ # process the query parameters
1164
+ # process the header parameters
1165
+ # process the form parameters
1166
+ # process the body parameter
1167
+ if payload is not None:
1168
+ _body_params = payload
1169
+
1170
+
1171
+ # set the HTTP header `Accept`
1172
+ if 'Accept' not in _header_params:
1173
+ _header_params['Accept'] = self.api_client.select_header_accept(
1174
+ [
1175
+ 'application/json'
1176
+ ]
1177
+ )
1178
+
1179
+ # set the HTTP header `Content-Type`
1180
+ if _content_type:
1181
+ _header_params['Content-Type'] = _content_type
1182
+ else:
1183
+ _default_content_type = (
1184
+ self.api_client.select_header_content_type(
1185
+ [
1186
+ 'application/json'
1187
+ ]
1188
+ )
1189
+ )
1190
+ if _default_content_type is not None:
1191
+ _header_params['Content-Type'] = _default_content_type
1192
+
1193
+ # authentication setting
1194
+ _auth_settings: List[str] = [
1195
+ 'apiKey'
1196
+ ]
1197
+
1198
+ return self.api_client.param_serialize(
1199
+ method='POST',
1200
+ resource_path='/core/clusters/{cluster_id}/node-groups',
1201
+ path_params=_path_params,
1202
+ query_params=_query_params,
1203
+ header_params=_header_params,
1204
+ body=_body_params,
1205
+ post_params=_form_params,
1206
+ files=_files,
1207
+ auth_settings=_auth_settings,
1208
+ collection_formats=_collection_formats,
1209
+ _host=_host,
1210
+ _request_auth=_request_auth
1211
+ )
1212
+
1213
+
1214
+
1215
+
1216
+ @validate_call
1217
+ def delete_a_cluster(
1218
+ self,
1219
+ id: StrictInt,
1220
+ _request_timeout: Union[
1221
+ None,
1222
+ Annotated[StrictFloat, Field(gt=0)],
1223
+ Tuple[
1224
+ Annotated[StrictFloat, Field(gt=0)],
1225
+ Annotated[StrictFloat, Field(gt=0)]
1226
+ ]
1227
+ ] = None,
1228
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1229
+ _content_type: Optional[StrictStr] = None,
1230
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1231
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1232
+ ) -> ResponseModel:
1233
+ """Delete a cluster
1234
+
1235
+
1236
+ :param id: (required)
1237
+ :type id: int
1238
+ :param _request_timeout: timeout setting for this request. If one
1239
+ number provided, it will be total request
1240
+ timeout. It can also be a pair (tuple) of
1241
+ (connection, read) timeouts.
1242
+ :type _request_timeout: int, tuple(int, int), optional
1243
+ :param _request_auth: set to override the auth_settings for an a single
1244
+ request; this effectively ignores the
1245
+ authentication in the spec for a single request.
1246
+ :type _request_auth: dict, optional
1247
+ :param _content_type: force content-type for the request.
1248
+ :type _content_type: str, Optional
1249
+ :param _headers: set to override the headers for a single
1250
+ request; this effectively ignores the headers
1251
+ in the spec for a single request.
1252
+ :type _headers: dict, optional
1253
+ :param _host_index: set to override the host_index for a single
1254
+ request; this effectively ignores the host_index
1255
+ in the spec for a single request.
1256
+ :type _host_index: int, optional
1257
+ :return: Returns the result object.
1258
+ """ # noqa: E501
1259
+
1260
+ _param = self._delete_a_cluster_serialize(
1261
+ id=id,
1262
+ _request_auth=_request_auth,
1263
+ _content_type=_content_type,
1264
+ _headers=_headers,
1265
+ _host_index=_host_index
1266
+ )
1267
+
1268
+ _response_types_map: Dict[str, Optional[str]] = {
1269
+ '200': "ResponseModel",
1270
+ '400': "ErrorResponseModel",
1271
+ '401': "ErrorResponseModel",
1272
+ '404': "ErrorResponseModel",
1273
+ '500': None,
1274
+ }
1275
+ response_data = self.api_client.call_api(
1276
+ *_param,
1277
+ _request_timeout=_request_timeout
1278
+ )
1279
+ response_data.read()
1280
+ return self.api_client.response_deserialize(
1281
+ response_data=response_data,
1282
+ response_types_map=_response_types_map,
1283
+ ).data
1284
+
1285
+
1286
+ @validate_call
1287
+ def delete_a_cluster_with_http_info(
1288
+ self,
1289
+ id: StrictInt,
1290
+ _request_timeout: Union[
1291
+ None,
1292
+ Annotated[StrictFloat, Field(gt=0)],
1293
+ Tuple[
1294
+ Annotated[StrictFloat, Field(gt=0)],
1295
+ Annotated[StrictFloat, Field(gt=0)]
1296
+ ]
1297
+ ] = None,
1298
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1299
+ _content_type: Optional[StrictStr] = None,
1300
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1301
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1302
+ ) -> ApiResponse[ResponseModel]:
1303
+ """Delete a cluster
1304
+
1305
+
1306
+ :param id: (required)
1307
+ :type id: int
1308
+ :param _request_timeout: timeout setting for this request. If one
1309
+ number provided, it will be total request
1310
+ timeout. It can also be a pair (tuple) of
1311
+ (connection, read) timeouts.
1312
+ :type _request_timeout: int, tuple(int, int), optional
1313
+ :param _request_auth: set to override the auth_settings for an a single
1314
+ request; this effectively ignores the
1315
+ authentication in the spec for a single request.
1316
+ :type _request_auth: dict, optional
1317
+ :param _content_type: force content-type for the request.
1318
+ :type _content_type: str, Optional
1319
+ :param _headers: set to override the headers for a single
1320
+ request; this effectively ignores the headers
1321
+ in the spec for a single request.
1322
+ :type _headers: dict, optional
1323
+ :param _host_index: set to override the host_index for a single
1324
+ request; this effectively ignores the host_index
1325
+ in the spec for a single request.
1326
+ :type _host_index: int, optional
1327
+ :return: Returns the result object.
1328
+ """ # noqa: E501
1329
+
1330
+ _param = self._delete_a_cluster_serialize(
1331
+ id=id,
1332
+ _request_auth=_request_auth,
1333
+ _content_type=_content_type,
1334
+ _headers=_headers,
1335
+ _host_index=_host_index
1336
+ )
1337
+
1338
+ _response_types_map: Dict[str, Optional[str]] = {
1339
+ '200': "ResponseModel",
1340
+ '400': "ErrorResponseModel",
1341
+ '401': "ErrorResponseModel",
1342
+ '404': "ErrorResponseModel",
1343
+ '500': None,
1344
+ }
1345
+ response_data = self.api_client.call_api(
1346
+ *_param,
1347
+ _request_timeout=_request_timeout
1348
+ )
1349
+ response_data.read()
1350
+ return self.api_client.response_deserialize(
1351
+ response_data=response_data,
1352
+ response_types_map=_response_types_map,
1353
+ )
1354
+
1355
+
1356
+ @validate_call
1357
+ def delete_a_cluster_without_preload_content(
1358
+ self,
1359
+ id: StrictInt,
1360
+ _request_timeout: Union[
1361
+ None,
1362
+ Annotated[StrictFloat, Field(gt=0)],
1363
+ Tuple[
1364
+ Annotated[StrictFloat, Field(gt=0)],
1365
+ Annotated[StrictFloat, Field(gt=0)]
1366
+ ]
1367
+ ] = None,
1368
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1369
+ _content_type: Optional[StrictStr] = None,
1370
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1371
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1372
+ ) -> RESTResponseType:
1373
+ """Delete a cluster
1374
+
1375
+
1376
+ :param id: (required)
1377
+ :type id: int
1378
+ :param _request_timeout: timeout setting for this request. If one
1379
+ number provided, it will be total request
1380
+ timeout. It can also be a pair (tuple) of
1381
+ (connection, read) timeouts.
1382
+ :type _request_timeout: int, tuple(int, int), optional
1383
+ :param _request_auth: set to override the auth_settings for an a single
1384
+ request; this effectively ignores the
1385
+ authentication in the spec for a single request.
1386
+ :type _request_auth: dict, optional
1387
+ :param _content_type: force content-type for the request.
1388
+ :type _content_type: str, Optional
1389
+ :param _headers: set to override the headers for a single
1390
+ request; this effectively ignores the headers
1391
+ in the spec for a single request.
1392
+ :type _headers: dict, optional
1393
+ :param _host_index: set to override the host_index for a single
1394
+ request; this effectively ignores the host_index
1395
+ in the spec for a single request.
1396
+ :type _host_index: int, optional
1397
+ :return: Returns the result object.
1398
+ """ # noqa: E501
1399
+
1400
+ _param = self._delete_a_cluster_serialize(
1401
+ id=id,
1402
+ _request_auth=_request_auth,
1403
+ _content_type=_content_type,
1404
+ _headers=_headers,
1405
+ _host_index=_host_index
1406
+ )
1407
+
1408
+ _response_types_map: Dict[str, Optional[str]] = {
1409
+ '200': "ResponseModel",
1410
+ '400': "ErrorResponseModel",
1411
+ '401': "ErrorResponseModel",
1412
+ '404': "ErrorResponseModel",
1413
+ '500': None,
1414
+ }
1415
+ response_data = self.api_client.call_api(
1416
+ *_param,
1417
+ _request_timeout=_request_timeout
1418
+ )
1419
+ return response_data.response
1420
+
1421
+
1422
+ def _delete_a_cluster_serialize(
1423
+ self,
1424
+ id,
1425
+ _request_auth,
1426
+ _content_type,
1427
+ _headers,
1428
+ _host_index,
1429
+ ) -> RequestSerialized:
1430
+
1431
+ _host = None
1432
+
1433
+ _collection_formats: Dict[str, str] = {
1434
+ }
1435
+
1436
+ _path_params: Dict[str, str] = {}
1437
+ _query_params: List[Tuple[str, str]] = []
1438
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1439
+ _form_params: List[Tuple[str, str]] = []
1440
+ _files: Dict[
1441
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1442
+ ] = {}
1443
+ _body_params: Optional[bytes] = None
1444
+
1445
+ # process the path parameters
1446
+ if id is not None:
1447
+ _path_params['id'] = id
1448
+ # process the query parameters
1449
+ # process the header parameters
1450
+ # process the form parameters
1451
+ # process the body parameter
1452
+
1453
+
1454
+ # set the HTTP header `Accept`
1455
+ if 'Accept' not in _header_params:
1456
+ _header_params['Accept'] = self.api_client.select_header_accept(
1457
+ [
1458
+ 'application/json'
1459
+ ]
1460
+ )
1461
+
1462
+
1463
+ # authentication setting
1464
+ _auth_settings: List[str] = [
1465
+ 'apiKey'
1466
+ ]
1467
+
1468
+ return self.api_client.param_serialize(
1469
+ method='DELETE',
1470
+ resource_path='/core/clusters/{id}',
1471
+ path_params=_path_params,
1472
+ query_params=_query_params,
1473
+ header_params=_header_params,
1474
+ body=_body_params,
1475
+ post_params=_form_params,
1476
+ files=_files,
1477
+ auth_settings=_auth_settings,
1478
+ collection_formats=_collection_formats,
1479
+ _host=_host,
1480
+ _request_auth=_request_auth
1481
+ )
1482
+
1483
+
1484
+
1485
+
1486
+ @validate_call
1487
+ def delete_a_node_group(
1488
+ self,
1489
+ cluster_id: StrictInt,
1490
+ node_group_id: StrictInt,
1491
+ _request_timeout: Union[
1492
+ None,
1493
+ Annotated[StrictFloat, Field(gt=0)],
1494
+ Tuple[
1495
+ Annotated[StrictFloat, Field(gt=0)],
1496
+ Annotated[StrictFloat, Field(gt=0)]
1497
+ ]
1498
+ ] = None,
1499
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1500
+ _content_type: Optional[StrictStr] = None,
1501
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1502
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1503
+ ) -> ResponseModel:
1504
+ """Delete a node group
1505
+
1506
+
1507
+ :param cluster_id: (required)
1508
+ :type cluster_id: int
1509
+ :param node_group_id: (required)
1510
+ :type node_group_id: int
1511
+ :param _request_timeout: timeout setting for this request. If one
1512
+ number provided, it will be total request
1513
+ timeout. It can also be a pair (tuple) of
1514
+ (connection, read) timeouts.
1515
+ :type _request_timeout: int, tuple(int, int), optional
1516
+ :param _request_auth: set to override the auth_settings for an a single
1517
+ request; this effectively ignores the
1518
+ authentication in the spec for a single request.
1519
+ :type _request_auth: dict, optional
1520
+ :param _content_type: force content-type for the request.
1521
+ :type _content_type: str, Optional
1522
+ :param _headers: set to override the headers for a single
1523
+ request; this effectively ignores the headers
1524
+ in the spec for a single request.
1525
+ :type _headers: dict, optional
1526
+ :param _host_index: set to override the host_index for a single
1527
+ request; this effectively ignores the host_index
1528
+ in the spec for a single request.
1529
+ :type _host_index: int, optional
1530
+ :return: Returns the result object.
1531
+ """ # noqa: E501
1532
+
1533
+ _param = self._delete_a_node_group_serialize(
1534
+ cluster_id=cluster_id,
1535
+ node_group_id=node_group_id,
1536
+ _request_auth=_request_auth,
1537
+ _content_type=_content_type,
1538
+ _headers=_headers,
1539
+ _host_index=_host_index
1540
+ )
1541
+
1542
+ _response_types_map: Dict[str, Optional[str]] = {
1543
+ '200': "ResponseModel",
1544
+ '400': "ErrorResponseModel",
1545
+ '401': "ErrorResponseModel",
1546
+ '404': "ErrorResponseModel",
1547
+ '409': "ErrorResponseModel",
1548
+ '500': None,
1549
+ }
1550
+ response_data = self.api_client.call_api(
1551
+ *_param,
1552
+ _request_timeout=_request_timeout
1553
+ )
1554
+ response_data.read()
1555
+ return self.api_client.response_deserialize(
1556
+ response_data=response_data,
1557
+ response_types_map=_response_types_map,
1558
+ ).data
1559
+
1560
+
1561
+ @validate_call
1562
+ def delete_a_node_group_with_http_info(
1563
+ self,
1564
+ cluster_id: StrictInt,
1565
+ node_group_id: StrictInt,
1566
+ _request_timeout: Union[
1567
+ None,
1568
+ Annotated[StrictFloat, Field(gt=0)],
1569
+ Tuple[
1570
+ Annotated[StrictFloat, Field(gt=0)],
1571
+ Annotated[StrictFloat, Field(gt=0)]
1572
+ ]
1573
+ ] = None,
1574
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1575
+ _content_type: Optional[StrictStr] = None,
1576
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1577
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1578
+ ) -> ApiResponse[ResponseModel]:
1579
+ """Delete a node group
1580
+
1581
+
1582
+ :param cluster_id: (required)
1583
+ :type cluster_id: int
1584
+ :param node_group_id: (required)
1585
+ :type node_group_id: int
1586
+ :param _request_timeout: timeout setting for this request. If one
1587
+ number provided, it will be total request
1588
+ timeout. It can also be a pair (tuple) of
1589
+ (connection, read) timeouts.
1590
+ :type _request_timeout: int, tuple(int, int), optional
1591
+ :param _request_auth: set to override the auth_settings for an a single
1592
+ request; this effectively ignores the
1593
+ authentication in the spec for a single request.
1594
+ :type _request_auth: dict, optional
1595
+ :param _content_type: force content-type for the request.
1596
+ :type _content_type: str, Optional
1597
+ :param _headers: set to override the headers for a single
1598
+ request; this effectively ignores the headers
1599
+ in the spec for a single request.
1600
+ :type _headers: dict, optional
1601
+ :param _host_index: set to override the host_index for a single
1602
+ request; this effectively ignores the host_index
1603
+ in the spec for a single request.
1604
+ :type _host_index: int, optional
1605
+ :return: Returns the result object.
1606
+ """ # noqa: E501
1607
+
1608
+ _param = self._delete_a_node_group_serialize(
1609
+ cluster_id=cluster_id,
1610
+ node_group_id=node_group_id,
1611
+ _request_auth=_request_auth,
1612
+ _content_type=_content_type,
1613
+ _headers=_headers,
1614
+ _host_index=_host_index
1615
+ )
1616
+
1617
+ _response_types_map: Dict[str, Optional[str]] = {
1618
+ '200': "ResponseModel",
1619
+ '400': "ErrorResponseModel",
1620
+ '401': "ErrorResponseModel",
1621
+ '404': "ErrorResponseModel",
1622
+ '409': "ErrorResponseModel",
1623
+ '500': None,
1624
+ }
1625
+ response_data = self.api_client.call_api(
1626
+ *_param,
1627
+ _request_timeout=_request_timeout
1628
+ )
1629
+ response_data.read()
1630
+ return self.api_client.response_deserialize(
1631
+ response_data=response_data,
1632
+ response_types_map=_response_types_map,
1633
+ )
1634
+
1635
+
1636
+ @validate_call
1637
+ def delete_a_node_group_without_preload_content(
1638
+ self,
1639
+ cluster_id: StrictInt,
1640
+ node_group_id: StrictInt,
1641
+ _request_timeout: Union[
1642
+ None,
1643
+ Annotated[StrictFloat, Field(gt=0)],
1644
+ Tuple[
1645
+ Annotated[StrictFloat, Field(gt=0)],
1646
+ Annotated[StrictFloat, Field(gt=0)]
1647
+ ]
1648
+ ] = None,
1649
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1650
+ _content_type: Optional[StrictStr] = None,
1651
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1652
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1653
+ ) -> RESTResponseType:
1654
+ """Delete a node group
1655
+
1656
+
1657
+ :param cluster_id: (required)
1658
+ :type cluster_id: int
1659
+ :param node_group_id: (required)
1660
+ :type node_group_id: int
1661
+ :param _request_timeout: timeout setting for this request. If one
1662
+ number provided, it will be total request
1663
+ timeout. It can also be a pair (tuple) of
1664
+ (connection, read) timeouts.
1665
+ :type _request_timeout: int, tuple(int, int), optional
1666
+ :param _request_auth: set to override the auth_settings for an a single
1667
+ request; this effectively ignores the
1668
+ authentication in the spec for a single request.
1669
+ :type _request_auth: dict, optional
1670
+ :param _content_type: force content-type for the request.
1671
+ :type _content_type: str, Optional
1672
+ :param _headers: set to override the headers for a single
1673
+ request; this effectively ignores the headers
1674
+ in the spec for a single request.
1675
+ :type _headers: dict, optional
1676
+ :param _host_index: set to override the host_index for a single
1677
+ request; this effectively ignores the host_index
1678
+ in the spec for a single request.
1679
+ :type _host_index: int, optional
1680
+ :return: Returns the result object.
1681
+ """ # noqa: E501
1682
+
1683
+ _param = self._delete_a_node_group_serialize(
1684
+ cluster_id=cluster_id,
1685
+ node_group_id=node_group_id,
1686
+ _request_auth=_request_auth,
1687
+ _content_type=_content_type,
1688
+ _headers=_headers,
1689
+ _host_index=_host_index
1690
+ )
1691
+
1692
+ _response_types_map: Dict[str, Optional[str]] = {
1693
+ '200': "ResponseModel",
1694
+ '400': "ErrorResponseModel",
1695
+ '401': "ErrorResponseModel",
1696
+ '404': "ErrorResponseModel",
1697
+ '409': "ErrorResponseModel",
1698
+ '500': None,
1699
+ }
1700
+ response_data = self.api_client.call_api(
1701
+ *_param,
1702
+ _request_timeout=_request_timeout
1703
+ )
1704
+ return response_data.response
1705
+
1706
+
1707
+ def _delete_a_node_group_serialize(
1708
+ self,
1709
+ cluster_id,
1710
+ node_group_id,
1711
+ _request_auth,
1712
+ _content_type,
1713
+ _headers,
1714
+ _host_index,
1715
+ ) -> RequestSerialized:
1716
+
1717
+ _host = None
1718
+
1719
+ _collection_formats: Dict[str, str] = {
1720
+ }
1721
+
1722
+ _path_params: Dict[str, str] = {}
1723
+ _query_params: List[Tuple[str, str]] = []
1724
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1725
+ _form_params: List[Tuple[str, str]] = []
1726
+ _files: Dict[
1727
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1728
+ ] = {}
1729
+ _body_params: Optional[bytes] = None
1730
+
1731
+ # process the path parameters
1732
+ if cluster_id is not None:
1733
+ _path_params['cluster_id'] = cluster_id
1734
+ if node_group_id is not None:
1735
+ _path_params['node_group_id'] = node_group_id
1736
+ # process the query parameters
1737
+ # process the header parameters
1738
+ # process the form parameters
1739
+ # process the body parameter
1740
+
1741
+
1742
+ # set the HTTP header `Accept`
1743
+ if 'Accept' not in _header_params:
1744
+ _header_params['Accept'] = self.api_client.select_header_accept(
1745
+ [
1746
+ 'application/json'
1747
+ ]
1748
+ )
1749
+
1750
+
1751
+ # authentication setting
1752
+ _auth_settings: List[str] = [
1753
+ 'apiKey'
1754
+ ]
1755
+
1756
+ return self.api_client.param_serialize(
1757
+ method='DELETE',
1758
+ resource_path='/core/clusters/{cluster_id}/node-groups/{node_group_id}',
1759
+ path_params=_path_params,
1760
+ query_params=_query_params,
1761
+ header_params=_header_params,
1762
+ body=_body_params,
1763
+ post_params=_form_params,
1764
+ files=_files,
1765
+ auth_settings=_auth_settings,
1766
+ collection_formats=_collection_formats,
1767
+ _host=_host,
1768
+ _request_auth=_request_auth
1769
+ )
1770
+
1771
+
1772
+
1773
+
1774
+ @validate_call
1775
+ def delete_cluster_node(
1776
+ self,
1777
+ cluster_id: StrictInt,
1778
+ node_id: StrictInt,
1779
+ _request_timeout: Union[
1780
+ None,
1781
+ Annotated[StrictFloat, Field(gt=0)],
1782
+ Tuple[
1783
+ Annotated[StrictFloat, Field(gt=0)],
1784
+ Annotated[StrictFloat, Field(gt=0)]
1785
+ ]
1786
+ ] = None,
1787
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1788
+ _content_type: Optional[StrictStr] = None,
1789
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1790
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1791
+ ) -> ResponseModel:
1792
+ """Delete Cluster Node
1793
+
1794
+
1795
+ :param cluster_id: (required)
1796
+ :type cluster_id: int
1797
+ :param node_id: (required)
1798
+ :type node_id: int
1799
+ :param _request_timeout: timeout setting for this request. If one
1800
+ number provided, it will be total request
1801
+ timeout. It can also be a pair (tuple) of
1802
+ (connection, read) timeouts.
1803
+ :type _request_timeout: int, tuple(int, int), optional
1804
+ :param _request_auth: set to override the auth_settings for an a single
1805
+ request; this effectively ignores the
1806
+ authentication in the spec for a single request.
1807
+ :type _request_auth: dict, optional
1808
+ :param _content_type: force content-type for the request.
1809
+ :type _content_type: str, Optional
1810
+ :param _headers: set to override the headers for a single
1811
+ request; this effectively ignores the headers
1812
+ in the spec for a single request.
1813
+ :type _headers: dict, optional
1814
+ :param _host_index: set to override the host_index for a single
1815
+ request; this effectively ignores the host_index
1816
+ in the spec for a single request.
1817
+ :type _host_index: int, optional
1818
+ :return: Returns the result object.
1819
+ """ # noqa: E501
1820
+
1821
+ _param = self._delete_cluster_node_serialize(
1822
+ cluster_id=cluster_id,
1823
+ node_id=node_id,
1824
+ _request_auth=_request_auth,
1825
+ _content_type=_content_type,
1826
+ _headers=_headers,
1827
+ _host_index=_host_index
1828
+ )
1829
+
1830
+ _response_types_map: Dict[str, Optional[str]] = {
1831
+ '200': "ResponseModel",
1832
+ '400': "ErrorResponseModel",
1833
+ '401': "ErrorResponseModel",
1834
+ '404': "ErrorResponseModel",
1835
+ '500': None,
1836
+ }
1837
+ response_data = self.api_client.call_api(
1838
+ *_param,
1839
+ _request_timeout=_request_timeout
1840
+ )
1841
+ response_data.read()
1842
+ return self.api_client.response_deserialize(
1843
+ response_data=response_data,
1844
+ response_types_map=_response_types_map,
1845
+ ).data
1846
+
1847
+
1848
+ @validate_call
1849
+ def delete_cluster_node_with_http_info(
1850
+ self,
1851
+ cluster_id: StrictInt,
1852
+ node_id: StrictInt,
1853
+ _request_timeout: Union[
1854
+ None,
1855
+ Annotated[StrictFloat, Field(gt=0)],
1856
+ Tuple[
1857
+ Annotated[StrictFloat, Field(gt=0)],
1858
+ Annotated[StrictFloat, Field(gt=0)]
1859
+ ]
1860
+ ] = None,
1861
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1862
+ _content_type: Optional[StrictStr] = None,
1863
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1864
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1865
+ ) -> ApiResponse[ResponseModel]:
1866
+ """Delete Cluster Node
1867
+
1868
+
1869
+ :param cluster_id: (required)
1870
+ :type cluster_id: int
1871
+ :param node_id: (required)
1872
+ :type node_id: int
1873
+ :param _request_timeout: timeout setting for this request. If one
1874
+ number provided, it will be total request
1875
+ timeout. It can also be a pair (tuple) of
1876
+ (connection, read) timeouts.
1877
+ :type _request_timeout: int, tuple(int, int), optional
1878
+ :param _request_auth: set to override the auth_settings for an a single
1879
+ request; this effectively ignores the
1880
+ authentication in the spec for a single request.
1881
+ :type _request_auth: dict, optional
1882
+ :param _content_type: force content-type for the request.
1883
+ :type _content_type: str, Optional
1884
+ :param _headers: set to override the headers for a single
1885
+ request; this effectively ignores the headers
1886
+ in the spec for a single request.
1887
+ :type _headers: dict, optional
1888
+ :param _host_index: set to override the host_index for a single
1889
+ request; this effectively ignores the host_index
1890
+ in the spec for a single request.
1891
+ :type _host_index: int, optional
1892
+ :return: Returns the result object.
1893
+ """ # noqa: E501
1894
+
1895
+ _param = self._delete_cluster_node_serialize(
1896
+ cluster_id=cluster_id,
1897
+ node_id=node_id,
1898
+ _request_auth=_request_auth,
1899
+ _content_type=_content_type,
1900
+ _headers=_headers,
1901
+ _host_index=_host_index
1902
+ )
1903
+
1904
+ _response_types_map: Dict[str, Optional[str]] = {
1905
+ '200': "ResponseModel",
1906
+ '400': "ErrorResponseModel",
1907
+ '401': "ErrorResponseModel",
1908
+ '404': "ErrorResponseModel",
1909
+ '500': None,
1910
+ }
1911
+ response_data = self.api_client.call_api(
1912
+ *_param,
1913
+ _request_timeout=_request_timeout
1914
+ )
1915
+ response_data.read()
1916
+ return self.api_client.response_deserialize(
1917
+ response_data=response_data,
1918
+ response_types_map=_response_types_map,
1919
+ )
1920
+
1921
+
1922
+ @validate_call
1923
+ def delete_cluster_node_without_preload_content(
1924
+ self,
1925
+ cluster_id: StrictInt,
1926
+ node_id: StrictInt,
1927
+ _request_timeout: Union[
1928
+ None,
1929
+ Annotated[StrictFloat, Field(gt=0)],
1930
+ Tuple[
1931
+ Annotated[StrictFloat, Field(gt=0)],
1932
+ Annotated[StrictFloat, Field(gt=0)]
1933
+ ]
1934
+ ] = None,
1935
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1936
+ _content_type: Optional[StrictStr] = None,
1937
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1938
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1939
+ ) -> RESTResponseType:
1940
+ """Delete Cluster Node
1941
+
1942
+
1943
+ :param cluster_id: (required)
1944
+ :type cluster_id: int
1945
+ :param node_id: (required)
1946
+ :type node_id: int
1947
+ :param _request_timeout: timeout setting for this request. If one
1948
+ number provided, it will be total request
1949
+ timeout. It can also be a pair (tuple) of
1950
+ (connection, read) timeouts.
1951
+ :type _request_timeout: int, tuple(int, int), optional
1952
+ :param _request_auth: set to override the auth_settings for an a single
1953
+ request; this effectively ignores the
1954
+ authentication in the spec for a single request.
1955
+ :type _request_auth: dict, optional
1956
+ :param _content_type: force content-type for the request.
1957
+ :type _content_type: str, Optional
1958
+ :param _headers: set to override the headers for a single
1959
+ request; this effectively ignores the headers
1960
+ in the spec for a single request.
1961
+ :type _headers: dict, optional
1962
+ :param _host_index: set to override the host_index for a single
1963
+ request; this effectively ignores the host_index
1964
+ in the spec for a single request.
1965
+ :type _host_index: int, optional
1966
+ :return: Returns the result object.
1967
+ """ # noqa: E501
1968
+
1969
+ _param = self._delete_cluster_node_serialize(
1970
+ cluster_id=cluster_id,
1971
+ node_id=node_id,
1972
+ _request_auth=_request_auth,
1973
+ _content_type=_content_type,
1974
+ _headers=_headers,
1975
+ _host_index=_host_index
1976
+ )
1977
+
1978
+ _response_types_map: Dict[str, Optional[str]] = {
1979
+ '200': "ResponseModel",
1980
+ '400': "ErrorResponseModel",
1981
+ '401': "ErrorResponseModel",
1982
+ '404': "ErrorResponseModel",
1983
+ '500': None,
1984
+ }
1985
+ response_data = self.api_client.call_api(
1986
+ *_param,
1987
+ _request_timeout=_request_timeout
1988
+ )
1989
+ return response_data.response
1990
+
1991
+
1992
+ def _delete_cluster_node_serialize(
1993
+ self,
1994
+ cluster_id,
1995
+ node_id,
1996
+ _request_auth,
1997
+ _content_type,
1998
+ _headers,
1999
+ _host_index,
2000
+ ) -> RequestSerialized:
2001
+
2002
+ _host = None
2003
+
2004
+ _collection_formats: Dict[str, str] = {
2005
+ }
2006
+
2007
+ _path_params: Dict[str, str] = {}
2008
+ _query_params: List[Tuple[str, str]] = []
2009
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2010
+ _form_params: List[Tuple[str, str]] = []
2011
+ _files: Dict[
2012
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2013
+ ] = {}
2014
+ _body_params: Optional[bytes] = None
2015
+
2016
+ # process the path parameters
2017
+ if cluster_id is not None:
2018
+ _path_params['cluster_id'] = cluster_id
2019
+ if node_id is not None:
2020
+ _path_params['node_id'] = node_id
2021
+ # process the query parameters
2022
+ # process the header parameters
2023
+ # process the form parameters
2024
+ # process the body parameter
2025
+
2026
+
2027
+ # set the HTTP header `Accept`
2028
+ if 'Accept' not in _header_params:
2029
+ _header_params['Accept'] = self.api_client.select_header_accept(
2030
+ [
2031
+ 'application/json'
2032
+ ]
2033
+ )
2034
+
2035
+
2036
+ # authentication setting
2037
+ _auth_settings: List[str] = [
2038
+ 'apiKey'
2039
+ ]
2040
+
2041
+ return self.api_client.param_serialize(
2042
+ method='DELETE',
2043
+ resource_path='/core/clusters/{cluster_id}/nodes/{node_id}',
2044
+ path_params=_path_params,
2045
+ query_params=_query_params,
2046
+ header_params=_header_params,
2047
+ body=_body_params,
2048
+ post_params=_form_params,
2049
+ files=_files,
2050
+ auth_settings=_auth_settings,
2051
+ collection_formats=_collection_formats,
2052
+ _host=_host,
2053
+ _request_auth=_request_auth
2054
+ )
2055
+
2056
+
2057
+
2058
+
2059
+ @validate_call
2060
+ def fetch_cluster_name_availability(
2061
+ self,
2062
+ name: StrictStr,
2063
+ _request_timeout: Union[
2064
+ None,
2065
+ Annotated[StrictFloat, Field(gt=0)],
2066
+ Tuple[
2067
+ Annotated[StrictFloat, Field(gt=0)],
2068
+ Annotated[StrictFloat, Field(gt=0)]
2069
+ ]
2070
+ ] = None,
2071
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2072
+ _content_type: Optional[StrictStr] = None,
2073
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2074
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2075
+ ) -> NameAvailableModel:
2076
+ """Fetch cluster name availability
2077
+
2078
+ Check if a Cluster name is available
2079
+
2080
+ :param name: (required)
2081
+ :type name: str
2082
+ :param _request_timeout: timeout setting for this request. If one
2083
+ number provided, it will be total request
2084
+ timeout. It can also be a pair (tuple) of
2085
+ (connection, read) timeouts.
2086
+ :type _request_timeout: int, tuple(int, int), optional
2087
+ :param _request_auth: set to override the auth_settings for an a single
2088
+ request; this effectively ignores the
2089
+ authentication in the spec for a single request.
2090
+ :type _request_auth: dict, optional
2091
+ :param _content_type: force content-type for the request.
2092
+ :type _content_type: str, Optional
2093
+ :param _headers: set to override the headers for a single
2094
+ request; this effectively ignores the headers
2095
+ in the spec for a single request.
2096
+ :type _headers: dict, optional
2097
+ :param _host_index: set to override the host_index for a single
2098
+ request; this effectively ignores the host_index
2099
+ in the spec for a single request.
2100
+ :type _host_index: int, optional
2101
+ :return: Returns the result object.
2102
+ """ # noqa: E501
2103
+
2104
+ _param = self._fetch_cluster_name_availability_serialize(
2105
+ name=name,
2106
+ _request_auth=_request_auth,
2107
+ _content_type=_content_type,
2108
+ _headers=_headers,
2109
+ _host_index=_host_index
2110
+ )
2111
+
2112
+ _response_types_map: Dict[str, Optional[str]] = {
2113
+ '200': "NameAvailableModel",
2114
+ '400': "ErrorResponseModel",
2115
+ '401': "ErrorResponseModel",
2116
+ '404': "ErrorResponseModel",
2117
+ '500': None,
2118
+ }
2119
+ response_data = self.api_client.call_api(
2120
+ *_param,
2121
+ _request_timeout=_request_timeout
2122
+ )
2123
+ response_data.read()
2124
+ return self.api_client.response_deserialize(
2125
+ response_data=response_data,
2126
+ response_types_map=_response_types_map,
2127
+ ).data
2128
+
2129
+
2130
+ @validate_call
2131
+ def fetch_cluster_name_availability_with_http_info(
2132
+ self,
2133
+ name: StrictStr,
2134
+ _request_timeout: Union[
2135
+ None,
2136
+ Annotated[StrictFloat, Field(gt=0)],
2137
+ Tuple[
2138
+ Annotated[StrictFloat, Field(gt=0)],
2139
+ Annotated[StrictFloat, Field(gt=0)]
2140
+ ]
2141
+ ] = None,
2142
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2143
+ _content_type: Optional[StrictStr] = None,
2144
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2145
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2146
+ ) -> ApiResponse[NameAvailableModel]:
2147
+ """Fetch cluster name availability
2148
+
2149
+ Check if a Cluster name is available
2150
+
2151
+ :param name: (required)
2152
+ :type name: str
2153
+ :param _request_timeout: timeout setting for this request. If one
2154
+ number provided, it will be total request
2155
+ timeout. It can also be a pair (tuple) of
2156
+ (connection, read) timeouts.
2157
+ :type _request_timeout: int, tuple(int, int), optional
2158
+ :param _request_auth: set to override the auth_settings for an a single
2159
+ request; this effectively ignores the
2160
+ authentication in the spec for a single request.
2161
+ :type _request_auth: dict, optional
2162
+ :param _content_type: force content-type for the request.
2163
+ :type _content_type: str, Optional
2164
+ :param _headers: set to override the headers for a single
2165
+ request; this effectively ignores the headers
2166
+ in the spec for a single request.
2167
+ :type _headers: dict, optional
2168
+ :param _host_index: set to override the host_index for a single
2169
+ request; this effectively ignores the host_index
2170
+ in the spec for a single request.
2171
+ :type _host_index: int, optional
2172
+ :return: Returns the result object.
2173
+ """ # noqa: E501
2174
+
2175
+ _param = self._fetch_cluster_name_availability_serialize(
2176
+ name=name,
2177
+ _request_auth=_request_auth,
2178
+ _content_type=_content_type,
2179
+ _headers=_headers,
2180
+ _host_index=_host_index
2181
+ )
2182
+
2183
+ _response_types_map: Dict[str, Optional[str]] = {
2184
+ '200': "NameAvailableModel",
2185
+ '400': "ErrorResponseModel",
2186
+ '401': "ErrorResponseModel",
2187
+ '404': "ErrorResponseModel",
2188
+ '500': None,
2189
+ }
2190
+ response_data = self.api_client.call_api(
2191
+ *_param,
2192
+ _request_timeout=_request_timeout
2193
+ )
2194
+ response_data.read()
2195
+ return self.api_client.response_deserialize(
2196
+ response_data=response_data,
2197
+ response_types_map=_response_types_map,
2198
+ )
2199
+
2200
+
2201
+ @validate_call
2202
+ def fetch_cluster_name_availability_without_preload_content(
2203
+ self,
2204
+ name: StrictStr,
2205
+ _request_timeout: Union[
2206
+ None,
2207
+ Annotated[StrictFloat, Field(gt=0)],
2208
+ Tuple[
2209
+ Annotated[StrictFloat, Field(gt=0)],
2210
+ Annotated[StrictFloat, Field(gt=0)]
2211
+ ]
2212
+ ] = None,
2213
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2214
+ _content_type: Optional[StrictStr] = None,
2215
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2216
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2217
+ ) -> RESTResponseType:
2218
+ """Fetch cluster name availability
2219
+
2220
+ Check if a Cluster name is available
2221
+
2222
+ :param name: (required)
2223
+ :type name: str
2224
+ :param _request_timeout: timeout setting for this request. If one
2225
+ number provided, it will be total request
2226
+ timeout. It can also be a pair (tuple) of
2227
+ (connection, read) timeouts.
2228
+ :type _request_timeout: int, tuple(int, int), optional
2229
+ :param _request_auth: set to override the auth_settings for an a single
2230
+ request; this effectively ignores the
2231
+ authentication in the spec for a single request.
2232
+ :type _request_auth: dict, optional
2233
+ :param _content_type: force content-type for the request.
2234
+ :type _content_type: str, Optional
2235
+ :param _headers: set to override the headers for a single
2236
+ request; this effectively ignores the headers
2237
+ in the spec for a single request.
2238
+ :type _headers: dict, optional
2239
+ :param _host_index: set to override the host_index for a single
2240
+ request; this effectively ignores the host_index
2241
+ in the spec for a single request.
2242
+ :type _host_index: int, optional
2243
+ :return: Returns the result object.
2244
+ """ # noqa: E501
2245
+
2246
+ _param = self._fetch_cluster_name_availability_serialize(
2247
+ name=name,
2248
+ _request_auth=_request_auth,
2249
+ _content_type=_content_type,
2250
+ _headers=_headers,
2251
+ _host_index=_host_index
2252
+ )
2253
+
2254
+ _response_types_map: Dict[str, Optional[str]] = {
2255
+ '200': "NameAvailableModel",
2256
+ '400': "ErrorResponseModel",
2257
+ '401': "ErrorResponseModel",
2258
+ '404': "ErrorResponseModel",
2259
+ '500': None,
2260
+ }
2261
+ response_data = self.api_client.call_api(
2262
+ *_param,
2263
+ _request_timeout=_request_timeout
2264
+ )
2265
+ return response_data.response
2266
+
2267
+
2268
+ def _fetch_cluster_name_availability_serialize(
2269
+ self,
2270
+ name,
2271
+ _request_auth,
2272
+ _content_type,
2273
+ _headers,
2274
+ _host_index,
2275
+ ) -> RequestSerialized:
2276
+
2277
+ _host = None
2278
+
2279
+ _collection_formats: Dict[str, str] = {
2280
+ }
2281
+
2282
+ _path_params: Dict[str, str] = {}
2283
+ _query_params: List[Tuple[str, str]] = []
2284
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2285
+ _form_params: List[Tuple[str, str]] = []
2286
+ _files: Dict[
2287
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2288
+ ] = {}
2289
+ _body_params: Optional[bytes] = None
2290
+
2291
+ # process the path parameters
2292
+ if name is not None:
2293
+ _path_params['name'] = name
2294
+ # process the query parameters
2295
+ # process the header parameters
2296
+ # process the form parameters
2297
+ # process the body parameter
2298
+
2299
+
2300
+ # set the HTTP header `Accept`
2301
+ if 'Accept' not in _header_params:
2302
+ _header_params['Accept'] = self.api_client.select_header_accept(
2303
+ [
2304
+ 'application/json'
2305
+ ]
2306
+ )
2307
+
2308
+
2309
+ # authentication setting
2310
+ _auth_settings: List[str] = [
2311
+ 'apiKey'
2312
+ ]
2313
+
2314
+ return self.api_client.param_serialize(
2315
+ method='GET',
2316
+ resource_path='/core/clusters/name-availability/{name}',
2317
+ path_params=_path_params,
2318
+ query_params=_query_params,
2319
+ header_params=_header_params,
2320
+ body=_body_params,
2321
+ post_params=_form_params,
2322
+ files=_files,
2323
+ auth_settings=_auth_settings,
2324
+ collection_formats=_collection_formats,
2325
+ _host=_host,
2326
+ _request_auth=_request_auth
2327
+ )
2328
+
2329
+
2330
+
2331
+
2332
+ @validate_call
2333
+ def get_cluster_master_flavors(
2334
+ self,
2335
+ _request_timeout: Union[
2336
+ None,
2337
+ Annotated[StrictFloat, Field(gt=0)],
2338
+ Tuple[
2339
+ Annotated[StrictFloat, Field(gt=0)],
2340
+ Annotated[StrictFloat, Field(gt=0)]
2341
+ ]
2342
+ ] = None,
2343
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2344
+ _content_type: Optional[StrictStr] = None,
2345
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2346
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2347
+ ) -> MasterFlavorsResponse:
2348
+ """Get Cluster Master Flavors
2349
+
2350
+
2351
+ :param _request_timeout: timeout setting for this request. If one
2352
+ number provided, it will be total request
2353
+ timeout. It can also be a pair (tuple) of
2354
+ (connection, read) timeouts.
2355
+ :type _request_timeout: int, tuple(int, int), optional
2356
+ :param _request_auth: set to override the auth_settings for an a single
2357
+ request; this effectively ignores the
2358
+ authentication in the spec for a single request.
2359
+ :type _request_auth: dict, optional
2360
+ :param _content_type: force content-type for the request.
2361
+ :type _content_type: str, Optional
2362
+ :param _headers: set to override the headers for a single
2363
+ request; this effectively ignores the headers
2364
+ in the spec for a single request.
2365
+ :type _headers: dict, optional
2366
+ :param _host_index: set to override the host_index for a single
2367
+ request; this effectively ignores the host_index
2368
+ in the spec for a single request.
2369
+ :type _host_index: int, optional
2370
+ :return: Returns the result object.
2371
+ """ # noqa: E501
2372
+
2373
+ _param = self._get_cluster_master_flavors_serialize(
2374
+ _request_auth=_request_auth,
2375
+ _content_type=_content_type,
2376
+ _headers=_headers,
2377
+ _host_index=_host_index
2378
+ )
2379
+
2380
+ _response_types_map: Dict[str, Optional[str]] = {
2381
+ '200': "MasterFlavorsResponse",
2382
+ '400': "ErrorResponseModel",
2383
+ '401': "ErrorResponseModel",
2384
+ '500': None,
2385
+ }
2386
+ response_data = self.api_client.call_api(
2387
+ *_param,
2388
+ _request_timeout=_request_timeout
2389
+ )
2390
+ response_data.read()
2391
+ return self.api_client.response_deserialize(
2392
+ response_data=response_data,
2393
+ response_types_map=_response_types_map,
2394
+ ).data
2395
+
2396
+
2397
+ @validate_call
2398
+ def get_cluster_master_flavors_with_http_info(
2399
+ self,
2400
+ _request_timeout: Union[
2401
+ None,
2402
+ Annotated[StrictFloat, Field(gt=0)],
2403
+ Tuple[
2404
+ Annotated[StrictFloat, Field(gt=0)],
2405
+ Annotated[StrictFloat, Field(gt=0)]
2406
+ ]
2407
+ ] = None,
2408
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2409
+ _content_type: Optional[StrictStr] = None,
2410
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2411
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2412
+ ) -> ApiResponse[MasterFlavorsResponse]:
2413
+ """Get Cluster Master Flavors
2414
+
2415
+
2416
+ :param _request_timeout: timeout setting for this request. If one
2417
+ number provided, it will be total request
2418
+ timeout. It can also be a pair (tuple) of
2419
+ (connection, read) timeouts.
2420
+ :type _request_timeout: int, tuple(int, int), optional
2421
+ :param _request_auth: set to override the auth_settings for an a single
2422
+ request; this effectively ignores the
2423
+ authentication in the spec for a single request.
2424
+ :type _request_auth: dict, optional
2425
+ :param _content_type: force content-type for the request.
2426
+ :type _content_type: str, Optional
2427
+ :param _headers: set to override the headers for a single
2428
+ request; this effectively ignores the headers
2429
+ in the spec for a single request.
2430
+ :type _headers: dict, optional
2431
+ :param _host_index: set to override the host_index for a single
2432
+ request; this effectively ignores the host_index
2433
+ in the spec for a single request.
2434
+ :type _host_index: int, optional
2435
+ :return: Returns the result object.
2436
+ """ # noqa: E501
2437
+
2438
+ _param = self._get_cluster_master_flavors_serialize(
2439
+ _request_auth=_request_auth,
2440
+ _content_type=_content_type,
2441
+ _headers=_headers,
2442
+ _host_index=_host_index
2443
+ )
2444
+
2445
+ _response_types_map: Dict[str, Optional[str]] = {
2446
+ '200': "MasterFlavorsResponse",
2447
+ '400': "ErrorResponseModel",
2448
+ '401': "ErrorResponseModel",
2449
+ '500': None,
2450
+ }
2451
+ response_data = self.api_client.call_api(
2452
+ *_param,
2453
+ _request_timeout=_request_timeout
2454
+ )
2455
+ response_data.read()
2456
+ return self.api_client.response_deserialize(
2457
+ response_data=response_data,
2458
+ response_types_map=_response_types_map,
2459
+ )
2460
+
2461
+
2462
+ @validate_call
2463
+ def get_cluster_master_flavors_without_preload_content(
2464
+ self,
2465
+ _request_timeout: Union[
2466
+ None,
2467
+ Annotated[StrictFloat, Field(gt=0)],
2468
+ Tuple[
2469
+ Annotated[StrictFloat, Field(gt=0)],
2470
+ Annotated[StrictFloat, Field(gt=0)]
2471
+ ]
2472
+ ] = None,
2473
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2474
+ _content_type: Optional[StrictStr] = None,
2475
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2476
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2477
+ ) -> RESTResponseType:
2478
+ """Get Cluster Master Flavors
2479
+
2480
+
2481
+ :param _request_timeout: timeout setting for this request. If one
2482
+ number provided, it will be total request
2483
+ timeout. It can also be a pair (tuple) of
2484
+ (connection, read) timeouts.
2485
+ :type _request_timeout: int, tuple(int, int), optional
2486
+ :param _request_auth: set to override the auth_settings for an a single
2487
+ request; this effectively ignores the
2488
+ authentication in the spec for a single request.
2489
+ :type _request_auth: dict, optional
2490
+ :param _content_type: force content-type for the request.
2491
+ :type _content_type: str, Optional
2492
+ :param _headers: set to override the headers for a single
2493
+ request; this effectively ignores the headers
2494
+ in the spec for a single request.
2495
+ :type _headers: dict, optional
2496
+ :param _host_index: set to override the host_index for a single
2497
+ request; this effectively ignores the host_index
2498
+ in the spec for a single request.
2499
+ :type _host_index: int, optional
2500
+ :return: Returns the result object.
2501
+ """ # noqa: E501
2502
+
2503
+ _param = self._get_cluster_master_flavors_serialize(
2504
+ _request_auth=_request_auth,
2505
+ _content_type=_content_type,
2506
+ _headers=_headers,
2507
+ _host_index=_host_index
2508
+ )
2509
+
2510
+ _response_types_map: Dict[str, Optional[str]] = {
2511
+ '200': "MasterFlavorsResponse",
2512
+ '400': "ErrorResponseModel",
2513
+ '401': "ErrorResponseModel",
2514
+ '500': None,
2515
+ }
2516
+ response_data = self.api_client.call_api(
2517
+ *_param,
2518
+ _request_timeout=_request_timeout
2519
+ )
2520
+ return response_data.response
2521
+
2522
+
2523
+ def _get_cluster_master_flavors_serialize(
2524
+ self,
2525
+ _request_auth,
2526
+ _content_type,
2527
+ _headers,
2528
+ _host_index,
2529
+ ) -> RequestSerialized:
2530
+
2531
+ _host = None
2532
+
2533
+ _collection_formats: Dict[str, str] = {
2534
+ }
2535
+
2536
+ _path_params: Dict[str, str] = {}
2537
+ _query_params: List[Tuple[str, str]] = []
2538
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2539
+ _form_params: List[Tuple[str, str]] = []
2540
+ _files: Dict[
2541
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2542
+ ] = {}
2543
+ _body_params: Optional[bytes] = None
2544
+
2545
+ # process the path parameters
2546
+ # process the query parameters
2547
+ # process the header parameters
2548
+ # process the form parameters
2549
+ # process the body parameter
2550
+
2551
+
2552
+ # set the HTTP header `Accept`
2553
+ if 'Accept' not in _header_params:
2554
+ _header_params['Accept'] = self.api_client.select_header_accept(
2555
+ [
2556
+ 'application/json'
2557
+ ]
2558
+ )
2559
+
2560
+
2561
+ # authentication setting
2562
+ _auth_settings: List[str] = [
2563
+ 'apiKey'
2564
+ ]
2565
+
2566
+ return self.api_client.param_serialize(
2567
+ method='GET',
2568
+ resource_path='/core/clusters/master-flavors',
2569
+ path_params=_path_params,
2570
+ query_params=_query_params,
2571
+ header_params=_header_params,
2572
+ body=_body_params,
2573
+ post_params=_form_params,
2574
+ files=_files,
2575
+ auth_settings=_auth_settings,
2576
+ collection_formats=_collection_formats,
2577
+ _host=_host,
2578
+ _request_auth=_request_auth
2579
+ )
2580
+
38
2581
 
39
- def __init__(self, api_client=None) -> None:
40
- if api_client is None:
41
- api_client = ApiClient.get_default()
42
- self.api_client = api_client
43
2582
 
44
2583
 
45
2584
  @validate_call
46
- def create_cluster(
2585
+ def get_cluster_nodes(
47
2586
  self,
48
- payload: CreateClusterPayload,
2587
+ cluster_id: StrictInt,
49
2588
  _request_timeout: Union[
50
2589
  None,
51
2590
  Annotated[StrictFloat, Field(gt=0)],
@@ -58,12 +2597,12 @@ class ClustersApi:
58
2597
  _content_type: Optional[StrictStr] = None,
59
2598
  _headers: Optional[Dict[StrictStr, Any]] = None,
60
2599
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
61
- ) -> ClusterResponse:
62
- """Create Cluster
2600
+ ) -> ClusterNodesListResponse:
2601
+ """Get Cluster Nodes
63
2602
 
64
2603
 
65
- :param payload: (required)
66
- :type payload: CreateClusterPayload
2604
+ :param cluster_id: (required)
2605
+ :type cluster_id: int
67
2606
  :param _request_timeout: timeout setting for this request. If one
68
2607
  number provided, it will be total request
69
2608
  timeout. It can also be a pair (tuple) of
@@ -86,8 +2625,8 @@ class ClustersApi:
86
2625
  :return: Returns the result object.
87
2626
  """ # noqa: E501
88
2627
 
89
- _param = self._create_cluster_serialize(
90
- payload=payload,
2628
+ _param = self._get_cluster_nodes_serialize(
2629
+ cluster_id=cluster_id,
91
2630
  _request_auth=_request_auth,
92
2631
  _content_type=_content_type,
93
2632
  _headers=_headers,
@@ -95,11 +2634,10 @@ class ClustersApi:
95
2634
  )
96
2635
 
97
2636
  _response_types_map: Dict[str, Optional[str]] = {
98
- '201': "ClusterResponse",
2637
+ '200': "ClusterNodesListResponse",
99
2638
  '400': "ErrorResponseModel",
100
2639
  '401': "ErrorResponseModel",
101
2640
  '404': "ErrorResponseModel",
102
- '409': "ErrorResponseModel",
103
2641
  '500': None,
104
2642
  }
105
2643
  response_data = self.api_client.call_api(
@@ -114,9 +2652,9 @@ class ClustersApi:
114
2652
 
115
2653
 
116
2654
  @validate_call
117
- def create_cluster_with_http_info(
2655
+ def get_cluster_nodes_with_http_info(
118
2656
  self,
119
- payload: CreateClusterPayload,
2657
+ cluster_id: StrictInt,
120
2658
  _request_timeout: Union[
121
2659
  None,
122
2660
  Annotated[StrictFloat, Field(gt=0)],
@@ -129,12 +2667,12 @@ class ClustersApi:
129
2667
  _content_type: Optional[StrictStr] = None,
130
2668
  _headers: Optional[Dict[StrictStr, Any]] = None,
131
2669
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
132
- ) -> ApiResponse[ClusterResponse]:
133
- """Create Cluster
2670
+ ) -> ApiResponse[ClusterNodesListResponse]:
2671
+ """Get Cluster Nodes
134
2672
 
135
2673
 
136
- :param payload: (required)
137
- :type payload: CreateClusterPayload
2674
+ :param cluster_id: (required)
2675
+ :type cluster_id: int
138
2676
  :param _request_timeout: timeout setting for this request. If one
139
2677
  number provided, it will be total request
140
2678
  timeout. It can also be a pair (tuple) of
@@ -157,8 +2695,8 @@ class ClustersApi:
157
2695
  :return: Returns the result object.
158
2696
  """ # noqa: E501
159
2697
 
160
- _param = self._create_cluster_serialize(
161
- payload=payload,
2698
+ _param = self._get_cluster_nodes_serialize(
2699
+ cluster_id=cluster_id,
162
2700
  _request_auth=_request_auth,
163
2701
  _content_type=_content_type,
164
2702
  _headers=_headers,
@@ -166,11 +2704,10 @@ class ClustersApi:
166
2704
  )
167
2705
 
168
2706
  _response_types_map: Dict[str, Optional[str]] = {
169
- '201': "ClusterResponse",
2707
+ '200': "ClusterNodesListResponse",
170
2708
  '400': "ErrorResponseModel",
171
2709
  '401': "ErrorResponseModel",
172
2710
  '404': "ErrorResponseModel",
173
- '409': "ErrorResponseModel",
174
2711
  '500': None,
175
2712
  }
176
2713
  response_data = self.api_client.call_api(
@@ -185,9 +2722,9 @@ class ClustersApi:
185
2722
 
186
2723
 
187
2724
  @validate_call
188
- def create_cluster_without_preload_content(
2725
+ def get_cluster_nodes_without_preload_content(
189
2726
  self,
190
- payload: CreateClusterPayload,
2727
+ cluster_id: StrictInt,
191
2728
  _request_timeout: Union[
192
2729
  None,
193
2730
  Annotated[StrictFloat, Field(gt=0)],
@@ -201,11 +2738,11 @@ class ClustersApi:
201
2738
  _headers: Optional[Dict[StrictStr, Any]] = None,
202
2739
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
203
2740
  ) -> RESTResponseType:
204
- """Create Cluster
2741
+ """Get Cluster Nodes
205
2742
 
206
2743
 
207
- :param payload: (required)
208
- :type payload: CreateClusterPayload
2744
+ :param cluster_id: (required)
2745
+ :type cluster_id: int
209
2746
  :param _request_timeout: timeout setting for this request. If one
210
2747
  number provided, it will be total request
211
2748
  timeout. It can also be a pair (tuple) of
@@ -228,8 +2765,8 @@ class ClustersApi:
228
2765
  :return: Returns the result object.
229
2766
  """ # noqa: E501
230
2767
 
231
- _param = self._create_cluster_serialize(
232
- payload=payload,
2768
+ _param = self._get_cluster_nodes_serialize(
2769
+ cluster_id=cluster_id,
233
2770
  _request_auth=_request_auth,
234
2771
  _content_type=_content_type,
235
2772
  _headers=_headers,
@@ -237,11 +2774,10 @@ class ClustersApi:
237
2774
  )
238
2775
 
239
2776
  _response_types_map: Dict[str, Optional[str]] = {
240
- '201': "ClusterResponse",
2777
+ '200': "ClusterNodesListResponse",
241
2778
  '400': "ErrorResponseModel",
242
2779
  '401': "ErrorResponseModel",
243
2780
  '404': "ErrorResponseModel",
244
- '409': "ErrorResponseModel",
245
2781
  '500': None,
246
2782
  }
247
2783
  response_data = self.api_client.call_api(
@@ -251,9 +2787,9 @@ class ClustersApi:
251
2787
  return response_data.response
252
2788
 
253
2789
 
254
- def _create_cluster_serialize(
2790
+ def _get_cluster_nodes_serialize(
255
2791
  self,
256
- payload,
2792
+ cluster_id,
257
2793
  _request_auth,
258
2794
  _content_type,
259
2795
  _headers,
@@ -275,12 +2811,12 @@ class ClustersApi:
275
2811
  _body_params: Optional[bytes] = None
276
2812
 
277
2813
  # process the path parameters
2814
+ if cluster_id is not None:
2815
+ _path_params['cluster_id'] = cluster_id
278
2816
  # process the query parameters
279
2817
  # process the header parameters
280
2818
  # process the form parameters
281
2819
  # process the body parameter
282
- if payload is not None:
283
- _body_params = payload
284
2820
 
285
2821
 
286
2822
  # set the HTTP header `Accept`
@@ -291,29 +2827,15 @@ class ClustersApi:
291
2827
  ]
292
2828
  )
293
2829
 
294
- # set the HTTP header `Content-Type`
295
- if _content_type:
296
- _header_params['Content-Type'] = _content_type
297
- else:
298
- _default_content_type = (
299
- self.api_client.select_header_content_type(
300
- [
301
- 'application/json'
302
- ]
303
- )
304
- )
305
- if _default_content_type is not None:
306
- _header_params['Content-Type'] = _default_content_type
307
2830
 
308
2831
  # authentication setting
309
2832
  _auth_settings: List[str] = [
310
- 'apiKey',
311
- 'accessToken'
2833
+ 'apiKey'
312
2834
  ]
313
2835
 
314
2836
  return self.api_client.param_serialize(
315
- method='POST',
316
- resource_path='/core/clusters',
2837
+ method='GET',
2838
+ resource_path='/core/clusters/{cluster_id}/nodes',
317
2839
  path_params=_path_params,
318
2840
  query_params=_query_params,
319
2841
  header_params=_header_params,
@@ -330,9 +2852,9 @@ class ClustersApi:
330
2852
 
331
2853
 
332
2854
  @validate_call
333
- def delete_a_cluster(
2855
+ def get_cluster_versions(
334
2856
  self,
335
- id: StrictInt,
2857
+ region: Annotated[Optional[StrictStr], Field(description="Filter versions by region name (optional)")] = None,
336
2858
  _request_timeout: Union[
337
2859
  None,
338
2860
  Annotated[StrictFloat, Field(gt=0)],
@@ -345,12 +2867,13 @@ class ClustersApi:
345
2867
  _content_type: Optional[StrictStr] = None,
346
2868
  _headers: Optional[Dict[StrictStr, Any]] = None,
347
2869
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
348
- ) -> ResponseModel:
349
- """Delete a cluster
2870
+ ) -> ClusterVersions:
2871
+ """List Cluster Versions
350
2872
 
2873
+ Lists available Kubernetes versions, optionally filtered by region.
351
2874
 
352
- :param id: (required)
353
- :type id: int
2875
+ :param region: Filter versions by region name (optional)
2876
+ :type region: str
354
2877
  :param _request_timeout: timeout setting for this request. If one
355
2878
  number provided, it will be total request
356
2879
  timeout. It can also be a pair (tuple) of
@@ -373,8 +2896,8 @@ class ClustersApi:
373
2896
  :return: Returns the result object.
374
2897
  """ # noqa: E501
375
2898
 
376
- _param = self._delete_a_cluster_serialize(
377
- id=id,
2899
+ _param = self._get_cluster_versions_serialize(
2900
+ region=region,
378
2901
  _request_auth=_request_auth,
379
2902
  _content_type=_content_type,
380
2903
  _headers=_headers,
@@ -382,10 +2905,9 @@ class ClustersApi:
382
2905
  )
383
2906
 
384
2907
  _response_types_map: Dict[str, Optional[str]] = {
385
- '200': "ResponseModel",
2908
+ '200': "ClusterVersions",
386
2909
  '400': "ErrorResponseModel",
387
2910
  '401': "ErrorResponseModel",
388
- '404': "ErrorResponseModel",
389
2911
  '500': None,
390
2912
  }
391
2913
  response_data = self.api_client.call_api(
@@ -400,9 +2922,9 @@ class ClustersApi:
400
2922
 
401
2923
 
402
2924
  @validate_call
403
- def delete_a_cluster_with_http_info(
2925
+ def get_cluster_versions_with_http_info(
404
2926
  self,
405
- id: StrictInt,
2927
+ region: Annotated[Optional[StrictStr], Field(description="Filter versions by region name (optional)")] = None,
406
2928
  _request_timeout: Union[
407
2929
  None,
408
2930
  Annotated[StrictFloat, Field(gt=0)],
@@ -415,12 +2937,13 @@ class ClustersApi:
415
2937
  _content_type: Optional[StrictStr] = None,
416
2938
  _headers: Optional[Dict[StrictStr, Any]] = None,
417
2939
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
418
- ) -> ApiResponse[ResponseModel]:
419
- """Delete a cluster
2940
+ ) -> ApiResponse[ClusterVersions]:
2941
+ """List Cluster Versions
420
2942
 
2943
+ Lists available Kubernetes versions, optionally filtered by region.
421
2944
 
422
- :param id: (required)
423
- :type id: int
2945
+ :param region: Filter versions by region name (optional)
2946
+ :type region: str
424
2947
  :param _request_timeout: timeout setting for this request. If one
425
2948
  number provided, it will be total request
426
2949
  timeout. It can also be a pair (tuple) of
@@ -443,8 +2966,8 @@ class ClustersApi:
443
2966
  :return: Returns the result object.
444
2967
  """ # noqa: E501
445
2968
 
446
- _param = self._delete_a_cluster_serialize(
447
- id=id,
2969
+ _param = self._get_cluster_versions_serialize(
2970
+ region=region,
448
2971
  _request_auth=_request_auth,
449
2972
  _content_type=_content_type,
450
2973
  _headers=_headers,
@@ -452,10 +2975,9 @@ class ClustersApi:
452
2975
  )
453
2976
 
454
2977
  _response_types_map: Dict[str, Optional[str]] = {
455
- '200': "ResponseModel",
2978
+ '200': "ClusterVersions",
456
2979
  '400': "ErrorResponseModel",
457
2980
  '401': "ErrorResponseModel",
458
- '404': "ErrorResponseModel",
459
2981
  '500': None,
460
2982
  }
461
2983
  response_data = self.api_client.call_api(
@@ -470,9 +2992,9 @@ class ClustersApi:
470
2992
 
471
2993
 
472
2994
  @validate_call
473
- def delete_a_cluster_without_preload_content(
2995
+ def get_cluster_versions_without_preload_content(
474
2996
  self,
475
- id: StrictInt,
2997
+ region: Annotated[Optional[StrictStr], Field(description="Filter versions by region name (optional)")] = None,
476
2998
  _request_timeout: Union[
477
2999
  None,
478
3000
  Annotated[StrictFloat, Field(gt=0)],
@@ -486,11 +3008,12 @@ class ClustersApi:
486
3008
  _headers: Optional[Dict[StrictStr, Any]] = None,
487
3009
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
488
3010
  ) -> RESTResponseType:
489
- """Delete a cluster
3011
+ """List Cluster Versions
490
3012
 
3013
+ Lists available Kubernetes versions, optionally filtered by region.
491
3014
 
492
- :param id: (required)
493
- :type id: int
3015
+ :param region: Filter versions by region name (optional)
3016
+ :type region: str
494
3017
  :param _request_timeout: timeout setting for this request. If one
495
3018
  number provided, it will be total request
496
3019
  timeout. It can also be a pair (tuple) of
@@ -513,8 +3036,8 @@ class ClustersApi:
513
3036
  :return: Returns the result object.
514
3037
  """ # noqa: E501
515
3038
 
516
- _param = self._delete_a_cluster_serialize(
517
- id=id,
3039
+ _param = self._get_cluster_versions_serialize(
3040
+ region=region,
518
3041
  _request_auth=_request_auth,
519
3042
  _content_type=_content_type,
520
3043
  _headers=_headers,
@@ -522,10 +3045,9 @@ class ClustersApi:
522
3045
  )
523
3046
 
524
3047
  _response_types_map: Dict[str, Optional[str]] = {
525
- '200': "ResponseModel",
3048
+ '200': "ClusterVersions",
526
3049
  '400': "ErrorResponseModel",
527
3050
  '401': "ErrorResponseModel",
528
- '404': "ErrorResponseModel",
529
3051
  '500': None,
530
3052
  }
531
3053
  response_data = self.api_client.call_api(
@@ -535,9 +3057,9 @@ class ClustersApi:
535
3057
  return response_data.response
536
3058
 
537
3059
 
538
- def _delete_a_cluster_serialize(
3060
+ def _get_cluster_versions_serialize(
539
3061
  self,
540
- id,
3062
+ region,
541
3063
  _request_auth,
542
3064
  _content_type,
543
3065
  _headers,
@@ -559,9 +3081,11 @@ class ClustersApi:
559
3081
  _body_params: Optional[bytes] = None
560
3082
 
561
3083
  # process the path parameters
562
- if id is not None:
563
- _path_params['id'] = id
564
3084
  # process the query parameters
3085
+ if region is not None:
3086
+
3087
+ _query_params.append(('region', region))
3088
+
565
3089
  # process the header parameters
566
3090
  # process the form parameters
567
3091
  # process the body parameter
@@ -578,13 +3102,12 @@ class ClustersApi:
578
3102
 
579
3103
  # authentication setting
580
3104
  _auth_settings: List[str] = [
581
- 'apiKey',
582
- 'accessToken'
3105
+ 'apiKey'
583
3106
  ]
584
3107
 
585
3108
  return self.api_client.param_serialize(
586
- method='DELETE',
587
- resource_path='/core/clusters/{id}',
3109
+ method='GET',
3110
+ resource_path='/core/clusters/versions',
588
3111
  path_params=_path_params,
589
3112
  query_params=_query_params,
590
3113
  header_params=_header_params,
@@ -601,9 +3124,9 @@ class ClustersApi:
601
3124
 
602
3125
 
603
3126
  @validate_call
604
- def fetch_cluster_name_availability(
3127
+ def getting_cluster_detail(
605
3128
  self,
606
- name: StrictStr,
3129
+ id: StrictInt,
607
3130
  _request_timeout: Union[
608
3131
  None,
609
3132
  Annotated[StrictFloat, Field(gt=0)],
@@ -616,13 +3139,12 @@ class ClustersApi:
616
3139
  _content_type: Optional[StrictStr] = None,
617
3140
  _headers: Optional[Dict[StrictStr, Any]] = None,
618
3141
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
619
- ) -> NameAvailableModel:
620
- """Fetch cluster name availability
3142
+ ) -> ClusterResponse:
3143
+ """Getting Cluster Detail
621
3144
 
622
- Check if a Cluster name is available
623
3145
 
624
- :param name: (required)
625
- :type name: str
3146
+ :param id: (required)
3147
+ :type id: int
626
3148
  :param _request_timeout: timeout setting for this request. If one
627
3149
  number provided, it will be total request
628
3150
  timeout. It can also be a pair (tuple) of
@@ -645,8 +3167,8 @@ class ClustersApi:
645
3167
  :return: Returns the result object.
646
3168
  """ # noqa: E501
647
3169
 
648
- _param = self._fetch_cluster_name_availability_serialize(
649
- name=name,
3170
+ _param = self._getting_cluster_detail_serialize(
3171
+ id=id,
650
3172
  _request_auth=_request_auth,
651
3173
  _content_type=_content_type,
652
3174
  _headers=_headers,
@@ -654,7 +3176,7 @@ class ClustersApi:
654
3176
  )
655
3177
 
656
3178
  _response_types_map: Dict[str, Optional[str]] = {
657
- '200': "NameAvailableModel",
3179
+ '200': "ClusterResponse",
658
3180
  '400': "ErrorResponseModel",
659
3181
  '401': "ErrorResponseModel",
660
3182
  '404': "ErrorResponseModel",
@@ -672,9 +3194,9 @@ class ClustersApi:
672
3194
 
673
3195
 
674
3196
  @validate_call
675
- def fetch_cluster_name_availability_with_http_info(
3197
+ def getting_cluster_detail_with_http_info(
676
3198
  self,
677
- name: StrictStr,
3199
+ id: StrictInt,
678
3200
  _request_timeout: Union[
679
3201
  None,
680
3202
  Annotated[StrictFloat, Field(gt=0)],
@@ -687,13 +3209,12 @@ class ClustersApi:
687
3209
  _content_type: Optional[StrictStr] = None,
688
3210
  _headers: Optional[Dict[StrictStr, Any]] = None,
689
3211
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
690
- ) -> ApiResponse[NameAvailableModel]:
691
- """Fetch cluster name availability
3212
+ ) -> ApiResponse[ClusterResponse]:
3213
+ """Getting Cluster Detail
692
3214
 
693
- Check if a Cluster name is available
694
3215
 
695
- :param name: (required)
696
- :type name: str
3216
+ :param id: (required)
3217
+ :type id: int
697
3218
  :param _request_timeout: timeout setting for this request. If one
698
3219
  number provided, it will be total request
699
3220
  timeout. It can also be a pair (tuple) of
@@ -716,8 +3237,8 @@ class ClustersApi:
716
3237
  :return: Returns the result object.
717
3238
  """ # noqa: E501
718
3239
 
719
- _param = self._fetch_cluster_name_availability_serialize(
720
- name=name,
3240
+ _param = self._getting_cluster_detail_serialize(
3241
+ id=id,
721
3242
  _request_auth=_request_auth,
722
3243
  _content_type=_content_type,
723
3244
  _headers=_headers,
@@ -725,7 +3246,7 @@ class ClustersApi:
725
3246
  )
726
3247
 
727
3248
  _response_types_map: Dict[str, Optional[str]] = {
728
- '200': "NameAvailableModel",
3249
+ '200': "ClusterResponse",
729
3250
  '400': "ErrorResponseModel",
730
3251
  '401': "ErrorResponseModel",
731
3252
  '404': "ErrorResponseModel",
@@ -743,9 +3264,9 @@ class ClustersApi:
743
3264
 
744
3265
 
745
3266
  @validate_call
746
- def fetch_cluster_name_availability_without_preload_content(
3267
+ def getting_cluster_detail_without_preload_content(
747
3268
  self,
748
- name: StrictStr,
3269
+ id: StrictInt,
749
3270
  _request_timeout: Union[
750
3271
  None,
751
3272
  Annotated[StrictFloat, Field(gt=0)],
@@ -759,12 +3280,11 @@ class ClustersApi:
759
3280
  _headers: Optional[Dict[StrictStr, Any]] = None,
760
3281
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
761
3282
  ) -> RESTResponseType:
762
- """Fetch cluster name availability
3283
+ """Getting Cluster Detail
763
3284
 
764
- Check if a Cluster name is available
765
3285
 
766
- :param name: (required)
767
- :type name: str
3286
+ :param id: (required)
3287
+ :type id: int
768
3288
  :param _request_timeout: timeout setting for this request. If one
769
3289
  number provided, it will be total request
770
3290
  timeout. It can also be a pair (tuple) of
@@ -787,8 +3307,8 @@ class ClustersApi:
787
3307
  :return: Returns the result object.
788
3308
  """ # noqa: E501
789
3309
 
790
- _param = self._fetch_cluster_name_availability_serialize(
791
- name=name,
3310
+ _param = self._getting_cluster_detail_serialize(
3311
+ id=id,
792
3312
  _request_auth=_request_auth,
793
3313
  _content_type=_content_type,
794
3314
  _headers=_headers,
@@ -796,7 +3316,7 @@ class ClustersApi:
796
3316
  )
797
3317
 
798
3318
  _response_types_map: Dict[str, Optional[str]] = {
799
- '200': "NameAvailableModel",
3319
+ '200': "ClusterResponse",
800
3320
  '400': "ErrorResponseModel",
801
3321
  '401': "ErrorResponseModel",
802
3322
  '404': "ErrorResponseModel",
@@ -809,9 +3329,9 @@ class ClustersApi:
809
3329
  return response_data.response
810
3330
 
811
3331
 
812
- def _fetch_cluster_name_availability_serialize(
3332
+ def _getting_cluster_detail_serialize(
813
3333
  self,
814
- name,
3334
+ id,
815
3335
  _request_auth,
816
3336
  _content_type,
817
3337
  _headers,
@@ -833,8 +3353,8 @@ class ClustersApi:
833
3353
  _body_params: Optional[bytes] = None
834
3354
 
835
3355
  # process the path parameters
836
- if name is not None:
837
- _path_params['name'] = name
3356
+ if id is not None:
3357
+ _path_params['id'] = id
838
3358
  # process the query parameters
839
3359
  # process the header parameters
840
3360
  # process the form parameters
@@ -852,13 +3372,12 @@ class ClustersApi:
852
3372
 
853
3373
  # authentication setting
854
3374
  _auth_settings: List[str] = [
855
- 'apiKey',
856
- 'accessToken'
3375
+ 'apiKey'
857
3376
  ]
858
3377
 
859
3378
  return self.api_client.param_serialize(
860
3379
  method='GET',
861
- resource_path='/core/clusters/name-availability/{name}',
3380
+ resource_path='/core/clusters/{id}',
862
3381
  path_params=_path_params,
863
3382
  query_params=_query_params,
864
3383
  header_params=_header_params,
@@ -875,8 +3394,12 @@ class ClustersApi:
875
3394
 
876
3395
 
877
3396
  @validate_call
878
- def get_cluster_versions(
3397
+ def list_clusters(
879
3398
  self,
3399
+ page: Annotated[Optional[StrictInt], Field(description="Page number for pagination")] = None,
3400
+ page_size: Annotated[Optional[StrictInt], Field(description="Number of items per page")] = None,
3401
+ environment: Annotated[Optional[StrictStr], Field(description="Environment Filter")] = None,
3402
+ search: Annotated[Optional[StrictStr], Field(description="Search query to filter cluster by name")] = None,
880
3403
  _request_timeout: Union[
881
3404
  None,
882
3405
  Annotated[StrictFloat, Field(gt=0)],
@@ -889,10 +3412,18 @@ class ClustersApi:
889
3412
  _content_type: Optional[StrictStr] = None,
890
3413
  _headers: Optional[Dict[StrictStr, Any]] = None,
891
3414
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
892
- ) -> ClusterVersions:
893
- """GET Cluster Versions
3415
+ ) -> ClusterListResponse:
3416
+ """List Clusters
894
3417
 
895
3418
 
3419
+ :param page: Page number for pagination
3420
+ :type page: int
3421
+ :param page_size: Number of items per page
3422
+ :type page_size: int
3423
+ :param environment: Environment Filter
3424
+ :type environment: str
3425
+ :param search: Search query to filter cluster by name
3426
+ :type search: str
896
3427
  :param _request_timeout: timeout setting for this request. If one
897
3428
  number provided, it will be total request
898
3429
  timeout. It can also be a pair (tuple) of
@@ -915,7 +3446,11 @@ class ClustersApi:
915
3446
  :return: Returns the result object.
916
3447
  """ # noqa: E501
917
3448
 
918
- _param = self._get_cluster_versions_serialize(
3449
+ _param = self._list_clusters_serialize(
3450
+ page=page,
3451
+ page_size=page_size,
3452
+ environment=environment,
3453
+ search=search,
919
3454
  _request_auth=_request_auth,
920
3455
  _content_type=_content_type,
921
3456
  _headers=_headers,
@@ -923,7 +3458,7 @@ class ClustersApi:
923
3458
  )
924
3459
 
925
3460
  _response_types_map: Dict[str, Optional[str]] = {
926
- '200': "ClusterVersions",
3461
+ '200': "ClusterListResponse",
927
3462
  '400': "ErrorResponseModel",
928
3463
  '401': "ErrorResponseModel",
929
3464
  '500': None,
@@ -940,8 +3475,12 @@ class ClustersApi:
940
3475
 
941
3476
 
942
3477
  @validate_call
943
- def get_cluster_versions_with_http_info(
3478
+ def list_clusters_with_http_info(
944
3479
  self,
3480
+ page: Annotated[Optional[StrictInt], Field(description="Page number for pagination")] = None,
3481
+ page_size: Annotated[Optional[StrictInt], Field(description="Number of items per page")] = None,
3482
+ environment: Annotated[Optional[StrictStr], Field(description="Environment Filter")] = None,
3483
+ search: Annotated[Optional[StrictStr], Field(description="Search query to filter cluster by name")] = None,
945
3484
  _request_timeout: Union[
946
3485
  None,
947
3486
  Annotated[StrictFloat, Field(gt=0)],
@@ -954,10 +3493,18 @@ class ClustersApi:
954
3493
  _content_type: Optional[StrictStr] = None,
955
3494
  _headers: Optional[Dict[StrictStr, Any]] = None,
956
3495
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
957
- ) -> ApiResponse[ClusterVersions]:
958
- """GET Cluster Versions
3496
+ ) -> ApiResponse[ClusterListResponse]:
3497
+ """List Clusters
959
3498
 
960
3499
 
3500
+ :param page: Page number for pagination
3501
+ :type page: int
3502
+ :param page_size: Number of items per page
3503
+ :type page_size: int
3504
+ :param environment: Environment Filter
3505
+ :type environment: str
3506
+ :param search: Search query to filter cluster by name
3507
+ :type search: str
961
3508
  :param _request_timeout: timeout setting for this request. If one
962
3509
  number provided, it will be total request
963
3510
  timeout. It can also be a pair (tuple) of
@@ -980,7 +3527,11 @@ class ClustersApi:
980
3527
  :return: Returns the result object.
981
3528
  """ # noqa: E501
982
3529
 
983
- _param = self._get_cluster_versions_serialize(
3530
+ _param = self._list_clusters_serialize(
3531
+ page=page,
3532
+ page_size=page_size,
3533
+ environment=environment,
3534
+ search=search,
984
3535
  _request_auth=_request_auth,
985
3536
  _content_type=_content_type,
986
3537
  _headers=_headers,
@@ -988,7 +3539,7 @@ class ClustersApi:
988
3539
  )
989
3540
 
990
3541
  _response_types_map: Dict[str, Optional[str]] = {
991
- '200': "ClusterVersions",
3542
+ '200': "ClusterListResponse",
992
3543
  '400': "ErrorResponseModel",
993
3544
  '401': "ErrorResponseModel",
994
3545
  '500': None,
@@ -1005,8 +3556,12 @@ class ClustersApi:
1005
3556
 
1006
3557
 
1007
3558
  @validate_call
1008
- def get_cluster_versions_without_preload_content(
3559
+ def list_clusters_without_preload_content(
1009
3560
  self,
3561
+ page: Annotated[Optional[StrictInt], Field(description="Page number for pagination")] = None,
3562
+ page_size: Annotated[Optional[StrictInt], Field(description="Number of items per page")] = None,
3563
+ environment: Annotated[Optional[StrictStr], Field(description="Environment Filter")] = None,
3564
+ search: Annotated[Optional[StrictStr], Field(description="Search query to filter cluster by name")] = None,
1010
3565
  _request_timeout: Union[
1011
3566
  None,
1012
3567
  Annotated[StrictFloat, Field(gt=0)],
@@ -1020,9 +3575,17 @@ class ClustersApi:
1020
3575
  _headers: Optional[Dict[StrictStr, Any]] = None,
1021
3576
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1022
3577
  ) -> RESTResponseType:
1023
- """GET Cluster Versions
3578
+ """List Clusters
1024
3579
 
1025
3580
 
3581
+ :param page: Page number for pagination
3582
+ :type page: int
3583
+ :param page_size: Number of items per page
3584
+ :type page_size: int
3585
+ :param environment: Environment Filter
3586
+ :type environment: str
3587
+ :param search: Search query to filter cluster by name
3588
+ :type search: str
1026
3589
  :param _request_timeout: timeout setting for this request. If one
1027
3590
  number provided, it will be total request
1028
3591
  timeout. It can also be a pair (tuple) of
@@ -1045,7 +3608,11 @@ class ClustersApi:
1045
3608
  :return: Returns the result object.
1046
3609
  """ # noqa: E501
1047
3610
 
1048
- _param = self._get_cluster_versions_serialize(
3611
+ _param = self._list_clusters_serialize(
3612
+ page=page,
3613
+ page_size=page_size,
3614
+ environment=environment,
3615
+ search=search,
1049
3616
  _request_auth=_request_auth,
1050
3617
  _content_type=_content_type,
1051
3618
  _headers=_headers,
@@ -1053,7 +3620,7 @@ class ClustersApi:
1053
3620
  )
1054
3621
 
1055
3622
  _response_types_map: Dict[str, Optional[str]] = {
1056
- '200': "ClusterVersions",
3623
+ '200': "ClusterListResponse",
1057
3624
  '400': "ErrorResponseModel",
1058
3625
  '401': "ErrorResponseModel",
1059
3626
  '500': None,
@@ -1065,8 +3632,12 @@ class ClustersApi:
1065
3632
  return response_data.response
1066
3633
 
1067
3634
 
1068
- def _get_cluster_versions_serialize(
3635
+ def _list_clusters_serialize(
1069
3636
  self,
3637
+ page,
3638
+ page_size,
3639
+ environment,
3640
+ search,
1070
3641
  _request_auth,
1071
3642
  _content_type,
1072
3643
  _headers,
@@ -1089,6 +3660,22 @@ class ClustersApi:
1089
3660
 
1090
3661
  # process the path parameters
1091
3662
  # process the query parameters
3663
+ if page is not None:
3664
+
3665
+ _query_params.append(('page', page))
3666
+
3667
+ if page_size is not None:
3668
+
3669
+ _query_params.append(('pageSize', page_size))
3670
+
3671
+ if environment is not None:
3672
+
3673
+ _query_params.append(('environment', environment))
3674
+
3675
+ if search is not None:
3676
+
3677
+ _query_params.append(('search', search))
3678
+
1092
3679
  # process the header parameters
1093
3680
  # process the form parameters
1094
3681
  # process the body parameter
@@ -1105,13 +3692,12 @@ class ClustersApi:
1105
3692
 
1106
3693
  # authentication setting
1107
3694
  _auth_settings: List[str] = [
1108
- 'apiKey',
1109
- 'accessToken'
3695
+ 'apiKey'
1110
3696
  ]
1111
3697
 
1112
3698
  return self.api_client.param_serialize(
1113
3699
  method='GET',
1114
- resource_path='/core/clusters/versions',
3700
+ resource_path='/core/clusters',
1115
3701
  path_params=_path_params,
1116
3702
  query_params=_query_params,
1117
3703
  header_params=_header_params,
@@ -1128,9 +3714,9 @@ class ClustersApi:
1128
3714
 
1129
3715
 
1130
3716
  @validate_call
1131
- def getting_cluster_detail(
3717
+ def list_node_groups(
1132
3718
  self,
1133
- id: StrictInt,
3719
+ cluster_id: StrictInt,
1134
3720
  _request_timeout: Union[
1135
3721
  None,
1136
3722
  Annotated[StrictFloat, Field(gt=0)],
@@ -1143,12 +3729,12 @@ class ClustersApi:
1143
3729
  _content_type: Optional[StrictStr] = None,
1144
3730
  _headers: Optional[Dict[StrictStr, Any]] = None,
1145
3731
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1146
- ) -> ClusterResponse:
1147
- """Getting Cluster Detail
3732
+ ) -> ClusterNodeGroupsListResponse:
3733
+ """List node groups for a cluster
1148
3734
 
1149
3735
 
1150
- :param id: (required)
1151
- :type id: int
3736
+ :param cluster_id: (required)
3737
+ :type cluster_id: int
1152
3738
  :param _request_timeout: timeout setting for this request. If one
1153
3739
  number provided, it will be total request
1154
3740
  timeout. It can also be a pair (tuple) of
@@ -1171,8 +3757,8 @@ class ClustersApi:
1171
3757
  :return: Returns the result object.
1172
3758
  """ # noqa: E501
1173
3759
 
1174
- _param = self._getting_cluster_detail_serialize(
1175
- id=id,
3760
+ _param = self._list_node_groups_serialize(
3761
+ cluster_id=cluster_id,
1176
3762
  _request_auth=_request_auth,
1177
3763
  _content_type=_content_type,
1178
3764
  _headers=_headers,
@@ -1180,7 +3766,7 @@ class ClustersApi:
1180
3766
  )
1181
3767
 
1182
3768
  _response_types_map: Dict[str, Optional[str]] = {
1183
- '200': "ClusterResponse",
3769
+ '200': "ClusterNodeGroupsListResponse",
1184
3770
  '400': "ErrorResponseModel",
1185
3771
  '401': "ErrorResponseModel",
1186
3772
  '404': "ErrorResponseModel",
@@ -1198,9 +3784,9 @@ class ClustersApi:
1198
3784
 
1199
3785
 
1200
3786
  @validate_call
1201
- def getting_cluster_detail_with_http_info(
3787
+ def list_node_groups_with_http_info(
1202
3788
  self,
1203
- id: StrictInt,
3789
+ cluster_id: StrictInt,
1204
3790
  _request_timeout: Union[
1205
3791
  None,
1206
3792
  Annotated[StrictFloat, Field(gt=0)],
@@ -1213,12 +3799,12 @@ class ClustersApi:
1213
3799
  _content_type: Optional[StrictStr] = None,
1214
3800
  _headers: Optional[Dict[StrictStr, Any]] = None,
1215
3801
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1216
- ) -> ApiResponse[ClusterResponse]:
1217
- """Getting Cluster Detail
3802
+ ) -> ApiResponse[ClusterNodeGroupsListResponse]:
3803
+ """List node groups for a cluster
1218
3804
 
1219
3805
 
1220
- :param id: (required)
1221
- :type id: int
3806
+ :param cluster_id: (required)
3807
+ :type cluster_id: int
1222
3808
  :param _request_timeout: timeout setting for this request. If one
1223
3809
  number provided, it will be total request
1224
3810
  timeout. It can also be a pair (tuple) of
@@ -1241,8 +3827,8 @@ class ClustersApi:
1241
3827
  :return: Returns the result object.
1242
3828
  """ # noqa: E501
1243
3829
 
1244
- _param = self._getting_cluster_detail_serialize(
1245
- id=id,
3830
+ _param = self._list_node_groups_serialize(
3831
+ cluster_id=cluster_id,
1246
3832
  _request_auth=_request_auth,
1247
3833
  _content_type=_content_type,
1248
3834
  _headers=_headers,
@@ -1250,7 +3836,7 @@ class ClustersApi:
1250
3836
  )
1251
3837
 
1252
3838
  _response_types_map: Dict[str, Optional[str]] = {
1253
- '200': "ClusterResponse",
3839
+ '200': "ClusterNodeGroupsListResponse",
1254
3840
  '400': "ErrorResponseModel",
1255
3841
  '401': "ErrorResponseModel",
1256
3842
  '404': "ErrorResponseModel",
@@ -1268,9 +3854,9 @@ class ClustersApi:
1268
3854
 
1269
3855
 
1270
3856
  @validate_call
1271
- def getting_cluster_detail_without_preload_content(
3857
+ def list_node_groups_without_preload_content(
1272
3858
  self,
1273
- id: StrictInt,
3859
+ cluster_id: StrictInt,
1274
3860
  _request_timeout: Union[
1275
3861
  None,
1276
3862
  Annotated[StrictFloat, Field(gt=0)],
@@ -1284,11 +3870,11 @@ class ClustersApi:
1284
3870
  _headers: Optional[Dict[StrictStr, Any]] = None,
1285
3871
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1286
3872
  ) -> RESTResponseType:
1287
- """Getting Cluster Detail
3873
+ """List node groups for a cluster
1288
3874
 
1289
3875
 
1290
- :param id: (required)
1291
- :type id: int
3876
+ :param cluster_id: (required)
3877
+ :type cluster_id: int
1292
3878
  :param _request_timeout: timeout setting for this request. If one
1293
3879
  number provided, it will be total request
1294
3880
  timeout. It can also be a pair (tuple) of
@@ -1311,8 +3897,8 @@ class ClustersApi:
1311
3897
  :return: Returns the result object.
1312
3898
  """ # noqa: E501
1313
3899
 
1314
- _param = self._getting_cluster_detail_serialize(
1315
- id=id,
3900
+ _param = self._list_node_groups_serialize(
3901
+ cluster_id=cluster_id,
1316
3902
  _request_auth=_request_auth,
1317
3903
  _content_type=_content_type,
1318
3904
  _headers=_headers,
@@ -1320,7 +3906,7 @@ class ClustersApi:
1320
3906
  )
1321
3907
 
1322
3908
  _response_types_map: Dict[str, Optional[str]] = {
1323
- '200': "ClusterResponse",
3909
+ '200': "ClusterNodeGroupsListResponse",
1324
3910
  '400': "ErrorResponseModel",
1325
3911
  '401': "ErrorResponseModel",
1326
3912
  '404': "ErrorResponseModel",
@@ -1333,9 +3919,9 @@ class ClustersApi:
1333
3919
  return response_data.response
1334
3920
 
1335
3921
 
1336
- def _getting_cluster_detail_serialize(
3922
+ def _list_node_groups_serialize(
1337
3923
  self,
1338
- id,
3924
+ cluster_id,
1339
3925
  _request_auth,
1340
3926
  _content_type,
1341
3927
  _headers,
@@ -1357,8 +3943,8 @@ class ClustersApi:
1357
3943
  _body_params: Optional[bytes] = None
1358
3944
 
1359
3945
  # process the path parameters
1360
- if id is not None:
1361
- _path_params['id'] = id
3946
+ if cluster_id is not None:
3947
+ _path_params['cluster_id'] = cluster_id
1362
3948
  # process the query parameters
1363
3949
  # process the header parameters
1364
3950
  # process the form parameters
@@ -1376,13 +3962,12 @@ class ClustersApi:
1376
3962
 
1377
3963
  # authentication setting
1378
3964
  _auth_settings: List[str] = [
1379
- 'apiKey',
1380
- 'accessToken'
3965
+ 'apiKey'
1381
3966
  ]
1382
3967
 
1383
3968
  return self.api_client.param_serialize(
1384
3969
  method='GET',
1385
- resource_path='/core/clusters/{id}',
3970
+ resource_path='/core/clusters/{cluster_id}/node-groups',
1386
3971
  path_params=_path_params,
1387
3972
  query_params=_query_params,
1388
3973
  header_params=_header_params,
@@ -1399,8 +3984,10 @@ class ClustersApi:
1399
3984
 
1400
3985
 
1401
3986
  @validate_call
1402
- def list_clusters(
3987
+ def retrieve_a_node_group(
1403
3988
  self,
3989
+ cluster_id: StrictInt,
3990
+ node_group_id: StrictInt,
1404
3991
  _request_timeout: Union[
1405
3992
  None,
1406
3993
  Annotated[StrictFloat, Field(gt=0)],
@@ -1413,10 +4000,14 @@ class ClustersApi:
1413
4000
  _content_type: Optional[StrictStr] = None,
1414
4001
  _headers: Optional[Dict[StrictStr, Any]] = None,
1415
4002
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1416
- ) -> ClusterListResponse:
1417
- """List Clusters
4003
+ ) -> ClusterNodeGroupsGetResponse:
4004
+ """Retrieve a node group in a cluster
1418
4005
 
1419
4006
 
4007
+ :param cluster_id: (required)
4008
+ :type cluster_id: int
4009
+ :param node_group_id: (required)
4010
+ :type node_group_id: int
1420
4011
  :param _request_timeout: timeout setting for this request. If one
1421
4012
  number provided, it will be total request
1422
4013
  timeout. It can also be a pair (tuple) of
@@ -1439,7 +4030,9 @@ class ClustersApi:
1439
4030
  :return: Returns the result object.
1440
4031
  """ # noqa: E501
1441
4032
 
1442
- _param = self._list_clusters_serialize(
4033
+ _param = self._retrieve_a_node_group_serialize(
4034
+ cluster_id=cluster_id,
4035
+ node_group_id=node_group_id,
1443
4036
  _request_auth=_request_auth,
1444
4037
  _content_type=_content_type,
1445
4038
  _headers=_headers,
@@ -1447,9 +4040,10 @@ class ClustersApi:
1447
4040
  )
1448
4041
 
1449
4042
  _response_types_map: Dict[str, Optional[str]] = {
1450
- '200': "ClusterListResponse",
4043
+ '200': "ClusterNodeGroupsGetResponse",
1451
4044
  '400': "ErrorResponseModel",
1452
4045
  '401': "ErrorResponseModel",
4046
+ '404': "ErrorResponseModel",
1453
4047
  '500': None,
1454
4048
  }
1455
4049
  response_data = self.api_client.call_api(
@@ -1464,8 +4058,10 @@ class ClustersApi:
1464
4058
 
1465
4059
 
1466
4060
  @validate_call
1467
- def list_clusters_with_http_info(
4061
+ def retrieve_a_node_group_with_http_info(
1468
4062
  self,
4063
+ cluster_id: StrictInt,
4064
+ node_group_id: StrictInt,
1469
4065
  _request_timeout: Union[
1470
4066
  None,
1471
4067
  Annotated[StrictFloat, Field(gt=0)],
@@ -1478,10 +4074,14 @@ class ClustersApi:
1478
4074
  _content_type: Optional[StrictStr] = None,
1479
4075
  _headers: Optional[Dict[StrictStr, Any]] = None,
1480
4076
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1481
- ) -> ApiResponse[ClusterListResponse]:
1482
- """List Clusters
4077
+ ) -> ApiResponse[ClusterNodeGroupsGetResponse]:
4078
+ """Retrieve a node group in a cluster
1483
4079
 
1484
4080
 
4081
+ :param cluster_id: (required)
4082
+ :type cluster_id: int
4083
+ :param node_group_id: (required)
4084
+ :type node_group_id: int
1485
4085
  :param _request_timeout: timeout setting for this request. If one
1486
4086
  number provided, it will be total request
1487
4087
  timeout. It can also be a pair (tuple) of
@@ -1504,7 +4104,9 @@ class ClustersApi:
1504
4104
  :return: Returns the result object.
1505
4105
  """ # noqa: E501
1506
4106
 
1507
- _param = self._list_clusters_serialize(
4107
+ _param = self._retrieve_a_node_group_serialize(
4108
+ cluster_id=cluster_id,
4109
+ node_group_id=node_group_id,
1508
4110
  _request_auth=_request_auth,
1509
4111
  _content_type=_content_type,
1510
4112
  _headers=_headers,
@@ -1512,9 +4114,10 @@ class ClustersApi:
1512
4114
  )
1513
4115
 
1514
4116
  _response_types_map: Dict[str, Optional[str]] = {
1515
- '200': "ClusterListResponse",
4117
+ '200': "ClusterNodeGroupsGetResponse",
1516
4118
  '400': "ErrorResponseModel",
1517
4119
  '401': "ErrorResponseModel",
4120
+ '404': "ErrorResponseModel",
1518
4121
  '500': None,
1519
4122
  }
1520
4123
  response_data = self.api_client.call_api(
@@ -1529,8 +4132,10 @@ class ClustersApi:
1529
4132
 
1530
4133
 
1531
4134
  @validate_call
1532
- def list_clusters_without_preload_content(
4135
+ def retrieve_a_node_group_without_preload_content(
1533
4136
  self,
4137
+ cluster_id: StrictInt,
4138
+ node_group_id: StrictInt,
1534
4139
  _request_timeout: Union[
1535
4140
  None,
1536
4141
  Annotated[StrictFloat, Field(gt=0)],
@@ -1544,9 +4149,13 @@ class ClustersApi:
1544
4149
  _headers: Optional[Dict[StrictStr, Any]] = None,
1545
4150
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1546
4151
  ) -> RESTResponseType:
1547
- """List Clusters
4152
+ """Retrieve a node group in a cluster
1548
4153
 
1549
4154
 
4155
+ :param cluster_id: (required)
4156
+ :type cluster_id: int
4157
+ :param node_group_id: (required)
4158
+ :type node_group_id: int
1550
4159
  :param _request_timeout: timeout setting for this request. If one
1551
4160
  number provided, it will be total request
1552
4161
  timeout. It can also be a pair (tuple) of
@@ -1569,7 +4178,9 @@ class ClustersApi:
1569
4178
  :return: Returns the result object.
1570
4179
  """ # noqa: E501
1571
4180
 
1572
- _param = self._list_clusters_serialize(
4181
+ _param = self._retrieve_a_node_group_serialize(
4182
+ cluster_id=cluster_id,
4183
+ node_group_id=node_group_id,
1573
4184
  _request_auth=_request_auth,
1574
4185
  _content_type=_content_type,
1575
4186
  _headers=_headers,
@@ -1577,9 +4188,10 @@ class ClustersApi:
1577
4188
  )
1578
4189
 
1579
4190
  _response_types_map: Dict[str, Optional[str]] = {
1580
- '200': "ClusterListResponse",
4191
+ '200': "ClusterNodeGroupsGetResponse",
1581
4192
  '400': "ErrorResponseModel",
1582
4193
  '401': "ErrorResponseModel",
4194
+ '404': "ErrorResponseModel",
1583
4195
  '500': None,
1584
4196
  }
1585
4197
  response_data = self.api_client.call_api(
@@ -1589,8 +4201,10 @@ class ClustersApi:
1589
4201
  return response_data.response
1590
4202
 
1591
4203
 
1592
- def _list_clusters_serialize(
4204
+ def _retrieve_a_node_group_serialize(
1593
4205
  self,
4206
+ cluster_id,
4207
+ node_group_id,
1594
4208
  _request_auth,
1595
4209
  _content_type,
1596
4210
  _headers,
@@ -1612,6 +4226,10 @@ class ClustersApi:
1612
4226
  _body_params: Optional[bytes] = None
1613
4227
 
1614
4228
  # process the path parameters
4229
+ if cluster_id is not None:
4230
+ _path_params['cluster_id'] = cluster_id
4231
+ if node_group_id is not None:
4232
+ _path_params['node_group_id'] = node_group_id
1615
4233
  # process the query parameters
1616
4234
  # process the header parameters
1617
4235
  # process the form parameters
@@ -1629,13 +4247,12 @@ class ClustersApi:
1629
4247
 
1630
4248
  # authentication setting
1631
4249
  _auth_settings: List[str] = [
1632
- 'apiKey',
1633
- 'accessToken'
4250
+ 'apiKey'
1634
4251
  ]
1635
4252
 
1636
4253
  return self.api_client.param_serialize(
1637
4254
  method='GET',
1638
- resource_path='/core/clusters',
4255
+ resource_path='/core/clusters/{cluster_id}/node-groups/{node_group_id}',
1639
4256
  path_params=_path_params,
1640
4257
  query_params=_query_params,
1641
4258
  header_params=_header_params,