hyperstack-async 1.55.1a0__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 (415) hide show
  1. hyperstack_async/__init__.py +434 -0
  2. hyperstack_async/api/__init__.py +60 -0
  3. hyperstack_async/api/access_keys_api.py +885 -0
  4. hyperstack_async/api/alive_api.py +510 -0
  5. hyperstack_async/api/api_key_api.py +1158 -0
  6. hyperstack_async/api/assigning_member_role_api.py +613 -0
  7. hyperstack_async/api/auth_api.py +1340 -0
  8. hyperstack_async/api/auto_topup_api.py +1376 -0
  9. hyperstack_async/api/beta_access_api.py +856 -0
  10. hyperstack_async/api/billing_api.py +12701 -0
  11. hyperstack_async/api/buckets_api.py +865 -0
  12. hyperstack_async/api/calculate_api.py +325 -0
  13. hyperstack_async/api/callbacks_api.py +1789 -0
  14. hyperstack_async/api/cluster_events_api.py +307 -0
  15. hyperstack_async/api/clusters_api.py +4884 -0
  16. hyperstack_async/api/compliance_api.py +1165 -0
  17. hyperstack_async/api/credit_api.py +297 -0
  18. hyperstack_async/api/customer_contract_api.py +919 -0
  19. hyperstack_async/api/dashboard_api.py +291 -0
  20. hyperstack_async/api/deployment_api.py +1118 -0
  21. hyperstack_async/api/email_opt_in_out_api.py +875 -0
  22. hyperstack_async/api/environment_api.py +2033 -0
  23. hyperstack_async/api/fip_exclusions_api.py +313 -0
  24. hyperstack_async/api/firewall_attachment_api.py +345 -0
  25. hyperstack_async/api/firewalls_api.py +1813 -0
  26. hyperstack_async/api/flavor_api.py +314 -0
  27. hyperstack_async/api/floating_ip_api.py +586 -0
  28. hyperstack_async/api/gpu_api.py +291 -0
  29. hyperstack_async/api/health_api.py +282 -0
  30. hyperstack_async/api/image_api.py +1224 -0
  31. hyperstack_async/api/invite_api.py +1127 -0
  32. hyperstack_async/api/keypair_api.py +1463 -0
  33. hyperstack_async/api/organization_api.py +861 -0
  34. hyperstack_async/api/partner_config_api.py +566 -0
  35. hyperstack_async/api/payment_api.py +865 -0
  36. hyperstack_async/api/permission_api.py +291 -0
  37. hyperstack_async/api/policy_api.py +291 -0
  38. hyperstack_async/api/pricebook_api.py +295 -0
  39. hyperstack_async/api/profile_api.py +1127 -0
  40. hyperstack_async/api/rbac_role_api.py +1429 -0
  41. hyperstack_async/api/region_api.py +291 -0
  42. hyperstack_async/api/regions_api.py +282 -0
  43. hyperstack_async/api/security_rules_api.py +291 -0
  44. hyperstack_async/api/snapshot_events_api.py +290 -0
  45. hyperstack_async/api/snapshots_api.py +1773 -0
  46. hyperstack_async/api/stock_api.py +291 -0
  47. hyperstack_async/api/template_api.py +1492 -0
  48. hyperstack_async/api/user_api.py +1130 -0
  49. hyperstack_async/api/user_consent_api.py +1416 -0
  50. hyperstack_async/api/user_consent_events_api.py +307 -0
  51. hyperstack_async/api/user_detail_choice_api.py +294 -0
  52. hyperstack_async/api/user_permission_api.py +565 -0
  53. hyperstack_async/api/virtual_machine_api.py +6246 -0
  54. hyperstack_async/api/virtual_machine_events_api.py +310 -0
  55. hyperstack_async/api/vnc_url_api.py +599 -0
  56. hyperstack_async/api/volume_api.py +2042 -0
  57. hyperstack_async/api/volume_attachment_api.py +950 -0
  58. hyperstack_async/api/vouchers_api.py +326 -0
  59. hyperstack_async/api_client.py +800 -0
  60. hyperstack_async/api_response.py +21 -0
  61. hyperstack_async/configuration.py +591 -0
  62. hyperstack_async/exceptions.py +199 -0
  63. hyperstack_async/models/__init__.py +362 -0
  64. hyperstack_async/models/access_token_field.py +100 -0
  65. hyperstack_async/models/add_user_info_success_response_model.py +108 -0
  66. hyperstack_async/models/allocated_gpu_count_graph.py +102 -0
  67. hyperstack_async/models/allowed_countries_response.py +102 -0
  68. hyperstack_async/models/api_key_fields.py +109 -0
  69. hyperstack_async/models/assign_rbac_role_payload.py +100 -0
  70. hyperstack_async/models/attach_callback_payload.py +100 -0
  71. hyperstack_async/models/attach_callback_response.py +104 -0
  72. hyperstack_async/models/attach_firewall_with_vm.py +100 -0
  73. hyperstack_async/models/attach_firewalls_to_vm_payload.py +100 -0
  74. hyperstack_async/models/attach_volume_fields.py +113 -0
  75. hyperstack_async/models/attach_volumes.py +112 -0
  76. hyperstack_async/models/attach_volumes_payload.py +102 -0
  77. hyperstack_async/models/attachments_fields_for_volume.py +108 -0
  78. hyperstack_async/models/attributes.py +110 -0
  79. hyperstack_async/models/auth_get_token_response_model.py +108 -0
  80. hyperstack_async/models/auth_user_fields.py +107 -0
  81. hyperstack_async/models/auth_user_info_response_model.py +108 -0
  82. hyperstack_async/models/auto_topup.py +108 -0
  83. hyperstack_async/models/auto_topup_error_response.py +104 -0
  84. hyperstack_async/models/auto_topup_status_schema.py +104 -0
  85. hyperstack_async/models/beta_access_request_fields.py +121 -0
  86. hyperstack_async/models/beta_access_request_payload.py +102 -0
  87. hyperstack_async/models/beta_access_request_response_model.py +108 -0
  88. hyperstack_async/models/beta_access_status_item.py +115 -0
  89. hyperstack_async/models/beta_access_status_response_model.py +112 -0
  90. hyperstack_async/models/billing_history.py +110 -0
  91. hyperstack_async/models/billing_history_data_synthesis_details.py +118 -0
  92. hyperstack_async/models/billing_history_fine_tuning.py +118 -0
  93. hyperstack_async/models/billing_history_image_generation_details.py +118 -0
  94. hyperstack_async/models/billing_history_model_evalutation_details.py +118 -0
  95. hyperstack_async/models/billing_history_serverless_inference.py +118 -0
  96. hyperstack_async/models/billing_history_serverless_inference_details.py +118 -0
  97. hyperstack_async/models/billing_metrices_fields.py +121 -0
  98. hyperstack_async/models/billing_metrices_response.py +112 -0
  99. hyperstack_async/models/cluster_events.py +112 -0
  100. hyperstack_async/models/cluster_events_fields.py +117 -0
  101. hyperstack_async/models/cluster_fields.py +147 -0
  102. hyperstack_async/models/cluster_flavor_fields.py +126 -0
  103. hyperstack_async/models/cluster_list_response.py +112 -0
  104. hyperstack_async/models/cluster_node_fields.py +125 -0
  105. hyperstack_async/models/cluster_node_group_fields.py +133 -0
  106. hyperstack_async/models/cluster_node_group_firewall_fields.py +104 -0
  107. hyperstack_async/models/cluster_node_groups_create_response.py +118 -0
  108. hyperstack_async/models/cluster_node_groups_get_response.py +108 -0
  109. hyperstack_async/models/cluster_node_groups_list_response.py +112 -0
  110. hyperstack_async/models/cluster_node_instance_fields.py +114 -0
  111. hyperstack_async/models/cluster_nodes_list_response.py +112 -0
  112. hyperstack_async/models/cluster_response.py +108 -0
  113. hyperstack_async/models/cluster_version.py +111 -0
  114. hyperstack_async/models/cluster_versions.py +112 -0
  115. hyperstack_async/models/colors.py +110 -0
  116. hyperstack_async/models/common_response_model.py +102 -0
  117. hyperstack_async/models/compatible_flavor.py +108 -0
  118. hyperstack_async/models/compliance_fields.py +106 -0
  119. hyperstack_async/models/compliance_model_fields.py +112 -0
  120. hyperstack_async/models/compliance_payload.py +110 -0
  121. hyperstack_async/models/compliance_response.py +108 -0
  122. hyperstack_async/models/consent_action_response.py +106 -0
  123. hyperstack_async/models/consent_block.py +112 -0
  124. hyperstack_async/models/consent_events_response.py +114 -0
  125. hyperstack_async/models/consent_template.py +110 -0
  126. hyperstack_async/models/consent_templates_response.py +100 -0
  127. hyperstack_async/models/container_overview_fields.py +108 -0
  128. hyperstack_async/models/contract.py +118 -0
  129. hyperstack_async/models/contract_discount_plan_fields.py +118 -0
  130. hyperstack_async/models/contract_gpu_allocation_graph_response.py +108 -0
  131. hyperstack_async/models/contract_instance_fields.py +121 -0
  132. hyperstack_async/models/contract_instances_response.py +112 -0
  133. hyperstack_async/models/create_auto_topup_payload.py +102 -0
  134. hyperstack_async/models/create_auto_topup_response.py +108 -0
  135. hyperstack_async/models/create_cluster_node_fields.py +115 -0
  136. hyperstack_async/models/create_cluster_node_group_payload.py +120 -0
  137. hyperstack_async/models/create_cluster_payload.py +137 -0
  138. hyperstack_async/models/create_environment.py +103 -0
  139. hyperstack_async/models/create_firewall_payload.py +104 -0
  140. hyperstack_async/models/create_firewall_rule_payload.py +117 -0
  141. hyperstack_async/models/create_image.py +104 -0
  142. hyperstack_async/models/create_image_payload.py +102 -0
  143. hyperstack_async/models/create_instances_payload.py +149 -0
  144. hyperstack_async/models/create_instances_response.py +112 -0
  145. hyperstack_async/models/create_profile_payload.py +105 -0
  146. hyperstack_async/models/create_profile_response.py +108 -0
  147. hyperstack_async/models/create_security_rule_payload.py +117 -0
  148. hyperstack_async/models/create_snapshot_payload.py +104 -0
  149. hyperstack_async/models/create_snapshot_response.py +108 -0
  150. hyperstack_async/models/create_update_compliance_response.py +108 -0
  151. hyperstack_async/models/create_update_rbac_role_payload.py +107 -0
  152. hyperstack_async/models/create_volume_payload.py +113 -0
  153. hyperstack_async/models/customer_contract_detail_response_model.py +108 -0
  154. hyperstack_async/models/customer_contract_fields.py +125 -0
  155. hyperstack_async/models/dashboard_info_response.py +108 -0
  156. hyperstack_async/models/data_synthesis_billing_history_details_response_schema.py +108 -0
  157. hyperstack_async/models/delete_cluster_nodes_fields.py +100 -0
  158. hyperstack_async/models/deployment_fields.py +111 -0
  159. hyperstack_async/models/deployment_fields_for_start_deployments.py +113 -0
  160. hyperstack_async/models/deployments.py +112 -0
  161. hyperstack_async/models/detach_volumes.py +112 -0
  162. hyperstack_async/models/detach_volumes_payload.py +100 -0
  163. hyperstack_async/models/disable_auto_topup_response.py +108 -0
  164. hyperstack_async/models/edit_label_of_an_existing_vm_payload.py +100 -0
  165. hyperstack_async/models/email_category.py +122 -0
  166. hyperstack_async/models/email_category_child.py +114 -0
  167. hyperstack_async/models/email_preferences_response.py +108 -0
  168. hyperstack_async/models/environment.py +108 -0
  169. hyperstack_async/models/environment_features.py +112 -0
  170. hyperstack_async/models/environment_fields.py +113 -0
  171. hyperstack_async/models/environment_fields_for_volume.py +104 -0
  172. hyperstack_async/models/environments.py +118 -0
  173. hyperstack_async/models/error_response_model.py +104 -0
  174. hyperstack_async/models/firewall_attachment_model.py +111 -0
  175. hyperstack_async/models/firewall_attachment_vm_model.py +111 -0
  176. hyperstack_async/models/firewall_detail_fields.py +135 -0
  177. hyperstack_async/models/firewall_detail_response.py +108 -0
  178. hyperstack_async/models/firewall_environment_fields.py +104 -0
  179. hyperstack_async/models/firewall_fields.py +115 -0
  180. hyperstack_async/models/firewall_response.py +108 -0
  181. hyperstack_async/models/firewall_rule.py +108 -0
  182. hyperstack_async/models/firewalls_list_response.py +118 -0
  183. hyperstack_async/models/flavor_fields.py +135 -0
  184. hyperstack_async/models/flavor_item_get_response.py +112 -0
  185. hyperstack_async/models/flavor_label_fields.py +102 -0
  186. hyperstack_async/models/flavor_list_response.py +112 -0
  187. hyperstack_async/models/flavor_object_fields.py +108 -0
  188. hyperstack_async/models/flavor_restrictions.py +112 -0
  189. hyperstack_async/models/generate_update_api_key_payload.py +103 -0
  190. hyperstack_async/models/generate_update_api_key_response_model.py +108 -0
  191. hyperstack_async/models/get_api_keys_response_model.py +112 -0
  192. hyperstack_async/models/get_auto_topup_response.py +108 -0
  193. hyperstack_async/models/get_credit_and_threshold_info.py +104 -0
  194. hyperstack_async/models/get_credit_and_threshold_info_in_response.py +108 -0
  195. hyperstack_async/models/get_customer_contracts_list_response_model.py +114 -0
  196. hyperstack_async/models/get_instance_logs_response.py +100 -0
  197. hyperstack_async/models/get_invites_response_model.py +112 -0
  198. hyperstack_async/models/get_organization_response_model.py +108 -0
  199. hyperstack_async/models/get_permissions_response_model.py +112 -0
  200. hyperstack_async/models/get_policies_response_model.py +112 -0
  201. hyperstack_async/models/get_rbac_roles_response_model.py +112 -0
  202. hyperstack_async/models/get_user_permissions_response_model.py +112 -0
  203. hyperstack_async/models/gpu_fields.py +119 -0
  204. hyperstack_async/models/gpu_list.py +112 -0
  205. hyperstack_async/models/gpu_region_fields.py +102 -0
  206. hyperstack_async/models/graph_datetime_value_model.py +102 -0
  207. hyperstack_async/models/image.py +104 -0
  208. hyperstack_async/models/image_fields.py +132 -0
  209. hyperstack_async/models/image_generation_billing_history_details_response_schema.py +108 -0
  210. hyperstack_async/models/image_get_response.py +114 -0
  211. hyperstack_async/models/images.py +112 -0
  212. hyperstack_async/models/import_keypair_payload.py +105 -0
  213. hyperstack_async/models/import_keypair_response.py +108 -0
  214. hyperstack_async/models/infrahub_resource_object_response_for_customer.py +122 -0
  215. hyperstack_async/models/instance.py +108 -0
  216. hyperstack_async/models/instance_enhanced_metrics_fields.py +100 -0
  217. hyperstack_async/models/instance_environment_fields.py +112 -0
  218. hyperstack_async/models/instance_events.py +112 -0
  219. hyperstack_async/models/instance_events_fields.py +115 -0
  220. hyperstack_async/models/instance_fields.py +185 -0
  221. hyperstack_async/models/instance_flavor_fields.py +126 -0
  222. hyperstack_async/models/instance_image_fields.py +100 -0
  223. hyperstack_async/models/instance_keypair_fields.py +100 -0
  224. hyperstack_async/models/instance_overview_fields.py +108 -0
  225. hyperstack_async/models/instance_resize_payload.py +106 -0
  226. hyperstack_async/models/instances.py +118 -0
  227. hyperstack_async/models/invite_fields.py +107 -0
  228. hyperstack_async/models/invite_user_payload.py +108 -0
  229. hyperstack_async/models/invite_user_response_model.py +108 -0
  230. hyperstack_async/models/keypair_environment_features.py +112 -0
  231. hyperstack_async/models/keypair_environment_fields.py +113 -0
  232. hyperstack_async/models/keypair_fields.py +115 -0
  233. hyperstack_async/models/keypairs.py +118 -0
  234. hyperstack_async/models/lable_resonse.py +102 -0
  235. hyperstack_async/models/last_day_cost_fields.py +106 -0
  236. hyperstack_async/models/last_day_cost_response.py +108 -0
  237. hyperstack_async/models/logos.py +106 -0
  238. hyperstack_async/models/manual_reconciliation_model.py +108 -0
  239. hyperstack_async/models/master_flavors_response.py +112 -0
  240. hyperstack_async/models/metric_item_fields.py +104 -0
  241. hyperstack_async/models/metrics.py +114 -0
  242. hyperstack_async/models/metrics_fields.py +129 -0
  243. hyperstack_async/models/mfa_status_fields.py +100 -0
  244. hyperstack_async/models/mfa_status_response.py +108 -0
  245. hyperstack_async/models/model_evaluation_billing_history_details_response_schema.py +108 -0
  246. hyperstack_async/models/name_available_model.py +104 -0
  247. hyperstack_async/models/new_configurations_response.py +108 -0
  248. hyperstack_async/models/new_model_response.py +114 -0
  249. hyperstack_async/models/new_stock_response.py +112 -0
  250. hyperstack_async/models/new_stock_retrive_response.py +108 -0
  251. hyperstack_async/models/object_storage_access_key_create_request.py +103 -0
  252. hyperstack_async/models/object_storage_access_key_create_response.py +114 -0
  253. hyperstack_async/models/object_storage_access_key_list_response.py +114 -0
  254. hyperstack_async/models/object_storage_access_key_response.py +112 -0
  255. hyperstack_async/models/object_storage_bucket_list_response.py +110 -0
  256. hyperstack_async/models/object_storage_bucket_response.py +114 -0
  257. hyperstack_async/models/object_storage_delete_response.py +100 -0
  258. hyperstack_async/models/object_storage_error_response.py +104 -0
  259. hyperstack_async/models/object_storage_health_response.py +100 -0
  260. hyperstack_async/models/object_storage_pagination_meta.py +104 -0
  261. hyperstack_async/models/object_storage_region_list_response.py +108 -0
  262. hyperstack_async/models/object_storage_region_response.py +100 -0
  263. hyperstack_async/models/object_storage_regions_enum.py +36 -0
  264. hyperstack_async/models/organization_fields.py +127 -0
  265. hyperstack_async/models/organization_level_billing_history.py +112 -0
  266. hyperstack_async/models/organization_level_billing_history_resources.py +110 -0
  267. hyperstack_async/models/organization_level_billing_history_response_attributes.py +100 -0
  268. hyperstack_async/models/organization_level_billing_history_response_metrics.py +110 -0
  269. hyperstack_async/models/organization_level_billing_history_response_model.py +108 -0
  270. hyperstack_async/models/organization_threshold_fields.py +108 -0
  271. hyperstack_async/models/organization_threshold_update_response.py +108 -0
  272. hyperstack_async/models/organization_thresholds_response.py +112 -0
  273. hyperstack_async/models/organization_user_response_model.py +125 -0
  274. hyperstack_async/models/overview_info.py +116 -0
  275. hyperstack_async/models/pagination.py +104 -0
  276. hyperstack_async/models/pagination_data.py +104 -0
  277. hyperstack_async/models/partner_config.py +124 -0
  278. hyperstack_async/models/payment_details_fields.py +131 -0
  279. hyperstack_async/models/payment_details_response.py +112 -0
  280. hyperstack_async/models/payment_initiate_fields.py +100 -0
  281. hyperstack_async/models/payment_initiate_payload.py +100 -0
  282. hyperstack_async/models/payment_initiate_response.py +108 -0
  283. hyperstack_async/models/permission_fields.py +111 -0
  284. hyperstack_async/models/policy_fields.py +117 -0
  285. hyperstack_async/models/policy_permission_fields.py +104 -0
  286. hyperstack_async/models/pricebook_model.py +113 -0
  287. hyperstack_async/models/pricebook_resource_object_response_for_customer.py +112 -0
  288. hyperstack_async/models/primary_color.py +102 -0
  289. hyperstack_async/models/profile_fields.py +109 -0
  290. hyperstack_async/models/profile_list_response.py +112 -0
  291. hyperstack_async/models/profile_object_fields.py +102 -0
  292. hyperstack_async/models/rbac_role_detail_response_model.py +108 -0
  293. hyperstack_async/models/rbac_role_detail_response_model_fixed.py +108 -0
  294. hyperstack_async/models/rbac_role_field.py +100 -0
  295. hyperstack_async/models/rbac_role_fields.py +127 -0
  296. hyperstack_async/models/record_consent_request.py +132 -0
  297. hyperstack_async/models/redeem_voucher_payload.py +100 -0
  298. hyperstack_async/models/region_fields.py +120 -0
  299. hyperstack_async/models/regions.py +112 -0
  300. hyperstack_async/models/remove_member_from_organization_response_model.py +102 -0
  301. hyperstack_async/models/remove_member_payload.py +101 -0
  302. hyperstack_async/models/request_console.py +104 -0
  303. hyperstack_async/models/request_instance_logs_payload.py +100 -0
  304. hyperstack_async/models/request_instance_logs_response.py +100 -0
  305. hyperstack_async/models/resource_billing_events_history_metrics.py +108 -0
  306. hyperstack_async/models/resource_billing_events_history_response.py +112 -0
  307. hyperstack_async/models/resource_billing_response_for_customer.py +108 -0
  308. hyperstack_async/models/resource_level_billing_bucket_details_resources.py +110 -0
  309. hyperstack_async/models/resource_level_billing_details_attributes.py +104 -0
  310. hyperstack_async/models/resource_level_billing_details_metrics.py +114 -0
  311. hyperstack_async/models/resource_level_billing_details_vm.py +112 -0
  312. hyperstack_async/models/resource_level_billing_details_volume.py +112 -0
  313. hyperstack_async/models/resource_level_billing_details_volume_attributes.py +108 -0
  314. hyperstack_async/models/resource_level_billing_details_volume_metrics.py +108 -0
  315. hyperstack_async/models/resource_level_billing_history.py +118 -0
  316. hyperstack_async/models/resource_level_billing_history_resources.py +110 -0
  317. hyperstack_async/models/resource_level_billing_history_resources_cluster.py +120 -0
  318. hyperstack_async/models/resource_level_billing_history_response_attributes.py +108 -0
  319. hyperstack_async/models/resource_level_billing_history_response_metrics.py +104 -0
  320. hyperstack_async/models/resource_level_billing_vm_details_resources.py +110 -0
  321. hyperstack_async/models/resource_level_billing_volume_details_resources.py +110 -0
  322. hyperstack_async/models/resource_level_bucket_billing_details_response_model.py +108 -0
  323. hyperstack_async/models/resource_level_bucket_billing_history_response_model.py +108 -0
  324. hyperstack_async/models/resource_level_cluster_billing_details_response_model.py +108 -0
  325. hyperstack_async/models/resource_level_cluster_billing_history_response_model.py +108 -0
  326. hyperstack_async/models/resource_level_cluster_graph_billing_details_response_model.py +108 -0
  327. hyperstack_async/models/resource_level_graph_billing_detail_volume.py +114 -0
  328. hyperstack_async/models/resource_level_graph_billing_details_attributes.py +104 -0
  329. hyperstack_async/models/resource_level_graph_billing_details_bucket.py +114 -0
  330. hyperstack_async/models/resource_level_graph_billing_details_metrics.py +110 -0
  331. hyperstack_async/models/resource_level_graph_billing_details_vm.py +114 -0
  332. hyperstack_async/models/resource_level_graph_billing_vm_details_resources.py +110 -0
  333. hyperstack_async/models/resource_level_graph_billing_volume_details_resources.py +110 -0
  334. hyperstack_async/models/resource_level_vm_billing_details_response_model.py +108 -0
  335. hyperstack_async/models/resource_level_vm_billing_history_response_model.py +108 -0
  336. hyperstack_async/models/resource_level_vm_graph_billing_details_response_model.py +108 -0
  337. hyperstack_async/models/resource_level_volume_billing_details_response_model.py +108 -0
  338. hyperstack_async/models/resource_level_volume_billing_history_response_model.py +108 -0
  339. hyperstack_async/models/resource_level_volume_graph_billing_details_response_model.py +108 -0
  340. hyperstack_async/models/resource_object_response_for_customer.py +106 -0
  341. hyperstack_async/models/response_model.py +102 -0
  342. hyperstack_async/models/role_permission_fields.py +104 -0
  343. hyperstack_async/models/role_policy_fields.py +104 -0
  344. hyperstack_async/models/secondary_color.py +102 -0
  345. hyperstack_async/models/security_group_rule.py +108 -0
  346. hyperstack_async/models/security_group_rule_fields.py +117 -0
  347. hyperstack_async/models/security_rules_fields_for_instance.py +117 -0
  348. hyperstack_async/models/security_rules_protocol_fields.py +104 -0
  349. hyperstack_async/models/serverless_inferenced_billing_history_details_response_schema.py +108 -0
  350. hyperstack_async/models/snapshot_fields.py +123 -0
  351. hyperstack_async/models/snapshot_restore_request.py +102 -0
  352. hyperstack_async/models/snapshot_retrieve.py +108 -0
  353. hyperstack_async/models/snapshot_retrieve_fields.py +143 -0
  354. hyperstack_async/models/snapshots.py +118 -0
  355. hyperstack_async/models/start_deployment.py +108 -0
  356. hyperstack_async/models/start_deployment_payload.py +106 -0
  357. hyperstack_async/models/sub_resource_graph_billing_details_metrics.py +165 -0
  358. hyperstack_async/models/sub_resources_costs_response_model.py +114 -0
  359. hyperstack_async/models/sub_resources_graph_billing_history_fields.py +110 -0
  360. hyperstack_async/models/sub_resources_graph_response_model.py +108 -0
  361. hyperstack_async/models/subscribe_or_unsubscribe_update_payload.py +100 -0
  362. hyperstack_async/models/supported_keypair_public_key_types_response.py +104 -0
  363. hyperstack_async/models/template.py +108 -0
  364. hyperstack_async/models/template_fields.py +111 -0
  365. hyperstack_async/models/templates.py +112 -0
  366. hyperstack_async/models/token_based_billing_history_response.py +108 -0
  367. hyperstack_async/models/update_auto_topup_payload.py +102 -0
  368. hyperstack_async/models/update_auto_topup_response.py +108 -0
  369. hyperstack_async/models/update_cluster_node_group_payload.py +105 -0
  370. hyperstack_async/models/update_consent_request.py +123 -0
  371. hyperstack_async/models/update_email_preference_input.py +100 -0
  372. hyperstack_async/models/update_email_preference_response.py +100 -0
  373. hyperstack_async/models/update_environment.py +101 -0
  374. hyperstack_async/models/update_keypair_name.py +101 -0
  375. hyperstack_async/models/update_keypair_name_response.py +108 -0
  376. hyperstack_async/models/update_organization_payload.py +101 -0
  377. hyperstack_async/models/update_organization_response_model.py +102 -0
  378. hyperstack_async/models/update_template.py +104 -0
  379. hyperstack_async/models/update_volume_attachment_payload.py +100 -0
  380. hyperstack_async/models/update_volume_payload.py +100 -0
  381. hyperstack_async/models/update_volume_response.py +110 -0
  382. hyperstack_async/models/uris.py +112 -0
  383. hyperstack_async/models/user_consent.py +116 -0
  384. hyperstack_async/models/user_consent_event.py +112 -0
  385. hyperstack_async/models/user_consents_response.py +108 -0
  386. hyperstack_async/models/user_default_choice_for_user_fields.py +104 -0
  387. hyperstack_async/models/user_default_choices_for_user_response.py +112 -0
  388. hyperstack_async/models/user_enhanced_metrics_payload.py +100 -0
  389. hyperstack_async/models/user_enhanced_metrics_response.py +110 -0
  390. hyperstack_async/models/user_enhanced_metrics_response_fields.py +100 -0
  391. hyperstack_async/models/user_info_post_payload.py +120 -0
  392. hyperstack_async/models/user_organizations_response.py +108 -0
  393. hyperstack_async/models/user_permission_fields.py +104 -0
  394. hyperstack_async/models/users_info_fields.py +129 -0
  395. hyperstack_async/models/users_info_list_response.py +108 -0
  396. hyperstack_async/models/vm_quota.py +112 -0
  397. hyperstack_async/models/vncurl.py +108 -0
  398. hyperstack_async/models/vncurl_fields.py +102 -0
  399. hyperstack_async/models/volume.py +108 -0
  400. hyperstack_async/models/volume_attachment_fields.py +115 -0
  401. hyperstack_async/models/volume_fields.py +139 -0
  402. hyperstack_async/models/volume_fields_for_instance.py +110 -0
  403. hyperstack_async/models/volume_overview_fields.py +104 -0
  404. hyperstack_async/models/volume_types.py +104 -0
  405. hyperstack_async/models/volumes.py +118 -0
  406. hyperstack_async/models/volumes_fields.py +137 -0
  407. hyperstack_async/models/voucher.py +110 -0
  408. hyperstack_async/models/voucher_redeem_response_schema.py +108 -0
  409. hyperstack_async/models/workload_billing_history_response.py +108 -0
  410. hyperstack_async/py.typed +0 -0
  411. hyperstack_async/rest.py +215 -0
  412. hyperstack_async-1.55.1a0.dist-info/METADATA +25 -0
  413. hyperstack_async-1.55.1a0.dist-info/RECORD +415 -0
  414. hyperstack_async-1.55.1a0.dist-info/WHEEL +5 -0
  415. hyperstack_async-1.55.1a0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,919 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Infrahub-API
5
+
6
+ Leverage the Infrahub API and Hyperstack platform to easily create, manage, and scale powerful GPU virtual machines and their associated resources. Access this SDK to automate the deployment of your workloads and streamline your infrastructure management. To contribute, please raise an issue with a bug report, feature request, feedback, or general inquiry.
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import Field, StrictInt, StrictStr
20
+ from typing import Optional
21
+ from typing_extensions import Annotated
22
+ from ..models.contract_gpu_allocation_graph_response import ContractGPUAllocationGraphResponse
23
+ from ..models.customer_contract_detail_response_model import CustomerContractDetailResponseModel
24
+ from ..models.get_customer_contracts_list_response_model import GetCustomerContractsListResponseModel
25
+
26
+ from ..api_client import ApiClient, RequestSerialized
27
+ from ..api_response import ApiResponse
28
+ from ..rest import RESTResponseType
29
+
30
+
31
+ class CustomerContractApi:
32
+ """NOTE: This class is auto generated by OpenAPI Generator
33
+ Ref: https://openapi-generator.tech
34
+
35
+ Do not edit the class manually.
36
+ """
37
+
38
+ def __init__(self, api_client=None) -> None:
39
+ if api_client is None:
40
+ api_client = ApiClient.get_default()
41
+ self.api_client = api_client
42
+
43
+
44
+ @validate_call
45
+ async def get_contract_gpu_allocation_graph(
46
+ self,
47
+ contract_id: StrictInt,
48
+ start_date: Annotated[Optional[StrictStr], Field(description="Date should be formatted in YYYY-MM-DDTHH:MM:SS")] = None,
49
+ end_date: Annotated[Optional[StrictStr], Field(description="Date should be formatted in YYYY-MM-DDTHH:MM:SS")] = None,
50
+ _request_timeout: Union[
51
+ None,
52
+ Annotated[StrictFloat, Field(gt=0)],
53
+ Tuple[
54
+ Annotated[StrictFloat, Field(gt=0)],
55
+ Annotated[StrictFloat, Field(gt=0)]
56
+ ]
57
+ ] = None,
58
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
59
+ _content_type: Optional[StrictStr] = None,
60
+ _headers: Optional[Dict[StrictStr, Any]] = None,
61
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
62
+ ) -> ContractGPUAllocationGraphResponse:
63
+ """Retrieve GPU Allocation Graph for Contract
64
+
65
+ Retrieve GPU allocation count graph for a specific contract by providing the contract ID in the path. The endpoint returns the GPU allocation count graph for the contract within the specified date range.
66
+
67
+ :param contract_id: (required)
68
+ :type contract_id: int
69
+ :param start_date: Date should be formatted in YYYY-MM-DDTHH:MM:SS
70
+ :type start_date: str
71
+ :param end_date: Date should be formatted in YYYY-MM-DDTHH:MM:SS
72
+ :type end_date: str
73
+ :param _request_timeout: timeout setting for this request. If one
74
+ number provided, it will be total request
75
+ timeout. It can also be a pair (tuple) of
76
+ (connection, read) timeouts.
77
+ :type _request_timeout: int, tuple(int, int), optional
78
+ :param _request_auth: set to override the auth_settings for an a single
79
+ request; this effectively ignores the
80
+ authentication in the spec for a single request.
81
+ :type _request_auth: dict, optional
82
+ :param _content_type: force content-type for the request.
83
+ :type _content_type: str, Optional
84
+ :param _headers: set to override the headers for a single
85
+ request; this effectively ignores the headers
86
+ in the spec for a single request.
87
+ :type _headers: dict, optional
88
+ :param _host_index: set to override the host_index for a single
89
+ request; this effectively ignores the host_index
90
+ in the spec for a single request.
91
+ :type _host_index: int, optional
92
+ :return: Returns the result object.
93
+ """ # noqa: E501
94
+
95
+ _param = self._get_contract_gpu_allocation_graph_serialize(
96
+ contract_id=contract_id,
97
+ start_date=start_date,
98
+ end_date=end_date,
99
+ _request_auth=_request_auth,
100
+ _content_type=_content_type,
101
+ _headers=_headers,
102
+ _host_index=_host_index
103
+ )
104
+
105
+ _response_types_map: Dict[str, Optional[str]] = {
106
+ '200': "ContractGPUAllocationGraphResponse",
107
+ '400': "ErrorResponseModel",
108
+ '401': "ErrorResponseModel",
109
+ '404': "ErrorResponseModel",
110
+ '405': "ErrorResponseModel",
111
+ '500': None,
112
+ }
113
+ response_data = await self.api_client.call_api(
114
+ *_param,
115
+ _request_timeout=_request_timeout
116
+ )
117
+ await response_data.read()
118
+ return self.api_client.response_deserialize(
119
+ response_data=response_data,
120
+ response_types_map=_response_types_map,
121
+ ).data
122
+
123
+
124
+ @validate_call
125
+ async def get_contract_gpu_allocation_graph_with_http_info(
126
+ self,
127
+ contract_id: StrictInt,
128
+ start_date: Annotated[Optional[StrictStr], Field(description="Date should be formatted in YYYY-MM-DDTHH:MM:SS")] = None,
129
+ end_date: Annotated[Optional[StrictStr], Field(description="Date should be formatted in YYYY-MM-DDTHH:MM:SS")] = None,
130
+ _request_timeout: Union[
131
+ None,
132
+ Annotated[StrictFloat, Field(gt=0)],
133
+ Tuple[
134
+ Annotated[StrictFloat, Field(gt=0)],
135
+ Annotated[StrictFloat, Field(gt=0)]
136
+ ]
137
+ ] = None,
138
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
139
+ _content_type: Optional[StrictStr] = None,
140
+ _headers: Optional[Dict[StrictStr, Any]] = None,
141
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
142
+ ) -> ApiResponse[ContractGPUAllocationGraphResponse]:
143
+ """Retrieve GPU Allocation Graph for Contract
144
+
145
+ Retrieve GPU allocation count graph for a specific contract by providing the contract ID in the path. The endpoint returns the GPU allocation count graph for the contract within the specified date range.
146
+
147
+ :param contract_id: (required)
148
+ :type contract_id: int
149
+ :param start_date: Date should be formatted in YYYY-MM-DDTHH:MM:SS
150
+ :type start_date: str
151
+ :param end_date: Date should be formatted in YYYY-MM-DDTHH:MM:SS
152
+ :type end_date: str
153
+ :param _request_timeout: timeout setting for this request. If one
154
+ number provided, it will be total request
155
+ timeout. It can also be a pair (tuple) of
156
+ (connection, read) timeouts.
157
+ :type _request_timeout: int, tuple(int, int), optional
158
+ :param _request_auth: set to override the auth_settings for an a single
159
+ request; this effectively ignores the
160
+ authentication in the spec for a single request.
161
+ :type _request_auth: dict, optional
162
+ :param _content_type: force content-type for the request.
163
+ :type _content_type: str, Optional
164
+ :param _headers: set to override the headers for a single
165
+ request; this effectively ignores the headers
166
+ in the spec for a single request.
167
+ :type _headers: dict, optional
168
+ :param _host_index: set to override the host_index for a single
169
+ request; this effectively ignores the host_index
170
+ in the spec for a single request.
171
+ :type _host_index: int, optional
172
+ :return: Returns the result object.
173
+ """ # noqa: E501
174
+
175
+ _param = self._get_contract_gpu_allocation_graph_serialize(
176
+ contract_id=contract_id,
177
+ start_date=start_date,
178
+ end_date=end_date,
179
+ _request_auth=_request_auth,
180
+ _content_type=_content_type,
181
+ _headers=_headers,
182
+ _host_index=_host_index
183
+ )
184
+
185
+ _response_types_map: Dict[str, Optional[str]] = {
186
+ '200': "ContractGPUAllocationGraphResponse",
187
+ '400': "ErrorResponseModel",
188
+ '401': "ErrorResponseModel",
189
+ '404': "ErrorResponseModel",
190
+ '405': "ErrorResponseModel",
191
+ '500': None,
192
+ }
193
+ response_data = await self.api_client.call_api(
194
+ *_param,
195
+ _request_timeout=_request_timeout
196
+ )
197
+ await response_data.read()
198
+ return self.api_client.response_deserialize(
199
+ response_data=response_data,
200
+ response_types_map=_response_types_map,
201
+ )
202
+
203
+
204
+ @validate_call
205
+ async def get_contract_gpu_allocation_graph_without_preload_content(
206
+ self,
207
+ contract_id: StrictInt,
208
+ start_date: Annotated[Optional[StrictStr], Field(description="Date should be formatted in YYYY-MM-DDTHH:MM:SS")] = None,
209
+ end_date: Annotated[Optional[StrictStr], Field(description="Date should be formatted in YYYY-MM-DDTHH:MM:SS")] = None,
210
+ _request_timeout: Union[
211
+ None,
212
+ Annotated[StrictFloat, Field(gt=0)],
213
+ Tuple[
214
+ Annotated[StrictFloat, Field(gt=0)],
215
+ Annotated[StrictFloat, Field(gt=0)]
216
+ ]
217
+ ] = None,
218
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
219
+ _content_type: Optional[StrictStr] = None,
220
+ _headers: Optional[Dict[StrictStr, Any]] = None,
221
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
222
+ ) -> RESTResponseType:
223
+ """Retrieve GPU Allocation Graph for Contract
224
+
225
+ Retrieve GPU allocation count graph for a specific contract by providing the contract ID in the path. The endpoint returns the GPU allocation count graph for the contract within the specified date range.
226
+
227
+ :param contract_id: (required)
228
+ :type contract_id: int
229
+ :param start_date: Date should be formatted in YYYY-MM-DDTHH:MM:SS
230
+ :type start_date: str
231
+ :param end_date: Date should be formatted in YYYY-MM-DDTHH:MM:SS
232
+ :type end_date: str
233
+ :param _request_timeout: timeout setting for this request. If one
234
+ number provided, it will be total request
235
+ timeout. It can also be a pair (tuple) of
236
+ (connection, read) timeouts.
237
+ :type _request_timeout: int, tuple(int, int), optional
238
+ :param _request_auth: set to override the auth_settings for an a single
239
+ request; this effectively ignores the
240
+ authentication in the spec for a single request.
241
+ :type _request_auth: dict, optional
242
+ :param _content_type: force content-type for the request.
243
+ :type _content_type: str, Optional
244
+ :param _headers: set to override the headers for a single
245
+ request; this effectively ignores the headers
246
+ in the spec for a single request.
247
+ :type _headers: dict, optional
248
+ :param _host_index: set to override the host_index for a single
249
+ request; this effectively ignores the host_index
250
+ in the spec for a single request.
251
+ :type _host_index: int, optional
252
+ :return: Returns the result object.
253
+ """ # noqa: E501
254
+
255
+ _param = self._get_contract_gpu_allocation_graph_serialize(
256
+ contract_id=contract_id,
257
+ start_date=start_date,
258
+ end_date=end_date,
259
+ _request_auth=_request_auth,
260
+ _content_type=_content_type,
261
+ _headers=_headers,
262
+ _host_index=_host_index
263
+ )
264
+
265
+ _response_types_map: Dict[str, Optional[str]] = {
266
+ '200': "ContractGPUAllocationGraphResponse",
267
+ '400': "ErrorResponseModel",
268
+ '401': "ErrorResponseModel",
269
+ '404': "ErrorResponseModel",
270
+ '405': "ErrorResponseModel",
271
+ '500': None,
272
+ }
273
+ response_data = await self.api_client.call_api(
274
+ *_param,
275
+ _request_timeout=_request_timeout
276
+ )
277
+ return response_data.response
278
+
279
+
280
+ def _get_contract_gpu_allocation_graph_serialize(
281
+ self,
282
+ contract_id,
283
+ start_date,
284
+ end_date,
285
+ _request_auth,
286
+ _content_type,
287
+ _headers,
288
+ _host_index,
289
+ ) -> RequestSerialized:
290
+
291
+ _host = None
292
+
293
+ _collection_formats: Dict[str, str] = {
294
+ }
295
+
296
+ _path_params: Dict[str, str] = {}
297
+ _query_params: List[Tuple[str, str]] = []
298
+ _header_params: Dict[str, Optional[str]] = _headers or {}
299
+ _form_params: List[Tuple[str, str]] = []
300
+ _files: Dict[
301
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
302
+ ] = {}
303
+ _body_params: Optional[bytes] = None
304
+
305
+ # process the path parameters
306
+ if contract_id is not None:
307
+ _path_params['contract_id'] = contract_id
308
+ # process the query parameters
309
+ if start_date is not None:
310
+
311
+ _query_params.append(('start_date', start_date))
312
+
313
+ if end_date is not None:
314
+
315
+ _query_params.append(('end_date', end_date))
316
+
317
+ # process the header parameters
318
+ # process the form parameters
319
+ # process the body parameter
320
+
321
+
322
+ # set the HTTP header `Accept`
323
+ if 'Accept' not in _header_params:
324
+ _header_params['Accept'] = self.api_client.select_header_accept(
325
+ [
326
+ 'application/json'
327
+ ]
328
+ )
329
+
330
+
331
+ # authentication setting
332
+ _auth_settings: List[str] = [
333
+ 'apiKey'
334
+ ]
335
+
336
+ return self.api_client.param_serialize(
337
+ method='GET',
338
+ resource_path='/pricebook/contracts/{contract_id}/gpu_allocation_graph',
339
+ path_params=_path_params,
340
+ query_params=_query_params,
341
+ header_params=_header_params,
342
+ body=_body_params,
343
+ post_params=_form_params,
344
+ files=_files,
345
+ auth_settings=_auth_settings,
346
+ collection_formats=_collection_formats,
347
+ _host=_host,
348
+ _request_auth=_request_auth
349
+ )
350
+
351
+
352
+
353
+
354
+ @validate_call
355
+ async def list_customer_contracts(
356
+ self,
357
+ page: Optional[StrictInt] = None,
358
+ per_page: Optional[StrictInt] = None,
359
+ _request_timeout: Union[
360
+ None,
361
+ Annotated[StrictFloat, Field(gt=0)],
362
+ Tuple[
363
+ Annotated[StrictFloat, Field(gt=0)],
364
+ Annotated[StrictFloat, Field(gt=0)]
365
+ ]
366
+ ] = None,
367
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
368
+ _content_type: Optional[StrictStr] = None,
369
+ _headers: Optional[Dict[StrictStr, Any]] = None,
370
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
371
+ ) -> GetCustomerContractsListResponseModel:
372
+ """List Contracts
373
+
374
+ Retrieves a list of contracts and their details, including the terms of each contract and the discounts applied to all resources under each contract. Pagination can be controlled using the `page` and `per_page` query parameters. For additional information about contracts, click [**here**](None/docs/billing-and-payment/contracts).
375
+
376
+ :param page:
377
+ :type page: int
378
+ :param per_page:
379
+ :type per_page: int
380
+ :param _request_timeout: timeout setting for this request. If one
381
+ number provided, it will be total request
382
+ timeout. It can also be a pair (tuple) of
383
+ (connection, read) timeouts.
384
+ :type _request_timeout: int, tuple(int, int), optional
385
+ :param _request_auth: set to override the auth_settings for an a single
386
+ request; this effectively ignores the
387
+ authentication in the spec for a single request.
388
+ :type _request_auth: dict, optional
389
+ :param _content_type: force content-type for the request.
390
+ :type _content_type: str, Optional
391
+ :param _headers: set to override the headers for a single
392
+ request; this effectively ignores the headers
393
+ in the spec for a single request.
394
+ :type _headers: dict, optional
395
+ :param _host_index: set to override the host_index for a single
396
+ request; this effectively ignores the host_index
397
+ in the spec for a single request.
398
+ :type _host_index: int, optional
399
+ :return: Returns the result object.
400
+ """ # noqa: E501
401
+
402
+ _param = self._list_customer_contracts_serialize(
403
+ page=page,
404
+ per_page=per_page,
405
+ _request_auth=_request_auth,
406
+ _content_type=_content_type,
407
+ _headers=_headers,
408
+ _host_index=_host_index
409
+ )
410
+
411
+ _response_types_map: Dict[str, Optional[str]] = {
412
+ '200': "GetCustomerContractsListResponseModel",
413
+ '400': "ErrorResponseModel",
414
+ '401': "ErrorResponseModel",
415
+ '405': "ErrorResponseModel",
416
+ '500': None,
417
+ }
418
+ response_data = await self.api_client.call_api(
419
+ *_param,
420
+ _request_timeout=_request_timeout
421
+ )
422
+ await response_data.read()
423
+ return self.api_client.response_deserialize(
424
+ response_data=response_data,
425
+ response_types_map=_response_types_map,
426
+ ).data
427
+
428
+
429
+ @validate_call
430
+ async def list_customer_contracts_with_http_info(
431
+ self,
432
+ page: Optional[StrictInt] = None,
433
+ per_page: Optional[StrictInt] = None,
434
+ _request_timeout: Union[
435
+ None,
436
+ Annotated[StrictFloat, Field(gt=0)],
437
+ Tuple[
438
+ Annotated[StrictFloat, Field(gt=0)],
439
+ Annotated[StrictFloat, Field(gt=0)]
440
+ ]
441
+ ] = None,
442
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
443
+ _content_type: Optional[StrictStr] = None,
444
+ _headers: Optional[Dict[StrictStr, Any]] = None,
445
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
446
+ ) -> ApiResponse[GetCustomerContractsListResponseModel]:
447
+ """List Contracts
448
+
449
+ Retrieves a list of contracts and their details, including the terms of each contract and the discounts applied to all resources under each contract. Pagination can be controlled using the `page` and `per_page` query parameters. For additional information about contracts, click [**here**](None/docs/billing-and-payment/contracts).
450
+
451
+ :param page:
452
+ :type page: int
453
+ :param per_page:
454
+ :type per_page: int
455
+ :param _request_timeout: timeout setting for this request. If one
456
+ number provided, it will be total request
457
+ timeout. It can also be a pair (tuple) of
458
+ (connection, read) timeouts.
459
+ :type _request_timeout: int, tuple(int, int), optional
460
+ :param _request_auth: set to override the auth_settings for an a single
461
+ request; this effectively ignores the
462
+ authentication in the spec for a single request.
463
+ :type _request_auth: dict, optional
464
+ :param _content_type: force content-type for the request.
465
+ :type _content_type: str, Optional
466
+ :param _headers: set to override the headers for a single
467
+ request; this effectively ignores the headers
468
+ in the spec for a single request.
469
+ :type _headers: dict, optional
470
+ :param _host_index: set to override the host_index for a single
471
+ request; this effectively ignores the host_index
472
+ in the spec for a single request.
473
+ :type _host_index: int, optional
474
+ :return: Returns the result object.
475
+ """ # noqa: E501
476
+
477
+ _param = self._list_customer_contracts_serialize(
478
+ page=page,
479
+ per_page=per_page,
480
+ _request_auth=_request_auth,
481
+ _content_type=_content_type,
482
+ _headers=_headers,
483
+ _host_index=_host_index
484
+ )
485
+
486
+ _response_types_map: Dict[str, Optional[str]] = {
487
+ '200': "GetCustomerContractsListResponseModel",
488
+ '400': "ErrorResponseModel",
489
+ '401': "ErrorResponseModel",
490
+ '405': "ErrorResponseModel",
491
+ '500': None,
492
+ }
493
+ response_data = await self.api_client.call_api(
494
+ *_param,
495
+ _request_timeout=_request_timeout
496
+ )
497
+ await response_data.read()
498
+ return self.api_client.response_deserialize(
499
+ response_data=response_data,
500
+ response_types_map=_response_types_map,
501
+ )
502
+
503
+
504
+ @validate_call
505
+ async def list_customer_contracts_without_preload_content(
506
+ self,
507
+ page: Optional[StrictInt] = None,
508
+ per_page: Optional[StrictInt] = None,
509
+ _request_timeout: Union[
510
+ None,
511
+ Annotated[StrictFloat, Field(gt=0)],
512
+ Tuple[
513
+ Annotated[StrictFloat, Field(gt=0)],
514
+ Annotated[StrictFloat, Field(gt=0)]
515
+ ]
516
+ ] = None,
517
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
518
+ _content_type: Optional[StrictStr] = None,
519
+ _headers: Optional[Dict[StrictStr, Any]] = None,
520
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
521
+ ) -> RESTResponseType:
522
+ """List Contracts
523
+
524
+ Retrieves a list of contracts and their details, including the terms of each contract and the discounts applied to all resources under each contract. Pagination can be controlled using the `page` and `per_page` query parameters. For additional information about contracts, click [**here**](None/docs/billing-and-payment/contracts).
525
+
526
+ :param page:
527
+ :type page: int
528
+ :param per_page:
529
+ :type per_page: int
530
+ :param _request_timeout: timeout setting for this request. If one
531
+ number provided, it will be total request
532
+ timeout. It can also be a pair (tuple) of
533
+ (connection, read) timeouts.
534
+ :type _request_timeout: int, tuple(int, int), optional
535
+ :param _request_auth: set to override the auth_settings for an a single
536
+ request; this effectively ignores the
537
+ authentication in the spec for a single request.
538
+ :type _request_auth: dict, optional
539
+ :param _content_type: force content-type for the request.
540
+ :type _content_type: str, Optional
541
+ :param _headers: set to override the headers for a single
542
+ request; this effectively ignores the headers
543
+ in the spec for a single request.
544
+ :type _headers: dict, optional
545
+ :param _host_index: set to override the host_index for a single
546
+ request; this effectively ignores the host_index
547
+ in the spec for a single request.
548
+ :type _host_index: int, optional
549
+ :return: Returns the result object.
550
+ """ # noqa: E501
551
+
552
+ _param = self._list_customer_contracts_serialize(
553
+ page=page,
554
+ per_page=per_page,
555
+ _request_auth=_request_auth,
556
+ _content_type=_content_type,
557
+ _headers=_headers,
558
+ _host_index=_host_index
559
+ )
560
+
561
+ _response_types_map: Dict[str, Optional[str]] = {
562
+ '200': "GetCustomerContractsListResponseModel",
563
+ '400': "ErrorResponseModel",
564
+ '401': "ErrorResponseModel",
565
+ '405': "ErrorResponseModel",
566
+ '500': None,
567
+ }
568
+ response_data = await self.api_client.call_api(
569
+ *_param,
570
+ _request_timeout=_request_timeout
571
+ )
572
+ return response_data.response
573
+
574
+
575
+ def _list_customer_contracts_serialize(
576
+ self,
577
+ page,
578
+ per_page,
579
+ _request_auth,
580
+ _content_type,
581
+ _headers,
582
+ _host_index,
583
+ ) -> RequestSerialized:
584
+
585
+ _host = None
586
+
587
+ _collection_formats: Dict[str, str] = {
588
+ }
589
+
590
+ _path_params: Dict[str, str] = {}
591
+ _query_params: List[Tuple[str, str]] = []
592
+ _header_params: Dict[str, Optional[str]] = _headers or {}
593
+ _form_params: List[Tuple[str, str]] = []
594
+ _files: Dict[
595
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
596
+ ] = {}
597
+ _body_params: Optional[bytes] = None
598
+
599
+ # process the path parameters
600
+ # process the query parameters
601
+ if page is not None:
602
+
603
+ _query_params.append(('page', page))
604
+
605
+ if per_page is not None:
606
+
607
+ _query_params.append(('per_page', per_page))
608
+
609
+ # process the header parameters
610
+ # process the form parameters
611
+ # process the body parameter
612
+
613
+
614
+ # set the HTTP header `Accept`
615
+ if 'Accept' not in _header_params:
616
+ _header_params['Accept'] = self.api_client.select_header_accept(
617
+ [
618
+ 'application/json'
619
+ ]
620
+ )
621
+
622
+
623
+ # authentication setting
624
+ _auth_settings: List[str] = [
625
+ 'apiKey'
626
+ ]
627
+
628
+ return self.api_client.param_serialize(
629
+ method='GET',
630
+ resource_path='/pricebook/contracts',
631
+ path_params=_path_params,
632
+ query_params=_query_params,
633
+ header_params=_header_params,
634
+ body=_body_params,
635
+ post_params=_form_params,
636
+ files=_files,
637
+ auth_settings=_auth_settings,
638
+ collection_formats=_collection_formats,
639
+ _host=_host,
640
+ _request_auth=_request_auth
641
+ )
642
+
643
+
644
+
645
+
646
+ @validate_call
647
+ async def retrieve_contract(
648
+ self,
649
+ contract_id: StrictInt,
650
+ _request_timeout: Union[
651
+ None,
652
+ Annotated[StrictFloat, Field(gt=0)],
653
+ Tuple[
654
+ Annotated[StrictFloat, Field(gt=0)],
655
+ Annotated[StrictFloat, Field(gt=0)]
656
+ ]
657
+ ] = None,
658
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
659
+ _content_type: Optional[StrictStr] = None,
660
+ _headers: Optional[Dict[StrictStr, Any]] = None,
661
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
662
+ ) -> CustomerContractDetailResponseModel:
663
+ """Retrieve Contract Details
664
+
665
+ Retrieve details of a specific contract by providing the contract ID in the path. The endpoint returns the contract object along with its associated discount plans. For more information, [**click here**](None/docs/api-reference/pricebook-resources/retrieve-contract-details).
666
+
667
+ :param contract_id: (required)
668
+ :type contract_id: int
669
+ :param _request_timeout: timeout setting for this request. If one
670
+ number provided, it will be total request
671
+ timeout. It can also be a pair (tuple) of
672
+ (connection, read) timeouts.
673
+ :type _request_timeout: int, tuple(int, int), optional
674
+ :param _request_auth: set to override the auth_settings for an a single
675
+ request; this effectively ignores the
676
+ authentication in the spec for a single request.
677
+ :type _request_auth: dict, optional
678
+ :param _content_type: force content-type for the request.
679
+ :type _content_type: str, Optional
680
+ :param _headers: set to override the headers for a single
681
+ request; this effectively ignores the headers
682
+ in the spec for a single request.
683
+ :type _headers: dict, optional
684
+ :param _host_index: set to override the host_index for a single
685
+ request; this effectively ignores the host_index
686
+ in the spec for a single request.
687
+ :type _host_index: int, optional
688
+ :return: Returns the result object.
689
+ """ # noqa: E501
690
+
691
+ _param = self._retrieve_contract_serialize(
692
+ contract_id=contract_id,
693
+ _request_auth=_request_auth,
694
+ _content_type=_content_type,
695
+ _headers=_headers,
696
+ _host_index=_host_index
697
+ )
698
+
699
+ _response_types_map: Dict[str, Optional[str]] = {
700
+ '200': "CustomerContractDetailResponseModel",
701
+ '400': "ErrorResponseModel",
702
+ '401': "ErrorResponseModel",
703
+ '404': "ErrorResponseModel",
704
+ '405': "ErrorResponseModel",
705
+ '500': None,
706
+ }
707
+ response_data = await self.api_client.call_api(
708
+ *_param,
709
+ _request_timeout=_request_timeout
710
+ )
711
+ await response_data.read()
712
+ return self.api_client.response_deserialize(
713
+ response_data=response_data,
714
+ response_types_map=_response_types_map,
715
+ ).data
716
+
717
+
718
+ @validate_call
719
+ async def retrieve_contract_with_http_info(
720
+ self,
721
+ contract_id: StrictInt,
722
+ _request_timeout: Union[
723
+ None,
724
+ Annotated[StrictFloat, Field(gt=0)],
725
+ Tuple[
726
+ Annotated[StrictFloat, Field(gt=0)],
727
+ Annotated[StrictFloat, Field(gt=0)]
728
+ ]
729
+ ] = None,
730
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
731
+ _content_type: Optional[StrictStr] = None,
732
+ _headers: Optional[Dict[StrictStr, Any]] = None,
733
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
734
+ ) -> ApiResponse[CustomerContractDetailResponseModel]:
735
+ """Retrieve Contract Details
736
+
737
+ Retrieve details of a specific contract by providing the contract ID in the path. The endpoint returns the contract object along with its associated discount plans. For more information, [**click here**](None/docs/api-reference/pricebook-resources/retrieve-contract-details).
738
+
739
+ :param contract_id: (required)
740
+ :type contract_id: int
741
+ :param _request_timeout: timeout setting for this request. If one
742
+ number provided, it will be total request
743
+ timeout. It can also be a pair (tuple) of
744
+ (connection, read) timeouts.
745
+ :type _request_timeout: int, tuple(int, int), optional
746
+ :param _request_auth: set to override the auth_settings for an a single
747
+ request; this effectively ignores the
748
+ authentication in the spec for a single request.
749
+ :type _request_auth: dict, optional
750
+ :param _content_type: force content-type for the request.
751
+ :type _content_type: str, Optional
752
+ :param _headers: set to override the headers for a single
753
+ request; this effectively ignores the headers
754
+ in the spec for a single request.
755
+ :type _headers: dict, optional
756
+ :param _host_index: set to override the host_index for a single
757
+ request; this effectively ignores the host_index
758
+ in the spec for a single request.
759
+ :type _host_index: int, optional
760
+ :return: Returns the result object.
761
+ """ # noqa: E501
762
+
763
+ _param = self._retrieve_contract_serialize(
764
+ contract_id=contract_id,
765
+ _request_auth=_request_auth,
766
+ _content_type=_content_type,
767
+ _headers=_headers,
768
+ _host_index=_host_index
769
+ )
770
+
771
+ _response_types_map: Dict[str, Optional[str]] = {
772
+ '200': "CustomerContractDetailResponseModel",
773
+ '400': "ErrorResponseModel",
774
+ '401': "ErrorResponseModel",
775
+ '404': "ErrorResponseModel",
776
+ '405': "ErrorResponseModel",
777
+ '500': None,
778
+ }
779
+ response_data = await self.api_client.call_api(
780
+ *_param,
781
+ _request_timeout=_request_timeout
782
+ )
783
+ await response_data.read()
784
+ return self.api_client.response_deserialize(
785
+ response_data=response_data,
786
+ response_types_map=_response_types_map,
787
+ )
788
+
789
+
790
+ @validate_call
791
+ async def retrieve_contract_without_preload_content(
792
+ self,
793
+ contract_id: StrictInt,
794
+ _request_timeout: Union[
795
+ None,
796
+ Annotated[StrictFloat, Field(gt=0)],
797
+ Tuple[
798
+ Annotated[StrictFloat, Field(gt=0)],
799
+ Annotated[StrictFloat, Field(gt=0)]
800
+ ]
801
+ ] = None,
802
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
803
+ _content_type: Optional[StrictStr] = None,
804
+ _headers: Optional[Dict[StrictStr, Any]] = None,
805
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
806
+ ) -> RESTResponseType:
807
+ """Retrieve Contract Details
808
+
809
+ Retrieve details of a specific contract by providing the contract ID in the path. The endpoint returns the contract object along with its associated discount plans. For more information, [**click here**](None/docs/api-reference/pricebook-resources/retrieve-contract-details).
810
+
811
+ :param contract_id: (required)
812
+ :type contract_id: int
813
+ :param _request_timeout: timeout setting for this request. If one
814
+ number provided, it will be total request
815
+ timeout. It can also be a pair (tuple) of
816
+ (connection, read) timeouts.
817
+ :type _request_timeout: int, tuple(int, int), optional
818
+ :param _request_auth: set to override the auth_settings for an a single
819
+ request; this effectively ignores the
820
+ authentication in the spec for a single request.
821
+ :type _request_auth: dict, optional
822
+ :param _content_type: force content-type for the request.
823
+ :type _content_type: str, Optional
824
+ :param _headers: set to override the headers for a single
825
+ request; this effectively ignores the headers
826
+ in the spec for a single request.
827
+ :type _headers: dict, optional
828
+ :param _host_index: set to override the host_index for a single
829
+ request; this effectively ignores the host_index
830
+ in the spec for a single request.
831
+ :type _host_index: int, optional
832
+ :return: Returns the result object.
833
+ """ # noqa: E501
834
+
835
+ _param = self._retrieve_contract_serialize(
836
+ contract_id=contract_id,
837
+ _request_auth=_request_auth,
838
+ _content_type=_content_type,
839
+ _headers=_headers,
840
+ _host_index=_host_index
841
+ )
842
+
843
+ _response_types_map: Dict[str, Optional[str]] = {
844
+ '200': "CustomerContractDetailResponseModel",
845
+ '400': "ErrorResponseModel",
846
+ '401': "ErrorResponseModel",
847
+ '404': "ErrorResponseModel",
848
+ '405': "ErrorResponseModel",
849
+ '500': None,
850
+ }
851
+ response_data = await self.api_client.call_api(
852
+ *_param,
853
+ _request_timeout=_request_timeout
854
+ )
855
+ return response_data.response
856
+
857
+
858
+ def _retrieve_contract_serialize(
859
+ self,
860
+ contract_id,
861
+ _request_auth,
862
+ _content_type,
863
+ _headers,
864
+ _host_index,
865
+ ) -> RequestSerialized:
866
+
867
+ _host = None
868
+
869
+ _collection_formats: Dict[str, str] = {
870
+ }
871
+
872
+ _path_params: Dict[str, str] = {}
873
+ _query_params: List[Tuple[str, str]] = []
874
+ _header_params: Dict[str, Optional[str]] = _headers or {}
875
+ _form_params: List[Tuple[str, str]] = []
876
+ _files: Dict[
877
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
878
+ ] = {}
879
+ _body_params: Optional[bytes] = None
880
+
881
+ # process the path parameters
882
+ if contract_id is not None:
883
+ _path_params['contract_id'] = contract_id
884
+ # process the query parameters
885
+ # process the header parameters
886
+ # process the form parameters
887
+ # process the body parameter
888
+
889
+
890
+ # set the HTTP header `Accept`
891
+ if 'Accept' not in _header_params:
892
+ _header_params['Accept'] = self.api_client.select_header_accept(
893
+ [
894
+ 'application/json'
895
+ ]
896
+ )
897
+
898
+
899
+ # authentication setting
900
+ _auth_settings: List[str] = [
901
+ 'apiKey'
902
+ ]
903
+
904
+ return self.api_client.param_serialize(
905
+ method='GET',
906
+ resource_path='/pricebook/contracts/{contract_id}',
907
+ path_params=_path_params,
908
+ query_params=_query_params,
909
+ header_params=_header_params,
910
+ body=_body_params,
911
+ post_params=_form_params,
912
+ files=_files,
913
+ auth_settings=_auth_settings,
914
+ collection_formats=_collection_formats,
915
+ _host=_host,
916
+ _request_auth=_request_auth
917
+ )
918
+
919
+