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,561 @@
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 'cgi'
14
+
15
+ module PlainRouter::OpenAPI
16
+ class DeploymentPlanApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Copy a failed plan to a new draft
23
+ # Copy failed plan content and stored integer budgets into a fresh draft. History stays unchanged; validate budgets and submit again with a new intent.
24
+ # @param workspace [Integer] The workspace ID
25
+ # @param deployment_plan [String]
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [PlanCopyRead]
28
+ def launch_plans_copy(workspace, deployment_plan, opts = {})
29
+ data, _status_code, _headers = launch_plans_copy_with_http_info(workspace, deployment_plan, opts)
30
+ data
31
+ end
32
+
33
+ # Copy a failed plan to a new draft
34
+ # Copy failed plan content and stored integer budgets into a fresh draft. History stays unchanged; validate budgets and submit again with a new intent.
35
+ # @param workspace [Integer] The workspace ID
36
+ # @param deployment_plan [String]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(PlanCopyRead, Integer, Hash)>] PlanCopyRead data, response status code and response headers
39
+ def launch_plans_copy_with_http_info(workspace, deployment_plan, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: DeploymentPlanApi.launch_plans_copy ...'
42
+ end
43
+ # verify the required parameter 'workspace' is set
44
+ if @api_client.config.client_side_validation && workspace.nil?
45
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling DeploymentPlanApi.launch_plans_copy"
46
+ end
47
+ # verify the required parameter 'deployment_plan' is set
48
+ if @api_client.config.client_side_validation && deployment_plan.nil?
49
+ fail ArgumentError, "Missing the required parameter 'deployment_plan' when calling DeploymentPlanApi.launch_plans_copy"
50
+ end
51
+ # resource path
52
+ local_var_path = '/workspaces/{workspace}/admin/plans/{deployment_plan}/copy'.sub('{workspace}', CGI.escape(workspace.to_s)).sub('{deployment_plan}', CGI.escape(deployment_plan.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
+
62
+ # form parameters
63
+ form_params = opts[:form_params] || {}
64
+
65
+ # http body (model)
66
+ post_body = opts[:debug_body]
67
+
68
+ # return_type
69
+ return_type = opts[:debug_return_type] || 'PlanCopyRead'
70
+
71
+ # auth_names
72
+ auth_names = opts[:debug_auth_names] || ['planWriter']
73
+
74
+ new_options = opts.merge(
75
+ :operation => :"DeploymentPlanApi.launch_plans_copy",
76
+ :header_params => header_params,
77
+ :query_params => query_params,
78
+ :form_params => form_params,
79
+ :body => post_body,
80
+ :auth_names => auth_names,
81
+ :return_type => return_type
82
+ )
83
+
84
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
85
+ if @api_client.config.debugging
86
+ @api_client.config.logger.debug "API called: DeploymentPlanApi#launch_plans_copy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
87
+ end
88
+ return data, status_code, headers
89
+ end
90
+
91
+ # Execute a deployment plan
92
+ # Create or replay a governed Launch intent using the reviewed plan's review_version. Changed versions are refused before intent creation or staging.
93
+ # @param workspace [Integer] The workspace ID
94
+ # @param deployment_plan [String]
95
+ # @param execute_deployment_plan_request [ExecuteDeploymentPlanRequest]
96
+ # @param [Hash] opts the optional parameters
97
+ # @return [LaunchIntentRead]
98
+ def launch_plans_execute(workspace, deployment_plan, execute_deployment_plan_request, opts = {})
99
+ data, _status_code, _headers = launch_plans_execute_with_http_info(workspace, deployment_plan, execute_deployment_plan_request, opts)
100
+ data
101
+ end
102
+
103
+ # Execute a deployment plan
104
+ # Create or replay a governed Launch intent using the reviewed plan&#39;s review_version. Changed versions are refused before intent creation or staging.
105
+ # @param workspace [Integer] The workspace ID
106
+ # @param deployment_plan [String]
107
+ # @param execute_deployment_plan_request [ExecuteDeploymentPlanRequest]
108
+ # @param [Hash] opts the optional parameters
109
+ # @return [Array<(LaunchIntentRead, Integer, Hash)>] LaunchIntentRead data, response status code and response headers
110
+ def launch_plans_execute_with_http_info(workspace, deployment_plan, execute_deployment_plan_request, opts = {})
111
+ if @api_client.config.debugging
112
+ @api_client.config.logger.debug 'Calling API: DeploymentPlanApi.launch_plans_execute ...'
113
+ end
114
+ # verify the required parameter 'workspace' is set
115
+ if @api_client.config.client_side_validation && workspace.nil?
116
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling DeploymentPlanApi.launch_plans_execute"
117
+ end
118
+ # verify the required parameter 'deployment_plan' is set
119
+ if @api_client.config.client_side_validation && deployment_plan.nil?
120
+ fail ArgumentError, "Missing the required parameter 'deployment_plan' when calling DeploymentPlanApi.launch_plans_execute"
121
+ end
122
+ # verify the required parameter 'execute_deployment_plan_request' is set
123
+ if @api_client.config.client_side_validation && execute_deployment_plan_request.nil?
124
+ fail ArgumentError, "Missing the required parameter 'execute_deployment_plan_request' when calling DeploymentPlanApi.launch_plans_execute"
125
+ end
126
+ # resource path
127
+ local_var_path = '/workspaces/{workspace}/admin/plans/{deployment_plan}/execute'.sub('{workspace}', CGI.escape(workspace.to_s)).sub('{deployment_plan}', CGI.escape(deployment_plan.to_s))
128
+
129
+ # query parameters
130
+ query_params = opts[:query_params] || {}
131
+
132
+ # header parameters
133
+ header_params = opts[:header_params] || {}
134
+ # HTTP header 'Accept' (if needed)
135
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
136
+ # HTTP header 'Content-Type'
137
+ content_type = @api_client.select_header_content_type(['application/json'])
138
+ if !content_type.nil?
139
+ header_params['Content-Type'] = content_type
140
+ end
141
+
142
+ # form parameters
143
+ form_params = opts[:form_params] || {}
144
+
145
+ # http body (model)
146
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(execute_deployment_plan_request)
147
+
148
+ # return_type
149
+ return_type = opts[:debug_return_type] || 'LaunchIntentRead'
150
+
151
+ # auth_names
152
+ auth_names = opts[:debug_auth_names] || ['planWriter']
153
+
154
+ new_options = opts.merge(
155
+ :operation => :"DeploymentPlanApi.launch_plans_execute",
156
+ :header_params => header_params,
157
+ :query_params => query_params,
158
+ :form_params => form_params,
159
+ :body => post_body,
160
+ :auth_names => auth_names,
161
+ :return_type => return_type
162
+ )
163
+
164
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
165
+ if @api_client.config.debugging
166
+ @api_client.config.logger.debug "API called: DeploymentPlanApi#launch_plans_execute\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
167
+ end
168
+ return data, status_code, headers
169
+ end
170
+
171
+ # List deployment plans
172
+ # Read plans for the approved ad account with their current review_version. Pass the version from the plan you reviewed when executing.
173
+ # @param workspace [Integer] The workspace ID
174
+ # @param [Hash] opts the optional parameters
175
+ # @option opts [Integer] :cursor Continue using next_cursor with the same filters; rule lists use an immutable rule ID, other lists an offset or object ID.
176
+ # @option opts [Integer] :per_page Maximum complete rows; the byte budget may return fewer. Defaults to 25. (default to 25)
177
+ # @option opts [Integer] :page Integer page from 1 through 10000000000000000; integer strings are accepted. Zero, negatives, fractions, non-numeric strings and booleans return 422 with a page field validation error. (default to 1)
178
+ # @return [LaunchPlansIndex200Response]
179
+ def launch_plans_index(workspace, opts = {})
180
+ data, _status_code, _headers = launch_plans_index_with_http_info(workspace, opts)
181
+ data
182
+ end
183
+
184
+ # List deployment plans
185
+ # Read plans for the approved ad account with their current review_version. Pass the version from the plan you reviewed when executing.
186
+ # @param workspace [Integer] The workspace ID
187
+ # @param [Hash] opts the optional parameters
188
+ # @option opts [Integer] :cursor Continue using next_cursor with the same filters; rule lists use an immutable rule ID, other lists an offset or object ID.
189
+ # @option opts [Integer] :per_page Maximum complete rows; the byte budget may return fewer. Defaults to 25. (default to 25)
190
+ # @option opts [Integer] :page Integer page from 1 through 10000000000000000; integer strings are accepted. Zero, negatives, fractions, non-numeric strings and booleans return 422 with a page field validation error. (default to 1)
191
+ # @return [Array<(LaunchPlansIndex200Response, Integer, Hash)>] LaunchPlansIndex200Response data, response status code and response headers
192
+ def launch_plans_index_with_http_info(workspace, opts = {})
193
+ if @api_client.config.debugging
194
+ @api_client.config.logger.debug 'Calling API: DeploymentPlanApi.launch_plans_index ...'
195
+ end
196
+ # verify the required parameter 'workspace' is set
197
+ if @api_client.config.client_side_validation && workspace.nil?
198
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling DeploymentPlanApi.launch_plans_index"
199
+ end
200
+ if @api_client.config.client_side_validation && !opts[:'cursor'].nil? && !opts[:'cursor'].is_a?(String) && opts[:'cursor'] < 0
201
+ fail ArgumentError, 'invalid value for "opts[:"cursor"]" when calling DeploymentPlanApi.launch_plans_index, must be greater than or equal to 0.'
202
+ end
203
+
204
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && !opts[:'page'].is_a?(String) && opts[:'page'] > 10000000000000000
205
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling DeploymentPlanApi.launch_plans_index, must be smaller than or equal to 10000000000000000.'
206
+ end
207
+
208
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && !opts[:'page'].is_a?(String) && opts[:'page'] < 1
209
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling DeploymentPlanApi.launch_plans_index, must be greater than or equal to 1.'
210
+ end
211
+
212
+ # resource path
213
+ local_var_path = '/workspaces/{workspace}/admin/plans'.sub('{workspace}', CGI.escape(workspace.to_s))
214
+
215
+ # query parameters
216
+ query_params = opts[:query_params] || {}
217
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
218
+ query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
219
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
220
+
221
+ # header parameters
222
+ header_params = opts[:header_params] || {}
223
+ # HTTP header 'Accept' (if needed)
224
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
225
+
226
+ # form parameters
227
+ form_params = opts[:form_params] || {}
228
+
229
+ # http body (model)
230
+ post_body = opts[:debug_body]
231
+
232
+ # return_type
233
+ return_type = opts[:debug_return_type] || 'LaunchPlansIndex200Response'
234
+
235
+ # auth_names
236
+ auth_names = opts[:debug_auth_names] || ['planReader']
237
+
238
+ new_options = opts.merge(
239
+ :operation => :"DeploymentPlanApi.launch_plans_index",
240
+ :header_params => header_params,
241
+ :query_params => query_params,
242
+ :form_params => form_params,
243
+ :body => post_body,
244
+ :auth_names => auth_names,
245
+ :return_type => return_type
246
+ )
247
+
248
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
249
+ if @api_client.config.debugging
250
+ @api_client.config.logger.debug "API called: DeploymentPlanApi#launch_plans_index\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
251
+ end
252
+ return data, status_code, headers
253
+ end
254
+
255
+ # Read a deployment plan
256
+ # Read plans for the approved ad account with their current review_version. Pass the version from the plan you reviewed when executing.
257
+ # @param workspace [Integer] The workspace ID
258
+ # @param deployment_plan [String]
259
+ # @param [Hash] opts the optional parameters
260
+ # @option opts [Integer] :cursor Continue using next_cursor with the same filters; rule lists use an immutable rule ID, other lists an offset or object ID.
261
+ # @option opts [Integer] :limit Maximum complete rows; the byte budget may return fewer. Defaults to 5. (default to 5)
262
+ # @return [LaunchPlansShow200Response]
263
+ def launch_plans_show(workspace, deployment_plan, opts = {})
264
+ data, _status_code, _headers = launch_plans_show_with_http_info(workspace, deployment_plan, opts)
265
+ data
266
+ end
267
+
268
+ # Read a deployment plan
269
+ # Read plans for the approved ad account with their current review_version. Pass the version from the plan you reviewed when executing.
270
+ # @param workspace [Integer] The workspace ID
271
+ # @param deployment_plan [String]
272
+ # @param [Hash] opts the optional parameters
273
+ # @option opts [Integer] :cursor Continue using next_cursor with the same filters; rule lists use an immutable rule ID, other lists an offset or object ID.
274
+ # @option opts [Integer] :limit Maximum complete rows; the byte budget may return fewer. Defaults to 5. (default to 5)
275
+ # @return [Array<(LaunchPlansShow200Response, Integer, Hash)>] LaunchPlansShow200Response data, response status code and response headers
276
+ def launch_plans_show_with_http_info(workspace, deployment_plan, opts = {})
277
+ if @api_client.config.debugging
278
+ @api_client.config.logger.debug 'Calling API: DeploymentPlanApi.launch_plans_show ...'
279
+ end
280
+ # verify the required parameter 'workspace' is set
281
+ if @api_client.config.client_side_validation && workspace.nil?
282
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling DeploymentPlanApi.launch_plans_show"
283
+ end
284
+ # verify the required parameter 'deployment_plan' is set
285
+ if @api_client.config.client_side_validation && deployment_plan.nil?
286
+ fail ArgumentError, "Missing the required parameter 'deployment_plan' when calling DeploymentPlanApi.launch_plans_show"
287
+ end
288
+ if @api_client.config.client_side_validation && !opts[:'cursor'].nil? && !opts[:'cursor'].is_a?(String) && opts[:'cursor'] < 0
289
+ fail ArgumentError, 'invalid value for "opts[:"cursor"]" when calling DeploymentPlanApi.launch_plans_show, must be greater than or equal to 0.'
290
+ end
291
+
292
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && !opts[:'limit'].is_a?(String) && opts[:'limit'] > 100
293
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DeploymentPlanApi.launch_plans_show, must be smaller than or equal to 100.'
294
+ end
295
+
296
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && !opts[:'limit'].is_a?(String) && opts[:'limit'] < 1
297
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DeploymentPlanApi.launch_plans_show, must be greater than or equal to 1.'
298
+ end
299
+
300
+ # resource path
301
+ local_var_path = '/workspaces/{workspace}/admin/plans/{deployment_plan}'.sub('{workspace}', CGI.escape(workspace.to_s)).sub('{deployment_plan}', CGI.escape(deployment_plan.to_s))
302
+
303
+ # query parameters
304
+ query_params = opts[:query_params] || {}
305
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
306
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
307
+
308
+ # header parameters
309
+ header_params = opts[:header_params] || {}
310
+ # HTTP header 'Accept' (if needed)
311
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
312
+
313
+ # form parameters
314
+ form_params = opts[:form_params] || {}
315
+
316
+ # http body (model)
317
+ post_body = opts[:debug_body]
318
+
319
+ # return_type
320
+ return_type = opts[:debug_return_type] || 'LaunchPlansShow200Response'
321
+
322
+ # auth_names
323
+ auth_names = opts[:debug_auth_names] || ['planReader']
324
+
325
+ new_options = opts.merge(
326
+ :operation => :"DeploymentPlanApi.launch_plans_show",
327
+ :header_params => header_params,
328
+ :query_params => query_params,
329
+ :form_params => form_params,
330
+ :body => post_body,
331
+ :auth_names => auth_names,
332
+ :return_type => return_type
333
+ )
334
+
335
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
336
+ if @api_client.config.debugging
337
+ @api_client.config.logger.debug "API called: DeploymentPlanApi#launch_plans_show\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
338
+ end
339
+ return data, status_code, headers
340
+ end
341
+
342
+ # Create a deployment plan
343
+ # Create or edit a draft deployment plan for the authorized advertising account. Review and validate the plan before submitting any provider writes.
344
+ # @param workspace [Integer] The workspace ID
345
+ # @param store_deployment_plan_request [StoreDeploymentPlanRequest]
346
+ # @param [Hash] opts the optional parameters
347
+ # @return [LaunchPlansStore201Response]
348
+ def launch_plans_store(workspace, store_deployment_plan_request, opts = {})
349
+ data, _status_code, _headers = launch_plans_store_with_http_info(workspace, store_deployment_plan_request, opts)
350
+ data
351
+ end
352
+
353
+ # Create a deployment plan
354
+ # Create or edit a draft deployment plan for the authorized advertising account. Review and validate the plan before submitting any provider writes.
355
+ # @param workspace [Integer] The workspace ID
356
+ # @param store_deployment_plan_request [StoreDeploymentPlanRequest]
357
+ # @param [Hash] opts the optional parameters
358
+ # @return [Array<(LaunchPlansStore201Response, Integer, Hash)>] LaunchPlansStore201Response data, response status code and response headers
359
+ def launch_plans_store_with_http_info(workspace, store_deployment_plan_request, opts = {})
360
+ if @api_client.config.debugging
361
+ @api_client.config.logger.debug 'Calling API: DeploymentPlanApi.launch_plans_store ...'
362
+ end
363
+ # verify the required parameter 'workspace' is set
364
+ if @api_client.config.client_side_validation && workspace.nil?
365
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling DeploymentPlanApi.launch_plans_store"
366
+ end
367
+ # verify the required parameter 'store_deployment_plan_request' is set
368
+ if @api_client.config.client_side_validation && store_deployment_plan_request.nil?
369
+ fail ArgumentError, "Missing the required parameter 'store_deployment_plan_request' when calling DeploymentPlanApi.launch_plans_store"
370
+ end
371
+ # resource path
372
+ local_var_path = '/workspaces/{workspace}/admin/plans'.sub('{workspace}', CGI.escape(workspace.to_s))
373
+
374
+ # query parameters
375
+ query_params = opts[:query_params] || {}
376
+
377
+ # header parameters
378
+ header_params = opts[:header_params] || {}
379
+ # HTTP header 'Accept' (if needed)
380
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
381
+ # HTTP header 'Content-Type'
382
+ content_type = @api_client.select_header_content_type(['application/json'])
383
+ if !content_type.nil?
384
+ header_params['Content-Type'] = content_type
385
+ end
386
+
387
+ # form parameters
388
+ form_params = opts[:form_params] || {}
389
+
390
+ # http body (model)
391
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(store_deployment_plan_request)
392
+
393
+ # return_type
394
+ return_type = opts[:debug_return_type] || 'LaunchPlansStore201Response'
395
+
396
+ # auth_names
397
+ auth_names = opts[:debug_auth_names] || ['workspaceSecret']
398
+
399
+ new_options = opts.merge(
400
+ :operation => :"DeploymentPlanApi.launch_plans_store",
401
+ :header_params => header_params,
402
+ :query_params => query_params,
403
+ :form_params => form_params,
404
+ :body => post_body,
405
+ :auth_names => auth_names,
406
+ :return_type => return_type
407
+ )
408
+
409
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
410
+ if @api_client.config.debugging
411
+ @api_client.config.logger.debug "API called: DeploymentPlanApi#launch_plans_store\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
412
+ end
413
+ return data, status_code, headers
414
+ end
415
+
416
+ # Update a deployment plan
417
+ # Create or edit a draft deployment plan for the authorized advertising account. Review and validate the plan before submitting any provider writes.
418
+ # @param workspace [Integer] The workspace ID
419
+ # @param deployment_plan [String]
420
+ # @param [Hash] opts the optional parameters
421
+ # @option opts [UpdateDeploymentPlanRequest] :update_deployment_plan_request
422
+ # @return [LaunchPlansStore201Response]
423
+ def launch_plans_update(workspace, deployment_plan, opts = {})
424
+ data, _status_code, _headers = launch_plans_update_with_http_info(workspace, deployment_plan, opts)
425
+ data
426
+ end
427
+
428
+ # Update a deployment plan
429
+ # Create or edit a draft deployment plan for the authorized advertising account. Review and validate the plan before submitting any provider writes.
430
+ # @param workspace [Integer] The workspace ID
431
+ # @param deployment_plan [String]
432
+ # @param [Hash] opts the optional parameters
433
+ # @option opts [UpdateDeploymentPlanRequest] :update_deployment_plan_request
434
+ # @return [Array<(LaunchPlansStore201Response, Integer, Hash)>] LaunchPlansStore201Response data, response status code and response headers
435
+ def launch_plans_update_with_http_info(workspace, deployment_plan, opts = {})
436
+ if @api_client.config.debugging
437
+ @api_client.config.logger.debug 'Calling API: DeploymentPlanApi.launch_plans_update ...'
438
+ end
439
+ # verify the required parameter 'workspace' is set
440
+ if @api_client.config.client_side_validation && workspace.nil?
441
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling DeploymentPlanApi.launch_plans_update"
442
+ end
443
+ # verify the required parameter 'deployment_plan' is set
444
+ if @api_client.config.client_side_validation && deployment_plan.nil?
445
+ fail ArgumentError, "Missing the required parameter 'deployment_plan' when calling DeploymentPlanApi.launch_plans_update"
446
+ end
447
+ # resource path
448
+ local_var_path = '/workspaces/{workspace}/admin/plans/{deployment_plan}'.sub('{workspace}', CGI.escape(workspace.to_s)).sub('{deployment_plan}', CGI.escape(deployment_plan.to_s))
449
+
450
+ # query parameters
451
+ query_params = opts[:query_params] || {}
452
+
453
+ # header parameters
454
+ header_params = opts[:header_params] || {}
455
+ # HTTP header 'Accept' (if needed)
456
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
457
+ # HTTP header 'Content-Type'
458
+ content_type = @api_client.select_header_content_type(['application/json'])
459
+ if !content_type.nil?
460
+ header_params['Content-Type'] = content_type
461
+ end
462
+
463
+ # form parameters
464
+ form_params = opts[:form_params] || {}
465
+
466
+ # http body (model)
467
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'update_deployment_plan_request'])
468
+
469
+ # return_type
470
+ return_type = opts[:debug_return_type] || 'LaunchPlansStore201Response'
471
+
472
+ # auth_names
473
+ auth_names = opts[:debug_auth_names] || ['workspaceSecret']
474
+
475
+ new_options = opts.merge(
476
+ :operation => :"DeploymentPlanApi.launch_plans_update",
477
+ :header_params => header_params,
478
+ :query_params => query_params,
479
+ :form_params => form_params,
480
+ :body => post_body,
481
+ :auth_names => auth_names,
482
+ :return_type => return_type
483
+ )
484
+
485
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
486
+ if @api_client.config.debugging
487
+ @api_client.config.logger.debug "API called: DeploymentPlanApi#launch_plans_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
488
+ end
489
+ return data, status_code, headers
490
+ end
491
+
492
+ # Validate a deployment plan
493
+ # Validate a plan without provider writes. Reuse a ready Meta video in the same ad account; plans needing a new video upload are refused.
494
+ # @param workspace [Integer] The workspace ID
495
+ # @param deployment_plan [String]
496
+ # @param [Hash] opts the optional parameters
497
+ # @return [LaunchPlansShow200Response]
498
+ def launch_plans_validate(workspace, deployment_plan, opts = {})
499
+ data, _status_code, _headers = launch_plans_validate_with_http_info(workspace, deployment_plan, opts)
500
+ data
501
+ end
502
+
503
+ # Validate a deployment plan
504
+ # Validate a plan without provider writes. Reuse a ready Meta video in the same ad account; plans needing a new video upload are refused.
505
+ # @param workspace [Integer] The workspace ID
506
+ # @param deployment_plan [String]
507
+ # @param [Hash] opts the optional parameters
508
+ # @return [Array<(LaunchPlansShow200Response, Integer, Hash)>] LaunchPlansShow200Response data, response status code and response headers
509
+ def launch_plans_validate_with_http_info(workspace, deployment_plan, opts = {})
510
+ if @api_client.config.debugging
511
+ @api_client.config.logger.debug 'Calling API: DeploymentPlanApi.launch_plans_validate ...'
512
+ end
513
+ # verify the required parameter 'workspace' is set
514
+ if @api_client.config.client_side_validation && workspace.nil?
515
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling DeploymentPlanApi.launch_plans_validate"
516
+ end
517
+ # verify the required parameter 'deployment_plan' is set
518
+ if @api_client.config.client_side_validation && deployment_plan.nil?
519
+ fail ArgumentError, "Missing the required parameter 'deployment_plan' when calling DeploymentPlanApi.launch_plans_validate"
520
+ end
521
+ # resource path
522
+ local_var_path = '/workspaces/{workspace}/admin/plans/{deployment_plan}/validate'.sub('{workspace}', CGI.escape(workspace.to_s)).sub('{deployment_plan}', CGI.escape(deployment_plan.to_s))
523
+
524
+ # query parameters
525
+ query_params = opts[:query_params] || {}
526
+
527
+ # header parameters
528
+ header_params = opts[:header_params] || {}
529
+ # HTTP header 'Accept' (if needed)
530
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
531
+
532
+ # form parameters
533
+ form_params = opts[:form_params] || {}
534
+
535
+ # http body (model)
536
+ post_body = opts[:debug_body]
537
+
538
+ # return_type
539
+ return_type = opts[:debug_return_type] || 'LaunchPlansShow200Response'
540
+
541
+ # auth_names
542
+ auth_names = opts[:debug_auth_names] || ['planWriter']
543
+
544
+ new_options = opts.merge(
545
+ :operation => :"DeploymentPlanApi.launch_plans_validate",
546
+ :header_params => header_params,
547
+ :query_params => query_params,
548
+ :form_params => form_params,
549
+ :body => post_body,
550
+ :auth_names => auth_names,
551
+ :return_type => return_type
552
+ )
553
+
554
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
555
+ if @api_client.config.debugging
556
+ @api_client.config.logger.debug "API called: DeploymentPlanApi#launch_plans_validate\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
557
+ end
558
+ return data, status_code, headers
559
+ end
560
+ end
561
+ end