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,1782 @@
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, StrictBool, StrictStr
20
+ from typing import List, Optional
21
+ from typing_extensions import Annotated
22
+ from moolabs.models.dry_run_request import DryRunRequest
23
+ from moolabs.models.dry_run_response import DryRunResponse
24
+ from moolabs.models.enable_tier3_response import EnableTier3Response
25
+ from moolabs.models.mapping_rule_create import MappingRuleCreate
26
+ from moolabs.models.mapping_rule_response import MappingRuleResponse
27
+ from moolabs.models.mapping_rule_update import MappingRuleUpdate
28
+
29
+ from moolabs.api_client import ApiClient, RequestSerialized
30
+ from moolabs.api_response import ApiResponse
31
+ from moolabs.rest import RESTResponseType
32
+
33
+
34
+ class MappingRulesApi:
35
+ """NOTE: This class is auto generated by OpenAPI Generator
36
+ Ref: https://openapi-generator.tech
37
+
38
+ Do not edit the class manually.
39
+ """
40
+
41
+ def __init__(self, api_client=None) -> None:
42
+ if api_client is None:
43
+ api_client = ApiClient.get_default()
44
+ self.api_client = api_client
45
+
46
+
47
+ @validate_call
48
+ def create_rule_api(
49
+ self,
50
+ x_tenant_id: StrictStr,
51
+ mapping_rule_create: MappingRuleCreate,
52
+ _request_timeout: Union[
53
+ None,
54
+ Annotated[StrictFloat, Field(gt=0)],
55
+ Tuple[
56
+ Annotated[StrictFloat, Field(gt=0)],
57
+ Annotated[StrictFloat, Field(gt=0)]
58
+ ]
59
+ ] = None,
60
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
61
+ _content_type: Optional[StrictStr] = None,
62
+ _headers: Optional[Dict[StrictStr, Any]] = None,
63
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
64
+ ) -> MappingRuleResponse:
65
+ """Create Rule
66
+
67
+ Create a new ingestion mapping rule for the tenant. Validation: - source_field matching PII patterns is blocked for http_header source_type - target_field must be in VALID_TARGET_FIELDS
68
+
69
+ :param x_tenant_id: (required)
70
+ :type x_tenant_id: str
71
+ :param mapping_rule_create: (required)
72
+ :type mapping_rule_create: MappingRuleCreate
73
+ :param _request_timeout: timeout setting for this request. If one
74
+ number provided, it will be total request
75
+ timeout. It can also be a pair (tuple) of
76
+ (connection, read) timeouts.
77
+ :type _request_timeout: int, tuple(int, int), optional
78
+ :param _request_auth: set to override the auth_settings for an a single
79
+ request; this effectively ignores the
80
+ authentication in the spec for a single request.
81
+ :type _request_auth: dict, optional
82
+ :param _content_type: force content-type for the request.
83
+ :type _content_type: str, Optional
84
+ :param _headers: set to override the headers for a single
85
+ request; this effectively ignores the headers
86
+ in the spec for a single request.
87
+ :type _headers: dict, optional
88
+ :param _host_index: set to override the host_index for a single
89
+ request; this effectively ignores the host_index
90
+ in the spec for a single request.
91
+ :type _host_index: int, optional
92
+ :return: Returns the result object.
93
+ """ # noqa: E501
94
+
95
+ _param = self._create_rule_api_serialize(
96
+ x_tenant_id=x_tenant_id,
97
+ mapping_rule_create=mapping_rule_create,
98
+ _request_auth=_request_auth,
99
+ _content_type=_content_type,
100
+ _headers=_headers,
101
+ _host_index=_host_index
102
+ )
103
+
104
+ _response_types_map: Dict[str, Optional[str]] = {
105
+ '201': "MappingRuleResponse",
106
+ '422': "AcuteHTTPValidationError",
107
+ }
108
+ response_data = self.api_client.call_api(
109
+ *_param,
110
+ _request_timeout=_request_timeout
111
+ )
112
+ response_data.read()
113
+ return self.api_client.response_deserialize(
114
+ response_data=response_data,
115
+ response_types_map=_response_types_map,
116
+ ).data
117
+
118
+
119
+ @validate_call
120
+ def create_rule_api_with_http_info(
121
+ self,
122
+ x_tenant_id: StrictStr,
123
+ mapping_rule_create: MappingRuleCreate,
124
+ _request_timeout: Union[
125
+ None,
126
+ Annotated[StrictFloat, Field(gt=0)],
127
+ Tuple[
128
+ Annotated[StrictFloat, Field(gt=0)],
129
+ Annotated[StrictFloat, Field(gt=0)]
130
+ ]
131
+ ] = None,
132
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
133
+ _content_type: Optional[StrictStr] = None,
134
+ _headers: Optional[Dict[StrictStr, Any]] = None,
135
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
136
+ ) -> ApiResponse[MappingRuleResponse]:
137
+ """Create Rule
138
+
139
+ Create a new ingestion mapping rule for the tenant. Validation: - source_field matching PII patterns is blocked for http_header source_type - target_field must be in VALID_TARGET_FIELDS
140
+
141
+ :param x_tenant_id: (required)
142
+ :type x_tenant_id: str
143
+ :param mapping_rule_create: (required)
144
+ :type mapping_rule_create: MappingRuleCreate
145
+ :param _request_timeout: timeout setting for this request. If one
146
+ number provided, it will be total request
147
+ timeout. It can also be a pair (tuple) of
148
+ (connection, read) timeouts.
149
+ :type _request_timeout: int, tuple(int, int), optional
150
+ :param _request_auth: set to override the auth_settings for an a single
151
+ request; this effectively ignores the
152
+ authentication in the spec for a single request.
153
+ :type _request_auth: dict, optional
154
+ :param _content_type: force content-type for the request.
155
+ :type _content_type: str, Optional
156
+ :param _headers: set to override the headers for a single
157
+ request; this effectively ignores the headers
158
+ in the spec for a single request.
159
+ :type _headers: dict, optional
160
+ :param _host_index: set to override the host_index for a single
161
+ request; this effectively ignores the host_index
162
+ in the spec for a single request.
163
+ :type _host_index: int, optional
164
+ :return: Returns the result object.
165
+ """ # noqa: E501
166
+
167
+ _param = self._create_rule_api_serialize(
168
+ x_tenant_id=x_tenant_id,
169
+ mapping_rule_create=mapping_rule_create,
170
+ _request_auth=_request_auth,
171
+ _content_type=_content_type,
172
+ _headers=_headers,
173
+ _host_index=_host_index
174
+ )
175
+
176
+ _response_types_map: Dict[str, Optional[str]] = {
177
+ '201': "MappingRuleResponse",
178
+ '422': "AcuteHTTPValidationError",
179
+ }
180
+ response_data = self.api_client.call_api(
181
+ *_param,
182
+ _request_timeout=_request_timeout
183
+ )
184
+ response_data.read()
185
+ return self.api_client.response_deserialize(
186
+ response_data=response_data,
187
+ response_types_map=_response_types_map,
188
+ )
189
+
190
+
191
+ @validate_call
192
+ def create_rule_api_without_preload_content(
193
+ self,
194
+ x_tenant_id: StrictStr,
195
+ mapping_rule_create: MappingRuleCreate,
196
+ _request_timeout: Union[
197
+ None,
198
+ Annotated[StrictFloat, Field(gt=0)],
199
+ Tuple[
200
+ Annotated[StrictFloat, Field(gt=0)],
201
+ Annotated[StrictFloat, Field(gt=0)]
202
+ ]
203
+ ] = None,
204
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
205
+ _content_type: Optional[StrictStr] = None,
206
+ _headers: Optional[Dict[StrictStr, Any]] = None,
207
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
208
+ ) -> RESTResponseType:
209
+ """Create Rule
210
+
211
+ Create a new ingestion mapping rule for the tenant. Validation: - source_field matching PII patterns is blocked for http_header source_type - target_field must be in VALID_TARGET_FIELDS
212
+
213
+ :param x_tenant_id: (required)
214
+ :type x_tenant_id: str
215
+ :param mapping_rule_create: (required)
216
+ :type mapping_rule_create: MappingRuleCreate
217
+ :param _request_timeout: timeout setting for this request. If one
218
+ number provided, it will be total request
219
+ timeout. It can also be a pair (tuple) of
220
+ (connection, read) timeouts.
221
+ :type _request_timeout: int, tuple(int, int), optional
222
+ :param _request_auth: set to override the auth_settings for an a single
223
+ request; this effectively ignores the
224
+ authentication in the spec for a single request.
225
+ :type _request_auth: dict, optional
226
+ :param _content_type: force content-type for the request.
227
+ :type _content_type: str, Optional
228
+ :param _headers: set to override the headers for a single
229
+ request; this effectively ignores the headers
230
+ in the spec for a single request.
231
+ :type _headers: dict, optional
232
+ :param _host_index: set to override the host_index for a single
233
+ request; this effectively ignores the host_index
234
+ in the spec for a single request.
235
+ :type _host_index: int, optional
236
+ :return: Returns the result object.
237
+ """ # noqa: E501
238
+
239
+ _param = self._create_rule_api_serialize(
240
+ x_tenant_id=x_tenant_id,
241
+ mapping_rule_create=mapping_rule_create,
242
+ _request_auth=_request_auth,
243
+ _content_type=_content_type,
244
+ _headers=_headers,
245
+ _host_index=_host_index
246
+ )
247
+
248
+ _response_types_map: Dict[str, Optional[str]] = {
249
+ '201': "MappingRuleResponse",
250
+ '422': "AcuteHTTPValidationError",
251
+ }
252
+ response_data = self.api_client.call_api(
253
+ *_param,
254
+ _request_timeout=_request_timeout
255
+ )
256
+ return response_data.response
257
+
258
+
259
+ def _create_rule_api_serialize(
260
+ self,
261
+ x_tenant_id,
262
+ mapping_rule_create,
263
+ _request_auth,
264
+ _content_type,
265
+ _headers,
266
+ _host_index,
267
+ ) -> RequestSerialized:
268
+
269
+ _host = None
270
+
271
+ _collection_formats: Dict[str, str] = {
272
+ }
273
+
274
+ _path_params: Dict[str, str] = {}
275
+ _query_params: List[Tuple[str, str]] = []
276
+ _header_params: Dict[str, Optional[str]] = _headers or {}
277
+ _form_params: List[Tuple[str, str]] = []
278
+ _files: Dict[
279
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
280
+ ] = {}
281
+ _body_params: Optional[bytes] = None
282
+
283
+ # process the path parameters
284
+ # process the query parameters
285
+ # process the header parameters
286
+ if x_tenant_id is not None:
287
+ _header_params['X-Tenant-ID'] = x_tenant_id
288
+ # process the form parameters
289
+ # process the body parameter
290
+ if mapping_rule_create is not None:
291
+ _body_params = mapping_rule_create
292
+
293
+
294
+ # set the HTTP header `Accept`
295
+ if 'Accept' not in _header_params:
296
+ _header_params['Accept'] = self.api_client.select_header_accept(
297
+ [
298
+ 'application/json'
299
+ ]
300
+ )
301
+
302
+ # set the HTTP header `Content-Type`
303
+ if _content_type:
304
+ _header_params['Content-Type'] = _content_type
305
+ else:
306
+ _default_content_type = (
307
+ self.api_client.select_header_content_type(
308
+ [
309
+ 'application/json'
310
+ ]
311
+ )
312
+ )
313
+ if _default_content_type is not None:
314
+ _header_params['Content-Type'] = _default_content_type
315
+
316
+ # authentication setting
317
+ _auth_settings: List[str] = [
318
+ 'APIKeyHeader',
319
+ 'HTTPBearer'
320
+ ]
321
+
322
+ return self.api_client.param_serialize(
323
+ method='POST',
324
+ resource_path='/api/v1/mapping-rules',
325
+ path_params=_path_params,
326
+ query_params=_query_params,
327
+ header_params=_header_params,
328
+ body=_body_params,
329
+ post_params=_form_params,
330
+ files=_files,
331
+ auth_settings=_auth_settings,
332
+ collection_formats=_collection_formats,
333
+ _host=_host,
334
+ _request_auth=_request_auth
335
+ )
336
+
337
+
338
+
339
+
340
+ @validate_call
341
+ def disable_rule_api(
342
+ self,
343
+ rule_id: StrictStr,
344
+ x_tenant_id: StrictStr,
345
+ _request_timeout: Union[
346
+ None,
347
+ Annotated[StrictFloat, Field(gt=0)],
348
+ Tuple[
349
+ Annotated[StrictFloat, Field(gt=0)],
350
+ Annotated[StrictFloat, Field(gt=0)]
351
+ ]
352
+ ] = None,
353
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
354
+ _content_type: Optional[StrictStr] = None,
355
+ _headers: Optional[Dict[StrictStr, Any]] = None,
356
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
357
+ ) -> MappingRuleResponse:
358
+ """Disable Rule
359
+
360
+ Soft-disable a mapping rule (sets is_enabled=False). Never hard-deletes rows. Writes audit log entry.
361
+
362
+ :param rule_id: (required)
363
+ :type rule_id: str
364
+ :param x_tenant_id: (required)
365
+ :type x_tenant_id: str
366
+ :param _request_timeout: timeout setting for this request. If one
367
+ number provided, it will be total request
368
+ timeout. It can also be a pair (tuple) of
369
+ (connection, read) timeouts.
370
+ :type _request_timeout: int, tuple(int, int), optional
371
+ :param _request_auth: set to override the auth_settings for an a single
372
+ request; this effectively ignores the
373
+ authentication in the spec for a single request.
374
+ :type _request_auth: dict, optional
375
+ :param _content_type: force content-type for the request.
376
+ :type _content_type: str, Optional
377
+ :param _headers: set to override the headers for a single
378
+ request; this effectively ignores the headers
379
+ in the spec for a single request.
380
+ :type _headers: dict, optional
381
+ :param _host_index: set to override the host_index for a single
382
+ request; this effectively ignores the host_index
383
+ in the spec for a single request.
384
+ :type _host_index: int, optional
385
+ :return: Returns the result object.
386
+ """ # noqa: E501
387
+
388
+ _param = self._disable_rule_api_serialize(
389
+ rule_id=rule_id,
390
+ x_tenant_id=x_tenant_id,
391
+ _request_auth=_request_auth,
392
+ _content_type=_content_type,
393
+ _headers=_headers,
394
+ _host_index=_host_index
395
+ )
396
+
397
+ _response_types_map: Dict[str, Optional[str]] = {
398
+ '200': "MappingRuleResponse",
399
+ '422': "AcuteHTTPValidationError",
400
+ }
401
+ response_data = self.api_client.call_api(
402
+ *_param,
403
+ _request_timeout=_request_timeout
404
+ )
405
+ response_data.read()
406
+ return self.api_client.response_deserialize(
407
+ response_data=response_data,
408
+ response_types_map=_response_types_map,
409
+ ).data
410
+
411
+
412
+ @validate_call
413
+ def disable_rule_api_with_http_info(
414
+ self,
415
+ rule_id: StrictStr,
416
+ x_tenant_id: StrictStr,
417
+ _request_timeout: Union[
418
+ None,
419
+ Annotated[StrictFloat, Field(gt=0)],
420
+ Tuple[
421
+ Annotated[StrictFloat, Field(gt=0)],
422
+ Annotated[StrictFloat, Field(gt=0)]
423
+ ]
424
+ ] = None,
425
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
426
+ _content_type: Optional[StrictStr] = None,
427
+ _headers: Optional[Dict[StrictStr, Any]] = None,
428
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
429
+ ) -> ApiResponse[MappingRuleResponse]:
430
+ """Disable Rule
431
+
432
+ Soft-disable a mapping rule (sets is_enabled=False). Never hard-deletes rows. Writes audit log entry.
433
+
434
+ :param rule_id: (required)
435
+ :type rule_id: str
436
+ :param x_tenant_id: (required)
437
+ :type x_tenant_id: str
438
+ :param _request_timeout: timeout setting for this request. If one
439
+ number provided, it will be total request
440
+ timeout. It can also be a pair (tuple) of
441
+ (connection, read) timeouts.
442
+ :type _request_timeout: int, tuple(int, int), optional
443
+ :param _request_auth: set to override the auth_settings for an a single
444
+ request; this effectively ignores the
445
+ authentication in the spec for a single request.
446
+ :type _request_auth: dict, optional
447
+ :param _content_type: force content-type for the request.
448
+ :type _content_type: str, Optional
449
+ :param _headers: set to override the headers for a single
450
+ request; this effectively ignores the headers
451
+ in the spec for a single request.
452
+ :type _headers: dict, optional
453
+ :param _host_index: set to override the host_index for a single
454
+ request; this effectively ignores the host_index
455
+ in the spec for a single request.
456
+ :type _host_index: int, optional
457
+ :return: Returns the result object.
458
+ """ # noqa: E501
459
+
460
+ _param = self._disable_rule_api_serialize(
461
+ rule_id=rule_id,
462
+ x_tenant_id=x_tenant_id,
463
+ _request_auth=_request_auth,
464
+ _content_type=_content_type,
465
+ _headers=_headers,
466
+ _host_index=_host_index
467
+ )
468
+
469
+ _response_types_map: Dict[str, Optional[str]] = {
470
+ '200': "MappingRuleResponse",
471
+ '422': "AcuteHTTPValidationError",
472
+ }
473
+ response_data = self.api_client.call_api(
474
+ *_param,
475
+ _request_timeout=_request_timeout
476
+ )
477
+ response_data.read()
478
+ return self.api_client.response_deserialize(
479
+ response_data=response_data,
480
+ response_types_map=_response_types_map,
481
+ )
482
+
483
+
484
+ @validate_call
485
+ def disable_rule_api_without_preload_content(
486
+ self,
487
+ rule_id: StrictStr,
488
+ x_tenant_id: StrictStr,
489
+ _request_timeout: Union[
490
+ None,
491
+ Annotated[StrictFloat, Field(gt=0)],
492
+ Tuple[
493
+ Annotated[StrictFloat, Field(gt=0)],
494
+ Annotated[StrictFloat, Field(gt=0)]
495
+ ]
496
+ ] = None,
497
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
498
+ _content_type: Optional[StrictStr] = None,
499
+ _headers: Optional[Dict[StrictStr, Any]] = None,
500
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
501
+ ) -> RESTResponseType:
502
+ """Disable Rule
503
+
504
+ Soft-disable a mapping rule (sets is_enabled=False). Never hard-deletes rows. Writes audit log entry.
505
+
506
+ :param rule_id: (required)
507
+ :type rule_id: str
508
+ :param x_tenant_id: (required)
509
+ :type x_tenant_id: str
510
+ :param _request_timeout: timeout setting for this request. If one
511
+ number provided, it will be total request
512
+ timeout. It can also be a pair (tuple) of
513
+ (connection, read) timeouts.
514
+ :type _request_timeout: int, tuple(int, int), optional
515
+ :param _request_auth: set to override the auth_settings for an a single
516
+ request; this effectively ignores the
517
+ authentication in the spec for a single request.
518
+ :type _request_auth: dict, optional
519
+ :param _content_type: force content-type for the request.
520
+ :type _content_type: str, Optional
521
+ :param _headers: set to override the headers for a single
522
+ request; this effectively ignores the headers
523
+ in the spec for a single request.
524
+ :type _headers: dict, optional
525
+ :param _host_index: set to override the host_index for a single
526
+ request; this effectively ignores the host_index
527
+ in the spec for a single request.
528
+ :type _host_index: int, optional
529
+ :return: Returns the result object.
530
+ """ # noqa: E501
531
+
532
+ _param = self._disable_rule_api_serialize(
533
+ rule_id=rule_id,
534
+ x_tenant_id=x_tenant_id,
535
+ _request_auth=_request_auth,
536
+ _content_type=_content_type,
537
+ _headers=_headers,
538
+ _host_index=_host_index
539
+ )
540
+
541
+ _response_types_map: Dict[str, Optional[str]] = {
542
+ '200': "MappingRuleResponse",
543
+ '422': "AcuteHTTPValidationError",
544
+ }
545
+ response_data = self.api_client.call_api(
546
+ *_param,
547
+ _request_timeout=_request_timeout
548
+ )
549
+ return response_data.response
550
+
551
+
552
+ def _disable_rule_api_serialize(
553
+ self,
554
+ rule_id,
555
+ x_tenant_id,
556
+ _request_auth,
557
+ _content_type,
558
+ _headers,
559
+ _host_index,
560
+ ) -> RequestSerialized:
561
+
562
+ _host = None
563
+
564
+ _collection_formats: Dict[str, str] = {
565
+ }
566
+
567
+ _path_params: Dict[str, str] = {}
568
+ _query_params: List[Tuple[str, str]] = []
569
+ _header_params: Dict[str, Optional[str]] = _headers or {}
570
+ _form_params: List[Tuple[str, str]] = []
571
+ _files: Dict[
572
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
573
+ ] = {}
574
+ _body_params: Optional[bytes] = None
575
+
576
+ # process the path parameters
577
+ if rule_id is not None:
578
+ _path_params['rule_id'] = rule_id
579
+ # process the query parameters
580
+ # process the header parameters
581
+ if x_tenant_id is not None:
582
+ _header_params['X-Tenant-ID'] = x_tenant_id
583
+ # process the form parameters
584
+ # process the body parameter
585
+
586
+
587
+ # set the HTTP header `Accept`
588
+ if 'Accept' not in _header_params:
589
+ _header_params['Accept'] = self.api_client.select_header_accept(
590
+ [
591
+ 'application/json'
592
+ ]
593
+ )
594
+
595
+
596
+ # authentication setting
597
+ _auth_settings: List[str] = [
598
+ 'APIKeyHeader',
599
+ 'HTTPBearer'
600
+ ]
601
+
602
+ return self.api_client.param_serialize(
603
+ method='DELETE',
604
+ resource_path='/api/v1/mapping-rules/{rule_id}',
605
+ path_params=_path_params,
606
+ query_params=_query_params,
607
+ header_params=_header_params,
608
+ body=_body_params,
609
+ post_params=_form_params,
610
+ files=_files,
611
+ auth_settings=_auth_settings,
612
+ collection_formats=_collection_formats,
613
+ _host=_host,
614
+ _request_auth=_request_auth
615
+ )
616
+
617
+
618
+
619
+
620
+ @validate_call
621
+ def dry_run_api_v1(
622
+ self,
623
+ x_tenant_id: StrictStr,
624
+ dry_run_request: DryRunRequest,
625
+ _request_timeout: Union[
626
+ None,
627
+ Annotated[StrictFloat, Field(gt=0)],
628
+ Tuple[
629
+ Annotated[StrictFloat, Field(gt=0)],
630
+ Annotated[StrictFloat, Field(gt=0)]
631
+ ]
632
+ ] = None,
633
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
634
+ _content_type: Optional[StrictStr] = None,
635
+ _headers: Optional[Dict[StrictStr, Any]] = None,
636
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
637
+ ) -> DryRunResponse:
638
+ """Dry Run
639
+
640
+ Evaluate active mapping rules against a sample span without persisting anything. Returns: - derived_fields: fields that would be derived by the rule engine - rules_applied: rules that successfully matched - rules_skipped: rules that were skipped and why - match_grade: always 'operational' for Tier 3 - note: reminder that Tier 3 data is operational-grade only
641
+
642
+ :param x_tenant_id: (required)
643
+ :type x_tenant_id: str
644
+ :param dry_run_request: (required)
645
+ :type dry_run_request: DryRunRequest
646
+ :param _request_timeout: timeout setting for this request. If one
647
+ number provided, it will be total request
648
+ timeout. It can also be a pair (tuple) of
649
+ (connection, read) timeouts.
650
+ :type _request_timeout: int, tuple(int, int), optional
651
+ :param _request_auth: set to override the auth_settings for an a single
652
+ request; this effectively ignores the
653
+ authentication in the spec for a single request.
654
+ :type _request_auth: dict, optional
655
+ :param _content_type: force content-type for the request.
656
+ :type _content_type: str, Optional
657
+ :param _headers: set to override the headers for a single
658
+ request; this effectively ignores the headers
659
+ in the spec for a single request.
660
+ :type _headers: dict, optional
661
+ :param _host_index: set to override the host_index for a single
662
+ request; this effectively ignores the host_index
663
+ in the spec for a single request.
664
+ :type _host_index: int, optional
665
+ :return: Returns the result object.
666
+ """ # noqa: E501
667
+
668
+ _param = self._dry_run_api_v1_serialize(
669
+ x_tenant_id=x_tenant_id,
670
+ dry_run_request=dry_run_request,
671
+ _request_auth=_request_auth,
672
+ _content_type=_content_type,
673
+ _headers=_headers,
674
+ _host_index=_host_index
675
+ )
676
+
677
+ _response_types_map: Dict[str, Optional[str]] = {
678
+ '200': "DryRunResponse",
679
+ '422': "AcuteHTTPValidationError",
680
+ }
681
+ response_data = self.api_client.call_api(
682
+ *_param,
683
+ _request_timeout=_request_timeout
684
+ )
685
+ response_data.read()
686
+ return self.api_client.response_deserialize(
687
+ response_data=response_data,
688
+ response_types_map=_response_types_map,
689
+ ).data
690
+
691
+
692
+ @validate_call
693
+ def dry_run_api_v1_with_http_info(
694
+ self,
695
+ x_tenant_id: StrictStr,
696
+ dry_run_request: DryRunRequest,
697
+ _request_timeout: Union[
698
+ None,
699
+ Annotated[StrictFloat, Field(gt=0)],
700
+ Tuple[
701
+ Annotated[StrictFloat, Field(gt=0)],
702
+ Annotated[StrictFloat, Field(gt=0)]
703
+ ]
704
+ ] = None,
705
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
706
+ _content_type: Optional[StrictStr] = None,
707
+ _headers: Optional[Dict[StrictStr, Any]] = None,
708
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
709
+ ) -> ApiResponse[DryRunResponse]:
710
+ """Dry Run
711
+
712
+ Evaluate active mapping rules against a sample span without persisting anything. Returns: - derived_fields: fields that would be derived by the rule engine - rules_applied: rules that successfully matched - rules_skipped: rules that were skipped and why - match_grade: always 'operational' for Tier 3 - note: reminder that Tier 3 data is operational-grade only
713
+
714
+ :param x_tenant_id: (required)
715
+ :type x_tenant_id: str
716
+ :param dry_run_request: (required)
717
+ :type dry_run_request: DryRunRequest
718
+ :param _request_timeout: timeout setting for this request. If one
719
+ number provided, it will be total request
720
+ timeout. It can also be a pair (tuple) of
721
+ (connection, read) timeouts.
722
+ :type _request_timeout: int, tuple(int, int), optional
723
+ :param _request_auth: set to override the auth_settings for an a single
724
+ request; this effectively ignores the
725
+ authentication in the spec for a single request.
726
+ :type _request_auth: dict, optional
727
+ :param _content_type: force content-type for the request.
728
+ :type _content_type: str, Optional
729
+ :param _headers: set to override the headers for a single
730
+ request; this effectively ignores the headers
731
+ in the spec for a single request.
732
+ :type _headers: dict, optional
733
+ :param _host_index: set to override the host_index for a single
734
+ request; this effectively ignores the host_index
735
+ in the spec for a single request.
736
+ :type _host_index: int, optional
737
+ :return: Returns the result object.
738
+ """ # noqa: E501
739
+
740
+ _param = self._dry_run_api_v1_serialize(
741
+ x_tenant_id=x_tenant_id,
742
+ dry_run_request=dry_run_request,
743
+ _request_auth=_request_auth,
744
+ _content_type=_content_type,
745
+ _headers=_headers,
746
+ _host_index=_host_index
747
+ )
748
+
749
+ _response_types_map: Dict[str, Optional[str]] = {
750
+ '200': "DryRunResponse",
751
+ '422': "AcuteHTTPValidationError",
752
+ }
753
+ response_data = self.api_client.call_api(
754
+ *_param,
755
+ _request_timeout=_request_timeout
756
+ )
757
+ response_data.read()
758
+ return self.api_client.response_deserialize(
759
+ response_data=response_data,
760
+ response_types_map=_response_types_map,
761
+ )
762
+
763
+
764
+ @validate_call
765
+ def dry_run_api_v1_without_preload_content(
766
+ self,
767
+ x_tenant_id: StrictStr,
768
+ dry_run_request: DryRunRequest,
769
+ _request_timeout: Union[
770
+ None,
771
+ Annotated[StrictFloat, Field(gt=0)],
772
+ Tuple[
773
+ Annotated[StrictFloat, Field(gt=0)],
774
+ Annotated[StrictFloat, Field(gt=0)]
775
+ ]
776
+ ] = None,
777
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
778
+ _content_type: Optional[StrictStr] = None,
779
+ _headers: Optional[Dict[StrictStr, Any]] = None,
780
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
781
+ ) -> RESTResponseType:
782
+ """Dry Run
783
+
784
+ Evaluate active mapping rules against a sample span without persisting anything. Returns: - derived_fields: fields that would be derived by the rule engine - rules_applied: rules that successfully matched - rules_skipped: rules that were skipped and why - match_grade: always 'operational' for Tier 3 - note: reminder that Tier 3 data is operational-grade only
785
+
786
+ :param x_tenant_id: (required)
787
+ :type x_tenant_id: str
788
+ :param dry_run_request: (required)
789
+ :type dry_run_request: DryRunRequest
790
+ :param _request_timeout: timeout setting for this request. If one
791
+ number provided, it will be total request
792
+ timeout. It can also be a pair (tuple) of
793
+ (connection, read) timeouts.
794
+ :type _request_timeout: int, tuple(int, int), optional
795
+ :param _request_auth: set to override the auth_settings for an a single
796
+ request; this effectively ignores the
797
+ authentication in the spec for a single request.
798
+ :type _request_auth: dict, optional
799
+ :param _content_type: force content-type for the request.
800
+ :type _content_type: str, Optional
801
+ :param _headers: set to override the headers for a single
802
+ request; this effectively ignores the headers
803
+ in the spec for a single request.
804
+ :type _headers: dict, optional
805
+ :param _host_index: set to override the host_index for a single
806
+ request; this effectively ignores the host_index
807
+ in the spec for a single request.
808
+ :type _host_index: int, optional
809
+ :return: Returns the result object.
810
+ """ # noqa: E501
811
+
812
+ _param = self._dry_run_api_v1_serialize(
813
+ x_tenant_id=x_tenant_id,
814
+ dry_run_request=dry_run_request,
815
+ _request_auth=_request_auth,
816
+ _content_type=_content_type,
817
+ _headers=_headers,
818
+ _host_index=_host_index
819
+ )
820
+
821
+ _response_types_map: Dict[str, Optional[str]] = {
822
+ '200': "DryRunResponse",
823
+ '422': "AcuteHTTPValidationError",
824
+ }
825
+ response_data = self.api_client.call_api(
826
+ *_param,
827
+ _request_timeout=_request_timeout
828
+ )
829
+ return response_data.response
830
+
831
+
832
+ def _dry_run_api_v1_serialize(
833
+ self,
834
+ x_tenant_id,
835
+ dry_run_request,
836
+ _request_auth,
837
+ _content_type,
838
+ _headers,
839
+ _host_index,
840
+ ) -> RequestSerialized:
841
+
842
+ _host = None
843
+
844
+ _collection_formats: Dict[str, str] = {
845
+ }
846
+
847
+ _path_params: Dict[str, str] = {}
848
+ _query_params: List[Tuple[str, str]] = []
849
+ _header_params: Dict[str, Optional[str]] = _headers or {}
850
+ _form_params: List[Tuple[str, str]] = []
851
+ _files: Dict[
852
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
853
+ ] = {}
854
+ _body_params: Optional[bytes] = None
855
+
856
+ # process the path parameters
857
+ # process the query parameters
858
+ # process the header parameters
859
+ if x_tenant_id is not None:
860
+ _header_params['X-Tenant-ID'] = x_tenant_id
861
+ # process the form parameters
862
+ # process the body parameter
863
+ if dry_run_request is not None:
864
+ _body_params = dry_run_request
865
+
866
+
867
+ # set the HTTP header `Accept`
868
+ if 'Accept' not in _header_params:
869
+ _header_params['Accept'] = self.api_client.select_header_accept(
870
+ [
871
+ 'application/json'
872
+ ]
873
+ )
874
+
875
+ # set the HTTP header `Content-Type`
876
+ if _content_type:
877
+ _header_params['Content-Type'] = _content_type
878
+ else:
879
+ _default_content_type = (
880
+ self.api_client.select_header_content_type(
881
+ [
882
+ 'application/json'
883
+ ]
884
+ )
885
+ )
886
+ if _default_content_type is not None:
887
+ _header_params['Content-Type'] = _default_content_type
888
+
889
+ # authentication setting
890
+ _auth_settings: List[str] = [
891
+ 'APIKeyHeader',
892
+ 'HTTPBearer'
893
+ ]
894
+
895
+ return self.api_client.param_serialize(
896
+ method='POST',
897
+ resource_path='/api/v1/mapping-rules/dry-run',
898
+ path_params=_path_params,
899
+ query_params=_query_params,
900
+ header_params=_header_params,
901
+ body=_body_params,
902
+ post_params=_form_params,
903
+ files=_files,
904
+ auth_settings=_auth_settings,
905
+ collection_formats=_collection_formats,
906
+ _host=_host,
907
+ _request_auth=_request_auth
908
+ )
909
+
910
+
911
+
912
+
913
+ @validate_call
914
+ def enable_tier3_api_v1(
915
+ self,
916
+ x_tenant_id: StrictStr,
917
+ _request_timeout: Union[
918
+ None,
919
+ Annotated[StrictFloat, Field(gt=0)],
920
+ Tuple[
921
+ Annotated[StrictFloat, Field(gt=0)],
922
+ Annotated[StrictFloat, Field(gt=0)]
923
+ ]
924
+ ] = None,
925
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
926
+ _content_type: Optional[StrictStr] = None,
927
+ _headers: Optional[Dict[StrictStr, Any]] = None,
928
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
929
+ ) -> EnableTier3Response:
930
+ """Enable Tier3
931
+
932
+ Enable Tier 3 zero-code mapping for this tenant. Upserts a connector_state row with connector_type='tier3_mapping', status='active'. Returns a warning that all attributed cost events will be operational-grade only.
933
+
934
+ :param x_tenant_id: (required)
935
+ :type x_tenant_id: str
936
+ :param _request_timeout: timeout setting for this request. If one
937
+ number provided, it will be total request
938
+ timeout. It can also be a pair (tuple) of
939
+ (connection, read) timeouts.
940
+ :type _request_timeout: int, tuple(int, int), optional
941
+ :param _request_auth: set to override the auth_settings for an a single
942
+ request; this effectively ignores the
943
+ authentication in the spec for a single request.
944
+ :type _request_auth: dict, optional
945
+ :param _content_type: force content-type for the request.
946
+ :type _content_type: str, Optional
947
+ :param _headers: set to override the headers for a single
948
+ request; this effectively ignores the headers
949
+ in the spec for a single request.
950
+ :type _headers: dict, optional
951
+ :param _host_index: set to override the host_index for a single
952
+ request; this effectively ignores the host_index
953
+ in the spec for a single request.
954
+ :type _host_index: int, optional
955
+ :return: Returns the result object.
956
+ """ # noqa: E501
957
+
958
+ _param = self._enable_tier3_api_v1_serialize(
959
+ x_tenant_id=x_tenant_id,
960
+ _request_auth=_request_auth,
961
+ _content_type=_content_type,
962
+ _headers=_headers,
963
+ _host_index=_host_index
964
+ )
965
+
966
+ _response_types_map: Dict[str, Optional[str]] = {
967
+ '200': "EnableTier3Response",
968
+ '422': "AcuteHTTPValidationError",
969
+ }
970
+ response_data = self.api_client.call_api(
971
+ *_param,
972
+ _request_timeout=_request_timeout
973
+ )
974
+ response_data.read()
975
+ return self.api_client.response_deserialize(
976
+ response_data=response_data,
977
+ response_types_map=_response_types_map,
978
+ ).data
979
+
980
+
981
+ @validate_call
982
+ def enable_tier3_api_v1_with_http_info(
983
+ self,
984
+ x_tenant_id: StrictStr,
985
+ _request_timeout: Union[
986
+ None,
987
+ Annotated[StrictFloat, Field(gt=0)],
988
+ Tuple[
989
+ Annotated[StrictFloat, Field(gt=0)],
990
+ Annotated[StrictFloat, Field(gt=0)]
991
+ ]
992
+ ] = None,
993
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
994
+ _content_type: Optional[StrictStr] = None,
995
+ _headers: Optional[Dict[StrictStr, Any]] = None,
996
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
997
+ ) -> ApiResponse[EnableTier3Response]:
998
+ """Enable Tier3
999
+
1000
+ Enable Tier 3 zero-code mapping for this tenant. Upserts a connector_state row with connector_type='tier3_mapping', status='active'. Returns a warning that all attributed cost events will be operational-grade only.
1001
+
1002
+ :param x_tenant_id: (required)
1003
+ :type x_tenant_id: str
1004
+ :param _request_timeout: timeout setting for this request. If one
1005
+ number provided, it will be total request
1006
+ timeout. It can also be a pair (tuple) of
1007
+ (connection, read) timeouts.
1008
+ :type _request_timeout: int, tuple(int, int), optional
1009
+ :param _request_auth: set to override the auth_settings for an a single
1010
+ request; this effectively ignores the
1011
+ authentication in the spec for a single request.
1012
+ :type _request_auth: dict, optional
1013
+ :param _content_type: force content-type for the request.
1014
+ :type _content_type: str, Optional
1015
+ :param _headers: set to override the headers for a single
1016
+ request; this effectively ignores the headers
1017
+ in the spec for a single request.
1018
+ :type _headers: dict, optional
1019
+ :param _host_index: set to override the host_index for a single
1020
+ request; this effectively ignores the host_index
1021
+ in the spec for a single request.
1022
+ :type _host_index: int, optional
1023
+ :return: Returns the result object.
1024
+ """ # noqa: E501
1025
+
1026
+ _param = self._enable_tier3_api_v1_serialize(
1027
+ x_tenant_id=x_tenant_id,
1028
+ _request_auth=_request_auth,
1029
+ _content_type=_content_type,
1030
+ _headers=_headers,
1031
+ _host_index=_host_index
1032
+ )
1033
+
1034
+ _response_types_map: Dict[str, Optional[str]] = {
1035
+ '200': "EnableTier3Response",
1036
+ '422': "AcuteHTTPValidationError",
1037
+ }
1038
+ response_data = self.api_client.call_api(
1039
+ *_param,
1040
+ _request_timeout=_request_timeout
1041
+ )
1042
+ response_data.read()
1043
+ return self.api_client.response_deserialize(
1044
+ response_data=response_data,
1045
+ response_types_map=_response_types_map,
1046
+ )
1047
+
1048
+
1049
+ @validate_call
1050
+ def enable_tier3_api_v1_without_preload_content(
1051
+ self,
1052
+ x_tenant_id: StrictStr,
1053
+ _request_timeout: Union[
1054
+ None,
1055
+ Annotated[StrictFloat, Field(gt=0)],
1056
+ Tuple[
1057
+ Annotated[StrictFloat, Field(gt=0)],
1058
+ Annotated[StrictFloat, Field(gt=0)]
1059
+ ]
1060
+ ] = None,
1061
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1062
+ _content_type: Optional[StrictStr] = None,
1063
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1064
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1065
+ ) -> RESTResponseType:
1066
+ """Enable Tier3
1067
+
1068
+ Enable Tier 3 zero-code mapping for this tenant. Upserts a connector_state row with connector_type='tier3_mapping', status='active'. Returns a warning that all attributed cost events will be operational-grade only.
1069
+
1070
+ :param x_tenant_id: (required)
1071
+ :type x_tenant_id: str
1072
+ :param _request_timeout: timeout setting for this request. If one
1073
+ number provided, it will be total request
1074
+ timeout. It can also be a pair (tuple) of
1075
+ (connection, read) timeouts.
1076
+ :type _request_timeout: int, tuple(int, int), optional
1077
+ :param _request_auth: set to override the auth_settings for an a single
1078
+ request; this effectively ignores the
1079
+ authentication in the spec for a single request.
1080
+ :type _request_auth: dict, optional
1081
+ :param _content_type: force content-type for the request.
1082
+ :type _content_type: str, Optional
1083
+ :param _headers: set to override the headers for a single
1084
+ request; this effectively ignores the headers
1085
+ in the spec for a single request.
1086
+ :type _headers: dict, optional
1087
+ :param _host_index: set to override the host_index for a single
1088
+ request; this effectively ignores the host_index
1089
+ in the spec for a single request.
1090
+ :type _host_index: int, optional
1091
+ :return: Returns the result object.
1092
+ """ # noqa: E501
1093
+
1094
+ _param = self._enable_tier3_api_v1_serialize(
1095
+ x_tenant_id=x_tenant_id,
1096
+ _request_auth=_request_auth,
1097
+ _content_type=_content_type,
1098
+ _headers=_headers,
1099
+ _host_index=_host_index
1100
+ )
1101
+
1102
+ _response_types_map: Dict[str, Optional[str]] = {
1103
+ '200': "EnableTier3Response",
1104
+ '422': "AcuteHTTPValidationError",
1105
+ }
1106
+ response_data = self.api_client.call_api(
1107
+ *_param,
1108
+ _request_timeout=_request_timeout
1109
+ )
1110
+ return response_data.response
1111
+
1112
+
1113
+ def _enable_tier3_api_v1_serialize(
1114
+ self,
1115
+ x_tenant_id,
1116
+ _request_auth,
1117
+ _content_type,
1118
+ _headers,
1119
+ _host_index,
1120
+ ) -> RequestSerialized:
1121
+
1122
+ _host = None
1123
+
1124
+ _collection_formats: Dict[str, str] = {
1125
+ }
1126
+
1127
+ _path_params: Dict[str, str] = {}
1128
+ _query_params: List[Tuple[str, str]] = []
1129
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1130
+ _form_params: List[Tuple[str, str]] = []
1131
+ _files: Dict[
1132
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1133
+ ] = {}
1134
+ _body_params: Optional[bytes] = None
1135
+
1136
+ # process the path parameters
1137
+ # process the query parameters
1138
+ # process the header parameters
1139
+ if x_tenant_id is not None:
1140
+ _header_params['X-Tenant-ID'] = x_tenant_id
1141
+ # process the form parameters
1142
+ # process the body parameter
1143
+
1144
+
1145
+ # set the HTTP header `Accept`
1146
+ if 'Accept' not in _header_params:
1147
+ _header_params['Accept'] = self.api_client.select_header_accept(
1148
+ [
1149
+ 'application/json'
1150
+ ]
1151
+ )
1152
+
1153
+
1154
+ # authentication setting
1155
+ _auth_settings: List[str] = [
1156
+ 'APIKeyHeader',
1157
+ 'HTTPBearer'
1158
+ ]
1159
+
1160
+ return self.api_client.param_serialize(
1161
+ method='POST',
1162
+ resource_path='/api/v1/mapping-rules/enable-tier3',
1163
+ path_params=_path_params,
1164
+ query_params=_query_params,
1165
+ header_params=_header_params,
1166
+ body=_body_params,
1167
+ post_params=_form_params,
1168
+ files=_files,
1169
+ auth_settings=_auth_settings,
1170
+ collection_formats=_collection_formats,
1171
+ _host=_host,
1172
+ _request_auth=_request_auth
1173
+ )
1174
+
1175
+
1176
+
1177
+
1178
+ @validate_call
1179
+ def list_rules_api(
1180
+ self,
1181
+ x_tenant_id: StrictStr,
1182
+ enabled_only: Annotated[Optional[StrictBool], Field(description="Return only enabled rules")] = None,
1183
+ include_audit: Annotated[Optional[StrictBool], Field(description="Include last 5 audit entries per rule")] = None,
1184
+ _request_timeout: Union[
1185
+ None,
1186
+ Annotated[StrictFloat, Field(gt=0)],
1187
+ Tuple[
1188
+ Annotated[StrictFloat, Field(gt=0)],
1189
+ Annotated[StrictFloat, Field(gt=0)]
1190
+ ]
1191
+ ] = None,
1192
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1193
+ _content_type: Optional[StrictStr] = None,
1194
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1195
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1196
+ ) -> List[MappingRuleResponse]:
1197
+ """List Rules
1198
+
1199
+ List all mapping rules for the tenant ordered by priority ASC. Use ?enabled_only=false to include disabled rules. Use ?include_audit=true to include last 5 audit entries per rule.
1200
+
1201
+ :param x_tenant_id: (required)
1202
+ :type x_tenant_id: str
1203
+ :param enabled_only: Return only enabled rules
1204
+ :type enabled_only: bool
1205
+ :param include_audit: Include last 5 audit entries per rule
1206
+ :type include_audit: bool
1207
+ :param _request_timeout: timeout setting for this request. If one
1208
+ number provided, it will be total request
1209
+ timeout. It can also be a pair (tuple) of
1210
+ (connection, read) timeouts.
1211
+ :type _request_timeout: int, tuple(int, int), optional
1212
+ :param _request_auth: set to override the auth_settings for an a single
1213
+ request; this effectively ignores the
1214
+ authentication in the spec for a single request.
1215
+ :type _request_auth: dict, optional
1216
+ :param _content_type: force content-type for the request.
1217
+ :type _content_type: str, Optional
1218
+ :param _headers: set to override the headers for a single
1219
+ request; this effectively ignores the headers
1220
+ in the spec for a single request.
1221
+ :type _headers: dict, optional
1222
+ :param _host_index: set to override the host_index for a single
1223
+ request; this effectively ignores the host_index
1224
+ in the spec for a single request.
1225
+ :type _host_index: int, optional
1226
+ :return: Returns the result object.
1227
+ """ # noqa: E501
1228
+
1229
+ _param = self._list_rules_api_serialize(
1230
+ x_tenant_id=x_tenant_id,
1231
+ enabled_only=enabled_only,
1232
+ include_audit=include_audit,
1233
+ _request_auth=_request_auth,
1234
+ _content_type=_content_type,
1235
+ _headers=_headers,
1236
+ _host_index=_host_index
1237
+ )
1238
+
1239
+ _response_types_map: Dict[str, Optional[str]] = {
1240
+ '200': "List[MappingRuleResponse]",
1241
+ '422': "AcuteHTTPValidationError",
1242
+ }
1243
+ response_data = self.api_client.call_api(
1244
+ *_param,
1245
+ _request_timeout=_request_timeout
1246
+ )
1247
+ response_data.read()
1248
+ return self.api_client.response_deserialize(
1249
+ response_data=response_data,
1250
+ response_types_map=_response_types_map,
1251
+ ).data
1252
+
1253
+
1254
+ @validate_call
1255
+ def list_rules_api_with_http_info(
1256
+ self,
1257
+ x_tenant_id: StrictStr,
1258
+ enabled_only: Annotated[Optional[StrictBool], Field(description="Return only enabled rules")] = None,
1259
+ include_audit: Annotated[Optional[StrictBool], Field(description="Include last 5 audit entries per rule")] = None,
1260
+ _request_timeout: Union[
1261
+ None,
1262
+ Annotated[StrictFloat, Field(gt=0)],
1263
+ Tuple[
1264
+ Annotated[StrictFloat, Field(gt=0)],
1265
+ Annotated[StrictFloat, Field(gt=0)]
1266
+ ]
1267
+ ] = None,
1268
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1269
+ _content_type: Optional[StrictStr] = None,
1270
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1271
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1272
+ ) -> ApiResponse[List[MappingRuleResponse]]:
1273
+ """List Rules
1274
+
1275
+ List all mapping rules for the tenant ordered by priority ASC. Use ?enabled_only=false to include disabled rules. Use ?include_audit=true to include last 5 audit entries per rule.
1276
+
1277
+ :param x_tenant_id: (required)
1278
+ :type x_tenant_id: str
1279
+ :param enabled_only: Return only enabled rules
1280
+ :type enabled_only: bool
1281
+ :param include_audit: Include last 5 audit entries per rule
1282
+ :type include_audit: bool
1283
+ :param _request_timeout: timeout setting for this request. If one
1284
+ number provided, it will be total request
1285
+ timeout. It can also be a pair (tuple) of
1286
+ (connection, read) timeouts.
1287
+ :type _request_timeout: int, tuple(int, int), optional
1288
+ :param _request_auth: set to override the auth_settings for an a single
1289
+ request; this effectively ignores the
1290
+ authentication in the spec for a single request.
1291
+ :type _request_auth: dict, optional
1292
+ :param _content_type: force content-type for the request.
1293
+ :type _content_type: str, Optional
1294
+ :param _headers: set to override the headers for a single
1295
+ request; this effectively ignores the headers
1296
+ in the spec for a single request.
1297
+ :type _headers: dict, optional
1298
+ :param _host_index: set to override the host_index for a single
1299
+ request; this effectively ignores the host_index
1300
+ in the spec for a single request.
1301
+ :type _host_index: int, optional
1302
+ :return: Returns the result object.
1303
+ """ # noqa: E501
1304
+
1305
+ _param = self._list_rules_api_serialize(
1306
+ x_tenant_id=x_tenant_id,
1307
+ enabled_only=enabled_only,
1308
+ include_audit=include_audit,
1309
+ _request_auth=_request_auth,
1310
+ _content_type=_content_type,
1311
+ _headers=_headers,
1312
+ _host_index=_host_index
1313
+ )
1314
+
1315
+ _response_types_map: Dict[str, Optional[str]] = {
1316
+ '200': "List[MappingRuleResponse]",
1317
+ '422': "AcuteHTTPValidationError",
1318
+ }
1319
+ response_data = self.api_client.call_api(
1320
+ *_param,
1321
+ _request_timeout=_request_timeout
1322
+ )
1323
+ response_data.read()
1324
+ return self.api_client.response_deserialize(
1325
+ response_data=response_data,
1326
+ response_types_map=_response_types_map,
1327
+ )
1328
+
1329
+
1330
+ @validate_call
1331
+ def list_rules_api_without_preload_content(
1332
+ self,
1333
+ x_tenant_id: StrictStr,
1334
+ enabled_only: Annotated[Optional[StrictBool], Field(description="Return only enabled rules")] = None,
1335
+ include_audit: Annotated[Optional[StrictBool], Field(description="Include last 5 audit entries per rule")] = None,
1336
+ _request_timeout: Union[
1337
+ None,
1338
+ Annotated[StrictFloat, Field(gt=0)],
1339
+ Tuple[
1340
+ Annotated[StrictFloat, Field(gt=0)],
1341
+ Annotated[StrictFloat, Field(gt=0)]
1342
+ ]
1343
+ ] = None,
1344
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1345
+ _content_type: Optional[StrictStr] = None,
1346
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1347
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1348
+ ) -> RESTResponseType:
1349
+ """List Rules
1350
+
1351
+ List all mapping rules for the tenant ordered by priority ASC. Use ?enabled_only=false to include disabled rules. Use ?include_audit=true to include last 5 audit entries per rule.
1352
+
1353
+ :param x_tenant_id: (required)
1354
+ :type x_tenant_id: str
1355
+ :param enabled_only: Return only enabled rules
1356
+ :type enabled_only: bool
1357
+ :param include_audit: Include last 5 audit entries per rule
1358
+ :type include_audit: bool
1359
+ :param _request_timeout: timeout setting for this request. If one
1360
+ number provided, it will be total request
1361
+ timeout. It can also be a pair (tuple) of
1362
+ (connection, read) timeouts.
1363
+ :type _request_timeout: int, tuple(int, int), optional
1364
+ :param _request_auth: set to override the auth_settings for an a single
1365
+ request; this effectively ignores the
1366
+ authentication in the spec for a single request.
1367
+ :type _request_auth: dict, optional
1368
+ :param _content_type: force content-type for the request.
1369
+ :type _content_type: str, Optional
1370
+ :param _headers: set to override the headers for a single
1371
+ request; this effectively ignores the headers
1372
+ in the spec for a single request.
1373
+ :type _headers: dict, optional
1374
+ :param _host_index: set to override the host_index for a single
1375
+ request; this effectively ignores the host_index
1376
+ in the spec for a single request.
1377
+ :type _host_index: int, optional
1378
+ :return: Returns the result object.
1379
+ """ # noqa: E501
1380
+
1381
+ _param = self._list_rules_api_serialize(
1382
+ x_tenant_id=x_tenant_id,
1383
+ enabled_only=enabled_only,
1384
+ include_audit=include_audit,
1385
+ _request_auth=_request_auth,
1386
+ _content_type=_content_type,
1387
+ _headers=_headers,
1388
+ _host_index=_host_index
1389
+ )
1390
+
1391
+ _response_types_map: Dict[str, Optional[str]] = {
1392
+ '200': "List[MappingRuleResponse]",
1393
+ '422': "AcuteHTTPValidationError",
1394
+ }
1395
+ response_data = self.api_client.call_api(
1396
+ *_param,
1397
+ _request_timeout=_request_timeout
1398
+ )
1399
+ return response_data.response
1400
+
1401
+
1402
+ def _list_rules_api_serialize(
1403
+ self,
1404
+ x_tenant_id,
1405
+ enabled_only,
1406
+ include_audit,
1407
+ _request_auth,
1408
+ _content_type,
1409
+ _headers,
1410
+ _host_index,
1411
+ ) -> RequestSerialized:
1412
+
1413
+ _host = None
1414
+
1415
+ _collection_formats: Dict[str, str] = {
1416
+ }
1417
+
1418
+ _path_params: Dict[str, str] = {}
1419
+ _query_params: List[Tuple[str, str]] = []
1420
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1421
+ _form_params: List[Tuple[str, str]] = []
1422
+ _files: Dict[
1423
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1424
+ ] = {}
1425
+ _body_params: Optional[bytes] = None
1426
+
1427
+ # process the path parameters
1428
+ # process the query parameters
1429
+ if enabled_only is not None:
1430
+
1431
+ _query_params.append(('enabled_only', enabled_only))
1432
+
1433
+ if include_audit is not None:
1434
+
1435
+ _query_params.append(('include_audit', include_audit))
1436
+
1437
+ # process the header parameters
1438
+ if x_tenant_id is not None:
1439
+ _header_params['X-Tenant-ID'] = x_tenant_id
1440
+ # process the form parameters
1441
+ # process the body parameter
1442
+
1443
+
1444
+ # set the HTTP header `Accept`
1445
+ if 'Accept' not in _header_params:
1446
+ _header_params['Accept'] = self.api_client.select_header_accept(
1447
+ [
1448
+ 'application/json'
1449
+ ]
1450
+ )
1451
+
1452
+
1453
+ # authentication setting
1454
+ _auth_settings: List[str] = [
1455
+ 'APIKeyHeader',
1456
+ 'HTTPBearer'
1457
+ ]
1458
+
1459
+ return self.api_client.param_serialize(
1460
+ method='GET',
1461
+ resource_path='/api/v1/mapping-rules',
1462
+ path_params=_path_params,
1463
+ query_params=_query_params,
1464
+ header_params=_header_params,
1465
+ body=_body_params,
1466
+ post_params=_form_params,
1467
+ files=_files,
1468
+ auth_settings=_auth_settings,
1469
+ collection_formats=_collection_formats,
1470
+ _host=_host,
1471
+ _request_auth=_request_auth
1472
+ )
1473
+
1474
+
1475
+
1476
+
1477
+ @validate_call
1478
+ def update_rule_api(
1479
+ self,
1480
+ rule_id: StrictStr,
1481
+ x_tenant_id: StrictStr,
1482
+ mapping_rule_update: MappingRuleUpdate,
1483
+ _request_timeout: Union[
1484
+ None,
1485
+ Annotated[StrictFloat, Field(gt=0)],
1486
+ Tuple[
1487
+ Annotated[StrictFloat, Field(gt=0)],
1488
+ Annotated[StrictFloat, Field(gt=0)]
1489
+ ]
1490
+ ] = None,
1491
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1492
+ _content_type: Optional[StrictStr] = None,
1493
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1494
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1495
+ ) -> MappingRuleResponse:
1496
+ """Update Rule
1497
+
1498
+ Update an existing mapping rule. Writes old values to audit log. Invalidates the Redis rules cache for the tenant.
1499
+
1500
+ :param rule_id: (required)
1501
+ :type rule_id: str
1502
+ :param x_tenant_id: (required)
1503
+ :type x_tenant_id: str
1504
+ :param mapping_rule_update: (required)
1505
+ :type mapping_rule_update: MappingRuleUpdate
1506
+ :param _request_timeout: timeout setting for this request. If one
1507
+ number provided, it will be total request
1508
+ timeout. It can also be a pair (tuple) of
1509
+ (connection, read) timeouts.
1510
+ :type _request_timeout: int, tuple(int, int), optional
1511
+ :param _request_auth: set to override the auth_settings for an a single
1512
+ request; this effectively ignores the
1513
+ authentication in the spec for a single request.
1514
+ :type _request_auth: dict, optional
1515
+ :param _content_type: force content-type for the request.
1516
+ :type _content_type: str, Optional
1517
+ :param _headers: set to override the headers for a single
1518
+ request; this effectively ignores the headers
1519
+ in the spec for a single request.
1520
+ :type _headers: dict, optional
1521
+ :param _host_index: set to override the host_index for a single
1522
+ request; this effectively ignores the host_index
1523
+ in the spec for a single request.
1524
+ :type _host_index: int, optional
1525
+ :return: Returns the result object.
1526
+ """ # noqa: E501
1527
+
1528
+ _param = self._update_rule_api_serialize(
1529
+ rule_id=rule_id,
1530
+ x_tenant_id=x_tenant_id,
1531
+ mapping_rule_update=mapping_rule_update,
1532
+ _request_auth=_request_auth,
1533
+ _content_type=_content_type,
1534
+ _headers=_headers,
1535
+ _host_index=_host_index
1536
+ )
1537
+
1538
+ _response_types_map: Dict[str, Optional[str]] = {
1539
+ '200': "MappingRuleResponse",
1540
+ '422': "AcuteHTTPValidationError",
1541
+ }
1542
+ response_data = self.api_client.call_api(
1543
+ *_param,
1544
+ _request_timeout=_request_timeout
1545
+ )
1546
+ response_data.read()
1547
+ return self.api_client.response_deserialize(
1548
+ response_data=response_data,
1549
+ response_types_map=_response_types_map,
1550
+ ).data
1551
+
1552
+
1553
+ @validate_call
1554
+ def update_rule_api_with_http_info(
1555
+ self,
1556
+ rule_id: StrictStr,
1557
+ x_tenant_id: StrictStr,
1558
+ mapping_rule_update: MappingRuleUpdate,
1559
+ _request_timeout: Union[
1560
+ None,
1561
+ Annotated[StrictFloat, Field(gt=0)],
1562
+ Tuple[
1563
+ Annotated[StrictFloat, Field(gt=0)],
1564
+ Annotated[StrictFloat, Field(gt=0)]
1565
+ ]
1566
+ ] = None,
1567
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1568
+ _content_type: Optional[StrictStr] = None,
1569
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1570
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1571
+ ) -> ApiResponse[MappingRuleResponse]:
1572
+ """Update Rule
1573
+
1574
+ Update an existing mapping rule. Writes old values to audit log. Invalidates the Redis rules cache for the tenant.
1575
+
1576
+ :param rule_id: (required)
1577
+ :type rule_id: str
1578
+ :param x_tenant_id: (required)
1579
+ :type x_tenant_id: str
1580
+ :param mapping_rule_update: (required)
1581
+ :type mapping_rule_update: MappingRuleUpdate
1582
+ :param _request_timeout: timeout setting for this request. If one
1583
+ number provided, it will be total request
1584
+ timeout. It can also be a pair (tuple) of
1585
+ (connection, read) timeouts.
1586
+ :type _request_timeout: int, tuple(int, int), optional
1587
+ :param _request_auth: set to override the auth_settings for an a single
1588
+ request; this effectively ignores the
1589
+ authentication in the spec for a single request.
1590
+ :type _request_auth: dict, optional
1591
+ :param _content_type: force content-type for the request.
1592
+ :type _content_type: str, Optional
1593
+ :param _headers: set to override the headers for a single
1594
+ request; this effectively ignores the headers
1595
+ in the spec for a single request.
1596
+ :type _headers: dict, optional
1597
+ :param _host_index: set to override the host_index for a single
1598
+ request; this effectively ignores the host_index
1599
+ in the spec for a single request.
1600
+ :type _host_index: int, optional
1601
+ :return: Returns the result object.
1602
+ """ # noqa: E501
1603
+
1604
+ _param = self._update_rule_api_serialize(
1605
+ rule_id=rule_id,
1606
+ x_tenant_id=x_tenant_id,
1607
+ mapping_rule_update=mapping_rule_update,
1608
+ _request_auth=_request_auth,
1609
+ _content_type=_content_type,
1610
+ _headers=_headers,
1611
+ _host_index=_host_index
1612
+ )
1613
+
1614
+ _response_types_map: Dict[str, Optional[str]] = {
1615
+ '200': "MappingRuleResponse",
1616
+ '422': "AcuteHTTPValidationError",
1617
+ }
1618
+ response_data = self.api_client.call_api(
1619
+ *_param,
1620
+ _request_timeout=_request_timeout
1621
+ )
1622
+ response_data.read()
1623
+ return self.api_client.response_deserialize(
1624
+ response_data=response_data,
1625
+ response_types_map=_response_types_map,
1626
+ )
1627
+
1628
+
1629
+ @validate_call
1630
+ def update_rule_api_without_preload_content(
1631
+ self,
1632
+ rule_id: StrictStr,
1633
+ x_tenant_id: StrictStr,
1634
+ mapping_rule_update: MappingRuleUpdate,
1635
+ _request_timeout: Union[
1636
+ None,
1637
+ Annotated[StrictFloat, Field(gt=0)],
1638
+ Tuple[
1639
+ Annotated[StrictFloat, Field(gt=0)],
1640
+ Annotated[StrictFloat, Field(gt=0)]
1641
+ ]
1642
+ ] = None,
1643
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1644
+ _content_type: Optional[StrictStr] = None,
1645
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1646
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1647
+ ) -> RESTResponseType:
1648
+ """Update Rule
1649
+
1650
+ Update an existing mapping rule. Writes old values to audit log. Invalidates the Redis rules cache for the tenant.
1651
+
1652
+ :param rule_id: (required)
1653
+ :type rule_id: str
1654
+ :param x_tenant_id: (required)
1655
+ :type x_tenant_id: str
1656
+ :param mapping_rule_update: (required)
1657
+ :type mapping_rule_update: MappingRuleUpdate
1658
+ :param _request_timeout: timeout setting for this request. If one
1659
+ number provided, it will be total request
1660
+ timeout. It can also be a pair (tuple) of
1661
+ (connection, read) timeouts.
1662
+ :type _request_timeout: int, tuple(int, int), optional
1663
+ :param _request_auth: set to override the auth_settings for an a single
1664
+ request; this effectively ignores the
1665
+ authentication in the spec for a single request.
1666
+ :type _request_auth: dict, optional
1667
+ :param _content_type: force content-type for the request.
1668
+ :type _content_type: str, Optional
1669
+ :param _headers: set to override the headers for a single
1670
+ request; this effectively ignores the headers
1671
+ in the spec for a single request.
1672
+ :type _headers: dict, optional
1673
+ :param _host_index: set to override the host_index for a single
1674
+ request; this effectively ignores the host_index
1675
+ in the spec for a single request.
1676
+ :type _host_index: int, optional
1677
+ :return: Returns the result object.
1678
+ """ # noqa: E501
1679
+
1680
+ _param = self._update_rule_api_serialize(
1681
+ rule_id=rule_id,
1682
+ x_tenant_id=x_tenant_id,
1683
+ mapping_rule_update=mapping_rule_update,
1684
+ _request_auth=_request_auth,
1685
+ _content_type=_content_type,
1686
+ _headers=_headers,
1687
+ _host_index=_host_index
1688
+ )
1689
+
1690
+ _response_types_map: Dict[str, Optional[str]] = {
1691
+ '200': "MappingRuleResponse",
1692
+ '422': "AcuteHTTPValidationError",
1693
+ }
1694
+ response_data = self.api_client.call_api(
1695
+ *_param,
1696
+ _request_timeout=_request_timeout
1697
+ )
1698
+ return response_data.response
1699
+
1700
+
1701
+ def _update_rule_api_serialize(
1702
+ self,
1703
+ rule_id,
1704
+ x_tenant_id,
1705
+ mapping_rule_update,
1706
+ _request_auth,
1707
+ _content_type,
1708
+ _headers,
1709
+ _host_index,
1710
+ ) -> RequestSerialized:
1711
+
1712
+ _host = None
1713
+
1714
+ _collection_formats: Dict[str, str] = {
1715
+ }
1716
+
1717
+ _path_params: Dict[str, str] = {}
1718
+ _query_params: List[Tuple[str, str]] = []
1719
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1720
+ _form_params: List[Tuple[str, str]] = []
1721
+ _files: Dict[
1722
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1723
+ ] = {}
1724
+ _body_params: Optional[bytes] = None
1725
+
1726
+ # process the path parameters
1727
+ if rule_id is not None:
1728
+ _path_params['rule_id'] = rule_id
1729
+ # process the query parameters
1730
+ # process the header parameters
1731
+ if x_tenant_id is not None:
1732
+ _header_params['X-Tenant-ID'] = x_tenant_id
1733
+ # process the form parameters
1734
+ # process the body parameter
1735
+ if mapping_rule_update is not None:
1736
+ _body_params = mapping_rule_update
1737
+
1738
+
1739
+ # set the HTTP header `Accept`
1740
+ if 'Accept' not in _header_params:
1741
+ _header_params['Accept'] = self.api_client.select_header_accept(
1742
+ [
1743
+ 'application/json'
1744
+ ]
1745
+ )
1746
+
1747
+ # set the HTTP header `Content-Type`
1748
+ if _content_type:
1749
+ _header_params['Content-Type'] = _content_type
1750
+ else:
1751
+ _default_content_type = (
1752
+ self.api_client.select_header_content_type(
1753
+ [
1754
+ 'application/json'
1755
+ ]
1756
+ )
1757
+ )
1758
+ if _default_content_type is not None:
1759
+ _header_params['Content-Type'] = _default_content_type
1760
+
1761
+ # authentication setting
1762
+ _auth_settings: List[str] = [
1763
+ 'APIKeyHeader',
1764
+ 'HTTPBearer'
1765
+ ]
1766
+
1767
+ return self.api_client.param_serialize(
1768
+ method='PUT',
1769
+ resource_path='/api/v1/mapping-rules/{rule_id}',
1770
+ path_params=_path_params,
1771
+ query_params=_query_params,
1772
+ header_params=_header_params,
1773
+ body=_body_params,
1774
+ post_params=_form_params,
1775
+ files=_files,
1776
+ auth_settings=_auth_settings,
1777
+ collection_formats=_collection_formats,
1778
+ _host=_host,
1779
+ _request_auth=_request_auth
1780
+ )
1781
+
1782
+