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,68 @@
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 '../billing'
6
+ require_relative './portal'
7
+
8
+ module Ghostcrawl
9
+ module V1
10
+ module Billing
11
+ module Portal
12
+ ##
13
+ # Builds and executes requests for operations under #v1#billing#portal
14
+ class PortalRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ ## Instantiates a new PortalRequestBuilder and sets the default values.
18
+ ## @param path_parameters Path parameters for the request
19
+ ## @param request_adapter The request adapter to use to execute the requests.
20
+ ## @return a void
21
+ ##
22
+ def initialize(path_parameters, request_adapter)
23
+ super(path_parameters, request_adapter, "{+baseurl}/v1/billing/portal")
24
+ end
25
+ ##
26
+ ## Open the billing portal (manage/cancel)
27
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
28
+ ## @return a Fiber of binary
29
+ ##
30
+ def post(request_configuration=nil)
31
+ request_info = self.to_post_request_information(
32
+ request_configuration
33
+ )
34
+ error_mapping = Hash.new
35
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
36
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
37
+ end
38
+ ##
39
+ ## Open the billing portal (manage/cancel)
40
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
41
+ ## @return a request_information
42
+ ##
43
+ def to_post_request_information(request_configuration=nil)
44
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
45
+ unless request_configuration.nil?
46
+ request_info.add_headers_from_raw_object(request_configuration.headers)
47
+ request_info.add_request_options(request_configuration.options)
48
+ end
49
+ request_info.url_template = @url_template
50
+ request_info.path_parameters = @path_parameters
51
+ request_info.http_method = :POST
52
+ request_info.headers.try_add('Accept', 'application/json')
53
+ return request_info
54
+ end
55
+ ##
56
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
57
+ ## @param raw_url The raw URL to use for the request builder.
58
+ ## @return a portal_request_builder
59
+ ##
60
+ def with_url(raw_url)
61
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
62
+ return PortalRequestBuilder.new(raw_url, @request_adapter)
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,68 @@
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 '../billing'
6
+ require_relative './subscription'
7
+
8
+ module Ghostcrawl
9
+ module V1
10
+ module Billing
11
+ module Subscription
12
+ ##
13
+ # Builds and executes requests for operations under #v1#billing#subscription
14
+ class SubscriptionRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ ## Instantiates a new SubscriptionRequestBuilder and sets the default values.
18
+ ## @param path_parameters Path parameters for the request
19
+ ## @param request_adapter The request adapter to use to execute the requests.
20
+ ## @return a void
21
+ ##
22
+ def initialize(path_parameters, request_adapter)
23
+ super(path_parameters, request_adapter, "{+baseurl}/v1/billing/subscription")
24
+ end
25
+ ##
26
+ ## Current subscription tier + status
27
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
28
+ ## @return a Fiber of binary
29
+ ##
30
+ def get(request_configuration=nil)
31
+ request_info = self.to_get_request_information(
32
+ request_configuration
33
+ )
34
+ error_mapping = Hash.new
35
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
36
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
37
+ end
38
+ ##
39
+ ## Current subscription tier + status
40
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
41
+ ## @return a request_information
42
+ ##
43
+ def to_get_request_information(request_configuration=nil)
44
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
45
+ unless request_configuration.nil?
46
+ request_info.add_headers_from_raw_object(request_configuration.headers)
47
+ request_info.add_request_options(request_configuration.options)
48
+ end
49
+ request_info.url_template = @url_template
50
+ request_info.path_parameters = @path_parameters
51
+ request_info.http_method = :GET
52
+ request_info.headers.try_add('Accept', 'application/json')
53
+ return request_info
54
+ end
55
+ ##
56
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
57
+ ## @param raw_url The raw URL to use for the request builder.
58
+ ## @return a subscription_request_builder
59
+ ##
60
+ def with_url(raw_url)
61
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
62
+ return SubscriptionRequestBuilder.new(raw_url, @request_adapter)
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
File without changes
@@ -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 '../billing'
6
+ require_relative './usage'
7
+
8
+ module Ghostcrawl
9
+ module V1
10
+ module Billing
11
+ module Usage
12
+ ##
13
+ # Builds and executes requests for operations under #v1#billing#usage
14
+ class UsageRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ ## Instantiates a new UsageRequestBuilder and sets the default values.
18
+ ## @param path_parameters Path parameters for the request
19
+ ## @param request_adapter The request adapter to use to execute the requests.
20
+ ## @return a void
21
+ ##
22
+ def initialize(path_parameters, request_adapter)
23
+ super(path_parameters, request_adapter, "{+baseurl}/v1/billing/usage{?dim*,metered_only*,since*,until*,workspace_id*}")
24
+ end
25
+ ##
26
+ ## GET /v1/billing/usage — workspace-scoped usage_events aggregation.Returns per-dim SUM(qty) for the resolved billing period.: response is always scoped to the tenant's team_id (never cross-tenant).: team_id derived from TenantContext; workspace_id override only for admins.
27
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
28
+ ## @return a Fiber of binary
29
+ ##
30
+ def get(request_configuration=nil)
31
+ request_info = self.to_get_request_information(
32
+ request_configuration
33
+ )
34
+ error_mapping = Hash.new
35
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
36
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
37
+ end
38
+ ##
39
+ ## GET /v1/billing/usage — workspace-scoped usage_events aggregation.Returns per-dim SUM(qty) for the resolved billing period.: response is always scoped to the tenant's team_id (never cross-tenant).: team_id derived from TenantContext; workspace_id override only for admins.
40
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
41
+ ## @return a request_information
42
+ ##
43
+ def to_get_request_information(request_configuration=nil)
44
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
45
+ unless request_configuration.nil?
46
+ request_info.add_headers_from_raw_object(request_configuration.headers)
47
+ request_info.set_query_string_parameters_from_raw_object(request_configuration.query_parameters)
48
+ request_info.add_request_options(request_configuration.options)
49
+ end
50
+ request_info.url_template = @url_template
51
+ request_info.path_parameters = @path_parameters
52
+ request_info.http_method = :GET
53
+ request_info.headers.try_add('Accept', 'application/json')
54
+ return request_info
55
+ end
56
+ ##
57
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
58
+ ## @param raw_url The raw URL to use for the request builder.
59
+ ## @return a usage_request_builder
60
+ ##
61
+ def with_url(raw_url)
62
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
63
+ return UsageRequestBuilder.new(raw_url, @request_adapter)
64
+ end
65
+
66
+ ##
67
+ # GET /v1/billing/usage — workspace-scoped usage_events aggregation.Returns per-dim SUM(qty) for the resolved billing period.: response is always scoped to the tenant's team_id (never cross-tenant).: team_id derived from TenantContext; workspace_id override only for admins.
68
+ class UsageRequestBuilderGetQueryParameters
69
+
70
+ ##
71
+ # Filter to specific dim; omit for all dims
72
+ attr_accessor :dim
73
+ ##
74
+ # When true, return only metered (billable) usage dims.
75
+ attr_accessor :metered_only
76
+ ##
77
+ # Start of usage window (timestamp; default: billing period start).
78
+ attr_accessor :since
79
+ ##
80
+ # End of usage window (timestamp; default: now).
81
+ attr_accessor :until_escaped
82
+ ##
83
+ # Optional workspace override (admin only); defaults to tenant workspace
84
+ attr_accessor :workspace_id
85
+ end
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 './binary'
5
+ require_relative './download/download_request_builder'
6
+
7
+ module Ghostcrawl
8
+ module V1
9
+ module Binary
10
+ ##
11
+ # Builds and executes requests for operations under #v1#binary
12
+ class BinaryRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
13
+
14
+ ##
15
+ # The download property
16
+ def download()
17
+ return Ghostcrawl::V1::Binary::Download::DownloadRequestBuilder.new(@path_parameters, @request_adapter)
18
+ end
19
+ ##
20
+ ## Instantiates a new BinaryRequestBuilder 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/binary")
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
File without changes
@@ -0,0 +1,77 @@
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 '../binary'
6
+ require_relative './download'
7
+
8
+ module Ghostcrawl
9
+ module V1
10
+ module Binary
11
+ module Download
12
+ ##
13
+ # Builds and executes requests for operations under #v1#binary#download
14
+ class DownloadRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ ## Instantiates a new DownloadRequestBuilder and sets the default values.
18
+ ## @param path_parameters Path parameters for the request
19
+ ## @param request_adapter The request adapter to use to execute the requests.
20
+ ## @return a void
21
+ ##
22
+ def initialize(path_parameters, request_adapter)
23
+ super(path_parameters, request_adapter, "{+baseurl}/v1/binary/download?engine={engine}{&release_id*}")
24
+ end
25
+ ##
26
+ ## Download your licensed engine binary (Chrome, Firefox, or WebKit) for self-hosting.Select the engine via the ``engine`` query parameter. The binary is streamedto the client and bound to your account.
27
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
28
+ ## @return a Fiber of binary
29
+ ##
30
+ def get(request_configuration=nil)
31
+ request_info = self.to_get_request_information(
32
+ request_configuration
33
+ )
34
+ error_mapping = Hash.new
35
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
36
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
37
+ end
38
+ ##
39
+ ## Download your licensed engine binary (Chrome, Firefox, or WebKit) for self-hosting.Select the engine via the ``engine`` query parameter. The binary is streamedto the client and bound to your account.
40
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
41
+ ## @return a request_information
42
+ ##
43
+ def to_get_request_information(request_configuration=nil)
44
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
45
+ unless request_configuration.nil?
46
+ request_info.add_headers_from_raw_object(request_configuration.headers)
47
+ request_info.set_query_string_parameters_from_raw_object(request_configuration.query_parameters)
48
+ request_info.add_request_options(request_configuration.options)
49
+ end
50
+ request_info.url_template = @url_template
51
+ request_info.path_parameters = @path_parameters
52
+ request_info.http_method = :GET
53
+ request_info.headers.try_add('Accept', 'application/json')
54
+ return request_info
55
+ end
56
+ ##
57
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
58
+ ## @param raw_url The raw URL to use for the request builder.
59
+ ## @return a download_request_builder
60
+ ##
61
+ def with_url(raw_url)
62
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
63
+ return DownloadRequestBuilder.new(raw_url, @request_adapter)
64
+ end
65
+
66
+ ##
67
+ # Download your licensed engine binary (Chrome, Firefox, or WebKit) for self-hosting.Select the engine via the ``engine`` query parameter. The binary is streamedto the client and bound to your account.
68
+ class DownloadRequestBuilderGetQueryParameters
69
+
70
+ attr_accessor :engine
71
+ attr_accessor :release_id
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
File without changes
@@ -0,0 +1,37 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../ghostcrawl'
3
+ require_relative '../v1'
4
+ require_relative './budgets'
5
+ require_relative './policy/policy_request_builder'
6
+ require_relative './usage/usage_request_builder'
7
+
8
+ module Ghostcrawl
9
+ module V1
10
+ module Budgets
11
+ ##
12
+ # Builds and executes requests for operations under #v1#budgets
13
+ class BudgetsRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
14
+
15
+ ##
16
+ # The policy property
17
+ def policy()
18
+ return Ghostcrawl::V1::Budgets::Policy::PolicyRequestBuilder.new(@path_parameters, @request_adapter)
19
+ end
20
+ ##
21
+ # The usage property
22
+ def usage()
23
+ return Ghostcrawl::V1::Budgets::Usage::UsageRequestBuilder.new(@path_parameters, @request_adapter)
24
+ end
25
+ ##
26
+ ## Instantiates a new BudgetsRequestBuilder and sets the default values.
27
+ ## @param path_parameters Path parameters for the request
28
+ ## @param request_adapter The request adapter to use to execute the requests.
29
+ ## @return a void
30
+ ##
31
+ def initialize(path_parameters, request_adapter)
32
+ super(path_parameters, request_adapter, "{+baseurl}/v1/budgets")
33
+ end
34
+ end
35
+ end
36
+ end
37
+ 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 '../../../../v1'
5
+ require_relative '../../../budgets'
6
+ require_relative '../../policy'
7
+ require_relative '../item'
8
+ require_relative './item'
9
+
10
+ module Ghostcrawl
11
+ module V1
12
+ module Budgets
13
+ module Policy
14
+ module Item
15
+ module Item
16
+ ##
17
+ # Builds and executes requests for operations under #v1#budgets#policy#{scope_type}#{scope_id}
18
+ class WithScopeItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
19
+
20
+ ##
21
+ ## Instantiates a new WithScopeItemRequestBuilder and sets the default values.
22
+ ## @param path_parameters Path parameters for the request
23
+ ## @param request_adapter The request adapter to use to execute the requests.
24
+ ## @return a void
25
+ ##
26
+ def initialize(path_parameters, request_adapter)
27
+ super(path_parameters, request_adapter, "{+baseurl}/v1/budgets/policy/{scope_type}/{scope_id}")
28
+ end
29
+ ##
30
+ ## DELETE /v1/budgets/policy/{scope_type}/{scope_id} — remove a policy row.Returns 204 on success. Existing usage counters are preserved — historicalusage data is never deleted when a policy is removed.Cross-tenant or missing → 404 budget_not_found (not 403; enumeration guard).Audit: emits budget.policy_deleted on success.
31
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
32
+ ## @return a Fiber of void
33
+ ##
34
+ def delete(request_configuration=nil)
35
+ request_info = self.to_delete_request_information(
36
+ request_configuration
37
+ )
38
+ error_mapping = Hash.new
39
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
40
+ return @request_adapter.send_async(request_info, nil, error_mapping)
41
+ end
42
+ ##
43
+ ## DELETE /v1/budgets/policy/{scope_type}/{scope_id} — remove a policy row.Returns 204 on success. Existing usage counters are preserved — historicalusage data is never deleted when a policy is removed.Cross-tenant or missing → 404 budget_not_found (not 403; enumeration guard).Audit: emits budget.policy_deleted on success.
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_delete_request_information(request_configuration=nil)
48
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
49
+ unless request_configuration.nil?
50
+ request_info.add_headers_from_raw_object(request_configuration.headers)
51
+ request_info.add_request_options(request_configuration.options)
52
+ end
53
+ request_info.url_template = @url_template
54
+ request_info.path_parameters = @path_parameters
55
+ request_info.http_method = :DELETE
56
+ request_info.headers.try_add('Accept', 'application/json')
57
+ return request_info
58
+ end
59
+ ##
60
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
61
+ ## @param raw_url The raw URL to use for the request builder.
62
+ ## @return a with_scope_item_request_builder
63
+ ##
64
+ def with_url(raw_url)
65
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
66
+ return WithScopeItemRequestBuilder.new(raw_url, @request_adapter)
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
File without changes
@@ -0,0 +1,43 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../../ghostcrawl'
3
+ require_relative '../../../v1'
4
+ require_relative '../../budgets'
5
+ require_relative '../policy'
6
+ require_relative './item'
7
+ require_relative './item/with_scope_item_request_builder'
8
+
9
+ module Ghostcrawl
10
+ module V1
11
+ module Budgets
12
+ module Policy
13
+ module Item
14
+ ##
15
+ # Builds and executes requests for operations under #v1#budgets#policy#{scope_type}
16
+ class WithScopeTypeItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
17
+
18
+ ##
19
+ ## Gets an item from the ghostcrawl.v1.budgets.policy.item.item collection
20
+ ## @param scope_id Unique identifier of the item
21
+ ## @return a with_scope_item_request_builder
22
+ ##
23
+ def by_scope_id(scope_id)
24
+ raise StandardError, 'scope_id cannot be null' if scope_id.nil?
25
+ url_tpl_params = @path_parameters.clone
26
+ url_tpl_params["scope_id"] = scope_id
27
+ return Ghostcrawl::V1::Budgets::Policy::Item::Item::WithScopeItemRequestBuilder.new(url_tpl_params, @request_adapter)
28
+ end
29
+ ##
30
+ ## Instantiates a new WithScopeTypeItemRequestBuilder and sets the default values.
31
+ ## @param path_parameters Path parameters for the request
32
+ ## @param request_adapter The request adapter to use to execute the requests.
33
+ ## @return a void
34
+ ##
35
+ def initialize(path_parameters, request_adapter)
36
+ super(path_parameters, request_adapter, "{+baseurl}/v1/budgets/policy/{scope_type}")
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
File without changes
@@ -0,0 +1,125 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../ghostcrawl'
3
+ require_relative '../../../models/h_t_t_p_validation_error'
4
+ require_relative '../../../models/policy_upsert_request'
5
+ require_relative '../../v1'
6
+ require_relative '../budgets'
7
+ require_relative './item/with_scope_type_item_request_builder'
8
+ require_relative './policy'
9
+
10
+ module Ghostcrawl
11
+ module V1
12
+ module Budgets
13
+ module Policy
14
+ ##
15
+ # Builds and executes requests for operations under #v1#budgets#policy
16
+ class PolicyRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
17
+
18
+ ##
19
+ ## Gets an item from the ghostcrawl.v1.budgets.policy.item collection
20
+ ## @param scope_type Unique identifier of the item
21
+ ## @return a with_scope_type_item_request_builder
22
+ ##
23
+ def by_scope_type(scope_type)
24
+ raise StandardError, 'scope_type cannot be null' if scope_type.nil?
25
+ url_tpl_params = @path_parameters.clone
26
+ url_tpl_params["scope_type"] = scope_type
27
+ return Ghostcrawl::V1::Budgets::Policy::Item::WithScopeTypeItemRequestBuilder.new(url_tpl_params, @request_adapter)
28
+ end
29
+ ##
30
+ ## Instantiates a new PolicyRequestBuilder and sets the default values.
31
+ ## @param path_parameters Path parameters for the request
32
+ ## @param request_adapter The request adapter to use to execute the requests.
33
+ ## @return a void
34
+ ##
35
+ def initialize(path_parameters, request_adapter)
36
+ super(path_parameters, request_adapter, "{+baseurl}/v1/budgets/policy{?scope_id*,scope_type*}")
37
+ end
38
+ ##
39
+ ## GET /v1/budgets/policy — retrieve the effective policy for a scope.Requires budgets:read scope for your own scope, or budgets:admin forcross-organisation access. Cross-tenant or missing-id requests return 404(not 403) to prevent enumeration.Query params: scope_type: "user" | "org" | "session" (default "org") scope_id: UUID string; defaults to caller's org_id when scope_type=org, or caller's user_id when scope_type=user.
40
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
41
+ ## @return a Fiber of binary
42
+ ##
43
+ def get(request_configuration=nil)
44
+ request_info = self.to_get_request_information(
45
+ request_configuration
46
+ )
47
+ error_mapping = Hash.new
48
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
49
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
50
+ end
51
+ ##
52
+ ## PUT /v1/budgets/policy — upsert a budget policy row.Auth: budgets:write for own scope; budgets:admin for cross-tenant scope.Validation: warning_threshold_pct in [1, 100] is enforced at Pydantic levelbefore any DB write (fast-fail).Audit: emits budget.policy_created (INSERT) or budget.policy_updated (UPDATE)— the store's upsert re-reads the row post-conflict to detect which happened(compare created_at == updated_at). Best-effort; never raises to caller.
53
+ ## @param body The request body
54
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
55
+ ## @return a Fiber of binary
56
+ ##
57
+ def put(body, request_configuration=nil)
58
+ raise StandardError, 'body cannot be null' if body.nil?
59
+ request_info = self.to_put_request_information(
60
+ body, request_configuration
61
+ )
62
+ error_mapping = Hash.new
63
+ error_mapping["422"] = lambda {|pn| Ghostcrawl::Models::HTTPValidationError.create_from_discriminator_value(pn) }
64
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
65
+ end
66
+ ##
67
+ ## GET /v1/budgets/policy — retrieve the effective policy for a scope.Requires budgets:read scope for your own scope, or budgets:admin forcross-organisation access. Cross-tenant or missing-id requests return 404(not 403) to prevent enumeration.Query params: scope_type: "user" | "org" | "session" (default "org") scope_id: UUID string; defaults to caller's org_id when scope_type=org, or caller's user_id when scope_type=user.
68
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
69
+ ## @return a request_information
70
+ ##
71
+ def to_get_request_information(request_configuration=nil)
72
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
73
+ unless request_configuration.nil?
74
+ request_info.add_headers_from_raw_object(request_configuration.headers)
75
+ request_info.set_query_string_parameters_from_raw_object(request_configuration.query_parameters)
76
+ request_info.add_request_options(request_configuration.options)
77
+ end
78
+ request_info.url_template = @url_template
79
+ request_info.path_parameters = @path_parameters
80
+ request_info.http_method = :GET
81
+ request_info.headers.try_add('Accept', 'application/json')
82
+ return request_info
83
+ end
84
+ ##
85
+ ## PUT /v1/budgets/policy — upsert a budget policy row.Auth: budgets:write for own scope; budgets:admin for cross-tenant scope.Validation: warning_threshold_pct in [1, 100] is enforced at Pydantic levelbefore any DB write (fast-fail).Audit: emits budget.policy_created (INSERT) or budget.policy_updated (UPDATE)— the store's upsert re-reads the row post-conflict to detect which happened(compare created_at == updated_at). Best-effort; never raises to caller.
86
+ ## @param body The request body
87
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
88
+ ## @return a request_information
89
+ ##
90
+ def to_put_request_information(body, request_configuration=nil)
91
+ raise StandardError, 'body cannot be null' if body.nil?
92
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
93
+ unless request_configuration.nil?
94
+ request_info.add_headers_from_raw_object(request_configuration.headers)
95
+ request_info.add_request_options(request_configuration.options)
96
+ end
97
+ request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
98
+ request_info.url_template = @url_template
99
+ request_info.path_parameters = @path_parameters
100
+ request_info.http_method = :PUT
101
+ request_info.headers.try_add('Accept', 'application/json')
102
+ return request_info
103
+ end
104
+ ##
105
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
106
+ ## @param raw_url The raw URL to use for the request builder.
107
+ ## @return a policy_request_builder
108
+ ##
109
+ def with_url(raw_url)
110
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
111
+ return PolicyRequestBuilder.new(raw_url, @request_adapter)
112
+ end
113
+
114
+ ##
115
+ # GET /v1/budgets/policy — retrieve the effective policy for a scope.Requires budgets:read scope for your own scope, or budgets:admin forcross-organisation access. Cross-tenant or missing-id requests return 404(not 403) to prevent enumeration.Query params: scope_type: "user" | "org" | "session" (default "org") scope_id: UUID string; defaults to caller's org_id when scope_type=org, or caller's user_id when scope_type=user.
116
+ class PolicyRequestBuilderGetQueryParameters
117
+
118
+ attr_accessor :scope_id
119
+ attr_accessor :scope_type
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
File without changes