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,3064 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Moolabs API
5
+
6
+ Unified Moolabs SDK. Capability-based public surface stitched from internal service specs: bff, meter, arc, acute. Customers see capability namespaces (usage, billing, collections, etc.); the SDK routes per-operation internally.
7
+
8
+ The version of the OpenAPI document: 0.3.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import Field, StrictStr, field_validator
20
+ from typing import Optional
21
+ from typing_extensions import Annotated
22
+ from moolabs.models.app import App
23
+ from moolabs.models.app_paginated_response import AppPaginatedResponse
24
+ from moolabs.models.app_replace_update import AppReplaceUpdate
25
+ from moolabs.models.app_type import AppType
26
+ from moolabs.models.client_app_start_response import ClientAppStartResponse
27
+ from moolabs.models.marketplace_app_api_key_install_request import MarketplaceAppAPIKeyInstallRequest
28
+ from moolabs.models.marketplace_install_request_payload import MarketplaceInstallRequestPayload
29
+ from moolabs.models.marketplace_install_response import MarketplaceInstallResponse
30
+ from moolabs.models.marketplace_listing import MarketplaceListing
31
+ from moolabs.models.marketplace_listing_paginated_response import MarketplaceListingPaginatedResponse
32
+ from moolabs.models.o_auth2_authorization_code_grant_error_type import OAuth2AuthorizationCodeGrantErrorType
33
+ from moolabs.models.unexpected_problem_response import UnexpectedProblemResponse
34
+
35
+ from moolabs.api_client import ApiClient, RequestSerialized
36
+ from moolabs.api_response import ApiResponse
37
+ from moolabs.rest import RESTResponseType
38
+
39
+
40
+ class AppsApi:
41
+ """NOTE: This class is auto generated by OpenAPI Generator
42
+ Ref: https://openapi-generator.tech
43
+
44
+ Do not edit the class manually.
45
+ """
46
+
47
+ def __init__(self, api_client=None) -> None:
48
+ if api_client is None:
49
+ api_client = ApiClient.get_default()
50
+ self.api_client = api_client
51
+
52
+
53
+ @validate_call
54
+ def get_app(
55
+ self,
56
+ id: Annotated[str, Field(strict=True)],
57
+ _request_timeout: Union[
58
+ None,
59
+ Annotated[StrictFloat, Field(gt=0)],
60
+ Tuple[
61
+ Annotated[StrictFloat, Field(gt=0)],
62
+ Annotated[StrictFloat, Field(gt=0)]
63
+ ]
64
+ ] = None,
65
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
66
+ _content_type: Optional[StrictStr] = None,
67
+ _headers: Optional[Dict[StrictStr, Any]] = None,
68
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
69
+ ) -> App:
70
+ """Get app
71
+
72
+ Get the app.
73
+
74
+ :param id: (required)
75
+ :type id: str
76
+ :param _request_timeout: timeout setting for this request. If one
77
+ number provided, it will be total request
78
+ timeout. It can also be a pair (tuple) of
79
+ (connection, read) timeouts.
80
+ :type _request_timeout: int, tuple(int, int), optional
81
+ :param _request_auth: set to override the auth_settings for an a single
82
+ request; this effectively ignores the
83
+ authentication in the spec for a single request.
84
+ :type _request_auth: dict, optional
85
+ :param _content_type: force content-type for the request.
86
+ :type _content_type: str, Optional
87
+ :param _headers: set to override the headers for a single
88
+ request; this effectively ignores the headers
89
+ in the spec for a single request.
90
+ :type _headers: dict, optional
91
+ :param _host_index: set to override the host_index for a single
92
+ request; this effectively ignores the host_index
93
+ in the spec for a single request.
94
+ :type _host_index: int, optional
95
+ :return: Returns the result object.
96
+ """ # noqa: E501
97
+
98
+ _param = self._get_app_serialize(
99
+ id=id,
100
+ _request_auth=_request_auth,
101
+ _content_type=_content_type,
102
+ _headers=_headers,
103
+ _host_index=_host_index
104
+ )
105
+
106
+ _response_types_map: Dict[str, Optional[str]] = {
107
+ '200': "App",
108
+ '400': "UnexpectedProblemResponse",
109
+ '401': "UnexpectedProblemResponse",
110
+ '403': "UnexpectedProblemResponse",
111
+ '404': "UnexpectedProblemResponse",
112
+ '412': "UnexpectedProblemResponse",
113
+ '500': "UnexpectedProblemResponse",
114
+ '503': "UnexpectedProblemResponse",
115
+ }
116
+ response_data = self.api_client.call_api(
117
+ *_param,
118
+ _request_timeout=_request_timeout
119
+ )
120
+ response_data.read()
121
+ return self.api_client.response_deserialize(
122
+ response_data=response_data,
123
+ response_types_map=_response_types_map,
124
+ ).data
125
+
126
+
127
+ @validate_call
128
+ def get_app_with_http_info(
129
+ self,
130
+ id: Annotated[str, Field(strict=True)],
131
+ _request_timeout: Union[
132
+ None,
133
+ Annotated[StrictFloat, Field(gt=0)],
134
+ Tuple[
135
+ Annotated[StrictFloat, Field(gt=0)],
136
+ Annotated[StrictFloat, Field(gt=0)]
137
+ ]
138
+ ] = None,
139
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
140
+ _content_type: Optional[StrictStr] = None,
141
+ _headers: Optional[Dict[StrictStr, Any]] = None,
142
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
143
+ ) -> ApiResponse[App]:
144
+ """Get app
145
+
146
+ Get the app.
147
+
148
+ :param id: (required)
149
+ :type id: str
150
+ :param _request_timeout: timeout setting for this request. If one
151
+ number provided, it will be total request
152
+ timeout. It can also be a pair (tuple) of
153
+ (connection, read) timeouts.
154
+ :type _request_timeout: int, tuple(int, int), optional
155
+ :param _request_auth: set to override the auth_settings for an a single
156
+ request; this effectively ignores the
157
+ authentication in the spec for a single request.
158
+ :type _request_auth: dict, optional
159
+ :param _content_type: force content-type for the request.
160
+ :type _content_type: str, Optional
161
+ :param _headers: set to override the headers for a single
162
+ request; this effectively ignores the headers
163
+ in the spec for a single request.
164
+ :type _headers: dict, optional
165
+ :param _host_index: set to override the host_index for a single
166
+ request; this effectively ignores the host_index
167
+ in the spec for a single request.
168
+ :type _host_index: int, optional
169
+ :return: Returns the result object.
170
+ """ # noqa: E501
171
+
172
+ _param = self._get_app_serialize(
173
+ id=id,
174
+ _request_auth=_request_auth,
175
+ _content_type=_content_type,
176
+ _headers=_headers,
177
+ _host_index=_host_index
178
+ )
179
+
180
+ _response_types_map: Dict[str, Optional[str]] = {
181
+ '200': "App",
182
+ '400': "UnexpectedProblemResponse",
183
+ '401': "UnexpectedProblemResponse",
184
+ '403': "UnexpectedProblemResponse",
185
+ '404': "UnexpectedProblemResponse",
186
+ '412': "UnexpectedProblemResponse",
187
+ '500': "UnexpectedProblemResponse",
188
+ '503': "UnexpectedProblemResponse",
189
+ }
190
+ response_data = self.api_client.call_api(
191
+ *_param,
192
+ _request_timeout=_request_timeout
193
+ )
194
+ response_data.read()
195
+ return self.api_client.response_deserialize(
196
+ response_data=response_data,
197
+ response_types_map=_response_types_map,
198
+ )
199
+
200
+
201
+ @validate_call
202
+ def get_app_without_preload_content(
203
+ self,
204
+ id: Annotated[str, Field(strict=True)],
205
+ _request_timeout: Union[
206
+ None,
207
+ Annotated[StrictFloat, Field(gt=0)],
208
+ Tuple[
209
+ Annotated[StrictFloat, Field(gt=0)],
210
+ Annotated[StrictFloat, Field(gt=0)]
211
+ ]
212
+ ] = None,
213
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
214
+ _content_type: Optional[StrictStr] = None,
215
+ _headers: Optional[Dict[StrictStr, Any]] = None,
216
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
217
+ ) -> RESTResponseType:
218
+ """Get app
219
+
220
+ Get the app.
221
+
222
+ :param id: (required)
223
+ :type id: str
224
+ :param _request_timeout: timeout setting for this request. If one
225
+ number provided, it will be total request
226
+ timeout. It can also be a pair (tuple) of
227
+ (connection, read) timeouts.
228
+ :type _request_timeout: int, tuple(int, int), optional
229
+ :param _request_auth: set to override the auth_settings for an a single
230
+ request; this effectively ignores the
231
+ authentication in the spec for a single request.
232
+ :type _request_auth: dict, optional
233
+ :param _content_type: force content-type for the request.
234
+ :type _content_type: str, Optional
235
+ :param _headers: set to override the headers for a single
236
+ request; this effectively ignores the headers
237
+ in the spec for a single request.
238
+ :type _headers: dict, optional
239
+ :param _host_index: set to override the host_index for a single
240
+ request; this effectively ignores the host_index
241
+ in the spec for a single request.
242
+ :type _host_index: int, optional
243
+ :return: Returns the result object.
244
+ """ # noqa: E501
245
+
246
+ _param = self._get_app_serialize(
247
+ id=id,
248
+ _request_auth=_request_auth,
249
+ _content_type=_content_type,
250
+ _headers=_headers,
251
+ _host_index=_host_index
252
+ )
253
+
254
+ _response_types_map: Dict[str, Optional[str]] = {
255
+ '200': "App",
256
+ '400': "UnexpectedProblemResponse",
257
+ '401': "UnexpectedProblemResponse",
258
+ '403': "UnexpectedProblemResponse",
259
+ '404': "UnexpectedProblemResponse",
260
+ '412': "UnexpectedProblemResponse",
261
+ '500': "UnexpectedProblemResponse",
262
+ '503': "UnexpectedProblemResponse",
263
+ }
264
+ response_data = self.api_client.call_api(
265
+ *_param,
266
+ _request_timeout=_request_timeout
267
+ )
268
+ return response_data.response
269
+
270
+
271
+ def _get_app_serialize(
272
+ self,
273
+ id,
274
+ _request_auth,
275
+ _content_type,
276
+ _headers,
277
+ _host_index,
278
+ ) -> RequestSerialized:
279
+
280
+ _host = None
281
+
282
+ _collection_formats: Dict[str, str] = {
283
+ }
284
+
285
+ _path_params: Dict[str, str] = {}
286
+ _query_params: List[Tuple[str, str]] = []
287
+ _header_params: Dict[str, Optional[str]] = _headers or {}
288
+ _form_params: List[Tuple[str, str]] = []
289
+ _files: Dict[
290
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
291
+ ] = {}
292
+ _body_params: Optional[bytes] = None
293
+
294
+ # process the path parameters
295
+ if id is not None:
296
+ _path_params['id'] = id
297
+ # process the query parameters
298
+ # process the header parameters
299
+ # process the form parameters
300
+ # process the body parameter
301
+
302
+
303
+ # set the HTTP header `Accept`
304
+ if 'Accept' not in _header_params:
305
+ _header_params['Accept'] = self.api_client.select_header_accept(
306
+ [
307
+ 'application/json',
308
+ 'application/problem+json'
309
+ ]
310
+ )
311
+
312
+
313
+ # authentication setting
314
+ _auth_settings: List[str] = [
315
+ 'CloudTokenAuth'
316
+ ]
317
+
318
+ return self.api_client.param_serialize(
319
+ method='GET',
320
+ resource_path='/api/v1/apps/{id}',
321
+ path_params=_path_params,
322
+ query_params=_query_params,
323
+ header_params=_header_params,
324
+ body=_body_params,
325
+ post_params=_form_params,
326
+ files=_files,
327
+ auth_settings=_auth_settings,
328
+ collection_formats=_collection_formats,
329
+ _host=_host,
330
+ _request_auth=_request_auth
331
+ )
332
+
333
+
334
+
335
+
336
+ @validate_call
337
+ def get_marketplace_listing(
338
+ self,
339
+ type: AppType,
340
+ _request_timeout: Union[
341
+ None,
342
+ Annotated[StrictFloat, Field(gt=0)],
343
+ Tuple[
344
+ Annotated[StrictFloat, Field(gt=0)],
345
+ Annotated[StrictFloat, Field(gt=0)]
346
+ ]
347
+ ] = None,
348
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
349
+ _content_type: Optional[StrictStr] = None,
350
+ _headers: Optional[Dict[StrictStr, Any]] = None,
351
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
352
+ ) -> MarketplaceListing:
353
+ """Get app details by type
354
+
355
+ Get a marketplace listing by type.
356
+
357
+ :param type: (required)
358
+ :type type: AppType
359
+ :param _request_timeout: timeout setting for this request. If one
360
+ number provided, it will be total request
361
+ timeout. It can also be a pair (tuple) of
362
+ (connection, read) timeouts.
363
+ :type _request_timeout: int, tuple(int, int), optional
364
+ :param _request_auth: set to override the auth_settings for an a single
365
+ request; this effectively ignores the
366
+ authentication in the spec for a single request.
367
+ :type _request_auth: dict, optional
368
+ :param _content_type: force content-type for the request.
369
+ :type _content_type: str, Optional
370
+ :param _headers: set to override the headers for a single
371
+ request; this effectively ignores the headers
372
+ in the spec for a single request.
373
+ :type _headers: dict, optional
374
+ :param _host_index: set to override the host_index for a single
375
+ request; this effectively ignores the host_index
376
+ in the spec for a single request.
377
+ :type _host_index: int, optional
378
+ :return: Returns the result object.
379
+ """ # noqa: E501
380
+
381
+ _param = self._get_marketplace_listing_serialize(
382
+ type=type,
383
+ _request_auth=_request_auth,
384
+ _content_type=_content_type,
385
+ _headers=_headers,
386
+ _host_index=_host_index
387
+ )
388
+
389
+ _response_types_map: Dict[str, Optional[str]] = {
390
+ '200': "MarketplaceListing",
391
+ '400': "UnexpectedProblemResponse",
392
+ '401': "UnexpectedProblemResponse",
393
+ '403': "UnexpectedProblemResponse",
394
+ '412': "UnexpectedProblemResponse",
395
+ '500': "UnexpectedProblemResponse",
396
+ '503': "UnexpectedProblemResponse",
397
+ }
398
+ response_data = self.api_client.call_api(
399
+ *_param,
400
+ _request_timeout=_request_timeout
401
+ )
402
+ response_data.read()
403
+ return self.api_client.response_deserialize(
404
+ response_data=response_data,
405
+ response_types_map=_response_types_map,
406
+ ).data
407
+
408
+
409
+ @validate_call
410
+ def get_marketplace_listing_with_http_info(
411
+ self,
412
+ type: AppType,
413
+ _request_timeout: Union[
414
+ None,
415
+ Annotated[StrictFloat, Field(gt=0)],
416
+ Tuple[
417
+ Annotated[StrictFloat, Field(gt=0)],
418
+ Annotated[StrictFloat, Field(gt=0)]
419
+ ]
420
+ ] = None,
421
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
422
+ _content_type: Optional[StrictStr] = None,
423
+ _headers: Optional[Dict[StrictStr, Any]] = None,
424
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
425
+ ) -> ApiResponse[MarketplaceListing]:
426
+ """Get app details by type
427
+
428
+ Get a marketplace listing by type.
429
+
430
+ :param type: (required)
431
+ :type type: AppType
432
+ :param _request_timeout: timeout setting for this request. If one
433
+ number provided, it will be total request
434
+ timeout. It can also be a pair (tuple) of
435
+ (connection, read) timeouts.
436
+ :type _request_timeout: int, tuple(int, int), optional
437
+ :param _request_auth: set to override the auth_settings for an a single
438
+ request; this effectively ignores the
439
+ authentication in the spec for a single request.
440
+ :type _request_auth: dict, optional
441
+ :param _content_type: force content-type for the request.
442
+ :type _content_type: str, Optional
443
+ :param _headers: set to override the headers for a single
444
+ request; this effectively ignores the headers
445
+ in the spec for a single request.
446
+ :type _headers: dict, optional
447
+ :param _host_index: set to override the host_index for a single
448
+ request; this effectively ignores the host_index
449
+ in the spec for a single request.
450
+ :type _host_index: int, optional
451
+ :return: Returns the result object.
452
+ """ # noqa: E501
453
+
454
+ _param = self._get_marketplace_listing_serialize(
455
+ type=type,
456
+ _request_auth=_request_auth,
457
+ _content_type=_content_type,
458
+ _headers=_headers,
459
+ _host_index=_host_index
460
+ )
461
+
462
+ _response_types_map: Dict[str, Optional[str]] = {
463
+ '200': "MarketplaceListing",
464
+ '400': "UnexpectedProblemResponse",
465
+ '401': "UnexpectedProblemResponse",
466
+ '403': "UnexpectedProblemResponse",
467
+ '412': "UnexpectedProblemResponse",
468
+ '500': "UnexpectedProblemResponse",
469
+ '503': "UnexpectedProblemResponse",
470
+ }
471
+ response_data = self.api_client.call_api(
472
+ *_param,
473
+ _request_timeout=_request_timeout
474
+ )
475
+ response_data.read()
476
+ return self.api_client.response_deserialize(
477
+ response_data=response_data,
478
+ response_types_map=_response_types_map,
479
+ )
480
+
481
+
482
+ @validate_call
483
+ def get_marketplace_listing_without_preload_content(
484
+ self,
485
+ type: AppType,
486
+ _request_timeout: Union[
487
+ None,
488
+ Annotated[StrictFloat, Field(gt=0)],
489
+ Tuple[
490
+ Annotated[StrictFloat, Field(gt=0)],
491
+ Annotated[StrictFloat, Field(gt=0)]
492
+ ]
493
+ ] = None,
494
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
495
+ _content_type: Optional[StrictStr] = None,
496
+ _headers: Optional[Dict[StrictStr, Any]] = None,
497
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
498
+ ) -> RESTResponseType:
499
+ """Get app details by type
500
+
501
+ Get a marketplace listing by type.
502
+
503
+ :param type: (required)
504
+ :type type: AppType
505
+ :param _request_timeout: timeout setting for this request. If one
506
+ number provided, it will be total request
507
+ timeout. It can also be a pair (tuple) of
508
+ (connection, read) timeouts.
509
+ :type _request_timeout: int, tuple(int, int), optional
510
+ :param _request_auth: set to override the auth_settings for an a single
511
+ request; this effectively ignores the
512
+ authentication in the spec for a single request.
513
+ :type _request_auth: dict, optional
514
+ :param _content_type: force content-type for the request.
515
+ :type _content_type: str, Optional
516
+ :param _headers: set to override the headers for a single
517
+ request; this effectively ignores the headers
518
+ in the spec for a single request.
519
+ :type _headers: dict, optional
520
+ :param _host_index: set to override the host_index for a single
521
+ request; this effectively ignores the host_index
522
+ in the spec for a single request.
523
+ :type _host_index: int, optional
524
+ :return: Returns the result object.
525
+ """ # noqa: E501
526
+
527
+ _param = self._get_marketplace_listing_serialize(
528
+ type=type,
529
+ _request_auth=_request_auth,
530
+ _content_type=_content_type,
531
+ _headers=_headers,
532
+ _host_index=_host_index
533
+ )
534
+
535
+ _response_types_map: Dict[str, Optional[str]] = {
536
+ '200': "MarketplaceListing",
537
+ '400': "UnexpectedProblemResponse",
538
+ '401': "UnexpectedProblemResponse",
539
+ '403': "UnexpectedProblemResponse",
540
+ '412': "UnexpectedProblemResponse",
541
+ '500': "UnexpectedProblemResponse",
542
+ '503': "UnexpectedProblemResponse",
543
+ }
544
+ response_data = self.api_client.call_api(
545
+ *_param,
546
+ _request_timeout=_request_timeout
547
+ )
548
+ return response_data.response
549
+
550
+
551
+ def _get_marketplace_listing_serialize(
552
+ self,
553
+ type,
554
+ _request_auth,
555
+ _content_type,
556
+ _headers,
557
+ _host_index,
558
+ ) -> RequestSerialized:
559
+
560
+ _host = None
561
+
562
+ _collection_formats: Dict[str, str] = {
563
+ }
564
+
565
+ _path_params: Dict[str, str] = {}
566
+ _query_params: List[Tuple[str, str]] = []
567
+ _header_params: Dict[str, Optional[str]] = _headers or {}
568
+ _form_params: List[Tuple[str, str]] = []
569
+ _files: Dict[
570
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
571
+ ] = {}
572
+ _body_params: Optional[bytes] = None
573
+
574
+ # process the path parameters
575
+ if type is not None:
576
+ _path_params['type'] = type.value
577
+ # process the query parameters
578
+ # process the header parameters
579
+ # process the form parameters
580
+ # process the body parameter
581
+
582
+
583
+ # set the HTTP header `Accept`
584
+ if 'Accept' not in _header_params:
585
+ _header_params['Accept'] = self.api_client.select_header_accept(
586
+ [
587
+ 'application/json',
588
+ 'application/problem+json'
589
+ ]
590
+ )
591
+
592
+
593
+ # authentication setting
594
+ _auth_settings: List[str] = [
595
+ 'CloudTokenAuth'
596
+ ]
597
+
598
+ return self.api_client.param_serialize(
599
+ method='GET',
600
+ resource_path='/api/v1/marketplace/listings/{type}',
601
+ path_params=_path_params,
602
+ query_params=_query_params,
603
+ header_params=_header_params,
604
+ body=_body_params,
605
+ post_params=_form_params,
606
+ files=_files,
607
+ auth_settings=_auth_settings,
608
+ collection_formats=_collection_formats,
609
+ _host=_host,
610
+ _request_auth=_request_auth
611
+ )
612
+
613
+
614
+
615
+
616
+ @validate_call
617
+ def list_apps(
618
+ self,
619
+ page: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Page index. Default is 1.")] = None,
620
+ page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="The maximum number of items per page. Default is 100.")] = None,
621
+ _request_timeout: Union[
622
+ None,
623
+ Annotated[StrictFloat, Field(gt=0)],
624
+ Tuple[
625
+ Annotated[StrictFloat, Field(gt=0)],
626
+ Annotated[StrictFloat, Field(gt=0)]
627
+ ]
628
+ ] = None,
629
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
630
+ _content_type: Optional[StrictStr] = None,
631
+ _headers: Optional[Dict[StrictStr, Any]] = None,
632
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
633
+ ) -> AppPaginatedResponse:
634
+ """List apps
635
+
636
+ List apps.
637
+
638
+ :param page: Page index. Default is 1.
639
+ :type page: int
640
+ :param page_size: The maximum number of items per page. Default is 100.
641
+ :type page_size: int
642
+ :param _request_timeout: timeout setting for this request. If one
643
+ number provided, it will be total request
644
+ timeout. It can also be a pair (tuple) of
645
+ (connection, read) timeouts.
646
+ :type _request_timeout: int, tuple(int, int), optional
647
+ :param _request_auth: set to override the auth_settings for an a single
648
+ request; this effectively ignores the
649
+ authentication in the spec for a single request.
650
+ :type _request_auth: dict, optional
651
+ :param _content_type: force content-type for the request.
652
+ :type _content_type: str, Optional
653
+ :param _headers: set to override the headers for a single
654
+ request; this effectively ignores the headers
655
+ in the spec for a single request.
656
+ :type _headers: dict, optional
657
+ :param _host_index: set to override the host_index for a single
658
+ request; this effectively ignores the host_index
659
+ in the spec for a single request.
660
+ :type _host_index: int, optional
661
+ :return: Returns the result object.
662
+ """ # noqa: E501
663
+
664
+ _param = self._list_apps_serialize(
665
+ page=page,
666
+ page_size=page_size,
667
+ _request_auth=_request_auth,
668
+ _content_type=_content_type,
669
+ _headers=_headers,
670
+ _host_index=_host_index
671
+ )
672
+
673
+ _response_types_map: Dict[str, Optional[str]] = {
674
+ '200': "AppPaginatedResponse",
675
+ '400': "UnexpectedProblemResponse",
676
+ '401': "UnexpectedProblemResponse",
677
+ '403': "UnexpectedProblemResponse",
678
+ '412': "UnexpectedProblemResponse",
679
+ '500': "UnexpectedProblemResponse",
680
+ '503': "UnexpectedProblemResponse",
681
+ }
682
+ response_data = self.api_client.call_api(
683
+ *_param,
684
+ _request_timeout=_request_timeout
685
+ )
686
+ response_data.read()
687
+ return self.api_client.response_deserialize(
688
+ response_data=response_data,
689
+ response_types_map=_response_types_map,
690
+ ).data
691
+
692
+
693
+ @validate_call
694
+ def list_apps_with_http_info(
695
+ self,
696
+ page: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Page index. Default is 1.")] = None,
697
+ page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="The maximum number of items per page. Default is 100.")] = None,
698
+ _request_timeout: Union[
699
+ None,
700
+ Annotated[StrictFloat, Field(gt=0)],
701
+ Tuple[
702
+ Annotated[StrictFloat, Field(gt=0)],
703
+ Annotated[StrictFloat, Field(gt=0)]
704
+ ]
705
+ ] = None,
706
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
707
+ _content_type: Optional[StrictStr] = None,
708
+ _headers: Optional[Dict[StrictStr, Any]] = None,
709
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
710
+ ) -> ApiResponse[AppPaginatedResponse]:
711
+ """List apps
712
+
713
+ List apps.
714
+
715
+ :param page: Page index. Default is 1.
716
+ :type page: int
717
+ :param page_size: The maximum number of items per page. Default is 100.
718
+ :type page_size: int
719
+ :param _request_timeout: timeout setting for this request. If one
720
+ number provided, it will be total request
721
+ timeout. It can also be a pair (tuple) of
722
+ (connection, read) timeouts.
723
+ :type _request_timeout: int, tuple(int, int), optional
724
+ :param _request_auth: set to override the auth_settings for an a single
725
+ request; this effectively ignores the
726
+ authentication in the spec for a single request.
727
+ :type _request_auth: dict, optional
728
+ :param _content_type: force content-type for the request.
729
+ :type _content_type: str, Optional
730
+ :param _headers: set to override the headers for a single
731
+ request; this effectively ignores the headers
732
+ in the spec for a single request.
733
+ :type _headers: dict, optional
734
+ :param _host_index: set to override the host_index for a single
735
+ request; this effectively ignores the host_index
736
+ in the spec for a single request.
737
+ :type _host_index: int, optional
738
+ :return: Returns the result object.
739
+ """ # noqa: E501
740
+
741
+ _param = self._list_apps_serialize(
742
+ page=page,
743
+ page_size=page_size,
744
+ _request_auth=_request_auth,
745
+ _content_type=_content_type,
746
+ _headers=_headers,
747
+ _host_index=_host_index
748
+ )
749
+
750
+ _response_types_map: Dict[str, Optional[str]] = {
751
+ '200': "AppPaginatedResponse",
752
+ '400': "UnexpectedProblemResponse",
753
+ '401': "UnexpectedProblemResponse",
754
+ '403': "UnexpectedProblemResponse",
755
+ '412': "UnexpectedProblemResponse",
756
+ '500': "UnexpectedProblemResponse",
757
+ '503': "UnexpectedProblemResponse",
758
+ }
759
+ response_data = self.api_client.call_api(
760
+ *_param,
761
+ _request_timeout=_request_timeout
762
+ )
763
+ response_data.read()
764
+ return self.api_client.response_deserialize(
765
+ response_data=response_data,
766
+ response_types_map=_response_types_map,
767
+ )
768
+
769
+
770
+ @validate_call
771
+ def list_apps_without_preload_content(
772
+ self,
773
+ page: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Page index. Default is 1.")] = None,
774
+ page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="The maximum number of items per page. Default is 100.")] = None,
775
+ _request_timeout: Union[
776
+ None,
777
+ Annotated[StrictFloat, Field(gt=0)],
778
+ Tuple[
779
+ Annotated[StrictFloat, Field(gt=0)],
780
+ Annotated[StrictFloat, Field(gt=0)]
781
+ ]
782
+ ] = None,
783
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
784
+ _content_type: Optional[StrictStr] = None,
785
+ _headers: Optional[Dict[StrictStr, Any]] = None,
786
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
787
+ ) -> RESTResponseType:
788
+ """List apps
789
+
790
+ List apps.
791
+
792
+ :param page: Page index. Default is 1.
793
+ :type page: int
794
+ :param page_size: The maximum number of items per page. Default is 100.
795
+ :type page_size: int
796
+ :param _request_timeout: timeout setting for this request. If one
797
+ number provided, it will be total request
798
+ timeout. It can also be a pair (tuple) of
799
+ (connection, read) timeouts.
800
+ :type _request_timeout: int, tuple(int, int), optional
801
+ :param _request_auth: set to override the auth_settings for an a single
802
+ request; this effectively ignores the
803
+ authentication in the spec for a single request.
804
+ :type _request_auth: dict, optional
805
+ :param _content_type: force content-type for the request.
806
+ :type _content_type: str, Optional
807
+ :param _headers: set to override the headers for a single
808
+ request; this effectively ignores the headers
809
+ in the spec for a single request.
810
+ :type _headers: dict, optional
811
+ :param _host_index: set to override the host_index for a single
812
+ request; this effectively ignores the host_index
813
+ in the spec for a single request.
814
+ :type _host_index: int, optional
815
+ :return: Returns the result object.
816
+ """ # noqa: E501
817
+
818
+ _param = self._list_apps_serialize(
819
+ page=page,
820
+ page_size=page_size,
821
+ _request_auth=_request_auth,
822
+ _content_type=_content_type,
823
+ _headers=_headers,
824
+ _host_index=_host_index
825
+ )
826
+
827
+ _response_types_map: Dict[str, Optional[str]] = {
828
+ '200': "AppPaginatedResponse",
829
+ '400': "UnexpectedProblemResponse",
830
+ '401': "UnexpectedProblemResponse",
831
+ '403': "UnexpectedProblemResponse",
832
+ '412': "UnexpectedProblemResponse",
833
+ '500': "UnexpectedProblemResponse",
834
+ '503': "UnexpectedProblemResponse",
835
+ }
836
+ response_data = self.api_client.call_api(
837
+ *_param,
838
+ _request_timeout=_request_timeout
839
+ )
840
+ return response_data.response
841
+
842
+
843
+ def _list_apps_serialize(
844
+ self,
845
+ page,
846
+ page_size,
847
+ _request_auth,
848
+ _content_type,
849
+ _headers,
850
+ _host_index,
851
+ ) -> RequestSerialized:
852
+
853
+ _host = None
854
+
855
+ _collection_formats: Dict[str, str] = {
856
+ }
857
+
858
+ _path_params: Dict[str, str] = {}
859
+ _query_params: List[Tuple[str, str]] = []
860
+ _header_params: Dict[str, Optional[str]] = _headers or {}
861
+ _form_params: List[Tuple[str, str]] = []
862
+ _files: Dict[
863
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
864
+ ] = {}
865
+ _body_params: Optional[bytes] = None
866
+
867
+ # process the path parameters
868
+ # process the query parameters
869
+ if page is not None:
870
+
871
+ _query_params.append(('page', page))
872
+
873
+ if page_size is not None:
874
+
875
+ _query_params.append(('pageSize', page_size))
876
+
877
+ # process the header parameters
878
+ # process the form parameters
879
+ # process the body parameter
880
+
881
+
882
+ # set the HTTP header `Accept`
883
+ if 'Accept' not in _header_params:
884
+ _header_params['Accept'] = self.api_client.select_header_accept(
885
+ [
886
+ 'application/json',
887
+ 'application/problem+json'
888
+ ]
889
+ )
890
+
891
+
892
+ # authentication setting
893
+ _auth_settings: List[str] = [
894
+ 'CloudTokenAuth'
895
+ ]
896
+
897
+ return self.api_client.param_serialize(
898
+ method='GET',
899
+ resource_path='/api/v1/apps',
900
+ path_params=_path_params,
901
+ query_params=_query_params,
902
+ header_params=_header_params,
903
+ body=_body_params,
904
+ post_params=_form_params,
905
+ files=_files,
906
+ auth_settings=_auth_settings,
907
+ collection_formats=_collection_formats,
908
+ _host=_host,
909
+ _request_auth=_request_auth
910
+ )
911
+
912
+
913
+
914
+
915
+ @validate_call
916
+ def list_marketplace_listings(
917
+ self,
918
+ page: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Page index. Default is 1.")] = None,
919
+ page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="The maximum number of items per page. Default is 100.")] = None,
920
+ _request_timeout: Union[
921
+ None,
922
+ Annotated[StrictFloat, Field(gt=0)],
923
+ Tuple[
924
+ Annotated[StrictFloat, Field(gt=0)],
925
+ Annotated[StrictFloat, Field(gt=0)]
926
+ ]
927
+ ] = None,
928
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
929
+ _content_type: Optional[StrictStr] = None,
930
+ _headers: Optional[Dict[StrictStr, Any]] = None,
931
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
932
+ ) -> MarketplaceListingPaginatedResponse:
933
+ """List available apps
934
+
935
+ List available apps of the app marketplace.
936
+
937
+ :param page: Page index. Default is 1.
938
+ :type page: int
939
+ :param page_size: The maximum number of items per page. Default is 100.
940
+ :type page_size: int
941
+ :param _request_timeout: timeout setting for this request. If one
942
+ number provided, it will be total request
943
+ timeout. It can also be a pair (tuple) of
944
+ (connection, read) timeouts.
945
+ :type _request_timeout: int, tuple(int, int), optional
946
+ :param _request_auth: set to override the auth_settings for an a single
947
+ request; this effectively ignores the
948
+ authentication in the spec for a single request.
949
+ :type _request_auth: dict, optional
950
+ :param _content_type: force content-type for the request.
951
+ :type _content_type: str, Optional
952
+ :param _headers: set to override the headers for a single
953
+ request; this effectively ignores the headers
954
+ in the spec for a single request.
955
+ :type _headers: dict, optional
956
+ :param _host_index: set to override the host_index for a single
957
+ request; this effectively ignores the host_index
958
+ in the spec for a single request.
959
+ :type _host_index: int, optional
960
+ :return: Returns the result object.
961
+ """ # noqa: E501
962
+
963
+ _param = self._list_marketplace_listings_serialize(
964
+ page=page,
965
+ page_size=page_size,
966
+ _request_auth=_request_auth,
967
+ _content_type=_content_type,
968
+ _headers=_headers,
969
+ _host_index=_host_index
970
+ )
971
+
972
+ _response_types_map: Dict[str, Optional[str]] = {
973
+ '200': "MarketplaceListingPaginatedResponse",
974
+ '400': "UnexpectedProblemResponse",
975
+ '401': "UnexpectedProblemResponse",
976
+ '403': "UnexpectedProblemResponse",
977
+ '412': "UnexpectedProblemResponse",
978
+ '500': "UnexpectedProblemResponse",
979
+ '503': "UnexpectedProblemResponse",
980
+ }
981
+ response_data = self.api_client.call_api(
982
+ *_param,
983
+ _request_timeout=_request_timeout
984
+ )
985
+ response_data.read()
986
+ return self.api_client.response_deserialize(
987
+ response_data=response_data,
988
+ response_types_map=_response_types_map,
989
+ ).data
990
+
991
+
992
+ @validate_call
993
+ def list_marketplace_listings_with_http_info(
994
+ self,
995
+ page: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Page index. Default is 1.")] = None,
996
+ page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="The maximum number of items per page. Default is 100.")] = None,
997
+ _request_timeout: Union[
998
+ None,
999
+ Annotated[StrictFloat, Field(gt=0)],
1000
+ Tuple[
1001
+ Annotated[StrictFloat, Field(gt=0)],
1002
+ Annotated[StrictFloat, Field(gt=0)]
1003
+ ]
1004
+ ] = None,
1005
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1006
+ _content_type: Optional[StrictStr] = None,
1007
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1008
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1009
+ ) -> ApiResponse[MarketplaceListingPaginatedResponse]:
1010
+ """List available apps
1011
+
1012
+ List available apps of the app marketplace.
1013
+
1014
+ :param page: Page index. Default is 1.
1015
+ :type page: int
1016
+ :param page_size: The maximum number of items per page. Default is 100.
1017
+ :type page_size: int
1018
+ :param _request_timeout: timeout setting for this request. If one
1019
+ number provided, it will be total request
1020
+ timeout. It can also be a pair (tuple) of
1021
+ (connection, read) timeouts.
1022
+ :type _request_timeout: int, tuple(int, int), optional
1023
+ :param _request_auth: set to override the auth_settings for an a single
1024
+ request; this effectively ignores the
1025
+ authentication in the spec for a single request.
1026
+ :type _request_auth: dict, optional
1027
+ :param _content_type: force content-type for the request.
1028
+ :type _content_type: str, Optional
1029
+ :param _headers: set to override the headers for a single
1030
+ request; this effectively ignores the headers
1031
+ in the spec for a single request.
1032
+ :type _headers: dict, optional
1033
+ :param _host_index: set to override the host_index for a single
1034
+ request; this effectively ignores the host_index
1035
+ in the spec for a single request.
1036
+ :type _host_index: int, optional
1037
+ :return: Returns the result object.
1038
+ """ # noqa: E501
1039
+
1040
+ _param = self._list_marketplace_listings_serialize(
1041
+ page=page,
1042
+ page_size=page_size,
1043
+ _request_auth=_request_auth,
1044
+ _content_type=_content_type,
1045
+ _headers=_headers,
1046
+ _host_index=_host_index
1047
+ )
1048
+
1049
+ _response_types_map: Dict[str, Optional[str]] = {
1050
+ '200': "MarketplaceListingPaginatedResponse",
1051
+ '400': "UnexpectedProblemResponse",
1052
+ '401': "UnexpectedProblemResponse",
1053
+ '403': "UnexpectedProblemResponse",
1054
+ '412': "UnexpectedProblemResponse",
1055
+ '500': "UnexpectedProblemResponse",
1056
+ '503': "UnexpectedProblemResponse",
1057
+ }
1058
+ response_data = self.api_client.call_api(
1059
+ *_param,
1060
+ _request_timeout=_request_timeout
1061
+ )
1062
+ response_data.read()
1063
+ return self.api_client.response_deserialize(
1064
+ response_data=response_data,
1065
+ response_types_map=_response_types_map,
1066
+ )
1067
+
1068
+
1069
+ @validate_call
1070
+ def list_marketplace_listings_without_preload_content(
1071
+ self,
1072
+ page: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Page index. Default is 1.")] = None,
1073
+ page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="The maximum number of items per page. Default is 100.")] = None,
1074
+ _request_timeout: Union[
1075
+ None,
1076
+ Annotated[StrictFloat, Field(gt=0)],
1077
+ Tuple[
1078
+ Annotated[StrictFloat, Field(gt=0)],
1079
+ Annotated[StrictFloat, Field(gt=0)]
1080
+ ]
1081
+ ] = None,
1082
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1083
+ _content_type: Optional[StrictStr] = None,
1084
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1085
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1086
+ ) -> RESTResponseType:
1087
+ """List available apps
1088
+
1089
+ List available apps of the app marketplace.
1090
+
1091
+ :param page: Page index. Default is 1.
1092
+ :type page: int
1093
+ :param page_size: The maximum number of items per page. Default is 100.
1094
+ :type page_size: int
1095
+ :param _request_timeout: timeout setting for this request. If one
1096
+ number provided, it will be total request
1097
+ timeout. It can also be a pair (tuple) of
1098
+ (connection, read) timeouts.
1099
+ :type _request_timeout: int, tuple(int, int), optional
1100
+ :param _request_auth: set to override the auth_settings for an a single
1101
+ request; this effectively ignores the
1102
+ authentication in the spec for a single request.
1103
+ :type _request_auth: dict, optional
1104
+ :param _content_type: force content-type for the request.
1105
+ :type _content_type: str, Optional
1106
+ :param _headers: set to override the headers for a single
1107
+ request; this effectively ignores the headers
1108
+ in the spec for a single request.
1109
+ :type _headers: dict, optional
1110
+ :param _host_index: set to override the host_index for a single
1111
+ request; this effectively ignores the host_index
1112
+ in the spec for a single request.
1113
+ :type _host_index: int, optional
1114
+ :return: Returns the result object.
1115
+ """ # noqa: E501
1116
+
1117
+ _param = self._list_marketplace_listings_serialize(
1118
+ page=page,
1119
+ page_size=page_size,
1120
+ _request_auth=_request_auth,
1121
+ _content_type=_content_type,
1122
+ _headers=_headers,
1123
+ _host_index=_host_index
1124
+ )
1125
+
1126
+ _response_types_map: Dict[str, Optional[str]] = {
1127
+ '200': "MarketplaceListingPaginatedResponse",
1128
+ '400': "UnexpectedProblemResponse",
1129
+ '401': "UnexpectedProblemResponse",
1130
+ '403': "UnexpectedProblemResponse",
1131
+ '412': "UnexpectedProblemResponse",
1132
+ '500': "UnexpectedProblemResponse",
1133
+ '503': "UnexpectedProblemResponse",
1134
+ }
1135
+ response_data = self.api_client.call_api(
1136
+ *_param,
1137
+ _request_timeout=_request_timeout
1138
+ )
1139
+ return response_data.response
1140
+
1141
+
1142
+ def _list_marketplace_listings_serialize(
1143
+ self,
1144
+ page,
1145
+ page_size,
1146
+ _request_auth,
1147
+ _content_type,
1148
+ _headers,
1149
+ _host_index,
1150
+ ) -> RequestSerialized:
1151
+
1152
+ _host = None
1153
+
1154
+ _collection_formats: Dict[str, str] = {
1155
+ }
1156
+
1157
+ _path_params: Dict[str, str] = {}
1158
+ _query_params: List[Tuple[str, str]] = []
1159
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1160
+ _form_params: List[Tuple[str, str]] = []
1161
+ _files: Dict[
1162
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1163
+ ] = {}
1164
+ _body_params: Optional[bytes] = None
1165
+
1166
+ # process the path parameters
1167
+ # process the query parameters
1168
+ if page is not None:
1169
+
1170
+ _query_params.append(('page', page))
1171
+
1172
+ if page_size is not None:
1173
+
1174
+ _query_params.append(('pageSize', page_size))
1175
+
1176
+ # process the header parameters
1177
+ # process the form parameters
1178
+ # process the body parameter
1179
+
1180
+
1181
+ # set the HTTP header `Accept`
1182
+ if 'Accept' not in _header_params:
1183
+ _header_params['Accept'] = self.api_client.select_header_accept(
1184
+ [
1185
+ 'application/json',
1186
+ 'application/problem+json'
1187
+ ]
1188
+ )
1189
+
1190
+
1191
+ # authentication setting
1192
+ _auth_settings: List[str] = [
1193
+ 'CloudTokenAuth'
1194
+ ]
1195
+
1196
+ return self.api_client.param_serialize(
1197
+ method='GET',
1198
+ resource_path='/api/v1/marketplace/listings',
1199
+ path_params=_path_params,
1200
+ query_params=_query_params,
1201
+ header_params=_header_params,
1202
+ body=_body_params,
1203
+ post_params=_form_params,
1204
+ files=_files,
1205
+ auth_settings=_auth_settings,
1206
+ collection_formats=_collection_formats,
1207
+ _host=_host,
1208
+ _request_auth=_request_auth
1209
+ )
1210
+
1211
+
1212
+
1213
+
1214
+ @validate_call
1215
+ def marketplace_app_api_key_install(
1216
+ self,
1217
+ type: Annotated[AppType, Field(description="The type of the app to install.")],
1218
+ marketplace_app_api_key_install_request: MarketplaceAppAPIKeyInstallRequest,
1219
+ _request_timeout: Union[
1220
+ None,
1221
+ Annotated[StrictFloat, Field(gt=0)],
1222
+ Tuple[
1223
+ Annotated[StrictFloat, Field(gt=0)],
1224
+ Annotated[StrictFloat, Field(gt=0)]
1225
+ ]
1226
+ ] = None,
1227
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1228
+ _content_type: Optional[StrictStr] = None,
1229
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1230
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1231
+ ) -> MarketplaceInstallResponse:
1232
+ """Install app via API key
1233
+
1234
+ Install an marketplace app via API Key.
1235
+
1236
+ :param type: The type of the app to install. (required)
1237
+ :type type: AppType
1238
+ :param marketplace_app_api_key_install_request: (required)
1239
+ :type marketplace_app_api_key_install_request: MarketplaceAppAPIKeyInstallRequest
1240
+ :param _request_timeout: timeout setting for this request. If one
1241
+ number provided, it will be total request
1242
+ timeout. It can also be a pair (tuple) of
1243
+ (connection, read) timeouts.
1244
+ :type _request_timeout: int, tuple(int, int), optional
1245
+ :param _request_auth: set to override the auth_settings for an a single
1246
+ request; this effectively ignores the
1247
+ authentication in the spec for a single request.
1248
+ :type _request_auth: dict, optional
1249
+ :param _content_type: force content-type for the request.
1250
+ :type _content_type: str, Optional
1251
+ :param _headers: set to override the headers for a single
1252
+ request; this effectively ignores the headers
1253
+ in the spec for a single request.
1254
+ :type _headers: dict, optional
1255
+ :param _host_index: set to override the host_index for a single
1256
+ request; this effectively ignores the host_index
1257
+ in the spec for a single request.
1258
+ :type _host_index: int, optional
1259
+ :return: Returns the result object.
1260
+ """ # noqa: E501
1261
+
1262
+ _param = self._marketplace_app_api_key_install_serialize(
1263
+ type=type,
1264
+ marketplace_app_api_key_install_request=marketplace_app_api_key_install_request,
1265
+ _request_auth=_request_auth,
1266
+ _content_type=_content_type,
1267
+ _headers=_headers,
1268
+ _host_index=_host_index
1269
+ )
1270
+
1271
+ _response_types_map: Dict[str, Optional[str]] = {
1272
+ '200': "MarketplaceInstallResponse",
1273
+ '400': "UnexpectedProblemResponse",
1274
+ '401': "UnexpectedProblemResponse",
1275
+ '403': "UnexpectedProblemResponse",
1276
+ '412': "UnexpectedProblemResponse",
1277
+ '500': "UnexpectedProblemResponse",
1278
+ '503': "UnexpectedProblemResponse",
1279
+ }
1280
+ response_data = self.api_client.call_api(
1281
+ *_param,
1282
+ _request_timeout=_request_timeout
1283
+ )
1284
+ response_data.read()
1285
+ return self.api_client.response_deserialize(
1286
+ response_data=response_data,
1287
+ response_types_map=_response_types_map,
1288
+ ).data
1289
+
1290
+
1291
+ @validate_call
1292
+ def marketplace_app_api_key_install_with_http_info(
1293
+ self,
1294
+ type: Annotated[AppType, Field(description="The type of the app to install.")],
1295
+ marketplace_app_api_key_install_request: MarketplaceAppAPIKeyInstallRequest,
1296
+ _request_timeout: Union[
1297
+ None,
1298
+ Annotated[StrictFloat, Field(gt=0)],
1299
+ Tuple[
1300
+ Annotated[StrictFloat, Field(gt=0)],
1301
+ Annotated[StrictFloat, Field(gt=0)]
1302
+ ]
1303
+ ] = None,
1304
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1305
+ _content_type: Optional[StrictStr] = None,
1306
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1307
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1308
+ ) -> ApiResponse[MarketplaceInstallResponse]:
1309
+ """Install app via API key
1310
+
1311
+ Install an marketplace app via API Key.
1312
+
1313
+ :param type: The type of the app to install. (required)
1314
+ :type type: AppType
1315
+ :param marketplace_app_api_key_install_request: (required)
1316
+ :type marketplace_app_api_key_install_request: MarketplaceAppAPIKeyInstallRequest
1317
+ :param _request_timeout: timeout setting for this request. If one
1318
+ number provided, it will be total request
1319
+ timeout. It can also be a pair (tuple) of
1320
+ (connection, read) timeouts.
1321
+ :type _request_timeout: int, tuple(int, int), optional
1322
+ :param _request_auth: set to override the auth_settings for an a single
1323
+ request; this effectively ignores the
1324
+ authentication in the spec for a single request.
1325
+ :type _request_auth: dict, optional
1326
+ :param _content_type: force content-type for the request.
1327
+ :type _content_type: str, Optional
1328
+ :param _headers: set to override the headers for a single
1329
+ request; this effectively ignores the headers
1330
+ in the spec for a single request.
1331
+ :type _headers: dict, optional
1332
+ :param _host_index: set to override the host_index for a single
1333
+ request; this effectively ignores the host_index
1334
+ in the spec for a single request.
1335
+ :type _host_index: int, optional
1336
+ :return: Returns the result object.
1337
+ """ # noqa: E501
1338
+
1339
+ _param = self._marketplace_app_api_key_install_serialize(
1340
+ type=type,
1341
+ marketplace_app_api_key_install_request=marketplace_app_api_key_install_request,
1342
+ _request_auth=_request_auth,
1343
+ _content_type=_content_type,
1344
+ _headers=_headers,
1345
+ _host_index=_host_index
1346
+ )
1347
+
1348
+ _response_types_map: Dict[str, Optional[str]] = {
1349
+ '200': "MarketplaceInstallResponse",
1350
+ '400': "UnexpectedProblemResponse",
1351
+ '401': "UnexpectedProblemResponse",
1352
+ '403': "UnexpectedProblemResponse",
1353
+ '412': "UnexpectedProblemResponse",
1354
+ '500': "UnexpectedProblemResponse",
1355
+ '503': "UnexpectedProblemResponse",
1356
+ }
1357
+ response_data = self.api_client.call_api(
1358
+ *_param,
1359
+ _request_timeout=_request_timeout
1360
+ )
1361
+ response_data.read()
1362
+ return self.api_client.response_deserialize(
1363
+ response_data=response_data,
1364
+ response_types_map=_response_types_map,
1365
+ )
1366
+
1367
+
1368
+ @validate_call
1369
+ def marketplace_app_api_key_install_without_preload_content(
1370
+ self,
1371
+ type: Annotated[AppType, Field(description="The type of the app to install.")],
1372
+ marketplace_app_api_key_install_request: MarketplaceAppAPIKeyInstallRequest,
1373
+ _request_timeout: Union[
1374
+ None,
1375
+ Annotated[StrictFloat, Field(gt=0)],
1376
+ Tuple[
1377
+ Annotated[StrictFloat, Field(gt=0)],
1378
+ Annotated[StrictFloat, Field(gt=0)]
1379
+ ]
1380
+ ] = None,
1381
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1382
+ _content_type: Optional[StrictStr] = None,
1383
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1384
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1385
+ ) -> RESTResponseType:
1386
+ """Install app via API key
1387
+
1388
+ Install an marketplace app via API Key.
1389
+
1390
+ :param type: The type of the app to install. (required)
1391
+ :type type: AppType
1392
+ :param marketplace_app_api_key_install_request: (required)
1393
+ :type marketplace_app_api_key_install_request: MarketplaceAppAPIKeyInstallRequest
1394
+ :param _request_timeout: timeout setting for this request. If one
1395
+ number provided, it will be total request
1396
+ timeout. It can also be a pair (tuple) of
1397
+ (connection, read) timeouts.
1398
+ :type _request_timeout: int, tuple(int, int), optional
1399
+ :param _request_auth: set to override the auth_settings for an a single
1400
+ request; this effectively ignores the
1401
+ authentication in the spec for a single request.
1402
+ :type _request_auth: dict, optional
1403
+ :param _content_type: force content-type for the request.
1404
+ :type _content_type: str, Optional
1405
+ :param _headers: set to override the headers for a single
1406
+ request; this effectively ignores the headers
1407
+ in the spec for a single request.
1408
+ :type _headers: dict, optional
1409
+ :param _host_index: set to override the host_index for a single
1410
+ request; this effectively ignores the host_index
1411
+ in the spec for a single request.
1412
+ :type _host_index: int, optional
1413
+ :return: Returns the result object.
1414
+ """ # noqa: E501
1415
+
1416
+ _param = self._marketplace_app_api_key_install_serialize(
1417
+ type=type,
1418
+ marketplace_app_api_key_install_request=marketplace_app_api_key_install_request,
1419
+ _request_auth=_request_auth,
1420
+ _content_type=_content_type,
1421
+ _headers=_headers,
1422
+ _host_index=_host_index
1423
+ )
1424
+
1425
+ _response_types_map: Dict[str, Optional[str]] = {
1426
+ '200': "MarketplaceInstallResponse",
1427
+ '400': "UnexpectedProblemResponse",
1428
+ '401': "UnexpectedProblemResponse",
1429
+ '403': "UnexpectedProblemResponse",
1430
+ '412': "UnexpectedProblemResponse",
1431
+ '500': "UnexpectedProblemResponse",
1432
+ '503': "UnexpectedProblemResponse",
1433
+ }
1434
+ response_data = self.api_client.call_api(
1435
+ *_param,
1436
+ _request_timeout=_request_timeout
1437
+ )
1438
+ return response_data.response
1439
+
1440
+
1441
+ def _marketplace_app_api_key_install_serialize(
1442
+ self,
1443
+ type,
1444
+ marketplace_app_api_key_install_request,
1445
+ _request_auth,
1446
+ _content_type,
1447
+ _headers,
1448
+ _host_index,
1449
+ ) -> RequestSerialized:
1450
+
1451
+ _host = None
1452
+
1453
+ _collection_formats: Dict[str, str] = {
1454
+ }
1455
+
1456
+ _path_params: Dict[str, str] = {}
1457
+ _query_params: List[Tuple[str, str]] = []
1458
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1459
+ _form_params: List[Tuple[str, str]] = []
1460
+ _files: Dict[
1461
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1462
+ ] = {}
1463
+ _body_params: Optional[bytes] = None
1464
+
1465
+ # process the path parameters
1466
+ if type is not None:
1467
+ _path_params['type'] = type.value
1468
+ # process the query parameters
1469
+ # process the header parameters
1470
+ # process the form parameters
1471
+ # process the body parameter
1472
+ if marketplace_app_api_key_install_request is not None:
1473
+ _body_params = marketplace_app_api_key_install_request
1474
+
1475
+
1476
+ # set the HTTP header `Accept`
1477
+ if 'Accept' not in _header_params:
1478
+ _header_params['Accept'] = self.api_client.select_header_accept(
1479
+ [
1480
+ 'application/json',
1481
+ 'application/problem+json'
1482
+ ]
1483
+ )
1484
+
1485
+ # set the HTTP header `Content-Type`
1486
+ if _content_type:
1487
+ _header_params['Content-Type'] = _content_type
1488
+ else:
1489
+ _default_content_type = (
1490
+ self.api_client.select_header_content_type(
1491
+ [
1492
+ 'application/json'
1493
+ ]
1494
+ )
1495
+ )
1496
+ if _default_content_type is not None:
1497
+ _header_params['Content-Type'] = _default_content_type
1498
+
1499
+ # authentication setting
1500
+ _auth_settings: List[str] = [
1501
+ 'CloudTokenAuth'
1502
+ ]
1503
+
1504
+ return self.api_client.param_serialize(
1505
+ method='POST',
1506
+ resource_path='/api/v1/marketplace/listings/{type}/install/apikey',
1507
+ path_params=_path_params,
1508
+ query_params=_query_params,
1509
+ header_params=_header_params,
1510
+ body=_body_params,
1511
+ post_params=_form_params,
1512
+ files=_files,
1513
+ auth_settings=_auth_settings,
1514
+ collection_formats=_collection_formats,
1515
+ _host=_host,
1516
+ _request_auth=_request_auth
1517
+ )
1518
+
1519
+
1520
+
1521
+
1522
+ @validate_call
1523
+ def marketplace_app_install(
1524
+ self,
1525
+ type: Annotated[AppType, Field(description="The type of the app to install.")],
1526
+ marketplace_install_request_payload: MarketplaceInstallRequestPayload,
1527
+ _request_timeout: Union[
1528
+ None,
1529
+ Annotated[StrictFloat, Field(gt=0)],
1530
+ Tuple[
1531
+ Annotated[StrictFloat, Field(gt=0)],
1532
+ Annotated[StrictFloat, Field(gt=0)]
1533
+ ]
1534
+ ] = None,
1535
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1536
+ _content_type: Optional[StrictStr] = None,
1537
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1538
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1539
+ ) -> MarketplaceInstallResponse:
1540
+ """Install app
1541
+
1542
+ Install an app from the marketplace.
1543
+
1544
+ :param type: The type of the app to install. (required)
1545
+ :type type: AppType
1546
+ :param marketplace_install_request_payload: (required)
1547
+ :type marketplace_install_request_payload: MarketplaceInstallRequestPayload
1548
+ :param _request_timeout: timeout setting for this request. If one
1549
+ number provided, it will be total request
1550
+ timeout. It can also be a pair (tuple) of
1551
+ (connection, read) timeouts.
1552
+ :type _request_timeout: int, tuple(int, int), optional
1553
+ :param _request_auth: set to override the auth_settings for an a single
1554
+ request; this effectively ignores the
1555
+ authentication in the spec for a single request.
1556
+ :type _request_auth: dict, optional
1557
+ :param _content_type: force content-type for the request.
1558
+ :type _content_type: str, Optional
1559
+ :param _headers: set to override the headers for a single
1560
+ request; this effectively ignores the headers
1561
+ in the spec for a single request.
1562
+ :type _headers: dict, optional
1563
+ :param _host_index: set to override the host_index for a single
1564
+ request; this effectively ignores the host_index
1565
+ in the spec for a single request.
1566
+ :type _host_index: int, optional
1567
+ :return: Returns the result object.
1568
+ """ # noqa: E501
1569
+
1570
+ _param = self._marketplace_app_install_serialize(
1571
+ type=type,
1572
+ marketplace_install_request_payload=marketplace_install_request_payload,
1573
+ _request_auth=_request_auth,
1574
+ _content_type=_content_type,
1575
+ _headers=_headers,
1576
+ _host_index=_host_index
1577
+ )
1578
+
1579
+ _response_types_map: Dict[str, Optional[str]] = {
1580
+ '200': "MarketplaceInstallResponse",
1581
+ '400': "UnexpectedProblemResponse",
1582
+ '401': "UnexpectedProblemResponse",
1583
+ '403': "UnexpectedProblemResponse",
1584
+ '412': "UnexpectedProblemResponse",
1585
+ '500': "UnexpectedProblemResponse",
1586
+ '503': "UnexpectedProblemResponse",
1587
+ }
1588
+ response_data = self.api_client.call_api(
1589
+ *_param,
1590
+ _request_timeout=_request_timeout
1591
+ )
1592
+ response_data.read()
1593
+ return self.api_client.response_deserialize(
1594
+ response_data=response_data,
1595
+ response_types_map=_response_types_map,
1596
+ ).data
1597
+
1598
+
1599
+ @validate_call
1600
+ def marketplace_app_install_with_http_info(
1601
+ self,
1602
+ type: Annotated[AppType, Field(description="The type of the app to install.")],
1603
+ marketplace_install_request_payload: MarketplaceInstallRequestPayload,
1604
+ _request_timeout: Union[
1605
+ None,
1606
+ Annotated[StrictFloat, Field(gt=0)],
1607
+ Tuple[
1608
+ Annotated[StrictFloat, Field(gt=0)],
1609
+ Annotated[StrictFloat, Field(gt=0)]
1610
+ ]
1611
+ ] = None,
1612
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1613
+ _content_type: Optional[StrictStr] = None,
1614
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1615
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1616
+ ) -> ApiResponse[MarketplaceInstallResponse]:
1617
+ """Install app
1618
+
1619
+ Install an app from the marketplace.
1620
+
1621
+ :param type: The type of the app to install. (required)
1622
+ :type type: AppType
1623
+ :param marketplace_install_request_payload: (required)
1624
+ :type marketplace_install_request_payload: MarketplaceInstallRequestPayload
1625
+ :param _request_timeout: timeout setting for this request. If one
1626
+ number provided, it will be total request
1627
+ timeout. It can also be a pair (tuple) of
1628
+ (connection, read) timeouts.
1629
+ :type _request_timeout: int, tuple(int, int), optional
1630
+ :param _request_auth: set to override the auth_settings for an a single
1631
+ request; this effectively ignores the
1632
+ authentication in the spec for a single request.
1633
+ :type _request_auth: dict, optional
1634
+ :param _content_type: force content-type for the request.
1635
+ :type _content_type: str, Optional
1636
+ :param _headers: set to override the headers for a single
1637
+ request; this effectively ignores the headers
1638
+ in the spec for a single request.
1639
+ :type _headers: dict, optional
1640
+ :param _host_index: set to override the host_index for a single
1641
+ request; this effectively ignores the host_index
1642
+ in the spec for a single request.
1643
+ :type _host_index: int, optional
1644
+ :return: Returns the result object.
1645
+ """ # noqa: E501
1646
+
1647
+ _param = self._marketplace_app_install_serialize(
1648
+ type=type,
1649
+ marketplace_install_request_payload=marketplace_install_request_payload,
1650
+ _request_auth=_request_auth,
1651
+ _content_type=_content_type,
1652
+ _headers=_headers,
1653
+ _host_index=_host_index
1654
+ )
1655
+
1656
+ _response_types_map: Dict[str, Optional[str]] = {
1657
+ '200': "MarketplaceInstallResponse",
1658
+ '400': "UnexpectedProblemResponse",
1659
+ '401': "UnexpectedProblemResponse",
1660
+ '403': "UnexpectedProblemResponse",
1661
+ '412': "UnexpectedProblemResponse",
1662
+ '500': "UnexpectedProblemResponse",
1663
+ '503': "UnexpectedProblemResponse",
1664
+ }
1665
+ response_data = self.api_client.call_api(
1666
+ *_param,
1667
+ _request_timeout=_request_timeout
1668
+ )
1669
+ response_data.read()
1670
+ return self.api_client.response_deserialize(
1671
+ response_data=response_data,
1672
+ response_types_map=_response_types_map,
1673
+ )
1674
+
1675
+
1676
+ @validate_call
1677
+ def marketplace_app_install_without_preload_content(
1678
+ self,
1679
+ type: Annotated[AppType, Field(description="The type of the app to install.")],
1680
+ marketplace_install_request_payload: MarketplaceInstallRequestPayload,
1681
+ _request_timeout: Union[
1682
+ None,
1683
+ Annotated[StrictFloat, Field(gt=0)],
1684
+ Tuple[
1685
+ Annotated[StrictFloat, Field(gt=0)],
1686
+ Annotated[StrictFloat, Field(gt=0)]
1687
+ ]
1688
+ ] = None,
1689
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1690
+ _content_type: Optional[StrictStr] = None,
1691
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1692
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1693
+ ) -> RESTResponseType:
1694
+ """Install app
1695
+
1696
+ Install an app from the marketplace.
1697
+
1698
+ :param type: The type of the app to install. (required)
1699
+ :type type: AppType
1700
+ :param marketplace_install_request_payload: (required)
1701
+ :type marketplace_install_request_payload: MarketplaceInstallRequestPayload
1702
+ :param _request_timeout: timeout setting for this request. If one
1703
+ number provided, it will be total request
1704
+ timeout. It can also be a pair (tuple) of
1705
+ (connection, read) timeouts.
1706
+ :type _request_timeout: int, tuple(int, int), optional
1707
+ :param _request_auth: set to override the auth_settings for an a single
1708
+ request; this effectively ignores the
1709
+ authentication in the spec for a single request.
1710
+ :type _request_auth: dict, optional
1711
+ :param _content_type: force content-type for the request.
1712
+ :type _content_type: str, Optional
1713
+ :param _headers: set to override the headers for a single
1714
+ request; this effectively ignores the headers
1715
+ in the spec for a single request.
1716
+ :type _headers: dict, optional
1717
+ :param _host_index: set to override the host_index for a single
1718
+ request; this effectively ignores the host_index
1719
+ in the spec for a single request.
1720
+ :type _host_index: int, optional
1721
+ :return: Returns the result object.
1722
+ """ # noqa: E501
1723
+
1724
+ _param = self._marketplace_app_install_serialize(
1725
+ type=type,
1726
+ marketplace_install_request_payload=marketplace_install_request_payload,
1727
+ _request_auth=_request_auth,
1728
+ _content_type=_content_type,
1729
+ _headers=_headers,
1730
+ _host_index=_host_index
1731
+ )
1732
+
1733
+ _response_types_map: Dict[str, Optional[str]] = {
1734
+ '200': "MarketplaceInstallResponse",
1735
+ '400': "UnexpectedProblemResponse",
1736
+ '401': "UnexpectedProblemResponse",
1737
+ '403': "UnexpectedProblemResponse",
1738
+ '412': "UnexpectedProblemResponse",
1739
+ '500': "UnexpectedProblemResponse",
1740
+ '503': "UnexpectedProblemResponse",
1741
+ }
1742
+ response_data = self.api_client.call_api(
1743
+ *_param,
1744
+ _request_timeout=_request_timeout
1745
+ )
1746
+ return response_data.response
1747
+
1748
+
1749
+ def _marketplace_app_install_serialize(
1750
+ self,
1751
+ type,
1752
+ marketplace_install_request_payload,
1753
+ _request_auth,
1754
+ _content_type,
1755
+ _headers,
1756
+ _host_index,
1757
+ ) -> RequestSerialized:
1758
+
1759
+ _host = None
1760
+
1761
+ _collection_formats: Dict[str, str] = {
1762
+ }
1763
+
1764
+ _path_params: Dict[str, str] = {}
1765
+ _query_params: List[Tuple[str, str]] = []
1766
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1767
+ _form_params: List[Tuple[str, str]] = []
1768
+ _files: Dict[
1769
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1770
+ ] = {}
1771
+ _body_params: Optional[bytes] = None
1772
+
1773
+ # process the path parameters
1774
+ if type is not None:
1775
+ _path_params['type'] = type.value
1776
+ # process the query parameters
1777
+ # process the header parameters
1778
+ # process the form parameters
1779
+ # process the body parameter
1780
+ if marketplace_install_request_payload is not None:
1781
+ _body_params = marketplace_install_request_payload
1782
+
1783
+
1784
+ # set the HTTP header `Accept`
1785
+ if 'Accept' not in _header_params:
1786
+ _header_params['Accept'] = self.api_client.select_header_accept(
1787
+ [
1788
+ 'application/json',
1789
+ 'application/problem+json'
1790
+ ]
1791
+ )
1792
+
1793
+ # set the HTTP header `Content-Type`
1794
+ if _content_type:
1795
+ _header_params['Content-Type'] = _content_type
1796
+ else:
1797
+ _default_content_type = (
1798
+ self.api_client.select_header_content_type(
1799
+ [
1800
+ 'application/json'
1801
+ ]
1802
+ )
1803
+ )
1804
+ if _default_content_type is not None:
1805
+ _header_params['Content-Type'] = _default_content_type
1806
+
1807
+ # authentication setting
1808
+ _auth_settings: List[str] = [
1809
+ 'CloudTokenAuth'
1810
+ ]
1811
+
1812
+ return self.api_client.param_serialize(
1813
+ method='POST',
1814
+ resource_path='/api/v1/marketplace/listings/{type}/install',
1815
+ path_params=_path_params,
1816
+ query_params=_query_params,
1817
+ header_params=_header_params,
1818
+ body=_body_params,
1819
+ post_params=_form_params,
1820
+ files=_files,
1821
+ auth_settings=_auth_settings,
1822
+ collection_formats=_collection_formats,
1823
+ _host=_host,
1824
+ _request_auth=_request_auth
1825
+ )
1826
+
1827
+
1828
+
1829
+
1830
+ @validate_call
1831
+ def marketplace_o_auth2_install_authorize(
1832
+ self,
1833
+ type: Annotated[AppType, Field(description="The type of the app to install.")],
1834
+ state: Annotated[Optional[StrictStr], Field(description="Required if the \"state\" parameter was present in the client authorization request. The exact value received from the client: Unique, randomly generated, opaque, and non-guessable string that is sent when starting an authentication request and validated when processing the response.")] = None,
1835
+ code: Annotated[Optional[StrictStr], Field(description="Authorization code which the client will later exchange for an access token. Required with the success response.")] = None,
1836
+ error: Annotated[Optional[OAuth2AuthorizationCodeGrantErrorType], Field(description="Error code. Required with the error response.")] = None,
1837
+ error_description: Annotated[Optional[StrictStr], Field(description="Optional human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.")] = None,
1838
+ error_uri: Annotated[Optional[StrictStr], Field(description="Optional uri identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error")] = None,
1839
+ _request_timeout: Union[
1840
+ None,
1841
+ Annotated[StrictFloat, Field(gt=0)],
1842
+ Tuple[
1843
+ Annotated[StrictFloat, Field(gt=0)],
1844
+ Annotated[StrictFloat, Field(gt=0)]
1845
+ ]
1846
+ ] = None,
1847
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1848
+ _content_type: Optional[StrictStr] = None,
1849
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1850
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1851
+ ) -> UnexpectedProblemResponse:
1852
+ """Install app via OAuth2
1853
+
1854
+ Authorize OAuth2 code. Verifies the OAuth code and exchanges it for a token and refresh token
1855
+
1856
+ :param type: The type of the app to install. (required)
1857
+ :type type: AppType
1858
+ :param state: Required if the \"state\" parameter was present in the client authorization request. The exact value received from the client: Unique, randomly generated, opaque, and non-guessable string that is sent when starting an authentication request and validated when processing the response.
1859
+ :type state: str
1860
+ :param code: Authorization code which the client will later exchange for an access token. Required with the success response.
1861
+ :type code: str
1862
+ :param error: Error code. Required with the error response.
1863
+ :type error: OAuth2AuthorizationCodeGrantErrorType
1864
+ :param error_description: Optional human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.
1865
+ :type error_description: str
1866
+ :param error_uri: Optional uri identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error
1867
+ :type error_uri: str
1868
+ :param _request_timeout: timeout setting for this request. If one
1869
+ number provided, it will be total request
1870
+ timeout. It can also be a pair (tuple) of
1871
+ (connection, read) timeouts.
1872
+ :type _request_timeout: int, tuple(int, int), optional
1873
+ :param _request_auth: set to override the auth_settings for an a single
1874
+ request; this effectively ignores the
1875
+ authentication in the spec for a single request.
1876
+ :type _request_auth: dict, optional
1877
+ :param _content_type: force content-type for the request.
1878
+ :type _content_type: str, Optional
1879
+ :param _headers: set to override the headers for a single
1880
+ request; this effectively ignores the headers
1881
+ in the spec for a single request.
1882
+ :type _headers: dict, optional
1883
+ :param _host_index: set to override the host_index for a single
1884
+ request; this effectively ignores the host_index
1885
+ in the spec for a single request.
1886
+ :type _host_index: int, optional
1887
+ :return: Returns the result object.
1888
+ """ # noqa: E501
1889
+
1890
+ _param = self._marketplace_o_auth2_install_authorize_serialize(
1891
+ type=type,
1892
+ state=state,
1893
+ code=code,
1894
+ error=error,
1895
+ error_description=error_description,
1896
+ error_uri=error_uri,
1897
+ _request_auth=_request_auth,
1898
+ _content_type=_content_type,
1899
+ _headers=_headers,
1900
+ _host_index=_host_index
1901
+ )
1902
+
1903
+ _response_types_map: Dict[str, Optional[str]] = {
1904
+ '303': None,
1905
+ '400': "UnexpectedProblemResponse",
1906
+ '401': "UnexpectedProblemResponse",
1907
+ '403': "UnexpectedProblemResponse",
1908
+ '412': "UnexpectedProblemResponse",
1909
+ '500': "UnexpectedProblemResponse",
1910
+ '503': "UnexpectedProblemResponse",
1911
+ }
1912
+ response_data = self.api_client.call_api(
1913
+ *_param,
1914
+ _request_timeout=_request_timeout
1915
+ )
1916
+ response_data.read()
1917
+ return self.api_client.response_deserialize(
1918
+ response_data=response_data,
1919
+ response_types_map=_response_types_map,
1920
+ ).data
1921
+
1922
+
1923
+ @validate_call
1924
+ def marketplace_o_auth2_install_authorize_with_http_info(
1925
+ self,
1926
+ type: Annotated[AppType, Field(description="The type of the app to install.")],
1927
+ state: Annotated[Optional[StrictStr], Field(description="Required if the \"state\" parameter was present in the client authorization request. The exact value received from the client: Unique, randomly generated, opaque, and non-guessable string that is sent when starting an authentication request and validated when processing the response.")] = None,
1928
+ code: Annotated[Optional[StrictStr], Field(description="Authorization code which the client will later exchange for an access token. Required with the success response.")] = None,
1929
+ error: Annotated[Optional[OAuth2AuthorizationCodeGrantErrorType], Field(description="Error code. Required with the error response.")] = None,
1930
+ error_description: Annotated[Optional[StrictStr], Field(description="Optional human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.")] = None,
1931
+ error_uri: Annotated[Optional[StrictStr], Field(description="Optional uri identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error")] = None,
1932
+ _request_timeout: Union[
1933
+ None,
1934
+ Annotated[StrictFloat, Field(gt=0)],
1935
+ Tuple[
1936
+ Annotated[StrictFloat, Field(gt=0)],
1937
+ Annotated[StrictFloat, Field(gt=0)]
1938
+ ]
1939
+ ] = None,
1940
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1941
+ _content_type: Optional[StrictStr] = None,
1942
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1943
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1944
+ ) -> ApiResponse[UnexpectedProblemResponse]:
1945
+ """Install app via OAuth2
1946
+
1947
+ Authorize OAuth2 code. Verifies the OAuth code and exchanges it for a token and refresh token
1948
+
1949
+ :param type: The type of the app to install. (required)
1950
+ :type type: AppType
1951
+ :param state: Required if the \"state\" parameter was present in the client authorization request. The exact value received from the client: Unique, randomly generated, opaque, and non-guessable string that is sent when starting an authentication request and validated when processing the response.
1952
+ :type state: str
1953
+ :param code: Authorization code which the client will later exchange for an access token. Required with the success response.
1954
+ :type code: str
1955
+ :param error: Error code. Required with the error response.
1956
+ :type error: OAuth2AuthorizationCodeGrantErrorType
1957
+ :param error_description: Optional human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.
1958
+ :type error_description: str
1959
+ :param error_uri: Optional uri identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error
1960
+ :type error_uri: str
1961
+ :param _request_timeout: timeout setting for this request. If one
1962
+ number provided, it will be total request
1963
+ timeout. It can also be a pair (tuple) of
1964
+ (connection, read) timeouts.
1965
+ :type _request_timeout: int, tuple(int, int), optional
1966
+ :param _request_auth: set to override the auth_settings for an a single
1967
+ request; this effectively ignores the
1968
+ authentication in the spec for a single request.
1969
+ :type _request_auth: dict, optional
1970
+ :param _content_type: force content-type for the request.
1971
+ :type _content_type: str, Optional
1972
+ :param _headers: set to override the headers for a single
1973
+ request; this effectively ignores the headers
1974
+ in the spec for a single request.
1975
+ :type _headers: dict, optional
1976
+ :param _host_index: set to override the host_index for a single
1977
+ request; this effectively ignores the host_index
1978
+ in the spec for a single request.
1979
+ :type _host_index: int, optional
1980
+ :return: Returns the result object.
1981
+ """ # noqa: E501
1982
+
1983
+ _param = self._marketplace_o_auth2_install_authorize_serialize(
1984
+ type=type,
1985
+ state=state,
1986
+ code=code,
1987
+ error=error,
1988
+ error_description=error_description,
1989
+ error_uri=error_uri,
1990
+ _request_auth=_request_auth,
1991
+ _content_type=_content_type,
1992
+ _headers=_headers,
1993
+ _host_index=_host_index
1994
+ )
1995
+
1996
+ _response_types_map: Dict[str, Optional[str]] = {
1997
+ '303': None,
1998
+ '400': "UnexpectedProblemResponse",
1999
+ '401': "UnexpectedProblemResponse",
2000
+ '403': "UnexpectedProblemResponse",
2001
+ '412': "UnexpectedProblemResponse",
2002
+ '500': "UnexpectedProblemResponse",
2003
+ '503': "UnexpectedProblemResponse",
2004
+ }
2005
+ response_data = self.api_client.call_api(
2006
+ *_param,
2007
+ _request_timeout=_request_timeout
2008
+ )
2009
+ response_data.read()
2010
+ return self.api_client.response_deserialize(
2011
+ response_data=response_data,
2012
+ response_types_map=_response_types_map,
2013
+ )
2014
+
2015
+
2016
+ @validate_call
2017
+ def marketplace_o_auth2_install_authorize_without_preload_content(
2018
+ self,
2019
+ type: Annotated[AppType, Field(description="The type of the app to install.")],
2020
+ state: Annotated[Optional[StrictStr], Field(description="Required if the \"state\" parameter was present in the client authorization request. The exact value received from the client: Unique, randomly generated, opaque, and non-guessable string that is sent when starting an authentication request and validated when processing the response.")] = None,
2021
+ code: Annotated[Optional[StrictStr], Field(description="Authorization code which the client will later exchange for an access token. Required with the success response.")] = None,
2022
+ error: Annotated[Optional[OAuth2AuthorizationCodeGrantErrorType], Field(description="Error code. Required with the error response.")] = None,
2023
+ error_description: Annotated[Optional[StrictStr], Field(description="Optional human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.")] = None,
2024
+ error_uri: Annotated[Optional[StrictStr], Field(description="Optional uri identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error")] = None,
2025
+ _request_timeout: Union[
2026
+ None,
2027
+ Annotated[StrictFloat, Field(gt=0)],
2028
+ Tuple[
2029
+ Annotated[StrictFloat, Field(gt=0)],
2030
+ Annotated[StrictFloat, Field(gt=0)]
2031
+ ]
2032
+ ] = None,
2033
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2034
+ _content_type: Optional[StrictStr] = None,
2035
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2036
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2037
+ ) -> RESTResponseType:
2038
+ """Install app via OAuth2
2039
+
2040
+ Authorize OAuth2 code. Verifies the OAuth code and exchanges it for a token and refresh token
2041
+
2042
+ :param type: The type of the app to install. (required)
2043
+ :type type: AppType
2044
+ :param state: Required if the \"state\" parameter was present in the client authorization request. The exact value received from the client: Unique, randomly generated, opaque, and non-guessable string that is sent when starting an authentication request and validated when processing the response.
2045
+ :type state: str
2046
+ :param code: Authorization code which the client will later exchange for an access token. Required with the success response.
2047
+ :type code: str
2048
+ :param error: Error code. Required with the error response.
2049
+ :type error: OAuth2AuthorizationCodeGrantErrorType
2050
+ :param error_description: Optional human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.
2051
+ :type error_description: str
2052
+ :param error_uri: Optional uri identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error
2053
+ :type error_uri: str
2054
+ :param _request_timeout: timeout setting for this request. If one
2055
+ number provided, it will be total request
2056
+ timeout. It can also be a pair (tuple) of
2057
+ (connection, read) timeouts.
2058
+ :type _request_timeout: int, tuple(int, int), optional
2059
+ :param _request_auth: set to override the auth_settings for an a single
2060
+ request; this effectively ignores the
2061
+ authentication in the spec for a single request.
2062
+ :type _request_auth: dict, optional
2063
+ :param _content_type: force content-type for the request.
2064
+ :type _content_type: str, Optional
2065
+ :param _headers: set to override the headers for a single
2066
+ request; this effectively ignores the headers
2067
+ in the spec for a single request.
2068
+ :type _headers: dict, optional
2069
+ :param _host_index: set to override the host_index for a single
2070
+ request; this effectively ignores the host_index
2071
+ in the spec for a single request.
2072
+ :type _host_index: int, optional
2073
+ :return: Returns the result object.
2074
+ """ # noqa: E501
2075
+
2076
+ _param = self._marketplace_o_auth2_install_authorize_serialize(
2077
+ type=type,
2078
+ state=state,
2079
+ code=code,
2080
+ error=error,
2081
+ error_description=error_description,
2082
+ error_uri=error_uri,
2083
+ _request_auth=_request_auth,
2084
+ _content_type=_content_type,
2085
+ _headers=_headers,
2086
+ _host_index=_host_index
2087
+ )
2088
+
2089
+ _response_types_map: Dict[str, Optional[str]] = {
2090
+ '303': None,
2091
+ '400': "UnexpectedProblemResponse",
2092
+ '401': "UnexpectedProblemResponse",
2093
+ '403': "UnexpectedProblemResponse",
2094
+ '412': "UnexpectedProblemResponse",
2095
+ '500': "UnexpectedProblemResponse",
2096
+ '503': "UnexpectedProblemResponse",
2097
+ }
2098
+ response_data = self.api_client.call_api(
2099
+ *_param,
2100
+ _request_timeout=_request_timeout
2101
+ )
2102
+ return response_data.response
2103
+
2104
+
2105
+ def _marketplace_o_auth2_install_authorize_serialize(
2106
+ self,
2107
+ type,
2108
+ state,
2109
+ code,
2110
+ error,
2111
+ error_description,
2112
+ error_uri,
2113
+ _request_auth,
2114
+ _content_type,
2115
+ _headers,
2116
+ _host_index,
2117
+ ) -> RequestSerialized:
2118
+
2119
+ _host = None
2120
+
2121
+ _collection_formats: Dict[str, str] = {
2122
+ }
2123
+
2124
+ _path_params: Dict[str, str] = {}
2125
+ _query_params: List[Tuple[str, str]] = []
2126
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2127
+ _form_params: List[Tuple[str, str]] = []
2128
+ _files: Dict[
2129
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2130
+ ] = {}
2131
+ _body_params: Optional[bytes] = None
2132
+
2133
+ # process the path parameters
2134
+ if type is not None:
2135
+ _path_params['type'] = type.value
2136
+ # process the query parameters
2137
+ if state is not None:
2138
+
2139
+ _query_params.append(('state', state))
2140
+
2141
+ if code is not None:
2142
+
2143
+ _query_params.append(('code', code))
2144
+
2145
+ if error is not None:
2146
+
2147
+ _query_params.append(('error', error.value))
2148
+
2149
+ if error_description is not None:
2150
+
2151
+ _query_params.append(('error_description', error_description))
2152
+
2153
+ if error_uri is not None:
2154
+
2155
+ _query_params.append(('error_uri', error_uri))
2156
+
2157
+ # process the header parameters
2158
+ # process the form parameters
2159
+ # process the body parameter
2160
+
2161
+
2162
+ # set the HTTP header `Accept`
2163
+ if 'Accept' not in _header_params:
2164
+ _header_params['Accept'] = self.api_client.select_header_accept(
2165
+ [
2166
+ 'application/problem+json'
2167
+ ]
2168
+ )
2169
+
2170
+
2171
+ # authentication setting
2172
+ _auth_settings: List[str] = [
2173
+ 'CloudTokenAuth'
2174
+ ]
2175
+
2176
+ return self.api_client.param_serialize(
2177
+ method='GET',
2178
+ resource_path='/api/v1/marketplace/listings/{type}/install/oauth2/authorize',
2179
+ path_params=_path_params,
2180
+ query_params=_query_params,
2181
+ header_params=_header_params,
2182
+ body=_body_params,
2183
+ post_params=_form_params,
2184
+ files=_files,
2185
+ auth_settings=_auth_settings,
2186
+ collection_formats=_collection_formats,
2187
+ _host=_host,
2188
+ _request_auth=_request_auth
2189
+ )
2190
+
2191
+
2192
+
2193
+
2194
+ @validate_call
2195
+ def marketplace_o_auth2_install_get_url(
2196
+ self,
2197
+ type: AppType,
2198
+ _request_timeout: Union[
2199
+ None,
2200
+ Annotated[StrictFloat, Field(gt=0)],
2201
+ Tuple[
2202
+ Annotated[StrictFloat, Field(gt=0)],
2203
+ Annotated[StrictFloat, Field(gt=0)]
2204
+ ]
2205
+ ] = None,
2206
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2207
+ _content_type: Optional[StrictStr] = None,
2208
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2209
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2210
+ ) -> ClientAppStartResponse:
2211
+ """Get OAuth2 install URL
2212
+
2213
+ Install an app via OAuth. Returns a URL to start the OAuth 2.0 flow.
2214
+
2215
+ :param type: (required)
2216
+ :type type: AppType
2217
+ :param _request_timeout: timeout setting for this request. If one
2218
+ number provided, it will be total request
2219
+ timeout. It can also be a pair (tuple) of
2220
+ (connection, read) timeouts.
2221
+ :type _request_timeout: int, tuple(int, int), optional
2222
+ :param _request_auth: set to override the auth_settings for an a single
2223
+ request; this effectively ignores the
2224
+ authentication in the spec for a single request.
2225
+ :type _request_auth: dict, optional
2226
+ :param _content_type: force content-type for the request.
2227
+ :type _content_type: str, Optional
2228
+ :param _headers: set to override the headers for a single
2229
+ request; this effectively ignores the headers
2230
+ in the spec for a single request.
2231
+ :type _headers: dict, optional
2232
+ :param _host_index: set to override the host_index for a single
2233
+ request; this effectively ignores the host_index
2234
+ in the spec for a single request.
2235
+ :type _host_index: int, optional
2236
+ :return: Returns the result object.
2237
+ """ # noqa: E501
2238
+
2239
+ _param = self._marketplace_o_auth2_install_get_url_serialize(
2240
+ type=type,
2241
+ _request_auth=_request_auth,
2242
+ _content_type=_content_type,
2243
+ _headers=_headers,
2244
+ _host_index=_host_index
2245
+ )
2246
+
2247
+ _response_types_map: Dict[str, Optional[str]] = {
2248
+ '200': "ClientAppStartResponse",
2249
+ '400': "UnexpectedProblemResponse",
2250
+ '401': "UnexpectedProblemResponse",
2251
+ '403': "UnexpectedProblemResponse",
2252
+ '412': "UnexpectedProblemResponse",
2253
+ '500': "UnexpectedProblemResponse",
2254
+ '503': "UnexpectedProblemResponse",
2255
+ }
2256
+ response_data = self.api_client.call_api(
2257
+ *_param,
2258
+ _request_timeout=_request_timeout
2259
+ )
2260
+ response_data.read()
2261
+ return self.api_client.response_deserialize(
2262
+ response_data=response_data,
2263
+ response_types_map=_response_types_map,
2264
+ ).data
2265
+
2266
+
2267
+ @validate_call
2268
+ def marketplace_o_auth2_install_get_url_with_http_info(
2269
+ self,
2270
+ type: AppType,
2271
+ _request_timeout: Union[
2272
+ None,
2273
+ Annotated[StrictFloat, Field(gt=0)],
2274
+ Tuple[
2275
+ Annotated[StrictFloat, Field(gt=0)],
2276
+ Annotated[StrictFloat, Field(gt=0)]
2277
+ ]
2278
+ ] = None,
2279
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2280
+ _content_type: Optional[StrictStr] = None,
2281
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2282
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2283
+ ) -> ApiResponse[ClientAppStartResponse]:
2284
+ """Get OAuth2 install URL
2285
+
2286
+ Install an app via OAuth. Returns a URL to start the OAuth 2.0 flow.
2287
+
2288
+ :param type: (required)
2289
+ :type type: AppType
2290
+ :param _request_timeout: timeout setting for this request. If one
2291
+ number provided, it will be total request
2292
+ timeout. It can also be a pair (tuple) of
2293
+ (connection, read) timeouts.
2294
+ :type _request_timeout: int, tuple(int, int), optional
2295
+ :param _request_auth: set to override the auth_settings for an a single
2296
+ request; this effectively ignores the
2297
+ authentication in the spec for a single request.
2298
+ :type _request_auth: dict, optional
2299
+ :param _content_type: force content-type for the request.
2300
+ :type _content_type: str, Optional
2301
+ :param _headers: set to override the headers for a single
2302
+ request; this effectively ignores the headers
2303
+ in the spec for a single request.
2304
+ :type _headers: dict, optional
2305
+ :param _host_index: set to override the host_index for a single
2306
+ request; this effectively ignores the host_index
2307
+ in the spec for a single request.
2308
+ :type _host_index: int, optional
2309
+ :return: Returns the result object.
2310
+ """ # noqa: E501
2311
+
2312
+ _param = self._marketplace_o_auth2_install_get_url_serialize(
2313
+ type=type,
2314
+ _request_auth=_request_auth,
2315
+ _content_type=_content_type,
2316
+ _headers=_headers,
2317
+ _host_index=_host_index
2318
+ )
2319
+
2320
+ _response_types_map: Dict[str, Optional[str]] = {
2321
+ '200': "ClientAppStartResponse",
2322
+ '400': "UnexpectedProblemResponse",
2323
+ '401': "UnexpectedProblemResponse",
2324
+ '403': "UnexpectedProblemResponse",
2325
+ '412': "UnexpectedProblemResponse",
2326
+ '500': "UnexpectedProblemResponse",
2327
+ '503': "UnexpectedProblemResponse",
2328
+ }
2329
+ response_data = self.api_client.call_api(
2330
+ *_param,
2331
+ _request_timeout=_request_timeout
2332
+ )
2333
+ response_data.read()
2334
+ return self.api_client.response_deserialize(
2335
+ response_data=response_data,
2336
+ response_types_map=_response_types_map,
2337
+ )
2338
+
2339
+
2340
+ @validate_call
2341
+ def marketplace_o_auth2_install_get_url_without_preload_content(
2342
+ self,
2343
+ type: AppType,
2344
+ _request_timeout: Union[
2345
+ None,
2346
+ Annotated[StrictFloat, Field(gt=0)],
2347
+ Tuple[
2348
+ Annotated[StrictFloat, Field(gt=0)],
2349
+ Annotated[StrictFloat, Field(gt=0)]
2350
+ ]
2351
+ ] = None,
2352
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2353
+ _content_type: Optional[StrictStr] = None,
2354
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2355
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2356
+ ) -> RESTResponseType:
2357
+ """Get OAuth2 install URL
2358
+
2359
+ Install an app via OAuth. Returns a URL to start the OAuth 2.0 flow.
2360
+
2361
+ :param type: (required)
2362
+ :type type: AppType
2363
+ :param _request_timeout: timeout setting for this request. If one
2364
+ number provided, it will be total request
2365
+ timeout. It can also be a pair (tuple) of
2366
+ (connection, read) timeouts.
2367
+ :type _request_timeout: int, tuple(int, int), optional
2368
+ :param _request_auth: set to override the auth_settings for an a single
2369
+ request; this effectively ignores the
2370
+ authentication in the spec for a single request.
2371
+ :type _request_auth: dict, optional
2372
+ :param _content_type: force content-type for the request.
2373
+ :type _content_type: str, Optional
2374
+ :param _headers: set to override the headers for a single
2375
+ request; this effectively ignores the headers
2376
+ in the spec for a single request.
2377
+ :type _headers: dict, optional
2378
+ :param _host_index: set to override the host_index for a single
2379
+ request; this effectively ignores the host_index
2380
+ in the spec for a single request.
2381
+ :type _host_index: int, optional
2382
+ :return: Returns the result object.
2383
+ """ # noqa: E501
2384
+
2385
+ _param = self._marketplace_o_auth2_install_get_url_serialize(
2386
+ type=type,
2387
+ _request_auth=_request_auth,
2388
+ _content_type=_content_type,
2389
+ _headers=_headers,
2390
+ _host_index=_host_index
2391
+ )
2392
+
2393
+ _response_types_map: Dict[str, Optional[str]] = {
2394
+ '200': "ClientAppStartResponse",
2395
+ '400': "UnexpectedProblemResponse",
2396
+ '401': "UnexpectedProblemResponse",
2397
+ '403': "UnexpectedProblemResponse",
2398
+ '412': "UnexpectedProblemResponse",
2399
+ '500': "UnexpectedProblemResponse",
2400
+ '503': "UnexpectedProblemResponse",
2401
+ }
2402
+ response_data = self.api_client.call_api(
2403
+ *_param,
2404
+ _request_timeout=_request_timeout
2405
+ )
2406
+ return response_data.response
2407
+
2408
+
2409
+ def _marketplace_o_auth2_install_get_url_serialize(
2410
+ self,
2411
+ type,
2412
+ _request_auth,
2413
+ _content_type,
2414
+ _headers,
2415
+ _host_index,
2416
+ ) -> RequestSerialized:
2417
+
2418
+ _host = None
2419
+
2420
+ _collection_formats: Dict[str, str] = {
2421
+ }
2422
+
2423
+ _path_params: Dict[str, str] = {}
2424
+ _query_params: List[Tuple[str, str]] = []
2425
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2426
+ _form_params: List[Tuple[str, str]] = []
2427
+ _files: Dict[
2428
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2429
+ ] = {}
2430
+ _body_params: Optional[bytes] = None
2431
+
2432
+ # process the path parameters
2433
+ if type is not None:
2434
+ _path_params['type'] = type.value
2435
+ # process the query parameters
2436
+ # process the header parameters
2437
+ # process the form parameters
2438
+ # process the body parameter
2439
+
2440
+
2441
+ # set the HTTP header `Accept`
2442
+ if 'Accept' not in _header_params:
2443
+ _header_params['Accept'] = self.api_client.select_header_accept(
2444
+ [
2445
+ 'application/json',
2446
+ 'application/problem+json'
2447
+ ]
2448
+ )
2449
+
2450
+
2451
+ # authentication setting
2452
+ _auth_settings: List[str] = [
2453
+ 'CloudTokenAuth'
2454
+ ]
2455
+
2456
+ return self.api_client.param_serialize(
2457
+ method='GET',
2458
+ resource_path='/api/v1/marketplace/listings/{type}/install/oauth2',
2459
+ path_params=_path_params,
2460
+ query_params=_query_params,
2461
+ header_params=_header_params,
2462
+ body=_body_params,
2463
+ post_params=_form_params,
2464
+ files=_files,
2465
+ auth_settings=_auth_settings,
2466
+ collection_formats=_collection_formats,
2467
+ _host=_host,
2468
+ _request_auth=_request_auth
2469
+ )
2470
+
2471
+
2472
+
2473
+
2474
+ @validate_call
2475
+ def uninstall_app(
2476
+ self,
2477
+ id: Annotated[str, Field(strict=True)],
2478
+ _request_timeout: Union[
2479
+ None,
2480
+ Annotated[StrictFloat, Field(gt=0)],
2481
+ Tuple[
2482
+ Annotated[StrictFloat, Field(gt=0)],
2483
+ Annotated[StrictFloat, Field(gt=0)]
2484
+ ]
2485
+ ] = None,
2486
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2487
+ _content_type: Optional[StrictStr] = None,
2488
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2489
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2490
+ ) -> None:
2491
+ """Uninstall app
2492
+
2493
+ Uninstall an app.
2494
+
2495
+ :param id: (required)
2496
+ :type id: str
2497
+ :param _request_timeout: timeout setting for this request. If one
2498
+ number provided, it will be total request
2499
+ timeout. It can also be a pair (tuple) of
2500
+ (connection, read) timeouts.
2501
+ :type _request_timeout: int, tuple(int, int), optional
2502
+ :param _request_auth: set to override the auth_settings for an a single
2503
+ request; this effectively ignores the
2504
+ authentication in the spec for a single request.
2505
+ :type _request_auth: dict, optional
2506
+ :param _content_type: force content-type for the request.
2507
+ :type _content_type: str, Optional
2508
+ :param _headers: set to override the headers for a single
2509
+ request; this effectively ignores the headers
2510
+ in the spec for a single request.
2511
+ :type _headers: dict, optional
2512
+ :param _host_index: set to override the host_index for a single
2513
+ request; this effectively ignores the host_index
2514
+ in the spec for a single request.
2515
+ :type _host_index: int, optional
2516
+ :return: Returns the result object.
2517
+ """ # noqa: E501
2518
+
2519
+ _param = self._uninstall_app_serialize(
2520
+ id=id,
2521
+ _request_auth=_request_auth,
2522
+ _content_type=_content_type,
2523
+ _headers=_headers,
2524
+ _host_index=_host_index
2525
+ )
2526
+
2527
+ _response_types_map: Dict[str, Optional[str]] = {
2528
+ '204': None,
2529
+ '400': "UnexpectedProblemResponse",
2530
+ '401': "UnexpectedProblemResponse",
2531
+ '403': "UnexpectedProblemResponse",
2532
+ '404': "UnexpectedProblemResponse",
2533
+ '412': "UnexpectedProblemResponse",
2534
+ '500': "UnexpectedProblemResponse",
2535
+ '503': "UnexpectedProblemResponse",
2536
+ }
2537
+ response_data = self.api_client.call_api(
2538
+ *_param,
2539
+ _request_timeout=_request_timeout
2540
+ )
2541
+ response_data.read()
2542
+ return self.api_client.response_deserialize(
2543
+ response_data=response_data,
2544
+ response_types_map=_response_types_map,
2545
+ ).data
2546
+
2547
+
2548
+ @validate_call
2549
+ def uninstall_app_with_http_info(
2550
+ self,
2551
+ id: Annotated[str, Field(strict=True)],
2552
+ _request_timeout: Union[
2553
+ None,
2554
+ Annotated[StrictFloat, Field(gt=0)],
2555
+ Tuple[
2556
+ Annotated[StrictFloat, Field(gt=0)],
2557
+ Annotated[StrictFloat, Field(gt=0)]
2558
+ ]
2559
+ ] = None,
2560
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2561
+ _content_type: Optional[StrictStr] = None,
2562
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2563
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2564
+ ) -> ApiResponse[None]:
2565
+ """Uninstall app
2566
+
2567
+ Uninstall an app.
2568
+
2569
+ :param id: (required)
2570
+ :type id: str
2571
+ :param _request_timeout: timeout setting for this request. If one
2572
+ number provided, it will be total request
2573
+ timeout. It can also be a pair (tuple) of
2574
+ (connection, read) timeouts.
2575
+ :type _request_timeout: int, tuple(int, int), optional
2576
+ :param _request_auth: set to override the auth_settings for an a single
2577
+ request; this effectively ignores the
2578
+ authentication in the spec for a single request.
2579
+ :type _request_auth: dict, optional
2580
+ :param _content_type: force content-type for the request.
2581
+ :type _content_type: str, Optional
2582
+ :param _headers: set to override the headers for a single
2583
+ request; this effectively ignores the headers
2584
+ in the spec for a single request.
2585
+ :type _headers: dict, optional
2586
+ :param _host_index: set to override the host_index for a single
2587
+ request; this effectively ignores the host_index
2588
+ in the spec for a single request.
2589
+ :type _host_index: int, optional
2590
+ :return: Returns the result object.
2591
+ """ # noqa: E501
2592
+
2593
+ _param = self._uninstall_app_serialize(
2594
+ id=id,
2595
+ _request_auth=_request_auth,
2596
+ _content_type=_content_type,
2597
+ _headers=_headers,
2598
+ _host_index=_host_index
2599
+ )
2600
+
2601
+ _response_types_map: Dict[str, Optional[str]] = {
2602
+ '204': None,
2603
+ '400': "UnexpectedProblemResponse",
2604
+ '401': "UnexpectedProblemResponse",
2605
+ '403': "UnexpectedProblemResponse",
2606
+ '404': "UnexpectedProblemResponse",
2607
+ '412': "UnexpectedProblemResponse",
2608
+ '500': "UnexpectedProblemResponse",
2609
+ '503': "UnexpectedProblemResponse",
2610
+ }
2611
+ response_data = self.api_client.call_api(
2612
+ *_param,
2613
+ _request_timeout=_request_timeout
2614
+ )
2615
+ response_data.read()
2616
+ return self.api_client.response_deserialize(
2617
+ response_data=response_data,
2618
+ response_types_map=_response_types_map,
2619
+ )
2620
+
2621
+
2622
+ @validate_call
2623
+ def uninstall_app_without_preload_content(
2624
+ self,
2625
+ id: Annotated[str, Field(strict=True)],
2626
+ _request_timeout: Union[
2627
+ None,
2628
+ Annotated[StrictFloat, Field(gt=0)],
2629
+ Tuple[
2630
+ Annotated[StrictFloat, Field(gt=0)],
2631
+ Annotated[StrictFloat, Field(gt=0)]
2632
+ ]
2633
+ ] = None,
2634
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2635
+ _content_type: Optional[StrictStr] = None,
2636
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2637
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2638
+ ) -> RESTResponseType:
2639
+ """Uninstall app
2640
+
2641
+ Uninstall an app.
2642
+
2643
+ :param id: (required)
2644
+ :type id: str
2645
+ :param _request_timeout: timeout setting for this request. If one
2646
+ number provided, it will be total request
2647
+ timeout. It can also be a pair (tuple) of
2648
+ (connection, read) timeouts.
2649
+ :type _request_timeout: int, tuple(int, int), optional
2650
+ :param _request_auth: set to override the auth_settings for an a single
2651
+ request; this effectively ignores the
2652
+ authentication in the spec for a single request.
2653
+ :type _request_auth: dict, optional
2654
+ :param _content_type: force content-type for the request.
2655
+ :type _content_type: str, Optional
2656
+ :param _headers: set to override the headers for a single
2657
+ request; this effectively ignores the headers
2658
+ in the spec for a single request.
2659
+ :type _headers: dict, optional
2660
+ :param _host_index: set to override the host_index for a single
2661
+ request; this effectively ignores the host_index
2662
+ in the spec for a single request.
2663
+ :type _host_index: int, optional
2664
+ :return: Returns the result object.
2665
+ """ # noqa: E501
2666
+
2667
+ _param = self._uninstall_app_serialize(
2668
+ id=id,
2669
+ _request_auth=_request_auth,
2670
+ _content_type=_content_type,
2671
+ _headers=_headers,
2672
+ _host_index=_host_index
2673
+ )
2674
+
2675
+ _response_types_map: Dict[str, Optional[str]] = {
2676
+ '204': None,
2677
+ '400': "UnexpectedProblemResponse",
2678
+ '401': "UnexpectedProblemResponse",
2679
+ '403': "UnexpectedProblemResponse",
2680
+ '404': "UnexpectedProblemResponse",
2681
+ '412': "UnexpectedProblemResponse",
2682
+ '500': "UnexpectedProblemResponse",
2683
+ '503': "UnexpectedProblemResponse",
2684
+ }
2685
+ response_data = self.api_client.call_api(
2686
+ *_param,
2687
+ _request_timeout=_request_timeout
2688
+ )
2689
+ return response_data.response
2690
+
2691
+
2692
+ def _uninstall_app_serialize(
2693
+ self,
2694
+ id,
2695
+ _request_auth,
2696
+ _content_type,
2697
+ _headers,
2698
+ _host_index,
2699
+ ) -> RequestSerialized:
2700
+
2701
+ _host = None
2702
+
2703
+ _collection_formats: Dict[str, str] = {
2704
+ }
2705
+
2706
+ _path_params: Dict[str, str] = {}
2707
+ _query_params: List[Tuple[str, str]] = []
2708
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2709
+ _form_params: List[Tuple[str, str]] = []
2710
+ _files: Dict[
2711
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2712
+ ] = {}
2713
+ _body_params: Optional[bytes] = None
2714
+
2715
+ # process the path parameters
2716
+ if id is not None:
2717
+ _path_params['id'] = id
2718
+ # process the query parameters
2719
+ # process the header parameters
2720
+ # process the form parameters
2721
+ # process the body parameter
2722
+
2723
+
2724
+ # set the HTTP header `Accept`
2725
+ if 'Accept' not in _header_params:
2726
+ _header_params['Accept'] = self.api_client.select_header_accept(
2727
+ [
2728
+ 'application/problem+json'
2729
+ ]
2730
+ )
2731
+
2732
+
2733
+ # authentication setting
2734
+ _auth_settings: List[str] = [
2735
+ 'CloudTokenAuth'
2736
+ ]
2737
+
2738
+ return self.api_client.param_serialize(
2739
+ method='DELETE',
2740
+ resource_path='/api/v1/apps/{id}',
2741
+ path_params=_path_params,
2742
+ query_params=_query_params,
2743
+ header_params=_header_params,
2744
+ body=_body_params,
2745
+ post_params=_form_params,
2746
+ files=_files,
2747
+ auth_settings=_auth_settings,
2748
+ collection_formats=_collection_formats,
2749
+ _host=_host,
2750
+ _request_auth=_request_auth
2751
+ )
2752
+
2753
+
2754
+
2755
+
2756
+ @validate_call
2757
+ def update_app(
2758
+ self,
2759
+ id: Annotated[str, Field(strict=True)],
2760
+ app_replace_update: AppReplaceUpdate,
2761
+ _request_timeout: Union[
2762
+ None,
2763
+ Annotated[StrictFloat, Field(gt=0)],
2764
+ Tuple[
2765
+ Annotated[StrictFloat, Field(gt=0)],
2766
+ Annotated[StrictFloat, Field(gt=0)]
2767
+ ]
2768
+ ] = None,
2769
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2770
+ _content_type: Optional[StrictStr] = None,
2771
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2772
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2773
+ ) -> App:
2774
+ """Update app
2775
+
2776
+ Update an app.
2777
+
2778
+ :param id: (required)
2779
+ :type id: str
2780
+ :param app_replace_update: (required)
2781
+ :type app_replace_update: AppReplaceUpdate
2782
+ :param _request_timeout: timeout setting for this request. If one
2783
+ number provided, it will be total request
2784
+ timeout. It can also be a pair (tuple) of
2785
+ (connection, read) timeouts.
2786
+ :type _request_timeout: int, tuple(int, int), optional
2787
+ :param _request_auth: set to override the auth_settings for an a single
2788
+ request; this effectively ignores the
2789
+ authentication in the spec for a single request.
2790
+ :type _request_auth: dict, optional
2791
+ :param _content_type: force content-type for the request.
2792
+ :type _content_type: str, Optional
2793
+ :param _headers: set to override the headers for a single
2794
+ request; this effectively ignores the headers
2795
+ in the spec for a single request.
2796
+ :type _headers: dict, optional
2797
+ :param _host_index: set to override the host_index for a single
2798
+ request; this effectively ignores the host_index
2799
+ in the spec for a single request.
2800
+ :type _host_index: int, optional
2801
+ :return: Returns the result object.
2802
+ """ # noqa: E501
2803
+
2804
+ _param = self._update_app_serialize(
2805
+ id=id,
2806
+ app_replace_update=app_replace_update,
2807
+ _request_auth=_request_auth,
2808
+ _content_type=_content_type,
2809
+ _headers=_headers,
2810
+ _host_index=_host_index
2811
+ )
2812
+
2813
+ _response_types_map: Dict[str, Optional[str]] = {
2814
+ '200': "App",
2815
+ '400': "UnexpectedProblemResponse",
2816
+ '401': "UnexpectedProblemResponse",
2817
+ '403': "UnexpectedProblemResponse",
2818
+ '404': "UnexpectedProblemResponse",
2819
+ '412': "UnexpectedProblemResponse",
2820
+ '500': "UnexpectedProblemResponse",
2821
+ '503': "UnexpectedProblemResponse",
2822
+ }
2823
+ response_data = self.api_client.call_api(
2824
+ *_param,
2825
+ _request_timeout=_request_timeout
2826
+ )
2827
+ response_data.read()
2828
+ return self.api_client.response_deserialize(
2829
+ response_data=response_data,
2830
+ response_types_map=_response_types_map,
2831
+ ).data
2832
+
2833
+
2834
+ @validate_call
2835
+ def update_app_with_http_info(
2836
+ self,
2837
+ id: Annotated[str, Field(strict=True)],
2838
+ app_replace_update: AppReplaceUpdate,
2839
+ _request_timeout: Union[
2840
+ None,
2841
+ Annotated[StrictFloat, Field(gt=0)],
2842
+ Tuple[
2843
+ Annotated[StrictFloat, Field(gt=0)],
2844
+ Annotated[StrictFloat, Field(gt=0)]
2845
+ ]
2846
+ ] = None,
2847
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2848
+ _content_type: Optional[StrictStr] = None,
2849
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2850
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2851
+ ) -> ApiResponse[App]:
2852
+ """Update app
2853
+
2854
+ Update an app.
2855
+
2856
+ :param id: (required)
2857
+ :type id: str
2858
+ :param app_replace_update: (required)
2859
+ :type app_replace_update: AppReplaceUpdate
2860
+ :param _request_timeout: timeout setting for this request. If one
2861
+ number provided, it will be total request
2862
+ timeout. It can also be a pair (tuple) of
2863
+ (connection, read) timeouts.
2864
+ :type _request_timeout: int, tuple(int, int), optional
2865
+ :param _request_auth: set to override the auth_settings for an a single
2866
+ request; this effectively ignores the
2867
+ authentication in the spec for a single request.
2868
+ :type _request_auth: dict, optional
2869
+ :param _content_type: force content-type for the request.
2870
+ :type _content_type: str, Optional
2871
+ :param _headers: set to override the headers for a single
2872
+ request; this effectively ignores the headers
2873
+ in the spec for a single request.
2874
+ :type _headers: dict, optional
2875
+ :param _host_index: set to override the host_index for a single
2876
+ request; this effectively ignores the host_index
2877
+ in the spec for a single request.
2878
+ :type _host_index: int, optional
2879
+ :return: Returns the result object.
2880
+ """ # noqa: E501
2881
+
2882
+ _param = self._update_app_serialize(
2883
+ id=id,
2884
+ app_replace_update=app_replace_update,
2885
+ _request_auth=_request_auth,
2886
+ _content_type=_content_type,
2887
+ _headers=_headers,
2888
+ _host_index=_host_index
2889
+ )
2890
+
2891
+ _response_types_map: Dict[str, Optional[str]] = {
2892
+ '200': "App",
2893
+ '400': "UnexpectedProblemResponse",
2894
+ '401': "UnexpectedProblemResponse",
2895
+ '403': "UnexpectedProblemResponse",
2896
+ '404': "UnexpectedProblemResponse",
2897
+ '412': "UnexpectedProblemResponse",
2898
+ '500': "UnexpectedProblemResponse",
2899
+ '503': "UnexpectedProblemResponse",
2900
+ }
2901
+ response_data = self.api_client.call_api(
2902
+ *_param,
2903
+ _request_timeout=_request_timeout
2904
+ )
2905
+ response_data.read()
2906
+ return self.api_client.response_deserialize(
2907
+ response_data=response_data,
2908
+ response_types_map=_response_types_map,
2909
+ )
2910
+
2911
+
2912
+ @validate_call
2913
+ def update_app_without_preload_content(
2914
+ self,
2915
+ id: Annotated[str, Field(strict=True)],
2916
+ app_replace_update: AppReplaceUpdate,
2917
+ _request_timeout: Union[
2918
+ None,
2919
+ Annotated[StrictFloat, Field(gt=0)],
2920
+ Tuple[
2921
+ Annotated[StrictFloat, Field(gt=0)],
2922
+ Annotated[StrictFloat, Field(gt=0)]
2923
+ ]
2924
+ ] = None,
2925
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2926
+ _content_type: Optional[StrictStr] = None,
2927
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2928
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2929
+ ) -> RESTResponseType:
2930
+ """Update app
2931
+
2932
+ Update an app.
2933
+
2934
+ :param id: (required)
2935
+ :type id: str
2936
+ :param app_replace_update: (required)
2937
+ :type app_replace_update: AppReplaceUpdate
2938
+ :param _request_timeout: timeout setting for this request. If one
2939
+ number provided, it will be total request
2940
+ timeout. It can also be a pair (tuple) of
2941
+ (connection, read) timeouts.
2942
+ :type _request_timeout: int, tuple(int, int), optional
2943
+ :param _request_auth: set to override the auth_settings for an a single
2944
+ request; this effectively ignores the
2945
+ authentication in the spec for a single request.
2946
+ :type _request_auth: dict, optional
2947
+ :param _content_type: force content-type for the request.
2948
+ :type _content_type: str, Optional
2949
+ :param _headers: set to override the headers for a single
2950
+ request; this effectively ignores the headers
2951
+ in the spec for a single request.
2952
+ :type _headers: dict, optional
2953
+ :param _host_index: set to override the host_index for a single
2954
+ request; this effectively ignores the host_index
2955
+ in the spec for a single request.
2956
+ :type _host_index: int, optional
2957
+ :return: Returns the result object.
2958
+ """ # noqa: E501
2959
+
2960
+ _param = self._update_app_serialize(
2961
+ id=id,
2962
+ app_replace_update=app_replace_update,
2963
+ _request_auth=_request_auth,
2964
+ _content_type=_content_type,
2965
+ _headers=_headers,
2966
+ _host_index=_host_index
2967
+ )
2968
+
2969
+ _response_types_map: Dict[str, Optional[str]] = {
2970
+ '200': "App",
2971
+ '400': "UnexpectedProblemResponse",
2972
+ '401': "UnexpectedProblemResponse",
2973
+ '403': "UnexpectedProblemResponse",
2974
+ '404': "UnexpectedProblemResponse",
2975
+ '412': "UnexpectedProblemResponse",
2976
+ '500': "UnexpectedProblemResponse",
2977
+ '503': "UnexpectedProblemResponse",
2978
+ }
2979
+ response_data = self.api_client.call_api(
2980
+ *_param,
2981
+ _request_timeout=_request_timeout
2982
+ )
2983
+ return response_data.response
2984
+
2985
+
2986
+ def _update_app_serialize(
2987
+ self,
2988
+ id,
2989
+ app_replace_update,
2990
+ _request_auth,
2991
+ _content_type,
2992
+ _headers,
2993
+ _host_index,
2994
+ ) -> RequestSerialized:
2995
+
2996
+ _host = None
2997
+
2998
+ _collection_formats: Dict[str, str] = {
2999
+ }
3000
+
3001
+ _path_params: Dict[str, str] = {}
3002
+ _query_params: List[Tuple[str, str]] = []
3003
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3004
+ _form_params: List[Tuple[str, str]] = []
3005
+ _files: Dict[
3006
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3007
+ ] = {}
3008
+ _body_params: Optional[bytes] = None
3009
+
3010
+ # process the path parameters
3011
+ if id is not None:
3012
+ _path_params['id'] = id
3013
+ # process the query parameters
3014
+ # process the header parameters
3015
+ # process the form parameters
3016
+ # process the body parameter
3017
+ if app_replace_update is not None:
3018
+ _body_params = app_replace_update
3019
+
3020
+
3021
+ # set the HTTP header `Accept`
3022
+ if 'Accept' not in _header_params:
3023
+ _header_params['Accept'] = self.api_client.select_header_accept(
3024
+ [
3025
+ 'application/json',
3026
+ 'application/problem+json'
3027
+ ]
3028
+ )
3029
+
3030
+ # set the HTTP header `Content-Type`
3031
+ if _content_type:
3032
+ _header_params['Content-Type'] = _content_type
3033
+ else:
3034
+ _default_content_type = (
3035
+ self.api_client.select_header_content_type(
3036
+ [
3037
+ 'application/json'
3038
+ ]
3039
+ )
3040
+ )
3041
+ if _default_content_type is not None:
3042
+ _header_params['Content-Type'] = _default_content_type
3043
+
3044
+ # authentication setting
3045
+ _auth_settings: List[str] = [
3046
+ 'CloudTokenAuth'
3047
+ ]
3048
+
3049
+ return self.api_client.param_serialize(
3050
+ method='PUT',
3051
+ resource_path='/api/v1/apps/{id}',
3052
+ path_params=_path_params,
3053
+ query_params=_query_params,
3054
+ header_params=_header_params,
3055
+ body=_body_params,
3056
+ post_params=_form_params,
3057
+ files=_files,
3058
+ auth_settings=_auth_settings,
3059
+ collection_formats=_collection_formats,
3060
+ _host=_host,
3061
+ _request_auth=_request_auth
3062
+ )
3063
+
3064
+