gcore 0.1.0a2__py3-none-any.whl → 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gcore might be problematic. Click here for more details.

Files changed (293) hide show
  1. gcore/__init__.py +5 -0
  2. gcore/_base_client.py +22 -2
  3. gcore/_client.py +9 -0
  4. gcore/_models.py +2 -0
  5. gcore/_types.py +2 -0
  6. gcore/_utils/_proxy.py +4 -1
  7. gcore/_utils/_resources_proxy.py +24 -0
  8. gcore/_version.py +1 -1
  9. gcore/resources/__init__.py +14 -0
  10. gcore/resources/cloud/baremetal/flavors.py +2 -2
  11. gcore/resources/cloud/baremetal/images.py +2 -2
  12. gcore/resources/cloud/baremetal/servers.py +280 -52
  13. gcore/resources/cloud/billing_reservations.py +24 -0
  14. gcore/resources/cloud/file_shares/file_shares.py +16 -0
  15. gcore/resources/cloud/floating_ips.py +4 -4
  16. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +358 -8
  17. gcore/resources/cloud/gpu_baremetal_clusters/images.py +206 -2
  18. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +84 -4
  19. gcore/resources/cloud/inference/deployments/deployments.py +328 -10
  20. gcore/resources/cloud/instances/flavors.py +2 -2
  21. gcore/resources/cloud/instances/images.py +318 -2
  22. gcore/resources/cloud/instances/instances.py +534 -70
  23. gcore/resources/cloud/instances/interfaces.py +4 -4
  24. gcore/resources/cloud/load_balancers/flavors.py +2 -2
  25. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +302 -20
  26. gcore/resources/cloud/load_balancers/l7_policies/rules.py +326 -0
  27. gcore/resources/cloud/load_balancers/listeners.py +385 -20
  28. gcore/resources/cloud/load_balancers/load_balancers.py +392 -24
  29. gcore/resources/cloud/load_balancers/pools/health_monitors.py +24 -0
  30. gcore/resources/cloud/load_balancers/pools/members.py +34 -6
  31. gcore/resources/cloud/load_balancers/pools/pools.py +388 -8
  32. gcore/resources/cloud/networks/networks.py +72 -16
  33. gcore/resources/cloud/networks/subnets.py +6 -6
  34. gcore/resources/cloud/registries/registries.py +6 -10
  35. gcore/resources/cloud/registries/users.py +4 -10
  36. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +10 -10
  37. gcore/resources/cloud/secrets.py +56 -11
  38. gcore/resources/cloud/security_groups/security_groups.py +2 -2
  39. gcore/resources/cloud/ssh_keys.py +2 -2
  40. gcore/resources/cloud/tasks.py +203 -184
  41. gcore/resources/cloud/users/role_assignments.py +4 -4
  42. gcore/resources/cloud/volumes.py +18 -18
  43. gcore/resources/waap/__init__.py +131 -0
  44. gcore/resources/waap/advanced_rules.py +135 -0
  45. gcore/resources/waap/clients.py +135 -0
  46. gcore/resources/waap/custom_page_sets.py +805 -0
  47. gcore/resources/waap/domains/__init__.py +173 -0
  48. gcore/resources/waap/domains/advanced_rules.py +876 -0
  49. gcore/resources/waap/domains/analytics/__init__.py +33 -0
  50. gcore/resources/waap/domains/analytics/analytics.py +676 -0
  51. gcore/resources/waap/domains/analytics/requests.py +378 -0
  52. gcore/resources/waap/domains/api_discovery/__init__.py +33 -0
  53. gcore/resources/waap/domains/api_discovery/api_discovery.py +530 -0
  54. gcore/resources/waap/domains/api_discovery/scan_results.py +352 -0
  55. gcore/resources/waap/domains/api_path_groups.py +163 -0
  56. gcore/resources/waap/domains/api_paths.py +771 -0
  57. gcore/resources/waap/domains/custom_rules.py +889 -0
  58. gcore/resources/waap/domains/domains.py +914 -0
  59. gcore/resources/waap/domains/firewall_rules.py +884 -0
  60. gcore/resources/waap/domains/insight_silences.py +689 -0
  61. gcore/resources/waap/domains/insights.py +425 -0
  62. gcore/resources/waap/domains/policies.py +173 -0
  63. gcore/resources/waap/domains/settings.py +271 -0
  64. gcore/resources/waap/ip_info.py +1017 -0
  65. gcore/resources/waap/organizations.py +217 -0
  66. gcore/resources/waap/statistics.py +225 -0
  67. gcore/resources/waap/tags.py +233 -0
  68. gcore/resources/waap/waap.py +391 -0
  69. gcore/types/cloud/__init__.py +1 -0
  70. gcore/types/cloud/allowed_address_pairs.py +2 -2
  71. gcore/types/cloud/baremetal/baremetal_server.py +1 -1
  72. gcore/types/cloud/baremetal/image_list_params.py +1 -1
  73. gcore/types/cloud/baremetal/server_create_params.py +9 -9
  74. gcore/types/cloud/baremetal/server_list_params.py +8 -8
  75. gcore/types/cloud/baremetal/server_rebuild_params.py +1 -1
  76. gcore/types/cloud/baremetal_flavor.py +3 -3
  77. gcore/types/cloud/billing_reservation_list_params.py +5 -0
  78. gcore/types/cloud/container_probe_config.py +1 -1
  79. gcore/types/cloud/container_probe_config_create_param.py +2 -3
  80. gcore/types/cloud/container_scale_triggers.py +2 -2
  81. gcore/types/cloud/file_share.py +3 -0
  82. gcore/types/cloud/file_share_list_params.py +7 -1
  83. gcore/types/cloud/floating_ip_detailed.py +1 -1
  84. gcore/types/cloud/floating_ip_list_params.py +2 -2
  85. gcore/types/cloud/gpu_baremetal_cluster.py +1 -1
  86. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +21 -1
  87. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +1 -1
  88. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +1 -1
  89. gcore/types/cloud/gpu_baremetal_cluster_server.py +1 -1
  90. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +1 -1
  91. gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +10 -10
  92. gcore/types/cloud/gpu_baremetal_flavor.py +3 -3
  93. gcore/types/cloud/image.py +1 -1
  94. gcore/types/cloud/inference/deployment_create_params.py +4 -4
  95. gcore/types/cloud/inference/deployment_update_params.py +206 -9
  96. gcore/types/cloud/inference/inference.py +5 -5
  97. gcore/types/cloud/instance.py +1 -1
  98. gcore/types/cloud/instance_create_params.py +8 -10
  99. gcore/types/cloud/instance_list_params.py +8 -8
  100. gcore/types/cloud/instances/flavor_list_suitable_params.py +4 -1
  101. gcore/types/cloud/instances/image_list_params.py +1 -1
  102. gcore/types/cloud/instances/instance_flavor.py +3 -3
  103. gcore/types/cloud/instances/interface_attach_params.py +10 -10
  104. gcore/types/cloud/load_balancer_create_params.py +17 -15
  105. gcore/types/cloud/load_balancer_flavor_detail.py +3 -3
  106. gcore/types/cloud/load_balancer_l7_policy.py +5 -5
  107. gcore/types/cloud/load_balancer_list_params.py +5 -5
  108. gcore/types/cloud/load_balancer_listener_detail.py +17 -17
  109. gcore/types/cloud/load_balancer_pool.py +13 -13
  110. gcore/types/cloud/load_balancer_pool_list.py +99 -4
  111. gcore/types/cloud/load_balancers/l7_policy_create_params.py +5 -5
  112. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +5 -5
  113. gcore/types/cloud/load_balancers/listener_create_params.py +6 -4
  114. gcore/types/cloud/load_balancers/listener_get_params.py +3 -1
  115. gcore/types/cloud/load_balancers/listener_list_params.py +4 -2
  116. gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
  117. gcore/types/cloud/load_balancers/pool_create_params.py +6 -4
  118. gcore/types/cloud/load_balancers/pool_list_params.py +5 -6
  119. gcore/types/cloud/load_balancers/pool_update_params.py +6 -4
  120. gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +2 -0
  121. gcore/types/cloud/load_balancers/pools/member_add_params.py +5 -3
  122. gcore/types/cloud/member.py +2 -2
  123. gcore/types/cloud/network.py +22 -22
  124. gcore/types/cloud/network_create_params.py +2 -0
  125. gcore/types/cloud/network_details.py +25 -24
  126. gcore/types/cloud/network_list_params.py +15 -10
  127. gcore/types/cloud/network_update_params.py +2 -0
  128. gcore/types/cloud/networks/subnet_create_params.py +1 -1
  129. gcore/types/cloud/networks/subnet_list_params.py +2 -2
  130. gcore/types/cloud/quota_get_all_response.py +18 -0
  131. gcore/types/cloud/quota_get_by_region_response.py +18 -0
  132. gcore/types/cloud/quotas/request_create_params.py +9 -0
  133. gcore/types/cloud/quotas/request_get_response.py +9 -0
  134. gcore/types/cloud/quotas/request_list_response.py +9 -0
  135. gcore/types/cloud/region.py +4 -4
  136. gcore/types/cloud/registries/user_create_multiple_params.py +3 -5
  137. gcore/types/cloud/registries/user_create_params.py +3 -5
  138. gcore/types/cloud/registry_create_params.py +3 -5
  139. gcore/types/cloud/reserved_fixed_ip_create_params.py +2 -2
  140. gcore/types/cloud/reserved_fixed_ip_list_params.py +3 -3
  141. gcore/types/cloud/secret_list_params.py +24 -0
  142. gcore/types/cloud/security_group_list_params.py +1 -1
  143. gcore/types/cloud/session_persistence.py +1 -1
  144. gcore/types/cloud/ssh_key_created.py +3 -6
  145. gcore/types/cloud/task.py +1 -4
  146. gcore/types/cloud/task_list_params.py +56 -46
  147. gcore/types/cloud/users/role_assignment_create_params.py +1 -1
  148. gcore/types/cloud/users/role_assignment_update_params.py +1 -1
  149. gcore/types/cloud/volume_create_params.py +6 -6
  150. gcore/types/cloud/volume_list_params.py +3 -3
  151. gcore/types/waap/__init__.py +108 -0
  152. gcore/types/waap/client_me_response.py +34 -0
  153. gcore/types/waap/custom_page_set_create_params.py +35 -0
  154. gcore/types/waap/custom_page_set_list_params.py +25 -0
  155. gcore/types/waap/custom_page_set_preview_params.py +34 -0
  156. gcore/types/waap/custom_page_set_update_params.py +35 -0
  157. gcore/types/waap/domain_list_params.py +30 -0
  158. gcore/types/waap/domain_list_rule_sets_response.py +10 -0
  159. gcore/types/waap/domain_update_params.py +12 -0
  160. gcore/types/waap/domains/__init__.py +47 -0
  161. gcore/types/waap/domains/advanced_rule_create_params.py +80 -0
  162. gcore/types/waap/domains/advanced_rule_list_params.py +58 -0
  163. gcore/types/waap/domains/advanced_rule_update_params.py +83 -0
  164. gcore/types/waap/domains/analytics/__init__.py +5 -0
  165. gcore/types/waap/domains/analytics/request_list_params.py +53 -0
  166. gcore/types/waap/domains/analytics_get_event_statistics_params.py +34 -0
  167. gcore/types/waap/domains/analytics_list_ddos_attacks_params.py +28 -0
  168. gcore/types/waap/domains/analytics_list_ddos_info_params.py +31 -0
  169. gcore/types/waap/domains/analytics_list_event_traffic_params.py +26 -0
  170. gcore/types/waap/domains/analytics_list_event_traffic_response.py +10 -0
  171. gcore/types/waap/domains/api_discovery/__init__.py +7 -0
  172. gcore/types/waap/domains/api_discovery/scan_result_get_response.py +29 -0
  173. gcore/types/waap/domains/api_discovery/scan_result_list_params.py +41 -0
  174. gcore/types/waap/domains/api_discovery/scan_result_list_response.py +29 -0
  175. gcore/types/waap/domains/api_discovery_get_settings_response.py +36 -0
  176. gcore/types/waap/domains/api_discovery_scan_openapi_response.py +10 -0
  177. gcore/types/waap/domains/api_discovery_update_settings_params.py +34 -0
  178. gcore/types/waap/domains/api_discovery_update_settings_response.py +36 -0
  179. gcore/types/waap/domains/api_discovery_upload_openapi_params.py +19 -0
  180. gcore/types/waap/domains/api_discovery_upload_openapi_response.py +10 -0
  181. gcore/types/waap/domains/api_path_create_params.py +31 -0
  182. gcore/types/waap/domains/api_path_create_response.py +50 -0
  183. gcore/types/waap/domains/api_path_get_response.py +50 -0
  184. gcore/types/waap/domains/api_path_group_list_response.py +12 -0
  185. gcore/types/waap/domains/api_path_list_params.py +62 -0
  186. gcore/types/waap/domains/api_path_list_response.py +50 -0
  187. gcore/types/waap/domains/api_path_update_params.py +29 -0
  188. gcore/types/waap/domains/custom_rule_create_params.py +368 -0
  189. gcore/types/waap/domains/custom_rule_delete_multiple_params.py +13 -0
  190. gcore/types/waap/domains/custom_rule_list_params.py +35 -0
  191. gcore/types/waap/domains/custom_rule_update_params.py +371 -0
  192. gcore/types/waap/domains/firewall_rule_create_params.py +75 -0
  193. gcore/types/waap/domains/firewall_rule_delete_multiple_params.py +13 -0
  194. gcore/types/waap/domains/firewall_rule_list_params.py +33 -0
  195. gcore/types/waap/domains/firewall_rule_update_params.py +78 -0
  196. gcore/types/waap/domains/insight_list_params.py +34 -0
  197. gcore/types/waap/domains/insight_replace_params.py +17 -0
  198. gcore/types/waap/domains/insight_silence_create_params.py +28 -0
  199. gcore/types/waap/domains/insight_silence_list_params.py +33 -0
  200. gcore/types/waap/domains/insight_silence_update_params.py +28 -0
  201. gcore/types/waap/domains/setting_update_params.py +48 -0
  202. gcore/types/waap/ip_info_get_attack_time_series_params.py +12 -0
  203. gcore/types/waap/ip_info_get_attack_time_series_response.py +10 -0
  204. gcore/types/waap/ip_info_get_blocked_requests_params.py +15 -0
  205. gcore/types/waap/ip_info_get_blocked_requests_response.py +10 -0
  206. gcore/types/waap/ip_info_get_counts_params.py +19 -0
  207. gcore/types/waap/ip_info_get_ddos_attack_series_params.py +12 -0
  208. gcore/types/waap/ip_info_get_params.py +12 -0
  209. gcore/types/waap/ip_info_get_top_sessions_params.py +15 -0
  210. gcore/types/waap/ip_info_get_top_sessions_response.py +10 -0
  211. gcore/types/waap/ip_info_get_top_urls_params.py +15 -0
  212. gcore/types/waap/ip_info_get_top_urls_response.py +10 -0
  213. gcore/types/waap/ip_info_get_top_user_agents_params.py +15 -0
  214. gcore/types/waap/ip_info_get_top_user_agents_response.py +10 -0
  215. gcore/types/waap/ip_info_list_attacked_countries_params.py +12 -0
  216. gcore/types/waap/ip_info_list_attacked_countries_response.py +10 -0
  217. gcore/types/waap/organization_list_params.py +22 -0
  218. gcore/types/waap/statistic_get_usage_series_params.py +25 -0
  219. gcore/types/waap/tag_list_params.py +28 -0
  220. gcore/types/waap/waap_advanced_rule.py +83 -0
  221. gcore/types/waap/waap_advanced_rule_descriptor.py +49 -0
  222. gcore/types/waap/waap_advanced_rule_descriptor_list.py +15 -0
  223. gcore/types/waap/waap_block_csrf_page_data.py +28 -0
  224. gcore/types/waap/waap_block_csrf_page_data_param.py +28 -0
  225. gcore/types/waap/waap_block_page_data.py +28 -0
  226. gcore/types/waap/waap_block_page_data_param.py +28 -0
  227. gcore/types/waap/waap_blocked_statistics.py +36 -0
  228. gcore/types/waap/waap_captcha_page_data.py +31 -0
  229. gcore/types/waap/waap_captcha_page_data_param.py +31 -0
  230. gcore/types/waap/waap_common_tag.py +16 -0
  231. gcore/types/waap/waap_cookie_disabled_page_data.py +18 -0
  232. gcore/types/waap/waap_cookie_disabled_page_data_param.py +18 -0
  233. gcore/types/waap/waap_count_statistics.py +36 -0
  234. gcore/types/waap/waap_custom_page_preview.py +10 -0
  235. gcore/types/waap/waap_custom_page_set.py +36 -0
  236. gcore/types/waap/waap_custom_rule.py +373 -0
  237. gcore/types/waap/waap_customer_rule_state.py +7 -0
  238. gcore/types/waap/waap_ddos_attack.py +16 -0
  239. gcore/types/waap/waap_ddos_info.py +17 -0
  240. gcore/types/waap/waap_detailed_domain.py +37 -0
  241. gcore/types/waap/waap_domain_api_settings.py +22 -0
  242. gcore/types/waap/waap_domain_ddos_settings.py +31 -0
  243. gcore/types/waap/waap_domain_policy.py +29 -0
  244. gcore/types/waap/waap_domain_settings_model.py +15 -0
  245. gcore/types/waap/waap_domain_status.py +7 -0
  246. gcore/types/waap/waap_event_statistics.py +15 -0
  247. gcore/types/waap/waap_firewall_rule.py +78 -0
  248. gcore/types/waap/waap_get_account_overview_response.py +34 -0
  249. gcore/types/waap/waap_handshake_page_data.py +25 -0
  250. gcore/types/waap/waap_handshake_page_data_param.py +25 -0
  251. gcore/types/waap/waap_insight.py +38 -0
  252. gcore/types/waap/waap_insight_silence.py +28 -0
  253. gcore/types/waap/waap_insight_silence_sort_by.py +9 -0
  254. gcore/types/waap/waap_insight_sort_by.py +20 -0
  255. gcore/types/waap/waap_insight_status.py +7 -0
  256. gcore/types/waap/waap_ip_country_attack.py +16 -0
  257. gcore/types/waap/waap_ip_ddos_info_model.py +23 -0
  258. gcore/types/waap/waap_ip_info.py +57 -0
  259. gcore/types/waap/waap_ip_info_counts.py +16 -0
  260. gcore/types/waap/waap_javascript_disabled_page_data.py +18 -0
  261. gcore/types/waap/waap_javascript_disabled_page_data_param.py +18 -0
  262. gcore/types/waap/waap_network_details.py +17 -0
  263. gcore/types/waap/waap_organization.py +13 -0
  264. gcore/types/waap/waap_page_type.py +9 -0
  265. gcore/types/waap/waap_paginated_custom_page_set.py +22 -0
  266. gcore/types/waap/waap_paginated_ddos_attack.py +22 -0
  267. gcore/types/waap/waap_paginated_ddos_info.py +22 -0
  268. gcore/types/waap/waap_paginated_request_summary.py +22 -0
  269. gcore/types/waap/waap_pattern_matched_tag.py +37 -0
  270. gcore/types/waap/waap_policy_action.py +7 -0
  271. gcore/types/waap/waap_policy_mode.py +10 -0
  272. gcore/types/waap/waap_request_details.py +92 -0
  273. gcore/types/waap/waap_request_organization.py +13 -0
  274. gcore/types/waap/waap_request_summary.py +59 -0
  275. gcore/types/waap/waap_resolution.py +7 -0
  276. gcore/types/waap/waap_rule_action_type.py +7 -0
  277. gcore/types/waap/waap_rule_blocked_requests.py +16 -0
  278. gcore/types/waap/waap_rule_set.py +41 -0
  279. gcore/types/waap/waap_statistic_item.py +18 -0
  280. gcore/types/waap/waap_statistics_series.py +16 -0
  281. gcore/types/waap/waap_summary_domain.py +26 -0
  282. gcore/types/waap/waap_tag.py +16 -0
  283. gcore/types/waap/waap_time_series_attack.py +23 -0
  284. gcore/types/waap/waap_top_session.py +24 -0
  285. gcore/types/waap/waap_top_url.py +13 -0
  286. gcore/types/waap/waap_top_user_agent.py +13 -0
  287. gcore/types/waap/waap_traffic_metrics.py +68 -0
  288. gcore/types/waap/waap_traffic_type.py +28 -0
  289. gcore/types/waap/waap_user_agent_details.py +40 -0
  290. {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/METADATA +3 -3
  291. {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/RECORD +293 -126
  292. {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/WHEEL +0 -0
  293. {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,914 @@
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 Iterable
6
+ from typing_extensions import Literal
7
+
8
+ import httpx
9
+
10
+ from .insights import (
11
+ InsightsResource,
12
+ AsyncInsightsResource,
13
+ InsightsResourceWithRawResponse,
14
+ AsyncInsightsResourceWithRawResponse,
15
+ InsightsResourceWithStreamingResponse,
16
+ AsyncInsightsResourceWithStreamingResponse,
17
+ )
18
+ from .policies import (
19
+ PoliciesResource,
20
+ AsyncPoliciesResource,
21
+ PoliciesResourceWithRawResponse,
22
+ AsyncPoliciesResourceWithRawResponse,
23
+ PoliciesResourceWithStreamingResponse,
24
+ AsyncPoliciesResourceWithStreamingResponse,
25
+ )
26
+ from .settings import (
27
+ SettingsResource,
28
+ AsyncSettingsResource,
29
+ SettingsResourceWithRawResponse,
30
+ AsyncSettingsResourceWithRawResponse,
31
+ SettingsResourceWithStreamingResponse,
32
+ AsyncSettingsResourceWithStreamingResponse,
33
+ )
34
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
35
+ from ...._utils import maybe_transform, async_maybe_transform
36
+ from .api_paths import (
37
+ APIPathsResource,
38
+ AsyncAPIPathsResource,
39
+ APIPathsResourceWithRawResponse,
40
+ AsyncAPIPathsResourceWithRawResponse,
41
+ APIPathsResourceWithStreamingResponse,
42
+ AsyncAPIPathsResourceWithStreamingResponse,
43
+ )
44
+ from ...._compat import cached_property
45
+ from ...._resource import SyncAPIResource, AsyncAPIResource
46
+ from ...._response import (
47
+ to_raw_response_wrapper,
48
+ to_streamed_response_wrapper,
49
+ async_to_raw_response_wrapper,
50
+ async_to_streamed_response_wrapper,
51
+ )
52
+ from .custom_rules import (
53
+ CustomRulesResource,
54
+ AsyncCustomRulesResource,
55
+ CustomRulesResourceWithRawResponse,
56
+ AsyncCustomRulesResourceWithRawResponse,
57
+ CustomRulesResourceWithStreamingResponse,
58
+ AsyncCustomRulesResourceWithStreamingResponse,
59
+ )
60
+ from ....pagination import SyncOffsetPage, AsyncOffsetPage
61
+ from ....types.waap import WaapDomainStatus, domain_list_params, domain_update_params
62
+ from .advanced_rules import (
63
+ AdvancedRulesResource,
64
+ AsyncAdvancedRulesResource,
65
+ AdvancedRulesResourceWithRawResponse,
66
+ AsyncAdvancedRulesResourceWithRawResponse,
67
+ AdvancedRulesResourceWithStreamingResponse,
68
+ AsyncAdvancedRulesResourceWithStreamingResponse,
69
+ )
70
+ from .firewall_rules import (
71
+ FirewallRulesResource,
72
+ AsyncFirewallRulesResource,
73
+ FirewallRulesResourceWithRawResponse,
74
+ AsyncFirewallRulesResourceWithRawResponse,
75
+ FirewallRulesResourceWithStreamingResponse,
76
+ AsyncFirewallRulesResourceWithStreamingResponse,
77
+ )
78
+ from ...._base_client import AsyncPaginator, make_request_options
79
+ from .api_path_groups import (
80
+ APIPathGroupsResource,
81
+ AsyncAPIPathGroupsResource,
82
+ APIPathGroupsResourceWithRawResponse,
83
+ AsyncAPIPathGroupsResourceWithRawResponse,
84
+ APIPathGroupsResourceWithStreamingResponse,
85
+ AsyncAPIPathGroupsResourceWithStreamingResponse,
86
+ )
87
+ from .insight_silences import (
88
+ InsightSilencesResource,
89
+ AsyncInsightSilencesResource,
90
+ InsightSilencesResourceWithRawResponse,
91
+ AsyncInsightSilencesResourceWithRawResponse,
92
+ InsightSilencesResourceWithStreamingResponse,
93
+ AsyncInsightSilencesResourceWithStreamingResponse,
94
+ )
95
+ from .analytics.analytics import (
96
+ AnalyticsResource,
97
+ AsyncAnalyticsResource,
98
+ AnalyticsResourceWithRawResponse,
99
+ AsyncAnalyticsResourceWithRawResponse,
100
+ AnalyticsResourceWithStreamingResponse,
101
+ AsyncAnalyticsResourceWithStreamingResponse,
102
+ )
103
+ from .api_discovery.api_discovery import (
104
+ APIDiscoveryResource,
105
+ AsyncAPIDiscoveryResource,
106
+ APIDiscoveryResourceWithRawResponse,
107
+ AsyncAPIDiscoveryResourceWithRawResponse,
108
+ APIDiscoveryResourceWithStreamingResponse,
109
+ AsyncAPIDiscoveryResourceWithStreamingResponse,
110
+ )
111
+ from ....types.waap.waap_domain_status import WaapDomainStatus
112
+ from ....types.waap.waap_summary_domain import WaapSummaryDomain
113
+ from ....types.waap.waap_detailed_domain import WaapDetailedDomain
114
+ from ....types.waap.domain_list_rule_sets_response import DomainListRuleSetsResponse
115
+
116
+ __all__ = ["DomainsResource", "AsyncDomainsResource"]
117
+
118
+
119
+ class DomainsResource(SyncAPIResource):
120
+ @cached_property
121
+ def settings(self) -> SettingsResource:
122
+ return SettingsResource(self._client)
123
+
124
+ @cached_property
125
+ def api_paths(self) -> APIPathsResource:
126
+ return APIPathsResource(self._client)
127
+
128
+ @cached_property
129
+ def api_path_groups(self) -> APIPathGroupsResource:
130
+ return APIPathGroupsResource(self._client)
131
+
132
+ @cached_property
133
+ def api_discovery(self) -> APIDiscoveryResource:
134
+ return APIDiscoveryResource(self._client)
135
+
136
+ @cached_property
137
+ def insights(self) -> InsightsResource:
138
+ return InsightsResource(self._client)
139
+
140
+ @cached_property
141
+ def insight_silences(self) -> InsightSilencesResource:
142
+ return InsightSilencesResource(self._client)
143
+
144
+ @cached_property
145
+ def policies(self) -> PoliciesResource:
146
+ return PoliciesResource(self._client)
147
+
148
+ @cached_property
149
+ def analytics(self) -> AnalyticsResource:
150
+ return AnalyticsResource(self._client)
151
+
152
+ @cached_property
153
+ def custom_rules(self) -> CustomRulesResource:
154
+ return CustomRulesResource(self._client)
155
+
156
+ @cached_property
157
+ def firewall_rules(self) -> FirewallRulesResource:
158
+ return FirewallRulesResource(self._client)
159
+
160
+ @cached_property
161
+ def advanced_rules(self) -> AdvancedRulesResource:
162
+ return AdvancedRulesResource(self._client)
163
+
164
+ @cached_property
165
+ def with_raw_response(self) -> DomainsResourceWithRawResponse:
166
+ """
167
+ This property can be used as a prefix for any HTTP method call to return
168
+ the raw response object instead of the parsed content.
169
+
170
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
171
+ """
172
+ return DomainsResourceWithRawResponse(self)
173
+
174
+ @cached_property
175
+ def with_streaming_response(self) -> DomainsResourceWithStreamingResponse:
176
+ """
177
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
178
+
179
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
180
+ """
181
+ return DomainsResourceWithStreamingResponse(self)
182
+
183
+ def update(
184
+ self,
185
+ domain_id: int,
186
+ *,
187
+ status: Literal["active", "monitor"] | NotGiven = NOT_GIVEN,
188
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
189
+ # The extra values given here take precedence over values defined on the client or passed to this method.
190
+ extra_headers: Headers | None = None,
191
+ extra_query: Query | None = None,
192
+ extra_body: Body | None = None,
193
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
194
+ ) -> None:
195
+ """
196
+ Update Domain
197
+
198
+ Args:
199
+ domain_id: The domain ID
200
+
201
+ status: Domain statuses that can be used when updating a domain
202
+
203
+ extra_headers: Send extra headers
204
+
205
+ extra_query: Add additional query parameters to the request
206
+
207
+ extra_body: Add additional JSON properties to the request
208
+
209
+ timeout: Override the client-level default timeout for this request, in seconds
210
+ """
211
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
212
+ return self._patch(
213
+ f"/waap/v1/domains/{domain_id}",
214
+ body=maybe_transform({"status": status}, domain_update_params.DomainUpdateParams),
215
+ options=make_request_options(
216
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
217
+ ),
218
+ cast_to=NoneType,
219
+ )
220
+
221
+ def list(
222
+ self,
223
+ *,
224
+ ids: Iterable[int] | NotGiven = NOT_GIVEN,
225
+ limit: int | NotGiven = NOT_GIVEN,
226
+ name: str | NotGiven = NOT_GIVEN,
227
+ offset: int | NotGiven = NOT_GIVEN,
228
+ ordering: Literal["id", "name", "status", "created_at", "-id", "-name", "-status", "-created_at"]
229
+ | NotGiven = NOT_GIVEN,
230
+ status: WaapDomainStatus | NotGiven = NOT_GIVEN,
231
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
232
+ # The extra values given here take precedence over values defined on the client or passed to this method.
233
+ extra_headers: Headers | None = None,
234
+ extra_query: Query | None = None,
235
+ extra_body: Body | None = None,
236
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
237
+ ) -> SyncOffsetPage[WaapSummaryDomain]:
238
+ """
239
+ Retrieve a list of domains associated with the client
240
+
241
+ Args:
242
+ ids: Filter domains based on their IDs
243
+
244
+ limit: Number of items to return
245
+
246
+ name: Filter domains based on the domain name. Supports '\\**' as a wildcard character
247
+
248
+ offset: Number of items to skip
249
+
250
+ ordering: Sort the response by given field.
251
+
252
+ status: The different statuses a domain can have
253
+
254
+ extra_headers: Send extra headers
255
+
256
+ extra_query: Add additional query parameters to the request
257
+
258
+ extra_body: Add additional JSON properties to the request
259
+
260
+ timeout: Override the client-level default timeout for this request, in seconds
261
+ """
262
+ return self._get_api_list(
263
+ "/waap/v1/domains",
264
+ page=SyncOffsetPage[WaapSummaryDomain],
265
+ options=make_request_options(
266
+ extra_headers=extra_headers,
267
+ extra_query=extra_query,
268
+ extra_body=extra_body,
269
+ timeout=timeout,
270
+ query=maybe_transform(
271
+ {
272
+ "ids": ids,
273
+ "limit": limit,
274
+ "name": name,
275
+ "offset": offset,
276
+ "ordering": ordering,
277
+ "status": status,
278
+ },
279
+ domain_list_params.DomainListParams,
280
+ ),
281
+ ),
282
+ model=WaapSummaryDomain,
283
+ )
284
+
285
+ def delete(
286
+ self,
287
+ domain_id: int,
288
+ *,
289
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
290
+ # The extra values given here take precedence over values defined on the client or passed to this method.
291
+ extra_headers: Headers | None = None,
292
+ extra_query: Query | None = None,
293
+ extra_body: Body | None = None,
294
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
295
+ ) -> None:
296
+ """Delete an inactive domain by ID.
297
+
298
+ Only domains with status 'bypass' can be
299
+ deleted.
300
+
301
+ Args:
302
+ domain_id: The domain ID
303
+
304
+ extra_headers: Send extra headers
305
+
306
+ extra_query: Add additional query parameters to the request
307
+
308
+ extra_body: Add additional JSON properties to the request
309
+
310
+ timeout: Override the client-level default timeout for this request, in seconds
311
+ """
312
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
313
+ return self._delete(
314
+ f"/waap/v1/domains/{domain_id}",
315
+ options=make_request_options(
316
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
317
+ ),
318
+ cast_to=NoneType,
319
+ )
320
+
321
+ def get(
322
+ self,
323
+ domain_id: int,
324
+ *,
325
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
326
+ # The extra values given here take precedence over values defined on the client or passed to this method.
327
+ extra_headers: Headers | None = None,
328
+ extra_query: Query | None = None,
329
+ extra_body: Body | None = None,
330
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
331
+ ) -> WaapDetailedDomain:
332
+ """
333
+ Retrieve detailed information about a specific domain
334
+
335
+ Args:
336
+ domain_id: The domain ID
337
+
338
+ extra_headers: Send extra headers
339
+
340
+ extra_query: Add additional query parameters to the request
341
+
342
+ extra_body: Add additional JSON properties to the request
343
+
344
+ timeout: Override the client-level default timeout for this request, in seconds
345
+ """
346
+ return self._get(
347
+ f"/waap/v1/domains/{domain_id}",
348
+ options=make_request_options(
349
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
350
+ ),
351
+ cast_to=WaapDetailedDomain,
352
+ )
353
+
354
+ def list_rule_sets(
355
+ self,
356
+ domain_id: int,
357
+ *,
358
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
359
+ # The extra values given here take precedence over values defined on the client or passed to this method.
360
+ extra_headers: Headers | None = None,
361
+ extra_query: Query | None = None,
362
+ extra_body: Body | None = None,
363
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
364
+ ) -> DomainListRuleSetsResponse:
365
+ """
366
+ Retrieve all rule sets linked to a particular domain
367
+
368
+ Args:
369
+ domain_id: The domain ID
370
+
371
+ extra_headers: Send extra headers
372
+
373
+ extra_query: Add additional query parameters to the request
374
+
375
+ extra_body: Add additional JSON properties to the request
376
+
377
+ timeout: Override the client-level default timeout for this request, in seconds
378
+ """
379
+ return self._get(
380
+ f"/waap/v1/domains/{domain_id}/rule-sets",
381
+ options=make_request_options(
382
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
383
+ ),
384
+ cast_to=DomainListRuleSetsResponse,
385
+ )
386
+
387
+
388
+ class AsyncDomainsResource(AsyncAPIResource):
389
+ @cached_property
390
+ def settings(self) -> AsyncSettingsResource:
391
+ return AsyncSettingsResource(self._client)
392
+
393
+ @cached_property
394
+ def api_paths(self) -> AsyncAPIPathsResource:
395
+ return AsyncAPIPathsResource(self._client)
396
+
397
+ @cached_property
398
+ def api_path_groups(self) -> AsyncAPIPathGroupsResource:
399
+ return AsyncAPIPathGroupsResource(self._client)
400
+
401
+ @cached_property
402
+ def api_discovery(self) -> AsyncAPIDiscoveryResource:
403
+ return AsyncAPIDiscoveryResource(self._client)
404
+
405
+ @cached_property
406
+ def insights(self) -> AsyncInsightsResource:
407
+ return AsyncInsightsResource(self._client)
408
+
409
+ @cached_property
410
+ def insight_silences(self) -> AsyncInsightSilencesResource:
411
+ return AsyncInsightSilencesResource(self._client)
412
+
413
+ @cached_property
414
+ def policies(self) -> AsyncPoliciesResource:
415
+ return AsyncPoliciesResource(self._client)
416
+
417
+ @cached_property
418
+ def analytics(self) -> AsyncAnalyticsResource:
419
+ return AsyncAnalyticsResource(self._client)
420
+
421
+ @cached_property
422
+ def custom_rules(self) -> AsyncCustomRulesResource:
423
+ return AsyncCustomRulesResource(self._client)
424
+
425
+ @cached_property
426
+ def firewall_rules(self) -> AsyncFirewallRulesResource:
427
+ return AsyncFirewallRulesResource(self._client)
428
+
429
+ @cached_property
430
+ def advanced_rules(self) -> AsyncAdvancedRulesResource:
431
+ return AsyncAdvancedRulesResource(self._client)
432
+
433
+ @cached_property
434
+ def with_raw_response(self) -> AsyncDomainsResourceWithRawResponse:
435
+ """
436
+ This property can be used as a prefix for any HTTP method call to return
437
+ the raw response object instead of the parsed content.
438
+
439
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
440
+ """
441
+ return AsyncDomainsResourceWithRawResponse(self)
442
+
443
+ @cached_property
444
+ def with_streaming_response(self) -> AsyncDomainsResourceWithStreamingResponse:
445
+ """
446
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
447
+
448
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
449
+ """
450
+ return AsyncDomainsResourceWithStreamingResponse(self)
451
+
452
+ async def update(
453
+ self,
454
+ domain_id: int,
455
+ *,
456
+ status: Literal["active", "monitor"] | NotGiven = NOT_GIVEN,
457
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
458
+ # The extra values given here take precedence over values defined on the client or passed to this method.
459
+ extra_headers: Headers | None = None,
460
+ extra_query: Query | None = None,
461
+ extra_body: Body | None = None,
462
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
463
+ ) -> None:
464
+ """
465
+ Update Domain
466
+
467
+ Args:
468
+ domain_id: The domain ID
469
+
470
+ status: Domain statuses that can be used when updating a domain
471
+
472
+ extra_headers: Send extra headers
473
+
474
+ extra_query: Add additional query parameters to the request
475
+
476
+ extra_body: Add additional JSON properties to the request
477
+
478
+ timeout: Override the client-level default timeout for this request, in seconds
479
+ """
480
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
481
+ return await self._patch(
482
+ f"/waap/v1/domains/{domain_id}",
483
+ body=await async_maybe_transform({"status": status}, domain_update_params.DomainUpdateParams),
484
+ options=make_request_options(
485
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
486
+ ),
487
+ cast_to=NoneType,
488
+ )
489
+
490
+ def list(
491
+ self,
492
+ *,
493
+ ids: Iterable[int] | NotGiven = NOT_GIVEN,
494
+ limit: int | NotGiven = NOT_GIVEN,
495
+ name: str | NotGiven = NOT_GIVEN,
496
+ offset: int | NotGiven = NOT_GIVEN,
497
+ ordering: Literal["id", "name", "status", "created_at", "-id", "-name", "-status", "-created_at"]
498
+ | NotGiven = NOT_GIVEN,
499
+ status: WaapDomainStatus | NotGiven = NOT_GIVEN,
500
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
501
+ # The extra values given here take precedence over values defined on the client or passed to this method.
502
+ extra_headers: Headers | None = None,
503
+ extra_query: Query | None = None,
504
+ extra_body: Body | None = None,
505
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
506
+ ) -> AsyncPaginator[WaapSummaryDomain, AsyncOffsetPage[WaapSummaryDomain]]:
507
+ """
508
+ Retrieve a list of domains associated with the client
509
+
510
+ Args:
511
+ ids: Filter domains based on their IDs
512
+
513
+ limit: Number of items to return
514
+
515
+ name: Filter domains based on the domain name. Supports '\\**' as a wildcard character
516
+
517
+ offset: Number of items to skip
518
+
519
+ ordering: Sort the response by given field.
520
+
521
+ status: The different statuses a domain can have
522
+
523
+ extra_headers: Send extra headers
524
+
525
+ extra_query: Add additional query parameters to the request
526
+
527
+ extra_body: Add additional JSON properties to the request
528
+
529
+ timeout: Override the client-level default timeout for this request, in seconds
530
+ """
531
+ return self._get_api_list(
532
+ "/waap/v1/domains",
533
+ page=AsyncOffsetPage[WaapSummaryDomain],
534
+ options=make_request_options(
535
+ extra_headers=extra_headers,
536
+ extra_query=extra_query,
537
+ extra_body=extra_body,
538
+ timeout=timeout,
539
+ query=maybe_transform(
540
+ {
541
+ "ids": ids,
542
+ "limit": limit,
543
+ "name": name,
544
+ "offset": offset,
545
+ "ordering": ordering,
546
+ "status": status,
547
+ },
548
+ domain_list_params.DomainListParams,
549
+ ),
550
+ ),
551
+ model=WaapSummaryDomain,
552
+ )
553
+
554
+ async def delete(
555
+ self,
556
+ domain_id: int,
557
+ *,
558
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
559
+ # The extra values given here take precedence over values defined on the client or passed to this method.
560
+ extra_headers: Headers | None = None,
561
+ extra_query: Query | None = None,
562
+ extra_body: Body | None = None,
563
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
564
+ ) -> None:
565
+ """Delete an inactive domain by ID.
566
+
567
+ Only domains with status 'bypass' can be
568
+ deleted.
569
+
570
+ Args:
571
+ domain_id: The domain ID
572
+
573
+ extra_headers: Send extra headers
574
+
575
+ extra_query: Add additional query parameters to the request
576
+
577
+ extra_body: Add additional JSON properties to the request
578
+
579
+ timeout: Override the client-level default timeout for this request, in seconds
580
+ """
581
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
582
+ return await self._delete(
583
+ f"/waap/v1/domains/{domain_id}",
584
+ options=make_request_options(
585
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
586
+ ),
587
+ cast_to=NoneType,
588
+ )
589
+
590
+ async def get(
591
+ self,
592
+ domain_id: int,
593
+ *,
594
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
595
+ # The extra values given here take precedence over values defined on the client or passed to this method.
596
+ extra_headers: Headers | None = None,
597
+ extra_query: Query | None = None,
598
+ extra_body: Body | None = None,
599
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
600
+ ) -> WaapDetailedDomain:
601
+ """
602
+ Retrieve detailed information about a specific domain
603
+
604
+ Args:
605
+ domain_id: The domain ID
606
+
607
+ extra_headers: Send extra headers
608
+
609
+ extra_query: Add additional query parameters to the request
610
+
611
+ extra_body: Add additional JSON properties to the request
612
+
613
+ timeout: Override the client-level default timeout for this request, in seconds
614
+ """
615
+ return await self._get(
616
+ f"/waap/v1/domains/{domain_id}",
617
+ options=make_request_options(
618
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
619
+ ),
620
+ cast_to=WaapDetailedDomain,
621
+ )
622
+
623
+ async def list_rule_sets(
624
+ self,
625
+ domain_id: int,
626
+ *,
627
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
628
+ # The extra values given here take precedence over values defined on the client or passed to this method.
629
+ extra_headers: Headers | None = None,
630
+ extra_query: Query | None = None,
631
+ extra_body: Body | None = None,
632
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
633
+ ) -> DomainListRuleSetsResponse:
634
+ """
635
+ Retrieve all rule sets linked to a particular domain
636
+
637
+ Args:
638
+ domain_id: The domain ID
639
+
640
+ extra_headers: Send extra headers
641
+
642
+ extra_query: Add additional query parameters to the request
643
+
644
+ extra_body: Add additional JSON properties to the request
645
+
646
+ timeout: Override the client-level default timeout for this request, in seconds
647
+ """
648
+ return await self._get(
649
+ f"/waap/v1/domains/{domain_id}/rule-sets",
650
+ options=make_request_options(
651
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
652
+ ),
653
+ cast_to=DomainListRuleSetsResponse,
654
+ )
655
+
656
+
657
+ class DomainsResourceWithRawResponse:
658
+ def __init__(self, domains: DomainsResource) -> None:
659
+ self._domains = domains
660
+
661
+ self.update = to_raw_response_wrapper(
662
+ domains.update,
663
+ )
664
+ self.list = to_raw_response_wrapper(
665
+ domains.list,
666
+ )
667
+ self.delete = to_raw_response_wrapper(
668
+ domains.delete,
669
+ )
670
+ self.get = to_raw_response_wrapper(
671
+ domains.get,
672
+ )
673
+ self.list_rule_sets = to_raw_response_wrapper(
674
+ domains.list_rule_sets,
675
+ )
676
+
677
+ @cached_property
678
+ def settings(self) -> SettingsResourceWithRawResponse:
679
+ return SettingsResourceWithRawResponse(self._domains.settings)
680
+
681
+ @cached_property
682
+ def api_paths(self) -> APIPathsResourceWithRawResponse:
683
+ return APIPathsResourceWithRawResponse(self._domains.api_paths)
684
+
685
+ @cached_property
686
+ def api_path_groups(self) -> APIPathGroupsResourceWithRawResponse:
687
+ return APIPathGroupsResourceWithRawResponse(self._domains.api_path_groups)
688
+
689
+ @cached_property
690
+ def api_discovery(self) -> APIDiscoveryResourceWithRawResponse:
691
+ return APIDiscoveryResourceWithRawResponse(self._domains.api_discovery)
692
+
693
+ @cached_property
694
+ def insights(self) -> InsightsResourceWithRawResponse:
695
+ return InsightsResourceWithRawResponse(self._domains.insights)
696
+
697
+ @cached_property
698
+ def insight_silences(self) -> InsightSilencesResourceWithRawResponse:
699
+ return InsightSilencesResourceWithRawResponse(self._domains.insight_silences)
700
+
701
+ @cached_property
702
+ def policies(self) -> PoliciesResourceWithRawResponse:
703
+ return PoliciesResourceWithRawResponse(self._domains.policies)
704
+
705
+ @cached_property
706
+ def analytics(self) -> AnalyticsResourceWithRawResponse:
707
+ return AnalyticsResourceWithRawResponse(self._domains.analytics)
708
+
709
+ @cached_property
710
+ def custom_rules(self) -> CustomRulesResourceWithRawResponse:
711
+ return CustomRulesResourceWithRawResponse(self._domains.custom_rules)
712
+
713
+ @cached_property
714
+ def firewall_rules(self) -> FirewallRulesResourceWithRawResponse:
715
+ return FirewallRulesResourceWithRawResponse(self._domains.firewall_rules)
716
+
717
+ @cached_property
718
+ def advanced_rules(self) -> AdvancedRulesResourceWithRawResponse:
719
+ return AdvancedRulesResourceWithRawResponse(self._domains.advanced_rules)
720
+
721
+
722
+ class AsyncDomainsResourceWithRawResponse:
723
+ def __init__(self, domains: AsyncDomainsResource) -> None:
724
+ self._domains = domains
725
+
726
+ self.update = async_to_raw_response_wrapper(
727
+ domains.update,
728
+ )
729
+ self.list = async_to_raw_response_wrapper(
730
+ domains.list,
731
+ )
732
+ self.delete = async_to_raw_response_wrapper(
733
+ domains.delete,
734
+ )
735
+ self.get = async_to_raw_response_wrapper(
736
+ domains.get,
737
+ )
738
+ self.list_rule_sets = async_to_raw_response_wrapper(
739
+ domains.list_rule_sets,
740
+ )
741
+
742
+ @cached_property
743
+ def settings(self) -> AsyncSettingsResourceWithRawResponse:
744
+ return AsyncSettingsResourceWithRawResponse(self._domains.settings)
745
+
746
+ @cached_property
747
+ def api_paths(self) -> AsyncAPIPathsResourceWithRawResponse:
748
+ return AsyncAPIPathsResourceWithRawResponse(self._domains.api_paths)
749
+
750
+ @cached_property
751
+ def api_path_groups(self) -> AsyncAPIPathGroupsResourceWithRawResponse:
752
+ return AsyncAPIPathGroupsResourceWithRawResponse(self._domains.api_path_groups)
753
+
754
+ @cached_property
755
+ def api_discovery(self) -> AsyncAPIDiscoveryResourceWithRawResponse:
756
+ return AsyncAPIDiscoveryResourceWithRawResponse(self._domains.api_discovery)
757
+
758
+ @cached_property
759
+ def insights(self) -> AsyncInsightsResourceWithRawResponse:
760
+ return AsyncInsightsResourceWithRawResponse(self._domains.insights)
761
+
762
+ @cached_property
763
+ def insight_silences(self) -> AsyncInsightSilencesResourceWithRawResponse:
764
+ return AsyncInsightSilencesResourceWithRawResponse(self._domains.insight_silences)
765
+
766
+ @cached_property
767
+ def policies(self) -> AsyncPoliciesResourceWithRawResponse:
768
+ return AsyncPoliciesResourceWithRawResponse(self._domains.policies)
769
+
770
+ @cached_property
771
+ def analytics(self) -> AsyncAnalyticsResourceWithRawResponse:
772
+ return AsyncAnalyticsResourceWithRawResponse(self._domains.analytics)
773
+
774
+ @cached_property
775
+ def custom_rules(self) -> AsyncCustomRulesResourceWithRawResponse:
776
+ return AsyncCustomRulesResourceWithRawResponse(self._domains.custom_rules)
777
+
778
+ @cached_property
779
+ def firewall_rules(self) -> AsyncFirewallRulesResourceWithRawResponse:
780
+ return AsyncFirewallRulesResourceWithRawResponse(self._domains.firewall_rules)
781
+
782
+ @cached_property
783
+ def advanced_rules(self) -> AsyncAdvancedRulesResourceWithRawResponse:
784
+ return AsyncAdvancedRulesResourceWithRawResponse(self._domains.advanced_rules)
785
+
786
+
787
+ class DomainsResourceWithStreamingResponse:
788
+ def __init__(self, domains: DomainsResource) -> None:
789
+ self._domains = domains
790
+
791
+ self.update = to_streamed_response_wrapper(
792
+ domains.update,
793
+ )
794
+ self.list = to_streamed_response_wrapper(
795
+ domains.list,
796
+ )
797
+ self.delete = to_streamed_response_wrapper(
798
+ domains.delete,
799
+ )
800
+ self.get = to_streamed_response_wrapper(
801
+ domains.get,
802
+ )
803
+ self.list_rule_sets = to_streamed_response_wrapper(
804
+ domains.list_rule_sets,
805
+ )
806
+
807
+ @cached_property
808
+ def settings(self) -> SettingsResourceWithStreamingResponse:
809
+ return SettingsResourceWithStreamingResponse(self._domains.settings)
810
+
811
+ @cached_property
812
+ def api_paths(self) -> APIPathsResourceWithStreamingResponse:
813
+ return APIPathsResourceWithStreamingResponse(self._domains.api_paths)
814
+
815
+ @cached_property
816
+ def api_path_groups(self) -> APIPathGroupsResourceWithStreamingResponse:
817
+ return APIPathGroupsResourceWithStreamingResponse(self._domains.api_path_groups)
818
+
819
+ @cached_property
820
+ def api_discovery(self) -> APIDiscoveryResourceWithStreamingResponse:
821
+ return APIDiscoveryResourceWithStreamingResponse(self._domains.api_discovery)
822
+
823
+ @cached_property
824
+ def insights(self) -> InsightsResourceWithStreamingResponse:
825
+ return InsightsResourceWithStreamingResponse(self._domains.insights)
826
+
827
+ @cached_property
828
+ def insight_silences(self) -> InsightSilencesResourceWithStreamingResponse:
829
+ return InsightSilencesResourceWithStreamingResponse(self._domains.insight_silences)
830
+
831
+ @cached_property
832
+ def policies(self) -> PoliciesResourceWithStreamingResponse:
833
+ return PoliciesResourceWithStreamingResponse(self._domains.policies)
834
+
835
+ @cached_property
836
+ def analytics(self) -> AnalyticsResourceWithStreamingResponse:
837
+ return AnalyticsResourceWithStreamingResponse(self._domains.analytics)
838
+
839
+ @cached_property
840
+ def custom_rules(self) -> CustomRulesResourceWithStreamingResponse:
841
+ return CustomRulesResourceWithStreamingResponse(self._domains.custom_rules)
842
+
843
+ @cached_property
844
+ def firewall_rules(self) -> FirewallRulesResourceWithStreamingResponse:
845
+ return FirewallRulesResourceWithStreamingResponse(self._domains.firewall_rules)
846
+
847
+ @cached_property
848
+ def advanced_rules(self) -> AdvancedRulesResourceWithStreamingResponse:
849
+ return AdvancedRulesResourceWithStreamingResponse(self._domains.advanced_rules)
850
+
851
+
852
+ class AsyncDomainsResourceWithStreamingResponse:
853
+ def __init__(self, domains: AsyncDomainsResource) -> None:
854
+ self._domains = domains
855
+
856
+ self.update = async_to_streamed_response_wrapper(
857
+ domains.update,
858
+ )
859
+ self.list = async_to_streamed_response_wrapper(
860
+ domains.list,
861
+ )
862
+ self.delete = async_to_streamed_response_wrapper(
863
+ domains.delete,
864
+ )
865
+ self.get = async_to_streamed_response_wrapper(
866
+ domains.get,
867
+ )
868
+ self.list_rule_sets = async_to_streamed_response_wrapper(
869
+ domains.list_rule_sets,
870
+ )
871
+
872
+ @cached_property
873
+ def settings(self) -> AsyncSettingsResourceWithStreamingResponse:
874
+ return AsyncSettingsResourceWithStreamingResponse(self._domains.settings)
875
+
876
+ @cached_property
877
+ def api_paths(self) -> AsyncAPIPathsResourceWithStreamingResponse:
878
+ return AsyncAPIPathsResourceWithStreamingResponse(self._domains.api_paths)
879
+
880
+ @cached_property
881
+ def api_path_groups(self) -> AsyncAPIPathGroupsResourceWithStreamingResponse:
882
+ return AsyncAPIPathGroupsResourceWithStreamingResponse(self._domains.api_path_groups)
883
+
884
+ @cached_property
885
+ def api_discovery(self) -> AsyncAPIDiscoveryResourceWithStreamingResponse:
886
+ return AsyncAPIDiscoveryResourceWithStreamingResponse(self._domains.api_discovery)
887
+
888
+ @cached_property
889
+ def insights(self) -> AsyncInsightsResourceWithStreamingResponse:
890
+ return AsyncInsightsResourceWithStreamingResponse(self._domains.insights)
891
+
892
+ @cached_property
893
+ def insight_silences(self) -> AsyncInsightSilencesResourceWithStreamingResponse:
894
+ return AsyncInsightSilencesResourceWithStreamingResponse(self._domains.insight_silences)
895
+
896
+ @cached_property
897
+ def policies(self) -> AsyncPoliciesResourceWithStreamingResponse:
898
+ return AsyncPoliciesResourceWithStreamingResponse(self._domains.policies)
899
+
900
+ @cached_property
901
+ def analytics(self) -> AsyncAnalyticsResourceWithStreamingResponse:
902
+ return AsyncAnalyticsResourceWithStreamingResponse(self._domains.analytics)
903
+
904
+ @cached_property
905
+ def custom_rules(self) -> AsyncCustomRulesResourceWithStreamingResponse:
906
+ return AsyncCustomRulesResourceWithStreamingResponse(self._domains.custom_rules)
907
+
908
+ @cached_property
909
+ def firewall_rules(self) -> AsyncFirewallRulesResourceWithStreamingResponse:
910
+ return AsyncFirewallRulesResourceWithStreamingResponse(self._domains.firewall_rules)
911
+
912
+ @cached_property
913
+ def advanced_rules(self) -> AsyncAdvancedRulesResourceWithStreamingResponse:
914
+ return AsyncAdvancedRulesResourceWithStreamingResponse(self._domains.advanced_rules)