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.
- gcore/_version.py +1 -1
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +8 -4
- gcore/resources/cloud/load_balancers/pools/members.py +2 -2
- gcore/resources/security/bgp_announces.py +15 -15
- gcore/resources/waap/__init__.py +14 -0
- gcore/resources/waap/custom_page_sets.py +40 -34
- gcore/resources/waap/domains/__init__.py +14 -28
- gcore/resources/waap/domains/advanced_rules.py +5 -8
- gcore/resources/waap/domains/{api_discovery/api_discovery.py → api_discovery.py} +292 -59
- gcore/resources/waap/domains/api_path_groups.py +5 -5
- gcore/resources/waap/domains/api_paths.py +15 -17
- gcore/resources/waap/domains/custom_rules.py +5 -8
- gcore/resources/waap/domains/domains.py +120 -64
- gcore/resources/waap/domains/firewall_rules.py +3 -5
- gcore/resources/waap/domains/insight_silences.py +28 -5
- gcore/resources/waap/domains/insights.py +36 -10
- gcore/resources/waap/domains/{analytics/analytics.py → statistics.py} +514 -213
- gcore/resources/waap/insights.py +233 -0
- gcore/resources/waap/ip_info/__init__.py +33 -0
- gcore/resources/waap/{ip_info.py → ip_info/ip_info.py} +149 -235
- gcore/resources/waap/ip_info/metrics.py +203 -0
- gcore/resources/waap/waap.py +40 -8
- gcore/types/cloud/health_monitor.py +6 -0
- gcore/types/cloud/load_balancer_create_params.py +8 -3
- gcore/types/cloud/load_balancers/pool_create_params.py +8 -3
- gcore/types/cloud/load_balancers/pool_update_params.py +8 -3
- gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +7 -2
- gcore/types/cloud/load_balancers/pools/member_add_params.py +1 -1
- gcore/types/cloud/region.py +0 -3
- gcore/types/security/__init__.py +1 -1
- gcore/types/security/{bgp_announce_change_params.py → bgp_announce_toggle_params.py} +2 -2
- gcore/types/waap/__init__.py +6 -54
- gcore/types/waap/custom_page_set_create_params.py +121 -14
- gcore/types/waap/custom_page_set_preview_params.py +11 -4
- gcore/types/waap/custom_page_set_update_params.py +122 -15
- gcore/types/waap/domain_list_params.py +1 -3
- gcore/types/waap/domains/__init__.py +28 -18
- gcore/types/waap/domains/advanced_rule_list_params.py +1 -3
- gcore/types/waap/domains/{api_discovery/scan_result_list_params.py → api_discovery_list_scan_results_params.py} +2 -2
- gcore/types/waap/domains/{api_path_group_list_response.py → api_path_group_list.py} +2 -2
- gcore/types/waap/domains/custom_rule_list_params.py +1 -3
- gcore/types/waap/domains/insight_list_params.py +16 -6
- gcore/types/waap/domains/insight_replace_params.py +2 -4
- gcore/types/waap/domains/insight_silence_list_params.py +13 -4
- gcore/types/waap/domains/{analytics_list_ddos_attacks_params.py → statistic_get_ddos_attacks_params.py} +2 -2
- gcore/types/waap/domains/{analytics_list_ddos_info_params.py → statistic_get_ddos_info_params.py} +2 -2
- gcore/types/waap/domains/{analytics_get_event_statistics_params.py → statistic_get_events_aggregated_params.py} +2 -2
- gcore/types/waap/domains/{analytics/request_list_params.py → statistic_get_requests_series_params.py} +27 -5
- gcore/types/waap/domains/{analytics_list_event_traffic_params.py → statistic_get_traffic_series_params.py} +4 -5
- gcore/types/waap/domains/statistic_get_traffic_series_response.py +10 -0
- gcore/types/waap/{waap_advanced_rule.py → domains/waap_advanced_rule.py} +1 -1
- gcore/types/waap/domains/{api_discovery_get_settings_response.py → waap_api_discovery_settings.py} +2 -2
- gcore/types/waap/domains/{api_path_get_response.py → waap_api_path.py} +2 -2
- gcore/types/waap/domains/{api_discovery/scan_result_get_response.py → waap_api_scan_result.py} +3 -3
- gcore/types/waap/{waap_blocked_statistics.py → domains/waap_blocked_statistics.py} +1 -1
- gcore/types/waap/{waap_count_statistics.py → domains/waap_count_statistics.py} +1 -1
- gcore/types/waap/{waap_custom_rule.py → domains/waap_custom_rule.py} +1 -1
- gcore/types/waap/{waap_ddos_attack.py → domains/waap_ddos_attack.py} +1 -1
- gcore/types/waap/{waap_ddos_info.py → domains/waap_ddos_info.py} +1 -1
- gcore/types/waap/{waap_event_statistics.py → domains/waap_event_statistics.py} +1 -1
- gcore/types/waap/{waap_firewall_rule.py → domains/waap_firewall_rule.py} +1 -1
- gcore/types/waap/{waap_insight.py → domains/waap_insight.py} +3 -3
- gcore/types/waap/{waap_insight_silence.py → domains/waap_insight_silence.py} +1 -1
- gcore/types/waap/domains/waap_request_details.py +185 -0
- gcore/types/waap/{waap_request_summary.py → domains/waap_request_summary.py} +1 -1
- gcore/types/waap/domains/{api_discovery_scan_openapi_response.py → waap_task_id.py} +2 -2
- gcore/types/waap/{waap_traffic_metrics.py → domains/waap_traffic_metrics.py} +1 -1
- gcore/types/waap/insight_list_types_params.py +28 -0
- gcore/types/waap/ip_info/__init__.py +6 -0
- gcore/types/waap/{ip_info_get_counts_params.py → ip_info/metric_list_params.py} +2 -2
- gcore/types/waap/{waap_ip_info_counts.py → ip_info/waap_ip_info_counts.py} +1 -1
- gcore/types/waap/{ip_info_get_params.py → ip_info_get_ip_info_params.py} +2 -2
- gcore/types/waap/{waap_ip_info.py → ip_info_get_ip_info_response.py} +2 -2
- gcore/types/waap/ip_info_get_top_urls_response.py +12 -3
- gcore/types/waap/{ip_info_get_top_sessions_params.py → ip_info_get_top_user_sessions_params.py} +2 -2
- gcore/types/waap/{ip_info_get_top_sessions_response.py → ip_info_get_top_user_sessions_response.py} +2 -2
- gcore/types/waap/waap_custom_page_set.py +113 -13
- gcore/types/waap/waap_detailed_domain.py +2 -2
- gcore/types/waap/waap_insight_type.py +33 -0
- gcore/types/waap/waap_rule_set.py +26 -3
- gcore/types/waap/waap_summary_domain.py +2 -2
- {gcore-0.9.0.dist-info → gcore-0.10.0.dist-info}/METADATA +1 -1
- {gcore-0.9.0.dist-info → gcore-0.10.0.dist-info}/RECORD +85 -124
- gcore/resources/waap/domains/analytics/__init__.py +0 -33
- gcore/resources/waap/domains/analytics/requests.py +0 -378
- gcore/resources/waap/domains/api_discovery/__init__.py +0 -33
- gcore/resources/waap/domains/api_discovery/scan_results.py +0 -352
- gcore/resources/waap/domains/policies.py +0 -173
- gcore/types/waap/domains/analytics/__init__.py +0 -5
- gcore/types/waap/domains/analytics_list_event_traffic_response.py +0 -10
- gcore/types/waap/domains/api_discovery/__init__.py +0 -7
- gcore/types/waap/domains/api_discovery/scan_result_list_response.py +0 -29
- gcore/types/waap/domains/api_discovery_update_settings_response.py +0 -36
- gcore/types/waap/domains/api_discovery_upload_openapi_response.py +0 -10
- gcore/types/waap/domains/api_path_create_response.py +0 -50
- gcore/types/waap/domains/api_path_list_response.py +0 -50
- gcore/types/waap/waap_block_csrf_page_data.py +0 -28
- gcore/types/waap/waap_block_csrf_page_data_param.py +0 -28
- gcore/types/waap/waap_block_page_data.py +0 -28
- gcore/types/waap/waap_block_page_data_param.py +0 -28
- gcore/types/waap/waap_captcha_page_data.py +0 -31
- gcore/types/waap/waap_captcha_page_data_param.py +0 -31
- gcore/types/waap/waap_common_tag.py +0 -16
- gcore/types/waap/waap_cookie_disabled_page_data.py +0 -18
- gcore/types/waap/waap_cookie_disabled_page_data_param.py +0 -18
- gcore/types/waap/waap_customer_rule_state.py +0 -7
- gcore/types/waap/waap_domain_policy.py +0 -29
- gcore/types/waap/waap_domain_status.py +0 -7
- gcore/types/waap/waap_handshake_page_data.py +0 -25
- gcore/types/waap/waap_handshake_page_data_param.py +0 -25
- gcore/types/waap/waap_insight_silence_sort_by.py +0 -9
- gcore/types/waap/waap_insight_sort_by.py +0 -20
- gcore/types/waap/waap_insight_status.py +0 -7
- gcore/types/waap/waap_javascript_disabled_page_data.py +0 -18
- gcore/types/waap/waap_javascript_disabled_page_data_param.py +0 -18
- gcore/types/waap/waap_network_details.py +0 -17
- gcore/types/waap/waap_page_type.py +0 -9
- gcore/types/waap/waap_paginated_custom_page_set.py +0 -22
- gcore/types/waap/waap_paginated_ddos_attack.py +0 -22
- gcore/types/waap/waap_paginated_ddos_info.py +0 -22
- gcore/types/waap/waap_paginated_request_summary.py +0 -22
- gcore/types/waap/waap_pattern_matched_tag.py +0 -37
- gcore/types/waap/waap_policy_action.py +0 -7
- gcore/types/waap/waap_request_details.py +0 -92
- gcore/types/waap/waap_request_organization.py +0 -13
- gcore/types/waap/waap_resolution.py +0 -7
- gcore/types/waap/waap_rule_action_type.py +0 -7
- gcore/types/waap/waap_top_url.py +0 -13
- gcore/types/waap/waap_traffic_type.py +0 -28
- gcore/types/waap/waap_user_agent_details.py +0 -40
- {gcore-0.9.0.dist-info → gcore-0.10.0.dist-info}/WHEEL +0 -0
- {gcore-0.9.0.dist-info → gcore-0.10.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -3,14 +3,114 @@
|
|
|
3
3
|
from typing import List, Optional
|
|
4
4
|
|
|
5
5
|
from ..._models import BaseModel
|
|
6
|
-
from .waap_block_page_data import WaapBlockPageData
|
|
7
|
-
from .waap_captcha_page_data import WaapCaptchaPageData
|
|
8
|
-
from .waap_handshake_page_data import WaapHandshakePageData
|
|
9
|
-
from .waap_block_csrf_page_data import WaapBlockCsrfPageData
|
|
10
|
-
from .waap_cookie_disabled_page_data import WaapCookieDisabledPageData
|
|
11
|
-
from .waap_javascript_disabled_page_data import WaapJavascriptDisabledPageData
|
|
12
6
|
|
|
13
|
-
__all__ = ["WaapCustomPageSet"]
|
|
7
|
+
__all__ = ["WaapCustomPageSet", "Block", "BlockCsrf", "Captcha", "CookieDisabled", "Handshake", "JavascriptDisabled"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Block(BaseModel):
|
|
11
|
+
enabled: bool
|
|
12
|
+
"""Indicates whether the custom custom page is active or inactive"""
|
|
13
|
+
|
|
14
|
+
header: Optional[str] = None
|
|
15
|
+
"""The text to display in the header of the custom page"""
|
|
16
|
+
|
|
17
|
+
logo: Optional[str] = None
|
|
18
|
+
"""
|
|
19
|
+
Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
|
|
20
|
+
height 130px. This should be a base 64 encoding of the full HTML img tag
|
|
21
|
+
compatible image, with the header included.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
text: Optional[str] = None
|
|
25
|
+
"""The text to display in the body of the custom page"""
|
|
26
|
+
|
|
27
|
+
title: Optional[str] = None
|
|
28
|
+
"""The text to display in the title of the custom page"""
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class BlockCsrf(BaseModel):
|
|
32
|
+
enabled: bool
|
|
33
|
+
"""Indicates whether the custom custom page is active or inactive"""
|
|
34
|
+
|
|
35
|
+
header: Optional[str] = None
|
|
36
|
+
"""The text to display in the header of the custom page"""
|
|
37
|
+
|
|
38
|
+
logo: Optional[str] = None
|
|
39
|
+
"""
|
|
40
|
+
Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
|
|
41
|
+
height 130px. This should be a base 64 encoding of the full HTML img tag
|
|
42
|
+
compatible image, with the header included.
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
text: Optional[str] = None
|
|
46
|
+
"""The text to display in the body of the custom page"""
|
|
47
|
+
|
|
48
|
+
title: Optional[str] = None
|
|
49
|
+
"""The text to display in the title of the custom page"""
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class Captcha(BaseModel):
|
|
53
|
+
enabled: bool
|
|
54
|
+
"""Indicates whether the custom custom page is active or inactive"""
|
|
55
|
+
|
|
56
|
+
error: Optional[str] = None
|
|
57
|
+
"""Error message"""
|
|
58
|
+
|
|
59
|
+
header: Optional[str] = None
|
|
60
|
+
"""The text to display in the header of the custom page"""
|
|
61
|
+
|
|
62
|
+
logo: Optional[str] = None
|
|
63
|
+
"""
|
|
64
|
+
Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
|
|
65
|
+
height 130px. This should be a base 64 encoding of the full HTML img tag
|
|
66
|
+
compatible image, with the header included.
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
text: Optional[str] = None
|
|
70
|
+
"""The text to display in the body of the custom page"""
|
|
71
|
+
|
|
72
|
+
title: Optional[str] = None
|
|
73
|
+
"""The text to display in the title of the custom page"""
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class CookieDisabled(BaseModel):
|
|
77
|
+
enabled: bool
|
|
78
|
+
"""Indicates whether the custom custom page is active or inactive"""
|
|
79
|
+
|
|
80
|
+
header: Optional[str] = None
|
|
81
|
+
"""The text to display in the header of the custom page"""
|
|
82
|
+
|
|
83
|
+
text: Optional[str] = None
|
|
84
|
+
"""The text to display in the body of the custom page"""
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class Handshake(BaseModel):
|
|
88
|
+
enabled: bool
|
|
89
|
+
"""Indicates whether the custom custom page is active or inactive"""
|
|
90
|
+
|
|
91
|
+
header: Optional[str] = None
|
|
92
|
+
"""The text to display in the header of the custom page"""
|
|
93
|
+
|
|
94
|
+
logo: Optional[str] = None
|
|
95
|
+
"""
|
|
96
|
+
Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
|
|
97
|
+
height 130px. This should be a base 64 encoding of the full HTML img tag
|
|
98
|
+
compatible image, with the header included.
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
title: Optional[str] = None
|
|
102
|
+
"""The text to display in the title of the custom page"""
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class JavascriptDisabled(BaseModel):
|
|
106
|
+
enabled: bool
|
|
107
|
+
"""Indicates whether the custom custom page is active or inactive"""
|
|
108
|
+
|
|
109
|
+
header: Optional[str] = None
|
|
110
|
+
"""The text to display in the header of the custom page"""
|
|
111
|
+
|
|
112
|
+
text: Optional[str] = None
|
|
113
|
+
"""The text to display in the body of the custom page"""
|
|
14
114
|
|
|
15
115
|
|
|
16
116
|
class WaapCustomPageSet(BaseModel):
|
|
@@ -20,17 +120,17 @@ class WaapCustomPageSet(BaseModel):
|
|
|
20
120
|
name: str
|
|
21
121
|
"""Name of the custom page set"""
|
|
22
122
|
|
|
23
|
-
block: Optional[
|
|
123
|
+
block: Optional[Block] = None
|
|
24
124
|
|
|
25
|
-
block_csrf: Optional[
|
|
125
|
+
block_csrf: Optional[BlockCsrf] = None
|
|
26
126
|
|
|
27
|
-
captcha: Optional[
|
|
127
|
+
captcha: Optional[Captcha] = None
|
|
28
128
|
|
|
29
|
-
cookie_disabled: Optional[
|
|
129
|
+
cookie_disabled: Optional[CookieDisabled] = None
|
|
30
130
|
|
|
31
131
|
domains: Optional[List[int]] = None
|
|
32
132
|
"""List of domain IDs that are associated with this page set"""
|
|
33
133
|
|
|
34
|
-
handshake: Optional[
|
|
134
|
+
handshake: Optional[Handshake] = None
|
|
35
135
|
|
|
36
|
-
javascript_disabled: Optional[
|
|
136
|
+
javascript_disabled: Optional[JavascriptDisabled] = None
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
from typing import Dict, Optional
|
|
4
4
|
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
5
6
|
|
|
6
7
|
from ..._models import BaseModel
|
|
7
|
-
from .waap_domain_status import WaapDomainStatus
|
|
8
8
|
|
|
9
9
|
__all__ = ["WaapDetailedDomain", "Quotas"]
|
|
10
10
|
|
|
@@ -30,7 +30,7 @@ class WaapDetailedDomain(BaseModel):
|
|
|
30
30
|
name: str
|
|
31
31
|
"""The domain name"""
|
|
32
32
|
|
|
33
|
-
status:
|
|
33
|
+
status: Literal["active", "bypass", "monitor", "locked"]
|
|
34
34
|
"""The different statuses a domain can have"""
|
|
35
35
|
|
|
36
36
|
quotas: Optional[Dict[str, Quotas]] = None
|
|
@@ -0,0 +1,33 @@
|
|
|
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__ = ["WaapInsightType"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class WaapInsightType(BaseModel):
|
|
11
|
+
description: str
|
|
12
|
+
"""The description of the insight type"""
|
|
13
|
+
|
|
14
|
+
insight_frequency: int
|
|
15
|
+
"""The frequency of the insight type"""
|
|
16
|
+
|
|
17
|
+
insight_grouping_dimensions: List[str]
|
|
18
|
+
"""The grouping dimensions of the insight type"""
|
|
19
|
+
|
|
20
|
+
insight_template: str
|
|
21
|
+
"""The insight template"""
|
|
22
|
+
|
|
23
|
+
labels: List[str]
|
|
24
|
+
"""The labels of the insight type"""
|
|
25
|
+
|
|
26
|
+
name: str
|
|
27
|
+
"""The name of the insight type"""
|
|
28
|
+
|
|
29
|
+
recommendation_template: str
|
|
30
|
+
"""The recommendation template"""
|
|
31
|
+
|
|
32
|
+
slug: str
|
|
33
|
+
"""The slug of the insight type"""
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
3
|
from typing import List, Optional
|
|
4
|
+
from typing_extensions import Literal
|
|
4
5
|
|
|
5
6
|
from ..._models import BaseModel
|
|
6
|
-
from .waap_domain_policy import WaapDomainPolicy
|
|
7
7
|
|
|
8
|
-
__all__ = ["WaapRuleSet", "Tag"]
|
|
8
|
+
__all__ = ["WaapRuleSet", "Tag", "Rule"]
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class Tag(BaseModel):
|
|
@@ -19,6 +19,29 @@ class Tag(BaseModel):
|
|
|
19
19
|
"""Name of the tag."""
|
|
20
20
|
|
|
21
21
|
|
|
22
|
+
class Rule(BaseModel):
|
|
23
|
+
id: str
|
|
24
|
+
"""Unique identifier for the security rule"""
|
|
25
|
+
|
|
26
|
+
action: Literal["Allow", "Block", "Captcha", "Gateway", "Handshake", "Monitor", "Composite"]
|
|
27
|
+
"""The action taken by the WAAP upon rule activation."""
|
|
28
|
+
|
|
29
|
+
description: str
|
|
30
|
+
"""Detailed description of the security rule"""
|
|
31
|
+
|
|
32
|
+
group: str
|
|
33
|
+
"""The rule set group name to which the rule belongs"""
|
|
34
|
+
|
|
35
|
+
mode: bool
|
|
36
|
+
"""Indicates if the security rule is active"""
|
|
37
|
+
|
|
38
|
+
name: str
|
|
39
|
+
"""Name of the security rule"""
|
|
40
|
+
|
|
41
|
+
rule_set_id: int
|
|
42
|
+
"""Identifier of the rule set to which the rule belongs"""
|
|
43
|
+
|
|
44
|
+
|
|
22
45
|
class WaapRuleSet(BaseModel):
|
|
23
46
|
id: int
|
|
24
47
|
"""Identifier of the rule set."""
|
|
@@ -38,4 +61,4 @@ class WaapRuleSet(BaseModel):
|
|
|
38
61
|
resource_slug: Optional[str] = None
|
|
39
62
|
"""The resource slug associated with the rule set."""
|
|
40
63
|
|
|
41
|
-
rules: Optional[List[
|
|
64
|
+
rules: Optional[List[Rule]] = None
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
from typing import Optional
|
|
4
4
|
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
5
6
|
|
|
6
7
|
from ..._models import BaseModel
|
|
7
|
-
from .waap_domain_status import WaapDomainStatus
|
|
8
8
|
|
|
9
9
|
__all__ = ["WaapSummaryDomain"]
|
|
10
10
|
|
|
@@ -22,5 +22,5 @@ class WaapSummaryDomain(BaseModel):
|
|
|
22
22
|
name: str
|
|
23
23
|
"""The domain name"""
|
|
24
24
|
|
|
25
|
-
status:
|
|
25
|
+
status: Literal["active", "bypass", "monitor", "locked"]
|
|
26
26
|
"""The different statuses a domain can have"""
|