gcore 0.1.0a2__py3-none-any.whl → 0.3.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 (293) hide show
  1. gcore/__init__.py +5 -0
  2. gcore/_base_client.py +22 -2
  3. gcore/_client.py +9 -0
  4. gcore/_models.py +2 -0
  5. gcore/_types.py +2 -0
  6. gcore/_utils/_proxy.py +4 -1
  7. gcore/_utils/_resources_proxy.py +24 -0
  8. gcore/_version.py +1 -1
  9. gcore/resources/__init__.py +14 -0
  10. gcore/resources/cloud/baremetal/flavors.py +2 -2
  11. gcore/resources/cloud/baremetal/images.py +2 -2
  12. gcore/resources/cloud/baremetal/servers.py +280 -52
  13. gcore/resources/cloud/billing_reservations.py +24 -0
  14. gcore/resources/cloud/file_shares/file_shares.py +16 -0
  15. gcore/resources/cloud/floating_ips.py +4 -4
  16. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +358 -8
  17. gcore/resources/cloud/gpu_baremetal_clusters/images.py +206 -2
  18. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +84 -4
  19. gcore/resources/cloud/inference/deployments/deployments.py +328 -10
  20. gcore/resources/cloud/instances/flavors.py +2 -2
  21. gcore/resources/cloud/instances/images.py +318 -2
  22. gcore/resources/cloud/instances/instances.py +534 -70
  23. gcore/resources/cloud/instances/interfaces.py +4 -4
  24. gcore/resources/cloud/load_balancers/flavors.py +2 -2
  25. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +302 -20
  26. gcore/resources/cloud/load_balancers/l7_policies/rules.py +326 -0
  27. gcore/resources/cloud/load_balancers/listeners.py +385 -20
  28. gcore/resources/cloud/load_balancers/load_balancers.py +392 -24
  29. gcore/resources/cloud/load_balancers/pools/health_monitors.py +24 -0
  30. gcore/resources/cloud/load_balancers/pools/members.py +34 -6
  31. gcore/resources/cloud/load_balancers/pools/pools.py +388 -8
  32. gcore/resources/cloud/networks/networks.py +72 -16
  33. gcore/resources/cloud/networks/subnets.py +6 -6
  34. gcore/resources/cloud/registries/registries.py +6 -10
  35. gcore/resources/cloud/registries/users.py +4 -10
  36. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +10 -10
  37. gcore/resources/cloud/secrets.py +56 -11
  38. gcore/resources/cloud/security_groups/security_groups.py +2 -2
  39. gcore/resources/cloud/ssh_keys.py +2 -2
  40. gcore/resources/cloud/tasks.py +203 -184
  41. gcore/resources/cloud/users/role_assignments.py +4 -4
  42. gcore/resources/cloud/volumes.py +18 -18
  43. gcore/resources/waap/__init__.py +131 -0
  44. gcore/resources/waap/advanced_rules.py +135 -0
  45. gcore/resources/waap/clients.py +135 -0
  46. gcore/resources/waap/custom_page_sets.py +805 -0
  47. gcore/resources/waap/domains/__init__.py +173 -0
  48. gcore/resources/waap/domains/advanced_rules.py +876 -0
  49. gcore/resources/waap/domains/analytics/__init__.py +33 -0
  50. gcore/resources/waap/domains/analytics/analytics.py +676 -0
  51. gcore/resources/waap/domains/analytics/requests.py +378 -0
  52. gcore/resources/waap/domains/api_discovery/__init__.py +33 -0
  53. gcore/resources/waap/domains/api_discovery/api_discovery.py +530 -0
  54. gcore/resources/waap/domains/api_discovery/scan_results.py +352 -0
  55. gcore/resources/waap/domains/api_path_groups.py +163 -0
  56. gcore/resources/waap/domains/api_paths.py +771 -0
  57. gcore/resources/waap/domains/custom_rules.py +889 -0
  58. gcore/resources/waap/domains/domains.py +914 -0
  59. gcore/resources/waap/domains/firewall_rules.py +884 -0
  60. gcore/resources/waap/domains/insight_silences.py +689 -0
  61. gcore/resources/waap/domains/insights.py +425 -0
  62. gcore/resources/waap/domains/policies.py +173 -0
  63. gcore/resources/waap/domains/settings.py +271 -0
  64. gcore/resources/waap/ip_info.py +1017 -0
  65. gcore/resources/waap/organizations.py +217 -0
  66. gcore/resources/waap/statistics.py +225 -0
  67. gcore/resources/waap/tags.py +233 -0
  68. gcore/resources/waap/waap.py +391 -0
  69. gcore/types/cloud/__init__.py +1 -0
  70. gcore/types/cloud/allowed_address_pairs.py +2 -2
  71. gcore/types/cloud/baremetal/baremetal_server.py +1 -1
  72. gcore/types/cloud/baremetal/image_list_params.py +1 -1
  73. gcore/types/cloud/baremetal/server_create_params.py +9 -9
  74. gcore/types/cloud/baremetal/server_list_params.py +8 -8
  75. gcore/types/cloud/baremetal/server_rebuild_params.py +1 -1
  76. gcore/types/cloud/baremetal_flavor.py +3 -3
  77. gcore/types/cloud/billing_reservation_list_params.py +5 -0
  78. gcore/types/cloud/container_probe_config.py +1 -1
  79. gcore/types/cloud/container_probe_config_create_param.py +2 -3
  80. gcore/types/cloud/container_scale_triggers.py +2 -2
  81. gcore/types/cloud/file_share.py +3 -0
  82. gcore/types/cloud/file_share_list_params.py +7 -1
  83. gcore/types/cloud/floating_ip_detailed.py +1 -1
  84. gcore/types/cloud/floating_ip_list_params.py +2 -2
  85. gcore/types/cloud/gpu_baremetal_cluster.py +1 -1
  86. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +21 -1
  87. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +1 -1
  88. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +1 -1
  89. gcore/types/cloud/gpu_baremetal_cluster_server.py +1 -1
  90. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +1 -1
  91. gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +10 -10
  92. gcore/types/cloud/gpu_baremetal_flavor.py +3 -3
  93. gcore/types/cloud/image.py +1 -1
  94. gcore/types/cloud/inference/deployment_create_params.py +4 -4
  95. gcore/types/cloud/inference/deployment_update_params.py +206 -9
  96. gcore/types/cloud/inference/inference.py +5 -5
  97. gcore/types/cloud/instance.py +1 -1
  98. gcore/types/cloud/instance_create_params.py +8 -10
  99. gcore/types/cloud/instance_list_params.py +8 -8
  100. gcore/types/cloud/instances/flavor_list_suitable_params.py +4 -1
  101. gcore/types/cloud/instances/image_list_params.py +1 -1
  102. gcore/types/cloud/instances/instance_flavor.py +3 -3
  103. gcore/types/cloud/instances/interface_attach_params.py +10 -10
  104. gcore/types/cloud/load_balancer_create_params.py +17 -15
  105. gcore/types/cloud/load_balancer_flavor_detail.py +3 -3
  106. gcore/types/cloud/load_balancer_l7_policy.py +5 -5
  107. gcore/types/cloud/load_balancer_list_params.py +5 -5
  108. gcore/types/cloud/load_balancer_listener_detail.py +17 -17
  109. gcore/types/cloud/load_balancer_pool.py +13 -13
  110. gcore/types/cloud/load_balancer_pool_list.py +99 -4
  111. gcore/types/cloud/load_balancers/l7_policy_create_params.py +5 -5
  112. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +5 -5
  113. gcore/types/cloud/load_balancers/listener_create_params.py +6 -4
  114. gcore/types/cloud/load_balancers/listener_get_params.py +3 -1
  115. gcore/types/cloud/load_balancers/listener_list_params.py +4 -2
  116. gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
  117. gcore/types/cloud/load_balancers/pool_create_params.py +6 -4
  118. gcore/types/cloud/load_balancers/pool_list_params.py +5 -6
  119. gcore/types/cloud/load_balancers/pool_update_params.py +6 -4
  120. gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +2 -0
  121. gcore/types/cloud/load_balancers/pools/member_add_params.py +5 -3
  122. gcore/types/cloud/member.py +2 -2
  123. gcore/types/cloud/network.py +22 -22
  124. gcore/types/cloud/network_create_params.py +2 -0
  125. gcore/types/cloud/network_details.py +25 -24
  126. gcore/types/cloud/network_list_params.py +15 -10
  127. gcore/types/cloud/network_update_params.py +2 -0
  128. gcore/types/cloud/networks/subnet_create_params.py +1 -1
  129. gcore/types/cloud/networks/subnet_list_params.py +2 -2
  130. gcore/types/cloud/quota_get_all_response.py +18 -0
  131. gcore/types/cloud/quota_get_by_region_response.py +18 -0
  132. gcore/types/cloud/quotas/request_create_params.py +9 -0
  133. gcore/types/cloud/quotas/request_get_response.py +9 -0
  134. gcore/types/cloud/quotas/request_list_response.py +9 -0
  135. gcore/types/cloud/region.py +4 -4
  136. gcore/types/cloud/registries/user_create_multiple_params.py +3 -5
  137. gcore/types/cloud/registries/user_create_params.py +3 -5
  138. gcore/types/cloud/registry_create_params.py +3 -5
  139. gcore/types/cloud/reserved_fixed_ip_create_params.py +2 -2
  140. gcore/types/cloud/reserved_fixed_ip_list_params.py +3 -3
  141. gcore/types/cloud/secret_list_params.py +24 -0
  142. gcore/types/cloud/security_group_list_params.py +1 -1
  143. gcore/types/cloud/session_persistence.py +1 -1
  144. gcore/types/cloud/ssh_key_created.py +3 -6
  145. gcore/types/cloud/task.py +1 -4
  146. gcore/types/cloud/task_list_params.py +56 -46
  147. gcore/types/cloud/users/role_assignment_create_params.py +1 -1
  148. gcore/types/cloud/users/role_assignment_update_params.py +1 -1
  149. gcore/types/cloud/volume_create_params.py +6 -6
  150. gcore/types/cloud/volume_list_params.py +3 -3
  151. gcore/types/waap/__init__.py +108 -0
  152. gcore/types/waap/client_me_response.py +34 -0
  153. gcore/types/waap/custom_page_set_create_params.py +35 -0
  154. gcore/types/waap/custom_page_set_list_params.py +25 -0
  155. gcore/types/waap/custom_page_set_preview_params.py +34 -0
  156. gcore/types/waap/custom_page_set_update_params.py +35 -0
  157. gcore/types/waap/domain_list_params.py +30 -0
  158. gcore/types/waap/domain_list_rule_sets_response.py +10 -0
  159. gcore/types/waap/domain_update_params.py +12 -0
  160. gcore/types/waap/domains/__init__.py +47 -0
  161. gcore/types/waap/domains/advanced_rule_create_params.py +80 -0
  162. gcore/types/waap/domains/advanced_rule_list_params.py +58 -0
  163. gcore/types/waap/domains/advanced_rule_update_params.py +83 -0
  164. gcore/types/waap/domains/analytics/__init__.py +5 -0
  165. gcore/types/waap/domains/analytics/request_list_params.py +53 -0
  166. gcore/types/waap/domains/analytics_get_event_statistics_params.py +34 -0
  167. gcore/types/waap/domains/analytics_list_ddos_attacks_params.py +28 -0
  168. gcore/types/waap/domains/analytics_list_ddos_info_params.py +31 -0
  169. gcore/types/waap/domains/analytics_list_event_traffic_params.py +26 -0
  170. gcore/types/waap/domains/analytics_list_event_traffic_response.py +10 -0
  171. gcore/types/waap/domains/api_discovery/__init__.py +7 -0
  172. gcore/types/waap/domains/api_discovery/scan_result_get_response.py +29 -0
  173. gcore/types/waap/domains/api_discovery/scan_result_list_params.py +41 -0
  174. gcore/types/waap/domains/api_discovery/scan_result_list_response.py +29 -0
  175. gcore/types/waap/domains/api_discovery_get_settings_response.py +36 -0
  176. gcore/types/waap/domains/api_discovery_scan_openapi_response.py +10 -0
  177. gcore/types/waap/domains/api_discovery_update_settings_params.py +34 -0
  178. gcore/types/waap/domains/api_discovery_update_settings_response.py +36 -0
  179. gcore/types/waap/domains/api_discovery_upload_openapi_params.py +19 -0
  180. gcore/types/waap/domains/api_discovery_upload_openapi_response.py +10 -0
  181. gcore/types/waap/domains/api_path_create_params.py +31 -0
  182. gcore/types/waap/domains/api_path_create_response.py +50 -0
  183. gcore/types/waap/domains/api_path_get_response.py +50 -0
  184. gcore/types/waap/domains/api_path_group_list_response.py +12 -0
  185. gcore/types/waap/domains/api_path_list_params.py +62 -0
  186. gcore/types/waap/domains/api_path_list_response.py +50 -0
  187. gcore/types/waap/domains/api_path_update_params.py +29 -0
  188. gcore/types/waap/domains/custom_rule_create_params.py +368 -0
  189. gcore/types/waap/domains/custom_rule_delete_multiple_params.py +13 -0
  190. gcore/types/waap/domains/custom_rule_list_params.py +35 -0
  191. gcore/types/waap/domains/custom_rule_update_params.py +371 -0
  192. gcore/types/waap/domains/firewall_rule_create_params.py +75 -0
  193. gcore/types/waap/domains/firewall_rule_delete_multiple_params.py +13 -0
  194. gcore/types/waap/domains/firewall_rule_list_params.py +33 -0
  195. gcore/types/waap/domains/firewall_rule_update_params.py +78 -0
  196. gcore/types/waap/domains/insight_list_params.py +34 -0
  197. gcore/types/waap/domains/insight_replace_params.py +17 -0
  198. gcore/types/waap/domains/insight_silence_create_params.py +28 -0
  199. gcore/types/waap/domains/insight_silence_list_params.py +33 -0
  200. gcore/types/waap/domains/insight_silence_update_params.py +28 -0
  201. gcore/types/waap/domains/setting_update_params.py +48 -0
  202. gcore/types/waap/ip_info_get_attack_time_series_params.py +12 -0
  203. gcore/types/waap/ip_info_get_attack_time_series_response.py +10 -0
  204. gcore/types/waap/ip_info_get_blocked_requests_params.py +15 -0
  205. gcore/types/waap/ip_info_get_blocked_requests_response.py +10 -0
  206. gcore/types/waap/ip_info_get_counts_params.py +19 -0
  207. gcore/types/waap/ip_info_get_ddos_attack_series_params.py +12 -0
  208. gcore/types/waap/ip_info_get_params.py +12 -0
  209. gcore/types/waap/ip_info_get_top_sessions_params.py +15 -0
  210. gcore/types/waap/ip_info_get_top_sessions_response.py +10 -0
  211. gcore/types/waap/ip_info_get_top_urls_params.py +15 -0
  212. gcore/types/waap/ip_info_get_top_urls_response.py +10 -0
  213. gcore/types/waap/ip_info_get_top_user_agents_params.py +15 -0
  214. gcore/types/waap/ip_info_get_top_user_agents_response.py +10 -0
  215. gcore/types/waap/ip_info_list_attacked_countries_params.py +12 -0
  216. gcore/types/waap/ip_info_list_attacked_countries_response.py +10 -0
  217. gcore/types/waap/organization_list_params.py +22 -0
  218. gcore/types/waap/statistic_get_usage_series_params.py +25 -0
  219. gcore/types/waap/tag_list_params.py +28 -0
  220. gcore/types/waap/waap_advanced_rule.py +83 -0
  221. gcore/types/waap/waap_advanced_rule_descriptor.py +49 -0
  222. gcore/types/waap/waap_advanced_rule_descriptor_list.py +15 -0
  223. gcore/types/waap/waap_block_csrf_page_data.py +28 -0
  224. gcore/types/waap/waap_block_csrf_page_data_param.py +28 -0
  225. gcore/types/waap/waap_block_page_data.py +28 -0
  226. gcore/types/waap/waap_block_page_data_param.py +28 -0
  227. gcore/types/waap/waap_blocked_statistics.py +36 -0
  228. gcore/types/waap/waap_captcha_page_data.py +31 -0
  229. gcore/types/waap/waap_captcha_page_data_param.py +31 -0
  230. gcore/types/waap/waap_common_tag.py +16 -0
  231. gcore/types/waap/waap_cookie_disabled_page_data.py +18 -0
  232. gcore/types/waap/waap_cookie_disabled_page_data_param.py +18 -0
  233. gcore/types/waap/waap_count_statistics.py +36 -0
  234. gcore/types/waap/waap_custom_page_preview.py +10 -0
  235. gcore/types/waap/waap_custom_page_set.py +36 -0
  236. gcore/types/waap/waap_custom_rule.py +373 -0
  237. gcore/types/waap/waap_customer_rule_state.py +7 -0
  238. gcore/types/waap/waap_ddos_attack.py +16 -0
  239. gcore/types/waap/waap_ddos_info.py +17 -0
  240. gcore/types/waap/waap_detailed_domain.py +37 -0
  241. gcore/types/waap/waap_domain_api_settings.py +22 -0
  242. gcore/types/waap/waap_domain_ddos_settings.py +31 -0
  243. gcore/types/waap/waap_domain_policy.py +29 -0
  244. gcore/types/waap/waap_domain_settings_model.py +15 -0
  245. gcore/types/waap/waap_domain_status.py +7 -0
  246. gcore/types/waap/waap_event_statistics.py +15 -0
  247. gcore/types/waap/waap_firewall_rule.py +78 -0
  248. gcore/types/waap/waap_get_account_overview_response.py +34 -0
  249. gcore/types/waap/waap_handshake_page_data.py +25 -0
  250. gcore/types/waap/waap_handshake_page_data_param.py +25 -0
  251. gcore/types/waap/waap_insight.py +38 -0
  252. gcore/types/waap/waap_insight_silence.py +28 -0
  253. gcore/types/waap/waap_insight_silence_sort_by.py +9 -0
  254. gcore/types/waap/waap_insight_sort_by.py +20 -0
  255. gcore/types/waap/waap_insight_status.py +7 -0
  256. gcore/types/waap/waap_ip_country_attack.py +16 -0
  257. gcore/types/waap/waap_ip_ddos_info_model.py +23 -0
  258. gcore/types/waap/waap_ip_info.py +57 -0
  259. gcore/types/waap/waap_ip_info_counts.py +16 -0
  260. gcore/types/waap/waap_javascript_disabled_page_data.py +18 -0
  261. gcore/types/waap/waap_javascript_disabled_page_data_param.py +18 -0
  262. gcore/types/waap/waap_network_details.py +17 -0
  263. gcore/types/waap/waap_organization.py +13 -0
  264. gcore/types/waap/waap_page_type.py +9 -0
  265. gcore/types/waap/waap_paginated_custom_page_set.py +22 -0
  266. gcore/types/waap/waap_paginated_ddos_attack.py +22 -0
  267. gcore/types/waap/waap_paginated_ddos_info.py +22 -0
  268. gcore/types/waap/waap_paginated_request_summary.py +22 -0
  269. gcore/types/waap/waap_pattern_matched_tag.py +37 -0
  270. gcore/types/waap/waap_policy_action.py +7 -0
  271. gcore/types/waap/waap_policy_mode.py +10 -0
  272. gcore/types/waap/waap_request_details.py +92 -0
  273. gcore/types/waap/waap_request_organization.py +13 -0
  274. gcore/types/waap/waap_request_summary.py +59 -0
  275. gcore/types/waap/waap_resolution.py +7 -0
  276. gcore/types/waap/waap_rule_action_type.py +7 -0
  277. gcore/types/waap/waap_rule_blocked_requests.py +16 -0
  278. gcore/types/waap/waap_rule_set.py +41 -0
  279. gcore/types/waap/waap_statistic_item.py +18 -0
  280. gcore/types/waap/waap_statistics_series.py +16 -0
  281. gcore/types/waap/waap_summary_domain.py +26 -0
  282. gcore/types/waap/waap_tag.py +16 -0
  283. gcore/types/waap/waap_time_series_attack.py +23 -0
  284. gcore/types/waap/waap_top_session.py +24 -0
  285. gcore/types/waap/waap_top_url.py +13 -0
  286. gcore/types/waap/waap_top_user_agent.py +13 -0
  287. gcore/types/waap/waap_traffic_metrics.py +68 -0
  288. gcore/types/waap/waap_traffic_type.py +28 -0
  289. gcore/types/waap/waap_user_agent_details.py +40 -0
  290. {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/METADATA +3 -3
  291. {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/RECORD +293 -126
  292. {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/WHEEL +0 -0
  293. {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,37 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["WaapPatternMatchedTag"]
6
+
7
+
8
+ class WaapPatternMatchedTag(BaseModel):
9
+ description: str
10
+ """Tag description information"""
11
+
12
+ display_name: str
13
+ """The tag's display name"""
14
+
15
+ execution_phase: str
16
+ """
17
+ The phase in which the tag was triggered: access -> Request, `header_filter` ->
18
+ `response_header`, `body_filter` -> `response_body`
19
+ """
20
+
21
+ field: str
22
+ """The entity to which the variable that triggered the tag belong to.
23
+
24
+ For example: `request_headers`, uri, cookies etc.
25
+ """
26
+
27
+ field_name: str
28
+ """The name of the variable which holds the value that triggered the tag"""
29
+
30
+ pattern_name: str
31
+ """The name of the detected regexp pattern"""
32
+
33
+ pattern_value: str
34
+ """The pattern which triggered the tag"""
35
+
36
+ tag: str
37
+ """Tag name"""
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["WaapPolicyAction"]
6
+
7
+ WaapPolicyAction: TypeAlias = Literal["Allow", "Block", "Captcha", "Gateway", "Handshake", "Monitor", "Composite"]
@@ -0,0 +1,10 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["WaapPolicyMode"]
6
+
7
+
8
+ class WaapPolicyMode(BaseModel):
9
+ mode: bool
10
+ """Indicates if the security rule is active"""
@@ -0,0 +1,92 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+ from .waap_common_tag import WaapCommonTag
8
+ from .waap_network_details import WaapNetworkDetails
9
+ from .waap_user_agent_details import WaapUserAgentDetails
10
+ from .waap_pattern_matched_tag import WaapPatternMatchedTag
11
+
12
+ __all__ = ["WaapRequestDetails"]
13
+
14
+
15
+ class WaapRequestDetails(BaseModel):
16
+ id: str
17
+ """Request ID"""
18
+
19
+ action: str
20
+ """Request action"""
21
+
22
+ common_tags: List[WaapCommonTag]
23
+ """List of common tags"""
24
+
25
+ content_type: str
26
+ """Content type of request"""
27
+
28
+ domain: str
29
+ """Domain name"""
30
+
31
+ http_status_code: int
32
+ """Status code for http request"""
33
+
34
+ http_version: str
35
+ """HTTP version of request"""
36
+
37
+ incident_id: str
38
+ """ID of challenge that was generated"""
39
+
40
+ method: str
41
+ """Request method"""
42
+
43
+ network: WaapNetworkDetails
44
+ """Network details"""
45
+
46
+ path: str
47
+ """Request path"""
48
+
49
+ pattern_matched_tags: List[WaapPatternMatchedTag]
50
+ """List of shield tags"""
51
+
52
+ query_string: str
53
+ """The query string of the request"""
54
+
55
+ reference_id: str
56
+ """Reference ID to identify user sanction"""
57
+
58
+ request_headers: object
59
+ """HTTP request headers"""
60
+
61
+ request_time: str
62
+ """The time of the request"""
63
+
64
+ request_type: str
65
+ """The type of the request that generated an event"""
66
+
67
+ requested_domain: str
68
+ """The real domain name"""
69
+
70
+ response_time: str
71
+ """Time took to process all request"""
72
+
73
+ result: Literal["passed", "blocked", "suppressed", ""]
74
+ """The result of a request"""
75
+
76
+ rule_id: str
77
+ """ID of the triggered rule"""
78
+
79
+ rule_name: str
80
+ """Name of the triggered rule"""
81
+
82
+ scheme: str
83
+ """The HTTP scheme of the request that generated an event"""
84
+
85
+ session_request_count: str
86
+ """The number requests in session"""
87
+
88
+ traffic_types: List[str]
89
+ """List of traffic types"""
90
+
91
+ user_agent: WaapUserAgentDetails
92
+ """User agent details"""
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["WaapRequestOrganization"]
6
+
7
+
8
+ class WaapRequestOrganization(BaseModel):
9
+ name: str
10
+ """Organization name"""
11
+
12
+ subnet: str
13
+ """Network range"""
@@ -0,0 +1,59 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["WaapRequestSummary"]
8
+
9
+
10
+ class WaapRequestSummary(BaseModel):
11
+ id: str
12
+ """Request's unique id"""
13
+
14
+ action: str
15
+ """Action of the triggered rule"""
16
+
17
+ client_ip: str
18
+ """Client's IP address."""
19
+
20
+ country: str
21
+ """Country code"""
22
+
23
+ domain: str
24
+ """Domain name"""
25
+
26
+ method: str
27
+ """HTTP method"""
28
+
29
+ organization: str
30
+ """Organization"""
31
+
32
+ path: str
33
+ """Request path"""
34
+
35
+ reference_id: str
36
+ """The reference ID to a sanction that was given to a user."""
37
+
38
+ request_time: int
39
+ """The UNIX timestamp in ms of the date a set of traffic counters was recorded"""
40
+
41
+ result: Literal["passed", "blocked", "suppressed", ""]
42
+
43
+ rule_id: str
44
+ """The ID of the triggered rule."""
45
+
46
+ rule_name: str
47
+ """Name of the triggered rule"""
48
+
49
+ status_code: int
50
+ """Status code for http request"""
51
+
52
+ traffic_types: str
53
+ """Comma separated list of traffic types."""
54
+
55
+ user_agent: str
56
+ """User agent"""
57
+
58
+ user_agent_client: str
59
+ """Client from parsed User agent header"""
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["WaapResolution"]
6
+
7
+ WaapResolution: TypeAlias = Literal["daily", "hourly", "minutely"]
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["WaapRuleActionType"]
6
+
7
+ WaapRuleActionType: TypeAlias = Literal["allow", "block", "captcha", "handshake", "monitor", "tag"]
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["WaapRuleBlockedRequests"]
6
+
7
+
8
+ class WaapRuleBlockedRequests(BaseModel):
9
+ action: str
10
+ """The action taken by the rule"""
11
+
12
+ count: int
13
+ """The number of requests blocked by the rule"""
14
+
15
+ rule_name: str
16
+ """The name of the rule that blocked the request"""
@@ -0,0 +1,41 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..._models import BaseModel
6
+ from .waap_domain_policy import WaapDomainPolicy
7
+
8
+ __all__ = ["WaapRuleSet", "Tag"]
9
+
10
+
11
+ class Tag(BaseModel):
12
+ id: int
13
+ """Identifier of the tag."""
14
+
15
+ description: str
16
+ """Detailed description of the tag."""
17
+
18
+ name: str
19
+ """Name of the tag."""
20
+
21
+
22
+ class WaapRuleSet(BaseModel):
23
+ id: int
24
+ """Identifier of the rule set."""
25
+
26
+ description: str
27
+ """Detailed description of the rule set."""
28
+
29
+ is_active: bool
30
+ """Indicates if the rule set is currently active."""
31
+
32
+ name: str
33
+ """Name of the rule set."""
34
+
35
+ tags: List[Tag]
36
+ """Collection of tags associated with the rule set."""
37
+
38
+ resource_slug: Optional[str] = None
39
+ """The resource slug associated with the rule set."""
40
+
41
+ rules: Optional[List[WaapDomainPolicy]] = None
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from datetime import datetime
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["WaapStatisticItem"]
8
+
9
+
10
+ class WaapStatisticItem(BaseModel):
11
+ date_time: datetime
12
+ """The date and time for the statistic in ISO 8601 format"""
13
+
14
+ value: int
15
+ """The value for the statistic.
16
+
17
+ If there is no data for the given time, the value will be 0.
18
+ """
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..._models import BaseModel
6
+ from .waap_statistic_item import WaapStatisticItem
7
+
8
+ __all__ = ["WaapStatisticsSeries"]
9
+
10
+
11
+ class WaapStatisticsSeries(BaseModel):
12
+ total_bytes: Optional[List[WaapStatisticItem]] = None
13
+ """Will be returned if `total_bytes` is requested in the metrics parameter"""
14
+
15
+ total_requests: Optional[List[WaapStatisticItem]] = None
16
+ """Will be included if `total_requests` is requested in the metrics parameter"""
@@ -0,0 +1,26 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+
6
+ from ..._models import BaseModel
7
+ from .waap_domain_status import WaapDomainStatus
8
+
9
+ __all__ = ["WaapSummaryDomain"]
10
+
11
+
12
+ class WaapSummaryDomain(BaseModel):
13
+ id: int
14
+ """The domain ID"""
15
+
16
+ created_at: datetime
17
+ """The date and time the domain was created in ISO 8601 format"""
18
+
19
+ custom_page_set: Optional[int] = None
20
+ """The ID of the custom page set"""
21
+
22
+ name: str
23
+ """The domain name"""
24
+
25
+ status: WaapDomainStatus
26
+ """The different statuses a domain can have"""
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["WaapTag"]
6
+
7
+
8
+ class WaapTag(BaseModel):
9
+ description: str
10
+ """A tag's human readable description"""
11
+
12
+ name: str
13
+ """The name of a tag that should be used in a WAAP rule condition"""
14
+
15
+ readable_name: str
16
+ """The display name of the tag"""
@@ -0,0 +1,23 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["WaapTimeSeriesAttack", "Value"]
8
+
9
+
10
+ class Value(BaseModel):
11
+ count: int
12
+ """The number of attacks"""
13
+
14
+ timestamp: int
15
+ """The timestamp of the time series item as a POSIX timestamp"""
16
+
17
+
18
+ class WaapTimeSeriesAttack(BaseModel):
19
+ attack_type: str
20
+ """The type of attack"""
21
+
22
+ values: List[Value]
23
+ """The time series data"""
@@ -0,0 +1,24 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from datetime import datetime
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["WaapTopSession"]
8
+
9
+
10
+ class WaapTopSession(BaseModel):
11
+ blocked: int
12
+ """The number of blocked requests in the session"""
13
+
14
+ duration: float
15
+ """The duration of the session in seconds"""
16
+
17
+ requests: int
18
+ """The number of requests in the session"""
19
+
20
+ session_id: str
21
+ """The session ID"""
22
+
23
+ start_time: datetime
24
+ """The start time of the session as a POSIX timestamp"""
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["WaapTopURL"]
6
+
7
+
8
+ class WaapTopURL(BaseModel):
9
+ count: int
10
+ """The number of attacks to the URL"""
11
+
12
+ url: str
13
+ """The URL that was attacked"""
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["WaapTopUserAgent"]
6
+
7
+
8
+ class WaapTopUserAgent(BaseModel):
9
+ count: int
10
+ """The number of requests made with the user agent"""
11
+
12
+ user_agent: str
13
+ """The user agent that was used"""
@@ -0,0 +1,68 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["WaapTrafficMetrics"]
10
+
11
+
12
+ class WaapTrafficMetrics(BaseModel):
13
+ timestamp: int
14
+ """UNIX timestamp indicating when the traffic data was recorded"""
15
+
16
+ ajax: Optional[int] = None
17
+ """Number of AJAX requests made"""
18
+
19
+ api: Optional[int] = None
20
+ """Number of API requests made"""
21
+
22
+ custom_allowed: Optional[int] = FieldInfo(alias="customAllowed", default=None)
23
+ """Number of requests allowed through custom rules"""
24
+
25
+ custom_blocked: Optional[int] = FieldInfo(alias="customBlocked", default=None)
26
+ """Number of requests blocked due to custom rules"""
27
+
28
+ ddos_blocked: Optional[int] = FieldInfo(alias="ddosBlocked", default=None)
29
+ """Number of DDoS attack attempts successfully blocked"""
30
+
31
+ monitored: Optional[int] = None
32
+ """Number of requests triggering monitoring actions"""
33
+
34
+ origin2xx: Optional[int] = None
35
+ """Number of successful HTTP 2xx responses from the origin server"""
36
+
37
+ origin3xx: Optional[int] = None
38
+ """Number of HTTP 3xx redirects issued by the origin server"""
39
+
40
+ origin_error4xx: Optional[int] = FieldInfo(alias="originError4xx", default=None)
41
+ """Number of HTTP 4xx errors from the origin server"""
42
+
43
+ origin_error5xx: Optional[int] = FieldInfo(alias="originError5xx", default=None)
44
+ """Number of HTTP 5xx errors from the origin server"""
45
+
46
+ origin_timeout: Optional[int] = FieldInfo(alias="originTimeout", default=None)
47
+ """Number of timeouts experienced at the origin server"""
48
+
49
+ passed_to_origin: Optional[int] = FieldInfo(alias="passedToOrigin", default=None)
50
+ """Number of requests served directly by the origin server"""
51
+
52
+ policy_allowed: Optional[int] = FieldInfo(alias="policyAllowed", default=None)
53
+ """Number of requests allowed by security policies"""
54
+
55
+ policy_blocked: Optional[int] = FieldInfo(alias="policyBlocked", default=None)
56
+ """Number of requests blocked by security policies"""
57
+
58
+ response_time: Optional[int] = FieldInfo(alias="responseTime", default=None)
59
+ """Average origin server response time in milliseconds"""
60
+
61
+ static: Optional[int] = None
62
+ """Number of static asset requests"""
63
+
64
+ total: Optional[int] = None
65
+ """Total number of requests"""
66
+
67
+ uncategorized: Optional[int] = None
68
+ """Requests resulting in neither blocks nor sanctions"""
@@ -0,0 +1,28 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["WaapTrafficType"]
6
+
7
+ WaapTrafficType: TypeAlias = Literal[
8
+ "policy_allowed",
9
+ "policy_blocked",
10
+ "custom_rule_allowed",
11
+ "custom_blocked",
12
+ "legit_requests",
13
+ "sanctioned",
14
+ "dynamic",
15
+ "api",
16
+ "static",
17
+ "ajax",
18
+ "redirects",
19
+ "monitor",
20
+ "err_40x",
21
+ "err_50x",
22
+ "passed_to_origin",
23
+ "timeout",
24
+ "other",
25
+ "ddos",
26
+ "legit",
27
+ "monitored",
28
+ ]
@@ -0,0 +1,40 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["WaapUserAgentDetails"]
6
+
7
+
8
+ class WaapUserAgentDetails(BaseModel):
9
+ base_browser: str
10
+ """User agent browser"""
11
+
12
+ base_browser_version: str
13
+ """User agent browser version"""
14
+
15
+ client: str
16
+ """Client from User agent header"""
17
+
18
+ client_type: str
19
+ """User agent client type"""
20
+
21
+ client_version: str
22
+ """User agent client version"""
23
+
24
+ cpu: str
25
+ """User agent cpu"""
26
+
27
+ device: str
28
+ """User agent device"""
29
+
30
+ device_type: str
31
+ """User agent device type"""
32
+
33
+ full_string: str
34
+ """User agent"""
35
+
36
+ os: str
37
+ """User agent os"""
38
+
39
+ rendering_engine: str
40
+ """User agent engine"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: gcore
3
- Version: 0.1.0a2
3
+ Version: 0.3.0
4
4
  Summary: The official Python library for the gcore API
5
5
  Project-URL: Homepage, https://github.com/G-Core/gcore-python
6
6
  Project-URL: Repository, https://github.com/G-Core/gcore-python
@@ -47,7 +47,7 @@ The REST API documentation can be found on [api.gcore.com](https://api.gcore.com
47
47
 
48
48
  ```sh
49
49
  # install from PyPI
50
- pip install --pre gcore
50
+ pip install gcore
51
51
  ```
52
52
 
53
53
  ## Usage
@@ -196,7 +196,7 @@ task_id_list = client.cloud.instances.create(
196
196
  flavor="g2-standard-4-8",
197
197
  interfaces=[{"type": "external"}],
198
198
  volumes=[
199
- {
199
+ {
200
200
  "source": "image",
201
201
  "image_id": "your-image-uuid",
202
202
  "size": 50,