plainrouter-sdk 0.2.0 → 0.6.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 (250) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +16 -2
  3. data/lib/plainrouter/client.rb +338 -3
  4. data/lib/plainrouter/closed_input_objects.json +3896 -0
  5. data/lib/plainrouter/closed_input_validator.rb +246 -0
  6. data/lib/plainrouter/integer_input_fields.json +579 -0
  7. data/lib/plainrouter/openapi/api/action_dry_run_api_api.rb +2 -2
  8. data/lib/plainrouter/openapi/api/action_proposal_api_api.rb +2 -2
  9. data/lib/plainrouter/openapi/api/action_read_api_api.rb +71 -31
  10. data/lib/plainrouter/openapi/api/action_rule_api_api.rb +350 -0
  11. data/lib/plainrouter/openapi/api/ad_test_api_api.rb +263 -0
  12. data/lib/plainrouter/openapi/api/agent_context_api.rb +93 -0
  13. data/lib/plainrouter/openapi/api/cookie_declaration_api.rb +90 -0
  14. data/lib/plainrouter/openapi/api/creative_api.rb +422 -0
  15. data/lib/plainrouter/openapi/api/deployment_plan_api.rb +561 -0
  16. data/lib/plainrouter/openapi/api/draft_batch_file_import_api.rb +142 -0
  17. data/lib/plainrouter/openapi/api/launch_policy_api.rb +242 -0
  18. data/lib/plainrouter/openapi/api/meta_inventory_exposure_api.rb +254 -0
  19. data/lib/plainrouter/openapi/api_client.rb +3 -0
  20. data/lib/plainrouter/openapi/api_model_base.rb +2 -0
  21. data/lib/plainrouter/openapi/configuration.rb +76 -0
  22. data/lib/plainrouter/openapi/models/action_batch_read_data.rb +42 -4
  23. data/lib/plainrouter/openapi/models/action_current_disposition.rb +13 -1
  24. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload.rb +238 -0
  25. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_baseline.rb +103 -0
  26. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_baseline_any_of.rb +245 -0
  27. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_inverse.rb +206 -0
  28. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_metrics.rb +103 -0
  29. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_metrics_any_of.rb +276 -0
  30. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run.rb +42 -4
  31. data/lib/plainrouter/openapi/models/action_list_read_meta.rb +33 -4
  32. data/lib/plainrouter/openapi/models/action_policy_read_data.rb +3 -105
  33. data/lib/plainrouter/openapi/models/action_policy_result.rb +374 -0
  34. data/lib/plainrouter/openapi/models/action_proposal_input.rb +103 -4
  35. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner.rb +1 -0
  36. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of.rb +2 -0
  37. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of1.rb +2 -0
  38. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10.rb +2 -0
  39. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10_params.rb +2 -0
  40. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11.rb +3 -1
  41. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12.rb +2 -0
  42. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12_params.rb +2 -0
  43. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13.rb +2 -0
  44. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13_params.rb +2 -0
  45. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of2.rb +2 -0
  46. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of3.rb +2 -0
  47. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4.rb +2 -0
  48. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4_target_entity.rb +2 -0
  49. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of5.rb +2 -0
  50. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of6.rb +2 -0
  51. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of7.rb +2 -0
  52. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of8.rb +2 -0
  53. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of9.rb +2 -0
  54. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_params.rb +2 -0
  55. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_target_entity.rb +2 -0
  56. data/lib/plainrouter/openapi/models/action_proposal_input_evidence_inner.rb +4 -2
  57. data/lib/plainrouter/openapi/models/action_proposal_read_proposal.rb +42 -4
  58. data/lib/plainrouter/openapi/models/action_read_item.rb +72 -4
  59. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence.rb +319 -0
  60. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_counted.rb +174 -0
  61. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_coverage.rb +162 -0
  62. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_meta_reported.rb +198 -0
  63. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_target.rb +190 -0
  64. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_window.rb +225 -0
  65. data/lib/plainrouter/openapi/models/action_read_item_evidence.rb +105 -0
  66. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of.rb +190 -0
  67. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of1.rb +242 -0
  68. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of2.rb +217 -0
  69. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of_outcome.rb +238 -0
  70. data/lib/plainrouter/openapi/models/action_read_item_proposer.rb +198 -0
  71. data/lib/plainrouter/openapi/models/action_receipt_unavailable.rb +164 -0
  72. data/lib/plainrouter/openapi/models/action_receipt_unavailable_error.rb +214 -0
  73. data/lib/plainrouter/openapi/models/action_rule_detail_read.rb +164 -0
  74. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule.rb +402 -0
  75. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule_current_revision.rb +388 -0
  76. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule_runs_inner.rb +396 -0
  77. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule_runs_inner_decisions_inner.rb +382 -0
  78. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule_window.rb +242 -0
  79. data/lib/plainrouter/openapi/models/action_rule_write_read.rb +164 -0
  80. data/lib/plainrouter/openapi/models/action_rule_write_read_rule.rb +373 -0
  81. data/lib/plainrouter/openapi/models/actions_api_decision_receipt404_response.rb +103 -0
  82. data/lib/plainrouter/openapi/models/actions_api_dry_run401_response.rb +103 -0
  83. data/lib/plainrouter/openapi/models/actions_rules_index200_response.rb +164 -0
  84. data/lib/plainrouter/openapi/models/actions_rules_index200_response_rules.rb +196 -0
  85. data/lib/plainrouter/openapi/models/actions_rules_index200_response_rules_data_inner.rb +344 -0
  86. data/lib/plainrouter/openapi/models/actions_rules_index200_response_rules_data_inner_account.rb +157 -0
  87. data/lib/plainrouter/openapi/models/actions_rules_index200_response_rules_data_inner_counts.rb +156 -0
  88. data/lib/plainrouter/openapi/models/actions_rules_index403_response.rb +103 -0
  89. data/lib/plainrouter/openapi/models/actions_rules_index403_response_any_of.rb +214 -0
  90. data/lib/plainrouter/openapi/models/actions_rules_store_request.rb +317 -0
  91. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition.rb +105 -0
  92. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition_any_of.rb +317 -0
  93. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition_any_of1.rb +361 -0
  94. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition_any_of2.rb +361 -0
  95. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition_any_of_cost_ratio.rb +104 -0
  96. data/lib/plainrouter/openapi/models/actions_rules_store_request_window.rb +103 -0
  97. data/lib/plainrouter/openapi/models/actions_rules_update_request.rb +267 -0
  98. data/lib/plainrouter/openapi/models/actions_rules_update_request_definition.rb +105 -0
  99. data/lib/plainrouter/openapi/models/actions_rules_update_request_definition_any_of.rb +317 -0
  100. data/lib/plainrouter/openapi/models/actions_rules_update_request_definition_any_of1.rb +361 -0
  101. data/lib/plainrouter/openapi/models/actions_rules_update_request_definition_any_of2.rb +361 -0
  102. data/lib/plainrouter/openapi/models/actions_tests_api_index404_response.rb +103 -0
  103. data/lib/plainrouter/openapi/models/actions_tests_api_store_request.rb +467 -0
  104. data/lib/plainrouter/openapi/models/actions_tests_api_store_request_maximum_spend_minor.rb +104 -0
  105. data/lib/plainrouter/openapi/models/ad_test.rb +552 -0
  106. data/lib/plainrouter/openapi/models/ad_test_create_read.rb +164 -0
  107. data/lib/plainrouter/openapi/models/ad_test_create_read_test.rb +675 -0
  108. data/lib/plainrouter/openapi/models/ad_test_create_read_test_members_inner.rb +232 -0
  109. data/lib/plainrouter/openapi/models/ad_test_create_read_test_pause_proposals_inner.rb +286 -0
  110. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict.rb +336 -0
  111. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_daily_facts_inner.rb +374 -0
  112. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details.rb +285 -0
  113. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details_baseline.rb +190 -0
  114. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details_observed_destinations_inner.rb +216 -0
  115. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_members_inner.rb +349 -0
  116. data/lib/plainrouter/openapi/models/ad_test_daily_fact_read.rb +374 -0
  117. data/lib/plainrouter/openapi/models/ad_test_event_choice.rb +190 -0
  118. data/lib/plainrouter/openapi/models/ad_test_list_read.rb +218 -0
  119. data/lib/plainrouter/openapi/models/ad_test_list_read_observed_conversion_events_inner.rb +190 -0
  120. data/lib/plainrouter/openapi/models/ad_test_list_read_tests.rb +396 -0
  121. data/lib/plainrouter/openapi/models/ad_test_read.rb +675 -0
  122. data/lib/plainrouter/openapi/models/ad_test_show_read.rb +164 -0
  123. data/lib/plainrouter/openapi/models/ad_test_verdict_member_read.rb +349 -0
  124. data/lib/plainrouter/openapi/models/ad_test_verdict_read.rb +336 -0
  125. data/lib/plainrouter/openapi/models/agent_context200_response.rb +214 -0
  126. data/lib/plainrouter/openapi/models/agent_context200_response_agent.rb +268 -0
  127. data/lib/plainrouter/openapi/models/agent_context200_response_platform_ad_account.rb +292 -0
  128. data/lib/plainrouter/openapi/models/agent_context200_response_platform_ad_account_workspace.rb +190 -0
  129. data/lib/plainrouter/openapi/models/agent_context401_response.rb +103 -0
  130. data/lib/plainrouter/openapi/models/agent_context_auth_error.rb +190 -0
  131. data/lib/plainrouter/openapi/models/agent_credential_error.rb +214 -0
  132. data/lib/plainrouter/openapi/models/api_route_not_found.rb +216 -0
  133. data/lib/plainrouter/openapi/models/api_route_not_found_error.rb +240 -0
  134. data/lib/plainrouter/openapi/models/api_route_not_found_request.rb +190 -0
  135. data/lib/plainrouter/openapi/models/api_route_not_found_resources.rb +190 -0
  136. data/lib/plainrouter/openapi/models/cookie_declaration.rb +177 -0
  137. data/lib/plainrouter/openapi/models/cookie_declaration_categories.rb +268 -0
  138. data/lib/plainrouter/openapi/models/cookie_declaration_categories_necessary.rb +194 -0
  139. data/lib/plainrouter/openapi/models/cookie_declaration_item.rb +280 -0
  140. data/lib/plainrouter/openapi/models/create_event202_response_warnings_inner.rb +2 -2
  141. data/lib/plainrouter/openapi/models/create_event_request_any_of.rb +1 -1
  142. data/lib/plainrouter/openapi/models/create_event_request_any_of1.rb +1 -1
  143. data/lib/plainrouter/openapi/models/creative_intake_read.rb +164 -0
  144. data/lib/plainrouter/openapi/models/creative_intake_rejected.rb +164 -0
  145. data/lib/plainrouter/openapi/models/creative_intake_rejected_error.rb +190 -0
  146. data/lib/plainrouter/openapi/models/creative_intake_tags.rb +257 -0
  147. data/lib/plainrouter/openapi/models/creative_mcp_grant_operation.rb +44 -0
  148. data/lib/plainrouter/openapi/models/creative_mcp_preview.rb +283 -0
  149. data/lib/plainrouter/openapi/models/creative_mcp_refusal.rb +45 -0
  150. data/lib/plainrouter/openapi/models/creative_mcp_tool.rb +44 -0
  151. data/lib/plainrouter/openapi/models/delivery_status.rb +2 -1
  152. data/lib/plainrouter/openapi/models/deployment_plan_read.rb +306 -0
  153. data/lib/plainrouter/openapi/models/deployment_plan_read_copy.rb +266 -0
  154. data/lib/plainrouter/openapi/models/deployment_plan_read_creatives_inner.rb +320 -0
  155. data/lib/plainrouter/openapi/models/deployment_plan_read_creatives_inner_copy.rb +267 -0
  156. data/lib/plainrouter/openapi/models/destination.rb +73 -9
  157. data/lib/plainrouter/openapi/models/destination_config.rb +103 -0
  158. data/lib/plainrouter/openapi/models/destination_status.rb +2 -1
  159. data/lib/plainrouter/openapi/models/destination_type.rb +2 -1
  160. data/lib/plainrouter/openapi/models/draft_batch_mode.rb +41 -0
  161. data/lib/plainrouter/openapi/models/execute_deployment_plan_request.rb +200 -0
  162. data/lib/plainrouter/openapi/models/get_account_inventory200_response.rb +341 -0
  163. data/lib/plainrouter/openapi/models/get_account_inventory200_response_summary.rb +158 -0
  164. data/lib/plainrouter/openapi/models/get_account_inventory404_response.rb +188 -0
  165. data/lib/plainrouter/openapi/models/get_cookie_declaration404_response.rb +103 -0
  166. data/lib/plainrouter/openapi/models/get_event200_response_deliveries_inner.rb +25 -1
  167. data/lib/plainrouter/openapi/models/get_event200_response_event_deliveries_inner.rb +25 -1
  168. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response.rb +345 -0
  169. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_account.rb +264 -0
  170. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_changes_inner.rb +304 -0
  171. data/lib/plainrouter/openapi/models/{action_proposal_input_actions_inner_any_of11_params.rb → get_inventory_metrics200_response_effective_range.rb} +41 -24
  172. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_metrics_inner.rb +492 -0
  173. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_object_metrics_inner.rb +304 -0
  174. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_object_metrics_inner_meta.rb +268 -0
  175. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_pagination_value.rb +202 -0
  176. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_staleness.rb +200 -0
  177. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_sync.rb +186 -0
  178. data/lib/plainrouter/openapi/models/ingestion_warning_code.rb +2 -1
  179. data/lib/plainrouter/openapi/models/launch_creatives_index200_response.rb +164 -0
  180. data/lib/plainrouter/openapi/models/launch_creatives_index200_response_creatives.rb +196 -0
  181. data/lib/plainrouter/openapi/models/launch_creatives_index200_response_creatives_data_inner.rb +451 -0
  182. data/lib/plainrouter/openapi/models/launch_creatives_index200_response_creatives_data_inner_tags.rb +104 -0
  183. data/lib/plainrouter/openapi/models/launch_creatives_status200_response.rb +166 -0
  184. data/lib/plainrouter/openapi/models/launch_intent_read.rb +164 -0
  185. data/lib/plainrouter/openapi/models/launch_intent_read_intent.rb +330 -0
  186. data/lib/plainrouter/openapi/models/launch_intent_read_intent_actions_inner.rb +238 -0
  187. data/lib/plainrouter/openapi/models/launch_intent_status.rb +46 -0
  188. data/lib/plainrouter/openapi/models/launch_plans_copy403_response.rb +103 -0
  189. data/lib/plainrouter/openapi/models/launch_plans_copy404_response.rb +103 -0
  190. data/lib/plainrouter/openapi/models/launch_plans_copy422_response.rb +103 -0
  191. data/lib/plainrouter/openapi/models/launch_plans_execute422_response.rb +103 -0
  192. data/lib/plainrouter/openapi/models/launch_plans_index200_response.rb +164 -0
  193. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans.rb +347 -0
  194. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans_next_page_arguments.rb +104 -0
  195. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans_next_page_arguments_any_of.rb +190 -0
  196. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans_next_page_arguments_any_of1.rb +190 -0
  197. data/lib/plainrouter/openapi/models/launch_plans_show200_response.rb +164 -0
  198. data/lib/plainrouter/openapi/models/launch_plans_store201_response.rb +166 -0
  199. data/lib/plainrouter/openapi/models/launch_plans_validate422_response.rb +103 -0
  200. data/lib/plainrouter/openapi/models/launch_policies_index200_response.rb +164 -0
  201. data/lib/plainrouter/openapi/models/launch_policies_index200_response_policies.rb +453 -0
  202. data/lib/plainrouter/openapi/models/{list_events200_response_events_links_inner.rb → launch_policies_index200_response_policies_links_inner.rb} +3 -3
  203. data/lib/plainrouter/openapi/models/launch_policies_store201_response.rb +166 -0
  204. data/lib/plainrouter/openapi/models/launch_policy.rb +346 -0
  205. data/lib/plainrouter/openapi/models/launcher_file_import403_response.rb +216 -0
  206. data/lib/plainrouter/openapi/models/launcher_file_import422_response.rb +103 -0
  207. data/lib/plainrouter/openapi/models/launcher_file_import422_response_any_of.rb +242 -0
  208. data/lib/plainrouter/openapi/models/launcher_file_import422_response_any_of_syntactic_row_failures_inner.rb +190 -0
  209. data/lib/plainrouter/openapi/models/list_events200_response_events.rb +1 -1
  210. data/lib/plainrouter/openapi/models/plan_copy_forbidden.rb +164 -0
  211. data/lib/plainrouter/openapi/models/plan_copy_forbidden_error.rb +214 -0
  212. data/lib/plainrouter/openapi/models/plan_copy_not_found.rb +164 -0
  213. data/lib/plainrouter/openapi/models/plan_copy_not_found_error.rb +214 -0
  214. data/lib/plainrouter/openapi/models/plan_copy_read.rb +164 -0
  215. data/lib/plainrouter/openapi/models/plan_copy_read_plan.rb +347 -0
  216. data/lib/plainrouter/openapi/models/plan_copy_rejected.rb +164 -0
  217. data/lib/plainrouter/openapi/models/plan_copy_rejected_error.rb +214 -0
  218. data/lib/plainrouter/openapi/models/plan_execute_conflict.rb +164 -0
  219. data/lib/plainrouter/openapi/models/plan_execute_conflict_error.rb +214 -0
  220. data/lib/plainrouter/openapi/models/plan_execute_rejected.rb +164 -0
  221. data/lib/plainrouter/openapi/models/plan_execute_rejected_error.rb +214 -0
  222. data/lib/plainrouter/openapi/models/plan_validate_rejected.rb +164 -0
  223. data/lib/plainrouter/openapi/models/plan_validate_rejected_error.rb +191 -0
  224. data/lib/plainrouter/openapi/models/proposal_replay_conflict.rb +214 -0
  225. data/lib/plainrouter/openapi/models/proposal_replay_conflict_errors.rb +178 -0
  226. data/lib/plainrouter/openapi/models/proposal_unavailable.rb +164 -0
  227. data/lib/plainrouter/openapi/models/proposal_unavailable_error.rb +214 -0
  228. data/lib/plainrouter/openapi/models/set_destination_test_mode200_response_destination.rb +67 -1
  229. data/lib/plainrouter/openapi/models/store_creative403_response.rb +103 -0
  230. data/lib/plainrouter/openapi/models/store_creative413_response.rb +103 -0
  231. data/lib/plainrouter/openapi/models/store_creative422_response.rb +103 -0
  232. data/lib/plainrouter/openapi/models/store_creative_from_url_request.rb +208 -0
  233. data/lib/plainrouter/openapi/models/store_creative_from_url_request_tags.rb +257 -0
  234. data/lib/plainrouter/openapi/models/store_creative_request.rb +219 -0
  235. data/lib/plainrouter/openapi/models/store_creative_request_tags.rb +257 -0
  236. data/lib/plainrouter/openapi/models/store_deployment_plan_request.rb +570 -0
  237. data/lib/plainrouter/openapi/models/store_deployment_plan_request_ad_set_spec.rb +220 -0
  238. data/lib/plainrouter/openapi/models/store_deployment_plan_request_copy.rb +266 -0
  239. data/lib/plainrouter/openapi/models/store_deployment_plan_request_creative_overrides_inner.rb +217 -0
  240. data/lib/plainrouter/openapi/models/store_launch_policy_request.rb +260 -0
  241. data/lib/plainrouter/openapi/models/update_creative_status_request.rb +188 -0
  242. data/lib/plainrouter/openapi/models/update_deployment_plan_request.rb +511 -0
  243. data/lib/plainrouter/openapi/models/workspace_lock_timeout.rb +164 -0
  244. data/lib/plainrouter/openapi/models/workspace_lock_timeout_error.rb +214 -0
  245. data/lib/plainrouter/openapi/version.rb +1 -1
  246. data/lib/plainrouter/openapi.rb +190 -2
  247. data/lib/plainrouter/proposal_errors.rb +31 -0
  248. data/lib/plainrouter/version.rb +1 -1
  249. data/lib/plainrouter.rb +1 -0
  250. metadata +196 -4
@@ -0,0 +1,214 @@
1
+ =begin
2
+ #Plainrouter Conversion API
3
+
4
+ #Plainrouter public Signals Conversion API.
5
+
6
+ The version of the OpenAPI document: 0.5.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PlainRouter::OpenAPI
17
+ class WorkspaceLockTimeoutError < ApiModelBase
18
+ attr_accessor :code
19
+
20
+ attr_accessor :message
21
+
22
+ class EnumAttributeValidator
23
+ attr_reader :datatype
24
+ attr_reader :allowable_values
25
+
26
+ def initialize(datatype, allowable_values)
27
+ @allowable_values = allowable_values.map do |value|
28
+ case datatype.to_s
29
+ when /Integer/i
30
+ value.to_i
31
+ when /Float/i
32
+ value.to_f
33
+ else
34
+ value
35
+ end
36
+ end
37
+ end
38
+
39
+ def valid?(value)
40
+ !value || allowable_values.include?(value)
41
+ end
42
+ end
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ def self.attribute_map
46
+ {
47
+ :'code' => :'code',
48
+ :'message' => :'message'
49
+ }
50
+ end
51
+
52
+ # Returns attribute mapping this model knows about
53
+ def self.acceptable_attribute_map
54
+ attribute_map
55
+ end
56
+
57
+ # Returns all the JSON keys this model knows about
58
+ def self.acceptable_attributes
59
+ acceptable_attribute_map.values
60
+ end
61
+
62
+ # Attribute type mapping.
63
+ def self.openapi_types
64
+ {
65
+ :'code' => :'String',
66
+ :'message' => :'String'
67
+ }
68
+ end
69
+
70
+ # List of attributes with nullable: true
71
+ def self.openapi_nullable
72
+ Set.new([
73
+ ])
74
+ end
75
+
76
+ # Initializes the object
77
+ # @param [Hash] attributes Model attributes in the form of hash
78
+ def initialize(attributes = {})
79
+ if (!attributes.is_a?(Hash))
80
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PlainRouter::OpenAPI::WorkspaceLockTimeoutError` initialize method"
81
+ end
82
+
83
+ # check to see if the attribute exists and convert string to symbol for hash key
84
+ acceptable_attribute_map = self.class.acceptable_attribute_map
85
+ attributes = attributes.each_with_object({}) { |(k, v), h|
86
+ if (!acceptable_attribute_map.key?(k.to_sym))
87
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PlainRouter::OpenAPI::WorkspaceLockTimeoutError`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
88
+ end
89
+ h[k.to_sym] = v
90
+ }
91
+
92
+ if attributes.key?(:'code')
93
+ self.code = attributes[:'code']
94
+ else
95
+ self.code = nil
96
+ end
97
+
98
+ if attributes.key?(:'message')
99
+ self.message = attributes[:'message']
100
+ else
101
+ self.message = nil
102
+ end
103
+ end
104
+
105
+ # Show invalid properties with the reasons. Usually used together with valid?
106
+ # @return Array for valid properties with the reasons
107
+ def list_invalid_properties
108
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
109
+ invalid_properties = Array.new
110
+ if @code.nil?
111
+ invalid_properties.push('invalid value for "code", code cannot be nil.')
112
+ end
113
+
114
+ if @message.nil?
115
+ invalid_properties.push('invalid value for "message", message cannot be nil.')
116
+ end
117
+
118
+ invalid_properties
119
+ end
120
+
121
+ # Check to see if the all the properties in the model are valid
122
+ # @return true if the model is valid
123
+ def valid?
124
+ warn '[DEPRECATED] the `valid?` method is obsolete'
125
+ return false if @code.nil?
126
+ code_validator = EnumAttributeValidator.new('String', ["workspace_lock_timeout"])
127
+ return false unless code_validator.valid?(@code)
128
+ return false if @message.nil?
129
+ true
130
+ end
131
+
132
+ # Custom attribute writer method checking allowed values (enum).
133
+ # @param [Object] code Object to be assigned
134
+ def code=(code)
135
+ validator = EnumAttributeValidator.new('String', ["workspace_lock_timeout"])
136
+ unless validator.valid?(code)
137
+ fail ArgumentError, "invalid value for \"code\", must be one of #{validator.allowable_values}."
138
+ end
139
+ @code = code
140
+ end
141
+
142
+ # Custom attribute writer method with validation
143
+ # @param [Object] message Value to be assigned
144
+ def message=(message)
145
+ if message.nil?
146
+ fail ArgumentError, 'message cannot be nil'
147
+ end
148
+
149
+ @message = message
150
+ end
151
+
152
+ # Checks equality by comparing each attribute.
153
+ # @param [Object] Object to be compared
154
+ def ==(o)
155
+ return true if self.equal?(o)
156
+ self.class == o.class &&
157
+ code == o.code &&
158
+ message == o.message
159
+ end
160
+
161
+ # @see the `==` method
162
+ # @param [Object] Object to be compared
163
+ def eql?(o)
164
+ self == o
165
+ end
166
+
167
+ # Calculates hash code according to all attributes.
168
+ # @return [Integer] Hash code
169
+ def hash
170
+ [code, message].hash
171
+ end
172
+
173
+ # Builds the object from hash
174
+ # @param [Hash] attributes Model attributes in the form of hash
175
+ # @return [Object] Returns the model itself
176
+ def self.build_from_hash(attributes)
177
+ return nil unless attributes.is_a?(Hash)
178
+ attributes = attributes.transform_keys(&:to_sym)
179
+ transformed_hash = {}
180
+ openapi_types.each_pair do |key, type|
181
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
182
+ transformed_hash["#{key}"] = nil
183
+ elsif type =~ /\AArray<(.*)>/i
184
+ # check to ensure the input is an array given that the attribute
185
+ # is documented as an array but the input is not
186
+ if attributes[attribute_map[key]].is_a?(Array)
187
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
188
+ end
189
+ elsif !attributes[attribute_map[key]].nil?
190
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
191
+ end
192
+ end
193
+ new(transformed_hash)
194
+ end
195
+
196
+ # Returns the object in the form of hash
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_hash
199
+ hash = {}
200
+ self.class.attribute_map.each_pair do |attr, param|
201
+ value = self.send(attr)
202
+ if value.nil?
203
+ is_nullable = self.class.openapi_nullable.include?(attr)
204
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
205
+ end
206
+
207
+ hash[param] = _to_hash(value)
208
+ end
209
+ hash
210
+ end
211
+
212
+ end
213
+
214
+ end
@@ -11,5 +11,5 @@ Generator version: 7.25.0
11
11
  =end
12
12
 
13
13
  module PlainRouter::OpenAPI
14
- VERSION = '0.2.0'
14
+ VERSION = '0.6.0'
15
15
  end
@@ -21,6 +21,12 @@ require 'plainrouter/openapi/configuration'
21
21
  require 'plainrouter/openapi/models/action_batch_read'
22
22
  require 'plainrouter/openapi/models/action_batch_read_data'
23
23
  require 'plainrouter/openapi/models/action_current_disposition'
24
+ require 'plainrouter/openapi/models/action_current_disposition_outcome_payload'
25
+ require 'plainrouter/openapi/models/action_current_disposition_outcome_payload_baseline'
26
+ require 'plainrouter/openapi/models/action_current_disposition_outcome_payload_baseline_any_of'
27
+ require 'plainrouter/openapi/models/action_current_disposition_outcome_payload_inverse'
28
+ require 'plainrouter/openapi/models/action_current_disposition_outcome_payload_metrics'
29
+ require 'plainrouter/openapi/models/action_current_disposition_outcome_payload_metrics_any_of'
24
30
  require 'plainrouter/openapi/models/action_decision_receipt_read'
25
31
  require 'plainrouter/openapi/models/action_decision_receipt_read_chain_entry'
26
32
  require 'plainrouter/openapi/models/action_detail_read'
@@ -35,6 +41,7 @@ require 'plainrouter/openapi/models/action_list_read'
35
41
  require 'plainrouter/openapi/models/action_list_read_meta'
36
42
  require 'plainrouter/openapi/models/action_policy_read'
37
43
  require 'plainrouter/openapi/models/action_policy_read_data'
44
+ require 'plainrouter/openapi/models/action_policy_result'
38
45
  require 'plainrouter/openapi/models/action_proposal_input'
39
46
  require 'plainrouter/openapi/models/action_proposal_input_actions_inner'
40
47
  require 'plainrouter/openapi/models/action_proposal_input_actions_inner_any_of'
@@ -42,7 +49,6 @@ require 'plainrouter/openapi/models/action_proposal_input_actions_inner_any_of1'
42
49
  require 'plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10'
43
50
  require 'plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10_params'
44
51
  require 'plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11'
45
- require 'plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11_params'
46
52
  require 'plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12'
47
53
  require 'plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12_params'
48
54
  require 'plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13'
@@ -65,6 +71,87 @@ require 'plainrouter/openapi/models/action_proposal_read_proposal_actions_inner'
65
71
  require 'plainrouter/openapi/models/action_proposal_read_proposal_actions_inner_params'
66
72
  require 'plainrouter/openapi/models/action_proposal_read_proposal_proposed_by'
67
73
  require 'plainrouter/openapi/models/action_read_item'
74
+ require 'plainrouter/openapi/models/action_read_item_counted_evidence'
75
+ require 'plainrouter/openapi/models/action_read_item_counted_evidence_counted'
76
+ require 'plainrouter/openapi/models/action_read_item_counted_evidence_coverage'
77
+ require 'plainrouter/openapi/models/action_read_item_counted_evidence_meta_reported'
78
+ require 'plainrouter/openapi/models/action_read_item_counted_evidence_target'
79
+ require 'plainrouter/openapi/models/action_read_item_counted_evidence_window'
80
+ require 'plainrouter/openapi/models/action_read_item_evidence'
81
+ require 'plainrouter/openapi/models/action_read_item_evidence_any_of'
82
+ require 'plainrouter/openapi/models/action_read_item_evidence_any_of1'
83
+ require 'plainrouter/openapi/models/action_read_item_evidence_any_of2'
84
+ require 'plainrouter/openapi/models/action_read_item_evidence_any_of_outcome'
85
+ require 'plainrouter/openapi/models/action_read_item_proposer'
86
+ require 'plainrouter/openapi/models/action_receipt_unavailable'
87
+ require 'plainrouter/openapi/models/action_receipt_unavailable_error'
88
+ require 'plainrouter/openapi/models/action_rule_detail_read'
89
+ require 'plainrouter/openapi/models/action_rule_detail_read_rule'
90
+ require 'plainrouter/openapi/models/action_rule_detail_read_rule_current_revision'
91
+ require 'plainrouter/openapi/models/action_rule_detail_read_rule_runs_inner'
92
+ require 'plainrouter/openapi/models/action_rule_detail_read_rule_runs_inner_decisions_inner'
93
+ require 'plainrouter/openapi/models/action_rule_detail_read_rule_window'
94
+ require 'plainrouter/openapi/models/action_rule_write_read'
95
+ require 'plainrouter/openapi/models/action_rule_write_read_rule'
96
+ require 'plainrouter/openapi/models/actions_api_decision_receipt404_response'
97
+ require 'plainrouter/openapi/models/actions_api_dry_run401_response'
98
+ require 'plainrouter/openapi/models/actions_rules_index200_response'
99
+ require 'plainrouter/openapi/models/actions_rules_index200_response_rules'
100
+ require 'plainrouter/openapi/models/actions_rules_index200_response_rules_data_inner'
101
+ require 'plainrouter/openapi/models/actions_rules_index200_response_rules_data_inner_account'
102
+ require 'plainrouter/openapi/models/actions_rules_index200_response_rules_data_inner_counts'
103
+ require 'plainrouter/openapi/models/actions_rules_index403_response'
104
+ require 'plainrouter/openapi/models/actions_rules_index403_response_any_of'
105
+ require 'plainrouter/openapi/models/actions_rules_store_request'
106
+ require 'plainrouter/openapi/models/actions_rules_store_request_definition'
107
+ require 'plainrouter/openapi/models/actions_rules_store_request_definition_any_of'
108
+ require 'plainrouter/openapi/models/actions_rules_store_request_definition_any_of1'
109
+ require 'plainrouter/openapi/models/actions_rules_store_request_definition_any_of2'
110
+ require 'plainrouter/openapi/models/actions_rules_store_request_definition_any_of_cost_ratio'
111
+ require 'plainrouter/openapi/models/actions_rules_store_request_window'
112
+ require 'plainrouter/openapi/models/actions_rules_update_request'
113
+ require 'plainrouter/openapi/models/actions_rules_update_request_definition'
114
+ require 'plainrouter/openapi/models/actions_rules_update_request_definition_any_of'
115
+ require 'plainrouter/openapi/models/actions_rules_update_request_definition_any_of1'
116
+ require 'plainrouter/openapi/models/actions_rules_update_request_definition_any_of2'
117
+ require 'plainrouter/openapi/models/actions_tests_api_index404_response'
118
+ require 'plainrouter/openapi/models/actions_tests_api_store_request'
119
+ require 'plainrouter/openapi/models/actions_tests_api_store_request_maximum_spend_minor'
120
+ require 'plainrouter/openapi/models/ad_test'
121
+ require 'plainrouter/openapi/models/ad_test_create_read'
122
+ require 'plainrouter/openapi/models/ad_test_create_read_test'
123
+ require 'plainrouter/openapi/models/ad_test_create_read_test_members_inner'
124
+ require 'plainrouter/openapi/models/ad_test_create_read_test_pause_proposals_inner'
125
+ require 'plainrouter/openapi/models/ad_test_create_read_test_verdict'
126
+ require 'plainrouter/openapi/models/ad_test_create_read_test_verdict_daily_facts_inner'
127
+ require 'plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details'
128
+ require 'plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details_baseline'
129
+ require 'plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details_observed_destinations_inner'
130
+ require 'plainrouter/openapi/models/ad_test_create_read_test_verdict_members_inner'
131
+ require 'plainrouter/openapi/models/ad_test_daily_fact_read'
132
+ require 'plainrouter/openapi/models/ad_test_event_choice'
133
+ require 'plainrouter/openapi/models/ad_test_list_read'
134
+ require 'plainrouter/openapi/models/ad_test_list_read_observed_conversion_events_inner'
135
+ require 'plainrouter/openapi/models/ad_test_list_read_tests'
136
+ require 'plainrouter/openapi/models/ad_test_read'
137
+ require 'plainrouter/openapi/models/ad_test_show_read'
138
+ require 'plainrouter/openapi/models/ad_test_verdict_member_read'
139
+ require 'plainrouter/openapi/models/ad_test_verdict_read'
140
+ require 'plainrouter/openapi/models/agent_context200_response'
141
+ require 'plainrouter/openapi/models/agent_context200_response_agent'
142
+ require 'plainrouter/openapi/models/agent_context200_response_platform_ad_account'
143
+ require 'plainrouter/openapi/models/agent_context200_response_platform_ad_account_workspace'
144
+ require 'plainrouter/openapi/models/agent_context401_response'
145
+ require 'plainrouter/openapi/models/agent_context_auth_error'
146
+ require 'plainrouter/openapi/models/agent_credential_error'
147
+ require 'plainrouter/openapi/models/api_route_not_found'
148
+ require 'plainrouter/openapi/models/api_route_not_found_error'
149
+ require 'plainrouter/openapi/models/api_route_not_found_request'
150
+ require 'plainrouter/openapi/models/api_route_not_found_resources'
151
+ require 'plainrouter/openapi/models/cookie_declaration'
152
+ require 'plainrouter/openapi/models/cookie_declaration_categories'
153
+ require 'plainrouter/openapi/models/cookie_declaration_categories_necessary'
154
+ require 'plainrouter/openapi/models/cookie_declaration_item'
68
155
  require 'plainrouter/openapi/models/create_event200_response'
69
156
  require 'plainrouter/openapi/models/create_event202_response'
70
157
  require 'plainrouter/openapi/models/create_event202_response_warnings_inner'
@@ -73,16 +160,35 @@ require 'plainrouter/openapi/models/create_event_request_any_of'
73
160
  require 'plainrouter/openapi/models/create_event_request_any_of1'
74
161
  require 'plainrouter/openapi/models/create_event_request_any_of_event_time'
75
162
  require 'plainrouter/openapi/models/create_event_request_any_of_value_data'
163
+ require 'plainrouter/openapi/models/creative_intake_read'
164
+ require 'plainrouter/openapi/models/creative_intake_rejected'
165
+ require 'plainrouter/openapi/models/creative_intake_rejected_error'
166
+ require 'plainrouter/openapi/models/creative_intake_tags'
167
+ require 'plainrouter/openapi/models/creative_mcp_grant_operation'
168
+ require 'plainrouter/openapi/models/creative_mcp_preview'
169
+ require 'plainrouter/openapi/models/creative_mcp_refusal'
170
+ require 'plainrouter/openapi/models/creative_mcp_tool'
76
171
  require 'plainrouter/openapi/models/delete_user_data200_response'
77
172
  require 'plainrouter/openapi/models/delete_user_data_request'
78
173
  require 'plainrouter/openapi/models/delivery_status'
174
+ require 'plainrouter/openapi/models/deployment_plan_read'
175
+ require 'plainrouter/openapi/models/deployment_plan_read_copy'
176
+ require 'plainrouter/openapi/models/deployment_plan_read_creatives_inner'
177
+ require 'plainrouter/openapi/models/deployment_plan_read_creatives_inner_copy'
79
178
  require 'plainrouter/openapi/models/destination'
179
+ require 'plainrouter/openapi/models/destination_config'
80
180
  require 'plainrouter/openapi/models/destination_credential_source'
81
181
  require 'plainrouter/openapi/models/destination_status'
82
182
  require 'plainrouter/openapi/models/destination_type'
183
+ require 'plainrouter/openapi/models/draft_batch_mode'
83
184
  require 'plainrouter/openapi/models/emq_snapshot'
84
185
  require 'plainrouter/openapi/models/error_message'
85
186
  require 'plainrouter/openapi/models/event'
187
+ require 'plainrouter/openapi/models/execute_deployment_plan_request'
188
+ require 'plainrouter/openapi/models/get_account_inventory200_response'
189
+ require 'plainrouter/openapi/models/get_account_inventory200_response_summary'
190
+ require 'plainrouter/openapi/models/get_account_inventory404_response'
191
+ require 'plainrouter/openapi/models/get_cookie_declaration404_response'
86
192
  require 'plainrouter/openapi/models/get_emq_report200_response'
87
193
  require 'plainrouter/openapi/models/get_emq_report200_response_snapshots_inner'
88
194
  require 'plainrouter/openapi/models/get_event200_response'
@@ -94,6 +200,16 @@ require 'plainrouter/openapi/models/get_event200_response_event_user_data_hashed
94
200
  require 'plainrouter/openapi/models/get_event200_response_lineage'
95
201
  require 'plainrouter/openapi/models/get_event200_response_lineage_children_inner'
96
202
  require 'plainrouter/openapi/models/get_event200_response_lineage_parent'
203
+ require 'plainrouter/openapi/models/get_inventory_metrics200_response'
204
+ require 'plainrouter/openapi/models/get_inventory_metrics200_response_account'
205
+ require 'plainrouter/openapi/models/get_inventory_metrics200_response_changes_inner'
206
+ require 'plainrouter/openapi/models/get_inventory_metrics200_response_effective_range'
207
+ require 'plainrouter/openapi/models/get_inventory_metrics200_response_metrics_inner'
208
+ require 'plainrouter/openapi/models/get_inventory_metrics200_response_object_metrics_inner'
209
+ require 'plainrouter/openapi/models/get_inventory_metrics200_response_object_metrics_inner_meta'
210
+ require 'plainrouter/openapi/models/get_inventory_metrics200_response_pagination_value'
211
+ require 'plainrouter/openapi/models/get_inventory_metrics200_response_staleness'
212
+ require 'plainrouter/openapi/models/get_inventory_metrics200_response_sync'
97
213
  require 'plainrouter/openapi/models/get_reconciliation_report200_response'
98
214
  require 'plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner'
99
215
  require 'plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_buckets_value'
@@ -108,12 +224,59 @@ require 'plainrouter/openapi/models/get_sandbox200_response_try_body'
108
224
  require 'plainrouter/openapi/models/get_sandbox200_response_try_body_value_data'
109
225
  require 'plainrouter/openapi/models/ingestion_warning_code'
110
226
  require 'plainrouter/openapi/models/jurisdiction_policy_class'
227
+ require 'plainrouter/openapi/models/launch_creatives_index200_response'
228
+ require 'plainrouter/openapi/models/launch_creatives_index200_response_creatives'
229
+ require 'plainrouter/openapi/models/launch_creatives_index200_response_creatives_data_inner'
230
+ require 'plainrouter/openapi/models/launch_creatives_index200_response_creatives_data_inner_tags'
231
+ require 'plainrouter/openapi/models/launch_creatives_status200_response'
232
+ require 'plainrouter/openapi/models/launch_intent_read'
233
+ require 'plainrouter/openapi/models/launch_intent_read_intent'
234
+ require 'plainrouter/openapi/models/launch_intent_read_intent_actions_inner'
235
+ require 'plainrouter/openapi/models/launch_intent_status'
236
+ require 'plainrouter/openapi/models/launch_plans_copy403_response'
237
+ require 'plainrouter/openapi/models/launch_plans_copy404_response'
238
+ require 'plainrouter/openapi/models/launch_plans_copy422_response'
239
+ require 'plainrouter/openapi/models/launch_plans_execute422_response'
240
+ require 'plainrouter/openapi/models/launch_plans_index200_response'
241
+ require 'plainrouter/openapi/models/launch_plans_index200_response_plans'
242
+ require 'plainrouter/openapi/models/launch_plans_index200_response_plans_next_page_arguments'
243
+ require 'plainrouter/openapi/models/launch_plans_index200_response_plans_next_page_arguments_any_of'
244
+ require 'plainrouter/openapi/models/launch_plans_index200_response_plans_next_page_arguments_any_of1'
245
+ require 'plainrouter/openapi/models/launch_plans_show200_response'
246
+ require 'plainrouter/openapi/models/launch_plans_store201_response'
247
+ require 'plainrouter/openapi/models/launch_plans_validate422_response'
248
+ require 'plainrouter/openapi/models/launch_policies_index200_response'
249
+ require 'plainrouter/openapi/models/launch_policies_index200_response_policies'
250
+ require 'plainrouter/openapi/models/launch_policies_index200_response_policies_links_inner'
251
+ require 'plainrouter/openapi/models/launch_policies_store201_response'
252
+ require 'plainrouter/openapi/models/launch_policy'
253
+ require 'plainrouter/openapi/models/launcher_file_import403_response'
254
+ require 'plainrouter/openapi/models/launcher_file_import422_response'
255
+ require 'plainrouter/openapi/models/launcher_file_import422_response_any_of'
256
+ require 'plainrouter/openapi/models/launcher_file_import422_response_any_of_syntactic_row_failures_inner'
111
257
  require 'plainrouter/openapi/models/list_events200_response'
112
258
  require 'plainrouter/openapi/models/list_events200_response_events'
113
- require 'plainrouter/openapi/models/list_events200_response_events_links_inner'
114
259
  require 'plainrouter/openapi/models/list_events200_response_metrics'
115
260
  require 'plainrouter/openapi/models/list_events_by_cursor200_response'
116
261
  require 'plainrouter/openapi/models/list_events_by_cursor200_response_events'
262
+ require 'plainrouter/openapi/models/plan_copy_forbidden'
263
+ require 'plainrouter/openapi/models/plan_copy_forbidden_error'
264
+ require 'plainrouter/openapi/models/plan_copy_not_found'
265
+ require 'plainrouter/openapi/models/plan_copy_not_found_error'
266
+ require 'plainrouter/openapi/models/plan_copy_read'
267
+ require 'plainrouter/openapi/models/plan_copy_read_plan'
268
+ require 'plainrouter/openapi/models/plan_copy_rejected'
269
+ require 'plainrouter/openapi/models/plan_copy_rejected_error'
270
+ require 'plainrouter/openapi/models/plan_execute_conflict'
271
+ require 'plainrouter/openapi/models/plan_execute_conflict_error'
272
+ require 'plainrouter/openapi/models/plan_execute_rejected'
273
+ require 'plainrouter/openapi/models/plan_execute_rejected_error'
274
+ require 'plainrouter/openapi/models/plan_validate_rejected'
275
+ require 'plainrouter/openapi/models/plan_validate_rejected_error'
276
+ require 'plainrouter/openapi/models/proposal_replay_conflict'
277
+ require 'plainrouter/openapi/models/proposal_replay_conflict_errors'
278
+ require 'plainrouter/openapi/models/proposal_unavailable'
279
+ require 'plainrouter/openapi/models/proposal_unavailable_error'
117
280
  require 'plainrouter/openapi/models/reconciliation_report'
118
281
  require 'plainrouter/openapi/models/replay_deliveries202_response'
119
282
  require 'plainrouter/openapi/models/replay_deliveries_request'
@@ -123,17 +286,42 @@ require 'plainrouter/openapi/models/send_test_purchase_request'
123
286
  require 'plainrouter/openapi/models/set_destination_test_mode200_response'
124
287
  require 'plainrouter/openapi/models/set_destination_test_mode200_response_destination'
125
288
  require 'plainrouter/openapi/models/set_destination_test_mode_request'
289
+ require 'plainrouter/openapi/models/store_creative403_response'
290
+ require 'plainrouter/openapi/models/store_creative413_response'
291
+ require 'plainrouter/openapi/models/store_creative422_response'
292
+ require 'plainrouter/openapi/models/store_creative_from_url_request'
293
+ require 'plainrouter/openapi/models/store_creative_from_url_request_tags'
294
+ require 'plainrouter/openapi/models/store_creative_request'
295
+ require 'plainrouter/openapi/models/store_creative_request_tags'
296
+ require 'plainrouter/openapi/models/store_deployment_plan_request'
297
+ require 'plainrouter/openapi/models/store_deployment_plan_request_ad_set_spec'
298
+ require 'plainrouter/openapi/models/store_deployment_plan_request_copy'
299
+ require 'plainrouter/openapi/models/store_deployment_plan_request_creative_overrides_inner'
300
+ require 'plainrouter/openapi/models/store_launch_policy_request'
126
301
  require 'plainrouter/openapi/models/traffic_class'
302
+ require 'plainrouter/openapi/models/update_creative_status_request'
303
+ require 'plainrouter/openapi/models/update_deployment_plan_request'
127
304
  require 'plainrouter/openapi/models/validate_sandbox_event200_response'
128
305
  require 'plainrouter/openapi/models/validate_sandbox_event_request'
129
306
  require 'plainrouter/openapi/models/validate_sandbox_event_request_value_data'
130
307
  require 'plainrouter/openapi/models/validation_error'
308
+ require 'plainrouter/openapi/models/workspace_lock_timeout'
309
+ require 'plainrouter/openapi/models/workspace_lock_timeout_error'
131
310
 
132
311
  # APIs
133
312
  require 'plainrouter/openapi/api/action_dry_run_api_api'
134
313
  require 'plainrouter/openapi/api/action_proposal_api_api'
135
314
  require 'plainrouter/openapi/api/action_read_api_api'
315
+ require 'plainrouter/openapi/api/action_rule_api_api'
316
+ require 'plainrouter/openapi/api/ad_test_api_api'
317
+ require 'plainrouter/openapi/api/agent_context_api'
318
+ require 'plainrouter/openapi/api/cookie_declaration_api'
319
+ require 'plainrouter/openapi/api/creative_api'
320
+ require 'plainrouter/openapi/api/deployment_plan_api'
321
+ require 'plainrouter/openapi/api/draft_batch_file_import_api'
136
322
  require 'plainrouter/openapi/api/event_api'
323
+ require 'plainrouter/openapi/api/launch_policy_api'
324
+ require 'plainrouter/openapi/api/meta_inventory_exposure_api'
137
325
  require 'plainrouter/openapi/api/operations_api'
138
326
  require 'plainrouter/openapi/api/sandbox_api'
139
327
 
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module PlainRouter::OpenAPI
6
+ class ApiError
7
+ # Generated Ruby errors retain raw bodies. Decode only the known proposal 503 envelope.
8
+ # @return [ProposalUnavailable, nil]
9
+ def response_object
10
+ return nil unless code == 503
11
+
12
+ data = JSON.parse(response_body.to_s)
13
+ return nil unless data.is_a?(Hash) && data["error"].is_a?(Hash)
14
+ return nil unless %w[proposal_not_recorded workspace_lock_timeout].include?(data["error"]["code"])
15
+ return nil unless data["error"]["message"].is_a?(String)
16
+
17
+ ProposalUnavailable.build_from_hash(data)
18
+ rescue JSON::ParserError, ArgumentError
19
+ nil
20
+ end
21
+
22
+ def retryable?
23
+ !response_object.nil?
24
+ end
25
+
26
+ # Preserve delta seconds or an HTTP date verbatim; callers decide when to retry.
27
+ def retry_after
28
+ response_headers&.find { |name, _value| name.downcase == "retry-after" }&.last
29
+ end
30
+ end
31
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PlainRouter
4
- VERSION = "0.2.0"
4
+ VERSION = "0.6.0"
5
5
  CONTRACT_VERSION = "0.5.0"
6
6
  end
data/lib/plainrouter.rb CHANGED
@@ -8,3 +8,4 @@ end
8
8
 
9
9
  require_relative "plainrouter/openapi"
10
10
  require_relative "plainrouter/client"
11
+ require_relative "plainrouter/proposal_errors"