gcore 0.2.0__py3-none-any.whl → 0.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gcore might be problematic. Click here for more details.

Files changed (315) hide show
  1. gcore/__init__.py +2 -1
  2. gcore/_base_client.py +44 -2
  3. gcore/_client.py +9 -0
  4. gcore/_models.py +2 -0
  5. gcore/_types.py +2 -0
  6. gcore/_version.py +1 -1
  7. gcore/pagination.py +61 -1
  8. gcore/resources/__init__.py +14 -0
  9. gcore/resources/cloud/baremetal/flavors.py +11 -137
  10. gcore/resources/cloud/baremetal/images.py +10 -12
  11. gcore/resources/cloud/baremetal/servers.py +75 -78
  12. gcore/resources/cloud/billing_reservations.py +2 -2
  13. gcore/resources/cloud/file_shares/file_shares.py +7 -8
  14. gcore/resources/cloud/floating_ips.py +9 -14
  15. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +39 -28
  16. gcore/resources/cloud/gpu_baremetal_clusters/images.py +11 -12
  17. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +2 -2
  18. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +12 -8
  19. gcore/resources/cloud/inference/deployments/deployments.py +16 -8
  20. gcore/resources/cloud/inference/registry_credentials.py +2 -2
  21. gcore/resources/cloud/inference/secrets.py +8 -8
  22. gcore/resources/cloud/instances/flavors.py +9 -233
  23. gcore/resources/cloud/instances/images.py +47 -37
  24. gcore/resources/cloud/instances/instances.py +107 -100
  25. gcore/resources/cloud/instances/interfaces.py +6 -6
  26. gcore/resources/cloud/ip_ranges.py +34 -2
  27. gcore/resources/cloud/load_balancers/flavors.py +2 -2
  28. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +30 -22
  29. gcore/resources/cloud/load_balancers/listeners.py +31 -22
  30. gcore/resources/cloud/load_balancers/load_balancers.py +99 -43
  31. gcore/resources/cloud/load_balancers/metrics.py +2 -2
  32. gcore/resources/cloud/load_balancers/pools/health_monitors.py +2 -2
  33. gcore/resources/cloud/load_balancers/pools/members.py +12 -8
  34. gcore/resources/cloud/networks/networks.py +83 -19
  35. gcore/resources/cloud/networks/routers.py +18 -18
  36. gcore/resources/cloud/networks/subnets.py +55 -15
  37. gcore/resources/cloud/projects.py +38 -24
  38. gcore/resources/cloud/quotas/quotas.py +6 -6
  39. gcore/resources/cloud/quotas/requests.py +8 -8
  40. gcore/resources/cloud/registries/artifacts.py +4 -4
  41. gcore/resources/cloud/registries/registries.py +14 -20
  42. gcore/resources/cloud/registries/repositories.py +4 -4
  43. gcore/resources/cloud/registries/tags.py +2 -2
  44. gcore/resources/cloud/registries/users.py +25 -32
  45. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +26 -26
  46. gcore/resources/cloud/reserved_fixed_ips/vip.py +10 -10
  47. gcore/resources/cloud/security_groups/rules.py +6 -6
  48. gcore/resources/cloud/security_groups/security_groups.py +70 -31
  49. gcore/resources/cloud/ssh_keys.py +2 -2
  50. gcore/resources/cloud/tasks.py +102 -94
  51. gcore/resources/cloud/users/role_assignments.py +16 -18
  52. gcore/resources/cloud/volumes.py +155 -65
  53. gcore/resources/iam/__init__.py +47 -0
  54. gcore/resources/iam/api_tokens.py +521 -0
  55. gcore/resources/iam/iam.py +199 -0
  56. gcore/resources/iam/users.py +642 -0
  57. gcore/resources/waap/__init__.py +84 -0
  58. gcore/resources/waap/advanced_rules.py +135 -0
  59. gcore/resources/waap/custom_page_sets.py +805 -0
  60. gcore/resources/waap/domains/__init__.py +140 -0
  61. gcore/resources/waap/domains/advanced_rules.py +876 -0
  62. gcore/resources/waap/domains/analytics/__init__.py +33 -0
  63. gcore/resources/waap/domains/analytics/analytics.py +676 -0
  64. gcore/resources/waap/domains/analytics/requests.py +378 -0
  65. gcore/resources/waap/domains/api_discovery/__init__.py +33 -0
  66. gcore/resources/waap/domains/api_discovery/api_discovery.py +530 -0
  67. gcore/resources/waap/domains/api_discovery/scan_results.py +352 -0
  68. gcore/resources/waap/domains/api_path_groups.py +163 -0
  69. gcore/resources/waap/domains/api_paths.py +771 -0
  70. gcore/resources/waap/domains/custom_rules.py +889 -0
  71. gcore/resources/waap/domains/domains.py +399 -0
  72. gcore/resources/waap/domains/firewall_rules.py +884 -0
  73. gcore/resources/waap/domains/insight_silences.py +689 -0
  74. gcore/resources/waap/domains/insights.py +425 -0
  75. gcore/resources/waap/domains/policies.py +173 -0
  76. gcore/resources/waap/domains/settings.py +5 -5
  77. gcore/resources/waap/ip_info.py +1017 -0
  78. gcore/resources/waap/organizations.py +217 -0
  79. gcore/resources/waap/statistics.py +225 -0
  80. gcore/resources/waap/tags.py +233 -0
  81. gcore/resources/waap/waap.py +257 -0
  82. gcore/types/cloud/allowed_address_pairs.py +2 -2
  83. gcore/types/cloud/baremetal/__init__.py +0 -1
  84. gcore/types/cloud/baremetal/baremetal_server.py +1 -1
  85. gcore/types/cloud/baremetal/image_list_params.py +1 -5
  86. gcore/types/cloud/baremetal/server_create_params.py +13 -17
  87. gcore/types/cloud/baremetal/server_list_params.py +8 -12
  88. gcore/types/cloud/baremetal/server_rebuild_params.py +1 -1
  89. gcore/types/cloud/baremetal_flavor.py +3 -3
  90. gcore/types/cloud/container_probe_config.py +1 -1
  91. gcore/types/cloud/container_probe_config_create_param.py +1 -1
  92. gcore/types/cloud/container_scale_triggers.py +2 -2
  93. gcore/types/cloud/ddos_profile.py +9 -3
  94. gcore/types/cloud/file_share_create_params.py +3 -5
  95. gcore/types/cloud/floating_ip_create_params.py +2 -4
  96. gcore/types/cloud/floating_ip_detailed.py +1 -1
  97. gcore/types/cloud/floating_ip_list_params.py +2 -6
  98. gcore/types/cloud/gpu_baremetal_cluster.py +1 -1
  99. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +4 -5
  100. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +1 -1
  101. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +1 -1
  102. gcore/types/cloud/gpu_baremetal_cluster_server.py +1 -1
  103. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +3 -5
  104. gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +10 -10
  105. gcore/types/cloud/gpu_baremetal_flavor.py +3 -3
  106. gcore/types/cloud/health_monitor.py +6 -1
  107. gcore/types/cloud/image.py +1 -1
  108. gcore/types/cloud/inference/deployment_create_params.py +4 -4
  109. gcore/types/cloud/inference/deployment_update_params.py +6 -6
  110. gcore/types/cloud/inference/inference.py +2 -4
  111. gcore/types/cloud/instance.py +1 -1
  112. gcore/types/cloud/instance_create_params.py +15 -18
  113. gcore/types/cloud/instance_list_params.py +8 -12
  114. gcore/types/cloud/instances/__init__.py +0 -2
  115. gcore/types/cloud/instances/image_create_from_volume_params.py +2 -4
  116. gcore/types/cloud/instances/image_list_params.py +1 -5
  117. gcore/types/cloud/instances/image_upload_params.py +2 -4
  118. gcore/types/cloud/instances/instance_flavor.py +3 -3
  119. gcore/types/cloud/instances/interface_attach_params.py +10 -10
  120. gcore/types/cloud/load_balancer_create_params.py +25 -19
  121. gcore/types/cloud/load_balancer_flavor_detail.py +3 -3
  122. gcore/types/cloud/load_balancer_l7_policy.py +5 -5
  123. gcore/types/cloud/load_balancer_list_params.py +5 -9
  124. gcore/types/cloud/load_balancer_listener_detail.py +4 -4
  125. gcore/types/cloud/load_balancer_update_params.py +24 -0
  126. gcore/types/cloud/load_balancers/l7_policy_create_params.py +5 -5
  127. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +5 -5
  128. gcore/types/cloud/load_balancers/listener_create_params.py +4 -4
  129. gcore/types/cloud/load_balancers/listener_update_params.py +3 -3
  130. gcore/types/cloud/load_balancers/pool_create_params.py +10 -5
  131. gcore/types/cloud/load_balancers/pool_update_params.py +10 -5
  132. gcore/types/cloud/load_balancers/pools/member_add_params.py +9 -4
  133. gcore/types/cloud/member.py +8 -3
  134. gcore/types/cloud/network.py +2 -2
  135. gcore/types/cloud/network_create_params.py +2 -3
  136. gcore/types/cloud/network_details.py +2 -2
  137. gcore/types/cloud/network_list_params.py +5 -6
  138. gcore/types/cloud/network_update_params.py +28 -2
  139. gcore/types/cloud/networks/router_list_params.py +2 -2
  140. gcore/types/cloud/networks/subnet_create_params.py +3 -4
  141. gcore/types/cloud/networks/subnet_list_params.py +2 -6
  142. gcore/types/cloud/networks/subnet_update_params.py +25 -0
  143. gcore/types/cloud/region.py +4 -4
  144. gcore/types/cloud/registries/__init__.py +1 -0
  145. gcore/types/cloud/registries/user_create_multiple_params.py +3 -5
  146. gcore/types/cloud/registries/user_create_params.py +3 -5
  147. gcore/types/cloud/registries/user_refresh_secret_response.py +31 -0
  148. gcore/types/cloud/registry_create_params.py +3 -5
  149. gcore/types/cloud/reserved_fixed_ip_create_params.py +2 -2
  150. gcore/types/cloud/reserved_fixed_ip_list_params.py +3 -3
  151. gcore/types/cloud/security_group_list_params.py +3 -7
  152. gcore/types/cloud/security_group_update_params.py +25 -0
  153. gcore/types/cloud/session_persistence.py +1 -1
  154. gcore/types/cloud/ssh_key_created.py +3 -6
  155. gcore/types/cloud/tag_update_map_param.py +2 -2
  156. gcore/types/cloud/task.py +1 -1
  157. gcore/types/cloud/task_list_params.py +49 -45
  158. gcore/types/cloud/users/role_assignment_create_params.py +1 -1
  159. gcore/types/cloud/users/role_assignment_update_params.py +1 -1
  160. gcore/types/cloud/volume_create_params.py +6 -6
  161. gcore/types/cloud/volume_list_params.py +3 -7
  162. gcore/types/cloud/volume_update_params.py +29 -3
  163. gcore/types/iam/__init__.py +17 -0
  164. gcore/types/iam/account_overview.py +488 -0
  165. gcore/types/iam/api_token.py +78 -0
  166. gcore/types/iam/api_token_create.py +15 -0
  167. gcore/types/iam/api_token_create_params.py +42 -0
  168. gcore/types/iam/api_token_list.py +81 -0
  169. gcore/types/iam/api_token_list_params.py +41 -0
  170. gcore/types/iam/user.py +86 -0
  171. gcore/types/iam/user_detailed.py +104 -0
  172. gcore/types/iam/user_invite.py +15 -0
  173. gcore/types/iam/user_invite_params.py +37 -0
  174. gcore/types/iam/user_list_params.py +15 -0
  175. gcore/types/iam/user_update.py +104 -0
  176. gcore/types/iam/user_update_params.py +52 -0
  177. gcore/types/waap/__init__.py +97 -2
  178. gcore/types/waap/custom_page_set_create_params.py +35 -0
  179. gcore/types/waap/custom_page_set_list_params.py +25 -0
  180. gcore/types/waap/custom_page_set_preview_params.py +34 -0
  181. gcore/types/waap/custom_page_set_update_params.py +35 -0
  182. gcore/types/waap/domain_list_rule_sets_response.py +10 -0
  183. gcore/types/waap/domains/__init__.py +42 -0
  184. gcore/types/waap/domains/advanced_rule_create_params.py +80 -0
  185. gcore/types/waap/domains/advanced_rule_list_params.py +58 -0
  186. gcore/types/waap/domains/advanced_rule_update_params.py +83 -0
  187. gcore/types/waap/domains/analytics/__init__.py +5 -0
  188. gcore/types/waap/domains/analytics/request_list_params.py +53 -0
  189. gcore/types/waap/domains/analytics_get_event_statistics_params.py +34 -0
  190. gcore/types/waap/domains/analytics_list_ddos_attacks_params.py +28 -0
  191. gcore/types/waap/domains/analytics_list_ddos_info_params.py +31 -0
  192. gcore/types/waap/domains/analytics_list_event_traffic_params.py +26 -0
  193. gcore/types/waap/domains/analytics_list_event_traffic_response.py +10 -0
  194. gcore/types/waap/domains/api_discovery/__init__.py +7 -0
  195. gcore/types/waap/domains/api_discovery/scan_result_get_response.py +29 -0
  196. gcore/types/waap/domains/api_discovery/scan_result_list_params.py +41 -0
  197. gcore/types/waap/domains/api_discovery/scan_result_list_response.py +29 -0
  198. gcore/types/waap/domains/api_discovery_get_settings_response.py +36 -0
  199. gcore/types/waap/domains/api_discovery_scan_openapi_response.py +10 -0
  200. gcore/types/waap/domains/api_discovery_update_settings_params.py +34 -0
  201. gcore/types/waap/domains/api_discovery_update_settings_response.py +36 -0
  202. gcore/types/waap/domains/api_discovery_upload_openapi_params.py +19 -0
  203. gcore/types/waap/domains/api_discovery_upload_openapi_response.py +10 -0
  204. gcore/types/waap/domains/api_path_create_params.py +31 -0
  205. gcore/types/waap/domains/api_path_create_response.py +50 -0
  206. gcore/types/waap/domains/api_path_get_response.py +50 -0
  207. gcore/types/waap/domains/api_path_group_list_response.py +12 -0
  208. gcore/types/waap/domains/api_path_list_params.py +62 -0
  209. gcore/types/waap/domains/api_path_list_response.py +50 -0
  210. gcore/types/waap/domains/api_path_update_params.py +29 -0
  211. gcore/types/waap/domains/custom_rule_create_params.py +372 -0
  212. gcore/types/waap/domains/custom_rule_delete_multiple_params.py +13 -0
  213. gcore/types/waap/domains/custom_rule_list_params.py +35 -0
  214. gcore/types/waap/domains/custom_rule_update_params.py +375 -0
  215. gcore/types/waap/domains/firewall_rule_create_params.py +75 -0
  216. gcore/types/waap/domains/firewall_rule_delete_multiple_params.py +13 -0
  217. gcore/types/waap/domains/firewall_rule_list_params.py +33 -0
  218. gcore/types/waap/domains/firewall_rule_update_params.py +78 -0
  219. gcore/types/waap/domains/insight_list_params.py +34 -0
  220. gcore/types/waap/domains/insight_replace_params.py +17 -0
  221. gcore/types/waap/domains/insight_silence_create_params.py +28 -0
  222. gcore/types/waap/domains/insight_silence_list_params.py +33 -0
  223. gcore/types/waap/domains/insight_silence_update_params.py +28 -0
  224. gcore/types/waap/domains/setting_update_params.py +7 -0
  225. gcore/types/waap/ip_info_get_attack_time_series_params.py +12 -0
  226. gcore/types/waap/ip_info_get_attack_time_series_response.py +10 -0
  227. gcore/types/waap/ip_info_get_blocked_requests_params.py +15 -0
  228. gcore/types/waap/ip_info_get_blocked_requests_response.py +10 -0
  229. gcore/types/waap/ip_info_get_counts_params.py +19 -0
  230. gcore/types/waap/ip_info_get_ddos_attack_series_params.py +12 -0
  231. gcore/types/waap/ip_info_get_params.py +12 -0
  232. gcore/types/waap/ip_info_get_top_sessions_params.py +15 -0
  233. gcore/types/waap/ip_info_get_top_sessions_response.py +10 -0
  234. gcore/types/waap/ip_info_get_top_urls_params.py +15 -0
  235. gcore/types/waap/ip_info_get_top_urls_response.py +10 -0
  236. gcore/types/waap/ip_info_get_top_user_agents_params.py +15 -0
  237. gcore/types/waap/ip_info_get_top_user_agents_response.py +10 -0
  238. gcore/types/waap/ip_info_list_attacked_countries_params.py +12 -0
  239. gcore/types/waap/ip_info_list_attacked_countries_response.py +10 -0
  240. gcore/types/waap/organization_list_params.py +22 -0
  241. gcore/types/waap/statistic_get_usage_series_params.py +25 -0
  242. gcore/types/waap/tag_list_params.py +28 -0
  243. gcore/types/waap/waap_advanced_rule.py +83 -0
  244. gcore/types/waap/waap_advanced_rule_descriptor.py +49 -0
  245. gcore/types/waap/waap_advanced_rule_descriptor_list.py +15 -0
  246. gcore/types/waap/waap_block_csrf_page_data.py +28 -0
  247. gcore/types/waap/waap_block_csrf_page_data_param.py +28 -0
  248. gcore/types/waap/waap_block_page_data.py +28 -0
  249. gcore/types/waap/waap_block_page_data_param.py +28 -0
  250. gcore/types/waap/waap_blocked_statistics.py +36 -0
  251. gcore/types/waap/waap_captcha_page_data.py +31 -0
  252. gcore/types/waap/waap_captcha_page_data_param.py +31 -0
  253. gcore/types/waap/waap_common_tag.py +16 -0
  254. gcore/types/waap/waap_cookie_disabled_page_data.py +18 -0
  255. gcore/types/waap/waap_cookie_disabled_page_data_param.py +18 -0
  256. gcore/types/waap/waap_count_statistics.py +36 -0
  257. gcore/types/waap/waap_custom_page_preview.py +10 -0
  258. gcore/types/waap/waap_custom_page_set.py +36 -0
  259. gcore/types/waap/waap_custom_rule.py +377 -0
  260. gcore/types/waap/waap_customer_rule_state.py +7 -0
  261. gcore/types/waap/waap_ddos_attack.py +16 -0
  262. gcore/types/waap/waap_ddos_info.py +17 -0
  263. gcore/types/waap/{waap_api_urls.py → waap_domain_api_settings.py} +9 -2
  264. gcore/types/waap/waap_domain_policy.py +29 -0
  265. gcore/types/waap/{waap_domain_settings.py → waap_domain_settings_model.py} +4 -4
  266. gcore/types/waap/waap_event_statistics.py +15 -0
  267. gcore/types/waap/waap_firewall_rule.py +78 -0
  268. gcore/types/waap/waap_get_account_overview_response.py +34 -0
  269. gcore/types/waap/waap_handshake_page_data.py +25 -0
  270. gcore/types/waap/waap_handshake_page_data_param.py +25 -0
  271. gcore/types/waap/waap_insight.py +38 -0
  272. gcore/types/waap/waap_insight_silence.py +28 -0
  273. gcore/types/waap/waap_insight_silence_sort_by.py +9 -0
  274. gcore/types/waap/waap_insight_sort_by.py +20 -0
  275. gcore/types/waap/waap_insight_status.py +7 -0
  276. gcore/types/waap/waap_ip_country_attack.py +16 -0
  277. gcore/types/waap/waap_ip_ddos_info_model.py +23 -0
  278. gcore/types/waap/waap_ip_info.py +57 -0
  279. gcore/types/waap/waap_ip_info_counts.py +16 -0
  280. gcore/types/waap/waap_javascript_disabled_page_data.py +18 -0
  281. gcore/types/waap/waap_javascript_disabled_page_data_param.py +18 -0
  282. gcore/types/waap/waap_network_details.py +17 -0
  283. gcore/types/waap/waap_organization.py +13 -0
  284. gcore/types/waap/waap_page_type.py +9 -0
  285. gcore/types/waap/waap_paginated_custom_page_set.py +22 -0
  286. gcore/types/waap/waap_paginated_ddos_attack.py +22 -0
  287. gcore/types/waap/waap_paginated_ddos_info.py +22 -0
  288. gcore/types/waap/waap_paginated_request_summary.py +22 -0
  289. gcore/types/waap/waap_pattern_matched_tag.py +37 -0
  290. gcore/types/waap/waap_policy_action.py +7 -0
  291. gcore/types/waap/waap_policy_mode.py +10 -0
  292. gcore/types/waap/waap_request_details.py +92 -0
  293. gcore/types/waap/waap_request_organization.py +13 -0
  294. gcore/types/waap/waap_request_summary.py +59 -0
  295. gcore/types/waap/waap_resolution.py +7 -0
  296. gcore/types/waap/waap_rule_action_type.py +7 -0
  297. gcore/types/waap/waap_rule_blocked_requests.py +16 -0
  298. gcore/types/waap/waap_rule_set.py +41 -0
  299. gcore/types/waap/waap_statistic_item.py +18 -0
  300. gcore/types/waap/waap_statistics_series.py +16 -0
  301. gcore/types/waap/waap_tag.py +16 -0
  302. gcore/types/waap/waap_time_series_attack.py +23 -0
  303. gcore/types/waap/waap_top_session.py +24 -0
  304. gcore/types/waap/waap_top_url.py +13 -0
  305. gcore/types/waap/waap_top_user_agent.py +13 -0
  306. gcore/types/waap/waap_traffic_metrics.py +68 -0
  307. gcore/types/waap/waap_traffic_type.py +28 -0
  308. gcore/types/waap/waap_user_agent_details.py +40 -0
  309. {gcore-0.2.0.dist-info → gcore-0.4.0.dist-info}/METADATA +40 -3
  310. {gcore-0.2.0.dist-info → gcore-0.4.0.dist-info}/RECORD +312 -149
  311. gcore/types/cloud/baremetal/flavor_list_suitable_params.py +0 -22
  312. gcore/types/cloud/instances/flavor_list_for_resize_params.py +0 -16
  313. gcore/types/cloud/instances/flavor_list_suitable_params.py +0 -56
  314. {gcore-0.2.0.dist-info → gcore-0.4.0.dist-info}/WHEEL +0 -0
  315. {gcore-0.2.0.dist-info → gcore-0.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,8 +2,58 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import httpx
6
+
7
+ from .tags import (
8
+ TagsResource,
9
+ AsyncTagsResource,
10
+ TagsResourceWithRawResponse,
11
+ AsyncTagsResourceWithRawResponse,
12
+ TagsResourceWithStreamingResponse,
13
+ AsyncTagsResourceWithStreamingResponse,
14
+ )
15
+ from .ip_info import (
16
+ IPInfoResource,
17
+ AsyncIPInfoResource,
18
+ IPInfoResourceWithRawResponse,
19
+ AsyncIPInfoResourceWithRawResponse,
20
+ IPInfoResourceWithStreamingResponse,
21
+ AsyncIPInfoResourceWithStreamingResponse,
22
+ )
23
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
5
24
  from ..._compat import cached_property
25
+ from .statistics import (
26
+ StatisticsResource,
27
+ AsyncStatisticsResource,
28
+ StatisticsResourceWithRawResponse,
29
+ AsyncStatisticsResourceWithRawResponse,
30
+ StatisticsResourceWithStreamingResponse,
31
+ AsyncStatisticsResourceWithStreamingResponse,
32
+ )
6
33
  from ..._resource import SyncAPIResource, AsyncAPIResource
34
+ from ..._response import (
35
+ to_raw_response_wrapper,
36
+ to_streamed_response_wrapper,
37
+ async_to_raw_response_wrapper,
38
+ async_to_streamed_response_wrapper,
39
+ )
40
+ from .organizations import (
41
+ OrganizationsResource,
42
+ AsyncOrganizationsResource,
43
+ OrganizationsResourceWithRawResponse,
44
+ AsyncOrganizationsResourceWithRawResponse,
45
+ OrganizationsResourceWithStreamingResponse,
46
+ AsyncOrganizationsResourceWithStreamingResponse,
47
+ )
48
+ from ..._base_client import make_request_options
49
+ from .advanced_rules import (
50
+ AdvancedRulesResource,
51
+ AsyncAdvancedRulesResource,
52
+ AdvancedRulesResourceWithRawResponse,
53
+ AsyncAdvancedRulesResourceWithRawResponse,
54
+ AdvancedRulesResourceWithStreamingResponse,
55
+ AsyncAdvancedRulesResourceWithStreamingResponse,
56
+ )
7
57
  from .domains.domains import (
8
58
  DomainsResource,
9
59
  AsyncDomainsResource,
@@ -12,15 +62,48 @@ from .domains.domains import (
12
62
  DomainsResourceWithStreamingResponse,
13
63
  AsyncDomainsResourceWithStreamingResponse,
14
64
  )
65
+ from .custom_page_sets import (
66
+ CustomPageSetsResource,
67
+ AsyncCustomPageSetsResource,
68
+ CustomPageSetsResourceWithRawResponse,
69
+ AsyncCustomPageSetsResourceWithRawResponse,
70
+ CustomPageSetsResourceWithStreamingResponse,
71
+ AsyncCustomPageSetsResourceWithStreamingResponse,
72
+ )
73
+ from ...types.waap.waap_get_account_overview_response import WaapGetAccountOverviewResponse
15
74
 
16
75
  __all__ = ["WaapResource", "AsyncWaapResource"]
17
76
 
18
77
 
19
78
  class WaapResource(SyncAPIResource):
79
+ @cached_property
80
+ def statistics(self) -> StatisticsResource:
81
+ return StatisticsResource(self._client)
82
+
20
83
  @cached_property
21
84
  def domains(self) -> DomainsResource:
22
85
  return DomainsResource(self._client)
23
86
 
87
+ @cached_property
88
+ def custom_page_sets(self) -> CustomPageSetsResource:
89
+ return CustomPageSetsResource(self._client)
90
+
91
+ @cached_property
92
+ def advanced_rules(self) -> AdvancedRulesResource:
93
+ return AdvancedRulesResource(self._client)
94
+
95
+ @cached_property
96
+ def tags(self) -> TagsResource:
97
+ return TagsResource(self._client)
98
+
99
+ @cached_property
100
+ def organizations(self) -> OrganizationsResource:
101
+ return OrganizationsResource(self._client)
102
+
103
+ @cached_property
104
+ def ip_info(self) -> IPInfoResource:
105
+ return IPInfoResource(self._client)
106
+
24
107
  @cached_property
25
108
  def with_raw_response(self) -> WaapResourceWithRawResponse:
26
109
  """
@@ -40,12 +123,55 @@ class WaapResource(SyncAPIResource):
40
123
  """
41
124
  return WaapResourceWithStreamingResponse(self)
42
125
 
126
+ def get_account_overview(
127
+ self,
128
+ *,
129
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
130
+ # The extra values given here take precedence over values defined on the client or passed to this method.
131
+ extra_headers: Headers | None = None,
132
+ extra_query: Query | None = None,
133
+ extra_body: Body | None = None,
134
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
135
+ ) -> WaapGetAccountOverviewResponse:
136
+ """Get information about WAAP service for the client"""
137
+ return self._get(
138
+ "/waap/v1/clients/me",
139
+ options=make_request_options(
140
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
141
+ ),
142
+ cast_to=WaapGetAccountOverviewResponse,
143
+ )
144
+
43
145
 
44
146
  class AsyncWaapResource(AsyncAPIResource):
147
+ @cached_property
148
+ def statistics(self) -> AsyncStatisticsResource:
149
+ return AsyncStatisticsResource(self._client)
150
+
45
151
  @cached_property
46
152
  def domains(self) -> AsyncDomainsResource:
47
153
  return AsyncDomainsResource(self._client)
48
154
 
155
+ @cached_property
156
+ def custom_page_sets(self) -> AsyncCustomPageSetsResource:
157
+ return AsyncCustomPageSetsResource(self._client)
158
+
159
+ @cached_property
160
+ def advanced_rules(self) -> AsyncAdvancedRulesResource:
161
+ return AsyncAdvancedRulesResource(self._client)
162
+
163
+ @cached_property
164
+ def tags(self) -> AsyncTagsResource:
165
+ return AsyncTagsResource(self._client)
166
+
167
+ @cached_property
168
+ def organizations(self) -> AsyncOrganizationsResource:
169
+ return AsyncOrganizationsResource(self._client)
170
+
171
+ @cached_property
172
+ def ip_info(self) -> AsyncIPInfoResource:
173
+ return AsyncIPInfoResource(self._client)
174
+
49
175
  @cached_property
50
176
  def with_raw_response(self) -> AsyncWaapResourceWithRawResponse:
51
177
  """
@@ -65,38 +191,169 @@ class AsyncWaapResource(AsyncAPIResource):
65
191
  """
66
192
  return AsyncWaapResourceWithStreamingResponse(self)
67
193
 
194
+ async def get_account_overview(
195
+ self,
196
+ *,
197
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
198
+ # The extra values given here take precedence over values defined on the client or passed to this method.
199
+ extra_headers: Headers | None = None,
200
+ extra_query: Query | None = None,
201
+ extra_body: Body | None = None,
202
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
203
+ ) -> WaapGetAccountOverviewResponse:
204
+ """Get information about WAAP service for the client"""
205
+ return await self._get(
206
+ "/waap/v1/clients/me",
207
+ options=make_request_options(
208
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
209
+ ),
210
+ cast_to=WaapGetAccountOverviewResponse,
211
+ )
212
+
68
213
 
69
214
  class WaapResourceWithRawResponse:
70
215
  def __init__(self, waap: WaapResource) -> None:
71
216
  self._waap = waap
72
217
 
218
+ self.get_account_overview = to_raw_response_wrapper(
219
+ waap.get_account_overview,
220
+ )
221
+
222
+ @cached_property
223
+ def statistics(self) -> StatisticsResourceWithRawResponse:
224
+ return StatisticsResourceWithRawResponse(self._waap.statistics)
225
+
73
226
  @cached_property
74
227
  def domains(self) -> DomainsResourceWithRawResponse:
75
228
  return DomainsResourceWithRawResponse(self._waap.domains)
76
229
 
230
+ @cached_property
231
+ def custom_page_sets(self) -> CustomPageSetsResourceWithRawResponse:
232
+ return CustomPageSetsResourceWithRawResponse(self._waap.custom_page_sets)
233
+
234
+ @cached_property
235
+ def advanced_rules(self) -> AdvancedRulesResourceWithRawResponse:
236
+ return AdvancedRulesResourceWithRawResponse(self._waap.advanced_rules)
237
+
238
+ @cached_property
239
+ def tags(self) -> TagsResourceWithRawResponse:
240
+ return TagsResourceWithRawResponse(self._waap.tags)
241
+
242
+ @cached_property
243
+ def organizations(self) -> OrganizationsResourceWithRawResponse:
244
+ return OrganizationsResourceWithRawResponse(self._waap.organizations)
245
+
246
+ @cached_property
247
+ def ip_info(self) -> IPInfoResourceWithRawResponse:
248
+ return IPInfoResourceWithRawResponse(self._waap.ip_info)
249
+
77
250
 
78
251
  class AsyncWaapResourceWithRawResponse:
79
252
  def __init__(self, waap: AsyncWaapResource) -> None:
80
253
  self._waap = waap
81
254
 
255
+ self.get_account_overview = async_to_raw_response_wrapper(
256
+ waap.get_account_overview,
257
+ )
258
+
259
+ @cached_property
260
+ def statistics(self) -> AsyncStatisticsResourceWithRawResponse:
261
+ return AsyncStatisticsResourceWithRawResponse(self._waap.statistics)
262
+
82
263
  @cached_property
83
264
  def domains(self) -> AsyncDomainsResourceWithRawResponse:
84
265
  return AsyncDomainsResourceWithRawResponse(self._waap.domains)
85
266
 
267
+ @cached_property
268
+ def custom_page_sets(self) -> AsyncCustomPageSetsResourceWithRawResponse:
269
+ return AsyncCustomPageSetsResourceWithRawResponse(self._waap.custom_page_sets)
270
+
271
+ @cached_property
272
+ def advanced_rules(self) -> AsyncAdvancedRulesResourceWithRawResponse:
273
+ return AsyncAdvancedRulesResourceWithRawResponse(self._waap.advanced_rules)
274
+
275
+ @cached_property
276
+ def tags(self) -> AsyncTagsResourceWithRawResponse:
277
+ return AsyncTagsResourceWithRawResponse(self._waap.tags)
278
+
279
+ @cached_property
280
+ def organizations(self) -> AsyncOrganizationsResourceWithRawResponse:
281
+ return AsyncOrganizationsResourceWithRawResponse(self._waap.organizations)
282
+
283
+ @cached_property
284
+ def ip_info(self) -> AsyncIPInfoResourceWithRawResponse:
285
+ return AsyncIPInfoResourceWithRawResponse(self._waap.ip_info)
286
+
86
287
 
87
288
  class WaapResourceWithStreamingResponse:
88
289
  def __init__(self, waap: WaapResource) -> None:
89
290
  self._waap = waap
90
291
 
292
+ self.get_account_overview = to_streamed_response_wrapper(
293
+ waap.get_account_overview,
294
+ )
295
+
296
+ @cached_property
297
+ def statistics(self) -> StatisticsResourceWithStreamingResponse:
298
+ return StatisticsResourceWithStreamingResponse(self._waap.statistics)
299
+
91
300
  @cached_property
92
301
  def domains(self) -> DomainsResourceWithStreamingResponse:
93
302
  return DomainsResourceWithStreamingResponse(self._waap.domains)
94
303
 
304
+ @cached_property
305
+ def custom_page_sets(self) -> CustomPageSetsResourceWithStreamingResponse:
306
+ return CustomPageSetsResourceWithStreamingResponse(self._waap.custom_page_sets)
307
+
308
+ @cached_property
309
+ def advanced_rules(self) -> AdvancedRulesResourceWithStreamingResponse:
310
+ return AdvancedRulesResourceWithStreamingResponse(self._waap.advanced_rules)
311
+
312
+ @cached_property
313
+ def tags(self) -> TagsResourceWithStreamingResponse:
314
+ return TagsResourceWithStreamingResponse(self._waap.tags)
315
+
316
+ @cached_property
317
+ def organizations(self) -> OrganizationsResourceWithStreamingResponse:
318
+ return OrganizationsResourceWithStreamingResponse(self._waap.organizations)
319
+
320
+ @cached_property
321
+ def ip_info(self) -> IPInfoResourceWithStreamingResponse:
322
+ return IPInfoResourceWithStreamingResponse(self._waap.ip_info)
323
+
95
324
 
96
325
  class AsyncWaapResourceWithStreamingResponse:
97
326
  def __init__(self, waap: AsyncWaapResource) -> None:
98
327
  self._waap = waap
99
328
 
329
+ self.get_account_overview = async_to_streamed_response_wrapper(
330
+ waap.get_account_overview,
331
+ )
332
+
333
+ @cached_property
334
+ def statistics(self) -> AsyncStatisticsResourceWithStreamingResponse:
335
+ return AsyncStatisticsResourceWithStreamingResponse(self._waap.statistics)
336
+
100
337
  @cached_property
101
338
  def domains(self) -> AsyncDomainsResourceWithStreamingResponse:
102
339
  return AsyncDomainsResourceWithStreamingResponse(self._waap.domains)
340
+
341
+ @cached_property
342
+ def custom_page_sets(self) -> AsyncCustomPageSetsResourceWithStreamingResponse:
343
+ return AsyncCustomPageSetsResourceWithStreamingResponse(self._waap.custom_page_sets)
344
+
345
+ @cached_property
346
+ def advanced_rules(self) -> AsyncAdvancedRulesResourceWithStreamingResponse:
347
+ return AsyncAdvancedRulesResourceWithStreamingResponse(self._waap.advanced_rules)
348
+
349
+ @cached_property
350
+ def tags(self) -> AsyncTagsResourceWithStreamingResponse:
351
+ return AsyncTagsResourceWithStreamingResponse(self._waap.tags)
352
+
353
+ @cached_property
354
+ def organizations(self) -> AsyncOrganizationsResourceWithStreamingResponse:
355
+ return AsyncOrganizationsResourceWithStreamingResponse(self._waap.organizations)
356
+
357
+ @cached_property
358
+ def ip_info(self) -> AsyncIPInfoResourceWithStreamingResponse:
359
+ return AsyncIPInfoResourceWithStreamingResponse(self._waap.ip_info)
@@ -9,7 +9,7 @@ __all__ = ["AllowedAddressPairs"]
9
9
 
10
10
  class AllowedAddressPairs(BaseModel):
11
11
  ip_address: str
12
- """Subnet mask or IP address of the port specified in allowed_address_pairs"""
12
+ """Subnet mask or IP address of the port specified in `allowed_address_pairs`"""
13
13
 
14
14
  mac_address: Optional[str] = None
15
- """MAC address of the port specified in allowed_address_pairs"""
15
+ """MAC address of the port specified in `allowed_address_pairs`"""
@@ -10,4 +10,3 @@ from .server_create_params import ServerCreateParams as ServerCreateParams
10
10
  from .server_rebuild_params import ServerRebuildParams as ServerRebuildParams
11
11
  from .baremetal_fixed_address import BaremetalFixedAddress as BaremetalFixedAddress
12
12
  from .baremetal_floating_address import BaremetalFloatingAddress as BaremetalFloatingAddress
13
- from .flavor_list_suitable_params import FlavorListSuitableParams as FlavorListSuitableParams
@@ -76,7 +76,7 @@ class BaremetalServer(BaseModel):
76
76
  """Bare metal server ID"""
77
77
 
78
78
  addresses: Dict[str, List[Address]]
79
- """Map of network_name to list of addresses in that network"""
79
+ """Map of `network_name` to list of addresses in that network"""
80
80
 
81
81
  blackhole_ports: List[BlackholePort]
82
82
  """IP addresses of the instances that are blackholed by DDoS mitigation system"""
@@ -23,11 +23,7 @@ class ImageListParams(TypedDict, total=False):
23
23
  """Filter by tag keys."""
24
24
 
25
25
  tag_key_value: str
26
- """Filter by tag key-value pairs.
27
-
28
- Must be a valid JSON string. 'curl -G --data-urlencode 'tag_key_value={"key":
29
- "value"}' --url 'http://localhost:1111/v1/images/1/1'"
30
- """
26
+ """Filter by tag key-value pairs. Must be a valid JSON string."""
31
27
 
32
28
  visibility: Literal["private", "public", "shared"]
33
29
  """Image visibility. Globally visible images are public"""
@@ -2,11 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Union, Iterable, Optional
5
+ from typing import Dict, Union, Iterable, Optional
6
6
  from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
7
 
8
8
  from ..interface_ip_family import InterfaceIPFamily
9
- from ..tag_update_map_param import TagUpdateMapParam
10
9
 
11
10
  __all__ = [
12
11
  "ServerCreateParams",
@@ -68,8 +67,8 @@ class ServerCreateParams(TypedDict, total=False):
68
67
  If you want server names to be automatically generated based on IP addresses,
69
68
  you can provide a name template instead of specifying the name manually. The
70
69
  template should include a placeholder that will be replaced during provisioning.
71
- Supported placeholders are: `{ip_octets}` (last 3 octets of the IP),
72
- `{two_ip_octets}`, and `{one_ip_octet}`.
70
+ Supported placeholders are: `{`ip_octets`}` (last 3 octets of the IP),
71
+ `{`two_ip_octets`}`, and `{`one_ip_octet`}`.
73
72
  """
74
73
 
75
74
  password: str
@@ -78,17 +77,17 @@ class ServerCreateParams(TypedDict, total=False):
78
77
  When only 'password' is provided, it is set as the password for the default user
79
78
  of the image. For Windows instances, 'username' cannot be specified. Use the
80
79
  'password' field to set the password for the 'Admin' user on Windows. Use the
81
- 'user_data' field to provide a script to create new users on Windows. The
82
- password of the Admin user cannot be updated via 'user_data'.
80
+ '`user_data`' field to provide a script to create new users on Windows. The
81
+ password of the Admin user cannot be updated via '`user_data`'.
83
82
  """
84
83
 
85
84
  ssh_key_name: Optional[str]
86
85
  """
87
86
  Specifies the name of the SSH keypair, created via the
88
- <a href="#operation/SSHKeyCollectionViewSet.post">/v1/ssh_keys endpoint</a>.
87
+ [/v1/`ssh_keys` endpoint](/docs/api-reference/ssh-keys/add-or-generate-ssh-key).
89
88
  """
90
89
 
91
- tags: TagUpdateMapParam
90
+ tags: Dict[str, str]
92
91
  """Key-value tags to associate with the resource.
93
92
 
94
93
  A tag is a key-value pair that can be associated with a resource, enabling
@@ -101,9 +100,9 @@ class ServerCreateParams(TypedDict, total=False):
101
100
  user_data: str
102
101
  """String in base64 format.
103
102
 
104
- For Linux instances, 'user_data' is ignored when 'password' field is provided.
103
+ For Linux instances, '`user_data`' is ignored when 'password' field is provided.
105
104
  For Windows instances, Admin user password is set by 'password' field and cannot
106
- be updated via 'user_data'. Examples of the user_data:
105
+ be updated via '`user_data`'. Examples of the `user_data`:
107
106
  https://cloudinit.readthedocs.io/en/latest/topics/examples.html
108
107
  """
109
108
 
@@ -353,18 +352,15 @@ class DDOSProfileField(TypedDict, total=False):
353
352
  """Name of DDoS profile field"""
354
353
 
355
354
  field_value: Union[Iterable[object], int, str, None]
356
- """Complex value. Only one of 'value' or 'field_value' must be specified."""
355
+ """Complex value. Only one of 'value' or '`field_value`' must be specified."""
357
356
 
358
357
  value: Optional[str]
359
- """Basic type value. Only one of 'value' or 'field_value' must be specified."""
358
+ """Basic type value. Only one of 'value' or '`field_value`' must be specified."""
360
359
 
361
360
 
362
361
  class DDOSProfile(TypedDict, total=False):
363
362
  profile_template: Required[int]
364
- """DDoS profile template ID"""
363
+ """Advanced DDoS template ID"""
365
364
 
366
- fields: Optional[Iterable[DDOSProfileField]]
365
+ fields: Iterable[DDOSProfileField]
367
366
  """DDoS profile parameters"""
368
-
369
- profile_template_name: Optional[str]
370
- """DDoS profile template name"""
@@ -28,10 +28,10 @@ class ServerListParams(TypedDict, total=False):
28
28
  """
29
29
 
30
30
  flavor_id: str
31
- """Filter out instances by flavor_id. Flavor id must match exactly."""
31
+ """Filter out instances by `flavor_id`. Flavor id must match exactly."""
32
32
 
33
33
  flavor_prefix: str
34
- """Filter out instances by flavor_prefix."""
34
+ """Filter out instances by `flavor_prefix`."""
35
35
 
36
36
  include_k8s: bool
37
37
  """Include managed k8s worker nodes"""
@@ -72,32 +72,28 @@ class ServerListParams(TypedDict, total=False):
72
72
  profile_name: str
73
73
  """Filter result by ddos protection profile name.
74
74
 
75
- Effective only with with_ddos set to true.
75
+ Effective only with `with_ddos` set to true.
76
76
  """
77
77
 
78
78
  protection_status: Literal["Active", "Queued", "Error"]
79
- """Filter result by DDoS protection_status.
79
+ """Filter result by DDoS `protection_status`.
80
80
 
81
- Effective only with with_ddos set to true. (Active, Queued or Error)
81
+ Effective only with `with_ddos` set to true. (Active, Queued or Error)
82
82
  """
83
83
 
84
84
  status: Literal["ACTIVE", "BUILD", "ERROR", "HARD_REBOOT", "REBOOT", "REBUILD", "RESCUE", "SHUTOFF", "SUSPENDED"]
85
85
  """Filters instances by a server status, as a string."""
86
86
 
87
87
  tag_key_value: str
88
- """Optional.
89
-
90
- Filter by tag key-value pairs. curl -G --data-urlencode "tag_key_value={"key":
91
- "value"}" --url "https://example.com/cloud/v1/resource/1/1"
92
- """
88
+ """Optional. Filter by tag key-value pairs."""
93
89
 
94
90
  tag_value: List[str]
95
- """Optional. Filter by tag values. ?tag_value=value1&tag_value=value2"""
91
+ """Optional. Filter by tag values. ?`tag_value`=value1&`tag_value`=value2"""
96
92
 
97
93
  type_ddos_profile: Literal["basic", "advanced"]
98
94
  """Return bare metals either only with advanced or only basic DDoS protection.
99
95
 
100
- Effective only with with_ddos set to true. (advanced or basic)
96
+ Effective only with `with_ddos` set to true. (advanced or basic)
101
97
  """
102
98
 
103
99
  uuid: str
@@ -19,5 +19,5 @@ class ServerRebuildParams(TypedDict, total=False):
19
19
  """String in base64 format.
20
20
 
21
21
  Must not be passed together with 'username' or 'password'. Examples of the
22
- user_data: https://cloudinit.readthedocs.io/en/latest/topics/examples.html
22
+ `user_data`: https://cloudinit.readthedocs.io/en/latest/topics/examples.html
23
23
  """
@@ -37,16 +37,16 @@ class BaremetalFlavor(BaseModel):
37
37
  """Number of available instances of given configuration"""
38
38
 
39
39
  currency_code: Optional[str] = None
40
- """Currency code. Shown if the include_prices query parameter if set to true"""
40
+ """Currency code. Shown if the `include_prices` query parameter if set to true"""
41
41
 
42
42
  hardware_description: Optional[Dict[str, str]] = None
43
43
  """Additional hardware description"""
44
44
 
45
45
  price_per_hour: Optional[float] = None
46
- """Price per hour. Shown if the include_prices query parameter if set to true"""
46
+ """Price per hour. Shown if the `include_prices` query parameter if set to true"""
47
47
 
48
48
  price_per_month: Optional[float] = None
49
- """Price per month. Shown if the include_prices query parameter if set to true"""
49
+ """Price per month. Shown if the `include_prices` query parameter if set to true"""
50
50
 
51
51
  price_status: Optional[Literal["error", "hide", "show"]] = None
52
52
  """Price status for the UI"""
@@ -13,4 +13,4 @@ class ContainerProbeConfig(BaseModel):
13
13
  """Whether the probe is enabled or not."""
14
14
 
15
15
  probe: Optional[ContainerProbe] = None
16
- """Probe configuration (exec, http_get or tcp_socket)"""
16
+ """Probe configuration (exec, `http_get` or `tcp_socket`)"""
@@ -14,4 +14,4 @@ class ContainerProbeConfigCreateParam(TypedDict, total=False):
14
14
  """Whether the probe is enabled or not."""
15
15
 
16
16
  probe: ContainerProbeCreateParam
17
- """Probe configuration (exec, http_get or tcp_socket)"""
17
+ """Probe configuration (exec, `http_get` or `tcp_socket`)"""
@@ -17,13 +17,13 @@ class ContainerScaleTriggers(BaseModel):
17
17
  gpu_memory: Optional[ContainerScaleTriggerThreshold] = None
18
18
  """GPU memory trigger configuration.
19
19
 
20
- Calculated by DCGM_FI_DEV_MEM_COPY_UTIL metric
20
+ Calculated by `DCGM_FI_DEV_MEM_COPY_UTIL` metric
21
21
  """
22
22
 
23
23
  gpu_utilization: Optional[ContainerScaleTriggerThreshold] = None
24
24
  """GPU utilization trigger configuration.
25
25
 
26
- Calculated by DCGM_FI_DEV_GPU_UTIL metric
26
+ Calculated by `DCGM_FI_DEV_GPU_UTIL` metric
27
27
  """
28
28
 
29
29
  http: Optional[ContainerScaleTriggerRate] = None
@@ -8,14 +8,20 @@ from .ddos_profile_status import DDOSProfileStatus
8
8
  from .ddos_profile_template import DDOSProfileTemplate
9
9
  from .ddos_profile_option_list import DDOSProfileOptionList
10
10
 
11
- __all__ = ["DDOSProfile"]
11
+ __all__ = ["DDOSProfile", "Protocol"]
12
+
13
+
14
+ class Protocol(BaseModel):
15
+ port: str
16
+
17
+ protocols: List[str]
12
18
 
13
19
 
14
20
  class DDOSProfile(BaseModel):
15
21
  id: int
16
22
  """DDoS protection profile ID"""
17
23
 
18
- profile_template: DDOSProfileTemplate
24
+ profile_template: Optional[DDOSProfileTemplate] = None
19
25
  """Template data"""
20
26
 
21
27
  fields: Optional[List[DDOSProfileField]] = None
@@ -25,7 +31,7 @@ class DDOSProfile(BaseModel):
25
31
  profile_template_description: Optional[str] = None
26
32
  """DDoS profile template description"""
27
33
 
28
- protocols: Optional[List[object]] = None
34
+ protocols: Optional[List[Protocol]] = None
29
35
  """List of protocols"""
30
36
 
31
37
  site: Optional[str] = None
@@ -2,11 +2,9 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Union, Iterable
5
+ from typing import Dict, Union, Iterable
6
6
  from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
7
 
8
- from .tag_update_map_param import TagUpdateMapParam
9
-
10
8
  __all__ = [
11
9
  "FileShareCreateParams",
12
10
  "CreateStandardFileShareSerializer",
@@ -38,7 +36,7 @@ class CreateStandardFileShareSerializer(TypedDict, total=False):
38
36
  access: Iterable[CreateStandardFileShareSerializerAccess]
39
37
  """Access Rules"""
40
38
 
41
- tags: TagUpdateMapParam
39
+ tags: Dict[str, str]
42
40
  """Key-value tags to associate with the resource.
43
41
 
44
42
  A tag is a key-value pair that can be associated with a resource, enabling
@@ -90,7 +88,7 @@ class CreateVastFileShareSerializer(TypedDict, total=False):
90
88
  volume_type: Required[Literal["vast_share_type"]]
91
89
  """File share volume type"""
92
90
 
93
- tags: TagUpdateMapParam
91
+ tags: Dict[str, str]
94
92
  """Key-value tags to associate with the resource.
95
93
 
96
94
  A tag is a key-value pair that can be associated with a resource, enabling
@@ -2,11 +2,9 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Optional
5
+ from typing import Dict, Optional
6
6
  from typing_extensions import TypedDict
7
7
 
8
- from .tag_update_map_param import TagUpdateMapParam
9
-
10
8
  __all__ = ["FloatingIPCreateParams"]
11
9
 
12
10
 
@@ -29,7 +27,7 @@ class FloatingIPCreateParams(TypedDict, total=False):
29
27
  If provided, the floating IP will be immediately attached to the specified port.
30
28
  """
31
29
 
32
- tags: TagUpdateMapParam
30
+ tags: Dict[str, str]
33
31
  """Key-value tags to associate with the resource.
34
32
 
35
33
  A tag is a key-value pair that can be associated with a resource, enabling
@@ -56,7 +56,7 @@ class Instance(BaseModel):
56
56
  """Instance ID"""
57
57
 
58
58
  addresses: Dict[str, List[InstanceAddress]]
59
- """Map of network_name to list of addresses in that network"""
59
+ """Map of `network_name` to list of addresses in that network"""
60
60
 
61
61
  created_at: datetime
62
62
  """Datetime when instance was created"""