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,276 @@
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 ActionCurrentDispositionOutcomePayloadMetricsAnyOf < ApiModelBase
18
+ attr_accessor :scope
19
+
20
+ # Three whole days in the ad account timezone; excludes the change day.
21
+ attr_accessor :days
22
+
23
+ attr_accessor :currency
24
+
25
+ attr_accessor :timezone
26
+
27
+ # Decimal spend in ISO currency minor units; null when daily mirror data is missing.
28
+ attr_accessor :spend_minor
29
+
30
+ # Arrivals counted by PlainRouter through Signals, never provider conversions.
31
+ attr_accessor :counted_arrivals
32
+
33
+ # Spend divided by counted arrivals, in ISO currency minor units, displayed to six decimal places.
34
+ attr_accessor :cost_per_counted_arrival_minor
35
+
36
+ attr_accessor :verdict
37
+
38
+ attr_accessor :loss_threshold_percent
39
+
40
+ class EnumAttributeValidator
41
+ attr_reader :datatype
42
+ attr_reader :allowable_values
43
+
44
+ def initialize(datatype, allowable_values)
45
+ @allowable_values = allowable_values.map do |value|
46
+ case datatype.to_s
47
+ when /Integer/i
48
+ value.to_i
49
+ when /Float/i
50
+ value.to_f
51
+ else
52
+ value
53
+ end
54
+ end
55
+ end
56
+
57
+ def valid?(value)
58
+ !value || allowable_values.include?(value)
59
+ end
60
+ end
61
+
62
+ # Attribute mapping from ruby-style variable name to JSON key.
63
+ def self.attribute_map
64
+ {
65
+ :'scope' => :'scope',
66
+ :'days' => :'days',
67
+ :'currency' => :'currency',
68
+ :'timezone' => :'timezone',
69
+ :'spend_minor' => :'spend_minor',
70
+ :'counted_arrivals' => :'counted_arrivals',
71
+ :'cost_per_counted_arrival_minor' => :'cost_per_counted_arrival_minor',
72
+ :'verdict' => :'verdict',
73
+ :'loss_threshold_percent' => :'loss_threshold_percent'
74
+ }
75
+ end
76
+
77
+ # Returns attribute mapping this model knows about
78
+ def self.acceptable_attribute_map
79
+ attribute_map
80
+ end
81
+
82
+ # Returns all the JSON keys this model knows about
83
+ def self.acceptable_attributes
84
+ acceptable_attribute_map.values
85
+ end
86
+
87
+ # Attribute type mapping.
88
+ def self.openapi_types
89
+ {
90
+ :'scope' => :'String',
91
+ :'days' => :'Array<Date>',
92
+ :'currency' => :'String',
93
+ :'timezone' => :'String',
94
+ :'spend_minor' => :'String',
95
+ :'counted_arrivals' => :'Integer',
96
+ :'cost_per_counted_arrival_minor' => :'String',
97
+ :'verdict' => :'String',
98
+ :'loss_threshold_percent' => :'String'
99
+ }
100
+ end
101
+
102
+ # List of attributes with nullable: true
103
+ def self.openapi_nullable
104
+ Set.new([
105
+ :'currency',
106
+ :'spend_minor',
107
+ :'counted_arrivals',
108
+ :'cost_per_counted_arrival_minor',
109
+ :'verdict',
110
+ ])
111
+ end
112
+
113
+ # Initializes the object
114
+ # @param [Hash] attributes Model attributes in the form of hash
115
+ def initialize(attributes = {})
116
+ if (!attributes.is_a?(Hash))
117
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PlainRouter::OpenAPI::ActionCurrentDispositionOutcomePayloadMetricsAnyOf` initialize method"
118
+ end
119
+
120
+ # check to see if the attribute exists and convert string to symbol for hash key
121
+ acceptable_attribute_map = self.class.acceptable_attribute_map
122
+ attributes = attributes.each_with_object({}) { |(k, v), h|
123
+ if (!acceptable_attribute_map.key?(k.to_sym))
124
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PlainRouter::OpenAPI::ActionCurrentDispositionOutcomePayloadMetricsAnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
125
+ end
126
+ h[k.to_sym] = v
127
+ }
128
+
129
+ if attributes.key?(:'scope')
130
+ self.scope = attributes[:'scope']
131
+ end
132
+
133
+ if attributes.key?(:'days')
134
+ if (value = attributes[:'days']).is_a?(Array)
135
+ self.days = value
136
+ end
137
+ end
138
+
139
+ if attributes.key?(:'currency')
140
+ self.currency = attributes[:'currency']
141
+ end
142
+
143
+ if attributes.key?(:'timezone')
144
+ self.timezone = attributes[:'timezone']
145
+ end
146
+
147
+ if attributes.key?(:'spend_minor')
148
+ self.spend_minor = attributes[:'spend_minor']
149
+ end
150
+
151
+ if attributes.key?(:'counted_arrivals')
152
+ self.counted_arrivals = attributes[:'counted_arrivals']
153
+ end
154
+
155
+ if attributes.key?(:'cost_per_counted_arrival_minor')
156
+ self.cost_per_counted_arrival_minor = attributes[:'cost_per_counted_arrival_minor']
157
+ end
158
+
159
+ if attributes.key?(:'verdict')
160
+ self.verdict = attributes[:'verdict']
161
+ end
162
+
163
+ if attributes.key?(:'loss_threshold_percent')
164
+ self.loss_threshold_percent = attributes[:'loss_threshold_percent']
165
+ end
166
+ end
167
+
168
+ # Show invalid properties with the reasons. Usually used together with valid?
169
+ # @return Array for valid properties with the reasons
170
+ def list_invalid_properties
171
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
172
+ invalid_properties = Array.new
173
+ invalid_properties
174
+ end
175
+
176
+ # Check to see if the all the properties in the model are valid
177
+ # @return true if the model is valid
178
+ def valid?
179
+ warn '[DEPRECATED] the `valid?` method is obsolete'
180
+ scope_validator = EnumAttributeValidator.new('String', ["target", "rest_of_account"])
181
+ return false unless scope_validator.valid?(@scope)
182
+ verdict_validator = EnumAttributeValidator.new('String', ["held", "lost", "not_judged"])
183
+ return false unless verdict_validator.valid?(@verdict)
184
+ true
185
+ end
186
+
187
+ # Custom attribute writer method checking allowed values (enum).
188
+ # @param [Object] scope Object to be assigned
189
+ def scope=(scope)
190
+ validator = EnumAttributeValidator.new('String', ["target", "rest_of_account"])
191
+ unless validator.valid?(scope)
192
+ fail ArgumentError, "invalid value for \"scope\", must be one of #{validator.allowable_values}."
193
+ end
194
+ @scope = scope
195
+ end
196
+
197
+ # Custom attribute writer method checking allowed values (enum).
198
+ # @param [Object] verdict Object to be assigned
199
+ def verdict=(verdict)
200
+ validator = EnumAttributeValidator.new('String', ["held", "lost", "not_judged"])
201
+ unless validator.valid?(verdict)
202
+ fail ArgumentError, "invalid value for \"verdict\", must be one of #{validator.allowable_values}."
203
+ end
204
+ @verdict = verdict
205
+ end
206
+
207
+ # Checks equality by comparing each attribute.
208
+ # @param [Object] Object to be compared
209
+ def ==(o)
210
+ return true if self.equal?(o)
211
+ self.class == o.class &&
212
+ scope == o.scope &&
213
+ days == o.days &&
214
+ currency == o.currency &&
215
+ timezone == o.timezone &&
216
+ spend_minor == o.spend_minor &&
217
+ counted_arrivals == o.counted_arrivals &&
218
+ cost_per_counted_arrival_minor == o.cost_per_counted_arrival_minor &&
219
+ verdict == o.verdict &&
220
+ loss_threshold_percent == o.loss_threshold_percent
221
+ end
222
+
223
+ # @see the `==` method
224
+ # @param [Object] Object to be compared
225
+ def eql?(o)
226
+ self == o
227
+ end
228
+
229
+ # Calculates hash code according to all attributes.
230
+ # @return [Integer] Hash code
231
+ def hash
232
+ [scope, days, currency, timezone, spend_minor, counted_arrivals, cost_per_counted_arrival_minor, verdict, loss_threshold_percent].hash
233
+ end
234
+
235
+ # Builds the object from hash
236
+ # @param [Hash] attributes Model attributes in the form of hash
237
+ # @return [Object] Returns the model itself
238
+ def self.build_from_hash(attributes)
239
+ return nil unless attributes.is_a?(Hash)
240
+ attributes = attributes.transform_keys(&:to_sym)
241
+ transformed_hash = {}
242
+ openapi_types.each_pair do |key, type|
243
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
244
+ transformed_hash["#{key}"] = nil
245
+ elsif type =~ /\AArray<(.*)>/i
246
+ # check to ensure the input is an array given that the attribute
247
+ # is documented as an array but the input is not
248
+ if attributes[attribute_map[key]].is_a?(Array)
249
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
250
+ end
251
+ elsif !attributes[attribute_map[key]].nil?
252
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
253
+ end
254
+ end
255
+ new(transformed_hash)
256
+ end
257
+
258
+ # Returns the object in the form of hash
259
+ # @return [Hash] Returns the object in the form of hash
260
+ def to_hash
261
+ hash = {}
262
+ self.class.attribute_map.each_pair do |attr, param|
263
+ value = self.send(attr)
264
+ if value.nil?
265
+ is_nullable = self.class.openapi_nullable.include?(attr)
266
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
267
+ end
268
+
269
+ hash[param] = _to_hash(value)
270
+ end
271
+ hash
272
+ end
273
+
274
+ end
275
+
276
+ end
@@ -14,13 +14,26 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module PlainRouter::OpenAPI
17
+ # Complete projection rows are paged within 80,000 JSON bytes, accounting for both MCP representations. Defaults are bounded. Follow next_cursor with the same scope and filters. One oversized row is explicitly refused; fields are never silently clipped.
17
18
  class ActionDryRunReadDryRun < ApiModelBase
18
19
  attr_accessor :actions
19
20
 
21
+ attr_accessor :next_cursor
22
+
23
+ attr_accessor :truncated
24
+
25
+ attr_accessor :continuation
26
+
27
+ attr_accessor :total
28
+
20
29
  # Attribute mapping from ruby-style variable name to JSON key.
21
30
  def self.attribute_map
22
31
  {
23
- :'actions' => :'actions'
32
+ :'actions' => :'actions',
33
+ :'next_cursor' => :'next_cursor',
34
+ :'truncated' => :'truncated',
35
+ :'continuation' => :'continuation',
36
+ :'total' => :'total'
24
37
  }
25
38
  end
26
39
 
@@ -37,13 +50,18 @@ module PlainRouter::OpenAPI
37
50
  # Attribute type mapping.
38
51
  def self.openapi_types
39
52
  {
40
- :'actions' => :'Array<ActionDryRunReadDryRunActionsInner>'
53
+ :'actions' => :'Array<ActionDryRunReadDryRunActionsInner>',
54
+ :'next_cursor' => :'Integer',
55
+ :'truncated' => :'Boolean',
56
+ :'continuation' => :'String',
57
+ :'total' => :'Integer'
41
58
  }
42
59
  end
43
60
 
44
61
  # List of attributes with nullable: true
45
62
  def self.openapi_nullable
46
63
  Set.new([
64
+ :'next_cursor',
47
65
  ])
48
66
  end
49
67
 
@@ -70,6 +88,22 @@ module PlainRouter::OpenAPI
70
88
  else
71
89
  self.actions = nil
72
90
  end
91
+
92
+ if attributes.key?(:'next_cursor')
93
+ self.next_cursor = attributes[:'next_cursor']
94
+ end
95
+
96
+ if attributes.key?(:'truncated')
97
+ self.truncated = attributes[:'truncated']
98
+ end
99
+
100
+ if attributes.key?(:'continuation')
101
+ self.continuation = attributes[:'continuation']
102
+ end
103
+
104
+ if attributes.key?(:'total')
105
+ self.total = attributes[:'total']
106
+ end
73
107
  end
74
108
 
75
109
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -107,7 +141,11 @@ module PlainRouter::OpenAPI
107
141
  def ==(o)
108
142
  return true if self.equal?(o)
109
143
  self.class == o.class &&
110
- actions == o.actions
144
+ actions == o.actions &&
145
+ next_cursor == o.next_cursor &&
146
+ truncated == o.truncated &&
147
+ continuation == o.continuation &&
148
+ total == o.total
111
149
  end
112
150
 
113
151
  # @see the `==` method
@@ -119,7 +157,7 @@ module PlainRouter::OpenAPI
119
157
  # Calculates hash code according to all attributes.
120
158
  # @return [Integer] Hash code
121
159
  def hash
122
- [actions].hash
160
+ [actions, next_cursor, truncated, continuation, total].hash
123
161
  end
124
162
 
125
163
  # Builds the object from hash
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module PlainRouter::OpenAPI
17
+ # Complete projection rows are paged within 80,000 JSON bytes, accounting for both MCP representations. Defaults are bounded. Follow next_cursor with the same scope and filters. One oversized row is explicitly refused; fields are never silently clipped.
17
18
  class ActionListReadMeta < ApiModelBase
18
19
  attr_accessor :current_page
19
20
 
@@ -23,13 +24,22 @@ module PlainRouter::OpenAPI
23
24
 
24
25
  attr_accessor :total
25
26
 
27
+ attr_accessor :next_cursor
28
+
29
+ attr_accessor :truncated
30
+
31
+ attr_accessor :continuation
32
+
26
33
  # Attribute mapping from ruby-style variable name to JSON key.
27
34
  def self.attribute_map
28
35
  {
29
36
  :'current_page' => :'current_page',
30
37
  :'last_page' => :'last_page',
31
38
  :'per_page' => :'per_page',
32
- :'total' => :'total'
39
+ :'total' => :'total',
40
+ :'next_cursor' => :'next_cursor',
41
+ :'truncated' => :'truncated',
42
+ :'continuation' => :'continuation'
33
43
  }
34
44
  end
35
45
 
@@ -49,13 +59,17 @@ module PlainRouter::OpenAPI
49
59
  :'current_page' => :'Integer',
50
60
  :'last_page' => :'Integer',
51
61
  :'per_page' => :'Integer',
52
- :'total' => :'Integer'
62
+ :'total' => :'Integer',
63
+ :'next_cursor' => :'Integer',
64
+ :'truncated' => :'Boolean',
65
+ :'continuation' => :'String'
53
66
  }
54
67
  end
55
68
 
56
69
  # List of attributes with nullable: true
57
70
  def self.openapi_nullable
58
71
  Set.new([
72
+ :'next_cursor',
59
73
  ])
60
74
  end
61
75
 
@@ -98,6 +112,18 @@ module PlainRouter::OpenAPI
98
112
  else
99
113
  self.total = nil
100
114
  end
115
+
116
+ if attributes.key?(:'next_cursor')
117
+ self.next_cursor = attributes[:'next_cursor']
118
+ end
119
+
120
+ if attributes.key?(:'truncated')
121
+ self.truncated = attributes[:'truncated']
122
+ end
123
+
124
+ if attributes.key?(:'continuation')
125
+ self.continuation = attributes[:'continuation']
126
+ end
101
127
  end
102
128
 
103
129
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -183,7 +209,10 @@ module PlainRouter::OpenAPI
183
209
  current_page == o.current_page &&
184
210
  last_page == o.last_page &&
185
211
  per_page == o.per_page &&
186
- total == o.total
212
+ total == o.total &&
213
+ next_cursor == o.next_cursor &&
214
+ truncated == o.truncated &&
215
+ continuation == o.continuation
187
216
  end
188
217
 
189
218
  # @see the `==` method
@@ -195,7 +224,7 @@ module PlainRouter::OpenAPI
195
224
  # Calculates hash code according to all attributes.
196
225
  # @return [Integer] Hash code
197
226
  def hash
198
- [current_page, last_page, per_page, total].hash
227
+ [current_page, last_page, per_page, total, next_cursor, truncated, continuation].hash
199
228
  end
200
229
 
201
230
  # Builds the object from hash
@@ -21,18 +21,6 @@ module PlainRouter::OpenAPI
21
21
 
22
22
  attr_accessor :execution_mode
23
23
 
24
- attr_accessor :max_spend_delta_percent
25
-
26
- attr_accessor :hard_account_daily_cap_minor
27
-
28
- attr_accessor :protected_entities
29
-
30
- attr_accessor :quiet_hours_start
31
-
32
- attr_accessor :quiet_hours_end
33
-
34
- attr_accessor :protect_learning_phase
35
-
36
24
  attr_accessor :outcome_check_after_hours
37
25
 
38
26
  attr_accessor :anomaly_threshold_percent
@@ -65,12 +53,6 @@ module PlainRouter::OpenAPI
65
53
  :'id' => :'id',
66
54
  :'workspace_id' => :'workspace_id',
67
55
  :'execution_mode' => :'execution_mode',
68
- :'max_spend_delta_percent' => :'max_spend_delta_percent',
69
- :'hard_account_daily_cap_minor' => :'hard_account_daily_cap_minor',
70
- :'protected_entities' => :'protected_entities',
71
- :'quiet_hours_start' => :'quiet_hours_start',
72
- :'quiet_hours_end' => :'quiet_hours_end',
73
- :'protect_learning_phase' => :'protect_learning_phase',
74
56
  :'outcome_check_after_hours' => :'outcome_check_after_hours',
75
57
  :'anomaly_threshold_percent' => :'anomaly_threshold_percent'
76
58
  }
@@ -92,12 +74,6 @@ module PlainRouter::OpenAPI
92
74
  :'id' => :'Integer',
93
75
  :'workspace_id' => :'Integer',
94
76
  :'execution_mode' => :'String',
95
- :'max_spend_delta_percent' => :'String',
96
- :'hard_account_daily_cap_minor' => :'Integer',
97
- :'protected_entities' => :'Array<Object>',
98
- :'quiet_hours_start' => :'String',
99
- :'quiet_hours_end' => :'String',
100
- :'protect_learning_phase' => :'Boolean',
101
77
  :'outcome_check_after_hours' => :'Integer',
102
78
  :'anomaly_threshold_percent' => :'String'
103
79
  }
@@ -107,10 +83,6 @@ module PlainRouter::OpenAPI
107
83
  def self.openapi_nullable
108
84
  Set.new([
109
85
  :'id',
110
- :'hard_account_daily_cap_minor',
111
- :'protected_entities',
112
- :'quiet_hours_start',
113
- :'quiet_hours_end',
114
86
  ])
115
87
  end
116
88
 
@@ -148,44 +120,6 @@ module PlainRouter::OpenAPI
148
120
  self.execution_mode = nil
149
121
  end
150
122
 
151
- if attributes.key?(:'max_spend_delta_percent')
152
- self.max_spend_delta_percent = attributes[:'max_spend_delta_percent']
153
- else
154
- self.max_spend_delta_percent = nil
155
- end
156
-
157
- if attributes.key?(:'hard_account_daily_cap_minor')
158
- self.hard_account_daily_cap_minor = attributes[:'hard_account_daily_cap_minor']
159
- else
160
- self.hard_account_daily_cap_minor = nil
161
- end
162
-
163
- if attributes.key?(:'protected_entities')
164
- if (value = attributes[:'protected_entities']).is_a?(Array)
165
- self.protected_entities = value
166
- end
167
- else
168
- self.protected_entities = nil
169
- end
170
-
171
- if attributes.key?(:'quiet_hours_start')
172
- self.quiet_hours_start = attributes[:'quiet_hours_start']
173
- else
174
- self.quiet_hours_start = nil
175
- end
176
-
177
- if attributes.key?(:'quiet_hours_end')
178
- self.quiet_hours_end = attributes[:'quiet_hours_end']
179
- else
180
- self.quiet_hours_end = nil
181
- end
182
-
183
- if attributes.key?(:'protect_learning_phase')
184
- self.protect_learning_phase = attributes[:'protect_learning_phase']
185
- else
186
- self.protect_learning_phase = nil
187
- end
188
-
189
123
  if attributes.key?(:'outcome_check_after_hours')
190
124
  self.outcome_check_after_hours = attributes[:'outcome_check_after_hours']
191
125
  else
@@ -212,14 +146,6 @@ module PlainRouter::OpenAPI
212
146
  invalid_properties.push('invalid value for "execution_mode", execution_mode cannot be nil.')
213
147
  end
214
148
 
215
- if @max_spend_delta_percent.nil?
216
- invalid_properties.push('invalid value for "max_spend_delta_percent", max_spend_delta_percent cannot be nil.')
217
- end
218
-
219
- if @protect_learning_phase.nil?
220
- invalid_properties.push('invalid value for "protect_learning_phase", protect_learning_phase cannot be nil.')
221
- end
222
-
223
149
  if @outcome_check_after_hours.nil?
224
150
  invalid_properties.push('invalid value for "outcome_check_after_hours", outcome_check_after_hours cannot be nil.')
225
151
  end
@@ -237,10 +163,8 @@ module PlainRouter::OpenAPI
237
163
  warn '[DEPRECATED] the `valid?` method is obsolete'
238
164
  return false if @workspace_id.nil?
239
165
  return false if @execution_mode.nil?
240
- execution_mode_validator = EnumAttributeValidator.new('String', ["ask", "full", "suggest_only", "auto_with_limits", "full_auto"])
166
+ execution_mode_validator = EnumAttributeValidator.new('String', ["ask", "full"])
241
167
  return false unless execution_mode_validator.valid?(@execution_mode)
242
- return false if @max_spend_delta_percent.nil?
243
- return false if @protect_learning_phase.nil?
244
168
  return false if @outcome_check_after_hours.nil?
245
169
  return false if @anomaly_threshold_percent.nil?
246
170
  true
@@ -259,33 +183,13 @@ module PlainRouter::OpenAPI
259
183
  # Custom attribute writer method checking allowed values (enum).
260
184
  # @param [Object] execution_mode Object to be assigned
261
185
  def execution_mode=(execution_mode)
262
- validator = EnumAttributeValidator.new('String', ["ask", "full", "suggest_only", "auto_with_limits", "full_auto"])
186
+ validator = EnumAttributeValidator.new('String', ["ask", "full"])
263
187
  unless validator.valid?(execution_mode)
264
188
  fail ArgumentError, "invalid value for \"execution_mode\", must be one of #{validator.allowable_values}."
265
189
  end
266
190
  @execution_mode = execution_mode
267
191
  end
268
192
 
269
- # Custom attribute writer method with validation
270
- # @param [Object] max_spend_delta_percent Value to be assigned
271
- def max_spend_delta_percent=(max_spend_delta_percent)
272
- if max_spend_delta_percent.nil?
273
- fail ArgumentError, 'max_spend_delta_percent cannot be nil'
274
- end
275
-
276
- @max_spend_delta_percent = max_spend_delta_percent
277
- end
278
-
279
- # Custom attribute writer method with validation
280
- # @param [Object] protect_learning_phase Value to be assigned
281
- def protect_learning_phase=(protect_learning_phase)
282
- if protect_learning_phase.nil?
283
- fail ArgumentError, 'protect_learning_phase cannot be nil'
284
- end
285
-
286
- @protect_learning_phase = protect_learning_phase
287
- end
288
-
289
193
  # Custom attribute writer method with validation
290
194
  # @param [Object] outcome_check_after_hours Value to be assigned
291
195
  def outcome_check_after_hours=(outcome_check_after_hours)
@@ -314,12 +218,6 @@ module PlainRouter::OpenAPI
314
218
  id == o.id &&
315
219
  workspace_id == o.workspace_id &&
316
220
  execution_mode == o.execution_mode &&
317
- max_spend_delta_percent == o.max_spend_delta_percent &&
318
- hard_account_daily_cap_minor == o.hard_account_daily_cap_minor &&
319
- protected_entities == o.protected_entities &&
320
- quiet_hours_start == o.quiet_hours_start &&
321
- quiet_hours_end == o.quiet_hours_end &&
322
- protect_learning_phase == o.protect_learning_phase &&
323
221
  outcome_check_after_hours == o.outcome_check_after_hours &&
324
222
  anomaly_threshold_percent == o.anomaly_threshold_percent
325
223
  end
@@ -333,7 +231,7 @@ module PlainRouter::OpenAPI
333
231
  # Calculates hash code according to all attributes.
334
232
  # @return [Integer] Hash code
335
233
  def hash
336
- [id, workspace_id, execution_mode, max_spend_delta_percent, hard_account_daily_cap_minor, protected_entities, quiet_hours_start, quiet_hours_end, protect_learning_phase, outcome_check_after_hours, anomaly_threshold_percent].hash
234
+ [id, workspace_id, execution_mode, outcome_check_after_hours, anomaly_threshold_percent].hash
337
235
  end
338
236
 
339
237
  # Builds the object from hash