moolabs 0.3.0__py3-none-any.whl

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 (1417) hide show
  1. moolabs/__init__.py +1487 -0
  2. moolabs/_dx_attribution_context.py +213 -0
  3. moolabs/_dx_attribution_db_time.py +2126 -0
  4. moolabs/_dx_attribution_db_time_transport.py +173 -0
  5. moolabs/_dx_attribution_delta.py +142 -0
  6. moolabs/_dx_attribution_deposits.py +552 -0
  7. moolabs/_dx_attribution_instrument.py +416 -0
  8. moolabs/_dx_attribution_middleware.py +541 -0
  9. moolabs/_dx_attribution_propagate.py +509 -0
  10. moolabs/_dx_attribution_signal_transport.py +232 -0
  11. moolabs/_dx_attribution_signals.py +927 -0
  12. moolabs/_dx_buffer.py +429 -0
  13. moolabs/_dx_client.py +726 -0
  14. moolabs/_dx_exceptions.py +84 -0
  15. moolabs/_dx_namespaces.py +1780 -0
  16. moolabs/_dx_pagination.py +131 -0
  17. moolabs/_dx_routing.py +276 -0
  18. moolabs/_dx_urls.py +629 -0
  19. moolabs/_dx_webhooks.py +82 -0
  20. moolabs/api/__init__.py +121 -0
  21. moolabs/api/account_team_api.py +1444 -0
  22. moolabs/api/accounts_api.py +4950 -0
  23. moolabs/api/acute_analytics_api.py +5750 -0
  24. moolabs/api/acute_integrations_api.py +3449 -0
  25. moolabs/api/admin_api.py +3347 -0
  26. moolabs/api/alerts_api.py +1626 -0
  27. moolabs/api/allocation_rules_api.py +1720 -0
  28. moolabs/api/analytics_api.py +3204 -0
  29. moolabs/api/app_custom_invoicing_api.py +952 -0
  30. moolabs/api/app_stripe_api.py +958 -0
  31. moolabs/api/apps_api.py +3064 -0
  32. moolabs/api/arc_admin_api.py +8773 -0
  33. moolabs/api/arc_communications_api.py +1991 -0
  34. moolabs/api/arc_portal_api.py +1737 -0
  35. moolabs/api/arc_webhooks_api.py +2087 -0
  36. moolabs/api/attribution_allocation_api.py +2345 -0
  37. moolabs/api/attribution_api.py +1717 -0
  38. moolabs/api/attribution_customer_keys_api.py +600 -0
  39. moolabs/api/attribution_db_time_api.py +918 -0
  40. moolabs/api/attribution_opencost_api.py +1372 -0
  41. moolabs/api/attribution_readouts_api.py +393 -0
  42. moolabs/api/attribution_signals_api.py +315 -0
  43. moolabs/api/auto_topup_api.py +3095 -0
  44. moolabs/api/batch_api.py +6714 -0
  45. moolabs/api/billing_api.py +300 -0
  46. moolabs/api/bom_api.py +2769 -0
  47. moolabs/api/budgets_api.py +2112 -0
  48. moolabs/api/buyer_quotes_api.py +2007 -0
  49. moolabs/api/cases_api.py +5075 -0
  50. moolabs/api/cash_credits_api.py +1548 -0
  51. moolabs/api/chat_api.py +3101 -0
  52. moolabs/api/clause_packs_api.py +2785 -0
  53. moolabs/api/cloud_billing_api.py +1747 -0
  54. moolabs/api/contract_editor_api.py +3384 -0
  55. moolabs/api/cost_events_api.py +1732 -0
  56. moolabs/api/credit_memos_api.py +3478 -0
  57. moolabs/api/customers_api.py +3931 -0
  58. moolabs/api/dashboard_api.py +771 -0
  59. moolabs/api/debug_api.py +300 -0
  60. moolabs/api/default_api.py +526 -0
  61. moolabs/api/disputes_api.py +3586 -0
  62. moolabs/api/dunning_templates_api.py +8737 -0
  63. moolabs/api/email_provider_api.py +526 -0
  64. moolabs/api/entitlements_api.py +9846 -0
  65. moolabs/api/escalations_api.py +2541 -0
  66. moolabs/api/events_api.py +1125 -0
  67. moolabs/api/fx_rates_api.py +1452 -0
  68. moolabs/api/governance_api.py +4402 -0
  69. moolabs/api/grants_api.py +1370 -0
  70. moolabs/api/handoffs_api.py +2138 -0
  71. moolabs/api/health_api.py +281 -0
  72. moolabs/api/homepage_api.py +305 -0
  73. moolabs/api/integrations_api.py +3374 -0
  74. moolabs/api/internal_api.py +7145 -0
  75. moolabs/api/internal_credit_memos_api.py +914 -0
  76. moolabs/api/internal_grants_api.py +1000 -0
  77. moolabs/api/internal_period_settlements_api.py +657 -0
  78. moolabs/api/internal_plan_pricing_api.py +326 -0
  79. moolabs/api/internal_subscriptions_api.py +326 -0
  80. moolabs/api/ledger_api.py +1483 -0
  81. moolabs/api/lookup_information_api.py +587 -0
  82. moolabs/api/mapping_rules_api.py +1782 -0
  83. moolabs/api/mappings_api.py +632 -0
  84. moolabs/api/margin_simulation_api.py +595 -0
  85. moolabs/api/margins_api.py +2301 -0
  86. moolabs/api/meter_billing_api.py +7419 -0
  87. moolabs/api/meter_portal_api.py +1368 -0
  88. moolabs/api/meter_subscriptions_api.py +4358 -0
  89. moolabs/api/meters_api.py +3707 -0
  90. moolabs/api/monitoring_api.py +561 -0
  91. moolabs/api/moolabs_api.py +1182 -0
  92. moolabs/api/moometer_proxy_api.py +1357 -0
  93. moolabs/api/netsuite_sync_api.py +2180 -0
  94. moolabs/api/notes_api.py +1425 -0
  95. moolabs/api/notifications_api.py +4490 -0
  96. moolabs/api/ops_api.py +315 -0
  97. moolabs/api/outbox_api.py +653 -0
  98. moolabs/api/payments_api.py +2889 -0
  99. moolabs/api/performance_api.py +2471 -0
  100. moolabs/api/plan_pricing_api.py +3409 -0
  101. moolabs/api/plans_api.py +2197 -0
  102. moolabs/api/pools_api.py +2358 -0
  103. moolabs/api/portal_api.py +1103 -0
  104. moolabs/api/product_catalog_api.py +7644 -0
  105. moolabs/api/promises_api.py +2814 -0
  106. moolabs/api/quote_agents_api.py +2036 -0
  107. moolabs/api/quote_contract_webhooks_api.py +327 -0
  108. moolabs/api/quote_contracts_api.py +2551 -0
  109. moolabs/api/quote_sessions_api.py +881 -0
  110. moolabs/api/quotes_api.py +12880 -0
  111. moolabs/api/rate_cards_api.py +578 -0
  112. moolabs/api/rate_catalog_api.py +2120 -0
  113. moolabs/api/rate_schedules_api.py +1224 -0
  114. moolabs/api/rating_api.py +617 -0
  115. moolabs/api/reconstruction_api.py +1281 -0
  116. moolabs/api/remittances_api.py +1521 -0
  117. moolabs/api/reports_api.py +722 -0
  118. moolabs/api/rollover_api.py +313 -0
  119. moolabs/api/sdk_ingest_api.py +312 -0
  120. moolabs/api/snapshots_api.py +1218 -0
  121. moolabs/api/state_projection_api.py +961 -0
  122. moolabs/api/steering_api.py +1862 -0
  123. moolabs/api/subjects_api.py +1160 -0
  124. moolabs/api/subscription_overrides_api.py +579 -0
  125. moolabs/api/subscriptions_api.py +1200 -0
  126. moolabs/api/tasks_api.py +1509 -0
  127. moolabs/api/tenant_api.py +22395 -0
  128. moolabs/api/tenant_config_api.py +282 -0
  129. moolabs/api/topup_api.py +632 -0
  130. moolabs/api/unpriced_api.py +933 -0
  131. moolabs/api/usage_api.py +999 -0
  132. moolabs/api/variance_api.py +1327 -0
  133. moolabs/api/wallets_api.py +3787 -0
  134. moolabs/api/webhooks_api.py +281 -0
  135. moolabs/api/well_known_api.py +278 -0
  136. moolabs/api/word_addin_api.py +623 -0
  137. moolabs/api_client.py +797 -0
  138. moolabs/api_response.py +21 -0
  139. moolabs/configuration.py +620 -0
  140. moolabs/exceptions.py +199 -0
  141. moolabs/models/__init__.py +1286 -0
  142. moolabs/models/account_create.py +114 -0
  143. moolabs/models/account_filter_options_response.py +97 -0
  144. moolabs/models/account_invoice_list_response.py +95 -0
  145. moolabs/models/account_list_item_response.py +152 -0
  146. moolabs/models/account_list_item_response_subsidiaries_inner.py +152 -0
  147. moolabs/models/account_list_response.py +101 -0
  148. moolabs/models/account_overview_bucket_response.py +91 -0
  149. moolabs/models/account_overview_response.py +106 -0
  150. moolabs/models/account_response.py +132 -0
  151. moolabs/models/account_segment_row.py +91 -0
  152. moolabs/models/account_subsidiary_option.py +89 -0
  153. moolabs/models/account_summary.py +97 -0
  154. moolabs/models/account_team_member_in.py +97 -0
  155. moolabs/models/account_team_member_out.py +101 -0
  156. moolabs/models/account_team_member_patch.py +97 -0
  157. moolabs/models/account_team_role.py +39 -0
  158. moolabs/models/account_update.py +106 -0
  159. moolabs/models/action_kind.py +45 -0
  160. moolabs/models/acute_approve_request.py +87 -0
  161. moolabs/models/acute_demo_seed_lifecycle_request.py +103 -0
  162. moolabs/models/acute_http_validation_error.py +95 -0
  163. moolabs/models/acute_validation_error.py +99 -0
  164. moolabs/models/add_contract_participant_request.py +107 -0
  165. moolabs/models/addon.py +178 -0
  166. moolabs/models/addon1.py +115 -0
  167. moolabs/models/addon2.py +95 -0
  168. moolabs/models/addon_create.py +123 -0
  169. moolabs/models/addon_instance_type.py +37 -0
  170. moolabs/models/addon_order_by.py +40 -0
  171. moolabs/models/addon_paginated_response.py +101 -0
  172. moolabs/models/addon_replace_update.py +105 -0
  173. moolabs/models/addon_status.py +38 -0
  174. moolabs/models/address.py +110 -0
  175. moolabs/models/adjusted_total.py +152 -0
  176. moolabs/models/adjustment_amount.py +152 -0
  177. moolabs/models/aging_bucket_detail.py +93 -0
  178. moolabs/models/aging_report_response.py +106 -0
  179. moolabs/models/alb_bootstrap_response.py +89 -0
  180. moolabs/models/alb_connector_config.py +128 -0
  181. moolabs/models/alb_connector_health_response.py +112 -0
  182. moolabs/models/alb_connector_list_response.py +138 -0
  183. moolabs/models/alb_load_balancer_config.py +111 -0
  184. moolabs/models/alb_route_rule.py +107 -0
  185. moolabs/models/alb_source_config.py +123 -0
  186. moolabs/models/alb_source_health_response.py +93 -0
  187. moolabs/models/alb_status_patch_request.py +94 -0
  188. moolabs/models/alb_status_patch_response.py +94 -0
  189. moolabs/models/alb_target_group_config.py +103 -0
  190. moolabs/models/algorithm_breakdown_item.py +89 -0
  191. moolabs/models/algorithm_info.py +93 -0
  192. moolabs/models/alignment.py +87 -0
  193. moolabs/models/allocate_credits_request.py +95 -0
  194. moolabs/models/allocation_coverage_response.py +157 -0
  195. moolabs/models/allocation_fact_page_response.py +97 -0
  196. moolabs/models/allocation_fact_response.py +146 -0
  197. moolabs/models/allocation_key.py +91 -0
  198. moolabs/models/allocation_rule_create.py +114 -0
  199. moolabs/models/allocation_rule_response.py +113 -0
  200. moolabs/models/allocation_rule_update.py +111 -0
  201. moolabs/models/allocation_run_create_request.py +100 -0
  202. moolabs/models/allocation_run_create_response.py +142 -0
  203. moolabs/models/allocation_run_open_cost_snapshot_response.py +120 -0
  204. moolabs/models/allocation_run_readout_response.py +110 -0
  205. moolabs/models/allocation_run_response.py +133 -0
  206. moolabs/models/allocations_list_response.py +97 -0
  207. moolabs/models/amount.py +152 -0
  208. moolabs/models/amount1.py +152 -0
  209. moolabs/models/api_key_item.py +103 -0
  210. moolabs/models/app.py +164 -0
  211. moolabs/models/app_api_v1_auto_topup_router_trigger_response.py +108 -0
  212. moolabs/models/app_api_v1_fx_rates_router_fx_rate_response.py +104 -0
  213. moolabs/models/app_api_v1_integrations_netsuite_sync_router_trigger_response.py +89 -0
  214. moolabs/models/app_api_v1_internal_subscription_sync_schemas_subscription_sync_request.py +123 -0
  215. moolabs/models/app_api_v1_portal_router_create_portal_token_request.py +92 -0
  216. moolabs/models/app_api_v1_quotes_schemas_quote_settings_response.py +91 -0
  217. moolabs/models/app_api_v1_quotes_schemas_update_quote_settings_request.py +89 -0
  218. moolabs/models/app_api_v1_subscriptions_router_subscription_sync_request.py +125 -0
  219. moolabs/models/app_api_v1_tenant_access_router_create_portal_token_request.py +101 -0
  220. moolabs/models/app_api_v1_tenant_fx_rates_router_fx_rate_response.py +93 -0
  221. moolabs/models/app_api_v1_tenant_quote_settings_router_quote_settings_response.py +89 -0
  222. moolabs/models/app_api_v1_tenant_quote_settings_router_update_quote_settings_request.py +87 -0
  223. moolabs/models/app_capability.py +102 -0
  224. moolabs/models/app_capability_type.py +40 -0
  225. moolabs/models/app_paginated_response.py +101 -0
  226. moolabs/models/app_reference.py +95 -0
  227. moolabs/models/app_replace_update.py +164 -0
  228. moolabs/models/app_status.py +37 -0
  229. moolabs/models/app_type.py +38 -0
  230. moolabs/models/apply_credit_request.py +92 -0
  231. moolabs/models/approval_action_request.py +88 -0
  232. moolabs/models/approval_action_response.py +95 -0
  233. moolabs/models/approval_policy_response.py +91 -0
  234. moolabs/models/approve_request.py +88 -0
  235. moolabs/models/approve_response.py +91 -0
  236. moolabs/models/approver_in.py +95 -0
  237. moolabs/models/arc_demo_seed_lifecycle_request.py +103 -0
  238. moolabs/models/arc_dunning_permission_grant_request.py +96 -0
  239. moolabs/models/arc_dunning_permission_revoke_request.py +90 -0
  240. moolabs/models/arc_dunning_template_admin_grant_request.py +90 -0
  241. moolabs/models/arc_dunning_template_admin_grant_response.py +115 -0
  242. moolabs/models/arc_dunning_template_admin_revoke_request.py +88 -0
  243. moolabs/models/arc_dunning_template_admin_user_dto.py +107 -0
  244. moolabs/models/arc_dunning_template_admin_user_grant_dto.py +105 -0
  245. moolabs/models/arc_dunning_template_admin_users_response.py +110 -0
  246. moolabs/models/arc_http_validation_error.py +95 -0
  247. moolabs/models/arc_transaction_request.py +110 -0
  248. moolabs/models/arc_validation_error.py +99 -0
  249. moolabs/models/ask_customer_request.py +97 -0
  250. moolabs/models/ask_customer_response.py +91 -0
  251. moolabs/models/ask_moo_redline_request.py +98 -0
  252. moolabs/models/attribution_allocation_error_detail.py +94 -0
  253. moolabs/models/attribution_allocation_error_response.py +91 -0
  254. moolabs/models/attribution_completeness_response.py +97 -0
  255. moolabs/models/attribution_signal_conflict_detail.py +94 -0
  256. moolabs/models/attribution_signal_conflict_response.py +91 -0
  257. moolabs/models/attribution_signal_delta.py +98 -0
  258. moolabs/models/attribution_signal_request.py +123 -0
  259. moolabs/models/attribution_signal_response.py +96 -0
  260. moolabs/models/audit_request.py +91 -0
  261. moolabs/models/auto_topup_activity_item.py +104 -0
  262. moolabs/models/auto_topup_activity_response.py +97 -0
  263. moolabs/models/auto_topup_rule_response.py +114 -0
  264. moolabs/models/availability.py +43 -0
  265. moolabs/models/backfill_candidate.py +97 -0
  266. moolabs/models/backfill_malformed_disputes_request.py +87 -0
  267. moolabs/models/backfill_malformed_disputes_response.py +101 -0
  268. moolabs/models/balance_history_window.py +99 -0
  269. moolabs/models/basis.py +37 -0
  270. moolabs/models/batch_ingest_request.py +96 -0
  271. moolabs/models/batch_wallet_state_request.py +105 -0
  272. moolabs/models/batch_wallet_state_request_item.py +91 -0
  273. moolabs/models/batch_wallet_state_response.py +97 -0
  274. moolabs/models/batch_wallets_by_subjects_request.py +88 -0
  275. moolabs/models/billing_customer_profile.py +109 -0
  276. moolabs/models/billing_discount_percentage.py +100 -0
  277. moolabs/models/billing_discount_reason.py +164 -0
  278. moolabs/models/billing_discount_usage.py +107 -0
  279. moolabs/models/billing_discounts.py +97 -0
  280. moolabs/models/billing_import_request.py +105 -0
  281. moolabs/models/billing_import_response.py +104 -0
  282. moolabs/models/billing_invoice_customer_extended_details.py +116 -0
  283. moolabs/models/billing_party.py +110 -0
  284. moolabs/models/billing_party_replace_update.py +106 -0
  285. moolabs/models/billing_party_tax_identity.py +88 -0
  286. moolabs/models/billing_profile.py +140 -0
  287. moolabs/models/billing_profile_app_references.py +107 -0
  288. moolabs/models/billing_profile_apps.py +107 -0
  289. moolabs/models/billing_profile_apps_create.py +113 -0
  290. moolabs/models/billing_profile_apps_or_reference.py +148 -0
  291. moolabs/models/billing_profile_create.py +112 -0
  292. moolabs/models/billing_profile_customer_override.py +116 -0
  293. moolabs/models/billing_profile_customer_override_create.py +98 -0
  294. moolabs/models/billing_profile_customer_override_expand.py +37 -0
  295. moolabs/models/billing_profile_customer_override_order_by.py +40 -0
  296. moolabs/models/billing_profile_customer_override_with_details.py +113 -0
  297. moolabs/models/billing_profile_customer_override_with_details_paginated_response.py +101 -0
  298. moolabs/models/billing_profile_expand.py +36 -0
  299. moolabs/models/billing_profile_order_by.py +39 -0
  300. moolabs/models/billing_profile_paginated_response.py +101 -0
  301. moolabs/models/billing_profile_replace_update_with_workflow.py +106 -0
  302. moolabs/models/billing_tenant_settings_out.py +89 -0
  303. moolabs/models/billing_tenant_settings_update.py +88 -0
  304. moolabs/models/billing_workflow.py +109 -0
  305. moolabs/models/billing_workflow_collection_alignment.py +150 -0
  306. moolabs/models/billing_workflow_collection_alignment_anchored.py +100 -0
  307. moolabs/models/billing_workflow_collection_alignment_subscription.py +94 -0
  308. moolabs/models/billing_workflow_collection_settings.py +93 -0
  309. moolabs/models/billing_workflow_create.py +109 -0
  310. moolabs/models/billing_workflow_invoicing_settings.py +99 -0
  311. moolabs/models/billing_workflow_payment_settings.py +88 -0
  312. moolabs/models/billing_workflow_tax_settings.py +89 -0
  313. moolabs/models/bom_component_in.py +105 -0
  314. moolabs/models/bom_component_out.py +109 -0
  315. moolabs/models/bom_create_request.py +107 -0
  316. moolabs/models/bom_out.py +127 -0
  317. moolabs/models/bom_update_request.py +103 -0
  318. moolabs/models/bom_variance_out.py +115 -0
  319. moolabs/models/breakdown_response.py +124 -0
  320. moolabs/models/breakdown_row.py +121 -0
  321. moolabs/models/breakdown_row_kind.py +39 -0
  322. moolabs/models/budget_alert_response.py +107 -0
  323. moolabs/models/budget_amount.py +152 -0
  324. moolabs/models/budget_amount1.py +152 -0
  325. moolabs/models/budget_create.py +110 -0
  326. moolabs/models/budget_pace_status.py +38 -0
  327. moolabs/models/budget_response.py +113 -0
  328. moolabs/models/budget_status_item.py +105 -0
  329. moolabs/models/budget_update.py +107 -0
  330. moolabs/models/budget_with_utilization.py +119 -0
  331. moolabs/models/bulk_action_request.py +92 -0
  332. moolabs/models/bulk_replay_request.py +92 -0
  333. moolabs/models/buyer_accept_request.py +95 -0
  334. moolabs/models/buyer_otp_request_response.py +91 -0
  335. moolabs/models/buyer_otp_verify_request.py +95 -0
  336. moolabs/models/buyer_otp_verify_response.py +89 -0
  337. moolabs/models/buyer_quote_line_item.py +103 -0
  338. moolabs/models/buyer_quote_pricing.py +93 -0
  339. moolabs/models/buyer_quote_projection.py +133 -0
  340. moolabs/models/buyer_reject_request.py +88 -0
  341. moolabs/models/buyer_request_changes_request.py +94 -0
  342. moolabs/models/buyer_request_changes_response.py +93 -0
  343. moolabs/models/buyer_requested_changes.py +90 -0
  344. moolabs/models/cancel_subscription_request.py +91 -0
  345. moolabs/models/card_type.py +37 -0
  346. moolabs/models/case_create.py +112 -0
  347. moolabs/models/case_escalate_request.py +90 -0
  348. moolabs/models/case_invoice_create.py +127 -0
  349. moolabs/models/case_invoice_response.py +150 -0
  350. moolabs/models/case_list_item_response.py +171 -0
  351. moolabs/models/case_list_response.py +101 -0
  352. moolabs/models/case_pause_request.py +91 -0
  353. moolabs/models/case_response.py +169 -0
  354. moolabs/models/case_update.py +102 -0
  355. moolabs/models/case_write_off_request.py +90 -0
  356. moolabs/models/cash_app_config_update_request.py +96 -0
  357. moolabs/models/cei_response.py +102 -0
  358. moolabs/models/change_item.py +101 -0
  359. moolabs/models/channel_policy_schema.py +112 -0
  360. moolabs/models/channel_preference_create.py +99 -0
  361. moolabs/models/channel_preference_response.py +106 -0
  362. moolabs/models/channel_preference_update.py +95 -0
  363. moolabs/models/channel_preferences_response.py +95 -0
  364. moolabs/models/chat_feedback_in.py +91 -0
  365. moolabs/models/chat_message_in.py +89 -0
  366. moolabs/models/chat_request.py +101 -0
  367. moolabs/models/check_trigger_request.py +88 -0
  368. moolabs/models/checkout_session_custom_text_after_submit_params.py +109 -0
  369. moolabs/models/checkout_session_custom_text_after_submit_params_after_submit.py +88 -0
  370. moolabs/models/checkout_session_custom_text_after_submit_params_shipping_address.py +88 -0
  371. moolabs/models/checkout_session_custom_text_after_submit_params_submit.py +88 -0
  372. moolabs/models/checkout_session_custom_text_after_submit_params_terms_of_service_acceptance.py +88 -0
  373. moolabs/models/checkout_session_ui_mode.py +37 -0
  374. moolabs/models/clause_citations.py +91 -0
  375. moolabs/models/clause_family.py +129 -0
  376. moolabs/models/clause_finding.py +110 -0
  377. moolabs/models/clause_pack.py +118 -0
  378. moolabs/models/clause_position.py +91 -0
  379. moolabs/models/client_app_start_response.py +87 -0
  380. moolabs/models/cloud_cost_row_input.py +105 -0
  381. moolabs/models/cloud_provider.py +38 -0
  382. moolabs/models/cloud_provider_data_through.py +116 -0
  383. moolabs/models/cloud_provider_quality_axis.py +107 -0
  384. moolabs/models/cloud_temporal_coverage_summary.py +114 -0
  385. moolabs/models/collection_method.py +37 -0
  386. moolabs/models/commercial_basis.py +39 -0
  387. moolabs/models/commercial_overrides.py +113 -0
  388. moolabs/models/commercial_overrides_input.py +115 -0
  389. moolabs/models/commercial_overrides_payload.py +113 -0
  390. moolabs/models/communication_create.py +110 -0
  391. moolabs/models/communication_list_response.py +101 -0
  392. moolabs/models/communication_response.py +138 -0
  393. moolabs/models/comparison_mode.py +37 -0
  394. moolabs/models/completeness_response.py +105 -0
  395. moolabs/models/component_coverage_response.py +123 -0
  396. moolabs/models/compute_variance_request.py +96 -0
  397. moolabs/models/compute_variance_response.py +105 -0
  398. moolabs/models/config_upload_gap_out.py +89 -0
  399. moolabs/models/config_upload_response.py +109 -0
  400. moolabs/models/config_upload_summary_out.py +95 -0
  401. moolabs/models/connector_config_response.py +93 -0
  402. moolabs/models/connector_health_response.py +102 -0
  403. moolabs/models/connector_item.py +105 -0
  404. moolabs/models/contact_create.py +100 -0
  405. moolabs/models/contact_list_response.py +101 -0
  406. moolabs/models/contact_response.py +134 -0
  407. moolabs/models/contact_update.py +102 -0
  408. moolabs/models/contract_document_response.py +104 -0
  409. moolabs/models/contract_event_response.py +108 -0
  410. moolabs/models/contract_inbound_message_response.py +106 -0
  411. moolabs/models/contract_participant_response.py +131 -0
  412. moolabs/models/contract_segment_response.py +95 -0
  413. moolabs/models/contract_thread_response.py +115 -0
  414. moolabs/models/contract_thread_snapshot_response.py +121 -0
  415. moolabs/models/contract_upload_detail_response.py +103 -0
  416. moolabs/models/contract_version_response.py +128 -0
  417. moolabs/models/contributor_item.py +123 -0
  418. moolabs/models/contributor_kind.py +38 -0
  419. moolabs/models/contributor_query_request.py +146 -0
  420. moolabs/models/contributor_response.py +174 -0
  421. moolabs/models/cost.py +152 -0
  422. moolabs/models/cost_adjustment_create.py +131 -0
  423. moolabs/models/cost_adjustment_response.py +102 -0
  424. moolabs/models/cost_driver_rule_create_request.py +158 -0
  425. moolabs/models/cost_driver_rule_response.py +126 -0
  426. moolabs/models/cost_driver_rule_update_request.py +100 -0
  427. moolabs/models/cost_event_detail_response.py +132 -0
  428. moolabs/models/cost_event_ingest.py +177 -0
  429. moolabs/models/cost_event_response.py +122 -0
  430. moolabs/models/cost_event_summary_item.py +103 -0
  431. moolabs/models/cost_event_summary_request.py +88 -0
  432. moolabs/models/cost_event_summary_response.py +95 -0
  433. moolabs/models/cost_explorer_response.py +155 -0
  434. moolabs/models/cost_scope.py +37 -0
  435. moolabs/models/coverage_snapshot_response.py +114 -0
  436. moolabs/models/cpu_core_hours.py +152 -0
  437. moolabs/models/cpu_cost_weight.py +152 -0
  438. moolabs/models/create_allocation_run_api422_response.py +147 -0
  439. moolabs/models/create_api_key_request.py +89 -0
  440. moolabs/models/create_api_key_response.py +105 -0
  441. moolabs/models/create_auto_topup_rule_request.py +106 -0
  442. moolabs/models/create_checkout_session_tax_id_collection.py +90 -0
  443. moolabs/models/create_checkout_session_tax_id_collection_required.py +37 -0
  444. moolabs/models/create_contract_thread_request.py +87 -0
  445. moolabs/models/create_credit_request.py +97 -0
  446. moolabs/models/create_fx_rate_request.py +103 -0
  447. moolabs/models/create_grant_request.py +136 -0
  448. moolabs/models/create_mapping_request.py +91 -0
  449. moolabs/models/create_matrix_price_row_request.py +91 -0
  450. moolabs/models/create_matrix_price_row_response.py +89 -0
  451. moolabs/models/create_portal_token_response.py +91 -0
  452. moolabs/models/create_quote_redline_request.py +103 -0
  453. moolabs/models/create_quote_request.py +119 -0
  454. moolabs/models/create_quote_template_request.py +102 -0
  455. moolabs/models/create_rate_card_request.py +105 -0
  456. moolabs/models/create_reconstruction_run_request.py +101 -0
  457. moolabs/models/create_session_response.py +97 -0
  458. moolabs/models/create_snapshot_request.py +98 -0
  459. moolabs/models/create_stripe_checkout_session_billing_address_collection.py +37 -0
  460. moolabs/models/create_stripe_checkout_session_consent_collection.py +97 -0
  461. moolabs/models/create_stripe_checkout_session_consent_collection_payment_method_reuse_agreement.py +88 -0
  462. moolabs/models/create_stripe_checkout_session_consent_collection_payment_method_reuse_agreement_position.py +37 -0
  463. moolabs/models/create_stripe_checkout_session_consent_collection_promotions.py +37 -0
  464. moolabs/models/create_stripe_checkout_session_consent_collection_terms_of_service.py +37 -0
  465. moolabs/models/create_stripe_checkout_session_customer_update.py +92 -0
  466. moolabs/models/create_stripe_checkout_session_customer_update_behavior.py +37 -0
  467. moolabs/models/create_stripe_checkout_session_redirect_on_completion.py +38 -0
  468. moolabs/models/create_stripe_checkout_session_request.py +112 -0
  469. moolabs/models/create_stripe_checkout_session_request_customer.py +163 -0
  470. moolabs/models/create_stripe_checkout_session_request_options.py +147 -0
  471. moolabs/models/create_stripe_checkout_session_result.py +139 -0
  472. moolabs/models/create_stripe_customer_portal_session_params.py +91 -0
  473. moolabs/models/create_threshold_request.py +99 -0
  474. moolabs/models/create_value_recognition_request.py +100 -0
  475. moolabs/models/create_wallet_request.py +106 -0
  476. moolabs/models/credit_config.py +119 -0
  477. moolabs/models/credit_config_payload.py +135 -0
  478. moolabs/models/credit_cost_ratio_item.py +93 -0
  479. moolabs/models/credit_cost_ratio_response.py +101 -0
  480. moolabs/models/credit_memo_apply_request.py +90 -0
  481. moolabs/models/credit_memo_create.py +104 -0
  482. moolabs/models/credit_memo_create_internal.py +114 -0
  483. moolabs/models/credit_memo_create_public.py +108 -0
  484. moolabs/models/credit_memo_item.py +102 -0
  485. moolabs/models/credit_memo_line_in.py +90 -0
  486. moolabs/models/credit_memo_list_response.py +101 -0
  487. moolabs/models/credit_memo_out.py +138 -0
  488. moolabs/models/credit_memo_response.py +124 -0
  489. moolabs/models/credit_memo_update.py +94 -0
  490. moolabs/models/credit_note_original_invoice_ref.py +114 -0
  491. moolabs/models/credit_override.py +87 -0
  492. moolabs/models/credit_override_input.py +101 -0
  493. moolabs/models/credit_override_payload.py +100 -0
  494. moolabs/models/crm_quote_context_request.py +94 -0
  495. moolabs/models/crm_quote_context_response.py +101 -0
  496. moolabs/models/crm_quote_draft_request.py +98 -0
  497. moolabs/models/crm_quote_draft_response.py +107 -0
  498. moolabs/models/crm_quote_record_card_response.py +97 -0
  499. moolabs/models/crm_surface_response.py +97 -0
  500. moolabs/models/currency.py +101 -0
  501. moolabs/models/current.py +152 -0
  502. moolabs/models/custom_invoicing_app.py +142 -0
  503. moolabs/models/custom_invoicing_app_replace_update.py +105 -0
  504. moolabs/models/custom_invoicing_customer_app_data.py +117 -0
  505. moolabs/models/custom_invoicing_draft_synchronized_request.py +91 -0
  506. moolabs/models/custom_invoicing_finalized_invoicing_request.py +91 -0
  507. moolabs/models/custom_invoicing_finalized_payment_request.py +87 -0
  508. moolabs/models/custom_invoicing_finalized_request.py +97 -0
  509. moolabs/models/custom_invoicing_line_discount_external_id_mapping.py +97 -0
  510. moolabs/models/custom_invoicing_line_external_id_mapping.py +97 -0
  511. moolabs/models/custom_invoicing_payment_trigger.py +41 -0
  512. moolabs/models/custom_invoicing_sync_result.py +110 -0
  513. moolabs/models/custom_invoicing_tax_config.py +87 -0
  514. moolabs/models/custom_invoicing_update_payment_status_request.py +92 -0
  515. moolabs/models/custom_plan_input.py +136 -0
  516. moolabs/models/custom_subscription_change.py +119 -0
  517. moolabs/models/custom_subscription_create.py +153 -0
  518. moolabs/models/customer.py +172 -0
  519. moolabs/models/customer_access.py +102 -0
  520. moolabs/models/customer_app_data.py +164 -0
  521. moolabs/models/customer_app_data_create_or_update_item.py +164 -0
  522. moolabs/models/customer_app_data_paginated_response.py +101 -0
  523. moolabs/models/customer_cost_item.py +95 -0
  524. moolabs/models/customer_create.py +120 -0
  525. moolabs/models/customer_expand.py +36 -0
  526. moolabs/models/customer_id.py +95 -0
  527. moolabs/models/customer_item.py +114 -0
  528. moolabs/models/customer_key.py +87 -0
  529. moolabs/models/customer_key_page_response.py +101 -0
  530. moolabs/models/customer_key_put_request.py +103 -0
  531. moolabs/models/customer_key_response.py +94 -0
  532. moolabs/models/customer_margin_item.py +99 -0
  533. moolabs/models/customer_margin_response.py +101 -0
  534. moolabs/models/customer_order_by.py +38 -0
  535. moolabs/models/customer_paginated_response.py +101 -0
  536. moolabs/models/customer_replace_update.py +120 -0
  537. moolabs/models/customer_subscription_order_by.py +37 -0
  538. moolabs/models/customer_upsert_request.py +102 -0
  539. moolabs/models/customer_usage_attribution.py +88 -0
  540. moolabs/models/danger_request.py +89 -0
  541. moolabs/models/dashboard_meta.py +172 -0
  542. moolabs/models/dashboard_overview_response.py +115 -0
  543. moolabs/models/data_through.py +115 -0
  544. moolabs/models/db_time_coverage_response.py +154 -0
  545. moolabs/models/db_time_evidence_batch_readback_response.py +135 -0
  546. moolabs/models/db_time_evidence_batch_request.py +147 -0
  547. moolabs/models/db_time_evidence_batch_response.py +100 -0
  548. moolabs/models/db_time_evidence_conflict_detail.py +94 -0
  549. moolabs/models/db_time_evidence_conflict_response.py +91 -0
  550. moolabs/models/db_time_evidence_not_found_detail.py +94 -0
  551. moolabs/models/db_time_evidence_not_found_response.py +91 -0
  552. moolabs/models/db_time_observation_request.py +131 -0
  553. moolabs/models/db_time_readout_quality_response.py +103 -0
  554. moolabs/models/deal_context.py +97 -0
  555. moolabs/models/deal_context_rule.py +105 -0
  556. moolabs/models/decision_item.py +131 -0
  557. moolabs/models/decision_kind.py +46 -0
  558. moolabs/models/decision_overview_response.py +172 -0
  559. moolabs/models/decision_queue_response.py +115 -0
  560. moolabs/models/decision_reason_code.py +53 -0
  561. moolabs/models/delta.py +152 -0
  562. moolabs/models/delta_pct.py +152 -0
  563. moolabs/models/demo_seed_acute_history_baseline_request.py +106 -0
  564. moolabs/models/demo_seed_acute_tenant_registration_request.py +114 -0
  565. moolabs/models/demo_seed_agent_report_baseline_request.py +106 -0
  566. moolabs/models/demo_seed_arc_invoice_ref.py +107 -0
  567. moolabs/models/demo_seed_arc_portfolio_baseline_request.py +121 -0
  568. moolabs/models/demo_seed_catalog_baseline_request.py +108 -0
  569. moolabs/models/demo_seed_customer_portfolio_baseline_request.py +103 -0
  570. moolabs/models/demo_seed_integration_crm_baseline_request.py +106 -0
  571. moolabs/models/demo_seed_integration_finance_baseline_request.py +106 -0
  572. moolabs/models/demo_seed_integration_netsuite_baseline_request.py +106 -0
  573. moolabs/models/demo_seed_integration_webhook_baseline_request.py +106 -0
  574. moolabs/models/demo_seed_invoice_payment_baseline_request.py +106 -0
  575. moolabs/models/demo_seed_isolation_canary_baseline_request.py +106 -0
  576. moolabs/models/demo_seed_lifecycle_request.py +103 -0
  577. moolabs/models/demo_seed_quote_contract_baseline_request.py +106 -0
  578. moolabs/models/demo_seed_security_credentials_baseline_request.py +106 -0
  579. moolabs/models/demo_seed_settings_baseline_request.py +106 -0
  580. moolabs/models/demo_seed_subscription_baseline_request.py +106 -0
  581. moolabs/models/demo_seed_tenant_config_baseline_request.py +119 -0
  582. moolabs/models/demo_seed_usage_baseline_request.py +106 -0
  583. moolabs/models/derive_request.py +94 -0
  584. moolabs/models/dimension.py +39 -0
  585. moolabs/models/dimension_coverage_response.py +102 -0
  586. moolabs/models/disclosure_policy_response.py +93 -0
  587. moolabs/models/disclosure_policy_update_request.py +102 -0
  588. moolabs/models/discount_percentage.py +87 -0
  589. moolabs/models/discount_reason_maximum_spend.py +94 -0
  590. moolabs/models/discount_reason_ratecard_percentage.py +109 -0
  591. moolabs/models/discount_reason_ratecard_usage.py +116 -0
  592. moolabs/models/discount_usage.py +95 -0
  593. moolabs/models/discounts.py +97 -0
  594. moolabs/models/dismiss_refinement_request.py +87 -0
  595. moolabs/models/dispute_approval_request.py +88 -0
  596. moolabs/models/dispute_list_response.py +101 -0
  597. moolabs/models/dispute_resolve_request.py +92 -0
  598. moolabs/models/dispute_response.py +134 -0
  599. moolabs/models/dispute_summary_response.py +104 -0
  600. moolabs/models/dispute_update_request.py +102 -0
  601. moolabs/models/dns_record.py +119 -0
  602. moolabs/models/domain_response.py +95 -0
  603. moolabs/models/domain_update.py +87 -0
  604. moolabs/models/draft_lock_request.py +88 -0
  605. moolabs/models/draft_lock_response.py +97 -0
  606. moolabs/models/draft_save_request.py +114 -0
  607. moolabs/models/draft_unlock_request.py +90 -0
  608. moolabs/models/driver_item.py +122 -0
  609. moolabs/models/dry_run_request.py +89 -0
  610. moolabs/models/dry_run_response.py +97 -0
  611. moolabs/models/dso_response.py +100 -0
  612. moolabs/models/dynamic_price_with_commitments.py +131 -0
  613. moolabs/models/economics_summary.py +114 -0
  614. moolabs/models/edit_subscription_add_item.py +102 -0
  615. moolabs/models/edit_subscription_add_phase.py +100 -0
  616. moolabs/models/edit_subscription_remove_item.py +98 -0
  617. moolabs/models/edit_subscription_remove_phase.py +99 -0
  618. moolabs/models/edit_subscription_stretch_phase.py +98 -0
  619. moolabs/models/edit_subscription_unschedule_edit.py +94 -0
  620. moolabs/models/effective_permission_grant_dto.py +105 -0
  621. moolabs/models/effective_permissions_response.py +129 -0
  622. moolabs/models/email_config_out.py +188 -0
  623. moolabs/models/email_config_upsert.py +111 -0
  624. moolabs/models/email_context.py +44 -0
  625. moolabs/models/email_message_status.py +42 -0
  626. moolabs/models/email_provider.py +37 -0
  627. moolabs/models/email_provider_identity.py +157 -0
  628. moolabs/models/email_provider_identity_list.py +108 -0
  629. moolabs/models/email_provider_operator_upsert.py +131 -0
  630. moolabs/models/email_provider_route.py +128 -0
  631. moolabs/models/email_provider_route_list.py +108 -0
  632. moolabs/models/enable_tier3_response.py +93 -0
  633. moolabs/models/endpoints_response.py +89 -0
  634. moolabs/models/entitlement.py +164 -0
  635. moolabs/models/entitlement_boolean.py +168 -0
  636. moolabs/models/entitlement_boolean_create_inputs.py +127 -0
  637. moolabs/models/entitlement_boolean_v2.py +170 -0
  638. moolabs/models/entitlement_create_inputs.py +164 -0
  639. moolabs/models/entitlement_grant.py +148 -0
  640. moolabs/models/entitlement_grant_create_input.py +111 -0
  641. moolabs/models/entitlement_grant_create_input_v2.py +113 -0
  642. moolabs/models/entitlement_grant_v2.py +148 -0
  643. moolabs/models/entitlement_metered.py +190 -0
  644. moolabs/models/entitlement_metered_create_inputs.py +143 -0
  645. moolabs/models/entitlement_metered_v2.py +196 -0
  646. moolabs/models/entitlement_metered_v2_create_inputs.py +157 -0
  647. moolabs/models/entitlement_order_by.py +37 -0
  648. moolabs/models/entitlement_override.py +89 -0
  649. moolabs/models/entitlement_override_input.py +95 -0
  650. moolabs/models/entitlement_override_payload.py +93 -0
  651. moolabs/models/entitlement_paginated_response.py +101 -0
  652. moolabs/models/entitlement_payload.py +103 -0
  653. moolabs/models/entitlement_static.py +170 -0
  654. moolabs/models/entitlement_static_create_inputs.py +129 -0
  655. moolabs/models/entitlement_static_v2.py +172 -0
  656. moolabs/models/entitlement_type.py +38 -0
  657. moolabs/models/entitlement_v2.py +164 -0
  658. moolabs/models/entitlement_v2_create_inputs.py +164 -0
  659. moolabs/models/entitlement_v2_paginated_response.py +101 -0
  660. moolabs/models/entitlement_value.py +109 -0
  661. moolabs/models/error_extension.py +110 -0
  662. moolabs/models/escalate_request.py +90 -0
  663. moolabs/models/escalate_response.py +91 -0
  664. moolabs/models/escalation_action_request.py +90 -0
  665. moolabs/models/escalation_action_response.py +91 -0
  666. moolabs/models/escalation_create.py +97 -0
  667. moolabs/models/escalation_dismiss_request.py +90 -0
  668. moolabs/models/escalation_list_response.py +101 -0
  669. moolabs/models/escalation_resolve_request.py +87 -0
  670. moolabs/models/escalation_response.py +112 -0
  671. moolabs/models/escalation_update.py +93 -0
  672. moolabs/models/event.py +115 -0
  673. moolabs/models/event_delivery_attempt_response.py +101 -0
  674. moolabs/models/evidence_create_request.py +96 -0
  675. moolabs/models/evidence_kind.py +39 -0
  676. moolabs/models/evidence_list_response.py +97 -0
  677. moolabs/models/evidence_response.py +106 -0
  678. moolabs/models/evidence_review_request.py +90 -0
  679. moolabs/models/evidence_window.py +37 -0
  680. moolabs/models/exchange_rate.py +152 -0
  681. moolabs/models/expiration_duration.py +40 -0
  682. moolabs/models/expiration_period.py +91 -0
  683. moolabs/models/explorer_alias_hint.py +104 -0
  684. moolabs/models/explorer_alias_hint1.py +110 -0
  685. moolabs/models/explorer_alias_kind.py +39 -0
  686. moolabs/models/explorer_breakdown_page.py +166 -0
  687. moolabs/models/explorer_breakdown_row.py +200 -0
  688. moolabs/models/explorer_cloud_provider_quality_axis.py +107 -0
  689. moolabs/models/explorer_cloud_temporal_coverage_summary.py +115 -0
  690. moolabs/models/explorer_contributor_kind.py +40 -0
  691. moolabs/models/explorer_contributor_query_request.py +190 -0
  692. moolabs/models/explorer_contributor_response.py +201 -0
  693. moolabs/models/explorer_contributor_row.py +177 -0
  694. moolabs/models/explorer_cost_event_status.py +39 -0
  695. moolabs/models/explorer_dimension.py +40 -0
  696. moolabs/models/explorer_effective_sort.py +107 -0
  697. moolabs/models/explorer_effective_sort_field.py +41 -0
  698. moolabs/models/explorer_evidence_kind.py +41 -0
  699. moolabs/models/explorer_evidence_role.py +37 -0
  700. moolabs/models/explorer_excluded_event_count.py +104 -0
  701. moolabs/models/explorer_excluded_event_reason.py +38 -0
  702. moolabs/models/explorer_exposure_summary.py +124 -0
  703. moolabs/models/explorer_measure_source.py +40 -0
  704. moolabs/models/explorer_meta.py +196 -0
  705. moolabs/models/explorer_quality_axis.py +117 -0
  706. moolabs/models/explorer_quality_caveat_code.py +45 -0
  707. moolabs/models/explorer_quality_summary.py +151 -0
  708. moolabs/models/explorer_query_request.py +184 -0
  709. moolabs/models/explorer_request_detail_event.py +134 -0
  710. moolabs/models/explorer_request_detail_line.py +133 -0
  711. moolabs/models/explorer_request_detail_query_request.py +201 -0
  712. moolabs/models/explorer_request_detail_response.py +205 -0
  713. moolabs/models/explorer_request_detail_result_cap.py +125 -0
  714. moolabs/models/explorer_request_distribution.py +109 -0
  715. moolabs/models/explorer_request_query_request.py +190 -0
  716. moolabs/models/explorer_search.py +111 -0
  717. moolabs/models/explorer_selection_result.py +107 -0
  718. moolabs/models/explorer_selection_row.py +185 -0
  719. moolabs/models/explorer_selection_status.py +39 -0
  720. moolabs/models/explorer_sort.py +104 -0
  721. moolabs/models/explorer_sort1.py +116 -0
  722. moolabs/models/explorer_sort_fallback_reason.py +39 -0
  723. moolabs/models/explorer_sort_field.py +40 -0
  724. moolabs/models/explorer_source_scope.py +38 -0
  725. moolabs/models/explorer_summary.py +134 -0
  726. moolabs/models/explorer_trend_point.py +124 -0
  727. moolabs/models/explorer_usage_history_evidence.py +110 -0
  728. moolabs/models/explorer_usage_history_source.py +38 -0
  729. moolabs/models/feature.py +156 -0
  730. moolabs/models/feature_contributor_customer.py +91 -0
  731. moolabs/models/feature_contributor_model.py +93 -0
  732. moolabs/models/feature_contributor_request.py +91 -0
  733. moolabs/models/feature_contributors_response.py +121 -0
  734. moolabs/models/feature_cost_item.py +97 -0
  735. moolabs/models/feature_create_inputs.py +128 -0
  736. moolabs/models/feature_flag_item.py +97 -0
  737. moolabs/models/feature_flag_update.py +87 -0
  738. moolabs/models/feature_margin_item.py +101 -0
  739. moolabs/models/feature_margin_response.py +101 -0
  740. moolabs/models/feature_meta.py +97 -0
  741. moolabs/models/feature_order_by.py +40 -0
  742. moolabs/models/feature_override_request.py +93 -0
  743. moolabs/models/feature_paginated_response.py +101 -0
  744. moolabs/models/feature_pool.py +99 -0
  745. moolabs/models/feature_pool_payload.py +107 -0
  746. moolabs/models/feature_price_request.py +93 -0
  747. moolabs/models/feature_pricing_input.py +120 -0
  748. moolabs/models/filter_id_exact.py +88 -0
  749. moolabs/models/filter_string.py +129 -0
  750. moolabs/models/filter_time.py +114 -0
  751. moolabs/models/finance_summary.py +143 -0
  752. moolabs/models/first_pass_redline_request.py +88 -0
  753. moolabs/models/first_pass_redline_response.py +89 -0
  754. moolabs/models/flag_disputed_request.py +92 -0
  755. moolabs/models/flag_disputed_response.py +97 -0
  756. moolabs/models/flat_price.py +104 -0
  757. moolabs/models/flat_price_with_payment_term.py +107 -0
  758. moolabs/models/flatamount.py +152 -0
  759. moolabs/models/freshness_axis.py +121 -0
  760. moolabs/models/freshness_source.py +40 -0
  761. moolabs/models/fx_rate_to_reporting.py +153 -0
  762. moolabs/models/fx_rates_list_response.py +97 -0
  763. moolabs/models/gate_status_response.py +105 -0
  764. moolabs/models/get_fx_rate_request.py +92 -0
  765. moolabs/models/get_matrix_price_rows_response.py +107 -0
  766. moolabs/models/google_chat_quote_response.py +89 -0
  767. moolabs/models/grant_activation_request.py +122 -0
  768. moolabs/models/grant_burn_down_history_segment.py +125 -0
  769. moolabs/models/grant_order_by.py +38 -0
  770. moolabs/models/grant_paginated_response.py +101 -0
  771. moolabs/models/grant_plan_change_request.py +126 -0
  772. moolabs/models/grant_renewal_request.py +122 -0
  773. moolabs/models/grant_response.py +128 -0
  774. moolabs/models/grant_source_type.py +40 -0
  775. moolabs/models/grant_usage_record.py +97 -0
  776. moolabs/models/grant_v2_paginated_response.py +101 -0
  777. moolabs/models/grants_list_response.py +99 -0
  778. moolabs/models/handoff_create_request.py +92 -0
  779. moolabs/models/helicone_config_request.py +92 -0
  780. moolabs/models/homepage_response.py +107 -0
  781. moolabs/models/hosted_checkout_settlement_ptp_response.py +100 -0
  782. moolabs/models/hosted_checkout_settlement_request.py +109 -0
  783. moolabs/models/hosted_checkout_settlement_response.py +97 -0
  784. moolabs/models/http_validation_error.py +95 -0
  785. moolabs/models/hub_spot_connect_request.py +91 -0
  786. moolabs/models/id_resource.py +97 -0
  787. moolabs/models/identity_scope.py +39 -0
  788. moolabs/models/identity_scope_coverage_response.py +96 -0
  789. moolabs/models/import_batch_detail_response.py +105 -0
  790. moolabs/models/import_batch_detail_row.py +111 -0
  791. moolabs/models/import_batch_request.py +112 -0
  792. moolabs/models/import_batch_response.py +101 -0
  793. moolabs/models/import_batch_summary.py +111 -0
  794. moolabs/models/import_dispute_item.py +122 -0
  795. moolabs/models/import_disputes_request.py +96 -0
  796. moolabs/models/import_invoice_item.py +133 -0
  797. moolabs/models/import_invoices_request.py +96 -0
  798. moolabs/models/import_promise_item.py +155 -0
  799. moolabs/models/import_promises_request.py +96 -0
  800. moolabs/models/inbound_email_attachment.py +91 -0
  801. moolabs/models/inbound_email_payload.py +103 -0
  802. moolabs/models/inbound_email_process_response.py +97 -0
  803. moolabs/models/ingest_events_body.py +150 -0
  804. moolabs/models/ingest_health.py +97 -0
  805. moolabs/models/ingested_event.py +111 -0
  806. moolabs/models/ingested_event_cursor_paginated_response.py +98 -0
  807. moolabs/models/initialamount.py +152 -0
  808. moolabs/models/insight_card.py +111 -0
  809. moolabs/models/install_method.py +38 -0
  810. moolabs/models/integration_update.py +89 -0
  811. moolabs/models/invalidate_portal_token_request.py +89 -0
  812. moolabs/models/invalidate_portal_tokens_request.py +89 -0
  813. moolabs/models/invoice.py +249 -0
  814. moolabs/models/invoice_allocation_out.py +103 -0
  815. moolabs/models/invoice_app_external_ids.py +97 -0
  816. moolabs/models/invoice_available_action_details.py +89 -0
  817. moolabs/models/invoice_available_actions.py +132 -0
  818. moolabs/models/invoice_detailed_line.py +244 -0
  819. moolabs/models/invoice_detailed_line_cost_category.py +37 -0
  820. moolabs/models/invoice_detailed_line_rate_card.py +116 -0
  821. moolabs/models/invoice_document_ref_type.py +36 -0
  822. moolabs/models/invoice_expand.py +38 -0
  823. moolabs/models/invoice_generic_document_ref.py +98 -0
  824. moolabs/models/invoice_item.py +112 -0
  825. moolabs/models/invoice_line.py +296 -0
  826. moolabs/models/invoice_line_amount_discount.py +141 -0
  827. moolabs/models/invoice_line_app_external_ids.py +93 -0
  828. moolabs/models/invoice_line_discounts.py +105 -0
  829. moolabs/models/invoice_line_managed_by.py +38 -0
  830. moolabs/models/invoice_line_out.py +99 -0
  831. moolabs/models/invoice_line_replace_update.py +143 -0
  832. moolabs/models/invoice_line_status.py +38 -0
  833. moolabs/models/invoice_line_subscription_reference.py +115 -0
  834. moolabs/models/invoice_line_tax_behavior.py +37 -0
  835. moolabs/models/invoice_line_tax_item.py +117 -0
  836. moolabs/models/invoice_line_usage_discount.py +155 -0
  837. moolabs/models/invoice_order_by.py +41 -0
  838. moolabs/models/invoice_paginated_response.py +101 -0
  839. moolabs/models/invoice_payment_terms.py +91 -0
  840. moolabs/models/invoice_pending_line_create.py +131 -0
  841. moolabs/models/invoice_pending_line_create_input.py +105 -0
  842. moolabs/models/invoice_pending_line_create_response.py +107 -0
  843. moolabs/models/invoice_pending_lines_action_filters_input.py +88 -0
  844. moolabs/models/invoice_pending_lines_action_input.py +106 -0
  845. moolabs/models/invoice_reference.py +101 -0
  846. moolabs/models/invoice_replace_update.py +117 -0
  847. moolabs/models/invoice_simulation_input.py +107 -0
  848. moolabs/models/invoice_simulation_line.py +164 -0
  849. moolabs/models/invoice_status.py +44 -0
  850. moolabs/models/invoice_status_details.py +103 -0
  851. moolabs/models/invoice_totals.py +163 -0
  852. moolabs/models/invoice_type.py +37 -0
  853. moolabs/models/invoice_upsert_request.py +112 -0
  854. moolabs/models/invoice_usage_based_rate_card.py +116 -0
  855. moolabs/models/invoice_workflow_invoicing_settings_replace_update.py +97 -0
  856. moolabs/models/invoice_workflow_replace_update.py +91 -0
  857. moolabs/models/invoice_workflow_settings.py +111 -0
  858. moolabs/models/invoice_workflow_settings_replace_update.py +97 -0
  859. moolabs/models/issue_after_reset.py +90 -0
  860. moolabs/models/jurisdiction_profile_response.py +102 -0
  861. moolabs/models/jurisdiction_resolution_request.py +92 -0
  862. moolabs/models/kill_switch_request.py +87 -0
  863. moolabs/models/langfuse_config_request.py +92 -0
  864. moolabs/models/lesson_action_request.py +89 -0
  865. moolabs/models/level_in.py +91 -0
  866. moolabs/models/lifecycle_event_request.py +97 -0
  867. moolabs/models/line_item_create.py +118 -0
  868. moolabs/models/line_total.py +153 -0
  869. moolabs/models/link_net_suite_account_request.py +89 -0
  870. moolabs/models/list_auto_topup_rules_response.py +97 -0
  871. moolabs/models/list_connectors200_response_inner.py +148 -0
  872. moolabs/models/list_entitlements_result.py +151 -0
  873. moolabs/models/list_events_v2_filter_param.py +123 -0
  874. moolabs/models/list_features_result.py +151 -0
  875. moolabs/models/list_grants_get200_response.py +151 -0
  876. moolabs/models/mapping_response.py +97 -0
  877. moolabs/models/mapping_rule_create.py +105 -0
  878. moolabs/models/mapping_rule_response.py +118 -0
  879. moolabs/models/mapping_rule_update.py +103 -0
  880. moolabs/models/margin_snapshot_response.py +131 -0
  881. moolabs/models/marketplace_app_api_key_install_request.py +91 -0
  882. moolabs/models/marketplace_install_request_payload.py +89 -0
  883. moolabs/models/marketplace_install_response.py +94 -0
  884. moolabs/models/marketplace_listing.py +105 -0
  885. moolabs/models/marketplace_listing_paginated_response.py +101 -0
  886. moolabs/models/matrix_price_row.py +91 -0
  887. moolabs/models/measure.py +146 -0
  888. moolabs/models/measure_kind.py +41 -0
  889. moolabs/models/measure_usage_from.py +151 -0
  890. moolabs/models/measure_usage_from_preset.py +37 -0
  891. moolabs/models/merge_remittances_request.py +89 -0
  892. moolabs/models/meter.py +176 -0
  893. moolabs/models/meter_aggregation.py +42 -0
  894. moolabs/models/meter_create.py +113 -0
  895. moolabs/models/meter_mapping_item.py +95 -0
  896. moolabs/models/meter_order_by.py +40 -0
  897. moolabs/models/meter_query_request.py +121 -0
  898. moolabs/models/meter_query_result.py +103 -0
  899. moolabs/models/meter_query_row.py +98 -0
  900. moolabs/models/meter_test_event_request.py +87 -0
  901. moolabs/models/meter_test_event_response.py +93 -0
  902. moolabs/models/meter_update.py +94 -0
  903. moolabs/models/meter_usage_summary_item.py +103 -0
  904. moolabs/models/meter_usage_summary_response.py +95 -0
  905. moolabs/models/meter_validation_error.py +101 -0
  906. moolabs/models/migrate_subscription_request.py +105 -0
  907. moolabs/models/model_cost_item.py +95 -0
  908. moolabs/models/net_suite_connect_request.py +103 -0
  909. moolabs/models/net_suite_cutover_guard_request.py +87 -0
  910. moolabs/models/net_suite_m2_m_finalize_request.py +87 -0
  911. moolabs/models/net_suite_m2_m_setup_request.py +101 -0
  912. moolabs/models/net_suite_managed_portal_backfill_cancel_request.py +87 -0
  913. moolabs/models/net_suite_managed_portal_backfill_request.py +89 -0
  914. moolabs/models/net_suite_managed_portal_backfill_run_request.py +90 -0
  915. moolabs/models/net_suite_managed_portal_mapping_delete_request.py +91 -0
  916. moolabs/models/net_suite_managed_portal_mapping_request.py +97 -0
  917. moolabs/models/net_suite_managed_portal_protection_ack_request.py +89 -0
  918. moolabs/models/next_action_type.py +41 -0
  919. moolabs/models/note_create.py +94 -0
  920. moolabs/models/note_list_response.py +101 -0
  921. moolabs/models/note_response.py +104 -0
  922. moolabs/models/notification_channel_meta.py +100 -0
  923. moolabs/models/notification_channel_order_by.py +39 -0
  924. moolabs/models/notification_channel_paginated_response.py +101 -0
  925. moolabs/models/notification_channel_type.py +36 -0
  926. moolabs/models/notification_channel_webhook.py +145 -0
  927. moolabs/models/notification_channel_webhook_create_request.py +117 -0
  928. moolabs/models/notification_event.py +137 -0
  929. moolabs/models/notification_event_balance_threshold_payload.py +121 -0
  930. moolabs/models/notification_event_balance_threshold_payload_data.py +133 -0
  931. moolabs/models/notification_event_delivery_attempt.py +103 -0
  932. moolabs/models/notification_event_delivery_status.py +125 -0
  933. moolabs/models/notification_event_delivery_status_state.py +40 -0
  934. moolabs/models/notification_event_entitlement_value_payload_base.py +125 -0
  935. moolabs/models/notification_event_invoice_created_payload.py +121 -0
  936. moolabs/models/notification_event_invoice_updated_payload.py +121 -0
  937. moolabs/models/notification_event_order_by.py +37 -0
  938. moolabs/models/notification_event_paginated_response.py +101 -0
  939. moolabs/models/notification_event_payload.py +178 -0
  940. moolabs/models/notification_event_resend_request.py +88 -0
  941. moolabs/models/notification_event_reset_payload.py +121 -0
  942. moolabs/models/notification_event_type.py +39 -0
  943. moolabs/models/notification_rule.py +178 -0
  944. moolabs/models/notification_rule_balance_threshold.py +159 -0
  945. moolabs/models/notification_rule_balance_threshold_create_request.py +115 -0
  946. moolabs/models/notification_rule_balance_threshold_value.py +90 -0
  947. moolabs/models/notification_rule_balance_threshold_value_type.py +40 -0
  948. moolabs/models/notification_rule_create_request.py +178 -0
  949. moolabs/models/notification_rule_entitlement_reset.py +149 -0
  950. moolabs/models/notification_rule_entitlement_reset_create_request.py +105 -0
  951. moolabs/models/notification_rule_invoice_created.py +139 -0
  952. moolabs/models/notification_rule_invoice_created_create_request.py +103 -0
  953. moolabs/models/notification_rule_invoice_updated.py +139 -0
  954. moolabs/models/notification_rule_invoice_updated_create_request.py +103 -0
  955. moolabs/models/notification_rule_order_by.py +39 -0
  956. moolabs/models/notification_rule_paginated_response.py +101 -0
  957. moolabs/models/notify_channel.py +89 -0
  958. moolabs/models/o_auth2_authorization_code_grant_error_type.py +42 -0
  959. moolabs/models/observation_out.py +103 -0
  960. moolabs/models/observed_total_cost.py +153 -0
  961. moolabs/models/open_cost_cluster_binding.py +115 -0
  962. moolabs/models/open_cost_dedicated_namespace.py +104 -0
  963. moolabs/models/open_cost_installation_create_request.py +122 -0
  964. moolabs/models/open_cost_installation_create_response.py +116 -0
  965. moolabs/models/open_cost_installation_response.py +114 -0
  966. moolabs/models/open_cost_snapshot_request.py +139 -0
  967. moolabs/models/open_cost_snapshot_response.py +125 -0
  968. moolabs/models/open_cost_trust_policy.py +145 -0
  969. moolabs/models/open_cost_wire_row.py +140 -0
  970. moolabs/models/open_from_scope_request.py +98 -0
  971. moolabs/models/operations_summary.py +120 -0
  972. moolabs/models/opt_out_request.py +90 -0
  973. moolabs/models/opt_out_response.py +93 -0
  974. moolabs/models/org_role.py +152 -0
  975. moolabs/models/original_total.py +152 -0
  976. moolabs/models/otlp_ingest_response.py +91 -0
  977. moolabs/models/overall_freshness.py +116 -0
  978. moolabs/models/overdraft_settings.py +93 -0
  979. moolabs/models/overdraft_settings_payload.py +93 -0
  980. moolabs/models/override_first_ingress_request.py +94 -0
  981. moolabs/models/override_request.py +90 -0
  982. moolabs/models/override_response.py +91 -0
  983. moolabs/models/overview_response.py +109 -0
  984. moolabs/models/pack_provenance.py +101 -0
  985. moolabs/models/package_price_with_commitments.py +137 -0
  986. moolabs/models/paginated_credit_memos.py +97 -0
  987. moolabs/models/paginated_customers.py +99 -0
  988. moolabs/models/paginated_invoices.py +97 -0
  989. moolabs/models/paginated_payments.py +97 -0
  990. moolabs/models/paginated_sync_runs.py +97 -0
  991. moolabs/models/patch_quote_agent_policy_request.py +98 -0
  992. moolabs/models/patch_rows_request.py +95 -0
  993. moolabs/models/patch_session_request.py +107 -0
  994. moolabs/models/payment_allocation_response.py +104 -0
  995. moolabs/models/payment_create.py +109 -0
  996. moolabs/models/payment_due_date.py +124 -0
  997. moolabs/models/payment_failed_request.py +101 -0
  998. moolabs/models/payment_failed_response.py +93 -0
  999. moolabs/models/payment_instructions_response.py +95 -0
  1000. moolabs/models/payment_instructions_update_request.py +90 -0
  1001. moolabs/models/payment_item.py +104 -0
  1002. moolabs/models/payment_link_request.py +105 -0
  1003. moolabs/models/payment_link_response.py +89 -0
  1004. moolabs/models/payment_list_response.py +101 -0
  1005. moolabs/models/payment_match_request.py +90 -0
  1006. moolabs/models/payment_response.py +136 -0
  1007. moolabs/models/payment_reversal_request.py +90 -0
  1008. moolabs/models/payment_succeeded_request.py +103 -0
  1009. moolabs/models/payment_succeeded_response.py +97 -0
  1010. moolabs/models/payment_term_due_date.py +113 -0
  1011. moolabs/models/payment_term_instant.py +102 -0
  1012. moolabs/models/payment_terms.py +148 -0
  1013. moolabs/models/pending_provider_confirmation_reconcile_request.py +88 -0
  1014. moolabs/models/pending_sns_confirmation_out.py +102 -0
  1015. moolabs/models/period.py +90 -0
  1016. moolabs/models/period_settlement_out.py +143 -0
  1017. moolabs/models/period_window.py +103 -0
  1018. moolabs/models/persona.py +39 -0
  1019. moolabs/models/plan.py +191 -0
  1020. moolabs/models/plan_addon.py +126 -0
  1021. moolabs/models/plan_addon_create.py +101 -0
  1022. moolabs/models/plan_addon_order_by.py +40 -0
  1023. moolabs/models/plan_addon_paginated_response.py +101 -0
  1024. moolabs/models/plan_addon_replace_update.py +91 -0
  1025. moolabs/models/plan_amend_request.py +103 -0
  1026. moolabs/models/plan_cost_item.py +97 -0
  1027. moolabs/models/plan_create.py +140 -0
  1028. moolabs/models/plan_create_request.py +103 -0
  1029. moolabs/models/plan_order_by.py +40 -0
  1030. moolabs/models/plan_paginated_response.py +101 -0
  1031. moolabs/models/plan_phase.py +113 -0
  1032. moolabs/models/plan_pricing_input.py +103 -0
  1033. moolabs/models/plan_pricing_sync_request.py +105 -0
  1034. moolabs/models/plan_pricing_view.py +107 -0
  1035. moolabs/models/plan_ref_payload.py +91 -0
  1036. moolabs/models/plan_reference.py +106 -0
  1037. moolabs/models/plan_reference_input.py +97 -0
  1038. moolabs/models/plan_replace_update.py +122 -0
  1039. moolabs/models/plan_status.py +39 -0
  1040. moolabs/models/plan_subscription_change.py +153 -0
  1041. moolabs/models/plan_subscription_create.py +167 -0
  1042. moolabs/models/policy_update_request.py +94 -0
  1043. moolabs/models/pool_notification_config_request.py +87 -0
  1044. moolabs/models/pooloverrides_value.py +152 -0
  1045. moolabs/models/portal_case_response.py +108 -0
  1046. moolabs/models/portal_channel_preference_request.py +100 -0
  1047. moolabs/models/portal_dispute_request.py +94 -0
  1048. moolabs/models/portal_dispute_response.py +102 -0
  1049. moolabs/models/portal_invoice_response.py +124 -0
  1050. moolabs/models/portal_payment_intent_response.py +91 -0
  1051. moolabs/models/portal_payment_request.py +102 -0
  1052. moolabs/models/portal_preferences_request.py +113 -0
  1053. moolabs/models/portal_preferences_response.py +87 -0
  1054. moolabs/models/portal_promise_to_pay_response.py +106 -0
  1055. moolabs/models/portal_ptp_request.py +95 -0
  1056. moolabs/models/portal_token.py +121 -0
  1057. moolabs/models/portal_token_item.py +97 -0
  1058. moolabs/models/preview_resolution_request.py +89 -0
  1059. moolabs/models/preview_resolution_response.py +101 -0
  1060. moolabs/models/preview_template_request.py +102 -0
  1061. moolabs/models/preview_template_response.py +95 -0
  1062. moolabs/models/preview_trace_entry.py +97 -0
  1063. moolabs/models/previous.py +152 -0
  1064. moolabs/models/price_payment_term.py +37 -0
  1065. moolabs/models/price_session_response.py +109 -0
  1066. moolabs/models/price_tier.py +110 -0
  1067. moolabs/models/price_tier_payload.py +103 -0
  1068. moolabs/models/pricing_override_input.py +100 -0
  1069. moolabs/models/pricing_result.py +100 -0
  1070. moolabs/models/pricing_snapshot_response.py +109 -0
  1071. moolabs/models/pricing_tier_input.py +90 -0
  1072. moolabs/models/priority.py +38 -0
  1073. moolabs/models/pro_rating_config.py +90 -0
  1074. moolabs/models/pro_rating_mode.py +36 -0
  1075. moolabs/models/process_value_recognition_request.py +94 -0
  1076. moolabs/models/progress.py +94 -0
  1077. moolabs/models/projection_link_in.py +91 -0
  1078. moolabs/models/projection_links_request.py +98 -0
  1079. moolabs/models/projection_links_response.py +89 -0
  1080. moolabs/models/promise_response.py +112 -0
  1081. moolabs/models/promote_response.py +89 -0
  1082. moolabs/models/provider_billing_reference.py +146 -0
  1083. moolabs/models/provider_billing_reference_kind.py +37 -0
  1084. moolabs/models/provider_blocking_reason.py +115 -0
  1085. moolabs/models/provider_confirmation_repair_request.py +99 -0
  1086. moolabs/models/provider_connection_status.py +42 -0
  1087. moolabs/models/provider_identity_details.py +110 -0
  1088. moolabs/models/provider_identity_purpose.py +38 -0
  1089. moolabs/models/provider_kind.py +37 -0
  1090. moolabs/models/provider_readiness_response.py +97 -0
  1091. moolabs/models/provider_readiness_summary.py +123 -0
  1092. moolabs/models/provider_route_status.py +39 -0
  1093. moolabs/models/provider_safe_test_send_request.py +107 -0
  1094. moolabs/models/provider_safe_test_send_response.py +109 -0
  1095. moolabs/models/provider_summary.py +89 -0
  1096. moolabs/models/provider_warning.py +115 -0
  1097. moolabs/models/ptp_approval_request.py +88 -0
  1098. moolabs/models/ptp_create_request.py +103 -0
  1099. moolabs/models/ptp_fulfill_request.py +90 -0
  1100. moolabs/models/ptp_payment_link_response.py +89 -0
  1101. moolabs/models/ptp_summary_response.py +104 -0
  1102. moolabs/models/publish_plan_request.py +93 -0
  1103. moolabs/models/publish_plan_result.py +93 -0
  1104. moolabs/models/publish_template_request.py +96 -0
  1105. moolabs/models/put_account_segment_request.py +89 -0
  1106. moolabs/models/put_sku_eligibility_request.py +89 -0
  1107. moolabs/models/put_tenant_segments_request.py +89 -0
  1108. moolabs/models/quality_axis.py +116 -0
  1109. moolabs/models/quality_caveat_code.py +40 -0
  1110. moolabs/models/quality_status.py +40 -0
  1111. moolabs/models/quality_summary.py +135 -0
  1112. moolabs/models/quantity.py +153 -0
  1113. moolabs/models/quick_action.py +99 -0
  1114. moolabs/models/quick_books_connect_request.py +93 -0
  1115. moolabs/models/quick_redline_response.py +123 -0
  1116. moolabs/models/quote_agent_evaluation_response.py +106 -0
  1117. moolabs/models/quote_agent_policy_response.py +112 -0
  1118. moolabs/models/quote_agent_provenance_run_response.py +114 -0
  1119. moolabs/models/quote_agent_run_response.py +122 -0
  1120. moolabs/models/quote_approval_decision_request.py +88 -0
  1121. moolabs/models/quote_approval_response.py +107 -0
  1122. moolabs/models/quote_line_item_input.py +144 -0
  1123. moolabs/models/quote_list_response.py +101 -0
  1124. moolabs/models/quote_metrics_response.py +105 -0
  1125. moolabs/models/quote_redline_decision_request.py +88 -0
  1126. moolabs/models/quote_redline_response.py +125 -0
  1127. moolabs/models/quote_response.py +125 -0
  1128. moolabs/models/quote_template_list_response.py +95 -0
  1129. moolabs/models/quote_template_response.py +109 -0
  1130. moolabs/models/quote_version_response.py +129 -0
  1131. moolabs/models/ram_cost_weight.py +152 -0
  1132. moolabs/models/ram_gib_hours.py +152 -0
  1133. moolabs/models/rate_bulk_import_request.py +97 -0
  1134. moolabs/models/rate_bulk_import_response.py +91 -0
  1135. moolabs/models/rate_card.py +150 -0
  1136. moolabs/models/rate_card_boolean_entitlement.py +96 -0
  1137. moolabs/models/rate_card_cost_list_response.py +95 -0
  1138. moolabs/models/rate_card_cost_row.py +103 -0
  1139. moolabs/models/rate_card_discount.py +87 -0
  1140. moolabs/models/rate_card_discount_input.py +103 -0
  1141. moolabs/models/rate_card_discount_payload.py +87 -0
  1142. moolabs/models/rate_card_entitlement.py +164 -0
  1143. moolabs/models/rate_card_flat_fee.py +148 -0
  1144. moolabs/models/rate_card_metered_entitlement.py +107 -0
  1145. moolabs/models/rate_card_payload.py +103 -0
  1146. moolabs/models/rate_card_response.py +106 -0
  1147. moolabs/models/rate_card_static_entitlement.py +98 -0
  1148. moolabs/models/rate_card_usage_based.py +148 -0
  1149. moolabs/models/rate_card_usage_based_price.py +192 -0
  1150. moolabs/models/rate_catalog_create.py +117 -0
  1151. moolabs/models/rate_catalog_response.py +118 -0
  1152. moolabs/models/rate_catalog_update.py +107 -0
  1153. moolabs/models/rate_generation_list_view.py +97 -0
  1154. moolabs/models/rate_generation_view.py +98 -0
  1155. moolabs/models/rate_per_unit.py +153 -0
  1156. moolabs/models/rate_per_unit1.py +153 -0
  1157. moolabs/models/rate_schedule_list_response.py +95 -0
  1158. moolabs/models/rate_schedule_preview_response.py +105 -0
  1159. moolabs/models/rate_schedule_version_out.py +101 -0
  1160. moolabs/models/ratify_family_request.py +91 -0
  1161. moolabs/models/ratify_refinement_request.py +93 -0
  1162. moolabs/models/re_scope_request.py +89 -0
  1163. moolabs/models/readiness_summary.py +89 -0
  1164. moolabs/models/readout_page_response.py +119 -0
  1165. moolabs/models/readout_row_response.py +104 -0
  1166. moolabs/models/readout_snapshot_response.py +116 -0
  1167. moolabs/models/reallocate_request.py +90 -0
  1168. moolabs/models/reallocate_response.py +97 -0
  1169. moolabs/models/reattempt_request.py +88 -0
  1170. moolabs/models/reattempt_response.py +89 -0
  1171. moolabs/models/recall_request.py +87 -0
  1172. moolabs/models/reconcile_request.py +89 -0
  1173. moolabs/models/reconcile_response.py +95 -0
  1174. moolabs/models/reconciliation_basis.py +99 -0
  1175. moolabs/models/reconciliation_basis_out.py +95 -0
  1176. moolabs/models/reconstruction_run_response.py +95 -0
  1177. moolabs/models/record_usage_request.py +115 -0
  1178. moolabs/models/recurring_period.py +96 -0
  1179. moolabs/models/recurring_period_create_input.py +94 -0
  1180. moolabs/models/recurring_period_interval.py +151 -0
  1181. moolabs/models/recurring_period_interval_enum.py +39 -0
  1182. moolabs/models/recurring_period_v2.py +94 -0
  1183. moolabs/models/recurringamount.py +152 -0
  1184. moolabs/models/redline_summary.py +89 -0
  1185. moolabs/models/refund_credit_request.py +90 -0
  1186. moolabs/models/reject_rate_generation_request.py +87 -0
  1187. moolabs/models/remittance_create_request.py +103 -0
  1188. moolabs/models/remittance_list_response.py +101 -0
  1189. moolabs/models/remittance_response.py +120 -0
  1190. moolabs/models/remove_contract_participant_response.py +131 -0
  1191. moolabs/models/remove_phase_shifting.py +37 -0
  1192. moolabs/models/replace_levels_request.py +95 -0
  1193. moolabs/models/replay_dead_letter_request.py +89 -0
  1194. moolabs/models/report_create_request.py +105 -0
  1195. moolabs/models/report_create_response.py +139 -0
  1196. moolabs/models/reporting_line_total.py +153 -0
  1197. moolabs/models/reporting_total_cost.py +153 -0
  1198. moolabs/models/request_cost_distribution.py +127 -0
  1199. moolabs/models/request_evidence_response.py +197 -0
  1200. moolabs/models/request_evidence_row.py +154 -0
  1201. moolabs/models/request_pricing_state.py +40 -0
  1202. moolabs/models/reschedule_request.py +88 -0
  1203. moolabs/models/resend_identity_details.py +104 -0
  1204. moolabs/models/reset_entitlement_usage_input.py +92 -0
  1205. moolabs/models/resolve_unapplied_request.py +87 -0
  1206. moolabs/models/resource_map_create_request.py +103 -0
  1207. moolabs/models/resource_map_response.py +113 -0
  1208. moolabs/models/retry_unpriced_request.py +91 -0
  1209. moolabs/models/retry_unpriced_response.py +91 -0
  1210. moolabs/models/revenue_recognition_request.py +89 -0
  1211. moolabs/models/reversed_settlement_ref.py +93 -0
  1212. moolabs/models/review_quarantined_request.py +95 -0
  1213. moolabs/models/review_quarantined_response.py +95 -0
  1214. moolabs/models/revoke_api_key_request.py +87 -0
  1215. moolabs/models/revoke_portal_token_request.py +87 -0
  1216. moolabs/models/rollover_mode.py +38 -0
  1217. moolabs/models/rollover_request.py +95 -0
  1218. moolabs/models/rollover_response.py +98 -0
  1219. moolabs/models/rollovercapamount.py +152 -0
  1220. moolabs/models/rolloverpercent.py +152 -0
  1221. moolabs/models/rotate_key_request.py +88 -0
  1222. moolabs/models/rotate_key_response.py +92 -0
  1223. moolabs/models/route_update_request.py +110 -0
  1224. moolabs/models/salesforce_connect_request.py +93 -0
  1225. moolabs/models/sample_rate.py +153 -0
  1226. moolabs/models/sandbox_app.py +138 -0
  1227. moolabs/models/sandbox_app_replace_update.py +101 -0
  1228. moolabs/models/sandbox_customer_app_data.py +115 -0
  1229. moolabs/models/save_redline_edit_request.py +95 -0
  1230. moolabs/models/scenario_compare_response.py +97 -0
  1231. moolabs/models/scenario_item.py +117 -0
  1232. moolabs/models/scenario_request.py +96 -0
  1233. moolabs/models/scope_type.py +38 -0
  1234. moolabs/models/sdk_batch_ingest_request.py +96 -0
  1235. moolabs/models/sdk_batch_ingest_response.py +91 -0
  1236. moolabs/models/sdk_event.py +111 -0
  1237. moolabs/models/sdk_span.py +106 -0
  1238. moolabs/models/segment_out.py +95 -0
  1239. moolabs/models/sender_response.py +93 -0
  1240. moolabs/models/sender_update.py +93 -0
  1241. moolabs/models/ses_identity_details.py +127 -0
  1242. moolabs/models/ses_provider_scope_status.py +89 -0
  1243. moolabs/models/set_rate_card_cost_request.py +89 -0
  1244. moolabs/models/severity.py +38 -0
  1245. moolabs/models/shadow_mode_request.py +87 -0
  1246. moolabs/models/shadow_run_list_item.py +101 -0
  1247. moolabs/models/shadow_run_metrics.py +114 -0
  1248. moolabs/models/shadow_run_request.py +92 -0
  1249. moolabs/models/shadow_run_summary.py +95 -0
  1250. moolabs/models/simulate_margin_request.py +100 -0
  1251. moolabs/models/simulate_margin_response.py +115 -0
  1252. moolabs/models/simulate_out.py +103 -0
  1253. moolabs/models/sku_eligibility_list_response.py +95 -0
  1254. moolabs/models/sku_eligibility_row.py +91 -0
  1255. moolabs/models/slack_quote_command_response.py +93 -0
  1256. moolabs/models/snapshot_compute_request.py +104 -0
  1257. moolabs/models/snapshot_compute_response.py +99 -0
  1258. moolabs/models/snapshot_response.py +104 -0
  1259. moolabs/models/sns_confirmation_command_out.py +98 -0
  1260. moolabs/models/sns_confirmation_confirmed_out.py +94 -0
  1261. moolabs/models/sns_confirmation_confirmed_request.py +101 -0
  1262. moolabs/models/sns_confirmation_list_out.py +95 -0
  1263. moolabs/models/sort_direction.py +37 -0
  1264. moolabs/models/sort_order.py +37 -0
  1265. moolabs/models/spend_summary.py +114 -0
  1266. moolabs/models/stage_schema.py +117 -0
  1267. moolabs/models/strategy_create_request.py +130 -0
  1268. moolabs/models/strategy_preview_request.py +87 -0
  1269. moolabs/models/strategy_update_request.py +133 -0
  1270. moolabs/models/stripe_api_key_input.py +87 -0
  1271. moolabs/models/stripe_app.py +150 -0
  1272. moolabs/models/stripe_app_replace_update.py +103 -0
  1273. moolabs/models/stripe_checkout_session_mode.py +36 -0
  1274. moolabs/models/stripe_customer_app_data.py +119 -0
  1275. moolabs/models/stripe_customer_app_data_base.py +89 -0
  1276. moolabs/models/stripe_customer_app_data_create_or_update_item.py +111 -0
  1277. moolabs/models/stripe_customer_portal_session.py +102 -0
  1278. moolabs/models/stripe_tax_config.py +95 -0
  1279. moolabs/models/stripe_webhook_event.py +99 -0
  1280. moolabs/models/stripe_webhook_event_data.py +92 -0
  1281. moolabs/models/stripe_webhook_response.py +118 -0
  1282. moolabs/models/subject.py +122 -0
  1283. moolabs/models/subject_upsert.py +98 -0
  1284. moolabs/models/subscription.py +201 -0
  1285. moolabs/models/subscription_activate_request.py +101 -0
  1286. moolabs/models/subscription_addon.py +167 -0
  1287. moolabs/models/subscription_addon_create.py +106 -0
  1288. moolabs/models/subscription_addon_rate_card.py +94 -0
  1289. moolabs/models/subscription_addon_timeline_segment.py +95 -0
  1290. moolabs/models/subscription_addon_update.py +100 -0
  1291. moolabs/models/subscription_alignment.py +93 -0
  1292. moolabs/models/subscription_bad_request_error_response.py +102 -0
  1293. moolabs/models/subscription_change.py +147 -0
  1294. moolabs/models/subscription_change_response_body.py +97 -0
  1295. moolabs/models/subscription_conflict_error_response.py +102 -0
  1296. moolabs/models/subscription_create.py +147 -0
  1297. moolabs/models/subscription_edit.py +102 -0
  1298. moolabs/models/subscription_edit_operation.py +206 -0
  1299. moolabs/models/subscription_error_extensions.py +95 -0
  1300. moolabs/models/subscription_expanded.py +211 -0
  1301. moolabs/models/subscription_item.py +167 -0
  1302. moolabs/models/subscription_item_included.py +97 -0
  1303. moolabs/models/subscription_item_price_override.py +111 -0
  1304. moolabs/models/subscription_item_price_override_type.py +37 -0
  1305. moolabs/models/subscription_paginated_response.py +101 -0
  1306. moolabs/models/subscription_phase_create.py +109 -0
  1307. moolabs/models/subscription_phase_expanded.py +163 -0
  1308. moolabs/models/subscription_ramp_phase.py +91 -0
  1309. moolabs/models/subscription_status.py +39 -0
  1310. moolabs/models/subscription_timing.py +151 -0
  1311. moolabs/models/subscription_timing_enum.py +37 -0
  1312. moolabs/models/sync_config_request.py +109 -0
  1313. moolabs/models/sync_config_response.py +111 -0
  1314. moolabs/models/sync_invoices_request.py +87 -0
  1315. moolabs/models/sync_run_item.py +102 -0
  1316. moolabs/models/synthetic_request_evidence_row.py +118 -0
  1317. moolabs/models/task_complete_request.py +92 -0
  1318. moolabs/models/task_list_response.py +101 -0
  1319. moolabs/models/task_response.py +130 -0
  1320. moolabs/models/task_update.py +93 -0
  1321. moolabs/models/tax_behavior.py +37 -0
  1322. moolabs/models/tax_config.py +100 -0
  1323. moolabs/models/template_archive_request.py +88 -0
  1324. moolabs/models/template_card_action_request.py +99 -0
  1325. moolabs/models/template_item.py +97 -0
  1326. moolabs/models/template_key_create_request.py +92 -0
  1327. moolabs/models/template_key_list_response.py +116 -0
  1328. moolabs/models/template_key_response.py +126 -0
  1329. moolabs/models/template_meta_response.py +93 -0
  1330. moolabs/models/template_preview_request.py +87 -0
  1331. moolabs/models/template_preview_response.py +101 -0
  1332. moolabs/models/template_test_send_request.py +87 -0
  1333. moolabs/models/template_test_send_response.py +93 -0
  1334. moolabs/models/template_update.py +91 -0
  1335. moolabs/models/template_version_list_response.py +95 -0
  1336. moolabs/models/template_version_response.py +143 -0
  1337. moolabs/models/tenant_config_response.py +95 -0
  1338. moolabs/models/tenant_escalation_config_out.py +97 -0
  1339. moolabs/models/tenant_escalation_config_patch.py +92 -0
  1340. moolabs/models/tenant_provision_request.py +89 -0
  1341. moolabs/models/tenant_segment_entry.py +89 -0
  1342. moolabs/models/tenant_segments_response.py +97 -0
  1343. moolabs/models/tenant_unit_economics.py +97 -0
  1344. moolabs/models/territory_in.py +89 -0
  1345. moolabs/models/test_send_request.py +104 -0
  1346. moolabs/models/test_send_response.py +93 -0
  1347. moolabs/models/tiered_price_mode.py +37 -0
  1348. moolabs/models/tiered_price_with_commitments.py +132 -0
  1349. moolabs/models/tiered_pricing_payload.py +97 -0
  1350. moolabs/models/timestamp_window.py +103 -0
  1351. moolabs/models/top_consumer.py +93 -0
  1352. moolabs/models/topup_defaults_request.py +93 -0
  1353. moolabs/models/total_cost.py +153 -0
  1354. moolabs/models/traces_response.py +95 -0
  1355. moolabs/models/trend_data_point.py +91 -0
  1356. moolabs/models/trend_point.py +116 -0
  1357. moolabs/models/trigger_request.py +87 -0
  1358. moolabs/models/ulidor_external_key.py +153 -0
  1359. moolabs/models/unapplied_cash_response.py +106 -0
  1360. moolabs/models/unavailable_reason.py +66 -0
  1361. moolabs/models/unexpected_problem_response.py +111 -0
  1362. moolabs/models/unified_price_row_input.py +99 -0
  1363. moolabs/models/unified_price_row_out.py +109 -0
  1364. moolabs/models/unit_cost.py +153 -0
  1365. moolabs/models/unit_economics.py +97 -0
  1366. moolabs/models/unit_price.py +104 -0
  1367. moolabs/models/unit_price_with_commitments.py +128 -0
  1368. moolabs/models/unitamount.py +152 -0
  1369. moolabs/models/update_approval_policy_request.py +87 -0
  1370. moolabs/models/update_auto_topup_rule_request.py +102 -0
  1371. moolabs/models/update_credit_pool_request.py +98 -0
  1372. moolabs/models/update_quote_template_request.py +102 -0
  1373. moolabs/models/update_threshold_request.py +97 -0
  1374. moolabs/models/update_wallet_settings_request.py +95 -0
  1375. moolabs/models/update_wallet_thresholds_request.py +92 -0
  1376. moolabs/models/upsert_fx_rate_request.py +92 -0
  1377. moolabs/models/upsert_provider_identity_request.py +115 -0
  1378. moolabs/models/upto.py +152 -0
  1379. moolabs/models/usage_summary_window_size.py +37 -0
  1380. moolabs/models/validate_template_request.py +116 -0
  1381. moolabs/models/validate_template_response.py +89 -0
  1382. moolabs/models/validation_error.py +99 -0
  1383. moolabs/models/validation_error_loc_inner.py +152 -0
  1384. moolabs/models/validation_issue.py +135 -0
  1385. moolabs/models/validation_issue_severity.py +37 -0
  1386. moolabs/models/validation_response.py +105 -0
  1387. moolabs/models/value_recognition_response.py +93 -0
  1388. moolabs/models/variance_decomposition_out.py +117 -0
  1389. moolabs/models/variance_summary_response.py +101 -0
  1390. moolabs/models/verification_status.py +39 -0
  1391. moolabs/models/void_grant_request.py +88 -0
  1392. moolabs/models/void_invoice_action_create.py +93 -0
  1393. moolabs/models/void_invoice_action_create_item.py +93 -0
  1394. moolabs/models/void_invoice_action_input.py +103 -0
  1395. moolabs/models/void_invoice_action_line_override.py +101 -0
  1396. moolabs/models/void_invoice_line_action_create.py +150 -0
  1397. moolabs/models/void_invoice_line_action_create_item.py +150 -0
  1398. moolabs/models/void_invoice_line_discard_action.py +94 -0
  1399. moolabs/models/void_invoice_line_pending_action_create.py +97 -0
  1400. moolabs/models/void_invoice_line_pending_action_create_item.py +97 -0
  1401. moolabs/models/volume_summary.py +114 -0
  1402. moolabs/models/wallet_owner_type.py +43 -0
  1403. moolabs/models/wallet_policy.py +38 -0
  1404. moolabs/models/wallet_response.py +112 -0
  1405. moolabs/models/wallet_state_response.py +105 -0
  1406. moolabs/models/warning_item.py +93 -0
  1407. moolabs/models/webhook_response.py +95 -0
  1408. moolabs/models/webhook_update.py +95 -0
  1409. moolabs/models/window_size.py +39 -0
  1410. moolabs/models/windowed_balance_history.py +105 -0
  1411. moolabs/models/xero_connect_request.py +91 -0
  1412. moolabs/py.typed +0 -0
  1413. moolabs/rest.py +257 -0
  1414. moolabs-0.3.0.dist-info/METADATA +31 -0
  1415. moolabs-0.3.0.dist-info/RECORD +1417 -0
  1416. moolabs-0.3.0.dist-info/WHEEL +5 -0
  1417. moolabs-0.3.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2345 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Moolabs API
5
+
6
+ Unified Moolabs SDK. Capability-based public surface stitched from internal service specs: bff, meter, arc, acute. Customers see capability namespaces (usage, billing, collections, etc.); the SDK routes per-operation internally.
7
+
8
+ The version of the OpenAPI document: 0.3.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import Field, StrictStr, field_validator
20
+ from typing import List, Optional
21
+ from typing_extensions import Annotated
22
+ from moolabs.models.allocation_coverage_response import AllocationCoverageResponse
23
+ from moolabs.models.allocation_fact_page_response import AllocationFactPageResponse
24
+ from moolabs.models.allocation_run_create_request import AllocationRunCreateRequest
25
+ from moolabs.models.allocation_run_create_response import AllocationRunCreateResponse
26
+ from moolabs.models.allocation_run_response import AllocationRunResponse
27
+ from moolabs.models.cost_driver_rule_create_request import CostDriverRuleCreateRequest
28
+ from moolabs.models.cost_driver_rule_response import CostDriverRuleResponse
29
+ from moolabs.models.cost_driver_rule_update_request import CostDriverRuleUpdateRequest
30
+ from moolabs.models.identity_scope import IdentityScope
31
+
32
+ from moolabs.api_client import ApiClient, RequestSerialized
33
+ from moolabs.api_response import ApiResponse
34
+ from moolabs.rest import RESTResponseType
35
+
36
+
37
+ class AttributionAllocationApi:
38
+ """NOTE: This class is auto generated by OpenAPI Generator
39
+ Ref: https://openapi-generator.tech
40
+
41
+ Do not edit the class manually.
42
+ """
43
+
44
+ def __init__(self, api_client=None) -> None:
45
+ if api_client is None:
46
+ api_client = ApiClient.get_default()
47
+ self.api_client = api_client
48
+
49
+
50
+ @validate_call
51
+ def create_allocation_run_api(
52
+ self,
53
+ allocation_run_create_request: AllocationRunCreateRequest,
54
+ _request_timeout: Union[
55
+ None,
56
+ Annotated[StrictFloat, Field(gt=0)],
57
+ Tuple[
58
+ Annotated[StrictFloat, Field(gt=0)],
59
+ Annotated[StrictFloat, Field(gt=0)]
60
+ ]
61
+ ] = None,
62
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
63
+ _content_type: Optional[StrictStr] = None,
64
+ _headers: Optional[Dict[StrictStr, Any]] = None,
65
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
66
+ ) -> AllocationRunCreateResponse:
67
+ """Create Allocation Run
68
+
69
+
70
+ :param allocation_run_create_request: (required)
71
+ :type allocation_run_create_request: AllocationRunCreateRequest
72
+ :param _request_timeout: timeout setting for this request. If one
73
+ number provided, it will be total request
74
+ timeout. It can also be a pair (tuple) of
75
+ (connection, read) timeouts.
76
+ :type _request_timeout: int, tuple(int, int), optional
77
+ :param _request_auth: set to override the auth_settings for an a single
78
+ request; this effectively ignores the
79
+ authentication in the spec for a single request.
80
+ :type _request_auth: dict, optional
81
+ :param _content_type: force content-type for the request.
82
+ :type _content_type: str, Optional
83
+ :param _headers: set to override the headers for a single
84
+ request; this effectively ignores the headers
85
+ in the spec for a single request.
86
+ :type _headers: dict, optional
87
+ :param _host_index: set to override the host_index for a single
88
+ request; this effectively ignores the host_index
89
+ in the spec for a single request.
90
+ :type _host_index: int, optional
91
+ :return: Returns the result object.
92
+ """ # noqa: E501
93
+
94
+ _param = self._create_allocation_run_api_serialize(
95
+ allocation_run_create_request=allocation_run_create_request,
96
+ _request_auth=_request_auth,
97
+ _content_type=_content_type,
98
+ _headers=_headers,
99
+ _host_index=_host_index
100
+ )
101
+
102
+ _response_types_map: Dict[str, Optional[str]] = {
103
+ '201': "AllocationRunCreateResponse",
104
+ '409': "AttributionAllocationErrorResponse",
105
+ '422': "CreateAllocationRunApi422Response",
106
+ }
107
+ response_data = self.api_client.call_api(
108
+ *_param,
109
+ _request_timeout=_request_timeout
110
+ )
111
+ response_data.read()
112
+ return self.api_client.response_deserialize(
113
+ response_data=response_data,
114
+ response_types_map=_response_types_map,
115
+ ).data
116
+
117
+
118
+ @validate_call
119
+ def create_allocation_run_api_with_http_info(
120
+ self,
121
+ allocation_run_create_request: AllocationRunCreateRequest,
122
+ _request_timeout: Union[
123
+ None,
124
+ Annotated[StrictFloat, Field(gt=0)],
125
+ Tuple[
126
+ Annotated[StrictFloat, Field(gt=0)],
127
+ Annotated[StrictFloat, Field(gt=0)]
128
+ ]
129
+ ] = None,
130
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
131
+ _content_type: Optional[StrictStr] = None,
132
+ _headers: Optional[Dict[StrictStr, Any]] = None,
133
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
134
+ ) -> ApiResponse[AllocationRunCreateResponse]:
135
+ """Create Allocation Run
136
+
137
+
138
+ :param allocation_run_create_request: (required)
139
+ :type allocation_run_create_request: AllocationRunCreateRequest
140
+ :param _request_timeout: timeout setting for this request. If one
141
+ number provided, it will be total request
142
+ timeout. It can also be a pair (tuple) of
143
+ (connection, read) timeouts.
144
+ :type _request_timeout: int, tuple(int, int), optional
145
+ :param _request_auth: set to override the auth_settings for an a single
146
+ request; this effectively ignores the
147
+ authentication in the spec for a single request.
148
+ :type _request_auth: dict, optional
149
+ :param _content_type: force content-type for the request.
150
+ :type _content_type: str, Optional
151
+ :param _headers: set to override the headers for a single
152
+ request; this effectively ignores the headers
153
+ in the spec for a single request.
154
+ :type _headers: dict, optional
155
+ :param _host_index: set to override the host_index for a single
156
+ request; this effectively ignores the host_index
157
+ in the spec for a single request.
158
+ :type _host_index: int, optional
159
+ :return: Returns the result object.
160
+ """ # noqa: E501
161
+
162
+ _param = self._create_allocation_run_api_serialize(
163
+ allocation_run_create_request=allocation_run_create_request,
164
+ _request_auth=_request_auth,
165
+ _content_type=_content_type,
166
+ _headers=_headers,
167
+ _host_index=_host_index
168
+ )
169
+
170
+ _response_types_map: Dict[str, Optional[str]] = {
171
+ '201': "AllocationRunCreateResponse",
172
+ '409': "AttributionAllocationErrorResponse",
173
+ '422': "CreateAllocationRunApi422Response",
174
+ }
175
+ response_data = self.api_client.call_api(
176
+ *_param,
177
+ _request_timeout=_request_timeout
178
+ )
179
+ response_data.read()
180
+ return self.api_client.response_deserialize(
181
+ response_data=response_data,
182
+ response_types_map=_response_types_map,
183
+ )
184
+
185
+
186
+ @validate_call
187
+ def create_allocation_run_api_without_preload_content(
188
+ self,
189
+ allocation_run_create_request: AllocationRunCreateRequest,
190
+ _request_timeout: Union[
191
+ None,
192
+ Annotated[StrictFloat, Field(gt=0)],
193
+ Tuple[
194
+ Annotated[StrictFloat, Field(gt=0)],
195
+ Annotated[StrictFloat, Field(gt=0)]
196
+ ]
197
+ ] = None,
198
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
199
+ _content_type: Optional[StrictStr] = None,
200
+ _headers: Optional[Dict[StrictStr, Any]] = None,
201
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
202
+ ) -> RESTResponseType:
203
+ """Create Allocation Run
204
+
205
+
206
+ :param allocation_run_create_request: (required)
207
+ :type allocation_run_create_request: AllocationRunCreateRequest
208
+ :param _request_timeout: timeout setting for this request. If one
209
+ number provided, it will be total request
210
+ timeout. It can also be a pair (tuple) of
211
+ (connection, read) timeouts.
212
+ :type _request_timeout: int, tuple(int, int), optional
213
+ :param _request_auth: set to override the auth_settings for an a single
214
+ request; this effectively ignores the
215
+ authentication in the spec for a single request.
216
+ :type _request_auth: dict, optional
217
+ :param _content_type: force content-type for the request.
218
+ :type _content_type: str, Optional
219
+ :param _headers: set to override the headers for a single
220
+ request; this effectively ignores the headers
221
+ in the spec for a single request.
222
+ :type _headers: dict, optional
223
+ :param _host_index: set to override the host_index for a single
224
+ request; this effectively ignores the host_index
225
+ in the spec for a single request.
226
+ :type _host_index: int, optional
227
+ :return: Returns the result object.
228
+ """ # noqa: E501
229
+
230
+ _param = self._create_allocation_run_api_serialize(
231
+ allocation_run_create_request=allocation_run_create_request,
232
+ _request_auth=_request_auth,
233
+ _content_type=_content_type,
234
+ _headers=_headers,
235
+ _host_index=_host_index
236
+ )
237
+
238
+ _response_types_map: Dict[str, Optional[str]] = {
239
+ '201': "AllocationRunCreateResponse",
240
+ '409': "AttributionAllocationErrorResponse",
241
+ '422': "CreateAllocationRunApi422Response",
242
+ }
243
+ response_data = self.api_client.call_api(
244
+ *_param,
245
+ _request_timeout=_request_timeout
246
+ )
247
+ return response_data.response
248
+
249
+
250
+ def _create_allocation_run_api_serialize(
251
+ self,
252
+ allocation_run_create_request,
253
+ _request_auth,
254
+ _content_type,
255
+ _headers,
256
+ _host_index,
257
+ ) -> RequestSerialized:
258
+
259
+ _host = None
260
+
261
+ _collection_formats: Dict[str, str] = {
262
+ }
263
+
264
+ _path_params: Dict[str, str] = {}
265
+ _query_params: List[Tuple[str, str]] = []
266
+ _header_params: Dict[str, Optional[str]] = _headers or {}
267
+ _form_params: List[Tuple[str, str]] = []
268
+ _files: Dict[
269
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
270
+ ] = {}
271
+ _body_params: Optional[bytes] = None
272
+
273
+ # process the path parameters
274
+ # process the query parameters
275
+ # process the header parameters
276
+ # process the form parameters
277
+ # process the body parameter
278
+ if allocation_run_create_request is not None:
279
+ _body_params = allocation_run_create_request
280
+
281
+
282
+ # set the HTTP header `Accept`
283
+ if 'Accept' not in _header_params:
284
+ _header_params['Accept'] = self.api_client.select_header_accept(
285
+ [
286
+ 'application/json'
287
+ ]
288
+ )
289
+
290
+ # set the HTTP header `Content-Type`
291
+ if _content_type:
292
+ _header_params['Content-Type'] = _content_type
293
+ else:
294
+ _default_content_type = (
295
+ self.api_client.select_header_content_type(
296
+ [
297
+ 'application/json'
298
+ ]
299
+ )
300
+ )
301
+ if _default_content_type is not None:
302
+ _header_params['Content-Type'] = _default_content_type
303
+
304
+ # authentication setting
305
+ _auth_settings: List[str] = [
306
+ 'APIKeyHeader',
307
+ 'HTTPBearer'
308
+ ]
309
+
310
+ return self.api_client.param_serialize(
311
+ method='POST',
312
+ resource_path='/api/v1/attribution/allocation-runs',
313
+ path_params=_path_params,
314
+ query_params=_query_params,
315
+ header_params=_header_params,
316
+ body=_body_params,
317
+ post_params=_form_params,
318
+ files=_files,
319
+ auth_settings=_auth_settings,
320
+ collection_formats=_collection_formats,
321
+ _host=_host,
322
+ _request_auth=_request_auth
323
+ )
324
+
325
+
326
+
327
+
328
+ @validate_call
329
+ def create_driver_rule_api(
330
+ self,
331
+ cost_driver_rule_create_request: CostDriverRuleCreateRequest,
332
+ _request_timeout: Union[
333
+ None,
334
+ Annotated[StrictFloat, Field(gt=0)],
335
+ Tuple[
336
+ Annotated[StrictFloat, Field(gt=0)],
337
+ Annotated[StrictFloat, Field(gt=0)]
338
+ ]
339
+ ] = None,
340
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
341
+ _content_type: Optional[StrictStr] = None,
342
+ _headers: Optional[Dict[StrictStr, Any]] = None,
343
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
344
+ ) -> CostDriverRuleResponse:
345
+ """Create Driver Rule
346
+
347
+
348
+ :param cost_driver_rule_create_request: (required)
349
+ :type cost_driver_rule_create_request: CostDriverRuleCreateRequest
350
+ :param _request_timeout: timeout setting for this request. If one
351
+ number provided, it will be total request
352
+ timeout. It can also be a pair (tuple) of
353
+ (connection, read) timeouts.
354
+ :type _request_timeout: int, tuple(int, int), optional
355
+ :param _request_auth: set to override the auth_settings for an a single
356
+ request; this effectively ignores the
357
+ authentication in the spec for a single request.
358
+ :type _request_auth: dict, optional
359
+ :param _content_type: force content-type for the request.
360
+ :type _content_type: str, Optional
361
+ :param _headers: set to override the headers for a single
362
+ request; this effectively ignores the headers
363
+ in the spec for a single request.
364
+ :type _headers: dict, optional
365
+ :param _host_index: set to override the host_index for a single
366
+ request; this effectively ignores the host_index
367
+ in the spec for a single request.
368
+ :type _host_index: int, optional
369
+ :return: Returns the result object.
370
+ """ # noqa: E501
371
+
372
+ _param = self._create_driver_rule_api_serialize(
373
+ cost_driver_rule_create_request=cost_driver_rule_create_request,
374
+ _request_auth=_request_auth,
375
+ _content_type=_content_type,
376
+ _headers=_headers,
377
+ _host_index=_host_index
378
+ )
379
+
380
+ _response_types_map: Dict[str, Optional[str]] = {
381
+ '201': "CostDriverRuleResponse",
382
+ '404': "AttributionAllocationErrorResponse",
383
+ '409': "AttributionAllocationErrorResponse",
384
+ '422': "CreateAllocationRunApi422Response",
385
+ }
386
+ response_data = self.api_client.call_api(
387
+ *_param,
388
+ _request_timeout=_request_timeout
389
+ )
390
+ response_data.read()
391
+ return self.api_client.response_deserialize(
392
+ response_data=response_data,
393
+ response_types_map=_response_types_map,
394
+ ).data
395
+
396
+
397
+ @validate_call
398
+ def create_driver_rule_api_with_http_info(
399
+ self,
400
+ cost_driver_rule_create_request: CostDriverRuleCreateRequest,
401
+ _request_timeout: Union[
402
+ None,
403
+ Annotated[StrictFloat, Field(gt=0)],
404
+ Tuple[
405
+ Annotated[StrictFloat, Field(gt=0)],
406
+ Annotated[StrictFloat, Field(gt=0)]
407
+ ]
408
+ ] = None,
409
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
410
+ _content_type: Optional[StrictStr] = None,
411
+ _headers: Optional[Dict[StrictStr, Any]] = None,
412
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
413
+ ) -> ApiResponse[CostDriverRuleResponse]:
414
+ """Create Driver Rule
415
+
416
+
417
+ :param cost_driver_rule_create_request: (required)
418
+ :type cost_driver_rule_create_request: CostDriverRuleCreateRequest
419
+ :param _request_timeout: timeout setting for this request. If one
420
+ number provided, it will be total request
421
+ timeout. It can also be a pair (tuple) of
422
+ (connection, read) timeouts.
423
+ :type _request_timeout: int, tuple(int, int), optional
424
+ :param _request_auth: set to override the auth_settings for an a single
425
+ request; this effectively ignores the
426
+ authentication in the spec for a single request.
427
+ :type _request_auth: dict, optional
428
+ :param _content_type: force content-type for the request.
429
+ :type _content_type: str, Optional
430
+ :param _headers: set to override the headers for a single
431
+ request; this effectively ignores the headers
432
+ in the spec for a single request.
433
+ :type _headers: dict, optional
434
+ :param _host_index: set to override the host_index for a single
435
+ request; this effectively ignores the host_index
436
+ in the spec for a single request.
437
+ :type _host_index: int, optional
438
+ :return: Returns the result object.
439
+ """ # noqa: E501
440
+
441
+ _param = self._create_driver_rule_api_serialize(
442
+ cost_driver_rule_create_request=cost_driver_rule_create_request,
443
+ _request_auth=_request_auth,
444
+ _content_type=_content_type,
445
+ _headers=_headers,
446
+ _host_index=_host_index
447
+ )
448
+
449
+ _response_types_map: Dict[str, Optional[str]] = {
450
+ '201': "CostDriverRuleResponse",
451
+ '404': "AttributionAllocationErrorResponse",
452
+ '409': "AttributionAllocationErrorResponse",
453
+ '422': "CreateAllocationRunApi422Response",
454
+ }
455
+ response_data = self.api_client.call_api(
456
+ *_param,
457
+ _request_timeout=_request_timeout
458
+ )
459
+ response_data.read()
460
+ return self.api_client.response_deserialize(
461
+ response_data=response_data,
462
+ response_types_map=_response_types_map,
463
+ )
464
+
465
+
466
+ @validate_call
467
+ def create_driver_rule_api_without_preload_content(
468
+ self,
469
+ cost_driver_rule_create_request: CostDriverRuleCreateRequest,
470
+ _request_timeout: Union[
471
+ None,
472
+ Annotated[StrictFloat, Field(gt=0)],
473
+ Tuple[
474
+ Annotated[StrictFloat, Field(gt=0)],
475
+ Annotated[StrictFloat, Field(gt=0)]
476
+ ]
477
+ ] = None,
478
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
479
+ _content_type: Optional[StrictStr] = None,
480
+ _headers: Optional[Dict[StrictStr, Any]] = None,
481
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
482
+ ) -> RESTResponseType:
483
+ """Create Driver Rule
484
+
485
+
486
+ :param cost_driver_rule_create_request: (required)
487
+ :type cost_driver_rule_create_request: CostDriverRuleCreateRequest
488
+ :param _request_timeout: timeout setting for this request. If one
489
+ number provided, it will be total request
490
+ timeout. It can also be a pair (tuple) of
491
+ (connection, read) timeouts.
492
+ :type _request_timeout: int, tuple(int, int), optional
493
+ :param _request_auth: set to override the auth_settings for an a single
494
+ request; this effectively ignores the
495
+ authentication in the spec for a single request.
496
+ :type _request_auth: dict, optional
497
+ :param _content_type: force content-type for the request.
498
+ :type _content_type: str, Optional
499
+ :param _headers: set to override the headers for a single
500
+ request; this effectively ignores the headers
501
+ in the spec for a single request.
502
+ :type _headers: dict, optional
503
+ :param _host_index: set to override the host_index for a single
504
+ request; this effectively ignores the host_index
505
+ in the spec for a single request.
506
+ :type _host_index: int, optional
507
+ :return: Returns the result object.
508
+ """ # noqa: E501
509
+
510
+ _param = self._create_driver_rule_api_serialize(
511
+ cost_driver_rule_create_request=cost_driver_rule_create_request,
512
+ _request_auth=_request_auth,
513
+ _content_type=_content_type,
514
+ _headers=_headers,
515
+ _host_index=_host_index
516
+ )
517
+
518
+ _response_types_map: Dict[str, Optional[str]] = {
519
+ '201': "CostDriverRuleResponse",
520
+ '404': "AttributionAllocationErrorResponse",
521
+ '409': "AttributionAllocationErrorResponse",
522
+ '422': "CreateAllocationRunApi422Response",
523
+ }
524
+ response_data = self.api_client.call_api(
525
+ *_param,
526
+ _request_timeout=_request_timeout
527
+ )
528
+ return response_data.response
529
+
530
+
531
+ def _create_driver_rule_api_serialize(
532
+ self,
533
+ cost_driver_rule_create_request,
534
+ _request_auth,
535
+ _content_type,
536
+ _headers,
537
+ _host_index,
538
+ ) -> RequestSerialized:
539
+
540
+ _host = None
541
+
542
+ _collection_formats: Dict[str, str] = {
543
+ }
544
+
545
+ _path_params: Dict[str, str] = {}
546
+ _query_params: List[Tuple[str, str]] = []
547
+ _header_params: Dict[str, Optional[str]] = _headers or {}
548
+ _form_params: List[Tuple[str, str]] = []
549
+ _files: Dict[
550
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
551
+ ] = {}
552
+ _body_params: Optional[bytes] = None
553
+
554
+ # process the path parameters
555
+ # process the query parameters
556
+ # process the header parameters
557
+ # process the form parameters
558
+ # process the body parameter
559
+ if cost_driver_rule_create_request is not None:
560
+ _body_params = cost_driver_rule_create_request
561
+
562
+
563
+ # set the HTTP header `Accept`
564
+ if 'Accept' not in _header_params:
565
+ _header_params['Accept'] = self.api_client.select_header_accept(
566
+ [
567
+ 'application/json'
568
+ ]
569
+ )
570
+
571
+ # set the HTTP header `Content-Type`
572
+ if _content_type:
573
+ _header_params['Content-Type'] = _content_type
574
+ else:
575
+ _default_content_type = (
576
+ self.api_client.select_header_content_type(
577
+ [
578
+ 'application/json'
579
+ ]
580
+ )
581
+ )
582
+ if _default_content_type is not None:
583
+ _header_params['Content-Type'] = _default_content_type
584
+
585
+ # authentication setting
586
+ _auth_settings: List[str] = [
587
+ 'APIKeyHeader',
588
+ 'HTTPBearer'
589
+ ]
590
+
591
+ return self.api_client.param_serialize(
592
+ method='POST',
593
+ resource_path='/api/v1/attribution/driver-rules',
594
+ path_params=_path_params,
595
+ query_params=_query_params,
596
+ header_params=_header_params,
597
+ body=_body_params,
598
+ post_params=_form_params,
599
+ files=_files,
600
+ auth_settings=_auth_settings,
601
+ collection_formats=_collection_formats,
602
+ _host=_host,
603
+ _request_auth=_request_auth
604
+ )
605
+
606
+
607
+
608
+
609
+ @validate_call
610
+ def get_allocation_run_by_id_api(
611
+ self,
612
+ run_id: StrictStr,
613
+ _request_timeout: Union[
614
+ None,
615
+ Annotated[StrictFloat, Field(gt=0)],
616
+ Tuple[
617
+ Annotated[StrictFloat, Field(gt=0)],
618
+ Annotated[StrictFloat, Field(gt=0)]
619
+ ]
620
+ ] = None,
621
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
622
+ _content_type: Optional[StrictStr] = None,
623
+ _headers: Optional[Dict[StrictStr, Any]] = None,
624
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
625
+ ) -> AllocationRunResponse:
626
+ """Get Allocation Run By Id
627
+
628
+
629
+ :param run_id: (required)
630
+ :type run_id: str
631
+ :param _request_timeout: timeout setting for this request. If one
632
+ number provided, it will be total request
633
+ timeout. It can also be a pair (tuple) of
634
+ (connection, read) timeouts.
635
+ :type _request_timeout: int, tuple(int, int), optional
636
+ :param _request_auth: set to override the auth_settings for an a single
637
+ request; this effectively ignores the
638
+ authentication in the spec for a single request.
639
+ :type _request_auth: dict, optional
640
+ :param _content_type: force content-type for the request.
641
+ :type _content_type: str, Optional
642
+ :param _headers: set to override the headers for a single
643
+ request; this effectively ignores the headers
644
+ in the spec for a single request.
645
+ :type _headers: dict, optional
646
+ :param _host_index: set to override the host_index for a single
647
+ request; this effectively ignores the host_index
648
+ in the spec for a single request.
649
+ :type _host_index: int, optional
650
+ :return: Returns the result object.
651
+ """ # noqa: E501
652
+
653
+ _param = self._get_allocation_run_by_id_api_serialize(
654
+ run_id=run_id,
655
+ _request_auth=_request_auth,
656
+ _content_type=_content_type,
657
+ _headers=_headers,
658
+ _host_index=_host_index
659
+ )
660
+
661
+ _response_types_map: Dict[str, Optional[str]] = {
662
+ '200': "AllocationRunResponse",
663
+ '404': "AttributionAllocationErrorResponse",
664
+ '422': "AcuteHTTPValidationError",
665
+ }
666
+ response_data = self.api_client.call_api(
667
+ *_param,
668
+ _request_timeout=_request_timeout
669
+ )
670
+ response_data.read()
671
+ return self.api_client.response_deserialize(
672
+ response_data=response_data,
673
+ response_types_map=_response_types_map,
674
+ ).data
675
+
676
+
677
+ @validate_call
678
+ def get_allocation_run_by_id_api_with_http_info(
679
+ self,
680
+ run_id: StrictStr,
681
+ _request_timeout: Union[
682
+ None,
683
+ Annotated[StrictFloat, Field(gt=0)],
684
+ Tuple[
685
+ Annotated[StrictFloat, Field(gt=0)],
686
+ Annotated[StrictFloat, Field(gt=0)]
687
+ ]
688
+ ] = None,
689
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
690
+ _content_type: Optional[StrictStr] = None,
691
+ _headers: Optional[Dict[StrictStr, Any]] = None,
692
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
693
+ ) -> ApiResponse[AllocationRunResponse]:
694
+ """Get Allocation Run By Id
695
+
696
+
697
+ :param run_id: (required)
698
+ :type run_id: str
699
+ :param _request_timeout: timeout setting for this request. If one
700
+ number provided, it will be total request
701
+ timeout. It can also be a pair (tuple) of
702
+ (connection, read) timeouts.
703
+ :type _request_timeout: int, tuple(int, int), optional
704
+ :param _request_auth: set to override the auth_settings for an a single
705
+ request; this effectively ignores the
706
+ authentication in the spec for a single request.
707
+ :type _request_auth: dict, optional
708
+ :param _content_type: force content-type for the request.
709
+ :type _content_type: str, Optional
710
+ :param _headers: set to override the headers for a single
711
+ request; this effectively ignores the headers
712
+ in the spec for a single request.
713
+ :type _headers: dict, optional
714
+ :param _host_index: set to override the host_index for a single
715
+ request; this effectively ignores the host_index
716
+ in the spec for a single request.
717
+ :type _host_index: int, optional
718
+ :return: Returns the result object.
719
+ """ # noqa: E501
720
+
721
+ _param = self._get_allocation_run_by_id_api_serialize(
722
+ run_id=run_id,
723
+ _request_auth=_request_auth,
724
+ _content_type=_content_type,
725
+ _headers=_headers,
726
+ _host_index=_host_index
727
+ )
728
+
729
+ _response_types_map: Dict[str, Optional[str]] = {
730
+ '200': "AllocationRunResponse",
731
+ '404': "AttributionAllocationErrorResponse",
732
+ '422': "AcuteHTTPValidationError",
733
+ }
734
+ response_data = self.api_client.call_api(
735
+ *_param,
736
+ _request_timeout=_request_timeout
737
+ )
738
+ response_data.read()
739
+ return self.api_client.response_deserialize(
740
+ response_data=response_data,
741
+ response_types_map=_response_types_map,
742
+ )
743
+
744
+
745
+ @validate_call
746
+ def get_allocation_run_by_id_api_without_preload_content(
747
+ self,
748
+ run_id: StrictStr,
749
+ _request_timeout: Union[
750
+ None,
751
+ Annotated[StrictFloat, Field(gt=0)],
752
+ Tuple[
753
+ Annotated[StrictFloat, Field(gt=0)],
754
+ Annotated[StrictFloat, Field(gt=0)]
755
+ ]
756
+ ] = None,
757
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
758
+ _content_type: Optional[StrictStr] = None,
759
+ _headers: Optional[Dict[StrictStr, Any]] = None,
760
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
761
+ ) -> RESTResponseType:
762
+ """Get Allocation Run By Id
763
+
764
+
765
+ :param run_id: (required)
766
+ :type run_id: str
767
+ :param _request_timeout: timeout setting for this request. If one
768
+ number provided, it will be total request
769
+ timeout. It can also be a pair (tuple) of
770
+ (connection, read) timeouts.
771
+ :type _request_timeout: int, tuple(int, int), optional
772
+ :param _request_auth: set to override the auth_settings for an a single
773
+ request; this effectively ignores the
774
+ authentication in the spec for a single request.
775
+ :type _request_auth: dict, optional
776
+ :param _content_type: force content-type for the request.
777
+ :type _content_type: str, Optional
778
+ :param _headers: set to override the headers for a single
779
+ request; this effectively ignores the headers
780
+ in the spec for a single request.
781
+ :type _headers: dict, optional
782
+ :param _host_index: set to override the host_index for a single
783
+ request; this effectively ignores the host_index
784
+ in the spec for a single request.
785
+ :type _host_index: int, optional
786
+ :return: Returns the result object.
787
+ """ # noqa: E501
788
+
789
+ _param = self._get_allocation_run_by_id_api_serialize(
790
+ run_id=run_id,
791
+ _request_auth=_request_auth,
792
+ _content_type=_content_type,
793
+ _headers=_headers,
794
+ _host_index=_host_index
795
+ )
796
+
797
+ _response_types_map: Dict[str, Optional[str]] = {
798
+ '200': "AllocationRunResponse",
799
+ '404': "AttributionAllocationErrorResponse",
800
+ '422': "AcuteHTTPValidationError",
801
+ }
802
+ response_data = self.api_client.call_api(
803
+ *_param,
804
+ _request_timeout=_request_timeout
805
+ )
806
+ return response_data.response
807
+
808
+
809
+ def _get_allocation_run_by_id_api_serialize(
810
+ self,
811
+ run_id,
812
+ _request_auth,
813
+ _content_type,
814
+ _headers,
815
+ _host_index,
816
+ ) -> RequestSerialized:
817
+
818
+ _host = None
819
+
820
+ _collection_formats: Dict[str, str] = {
821
+ }
822
+
823
+ _path_params: Dict[str, str] = {}
824
+ _query_params: List[Tuple[str, str]] = []
825
+ _header_params: Dict[str, Optional[str]] = _headers or {}
826
+ _form_params: List[Tuple[str, str]] = []
827
+ _files: Dict[
828
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
829
+ ] = {}
830
+ _body_params: Optional[bytes] = None
831
+
832
+ # process the path parameters
833
+ if run_id is not None:
834
+ _path_params['run_id'] = run_id
835
+ # process the query parameters
836
+ # process the header parameters
837
+ # process the form parameters
838
+ # process the body parameter
839
+
840
+
841
+ # set the HTTP header `Accept`
842
+ if 'Accept' not in _header_params:
843
+ _header_params['Accept'] = self.api_client.select_header_accept(
844
+ [
845
+ 'application/json'
846
+ ]
847
+ )
848
+
849
+
850
+ # authentication setting
851
+ _auth_settings: List[str] = [
852
+ 'APIKeyHeader',
853
+ 'HTTPBearer'
854
+ ]
855
+
856
+ return self.api_client.param_serialize(
857
+ method='GET',
858
+ resource_path='/api/v1/attribution/allocation-runs/{run_id}',
859
+ path_params=_path_params,
860
+ query_params=_query_params,
861
+ header_params=_header_params,
862
+ body=_body_params,
863
+ post_params=_form_params,
864
+ files=_files,
865
+ auth_settings=_auth_settings,
866
+ collection_formats=_collection_formats,
867
+ _host=_host,
868
+ _request_auth=_request_auth
869
+ )
870
+
871
+
872
+
873
+
874
+ @validate_call
875
+ def get_allocation_run_coverage_api(
876
+ self,
877
+ run_id: StrictStr,
878
+ _request_timeout: Union[
879
+ None,
880
+ Annotated[StrictFloat, Field(gt=0)],
881
+ Tuple[
882
+ Annotated[StrictFloat, Field(gt=0)],
883
+ Annotated[StrictFloat, Field(gt=0)]
884
+ ]
885
+ ] = None,
886
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
887
+ _content_type: Optional[StrictStr] = None,
888
+ _headers: Optional[Dict[StrictStr, Any]] = None,
889
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
890
+ ) -> AllocationCoverageResponse:
891
+ """Get Allocation Run Coverage
892
+
893
+
894
+ :param run_id: (required)
895
+ :type run_id: str
896
+ :param _request_timeout: timeout setting for this request. If one
897
+ number provided, it will be total request
898
+ timeout. It can also be a pair (tuple) of
899
+ (connection, read) timeouts.
900
+ :type _request_timeout: int, tuple(int, int), optional
901
+ :param _request_auth: set to override the auth_settings for an a single
902
+ request; this effectively ignores the
903
+ authentication in the spec for a single request.
904
+ :type _request_auth: dict, optional
905
+ :param _content_type: force content-type for the request.
906
+ :type _content_type: str, Optional
907
+ :param _headers: set to override the headers for a single
908
+ request; this effectively ignores the headers
909
+ in the spec for a single request.
910
+ :type _headers: dict, optional
911
+ :param _host_index: set to override the host_index for a single
912
+ request; this effectively ignores the host_index
913
+ in the spec for a single request.
914
+ :type _host_index: int, optional
915
+ :return: Returns the result object.
916
+ """ # noqa: E501
917
+
918
+ _param = self._get_allocation_run_coverage_api_serialize(
919
+ run_id=run_id,
920
+ _request_auth=_request_auth,
921
+ _content_type=_content_type,
922
+ _headers=_headers,
923
+ _host_index=_host_index
924
+ )
925
+
926
+ _response_types_map: Dict[str, Optional[str]] = {
927
+ '200': "AllocationCoverageResponse",
928
+ '409': "AttributionAllocationErrorResponse",
929
+ '404': "AttributionAllocationErrorResponse",
930
+ '422': "AcuteHTTPValidationError",
931
+ }
932
+ response_data = self.api_client.call_api(
933
+ *_param,
934
+ _request_timeout=_request_timeout
935
+ )
936
+ response_data.read()
937
+ return self.api_client.response_deserialize(
938
+ response_data=response_data,
939
+ response_types_map=_response_types_map,
940
+ ).data
941
+
942
+
943
+ @validate_call
944
+ def get_allocation_run_coverage_api_with_http_info(
945
+ self,
946
+ run_id: StrictStr,
947
+ _request_timeout: Union[
948
+ None,
949
+ Annotated[StrictFloat, Field(gt=0)],
950
+ Tuple[
951
+ Annotated[StrictFloat, Field(gt=0)],
952
+ Annotated[StrictFloat, Field(gt=0)]
953
+ ]
954
+ ] = None,
955
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
956
+ _content_type: Optional[StrictStr] = None,
957
+ _headers: Optional[Dict[StrictStr, Any]] = None,
958
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
959
+ ) -> ApiResponse[AllocationCoverageResponse]:
960
+ """Get Allocation Run Coverage
961
+
962
+
963
+ :param run_id: (required)
964
+ :type run_id: str
965
+ :param _request_timeout: timeout setting for this request. If one
966
+ number provided, it will be total request
967
+ timeout. It can also be a pair (tuple) of
968
+ (connection, read) timeouts.
969
+ :type _request_timeout: int, tuple(int, int), optional
970
+ :param _request_auth: set to override the auth_settings for an a single
971
+ request; this effectively ignores the
972
+ authentication in the spec for a single request.
973
+ :type _request_auth: dict, optional
974
+ :param _content_type: force content-type for the request.
975
+ :type _content_type: str, Optional
976
+ :param _headers: set to override the headers for a single
977
+ request; this effectively ignores the headers
978
+ in the spec for a single request.
979
+ :type _headers: dict, optional
980
+ :param _host_index: set to override the host_index for a single
981
+ request; this effectively ignores the host_index
982
+ in the spec for a single request.
983
+ :type _host_index: int, optional
984
+ :return: Returns the result object.
985
+ """ # noqa: E501
986
+
987
+ _param = self._get_allocation_run_coverage_api_serialize(
988
+ run_id=run_id,
989
+ _request_auth=_request_auth,
990
+ _content_type=_content_type,
991
+ _headers=_headers,
992
+ _host_index=_host_index
993
+ )
994
+
995
+ _response_types_map: Dict[str, Optional[str]] = {
996
+ '200': "AllocationCoverageResponse",
997
+ '409': "AttributionAllocationErrorResponse",
998
+ '404': "AttributionAllocationErrorResponse",
999
+ '422': "AcuteHTTPValidationError",
1000
+ }
1001
+ response_data = self.api_client.call_api(
1002
+ *_param,
1003
+ _request_timeout=_request_timeout
1004
+ )
1005
+ response_data.read()
1006
+ return self.api_client.response_deserialize(
1007
+ response_data=response_data,
1008
+ response_types_map=_response_types_map,
1009
+ )
1010
+
1011
+
1012
+ @validate_call
1013
+ def get_allocation_run_coverage_api_without_preload_content(
1014
+ self,
1015
+ run_id: StrictStr,
1016
+ _request_timeout: Union[
1017
+ None,
1018
+ Annotated[StrictFloat, Field(gt=0)],
1019
+ Tuple[
1020
+ Annotated[StrictFloat, Field(gt=0)],
1021
+ Annotated[StrictFloat, Field(gt=0)]
1022
+ ]
1023
+ ] = None,
1024
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1025
+ _content_type: Optional[StrictStr] = None,
1026
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1027
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1028
+ ) -> RESTResponseType:
1029
+ """Get Allocation Run Coverage
1030
+
1031
+
1032
+ :param run_id: (required)
1033
+ :type run_id: str
1034
+ :param _request_timeout: timeout setting for this request. If one
1035
+ number provided, it will be total request
1036
+ timeout. It can also be a pair (tuple) of
1037
+ (connection, read) timeouts.
1038
+ :type _request_timeout: int, tuple(int, int), optional
1039
+ :param _request_auth: set to override the auth_settings for an a single
1040
+ request; this effectively ignores the
1041
+ authentication in the spec for a single request.
1042
+ :type _request_auth: dict, optional
1043
+ :param _content_type: force content-type for the request.
1044
+ :type _content_type: str, Optional
1045
+ :param _headers: set to override the headers for a single
1046
+ request; this effectively ignores the headers
1047
+ in the spec for a single request.
1048
+ :type _headers: dict, optional
1049
+ :param _host_index: set to override the host_index for a single
1050
+ request; this effectively ignores the host_index
1051
+ in the spec for a single request.
1052
+ :type _host_index: int, optional
1053
+ :return: Returns the result object.
1054
+ """ # noqa: E501
1055
+
1056
+ _param = self._get_allocation_run_coverage_api_serialize(
1057
+ run_id=run_id,
1058
+ _request_auth=_request_auth,
1059
+ _content_type=_content_type,
1060
+ _headers=_headers,
1061
+ _host_index=_host_index
1062
+ )
1063
+
1064
+ _response_types_map: Dict[str, Optional[str]] = {
1065
+ '200': "AllocationCoverageResponse",
1066
+ '409': "AttributionAllocationErrorResponse",
1067
+ '404': "AttributionAllocationErrorResponse",
1068
+ '422': "AcuteHTTPValidationError",
1069
+ }
1070
+ response_data = self.api_client.call_api(
1071
+ *_param,
1072
+ _request_timeout=_request_timeout
1073
+ )
1074
+ return response_data.response
1075
+
1076
+
1077
+ def _get_allocation_run_coverage_api_serialize(
1078
+ self,
1079
+ run_id,
1080
+ _request_auth,
1081
+ _content_type,
1082
+ _headers,
1083
+ _host_index,
1084
+ ) -> RequestSerialized:
1085
+
1086
+ _host = None
1087
+
1088
+ _collection_formats: Dict[str, str] = {
1089
+ }
1090
+
1091
+ _path_params: Dict[str, str] = {}
1092
+ _query_params: List[Tuple[str, str]] = []
1093
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1094
+ _form_params: List[Tuple[str, str]] = []
1095
+ _files: Dict[
1096
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1097
+ ] = {}
1098
+ _body_params: Optional[bytes] = None
1099
+
1100
+ # process the path parameters
1101
+ if run_id is not None:
1102
+ _path_params['run_id'] = run_id
1103
+ # process the query parameters
1104
+ # process the header parameters
1105
+ # process the form parameters
1106
+ # process the body parameter
1107
+
1108
+
1109
+ # set the HTTP header `Accept`
1110
+ if 'Accept' not in _header_params:
1111
+ _header_params['Accept'] = self.api_client.select_header_accept(
1112
+ [
1113
+ 'application/json'
1114
+ ]
1115
+ )
1116
+
1117
+
1118
+ # authentication setting
1119
+ _auth_settings: List[str] = [
1120
+ 'APIKeyHeader',
1121
+ 'HTTPBearer'
1122
+ ]
1123
+
1124
+ return self.api_client.param_serialize(
1125
+ method='GET',
1126
+ resource_path='/api/v1/attribution/allocation-runs/{run_id}/coverage',
1127
+ path_params=_path_params,
1128
+ query_params=_query_params,
1129
+ header_params=_header_params,
1130
+ body=_body_params,
1131
+ post_params=_form_params,
1132
+ files=_files,
1133
+ auth_settings=_auth_settings,
1134
+ collection_formats=_collection_formats,
1135
+ _host=_host,
1136
+ _request_auth=_request_auth
1137
+ )
1138
+
1139
+
1140
+
1141
+
1142
+ @validate_call
1143
+ def get_allocation_run_facts_api(
1144
+ self,
1145
+ run_id: StrictStr,
1146
+ limit: Optional[Annotated[int, Field(le=500, strict=True, ge=1)]] = None,
1147
+ after: Optional[StrictStr] = None,
1148
+ cloud_cost_import_id: Optional[StrictStr] = None,
1149
+ identity_scope: Optional[IdentityScope] = None,
1150
+ cost_component: Optional[StrictStr] = None,
1151
+ resource_component: Optional[StrictStr] = None,
1152
+ evidence_service: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=128)]] = None,
1153
+ basis: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=128)]] = None,
1154
+ _request_timeout: Union[
1155
+ None,
1156
+ Annotated[StrictFloat, Field(gt=0)],
1157
+ Tuple[
1158
+ Annotated[StrictFloat, Field(gt=0)],
1159
+ Annotated[StrictFloat, Field(gt=0)]
1160
+ ]
1161
+ ] = None,
1162
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1163
+ _content_type: Optional[StrictStr] = None,
1164
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1165
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1166
+ ) -> AllocationFactPageResponse:
1167
+ """Get Allocation Run Facts
1168
+
1169
+
1170
+ :param run_id: (required)
1171
+ :type run_id: str
1172
+ :param limit:
1173
+ :type limit: int
1174
+ :param after:
1175
+ :type after: str
1176
+ :param cloud_cost_import_id:
1177
+ :type cloud_cost_import_id: str
1178
+ :param identity_scope:
1179
+ :type identity_scope: IdentityScope
1180
+ :param cost_component:
1181
+ :type cost_component: str
1182
+ :param resource_component:
1183
+ :type resource_component: str
1184
+ :param evidence_service:
1185
+ :type evidence_service: str
1186
+ :param basis:
1187
+ :type basis: str
1188
+ :param _request_timeout: timeout setting for this request. If one
1189
+ number provided, it will be total request
1190
+ timeout. It can also be a pair (tuple) of
1191
+ (connection, read) timeouts.
1192
+ :type _request_timeout: int, tuple(int, int), optional
1193
+ :param _request_auth: set to override the auth_settings for an a single
1194
+ request; this effectively ignores the
1195
+ authentication in the spec for a single request.
1196
+ :type _request_auth: dict, optional
1197
+ :param _content_type: force content-type for the request.
1198
+ :type _content_type: str, Optional
1199
+ :param _headers: set to override the headers for a single
1200
+ request; this effectively ignores the headers
1201
+ in the spec for a single request.
1202
+ :type _headers: dict, optional
1203
+ :param _host_index: set to override the host_index for a single
1204
+ request; this effectively ignores the host_index
1205
+ in the spec for a single request.
1206
+ :type _host_index: int, optional
1207
+ :return: Returns the result object.
1208
+ """ # noqa: E501
1209
+
1210
+ _param = self._get_allocation_run_facts_api_serialize(
1211
+ run_id=run_id,
1212
+ limit=limit,
1213
+ after=after,
1214
+ cloud_cost_import_id=cloud_cost_import_id,
1215
+ identity_scope=identity_scope,
1216
+ cost_component=cost_component,
1217
+ resource_component=resource_component,
1218
+ evidence_service=evidence_service,
1219
+ basis=basis,
1220
+ _request_auth=_request_auth,
1221
+ _content_type=_content_type,
1222
+ _headers=_headers,
1223
+ _host_index=_host_index
1224
+ )
1225
+
1226
+ _response_types_map: Dict[str, Optional[str]] = {
1227
+ '200': "AllocationFactPageResponse",
1228
+ '404': "AttributionAllocationErrorResponse",
1229
+ '422': "AcuteHTTPValidationError",
1230
+ }
1231
+ response_data = self.api_client.call_api(
1232
+ *_param,
1233
+ _request_timeout=_request_timeout
1234
+ )
1235
+ response_data.read()
1236
+ return self.api_client.response_deserialize(
1237
+ response_data=response_data,
1238
+ response_types_map=_response_types_map,
1239
+ ).data
1240
+
1241
+
1242
+ @validate_call
1243
+ def get_allocation_run_facts_api_with_http_info(
1244
+ self,
1245
+ run_id: StrictStr,
1246
+ limit: Optional[Annotated[int, Field(le=500, strict=True, ge=1)]] = None,
1247
+ after: Optional[StrictStr] = None,
1248
+ cloud_cost_import_id: Optional[StrictStr] = None,
1249
+ identity_scope: Optional[IdentityScope] = None,
1250
+ cost_component: Optional[StrictStr] = None,
1251
+ resource_component: Optional[StrictStr] = None,
1252
+ evidence_service: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=128)]] = None,
1253
+ basis: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=128)]] = None,
1254
+ _request_timeout: Union[
1255
+ None,
1256
+ Annotated[StrictFloat, Field(gt=0)],
1257
+ Tuple[
1258
+ Annotated[StrictFloat, Field(gt=0)],
1259
+ Annotated[StrictFloat, Field(gt=0)]
1260
+ ]
1261
+ ] = None,
1262
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1263
+ _content_type: Optional[StrictStr] = None,
1264
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1265
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1266
+ ) -> ApiResponse[AllocationFactPageResponse]:
1267
+ """Get Allocation Run Facts
1268
+
1269
+
1270
+ :param run_id: (required)
1271
+ :type run_id: str
1272
+ :param limit:
1273
+ :type limit: int
1274
+ :param after:
1275
+ :type after: str
1276
+ :param cloud_cost_import_id:
1277
+ :type cloud_cost_import_id: str
1278
+ :param identity_scope:
1279
+ :type identity_scope: IdentityScope
1280
+ :param cost_component:
1281
+ :type cost_component: str
1282
+ :param resource_component:
1283
+ :type resource_component: str
1284
+ :param evidence_service:
1285
+ :type evidence_service: str
1286
+ :param basis:
1287
+ :type basis: str
1288
+ :param _request_timeout: timeout setting for this request. If one
1289
+ number provided, it will be total request
1290
+ timeout. It can also be a pair (tuple) of
1291
+ (connection, read) timeouts.
1292
+ :type _request_timeout: int, tuple(int, int), optional
1293
+ :param _request_auth: set to override the auth_settings for an a single
1294
+ request; this effectively ignores the
1295
+ authentication in the spec for a single request.
1296
+ :type _request_auth: dict, optional
1297
+ :param _content_type: force content-type for the request.
1298
+ :type _content_type: str, Optional
1299
+ :param _headers: set to override the headers for a single
1300
+ request; this effectively ignores the headers
1301
+ in the spec for a single request.
1302
+ :type _headers: dict, optional
1303
+ :param _host_index: set to override the host_index for a single
1304
+ request; this effectively ignores the host_index
1305
+ in the spec for a single request.
1306
+ :type _host_index: int, optional
1307
+ :return: Returns the result object.
1308
+ """ # noqa: E501
1309
+
1310
+ _param = self._get_allocation_run_facts_api_serialize(
1311
+ run_id=run_id,
1312
+ limit=limit,
1313
+ after=after,
1314
+ cloud_cost_import_id=cloud_cost_import_id,
1315
+ identity_scope=identity_scope,
1316
+ cost_component=cost_component,
1317
+ resource_component=resource_component,
1318
+ evidence_service=evidence_service,
1319
+ basis=basis,
1320
+ _request_auth=_request_auth,
1321
+ _content_type=_content_type,
1322
+ _headers=_headers,
1323
+ _host_index=_host_index
1324
+ )
1325
+
1326
+ _response_types_map: Dict[str, Optional[str]] = {
1327
+ '200': "AllocationFactPageResponse",
1328
+ '404': "AttributionAllocationErrorResponse",
1329
+ '422': "AcuteHTTPValidationError",
1330
+ }
1331
+ response_data = self.api_client.call_api(
1332
+ *_param,
1333
+ _request_timeout=_request_timeout
1334
+ )
1335
+ response_data.read()
1336
+ return self.api_client.response_deserialize(
1337
+ response_data=response_data,
1338
+ response_types_map=_response_types_map,
1339
+ )
1340
+
1341
+
1342
+ @validate_call
1343
+ def get_allocation_run_facts_api_without_preload_content(
1344
+ self,
1345
+ run_id: StrictStr,
1346
+ limit: Optional[Annotated[int, Field(le=500, strict=True, ge=1)]] = None,
1347
+ after: Optional[StrictStr] = None,
1348
+ cloud_cost_import_id: Optional[StrictStr] = None,
1349
+ identity_scope: Optional[IdentityScope] = None,
1350
+ cost_component: Optional[StrictStr] = None,
1351
+ resource_component: Optional[StrictStr] = None,
1352
+ evidence_service: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=128)]] = None,
1353
+ basis: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=128)]] = None,
1354
+ _request_timeout: Union[
1355
+ None,
1356
+ Annotated[StrictFloat, Field(gt=0)],
1357
+ Tuple[
1358
+ Annotated[StrictFloat, Field(gt=0)],
1359
+ Annotated[StrictFloat, Field(gt=0)]
1360
+ ]
1361
+ ] = None,
1362
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1363
+ _content_type: Optional[StrictStr] = None,
1364
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1365
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1366
+ ) -> RESTResponseType:
1367
+ """Get Allocation Run Facts
1368
+
1369
+
1370
+ :param run_id: (required)
1371
+ :type run_id: str
1372
+ :param limit:
1373
+ :type limit: int
1374
+ :param after:
1375
+ :type after: str
1376
+ :param cloud_cost_import_id:
1377
+ :type cloud_cost_import_id: str
1378
+ :param identity_scope:
1379
+ :type identity_scope: IdentityScope
1380
+ :param cost_component:
1381
+ :type cost_component: str
1382
+ :param resource_component:
1383
+ :type resource_component: str
1384
+ :param evidence_service:
1385
+ :type evidence_service: str
1386
+ :param basis:
1387
+ :type basis: str
1388
+ :param _request_timeout: timeout setting for this request. If one
1389
+ number provided, it will be total request
1390
+ timeout. It can also be a pair (tuple) of
1391
+ (connection, read) timeouts.
1392
+ :type _request_timeout: int, tuple(int, int), optional
1393
+ :param _request_auth: set to override the auth_settings for an a single
1394
+ request; this effectively ignores the
1395
+ authentication in the spec for a single request.
1396
+ :type _request_auth: dict, optional
1397
+ :param _content_type: force content-type for the request.
1398
+ :type _content_type: str, Optional
1399
+ :param _headers: set to override the headers for a single
1400
+ request; this effectively ignores the headers
1401
+ in the spec for a single request.
1402
+ :type _headers: dict, optional
1403
+ :param _host_index: set to override the host_index for a single
1404
+ request; this effectively ignores the host_index
1405
+ in the spec for a single request.
1406
+ :type _host_index: int, optional
1407
+ :return: Returns the result object.
1408
+ """ # noqa: E501
1409
+
1410
+ _param = self._get_allocation_run_facts_api_serialize(
1411
+ run_id=run_id,
1412
+ limit=limit,
1413
+ after=after,
1414
+ cloud_cost_import_id=cloud_cost_import_id,
1415
+ identity_scope=identity_scope,
1416
+ cost_component=cost_component,
1417
+ resource_component=resource_component,
1418
+ evidence_service=evidence_service,
1419
+ basis=basis,
1420
+ _request_auth=_request_auth,
1421
+ _content_type=_content_type,
1422
+ _headers=_headers,
1423
+ _host_index=_host_index
1424
+ )
1425
+
1426
+ _response_types_map: Dict[str, Optional[str]] = {
1427
+ '200': "AllocationFactPageResponse",
1428
+ '404': "AttributionAllocationErrorResponse",
1429
+ '422': "AcuteHTTPValidationError",
1430
+ }
1431
+ response_data = self.api_client.call_api(
1432
+ *_param,
1433
+ _request_timeout=_request_timeout
1434
+ )
1435
+ return response_data.response
1436
+
1437
+
1438
+ def _get_allocation_run_facts_api_serialize(
1439
+ self,
1440
+ run_id,
1441
+ limit,
1442
+ after,
1443
+ cloud_cost_import_id,
1444
+ identity_scope,
1445
+ cost_component,
1446
+ resource_component,
1447
+ evidence_service,
1448
+ basis,
1449
+ _request_auth,
1450
+ _content_type,
1451
+ _headers,
1452
+ _host_index,
1453
+ ) -> RequestSerialized:
1454
+
1455
+ _host = None
1456
+
1457
+ _collection_formats: Dict[str, str] = {
1458
+ }
1459
+
1460
+ _path_params: Dict[str, str] = {}
1461
+ _query_params: List[Tuple[str, str]] = []
1462
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1463
+ _form_params: List[Tuple[str, str]] = []
1464
+ _files: Dict[
1465
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1466
+ ] = {}
1467
+ _body_params: Optional[bytes] = None
1468
+
1469
+ # process the path parameters
1470
+ if run_id is not None:
1471
+ _path_params['run_id'] = run_id
1472
+ # process the query parameters
1473
+ if limit is not None:
1474
+
1475
+ _query_params.append(('limit', limit))
1476
+
1477
+ if after is not None:
1478
+
1479
+ _query_params.append(('after', after))
1480
+
1481
+ if cloud_cost_import_id is not None:
1482
+
1483
+ _query_params.append(('cloud_cost_import_id', cloud_cost_import_id))
1484
+
1485
+ if identity_scope is not None:
1486
+
1487
+ _query_params.append(('identity_scope', identity_scope.value))
1488
+
1489
+ if cost_component is not None:
1490
+
1491
+ _query_params.append(('cost_component', cost_component))
1492
+
1493
+ if resource_component is not None:
1494
+
1495
+ _query_params.append(('resource_component', resource_component))
1496
+
1497
+ if evidence_service is not None:
1498
+
1499
+ _query_params.append(('evidence_service', evidence_service))
1500
+
1501
+ if basis is not None:
1502
+
1503
+ _query_params.append(('basis', basis))
1504
+
1505
+ # process the header parameters
1506
+ # process the form parameters
1507
+ # process the body parameter
1508
+
1509
+
1510
+ # set the HTTP header `Accept`
1511
+ if 'Accept' not in _header_params:
1512
+ _header_params['Accept'] = self.api_client.select_header_accept(
1513
+ [
1514
+ 'application/json'
1515
+ ]
1516
+ )
1517
+
1518
+
1519
+ # authentication setting
1520
+ _auth_settings: List[str] = [
1521
+ 'APIKeyHeader',
1522
+ 'HTTPBearer'
1523
+ ]
1524
+
1525
+ return self.api_client.param_serialize(
1526
+ method='GET',
1527
+ resource_path='/api/v1/attribution/allocation-runs/{run_id}/facts',
1528
+ path_params=_path_params,
1529
+ query_params=_query_params,
1530
+ header_params=_header_params,
1531
+ body=_body_params,
1532
+ post_params=_form_params,
1533
+ files=_files,
1534
+ auth_settings=_auth_settings,
1535
+ collection_formats=_collection_formats,
1536
+ _host=_host,
1537
+ _request_auth=_request_auth
1538
+ )
1539
+
1540
+
1541
+
1542
+
1543
+ @validate_call
1544
+ def get_driver_rules_api(
1545
+ self,
1546
+ _request_timeout: Union[
1547
+ None,
1548
+ Annotated[StrictFloat, Field(gt=0)],
1549
+ Tuple[
1550
+ Annotated[StrictFloat, Field(gt=0)],
1551
+ Annotated[StrictFloat, Field(gt=0)]
1552
+ ]
1553
+ ] = None,
1554
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1555
+ _content_type: Optional[StrictStr] = None,
1556
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1557
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1558
+ ) -> List[CostDriverRuleResponse]:
1559
+ """Get Driver Rules
1560
+
1561
+
1562
+ :param _request_timeout: timeout setting for this request. If one
1563
+ number provided, it will be total request
1564
+ timeout. It can also be a pair (tuple) of
1565
+ (connection, read) timeouts.
1566
+ :type _request_timeout: int, tuple(int, int), optional
1567
+ :param _request_auth: set to override the auth_settings for an a single
1568
+ request; this effectively ignores the
1569
+ authentication in the spec for a single request.
1570
+ :type _request_auth: dict, optional
1571
+ :param _content_type: force content-type for the request.
1572
+ :type _content_type: str, Optional
1573
+ :param _headers: set to override the headers for a single
1574
+ request; this effectively ignores the headers
1575
+ in the spec for a single request.
1576
+ :type _headers: dict, optional
1577
+ :param _host_index: set to override the host_index for a single
1578
+ request; this effectively ignores the host_index
1579
+ in the spec for a single request.
1580
+ :type _host_index: int, optional
1581
+ :return: Returns the result object.
1582
+ """ # noqa: E501
1583
+
1584
+ _param = self._get_driver_rules_api_serialize(
1585
+ _request_auth=_request_auth,
1586
+ _content_type=_content_type,
1587
+ _headers=_headers,
1588
+ _host_index=_host_index
1589
+ )
1590
+
1591
+ _response_types_map: Dict[str, Optional[str]] = {
1592
+ '200': "List[CostDriverRuleResponse]",
1593
+ }
1594
+ response_data = self.api_client.call_api(
1595
+ *_param,
1596
+ _request_timeout=_request_timeout
1597
+ )
1598
+ response_data.read()
1599
+ return self.api_client.response_deserialize(
1600
+ response_data=response_data,
1601
+ response_types_map=_response_types_map,
1602
+ ).data
1603
+
1604
+
1605
+ @validate_call
1606
+ def get_driver_rules_api_with_http_info(
1607
+ self,
1608
+ _request_timeout: Union[
1609
+ None,
1610
+ Annotated[StrictFloat, Field(gt=0)],
1611
+ Tuple[
1612
+ Annotated[StrictFloat, Field(gt=0)],
1613
+ Annotated[StrictFloat, Field(gt=0)]
1614
+ ]
1615
+ ] = None,
1616
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1617
+ _content_type: Optional[StrictStr] = None,
1618
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1619
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1620
+ ) -> ApiResponse[List[CostDriverRuleResponse]]:
1621
+ """Get Driver Rules
1622
+
1623
+
1624
+ :param _request_timeout: timeout setting for this request. If one
1625
+ number provided, it will be total request
1626
+ timeout. It can also be a pair (tuple) of
1627
+ (connection, read) timeouts.
1628
+ :type _request_timeout: int, tuple(int, int), optional
1629
+ :param _request_auth: set to override the auth_settings for an a single
1630
+ request; this effectively ignores the
1631
+ authentication in the spec for a single request.
1632
+ :type _request_auth: dict, optional
1633
+ :param _content_type: force content-type for the request.
1634
+ :type _content_type: str, Optional
1635
+ :param _headers: set to override the headers for a single
1636
+ request; this effectively ignores the headers
1637
+ in the spec for a single request.
1638
+ :type _headers: dict, optional
1639
+ :param _host_index: set to override the host_index for a single
1640
+ request; this effectively ignores the host_index
1641
+ in the spec for a single request.
1642
+ :type _host_index: int, optional
1643
+ :return: Returns the result object.
1644
+ """ # noqa: E501
1645
+
1646
+ _param = self._get_driver_rules_api_serialize(
1647
+ _request_auth=_request_auth,
1648
+ _content_type=_content_type,
1649
+ _headers=_headers,
1650
+ _host_index=_host_index
1651
+ )
1652
+
1653
+ _response_types_map: Dict[str, Optional[str]] = {
1654
+ '200': "List[CostDriverRuleResponse]",
1655
+ }
1656
+ response_data = self.api_client.call_api(
1657
+ *_param,
1658
+ _request_timeout=_request_timeout
1659
+ )
1660
+ response_data.read()
1661
+ return self.api_client.response_deserialize(
1662
+ response_data=response_data,
1663
+ response_types_map=_response_types_map,
1664
+ )
1665
+
1666
+
1667
+ @validate_call
1668
+ def get_driver_rules_api_without_preload_content(
1669
+ self,
1670
+ _request_timeout: Union[
1671
+ None,
1672
+ Annotated[StrictFloat, Field(gt=0)],
1673
+ Tuple[
1674
+ Annotated[StrictFloat, Field(gt=0)],
1675
+ Annotated[StrictFloat, Field(gt=0)]
1676
+ ]
1677
+ ] = None,
1678
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1679
+ _content_type: Optional[StrictStr] = None,
1680
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1681
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1682
+ ) -> RESTResponseType:
1683
+ """Get Driver Rules
1684
+
1685
+
1686
+ :param _request_timeout: timeout setting for this request. If one
1687
+ number provided, it will be total request
1688
+ timeout. It can also be a pair (tuple) of
1689
+ (connection, read) timeouts.
1690
+ :type _request_timeout: int, tuple(int, int), optional
1691
+ :param _request_auth: set to override the auth_settings for an a single
1692
+ request; this effectively ignores the
1693
+ authentication in the spec for a single request.
1694
+ :type _request_auth: dict, optional
1695
+ :param _content_type: force content-type for the request.
1696
+ :type _content_type: str, Optional
1697
+ :param _headers: set to override the headers for a single
1698
+ request; this effectively ignores the headers
1699
+ in the spec for a single request.
1700
+ :type _headers: dict, optional
1701
+ :param _host_index: set to override the host_index for a single
1702
+ request; this effectively ignores the host_index
1703
+ in the spec for a single request.
1704
+ :type _host_index: int, optional
1705
+ :return: Returns the result object.
1706
+ """ # noqa: E501
1707
+
1708
+ _param = self._get_driver_rules_api_serialize(
1709
+ _request_auth=_request_auth,
1710
+ _content_type=_content_type,
1711
+ _headers=_headers,
1712
+ _host_index=_host_index
1713
+ )
1714
+
1715
+ _response_types_map: Dict[str, Optional[str]] = {
1716
+ '200': "List[CostDriverRuleResponse]",
1717
+ }
1718
+ response_data = self.api_client.call_api(
1719
+ *_param,
1720
+ _request_timeout=_request_timeout
1721
+ )
1722
+ return response_data.response
1723
+
1724
+
1725
+ def _get_driver_rules_api_serialize(
1726
+ self,
1727
+ _request_auth,
1728
+ _content_type,
1729
+ _headers,
1730
+ _host_index,
1731
+ ) -> RequestSerialized:
1732
+
1733
+ _host = None
1734
+
1735
+ _collection_formats: Dict[str, str] = {
1736
+ }
1737
+
1738
+ _path_params: Dict[str, str] = {}
1739
+ _query_params: List[Tuple[str, str]] = []
1740
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1741
+ _form_params: List[Tuple[str, str]] = []
1742
+ _files: Dict[
1743
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1744
+ ] = {}
1745
+ _body_params: Optional[bytes] = None
1746
+
1747
+ # process the path parameters
1748
+ # process the query parameters
1749
+ # process the header parameters
1750
+ # process the form parameters
1751
+ # process the body parameter
1752
+
1753
+
1754
+ # set the HTTP header `Accept`
1755
+ if 'Accept' not in _header_params:
1756
+ _header_params['Accept'] = self.api_client.select_header_accept(
1757
+ [
1758
+ 'application/json'
1759
+ ]
1760
+ )
1761
+
1762
+
1763
+ # authentication setting
1764
+ _auth_settings: List[str] = [
1765
+ 'APIKeyHeader',
1766
+ 'HTTPBearer'
1767
+ ]
1768
+
1769
+ return self.api_client.param_serialize(
1770
+ method='GET',
1771
+ resource_path='/api/v1/attribution/driver-rules',
1772
+ path_params=_path_params,
1773
+ query_params=_query_params,
1774
+ header_params=_header_params,
1775
+ body=_body_params,
1776
+ post_params=_form_params,
1777
+ files=_files,
1778
+ auth_settings=_auth_settings,
1779
+ collection_formats=_collection_formats,
1780
+ _host=_host,
1781
+ _request_auth=_request_auth
1782
+ )
1783
+
1784
+
1785
+
1786
+
1787
+ @validate_call
1788
+ def remove_driver_rule_api(
1789
+ self,
1790
+ rule_id: StrictStr,
1791
+ _request_timeout: Union[
1792
+ None,
1793
+ Annotated[StrictFloat, Field(gt=0)],
1794
+ Tuple[
1795
+ Annotated[StrictFloat, Field(gt=0)],
1796
+ Annotated[StrictFloat, Field(gt=0)]
1797
+ ]
1798
+ ] = None,
1799
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1800
+ _content_type: Optional[StrictStr] = None,
1801
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1802
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1803
+ ) -> None:
1804
+ """Remove Driver Rule
1805
+
1806
+
1807
+ :param rule_id: (required)
1808
+ :type rule_id: str
1809
+ :param _request_timeout: timeout setting for this request. If one
1810
+ number provided, it will be total request
1811
+ timeout. It can also be a pair (tuple) of
1812
+ (connection, read) timeouts.
1813
+ :type _request_timeout: int, tuple(int, int), optional
1814
+ :param _request_auth: set to override the auth_settings for an a single
1815
+ request; this effectively ignores the
1816
+ authentication in the spec for a single request.
1817
+ :type _request_auth: dict, optional
1818
+ :param _content_type: force content-type for the request.
1819
+ :type _content_type: str, Optional
1820
+ :param _headers: set to override the headers for a single
1821
+ request; this effectively ignores the headers
1822
+ in the spec for a single request.
1823
+ :type _headers: dict, optional
1824
+ :param _host_index: set to override the host_index for a single
1825
+ request; this effectively ignores the host_index
1826
+ in the spec for a single request.
1827
+ :type _host_index: int, optional
1828
+ :return: Returns the result object.
1829
+ """ # noqa: E501
1830
+
1831
+ _param = self._remove_driver_rule_api_serialize(
1832
+ rule_id=rule_id,
1833
+ _request_auth=_request_auth,
1834
+ _content_type=_content_type,
1835
+ _headers=_headers,
1836
+ _host_index=_host_index
1837
+ )
1838
+
1839
+ _response_types_map: Dict[str, Optional[str]] = {
1840
+ '204': None,
1841
+ '404': "AttributionAllocationErrorResponse",
1842
+ '422': "AcuteHTTPValidationError",
1843
+ }
1844
+ response_data = self.api_client.call_api(
1845
+ *_param,
1846
+ _request_timeout=_request_timeout
1847
+ )
1848
+ response_data.read()
1849
+ return self.api_client.response_deserialize(
1850
+ response_data=response_data,
1851
+ response_types_map=_response_types_map,
1852
+ ).data
1853
+
1854
+
1855
+ @validate_call
1856
+ def remove_driver_rule_api_with_http_info(
1857
+ self,
1858
+ rule_id: StrictStr,
1859
+ _request_timeout: Union[
1860
+ None,
1861
+ Annotated[StrictFloat, Field(gt=0)],
1862
+ Tuple[
1863
+ Annotated[StrictFloat, Field(gt=0)],
1864
+ Annotated[StrictFloat, Field(gt=0)]
1865
+ ]
1866
+ ] = None,
1867
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1868
+ _content_type: Optional[StrictStr] = None,
1869
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1870
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1871
+ ) -> ApiResponse[None]:
1872
+ """Remove Driver Rule
1873
+
1874
+
1875
+ :param rule_id: (required)
1876
+ :type rule_id: str
1877
+ :param _request_timeout: timeout setting for this request. If one
1878
+ number provided, it will be total request
1879
+ timeout. It can also be a pair (tuple) of
1880
+ (connection, read) timeouts.
1881
+ :type _request_timeout: int, tuple(int, int), optional
1882
+ :param _request_auth: set to override the auth_settings for an a single
1883
+ request; this effectively ignores the
1884
+ authentication in the spec for a single request.
1885
+ :type _request_auth: dict, optional
1886
+ :param _content_type: force content-type for the request.
1887
+ :type _content_type: str, Optional
1888
+ :param _headers: set to override the headers for a single
1889
+ request; this effectively ignores the headers
1890
+ in the spec for a single request.
1891
+ :type _headers: dict, optional
1892
+ :param _host_index: set to override the host_index for a single
1893
+ request; this effectively ignores the host_index
1894
+ in the spec for a single request.
1895
+ :type _host_index: int, optional
1896
+ :return: Returns the result object.
1897
+ """ # noqa: E501
1898
+
1899
+ _param = self._remove_driver_rule_api_serialize(
1900
+ rule_id=rule_id,
1901
+ _request_auth=_request_auth,
1902
+ _content_type=_content_type,
1903
+ _headers=_headers,
1904
+ _host_index=_host_index
1905
+ )
1906
+
1907
+ _response_types_map: Dict[str, Optional[str]] = {
1908
+ '204': None,
1909
+ '404': "AttributionAllocationErrorResponse",
1910
+ '422': "AcuteHTTPValidationError",
1911
+ }
1912
+ response_data = self.api_client.call_api(
1913
+ *_param,
1914
+ _request_timeout=_request_timeout
1915
+ )
1916
+ response_data.read()
1917
+ return self.api_client.response_deserialize(
1918
+ response_data=response_data,
1919
+ response_types_map=_response_types_map,
1920
+ )
1921
+
1922
+
1923
+ @validate_call
1924
+ def remove_driver_rule_api_without_preload_content(
1925
+ self,
1926
+ rule_id: StrictStr,
1927
+ _request_timeout: Union[
1928
+ None,
1929
+ Annotated[StrictFloat, Field(gt=0)],
1930
+ Tuple[
1931
+ Annotated[StrictFloat, Field(gt=0)],
1932
+ Annotated[StrictFloat, Field(gt=0)]
1933
+ ]
1934
+ ] = None,
1935
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1936
+ _content_type: Optional[StrictStr] = None,
1937
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1938
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1939
+ ) -> RESTResponseType:
1940
+ """Remove Driver Rule
1941
+
1942
+
1943
+ :param rule_id: (required)
1944
+ :type rule_id: str
1945
+ :param _request_timeout: timeout setting for this request. If one
1946
+ number provided, it will be total request
1947
+ timeout. It can also be a pair (tuple) of
1948
+ (connection, read) timeouts.
1949
+ :type _request_timeout: int, tuple(int, int), optional
1950
+ :param _request_auth: set to override the auth_settings for an a single
1951
+ request; this effectively ignores the
1952
+ authentication in the spec for a single request.
1953
+ :type _request_auth: dict, optional
1954
+ :param _content_type: force content-type for the request.
1955
+ :type _content_type: str, Optional
1956
+ :param _headers: set to override the headers for a single
1957
+ request; this effectively ignores the headers
1958
+ in the spec for a single request.
1959
+ :type _headers: dict, optional
1960
+ :param _host_index: set to override the host_index for a single
1961
+ request; this effectively ignores the host_index
1962
+ in the spec for a single request.
1963
+ :type _host_index: int, optional
1964
+ :return: Returns the result object.
1965
+ """ # noqa: E501
1966
+
1967
+ _param = self._remove_driver_rule_api_serialize(
1968
+ rule_id=rule_id,
1969
+ _request_auth=_request_auth,
1970
+ _content_type=_content_type,
1971
+ _headers=_headers,
1972
+ _host_index=_host_index
1973
+ )
1974
+
1975
+ _response_types_map: Dict[str, Optional[str]] = {
1976
+ '204': None,
1977
+ '404': "AttributionAllocationErrorResponse",
1978
+ '422': "AcuteHTTPValidationError",
1979
+ }
1980
+ response_data = self.api_client.call_api(
1981
+ *_param,
1982
+ _request_timeout=_request_timeout
1983
+ )
1984
+ return response_data.response
1985
+
1986
+
1987
+ def _remove_driver_rule_api_serialize(
1988
+ self,
1989
+ rule_id,
1990
+ _request_auth,
1991
+ _content_type,
1992
+ _headers,
1993
+ _host_index,
1994
+ ) -> RequestSerialized:
1995
+
1996
+ _host = None
1997
+
1998
+ _collection_formats: Dict[str, str] = {
1999
+ }
2000
+
2001
+ _path_params: Dict[str, str] = {}
2002
+ _query_params: List[Tuple[str, str]] = []
2003
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2004
+ _form_params: List[Tuple[str, str]] = []
2005
+ _files: Dict[
2006
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2007
+ ] = {}
2008
+ _body_params: Optional[bytes] = None
2009
+
2010
+ # process the path parameters
2011
+ if rule_id is not None:
2012
+ _path_params['rule_id'] = rule_id
2013
+ # process the query parameters
2014
+ # process the header parameters
2015
+ # process the form parameters
2016
+ # process the body parameter
2017
+
2018
+
2019
+ # set the HTTP header `Accept`
2020
+ if 'Accept' not in _header_params:
2021
+ _header_params['Accept'] = self.api_client.select_header_accept(
2022
+ [
2023
+ 'application/json'
2024
+ ]
2025
+ )
2026
+
2027
+
2028
+ # authentication setting
2029
+ _auth_settings: List[str] = [
2030
+ 'APIKeyHeader',
2031
+ 'HTTPBearer'
2032
+ ]
2033
+
2034
+ return self.api_client.param_serialize(
2035
+ method='DELETE',
2036
+ resource_path='/api/v1/attribution/driver-rules/{rule_id}',
2037
+ path_params=_path_params,
2038
+ query_params=_query_params,
2039
+ header_params=_header_params,
2040
+ body=_body_params,
2041
+ post_params=_form_params,
2042
+ files=_files,
2043
+ auth_settings=_auth_settings,
2044
+ collection_formats=_collection_formats,
2045
+ _host=_host,
2046
+ _request_auth=_request_auth
2047
+ )
2048
+
2049
+
2050
+
2051
+
2052
+ @validate_call
2053
+ def update_driver_rule_api(
2054
+ self,
2055
+ rule_id: StrictStr,
2056
+ cost_driver_rule_update_request: CostDriverRuleUpdateRequest,
2057
+ _request_timeout: Union[
2058
+ None,
2059
+ Annotated[StrictFloat, Field(gt=0)],
2060
+ Tuple[
2061
+ Annotated[StrictFloat, Field(gt=0)],
2062
+ Annotated[StrictFloat, Field(gt=0)]
2063
+ ]
2064
+ ] = None,
2065
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2066
+ _content_type: Optional[StrictStr] = None,
2067
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2068
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2069
+ ) -> CostDriverRuleResponse:
2070
+ """Update Driver Rule
2071
+
2072
+
2073
+ :param rule_id: (required)
2074
+ :type rule_id: str
2075
+ :param cost_driver_rule_update_request: (required)
2076
+ :type cost_driver_rule_update_request: CostDriverRuleUpdateRequest
2077
+ :param _request_timeout: timeout setting for this request. If one
2078
+ number provided, it will be total request
2079
+ timeout. It can also be a pair (tuple) of
2080
+ (connection, read) timeouts.
2081
+ :type _request_timeout: int, tuple(int, int), optional
2082
+ :param _request_auth: set to override the auth_settings for an a single
2083
+ request; this effectively ignores the
2084
+ authentication in the spec for a single request.
2085
+ :type _request_auth: dict, optional
2086
+ :param _content_type: force content-type for the request.
2087
+ :type _content_type: str, Optional
2088
+ :param _headers: set to override the headers for a single
2089
+ request; this effectively ignores the headers
2090
+ in the spec for a single request.
2091
+ :type _headers: dict, optional
2092
+ :param _host_index: set to override the host_index for a single
2093
+ request; this effectively ignores the host_index
2094
+ in the spec for a single request.
2095
+ :type _host_index: int, optional
2096
+ :return: Returns the result object.
2097
+ """ # noqa: E501
2098
+
2099
+ _param = self._update_driver_rule_api_serialize(
2100
+ rule_id=rule_id,
2101
+ cost_driver_rule_update_request=cost_driver_rule_update_request,
2102
+ _request_auth=_request_auth,
2103
+ _content_type=_content_type,
2104
+ _headers=_headers,
2105
+ _host_index=_host_index
2106
+ )
2107
+
2108
+ _response_types_map: Dict[str, Optional[str]] = {
2109
+ '200': "CostDriverRuleResponse",
2110
+ '404': "AttributionAllocationErrorResponse",
2111
+ '409': "AttributionAllocationErrorResponse",
2112
+ '422': "CreateAllocationRunApi422Response",
2113
+ }
2114
+ response_data = self.api_client.call_api(
2115
+ *_param,
2116
+ _request_timeout=_request_timeout
2117
+ )
2118
+ response_data.read()
2119
+ return self.api_client.response_deserialize(
2120
+ response_data=response_data,
2121
+ response_types_map=_response_types_map,
2122
+ ).data
2123
+
2124
+
2125
+ @validate_call
2126
+ def update_driver_rule_api_with_http_info(
2127
+ self,
2128
+ rule_id: StrictStr,
2129
+ cost_driver_rule_update_request: CostDriverRuleUpdateRequest,
2130
+ _request_timeout: Union[
2131
+ None,
2132
+ Annotated[StrictFloat, Field(gt=0)],
2133
+ Tuple[
2134
+ Annotated[StrictFloat, Field(gt=0)],
2135
+ Annotated[StrictFloat, Field(gt=0)]
2136
+ ]
2137
+ ] = None,
2138
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2139
+ _content_type: Optional[StrictStr] = None,
2140
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2141
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2142
+ ) -> ApiResponse[CostDriverRuleResponse]:
2143
+ """Update Driver Rule
2144
+
2145
+
2146
+ :param rule_id: (required)
2147
+ :type rule_id: str
2148
+ :param cost_driver_rule_update_request: (required)
2149
+ :type cost_driver_rule_update_request: CostDriverRuleUpdateRequest
2150
+ :param _request_timeout: timeout setting for this request. If one
2151
+ number provided, it will be total request
2152
+ timeout. It can also be a pair (tuple) of
2153
+ (connection, read) timeouts.
2154
+ :type _request_timeout: int, tuple(int, int), optional
2155
+ :param _request_auth: set to override the auth_settings for an a single
2156
+ request; this effectively ignores the
2157
+ authentication in the spec for a single request.
2158
+ :type _request_auth: dict, optional
2159
+ :param _content_type: force content-type for the request.
2160
+ :type _content_type: str, Optional
2161
+ :param _headers: set to override the headers for a single
2162
+ request; this effectively ignores the headers
2163
+ in the spec for a single request.
2164
+ :type _headers: dict, optional
2165
+ :param _host_index: set to override the host_index for a single
2166
+ request; this effectively ignores the host_index
2167
+ in the spec for a single request.
2168
+ :type _host_index: int, optional
2169
+ :return: Returns the result object.
2170
+ """ # noqa: E501
2171
+
2172
+ _param = self._update_driver_rule_api_serialize(
2173
+ rule_id=rule_id,
2174
+ cost_driver_rule_update_request=cost_driver_rule_update_request,
2175
+ _request_auth=_request_auth,
2176
+ _content_type=_content_type,
2177
+ _headers=_headers,
2178
+ _host_index=_host_index
2179
+ )
2180
+
2181
+ _response_types_map: Dict[str, Optional[str]] = {
2182
+ '200': "CostDriverRuleResponse",
2183
+ '404': "AttributionAllocationErrorResponse",
2184
+ '409': "AttributionAllocationErrorResponse",
2185
+ '422': "CreateAllocationRunApi422Response",
2186
+ }
2187
+ response_data = self.api_client.call_api(
2188
+ *_param,
2189
+ _request_timeout=_request_timeout
2190
+ )
2191
+ response_data.read()
2192
+ return self.api_client.response_deserialize(
2193
+ response_data=response_data,
2194
+ response_types_map=_response_types_map,
2195
+ )
2196
+
2197
+
2198
+ @validate_call
2199
+ def update_driver_rule_api_without_preload_content(
2200
+ self,
2201
+ rule_id: StrictStr,
2202
+ cost_driver_rule_update_request: CostDriverRuleUpdateRequest,
2203
+ _request_timeout: Union[
2204
+ None,
2205
+ Annotated[StrictFloat, Field(gt=0)],
2206
+ Tuple[
2207
+ Annotated[StrictFloat, Field(gt=0)],
2208
+ Annotated[StrictFloat, Field(gt=0)]
2209
+ ]
2210
+ ] = None,
2211
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2212
+ _content_type: Optional[StrictStr] = None,
2213
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2214
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2215
+ ) -> RESTResponseType:
2216
+ """Update Driver Rule
2217
+
2218
+
2219
+ :param rule_id: (required)
2220
+ :type rule_id: str
2221
+ :param cost_driver_rule_update_request: (required)
2222
+ :type cost_driver_rule_update_request: CostDriverRuleUpdateRequest
2223
+ :param _request_timeout: timeout setting for this request. If one
2224
+ number provided, it will be total request
2225
+ timeout. It can also be a pair (tuple) of
2226
+ (connection, read) timeouts.
2227
+ :type _request_timeout: int, tuple(int, int), optional
2228
+ :param _request_auth: set to override the auth_settings for an a single
2229
+ request; this effectively ignores the
2230
+ authentication in the spec for a single request.
2231
+ :type _request_auth: dict, optional
2232
+ :param _content_type: force content-type for the request.
2233
+ :type _content_type: str, Optional
2234
+ :param _headers: set to override the headers for a single
2235
+ request; this effectively ignores the headers
2236
+ in the spec for a single request.
2237
+ :type _headers: dict, optional
2238
+ :param _host_index: set to override the host_index for a single
2239
+ request; this effectively ignores the host_index
2240
+ in the spec for a single request.
2241
+ :type _host_index: int, optional
2242
+ :return: Returns the result object.
2243
+ """ # noqa: E501
2244
+
2245
+ _param = self._update_driver_rule_api_serialize(
2246
+ rule_id=rule_id,
2247
+ cost_driver_rule_update_request=cost_driver_rule_update_request,
2248
+ _request_auth=_request_auth,
2249
+ _content_type=_content_type,
2250
+ _headers=_headers,
2251
+ _host_index=_host_index
2252
+ )
2253
+
2254
+ _response_types_map: Dict[str, Optional[str]] = {
2255
+ '200': "CostDriverRuleResponse",
2256
+ '404': "AttributionAllocationErrorResponse",
2257
+ '409': "AttributionAllocationErrorResponse",
2258
+ '422': "CreateAllocationRunApi422Response",
2259
+ }
2260
+ response_data = self.api_client.call_api(
2261
+ *_param,
2262
+ _request_timeout=_request_timeout
2263
+ )
2264
+ return response_data.response
2265
+
2266
+
2267
+ def _update_driver_rule_api_serialize(
2268
+ self,
2269
+ rule_id,
2270
+ cost_driver_rule_update_request,
2271
+ _request_auth,
2272
+ _content_type,
2273
+ _headers,
2274
+ _host_index,
2275
+ ) -> RequestSerialized:
2276
+
2277
+ _host = None
2278
+
2279
+ _collection_formats: Dict[str, str] = {
2280
+ }
2281
+
2282
+ _path_params: Dict[str, str] = {}
2283
+ _query_params: List[Tuple[str, str]] = []
2284
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2285
+ _form_params: List[Tuple[str, str]] = []
2286
+ _files: Dict[
2287
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2288
+ ] = {}
2289
+ _body_params: Optional[bytes] = None
2290
+
2291
+ # process the path parameters
2292
+ if rule_id is not None:
2293
+ _path_params['rule_id'] = rule_id
2294
+ # process the query parameters
2295
+ # process the header parameters
2296
+ # process the form parameters
2297
+ # process the body parameter
2298
+ if cost_driver_rule_update_request is not None:
2299
+ _body_params = cost_driver_rule_update_request
2300
+
2301
+
2302
+ # set the HTTP header `Accept`
2303
+ if 'Accept' not in _header_params:
2304
+ _header_params['Accept'] = self.api_client.select_header_accept(
2305
+ [
2306
+ 'application/json'
2307
+ ]
2308
+ )
2309
+
2310
+ # set the HTTP header `Content-Type`
2311
+ if _content_type:
2312
+ _header_params['Content-Type'] = _content_type
2313
+ else:
2314
+ _default_content_type = (
2315
+ self.api_client.select_header_content_type(
2316
+ [
2317
+ 'application/json'
2318
+ ]
2319
+ )
2320
+ )
2321
+ if _default_content_type is not None:
2322
+ _header_params['Content-Type'] = _default_content_type
2323
+
2324
+ # authentication setting
2325
+ _auth_settings: List[str] = [
2326
+ 'APIKeyHeader',
2327
+ 'HTTPBearer'
2328
+ ]
2329
+
2330
+ return self.api_client.param_serialize(
2331
+ method='PATCH',
2332
+ resource_path='/api/v1/attribution/driver-rules/{rule_id}',
2333
+ path_params=_path_params,
2334
+ query_params=_query_params,
2335
+ header_params=_header_params,
2336
+ body=_body_params,
2337
+ post_params=_form_params,
2338
+ files=_files,
2339
+ auth_settings=_auth_settings,
2340
+ collection_formats=_collection_formats,
2341
+ _host=_host,
2342
+ _request_auth=_request_auth
2343
+ )
2344
+
2345
+