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,11 +2,106 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from .waap_api_urls import WaapAPIURLs as WaapAPIURLs
5
+ from .waap_tag import WaapTag as WaapTag
6
+ from .waap_insight import WaapInsight as WaapInsight
7
+ from .waap_ip_info import WaapIPInfo as WaapIPInfo
8
+ from .waap_top_url import WaapTopURL as WaapTopURL
9
+ from .waap_rule_set import WaapRuleSet as WaapRuleSet
10
+ from .waap_ddos_info import WaapDDOSInfo as WaapDDOSInfo
11
+ from .waap_page_type import WaapPageType as WaapPageType
12
+ from .tag_list_params import TagListParams as TagListParams
13
+ from .waap_common_tag import WaapCommonTag as WaapCommonTag
14
+ from .waap_resolution import WaapResolution as WaapResolution
15
+ from .waap_custom_rule import WaapCustomRule as WaapCustomRule
16
+ from .waap_ddos_attack import WaapDDOSAttack as WaapDDOSAttack
17
+ from .waap_policy_mode import WaapPolicyMode as WaapPolicyMode
18
+ from .waap_top_session import WaapTopSession as WaapTopSession
19
+ from .waap_organization import WaapOrganization as WaapOrganization
20
+ from .waap_traffic_type import WaapTrafficType as WaapTrafficType
6
21
  from .domain_list_params import DomainListParams as DomainListParams
22
+ from .ip_info_get_params import IPInfoGetParams as IPInfoGetParams
23
+ from .waap_advanced_rule import WaapAdvancedRule as WaapAdvancedRule
24
+ from .waap_domain_policy import WaapDomainPolicy as WaapDomainPolicy
7
25
  from .waap_domain_status import WaapDomainStatus as WaapDomainStatus
26
+ from .waap_firewall_rule import WaapFirewallRule as WaapFirewallRule
27
+ from .waap_policy_action import WaapPolicyAction as WaapPolicyAction
28
+ from .waap_insight_status import WaapInsightStatus as WaapInsightStatus
29
+ from .waap_ip_info_counts import WaapIPInfoCounts as WaapIPInfoCounts
30
+ from .waap_statistic_item import WaapStatisticItem as WaapStatisticItem
8
31
  from .waap_summary_domain import WaapSummaryDomain as WaapSummaryDomain
32
+ from .waap_top_user_agent import WaapTopUserAgent as WaapTopUserAgent
9
33
  from .domain_update_params import DomainUpdateParams as DomainUpdateParams
34
+ from .waap_block_page_data import WaapBlockPageData as WaapBlockPageData
35
+ from .waap_custom_page_set import WaapCustomPageSet as WaapCustomPageSet
10
36
  from .waap_detailed_domain import WaapDetailedDomain as WaapDetailedDomain
11
- from .waap_domain_settings import WaapDomainSettings as WaapDomainSettings
37
+ from .waap_insight_silence import WaapInsightSilence as WaapInsightSilence
38
+ from .waap_insight_sort_by import WaapInsightSortBy as WaapInsightSortBy
39
+ from .waap_network_details import WaapNetworkDetails as WaapNetworkDetails
40
+ from .waap_request_details import WaapRequestDetails as WaapRequestDetails
41
+ from .waap_request_summary import WaapRequestSummary as WaapRequestSummary
42
+ from .waap_traffic_metrics import WaapTrafficMetrics as WaapTrafficMetrics
43
+ from .waap_count_statistics import WaapCountStatistics as WaapCountStatistics
44
+ from .waap_event_statistics import WaapEventStatistics as WaapEventStatistics
45
+ from .waap_rule_action_type import WaapRuleActionType as WaapRuleActionType
46
+ from .waap_captcha_page_data import WaapCaptchaPageData as WaapCaptchaPageData
47
+ from .waap_ip_country_attack import WaapIPCountryAttack as WaapIPCountryAttack
48
+ from .waap_statistics_series import WaapStatisticsSeries as WaapStatisticsSeries
49
+ from .waap_blocked_statistics import WaapBlockedStatistics as WaapBlockedStatistics
50
+ from .waap_ip_ddos_info_model import WaapIPDDOSInfoModel as WaapIPDDOSInfoModel
51
+ from .waap_time_series_attack import WaapTimeSeriesAttack as WaapTimeSeriesAttack
52
+ from .waap_user_agent_details import WaapUserAgentDetails as WaapUserAgentDetails
53
+ from .organization_list_params import OrganizationListParams as OrganizationListParams
54
+ from .waap_custom_page_preview import WaapCustomPagePreview as WaapCustomPagePreview
55
+ from .waap_customer_rule_state import WaapCustomerRuleState as WaapCustomerRuleState
56
+ from .waap_domain_api_settings import WaapDomainAPISettings as WaapDomainAPISettings
57
+ from .waap_handshake_page_data import WaapHandshakePageData as WaapHandshakePageData
58
+ from .waap_paginated_ddos_info import WaapPaginatedDDOSInfo as WaapPaginatedDDOSInfo
59
+ from .waap_pattern_matched_tag import WaapPatternMatchedTag as WaapPatternMatchedTag
60
+ from .ip_info_get_counts_params import IPInfoGetCountsParams as IPInfoGetCountsParams
61
+ from .waap_block_csrf_page_data import WaapBlockCsrfPageData as WaapBlockCsrfPageData
12
62
  from .waap_domain_ddos_settings import WaapDomainDDOSSettings as WaapDomainDDOSSettings
63
+ from .waap_request_organization import WaapRequestOrganization as WaapRequestOrganization
64
+ from .waap_block_page_data_param import WaapBlockPageDataParam as WaapBlockPageDataParam
65
+ from .waap_domain_settings_model import WaapDomainSettingsModel as WaapDomainSettingsModel
66
+ from .waap_paginated_ddos_attack import WaapPaginatedDDOSAttack as WaapPaginatedDDOSAttack
67
+ from .waap_rule_blocked_requests import WaapRuleBlockedRequests as WaapRuleBlockedRequests
68
+ from .custom_page_set_list_params import CustomPageSetListParams as CustomPageSetListParams
69
+ from .ip_info_get_top_urls_params import IPInfoGetTopURLsParams as IPInfoGetTopURLsParams
70
+ from .waap_captcha_page_data_param import WaapCaptchaPageDataParam as WaapCaptchaPageDataParam
71
+ from .waap_insight_silence_sort_by import WaapInsightSilenceSortBy as WaapInsightSilenceSortBy
72
+ from .custom_page_set_create_params import CustomPageSetCreateParams as CustomPageSetCreateParams
73
+ from .custom_page_set_update_params import CustomPageSetUpdateParams as CustomPageSetUpdateParams
74
+ from .ip_info_get_top_urls_response import IPInfoGetTopURLsResponse as IPInfoGetTopURLsResponse
75
+ from .waap_advanced_rule_descriptor import WaapAdvancedRuleDescriptor as WaapAdvancedRuleDescriptor
76
+ from .custom_page_set_preview_params import CustomPageSetPreviewParams as CustomPageSetPreviewParams
77
+ from .domain_list_rule_sets_response import DomainListRuleSetsResponse as DomainListRuleSetsResponse
78
+ from .waap_cookie_disabled_page_data import WaapCookieDisabledPageData as WaapCookieDisabledPageData
79
+ from .waap_handshake_page_data_param import WaapHandshakePageDataParam as WaapHandshakePageDataParam
80
+ from .waap_paginated_custom_page_set import WaapPaginatedCustomPageSet as WaapPaginatedCustomPageSet
81
+ from .waap_paginated_request_summary import WaapPaginatedRequestSummary as WaapPaginatedRequestSummary
82
+ from .ip_info_get_top_sessions_params import IPInfoGetTopSessionsParams as IPInfoGetTopSessionsParams
83
+ from .waap_block_csrf_page_data_param import WaapBlockCsrfPageDataParam as WaapBlockCsrfPageDataParam
84
+ from .ip_info_get_top_sessions_response import IPInfoGetTopSessionsResponse as IPInfoGetTopSessionsResponse
85
+ from .statistic_get_usage_series_params import StatisticGetUsageSeriesParams as StatisticGetUsageSeriesParams
86
+ from .ip_info_get_top_user_agents_params import IPInfoGetTopUserAgentsParams as IPInfoGetTopUserAgentsParams
87
+ from .waap_advanced_rule_descriptor_list import WaapAdvancedRuleDescriptorList as WaapAdvancedRuleDescriptorList
88
+ from .waap_get_account_overview_response import WaapGetAccountOverviewResponse as WaapGetAccountOverviewResponse
89
+ from .waap_javascript_disabled_page_data import WaapJavascriptDisabledPageData as WaapJavascriptDisabledPageData
90
+ from .ip_info_get_blocked_requests_params import IPInfoGetBlockedRequestsParams as IPInfoGetBlockedRequestsParams
91
+ from .ip_info_get_top_user_agents_response import IPInfoGetTopUserAgentsResponse as IPInfoGetTopUserAgentsResponse
92
+ from .waap_cookie_disabled_page_data_param import WaapCookieDisabledPageDataParam as WaapCookieDisabledPageDataParam
93
+ from .ip_info_get_attack_time_series_params import IPInfoGetAttackTimeSeriesParams as IPInfoGetAttackTimeSeriesParams
94
+ from .ip_info_get_blocked_requests_response import IPInfoGetBlockedRequestsResponse as IPInfoGetBlockedRequestsResponse
95
+ from .ip_info_get_ddos_attack_series_params import IPInfoGetDDOSAttackSeriesParams as IPInfoGetDDOSAttackSeriesParams
96
+ from .ip_info_list_attacked_countries_params import (
97
+ IPInfoListAttackedCountriesParams as IPInfoListAttackedCountriesParams,
98
+ )
99
+ from .ip_info_get_attack_time_series_response import (
100
+ IPInfoGetAttackTimeSeriesResponse as IPInfoGetAttackTimeSeriesResponse,
101
+ )
102
+ from .ip_info_list_attacked_countries_response import (
103
+ IPInfoListAttackedCountriesResponse as IPInfoListAttackedCountriesResponse,
104
+ )
105
+ from .waap_javascript_disabled_page_data_param import (
106
+ WaapJavascriptDisabledPageDataParam as WaapJavascriptDisabledPageDataParam,
107
+ )
@@ -0,0 +1,35 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Iterable, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ from .waap_block_page_data_param import WaapBlockPageDataParam
9
+ from .waap_captcha_page_data_param import WaapCaptchaPageDataParam
10
+ from .waap_handshake_page_data_param import WaapHandshakePageDataParam
11
+ from .waap_block_csrf_page_data_param import WaapBlockCsrfPageDataParam
12
+ from .waap_cookie_disabled_page_data_param import WaapCookieDisabledPageDataParam
13
+ from .waap_javascript_disabled_page_data_param import WaapJavascriptDisabledPageDataParam
14
+
15
+ __all__ = ["CustomPageSetCreateParams"]
16
+
17
+
18
+ class CustomPageSetCreateParams(TypedDict, total=False):
19
+ name: Required[str]
20
+ """Name of the custom page set"""
21
+
22
+ block: Optional[WaapBlockPageDataParam]
23
+
24
+ block_csrf: Optional[WaapBlockCsrfPageDataParam]
25
+
26
+ captcha: Optional[WaapCaptchaPageDataParam]
27
+
28
+ cookie_disabled: Optional[WaapCookieDisabledPageDataParam]
29
+
30
+ domains: Optional[Iterable[int]]
31
+ """List of domain IDs that are associated with this page set"""
32
+
33
+ handshake: Optional[WaapHandshakePageDataParam]
34
+
35
+ javascript_disabled: Optional[WaapJavascriptDisabledPageDataParam]
@@ -0,0 +1,25 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Iterable
6
+ from typing_extensions import Literal, TypedDict
7
+
8
+ __all__ = ["CustomPageSetListParams"]
9
+
10
+
11
+ class CustomPageSetListParams(TypedDict, total=False):
12
+ ids: Iterable[int]
13
+ """Filter page sets based on their IDs"""
14
+
15
+ limit: int
16
+ """Number of items to return"""
17
+
18
+ name: str
19
+ """Filter page sets based on their name. Supports '\\**' as a wildcard character"""
20
+
21
+ offset: int
22
+ """Number of items to skip"""
23
+
24
+ ordering: Literal["name", "-name", "id", "-id"]
25
+ """Sort the response by given field."""
@@ -0,0 +1,34 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ from .waap_page_type import WaapPageType
9
+
10
+ __all__ = ["CustomPageSetPreviewParams"]
11
+
12
+
13
+ class CustomPageSetPreviewParams(TypedDict, total=False):
14
+ page_type: Required[WaapPageType]
15
+ """The type of the custom page"""
16
+
17
+ error: Optional[str]
18
+ """Error message"""
19
+
20
+ header: Optional[str]
21
+ """The text to display in the header of the custom page"""
22
+
23
+ logo: Optional[str]
24
+ """
25
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
26
+ height 130px. This should be a base 64 encoding of the full HTML img tag
27
+ compatible image, with the header included.
28
+ """
29
+
30
+ text: Optional[str]
31
+ """The text to display in the body of the custom page"""
32
+
33
+ title: Optional[str]
34
+ """The text to display in the title of the custom page"""
@@ -0,0 +1,35 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Iterable, Optional
6
+ from typing_extensions import TypedDict
7
+
8
+ from .waap_block_page_data_param import WaapBlockPageDataParam
9
+ from .waap_captcha_page_data_param import WaapCaptchaPageDataParam
10
+ from .waap_handshake_page_data_param import WaapHandshakePageDataParam
11
+ from .waap_block_csrf_page_data_param import WaapBlockCsrfPageDataParam
12
+ from .waap_cookie_disabled_page_data_param import WaapCookieDisabledPageDataParam
13
+ from .waap_javascript_disabled_page_data_param import WaapJavascriptDisabledPageDataParam
14
+
15
+ __all__ = ["CustomPageSetUpdateParams"]
16
+
17
+
18
+ class CustomPageSetUpdateParams(TypedDict, total=False):
19
+ block: Optional[WaapBlockPageDataParam]
20
+
21
+ block_csrf: Optional[WaapBlockCsrfPageDataParam]
22
+
23
+ captcha: Optional[WaapCaptchaPageDataParam]
24
+
25
+ cookie_disabled: Optional[WaapCookieDisabledPageDataParam]
26
+
27
+ domains: Optional[Iterable[int]]
28
+ """List of domain IDs that are associated with this page set"""
29
+
30
+ handshake: Optional[WaapHandshakePageDataParam]
31
+
32
+ javascript_disabled: Optional[WaapJavascriptDisabledPageDataParam]
33
+
34
+ name: Optional[str]
35
+ """Name of the custom page set"""
@@ -0,0 +1,10 @@
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 TypeAlias
5
+
6
+ from .waap_rule_set import WaapRuleSet
7
+
8
+ __all__ = ["DomainListRuleSetsResponse"]
9
+
10
+ DomainListRuleSetsResponse: TypeAlias = List[WaapRuleSet]
@@ -2,4 +2,46 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from .insight_list_params import InsightListParams as InsightListParams
6
+ from .api_path_list_params import APIPathListParams as APIPathListParams
7
+ from .api_path_get_response import APIPathGetResponse as APIPathGetResponse
5
8
  from .setting_update_params import SettingUpdateParams as SettingUpdateParams
9
+ from .api_path_create_params import APIPathCreateParams as APIPathCreateParams
10
+ from .api_path_list_response import APIPathListResponse as APIPathListResponse
11
+ from .api_path_update_params import APIPathUpdateParams as APIPathUpdateParams
12
+ from .insight_replace_params import InsightReplaceParams as InsightReplaceParams
13
+ from .custom_rule_list_params import CustomRuleListParams as CustomRuleListParams
14
+ from .api_path_create_response import APIPathCreateResponse as APIPathCreateResponse
15
+ from .advanced_rule_list_params import AdvancedRuleListParams as AdvancedRuleListParams
16
+ from .custom_rule_create_params import CustomRuleCreateParams as CustomRuleCreateParams
17
+ from .custom_rule_update_params import CustomRuleUpdateParams as CustomRuleUpdateParams
18
+ from .firewall_rule_list_params import FirewallRuleListParams as FirewallRuleListParams
19
+ from .advanced_rule_create_params import AdvancedRuleCreateParams as AdvancedRuleCreateParams
20
+ from .advanced_rule_update_params import AdvancedRuleUpdateParams as AdvancedRuleUpdateParams
21
+ from .firewall_rule_create_params import FirewallRuleCreateParams as FirewallRuleCreateParams
22
+ from .firewall_rule_update_params import FirewallRuleUpdateParams as FirewallRuleUpdateParams
23
+ from .insight_silence_list_params import InsightSilenceListParams as InsightSilenceListParams
24
+ from .api_path_group_list_response import APIPathGroupListResponse as APIPathGroupListResponse
25
+ from .insight_silence_create_params import InsightSilenceCreateParams as InsightSilenceCreateParams
26
+ from .insight_silence_update_params import InsightSilenceUpdateParams as InsightSilenceUpdateParams
27
+ from .analytics_list_ddos_info_params import AnalyticsListDDOSInfoParams as AnalyticsListDDOSInfoParams
28
+ from .analytics_list_ddos_attacks_params import AnalyticsListDDOSAttacksParams as AnalyticsListDDOSAttacksParams
29
+ from .custom_rule_delete_multiple_params import CustomRuleDeleteMultipleParams as CustomRuleDeleteMultipleParams
30
+ from .analytics_list_event_traffic_params import AnalyticsListEventTrafficParams as AnalyticsListEventTrafficParams
31
+ from .api_discovery_get_settings_response import APIDiscoveryGetSettingsResponse as APIDiscoveryGetSettingsResponse
32
+ from .api_discovery_scan_openapi_response import APIDiscoveryScanOpenAPIResponse as APIDiscoveryScanOpenAPIResponse
33
+ from .api_discovery_upload_openapi_params import APIDiscoveryUploadOpenAPIParams as APIDiscoveryUploadOpenAPIParams
34
+ from .api_discovery_update_settings_params import APIDiscoveryUpdateSettingsParams as APIDiscoveryUpdateSettingsParams
35
+ from .firewall_rule_delete_multiple_params import FirewallRuleDeleteMultipleParams as FirewallRuleDeleteMultipleParams
36
+ from .analytics_get_event_statistics_params import (
37
+ AnalyticsGetEventStatisticsParams as AnalyticsGetEventStatisticsParams,
38
+ )
39
+ from .analytics_list_event_traffic_response import (
40
+ AnalyticsListEventTrafficResponse as AnalyticsListEventTrafficResponse,
41
+ )
42
+ from .api_discovery_upload_openapi_response import (
43
+ APIDiscoveryUploadOpenAPIResponse as APIDiscoveryUploadOpenAPIResponse,
44
+ )
45
+ from .api_discovery_update_settings_response import (
46
+ APIDiscoveryUpdateSettingsResponse as APIDiscoveryUpdateSettingsResponse,
47
+ )
@@ -0,0 +1,80 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Optional
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["AdvancedRuleCreateParams", "Action", "ActionBlock", "ActionTag"]
9
+
10
+
11
+ class AdvancedRuleCreateParams(TypedDict, total=False):
12
+ action: Required[Action]
13
+ """The action that a WAAP rule takes when triggered"""
14
+
15
+ enabled: Required[bool]
16
+ """Whether or not the rule is enabled"""
17
+
18
+ name: Required[str]
19
+ """The name assigned to the rule"""
20
+
21
+ source: Required[str]
22
+ """A CEL syntax expression that contains the rule's conditions.
23
+
24
+ Allowed objects are: request, whois, session, response, tags,
25
+ `user_defined_tags`, `user_agent`, `client_data`. More info can be found here:
26
+ https://gcore.com/docs/waap/waap-rules/advanced-rules
27
+ """
28
+
29
+ description: Optional[str]
30
+ """The description assigned to the rule"""
31
+
32
+ phase: Optional[Literal["access", "header_filter", "body_filter"]]
33
+ """The WAAP request/response phase for applying the rule.
34
+
35
+ Default is "access". The "access" phase is responsible for modifying the request
36
+ before it is sent to the origin server. The "`header_filter`" phase is
37
+ responsible for modifying the HTTP headers of a response before they are sent
38
+ back to the client. The "`body_filter`" phase is responsible for modifying the
39
+ body of a response before it is sent back to the client.
40
+ """
41
+
42
+
43
+ class ActionBlock(TypedDict, total=False):
44
+ action_duration: Optional[str]
45
+ """How long a rule's block action will apply to subsequent requests.
46
+
47
+ Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or
48
+ 'd' to represent time format (seconds, minutes, hours, or days)
49
+ """
50
+
51
+ status_code: Optional[Literal[403, 405, 418, 429]]
52
+ """Designates the HTTP status code to deliver when a request is blocked."""
53
+
54
+
55
+ class ActionTag(TypedDict, total=False):
56
+ tags: Required[List[str]]
57
+ """The list of user defined tags to tag the request with"""
58
+
59
+
60
+ class Action(TypedDict, total=False):
61
+ allow: Optional[object]
62
+ """The WAAP allowed the request"""
63
+
64
+ block: Optional[ActionBlock]
65
+ """
66
+ WAAP block action behavior could be configured with response status code and
67
+ action duration.
68
+ """
69
+
70
+ captcha: Optional[object]
71
+ """The WAAP presented the user with a captcha"""
72
+
73
+ handshake: Optional[object]
74
+ """The WAAP performed automatic browser validation"""
75
+
76
+ monitor: Optional[object]
77
+ """The WAAP monitored the request but took no action"""
78
+
79
+ tag: Optional[ActionTag]
80
+ """WAAP tag action gets a list of tags to tag the request scope with"""
@@ -0,0 +1,58 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+ from typing_extensions import Literal, TypedDict
7
+
8
+ from ..waap_rule_action_type import WaapRuleActionType
9
+
10
+ __all__ = ["AdvancedRuleListParams"]
11
+
12
+
13
+ class AdvancedRuleListParams(TypedDict, total=False):
14
+ action: WaapRuleActionType
15
+ """Filter to refine results by specific actions"""
16
+
17
+ description: str
18
+ """Filter rules based on their description. Supports '\\**' as a wildcard character."""
19
+
20
+ enabled: bool
21
+ """Filter rules based on their active status"""
22
+
23
+ limit: int
24
+ """Number of items to return"""
25
+
26
+ name: str
27
+ """Filter rules based on their name. Supports '\\**' as a wildcard character."""
28
+
29
+ offset: int
30
+ """Number of items to skip"""
31
+
32
+ ordering: Optional[
33
+ Literal[
34
+ "id",
35
+ "name",
36
+ "description",
37
+ "enabled",
38
+ "action",
39
+ "phase",
40
+ "-id",
41
+ "-name",
42
+ "-description",
43
+ "-enabled",
44
+ "-action",
45
+ "-phase",
46
+ ]
47
+ ]
48
+ """Determine the field to order results by"""
49
+
50
+ phase: Literal["access", "header_filter", "body_filter"]
51
+ """
52
+ Filter rules based on the WAAP request/response phase for applying the rule. The
53
+ "access" phase is responsible for modifying the request before it is sent to the
54
+ origin server. The "`header_filter`" phase is responsible for modifying the HTTP
55
+ headers of a response before they are sent back to the client. The
56
+ "`body_filter`" phase is responsible for modifying the body of a response before
57
+ it is sent back to the client.
58
+ """
@@ -0,0 +1,83 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Optional
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["AdvancedRuleUpdateParams", "Action", "ActionBlock", "ActionTag"]
9
+
10
+
11
+ class AdvancedRuleUpdateParams(TypedDict, total=False):
12
+ domain_id: Required[int]
13
+ """The domain ID"""
14
+
15
+ action: Optional[Action]
16
+ """The action that a WAAP rule takes when triggered"""
17
+
18
+ description: Optional[str]
19
+ """The description assigned to the rule"""
20
+
21
+ enabled: Optional[bool]
22
+ """Whether or not the rule is enabled"""
23
+
24
+ name: Optional[str]
25
+ """The name assigned to the rule"""
26
+
27
+ phase: Optional[Literal["access", "header_filter", "body_filter"]]
28
+ """
29
+ The WAAP request/response phase for applying the rule. The "access" phase is
30
+ responsible for modifying the request before it is sent to the origin server.
31
+ The "`header_filter`" phase is responsible for modifying the HTTP headers of a
32
+ response before they are sent back to the client. The "`body_filter`" phase is
33
+ responsible for modifying the body of a response before it is sent back to the
34
+ client.
35
+ """
36
+
37
+ source: Optional[str]
38
+ """A CEL syntax expression that contains the rule's conditions.
39
+
40
+ Allowed objects are: request, whois, session, response, tags,
41
+ `user_defined_tags`, `user_agent`, `client_data`. More info can be found here:
42
+ https://gcore.com/docs/waap/waap-rules/advanced-rules
43
+ """
44
+
45
+
46
+ class ActionBlock(TypedDict, total=False):
47
+ action_duration: Optional[str]
48
+ """How long a rule's block action will apply to subsequent requests.
49
+
50
+ Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or
51
+ 'd' to represent time format (seconds, minutes, hours, or days)
52
+ """
53
+
54
+ status_code: Optional[Literal[403, 405, 418, 429]]
55
+ """Designates the HTTP status code to deliver when a request is blocked."""
56
+
57
+
58
+ class ActionTag(TypedDict, total=False):
59
+ tags: Required[List[str]]
60
+ """The list of user defined tags to tag the request with"""
61
+
62
+
63
+ class Action(TypedDict, total=False):
64
+ allow: Optional[object]
65
+ """The WAAP allowed the request"""
66
+
67
+ block: Optional[ActionBlock]
68
+ """
69
+ WAAP block action behavior could be configured with response status code and
70
+ action duration.
71
+ """
72
+
73
+ captcha: Optional[object]
74
+ """The WAAP presented the user with a captcha"""
75
+
76
+ handshake: Optional[object]
77
+ """The WAAP performed automatic browser validation"""
78
+
79
+ monitor: Optional[object]
80
+ """The WAAP monitored the request but took no action"""
81
+
82
+ tag: Optional[ActionTag]
83
+ """WAAP tag action gets a list of tags to tag the request scope with"""
@@ -0,0 +1,5 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .request_list_params import RequestListParams as RequestListParams
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Union
6
+ from datetime import datetime
7
+ from typing_extensions import Literal, Required, Annotated, TypedDict
8
+
9
+ from ....._utils import PropertyInfo
10
+ from ...waap_traffic_type import WaapTrafficType
11
+
12
+ __all__ = ["RequestListParams"]
13
+
14
+
15
+ class RequestListParams(TypedDict, total=False):
16
+ start: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
17
+ """Filter traffic starting from a specified date in ISO 8601 format"""
18
+
19
+ actions: List[Literal["allow", "block", "captcha", "handshake"]]
20
+ """Filter the response by actions."""
21
+
22
+ countries: List[str]
23
+ """Filter the response by country codes in ISO 3166-1 alpha-2 format."""
24
+
25
+ end: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
26
+ """Filter traffic up to a specified end date in ISO 8601 format.
27
+
28
+ If not provided, defaults to the current date and time.
29
+ """
30
+
31
+ ip: str
32
+ """Filter the response by IP."""
33
+
34
+ limit: int
35
+ """Number of items to return"""
36
+
37
+ offset: int
38
+ """Number of items to skip"""
39
+
40
+ ordering: str
41
+ """Sort the response by given field."""
42
+
43
+ reference_id: str
44
+ """Filter the response by reference ID."""
45
+
46
+ security_rule_name: str
47
+ """Filter the response by security rule name."""
48
+
49
+ status_code: int
50
+ """Filter the response by response code."""
51
+
52
+ traffic_types: List[WaapTrafficType]
53
+ """Filter the response by traffic types."""
@@ -0,0 +1,34 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Union, Optional
6
+ from datetime import datetime
7
+ from typing_extensions import Literal, Required, Annotated, TypedDict
8
+
9
+ from ...._utils import PropertyInfo
10
+
11
+ __all__ = ["AnalyticsGetEventStatisticsParams"]
12
+
13
+
14
+ class AnalyticsGetEventStatisticsParams(TypedDict, total=False):
15
+ start: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
16
+ """Filter traffic starting from a specified date in ISO 8601 format"""
17
+
18
+ action: Optional[List[Literal["block", "captcha", "handshake", "monitor"]]]
19
+ """A list of action names to filter on."""
20
+
21
+ end: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
22
+ """Filter traffic up to a specified end date in ISO 8601 format.
23
+
24
+ If not provided, defaults to the current date and time.
25
+ """
26
+
27
+ ip: Optional[List[str]]
28
+ """A list of IPs to filter event statistics."""
29
+
30
+ reference_id: Optional[List[str]]
31
+ """A list of reference IDs to filter event statistics."""
32
+
33
+ result: Optional[List[Literal["passed", "blocked", "monitored", "allowed"]]]
34
+ """A list of results to filter event statistics."""
@@ -0,0 +1,28 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union
6
+ from datetime import datetime
7
+ from typing_extensions import Literal, Annotated, TypedDict
8
+
9
+ from ...._utils import PropertyInfo
10
+
11
+ __all__ = ["AnalyticsListDDOSAttacksParams"]
12
+
13
+
14
+ class AnalyticsListDDOSAttacksParams(TypedDict, total=False):
15
+ end_time: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
16
+ """Filter attacks up to a specified end date in ISO 8601 format"""
17
+
18
+ limit: int
19
+ """Number of items to return"""
20
+
21
+ offset: int
22
+ """Number of items to skip"""
23
+
24
+ ordering: Literal["start_time", "-start_time", "end_time", "-end_time"]
25
+ """Sort the response by given field."""
26
+
27
+ start_time: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
28
+ """Filter attacks starting from a specified date in ISO 8601 format"""