gcore 0.2.0__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 (258) hide show
  1. gcore/_base_client.py +22 -2
  2. gcore/_models.py +2 -0
  3. gcore/_types.py +2 -0
  4. gcore/_version.py +1 -1
  5. gcore/resources/cloud/baremetal/flavors.py +2 -2
  6. gcore/resources/cloud/baremetal/images.py +2 -2
  7. gcore/resources/cloud/baremetal/servers.py +46 -52
  8. gcore/resources/cloud/floating_ips.py +4 -4
  9. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +8 -8
  10. gcore/resources/cloud/gpu_baremetal_clusters/images.py +2 -2
  11. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +4 -4
  12. gcore/resources/cloud/inference/deployments/deployments.py +6 -6
  13. gcore/resources/cloud/instances/flavors.py +2 -2
  14. gcore/resources/cloud/instances/images.py +2 -2
  15. gcore/resources/cloud/instances/instances.py +62 -70
  16. gcore/resources/cloud/instances/interfaces.py +4 -4
  17. gcore/resources/cloud/load_balancers/flavors.py +2 -2
  18. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +20 -20
  19. gcore/resources/cloud/load_balancers/listeners.py +14 -14
  20. gcore/resources/cloud/load_balancers/load_balancers.py +28 -24
  21. gcore/resources/cloud/load_balancers/pools/members.py +6 -6
  22. gcore/resources/cloud/networks/networks.py +4 -4
  23. gcore/resources/cloud/networks/subnets.py +6 -6
  24. gcore/resources/cloud/registries/registries.py +6 -10
  25. gcore/resources/cloud/registries/users.py +4 -10
  26. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +10 -10
  27. gcore/resources/cloud/security_groups/security_groups.py +2 -2
  28. gcore/resources/cloud/ssh_keys.py +2 -2
  29. gcore/resources/cloud/tasks.py +98 -90
  30. gcore/resources/cloud/users/role_assignments.py +4 -4
  31. gcore/resources/cloud/volumes.py +18 -18
  32. gcore/resources/waap/__init__.py +98 -0
  33. gcore/resources/waap/advanced_rules.py +135 -0
  34. gcore/resources/waap/clients.py +135 -0
  35. gcore/resources/waap/custom_page_sets.py +805 -0
  36. gcore/resources/waap/domains/__init__.py +140 -0
  37. gcore/resources/waap/domains/advanced_rules.py +876 -0
  38. gcore/resources/waap/domains/analytics/__init__.py +33 -0
  39. gcore/resources/waap/domains/analytics/analytics.py +676 -0
  40. gcore/resources/waap/domains/analytics/requests.py +378 -0
  41. gcore/resources/waap/domains/api_discovery/__init__.py +33 -0
  42. gcore/resources/waap/domains/api_discovery/api_discovery.py +530 -0
  43. gcore/resources/waap/domains/api_discovery/scan_results.py +352 -0
  44. gcore/resources/waap/domains/api_path_groups.py +163 -0
  45. gcore/resources/waap/domains/api_paths.py +771 -0
  46. gcore/resources/waap/domains/custom_rules.py +889 -0
  47. gcore/resources/waap/domains/domains.py +399 -0
  48. gcore/resources/waap/domains/firewall_rules.py +884 -0
  49. gcore/resources/waap/domains/insight_silences.py +689 -0
  50. gcore/resources/waap/domains/insights.py +425 -0
  51. gcore/resources/waap/domains/policies.py +173 -0
  52. gcore/resources/waap/domains/settings.py +5 -5
  53. gcore/resources/waap/ip_info.py +1017 -0
  54. gcore/resources/waap/organizations.py +217 -0
  55. gcore/resources/waap/statistics.py +225 -0
  56. gcore/resources/waap/tags.py +233 -0
  57. gcore/resources/waap/waap.py +289 -0
  58. gcore/types/cloud/allowed_address_pairs.py +2 -2
  59. gcore/types/cloud/baremetal/baremetal_server.py +1 -1
  60. gcore/types/cloud/baremetal/image_list_params.py +1 -1
  61. gcore/types/cloud/baremetal/server_create_params.py +9 -9
  62. gcore/types/cloud/baremetal/server_list_params.py +8 -8
  63. gcore/types/cloud/baremetal/server_rebuild_params.py +1 -1
  64. gcore/types/cloud/baremetal_flavor.py +3 -3
  65. gcore/types/cloud/container_probe_config.py +1 -1
  66. gcore/types/cloud/container_probe_config_create_param.py +1 -1
  67. gcore/types/cloud/container_scale_triggers.py +2 -2
  68. gcore/types/cloud/floating_ip_detailed.py +1 -1
  69. gcore/types/cloud/floating_ip_list_params.py +2 -2
  70. gcore/types/cloud/gpu_baremetal_cluster.py +1 -1
  71. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +2 -2
  72. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +1 -1
  73. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +1 -1
  74. gcore/types/cloud/gpu_baremetal_cluster_server.py +1 -1
  75. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +1 -1
  76. gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +10 -10
  77. gcore/types/cloud/gpu_baremetal_flavor.py +3 -3
  78. gcore/types/cloud/image.py +1 -1
  79. gcore/types/cloud/inference/deployment_create_params.py +4 -4
  80. gcore/types/cloud/inference/deployment_update_params.py +6 -6
  81. gcore/types/cloud/inference/inference.py +2 -4
  82. gcore/types/cloud/instance.py +1 -1
  83. gcore/types/cloud/instance_create_params.py +8 -10
  84. gcore/types/cloud/instance_list_params.py +8 -8
  85. gcore/types/cloud/instances/flavor_list_suitable_params.py +4 -1
  86. gcore/types/cloud/instances/image_list_params.py +1 -1
  87. gcore/types/cloud/instances/instance_flavor.py +3 -3
  88. gcore/types/cloud/instances/interface_attach_params.py +10 -10
  89. gcore/types/cloud/load_balancer_create_params.py +17 -15
  90. gcore/types/cloud/load_balancer_flavor_detail.py +3 -3
  91. gcore/types/cloud/load_balancer_l7_policy.py +5 -5
  92. gcore/types/cloud/load_balancer_list_params.py +5 -5
  93. gcore/types/cloud/load_balancer_listener_detail.py +4 -4
  94. gcore/types/cloud/load_balancers/l7_policy_create_params.py +5 -5
  95. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +5 -5
  96. gcore/types/cloud/load_balancers/listener_create_params.py +4 -4
  97. gcore/types/cloud/load_balancers/listener_update_params.py +3 -3
  98. gcore/types/cloud/load_balancers/pool_create_params.py +4 -4
  99. gcore/types/cloud/load_balancers/pool_update_params.py +4 -4
  100. gcore/types/cloud/load_balancers/pools/member_add_params.py +3 -3
  101. gcore/types/cloud/member.py +2 -2
  102. gcore/types/cloud/network.py +2 -2
  103. gcore/types/cloud/network_details.py +2 -2
  104. gcore/types/cloud/network_list_params.py +2 -2
  105. gcore/types/cloud/networks/subnet_create_params.py +1 -1
  106. gcore/types/cloud/networks/subnet_list_params.py +2 -2
  107. gcore/types/cloud/region.py +4 -4
  108. gcore/types/cloud/registries/user_create_multiple_params.py +3 -5
  109. gcore/types/cloud/registries/user_create_params.py +3 -5
  110. gcore/types/cloud/registry_create_params.py +3 -5
  111. gcore/types/cloud/reserved_fixed_ip_create_params.py +2 -2
  112. gcore/types/cloud/reserved_fixed_ip_list_params.py +3 -3
  113. gcore/types/cloud/security_group_list_params.py +1 -1
  114. gcore/types/cloud/session_persistence.py +1 -1
  115. gcore/types/cloud/ssh_key_created.py +3 -6
  116. gcore/types/cloud/task.py +1 -1
  117. gcore/types/cloud/task_list_params.py +49 -45
  118. gcore/types/cloud/users/role_assignment_create_params.py +1 -1
  119. gcore/types/cloud/users/role_assignment_update_params.py +1 -1
  120. gcore/types/cloud/volume_create_params.py +6 -6
  121. gcore/types/cloud/volume_list_params.py +3 -3
  122. gcore/types/waap/__init__.py +98 -2
  123. gcore/types/waap/client_me_response.py +34 -0
  124. gcore/types/waap/custom_page_set_create_params.py +35 -0
  125. gcore/types/waap/custom_page_set_list_params.py +25 -0
  126. gcore/types/waap/custom_page_set_preview_params.py +34 -0
  127. gcore/types/waap/custom_page_set_update_params.py +35 -0
  128. gcore/types/waap/domain_list_rule_sets_response.py +10 -0
  129. gcore/types/waap/domains/__init__.py +42 -0
  130. gcore/types/waap/domains/advanced_rule_create_params.py +80 -0
  131. gcore/types/waap/domains/advanced_rule_list_params.py +58 -0
  132. gcore/types/waap/domains/advanced_rule_update_params.py +83 -0
  133. gcore/types/waap/domains/analytics/__init__.py +5 -0
  134. gcore/types/waap/domains/analytics/request_list_params.py +53 -0
  135. gcore/types/waap/domains/analytics_get_event_statistics_params.py +34 -0
  136. gcore/types/waap/domains/analytics_list_ddos_attacks_params.py +28 -0
  137. gcore/types/waap/domains/analytics_list_ddos_info_params.py +31 -0
  138. gcore/types/waap/domains/analytics_list_event_traffic_params.py +26 -0
  139. gcore/types/waap/domains/analytics_list_event_traffic_response.py +10 -0
  140. gcore/types/waap/domains/api_discovery/__init__.py +7 -0
  141. gcore/types/waap/domains/api_discovery/scan_result_get_response.py +29 -0
  142. gcore/types/waap/domains/api_discovery/scan_result_list_params.py +41 -0
  143. gcore/types/waap/domains/api_discovery/scan_result_list_response.py +29 -0
  144. gcore/types/waap/domains/api_discovery_get_settings_response.py +36 -0
  145. gcore/types/waap/domains/api_discovery_scan_openapi_response.py +10 -0
  146. gcore/types/waap/domains/api_discovery_update_settings_params.py +34 -0
  147. gcore/types/waap/domains/api_discovery_update_settings_response.py +36 -0
  148. gcore/types/waap/domains/api_discovery_upload_openapi_params.py +19 -0
  149. gcore/types/waap/domains/api_discovery_upload_openapi_response.py +10 -0
  150. gcore/types/waap/domains/api_path_create_params.py +31 -0
  151. gcore/types/waap/domains/api_path_create_response.py +50 -0
  152. gcore/types/waap/domains/api_path_get_response.py +50 -0
  153. gcore/types/waap/domains/api_path_group_list_response.py +12 -0
  154. gcore/types/waap/domains/api_path_list_params.py +62 -0
  155. gcore/types/waap/domains/api_path_list_response.py +50 -0
  156. gcore/types/waap/domains/api_path_update_params.py +29 -0
  157. gcore/types/waap/domains/custom_rule_create_params.py +368 -0
  158. gcore/types/waap/domains/custom_rule_delete_multiple_params.py +13 -0
  159. gcore/types/waap/domains/custom_rule_list_params.py +35 -0
  160. gcore/types/waap/domains/custom_rule_update_params.py +371 -0
  161. gcore/types/waap/domains/firewall_rule_create_params.py +75 -0
  162. gcore/types/waap/domains/firewall_rule_delete_multiple_params.py +13 -0
  163. gcore/types/waap/domains/firewall_rule_list_params.py +33 -0
  164. gcore/types/waap/domains/firewall_rule_update_params.py +78 -0
  165. gcore/types/waap/domains/insight_list_params.py +34 -0
  166. gcore/types/waap/domains/insight_replace_params.py +17 -0
  167. gcore/types/waap/domains/insight_silence_create_params.py +28 -0
  168. gcore/types/waap/domains/insight_silence_list_params.py +33 -0
  169. gcore/types/waap/domains/insight_silence_update_params.py +28 -0
  170. gcore/types/waap/domains/setting_update_params.py +7 -0
  171. gcore/types/waap/ip_info_get_attack_time_series_params.py +12 -0
  172. gcore/types/waap/ip_info_get_attack_time_series_response.py +10 -0
  173. gcore/types/waap/ip_info_get_blocked_requests_params.py +15 -0
  174. gcore/types/waap/ip_info_get_blocked_requests_response.py +10 -0
  175. gcore/types/waap/ip_info_get_counts_params.py +19 -0
  176. gcore/types/waap/ip_info_get_ddos_attack_series_params.py +12 -0
  177. gcore/types/waap/ip_info_get_params.py +12 -0
  178. gcore/types/waap/ip_info_get_top_sessions_params.py +15 -0
  179. gcore/types/waap/ip_info_get_top_sessions_response.py +10 -0
  180. gcore/types/waap/ip_info_get_top_urls_params.py +15 -0
  181. gcore/types/waap/ip_info_get_top_urls_response.py +10 -0
  182. gcore/types/waap/ip_info_get_top_user_agents_params.py +15 -0
  183. gcore/types/waap/ip_info_get_top_user_agents_response.py +10 -0
  184. gcore/types/waap/ip_info_list_attacked_countries_params.py +12 -0
  185. gcore/types/waap/ip_info_list_attacked_countries_response.py +10 -0
  186. gcore/types/waap/organization_list_params.py +22 -0
  187. gcore/types/waap/statistic_get_usage_series_params.py +25 -0
  188. gcore/types/waap/tag_list_params.py +28 -0
  189. gcore/types/waap/waap_advanced_rule.py +83 -0
  190. gcore/types/waap/waap_advanced_rule_descriptor.py +49 -0
  191. gcore/types/waap/waap_advanced_rule_descriptor_list.py +15 -0
  192. gcore/types/waap/waap_block_csrf_page_data.py +28 -0
  193. gcore/types/waap/waap_block_csrf_page_data_param.py +28 -0
  194. gcore/types/waap/waap_block_page_data.py +28 -0
  195. gcore/types/waap/waap_block_page_data_param.py +28 -0
  196. gcore/types/waap/waap_blocked_statistics.py +36 -0
  197. gcore/types/waap/waap_captcha_page_data.py +31 -0
  198. gcore/types/waap/waap_captcha_page_data_param.py +31 -0
  199. gcore/types/waap/waap_common_tag.py +16 -0
  200. gcore/types/waap/waap_cookie_disabled_page_data.py +18 -0
  201. gcore/types/waap/waap_cookie_disabled_page_data_param.py +18 -0
  202. gcore/types/waap/waap_count_statistics.py +36 -0
  203. gcore/types/waap/waap_custom_page_preview.py +10 -0
  204. gcore/types/waap/waap_custom_page_set.py +36 -0
  205. gcore/types/waap/waap_custom_rule.py +373 -0
  206. gcore/types/waap/waap_customer_rule_state.py +7 -0
  207. gcore/types/waap/waap_ddos_attack.py +16 -0
  208. gcore/types/waap/waap_ddos_info.py +17 -0
  209. gcore/types/waap/{waap_api_urls.py → waap_domain_api_settings.py} +9 -2
  210. gcore/types/waap/waap_domain_policy.py +29 -0
  211. gcore/types/waap/{waap_domain_settings.py → waap_domain_settings_model.py} +4 -4
  212. gcore/types/waap/waap_event_statistics.py +15 -0
  213. gcore/types/waap/waap_firewall_rule.py +78 -0
  214. gcore/types/waap/waap_get_account_overview_response.py +34 -0
  215. gcore/types/waap/waap_handshake_page_data.py +25 -0
  216. gcore/types/waap/waap_handshake_page_data_param.py +25 -0
  217. gcore/types/waap/waap_insight.py +38 -0
  218. gcore/types/waap/waap_insight_silence.py +28 -0
  219. gcore/types/waap/waap_insight_silence_sort_by.py +9 -0
  220. gcore/types/waap/waap_insight_sort_by.py +20 -0
  221. gcore/types/waap/waap_insight_status.py +7 -0
  222. gcore/types/waap/waap_ip_country_attack.py +16 -0
  223. gcore/types/waap/waap_ip_ddos_info_model.py +23 -0
  224. gcore/types/waap/waap_ip_info.py +57 -0
  225. gcore/types/waap/waap_ip_info_counts.py +16 -0
  226. gcore/types/waap/waap_javascript_disabled_page_data.py +18 -0
  227. gcore/types/waap/waap_javascript_disabled_page_data_param.py +18 -0
  228. gcore/types/waap/waap_network_details.py +17 -0
  229. gcore/types/waap/waap_organization.py +13 -0
  230. gcore/types/waap/waap_page_type.py +9 -0
  231. gcore/types/waap/waap_paginated_custom_page_set.py +22 -0
  232. gcore/types/waap/waap_paginated_ddos_attack.py +22 -0
  233. gcore/types/waap/waap_paginated_ddos_info.py +22 -0
  234. gcore/types/waap/waap_paginated_request_summary.py +22 -0
  235. gcore/types/waap/waap_pattern_matched_tag.py +37 -0
  236. gcore/types/waap/waap_policy_action.py +7 -0
  237. gcore/types/waap/waap_policy_mode.py +10 -0
  238. gcore/types/waap/waap_request_details.py +92 -0
  239. gcore/types/waap/waap_request_organization.py +13 -0
  240. gcore/types/waap/waap_request_summary.py +59 -0
  241. gcore/types/waap/waap_resolution.py +7 -0
  242. gcore/types/waap/waap_rule_action_type.py +7 -0
  243. gcore/types/waap/waap_rule_blocked_requests.py +16 -0
  244. gcore/types/waap/waap_rule_set.py +41 -0
  245. gcore/types/waap/waap_statistic_item.py +18 -0
  246. gcore/types/waap/waap_statistics_series.py +16 -0
  247. gcore/types/waap/waap_tag.py +16 -0
  248. gcore/types/waap/waap_time_series_attack.py +23 -0
  249. gcore/types/waap/waap_top_session.py +24 -0
  250. gcore/types/waap/waap_top_url.py +13 -0
  251. gcore/types/waap/waap_top_user_agent.py +13 -0
  252. gcore/types/waap/waap_traffic_metrics.py +68 -0
  253. gcore/types/waap/waap_traffic_type.py +28 -0
  254. gcore/types/waap/waap_user_agent_details.py +40 -0
  255. {gcore-0.2.0.dist-info → gcore-0.3.0.dist-info}/METADATA +1 -1
  256. {gcore-0.2.0.dist-info → gcore-0.3.0.dist-info}/RECORD +258 -109
  257. {gcore-0.2.0.dist-info → gcore-0.3.0.dist-info}/WHEEL +0 -0
  258. {gcore-0.2.0.dist-info → gcore-0.3.0.dist-info}/licenses/LICENSE +0 -0
@@ -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"""
@@ -0,0 +1,31 @@
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, Required, Annotated, TypedDict
8
+
9
+ from ...._utils import PropertyInfo
10
+
11
+ __all__ = ["AnalyticsListDDOSInfoParams"]
12
+
13
+
14
+ class AnalyticsListDDOSInfoParams(TypedDict, total=False):
15
+ group_by: Required[Literal["URL", "User-Agent", "IP"]]
16
+ """The identity of the requests to group by"""
17
+
18
+ start: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
19
+ """Filter traffic starting from a specified date in ISO 8601 format"""
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
+ limit: int
28
+ """Number of items to return"""
29
+
30
+ offset: int
31
+ """Number of items to skip"""
@@ -0,0 +1,26 @@
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 Required, Annotated, TypedDict
8
+
9
+ from ...._utils import PropertyInfo
10
+ from ..waap_resolution import WaapResolution
11
+
12
+ __all__ = ["AnalyticsListEventTrafficParams"]
13
+
14
+
15
+ class AnalyticsListEventTrafficParams(TypedDict, total=False):
16
+ resolution: Required[WaapResolution]
17
+ """Specifies the granularity of the result data."""
18
+
19
+ start: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
20
+ """Filter traffic starting from a specified date in ISO 8601 format"""
21
+
22
+ end: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
23
+ """Filter traffic up to a specified end date in ISO 8601 format.
24
+
25
+ If not provided, defaults to the current date and time.
26
+ """
@@ -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_traffic_metrics import WaapTrafficMetrics
7
+
8
+ __all__ = ["AnalyticsListEventTrafficResponse"]
9
+
10
+ AnalyticsListEventTrafficResponse: TypeAlias = List[WaapTrafficMetrics]
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .scan_result_list_params import ScanResultListParams as ScanResultListParams
6
+ from .scan_result_get_response import ScanResultGetResponse as ScanResultGetResponse
7
+ from .scan_result_list_response import ScanResultListResponse as ScanResultListResponse
@@ -0,0 +1,29 @@
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
+ from typing_extensions import Literal
6
+
7
+ from ....._models import BaseModel
8
+
9
+ __all__ = ["ScanResultGetResponse"]
10
+
11
+
12
+ class ScanResultGetResponse(BaseModel):
13
+ id: str
14
+ """The scan ID"""
15
+
16
+ end_time: Optional[datetime] = None
17
+ """The date and time the scan ended"""
18
+
19
+ message: str
20
+ """The message associated with the scan"""
21
+
22
+ start_time: datetime
23
+ """The date and time the scan started"""
24
+
25
+ status: Literal["SUCCESS", "FAILURE", "IN_PROGRESS"]
26
+ """The different statuses a task result can have"""
27
+
28
+ type: Literal["TRAFFIC_SCAN", "API_DESCRIPTION_FILE_SCAN"]
29
+ """The different types of scans that can be performed"""
@@ -0,0 +1,41 @@
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
+ __all__ = ["ScanResultListParams"]
9
+
10
+
11
+ class ScanResultListParams(TypedDict, total=False):
12
+ limit: int
13
+ """Number of items to return"""
14
+
15
+ message: Optional[str]
16
+ """Filter by the message of the scan. Supports '\\**' as a wildcard character"""
17
+
18
+ offset: int
19
+ """Number of items to skip"""
20
+
21
+ ordering: Literal[
22
+ "id",
23
+ "type",
24
+ "start_time",
25
+ "end_time",
26
+ "status",
27
+ "message",
28
+ "-id",
29
+ "-type",
30
+ "-start_time",
31
+ "-end_time",
32
+ "-status",
33
+ "-message",
34
+ ]
35
+ """Sort the response by given field."""
36
+
37
+ status: Optional[Literal["SUCCESS", "FAILURE", "IN_PROGRESS"]]
38
+ """The different statuses a task result can have"""
39
+
40
+ type: Optional[Literal["TRAFFIC_SCAN", "API_DESCRIPTION_FILE_SCAN"]]
41
+ """The different types of scans that can be performed"""
@@ -0,0 +1,29 @@
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
+ from typing_extensions import Literal
6
+
7
+ from ....._models import BaseModel
8
+
9
+ __all__ = ["ScanResultListResponse"]
10
+
11
+
12
+ class ScanResultListResponse(BaseModel):
13
+ id: str
14
+ """The scan ID"""
15
+
16
+ end_time: Optional[datetime] = None
17
+ """The date and time the scan ended"""
18
+
19
+ message: str
20
+ """The message associated with the scan"""
21
+
22
+ start_time: datetime
23
+ """The date and time the scan started"""
24
+
25
+ status: Literal["SUCCESS", "FAILURE", "IN_PROGRESS"]
26
+ """The different statuses a task result can have"""
27
+
28
+ type: Literal["TRAFFIC_SCAN", "API_DESCRIPTION_FILE_SCAN"]
29
+ """The different types of scans that can be performed"""
@@ -0,0 +1,36 @@
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__ = ["APIDiscoveryGetSettingsResponse"]
10
+
11
+
12
+ class APIDiscoveryGetSettingsResponse(BaseModel):
13
+ description_file_location: Optional[str] = FieldInfo(alias="descriptionFileLocation", default=None)
14
+ """The URL of the API description file.
15
+
16
+ This will be periodically scanned if `descriptionFileScanEnabled` is enabled.
17
+ Supported formats are YAML and JSON, and it must adhere to OpenAPI versions 2,
18
+ 3, or 3.1.
19
+ """
20
+
21
+ description_file_scan_enabled: Optional[bool] = FieldInfo(alias="descriptionFileScanEnabled", default=None)
22
+ """Indicates if periodic scan of the description file is enabled"""
23
+
24
+ description_file_scan_interval_hours: Optional[int] = FieldInfo(
25
+ alias="descriptionFileScanIntervalHours", default=None
26
+ )
27
+ """The interval in hours for scanning the description file"""
28
+
29
+ traffic_scan_enabled: Optional[bool] = FieldInfo(alias="trafficScanEnabled", default=None)
30
+ """Indicates if traffic scan is enabled.
31
+
32
+ Traffic scan is used to discover undocumented APIs
33
+ """
34
+
35
+ traffic_scan_interval_hours: Optional[int] = FieldInfo(alias="trafficScanIntervalHours", default=None)
36
+ """The interval in hours for scanning the traffic"""
@@ -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__ = ["APIDiscoveryScanOpenAPIResponse"]
6
+
7
+
8
+ class APIDiscoveryScanOpenAPIResponse(BaseModel):
9
+ id: str
10
+ """The task ID"""
@@ -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 Annotated, TypedDict
7
+
8
+ from ...._utils import PropertyInfo
9
+
10
+ __all__ = ["APIDiscoveryUpdateSettingsParams"]
11
+
12
+
13
+ class APIDiscoveryUpdateSettingsParams(TypedDict, total=False):
14
+ description_file_location: Annotated[Optional[str], PropertyInfo(alias="descriptionFileLocation")]
15
+ """The URL of the API description file.
16
+
17
+ This will be periodically scanned if `descriptionFileScanEnabled` is enabled.
18
+ Supported formats are YAML and JSON, and it must adhere to OpenAPI versions 2,
19
+ 3, or 3.1.
20
+ """
21
+
22
+ description_file_scan_enabled: Annotated[Optional[bool], PropertyInfo(alias="descriptionFileScanEnabled")]
23
+ """Indicates if periodic scan of the description file is enabled"""
24
+
25
+ description_file_scan_interval_hours: Annotated[
26
+ Optional[int], PropertyInfo(alias="descriptionFileScanIntervalHours")
27
+ ]
28
+ """The interval in hours for scanning the description file"""
29
+
30
+ traffic_scan_enabled: Annotated[Optional[bool], PropertyInfo(alias="trafficScanEnabled")]
31
+ """Indicates if traffic scan is enabled"""
32
+
33
+ traffic_scan_interval_hours: Annotated[Optional[int], PropertyInfo(alias="trafficScanIntervalHours")]
34
+ """The interval in hours for scanning the traffic"""
@@ -0,0 +1,36 @@
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__ = ["APIDiscoveryUpdateSettingsResponse"]
10
+
11
+
12
+ class APIDiscoveryUpdateSettingsResponse(BaseModel):
13
+ description_file_location: Optional[str] = FieldInfo(alias="descriptionFileLocation", default=None)
14
+ """The URL of the API description file.
15
+
16
+ This will be periodically scanned if `descriptionFileScanEnabled` is enabled.
17
+ Supported formats are YAML and JSON, and it must adhere to OpenAPI versions 2,
18
+ 3, or 3.1.
19
+ """
20
+
21
+ description_file_scan_enabled: Optional[bool] = FieldInfo(alias="descriptionFileScanEnabled", default=None)
22
+ """Indicates if periodic scan of the description file is enabled"""
23
+
24
+ description_file_scan_interval_hours: Optional[int] = FieldInfo(
25
+ alias="descriptionFileScanIntervalHours", default=None
26
+ )
27
+ """The interval in hours for scanning the description file"""
28
+
29
+ traffic_scan_enabled: Optional[bool] = FieldInfo(alias="trafficScanEnabled", default=None)
30
+ """Indicates if traffic scan is enabled.
31
+
32
+ Traffic scan is used to discover undocumented APIs
33
+ """
34
+
35
+ traffic_scan_interval_hours: Optional[int] = FieldInfo(alias="trafficScanIntervalHours", default=None)
36
+ """The interval in hours for scanning the traffic"""
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["APIDiscoveryUploadOpenAPIParams"]
8
+
9
+
10
+ class APIDiscoveryUploadOpenAPIParams(TypedDict, total=False):
11
+ file_data: Required[str]
12
+ """Base64 representation of the description file.
13
+
14
+ Supported formats are YAML and JSON, and it must adhere to OpenAPI versions 2,
15
+ 3, or 3.1.
16
+ """
17
+
18
+ file_name: Required[str]
19
+ """The name of the file"""
@@ -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__ = ["APIDiscoveryUploadOpenAPIResponse"]
6
+
7
+
8
+ class APIDiscoveryUploadOpenAPIResponse(BaseModel):
9
+ id: str
10
+ """The task ID"""
@@ -0,0 +1,31 @@
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
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["APIPathCreateParams"]
9
+
10
+
11
+ class APIPathCreateParams(TypedDict, total=False):
12
+ http_scheme: Required[Literal["HTTP", "HTTPS"]]
13
+ """The different HTTP schemes an API path can have"""
14
+
15
+ method: Required[Literal["GET", "POST", "PUT", "PATCH", "DELETE", "TRACE", "HEAD", "OPTIONS"]]
16
+ """The different methods an API path can have"""
17
+
18
+ path: Required[str]
19
+ """
20
+ The API path, locations that are saved for resource IDs will be put in curly
21
+ brackets
22
+ """
23
+
24
+ api_groups: List[str]
25
+ """An array of api groups associated with the API path"""
26
+
27
+ api_version: str
28
+ """The API version"""
29
+
30
+ tags: List[str]
31
+ """An array of tags associated with the API path"""
@@ -0,0 +1,50 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ...._models import BaseModel
8
+
9
+ __all__ = ["APIPathCreateResponse"]
10
+
11
+
12
+ class APIPathCreateResponse(BaseModel):
13
+ id: str
14
+ """The path ID"""
15
+
16
+ api_groups: List[str]
17
+ """An array of api groups associated with the API path"""
18
+
19
+ api_version: str
20
+ """The API version"""
21
+
22
+ first_detected: datetime
23
+ """The date and time in ISO 8601 format the API path was first detected."""
24
+
25
+ http_scheme: Literal["HTTP", "HTTPS"]
26
+ """The different HTTP schemes an API path can have"""
27
+
28
+ last_detected: datetime
29
+ """The date and time in ISO 8601 format the API path was last detected."""
30
+
31
+ method: Literal["GET", "POST", "PUT", "PATCH", "DELETE", "TRACE", "HEAD", "OPTIONS"]
32
+ """The different methods an API path can have"""
33
+
34
+ path: str
35
+ """
36
+ The API path, locations that are saved for resource IDs will be put in curly
37
+ brackets
38
+ """
39
+
40
+ request_count: int
41
+ """The number of requests for this path in the last 24 hours"""
42
+
43
+ source: Literal["API_DESCRIPTION_FILE", "TRAFFIC_SCAN", "USER_DEFINED"]
44
+ """The different sources an API path can have"""
45
+
46
+ status: Literal["CONFIRMED_API", "POTENTIAL_API", "NOT_API", "DELISTED_API"]
47
+ """The different statuses an API path can have"""
48
+
49
+ tags: List[str]
50
+ """An array of tags associated with the API path"""
@@ -0,0 +1,50 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ...._models import BaseModel
8
+
9
+ __all__ = ["APIPathGetResponse"]
10
+
11
+
12
+ class APIPathGetResponse(BaseModel):
13
+ id: str
14
+ """The path ID"""
15
+
16
+ api_groups: List[str]
17
+ """An array of api groups associated with the API path"""
18
+
19
+ api_version: str
20
+ """The API version"""
21
+
22
+ first_detected: datetime
23
+ """The date and time in ISO 8601 format the API path was first detected."""
24
+
25
+ http_scheme: Literal["HTTP", "HTTPS"]
26
+ """The different HTTP schemes an API path can have"""
27
+
28
+ last_detected: datetime
29
+ """The date and time in ISO 8601 format the API path was last detected."""
30
+
31
+ method: Literal["GET", "POST", "PUT", "PATCH", "DELETE", "TRACE", "HEAD", "OPTIONS"]
32
+ """The different methods an API path can have"""
33
+
34
+ path: str
35
+ """
36
+ The API path, locations that are saved for resource IDs will be put in curly
37
+ brackets
38
+ """
39
+
40
+ request_count: int
41
+ """The number of requests for this path in the last 24 hours"""
42
+
43
+ source: Literal["API_DESCRIPTION_FILE", "TRAFFIC_SCAN", "USER_DEFINED"]
44
+ """The different sources an API path can have"""
45
+
46
+ status: Literal["CONFIRMED_API", "POTENTIAL_API", "NOT_API", "DELISTED_API"]
47
+ """The different statuses an API path can have"""
48
+
49
+ tags: List[str]
50
+ """An array of tags associated with the API path"""
@@ -0,0 +1,12 @@
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__ = ["APIPathGroupListResponse"]
8
+
9
+
10
+ class APIPathGroupListResponse(BaseModel):
11
+ api_path_groups: List[str]
12
+ """An array of api groups associated with the API path"""
@@ -0,0 +1,62 @@
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, TypedDict
7
+
8
+ __all__ = ["APIPathListParams"]
9
+
10
+
11
+ class APIPathListParams(TypedDict, total=False):
12
+ api_group: Optional[str]
13
+ """Filter by the API group associated with the API path"""
14
+
15
+ api_version: Optional[str]
16
+ """Filter by the API version"""
17
+
18
+ http_scheme: Optional[Literal["HTTP", "HTTPS"]]
19
+ """The different HTTP schemes an API path can have"""
20
+
21
+ ids: Optional[List[str]]
22
+ """Filter by the path ID"""
23
+
24
+ limit: int
25
+ """Number of items to return"""
26
+
27
+ method: Optional[Literal["GET", "POST", "PUT", "PATCH", "DELETE", "TRACE", "HEAD", "OPTIONS"]]
28
+ """The different methods an API path can have"""
29
+
30
+ offset: int
31
+ """Number of items to skip"""
32
+
33
+ ordering: Literal[
34
+ "id",
35
+ "path",
36
+ "method",
37
+ "api_version",
38
+ "http_scheme",
39
+ "first_detected",
40
+ "last_detected",
41
+ "status",
42
+ "source",
43
+ "-id",
44
+ "-path",
45
+ "-method",
46
+ "-api_version",
47
+ "-http_scheme",
48
+ "-first_detected",
49
+ "-last_detected",
50
+ "-status",
51
+ "-source",
52
+ ]
53
+ """Sort the response by given field."""
54
+
55
+ path: Optional[str]
56
+ """Filter by the path. Supports '\\**' as a wildcard character"""
57
+
58
+ source: Optional[Literal["API_DESCRIPTION_FILE", "TRAFFIC_SCAN", "USER_DEFINED"]]
59
+ """The different sources an API path can have"""
60
+
61
+ status: Optional[List[Literal["CONFIRMED_API", "POTENTIAL_API", "NOT_API", "DELISTED_API"]]]
62
+ """Filter by the status of the discovered API path"""
@@ -0,0 +1,50 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ...._models import BaseModel
8
+
9
+ __all__ = ["APIPathListResponse"]
10
+
11
+
12
+ class APIPathListResponse(BaseModel):
13
+ id: str
14
+ """The path ID"""
15
+
16
+ api_groups: List[str]
17
+ """An array of api groups associated with the API path"""
18
+
19
+ api_version: str
20
+ """The API version"""
21
+
22
+ first_detected: datetime
23
+ """The date and time in ISO 8601 format the API path was first detected."""
24
+
25
+ http_scheme: Literal["HTTP", "HTTPS"]
26
+ """The different HTTP schemes an API path can have"""
27
+
28
+ last_detected: datetime
29
+ """The date and time in ISO 8601 format the API path was last detected."""
30
+
31
+ method: Literal["GET", "POST", "PUT", "PATCH", "DELETE", "TRACE", "HEAD", "OPTIONS"]
32
+ """The different methods an API path can have"""
33
+
34
+ path: str
35
+ """
36
+ The API path, locations that are saved for resource IDs will be put in curly
37
+ brackets
38
+ """
39
+
40
+ request_count: int
41
+ """The number of requests for this path in the last 24 hours"""
42
+
43
+ source: Literal["API_DESCRIPTION_FILE", "TRAFFIC_SCAN", "USER_DEFINED"]
44
+ """The different sources an API path can have"""
45
+
46
+ status: Literal["CONFIRMED_API", "POTENTIAL_API", "NOT_API", "DELISTED_API"]
47
+ """The different statuses an API path can have"""
48
+
49
+ tags: List[str]
50
+ """An array of tags associated with the API path"""