ghostcrawl 2.2.0

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.
Files changed (371) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +46 -0
  3. data/README.md +127 -0
  4. data/_generated/ghostcrawl.rb +0 -0
  5. data/_generated/ghostcrawl_client.rb +27 -0
  6. data/_generated/models/audit_event_out.rb +802 -0
  7. data/_generated/models/audit_event_out_actor_ip_member1.rb +62 -0
  8. data/_generated/models/audit_event_out_actor_token_id_member1.rb +62 -0
  9. data/_generated/models/audit_event_out_actor_user_agent_member1.rb +62 -0
  10. data/_generated/models/audit_event_out_actor_user_id_member1.rb +62 -0
  11. data/_generated/models/audit_event_out_metadata.rb +62 -0
  12. data/_generated/models/audit_event_out_org_id_member1.rb +62 -0
  13. data/_generated/models/audit_event_out_target_id_member1.rb +62 -0
  14. data/_generated/models/audit_event_out_target_kind_member1.rb +62 -0
  15. data/_generated/models/audit_events_response.rb +173 -0
  16. data/_generated/models/audit_events_response_next_cursor_member1.rb +62 -0
  17. data/_generated/models/batch_scrape_request.rb +623 -0
  18. data/_generated/models/batch_scrape_request_behavior_actions_member1.rb +62 -0
  19. data/_generated/models/batch_scrape_request_behavior_actions_member2.rb +62 -0
  20. data/_generated/models/batch_scrape_request_extraction_strategy_member1.rb +62 -0
  21. data/_generated/models/batch_scrape_request_identity_country_member1.rb +62 -0
  22. data/_generated/models/batch_scrape_request_language_member1.rb +62 -0
  23. data/_generated/models/batch_scrape_request_output_format.rb +9 -0
  24. data/_generated/models/batch_scrape_request_profile_member1.rb +62 -0
  25. data/_generated/models/cdp_frame_request.rb +103 -0
  26. data/_generated/models/cdp_url_request.rb +82 -0
  27. data/_generated/models/checkout_request.rb +124 -0
  28. data/_generated/models/contact_request.rb +143 -0
  29. data/_generated/models/cookie_dict.rb +739 -0
  30. data/_generated/models/cookie_dict_domain_member1.rb +62 -0
  31. data/_generated/models/cookie_dict_expires_member1.rb +62 -0
  32. data/_generated/models/cookie_dict_http_only_member1.rb +62 -0
  33. data/_generated/models/cookie_dict_path_member1.rb +62 -0
  34. data/_generated/models/cookie_dict_same_site_member1.rb +62 -0
  35. data/_generated/models/cookie_dict_secure_member1.rb +62 -0
  36. data/_generated/models/cookie_dict_url_member1.rb +62 -0
  37. data/_generated/models/cookies_delete_body.rb +355 -0
  38. data/_generated/models/cookies_delete_body_domain_member1.rb +62 -0
  39. data/_generated/models/cookies_delete_body_name_member1.rb +62 -0
  40. data/_generated/models/cookies_delete_body_path_member1.rb +62 -0
  41. data/_generated/models/cookies_set_body.rb +102 -0
  42. data/_generated/models/deep_crawl_body.rb +339 -0
  43. data/_generated/models/deep_crawl_body_webhook_url_member1.rb +62 -0
  44. data/_generated/models/dom_snapshot_body.rb +82 -0
  45. data/_generated/models/download_body.rb +102 -0
  46. data/_generated/models/error_code.rb +31 -0
  47. data/_generated/models/eval_body.rb +102 -0
  48. data/_generated/models/extend_body.rb +155 -0
  49. data/_generated/models/extend_body_ttl_seconds_member1.rb +62 -0
  50. data/_generated/models/extract_request.rb +631 -0
  51. data/_generated/models/extract_request_behavior_actions_member1.rb +62 -0
  52. data/_generated/models/extract_request_behavior_actions_member2.rb +62 -0
  53. data/_generated/models/extract_request_engine.rb +12 -0
  54. data/_generated/models/extract_request_identity_country_member1.rb +62 -0
  55. data/_generated/models/extract_request_language_member1.rb +62 -0
  56. data/_generated/models/extract_request_prompt_member1.rb +62 -0
  57. data/_generated/models/extract_request_url_member1.rb +62 -0
  58. data/_generated/models/extract_request_urls_member1.rb +62 -0
  59. data/_generated/models/filter_spec.rb +62 -0
  60. data/_generated/models/h_t_t_p_validation_error.rb +84 -0
  61. data/_generated/models/har_body.rb +82 -0
  62. data/_generated/models/identity_payload.rb +144 -0
  63. data/_generated/models/identity_request.rb +833 -0
  64. data/_generated/models/identity_request_claim_browser_member1.rb +62 -0
  65. data/_generated/models/identity_request_claim_os_member1.rb +62 -0
  66. data/_generated/models/identity_request_device_model_member1.rb +62 -0
  67. data/_generated/models/identity_request_locale_member1.rb +62 -0
  68. data/_generated/models/identity_request_proxy_member1.rb +62 -0
  69. data/_generated/models/identity_request_source_member1.rb +62 -0
  70. data/_generated/models/identity_request_timezone_member1.rb +62 -0
  71. data/_generated/models/identity_request_viewport_member1.rb +62 -0
  72. data/_generated/models/identity_response.rb +357 -0
  73. data/_generated/models/identity_response_expires_at_member1.rb +62 -0
  74. data/_generated/models/identity_response_identity_id_member1.rb +62 -0
  75. data/_generated/models/identity_response_workspace_id_member1.rb +62 -0
  76. data/_generated/models/map_body.rb +238 -0
  77. data/_generated/models/map_body_search_member1.rb +62 -0
  78. data/_generated/models/map_response.rb +195 -0
  79. data/_generated/models/map_response_truncated_to_server_max_member1.rb +62 -0
  80. data/_generated/models/me_response.rb +233 -0
  81. data/_generated/models/me_response_created_at_member1.rb +62 -0
  82. data/_generated/models/models.rb +145 -0
  83. data/_generated/models/policy_upsert_request.rb +417 -0
  84. data/_generated/models/policy_upsert_request_max_crawl_pages_member1.rb +62 -0
  85. data/_generated/models/policy_upsert_request_max_llm_calls_member1.rb +62 -0
  86. data/_generated/models/policy_upsert_request_max_llm_tokens_member1.rb +62 -0
  87. data/_generated/models/problem_details.rb +226 -0
  88. data/_generated/models/profile_create_request.rb +175 -0
  89. data/_generated/models/profile_create_request_storage_state_id_member1.rb +62 -0
  90. data/_generated/models/profile_update_request.rb +246 -0
  91. data/_generated/models/profile_update_request_name_member1.rb +62 -0
  92. data/_generated/models/profile_update_request_storage_state_id_member1.rb +62 -0
  93. data/_generated/models/registry_token_request.rb +82 -0
  94. data/_generated/models/retry_delivery_response.rb +145 -0
  95. data/_generated/models/rotate_secret_response.rb +145 -0
  96. data/_generated/models/schedule_create_request.rb +256 -0
  97. data/_generated/models/schedule_create_request_job_params.rb +64 -0
  98. data/_generated/models/schedule_create_request_notify_webhook_member1.rb +62 -0
  99. data/_generated/models/scorer_spec.rb +102 -0
  100. data/_generated/models/scrape_request.rb +1142 -0
  101. data/_generated/models/scrape_request_batch_identity_mode.rb +10 -0
  102. data/_generated/models/scrape_request_behavior_actions_member1.rb +62 -0
  103. data/_generated/models/scrape_request_behavior_actions_member2.rb +62 -0
  104. data/_generated/models/scrape_request_engine.rb +12 -0
  105. data/_generated/models/scrape_request_format.rb +11 -0
  106. data/_generated/models/scrape_request_identity_country_member1.rb +62 -0
  107. data/_generated/models/scrape_request_identity_member1.rb +62 -0
  108. data/_generated/models/scrape_request_language_member1.rb +62 -0
  109. data/_generated/models/scrape_request_profile_member1.rb +62 -0
  110. data/_generated/models/scrape_request_proxy_member1.rb +62 -0
  111. data/_generated/models/scrape_request_screenshot_selector_member1.rb +62 -0
  112. data/_generated/models/scrape_request_session_member1.rb +62 -0
  113. data/_generated/models/scrape_request_url_member1.rb +62 -0
  114. data/_generated/models/scrape_request_urls_member1.rb +62 -0
  115. data/_generated/models/scroll_body.rb +284 -0
  116. data/_generated/models/scroll_body_direction.rb +11 -0
  117. data/_generated/models/scroll_body_distance_px_member1.rb +62 -0
  118. data/_generated/models/scroll_body_selector_member1.rb +62 -0
  119. data/_generated/models/search_request.rb +469 -0
  120. data/_generated/models/search_request_country_member1.rb +62 -0
  121. data/_generated/models/search_request_engine_member1.rb +62 -0
  122. data/_generated/models/search_request_freshness_member1.rb +62 -0
  123. data/_generated/models/search_request_vertical_member1.rb +62 -0
  124. data/_generated/models/session_create_request.rb +174 -0
  125. data/_generated/models/session_create_request_engine.rb +10 -0
  126. data/_generated/models/session_create_request_profile_member1.rb +62 -0
  127. data/_generated/models/storage_state_attach_request.rb +58 -0
  128. data/_generated/models/storage_state_detach_request.rb +58 -0
  129. data/_generated/models/takeover_action_body.rb +84 -0
  130. data/_generated/models/team_response.rb +142 -0
  131. data/_generated/models/tenant_context.rb +183 -0
  132. data/_generated/models/upload_body.rb +162 -0
  133. data/_generated/models/validation_error.rb +142 -0
  134. data/_generated/models/validation_error_ctx.rb +62 -0
  135. data/_generated/models/viewport_exact.rb +104 -0
  136. data/_generated/models/wait_body.rb +194 -0
  137. data/_generated/models/wait_body_selector_member1.rb +62 -0
  138. data/_generated/models/webhook_create_request.rb +125 -0
  139. data/_generated/models/webhook_create_response.rb +104 -0
  140. data/_generated/models/webhook_delivery_list_response.rb +195 -0
  141. data/_generated/models/webhook_delivery_list_response_next_cursor_member1.rb +62 -0
  142. data/_generated/models/webhook_delivery_public.rb +680 -0
  143. data/_generated/models/webhook_delivery_public_delivered_at_member1.rb +62 -0
  144. data/_generated/models/webhook_delivery_public_error_class_member1.rb +62 -0
  145. data/_generated/models/webhook_delivery_public_replay_of_member1.rb +62 -0
  146. data/_generated/models/webhook_delivery_public_response_body_preview_member1.rb +62 -0
  147. data/_generated/models/webhook_delivery_public_response_status_member1.rb +62 -0
  148. data/_generated/models/webhook_list_response.rb +195 -0
  149. data/_generated/models/webhook_list_response_next_cursor_member1.rb +62 -0
  150. data/_generated/models/webhook_public.rb +316 -0
  151. data/_generated/models/webhook_public_secret_rotated_at_member1.rb +62 -0
  152. data/_generated/v1/audit/audit.rb +0 -0
  153. data/_generated/v1/audit/audit_request_builder.rb +31 -0
  154. data/_generated/v1/audit/events/events.rb +0 -0
  155. data/_generated/v1/audit/events/events_request_builder.rb +93 -0
  156. data/_generated/v1/billing/billing.rb +0 -0
  157. data/_generated/v1/billing/billing_request_builder.rb +49 -0
  158. data/_generated/v1/billing/checkout/checkout.rb +0 -0
  159. data/_generated/v1/billing/checkout/checkout_request_builder.rb +74 -0
  160. data/_generated/v1/billing/portal/portal.rb +0 -0
  161. data/_generated/v1/billing/portal/portal_request_builder.rb +68 -0
  162. data/_generated/v1/billing/subscription/subscription.rb +0 -0
  163. data/_generated/v1/billing/subscription/subscription_request_builder.rb +68 -0
  164. data/_generated/v1/billing/usage/usage.rb +0 -0
  165. data/_generated/v1/billing/usage/usage_request_builder.rb +90 -0
  166. data/_generated/v1/binary/binary.rb +0 -0
  167. data/_generated/v1/binary/binary_request_builder.rb +31 -0
  168. data/_generated/v1/binary/download/download.rb +0 -0
  169. data/_generated/v1/binary/download/download_request_builder.rb +77 -0
  170. data/_generated/v1/budgets/budgets.rb +0 -0
  171. data/_generated/v1/budgets/budgets_request_builder.rb +37 -0
  172. data/_generated/v1/budgets/policy/item/item/item.rb +0 -0
  173. data/_generated/v1/budgets/policy/item/item/with_scope_item_request_builder.rb +74 -0
  174. data/_generated/v1/budgets/policy/item/item.rb +0 -0
  175. data/_generated/v1/budgets/policy/item/with_scope_type_item_request_builder.rb +43 -0
  176. data/_generated/v1/budgets/policy/policy.rb +0 -0
  177. data/_generated/v1/budgets/policy/policy_request_builder.rb +125 -0
  178. data/_generated/v1/budgets/usage/usage.rb +0 -0
  179. data/_generated/v1/budgets/usage/usage_request_builder.rb +77 -0
  180. data/_generated/v1/cdp/cdp.rb +0 -0
  181. data/_generated/v1/cdp/cdp_request_builder.rb +37 -0
  182. data/_generated/v1/cdp/frame/frame.rb +0 -0
  183. data/_generated/v1/cdp/frame/frame_request_builder.rb +74 -0
  184. data/_generated/v1/cdp/url/url.rb +0 -0
  185. data/_generated/v1/cdp/url/url_request_builder.rb +74 -0
  186. data/_generated/v1/contact/contact.rb +1 -0
  187. data/_generated/v1/contact/contact_post_response.rb +65 -0
  188. data/_generated/v1/contact/contact_request_builder.rb +71 -0
  189. data/_generated/v1/crawl/crawl.rb +0 -0
  190. data/_generated/v1/crawl/crawl_request_builder.rb +31 -0
  191. data/_generated/v1/crawl/deep/deep.rb +0 -0
  192. data/_generated/v1/crawl/deep/deep_request_builder.rb +86 -0
  193. data/_generated/v1/crawl/deep/item/item.rb +0 -0
  194. data/_generated/v1/crawl/deep/item/with_run_item_request_builder.rb +71 -0
  195. data/_generated/v1/crawl_runs/crawl_runs.rb +1 -0
  196. data/_generated/v1/crawl_runs/crawl_runs_post_request_body.rb +65 -0
  197. data/_generated/v1/crawl_runs/crawl_runs_request_builder.rb +133 -0
  198. data/_generated/v1/crawl_runs/item/cancel/cancel.rb +0 -0
  199. data/_generated/v1/crawl_runs/item/cancel/cancel_request_builder.rb +71 -0
  200. data/_generated/v1/crawl_runs/item/item.rb +0 -0
  201. data/_generated/v1/crawl_runs/item/resume/resume.rb +0 -0
  202. data/_generated/v1/crawl_runs/item/resume/resume_request_builder.rb +71 -0
  203. data/_generated/v1/crawl_runs/item/with_run_item_request_builder.rb +88 -0
  204. data/_generated/v1/datasets/datasets.rb +1 -0
  205. data/_generated/v1/datasets/datasets_post_request_body.rb +65 -0
  206. data/_generated/v1/datasets/datasets_request_builder.rb +125 -0
  207. data/_generated/v1/datasets/item/item.rb +0 -0
  208. data/_generated/v1/datasets/item/rows/append/append.rb +1 -0
  209. data/_generated/v1/datasets/item/rows/append/append_post_request_body.rb +74 -0
  210. data/_generated/v1/datasets/item/rows/append/append_request_builder.rb +79 -0
  211. data/_generated/v1/datasets/item/rows/rows.rb +0 -0
  212. data/_generated/v1/datasets/item/rows/rows_request_builder.rb +86 -0
  213. data/_generated/v1/datasets/item/with_name_item_request_builder.rb +104 -0
  214. data/_generated/v1/discovery/discovery.rb +0 -0
  215. data/_generated/v1/discovery/discovery_request_builder.rb +65 -0
  216. data/_generated/v1/engines/engines.rb +0 -0
  217. data/_generated/v1/engines/engines_request_builder.rb +31 -0
  218. data/_generated/v1/engines/manifest/manifest.rb +0 -0
  219. data/_generated/v1/engines/manifest/manifest_request_builder.rb +84 -0
  220. data/_generated/v1/extract/extract.rb +1 -0
  221. data/_generated/v1/extract/extract_post_response.rb +65 -0
  222. data/_generated/v1/extract/extract_request_builder.rb +79 -0
  223. data/_generated/v1/identity/identity.rb +0 -0
  224. data/_generated/v1/identity/identity_request_builder.rb +72 -0
  225. data/_generated/v1/kv/item/item.rb +1 -0
  226. data/_generated/v1/kv/item/with_key_item_request_builder.rb +133 -0
  227. data/_generated/v1/kv/item/with_key_put_request_body.rb +68 -0
  228. data/_generated/v1/kv/kv.rb +0 -0
  229. data/_generated/v1/kv/kv_request_builder.rb +37 -0
  230. data/_generated/v1/map/map.rb +0 -0
  231. data/_generated/v1/map/map_request_builder.rb +72 -0
  232. data/_generated/v1/me/export/export.rb +1 -0
  233. data/_generated/v1/me/export/export_get_response.rb +68 -0
  234. data/_generated/v1/me/export/export_request_builder.rb +68 -0
  235. data/_generated/v1/me/me.rb +0 -0
  236. data/_generated/v1/me/me_request_builder.rb +78 -0
  237. data/_generated/v1/me/usage/get_period_query_parameter_type.rb +13 -0
  238. data/_generated/v1/me/usage/usage.rb +2 -0
  239. data/_generated/v1/me/usage/usage_get_response.rb +68 -0
  240. data/_generated/v1/me/usage/usage_request_builder.rb +76 -0
  241. data/_generated/v1/page/cookies/cookies.rb +0 -0
  242. data/_generated/v1/page/cookies/cookies_request_builder.rb +150 -0
  243. data/_generated/v1/page/dom_snapshot/dom_snapshot.rb +0 -0
  244. data/_generated/v1/page/dom_snapshot/dom_snapshot_request_builder.rb +74 -0
  245. data/_generated/v1/page/download/download.rb +0 -0
  246. data/_generated/v1/page/download/download_request_builder.rb +74 -0
  247. data/_generated/v1/page/eval/eval.rb +0 -0
  248. data/_generated/v1/page/eval/eval_request_builder.rb +74 -0
  249. data/_generated/v1/page/har/har.rb +0 -0
  250. data/_generated/v1/page/har/har_request_builder.rb +74 -0
  251. data/_generated/v1/page/page.rb +0 -0
  252. data/_generated/v1/page/page_request_builder.rb +73 -0
  253. data/_generated/v1/page/scroll/scroll.rb +0 -0
  254. data/_generated/v1/page/scroll/scroll_request_builder.rb +74 -0
  255. data/_generated/v1/page/upload/upload.rb +0 -0
  256. data/_generated/v1/page/upload/upload_request_builder.rb +74 -0
  257. data/_generated/v1/page/wait/wait.rb +0 -0
  258. data/_generated/v1/page/wait/wait_request_builder.rb +74 -0
  259. data/_generated/v1/pricing/pricing.rb +0 -0
  260. data/_generated/v1/pricing/pricing_request_builder.rb +31 -0
  261. data/_generated/v1/pricing/public/public.rb +0 -0
  262. data/_generated/v1/pricing/public/public_request_builder.rb +65 -0
  263. data/_generated/v1/profiles/item/item.rb +0 -0
  264. data/_generated/v1/profiles/item/with_name_item_request_builder.rb +134 -0
  265. data/_generated/v1/profiles/profiles.rb +0 -0
  266. data/_generated/v1/profiles/profiles_request_builder.rb +126 -0
  267. data/_generated/v1/proxy_providers/proxy_providers.rb +0 -0
  268. data/_generated/v1/proxy_providers/proxy_providers_request_builder.rb +65 -0
  269. data/_generated/v1/queues/item/ack/ack.rb +1 -0
  270. data/_generated/v1/queues/item/ack/ack_post_request_body.rb +71 -0
  271. data/_generated/v1/queues/item/ack/ack_request_builder.rb +76 -0
  272. data/_generated/v1/queues/item/item.rb +0 -0
  273. data/_generated/v1/queues/item/pop/pop.rb +0 -0
  274. data/_generated/v1/queues/item/pop/pop_request_builder.rb +79 -0
  275. data/_generated/v1/queues/item/push/push.rb +1 -0
  276. data/_generated/v1/queues/item/push/push_post_request_body.rb +71 -0
  277. data/_generated/v1/queues/item/push/push_request_builder.rb +76 -0
  278. data/_generated/v1/queues/item/stats/stats.rb +0 -0
  279. data/_generated/v1/queues/item/stats/stats_request_builder.rb +71 -0
  280. data/_generated/v1/queues/item/with_name_item_request_builder.rb +52 -0
  281. data/_generated/v1/queues/queues.rb +0 -0
  282. data/_generated/v1/queues/queues_request_builder.rb +37 -0
  283. data/_generated/v1/recordings/item/item.rb +0 -0
  284. data/_generated/v1/recordings/item/recording_item_request_builder.rb +104 -0
  285. data/_generated/v1/recordings/item/visual/frames/frames.rb +0 -0
  286. data/_generated/v1/recordings/item/visual/frames/frames_request_builder.rb +93 -0
  287. data/_generated/v1/recordings/item/visual/start/start.rb +0 -0
  288. data/_generated/v1/recordings/item/visual/start/start_request_builder.rb +80 -0
  289. data/_generated/v1/recordings/item/visual/stop/stop.rb +0 -0
  290. data/_generated/v1/recordings/item/visual/stop/stop_request_builder.rb +80 -0
  291. data/_generated/v1/recordings/item/visual/visual.rb +0 -0
  292. data/_generated/v1/recordings/item/visual/visual_request_builder.rb +95 -0
  293. data/_generated/v1/recordings/recordings.rb +0 -0
  294. data/_generated/v1/recordings/recordings_request_builder.rb +90 -0
  295. data/_generated/v1/registry/registry.rb +0 -0
  296. data/_generated/v1/registry/registry_request_builder.rb +31 -0
  297. data/_generated/v1/registry/token/token.rb +0 -0
  298. data/_generated/v1/registry/token/token_request_builder.rb +74 -0
  299. data/_generated/v1/schedules/item/item.rb +0 -0
  300. data/_generated/v1/schedules/item/runs/runs.rb +0 -0
  301. data/_generated/v1/schedules/item/runs/runs_request_builder.rb +71 -0
  302. data/_generated/v1/schedules/item/with_schedule_item_request_builder.rb +104 -0
  303. data/_generated/v1/schedules/schedules.rb +0 -0
  304. data/_generated/v1/schedules/schedules_request_builder.rb +113 -0
  305. data/_generated/v1/scrape/batch/batch.rb +0 -0
  306. data/_generated/v1/scrape/batch/batch_request_builder.rb +82 -0
  307. data/_generated/v1/scrape/scrape.rb +0 -0
  308. data/_generated/v1/scrape/scrape_request_builder.rb +86 -0
  309. data/_generated/v1/screenshot_blobs/item/item.rb +0 -0
  310. data/_generated/v1/screenshot_blobs/item/with_ref_item_request_builder.rb +68 -0
  311. data/_generated/v1/screenshot_blobs/screenshot_blobs.rb +0 -0
  312. data/_generated/v1/screenshot_blobs/screenshot_blobs_request_builder.rb +37 -0
  313. data/_generated/v1/search/search.rb +0 -0
  314. data/_generated/v1/search/search_request_builder.rb +79 -0
  315. data/_generated/v1/sessions/create/create.rb +0 -0
  316. data/_generated/v1/sessions/create/create_request_builder.rb +74 -0
  317. data/_generated/v1/sessions/item/budget_stream/budget_stream.rb +0 -0
  318. data/_generated/v1/sessions/item/budget_stream/budget_stream_request_builder.rb +71 -0
  319. data/_generated/v1/sessions/item/extend/extend.rb +0 -0
  320. data/_generated/v1/sessions/item/extend/extend_request_builder.rb +77 -0
  321. data/_generated/v1/sessions/item/item.rb +0 -0
  322. data/_generated/v1/sessions/item/pin/pin.rb +0 -0
  323. data/_generated/v1/sessions/item/pin/pin_request_builder.rb +71 -0
  324. data/_generated/v1/sessions/item/profile_item_request_builder.rb +76 -0
  325. data/_generated/v1/sessions/item/recording/recording.rb +0 -0
  326. data/_generated/v1/sessions/item/recording/recording_request_builder.rb +43 -0
  327. data/_generated/v1/sessions/item/recording/start/start.rb +0 -0
  328. data/_generated/v1/sessions/item/recording/start/start_request_builder.rb +74 -0
  329. data/_generated/v1/sessions/item/recording/stop/stop.rb +0 -0
  330. data/_generated/v1/sessions/item/recording/stop/stop_request_builder.rb +74 -0
  331. data/_generated/v1/sessions/item/release/release.rb +0 -0
  332. data/_generated/v1/sessions/item/release/release_request_builder.rb +71 -0
  333. data/_generated/v1/sessions/item/takeover/takeover.rb +0 -0
  334. data/_generated/v1/sessions/item/takeover/takeover_request_builder.rb +77 -0
  335. data/_generated/v1/sessions/item/takeover_release/takeover_release.rb +0 -0
  336. data/_generated/v1/sessions/item/takeover_release/takeover_release_request_builder.rb +71 -0
  337. data/_generated/v1/sessions/item/takeover_token/takeover_token.rb +0 -0
  338. data/_generated/v1/sessions/item/takeover_token/takeover_token_request_builder.rb +71 -0
  339. data/_generated/v1/sessions/sessions.rb +0 -0
  340. data/_generated/v1/sessions/sessions_request_builder.rb +96 -0
  341. data/_generated/v1/storage_states/detach/detach.rb +0 -0
  342. data/_generated/v1/storage_states/detach/detach_request_builder.rb +74 -0
  343. data/_generated/v1/storage_states/item/attach/attach.rb +0 -0
  344. data/_generated/v1/storage_states/item/attach/attach_request_builder.rb +77 -0
  345. data/_generated/v1/storage_states/item/item.rb +0 -0
  346. data/_generated/v1/storage_states/item/with_id_or_name_item_request_builder.rb +104 -0
  347. data/_generated/v1/storage_states/storage_states.rb +1 -0
  348. data/_generated/v1/storage_states/storage_states_post_request_body.rb +65 -0
  349. data/_generated/v1/storage_states/storage_states_request_builder.rb +127 -0
  350. data/_generated/v1/updates/updates.rb +0 -0
  351. data/_generated/v1/updates/updates_request_builder.rb +75 -0
  352. data/_generated/v1/v1.rb +0 -0
  353. data/_generated/v1/v1_request_builder.rb +208 -0
  354. data/_generated/v1/webhooks/item/deliveries/deliveries.rb +0 -0
  355. data/_generated/v1/webhooks/item/deliveries/deliveries_request_builder.rb +97 -0
  356. data/_generated/v1/webhooks/item/deliveries/item/item.rb +0 -0
  357. data/_generated/v1/webhooks/item/deliveries/item/retry_escaped/retry_escaped.rb +0 -0
  358. data/_generated/v1/webhooks/item/deliveries/item/retry_escaped/retry_request_builder.rb +78 -0
  359. data/_generated/v1/webhooks/item/deliveries/item/with_delivery_item_request_builder.rb +40 -0
  360. data/_generated/v1/webhooks/item/item.rb +0 -0
  361. data/_generated/v1/webhooks/item/rotate_secret/rotate_secret.rb +0 -0
  362. data/_generated/v1/webhooks/item/rotate_secret/rotate_secret_request_builder.rb +72 -0
  363. data/_generated/v1/webhooks/item/with_webhook_item_request_builder.rb +111 -0
  364. data/_generated/v1/webhooks/webhooks.rb +0 -0
  365. data/_generated/v1/webhooks/webhooks_request_builder.rb +128 -0
  366. data/lib/ghostcrawl/client.rb +761 -0
  367. data/lib/ghostcrawl/error_codes.rb +104 -0
  368. data/lib/ghostcrawl/errors.rb +137 -0
  369. data/lib/ghostcrawl/version.rb +5 -0
  370. data/lib/ghostcrawl.rb +17 -0
  371. metadata +460 -0
@@ -0,0 +1,90 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../ghostcrawl'
3
+ require_relative '../../models/h_t_t_p_validation_error'
4
+ require_relative '../v1'
5
+ require_relative './item/recording_item_request_builder'
6
+ require_relative './recordings'
7
+
8
+ module Ghostcrawl
9
+ module V1
10
+ module Recordings
11
+ ##
12
+ # Builds and executes requests for operations under #v1#recordings
13
+ class RecordingsRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
14
+
15
+ ##
16
+ ## Gets an item from the ghostcrawl.v1.recordings.item collection
17
+ ## @param recording_id Unique identifier of the item
18
+ ## @return a recording_item_request_builder
19
+ ##
20
+ def by_recording_id(recording_id)
21
+ raise StandardError, 'recording_id cannot be null' if recording_id.nil?
22
+ url_tpl_params = @path_parameters.clone
23
+ url_tpl_params["recording_%2Did"] = recording_id
24
+ return Ghostcrawl::V1::Recordings::Item::RecordingItemRequestBuilder.new(url_tpl_params, @request_adapter)
25
+ end
26
+ ##
27
+ ## Instantiates a new RecordingsRequestBuilder and sets the default values.
28
+ ## @param path_parameters Path parameters for the request
29
+ ## @param request_adapter The request adapter to use to execute the requests.
30
+ ## @return a void
31
+ ##
32
+ def initialize(path_parameters, request_adapter)
33
+ super(path_parameters, request_adapter, "{+baseurl}/v1/recordings{?created_at_from*,created_at_to*,cursor*,limit*,owner_id*,tags*}")
34
+ end
35
+ ##
36
+ ## GET /v1/recordings — org-scoped cursor pagination.: cursor migrated from bare-id to (started_at, id) base64 tuple.: response gains total_count (additive); items[*] shape unchanged.: owner_id filter requires recordings:admin scope to be honored; without it, the filter is silently dropped (not 403).: created_at_from > created_at_to → 400 (not 422).: tier gate NOT applied at list layer.
37
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
38
+ ## @return a Fiber of binary
39
+ ##
40
+ def get(request_configuration=nil)
41
+ request_info = self.to_get_request_information(
42
+ request_configuration
43
+ )
44
+ error_mapping = Hash.new
45
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
46
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
47
+ end
48
+ ##
49
+ ## GET /v1/recordings — org-scoped cursor pagination.: cursor migrated from bare-id to (started_at, id) base64 tuple.: response gains total_count (additive); items[*] shape unchanged.: owner_id filter requires recordings:admin scope to be honored; without it, the filter is silently dropped (not 403).: created_at_from > created_at_to → 400 (not 422).: tier gate NOT applied at list layer.
50
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
51
+ ## @return a request_information
52
+ ##
53
+ def to_get_request_information(request_configuration=nil)
54
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
55
+ unless request_configuration.nil?
56
+ request_info.add_headers_from_raw_object(request_configuration.headers)
57
+ request_info.set_query_string_parameters_from_raw_object(request_configuration.query_parameters)
58
+ request_info.add_request_options(request_configuration.options)
59
+ end
60
+ request_info.url_template = @url_template
61
+ request_info.path_parameters = @path_parameters
62
+ request_info.http_method = :GET
63
+ request_info.headers.try_add('Accept', 'application/json')
64
+ return request_info
65
+ end
66
+ ##
67
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
68
+ ## @param raw_url The raw URL to use for the request builder.
69
+ ## @return a recordings_request_builder
70
+ ##
71
+ def with_url(raw_url)
72
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
73
+ return RecordingsRequestBuilder.new(raw_url, @request_adapter)
74
+ end
75
+
76
+ ##
77
+ # GET /v1/recordings — org-scoped cursor pagination.: cursor migrated from bare-id to (started_at, id) base64 tuple.: response gains total_count (additive); items[*] shape unchanged.: owner_id filter requires recordings:admin scope to be honored; without it, the filter is silently dropped (not 403).: created_at_from > created_at_to → 400 (not 422).: tier gate NOT applied at list layer.
78
+ class RecordingsRequestBuilderGetQueryParameters
79
+
80
+ attr_accessor :created_at_from
81
+ attr_accessor :created_at_to
82
+ attr_accessor :cursor
83
+ attr_accessor :limit
84
+ attr_accessor :owner_id
85
+ attr_accessor :tags
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
File without changes
@@ -0,0 +1,31 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../ghostcrawl'
3
+ require_relative '../v1'
4
+ require_relative './registry'
5
+ require_relative './token/token_request_builder'
6
+
7
+ module Ghostcrawl
8
+ module V1
9
+ module Registry
10
+ ##
11
+ # Builds and executes requests for operations under #v1#registry
12
+ class RegistryRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
13
+
14
+ ##
15
+ # The token property
16
+ def token()
17
+ return Ghostcrawl::V1::Registry::Token::TokenRequestBuilder.new(@path_parameters, @request_adapter)
18
+ end
19
+ ##
20
+ ## Instantiates a new RegistryRequestBuilder and sets the default values.
21
+ ## @param path_parameters Path parameters for the request
22
+ ## @param request_adapter The request adapter to use to execute the requests.
23
+ ## @return a void
24
+ ##
25
+ def initialize(path_parameters, request_adapter)
26
+ super(path_parameters, request_adapter, "{+baseurl}/v1/registry")
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
File without changes
@@ -0,0 +1,74 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../ghostcrawl'
3
+ require_relative '../../../models/h_t_t_p_validation_error'
4
+ require_relative '../../../models/registry_token_request'
5
+ require_relative '../../v1'
6
+ require_relative '../registry'
7
+ require_relative './token'
8
+
9
+ module Ghostcrawl
10
+ module V1
11
+ module Registry
12
+ module Token
13
+ ##
14
+ # Builds and executes requests for operations under #v1#registry#token
15
+ class TokenRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
16
+
17
+ ##
18
+ ## Instantiates a new TokenRequestBuilder and sets the default values.
19
+ ## @param path_parameters Path parameters for the request
20
+ ## @param request_adapter The request adapter to use to execute the requests.
21
+ ## @return a void
22
+ ##
23
+ def initialize(path_parameters, request_adapter)
24
+ super(path_parameters, request_adapter, "{+baseurl}/v1/registry/token")
25
+ end
26
+ ##
27
+ ## Exchange API license for a short-lived container image pull token.Returns: JSON with ``token`` (signed token) and ``expires_in`` (3600).
28
+ ## @param body The request body
29
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
30
+ ## @return a Fiber of binary
31
+ ##
32
+ def post(body, request_configuration=nil)
33
+ raise StandardError, 'body cannot be null' if body.nil?
34
+ request_info = self.to_post_request_information(
35
+ body, request_configuration
36
+ )
37
+ error_mapping = Hash.new
38
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
39
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
40
+ end
41
+ ##
42
+ ## Exchange API license for a short-lived container image pull token.Returns: JSON with ``token`` (signed token) and ``expires_in`` (3600).
43
+ ## @param body The request body
44
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
45
+ ## @return a request_information
46
+ ##
47
+ def to_post_request_information(body, request_configuration=nil)
48
+ raise StandardError, 'body cannot be null' if body.nil?
49
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
50
+ unless request_configuration.nil?
51
+ request_info.add_headers_from_raw_object(request_configuration.headers)
52
+ request_info.add_request_options(request_configuration.options)
53
+ end
54
+ request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
55
+ request_info.url_template = @url_template
56
+ request_info.path_parameters = @path_parameters
57
+ request_info.http_method = :POST
58
+ request_info.headers.try_add('Accept', 'application/json')
59
+ return request_info
60
+ end
61
+ ##
62
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
63
+ ## @param raw_url The raw URL to use for the request builder.
64
+ ## @return a token_request_builder
65
+ ##
66
+ def with_url(raw_url)
67
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
68
+ return TokenRequestBuilder.new(raw_url, @request_adapter)
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
File without changes
File without changes
@@ -0,0 +1,71 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../../ghostcrawl'
3
+ require_relative '../../../../models/h_t_t_p_validation_error'
4
+ require_relative '../../../v1'
5
+ require_relative '../../schedules'
6
+ require_relative '../item'
7
+ require_relative './runs'
8
+
9
+ module Ghostcrawl
10
+ module V1
11
+ module Schedules
12
+ module Item
13
+ module Runs
14
+ ##
15
+ # Builds and executes requests for operations under #v1#schedules#{schedule_id}#runs
16
+ class RunsRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
17
+
18
+ ##
19
+ ## Instantiates a new RunsRequestBuilder and sets the default values.
20
+ ## @param path_parameters Path parameters for the request
21
+ ## @param request_adapter The request adapter to use to execute the requests.
22
+ ## @return a void
23
+ ##
24
+ def initialize(path_parameters, request_adapter)
25
+ super(path_parameters, request_adapter, "{+baseurl}/v1/schedules/{schedule_id}/runs")
26
+ end
27
+ ##
28
+ ## GET /v1/schedules/{id}/runs — synthetic run history from last_run_at.Returns a list of run summary objects derived from the schedule's storedlast_run_at + last_result_hash. A schedule that has never fired returns anempty list. One that has fired returns a single summary with status='completed'.Status values: 'completed' (ran and produced a hash), 'pending' (never ran).This endpoint allows callers to poll for schedule execution without a separaterun-history table — the writes last_run_at on every successful fire.
29
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
30
+ ## @return a Fiber of binary
31
+ ##
32
+ def get(request_configuration=nil)
33
+ request_info = self.to_get_request_information(
34
+ request_configuration
35
+ )
36
+ error_mapping = Hash.new
37
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
38
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
39
+ end
40
+ ##
41
+ ## GET /v1/schedules/{id}/runs — synthetic run history from last_run_at.Returns a list of run summary objects derived from the schedule's storedlast_run_at + last_result_hash. A schedule that has never fired returns anempty list. One that has fired returns a single summary with status='completed'.Status values: 'completed' (ran and produced a hash), 'pending' (never ran).This endpoint allows callers to poll for schedule execution without a separaterun-history table — the writes last_run_at on every successful fire.
42
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
43
+ ## @return a request_information
44
+ ##
45
+ def to_get_request_information(request_configuration=nil)
46
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
47
+ unless request_configuration.nil?
48
+ request_info.add_headers_from_raw_object(request_configuration.headers)
49
+ request_info.add_request_options(request_configuration.options)
50
+ end
51
+ request_info.url_template = @url_template
52
+ request_info.path_parameters = @path_parameters
53
+ request_info.http_method = :GET
54
+ request_info.headers.try_add('Accept', 'application/json')
55
+ return request_info
56
+ end
57
+ ##
58
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
59
+ ## @param raw_url The raw URL to use for the request builder.
60
+ ## @return a runs_request_builder
61
+ ##
62
+ def with_url(raw_url)
63
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
64
+ return RunsRequestBuilder.new(raw_url, @request_adapter)
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,104 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../ghostcrawl'
3
+ require_relative '../../../models/h_t_t_p_validation_error'
4
+ require_relative '../../v1'
5
+ require_relative '../schedules'
6
+ require_relative './item'
7
+ require_relative './runs/runs_request_builder'
8
+
9
+ module Ghostcrawl
10
+ module V1
11
+ module Schedules
12
+ module Item
13
+ ##
14
+ # Builds and executes requests for operations under #v1#schedules#{schedule_id}
15
+ class WithScheduleItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
16
+
17
+ ##
18
+ # The runs property
19
+ def runs()
20
+ return Ghostcrawl::V1::Schedules::Item::Runs::RunsRequestBuilder.new(@path_parameters, @request_adapter)
21
+ end
22
+ ##
23
+ ## Instantiates a new WithScheduleItemRequestBuilder and sets the default values.
24
+ ## @param path_parameters Path parameters for the request
25
+ ## @param request_adapter The request adapter to use to execute the requests.
26
+ ## @return a void
27
+ ##
28
+ def initialize(path_parameters, request_adapter)
29
+ super(path_parameters, request_adapter, "{+baseurl}/v1/schedules/{schedule_id}")
30
+ end
31
+ ##
32
+ ## DELETE /v1/schedules/{id} — 404 on miss; 204 on success.
33
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
34
+ ## @return a Fiber of binary
35
+ ##
36
+ def delete(request_configuration=nil)
37
+ request_info = self.to_delete_request_information(
38
+ request_configuration
39
+ )
40
+ error_mapping = Hash.new
41
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
42
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
43
+ end
44
+ ##
45
+ ## GET /v1/schedules/{id} — 404 on miss/cross-tenant.
46
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
47
+ ## @return a Fiber of binary
48
+ ##
49
+ def get(request_configuration=nil)
50
+ request_info = self.to_get_request_information(
51
+ request_configuration
52
+ )
53
+ error_mapping = Hash.new
54
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
55
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
56
+ end
57
+ ##
58
+ ## DELETE /v1/schedules/{id} — 404 on miss; 204 on success.
59
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
60
+ ## @return a request_information
61
+ ##
62
+ def to_delete_request_information(request_configuration=nil)
63
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
64
+ unless request_configuration.nil?
65
+ request_info.add_headers_from_raw_object(request_configuration.headers)
66
+ request_info.add_request_options(request_configuration.options)
67
+ end
68
+ request_info.url_template = @url_template
69
+ request_info.path_parameters = @path_parameters
70
+ request_info.http_method = :DELETE
71
+ request_info.headers.try_add('Accept', 'application/json')
72
+ return request_info
73
+ end
74
+ ##
75
+ ## GET /v1/schedules/{id} — 404 on miss/cross-tenant.
76
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
77
+ ## @return a request_information
78
+ ##
79
+ def to_get_request_information(request_configuration=nil)
80
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
81
+ unless request_configuration.nil?
82
+ request_info.add_headers_from_raw_object(request_configuration.headers)
83
+ request_info.add_request_options(request_configuration.options)
84
+ end
85
+ request_info.url_template = @url_template
86
+ request_info.path_parameters = @path_parameters
87
+ request_info.http_method = :GET
88
+ request_info.headers.try_add('Accept', 'application/json')
89
+ return request_info
90
+ end
91
+ ##
92
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
93
+ ## @param raw_url The raw URL to use for the request builder.
94
+ ## @return a with_schedule_item_request_builder
95
+ ##
96
+ def with_url(raw_url)
97
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
98
+ return WithScheduleItemRequestBuilder.new(raw_url, @request_adapter)
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
File without changes
@@ -0,0 +1,113 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../ghostcrawl'
3
+ require_relative '../../models/h_t_t_p_validation_error'
4
+ require_relative '../../models/schedule_create_request'
5
+ require_relative '../v1'
6
+ require_relative './item/with_schedule_item_request_builder'
7
+ require_relative './schedules'
8
+
9
+ module Ghostcrawl
10
+ module V1
11
+ module Schedules
12
+ ##
13
+ # Builds and executes requests for operations under #v1#schedules
14
+ class SchedulesRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ ## Gets an item from the ghostcrawl.v1.schedules.item collection
18
+ ## @param schedule_id Unique identifier of the item
19
+ ## @return a with_schedule_item_request_builder
20
+ ##
21
+ def by_schedule_id(schedule_id)
22
+ raise StandardError, 'schedule_id cannot be null' if schedule_id.nil?
23
+ url_tpl_params = @path_parameters.clone
24
+ url_tpl_params["schedule_id"] = schedule_id
25
+ return Ghostcrawl::V1::Schedules::Item::WithScheduleItemRequestBuilder.new(url_tpl_params, @request_adapter)
26
+ end
27
+ ##
28
+ ## Instantiates a new SchedulesRequestBuilder and sets the default values.
29
+ ## @param path_parameters Path parameters for the request
30
+ ## @param request_adapter The request adapter to use to execute the requests.
31
+ ## @return a void
32
+ ##
33
+ def initialize(path_parameters, request_adapter)
34
+ super(path_parameters, request_adapter, "{+baseurl}/v1/schedules")
35
+ end
36
+ ##
37
+ ## GET /v1/schedules — org-scoped list.
38
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
39
+ ## @return a Fiber of binary
40
+ ##
41
+ def get(request_configuration=nil)
42
+ request_info = self.to_get_request_information(
43
+ request_configuration
44
+ )
45
+ error_mapping = Hash.new
46
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
47
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
48
+ end
49
+ ##
50
+ ## POST /v1/schedules — create a cron-triggered scrape/crawl schedule.Validations:- schedule:write scope required (403 forbidden_scope on miss)- cron_expr must parse (422 invalid_cron)- job_type must be 'scrape', 'crawl', or 'change_monitor' (422 invalid_job_type)- notify_webhook must be SSRF-safe HTTPS URL if provided (422 invalid_webhook)- per-org count < cap (429 schedule_cap_reached)- unique name per org (409 schedule_exists)
51
+ ## @param body POST /v1/schedules body.
52
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
53
+ ## @return a Fiber of binary
54
+ ##
55
+ def post(body, request_configuration=nil)
56
+ raise StandardError, 'body cannot be null' if body.nil?
57
+ request_info = self.to_post_request_information(
58
+ body, request_configuration
59
+ )
60
+ error_mapping = Hash.new
61
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
62
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
63
+ end
64
+ ##
65
+ ## GET /v1/schedules — org-scoped list.
66
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
67
+ ## @return a request_information
68
+ ##
69
+ def to_get_request_information(request_configuration=nil)
70
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
71
+ unless request_configuration.nil?
72
+ request_info.add_headers_from_raw_object(request_configuration.headers)
73
+ request_info.add_request_options(request_configuration.options)
74
+ end
75
+ request_info.url_template = @url_template
76
+ request_info.path_parameters = @path_parameters
77
+ request_info.http_method = :GET
78
+ request_info.headers.try_add('Accept', 'application/json')
79
+ return request_info
80
+ end
81
+ ##
82
+ ## POST /v1/schedules — create a cron-triggered scrape/crawl schedule.Validations:- schedule:write scope required (403 forbidden_scope on miss)- cron_expr must parse (422 invalid_cron)- job_type must be 'scrape', 'crawl', or 'change_monitor' (422 invalid_job_type)- notify_webhook must be SSRF-safe HTTPS URL if provided (422 invalid_webhook)- per-org count < cap (429 schedule_cap_reached)- unique name per org (409 schedule_exists)
83
+ ## @param body POST /v1/schedules body.
84
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
85
+ ## @return a request_information
86
+ ##
87
+ def to_post_request_information(body, request_configuration=nil)
88
+ raise StandardError, 'body cannot be null' if body.nil?
89
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
90
+ unless request_configuration.nil?
91
+ request_info.add_headers_from_raw_object(request_configuration.headers)
92
+ request_info.add_request_options(request_configuration.options)
93
+ end
94
+ request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
95
+ request_info.url_template = @url_template
96
+ request_info.path_parameters = @path_parameters
97
+ request_info.http_method = :POST
98
+ request_info.headers.try_add('Accept', 'application/json')
99
+ return request_info
100
+ end
101
+ ##
102
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
103
+ ## @param raw_url The raw URL to use for the request builder.
104
+ ## @return a schedules_request_builder
105
+ ##
106
+ def with_url(raw_url)
107
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
108
+ return SchedulesRequestBuilder.new(raw_url, @request_adapter)
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
File without changes
@@ -0,0 +1,82 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../ghostcrawl'
3
+ require_relative '../../../models/batch_scrape_request'
4
+ require_relative '../../../models/h_t_t_p_validation_error'
5
+ require_relative '../../../models/problem_details'
6
+ require_relative '../../v1'
7
+ require_relative '../scrape'
8
+ require_relative './batch'
9
+
10
+ module Ghostcrawl
11
+ module V1
12
+ module Scrape
13
+ module Batch
14
+ ##
15
+ # Builds and executes requests for operations under #v1#scrape#batch
16
+ class BatchRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
17
+
18
+ ##
19
+ ## Instantiates a new BatchRequestBuilder and sets the default values.
20
+ ## @param path_parameters Path parameters for the request
21
+ ## @param request_adapter The request adapter to use to execute the requests.
22
+ ## @return a void
23
+ ##
24
+ def initialize(path_parameters, request_adapter)
25
+ super(path_parameters, request_adapter, "{+baseurl}/v1/scrape/batch")
26
+ end
27
+ ##
28
+ ## POST /v1/scrape/batch — concurrent URL scrape (max 20 URLs, max concurrency 10). processes each URL with authentication. Each URL is processed(batch_identity_mode="persist" → single materialize, one ledger row,same identity_id for every URL).DoS mitigations (/02):- Pydantic ``max_length=20`` enforces URL cap.- Pydantic ``le=10`` enforces concurrency cap.- ``_batch_pressure_gate`` applies pool-pressure 503 gate.
29
+ ## @param body Request body for POST /v1/scrape/batch.Accepts 1–20 URLs and a concurrency cap 1–10. All other fields mirrorthe shared scrape params from ScrapeBody and are applied uniformly toevery URL in the batch.
30
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
31
+ ## @return a Fiber of binary
32
+ ##
33
+ def post(body, request_configuration=nil)
34
+ raise StandardError, 'body cannot be null' if body.nil?
35
+ request_info = self.to_post_request_information(
36
+ body, request_configuration
37
+ )
38
+ error_mapping = Hash.new
39
+ error_mapping["400"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
40
+ error_mapping["401"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
41
+ error_mapping["402"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
42
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
43
+ error_mapping["429"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
44
+ error_mapping["500"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
45
+ error_mapping["503"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
46
+ error_mapping["504"] = lambda {|pn| Ghostcrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
47
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
48
+ end
49
+ ##
50
+ ## POST /v1/scrape/batch — concurrent URL scrape (max 20 URLs, max concurrency 10). processes each URL with authentication. Each URL is processed(batch_identity_mode="persist" → single materialize, one ledger row,same identity_id for every URL).DoS mitigations (/02):- Pydantic ``max_length=20`` enforces URL cap.- Pydantic ``le=10`` enforces concurrency cap.- ``_batch_pressure_gate`` applies pool-pressure 503 gate.
51
+ ## @param body Request body for POST /v1/scrape/batch.Accepts 1–20 URLs and a concurrency cap 1–10. All other fields mirrorthe shared scrape params from ScrapeBody and are applied uniformly toevery URL in the batch.
52
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
53
+ ## @return a request_information
54
+ ##
55
+ def to_post_request_information(body, request_configuration=nil)
56
+ raise StandardError, 'body cannot be null' if body.nil?
57
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
58
+ unless request_configuration.nil?
59
+ request_info.add_headers_from_raw_object(request_configuration.headers)
60
+ request_info.add_request_options(request_configuration.options)
61
+ end
62
+ request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
63
+ request_info.url_template = @url_template
64
+ request_info.path_parameters = @path_parameters
65
+ request_info.http_method = :POST
66
+ request_info.headers.try_add('Accept', 'application/json')
67
+ return request_info
68
+ end
69
+ ##
70
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
71
+ ## @param raw_url The raw URL to use for the request builder.
72
+ ## @return a batch_request_builder
73
+ ##
74
+ def with_url(raw_url)
75
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
76
+ return BatchRequestBuilder.new(raw_url, @request_adapter)
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
File without changes