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,1142 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../ghostcrawl'
3
+ require_relative './models'
4
+
5
+ module Ghostcrawl
6
+ module Models
7
+ ##
8
+ # POST /v1/scrape request body (identity-aware shape).
9
+ class ScrapeRequest
10
+ include MicrosoftKiotaAbstractions::AdditionalDataHolder, MicrosoftKiotaAbstractions::Parsable
11
+ ##
12
+ # Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
13
+ @additional_data
14
+ ##
15
+ # "persist" (default): same identity for all URLs in a batch. "randomize": fresh identity per URL (each counts against quota).
16
+ @batch_identity_mode
17
+ ##
18
+ # BYO behavior: a list of trusted-input actions replayed on the loaded page instead of the built-in human session. Each item is {"kind":"move","x":int,"y":int} | {"kind":"wheel","x":int,"y":int,"dy":int} | {"kind":"dwell","ms":int}. Sanitized + bounded server-side (max 256 actions). Available on every tier.
19
+ @behavior_actions
20
+ ##
21
+ # Maximum tokens per markdown chunk. Clamped server-side to [256, 32768] regardless of caller input.
22
+ @chunk_tokens
23
+ ##
24
+ # Engine override. 'auto' (default): the identity's fingerprint decides the engine. 'chrome'|'firefox'|'webkit': force that engine — enforced only if coherent with the identity (e.g. iOS identities are always webkit); incoherent picks are rejected, never coerced to a hybrid.
25
+ @engine
26
+ ##
27
+ # Response format. 'html' (default): the fully rendered DOM. 'markdown': returns a {markdown, chunks, citations, token_estimate} envelope with prompt-injection-neutralized, token-budgeted output. 'pdf': returns application/pdf bytes (Chrome identities only; Firefox and WebKit return 400 pdf_engine_unsupported).
28
+ @format
29
+ ##
30
+ # When screenshot=true, capture the FULL document height instead of just the visible viewport. Ignored when screenshot_selector is set.
31
+ @full_page
32
+ ##
33
+ # Previously-persisted identity_id from POST /v1/identity (persist=true).
34
+ @identity
35
+ ##
36
+ # Optional two-letter country code (e.g. 'US','DE'). When set, the exit is geo-filtered to that country and the identity's timezone is derived from it. When omitted, the timezone follows the rotating exit country. Language is independent — see the `language` field.
37
+ @identity_country
38
+ ##
39
+ # When format=markdown, include deduplicated citation list {url, anchor_text} from the scraped page.
40
+ @include_citations
41
+ ##
42
+ # Optional browser language tag (e.g. 'en-US','es-ES','de-DE'). Sets the identity's locale and language headers coherently, independent of the exit country. When omitted, the identity's default locale is used. Available on every tier.
43
+ @language
44
+ ##
45
+ # Named persistent profile (multi-accounting). Resolves to a durable identity_id (→ same deterministic fingerprint) + optional saved storage_state (→ cookies/localStorage) for the calling org. Reuses the exact identity+cookies on every request, with no 30-minute sticky-session expiry. 404 if the named profile does not exist for the org.
46
+ @profile
47
+ ##
48
+ # Bring-your-own proxy URL. Schemes: socks5, socks5h, http, https. Any credentials in the URL are redacted from logs. Example: socks5://user:pass@host:1080.
49
+ @proxy
50
+ ##
51
+ # When true, a screenshot is captured during the fetch and returned as a base64-encoded PNG in result['screenshot']. Off by default.
52
+ @screenshot
53
+ ##
54
+ # When screenshot=true, clip the capture to the first DOM element matching this CSS selector (element screenshot). Takes precedence over full_page.
55
+ @screenshot_selector
56
+ ##
57
+ # Sticky-session token (paid tiers). Requests sharing a token reuse the same identity → same exit + cookies (returning-visitor coherence). Bounded TTL; opaque [A-Za-z0-9._-], max 128 chars.
58
+ @session
59
+ ##
60
+ # When true, returns text/event-stream with one SSE event per chunk. Per-tenant concurrency is capped (default 5). Final 'done' event carries estimated_llm_input_tokens.
61
+ @stream
62
+ ##
63
+ # The url property
64
+ @url
65
+ ##
66
+ # The urls property
67
+ @urls
68
+ ##
69
+ ## Gets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
70
+ ## @return a i_dictionary
71
+ ##
72
+ def additional_data
73
+ return @additional_data
74
+ end
75
+ ##
76
+ ## Sets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
77
+ ## @param value Value to set for the AdditionalData property.
78
+ ## @return a void
79
+ ##
80
+ def additional_data=(value)
81
+ @additional_data = value
82
+ end
83
+ ##
84
+ ## Gets the batch_identity_mode property value. "persist" (default): same identity for all URLs in a batch. "randomize": fresh identity per URL (each counts against quota).
85
+ ## @return a scrape_request_batch_identity_mode
86
+ ##
87
+ def batch_identity_mode
88
+ return @batch_identity_mode
89
+ end
90
+ ##
91
+ ## Sets the batch_identity_mode property value. "persist" (default): same identity for all URLs in a batch. "randomize": fresh identity per URL (each counts against quota).
92
+ ## @param value Value to set for the batch_identity_mode property.
93
+ ## @return a void
94
+ ##
95
+ def batch_identity_mode=(value)
96
+ @batch_identity_mode = value
97
+ end
98
+ ##
99
+ ## Gets the behavior_actions property value. BYO behavior: a list of trusted-input actions replayed on the loaded page instead of the built-in human session. Each item is {"kind":"move","x":int,"y":int} | {"kind":"wheel","x":int,"y":int,"dy":int} | {"kind":"dwell","ms":int}. Sanitized + bounded server-side (max 256 actions). Available on every tier.
100
+ ## @return a scrape_request_behavior_actions
101
+ ##
102
+ def behavior_actions
103
+ return @behavior_actions
104
+ end
105
+ ##
106
+ ## Sets the behavior_actions property value. BYO behavior: a list of trusted-input actions replayed on the loaded page instead of the built-in human session. Each item is {"kind":"move","x":int,"y":int} | {"kind":"wheel","x":int,"y":int,"dy":int} | {"kind":"dwell","ms":int}. Sanitized + bounded server-side (max 256 actions). Available on every tier.
107
+ ## @param value Value to set for the behavior_actions property.
108
+ ## @return a void
109
+ ##
110
+ def behavior_actions=(value)
111
+ @behavior_actions = value
112
+ end
113
+ ##
114
+ ## Gets the chunk_tokens property value. Maximum tokens per markdown chunk. Clamped server-side to [256, 32768] regardless of caller input.
115
+ ## @return a integer
116
+ ##
117
+ def chunk_tokens
118
+ return @chunk_tokens
119
+ end
120
+ ##
121
+ ## Sets the chunk_tokens property value. Maximum tokens per markdown chunk. Clamped server-side to [256, 32768] regardless of caller input.
122
+ ## @param value Value to set for the chunk_tokens property.
123
+ ## @return a void
124
+ ##
125
+ def chunk_tokens=(value)
126
+ @chunk_tokens = value
127
+ end
128
+ ##
129
+ ## Instantiates a new ScrapeRequest and sets the default values.
130
+ ## @return a void
131
+ ##
132
+ def initialize()
133
+ @additional_data = Hash.new
134
+ @batch_identity_mode = Ghostcrawl::Models::ScrapeRequestBatchIdentityMode[:Persist]
135
+ @chunk_tokens = 8192
136
+ @engine = Ghostcrawl::Models::ScrapeRequestEngine[:Auto]
137
+ @format = Ghostcrawl::Models::ScrapeRequestFormat[:Html]
138
+ @full_page = false
139
+ @include_citations = true
140
+ @screenshot = false
141
+ @stream = false
142
+ end
143
+ ##
144
+ ## Creates a new instance of the appropriate class based on discriminator value
145
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
146
+ ## @return a scrape_request
147
+ ##
148
+ def self.create_from_discriminator_value(parse_node)
149
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
150
+ return ScrapeRequest.new
151
+ end
152
+ ##
153
+ ## Gets the engine property value. Engine override. 'auto' (default): the identity's fingerprint decides the engine. 'chrome'|'firefox'|'webkit': force that engine — enforced only if coherent with the identity (e.g. iOS identities are always webkit); incoherent picks are rejected, never coerced to a hybrid.
154
+ ## @return a scrape_request_engine
155
+ ##
156
+ def engine
157
+ return @engine
158
+ end
159
+ ##
160
+ ## Sets the engine property value. Engine override. 'auto' (default): the identity's fingerprint decides the engine. 'chrome'|'firefox'|'webkit': force that engine — enforced only if coherent with the identity (e.g. iOS identities are always webkit); incoherent picks are rejected, never coerced to a hybrid.
161
+ ## @param value Value to set for the engine property.
162
+ ## @return a void
163
+ ##
164
+ def engine=(value)
165
+ @engine = value
166
+ end
167
+ ##
168
+ ## Gets the format property value. Response format. 'html' (default): the fully rendered DOM. 'markdown': returns a {markdown, chunks, citations, token_estimate} envelope with prompt-injection-neutralized, token-budgeted output. 'pdf': returns application/pdf bytes (Chrome identities only; Firefox and WebKit return 400 pdf_engine_unsupported).
169
+ ## @return a scrape_request_format
170
+ ##
171
+ def format
172
+ return @format
173
+ end
174
+ ##
175
+ ## Sets the format property value. Response format. 'html' (default): the fully rendered DOM. 'markdown': returns a {markdown, chunks, citations, token_estimate} envelope with prompt-injection-neutralized, token-budgeted output. 'pdf': returns application/pdf bytes (Chrome identities only; Firefox and WebKit return 400 pdf_engine_unsupported).
176
+ ## @param value Value to set for the format property.
177
+ ## @return a void
178
+ ##
179
+ def format=(value)
180
+ @format = value
181
+ end
182
+ ##
183
+ ## Gets the full_page property value. When screenshot=true, capture the FULL document height instead of just the visible viewport. Ignored when screenshot_selector is set.
184
+ ## @return a boolean
185
+ ##
186
+ def full_page
187
+ return @full_page
188
+ end
189
+ ##
190
+ ## Sets the full_page property value. When screenshot=true, capture the FULL document height instead of just the visible viewport. Ignored when screenshot_selector is set.
191
+ ## @param value Value to set for the full_page property.
192
+ ## @return a void
193
+ ##
194
+ def full_page=(value)
195
+ @full_page = value
196
+ end
197
+ ##
198
+ ## The deserialization information for the current model
199
+ ## @return a i_dictionary
200
+ ##
201
+ def get_field_deserializers()
202
+ return {
203
+ "batch_identity_mode" => lambda {|n| @batch_identity_mode = n.get_enum_value(Ghostcrawl::Models::ScrapeRequestBatchIdentityMode) },
204
+ "behavior_actions" => lambda {|n| @behavior_actions = n.get_object_value(lambda {|pn| ScrapeRequest::ScrapeRequestBehaviorActions.create_from_discriminator_value(pn) }) },
205
+ "chunk_tokens" => lambda {|n| @chunk_tokens = n.get_number_value() },
206
+ "engine" => lambda {|n| @engine = n.get_enum_value(Ghostcrawl::Models::ScrapeRequestEngine) },
207
+ "format" => lambda {|n| @format = n.get_enum_value(Ghostcrawl::Models::ScrapeRequestFormat) },
208
+ "full_page" => lambda {|n| @full_page = n.get_boolean_value() },
209
+ "identity" => lambda {|n| @identity = n.get_object_value(lambda {|pn| ScrapeRequest::ScrapeRequestIdentity.create_from_discriminator_value(pn) }) },
210
+ "identity_country" => lambda {|n| @identity_country = n.get_object_value(lambda {|pn| ScrapeRequest::ScrapeRequestIdentityCountry.create_from_discriminator_value(pn) }) },
211
+ "include_citations" => lambda {|n| @include_citations = n.get_boolean_value() },
212
+ "language" => lambda {|n| @language = n.get_object_value(lambda {|pn| ScrapeRequest::ScrapeRequestLanguage.create_from_discriminator_value(pn) }) },
213
+ "profile" => lambda {|n| @profile = n.get_object_value(lambda {|pn| ScrapeRequest::ScrapeRequestProfile.create_from_discriminator_value(pn) }) },
214
+ "proxy" => lambda {|n| @proxy = n.get_object_value(lambda {|pn| ScrapeRequest::ScrapeRequestProxy.create_from_discriminator_value(pn) }) },
215
+ "screenshot" => lambda {|n| @screenshot = n.get_boolean_value() },
216
+ "screenshot_selector" => lambda {|n| @screenshot_selector = n.get_object_value(lambda {|pn| ScrapeRequest::ScrapeRequestScreenshotSelector.create_from_discriminator_value(pn) }) },
217
+ "session" => lambda {|n| @session = n.get_object_value(lambda {|pn| ScrapeRequest::ScrapeRequestSession.create_from_discriminator_value(pn) }) },
218
+ "stream" => lambda {|n| @stream = n.get_boolean_value() },
219
+ "url" => lambda {|n| @url = n.get_object_value(lambda {|pn| ScrapeRequest::ScrapeRequestUrl.create_from_discriminator_value(pn) }) },
220
+ "urls" => lambda {|n| @urls = n.get_object_value(lambda {|pn| ScrapeRequest::ScrapeRequestUrls.create_from_discriminator_value(pn) }) },
221
+ }
222
+ end
223
+ ##
224
+ ## Gets the identity property value. Previously-persisted identity_id from POST /v1/identity (persist=true).
225
+ ## @return a scrape_request_identity
226
+ ##
227
+ def identity
228
+ return @identity
229
+ end
230
+ ##
231
+ ## Sets the identity property value. Previously-persisted identity_id from POST /v1/identity (persist=true).
232
+ ## @param value Value to set for the identity property.
233
+ ## @return a void
234
+ ##
235
+ def identity=(value)
236
+ @identity = value
237
+ end
238
+ ##
239
+ ## Gets the identity_country property value. Optional two-letter country code (e.g. 'US','DE'). When set, the exit is geo-filtered to that country and the identity's timezone is derived from it. When omitted, the timezone follows the rotating exit country. Language is independent — see the `language` field.
240
+ ## @return a scrape_request_identity_country
241
+ ##
242
+ def identity_country
243
+ return @identity_country
244
+ end
245
+ ##
246
+ ## Sets the identity_country property value. Optional two-letter country code (e.g. 'US','DE'). When set, the exit is geo-filtered to that country and the identity's timezone is derived from it. When omitted, the timezone follows the rotating exit country. Language is independent — see the `language` field.
247
+ ## @param value Value to set for the identity_country property.
248
+ ## @return a void
249
+ ##
250
+ def identity_country=(value)
251
+ @identity_country = value
252
+ end
253
+ ##
254
+ ## Gets the include_citations property value. When format=markdown, include deduplicated citation list {url, anchor_text} from the scraped page.
255
+ ## @return a boolean
256
+ ##
257
+ def include_citations
258
+ return @include_citations
259
+ end
260
+ ##
261
+ ## Sets the include_citations property value. When format=markdown, include deduplicated citation list {url, anchor_text} from the scraped page.
262
+ ## @param value Value to set for the include_citations property.
263
+ ## @return a void
264
+ ##
265
+ def include_citations=(value)
266
+ @include_citations = value
267
+ end
268
+ ##
269
+ ## Gets the language property value. Optional browser language tag (e.g. 'en-US','es-ES','de-DE'). Sets the identity's locale and language headers coherently, independent of the exit country. When omitted, the identity's default locale is used. Available on every tier.
270
+ ## @return a scrape_request_language
271
+ ##
272
+ def language
273
+ return @language
274
+ end
275
+ ##
276
+ ## Sets the language property value. Optional browser language tag (e.g. 'en-US','es-ES','de-DE'). Sets the identity's locale and language headers coherently, independent of the exit country. When omitted, the identity's default locale is used. Available on every tier.
277
+ ## @param value Value to set for the language property.
278
+ ## @return a void
279
+ ##
280
+ def language=(value)
281
+ @language = value
282
+ end
283
+ ##
284
+ ## Gets the profile property value. Named persistent profile (multi-accounting). Resolves to a durable identity_id (→ same deterministic fingerprint) + optional saved storage_state (→ cookies/localStorage) for the calling org. Reuses the exact identity+cookies on every request, with no 30-minute sticky-session expiry. 404 if the named profile does not exist for the org.
285
+ ## @return a scrape_request_profile
286
+ ##
287
+ def profile
288
+ return @profile
289
+ end
290
+ ##
291
+ ## Sets the profile property value. Named persistent profile (multi-accounting). Resolves to a durable identity_id (→ same deterministic fingerprint) + optional saved storage_state (→ cookies/localStorage) for the calling org. Reuses the exact identity+cookies on every request, with no 30-minute sticky-session expiry. 404 if the named profile does not exist for the org.
292
+ ## @param value Value to set for the profile property.
293
+ ## @return a void
294
+ ##
295
+ def profile=(value)
296
+ @profile = value
297
+ end
298
+ ##
299
+ ## Gets the proxy property value. Bring-your-own proxy URL. Schemes: socks5, socks5h, http, https. Any credentials in the URL are redacted from logs. Example: socks5://user:pass@host:1080.
300
+ ## @return a scrape_request_proxy
301
+ ##
302
+ def proxy
303
+ return @proxy
304
+ end
305
+ ##
306
+ ## Sets the proxy property value. Bring-your-own proxy URL. Schemes: socks5, socks5h, http, https. Any credentials in the URL are redacted from logs. Example: socks5://user:pass@host:1080.
307
+ ## @param value Value to set for the proxy property.
308
+ ## @return a void
309
+ ##
310
+ def proxy=(value)
311
+ @proxy = value
312
+ end
313
+ ##
314
+ ## Gets the screenshot property value. When true, a screenshot is captured during the fetch and returned as a base64-encoded PNG in result['screenshot']. Off by default.
315
+ ## @return a boolean
316
+ ##
317
+ def screenshot
318
+ return @screenshot
319
+ end
320
+ ##
321
+ ## Sets the screenshot property value. When true, a screenshot is captured during the fetch and returned as a base64-encoded PNG in result['screenshot']. Off by default.
322
+ ## @param value Value to set for the screenshot property.
323
+ ## @return a void
324
+ ##
325
+ def screenshot=(value)
326
+ @screenshot = value
327
+ end
328
+ ##
329
+ ## Gets the screenshot_selector property value. When screenshot=true, clip the capture to the first DOM element matching this CSS selector (element screenshot). Takes precedence over full_page.
330
+ ## @return a scrape_request_screenshot_selector
331
+ ##
332
+ def screenshot_selector
333
+ return @screenshot_selector
334
+ end
335
+ ##
336
+ ## Sets the screenshot_selector property value. When screenshot=true, clip the capture to the first DOM element matching this CSS selector (element screenshot). Takes precedence over full_page.
337
+ ## @param value Value to set for the screenshot_selector property.
338
+ ## @return a void
339
+ ##
340
+ def screenshot_selector=(value)
341
+ @screenshot_selector = value
342
+ end
343
+ ##
344
+ ## Serializes information the current object
345
+ ## @param writer Serialization writer to use to serialize this model
346
+ ## @return a void
347
+ ##
348
+ def serialize(writer)
349
+ raise StandardError, 'writer cannot be null' if writer.nil?
350
+ writer.write_enum_value("batch_identity_mode", @batch_identity_mode)
351
+ writer.write_object_value("behavior_actions", @behavior_actions)
352
+ writer.write_number_value("chunk_tokens", @chunk_tokens)
353
+ writer.write_enum_value("engine", @engine)
354
+ writer.write_enum_value("format", @format)
355
+ writer.write_boolean_value("full_page", @full_page)
356
+ writer.write_object_value("identity", @identity)
357
+ writer.write_object_value("identity_country", @identity_country)
358
+ writer.write_boolean_value("include_citations", @include_citations)
359
+ writer.write_object_value("language", @language)
360
+ writer.write_object_value("profile", @profile)
361
+ writer.write_object_value("proxy", @proxy)
362
+ writer.write_boolean_value("screenshot", @screenshot)
363
+ writer.write_object_value("screenshot_selector", @screenshot_selector)
364
+ writer.write_object_value("session", @session)
365
+ writer.write_boolean_value("stream", @stream)
366
+ writer.write_object_value("url", @url)
367
+ writer.write_object_value("urls", @urls)
368
+ writer.write_additional_data(@additional_data)
369
+ end
370
+ ##
371
+ ## Gets the session property value. Sticky-session token (paid tiers). Requests sharing a token reuse the same identity → same exit + cookies (returning-visitor coherence). Bounded TTL; opaque [A-Za-z0-9._-], max 128 chars.
372
+ ## @return a scrape_request_session
373
+ ##
374
+ def session
375
+ return @session
376
+ end
377
+ ##
378
+ ## Sets the session property value. Sticky-session token (paid tiers). Requests sharing a token reuse the same identity → same exit + cookies (returning-visitor coherence). Bounded TTL; opaque [A-Za-z0-9._-], max 128 chars.
379
+ ## @param value Value to set for the session property.
380
+ ## @return a void
381
+ ##
382
+ def session=(value)
383
+ @session = value
384
+ end
385
+ ##
386
+ ## Gets the stream property value. When true, returns text/event-stream with one SSE event per chunk. Per-tenant concurrency is capped (default 5). Final 'done' event carries estimated_llm_input_tokens.
387
+ ## @return a boolean
388
+ ##
389
+ def stream
390
+ return @stream
391
+ end
392
+ ##
393
+ ## Sets the stream property value. When true, returns text/event-stream with one SSE event per chunk. Per-tenant concurrency is capped (default 5). Final 'done' event carries estimated_llm_input_tokens.
394
+ ## @param value Value to set for the stream property.
395
+ ## @return a void
396
+ ##
397
+ def stream=(value)
398
+ @stream = value
399
+ end
400
+ ##
401
+ ## Gets the url property value. The url property
402
+ ## @return a scrape_request_url
403
+ ##
404
+ def url
405
+ return @url
406
+ end
407
+ ##
408
+ ## Sets the url property value. The url property
409
+ ## @param value Value to set for the url property.
410
+ ## @return a void
411
+ ##
412
+ def url=(value)
413
+ @url = value
414
+ end
415
+ ##
416
+ ## Gets the urls property value. The urls property
417
+ ## @return a scrape_request_urls
418
+ ##
419
+ def urls
420
+ return @urls
421
+ end
422
+ ##
423
+ ## Sets the urls property value. The urls property
424
+ ## @param value Value to set for the urls property.
425
+ ## @return a void
426
+ ##
427
+ def urls=(value)
428
+ @urls = value
429
+ end
430
+
431
+ ##
432
+ # Composed type wrapper for classes ScrapeRequestBehaviorActionsMember1, ScrapeRequestBehaviorActionsMember2
433
+ class ScrapeRequestBehaviorActions
434
+ include MicrosoftKiotaAbstractions::Parsable
435
+ ##
436
+ # Composed type representation for type ScrapeRequestBehaviorActionsMember1
437
+ @scrape_request_behavior_actions_member1
438
+ ##
439
+ # Composed type representation for type ScrapeRequestBehaviorActionsMember2
440
+ @scrape_request_behavior_actions_member2
441
+ ##
442
+ ## Creates a new instance of the appropriate class based on discriminator value
443
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
444
+ ## @return a scrape_request_behavior_actions
445
+ ##
446
+ def self.create_from_discriminator_value(parse_node)
447
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
448
+ return ScrapeRequestBehaviorActions.new
449
+ end
450
+ ##
451
+ ## The deserialization information for the current model
452
+ ## @return a i_dictionary
453
+ ##
454
+ def get_field_deserializers()
455
+ return {
456
+ "ScrapeRequest_behavior_actionsMember1" => lambda {|n| @scrape_request_behavior_actions_member1 = n.get_collection_of_object_values(lambda {|pn| Ghostcrawl::Models::ScrapeRequestBehaviorActionsMember1.create_from_discriminator_value(pn) }) },
457
+ "ScrapeRequest_behavior_actionsMember2" => lambda {|n| @scrape_request_behavior_actions_member2 = n.get_object_value(lambda {|pn| Ghostcrawl::Models::ScrapeRequestBehaviorActionsMember2.create_from_discriminator_value(pn) }) },
458
+ }
459
+ end
460
+ ##
461
+ ## Gets the ScrapeRequest_behavior_actionsMember1 property value. Composed type representation for type ScrapeRequestBehaviorActionsMember1
462
+ ## @return a scrape_request_behavior_actions_member1
463
+ ##
464
+ def scrape_request_behavior_actions_member1
465
+ return @scrape_request_behavior_actions_member1
466
+ end
467
+ ##
468
+ ## Sets the ScrapeRequest_behavior_actionsMember1 property value. Composed type representation for type ScrapeRequestBehaviorActionsMember1
469
+ ## @param value Value to set for the ScrapeRequest_behavior_actionsMember1 property.
470
+ ## @return a void
471
+ ##
472
+ def scrape_request_behavior_actions_member1=(value)
473
+ @scrape_request_behavior_actions_member1 = value
474
+ end
475
+ ##
476
+ ## Gets the ScrapeRequest_behavior_actionsMember2 property value. Composed type representation for type ScrapeRequestBehaviorActionsMember2
477
+ ## @return a scrape_request_behavior_actions_member2
478
+ ##
479
+ def scrape_request_behavior_actions_member2
480
+ return @scrape_request_behavior_actions_member2
481
+ end
482
+ ##
483
+ ## Sets the ScrapeRequest_behavior_actionsMember2 property value. Composed type representation for type ScrapeRequestBehaviorActionsMember2
484
+ ## @param value Value to set for the ScrapeRequest_behavior_actionsMember2 property.
485
+ ## @return a void
486
+ ##
487
+ def scrape_request_behavior_actions_member2=(value)
488
+ @scrape_request_behavior_actions_member2 = value
489
+ end
490
+ ##
491
+ ## Serializes information the current object
492
+ ## @param writer Serialization writer to use to serialize this model
493
+ ## @return a void
494
+ ##
495
+ def serialize(writer)
496
+ raise StandardError, 'writer cannot be null' if writer.nil?
497
+ writer.write_collection_of_object_values("ScrapeRequest_behavior_actionsMember1", @scrape_request_behavior_actions_member1)
498
+ writer.write_object_value("ScrapeRequest_behavior_actionsMember2", @scrape_request_behavior_actions_member2)
499
+ end
500
+ end
501
+
502
+ ##
503
+ # Composed type wrapper for classes ScrapeRequestIdentityMember1, string
504
+ class ScrapeRequestIdentity
505
+ include MicrosoftKiotaAbstractions::Parsable
506
+ ##
507
+ # Composed type representation for type ScrapeRequestIdentityMember1
508
+ @scrape_request_identity_member1
509
+ ##
510
+ # Composed type representation for type string
511
+ @string
512
+ ##
513
+ ## Creates a new instance of the appropriate class based on discriminator value
514
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
515
+ ## @return a scrape_request_identity
516
+ ##
517
+ def self.create_from_discriminator_value(parse_node)
518
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
519
+ return ScrapeRequestIdentity.new
520
+ end
521
+ ##
522
+ ## The deserialization information for the current model
523
+ ## @return a i_dictionary
524
+ ##
525
+ def get_field_deserializers()
526
+ return {
527
+ "ScrapeRequest_identityMember1" => lambda {|n| @scrape_request_identity_member1 = n.get_object_value(lambda {|pn| Ghostcrawl::Models::ScrapeRequestIdentityMember1.create_from_discriminator_value(pn) }) },
528
+ "string" => lambda {|n| @string = n.get_string_value() },
529
+ }
530
+ end
531
+ ##
532
+ ## Gets the ScrapeRequest_identityMember1 property value. Composed type representation for type ScrapeRequestIdentityMember1
533
+ ## @return a scrape_request_identity_member1
534
+ ##
535
+ def scrape_request_identity_member1
536
+ return @scrape_request_identity_member1
537
+ end
538
+ ##
539
+ ## Sets the ScrapeRequest_identityMember1 property value. Composed type representation for type ScrapeRequestIdentityMember1
540
+ ## @param value Value to set for the ScrapeRequest_identityMember1 property.
541
+ ## @return a void
542
+ ##
543
+ def scrape_request_identity_member1=(value)
544
+ @scrape_request_identity_member1 = value
545
+ end
546
+ ##
547
+ ## Serializes information the current object
548
+ ## @param writer Serialization writer to use to serialize this model
549
+ ## @return a void
550
+ ##
551
+ def serialize(writer)
552
+ raise StandardError, 'writer cannot be null' if writer.nil?
553
+ writer.write_object_value("ScrapeRequest_identityMember1", @scrape_request_identity_member1)
554
+ writer.write_string_value("string", @string)
555
+ end
556
+ ##
557
+ ## Gets the string property value. Composed type representation for type string
558
+ ## @return a string
559
+ ##
560
+ def string
561
+ return @string
562
+ end
563
+ ##
564
+ ## Sets the string property value. Composed type representation for type string
565
+ ## @param value Value to set for the string property.
566
+ ## @return a void
567
+ ##
568
+ def string=(value)
569
+ @string = value
570
+ end
571
+ end
572
+
573
+ ##
574
+ # Composed type wrapper for classes ScrapeRequestIdentityCountryMember1, string
575
+ class ScrapeRequestIdentityCountry
576
+ include MicrosoftKiotaAbstractions::Parsable
577
+ ##
578
+ # Composed type representation for type ScrapeRequestIdentityCountryMember1
579
+ @scrape_request_identity_country_member1
580
+ ##
581
+ # Composed type representation for type string
582
+ @string
583
+ ##
584
+ ## Creates a new instance of the appropriate class based on discriminator value
585
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
586
+ ## @return a scrape_request_identity_country
587
+ ##
588
+ def self.create_from_discriminator_value(parse_node)
589
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
590
+ return ScrapeRequestIdentityCountry.new
591
+ end
592
+ ##
593
+ ## The deserialization information for the current model
594
+ ## @return a i_dictionary
595
+ ##
596
+ def get_field_deserializers()
597
+ return {
598
+ "ScrapeRequest_identity_countryMember1" => lambda {|n| @scrape_request_identity_country_member1 = n.get_object_value(lambda {|pn| Ghostcrawl::Models::ScrapeRequestIdentityCountryMember1.create_from_discriminator_value(pn) }) },
599
+ "string" => lambda {|n| @string = n.get_string_value() },
600
+ }
601
+ end
602
+ ##
603
+ ## Gets the ScrapeRequest_identity_countryMember1 property value. Composed type representation for type ScrapeRequestIdentityCountryMember1
604
+ ## @return a scrape_request_identity_country_member1
605
+ ##
606
+ def scrape_request_identity_country_member1
607
+ return @scrape_request_identity_country_member1
608
+ end
609
+ ##
610
+ ## Sets the ScrapeRequest_identity_countryMember1 property value. Composed type representation for type ScrapeRequestIdentityCountryMember1
611
+ ## @param value Value to set for the ScrapeRequest_identity_countryMember1 property.
612
+ ## @return a void
613
+ ##
614
+ def scrape_request_identity_country_member1=(value)
615
+ @scrape_request_identity_country_member1 = value
616
+ end
617
+ ##
618
+ ## Serializes information the current object
619
+ ## @param writer Serialization writer to use to serialize this model
620
+ ## @return a void
621
+ ##
622
+ def serialize(writer)
623
+ raise StandardError, 'writer cannot be null' if writer.nil?
624
+ writer.write_object_value("ScrapeRequest_identity_countryMember1", @scrape_request_identity_country_member1)
625
+ writer.write_string_value("string", @string)
626
+ end
627
+ ##
628
+ ## Gets the string property value. Composed type representation for type string
629
+ ## @return a string
630
+ ##
631
+ def string
632
+ return @string
633
+ end
634
+ ##
635
+ ## Sets the string property value. Composed type representation for type string
636
+ ## @param value Value to set for the string property.
637
+ ## @return a void
638
+ ##
639
+ def string=(value)
640
+ @string = value
641
+ end
642
+ end
643
+
644
+ ##
645
+ # Composed type wrapper for classes ScrapeRequestLanguageMember1, string
646
+ class ScrapeRequestLanguage
647
+ include MicrosoftKiotaAbstractions::Parsable
648
+ ##
649
+ # Composed type representation for type ScrapeRequestLanguageMember1
650
+ @scrape_request_language_member1
651
+ ##
652
+ # Composed type representation for type string
653
+ @string
654
+ ##
655
+ ## Creates a new instance of the appropriate class based on discriminator value
656
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
657
+ ## @return a scrape_request_language
658
+ ##
659
+ def self.create_from_discriminator_value(parse_node)
660
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
661
+ return ScrapeRequestLanguage.new
662
+ end
663
+ ##
664
+ ## The deserialization information for the current model
665
+ ## @return a i_dictionary
666
+ ##
667
+ def get_field_deserializers()
668
+ return {
669
+ "ScrapeRequest_languageMember1" => lambda {|n| @scrape_request_language_member1 = n.get_object_value(lambda {|pn| Ghostcrawl::Models::ScrapeRequestLanguageMember1.create_from_discriminator_value(pn) }) },
670
+ "string" => lambda {|n| @string = n.get_string_value() },
671
+ }
672
+ end
673
+ ##
674
+ ## Gets the ScrapeRequest_languageMember1 property value. Composed type representation for type ScrapeRequestLanguageMember1
675
+ ## @return a scrape_request_language_member1
676
+ ##
677
+ def scrape_request_language_member1
678
+ return @scrape_request_language_member1
679
+ end
680
+ ##
681
+ ## Sets the ScrapeRequest_languageMember1 property value. Composed type representation for type ScrapeRequestLanguageMember1
682
+ ## @param value Value to set for the ScrapeRequest_languageMember1 property.
683
+ ## @return a void
684
+ ##
685
+ def scrape_request_language_member1=(value)
686
+ @scrape_request_language_member1 = value
687
+ end
688
+ ##
689
+ ## Serializes information the current object
690
+ ## @param writer Serialization writer to use to serialize this model
691
+ ## @return a void
692
+ ##
693
+ def serialize(writer)
694
+ raise StandardError, 'writer cannot be null' if writer.nil?
695
+ writer.write_object_value("ScrapeRequest_languageMember1", @scrape_request_language_member1)
696
+ writer.write_string_value("string", @string)
697
+ end
698
+ ##
699
+ ## Gets the string property value. Composed type representation for type string
700
+ ## @return a string
701
+ ##
702
+ def string
703
+ return @string
704
+ end
705
+ ##
706
+ ## Sets the string property value. Composed type representation for type string
707
+ ## @param value Value to set for the string property.
708
+ ## @return a void
709
+ ##
710
+ def string=(value)
711
+ @string = value
712
+ end
713
+ end
714
+
715
+ ##
716
+ # Composed type wrapper for classes ScrapeRequestProfileMember1, string
717
+ class ScrapeRequestProfile
718
+ include MicrosoftKiotaAbstractions::Parsable
719
+ ##
720
+ # Composed type representation for type ScrapeRequestProfileMember1
721
+ @scrape_request_profile_member1
722
+ ##
723
+ # Composed type representation for type string
724
+ @string
725
+ ##
726
+ ## Creates a new instance of the appropriate class based on discriminator value
727
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
728
+ ## @return a scrape_request_profile
729
+ ##
730
+ def self.create_from_discriminator_value(parse_node)
731
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
732
+ return ScrapeRequestProfile.new
733
+ end
734
+ ##
735
+ ## The deserialization information for the current model
736
+ ## @return a i_dictionary
737
+ ##
738
+ def get_field_deserializers()
739
+ return {
740
+ "ScrapeRequest_profileMember1" => lambda {|n| @scrape_request_profile_member1 = n.get_object_value(lambda {|pn| Ghostcrawl::Models::ScrapeRequestProfileMember1.create_from_discriminator_value(pn) }) },
741
+ "string" => lambda {|n| @string = n.get_string_value() },
742
+ }
743
+ end
744
+ ##
745
+ ## Gets the ScrapeRequest_profileMember1 property value. Composed type representation for type ScrapeRequestProfileMember1
746
+ ## @return a scrape_request_profile_member1
747
+ ##
748
+ def scrape_request_profile_member1
749
+ return @scrape_request_profile_member1
750
+ end
751
+ ##
752
+ ## Sets the ScrapeRequest_profileMember1 property value. Composed type representation for type ScrapeRequestProfileMember1
753
+ ## @param value Value to set for the ScrapeRequest_profileMember1 property.
754
+ ## @return a void
755
+ ##
756
+ def scrape_request_profile_member1=(value)
757
+ @scrape_request_profile_member1 = value
758
+ end
759
+ ##
760
+ ## Serializes information the current object
761
+ ## @param writer Serialization writer to use to serialize this model
762
+ ## @return a void
763
+ ##
764
+ def serialize(writer)
765
+ raise StandardError, 'writer cannot be null' if writer.nil?
766
+ writer.write_object_value("ScrapeRequest_profileMember1", @scrape_request_profile_member1)
767
+ writer.write_string_value("string", @string)
768
+ end
769
+ ##
770
+ ## Gets the string property value. Composed type representation for type string
771
+ ## @return a string
772
+ ##
773
+ def string
774
+ return @string
775
+ end
776
+ ##
777
+ ## Sets the string property value. Composed type representation for type string
778
+ ## @param value Value to set for the string property.
779
+ ## @return a void
780
+ ##
781
+ def string=(value)
782
+ @string = value
783
+ end
784
+ end
785
+
786
+ ##
787
+ # Composed type wrapper for classes ScrapeRequestProxyMember1, string
788
+ class ScrapeRequestProxy
789
+ include MicrosoftKiotaAbstractions::Parsable
790
+ ##
791
+ # Composed type representation for type ScrapeRequestProxyMember1
792
+ @scrape_request_proxy_member1
793
+ ##
794
+ # Composed type representation for type string
795
+ @string
796
+ ##
797
+ ## Creates a new instance of the appropriate class based on discriminator value
798
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
799
+ ## @return a scrape_request_proxy
800
+ ##
801
+ def self.create_from_discriminator_value(parse_node)
802
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
803
+ return ScrapeRequestProxy.new
804
+ end
805
+ ##
806
+ ## The deserialization information for the current model
807
+ ## @return a i_dictionary
808
+ ##
809
+ def get_field_deserializers()
810
+ return {
811
+ "ScrapeRequest_proxyMember1" => lambda {|n| @scrape_request_proxy_member1 = n.get_object_value(lambda {|pn| Ghostcrawl::Models::ScrapeRequestProxyMember1.create_from_discriminator_value(pn) }) },
812
+ "string" => lambda {|n| @string = n.get_string_value() },
813
+ }
814
+ end
815
+ ##
816
+ ## Gets the ScrapeRequest_proxyMember1 property value. Composed type representation for type ScrapeRequestProxyMember1
817
+ ## @return a scrape_request_proxy_member1
818
+ ##
819
+ def scrape_request_proxy_member1
820
+ return @scrape_request_proxy_member1
821
+ end
822
+ ##
823
+ ## Sets the ScrapeRequest_proxyMember1 property value. Composed type representation for type ScrapeRequestProxyMember1
824
+ ## @param value Value to set for the ScrapeRequest_proxyMember1 property.
825
+ ## @return a void
826
+ ##
827
+ def scrape_request_proxy_member1=(value)
828
+ @scrape_request_proxy_member1 = value
829
+ end
830
+ ##
831
+ ## Serializes information the current object
832
+ ## @param writer Serialization writer to use to serialize this model
833
+ ## @return a void
834
+ ##
835
+ def serialize(writer)
836
+ raise StandardError, 'writer cannot be null' if writer.nil?
837
+ writer.write_object_value("ScrapeRequest_proxyMember1", @scrape_request_proxy_member1)
838
+ writer.write_string_value("string", @string)
839
+ end
840
+ ##
841
+ ## Gets the string property value. Composed type representation for type string
842
+ ## @return a string
843
+ ##
844
+ def string
845
+ return @string
846
+ end
847
+ ##
848
+ ## Sets the string property value. Composed type representation for type string
849
+ ## @param value Value to set for the string property.
850
+ ## @return a void
851
+ ##
852
+ def string=(value)
853
+ @string = value
854
+ end
855
+ end
856
+
857
+ ##
858
+ # Composed type wrapper for classes ScrapeRequestScreenshotSelectorMember1, string
859
+ class ScrapeRequestScreenshotSelector
860
+ include MicrosoftKiotaAbstractions::Parsable
861
+ ##
862
+ # Composed type representation for type ScrapeRequestScreenshotSelectorMember1
863
+ @scrape_request_screenshot_selector_member1
864
+ ##
865
+ # Composed type representation for type string
866
+ @string
867
+ ##
868
+ ## Creates a new instance of the appropriate class based on discriminator value
869
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
870
+ ## @return a scrape_request_screenshot_selector
871
+ ##
872
+ def self.create_from_discriminator_value(parse_node)
873
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
874
+ return ScrapeRequestScreenshotSelector.new
875
+ end
876
+ ##
877
+ ## The deserialization information for the current model
878
+ ## @return a i_dictionary
879
+ ##
880
+ def get_field_deserializers()
881
+ return {
882
+ "ScrapeRequest_screenshot_selectorMember1" => lambda {|n| @scrape_request_screenshot_selector_member1 = n.get_object_value(lambda {|pn| Ghostcrawl::Models::ScrapeRequestScreenshotSelectorMember1.create_from_discriminator_value(pn) }) },
883
+ "string" => lambda {|n| @string = n.get_string_value() },
884
+ }
885
+ end
886
+ ##
887
+ ## Gets the ScrapeRequest_screenshot_selectorMember1 property value. Composed type representation for type ScrapeRequestScreenshotSelectorMember1
888
+ ## @return a scrape_request_screenshot_selector_member1
889
+ ##
890
+ def scrape_request_screenshot_selector_member1
891
+ return @scrape_request_screenshot_selector_member1
892
+ end
893
+ ##
894
+ ## Sets the ScrapeRequest_screenshot_selectorMember1 property value. Composed type representation for type ScrapeRequestScreenshotSelectorMember1
895
+ ## @param value Value to set for the ScrapeRequest_screenshot_selectorMember1 property.
896
+ ## @return a void
897
+ ##
898
+ def scrape_request_screenshot_selector_member1=(value)
899
+ @scrape_request_screenshot_selector_member1 = value
900
+ end
901
+ ##
902
+ ## Serializes information the current object
903
+ ## @param writer Serialization writer to use to serialize this model
904
+ ## @return a void
905
+ ##
906
+ def serialize(writer)
907
+ raise StandardError, 'writer cannot be null' if writer.nil?
908
+ writer.write_object_value("ScrapeRequest_screenshot_selectorMember1", @scrape_request_screenshot_selector_member1)
909
+ writer.write_string_value("string", @string)
910
+ end
911
+ ##
912
+ ## Gets the string property value. Composed type representation for type string
913
+ ## @return a string
914
+ ##
915
+ def string
916
+ return @string
917
+ end
918
+ ##
919
+ ## Sets the string property value. Composed type representation for type string
920
+ ## @param value Value to set for the string property.
921
+ ## @return a void
922
+ ##
923
+ def string=(value)
924
+ @string = value
925
+ end
926
+ end
927
+
928
+ ##
929
+ # Composed type wrapper for classes ScrapeRequestSessionMember1, string
930
+ class ScrapeRequestSession
931
+ include MicrosoftKiotaAbstractions::Parsable
932
+ ##
933
+ # Composed type representation for type ScrapeRequestSessionMember1
934
+ @scrape_request_session_member1
935
+ ##
936
+ # Composed type representation for type string
937
+ @string
938
+ ##
939
+ ## Creates a new instance of the appropriate class based on discriminator value
940
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
941
+ ## @return a scrape_request_session
942
+ ##
943
+ def self.create_from_discriminator_value(parse_node)
944
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
945
+ return ScrapeRequestSession.new
946
+ end
947
+ ##
948
+ ## The deserialization information for the current model
949
+ ## @return a i_dictionary
950
+ ##
951
+ def get_field_deserializers()
952
+ return {
953
+ "ScrapeRequest_sessionMember1" => lambda {|n| @scrape_request_session_member1 = n.get_object_value(lambda {|pn| Ghostcrawl::Models::ScrapeRequestSessionMember1.create_from_discriminator_value(pn) }) },
954
+ "string" => lambda {|n| @string = n.get_string_value() },
955
+ }
956
+ end
957
+ ##
958
+ ## Gets the ScrapeRequest_sessionMember1 property value. Composed type representation for type ScrapeRequestSessionMember1
959
+ ## @return a scrape_request_session_member1
960
+ ##
961
+ def scrape_request_session_member1
962
+ return @scrape_request_session_member1
963
+ end
964
+ ##
965
+ ## Sets the ScrapeRequest_sessionMember1 property value. Composed type representation for type ScrapeRequestSessionMember1
966
+ ## @param value Value to set for the ScrapeRequest_sessionMember1 property.
967
+ ## @return a void
968
+ ##
969
+ def scrape_request_session_member1=(value)
970
+ @scrape_request_session_member1 = value
971
+ end
972
+ ##
973
+ ## Serializes information the current object
974
+ ## @param writer Serialization writer to use to serialize this model
975
+ ## @return a void
976
+ ##
977
+ def serialize(writer)
978
+ raise StandardError, 'writer cannot be null' if writer.nil?
979
+ writer.write_object_value("ScrapeRequest_sessionMember1", @scrape_request_session_member1)
980
+ writer.write_string_value("string", @string)
981
+ end
982
+ ##
983
+ ## Gets the string property value. Composed type representation for type string
984
+ ## @return a string
985
+ ##
986
+ def string
987
+ return @string
988
+ end
989
+ ##
990
+ ## Sets the string property value. Composed type representation for type string
991
+ ## @param value Value to set for the string property.
992
+ ## @return a void
993
+ ##
994
+ def string=(value)
995
+ @string = value
996
+ end
997
+ end
998
+
999
+ ##
1000
+ # Composed type wrapper for classes ScrapeRequestUrlMember1, string
1001
+ class ScrapeRequestUrl
1002
+ include MicrosoftKiotaAbstractions::Parsable
1003
+ ##
1004
+ # Composed type representation for type ScrapeRequestUrlMember1
1005
+ @scrape_request_url_member1
1006
+ ##
1007
+ # Composed type representation for type string
1008
+ @string
1009
+ ##
1010
+ ## Creates a new instance of the appropriate class based on discriminator value
1011
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
1012
+ ## @return a scrape_request_url
1013
+ ##
1014
+ def self.create_from_discriminator_value(parse_node)
1015
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
1016
+ return ScrapeRequestUrl.new
1017
+ end
1018
+ ##
1019
+ ## The deserialization information for the current model
1020
+ ## @return a i_dictionary
1021
+ ##
1022
+ def get_field_deserializers()
1023
+ return {
1024
+ "ScrapeRequest_urlMember1" => lambda {|n| @scrape_request_url_member1 = n.get_object_value(lambda {|pn| Ghostcrawl::Models::ScrapeRequestUrlMember1.create_from_discriminator_value(pn) }) },
1025
+ "string" => lambda {|n| @string = n.get_string_value() },
1026
+ }
1027
+ end
1028
+ ##
1029
+ ## Gets the ScrapeRequest_urlMember1 property value. Composed type representation for type ScrapeRequestUrlMember1
1030
+ ## @return a scrape_request_url_member1
1031
+ ##
1032
+ def scrape_request_url_member1
1033
+ return @scrape_request_url_member1
1034
+ end
1035
+ ##
1036
+ ## Sets the ScrapeRequest_urlMember1 property value. Composed type representation for type ScrapeRequestUrlMember1
1037
+ ## @param value Value to set for the ScrapeRequest_urlMember1 property.
1038
+ ## @return a void
1039
+ ##
1040
+ def scrape_request_url_member1=(value)
1041
+ @scrape_request_url_member1 = value
1042
+ end
1043
+ ##
1044
+ ## Serializes information the current object
1045
+ ## @param writer Serialization writer to use to serialize this model
1046
+ ## @return a void
1047
+ ##
1048
+ def serialize(writer)
1049
+ raise StandardError, 'writer cannot be null' if writer.nil?
1050
+ writer.write_object_value("ScrapeRequest_urlMember1", @scrape_request_url_member1)
1051
+ writer.write_string_value("string", @string)
1052
+ end
1053
+ ##
1054
+ ## Gets the string property value. Composed type representation for type string
1055
+ ## @return a string
1056
+ ##
1057
+ def string
1058
+ return @string
1059
+ end
1060
+ ##
1061
+ ## Sets the string property value. Composed type representation for type string
1062
+ ## @param value Value to set for the string property.
1063
+ ## @return a void
1064
+ ##
1065
+ def string=(value)
1066
+ @string = value
1067
+ end
1068
+ end
1069
+
1070
+ ##
1071
+ # Composed type wrapper for classes ScrapeRequestUrlsMember1, string
1072
+ class ScrapeRequestUrls
1073
+ include MicrosoftKiotaAbstractions::Parsable
1074
+ ##
1075
+ # Composed type representation for type ScrapeRequestUrlsMember1
1076
+ @scrape_request_urls_member1
1077
+ ##
1078
+ # Composed type representation for type string
1079
+ @string
1080
+ ##
1081
+ ## Creates a new instance of the appropriate class based on discriminator value
1082
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
1083
+ ## @return a scrape_request_urls
1084
+ ##
1085
+ def self.create_from_discriminator_value(parse_node)
1086
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
1087
+ return ScrapeRequestUrls.new
1088
+ end
1089
+ ##
1090
+ ## The deserialization information for the current model
1091
+ ## @return a i_dictionary
1092
+ ##
1093
+ def get_field_deserializers()
1094
+ return {
1095
+ "ScrapeRequest_urlsMember1" => lambda {|n| @scrape_request_urls_member1 = n.get_object_value(lambda {|pn| Ghostcrawl::Models::ScrapeRequestUrlsMember1.create_from_discriminator_value(pn) }) },
1096
+ "string" => lambda {|n| @string = n.get_collection_of_primitive_values(String) },
1097
+ }
1098
+ end
1099
+ ##
1100
+ ## Gets the ScrapeRequest_urlsMember1 property value. Composed type representation for type ScrapeRequestUrlsMember1
1101
+ ## @return a scrape_request_urls_member1
1102
+ ##
1103
+ def scrape_request_urls_member1
1104
+ return @scrape_request_urls_member1
1105
+ end
1106
+ ##
1107
+ ## Sets the ScrapeRequest_urlsMember1 property value. Composed type representation for type ScrapeRequestUrlsMember1
1108
+ ## @param value Value to set for the ScrapeRequest_urlsMember1 property.
1109
+ ## @return a void
1110
+ ##
1111
+ def scrape_request_urls_member1=(value)
1112
+ @scrape_request_urls_member1 = value
1113
+ end
1114
+ ##
1115
+ ## Serializes information the current object
1116
+ ## @param writer Serialization writer to use to serialize this model
1117
+ ## @return a void
1118
+ ##
1119
+ def serialize(writer)
1120
+ raise StandardError, 'writer cannot be null' if writer.nil?
1121
+ writer.write_object_value("ScrapeRequest_urlsMember1", @scrape_request_urls_member1)
1122
+ writer.write_collection_of_primitive_values("string", @string)
1123
+ end
1124
+ ##
1125
+ ## Gets the string property value. Composed type representation for type string
1126
+ ## @return a string
1127
+ ##
1128
+ def string
1129
+ return @string
1130
+ end
1131
+ ##
1132
+ ## Sets the string property value. Composed type representation for type string
1133
+ ## @param value Value to set for the string property.
1134
+ ## @return a void
1135
+ ##
1136
+ def string=(value)
1137
+ @string = value
1138
+ end
1139
+ end
1140
+ end
1141
+ end
1142
+ end