plainrouter-sdk 0.1.1 → 0.5.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 (233) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -4
  3. data/lib/plainrouter/client.rb +75 -2
  4. data/lib/plainrouter/openapi/api/action_dry_run_api_api.rb +96 -0
  5. data/lib/plainrouter/openapi/api/action_proposal_api_api.rb +96 -0
  6. data/lib/plainrouter/openapi/api/action_read_api_api.rb +404 -0
  7. data/lib/plainrouter/openapi/api/ad_test_api_api.rb +259 -0
  8. data/lib/plainrouter/openapi/api/cookie_declaration_api.rb +90 -0
  9. data/lib/plainrouter/openapi/api/creative_api.rb +181 -0
  10. data/lib/plainrouter/openapi/api/deployment_plan_api.rb +306 -0
  11. data/lib/plainrouter/openapi/api/event_api.rb +15 -15
  12. data/lib/plainrouter/openapi/api/meta_inventory_exposure_api.rb +121 -0
  13. data/lib/plainrouter/openapi/api/operations_api.rb +24 -28
  14. data/lib/plainrouter/openapi/api/sandbox_api.rb +74 -17
  15. data/lib/plainrouter/openapi/api_client.rb +2 -2
  16. data/lib/plainrouter/openapi/api_error.rb +2 -2
  17. data/lib/plainrouter/openapi/api_model_base.rb +2 -2
  18. data/lib/plainrouter/openapi/configuration.rb +52 -3
  19. data/lib/plainrouter/openapi/models/action_batch_read.rb +164 -0
  20. data/lib/plainrouter/openapi/models/action_batch_read_data.rb +450 -0
  21. data/lib/plainrouter/openapi/models/action_current_disposition.rb +306 -0
  22. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload.rb +238 -0
  23. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_baseline.rb +103 -0
  24. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_baseline_any_of.rb +245 -0
  25. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_inverse.rb +206 -0
  26. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_metrics.rb +103 -0
  27. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_metrics_any_of.rb +276 -0
  28. data/lib/plainrouter/openapi/models/action_decision_receipt_read.rb +244 -0
  29. data/lib/plainrouter/openapi/models/action_decision_receipt_read_chain_entry.rb +190 -0
  30. data/lib/plainrouter/openapi/models/action_detail_read.rb +164 -0
  31. data/lib/plainrouter/openapi/models/action_dry_run_read.rb +164 -0
  32. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run.rb +166 -0
  33. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner.rb +103 -0
  34. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of.rb +376 -0
  35. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of1.rb +268 -0
  36. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of_diff.rb +162 -0
  37. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of_target_entity.rb +199 -0
  38. data/lib/plainrouter/openapi/models/action_list_read.rb +192 -0
  39. data/lib/plainrouter/openapi/models/action_list_read_meta.rb +242 -0
  40. data/lib/plainrouter/openapi/models/action_policy_read.rb +164 -0
  41. data/lib/plainrouter/openapi/models/action_policy_read_data.rb +278 -0
  42. data/lib/plainrouter/openapi/models/action_policy_result.rb +374 -0
  43. data/lib/plainrouter/openapi/models/action_proposal_input.rb +406 -0
  44. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner.rb +115 -0
  45. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of.rb +303 -0
  46. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of1.rb +303 -0
  47. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10.rb +303 -0
  48. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10_params.rb +356 -0
  49. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11.rb +303 -0
  50. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11_params.rb +173 -0
  51. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12.rb +303 -0
  52. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12_params.rb +188 -0
  53. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13.rb +303 -0
  54. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13_params.rb +259 -0
  55. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of2.rb +303 -0
  56. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of3.rb +303 -0
  57. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4.rb +303 -0
  58. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4_target_entity.rb +253 -0
  59. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of5.rb +303 -0
  60. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of6.rb +303 -0
  61. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of7.rb +303 -0
  62. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of8.rb +303 -0
  63. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of9.rb +303 -0
  64. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_params.rb +173 -0
  65. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_target_entity.rb +264 -0
  66. data/lib/plainrouter/openapi/models/action_proposal_input_evidence_inner.rb +262 -0
  67. data/lib/plainrouter/openapi/models/action_proposal_read.rb +164 -0
  68. data/lib/plainrouter/openapi/models/action_proposal_read_proposal.rb +452 -0
  69. data/lib/plainrouter/openapi/models/action_proposal_read_proposal_actions_inner.rb +386 -0
  70. data/lib/plainrouter/openapi/models/action_proposal_read_proposal_actions_inner_params.rb +103 -0
  71. data/lib/plainrouter/openapi/models/action_proposal_read_proposal_proposed_by.rb +202 -0
  72. data/lib/plainrouter/openapi/models/action_read_item.rb +574 -0
  73. data/lib/plainrouter/openapi/models/action_read_item_evidence.rb +105 -0
  74. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of.rb +190 -0
  75. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of1.rb +242 -0
  76. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of2.rb +217 -0
  77. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of_outcome.rb +238 -0
  78. data/lib/plainrouter/openapi/models/action_read_item_proposer.rb +198 -0
  79. data/lib/plainrouter/openapi/models/actions_api_dry_run401_response.rb +103 -0
  80. data/lib/plainrouter/openapi/models/actions_tests_api_index404_response.rb +103 -0
  81. data/lib/plainrouter/openapi/models/actions_tests_api_store_request.rb +467 -0
  82. data/lib/plainrouter/openapi/models/actions_tests_api_store_request_maximum_spend_minor.rb +104 -0
  83. data/lib/plainrouter/openapi/models/ad_test.rb +552 -0
  84. data/lib/plainrouter/openapi/models/ad_test_create_read.rb +164 -0
  85. data/lib/plainrouter/openapi/models/ad_test_create_read_test.rb +675 -0
  86. data/lib/plainrouter/openapi/models/ad_test_create_read_test_members_inner.rb +232 -0
  87. data/lib/plainrouter/openapi/models/ad_test_create_read_test_pause_proposals_inner.rb +286 -0
  88. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict.rb +336 -0
  89. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_daily_facts_inner.rb +374 -0
  90. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details.rb +285 -0
  91. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details_baseline.rb +190 -0
  92. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details_observed_destinations_inner.rb +216 -0
  93. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_members_inner.rb +349 -0
  94. data/lib/plainrouter/openapi/models/ad_test_daily_fact_read.rb +374 -0
  95. data/lib/plainrouter/openapi/models/ad_test_event_choice.rb +190 -0
  96. data/lib/plainrouter/openapi/models/ad_test_list_read.rb +218 -0
  97. data/lib/plainrouter/openapi/models/ad_test_list_read_observed_conversion_events_inner.rb +190 -0
  98. data/lib/plainrouter/openapi/models/ad_test_list_read_tests.rb +396 -0
  99. data/lib/plainrouter/openapi/models/ad_test_read.rb +675 -0
  100. data/lib/plainrouter/openapi/models/ad_test_show_read.rb +164 -0
  101. data/lib/plainrouter/openapi/models/ad_test_verdict_member_read.rb +349 -0
  102. data/lib/plainrouter/openapi/models/ad_test_verdict_read.rb +336 -0
  103. data/lib/plainrouter/openapi/models/agent_credential_error.rb +214 -0
  104. data/lib/plainrouter/openapi/models/api_route_not_found.rb +216 -0
  105. data/lib/plainrouter/openapi/models/api_route_not_found_error.rb +240 -0
  106. data/lib/plainrouter/openapi/models/api_route_not_found_request.rb +190 -0
  107. data/lib/plainrouter/openapi/models/api_route_not_found_resources.rb +190 -0
  108. data/lib/plainrouter/openapi/models/cookie_declaration.rb +177 -0
  109. data/lib/plainrouter/openapi/models/cookie_declaration_categories.rb +268 -0
  110. data/lib/plainrouter/openapi/models/cookie_declaration_categories_necessary.rb +194 -0
  111. data/lib/plainrouter/openapi/models/cookie_declaration_item.rb +280 -0
  112. data/lib/plainrouter/openapi/models/create_event200_response.rb +2 -2
  113. data/lib/plainrouter/openapi/models/create_event202_response.rb +218 -0
  114. data/lib/plainrouter/openapi/models/create_event202_response_warnings_inner.rb +240 -0
  115. data/lib/plainrouter/openapi/models/create_event_request.rb +2 -2
  116. data/lib/plainrouter/openapi/models/create_event_request_any_of.rb +3 -3
  117. data/lib/plainrouter/openapi/models/create_event_request_any_of1.rb +3 -3
  118. data/lib/plainrouter/openapi/models/create_event_request_any_of_event_time.rb +2 -2
  119. data/lib/plainrouter/openapi/models/create_event_request_any_of_value_data.rb +2 -2
  120. data/lib/plainrouter/openapi/models/creative_intake_read.rb +164 -0
  121. data/lib/plainrouter/openapi/models/creative_intake_read_creative.rb +451 -0
  122. data/lib/plainrouter/openapi/models/creative_intake_read_creative_tags.rb +104 -0
  123. data/lib/plainrouter/openapi/models/creative_intake_rejected.rb +164 -0
  124. data/lib/plainrouter/openapi/models/creative_intake_rejected_error.rb +190 -0
  125. data/lib/plainrouter/openapi/models/creative_intake_tags.rb +257 -0
  126. data/lib/plainrouter/openapi/models/delete_user_data200_response.rb +2 -2
  127. data/lib/plainrouter/openapi/models/delete_user_data_request.rb +35 -36
  128. data/lib/plainrouter/openapi/models/delivery_status.rb +2 -2
  129. data/lib/plainrouter/openapi/models/deployment_plan.rb +593 -0
  130. data/lib/plainrouter/openapi/models/deployment_plan_read.rb +268 -0
  131. data/lib/plainrouter/openapi/models/deployment_plan_read_copy.rb +266 -0
  132. data/lib/plainrouter/openapi/models/deployment_plan_read_creatives_inner.rb +320 -0
  133. data/lib/plainrouter/openapi/models/deployment_plan_read_creatives_inner_copy.rb +267 -0
  134. data/lib/plainrouter/openapi/models/destination.rb +30 -3
  135. data/lib/plainrouter/openapi/models/destination_credential_source.rb +3 -4
  136. data/lib/plainrouter/openapi/models/destination_status.rb +2 -2
  137. data/lib/plainrouter/openapi/models/destination_type.rb +4 -3
  138. data/lib/plainrouter/openapi/models/emq_snapshot.rb +30 -3
  139. data/lib/plainrouter/openapi/models/error_message.rb +2 -2
  140. data/lib/plainrouter/openapi/models/event.rb +89 -45
  141. data/lib/plainrouter/openapi/models/execute_deployment_plan_request.rb +200 -0
  142. data/lib/plainrouter/openapi/models/get_cookie_declaration404_response.rb +103 -0
  143. data/lib/plainrouter/openapi/models/get_emq_report200_response.rb +2 -2
  144. data/lib/plainrouter/openapi/models/get_emq_report200_response_snapshots_inner.rb +30 -3
  145. data/lib/plainrouter/openapi/models/get_event200_response.rb +2 -2
  146. data/lib/plainrouter/openapi/models/get_event200_response_deliveries_inner.rb +30 -3
  147. data/lib/plainrouter/openapi/models/get_event200_response_event.rb +31 -4
  148. data/lib/plainrouter/openapi/models/get_event200_response_event_consent.rb +2 -2
  149. data/lib/plainrouter/openapi/models/get_event200_response_event_deliveries_inner.rb +30 -3
  150. data/lib/plainrouter/openapi/models/get_event200_response_event_user_data_hashed.rb +104 -0
  151. data/lib/plainrouter/openapi/models/get_event200_response_lineage.rb +2 -2
  152. data/lib/plainrouter/openapi/models/get_event200_response_lineage_children_inner.rb +31 -4
  153. data/lib/plainrouter/openapi/models/get_event200_response_lineage_parent.rb +31 -4
  154. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response.rb +324 -0
  155. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_account.rb +264 -0
  156. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_changes_inner.rb +304 -0
  157. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_effective_range.rb +190 -0
  158. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_metrics_inner.rb +492 -0
  159. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_object_metrics_inner.rb +304 -0
  160. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_object_metrics_inner_meta.rb +268 -0
  161. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_staleness.rb +200 -0
  162. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_sync.rb +186 -0
  163. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response.rb +2 -2
  164. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner.rb +30 -3
  165. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_buckets_value.rb +2 -2
  166. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_event_counts.rb +2 -2
  167. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_event_counts_accepted.rb +2 -2
  168. data/lib/plainrouter/openapi/models/get_sandbox200_response.rb +2 -2
  169. data/lib/plainrouter/openapi/models/get_sandbox200_response_self_serve_key.rb +32 -6
  170. data/lib/plainrouter/openapi/models/{create_sandbox_key201_response.rb → get_sandbox200_response_self_serve_key_issued_key.rb} +6 -6
  171. data/lib/plainrouter/openapi/models/{create_sandbox_key201_response_use.rb → get_sandbox200_response_self_serve_key_issued_key_use.rb} +5 -5
  172. data/lib/plainrouter/openapi/models/get_sandbox200_response_try.rb +2 -2
  173. data/lib/plainrouter/openapi/models/get_sandbox200_response_try_body.rb +2 -2
  174. data/lib/plainrouter/openapi/models/get_sandbox200_response_try_body_value_data.rb +2 -2
  175. data/lib/plainrouter/openapi/models/ingestion_warning_code.rb +40 -0
  176. data/lib/plainrouter/openapi/models/jurisdiction_policy_class.rb +2 -2
  177. data/lib/plainrouter/openapi/models/launch_intent_read.rb +164 -0
  178. data/lib/plainrouter/openapi/models/launch_intent_read_intent.rb +330 -0
  179. data/lib/plainrouter/openapi/models/launch_intent_read_intent_actions_inner.rb +238 -0
  180. data/lib/plainrouter/openapi/models/launch_intent_status.rb +46 -0
  181. data/lib/plainrouter/openapi/models/launch_plans_copy403_response.rb +103 -0
  182. data/lib/plainrouter/openapi/models/launch_plans_copy404_response.rb +103 -0
  183. data/lib/plainrouter/openapi/models/launch_plans_execute422_response.rb +103 -0
  184. data/lib/plainrouter/openapi/models/launch_plans_index200_response.rb +164 -0
  185. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans.rb +244 -0
  186. data/lib/plainrouter/openapi/models/launch_plans_show200_response.rb +164 -0
  187. data/lib/plainrouter/openapi/models/list_events200_response.rb +2 -2
  188. data/lib/plainrouter/openapi/models/list_events200_response_events.rb +2 -2
  189. data/lib/plainrouter/openapi/models/list_events200_response_events_links_inner.rb +2 -2
  190. data/lib/plainrouter/openapi/models/list_events200_response_metrics.rb +2 -2
  191. data/lib/plainrouter/openapi/models/list_events_by_cursor200_response.rb +2 -2
  192. data/lib/plainrouter/openapi/models/list_events_by_cursor200_response_events.rb +2 -2
  193. data/lib/plainrouter/openapi/models/plan_copy_forbidden.rb +164 -0
  194. data/lib/plainrouter/openapi/models/plan_copy_forbidden_error.rb +214 -0
  195. data/lib/plainrouter/openapi/models/plan_copy_not_found.rb +164 -0
  196. data/lib/plainrouter/openapi/models/plan_copy_not_found_error.rb +214 -0
  197. data/lib/plainrouter/openapi/models/plan_copy_read.rb +164 -0
  198. data/lib/plainrouter/openapi/models/plan_copy_read_plan.rb +347 -0
  199. data/lib/plainrouter/openapi/models/plan_copy_rejected.rb +164 -0
  200. data/lib/plainrouter/openapi/models/plan_copy_rejected_error.rb +214 -0
  201. data/lib/plainrouter/openapi/models/plan_execute_conflict.rb +164 -0
  202. data/lib/plainrouter/openapi/models/plan_execute_conflict_error.rb +214 -0
  203. data/lib/plainrouter/openapi/models/plan_execute_rejected.rb +164 -0
  204. data/lib/plainrouter/openapi/models/plan_execute_rejected_error.rb +214 -0
  205. data/lib/plainrouter/openapi/models/proposal_replay_conflict.rb +214 -0
  206. data/lib/plainrouter/openapi/models/proposal_replay_conflict_errors.rb +178 -0
  207. data/lib/plainrouter/openapi/models/reconciliation_report.rb +31 -3
  208. data/lib/plainrouter/openapi/models/replay_deliveries202_response.rb +2 -2
  209. data/lib/plainrouter/openapi/models/replay_deliveries_request.rb +2 -2
  210. data/lib/plainrouter/openapi/models/send_test_purchase200_response.rb +2 -2
  211. data/lib/plainrouter/openapi/models/send_test_purchase422_response.rb +2 -2
  212. data/lib/plainrouter/openapi/models/send_test_purchase_request.rb +2 -2
  213. data/lib/plainrouter/openapi/models/set_destination_test_mode200_response.rb +2 -2
  214. data/lib/plainrouter/openapi/models/set_destination_test_mode200_response_destination.rb +30 -3
  215. data/lib/plainrouter/openapi/models/set_destination_test_mode_request.rb +2 -2
  216. data/lib/plainrouter/openapi/models/store_creative403_response.rb +103 -0
  217. data/lib/plainrouter/openapi/models/store_creative413_response.rb +103 -0
  218. data/lib/plainrouter/openapi/models/store_creative422_response.rb +103 -0
  219. data/lib/plainrouter/openapi/models/store_creative_from_url_request.rb +208 -0
  220. data/lib/plainrouter/openapi/models/store_creative_from_url_request_tags.rb +257 -0
  221. data/lib/plainrouter/openapi/models/store_creative_request.rb +219 -0
  222. data/lib/plainrouter/openapi/models/store_creative_request_tags.rb +257 -0
  223. data/lib/plainrouter/openapi/models/traffic_class.rb +2 -2
  224. data/lib/plainrouter/openapi/models/validate_sandbox_event200_response.rb +2 -2
  225. data/lib/plainrouter/openapi/models/validate_sandbox_event_request.rb +2 -2
  226. data/lib/plainrouter/openapi/models/validate_sandbox_event_request_value_data.rb +2 -2
  227. data/lib/plainrouter/openapi/models/validation_error.rb +2 -2
  228. data/lib/plainrouter/openapi/models/workspace_lock_timeout.rb +164 -0
  229. data/lib/plainrouter/openapi/models/workspace_lock_timeout_error.rb +214 -0
  230. data/lib/plainrouter/openapi/version.rb +3 -3
  231. data/lib/plainrouter/openapi.rb +164 -4
  232. data/lib/plainrouter/version.rb +1 -1
  233. metadata +167 -7
@@ -0,0 +1,406 @@
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 ActionProposalInput < ApiModelBase
18
+ attr_accessor :actions
19
+
20
+ attr_accessor :rationale
21
+
22
+ attr_accessor :idempotency_key
23
+
24
+ attr_accessor :evidence
25
+
26
+ attr_accessor :target_source
27
+
28
+ attr_accessor :account_id
29
+
30
+ attr_accessor :workspace_id
31
+
32
+ class EnumAttributeValidator
33
+ attr_reader :datatype
34
+ attr_reader :allowable_values
35
+
36
+ def initialize(datatype, allowable_values)
37
+ @allowable_values = allowable_values.map do |value|
38
+ case datatype.to_s
39
+ when /Integer/i
40
+ value.to_i
41
+ when /Float/i
42
+ value.to_f
43
+ else
44
+ value
45
+ end
46
+ end
47
+ end
48
+
49
+ def valid?(value)
50
+ !value || allowable_values.include?(value)
51
+ end
52
+ end
53
+
54
+ # Attribute mapping from ruby-style variable name to JSON key.
55
+ def self.attribute_map
56
+ {
57
+ :'actions' => :'actions',
58
+ :'rationale' => :'rationale',
59
+ :'idempotency_key' => :'idempotency_key',
60
+ :'evidence' => :'evidence',
61
+ :'target_source' => :'target_source',
62
+ :'account_id' => :'account_id',
63
+ :'workspace_id' => :'workspace_id'
64
+ }
65
+ end
66
+
67
+ # Returns attribute mapping this model knows about
68
+ def self.acceptable_attribute_map
69
+ attribute_map
70
+ end
71
+
72
+ # Returns all the JSON keys this model knows about
73
+ def self.acceptable_attributes
74
+ acceptable_attribute_map.values
75
+ end
76
+
77
+ # Attribute type mapping.
78
+ def self.openapi_types
79
+ {
80
+ :'actions' => :'Array<ActionProposalInputActionsInner>',
81
+ :'rationale' => :'String',
82
+ :'idempotency_key' => :'String',
83
+ :'evidence' => :'Array<ActionProposalInputEvidenceInner>',
84
+ :'target_source' => :'String',
85
+ :'account_id' => :'Integer',
86
+ :'workspace_id' => :'Integer'
87
+ }
88
+ end
89
+
90
+ # List of attributes with nullable: true
91
+ def self.openapi_nullable
92
+ Set.new([
93
+ ])
94
+ end
95
+
96
+ # Initializes the object
97
+ # @param [Hash] attributes Model attributes in the form of hash
98
+ def initialize(attributes = {})
99
+ if (!attributes.is_a?(Hash))
100
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PlainRouter::OpenAPI::ActionProposalInput` initialize method"
101
+ end
102
+
103
+ # check to see if the attribute exists and convert string to symbol for hash key
104
+ acceptable_attribute_map = self.class.acceptable_attribute_map
105
+ attributes = attributes.each_with_object({}) { |(k, v), h|
106
+ if (!acceptable_attribute_map.key?(k.to_sym))
107
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PlainRouter::OpenAPI::ActionProposalInput`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
108
+ end
109
+ h[k.to_sym] = v
110
+ }
111
+
112
+ if attributes.key?(:'actions')
113
+ if (value = attributes[:'actions']).is_a?(Array)
114
+ self.actions = value
115
+ end
116
+ else
117
+ self.actions = nil
118
+ end
119
+
120
+ if attributes.key?(:'rationale')
121
+ self.rationale = attributes[:'rationale']
122
+ else
123
+ self.rationale = nil
124
+ end
125
+
126
+ if attributes.key?(:'idempotency_key')
127
+ self.idempotency_key = attributes[:'idempotency_key']
128
+ else
129
+ self.idempotency_key = nil
130
+ end
131
+
132
+ if attributes.key?(:'evidence')
133
+ if (value = attributes[:'evidence']).is_a?(Array)
134
+ self.evidence = value
135
+ end
136
+ else
137
+ self.evidence = nil
138
+ end
139
+
140
+ if attributes.key?(:'target_source')
141
+ self.target_source = attributes[:'target_source']
142
+ else
143
+ self.target_source = nil
144
+ end
145
+
146
+ if attributes.key?(:'account_id')
147
+ self.account_id = attributes[:'account_id']
148
+ end
149
+
150
+ if attributes.key?(:'workspace_id')
151
+ self.workspace_id = attributes[:'workspace_id']
152
+ end
153
+ end
154
+
155
+ # Show invalid properties with the reasons. Usually used together with valid?
156
+ # @return Array for valid properties with the reasons
157
+ def list_invalid_properties
158
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
159
+ invalid_properties = Array.new
160
+ if @actions.nil?
161
+ invalid_properties.push('invalid value for "actions", actions cannot be nil.')
162
+ end
163
+
164
+ if @actions.length > 25
165
+ invalid_properties.push('invalid value for "actions", number of items must be less than or equal to 25.')
166
+ end
167
+
168
+ if @actions.length < 1
169
+ invalid_properties.push('invalid value for "actions", number of items must be greater than or equal to 1.')
170
+ end
171
+
172
+ if @rationale.nil?
173
+ invalid_properties.push('invalid value for "rationale", rationale cannot be nil.')
174
+ end
175
+
176
+ if @rationale.to_s.length > 4000
177
+ invalid_properties.push('invalid value for "rationale", the character length must be smaller than or equal to 4000.')
178
+ end
179
+
180
+ if @idempotency_key.nil?
181
+ invalid_properties.push('invalid value for "idempotency_key", idempotency_key cannot be nil.')
182
+ end
183
+
184
+ if @idempotency_key.to_s.length > 64
185
+ invalid_properties.push('invalid value for "idempotency_key", the character length must be smaller than or equal to 64.')
186
+ end
187
+
188
+ if @evidence.nil?
189
+ invalid_properties.push('invalid value for "evidence", evidence cannot be nil.')
190
+ end
191
+
192
+ if @evidence.length > 3
193
+ invalid_properties.push('invalid value for "evidence", number of items must be less than or equal to 3.')
194
+ end
195
+
196
+ if @evidence.length < 1
197
+ invalid_properties.push('invalid value for "evidence", number of items must be greater than or equal to 1.')
198
+ end
199
+
200
+ if @target_source.nil?
201
+ invalid_properties.push('invalid value for "target_source", target_source cannot be nil.')
202
+ end
203
+
204
+ if !@account_id.nil? && @account_id < 1
205
+ invalid_properties.push('invalid value for "account_id", must be greater than or equal to 1.')
206
+ end
207
+
208
+ if !@workspace_id.nil? && @workspace_id < 1
209
+ invalid_properties.push('invalid value for "workspace_id", must be greater than or equal to 1.')
210
+ end
211
+
212
+ invalid_properties
213
+ end
214
+
215
+ # Check to see if the all the properties in the model are valid
216
+ # @return true if the model is valid
217
+ def valid?
218
+ warn '[DEPRECATED] the `valid?` method is obsolete'
219
+ return false if @actions.nil?
220
+ return false if @actions.length > 25
221
+ return false if @actions.length < 1
222
+ return false if @rationale.nil?
223
+ return false if @rationale.to_s.length > 4000
224
+ return false if @idempotency_key.nil?
225
+ return false if @idempotency_key.to_s.length > 64
226
+ return false if @evidence.nil?
227
+ return false if @evidence.length > 3
228
+ return false if @evidence.length < 1
229
+ return false if @target_source.nil?
230
+ target_source_validator = EnumAttributeValidator.new('String', ["human_supplied"])
231
+ return false unless target_source_validator.valid?(@target_source)
232
+ return false if !@account_id.nil? && @account_id < 1
233
+ return false if !@workspace_id.nil? && @workspace_id < 1
234
+ true
235
+ end
236
+
237
+ # Custom attribute writer method with validation
238
+ # @param [Object] actions Value to be assigned
239
+ def actions=(actions)
240
+ if actions.nil?
241
+ fail ArgumentError, 'actions cannot be nil'
242
+ end
243
+
244
+ if actions.length > 25
245
+ fail ArgumentError, 'invalid value for "actions", number of items must be less than or equal to 25.'
246
+ end
247
+
248
+ if actions.length < 1
249
+ fail ArgumentError, 'invalid value for "actions", number of items must be greater than or equal to 1.'
250
+ end
251
+
252
+ @actions = actions
253
+ end
254
+
255
+ # Custom attribute writer method with validation
256
+ # @param [Object] rationale Value to be assigned
257
+ def rationale=(rationale)
258
+ if rationale.nil?
259
+ fail ArgumentError, 'rationale cannot be nil'
260
+ end
261
+
262
+ if rationale.to_s.length > 4000
263
+ fail ArgumentError, 'invalid value for "rationale", the character length must be smaller than or equal to 4000.'
264
+ end
265
+
266
+ @rationale = rationale
267
+ end
268
+
269
+ # Custom attribute writer method with validation
270
+ # @param [Object] idempotency_key Value to be assigned
271
+ def idempotency_key=(idempotency_key)
272
+ if idempotency_key.nil?
273
+ fail ArgumentError, 'idempotency_key cannot be nil'
274
+ end
275
+
276
+ if idempotency_key.to_s.length > 64
277
+ fail ArgumentError, 'invalid value for "idempotency_key", the character length must be smaller than or equal to 64.'
278
+ end
279
+
280
+ @idempotency_key = idempotency_key
281
+ end
282
+
283
+ # Custom attribute writer method with validation
284
+ # @param [Object] evidence Value to be assigned
285
+ def evidence=(evidence)
286
+ if evidence.nil?
287
+ fail ArgumentError, 'evidence cannot be nil'
288
+ end
289
+
290
+ if evidence.length > 3
291
+ fail ArgumentError, 'invalid value for "evidence", number of items must be less than or equal to 3.'
292
+ end
293
+
294
+ if evidence.length < 1
295
+ fail ArgumentError, 'invalid value for "evidence", number of items must be greater than or equal to 1.'
296
+ end
297
+
298
+ @evidence = evidence
299
+ end
300
+
301
+ # Custom attribute writer method checking allowed values (enum).
302
+ # @param [Object] target_source Object to be assigned
303
+ def target_source=(target_source)
304
+ validator = EnumAttributeValidator.new('String', ["human_supplied"])
305
+ unless validator.valid?(target_source)
306
+ fail ArgumentError, "invalid value for \"target_source\", must be one of #{validator.allowable_values}."
307
+ end
308
+ @target_source = target_source
309
+ end
310
+
311
+ # Custom attribute writer method with validation
312
+ # @param [Object] account_id Value to be assigned
313
+ def account_id=(account_id)
314
+ if account_id.nil?
315
+ fail ArgumentError, 'account_id cannot be nil'
316
+ end
317
+
318
+ if account_id < 1
319
+ fail ArgumentError, 'invalid value for "account_id", must be greater than or equal to 1.'
320
+ end
321
+
322
+ @account_id = account_id
323
+ end
324
+
325
+ # Custom attribute writer method with validation
326
+ # @param [Object] workspace_id Value to be assigned
327
+ def workspace_id=(workspace_id)
328
+ if workspace_id.nil?
329
+ fail ArgumentError, 'workspace_id cannot be nil'
330
+ end
331
+
332
+ if workspace_id < 1
333
+ fail ArgumentError, 'invalid value for "workspace_id", must be greater than or equal to 1.'
334
+ end
335
+
336
+ @workspace_id = workspace_id
337
+ end
338
+
339
+ # Checks equality by comparing each attribute.
340
+ # @param [Object] Object to be compared
341
+ def ==(o)
342
+ return true if self.equal?(o)
343
+ self.class == o.class &&
344
+ actions == o.actions &&
345
+ rationale == o.rationale &&
346
+ idempotency_key == o.idempotency_key &&
347
+ evidence == o.evidence &&
348
+ target_source == o.target_source &&
349
+ account_id == o.account_id &&
350
+ workspace_id == o.workspace_id
351
+ end
352
+
353
+ # @see the `==` method
354
+ # @param [Object] Object to be compared
355
+ def eql?(o)
356
+ self == o
357
+ end
358
+
359
+ # Calculates hash code according to all attributes.
360
+ # @return [Integer] Hash code
361
+ def hash
362
+ [actions, rationale, idempotency_key, evidence, target_source, account_id, workspace_id].hash
363
+ end
364
+
365
+ # Builds the object from hash
366
+ # @param [Hash] attributes Model attributes in the form of hash
367
+ # @return [Object] Returns the model itself
368
+ def self.build_from_hash(attributes)
369
+ return nil unless attributes.is_a?(Hash)
370
+ attributes = attributes.transform_keys(&:to_sym)
371
+ transformed_hash = {}
372
+ openapi_types.each_pair do |key, type|
373
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
374
+ transformed_hash["#{key}"] = nil
375
+ elsif type =~ /\AArray<(.*)>/i
376
+ # check to ensure the input is an array given that the attribute
377
+ # is documented as an array but the input is not
378
+ if attributes[attribute_map[key]].is_a?(Array)
379
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
380
+ end
381
+ elsif !attributes[attribute_map[key]].nil?
382
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
383
+ end
384
+ end
385
+ new(transformed_hash)
386
+ end
387
+
388
+ # Returns the object in the form of hash
389
+ # @return [Hash] Returns the object in the form of hash
390
+ def to_hash
391
+ hash = {}
392
+ self.class.attribute_map.each_pair do |attr, param|
393
+ value = self.send(attr)
394
+ if value.nil?
395
+ is_nullable = self.class.openapi_nullable.include?(attr)
396
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
397
+ end
398
+
399
+ hash[param] = _to_hash(value)
400
+ end
401
+ hash
402
+ end
403
+
404
+ end
405
+
406
+ end
@@ -0,0 +1,115 @@
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
+ module ActionProposalInputActionsInner
18
+ class << self
19
+ # List of class defined in anyOf (OpenAPI v3)
20
+ def openapi_any_of
21
+ [
22
+ :'ActionProposalInputActionsInnerAnyOf',
23
+ :'ActionProposalInputActionsInnerAnyOf1',
24
+ :'ActionProposalInputActionsInnerAnyOf10',
25
+ :'ActionProposalInputActionsInnerAnyOf11',
26
+ :'ActionProposalInputActionsInnerAnyOf12',
27
+ :'ActionProposalInputActionsInnerAnyOf13',
28
+ :'ActionProposalInputActionsInnerAnyOf2',
29
+ :'ActionProposalInputActionsInnerAnyOf3',
30
+ :'ActionProposalInputActionsInnerAnyOf4',
31
+ :'ActionProposalInputActionsInnerAnyOf5',
32
+ :'ActionProposalInputActionsInnerAnyOf6',
33
+ :'ActionProposalInputActionsInnerAnyOf7',
34
+ :'ActionProposalInputActionsInnerAnyOf8',
35
+ :'ActionProposalInputActionsInnerAnyOf9'
36
+ ]
37
+ end
38
+
39
+ # Builds the object
40
+ # @param [Mixed] Data to be matched against the list of anyOf items
41
+ # @return [Object] Returns the model or the data itself
42
+ def build(data)
43
+ # Go through the list of anyOf items and attempt to identify the appropriate one.
44
+ # Note:
45
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
46
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
47
+ # - TODO: scalar values are de facto behaving as if they were nullable.
48
+ # - TODO: logging when debugging is set.
49
+ openapi_any_of.each do |klass|
50
+ begin
51
+ next if klass == :AnyType # "nullable: true"
52
+ return find_and_cast_into_type(klass, data)
53
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
54
+ end
55
+ end
56
+
57
+ openapi_any_of.include?(:AnyType) ? data : nil
58
+ end
59
+
60
+ private
61
+
62
+ SchemaMismatchError = Class.new(StandardError)
63
+
64
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
65
+ def find_and_cast_into_type(klass, data)
66
+ return if data.nil?
67
+
68
+ case klass.to_s
69
+ when 'Boolean'
70
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
71
+ when 'Float'
72
+ return data if data.instance_of?(Float)
73
+ when 'Integer'
74
+ return data if data.instance_of?(Integer)
75
+ when 'Time'
76
+ return Time.parse(data)
77
+ when 'Date'
78
+ return Date.iso8601(data)
79
+ when 'String'
80
+ return data if data.instance_of?(String)
81
+ when 'Object' # "type: object"
82
+ return data if data.instance_of?(Hash)
83
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
84
+ if data.instance_of?(Array)
85
+ sub_type = Regexp.last_match[:sub_type]
86
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
87
+ end
88
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
89
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
90
+ sub_type = Regexp.last_match[:sub_type]
91
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
92
+ end
93
+ else # model
94
+ const = PlainRouter::OpenAPI.const_get(klass)
95
+ if const
96
+ if const.respond_to?(:openapi_any_of) # nested anyOf model
97
+ model = const.build(data)
98
+ return model if model
99
+ else
100
+ # raise if data contains keys that are not known to the model
101
+ raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty?
102
+ model = const.build_from_hash(data)
103
+ return model if model
104
+ end
105
+ end
106
+ end
107
+
108
+ raise # if no match by now, raise
109
+ rescue
110
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
111
+ end
112
+ end
113
+ end
114
+
115
+ end