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
@@ -0,0 +1,203 @@
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
+
7
+ import httpx
8
+
9
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
10
+ from ...._utils import maybe_transform, async_maybe_transform
11
+ from ...._compat import cached_property
12
+ from ...._resource import SyncAPIResource, AsyncAPIResource
13
+ from ...._response import (
14
+ to_raw_response_wrapper,
15
+ to_streamed_response_wrapper,
16
+ async_to_raw_response_wrapper,
17
+ async_to_streamed_response_wrapper,
18
+ )
19
+ from ...._base_client import make_request_options
20
+ from ....types.waap.ip_info import metric_list_params
21
+ from ....types.waap.ip_info.waap_ip_info_counts import WaapIPInfoCounts
22
+
23
+ __all__ = ["MetricsResource", "AsyncMetricsResource"]
24
+
25
+
26
+ class MetricsResource(SyncAPIResource):
27
+ @cached_property
28
+ def with_raw_response(self) -> MetricsResourceWithRawResponse:
29
+ """
30
+ This property can be used as a prefix for any HTTP method call to return
31
+ the raw response object instead of the parsed content.
32
+
33
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
34
+ """
35
+ return MetricsResourceWithRawResponse(self)
36
+
37
+ @cached_property
38
+ def with_streaming_response(self) -> MetricsResourceWithStreamingResponse:
39
+ """
40
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
41
+
42
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
43
+ """
44
+ return MetricsResourceWithStreamingResponse(self)
45
+
46
+ def list(
47
+ self,
48
+ *,
49
+ ip: str,
50
+ domain_id: Optional[int] | NotGiven = NOT_GIVEN,
51
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
52
+ # The extra values given here take precedence over values defined on the client or passed to this method.
53
+ extra_headers: Headers | None = None,
54
+ extra_query: Query | None = None,
55
+ extra_body: Body | None = None,
56
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
57
+ ) -> WaapIPInfoCounts:
58
+ """
59
+ Retrieve metrics encompassing the counts of total requests, blocked requests and
60
+ unique sessions associated with a specified IP address. Metrics provide a
61
+ statistical overview, aiding in analyzing the interaction and access patterns of
62
+ the IP address in context.
63
+
64
+ Args:
65
+ ip: The IP address to check
66
+
67
+ domain_id: The identifier for a domain. When specified, the response will exclusively
68
+ contain data pertinent to the indicated domain, filtering out information from
69
+ other domains.
70
+
71
+ extra_headers: Send extra headers
72
+
73
+ extra_query: Add additional query parameters to the request
74
+
75
+ extra_body: Add additional JSON properties to the request
76
+
77
+ timeout: Override the client-level default timeout for this request, in seconds
78
+ """
79
+ return self._get(
80
+ "/waap/v1/ip-info/counts",
81
+ options=make_request_options(
82
+ extra_headers=extra_headers,
83
+ extra_query=extra_query,
84
+ extra_body=extra_body,
85
+ timeout=timeout,
86
+ query=maybe_transform(
87
+ {
88
+ "ip": ip,
89
+ "domain_id": domain_id,
90
+ },
91
+ metric_list_params.MetricListParams,
92
+ ),
93
+ ),
94
+ cast_to=WaapIPInfoCounts,
95
+ )
96
+
97
+
98
+ class AsyncMetricsResource(AsyncAPIResource):
99
+ @cached_property
100
+ def with_raw_response(self) -> AsyncMetricsResourceWithRawResponse:
101
+ """
102
+ This property can be used as a prefix for any HTTP method call to return
103
+ the raw response object instead of the parsed content.
104
+
105
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
106
+ """
107
+ return AsyncMetricsResourceWithRawResponse(self)
108
+
109
+ @cached_property
110
+ def with_streaming_response(self) -> AsyncMetricsResourceWithStreamingResponse:
111
+ """
112
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
113
+
114
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
115
+ """
116
+ return AsyncMetricsResourceWithStreamingResponse(self)
117
+
118
+ async def list(
119
+ self,
120
+ *,
121
+ ip: str,
122
+ domain_id: Optional[int] | NotGiven = NOT_GIVEN,
123
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
124
+ # The extra values given here take precedence over values defined on the client or passed to this method.
125
+ extra_headers: Headers | None = None,
126
+ extra_query: Query | None = None,
127
+ extra_body: Body | None = None,
128
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
129
+ ) -> WaapIPInfoCounts:
130
+ """
131
+ Retrieve metrics encompassing the counts of total requests, blocked requests and
132
+ unique sessions associated with a specified IP address. Metrics provide a
133
+ statistical overview, aiding in analyzing the interaction and access patterns of
134
+ the IP address in context.
135
+
136
+ Args:
137
+ ip: The IP address to check
138
+
139
+ domain_id: The identifier for a domain. When specified, the response will exclusively
140
+ contain data pertinent to the indicated domain, filtering out information from
141
+ other domains.
142
+
143
+ extra_headers: Send extra headers
144
+
145
+ extra_query: Add additional query parameters to the request
146
+
147
+ extra_body: Add additional JSON properties to the request
148
+
149
+ timeout: Override the client-level default timeout for this request, in seconds
150
+ """
151
+ return await self._get(
152
+ "/waap/v1/ip-info/counts",
153
+ options=make_request_options(
154
+ extra_headers=extra_headers,
155
+ extra_query=extra_query,
156
+ extra_body=extra_body,
157
+ timeout=timeout,
158
+ query=await async_maybe_transform(
159
+ {
160
+ "ip": ip,
161
+ "domain_id": domain_id,
162
+ },
163
+ metric_list_params.MetricListParams,
164
+ ),
165
+ ),
166
+ cast_to=WaapIPInfoCounts,
167
+ )
168
+
169
+
170
+ class MetricsResourceWithRawResponse:
171
+ def __init__(self, metrics: MetricsResource) -> None:
172
+ self._metrics = metrics
173
+
174
+ self.list = to_raw_response_wrapper(
175
+ metrics.list,
176
+ )
177
+
178
+
179
+ class AsyncMetricsResourceWithRawResponse:
180
+ def __init__(self, metrics: AsyncMetricsResource) -> None:
181
+ self._metrics = metrics
182
+
183
+ self.list = async_to_raw_response_wrapper(
184
+ metrics.list,
185
+ )
186
+
187
+
188
+ class MetricsResourceWithStreamingResponse:
189
+ def __init__(self, metrics: MetricsResource) -> None:
190
+ self._metrics = metrics
191
+
192
+ self.list = to_streamed_response_wrapper(
193
+ metrics.list,
194
+ )
195
+
196
+
197
+ class AsyncMetricsResourceWithStreamingResponse:
198
+ def __init__(self, metrics: AsyncMetricsResource) -> None:
199
+ self._metrics = metrics
200
+
201
+ self.list = async_to_streamed_response_wrapper(
202
+ metrics.list,
203
+ )
@@ -12,15 +12,15 @@ from .tags import (
12
12
  TagsResourceWithStreamingResponse,
13
13
  AsyncTagsResourceWithStreamingResponse,
14
14
  )
15
- from .ip_info import (
16
- IPInfoResource,
17
- AsyncIPInfoResource,
18
- IPInfoResourceWithRawResponse,
19
- AsyncIPInfoResourceWithRawResponse,
20
- IPInfoResourceWithStreamingResponse,
21
- AsyncIPInfoResourceWithStreamingResponse,
22
- )
23
15
  from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
16
+ from .insights import (
17
+ InsightsResource,
18
+ AsyncInsightsResource,
19
+ InsightsResourceWithRawResponse,
20
+ AsyncInsightsResourceWithRawResponse,
21
+ InsightsResourceWithStreamingResponse,
22
+ AsyncInsightsResourceWithStreamingResponse,
23
+ )
24
24
  from ..._compat import cached_property
25
25
  from .statistics import (
26
26
  StatisticsResource,
@@ -62,6 +62,14 @@ from .domains.domains import (
62
62
  DomainsResourceWithStreamingResponse,
63
63
  AsyncDomainsResourceWithStreamingResponse,
64
64
  )
65
+ from .ip_info.ip_info import (
66
+ IPInfoResource,
67
+ AsyncIPInfoResource,
68
+ IPInfoResourceWithRawResponse,
69
+ AsyncIPInfoResourceWithRawResponse,
70
+ IPInfoResourceWithStreamingResponse,
71
+ AsyncIPInfoResourceWithStreamingResponse,
72
+ )
65
73
  from .custom_page_sets import (
66
74
  CustomPageSetsResource,
67
75
  AsyncCustomPageSetsResource,
@@ -100,6 +108,10 @@ class WaapResource(SyncAPIResource):
100
108
  def organizations(self) -> OrganizationsResource:
101
109
  return OrganizationsResource(self._client)
102
110
 
111
+ @cached_property
112
+ def insights(self) -> InsightsResource:
113
+ return InsightsResource(self._client)
114
+
103
115
  @cached_property
104
116
  def ip_info(self) -> IPInfoResource:
105
117
  return IPInfoResource(self._client)
@@ -168,6 +180,10 @@ class AsyncWaapResource(AsyncAPIResource):
168
180
  def organizations(self) -> AsyncOrganizationsResource:
169
181
  return AsyncOrganizationsResource(self._client)
170
182
 
183
+ @cached_property
184
+ def insights(self) -> AsyncInsightsResource:
185
+ return AsyncInsightsResource(self._client)
186
+
171
187
  @cached_property
172
188
  def ip_info(self) -> AsyncIPInfoResource:
173
189
  return AsyncIPInfoResource(self._client)
@@ -243,6 +259,10 @@ class WaapResourceWithRawResponse:
243
259
  def organizations(self) -> OrganizationsResourceWithRawResponse:
244
260
  return OrganizationsResourceWithRawResponse(self._waap.organizations)
245
261
 
262
+ @cached_property
263
+ def insights(self) -> InsightsResourceWithRawResponse:
264
+ return InsightsResourceWithRawResponse(self._waap.insights)
265
+
246
266
  @cached_property
247
267
  def ip_info(self) -> IPInfoResourceWithRawResponse:
248
268
  return IPInfoResourceWithRawResponse(self._waap.ip_info)
@@ -280,6 +300,10 @@ class AsyncWaapResourceWithRawResponse:
280
300
  def organizations(self) -> AsyncOrganizationsResourceWithRawResponse:
281
301
  return AsyncOrganizationsResourceWithRawResponse(self._waap.organizations)
282
302
 
303
+ @cached_property
304
+ def insights(self) -> AsyncInsightsResourceWithRawResponse:
305
+ return AsyncInsightsResourceWithRawResponse(self._waap.insights)
306
+
283
307
  @cached_property
284
308
  def ip_info(self) -> AsyncIPInfoResourceWithRawResponse:
285
309
  return AsyncIPInfoResourceWithRawResponse(self._waap.ip_info)
@@ -317,6 +341,10 @@ class WaapResourceWithStreamingResponse:
317
341
  def organizations(self) -> OrganizationsResourceWithStreamingResponse:
318
342
  return OrganizationsResourceWithStreamingResponse(self._waap.organizations)
319
343
 
344
+ @cached_property
345
+ def insights(self) -> InsightsResourceWithStreamingResponse:
346
+ return InsightsResourceWithStreamingResponse(self._waap.insights)
347
+
320
348
  @cached_property
321
349
  def ip_info(self) -> IPInfoResourceWithStreamingResponse:
322
350
  return IPInfoResourceWithStreamingResponse(self._waap.ip_info)
@@ -354,6 +382,10 @@ class AsyncWaapResourceWithStreamingResponse:
354
382
  def organizations(self) -> AsyncOrganizationsResourceWithStreamingResponse:
355
383
  return AsyncOrganizationsResourceWithStreamingResponse(self._waap.organizations)
356
384
 
385
+ @cached_property
386
+ def insights(self) -> AsyncInsightsResourceWithStreamingResponse:
387
+ return AsyncInsightsResourceWithStreamingResponse(self._waap.insights)
388
+
357
389
  @cached_property
358
390
  def ip_info(self) -> AsyncIPInfoResourceWithStreamingResponse:
359
391
  return AsyncIPInfoResourceWithStreamingResponse(self._waap.ip_info)
@@ -45,6 +45,12 @@ class HealthMonitor(BaseModel):
45
45
  """Health monitor type. Once health monitor is created, cannot be changed."""
46
46
 
47
47
  expected_codes: Optional[str] = None
48
+ """Expected HTTP response codes.
49
+
50
+ Can be a single code or a range of codes. Can only be used together with `HTTP`
51
+ or `HTTPS` health monitor type. For example,
52
+ 200,202,300-302,401,403,404,500-504. If not specified, the default is 200.
53
+ """
48
54
 
49
55
  http_method: Optional[HTTPMethod] = None
50
56
  """HTTP method"""
@@ -147,7 +147,12 @@ class ListenerPoolHealthmonitor(TypedDict, total=False):
147
147
  """Health monitor type. Once health monitor is created, cannot be changed."""
148
148
 
149
149
  expected_codes: Optional[str]
150
- """Can only be used together with `HTTP` or `HTTPS` health monitor type."""
150
+ """Expected HTTP response codes.
151
+
152
+ Can be a single code or a range of codes. Can only be used together with `HTTP`
153
+ or `HTTPS` health monitor type. For example,
154
+ 200,202,300-302,401,403,404,500-504. If not specified, the default is 200.
155
+ """
151
156
 
152
157
  http_method: Optional[HTTPMethod]
153
158
  """HTTP method.
@@ -155,7 +160,7 @@ class ListenerPoolHealthmonitor(TypedDict, total=False):
155
160
  Can only be used together with `HTTP` or `HTTPS` health monitor type.
156
161
  """
157
162
 
158
- max_retries_down: Optional[int]
163
+ max_retries_down: int
159
164
  """Number of failures before the member is switched to ERROR state."""
160
165
 
161
166
  url_path: Optional[str]
@@ -210,7 +215,7 @@ class ListenerPoolMember(TypedDict, total=False):
210
215
  Either `subnet_id` or `instance_id` should be provided
211
216
  """
212
217
 
213
- weight: Optional[int]
218
+ weight: int
214
219
  """Member weight. Valid values are 0 < `weight` <= 256, defaults to 1."""
215
220
 
216
221
 
@@ -78,7 +78,12 @@ class Healthmonitor(TypedDict, total=False):
78
78
  """Health monitor type. Once health monitor is created, cannot be changed."""
79
79
 
80
80
  expected_codes: Optional[str]
81
- """Can only be used together with `HTTP` or `HTTPS` health monitor type."""
81
+ """Expected HTTP response codes.
82
+
83
+ Can be a single code or a range of codes. Can only be used together with `HTTP`
84
+ or `HTTPS` health monitor type. For example,
85
+ 200,202,300-302,401,403,404,500-504. If not specified, the default is 200.
86
+ """
82
87
 
83
88
  http_method: Optional[HTTPMethod]
84
89
  """HTTP method.
@@ -86,7 +91,7 @@ class Healthmonitor(TypedDict, total=False):
86
91
  Can only be used together with `HTTP` or `HTTPS` health monitor type.
87
92
  """
88
93
 
89
- max_retries_down: Optional[int]
94
+ max_retries_down: int
90
95
  """Number of failures before the member is switched to ERROR state."""
91
96
 
92
97
  url_path: Optional[str]
@@ -141,7 +146,7 @@ class Member(TypedDict, total=False):
141
146
  Either `subnet_id` or `instance_id` should be provided
142
147
  """
143
148
 
144
- weight: Optional[int]
149
+ weight: int
145
150
  """Member weight. Valid values are 0 < `weight` <= 256, defaults to 1."""
146
151
 
147
152
 
@@ -73,7 +73,12 @@ class Healthmonitor(TypedDict, total=False):
73
73
  """The maximum time to connect. Must be less than the delay value"""
74
74
 
75
75
  expected_codes: Optional[str]
76
- """Can only be used together with `HTTP` or `HTTPS` health monitor type."""
76
+ """Expected HTTP response codes.
77
+
78
+ Can be a single code or a range of codes. Can only be used together with `HTTP`
79
+ or `HTTPS` health monitor type. For example,
80
+ 200,202,300-302,401,403,404,500-504. If not specified, the default is 200.
81
+ """
77
82
 
78
83
  http_method: Optional[HTTPMethod]
79
84
  """HTTP method.
@@ -81,7 +86,7 @@ class Healthmonitor(TypedDict, total=False):
81
86
  Can only be used together with `HTTP` or `HTTPS` health monitor type.
82
87
  """
83
88
 
84
- max_retries_down: Optional[int]
89
+ max_retries_down: int
85
90
  """Number of failures before the member is switched to ERROR state."""
86
91
 
87
92
  type: Optional[LbHealthMonitorType]
@@ -139,7 +144,7 @@ class Member(TypedDict, total=False):
139
144
  Either `subnet_id` or `instance_id` should be provided
140
145
  """
141
146
 
142
- weight: Optional[int]
147
+ weight: int
143
148
  """Member weight. Valid values are 0 < `weight` <= 256, defaults to 1."""
144
149
 
145
150
 
@@ -32,7 +32,12 @@ class HealthMonitorCreateParams(TypedDict, total=False):
32
32
  """Health monitor type. Once health monitor is created, cannot be changed."""
33
33
 
34
34
  expected_codes: Optional[str]
35
- """Can only be used together with `HTTP` or `HTTPS` health monitor type."""
35
+ """Expected HTTP response codes.
36
+
37
+ Can be a single code or a range of codes. Can only be used together with `HTTP`
38
+ or `HTTPS` health monitor type. For example,
39
+ 200,202,300-302,401,403,404,500-504. If not specified, the default is 200.
40
+ """
36
41
 
37
42
  http_method: Optional[HTTPMethod]
38
43
  """HTTP method.
@@ -40,7 +45,7 @@ class HealthMonitorCreateParams(TypedDict, total=False):
40
45
  Can only be used together with `HTTP` or `HTTPS` health monitor type.
41
46
  """
42
47
 
43
- max_retries_down: Optional[int]
48
+ max_retries_down: int
44
49
  """Number of failures before the member is switched to ERROR state."""
45
50
 
46
51
  url_path: Optional[str]
@@ -58,5 +58,5 @@ class MemberAddParams(TypedDict, total=False):
58
58
  Either `subnet_id` or `instance_id` should be provided
59
59
  """
60
60
 
61
- weight: Optional[int]
61
+ weight: int
62
62
  """Member weight. Valid values are 0 < `weight` <= 256, defaults to 1."""
@@ -22,9 +22,6 @@ class Region(BaseModel):
22
22
  access_level: Literal["core", "edge"]
23
23
  """The access level of the region."""
24
24
 
25
- ai_service_endpoint_id: Optional[int] = None
26
- """AI service API endpoint ID"""
27
-
28
25
  available_volume_types: Optional[List[str]] = None
29
26
  """List of available volume types, 'standard', '`ssd_hiiops`', 'cold']."""
30
27
 
@@ -13,6 +13,6 @@ from .profile_replace_params import ProfileReplaceParams as ProfileReplaceParams
13
13
  from .client_profile_template import ClientProfileTemplate as ClientProfileTemplate
14
14
  from .profile_recreate_params import ProfileRecreateParams as ProfileRecreateParams
15
15
  from .bgp_announce_list_params import BgpAnnounceListParams as BgpAnnounceListParams
16
- from .bgp_announce_change_params import BgpAnnounceChangeParams as BgpAnnounceChangeParams
17
16
  from .bgp_announce_list_response import BgpAnnounceListResponse as BgpAnnounceListResponse
17
+ from .bgp_announce_toggle_params import BgpAnnounceToggleParams as BgpAnnounceToggleParams
18
18
  from .profile_template_list_response import ProfileTemplateListResponse as ProfileTemplateListResponse
@@ -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__ = ["BgpAnnounceChangeParams"]
8
+ __all__ = ["BgpAnnounceToggleParams"]
9
9
 
10
10
 
11
- class BgpAnnounceChangeParams(TypedDict, total=False):
11
+ class BgpAnnounceToggleParams(TypedDict, total=False):
12
12
  announce: Required[str]
13
13
 
14
14
  enabled: Required[bool]
@@ -3,96 +3,51 @@
3
3
  from __future__ import annotations
4
4
 
5
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
6
  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
7
  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
8
  from .waap_policy_mode import WaapPolicyMode as WaapPolicyMode
18
9
  from .waap_top_session import WaapTopSession as WaapTopSession
10
+ from .waap_insight_type import WaapInsightType as WaapInsightType
19
11
  from .waap_organization import WaapOrganization as WaapOrganization
20
- from .waap_traffic_type import WaapTrafficType as WaapTrafficType
21
12
  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
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
13
  from .waap_statistic_item import WaapStatisticItem as WaapStatisticItem
31
14
  from .waap_summary_domain import WaapSummaryDomain as WaapSummaryDomain
32
15
  from .waap_top_user_agent import WaapTopUserAgent as WaapTopUserAgent
33
16
  from .domain_update_params import DomainUpdateParams as DomainUpdateParams
34
- from .waap_block_page_data import WaapBlockPageData as WaapBlockPageData
35
17
  from .waap_custom_page_set import WaapCustomPageSet as WaapCustomPageSet
36
18
  from .waap_detailed_domain import WaapDetailedDomain as WaapDetailedDomain
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
19
  from .waap_ip_country_attack import WaapIPCountryAttack as WaapIPCountryAttack
48
20
  from .waap_statistics_series import WaapStatisticsSeries as WaapStatisticsSeries
49
- from .waap_blocked_statistics import WaapBlockedStatistics as WaapBlockedStatistics
50
21
  from .waap_ip_ddos_info_model import WaapIPDDOSInfoModel as WaapIPDDOSInfoModel
51
22
  from .waap_time_series_attack import WaapTimeSeriesAttack as WaapTimeSeriesAttack
52
- from .waap_user_agent_details import WaapUserAgentDetails as WaapUserAgentDetails
53
23
  from .organization_list_params import OrganizationListParams as OrganizationListParams
54
24
  from .waap_custom_page_preview import WaapCustomPagePreview as WaapCustomPagePreview
55
- from .waap_customer_rule_state import WaapCustomerRuleState as WaapCustomerRuleState
56
25
  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
26
+ from .insight_list_types_params import InsightListTypesParams as InsightListTypesParams
62
27
  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
28
+ from .ip_info_get_ip_info_params import IPInfoGetIPInfoParams as IPInfoGetIPInfoParams
65
29
  from .waap_domain_settings_model import WaapDomainSettingsModel as WaapDomainSettingsModel
66
- from .waap_paginated_ddos_attack import WaapPaginatedDDOSAttack as WaapPaginatedDDOSAttack
67
30
  from .waap_rule_blocked_requests import WaapRuleBlockedRequests as WaapRuleBlockedRequests
68
31
  from .custom_page_set_list_params import CustomPageSetListParams as CustomPageSetListParams
69
32
  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
33
+ from .ip_info_get_ip_info_response import IPInfoGetIPInfoResponse as IPInfoGetIPInfoResponse
72
34
  from .custom_page_set_create_params import CustomPageSetCreateParams as CustomPageSetCreateParams
73
35
  from .custom_page_set_update_params import CustomPageSetUpdateParams as CustomPageSetUpdateParams
74
36
  from .ip_info_get_top_urls_response import IPInfoGetTopURLsResponse as IPInfoGetTopURLsResponse
75
37
  from .waap_advanced_rule_descriptor import WaapAdvancedRuleDescriptor as WaapAdvancedRuleDescriptor
76
38
  from .custom_page_set_preview_params import CustomPageSetPreviewParams as CustomPageSetPreviewParams
77
39
  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
40
  from .statistic_get_usage_series_params import StatisticGetUsageSeriesParams as StatisticGetUsageSeriesParams
86
41
  from .ip_info_get_top_user_agents_params import IPInfoGetTopUserAgentsParams as IPInfoGetTopUserAgentsParams
87
42
  from .waap_advanced_rule_descriptor_list import WaapAdvancedRuleDescriptorList as WaapAdvancedRuleDescriptorList
88
43
  from .waap_get_account_overview_response import WaapGetAccountOverviewResponse as WaapGetAccountOverviewResponse
89
- from .waap_javascript_disabled_page_data import WaapJavascriptDisabledPageData as WaapJavascriptDisabledPageData
90
44
  from .ip_info_get_blocked_requests_params import IPInfoGetBlockedRequestsParams as IPInfoGetBlockedRequestsParams
91
45
  from .ip_info_get_top_user_agents_response import IPInfoGetTopUserAgentsResponse as IPInfoGetTopUserAgentsResponse
92
- from .waap_cookie_disabled_page_data_param import WaapCookieDisabledPageDataParam as WaapCookieDisabledPageDataParam
46
+ from .ip_info_get_top_user_sessions_params import IPInfoGetTopUserSessionsParams as IPInfoGetTopUserSessionsParams
93
47
  from .ip_info_get_attack_time_series_params import IPInfoGetAttackTimeSeriesParams as IPInfoGetAttackTimeSeriesParams
94
48
  from .ip_info_get_blocked_requests_response import IPInfoGetBlockedRequestsResponse as IPInfoGetBlockedRequestsResponse
95
49
  from .ip_info_get_ddos_attack_series_params import IPInfoGetDDOSAttackSeriesParams as IPInfoGetDDOSAttackSeriesParams
50
+ from .ip_info_get_top_user_sessions_response import IPInfoGetTopUserSessionsResponse as IPInfoGetTopUserSessionsResponse
96
51
  from .ip_info_list_attacked_countries_params import (
97
52
  IPInfoListAttackedCountriesParams as IPInfoListAttackedCountriesParams,
98
53
  )
@@ -102,6 +57,3 @@ from .ip_info_get_attack_time_series_response import (
102
57
  from .ip_info_list_attacked_countries_response import (
103
58
  IPInfoListAttackedCountriesResponse as IPInfoListAttackedCountriesResponse,
104
59
  )
105
- from .waap_javascript_disabled_page_data_param import (
106
- WaapJavascriptDisabledPageDataParam as WaapJavascriptDisabledPageDataParam,
107
- )