gcore 0.8.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 (164) hide show
  1. gcore/_base_client.py +4 -1
  2. gcore/_client.py +9 -0
  3. gcore/_files.py +4 -4
  4. gcore/_version.py +1 -1
  5. gcore/resources/__init__.py +14 -0
  6. gcore/resources/cloud/cost_reports.py +24 -0
  7. gcore/resources/cloud/load_balancers/pools/health_monitors.py +8 -4
  8. gcore/resources/cloud/load_balancers/pools/members.py +2 -2
  9. gcore/resources/cloud/quotas/requests.py +7 -15
  10. gcore/resources/fastedge/binaries.py +81 -1
  11. gcore/resources/security/__init__.py +75 -0
  12. gcore/resources/security/bgp_announces.py +308 -0
  13. gcore/resources/security/events.py +234 -0
  14. gcore/resources/security/profile_templates.py +143 -0
  15. gcore/resources/security/profiles.py +661 -0
  16. gcore/resources/security/security.py +198 -0
  17. gcore/resources/waap/__init__.py +14 -0
  18. gcore/resources/waap/custom_page_sets.py +40 -34
  19. gcore/resources/waap/domains/__init__.py +14 -28
  20. gcore/resources/waap/domains/advanced_rules.py +5 -8
  21. gcore/resources/waap/domains/{api_discovery/api_discovery.py → api_discovery.py} +292 -59
  22. gcore/resources/waap/domains/api_path_groups.py +5 -5
  23. gcore/resources/waap/domains/api_paths.py +15 -17
  24. gcore/resources/waap/domains/custom_rules.py +5 -8
  25. gcore/resources/waap/domains/domains.py +120 -64
  26. gcore/resources/waap/domains/firewall_rules.py +3 -5
  27. gcore/resources/waap/domains/insight_silences.py +28 -5
  28. gcore/resources/waap/domains/insights.py +36 -10
  29. gcore/resources/waap/domains/{analytics/analytics.py → statistics.py} +514 -213
  30. gcore/resources/waap/insights.py +233 -0
  31. gcore/resources/waap/ip_info/__init__.py +33 -0
  32. gcore/resources/waap/{ip_info.py → ip_info/ip_info.py} +149 -235
  33. gcore/resources/waap/ip_info/metrics.py +203 -0
  34. gcore/resources/waap/waap.py +40 -8
  35. gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +3 -0
  36. gcore/types/cloud/cost_report_get_aggregated_params.py +3 -0
  37. gcore/types/cloud/cost_report_get_detailed_params.py +3 -0
  38. gcore/types/cloud/gpu_baremetal_flavor.py +16 -0
  39. gcore/types/cloud/health_monitor.py +6 -0
  40. gcore/types/cloud/load_balancer_create_params.py +8 -3
  41. gcore/types/cloud/load_balancers/pool_create_params.py +8 -3
  42. gcore/types/cloud/load_balancers/pool_update_params.py +8 -3
  43. gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +7 -2
  44. gcore/types/cloud/load_balancers/pools/member_add_params.py +1 -1
  45. gcore/types/cloud/quotas/request_list_params.py +2 -2
  46. gcore/types/cloud/region.py +6 -6
  47. gcore/types/fastedge/__init__.py +1 -0
  48. gcore/types/fastedge/binary_create_params.py +11 -0
  49. gcore/types/security/__init__.py +18 -0
  50. gcore/types/security/bgp_announce_list_params.py +18 -0
  51. gcore/types/security/bgp_announce_list_response.py +10 -0
  52. gcore/types/security/bgp_announce_toggle_params.py +16 -0
  53. gcore/types/security/client_announce.py +15 -0
  54. gcore/types/security/client_profile.py +56 -0
  55. gcore/types/security/client_profile_template.py +43 -0
  56. gcore/types/security/client_view.py +29 -0
  57. gcore/types/security/event_list_params.py +38 -0
  58. gcore/types/security/profile_create_params.py +24 -0
  59. gcore/types/security/profile_list_params.py +17 -0
  60. gcore/types/security/profile_list_response.py +10 -0
  61. gcore/types/security/profile_recreate_params.py +24 -0
  62. gcore/types/security/profile_replace_params.py +24 -0
  63. gcore/types/security/profile_template_list_response.py +10 -0
  64. gcore/types/waap/__init__.py +6 -54
  65. gcore/types/waap/custom_page_set_create_params.py +121 -14
  66. gcore/types/waap/custom_page_set_preview_params.py +11 -4
  67. gcore/types/waap/custom_page_set_update_params.py +122 -15
  68. gcore/types/waap/domain_list_params.py +1 -3
  69. gcore/types/waap/domains/__init__.py +28 -18
  70. gcore/types/waap/domains/advanced_rule_list_params.py +1 -3
  71. gcore/types/waap/domains/{api_discovery/scan_result_list_params.py → api_discovery_list_scan_results_params.py} +2 -2
  72. gcore/types/waap/domains/{api_path_group_list_response.py → api_path_group_list.py} +2 -2
  73. gcore/types/waap/domains/custom_rule_list_params.py +1 -3
  74. gcore/types/waap/domains/insight_list_params.py +16 -6
  75. gcore/types/waap/domains/insight_replace_params.py +2 -4
  76. gcore/types/waap/domains/insight_silence_list_params.py +13 -4
  77. gcore/types/waap/domains/{analytics_list_ddos_attacks_params.py → statistic_get_ddos_attacks_params.py} +2 -2
  78. gcore/types/waap/domains/{analytics_list_ddos_info_params.py → statistic_get_ddos_info_params.py} +2 -2
  79. gcore/types/waap/domains/{analytics_get_event_statistics_params.py → statistic_get_events_aggregated_params.py} +2 -2
  80. gcore/types/waap/domains/{analytics/request_list_params.py → statistic_get_requests_series_params.py} +27 -5
  81. gcore/types/waap/domains/{analytics_list_event_traffic_params.py → statistic_get_traffic_series_params.py} +4 -5
  82. gcore/types/waap/domains/statistic_get_traffic_series_response.py +10 -0
  83. gcore/types/waap/{waap_advanced_rule.py → domains/waap_advanced_rule.py} +1 -1
  84. gcore/types/waap/domains/{api_discovery_get_settings_response.py → waap_api_discovery_settings.py} +2 -2
  85. gcore/types/waap/domains/{api_path_get_response.py → waap_api_path.py} +2 -2
  86. gcore/types/waap/domains/{api_discovery/scan_result_get_response.py → waap_api_scan_result.py} +3 -3
  87. gcore/types/waap/{waap_blocked_statistics.py → domains/waap_blocked_statistics.py} +1 -1
  88. gcore/types/waap/{waap_count_statistics.py → domains/waap_count_statistics.py} +1 -1
  89. gcore/types/waap/{waap_custom_rule.py → domains/waap_custom_rule.py} +1 -1
  90. gcore/types/waap/{waap_ddos_attack.py → domains/waap_ddos_attack.py} +1 -1
  91. gcore/types/waap/{waap_ddos_info.py → domains/waap_ddos_info.py} +1 -1
  92. gcore/types/waap/{waap_event_statistics.py → domains/waap_event_statistics.py} +1 -1
  93. gcore/types/waap/{waap_firewall_rule.py → domains/waap_firewall_rule.py} +1 -1
  94. gcore/types/waap/{waap_insight.py → domains/waap_insight.py} +3 -3
  95. gcore/types/waap/{waap_insight_silence.py → domains/waap_insight_silence.py} +1 -1
  96. gcore/types/waap/domains/waap_request_details.py +185 -0
  97. gcore/types/waap/{waap_request_summary.py → domains/waap_request_summary.py} +1 -1
  98. gcore/types/waap/domains/{api_discovery_scan_openapi_response.py → waap_task_id.py} +2 -2
  99. gcore/types/waap/{waap_traffic_metrics.py → domains/waap_traffic_metrics.py} +1 -1
  100. gcore/types/waap/insight_list_types_params.py +28 -0
  101. gcore/types/waap/ip_info/__init__.py +6 -0
  102. gcore/types/waap/{ip_info_get_counts_params.py → ip_info/metric_list_params.py} +2 -2
  103. gcore/types/waap/{waap_ip_info_counts.py → ip_info/waap_ip_info_counts.py} +1 -1
  104. gcore/types/waap/{ip_info_get_params.py → ip_info_get_ip_info_params.py} +2 -2
  105. gcore/types/waap/{waap_ip_info.py → ip_info_get_ip_info_response.py} +2 -2
  106. gcore/types/waap/ip_info_get_top_urls_response.py +12 -3
  107. gcore/types/waap/{ip_info_get_top_sessions_params.py → ip_info_get_top_user_sessions_params.py} +2 -2
  108. gcore/types/waap/{ip_info_get_top_sessions_response.py → ip_info_get_top_user_sessions_response.py} +2 -2
  109. gcore/types/waap/waap_custom_page_set.py +113 -13
  110. gcore/types/waap/waap_detailed_domain.py +2 -2
  111. gcore/types/waap/waap_insight_type.py +33 -0
  112. gcore/types/waap/waap_rule_set.py +26 -3
  113. gcore/types/waap/waap_summary_domain.py +2 -2
  114. {gcore-0.8.0.dist-info → gcore-0.10.0.dist-info}/METADATA +1 -1
  115. {gcore-0.8.0.dist-info → gcore-0.10.0.dist-info}/RECORD +117 -134
  116. gcore/resources/waap/domains/analytics/__init__.py +0 -33
  117. gcore/resources/waap/domains/analytics/requests.py +0 -378
  118. gcore/resources/waap/domains/api_discovery/__init__.py +0 -33
  119. gcore/resources/waap/domains/api_discovery/scan_results.py +0 -352
  120. gcore/resources/waap/domains/policies.py +0 -173
  121. gcore/types/waap/domains/analytics/__init__.py +0 -5
  122. gcore/types/waap/domains/analytics_list_event_traffic_response.py +0 -10
  123. gcore/types/waap/domains/api_discovery/__init__.py +0 -7
  124. gcore/types/waap/domains/api_discovery/scan_result_list_response.py +0 -29
  125. gcore/types/waap/domains/api_discovery_update_settings_response.py +0 -36
  126. gcore/types/waap/domains/api_discovery_upload_openapi_response.py +0 -10
  127. gcore/types/waap/domains/api_path_create_response.py +0 -50
  128. gcore/types/waap/domains/api_path_list_response.py +0 -50
  129. gcore/types/waap/waap_block_csrf_page_data.py +0 -28
  130. gcore/types/waap/waap_block_csrf_page_data_param.py +0 -28
  131. gcore/types/waap/waap_block_page_data.py +0 -28
  132. gcore/types/waap/waap_block_page_data_param.py +0 -28
  133. gcore/types/waap/waap_captcha_page_data.py +0 -31
  134. gcore/types/waap/waap_captcha_page_data_param.py +0 -31
  135. gcore/types/waap/waap_common_tag.py +0 -16
  136. gcore/types/waap/waap_cookie_disabled_page_data.py +0 -18
  137. gcore/types/waap/waap_cookie_disabled_page_data_param.py +0 -18
  138. gcore/types/waap/waap_customer_rule_state.py +0 -7
  139. gcore/types/waap/waap_domain_policy.py +0 -29
  140. gcore/types/waap/waap_domain_status.py +0 -7
  141. gcore/types/waap/waap_handshake_page_data.py +0 -25
  142. gcore/types/waap/waap_handshake_page_data_param.py +0 -25
  143. gcore/types/waap/waap_insight_silence_sort_by.py +0 -9
  144. gcore/types/waap/waap_insight_sort_by.py +0 -20
  145. gcore/types/waap/waap_insight_status.py +0 -7
  146. gcore/types/waap/waap_javascript_disabled_page_data.py +0 -18
  147. gcore/types/waap/waap_javascript_disabled_page_data_param.py +0 -18
  148. gcore/types/waap/waap_network_details.py +0 -17
  149. gcore/types/waap/waap_page_type.py +0 -9
  150. gcore/types/waap/waap_paginated_custom_page_set.py +0 -22
  151. gcore/types/waap/waap_paginated_ddos_attack.py +0 -22
  152. gcore/types/waap/waap_paginated_ddos_info.py +0 -22
  153. gcore/types/waap/waap_paginated_request_summary.py +0 -22
  154. gcore/types/waap/waap_pattern_matched_tag.py +0 -37
  155. gcore/types/waap/waap_policy_action.py +0 -7
  156. gcore/types/waap/waap_request_details.py +0 -92
  157. gcore/types/waap/waap_request_organization.py +0 -13
  158. gcore/types/waap/waap_resolution.py +0 -7
  159. gcore/types/waap/waap_rule_action_type.py +0 -7
  160. gcore/types/waap/waap_top_url.py +0 -13
  161. gcore/types/waap/waap_traffic_type.py +0 -28
  162. gcore/types/waap/waap_user_agent_details.py +0 -40
  163. {gcore-0.8.0.dist-info → gcore-0.10.0.dist-info}/WHEEL +0 -0
  164. {gcore-0.8.0.dist-info → gcore-0.10.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["BgpAnnounceToggleParams"]
9
+
10
+
11
+ class BgpAnnounceToggleParams(TypedDict, total=False):
12
+ announce: Required[str]
13
+
14
+ enabled: Required[bool]
15
+
16
+ client_id: Optional[int]
@@ -0,0 +1,15 @@
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__ = ["ClientAnnounce"]
8
+
9
+
10
+ class ClientAnnounce(BaseModel):
11
+ announced: List[str]
12
+
13
+ client_id: int
14
+
15
+ not_announced: List[str]
@@ -0,0 +1,56 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+
5
+ from ..._models import BaseModel
6
+ from .client_profile_template import ClientProfileTemplate
7
+
8
+ __all__ = ["ClientProfile", "Field", "Options"]
9
+
10
+
11
+ class Field(BaseModel):
12
+ id: int
13
+
14
+ base_field: int
15
+
16
+ default: str
17
+
18
+ description: str
19
+
20
+ field_type: str
21
+
22
+ name: str
23
+
24
+ required: bool
25
+
26
+ validation_schema: Dict[str, object]
27
+
28
+ field_value: Optional[Dict[str, object]] = None
29
+
30
+
31
+ class Options(BaseModel):
32
+ active: bool
33
+
34
+ bgp: bool
35
+
36
+ price: str
37
+
38
+
39
+ class ClientProfile(BaseModel):
40
+ id: int
41
+
42
+ fields: List[Field]
43
+
44
+ options: Options
45
+
46
+ plan: str
47
+
48
+ profile_template: ClientProfileTemplate
49
+
50
+ protocols: List[Dict[str, object]]
51
+
52
+ site: str
53
+
54
+ status: Dict[str, object]
55
+
56
+ ip_address: Optional[str] = None
@@ -0,0 +1,43 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["ClientProfileTemplate", "Field"]
10
+
11
+
12
+ class Field(BaseModel):
13
+ id: int
14
+
15
+ name: str
16
+
17
+ default: Optional[str] = None
18
+
19
+ description: Optional[str] = None
20
+
21
+ field_type: Optional[Literal["int", "bool", "str"]] = None
22
+
23
+ required: Optional[bool] = None
24
+
25
+ validation_schema: Optional[Dict[str, object]] = None
26
+
27
+
28
+ class ClientProfileTemplate(BaseModel):
29
+ id: int
30
+
31
+ created: datetime
32
+
33
+ fields: List[Field]
34
+
35
+ name: str
36
+
37
+ version: str
38
+
39
+ base_template: Optional[int] = None
40
+
41
+ description: Optional[str] = None
42
+
43
+ template_sifter: Optional[str] = None
@@ -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__ = ["ClientView"]
10
+
11
+
12
+ class ClientView(BaseModel):
13
+ id: str
14
+
15
+ alert_type: Optional[Literal["ddos_alert", "rtbh_alert"]] = None
16
+
17
+ attack_power_bps: Optional[float] = None
18
+
19
+ attack_power_pps: Optional[float] = None
20
+
21
+ attack_start_time: Optional[datetime] = None
22
+
23
+ client_id: Optional[int] = None
24
+
25
+ notification_type: Optional[str] = None
26
+
27
+ number_of_ip_involved_in_attack: Optional[int] = None
28
+
29
+ targeted_ip_addresses: Optional[str] = None
@@ -0,0 +1,38 @@
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, Optional
6
+ from datetime import datetime
7
+ from typing_extensions import Literal, Annotated, TypedDict
8
+
9
+ from ..._utils import PropertyInfo
10
+
11
+ __all__ = ["EventListParams"]
12
+
13
+
14
+ class EventListParams(TypedDict, total=False):
15
+ alert_type: Optional[Literal["ddos_alert", "rtbh_alert"]]
16
+
17
+ date_from: Annotated[Union[Union[str, datetime], str], PropertyInfo(format="iso8601")]
18
+
19
+ date_to: Annotated[Union[Union[str, datetime], str], PropertyInfo(format="iso8601")]
20
+
21
+ limit: int
22
+
23
+ offset: int
24
+
25
+ ordering: Literal[
26
+ "attack_start_time",
27
+ "-attack_start_time",
28
+ "attack_power_bps",
29
+ "-attack_power_bps",
30
+ "attack_power_pps",
31
+ "-attack_power_pps",
32
+ "number_of_ip_involved_in_attack",
33
+ "-number_of_ip_involved_in_attack",
34
+ "alert_type",
35
+ "-alert_type",
36
+ ]
37
+
38
+ targeted_ip_addresses: Optional[str]
@@ -0,0 +1,24 @@
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 Dict, Iterable, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["ProfileCreateParams", "Field"]
9
+
10
+
11
+ class ProfileCreateParams(TypedDict, total=False):
12
+ fields: Required[Iterable[Field]]
13
+
14
+ profile_template: Required[int]
15
+
16
+ ip_address: Optional[str]
17
+
18
+ site: str
19
+
20
+
21
+ class Field(TypedDict, total=False):
22
+ base_field: Required[int]
23
+
24
+ field_value: Optional[Dict[str, object]]
@@ -0,0 +1,17 @@
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 TypedDict
6
+
7
+ __all__ = ["ProfileListParams"]
8
+
9
+
10
+ class ProfileListParams(TypedDict, total=False):
11
+ exclude_empty_address: bool
12
+
13
+ include_deleted: bool
14
+
15
+ ip_address: str
16
+
17
+ site: str
@@ -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 .client_profile import ClientProfile
7
+
8
+ __all__ = ["ProfileListResponse"]
9
+
10
+ ProfileListResponse: TypeAlias = List[ClientProfile]
@@ -0,0 +1,24 @@
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 Dict, Iterable, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["ProfileRecreateParams", "Field"]
9
+
10
+
11
+ class ProfileRecreateParams(TypedDict, total=False):
12
+ fields: Required[Iterable[Field]]
13
+
14
+ profile_template: Required[int]
15
+
16
+ ip_address: Optional[str]
17
+
18
+ site: str
19
+
20
+
21
+ class Field(TypedDict, total=False):
22
+ base_field: Required[int]
23
+
24
+ field_value: Optional[Dict[str, object]]
@@ -0,0 +1,24 @@
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 Dict, Iterable, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["ProfileReplaceParams", "Field"]
9
+
10
+
11
+ class ProfileReplaceParams(TypedDict, total=False):
12
+ fields: Required[Iterable[Field]]
13
+
14
+ profile_template: Required[int]
15
+
16
+ ip_address: Optional[str]
17
+
18
+ site: str
19
+
20
+
21
+ class Field(TypedDict, total=False):
22
+ base_field: Required[int]
23
+
24
+ field_value: Optional[Dict[str, object]]
@@ -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 .client_profile_template import ClientProfileTemplate
7
+
8
+ __all__ = ["ProfileTemplateListResponse"]
9
+
10
+ ProfileTemplateListResponse: TypeAlias = List[ClientProfileTemplate]
@@ -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
- )
@@ -5,31 +5,138 @@ from __future__ import annotations
5
5
  from typing import Iterable, Optional
6
6
  from typing_extensions import Required, TypedDict
7
7
 
8
- from .waap_block_page_data_param import WaapBlockPageDataParam
9
- from .waap_captcha_page_data_param import WaapCaptchaPageDataParam
10
- from .waap_handshake_page_data_param import WaapHandshakePageDataParam
11
- from .waap_block_csrf_page_data_param import WaapBlockCsrfPageDataParam
12
- from .waap_cookie_disabled_page_data_param import WaapCookieDisabledPageDataParam
13
- from .waap_javascript_disabled_page_data_param import WaapJavascriptDisabledPageDataParam
14
-
15
- __all__ = ["CustomPageSetCreateParams"]
8
+ __all__ = [
9
+ "CustomPageSetCreateParams",
10
+ "Block",
11
+ "BlockCsrf",
12
+ "Captcha",
13
+ "CookieDisabled",
14
+ "Handshake",
15
+ "JavascriptDisabled",
16
+ ]
16
17
 
17
18
 
18
19
  class CustomPageSetCreateParams(TypedDict, total=False):
19
20
  name: Required[str]
20
21
  """Name of the custom page set"""
21
22
 
22
- block: Optional[WaapBlockPageDataParam]
23
+ block: Optional[Block]
23
24
 
24
- block_csrf: Optional[WaapBlockCsrfPageDataParam]
25
+ block_csrf: Optional[BlockCsrf]
25
26
 
26
- captcha: Optional[WaapCaptchaPageDataParam]
27
+ captcha: Optional[Captcha]
27
28
 
28
- cookie_disabled: Optional[WaapCookieDisabledPageDataParam]
29
+ cookie_disabled: Optional[CookieDisabled]
29
30
 
30
31
  domains: Optional[Iterable[int]]
31
32
  """List of domain IDs that are associated with this page set"""
32
33
 
33
- handshake: Optional[WaapHandshakePageDataParam]
34
+ handshake: Optional[Handshake]
35
+
36
+ javascript_disabled: Optional[JavascriptDisabled]
37
+
38
+
39
+ class Block(TypedDict, total=False):
40
+ enabled: Required[bool]
41
+ """Indicates whether the custom custom page is active or inactive"""
42
+
43
+ header: str
44
+ """The text to display in the header of the custom page"""
45
+
46
+ logo: str
47
+ """
48
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
49
+ height 130px. This should be a base 64 encoding of the full HTML img tag
50
+ compatible image, with the header included.
51
+ """
52
+
53
+ text: str
54
+ """The text to display in the body of the custom page"""
55
+
56
+ title: str
57
+ """The text to display in the title of the custom page"""
58
+
59
+
60
+ class BlockCsrf(TypedDict, total=False):
61
+ enabled: Required[bool]
62
+ """Indicates whether the custom custom page is active or inactive"""
63
+
64
+ header: str
65
+ """The text to display in the header of the custom page"""
66
+
67
+ logo: str
68
+ """
69
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
70
+ height 130px. This should be a base 64 encoding of the full HTML img tag
71
+ compatible image, with the header included.
72
+ """
73
+
74
+ text: str
75
+ """The text to display in the body of the custom page"""
76
+
77
+ title: str
78
+ """The text to display in the title of the custom page"""
79
+
80
+
81
+ class Captcha(TypedDict, total=False):
82
+ enabled: Required[bool]
83
+ """Indicates whether the custom custom page is active or inactive"""
84
+
85
+ error: str
86
+ """Error message"""
87
+
88
+ header: str
89
+ """The text to display in the header of the custom page"""
90
+
91
+ logo: str
92
+ """
93
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
94
+ height 130px. This should be a base 64 encoding of the full HTML img tag
95
+ compatible image, with the header included.
96
+ """
97
+
98
+ text: str
99
+ """The text to display in the body of the custom page"""
100
+
101
+ title: str
102
+ """The text to display in the title of the custom page"""
103
+
104
+
105
+ class CookieDisabled(TypedDict, total=False):
106
+ enabled: Required[bool]
107
+ """Indicates whether the custom custom page is active or inactive"""
108
+
109
+ header: str
110
+ """The text to display in the header of the custom page"""
111
+
112
+ text: str
113
+ """The text to display in the body of the custom page"""
114
+
115
+
116
+ class Handshake(TypedDict, total=False):
117
+ enabled: Required[bool]
118
+ """Indicates whether the custom custom page is active or inactive"""
119
+
120
+ header: str
121
+ """The text to display in the header of the custom page"""
122
+
123
+ logo: str
124
+ """
125
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
126
+ height 130px. This should be a base 64 encoding of the full HTML img tag
127
+ compatible image, with the header included.
128
+ """
129
+
130
+ title: str
131
+ """The text to display in the title of the custom page"""
132
+
133
+
134
+ class JavascriptDisabled(TypedDict, total=False):
135
+ enabled: Required[bool]
136
+ """Indicates whether the custom custom page is active or inactive"""
137
+
138
+ header: str
139
+ """The text to display in the header of the custom page"""
34
140
 
35
- javascript_disabled: Optional[WaapJavascriptDisabledPageDataParam]
141
+ text: str
142
+ """The text to display in the body of the custom page"""
@@ -3,15 +3,22 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from typing import Optional
6
- from typing_extensions import Required, TypedDict
7
-
8
- from .waap_page_type import WaapPageType
6
+ from typing_extensions import Literal, Required, TypedDict
9
7
 
10
8
  __all__ = ["CustomPageSetPreviewParams"]
11
9
 
12
10
 
13
11
  class CustomPageSetPreviewParams(TypedDict, total=False):
14
- page_type: Required[WaapPageType]
12
+ page_type: Required[
13
+ Literal[
14
+ "block.html",
15
+ "block_csrf.html",
16
+ "captcha.html",
17
+ "cookieDisabled.html",
18
+ "handshake.html",
19
+ "javascriptDisabled.html",
20
+ ]
21
+ ]
15
22
  """The type of the custom page"""
16
23
 
17
24
  error: Optional[str]