gcore 0.2.0__py3-none-any.whl → 0.4.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 (315) hide show
  1. gcore/__init__.py +2 -1
  2. gcore/_base_client.py +44 -2
  3. gcore/_client.py +9 -0
  4. gcore/_models.py +2 -0
  5. gcore/_types.py +2 -0
  6. gcore/_version.py +1 -1
  7. gcore/pagination.py +61 -1
  8. gcore/resources/__init__.py +14 -0
  9. gcore/resources/cloud/baremetal/flavors.py +11 -137
  10. gcore/resources/cloud/baremetal/images.py +10 -12
  11. gcore/resources/cloud/baremetal/servers.py +75 -78
  12. gcore/resources/cloud/billing_reservations.py +2 -2
  13. gcore/resources/cloud/file_shares/file_shares.py +7 -8
  14. gcore/resources/cloud/floating_ips.py +9 -14
  15. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +39 -28
  16. gcore/resources/cloud/gpu_baremetal_clusters/images.py +11 -12
  17. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +2 -2
  18. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +12 -8
  19. gcore/resources/cloud/inference/deployments/deployments.py +16 -8
  20. gcore/resources/cloud/inference/registry_credentials.py +2 -2
  21. gcore/resources/cloud/inference/secrets.py +8 -8
  22. gcore/resources/cloud/instances/flavors.py +9 -233
  23. gcore/resources/cloud/instances/images.py +47 -37
  24. gcore/resources/cloud/instances/instances.py +107 -100
  25. gcore/resources/cloud/instances/interfaces.py +6 -6
  26. gcore/resources/cloud/ip_ranges.py +34 -2
  27. gcore/resources/cloud/load_balancers/flavors.py +2 -2
  28. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +30 -22
  29. gcore/resources/cloud/load_balancers/listeners.py +31 -22
  30. gcore/resources/cloud/load_balancers/load_balancers.py +99 -43
  31. gcore/resources/cloud/load_balancers/metrics.py +2 -2
  32. gcore/resources/cloud/load_balancers/pools/health_monitors.py +2 -2
  33. gcore/resources/cloud/load_balancers/pools/members.py +12 -8
  34. gcore/resources/cloud/networks/networks.py +83 -19
  35. gcore/resources/cloud/networks/routers.py +18 -18
  36. gcore/resources/cloud/networks/subnets.py +55 -15
  37. gcore/resources/cloud/projects.py +38 -24
  38. gcore/resources/cloud/quotas/quotas.py +6 -6
  39. gcore/resources/cloud/quotas/requests.py +8 -8
  40. gcore/resources/cloud/registries/artifacts.py +4 -4
  41. gcore/resources/cloud/registries/registries.py +14 -20
  42. gcore/resources/cloud/registries/repositories.py +4 -4
  43. gcore/resources/cloud/registries/tags.py +2 -2
  44. gcore/resources/cloud/registries/users.py +25 -32
  45. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +26 -26
  46. gcore/resources/cloud/reserved_fixed_ips/vip.py +10 -10
  47. gcore/resources/cloud/security_groups/rules.py +6 -6
  48. gcore/resources/cloud/security_groups/security_groups.py +70 -31
  49. gcore/resources/cloud/ssh_keys.py +2 -2
  50. gcore/resources/cloud/tasks.py +102 -94
  51. gcore/resources/cloud/users/role_assignments.py +16 -18
  52. gcore/resources/cloud/volumes.py +155 -65
  53. gcore/resources/iam/__init__.py +47 -0
  54. gcore/resources/iam/api_tokens.py +521 -0
  55. gcore/resources/iam/iam.py +199 -0
  56. gcore/resources/iam/users.py +642 -0
  57. gcore/resources/waap/__init__.py +84 -0
  58. gcore/resources/waap/advanced_rules.py +135 -0
  59. gcore/resources/waap/custom_page_sets.py +805 -0
  60. gcore/resources/waap/domains/__init__.py +140 -0
  61. gcore/resources/waap/domains/advanced_rules.py +876 -0
  62. gcore/resources/waap/domains/analytics/__init__.py +33 -0
  63. gcore/resources/waap/domains/analytics/analytics.py +676 -0
  64. gcore/resources/waap/domains/analytics/requests.py +378 -0
  65. gcore/resources/waap/domains/api_discovery/__init__.py +33 -0
  66. gcore/resources/waap/domains/api_discovery/api_discovery.py +530 -0
  67. gcore/resources/waap/domains/api_discovery/scan_results.py +352 -0
  68. gcore/resources/waap/domains/api_path_groups.py +163 -0
  69. gcore/resources/waap/domains/api_paths.py +771 -0
  70. gcore/resources/waap/domains/custom_rules.py +889 -0
  71. gcore/resources/waap/domains/domains.py +399 -0
  72. gcore/resources/waap/domains/firewall_rules.py +884 -0
  73. gcore/resources/waap/domains/insight_silences.py +689 -0
  74. gcore/resources/waap/domains/insights.py +425 -0
  75. gcore/resources/waap/domains/policies.py +173 -0
  76. gcore/resources/waap/domains/settings.py +5 -5
  77. gcore/resources/waap/ip_info.py +1017 -0
  78. gcore/resources/waap/organizations.py +217 -0
  79. gcore/resources/waap/statistics.py +225 -0
  80. gcore/resources/waap/tags.py +233 -0
  81. gcore/resources/waap/waap.py +257 -0
  82. gcore/types/cloud/allowed_address_pairs.py +2 -2
  83. gcore/types/cloud/baremetal/__init__.py +0 -1
  84. gcore/types/cloud/baremetal/baremetal_server.py +1 -1
  85. gcore/types/cloud/baremetal/image_list_params.py +1 -5
  86. gcore/types/cloud/baremetal/server_create_params.py +13 -17
  87. gcore/types/cloud/baremetal/server_list_params.py +8 -12
  88. gcore/types/cloud/baremetal/server_rebuild_params.py +1 -1
  89. gcore/types/cloud/baremetal_flavor.py +3 -3
  90. gcore/types/cloud/container_probe_config.py +1 -1
  91. gcore/types/cloud/container_probe_config_create_param.py +1 -1
  92. gcore/types/cloud/container_scale_triggers.py +2 -2
  93. gcore/types/cloud/ddos_profile.py +9 -3
  94. gcore/types/cloud/file_share_create_params.py +3 -5
  95. gcore/types/cloud/floating_ip_create_params.py +2 -4
  96. gcore/types/cloud/floating_ip_detailed.py +1 -1
  97. gcore/types/cloud/floating_ip_list_params.py +2 -6
  98. gcore/types/cloud/gpu_baremetal_cluster.py +1 -1
  99. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +4 -5
  100. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +1 -1
  101. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +1 -1
  102. gcore/types/cloud/gpu_baremetal_cluster_server.py +1 -1
  103. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +3 -5
  104. gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +10 -10
  105. gcore/types/cloud/gpu_baremetal_flavor.py +3 -3
  106. gcore/types/cloud/health_monitor.py +6 -1
  107. gcore/types/cloud/image.py +1 -1
  108. gcore/types/cloud/inference/deployment_create_params.py +4 -4
  109. gcore/types/cloud/inference/deployment_update_params.py +6 -6
  110. gcore/types/cloud/inference/inference.py +2 -4
  111. gcore/types/cloud/instance.py +1 -1
  112. gcore/types/cloud/instance_create_params.py +15 -18
  113. gcore/types/cloud/instance_list_params.py +8 -12
  114. gcore/types/cloud/instances/__init__.py +0 -2
  115. gcore/types/cloud/instances/image_create_from_volume_params.py +2 -4
  116. gcore/types/cloud/instances/image_list_params.py +1 -5
  117. gcore/types/cloud/instances/image_upload_params.py +2 -4
  118. gcore/types/cloud/instances/instance_flavor.py +3 -3
  119. gcore/types/cloud/instances/interface_attach_params.py +10 -10
  120. gcore/types/cloud/load_balancer_create_params.py +25 -19
  121. gcore/types/cloud/load_balancer_flavor_detail.py +3 -3
  122. gcore/types/cloud/load_balancer_l7_policy.py +5 -5
  123. gcore/types/cloud/load_balancer_list_params.py +5 -9
  124. gcore/types/cloud/load_balancer_listener_detail.py +4 -4
  125. gcore/types/cloud/load_balancer_update_params.py +24 -0
  126. gcore/types/cloud/load_balancers/l7_policy_create_params.py +5 -5
  127. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +5 -5
  128. gcore/types/cloud/load_balancers/listener_create_params.py +4 -4
  129. gcore/types/cloud/load_balancers/listener_update_params.py +3 -3
  130. gcore/types/cloud/load_balancers/pool_create_params.py +10 -5
  131. gcore/types/cloud/load_balancers/pool_update_params.py +10 -5
  132. gcore/types/cloud/load_balancers/pools/member_add_params.py +9 -4
  133. gcore/types/cloud/member.py +8 -3
  134. gcore/types/cloud/network.py +2 -2
  135. gcore/types/cloud/network_create_params.py +2 -3
  136. gcore/types/cloud/network_details.py +2 -2
  137. gcore/types/cloud/network_list_params.py +5 -6
  138. gcore/types/cloud/network_update_params.py +28 -2
  139. gcore/types/cloud/networks/router_list_params.py +2 -2
  140. gcore/types/cloud/networks/subnet_create_params.py +3 -4
  141. gcore/types/cloud/networks/subnet_list_params.py +2 -6
  142. gcore/types/cloud/networks/subnet_update_params.py +25 -0
  143. gcore/types/cloud/region.py +4 -4
  144. gcore/types/cloud/registries/__init__.py +1 -0
  145. gcore/types/cloud/registries/user_create_multiple_params.py +3 -5
  146. gcore/types/cloud/registries/user_create_params.py +3 -5
  147. gcore/types/cloud/registries/user_refresh_secret_response.py +31 -0
  148. gcore/types/cloud/registry_create_params.py +3 -5
  149. gcore/types/cloud/reserved_fixed_ip_create_params.py +2 -2
  150. gcore/types/cloud/reserved_fixed_ip_list_params.py +3 -3
  151. gcore/types/cloud/security_group_list_params.py +3 -7
  152. gcore/types/cloud/security_group_update_params.py +25 -0
  153. gcore/types/cloud/session_persistence.py +1 -1
  154. gcore/types/cloud/ssh_key_created.py +3 -6
  155. gcore/types/cloud/tag_update_map_param.py +2 -2
  156. gcore/types/cloud/task.py +1 -1
  157. gcore/types/cloud/task_list_params.py +49 -45
  158. gcore/types/cloud/users/role_assignment_create_params.py +1 -1
  159. gcore/types/cloud/users/role_assignment_update_params.py +1 -1
  160. gcore/types/cloud/volume_create_params.py +6 -6
  161. gcore/types/cloud/volume_list_params.py +3 -7
  162. gcore/types/cloud/volume_update_params.py +29 -3
  163. gcore/types/iam/__init__.py +17 -0
  164. gcore/types/iam/account_overview.py +488 -0
  165. gcore/types/iam/api_token.py +78 -0
  166. gcore/types/iam/api_token_create.py +15 -0
  167. gcore/types/iam/api_token_create_params.py +42 -0
  168. gcore/types/iam/api_token_list.py +81 -0
  169. gcore/types/iam/api_token_list_params.py +41 -0
  170. gcore/types/iam/user.py +86 -0
  171. gcore/types/iam/user_detailed.py +104 -0
  172. gcore/types/iam/user_invite.py +15 -0
  173. gcore/types/iam/user_invite_params.py +37 -0
  174. gcore/types/iam/user_list_params.py +15 -0
  175. gcore/types/iam/user_update.py +104 -0
  176. gcore/types/iam/user_update_params.py +52 -0
  177. gcore/types/waap/__init__.py +97 -2
  178. gcore/types/waap/custom_page_set_create_params.py +35 -0
  179. gcore/types/waap/custom_page_set_list_params.py +25 -0
  180. gcore/types/waap/custom_page_set_preview_params.py +34 -0
  181. gcore/types/waap/custom_page_set_update_params.py +35 -0
  182. gcore/types/waap/domain_list_rule_sets_response.py +10 -0
  183. gcore/types/waap/domains/__init__.py +42 -0
  184. gcore/types/waap/domains/advanced_rule_create_params.py +80 -0
  185. gcore/types/waap/domains/advanced_rule_list_params.py +58 -0
  186. gcore/types/waap/domains/advanced_rule_update_params.py +83 -0
  187. gcore/types/waap/domains/analytics/__init__.py +5 -0
  188. gcore/types/waap/domains/analytics/request_list_params.py +53 -0
  189. gcore/types/waap/domains/analytics_get_event_statistics_params.py +34 -0
  190. gcore/types/waap/domains/analytics_list_ddos_attacks_params.py +28 -0
  191. gcore/types/waap/domains/analytics_list_ddos_info_params.py +31 -0
  192. gcore/types/waap/domains/analytics_list_event_traffic_params.py +26 -0
  193. gcore/types/waap/domains/analytics_list_event_traffic_response.py +10 -0
  194. gcore/types/waap/domains/api_discovery/__init__.py +7 -0
  195. gcore/types/waap/domains/api_discovery/scan_result_get_response.py +29 -0
  196. gcore/types/waap/domains/api_discovery/scan_result_list_params.py +41 -0
  197. gcore/types/waap/domains/api_discovery/scan_result_list_response.py +29 -0
  198. gcore/types/waap/domains/api_discovery_get_settings_response.py +36 -0
  199. gcore/types/waap/domains/api_discovery_scan_openapi_response.py +10 -0
  200. gcore/types/waap/domains/api_discovery_update_settings_params.py +34 -0
  201. gcore/types/waap/domains/api_discovery_update_settings_response.py +36 -0
  202. gcore/types/waap/domains/api_discovery_upload_openapi_params.py +19 -0
  203. gcore/types/waap/domains/api_discovery_upload_openapi_response.py +10 -0
  204. gcore/types/waap/domains/api_path_create_params.py +31 -0
  205. gcore/types/waap/domains/api_path_create_response.py +50 -0
  206. gcore/types/waap/domains/api_path_get_response.py +50 -0
  207. gcore/types/waap/domains/api_path_group_list_response.py +12 -0
  208. gcore/types/waap/domains/api_path_list_params.py +62 -0
  209. gcore/types/waap/domains/api_path_list_response.py +50 -0
  210. gcore/types/waap/domains/api_path_update_params.py +29 -0
  211. gcore/types/waap/domains/custom_rule_create_params.py +372 -0
  212. gcore/types/waap/domains/custom_rule_delete_multiple_params.py +13 -0
  213. gcore/types/waap/domains/custom_rule_list_params.py +35 -0
  214. gcore/types/waap/domains/custom_rule_update_params.py +375 -0
  215. gcore/types/waap/domains/firewall_rule_create_params.py +75 -0
  216. gcore/types/waap/domains/firewall_rule_delete_multiple_params.py +13 -0
  217. gcore/types/waap/domains/firewall_rule_list_params.py +33 -0
  218. gcore/types/waap/domains/firewall_rule_update_params.py +78 -0
  219. gcore/types/waap/domains/insight_list_params.py +34 -0
  220. gcore/types/waap/domains/insight_replace_params.py +17 -0
  221. gcore/types/waap/domains/insight_silence_create_params.py +28 -0
  222. gcore/types/waap/domains/insight_silence_list_params.py +33 -0
  223. gcore/types/waap/domains/insight_silence_update_params.py +28 -0
  224. gcore/types/waap/domains/setting_update_params.py +7 -0
  225. gcore/types/waap/ip_info_get_attack_time_series_params.py +12 -0
  226. gcore/types/waap/ip_info_get_attack_time_series_response.py +10 -0
  227. gcore/types/waap/ip_info_get_blocked_requests_params.py +15 -0
  228. gcore/types/waap/ip_info_get_blocked_requests_response.py +10 -0
  229. gcore/types/waap/ip_info_get_counts_params.py +19 -0
  230. gcore/types/waap/ip_info_get_ddos_attack_series_params.py +12 -0
  231. gcore/types/waap/ip_info_get_params.py +12 -0
  232. gcore/types/waap/ip_info_get_top_sessions_params.py +15 -0
  233. gcore/types/waap/ip_info_get_top_sessions_response.py +10 -0
  234. gcore/types/waap/ip_info_get_top_urls_params.py +15 -0
  235. gcore/types/waap/ip_info_get_top_urls_response.py +10 -0
  236. gcore/types/waap/ip_info_get_top_user_agents_params.py +15 -0
  237. gcore/types/waap/ip_info_get_top_user_agents_response.py +10 -0
  238. gcore/types/waap/ip_info_list_attacked_countries_params.py +12 -0
  239. gcore/types/waap/ip_info_list_attacked_countries_response.py +10 -0
  240. gcore/types/waap/organization_list_params.py +22 -0
  241. gcore/types/waap/statistic_get_usage_series_params.py +25 -0
  242. gcore/types/waap/tag_list_params.py +28 -0
  243. gcore/types/waap/waap_advanced_rule.py +83 -0
  244. gcore/types/waap/waap_advanced_rule_descriptor.py +49 -0
  245. gcore/types/waap/waap_advanced_rule_descriptor_list.py +15 -0
  246. gcore/types/waap/waap_block_csrf_page_data.py +28 -0
  247. gcore/types/waap/waap_block_csrf_page_data_param.py +28 -0
  248. gcore/types/waap/waap_block_page_data.py +28 -0
  249. gcore/types/waap/waap_block_page_data_param.py +28 -0
  250. gcore/types/waap/waap_blocked_statistics.py +36 -0
  251. gcore/types/waap/waap_captcha_page_data.py +31 -0
  252. gcore/types/waap/waap_captcha_page_data_param.py +31 -0
  253. gcore/types/waap/waap_common_tag.py +16 -0
  254. gcore/types/waap/waap_cookie_disabled_page_data.py +18 -0
  255. gcore/types/waap/waap_cookie_disabled_page_data_param.py +18 -0
  256. gcore/types/waap/waap_count_statistics.py +36 -0
  257. gcore/types/waap/waap_custom_page_preview.py +10 -0
  258. gcore/types/waap/waap_custom_page_set.py +36 -0
  259. gcore/types/waap/waap_custom_rule.py +377 -0
  260. gcore/types/waap/waap_customer_rule_state.py +7 -0
  261. gcore/types/waap/waap_ddos_attack.py +16 -0
  262. gcore/types/waap/waap_ddos_info.py +17 -0
  263. gcore/types/waap/{waap_api_urls.py → waap_domain_api_settings.py} +9 -2
  264. gcore/types/waap/waap_domain_policy.py +29 -0
  265. gcore/types/waap/{waap_domain_settings.py → waap_domain_settings_model.py} +4 -4
  266. gcore/types/waap/waap_event_statistics.py +15 -0
  267. gcore/types/waap/waap_firewall_rule.py +78 -0
  268. gcore/types/waap/waap_get_account_overview_response.py +34 -0
  269. gcore/types/waap/waap_handshake_page_data.py +25 -0
  270. gcore/types/waap/waap_handshake_page_data_param.py +25 -0
  271. gcore/types/waap/waap_insight.py +38 -0
  272. gcore/types/waap/waap_insight_silence.py +28 -0
  273. gcore/types/waap/waap_insight_silence_sort_by.py +9 -0
  274. gcore/types/waap/waap_insight_sort_by.py +20 -0
  275. gcore/types/waap/waap_insight_status.py +7 -0
  276. gcore/types/waap/waap_ip_country_attack.py +16 -0
  277. gcore/types/waap/waap_ip_ddos_info_model.py +23 -0
  278. gcore/types/waap/waap_ip_info.py +57 -0
  279. gcore/types/waap/waap_ip_info_counts.py +16 -0
  280. gcore/types/waap/waap_javascript_disabled_page_data.py +18 -0
  281. gcore/types/waap/waap_javascript_disabled_page_data_param.py +18 -0
  282. gcore/types/waap/waap_network_details.py +17 -0
  283. gcore/types/waap/waap_organization.py +13 -0
  284. gcore/types/waap/waap_page_type.py +9 -0
  285. gcore/types/waap/waap_paginated_custom_page_set.py +22 -0
  286. gcore/types/waap/waap_paginated_ddos_attack.py +22 -0
  287. gcore/types/waap/waap_paginated_ddos_info.py +22 -0
  288. gcore/types/waap/waap_paginated_request_summary.py +22 -0
  289. gcore/types/waap/waap_pattern_matched_tag.py +37 -0
  290. gcore/types/waap/waap_policy_action.py +7 -0
  291. gcore/types/waap/waap_policy_mode.py +10 -0
  292. gcore/types/waap/waap_request_details.py +92 -0
  293. gcore/types/waap/waap_request_organization.py +13 -0
  294. gcore/types/waap/waap_request_summary.py +59 -0
  295. gcore/types/waap/waap_resolution.py +7 -0
  296. gcore/types/waap/waap_rule_action_type.py +7 -0
  297. gcore/types/waap/waap_rule_blocked_requests.py +16 -0
  298. gcore/types/waap/waap_rule_set.py +41 -0
  299. gcore/types/waap/waap_statistic_item.py +18 -0
  300. gcore/types/waap/waap_statistics_series.py +16 -0
  301. gcore/types/waap/waap_tag.py +16 -0
  302. gcore/types/waap/waap_time_series_attack.py +23 -0
  303. gcore/types/waap/waap_top_session.py +24 -0
  304. gcore/types/waap/waap_top_url.py +13 -0
  305. gcore/types/waap/waap_top_user_agent.py +13 -0
  306. gcore/types/waap/waap_traffic_metrics.py +68 -0
  307. gcore/types/waap/waap_traffic_type.py +28 -0
  308. gcore/types/waap/waap_user_agent_details.py +40 -0
  309. {gcore-0.2.0.dist-info → gcore-0.4.0.dist-info}/METADATA +40 -3
  310. {gcore-0.2.0.dist-info → gcore-0.4.0.dist-info}/RECORD +312 -149
  311. gcore/types/cloud/baremetal/flavor_list_suitable_params.py +0 -22
  312. gcore/types/cloud/instances/flavor_list_for_resize_params.py +0 -16
  313. gcore/types/cloud/instances/flavor_list_suitable_params.py +0 -56
  314. {gcore-0.2.0.dist-info → gcore-0.4.0.dist-info}/WHEEL +0 -0
  315. {gcore-0.2.0.dist-info → gcore-0.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,805 @@
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, Optional
6
+ from typing_extensions import Literal
7
+
8
+ import httpx
9
+
10
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
11
+ from ..._utils import maybe_transform, async_maybe_transform
12
+ from ..._compat import cached_property
13
+ from ..._resource import SyncAPIResource, AsyncAPIResource
14
+ from ..._response import (
15
+ to_raw_response_wrapper,
16
+ to_streamed_response_wrapper,
17
+ async_to_raw_response_wrapper,
18
+ async_to_streamed_response_wrapper,
19
+ )
20
+ from ...pagination import SyncOffsetPage, AsyncOffsetPage
21
+ from ...types.waap import (
22
+ WaapPageType,
23
+ custom_page_set_list_params,
24
+ custom_page_set_create_params,
25
+ custom_page_set_update_params,
26
+ custom_page_set_preview_params,
27
+ )
28
+ from ..._base_client import AsyncPaginator, make_request_options
29
+ from ...types.waap.waap_page_type import WaapPageType
30
+ from ...types.waap.waap_custom_page_set import WaapCustomPageSet
31
+ from ...types.waap.waap_custom_page_preview import WaapCustomPagePreview
32
+ from ...types.waap.waap_block_page_data_param import WaapBlockPageDataParam
33
+ from ...types.waap.waap_captcha_page_data_param import WaapCaptchaPageDataParam
34
+ from ...types.waap.waap_handshake_page_data_param import WaapHandshakePageDataParam
35
+ from ...types.waap.waap_block_csrf_page_data_param import WaapBlockCsrfPageDataParam
36
+ from ...types.waap.waap_cookie_disabled_page_data_param import WaapCookieDisabledPageDataParam
37
+ from ...types.waap.waap_javascript_disabled_page_data_param import WaapJavascriptDisabledPageDataParam
38
+
39
+ __all__ = ["CustomPageSetsResource", "AsyncCustomPageSetsResource"]
40
+
41
+
42
+ class CustomPageSetsResource(SyncAPIResource):
43
+ @cached_property
44
+ def with_raw_response(self) -> CustomPageSetsResourceWithRawResponse:
45
+ """
46
+ This property can be used as a prefix for any HTTP method call to return
47
+ the raw response object instead of the parsed content.
48
+
49
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
50
+ """
51
+ return CustomPageSetsResourceWithRawResponse(self)
52
+
53
+ @cached_property
54
+ def with_streaming_response(self) -> CustomPageSetsResourceWithStreamingResponse:
55
+ """
56
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
57
+
58
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
59
+ """
60
+ return CustomPageSetsResourceWithStreamingResponse(self)
61
+
62
+ def create(
63
+ self,
64
+ *,
65
+ name: str,
66
+ block: Optional[WaapBlockPageDataParam] | NotGiven = NOT_GIVEN,
67
+ block_csrf: Optional[WaapBlockCsrfPageDataParam] | NotGiven = NOT_GIVEN,
68
+ captcha: Optional[WaapCaptchaPageDataParam] | NotGiven = NOT_GIVEN,
69
+ cookie_disabled: Optional[WaapCookieDisabledPageDataParam] | NotGiven = NOT_GIVEN,
70
+ domains: Optional[Iterable[int]] | NotGiven = NOT_GIVEN,
71
+ handshake: Optional[WaapHandshakePageDataParam] | NotGiven = NOT_GIVEN,
72
+ javascript_disabled: Optional[WaapJavascriptDisabledPageDataParam] | NotGiven = NOT_GIVEN,
73
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
74
+ # The extra values given here take precedence over values defined on the client or passed to this method.
75
+ extra_headers: Headers | None = None,
76
+ extra_query: Query | None = None,
77
+ extra_body: Body | None = None,
78
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
79
+ ) -> WaapCustomPageSet:
80
+ """Create a custom page set based on the provided data.
81
+
82
+ For any custom page type
83
+ (block, `block_csrf`, etc) that is not provided the default page will be used.
84
+
85
+ Args:
86
+ name: Name of the custom page set
87
+
88
+ domains: List of domain IDs that are associated with this page set
89
+
90
+ extra_headers: Send extra headers
91
+
92
+ extra_query: Add additional query parameters to the request
93
+
94
+ extra_body: Add additional JSON properties to the request
95
+
96
+ timeout: Override the client-level default timeout for this request, in seconds
97
+ """
98
+ return self._post(
99
+ "/waap/v1/custom-page-sets",
100
+ body=maybe_transform(
101
+ {
102
+ "name": name,
103
+ "block": block,
104
+ "block_csrf": block_csrf,
105
+ "captcha": captcha,
106
+ "cookie_disabled": cookie_disabled,
107
+ "domains": domains,
108
+ "handshake": handshake,
109
+ "javascript_disabled": javascript_disabled,
110
+ },
111
+ custom_page_set_create_params.CustomPageSetCreateParams,
112
+ ),
113
+ options=make_request_options(
114
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
115
+ ),
116
+ cast_to=WaapCustomPageSet,
117
+ )
118
+
119
+ def update(
120
+ self,
121
+ set_id: int,
122
+ *,
123
+ block: Optional[WaapBlockPageDataParam] | NotGiven = NOT_GIVEN,
124
+ block_csrf: Optional[WaapBlockCsrfPageDataParam] | NotGiven = NOT_GIVEN,
125
+ captcha: Optional[WaapCaptchaPageDataParam] | NotGiven = NOT_GIVEN,
126
+ cookie_disabled: Optional[WaapCookieDisabledPageDataParam] | NotGiven = NOT_GIVEN,
127
+ domains: Optional[Iterable[int]] | NotGiven = NOT_GIVEN,
128
+ handshake: Optional[WaapHandshakePageDataParam] | NotGiven = NOT_GIVEN,
129
+ javascript_disabled: Optional[WaapJavascriptDisabledPageDataParam] | NotGiven = NOT_GIVEN,
130
+ name: Optional[str] | NotGiven = NOT_GIVEN,
131
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
132
+ # The extra values given here take precedence over values defined on the client or passed to this method.
133
+ extra_headers: Headers | None = None,
134
+ extra_query: Query | None = None,
135
+ extra_body: Body | None = None,
136
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
137
+ ) -> None:
138
+ """Update a custom page set based on the provided parameters.
139
+
140
+ To update a field,
141
+ provide the field with the new value. To remove a field, provide it as null. To
142
+ keep a field unaltered, do not include it in the request. Note: `name` cannot be
143
+ removed. When updating a custom page, include all the fields that you want it to
144
+ have. Any field not included will be removed.
145
+
146
+ Args:
147
+ set_id: The ID of the custom page set
148
+
149
+ domains: List of domain IDs that are associated with this page set
150
+
151
+ name: Name of the custom page set
152
+
153
+ extra_headers: Send extra headers
154
+
155
+ extra_query: Add additional query parameters to the request
156
+
157
+ extra_body: Add additional JSON properties to the request
158
+
159
+ timeout: Override the client-level default timeout for this request, in seconds
160
+ """
161
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
162
+ return self._patch(
163
+ f"/waap/v1/custom-page-sets/{set_id}",
164
+ body=maybe_transform(
165
+ {
166
+ "block": block,
167
+ "block_csrf": block_csrf,
168
+ "captcha": captcha,
169
+ "cookie_disabled": cookie_disabled,
170
+ "domains": domains,
171
+ "handshake": handshake,
172
+ "javascript_disabled": javascript_disabled,
173
+ "name": name,
174
+ },
175
+ custom_page_set_update_params.CustomPageSetUpdateParams,
176
+ ),
177
+ options=make_request_options(
178
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
179
+ ),
180
+ cast_to=NoneType,
181
+ )
182
+
183
+ def list(
184
+ self,
185
+ *,
186
+ ids: Iterable[int] | NotGiven = NOT_GIVEN,
187
+ limit: int | NotGiven = NOT_GIVEN,
188
+ name: str | NotGiven = NOT_GIVEN,
189
+ offset: int | NotGiven = NOT_GIVEN,
190
+ ordering: Literal["name", "-name", "id", "-id"] | NotGiven = NOT_GIVEN,
191
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
192
+ # The extra values given here take precedence over values defined on the client or passed to this method.
193
+ extra_headers: Headers | None = None,
194
+ extra_query: Query | None = None,
195
+ extra_body: Body | None = None,
196
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
197
+ ) -> SyncOffsetPage[WaapCustomPageSet]:
198
+ """
199
+ Retrieve a list of custom page sets available for use
200
+
201
+ Args:
202
+ ids: Filter page sets based on their IDs
203
+
204
+ limit: Number of items to return
205
+
206
+ name: Filter page sets based on their name. Supports '\\**' as a wildcard character
207
+
208
+ offset: Number of items to skip
209
+
210
+ ordering: Sort the response by given field.
211
+
212
+ extra_headers: Send extra headers
213
+
214
+ extra_query: Add additional query parameters to the request
215
+
216
+ extra_body: Add additional JSON properties to the request
217
+
218
+ timeout: Override the client-level default timeout for this request, in seconds
219
+ """
220
+ return self._get_api_list(
221
+ "/waap/v1/custom-page-sets",
222
+ page=SyncOffsetPage[WaapCustomPageSet],
223
+ options=make_request_options(
224
+ extra_headers=extra_headers,
225
+ extra_query=extra_query,
226
+ extra_body=extra_body,
227
+ timeout=timeout,
228
+ query=maybe_transform(
229
+ {
230
+ "ids": ids,
231
+ "limit": limit,
232
+ "name": name,
233
+ "offset": offset,
234
+ "ordering": ordering,
235
+ },
236
+ custom_page_set_list_params.CustomPageSetListParams,
237
+ ),
238
+ ),
239
+ model=WaapCustomPageSet,
240
+ )
241
+
242
+ def delete(
243
+ self,
244
+ set_id: int,
245
+ *,
246
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
247
+ # The extra values given here take precedence over values defined on the client or passed to this method.
248
+ extra_headers: Headers | None = None,
249
+ extra_query: Query | None = None,
250
+ extra_body: Body | None = None,
251
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
252
+ ) -> None:
253
+ """
254
+ Delete a custom page set
255
+
256
+ Args:
257
+ set_id: The ID of the custom page set
258
+
259
+ extra_headers: Send extra headers
260
+
261
+ extra_query: Add additional query parameters to the request
262
+
263
+ extra_body: Add additional JSON properties to the request
264
+
265
+ timeout: Override the client-level default timeout for this request, in seconds
266
+ """
267
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
268
+ return self._delete(
269
+ f"/waap/v1/custom-page-sets/{set_id}",
270
+ options=make_request_options(
271
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
272
+ ),
273
+ cast_to=NoneType,
274
+ )
275
+
276
+ def get(
277
+ self,
278
+ set_id: int,
279
+ *,
280
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
281
+ # The extra values given here take precedence over values defined on the client or passed to this method.
282
+ extra_headers: Headers | None = None,
283
+ extra_query: Query | None = None,
284
+ extra_body: Body | None = None,
285
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
286
+ ) -> WaapCustomPageSet:
287
+ """
288
+ Retrieve a custom page set based on the provided ID
289
+
290
+ Args:
291
+ set_id: The ID of the custom page set
292
+
293
+ extra_headers: Send extra headers
294
+
295
+ extra_query: Add additional query parameters to the request
296
+
297
+ extra_body: Add additional JSON properties to the request
298
+
299
+ timeout: Override the client-level default timeout for this request, in seconds
300
+ """
301
+ return self._get(
302
+ f"/waap/v1/custom-page-sets/{set_id}",
303
+ options=make_request_options(
304
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
305
+ ),
306
+ cast_to=WaapCustomPageSet,
307
+ )
308
+
309
+ def preview(
310
+ self,
311
+ *,
312
+ page_type: WaapPageType,
313
+ error: Optional[str] | NotGiven = NOT_GIVEN,
314
+ header: Optional[str] | NotGiven = NOT_GIVEN,
315
+ logo: Optional[str] | NotGiven = NOT_GIVEN,
316
+ text: Optional[str] | NotGiven = NOT_GIVEN,
317
+ title: Optional[str] | NotGiven = NOT_GIVEN,
318
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
319
+ # The extra values given here take precedence over values defined on the client or passed to this method.
320
+ extra_headers: Headers | None = None,
321
+ extra_query: Query | None = None,
322
+ extra_body: Body | None = None,
323
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
324
+ ) -> WaapCustomPagePreview:
325
+ """
326
+ Allows to preview a custom page without creating it based on the provided type
327
+ and data
328
+
329
+ Args:
330
+ page_type: The type of the custom page
331
+
332
+ error: Error message
333
+
334
+ header: The text to display in the header of the custom page
335
+
336
+ logo: Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
337
+ height 130px. This should be a base 64 encoding of the full HTML img tag
338
+ compatible image, with the header included.
339
+
340
+ text: The text to display in the body of the custom page
341
+
342
+ title: The text to display in the title of the custom page
343
+
344
+ extra_headers: Send extra headers
345
+
346
+ extra_query: Add additional query parameters to the request
347
+
348
+ extra_body: Add additional JSON properties to the request
349
+
350
+ timeout: Override the client-level default timeout for this request, in seconds
351
+ """
352
+ return self._post(
353
+ "/waap/v1/preview-custom-page",
354
+ body=maybe_transform(
355
+ {
356
+ "error": error,
357
+ "header": header,
358
+ "logo": logo,
359
+ "text": text,
360
+ "title": title,
361
+ },
362
+ custom_page_set_preview_params.CustomPageSetPreviewParams,
363
+ ),
364
+ options=make_request_options(
365
+ extra_headers=extra_headers,
366
+ extra_query=extra_query,
367
+ extra_body=extra_body,
368
+ timeout=timeout,
369
+ query=maybe_transform(
370
+ {"page_type": page_type}, custom_page_set_preview_params.CustomPageSetPreviewParams
371
+ ),
372
+ ),
373
+ cast_to=WaapCustomPagePreview,
374
+ )
375
+
376
+
377
+ class AsyncCustomPageSetsResource(AsyncAPIResource):
378
+ @cached_property
379
+ def with_raw_response(self) -> AsyncCustomPageSetsResourceWithRawResponse:
380
+ """
381
+ This property can be used as a prefix for any HTTP method call to return
382
+ the raw response object instead of the parsed content.
383
+
384
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
385
+ """
386
+ return AsyncCustomPageSetsResourceWithRawResponse(self)
387
+
388
+ @cached_property
389
+ def with_streaming_response(self) -> AsyncCustomPageSetsResourceWithStreamingResponse:
390
+ """
391
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
392
+
393
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
394
+ """
395
+ return AsyncCustomPageSetsResourceWithStreamingResponse(self)
396
+
397
+ async def create(
398
+ self,
399
+ *,
400
+ name: str,
401
+ block: Optional[WaapBlockPageDataParam] | NotGiven = NOT_GIVEN,
402
+ block_csrf: Optional[WaapBlockCsrfPageDataParam] | NotGiven = NOT_GIVEN,
403
+ captcha: Optional[WaapCaptchaPageDataParam] | NotGiven = NOT_GIVEN,
404
+ cookie_disabled: Optional[WaapCookieDisabledPageDataParam] | NotGiven = NOT_GIVEN,
405
+ domains: Optional[Iterable[int]] | NotGiven = NOT_GIVEN,
406
+ handshake: Optional[WaapHandshakePageDataParam] | NotGiven = NOT_GIVEN,
407
+ javascript_disabled: Optional[WaapJavascriptDisabledPageDataParam] | NotGiven = NOT_GIVEN,
408
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
409
+ # The extra values given here take precedence over values defined on the client or passed to this method.
410
+ extra_headers: Headers | None = None,
411
+ extra_query: Query | None = None,
412
+ extra_body: Body | None = None,
413
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
414
+ ) -> WaapCustomPageSet:
415
+ """Create a custom page set based on the provided data.
416
+
417
+ For any custom page type
418
+ (block, `block_csrf`, etc) that is not provided the default page will be used.
419
+
420
+ Args:
421
+ name: Name of the custom page set
422
+
423
+ domains: List of domain IDs that are associated with this page set
424
+
425
+ extra_headers: Send extra headers
426
+
427
+ extra_query: Add additional query parameters to the request
428
+
429
+ extra_body: Add additional JSON properties to the request
430
+
431
+ timeout: Override the client-level default timeout for this request, in seconds
432
+ """
433
+ return await self._post(
434
+ "/waap/v1/custom-page-sets",
435
+ body=await async_maybe_transform(
436
+ {
437
+ "name": name,
438
+ "block": block,
439
+ "block_csrf": block_csrf,
440
+ "captcha": captcha,
441
+ "cookie_disabled": cookie_disabled,
442
+ "domains": domains,
443
+ "handshake": handshake,
444
+ "javascript_disabled": javascript_disabled,
445
+ },
446
+ custom_page_set_create_params.CustomPageSetCreateParams,
447
+ ),
448
+ options=make_request_options(
449
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
450
+ ),
451
+ cast_to=WaapCustomPageSet,
452
+ )
453
+
454
+ async def update(
455
+ self,
456
+ set_id: int,
457
+ *,
458
+ block: Optional[WaapBlockPageDataParam] | NotGiven = NOT_GIVEN,
459
+ block_csrf: Optional[WaapBlockCsrfPageDataParam] | NotGiven = NOT_GIVEN,
460
+ captcha: Optional[WaapCaptchaPageDataParam] | NotGiven = NOT_GIVEN,
461
+ cookie_disabled: Optional[WaapCookieDisabledPageDataParam] | NotGiven = NOT_GIVEN,
462
+ domains: Optional[Iterable[int]] | NotGiven = NOT_GIVEN,
463
+ handshake: Optional[WaapHandshakePageDataParam] | NotGiven = NOT_GIVEN,
464
+ javascript_disabled: Optional[WaapJavascriptDisabledPageDataParam] | NotGiven = NOT_GIVEN,
465
+ name: Optional[str] | NotGiven = NOT_GIVEN,
466
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
467
+ # The extra values given here take precedence over values defined on the client or passed to this method.
468
+ extra_headers: Headers | None = None,
469
+ extra_query: Query | None = None,
470
+ extra_body: Body | None = None,
471
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
472
+ ) -> None:
473
+ """Update a custom page set based on the provided parameters.
474
+
475
+ To update a field,
476
+ provide the field with the new value. To remove a field, provide it as null. To
477
+ keep a field unaltered, do not include it in the request. Note: `name` cannot be
478
+ removed. When updating a custom page, include all the fields that you want it to
479
+ have. Any field not included will be removed.
480
+
481
+ Args:
482
+ set_id: The ID of the custom page set
483
+
484
+ domains: List of domain IDs that are associated with this page set
485
+
486
+ name: Name of the custom page set
487
+
488
+ extra_headers: Send extra headers
489
+
490
+ extra_query: Add additional query parameters to the request
491
+
492
+ extra_body: Add additional JSON properties to the request
493
+
494
+ timeout: Override the client-level default timeout for this request, in seconds
495
+ """
496
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
497
+ return await self._patch(
498
+ f"/waap/v1/custom-page-sets/{set_id}",
499
+ body=await async_maybe_transform(
500
+ {
501
+ "block": block,
502
+ "block_csrf": block_csrf,
503
+ "captcha": captcha,
504
+ "cookie_disabled": cookie_disabled,
505
+ "domains": domains,
506
+ "handshake": handshake,
507
+ "javascript_disabled": javascript_disabled,
508
+ "name": name,
509
+ },
510
+ custom_page_set_update_params.CustomPageSetUpdateParams,
511
+ ),
512
+ options=make_request_options(
513
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
514
+ ),
515
+ cast_to=NoneType,
516
+ )
517
+
518
+ def list(
519
+ self,
520
+ *,
521
+ ids: Iterable[int] | NotGiven = NOT_GIVEN,
522
+ limit: int | NotGiven = NOT_GIVEN,
523
+ name: str | NotGiven = NOT_GIVEN,
524
+ offset: int | NotGiven = NOT_GIVEN,
525
+ ordering: Literal["name", "-name", "id", "-id"] | NotGiven = NOT_GIVEN,
526
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
527
+ # The extra values given here take precedence over values defined on the client or passed to this method.
528
+ extra_headers: Headers | None = None,
529
+ extra_query: Query | None = None,
530
+ extra_body: Body | None = None,
531
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
532
+ ) -> AsyncPaginator[WaapCustomPageSet, AsyncOffsetPage[WaapCustomPageSet]]:
533
+ """
534
+ Retrieve a list of custom page sets available for use
535
+
536
+ Args:
537
+ ids: Filter page sets based on their IDs
538
+
539
+ limit: Number of items to return
540
+
541
+ name: Filter page sets based on their name. Supports '\\**' as a wildcard character
542
+
543
+ offset: Number of items to skip
544
+
545
+ ordering: Sort the response by given field.
546
+
547
+ extra_headers: Send extra headers
548
+
549
+ extra_query: Add additional query parameters to the request
550
+
551
+ extra_body: Add additional JSON properties to the request
552
+
553
+ timeout: Override the client-level default timeout for this request, in seconds
554
+ """
555
+ return self._get_api_list(
556
+ "/waap/v1/custom-page-sets",
557
+ page=AsyncOffsetPage[WaapCustomPageSet],
558
+ options=make_request_options(
559
+ extra_headers=extra_headers,
560
+ extra_query=extra_query,
561
+ extra_body=extra_body,
562
+ timeout=timeout,
563
+ query=maybe_transform(
564
+ {
565
+ "ids": ids,
566
+ "limit": limit,
567
+ "name": name,
568
+ "offset": offset,
569
+ "ordering": ordering,
570
+ },
571
+ custom_page_set_list_params.CustomPageSetListParams,
572
+ ),
573
+ ),
574
+ model=WaapCustomPageSet,
575
+ )
576
+
577
+ async def delete(
578
+ self,
579
+ set_id: int,
580
+ *,
581
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
582
+ # The extra values given here take precedence over values defined on the client or passed to this method.
583
+ extra_headers: Headers | None = None,
584
+ extra_query: Query | None = None,
585
+ extra_body: Body | None = None,
586
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
587
+ ) -> None:
588
+ """
589
+ Delete a custom page set
590
+
591
+ Args:
592
+ set_id: The ID of the custom page set
593
+
594
+ extra_headers: Send extra headers
595
+
596
+ extra_query: Add additional query parameters to the request
597
+
598
+ extra_body: Add additional JSON properties to the request
599
+
600
+ timeout: Override the client-level default timeout for this request, in seconds
601
+ """
602
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
603
+ return await self._delete(
604
+ f"/waap/v1/custom-page-sets/{set_id}",
605
+ options=make_request_options(
606
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
607
+ ),
608
+ cast_to=NoneType,
609
+ )
610
+
611
+ async def get(
612
+ self,
613
+ set_id: int,
614
+ *,
615
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
616
+ # The extra values given here take precedence over values defined on the client or passed to this method.
617
+ extra_headers: Headers | None = None,
618
+ extra_query: Query | None = None,
619
+ extra_body: Body | None = None,
620
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
621
+ ) -> WaapCustomPageSet:
622
+ """
623
+ Retrieve a custom page set based on the provided ID
624
+
625
+ Args:
626
+ set_id: The ID of the custom page set
627
+
628
+ extra_headers: Send extra headers
629
+
630
+ extra_query: Add additional query parameters to the request
631
+
632
+ extra_body: Add additional JSON properties to the request
633
+
634
+ timeout: Override the client-level default timeout for this request, in seconds
635
+ """
636
+ return await self._get(
637
+ f"/waap/v1/custom-page-sets/{set_id}",
638
+ options=make_request_options(
639
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
640
+ ),
641
+ cast_to=WaapCustomPageSet,
642
+ )
643
+
644
+ async def preview(
645
+ self,
646
+ *,
647
+ page_type: WaapPageType,
648
+ error: Optional[str] | NotGiven = NOT_GIVEN,
649
+ header: Optional[str] | NotGiven = NOT_GIVEN,
650
+ logo: Optional[str] | NotGiven = NOT_GIVEN,
651
+ text: Optional[str] | NotGiven = NOT_GIVEN,
652
+ title: Optional[str] | NotGiven = NOT_GIVEN,
653
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
654
+ # The extra values given here take precedence over values defined on the client or passed to this method.
655
+ extra_headers: Headers | None = None,
656
+ extra_query: Query | None = None,
657
+ extra_body: Body | None = None,
658
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
659
+ ) -> WaapCustomPagePreview:
660
+ """
661
+ Allows to preview a custom page without creating it based on the provided type
662
+ and data
663
+
664
+ Args:
665
+ page_type: The type of the custom page
666
+
667
+ error: Error message
668
+
669
+ header: The text to display in the header of the custom page
670
+
671
+ logo: Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
672
+ height 130px. This should be a base 64 encoding of the full HTML img tag
673
+ compatible image, with the header included.
674
+
675
+ text: The text to display in the body of the custom page
676
+
677
+ title: The text to display in the title of the custom page
678
+
679
+ extra_headers: Send extra headers
680
+
681
+ extra_query: Add additional query parameters to the request
682
+
683
+ extra_body: Add additional JSON properties to the request
684
+
685
+ timeout: Override the client-level default timeout for this request, in seconds
686
+ """
687
+ return await self._post(
688
+ "/waap/v1/preview-custom-page",
689
+ body=await async_maybe_transform(
690
+ {
691
+ "error": error,
692
+ "header": header,
693
+ "logo": logo,
694
+ "text": text,
695
+ "title": title,
696
+ },
697
+ custom_page_set_preview_params.CustomPageSetPreviewParams,
698
+ ),
699
+ options=make_request_options(
700
+ extra_headers=extra_headers,
701
+ extra_query=extra_query,
702
+ extra_body=extra_body,
703
+ timeout=timeout,
704
+ query=await async_maybe_transform(
705
+ {"page_type": page_type}, custom_page_set_preview_params.CustomPageSetPreviewParams
706
+ ),
707
+ ),
708
+ cast_to=WaapCustomPagePreview,
709
+ )
710
+
711
+
712
+ class CustomPageSetsResourceWithRawResponse:
713
+ def __init__(self, custom_page_sets: CustomPageSetsResource) -> None:
714
+ self._custom_page_sets = custom_page_sets
715
+
716
+ self.create = to_raw_response_wrapper(
717
+ custom_page_sets.create,
718
+ )
719
+ self.update = to_raw_response_wrapper(
720
+ custom_page_sets.update,
721
+ )
722
+ self.list = to_raw_response_wrapper(
723
+ custom_page_sets.list,
724
+ )
725
+ self.delete = to_raw_response_wrapper(
726
+ custom_page_sets.delete,
727
+ )
728
+ self.get = to_raw_response_wrapper(
729
+ custom_page_sets.get,
730
+ )
731
+ self.preview = to_raw_response_wrapper(
732
+ custom_page_sets.preview,
733
+ )
734
+
735
+
736
+ class AsyncCustomPageSetsResourceWithRawResponse:
737
+ def __init__(self, custom_page_sets: AsyncCustomPageSetsResource) -> None:
738
+ self._custom_page_sets = custom_page_sets
739
+
740
+ self.create = async_to_raw_response_wrapper(
741
+ custom_page_sets.create,
742
+ )
743
+ self.update = async_to_raw_response_wrapper(
744
+ custom_page_sets.update,
745
+ )
746
+ self.list = async_to_raw_response_wrapper(
747
+ custom_page_sets.list,
748
+ )
749
+ self.delete = async_to_raw_response_wrapper(
750
+ custom_page_sets.delete,
751
+ )
752
+ self.get = async_to_raw_response_wrapper(
753
+ custom_page_sets.get,
754
+ )
755
+ self.preview = async_to_raw_response_wrapper(
756
+ custom_page_sets.preview,
757
+ )
758
+
759
+
760
+ class CustomPageSetsResourceWithStreamingResponse:
761
+ def __init__(self, custom_page_sets: CustomPageSetsResource) -> None:
762
+ self._custom_page_sets = custom_page_sets
763
+
764
+ self.create = to_streamed_response_wrapper(
765
+ custom_page_sets.create,
766
+ )
767
+ self.update = to_streamed_response_wrapper(
768
+ custom_page_sets.update,
769
+ )
770
+ self.list = to_streamed_response_wrapper(
771
+ custom_page_sets.list,
772
+ )
773
+ self.delete = to_streamed_response_wrapper(
774
+ custom_page_sets.delete,
775
+ )
776
+ self.get = to_streamed_response_wrapper(
777
+ custom_page_sets.get,
778
+ )
779
+ self.preview = to_streamed_response_wrapper(
780
+ custom_page_sets.preview,
781
+ )
782
+
783
+
784
+ class AsyncCustomPageSetsResourceWithStreamingResponse:
785
+ def __init__(self, custom_page_sets: AsyncCustomPageSetsResource) -> None:
786
+ self._custom_page_sets = custom_page_sets
787
+
788
+ self.create = async_to_streamed_response_wrapper(
789
+ custom_page_sets.create,
790
+ )
791
+ self.update = async_to_streamed_response_wrapper(
792
+ custom_page_sets.update,
793
+ )
794
+ self.list = async_to_streamed_response_wrapper(
795
+ custom_page_sets.list,
796
+ )
797
+ self.delete = async_to_streamed_response_wrapper(
798
+ custom_page_sets.delete,
799
+ )
800
+ self.get = async_to_streamed_response_wrapper(
801
+ custom_page_sets.get,
802
+ )
803
+ self.preview = async_to_streamed_response_wrapper(
804
+ custom_page_sets.preview,
805
+ )