gcore 0.9.0__py3-none-any.whl → 0.10.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 (132) hide show
  1. gcore/_version.py +1 -1
  2. gcore/resources/cloud/load_balancers/pools/health_monitors.py +8 -4
  3. gcore/resources/cloud/load_balancers/pools/members.py +2 -2
  4. gcore/resources/security/bgp_announces.py +15 -15
  5. gcore/resources/waap/__init__.py +14 -0
  6. gcore/resources/waap/custom_page_sets.py +40 -34
  7. gcore/resources/waap/domains/__init__.py +14 -28
  8. gcore/resources/waap/domains/advanced_rules.py +5 -8
  9. gcore/resources/waap/domains/{api_discovery/api_discovery.py → api_discovery.py} +292 -59
  10. gcore/resources/waap/domains/api_path_groups.py +5 -5
  11. gcore/resources/waap/domains/api_paths.py +15 -17
  12. gcore/resources/waap/domains/custom_rules.py +5 -8
  13. gcore/resources/waap/domains/domains.py +120 -64
  14. gcore/resources/waap/domains/firewall_rules.py +3 -5
  15. gcore/resources/waap/domains/insight_silences.py +28 -5
  16. gcore/resources/waap/domains/insights.py +36 -10
  17. gcore/resources/waap/domains/{analytics/analytics.py → statistics.py} +514 -213
  18. gcore/resources/waap/insights.py +233 -0
  19. gcore/resources/waap/ip_info/__init__.py +33 -0
  20. gcore/resources/waap/{ip_info.py → ip_info/ip_info.py} +149 -235
  21. gcore/resources/waap/ip_info/metrics.py +203 -0
  22. gcore/resources/waap/waap.py +40 -8
  23. gcore/types/cloud/health_monitor.py +6 -0
  24. gcore/types/cloud/load_balancer_create_params.py +8 -3
  25. gcore/types/cloud/load_balancers/pool_create_params.py +8 -3
  26. gcore/types/cloud/load_balancers/pool_update_params.py +8 -3
  27. gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +7 -2
  28. gcore/types/cloud/load_balancers/pools/member_add_params.py +1 -1
  29. gcore/types/cloud/region.py +0 -3
  30. gcore/types/security/__init__.py +1 -1
  31. gcore/types/security/{bgp_announce_change_params.py → bgp_announce_toggle_params.py} +2 -2
  32. gcore/types/waap/__init__.py +6 -54
  33. gcore/types/waap/custom_page_set_create_params.py +121 -14
  34. gcore/types/waap/custom_page_set_preview_params.py +11 -4
  35. gcore/types/waap/custom_page_set_update_params.py +122 -15
  36. gcore/types/waap/domain_list_params.py +1 -3
  37. gcore/types/waap/domains/__init__.py +28 -18
  38. gcore/types/waap/domains/advanced_rule_list_params.py +1 -3
  39. gcore/types/waap/domains/{api_discovery/scan_result_list_params.py → api_discovery_list_scan_results_params.py} +2 -2
  40. gcore/types/waap/domains/{api_path_group_list_response.py → api_path_group_list.py} +2 -2
  41. gcore/types/waap/domains/custom_rule_list_params.py +1 -3
  42. gcore/types/waap/domains/insight_list_params.py +16 -6
  43. gcore/types/waap/domains/insight_replace_params.py +2 -4
  44. gcore/types/waap/domains/insight_silence_list_params.py +13 -4
  45. gcore/types/waap/domains/{analytics_list_ddos_attacks_params.py → statistic_get_ddos_attacks_params.py} +2 -2
  46. gcore/types/waap/domains/{analytics_list_ddos_info_params.py → statistic_get_ddos_info_params.py} +2 -2
  47. gcore/types/waap/domains/{analytics_get_event_statistics_params.py → statistic_get_events_aggregated_params.py} +2 -2
  48. gcore/types/waap/domains/{analytics/request_list_params.py → statistic_get_requests_series_params.py} +27 -5
  49. gcore/types/waap/domains/{analytics_list_event_traffic_params.py → statistic_get_traffic_series_params.py} +4 -5
  50. gcore/types/waap/domains/statistic_get_traffic_series_response.py +10 -0
  51. gcore/types/waap/{waap_advanced_rule.py → domains/waap_advanced_rule.py} +1 -1
  52. gcore/types/waap/domains/{api_discovery_get_settings_response.py → waap_api_discovery_settings.py} +2 -2
  53. gcore/types/waap/domains/{api_path_get_response.py → waap_api_path.py} +2 -2
  54. gcore/types/waap/domains/{api_discovery/scan_result_get_response.py → waap_api_scan_result.py} +3 -3
  55. gcore/types/waap/{waap_blocked_statistics.py → domains/waap_blocked_statistics.py} +1 -1
  56. gcore/types/waap/{waap_count_statistics.py → domains/waap_count_statistics.py} +1 -1
  57. gcore/types/waap/{waap_custom_rule.py → domains/waap_custom_rule.py} +1 -1
  58. gcore/types/waap/{waap_ddos_attack.py → domains/waap_ddos_attack.py} +1 -1
  59. gcore/types/waap/{waap_ddos_info.py → domains/waap_ddos_info.py} +1 -1
  60. gcore/types/waap/{waap_event_statistics.py → domains/waap_event_statistics.py} +1 -1
  61. gcore/types/waap/{waap_firewall_rule.py → domains/waap_firewall_rule.py} +1 -1
  62. gcore/types/waap/{waap_insight.py → domains/waap_insight.py} +3 -3
  63. gcore/types/waap/{waap_insight_silence.py → domains/waap_insight_silence.py} +1 -1
  64. gcore/types/waap/domains/waap_request_details.py +185 -0
  65. gcore/types/waap/{waap_request_summary.py → domains/waap_request_summary.py} +1 -1
  66. gcore/types/waap/domains/{api_discovery_scan_openapi_response.py → waap_task_id.py} +2 -2
  67. gcore/types/waap/{waap_traffic_metrics.py → domains/waap_traffic_metrics.py} +1 -1
  68. gcore/types/waap/insight_list_types_params.py +28 -0
  69. gcore/types/waap/ip_info/__init__.py +6 -0
  70. gcore/types/waap/{ip_info_get_counts_params.py → ip_info/metric_list_params.py} +2 -2
  71. gcore/types/waap/{waap_ip_info_counts.py → ip_info/waap_ip_info_counts.py} +1 -1
  72. gcore/types/waap/{ip_info_get_params.py → ip_info_get_ip_info_params.py} +2 -2
  73. gcore/types/waap/{waap_ip_info.py → ip_info_get_ip_info_response.py} +2 -2
  74. gcore/types/waap/ip_info_get_top_urls_response.py +12 -3
  75. gcore/types/waap/{ip_info_get_top_sessions_params.py → ip_info_get_top_user_sessions_params.py} +2 -2
  76. gcore/types/waap/{ip_info_get_top_sessions_response.py → ip_info_get_top_user_sessions_response.py} +2 -2
  77. gcore/types/waap/waap_custom_page_set.py +113 -13
  78. gcore/types/waap/waap_detailed_domain.py +2 -2
  79. gcore/types/waap/waap_insight_type.py +33 -0
  80. gcore/types/waap/waap_rule_set.py +26 -3
  81. gcore/types/waap/waap_summary_domain.py +2 -2
  82. {gcore-0.9.0.dist-info → gcore-0.10.0.dist-info}/METADATA +1 -1
  83. {gcore-0.9.0.dist-info → gcore-0.10.0.dist-info}/RECORD +85 -124
  84. gcore/resources/waap/domains/analytics/__init__.py +0 -33
  85. gcore/resources/waap/domains/analytics/requests.py +0 -378
  86. gcore/resources/waap/domains/api_discovery/__init__.py +0 -33
  87. gcore/resources/waap/domains/api_discovery/scan_results.py +0 -352
  88. gcore/resources/waap/domains/policies.py +0 -173
  89. gcore/types/waap/domains/analytics/__init__.py +0 -5
  90. gcore/types/waap/domains/analytics_list_event_traffic_response.py +0 -10
  91. gcore/types/waap/domains/api_discovery/__init__.py +0 -7
  92. gcore/types/waap/domains/api_discovery/scan_result_list_response.py +0 -29
  93. gcore/types/waap/domains/api_discovery_update_settings_response.py +0 -36
  94. gcore/types/waap/domains/api_discovery_upload_openapi_response.py +0 -10
  95. gcore/types/waap/domains/api_path_create_response.py +0 -50
  96. gcore/types/waap/domains/api_path_list_response.py +0 -50
  97. gcore/types/waap/waap_block_csrf_page_data.py +0 -28
  98. gcore/types/waap/waap_block_csrf_page_data_param.py +0 -28
  99. gcore/types/waap/waap_block_page_data.py +0 -28
  100. gcore/types/waap/waap_block_page_data_param.py +0 -28
  101. gcore/types/waap/waap_captcha_page_data.py +0 -31
  102. gcore/types/waap/waap_captcha_page_data_param.py +0 -31
  103. gcore/types/waap/waap_common_tag.py +0 -16
  104. gcore/types/waap/waap_cookie_disabled_page_data.py +0 -18
  105. gcore/types/waap/waap_cookie_disabled_page_data_param.py +0 -18
  106. gcore/types/waap/waap_customer_rule_state.py +0 -7
  107. gcore/types/waap/waap_domain_policy.py +0 -29
  108. gcore/types/waap/waap_domain_status.py +0 -7
  109. gcore/types/waap/waap_handshake_page_data.py +0 -25
  110. gcore/types/waap/waap_handshake_page_data_param.py +0 -25
  111. gcore/types/waap/waap_insight_silence_sort_by.py +0 -9
  112. gcore/types/waap/waap_insight_sort_by.py +0 -20
  113. gcore/types/waap/waap_insight_status.py +0 -7
  114. gcore/types/waap/waap_javascript_disabled_page_data.py +0 -18
  115. gcore/types/waap/waap_javascript_disabled_page_data_param.py +0 -18
  116. gcore/types/waap/waap_network_details.py +0 -17
  117. gcore/types/waap/waap_page_type.py +0 -9
  118. gcore/types/waap/waap_paginated_custom_page_set.py +0 -22
  119. gcore/types/waap/waap_paginated_ddos_attack.py +0 -22
  120. gcore/types/waap/waap_paginated_ddos_info.py +0 -22
  121. gcore/types/waap/waap_paginated_request_summary.py +0 -22
  122. gcore/types/waap/waap_pattern_matched_tag.py +0 -37
  123. gcore/types/waap/waap_policy_action.py +0 -7
  124. gcore/types/waap/waap_request_details.py +0 -92
  125. gcore/types/waap/waap_request_organization.py +0 -13
  126. gcore/types/waap/waap_resolution.py +0 -7
  127. gcore/types/waap/waap_rule_action_type.py +0 -7
  128. gcore/types/waap/waap_top_url.py +0 -13
  129. gcore/types/waap/waap_traffic_type.py +0 -28
  130. gcore/types/waap/waap_user_agent_details.py +0 -40
  131. {gcore-0.9.0.dist-info → gcore-0.10.0.dist-info}/WHEEL +0 -0
  132. {gcore-0.9.0.dist-info → gcore-0.10.0.dist-info}/licenses/LICENSE +0 -0
@@ -4,16 +4,15 @@ from __future__ import annotations
4
4
 
5
5
  from typing import Union
6
6
  from datetime import datetime
7
- from typing_extensions import Required, Annotated, TypedDict
7
+ from typing_extensions import Literal, Required, Annotated, TypedDict
8
8
 
9
9
  from ...._utils import PropertyInfo
10
- from ..waap_resolution import WaapResolution
11
10
 
12
- __all__ = ["AnalyticsListEventTrafficParams"]
11
+ __all__ = ["StatisticGetTrafficSeriesParams"]
13
12
 
14
13
 
15
- class AnalyticsListEventTrafficParams(TypedDict, total=False):
16
- resolution: Required[WaapResolution]
14
+ class StatisticGetTrafficSeriesParams(TypedDict, total=False):
15
+ resolution: Required[Literal["daily", "hourly", "minutely"]]
17
16
  """Specifies the granularity of the result data."""
18
17
 
19
18
  start: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
@@ -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__ = ["StatisticGetTrafficSeriesResponse"]
9
+
10
+ StatisticGetTrafficSeriesResponse: TypeAlias = List[WaapTrafficMetrics]
@@ -3,7 +3,7 @@
3
3
  from typing import List, Optional
4
4
  from typing_extensions import Literal
5
5
 
6
- from ..._models import BaseModel
6
+ from ...._models import BaseModel
7
7
 
8
8
  __all__ = ["WaapAdvancedRule", "Action", "ActionBlock", "ActionTag"]
9
9
 
@@ -6,10 +6,10 @@ from pydantic import Field as FieldInfo
6
6
 
7
7
  from ...._models import BaseModel
8
8
 
9
- __all__ = ["APIDiscoveryGetSettingsResponse"]
9
+ __all__ = ["WaapAPIDiscoverySettings"]
10
10
 
11
11
 
12
- class APIDiscoveryGetSettingsResponse(BaseModel):
12
+ class WaapAPIDiscoverySettings(BaseModel):
13
13
  description_file_location: Optional[str] = FieldInfo(alias="descriptionFileLocation", default=None)
14
14
  """The URL of the API description file.
15
15
 
@@ -6,10 +6,10 @@ from typing_extensions import Literal
6
6
 
7
7
  from ...._models import BaseModel
8
8
 
9
- __all__ = ["APIPathGetResponse"]
9
+ __all__ = ["WaapAPIPath"]
10
10
 
11
11
 
12
- class APIPathGetResponse(BaseModel):
12
+ class WaapAPIPath(BaseModel):
13
13
  id: str
14
14
  """The path ID"""
15
15
 
@@ -4,12 +4,12 @@ from typing import Optional
4
4
  from datetime import datetime
5
5
  from typing_extensions import Literal
6
6
 
7
- from ....._models import BaseModel
7
+ from ...._models import BaseModel
8
8
 
9
- __all__ = ["ScanResultGetResponse"]
9
+ __all__ = ["WaapAPIScanResult"]
10
10
 
11
11
 
12
- class ScanResultGetResponse(BaseModel):
12
+ class WaapAPIScanResult(BaseModel):
13
13
  id: str
14
14
  """The scan ID"""
15
15
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  from typing import List, Union
4
4
 
5
- from ..._models import BaseModel
5
+ from ...._models import BaseModel
6
6
 
7
7
  __all__ = ["WaapBlockedStatistics"]
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  from typing import List, Union
4
4
 
5
- from ..._models import BaseModel
5
+ from ...._models import BaseModel
6
6
 
7
7
  __all__ = ["WaapCountStatistics"]
8
8
 
@@ -3,7 +3,7 @@
3
3
  from typing import List, Optional
4
4
  from typing_extensions import Literal
5
5
 
6
- from ..._models import BaseModel
6
+ from ...._models import BaseModel
7
7
 
8
8
  __all__ = [
9
9
  "WaapCustomRule",
@@ -3,7 +3,7 @@
3
3
  from typing import Optional
4
4
  from datetime import datetime
5
5
 
6
- from ..._models import BaseModel
6
+ from ...._models import BaseModel
7
7
 
8
8
  __all__ = ["WaapDDOSAttack"]
9
9
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  from typing_extensions import Literal
4
4
 
5
- from ..._models import BaseModel
5
+ from ...._models import BaseModel
6
6
 
7
7
  __all__ = ["WaapDDOSInfo"]
8
8
 
@@ -1,6 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from ..._models import BaseModel
3
+ from ...._models import BaseModel
4
4
  from .waap_count_statistics import WaapCountStatistics
5
5
  from .waap_blocked_statistics import WaapBlockedStatistics
6
6
 
@@ -3,7 +3,7 @@
3
3
  from typing import List, Optional
4
4
  from typing_extensions import Literal
5
5
 
6
- from ..._models import BaseModel
6
+ from ...._models import BaseModel
7
7
 
8
8
  __all__ = ["WaapFirewallRule", "Action", "ActionBlock", "Condition", "ConditionIP", "ConditionIPRange"]
9
9
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  from typing import Dict
4
4
  from datetime import datetime
5
+ from typing_extensions import Literal
5
6
 
6
- from ..._models import BaseModel
7
- from .waap_insight_status import WaapInsightStatus
7
+ from ...._models import BaseModel
8
8
 
9
9
  __all__ = ["WaapInsight"]
10
10
 
@@ -34,5 +34,5 @@ class WaapInsight(BaseModel):
34
34
  recommendation: str
35
35
  """The recommended action to perform to resolve the insight"""
36
36
 
37
- status: WaapInsightStatus
37
+ status: Literal["OPEN", "ACKED", "CLOSED"]
38
38
  """The different statuses an insight can have"""
@@ -3,7 +3,7 @@
3
3
  from typing import Dict, Optional
4
4
  from datetime import datetime
5
5
 
6
- from ..._models import BaseModel
6
+ from ...._models import BaseModel
7
7
 
8
8
  __all__ = ["WaapInsightSilence"]
9
9
 
@@ -0,0 +1,185 @@
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
+
8
+ __all__ = ["WaapRequestDetails", "CommonTag", "Network", "NetworkOrganization", "PatternMatchedTag", "UserAgent"]
9
+
10
+
11
+ class CommonTag(BaseModel):
12
+ description: str
13
+ """Tag description information"""
14
+
15
+ display_name: str
16
+ """The tag's display name"""
17
+
18
+ tag: str
19
+ """Tag name"""
20
+
21
+
22
+ class NetworkOrganization(BaseModel):
23
+ name: str
24
+ """Organization name"""
25
+
26
+ subnet: str
27
+ """Network range"""
28
+
29
+
30
+ class Network(BaseModel):
31
+ client_ip: str
32
+ """Client IP"""
33
+
34
+ country: str
35
+ """Country code"""
36
+
37
+ organization: NetworkOrganization
38
+ """Organization details"""
39
+
40
+
41
+ class PatternMatchedTag(BaseModel):
42
+ description: str
43
+ """Tag description information"""
44
+
45
+ display_name: str
46
+ """The tag's display name"""
47
+
48
+ execution_phase: str
49
+ """
50
+ The phase in which the tag was triggered: access -> Request, `header_filter` ->
51
+ `response_header`, `body_filter` -> `response_body`
52
+ """
53
+
54
+ field: str
55
+ """The entity to which the variable that triggered the tag belong to.
56
+
57
+ For example: `request_headers`, uri, cookies etc.
58
+ """
59
+
60
+ field_name: str
61
+ """The name of the variable which holds the value that triggered the tag"""
62
+
63
+ pattern_name: str
64
+ """The name of the detected regexp pattern"""
65
+
66
+ pattern_value: str
67
+ """The pattern which triggered the tag"""
68
+
69
+ tag: str
70
+ """Tag name"""
71
+
72
+
73
+ class UserAgent(BaseModel):
74
+ base_browser: str
75
+ """User agent browser"""
76
+
77
+ base_browser_version: str
78
+ """User agent browser version"""
79
+
80
+ client: str
81
+ """Client from User agent header"""
82
+
83
+ client_type: str
84
+ """User agent client type"""
85
+
86
+ client_version: str
87
+ """User agent client version"""
88
+
89
+ cpu: str
90
+ """User agent cpu"""
91
+
92
+ device: str
93
+ """User agent device"""
94
+
95
+ device_type: str
96
+ """User agent device type"""
97
+
98
+ full_string: str
99
+ """User agent"""
100
+
101
+ os: str
102
+ """User agent os"""
103
+
104
+ rendering_engine: str
105
+ """User agent engine"""
106
+
107
+
108
+ class WaapRequestDetails(BaseModel):
109
+ id: str
110
+ """Request ID"""
111
+
112
+ action: str
113
+ """Request action"""
114
+
115
+ common_tags: List[CommonTag]
116
+ """List of common tags"""
117
+
118
+ content_type: str
119
+ """Content type of request"""
120
+
121
+ domain: str
122
+ """Domain name"""
123
+
124
+ http_status_code: int
125
+ """Status code for http request"""
126
+
127
+ http_version: str
128
+ """HTTP version of request"""
129
+
130
+ incident_id: str
131
+ """ID of challenge that was generated"""
132
+
133
+ method: str
134
+ """Request method"""
135
+
136
+ network: Network
137
+ """Network details"""
138
+
139
+ path: str
140
+ """Request path"""
141
+
142
+ pattern_matched_tags: List[PatternMatchedTag]
143
+ """List of shield tags"""
144
+
145
+ query_string: str
146
+ """The query string of the request"""
147
+
148
+ reference_id: str
149
+ """Reference ID to identify user sanction"""
150
+
151
+ request_headers: object
152
+ """HTTP request headers"""
153
+
154
+ request_time: str
155
+ """The time of the request"""
156
+
157
+ request_type: str
158
+ """The type of the request that generated an event"""
159
+
160
+ requested_domain: str
161
+ """The real domain name"""
162
+
163
+ response_time: str
164
+ """Time took to process all request"""
165
+
166
+ result: Literal["passed", "blocked", "suppressed", ""]
167
+ """The result of a request"""
168
+
169
+ rule_id: str
170
+ """ID of the triggered rule"""
171
+
172
+ rule_name: str
173
+ """Name of the triggered rule"""
174
+
175
+ scheme: str
176
+ """The HTTP scheme of the request that generated an event"""
177
+
178
+ session_request_count: str
179
+ """The number requests in session"""
180
+
181
+ traffic_types: List[str]
182
+ """List of traffic types"""
183
+
184
+ user_agent: UserAgent
185
+ """User agent details"""
@@ -2,7 +2,7 @@
2
2
 
3
3
  from typing_extensions import Literal
4
4
 
5
- from ..._models import BaseModel
5
+ from ...._models import BaseModel
6
6
 
7
7
  __all__ = ["WaapRequestSummary"]
8
8
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  from ...._models import BaseModel
4
4
 
5
- __all__ = ["APIDiscoveryScanOpenAPIResponse"]
5
+ __all__ = ["WaapTaskID"]
6
6
 
7
7
 
8
- class APIDiscoveryScanOpenAPIResponse(BaseModel):
8
+ class WaapTaskID(BaseModel):
9
9
  id: str
10
10
  """The task ID"""
@@ -4,7 +4,7 @@ from typing import Optional
4
4
 
5
5
  from pydantic import Field as FieldInfo
6
6
 
7
- from ..._models import BaseModel
7
+ from ...._models import BaseModel
8
8
 
9
9
  __all__ = ["WaapTrafficMetrics"]
10
10
 
@@ -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 Optional
6
+ from typing_extensions import Literal, TypedDict
7
+
8
+ __all__ = ["InsightListTypesParams"]
9
+
10
+
11
+ class InsightListTypesParams(TypedDict, total=False):
12
+ insight_frequency: Optional[int]
13
+ """Filter by the frequency of the insight type"""
14
+
15
+ limit: int
16
+ """Number of items to return"""
17
+
18
+ name: Optional[str]
19
+ """Filter by the name of the insight type"""
20
+
21
+ offset: int
22
+ """Number of items to skip"""
23
+
24
+ ordering: Literal["name", "-name", "slug", "-slug", "insight_frequency", "-insight_frequency"]
25
+ """Sort the response by given field."""
26
+
27
+ slug: Optional[str]
28
+ """Filter by the slug of the insight type"""
@@ -0,0 +1,6 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .metric_list_params import MetricListParams as MetricListParams
6
+ from .waap_ip_info_counts import WaapIPInfoCounts as WaapIPInfoCounts
@@ -5,10 +5,10 @@ from __future__ import annotations
5
5
  from typing import Optional
6
6
  from typing_extensions import Required, TypedDict
7
7
 
8
- __all__ = ["IPInfoGetCountsParams"]
8
+ __all__ = ["MetricListParams"]
9
9
 
10
10
 
11
- class IPInfoGetCountsParams(TypedDict, total=False):
11
+ class MetricListParams(TypedDict, total=False):
12
12
  ip: Required[str]
13
13
  """The IP address to check"""
14
14
 
@@ -1,6 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from ..._models import BaseModel
3
+ from ...._models import BaseModel
4
4
 
5
5
  __all__ = ["WaapIPInfoCounts"]
6
6
 
@@ -4,9 +4,9 @@ from __future__ import annotations
4
4
 
5
5
  from typing_extensions import Required, TypedDict
6
6
 
7
- __all__ = ["IPInfoGetParams"]
7
+ __all__ = ["IPInfoGetIPInfoParams"]
8
8
 
9
9
 
10
- class IPInfoGetParams(TypedDict, total=False):
10
+ class IPInfoGetIPInfoParams(TypedDict, total=False):
11
11
  ip: Required[str]
12
12
  """The IP address to check"""
@@ -5,7 +5,7 @@ from typing_extensions import Literal
5
5
 
6
6
  from ..._models import BaseModel
7
7
 
8
- __all__ = ["WaapIPInfo", "Whois"]
8
+ __all__ = ["IPInfoGetIPInfoResponse", "Whois"]
9
9
 
10
10
 
11
11
  class Whois(BaseModel):
@@ -46,7 +46,7 @@ class Whois(BaseModel):
46
46
  """The state"""
47
47
 
48
48
 
49
- class WaapIPInfo(BaseModel):
49
+ class IPInfoGetIPInfoResponse(BaseModel):
50
50
  risk_score: Literal["NO_RISK", "LOW", "MEDIUM", "HIGH", "EXTREME", "NOT_ENOUGH_DATA"]
51
51
  """The risk score of the IP address"""
52
52
 
@@ -3,8 +3,17 @@
3
3
  from typing import List
4
4
  from typing_extensions import TypeAlias
5
5
 
6
- from .waap_top_url import WaapTopURL
6
+ from ..._models import BaseModel
7
7
 
8
- __all__ = ["IPInfoGetTopURLsResponse"]
8
+ __all__ = ["IPInfoGetTopURLsResponse", "IPInfoGetTopURLsResponseItem"]
9
9
 
10
- IPInfoGetTopURLsResponse: TypeAlias = List[WaapTopURL]
10
+
11
+ class IPInfoGetTopURLsResponseItem(BaseModel):
12
+ count: int
13
+ """The number of attacks to the URL"""
14
+
15
+ url: str
16
+ """The URL that was attacked"""
17
+
18
+
19
+ IPInfoGetTopURLsResponse: TypeAlias = List[IPInfoGetTopURLsResponseItem]
@@ -4,10 +4,10 @@ from __future__ import annotations
4
4
 
5
5
  from typing_extensions import Required, TypedDict
6
6
 
7
- __all__ = ["IPInfoGetTopSessionsParams"]
7
+ __all__ = ["IPInfoGetTopUserSessionsParams"]
8
8
 
9
9
 
10
- class IPInfoGetTopSessionsParams(TypedDict, total=False):
10
+ class IPInfoGetTopUserSessionsParams(TypedDict, total=False):
11
11
  domain_id: Required[int]
12
12
  """The identifier for a domain.
13
13
 
@@ -5,6 +5,6 @@ from typing_extensions import TypeAlias
5
5
 
6
6
  from .waap_top_session import WaapTopSession
7
7
 
8
- __all__ = ["IPInfoGetTopSessionsResponse"]
8
+ __all__ = ["IPInfoGetTopUserSessionsResponse"]
9
9
 
10
- IPInfoGetTopSessionsResponse: TypeAlias = List[WaapTopSession]
10
+ IPInfoGetTopUserSessionsResponse: TypeAlias = List[WaapTopSession]