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.
- moolabs/__init__.py +1487 -0
- moolabs/_dx_attribution_context.py +213 -0
- moolabs/_dx_attribution_db_time.py +2126 -0
- moolabs/_dx_attribution_db_time_transport.py +173 -0
- moolabs/_dx_attribution_delta.py +142 -0
- moolabs/_dx_attribution_deposits.py +552 -0
- moolabs/_dx_attribution_instrument.py +416 -0
- moolabs/_dx_attribution_middleware.py +541 -0
- moolabs/_dx_attribution_propagate.py +509 -0
- moolabs/_dx_attribution_signal_transport.py +232 -0
- moolabs/_dx_attribution_signals.py +927 -0
- moolabs/_dx_buffer.py +429 -0
- moolabs/_dx_client.py +726 -0
- moolabs/_dx_exceptions.py +84 -0
- moolabs/_dx_namespaces.py +1780 -0
- moolabs/_dx_pagination.py +131 -0
- moolabs/_dx_routing.py +276 -0
- moolabs/_dx_urls.py +629 -0
- moolabs/_dx_webhooks.py +82 -0
- moolabs/api/__init__.py +121 -0
- moolabs/api/account_team_api.py +1444 -0
- moolabs/api/accounts_api.py +4950 -0
- moolabs/api/acute_analytics_api.py +5750 -0
- moolabs/api/acute_integrations_api.py +3449 -0
- moolabs/api/admin_api.py +3347 -0
- moolabs/api/alerts_api.py +1626 -0
- moolabs/api/allocation_rules_api.py +1720 -0
- moolabs/api/analytics_api.py +3204 -0
- moolabs/api/app_custom_invoicing_api.py +952 -0
- moolabs/api/app_stripe_api.py +958 -0
- moolabs/api/apps_api.py +3064 -0
- moolabs/api/arc_admin_api.py +8773 -0
- moolabs/api/arc_communications_api.py +1991 -0
- moolabs/api/arc_portal_api.py +1737 -0
- moolabs/api/arc_webhooks_api.py +2087 -0
- moolabs/api/attribution_allocation_api.py +2345 -0
- moolabs/api/attribution_api.py +1717 -0
- moolabs/api/attribution_customer_keys_api.py +600 -0
- moolabs/api/attribution_db_time_api.py +918 -0
- moolabs/api/attribution_opencost_api.py +1372 -0
- moolabs/api/attribution_readouts_api.py +393 -0
- moolabs/api/attribution_signals_api.py +315 -0
- moolabs/api/auto_topup_api.py +3095 -0
- moolabs/api/batch_api.py +6714 -0
- moolabs/api/billing_api.py +300 -0
- moolabs/api/bom_api.py +2769 -0
- moolabs/api/budgets_api.py +2112 -0
- moolabs/api/buyer_quotes_api.py +2007 -0
- moolabs/api/cases_api.py +5075 -0
- moolabs/api/cash_credits_api.py +1548 -0
- moolabs/api/chat_api.py +3101 -0
- moolabs/api/clause_packs_api.py +2785 -0
- moolabs/api/cloud_billing_api.py +1747 -0
- moolabs/api/contract_editor_api.py +3384 -0
- moolabs/api/cost_events_api.py +1732 -0
- moolabs/api/credit_memos_api.py +3478 -0
- moolabs/api/customers_api.py +3931 -0
- moolabs/api/dashboard_api.py +771 -0
- moolabs/api/debug_api.py +300 -0
- moolabs/api/default_api.py +526 -0
- moolabs/api/disputes_api.py +3586 -0
- moolabs/api/dunning_templates_api.py +8737 -0
- moolabs/api/email_provider_api.py +526 -0
- moolabs/api/entitlements_api.py +9846 -0
- moolabs/api/escalations_api.py +2541 -0
- moolabs/api/events_api.py +1125 -0
- moolabs/api/fx_rates_api.py +1452 -0
- moolabs/api/governance_api.py +4402 -0
- moolabs/api/grants_api.py +1370 -0
- moolabs/api/handoffs_api.py +2138 -0
- moolabs/api/health_api.py +281 -0
- moolabs/api/homepage_api.py +305 -0
- moolabs/api/integrations_api.py +3374 -0
- moolabs/api/internal_api.py +7145 -0
- moolabs/api/internal_credit_memos_api.py +914 -0
- moolabs/api/internal_grants_api.py +1000 -0
- moolabs/api/internal_period_settlements_api.py +657 -0
- moolabs/api/internal_plan_pricing_api.py +326 -0
- moolabs/api/internal_subscriptions_api.py +326 -0
- moolabs/api/ledger_api.py +1483 -0
- moolabs/api/lookup_information_api.py +587 -0
- moolabs/api/mapping_rules_api.py +1782 -0
- moolabs/api/mappings_api.py +632 -0
- moolabs/api/margin_simulation_api.py +595 -0
- moolabs/api/margins_api.py +2301 -0
- moolabs/api/meter_billing_api.py +7419 -0
- moolabs/api/meter_portal_api.py +1368 -0
- moolabs/api/meter_subscriptions_api.py +4358 -0
- moolabs/api/meters_api.py +3707 -0
- moolabs/api/monitoring_api.py +561 -0
- moolabs/api/moolabs_api.py +1182 -0
- moolabs/api/moometer_proxy_api.py +1357 -0
- moolabs/api/netsuite_sync_api.py +2180 -0
- moolabs/api/notes_api.py +1425 -0
- moolabs/api/notifications_api.py +4490 -0
- moolabs/api/ops_api.py +315 -0
- moolabs/api/outbox_api.py +653 -0
- moolabs/api/payments_api.py +2889 -0
- moolabs/api/performance_api.py +2471 -0
- moolabs/api/plan_pricing_api.py +3409 -0
- moolabs/api/plans_api.py +2197 -0
- moolabs/api/pools_api.py +2358 -0
- moolabs/api/portal_api.py +1103 -0
- moolabs/api/product_catalog_api.py +7644 -0
- moolabs/api/promises_api.py +2814 -0
- moolabs/api/quote_agents_api.py +2036 -0
- moolabs/api/quote_contract_webhooks_api.py +327 -0
- moolabs/api/quote_contracts_api.py +2551 -0
- moolabs/api/quote_sessions_api.py +881 -0
- moolabs/api/quotes_api.py +12880 -0
- moolabs/api/rate_cards_api.py +578 -0
- moolabs/api/rate_catalog_api.py +2120 -0
- moolabs/api/rate_schedules_api.py +1224 -0
- moolabs/api/rating_api.py +617 -0
- moolabs/api/reconstruction_api.py +1281 -0
- moolabs/api/remittances_api.py +1521 -0
- moolabs/api/reports_api.py +722 -0
- moolabs/api/rollover_api.py +313 -0
- moolabs/api/sdk_ingest_api.py +312 -0
- moolabs/api/snapshots_api.py +1218 -0
- moolabs/api/state_projection_api.py +961 -0
- moolabs/api/steering_api.py +1862 -0
- moolabs/api/subjects_api.py +1160 -0
- moolabs/api/subscription_overrides_api.py +579 -0
- moolabs/api/subscriptions_api.py +1200 -0
- moolabs/api/tasks_api.py +1509 -0
- moolabs/api/tenant_api.py +22395 -0
- moolabs/api/tenant_config_api.py +282 -0
- moolabs/api/topup_api.py +632 -0
- moolabs/api/unpriced_api.py +933 -0
- moolabs/api/usage_api.py +999 -0
- moolabs/api/variance_api.py +1327 -0
- moolabs/api/wallets_api.py +3787 -0
- moolabs/api/webhooks_api.py +281 -0
- moolabs/api/well_known_api.py +278 -0
- moolabs/api/word_addin_api.py +623 -0
- moolabs/api_client.py +797 -0
- moolabs/api_response.py +21 -0
- moolabs/configuration.py +620 -0
- moolabs/exceptions.py +199 -0
- moolabs/models/__init__.py +1286 -0
- moolabs/models/account_create.py +114 -0
- moolabs/models/account_filter_options_response.py +97 -0
- moolabs/models/account_invoice_list_response.py +95 -0
- moolabs/models/account_list_item_response.py +152 -0
- moolabs/models/account_list_item_response_subsidiaries_inner.py +152 -0
- moolabs/models/account_list_response.py +101 -0
- moolabs/models/account_overview_bucket_response.py +91 -0
- moolabs/models/account_overview_response.py +106 -0
- moolabs/models/account_response.py +132 -0
- moolabs/models/account_segment_row.py +91 -0
- moolabs/models/account_subsidiary_option.py +89 -0
- moolabs/models/account_summary.py +97 -0
- moolabs/models/account_team_member_in.py +97 -0
- moolabs/models/account_team_member_out.py +101 -0
- moolabs/models/account_team_member_patch.py +97 -0
- moolabs/models/account_team_role.py +39 -0
- moolabs/models/account_update.py +106 -0
- moolabs/models/action_kind.py +45 -0
- moolabs/models/acute_approve_request.py +87 -0
- moolabs/models/acute_demo_seed_lifecycle_request.py +103 -0
- moolabs/models/acute_http_validation_error.py +95 -0
- moolabs/models/acute_validation_error.py +99 -0
- moolabs/models/add_contract_participant_request.py +107 -0
- moolabs/models/addon.py +178 -0
- moolabs/models/addon1.py +115 -0
- moolabs/models/addon2.py +95 -0
- moolabs/models/addon_create.py +123 -0
- moolabs/models/addon_instance_type.py +37 -0
- moolabs/models/addon_order_by.py +40 -0
- moolabs/models/addon_paginated_response.py +101 -0
- moolabs/models/addon_replace_update.py +105 -0
- moolabs/models/addon_status.py +38 -0
- moolabs/models/address.py +110 -0
- moolabs/models/adjusted_total.py +152 -0
- moolabs/models/adjustment_amount.py +152 -0
- moolabs/models/aging_bucket_detail.py +93 -0
- moolabs/models/aging_report_response.py +106 -0
- moolabs/models/alb_bootstrap_response.py +89 -0
- moolabs/models/alb_connector_config.py +128 -0
- moolabs/models/alb_connector_health_response.py +112 -0
- moolabs/models/alb_connector_list_response.py +138 -0
- moolabs/models/alb_load_balancer_config.py +111 -0
- moolabs/models/alb_route_rule.py +107 -0
- moolabs/models/alb_source_config.py +123 -0
- moolabs/models/alb_source_health_response.py +93 -0
- moolabs/models/alb_status_patch_request.py +94 -0
- moolabs/models/alb_status_patch_response.py +94 -0
- moolabs/models/alb_target_group_config.py +103 -0
- moolabs/models/algorithm_breakdown_item.py +89 -0
- moolabs/models/algorithm_info.py +93 -0
- moolabs/models/alignment.py +87 -0
- moolabs/models/allocate_credits_request.py +95 -0
- moolabs/models/allocation_coverage_response.py +157 -0
- moolabs/models/allocation_fact_page_response.py +97 -0
- moolabs/models/allocation_fact_response.py +146 -0
- moolabs/models/allocation_key.py +91 -0
- moolabs/models/allocation_rule_create.py +114 -0
- moolabs/models/allocation_rule_response.py +113 -0
- moolabs/models/allocation_rule_update.py +111 -0
- moolabs/models/allocation_run_create_request.py +100 -0
- moolabs/models/allocation_run_create_response.py +142 -0
- moolabs/models/allocation_run_open_cost_snapshot_response.py +120 -0
- moolabs/models/allocation_run_readout_response.py +110 -0
- moolabs/models/allocation_run_response.py +133 -0
- moolabs/models/allocations_list_response.py +97 -0
- moolabs/models/amount.py +152 -0
- moolabs/models/amount1.py +152 -0
- moolabs/models/api_key_item.py +103 -0
- moolabs/models/app.py +164 -0
- moolabs/models/app_api_v1_auto_topup_router_trigger_response.py +108 -0
- moolabs/models/app_api_v1_fx_rates_router_fx_rate_response.py +104 -0
- moolabs/models/app_api_v1_integrations_netsuite_sync_router_trigger_response.py +89 -0
- moolabs/models/app_api_v1_internal_subscription_sync_schemas_subscription_sync_request.py +123 -0
- moolabs/models/app_api_v1_portal_router_create_portal_token_request.py +92 -0
- moolabs/models/app_api_v1_quotes_schemas_quote_settings_response.py +91 -0
- moolabs/models/app_api_v1_quotes_schemas_update_quote_settings_request.py +89 -0
- moolabs/models/app_api_v1_subscriptions_router_subscription_sync_request.py +125 -0
- moolabs/models/app_api_v1_tenant_access_router_create_portal_token_request.py +101 -0
- moolabs/models/app_api_v1_tenant_fx_rates_router_fx_rate_response.py +93 -0
- moolabs/models/app_api_v1_tenant_quote_settings_router_quote_settings_response.py +89 -0
- moolabs/models/app_api_v1_tenant_quote_settings_router_update_quote_settings_request.py +87 -0
- moolabs/models/app_capability.py +102 -0
- moolabs/models/app_capability_type.py +40 -0
- moolabs/models/app_paginated_response.py +101 -0
- moolabs/models/app_reference.py +95 -0
- moolabs/models/app_replace_update.py +164 -0
- moolabs/models/app_status.py +37 -0
- moolabs/models/app_type.py +38 -0
- moolabs/models/apply_credit_request.py +92 -0
- moolabs/models/approval_action_request.py +88 -0
- moolabs/models/approval_action_response.py +95 -0
- moolabs/models/approval_policy_response.py +91 -0
- moolabs/models/approve_request.py +88 -0
- moolabs/models/approve_response.py +91 -0
- moolabs/models/approver_in.py +95 -0
- moolabs/models/arc_demo_seed_lifecycle_request.py +103 -0
- moolabs/models/arc_dunning_permission_grant_request.py +96 -0
- moolabs/models/arc_dunning_permission_revoke_request.py +90 -0
- moolabs/models/arc_dunning_template_admin_grant_request.py +90 -0
- moolabs/models/arc_dunning_template_admin_grant_response.py +115 -0
- moolabs/models/arc_dunning_template_admin_revoke_request.py +88 -0
- moolabs/models/arc_dunning_template_admin_user_dto.py +107 -0
- moolabs/models/arc_dunning_template_admin_user_grant_dto.py +105 -0
- moolabs/models/arc_dunning_template_admin_users_response.py +110 -0
- moolabs/models/arc_http_validation_error.py +95 -0
- moolabs/models/arc_transaction_request.py +110 -0
- moolabs/models/arc_validation_error.py +99 -0
- moolabs/models/ask_customer_request.py +97 -0
- moolabs/models/ask_customer_response.py +91 -0
- moolabs/models/ask_moo_redline_request.py +98 -0
- moolabs/models/attribution_allocation_error_detail.py +94 -0
- moolabs/models/attribution_allocation_error_response.py +91 -0
- moolabs/models/attribution_completeness_response.py +97 -0
- moolabs/models/attribution_signal_conflict_detail.py +94 -0
- moolabs/models/attribution_signal_conflict_response.py +91 -0
- moolabs/models/attribution_signal_delta.py +98 -0
- moolabs/models/attribution_signal_request.py +123 -0
- moolabs/models/attribution_signal_response.py +96 -0
- moolabs/models/audit_request.py +91 -0
- moolabs/models/auto_topup_activity_item.py +104 -0
- moolabs/models/auto_topup_activity_response.py +97 -0
- moolabs/models/auto_topup_rule_response.py +114 -0
- moolabs/models/availability.py +43 -0
- moolabs/models/backfill_candidate.py +97 -0
- moolabs/models/backfill_malformed_disputes_request.py +87 -0
- moolabs/models/backfill_malformed_disputes_response.py +101 -0
- moolabs/models/balance_history_window.py +99 -0
- moolabs/models/basis.py +37 -0
- moolabs/models/batch_ingest_request.py +96 -0
- moolabs/models/batch_wallet_state_request.py +105 -0
- moolabs/models/batch_wallet_state_request_item.py +91 -0
- moolabs/models/batch_wallet_state_response.py +97 -0
- moolabs/models/batch_wallets_by_subjects_request.py +88 -0
- moolabs/models/billing_customer_profile.py +109 -0
- moolabs/models/billing_discount_percentage.py +100 -0
- moolabs/models/billing_discount_reason.py +164 -0
- moolabs/models/billing_discount_usage.py +107 -0
- moolabs/models/billing_discounts.py +97 -0
- moolabs/models/billing_import_request.py +105 -0
- moolabs/models/billing_import_response.py +104 -0
- moolabs/models/billing_invoice_customer_extended_details.py +116 -0
- moolabs/models/billing_party.py +110 -0
- moolabs/models/billing_party_replace_update.py +106 -0
- moolabs/models/billing_party_tax_identity.py +88 -0
- moolabs/models/billing_profile.py +140 -0
- moolabs/models/billing_profile_app_references.py +107 -0
- moolabs/models/billing_profile_apps.py +107 -0
- moolabs/models/billing_profile_apps_create.py +113 -0
- moolabs/models/billing_profile_apps_or_reference.py +148 -0
- moolabs/models/billing_profile_create.py +112 -0
- moolabs/models/billing_profile_customer_override.py +116 -0
- moolabs/models/billing_profile_customer_override_create.py +98 -0
- moolabs/models/billing_profile_customer_override_expand.py +37 -0
- moolabs/models/billing_profile_customer_override_order_by.py +40 -0
- moolabs/models/billing_profile_customer_override_with_details.py +113 -0
- moolabs/models/billing_profile_customer_override_with_details_paginated_response.py +101 -0
- moolabs/models/billing_profile_expand.py +36 -0
- moolabs/models/billing_profile_order_by.py +39 -0
- moolabs/models/billing_profile_paginated_response.py +101 -0
- moolabs/models/billing_profile_replace_update_with_workflow.py +106 -0
- moolabs/models/billing_tenant_settings_out.py +89 -0
- moolabs/models/billing_tenant_settings_update.py +88 -0
- moolabs/models/billing_workflow.py +109 -0
- moolabs/models/billing_workflow_collection_alignment.py +150 -0
- moolabs/models/billing_workflow_collection_alignment_anchored.py +100 -0
- moolabs/models/billing_workflow_collection_alignment_subscription.py +94 -0
- moolabs/models/billing_workflow_collection_settings.py +93 -0
- moolabs/models/billing_workflow_create.py +109 -0
- moolabs/models/billing_workflow_invoicing_settings.py +99 -0
- moolabs/models/billing_workflow_payment_settings.py +88 -0
- moolabs/models/billing_workflow_tax_settings.py +89 -0
- moolabs/models/bom_component_in.py +105 -0
- moolabs/models/bom_component_out.py +109 -0
- moolabs/models/bom_create_request.py +107 -0
- moolabs/models/bom_out.py +127 -0
- moolabs/models/bom_update_request.py +103 -0
- moolabs/models/bom_variance_out.py +115 -0
- moolabs/models/breakdown_response.py +124 -0
- moolabs/models/breakdown_row.py +121 -0
- moolabs/models/breakdown_row_kind.py +39 -0
- moolabs/models/budget_alert_response.py +107 -0
- moolabs/models/budget_amount.py +152 -0
- moolabs/models/budget_amount1.py +152 -0
- moolabs/models/budget_create.py +110 -0
- moolabs/models/budget_pace_status.py +38 -0
- moolabs/models/budget_response.py +113 -0
- moolabs/models/budget_status_item.py +105 -0
- moolabs/models/budget_update.py +107 -0
- moolabs/models/budget_with_utilization.py +119 -0
- moolabs/models/bulk_action_request.py +92 -0
- moolabs/models/bulk_replay_request.py +92 -0
- moolabs/models/buyer_accept_request.py +95 -0
- moolabs/models/buyer_otp_request_response.py +91 -0
- moolabs/models/buyer_otp_verify_request.py +95 -0
- moolabs/models/buyer_otp_verify_response.py +89 -0
- moolabs/models/buyer_quote_line_item.py +103 -0
- moolabs/models/buyer_quote_pricing.py +93 -0
- moolabs/models/buyer_quote_projection.py +133 -0
- moolabs/models/buyer_reject_request.py +88 -0
- moolabs/models/buyer_request_changes_request.py +94 -0
- moolabs/models/buyer_request_changes_response.py +93 -0
- moolabs/models/buyer_requested_changes.py +90 -0
- moolabs/models/cancel_subscription_request.py +91 -0
- moolabs/models/card_type.py +37 -0
- moolabs/models/case_create.py +112 -0
- moolabs/models/case_escalate_request.py +90 -0
- moolabs/models/case_invoice_create.py +127 -0
- moolabs/models/case_invoice_response.py +150 -0
- moolabs/models/case_list_item_response.py +171 -0
- moolabs/models/case_list_response.py +101 -0
- moolabs/models/case_pause_request.py +91 -0
- moolabs/models/case_response.py +169 -0
- moolabs/models/case_update.py +102 -0
- moolabs/models/case_write_off_request.py +90 -0
- moolabs/models/cash_app_config_update_request.py +96 -0
- moolabs/models/cei_response.py +102 -0
- moolabs/models/change_item.py +101 -0
- moolabs/models/channel_policy_schema.py +112 -0
- moolabs/models/channel_preference_create.py +99 -0
- moolabs/models/channel_preference_response.py +106 -0
- moolabs/models/channel_preference_update.py +95 -0
- moolabs/models/channel_preferences_response.py +95 -0
- moolabs/models/chat_feedback_in.py +91 -0
- moolabs/models/chat_message_in.py +89 -0
- moolabs/models/chat_request.py +101 -0
- moolabs/models/check_trigger_request.py +88 -0
- moolabs/models/checkout_session_custom_text_after_submit_params.py +109 -0
- moolabs/models/checkout_session_custom_text_after_submit_params_after_submit.py +88 -0
- moolabs/models/checkout_session_custom_text_after_submit_params_shipping_address.py +88 -0
- moolabs/models/checkout_session_custom_text_after_submit_params_submit.py +88 -0
- moolabs/models/checkout_session_custom_text_after_submit_params_terms_of_service_acceptance.py +88 -0
- moolabs/models/checkout_session_ui_mode.py +37 -0
- moolabs/models/clause_citations.py +91 -0
- moolabs/models/clause_family.py +129 -0
- moolabs/models/clause_finding.py +110 -0
- moolabs/models/clause_pack.py +118 -0
- moolabs/models/clause_position.py +91 -0
- moolabs/models/client_app_start_response.py +87 -0
- moolabs/models/cloud_cost_row_input.py +105 -0
- moolabs/models/cloud_provider.py +38 -0
- moolabs/models/cloud_provider_data_through.py +116 -0
- moolabs/models/cloud_provider_quality_axis.py +107 -0
- moolabs/models/cloud_temporal_coverage_summary.py +114 -0
- moolabs/models/collection_method.py +37 -0
- moolabs/models/commercial_basis.py +39 -0
- moolabs/models/commercial_overrides.py +113 -0
- moolabs/models/commercial_overrides_input.py +115 -0
- moolabs/models/commercial_overrides_payload.py +113 -0
- moolabs/models/communication_create.py +110 -0
- moolabs/models/communication_list_response.py +101 -0
- moolabs/models/communication_response.py +138 -0
- moolabs/models/comparison_mode.py +37 -0
- moolabs/models/completeness_response.py +105 -0
- moolabs/models/component_coverage_response.py +123 -0
- moolabs/models/compute_variance_request.py +96 -0
- moolabs/models/compute_variance_response.py +105 -0
- moolabs/models/config_upload_gap_out.py +89 -0
- moolabs/models/config_upload_response.py +109 -0
- moolabs/models/config_upload_summary_out.py +95 -0
- moolabs/models/connector_config_response.py +93 -0
- moolabs/models/connector_health_response.py +102 -0
- moolabs/models/connector_item.py +105 -0
- moolabs/models/contact_create.py +100 -0
- moolabs/models/contact_list_response.py +101 -0
- moolabs/models/contact_response.py +134 -0
- moolabs/models/contact_update.py +102 -0
- moolabs/models/contract_document_response.py +104 -0
- moolabs/models/contract_event_response.py +108 -0
- moolabs/models/contract_inbound_message_response.py +106 -0
- moolabs/models/contract_participant_response.py +131 -0
- moolabs/models/contract_segment_response.py +95 -0
- moolabs/models/contract_thread_response.py +115 -0
- moolabs/models/contract_thread_snapshot_response.py +121 -0
- moolabs/models/contract_upload_detail_response.py +103 -0
- moolabs/models/contract_version_response.py +128 -0
- moolabs/models/contributor_item.py +123 -0
- moolabs/models/contributor_kind.py +38 -0
- moolabs/models/contributor_query_request.py +146 -0
- moolabs/models/contributor_response.py +174 -0
- moolabs/models/cost.py +152 -0
- moolabs/models/cost_adjustment_create.py +131 -0
- moolabs/models/cost_adjustment_response.py +102 -0
- moolabs/models/cost_driver_rule_create_request.py +158 -0
- moolabs/models/cost_driver_rule_response.py +126 -0
- moolabs/models/cost_driver_rule_update_request.py +100 -0
- moolabs/models/cost_event_detail_response.py +132 -0
- moolabs/models/cost_event_ingest.py +177 -0
- moolabs/models/cost_event_response.py +122 -0
- moolabs/models/cost_event_summary_item.py +103 -0
- moolabs/models/cost_event_summary_request.py +88 -0
- moolabs/models/cost_event_summary_response.py +95 -0
- moolabs/models/cost_explorer_response.py +155 -0
- moolabs/models/cost_scope.py +37 -0
- moolabs/models/coverage_snapshot_response.py +114 -0
- moolabs/models/cpu_core_hours.py +152 -0
- moolabs/models/cpu_cost_weight.py +152 -0
- moolabs/models/create_allocation_run_api422_response.py +147 -0
- moolabs/models/create_api_key_request.py +89 -0
- moolabs/models/create_api_key_response.py +105 -0
- moolabs/models/create_auto_topup_rule_request.py +106 -0
- moolabs/models/create_checkout_session_tax_id_collection.py +90 -0
- moolabs/models/create_checkout_session_tax_id_collection_required.py +37 -0
- moolabs/models/create_contract_thread_request.py +87 -0
- moolabs/models/create_credit_request.py +97 -0
- moolabs/models/create_fx_rate_request.py +103 -0
- moolabs/models/create_grant_request.py +136 -0
- moolabs/models/create_mapping_request.py +91 -0
- moolabs/models/create_matrix_price_row_request.py +91 -0
- moolabs/models/create_matrix_price_row_response.py +89 -0
- moolabs/models/create_portal_token_response.py +91 -0
- moolabs/models/create_quote_redline_request.py +103 -0
- moolabs/models/create_quote_request.py +119 -0
- moolabs/models/create_quote_template_request.py +102 -0
- moolabs/models/create_rate_card_request.py +105 -0
- moolabs/models/create_reconstruction_run_request.py +101 -0
- moolabs/models/create_session_response.py +97 -0
- moolabs/models/create_snapshot_request.py +98 -0
- moolabs/models/create_stripe_checkout_session_billing_address_collection.py +37 -0
- moolabs/models/create_stripe_checkout_session_consent_collection.py +97 -0
- moolabs/models/create_stripe_checkout_session_consent_collection_payment_method_reuse_agreement.py +88 -0
- moolabs/models/create_stripe_checkout_session_consent_collection_payment_method_reuse_agreement_position.py +37 -0
- moolabs/models/create_stripe_checkout_session_consent_collection_promotions.py +37 -0
- moolabs/models/create_stripe_checkout_session_consent_collection_terms_of_service.py +37 -0
- moolabs/models/create_stripe_checkout_session_customer_update.py +92 -0
- moolabs/models/create_stripe_checkout_session_customer_update_behavior.py +37 -0
- moolabs/models/create_stripe_checkout_session_redirect_on_completion.py +38 -0
- moolabs/models/create_stripe_checkout_session_request.py +112 -0
- moolabs/models/create_stripe_checkout_session_request_customer.py +163 -0
- moolabs/models/create_stripe_checkout_session_request_options.py +147 -0
- moolabs/models/create_stripe_checkout_session_result.py +139 -0
- moolabs/models/create_stripe_customer_portal_session_params.py +91 -0
- moolabs/models/create_threshold_request.py +99 -0
- moolabs/models/create_value_recognition_request.py +100 -0
- moolabs/models/create_wallet_request.py +106 -0
- moolabs/models/credit_config.py +119 -0
- moolabs/models/credit_config_payload.py +135 -0
- moolabs/models/credit_cost_ratio_item.py +93 -0
- moolabs/models/credit_cost_ratio_response.py +101 -0
- moolabs/models/credit_memo_apply_request.py +90 -0
- moolabs/models/credit_memo_create.py +104 -0
- moolabs/models/credit_memo_create_internal.py +114 -0
- moolabs/models/credit_memo_create_public.py +108 -0
- moolabs/models/credit_memo_item.py +102 -0
- moolabs/models/credit_memo_line_in.py +90 -0
- moolabs/models/credit_memo_list_response.py +101 -0
- moolabs/models/credit_memo_out.py +138 -0
- moolabs/models/credit_memo_response.py +124 -0
- moolabs/models/credit_memo_update.py +94 -0
- moolabs/models/credit_note_original_invoice_ref.py +114 -0
- moolabs/models/credit_override.py +87 -0
- moolabs/models/credit_override_input.py +101 -0
- moolabs/models/credit_override_payload.py +100 -0
- moolabs/models/crm_quote_context_request.py +94 -0
- moolabs/models/crm_quote_context_response.py +101 -0
- moolabs/models/crm_quote_draft_request.py +98 -0
- moolabs/models/crm_quote_draft_response.py +107 -0
- moolabs/models/crm_quote_record_card_response.py +97 -0
- moolabs/models/crm_surface_response.py +97 -0
- moolabs/models/currency.py +101 -0
- moolabs/models/current.py +152 -0
- moolabs/models/custom_invoicing_app.py +142 -0
- moolabs/models/custom_invoicing_app_replace_update.py +105 -0
- moolabs/models/custom_invoicing_customer_app_data.py +117 -0
- moolabs/models/custom_invoicing_draft_synchronized_request.py +91 -0
- moolabs/models/custom_invoicing_finalized_invoicing_request.py +91 -0
- moolabs/models/custom_invoicing_finalized_payment_request.py +87 -0
- moolabs/models/custom_invoicing_finalized_request.py +97 -0
- moolabs/models/custom_invoicing_line_discount_external_id_mapping.py +97 -0
- moolabs/models/custom_invoicing_line_external_id_mapping.py +97 -0
- moolabs/models/custom_invoicing_payment_trigger.py +41 -0
- moolabs/models/custom_invoicing_sync_result.py +110 -0
- moolabs/models/custom_invoicing_tax_config.py +87 -0
- moolabs/models/custom_invoicing_update_payment_status_request.py +92 -0
- moolabs/models/custom_plan_input.py +136 -0
- moolabs/models/custom_subscription_change.py +119 -0
- moolabs/models/custom_subscription_create.py +153 -0
- moolabs/models/customer.py +172 -0
- moolabs/models/customer_access.py +102 -0
- moolabs/models/customer_app_data.py +164 -0
- moolabs/models/customer_app_data_create_or_update_item.py +164 -0
- moolabs/models/customer_app_data_paginated_response.py +101 -0
- moolabs/models/customer_cost_item.py +95 -0
- moolabs/models/customer_create.py +120 -0
- moolabs/models/customer_expand.py +36 -0
- moolabs/models/customer_id.py +95 -0
- moolabs/models/customer_item.py +114 -0
- moolabs/models/customer_key.py +87 -0
- moolabs/models/customer_key_page_response.py +101 -0
- moolabs/models/customer_key_put_request.py +103 -0
- moolabs/models/customer_key_response.py +94 -0
- moolabs/models/customer_margin_item.py +99 -0
- moolabs/models/customer_margin_response.py +101 -0
- moolabs/models/customer_order_by.py +38 -0
- moolabs/models/customer_paginated_response.py +101 -0
- moolabs/models/customer_replace_update.py +120 -0
- moolabs/models/customer_subscription_order_by.py +37 -0
- moolabs/models/customer_upsert_request.py +102 -0
- moolabs/models/customer_usage_attribution.py +88 -0
- moolabs/models/danger_request.py +89 -0
- moolabs/models/dashboard_meta.py +172 -0
- moolabs/models/dashboard_overview_response.py +115 -0
- moolabs/models/data_through.py +115 -0
- moolabs/models/db_time_coverage_response.py +154 -0
- moolabs/models/db_time_evidence_batch_readback_response.py +135 -0
- moolabs/models/db_time_evidence_batch_request.py +147 -0
- moolabs/models/db_time_evidence_batch_response.py +100 -0
- moolabs/models/db_time_evidence_conflict_detail.py +94 -0
- moolabs/models/db_time_evidence_conflict_response.py +91 -0
- moolabs/models/db_time_evidence_not_found_detail.py +94 -0
- moolabs/models/db_time_evidence_not_found_response.py +91 -0
- moolabs/models/db_time_observation_request.py +131 -0
- moolabs/models/db_time_readout_quality_response.py +103 -0
- moolabs/models/deal_context.py +97 -0
- moolabs/models/deal_context_rule.py +105 -0
- moolabs/models/decision_item.py +131 -0
- moolabs/models/decision_kind.py +46 -0
- moolabs/models/decision_overview_response.py +172 -0
- moolabs/models/decision_queue_response.py +115 -0
- moolabs/models/decision_reason_code.py +53 -0
- moolabs/models/delta.py +152 -0
- moolabs/models/delta_pct.py +152 -0
- moolabs/models/demo_seed_acute_history_baseline_request.py +106 -0
- moolabs/models/demo_seed_acute_tenant_registration_request.py +114 -0
- moolabs/models/demo_seed_agent_report_baseline_request.py +106 -0
- moolabs/models/demo_seed_arc_invoice_ref.py +107 -0
- moolabs/models/demo_seed_arc_portfolio_baseline_request.py +121 -0
- moolabs/models/demo_seed_catalog_baseline_request.py +108 -0
- moolabs/models/demo_seed_customer_portfolio_baseline_request.py +103 -0
- moolabs/models/demo_seed_integration_crm_baseline_request.py +106 -0
- moolabs/models/demo_seed_integration_finance_baseline_request.py +106 -0
- moolabs/models/demo_seed_integration_netsuite_baseline_request.py +106 -0
- moolabs/models/demo_seed_integration_webhook_baseline_request.py +106 -0
- moolabs/models/demo_seed_invoice_payment_baseline_request.py +106 -0
- moolabs/models/demo_seed_isolation_canary_baseline_request.py +106 -0
- moolabs/models/demo_seed_lifecycle_request.py +103 -0
- moolabs/models/demo_seed_quote_contract_baseline_request.py +106 -0
- moolabs/models/demo_seed_security_credentials_baseline_request.py +106 -0
- moolabs/models/demo_seed_settings_baseline_request.py +106 -0
- moolabs/models/demo_seed_subscription_baseline_request.py +106 -0
- moolabs/models/demo_seed_tenant_config_baseline_request.py +119 -0
- moolabs/models/demo_seed_usage_baseline_request.py +106 -0
- moolabs/models/derive_request.py +94 -0
- moolabs/models/dimension.py +39 -0
- moolabs/models/dimension_coverage_response.py +102 -0
- moolabs/models/disclosure_policy_response.py +93 -0
- moolabs/models/disclosure_policy_update_request.py +102 -0
- moolabs/models/discount_percentage.py +87 -0
- moolabs/models/discount_reason_maximum_spend.py +94 -0
- moolabs/models/discount_reason_ratecard_percentage.py +109 -0
- moolabs/models/discount_reason_ratecard_usage.py +116 -0
- moolabs/models/discount_usage.py +95 -0
- moolabs/models/discounts.py +97 -0
- moolabs/models/dismiss_refinement_request.py +87 -0
- moolabs/models/dispute_approval_request.py +88 -0
- moolabs/models/dispute_list_response.py +101 -0
- moolabs/models/dispute_resolve_request.py +92 -0
- moolabs/models/dispute_response.py +134 -0
- moolabs/models/dispute_summary_response.py +104 -0
- moolabs/models/dispute_update_request.py +102 -0
- moolabs/models/dns_record.py +119 -0
- moolabs/models/domain_response.py +95 -0
- moolabs/models/domain_update.py +87 -0
- moolabs/models/draft_lock_request.py +88 -0
- moolabs/models/draft_lock_response.py +97 -0
- moolabs/models/draft_save_request.py +114 -0
- moolabs/models/draft_unlock_request.py +90 -0
- moolabs/models/driver_item.py +122 -0
- moolabs/models/dry_run_request.py +89 -0
- moolabs/models/dry_run_response.py +97 -0
- moolabs/models/dso_response.py +100 -0
- moolabs/models/dynamic_price_with_commitments.py +131 -0
- moolabs/models/economics_summary.py +114 -0
- moolabs/models/edit_subscription_add_item.py +102 -0
- moolabs/models/edit_subscription_add_phase.py +100 -0
- moolabs/models/edit_subscription_remove_item.py +98 -0
- moolabs/models/edit_subscription_remove_phase.py +99 -0
- moolabs/models/edit_subscription_stretch_phase.py +98 -0
- moolabs/models/edit_subscription_unschedule_edit.py +94 -0
- moolabs/models/effective_permission_grant_dto.py +105 -0
- moolabs/models/effective_permissions_response.py +129 -0
- moolabs/models/email_config_out.py +188 -0
- moolabs/models/email_config_upsert.py +111 -0
- moolabs/models/email_context.py +44 -0
- moolabs/models/email_message_status.py +42 -0
- moolabs/models/email_provider.py +37 -0
- moolabs/models/email_provider_identity.py +157 -0
- moolabs/models/email_provider_identity_list.py +108 -0
- moolabs/models/email_provider_operator_upsert.py +131 -0
- moolabs/models/email_provider_route.py +128 -0
- moolabs/models/email_provider_route_list.py +108 -0
- moolabs/models/enable_tier3_response.py +93 -0
- moolabs/models/endpoints_response.py +89 -0
- moolabs/models/entitlement.py +164 -0
- moolabs/models/entitlement_boolean.py +168 -0
- moolabs/models/entitlement_boolean_create_inputs.py +127 -0
- moolabs/models/entitlement_boolean_v2.py +170 -0
- moolabs/models/entitlement_create_inputs.py +164 -0
- moolabs/models/entitlement_grant.py +148 -0
- moolabs/models/entitlement_grant_create_input.py +111 -0
- moolabs/models/entitlement_grant_create_input_v2.py +113 -0
- moolabs/models/entitlement_grant_v2.py +148 -0
- moolabs/models/entitlement_metered.py +190 -0
- moolabs/models/entitlement_metered_create_inputs.py +143 -0
- moolabs/models/entitlement_metered_v2.py +196 -0
- moolabs/models/entitlement_metered_v2_create_inputs.py +157 -0
- moolabs/models/entitlement_order_by.py +37 -0
- moolabs/models/entitlement_override.py +89 -0
- moolabs/models/entitlement_override_input.py +95 -0
- moolabs/models/entitlement_override_payload.py +93 -0
- moolabs/models/entitlement_paginated_response.py +101 -0
- moolabs/models/entitlement_payload.py +103 -0
- moolabs/models/entitlement_static.py +170 -0
- moolabs/models/entitlement_static_create_inputs.py +129 -0
- moolabs/models/entitlement_static_v2.py +172 -0
- moolabs/models/entitlement_type.py +38 -0
- moolabs/models/entitlement_v2.py +164 -0
- moolabs/models/entitlement_v2_create_inputs.py +164 -0
- moolabs/models/entitlement_v2_paginated_response.py +101 -0
- moolabs/models/entitlement_value.py +109 -0
- moolabs/models/error_extension.py +110 -0
- moolabs/models/escalate_request.py +90 -0
- moolabs/models/escalate_response.py +91 -0
- moolabs/models/escalation_action_request.py +90 -0
- moolabs/models/escalation_action_response.py +91 -0
- moolabs/models/escalation_create.py +97 -0
- moolabs/models/escalation_dismiss_request.py +90 -0
- moolabs/models/escalation_list_response.py +101 -0
- moolabs/models/escalation_resolve_request.py +87 -0
- moolabs/models/escalation_response.py +112 -0
- moolabs/models/escalation_update.py +93 -0
- moolabs/models/event.py +115 -0
- moolabs/models/event_delivery_attempt_response.py +101 -0
- moolabs/models/evidence_create_request.py +96 -0
- moolabs/models/evidence_kind.py +39 -0
- moolabs/models/evidence_list_response.py +97 -0
- moolabs/models/evidence_response.py +106 -0
- moolabs/models/evidence_review_request.py +90 -0
- moolabs/models/evidence_window.py +37 -0
- moolabs/models/exchange_rate.py +152 -0
- moolabs/models/expiration_duration.py +40 -0
- moolabs/models/expiration_period.py +91 -0
- moolabs/models/explorer_alias_hint.py +104 -0
- moolabs/models/explorer_alias_hint1.py +110 -0
- moolabs/models/explorer_alias_kind.py +39 -0
- moolabs/models/explorer_breakdown_page.py +166 -0
- moolabs/models/explorer_breakdown_row.py +200 -0
- moolabs/models/explorer_cloud_provider_quality_axis.py +107 -0
- moolabs/models/explorer_cloud_temporal_coverage_summary.py +115 -0
- moolabs/models/explorer_contributor_kind.py +40 -0
- moolabs/models/explorer_contributor_query_request.py +190 -0
- moolabs/models/explorer_contributor_response.py +201 -0
- moolabs/models/explorer_contributor_row.py +177 -0
- moolabs/models/explorer_cost_event_status.py +39 -0
- moolabs/models/explorer_dimension.py +40 -0
- moolabs/models/explorer_effective_sort.py +107 -0
- moolabs/models/explorer_effective_sort_field.py +41 -0
- moolabs/models/explorer_evidence_kind.py +41 -0
- moolabs/models/explorer_evidence_role.py +37 -0
- moolabs/models/explorer_excluded_event_count.py +104 -0
- moolabs/models/explorer_excluded_event_reason.py +38 -0
- moolabs/models/explorer_exposure_summary.py +124 -0
- moolabs/models/explorer_measure_source.py +40 -0
- moolabs/models/explorer_meta.py +196 -0
- moolabs/models/explorer_quality_axis.py +117 -0
- moolabs/models/explorer_quality_caveat_code.py +45 -0
- moolabs/models/explorer_quality_summary.py +151 -0
- moolabs/models/explorer_query_request.py +184 -0
- moolabs/models/explorer_request_detail_event.py +134 -0
- moolabs/models/explorer_request_detail_line.py +133 -0
- moolabs/models/explorer_request_detail_query_request.py +201 -0
- moolabs/models/explorer_request_detail_response.py +205 -0
- moolabs/models/explorer_request_detail_result_cap.py +125 -0
- moolabs/models/explorer_request_distribution.py +109 -0
- moolabs/models/explorer_request_query_request.py +190 -0
- moolabs/models/explorer_search.py +111 -0
- moolabs/models/explorer_selection_result.py +107 -0
- moolabs/models/explorer_selection_row.py +185 -0
- moolabs/models/explorer_selection_status.py +39 -0
- moolabs/models/explorer_sort.py +104 -0
- moolabs/models/explorer_sort1.py +116 -0
- moolabs/models/explorer_sort_fallback_reason.py +39 -0
- moolabs/models/explorer_sort_field.py +40 -0
- moolabs/models/explorer_source_scope.py +38 -0
- moolabs/models/explorer_summary.py +134 -0
- moolabs/models/explorer_trend_point.py +124 -0
- moolabs/models/explorer_usage_history_evidence.py +110 -0
- moolabs/models/explorer_usage_history_source.py +38 -0
- moolabs/models/feature.py +156 -0
- moolabs/models/feature_contributor_customer.py +91 -0
- moolabs/models/feature_contributor_model.py +93 -0
- moolabs/models/feature_contributor_request.py +91 -0
- moolabs/models/feature_contributors_response.py +121 -0
- moolabs/models/feature_cost_item.py +97 -0
- moolabs/models/feature_create_inputs.py +128 -0
- moolabs/models/feature_flag_item.py +97 -0
- moolabs/models/feature_flag_update.py +87 -0
- moolabs/models/feature_margin_item.py +101 -0
- moolabs/models/feature_margin_response.py +101 -0
- moolabs/models/feature_meta.py +97 -0
- moolabs/models/feature_order_by.py +40 -0
- moolabs/models/feature_override_request.py +93 -0
- moolabs/models/feature_paginated_response.py +101 -0
- moolabs/models/feature_pool.py +99 -0
- moolabs/models/feature_pool_payload.py +107 -0
- moolabs/models/feature_price_request.py +93 -0
- moolabs/models/feature_pricing_input.py +120 -0
- moolabs/models/filter_id_exact.py +88 -0
- moolabs/models/filter_string.py +129 -0
- moolabs/models/filter_time.py +114 -0
- moolabs/models/finance_summary.py +143 -0
- moolabs/models/first_pass_redline_request.py +88 -0
- moolabs/models/first_pass_redline_response.py +89 -0
- moolabs/models/flag_disputed_request.py +92 -0
- moolabs/models/flag_disputed_response.py +97 -0
- moolabs/models/flat_price.py +104 -0
- moolabs/models/flat_price_with_payment_term.py +107 -0
- moolabs/models/flatamount.py +152 -0
- moolabs/models/freshness_axis.py +121 -0
- moolabs/models/freshness_source.py +40 -0
- moolabs/models/fx_rate_to_reporting.py +153 -0
- moolabs/models/fx_rates_list_response.py +97 -0
- moolabs/models/gate_status_response.py +105 -0
- moolabs/models/get_fx_rate_request.py +92 -0
- moolabs/models/get_matrix_price_rows_response.py +107 -0
- moolabs/models/google_chat_quote_response.py +89 -0
- moolabs/models/grant_activation_request.py +122 -0
- moolabs/models/grant_burn_down_history_segment.py +125 -0
- moolabs/models/grant_order_by.py +38 -0
- moolabs/models/grant_paginated_response.py +101 -0
- moolabs/models/grant_plan_change_request.py +126 -0
- moolabs/models/grant_renewal_request.py +122 -0
- moolabs/models/grant_response.py +128 -0
- moolabs/models/grant_source_type.py +40 -0
- moolabs/models/grant_usage_record.py +97 -0
- moolabs/models/grant_v2_paginated_response.py +101 -0
- moolabs/models/grants_list_response.py +99 -0
- moolabs/models/handoff_create_request.py +92 -0
- moolabs/models/helicone_config_request.py +92 -0
- moolabs/models/homepage_response.py +107 -0
- moolabs/models/hosted_checkout_settlement_ptp_response.py +100 -0
- moolabs/models/hosted_checkout_settlement_request.py +109 -0
- moolabs/models/hosted_checkout_settlement_response.py +97 -0
- moolabs/models/http_validation_error.py +95 -0
- moolabs/models/hub_spot_connect_request.py +91 -0
- moolabs/models/id_resource.py +97 -0
- moolabs/models/identity_scope.py +39 -0
- moolabs/models/identity_scope_coverage_response.py +96 -0
- moolabs/models/import_batch_detail_response.py +105 -0
- moolabs/models/import_batch_detail_row.py +111 -0
- moolabs/models/import_batch_request.py +112 -0
- moolabs/models/import_batch_response.py +101 -0
- moolabs/models/import_batch_summary.py +111 -0
- moolabs/models/import_dispute_item.py +122 -0
- moolabs/models/import_disputes_request.py +96 -0
- moolabs/models/import_invoice_item.py +133 -0
- moolabs/models/import_invoices_request.py +96 -0
- moolabs/models/import_promise_item.py +155 -0
- moolabs/models/import_promises_request.py +96 -0
- moolabs/models/inbound_email_attachment.py +91 -0
- moolabs/models/inbound_email_payload.py +103 -0
- moolabs/models/inbound_email_process_response.py +97 -0
- moolabs/models/ingest_events_body.py +150 -0
- moolabs/models/ingest_health.py +97 -0
- moolabs/models/ingested_event.py +111 -0
- moolabs/models/ingested_event_cursor_paginated_response.py +98 -0
- moolabs/models/initialamount.py +152 -0
- moolabs/models/insight_card.py +111 -0
- moolabs/models/install_method.py +38 -0
- moolabs/models/integration_update.py +89 -0
- moolabs/models/invalidate_portal_token_request.py +89 -0
- moolabs/models/invalidate_portal_tokens_request.py +89 -0
- moolabs/models/invoice.py +249 -0
- moolabs/models/invoice_allocation_out.py +103 -0
- moolabs/models/invoice_app_external_ids.py +97 -0
- moolabs/models/invoice_available_action_details.py +89 -0
- moolabs/models/invoice_available_actions.py +132 -0
- moolabs/models/invoice_detailed_line.py +244 -0
- moolabs/models/invoice_detailed_line_cost_category.py +37 -0
- moolabs/models/invoice_detailed_line_rate_card.py +116 -0
- moolabs/models/invoice_document_ref_type.py +36 -0
- moolabs/models/invoice_expand.py +38 -0
- moolabs/models/invoice_generic_document_ref.py +98 -0
- moolabs/models/invoice_item.py +112 -0
- moolabs/models/invoice_line.py +296 -0
- moolabs/models/invoice_line_amount_discount.py +141 -0
- moolabs/models/invoice_line_app_external_ids.py +93 -0
- moolabs/models/invoice_line_discounts.py +105 -0
- moolabs/models/invoice_line_managed_by.py +38 -0
- moolabs/models/invoice_line_out.py +99 -0
- moolabs/models/invoice_line_replace_update.py +143 -0
- moolabs/models/invoice_line_status.py +38 -0
- moolabs/models/invoice_line_subscription_reference.py +115 -0
- moolabs/models/invoice_line_tax_behavior.py +37 -0
- moolabs/models/invoice_line_tax_item.py +117 -0
- moolabs/models/invoice_line_usage_discount.py +155 -0
- moolabs/models/invoice_order_by.py +41 -0
- moolabs/models/invoice_paginated_response.py +101 -0
- moolabs/models/invoice_payment_terms.py +91 -0
- moolabs/models/invoice_pending_line_create.py +131 -0
- moolabs/models/invoice_pending_line_create_input.py +105 -0
- moolabs/models/invoice_pending_line_create_response.py +107 -0
- moolabs/models/invoice_pending_lines_action_filters_input.py +88 -0
- moolabs/models/invoice_pending_lines_action_input.py +106 -0
- moolabs/models/invoice_reference.py +101 -0
- moolabs/models/invoice_replace_update.py +117 -0
- moolabs/models/invoice_simulation_input.py +107 -0
- moolabs/models/invoice_simulation_line.py +164 -0
- moolabs/models/invoice_status.py +44 -0
- moolabs/models/invoice_status_details.py +103 -0
- moolabs/models/invoice_totals.py +163 -0
- moolabs/models/invoice_type.py +37 -0
- moolabs/models/invoice_upsert_request.py +112 -0
- moolabs/models/invoice_usage_based_rate_card.py +116 -0
- moolabs/models/invoice_workflow_invoicing_settings_replace_update.py +97 -0
- moolabs/models/invoice_workflow_replace_update.py +91 -0
- moolabs/models/invoice_workflow_settings.py +111 -0
- moolabs/models/invoice_workflow_settings_replace_update.py +97 -0
- moolabs/models/issue_after_reset.py +90 -0
- moolabs/models/jurisdiction_profile_response.py +102 -0
- moolabs/models/jurisdiction_resolution_request.py +92 -0
- moolabs/models/kill_switch_request.py +87 -0
- moolabs/models/langfuse_config_request.py +92 -0
- moolabs/models/lesson_action_request.py +89 -0
- moolabs/models/level_in.py +91 -0
- moolabs/models/lifecycle_event_request.py +97 -0
- moolabs/models/line_item_create.py +118 -0
- moolabs/models/line_total.py +153 -0
- moolabs/models/link_net_suite_account_request.py +89 -0
- moolabs/models/list_auto_topup_rules_response.py +97 -0
- moolabs/models/list_connectors200_response_inner.py +148 -0
- moolabs/models/list_entitlements_result.py +151 -0
- moolabs/models/list_events_v2_filter_param.py +123 -0
- moolabs/models/list_features_result.py +151 -0
- moolabs/models/list_grants_get200_response.py +151 -0
- moolabs/models/mapping_response.py +97 -0
- moolabs/models/mapping_rule_create.py +105 -0
- moolabs/models/mapping_rule_response.py +118 -0
- moolabs/models/mapping_rule_update.py +103 -0
- moolabs/models/margin_snapshot_response.py +131 -0
- moolabs/models/marketplace_app_api_key_install_request.py +91 -0
- moolabs/models/marketplace_install_request_payload.py +89 -0
- moolabs/models/marketplace_install_response.py +94 -0
- moolabs/models/marketplace_listing.py +105 -0
- moolabs/models/marketplace_listing_paginated_response.py +101 -0
- moolabs/models/matrix_price_row.py +91 -0
- moolabs/models/measure.py +146 -0
- moolabs/models/measure_kind.py +41 -0
- moolabs/models/measure_usage_from.py +151 -0
- moolabs/models/measure_usage_from_preset.py +37 -0
- moolabs/models/merge_remittances_request.py +89 -0
- moolabs/models/meter.py +176 -0
- moolabs/models/meter_aggregation.py +42 -0
- moolabs/models/meter_create.py +113 -0
- moolabs/models/meter_mapping_item.py +95 -0
- moolabs/models/meter_order_by.py +40 -0
- moolabs/models/meter_query_request.py +121 -0
- moolabs/models/meter_query_result.py +103 -0
- moolabs/models/meter_query_row.py +98 -0
- moolabs/models/meter_test_event_request.py +87 -0
- moolabs/models/meter_test_event_response.py +93 -0
- moolabs/models/meter_update.py +94 -0
- moolabs/models/meter_usage_summary_item.py +103 -0
- moolabs/models/meter_usage_summary_response.py +95 -0
- moolabs/models/meter_validation_error.py +101 -0
- moolabs/models/migrate_subscription_request.py +105 -0
- moolabs/models/model_cost_item.py +95 -0
- moolabs/models/net_suite_connect_request.py +103 -0
- moolabs/models/net_suite_cutover_guard_request.py +87 -0
- moolabs/models/net_suite_m2_m_finalize_request.py +87 -0
- moolabs/models/net_suite_m2_m_setup_request.py +101 -0
- moolabs/models/net_suite_managed_portal_backfill_cancel_request.py +87 -0
- moolabs/models/net_suite_managed_portal_backfill_request.py +89 -0
- moolabs/models/net_suite_managed_portal_backfill_run_request.py +90 -0
- moolabs/models/net_suite_managed_portal_mapping_delete_request.py +91 -0
- moolabs/models/net_suite_managed_portal_mapping_request.py +97 -0
- moolabs/models/net_suite_managed_portal_protection_ack_request.py +89 -0
- moolabs/models/next_action_type.py +41 -0
- moolabs/models/note_create.py +94 -0
- moolabs/models/note_list_response.py +101 -0
- moolabs/models/note_response.py +104 -0
- moolabs/models/notification_channel_meta.py +100 -0
- moolabs/models/notification_channel_order_by.py +39 -0
- moolabs/models/notification_channel_paginated_response.py +101 -0
- moolabs/models/notification_channel_type.py +36 -0
- moolabs/models/notification_channel_webhook.py +145 -0
- moolabs/models/notification_channel_webhook_create_request.py +117 -0
- moolabs/models/notification_event.py +137 -0
- moolabs/models/notification_event_balance_threshold_payload.py +121 -0
- moolabs/models/notification_event_balance_threshold_payload_data.py +133 -0
- moolabs/models/notification_event_delivery_attempt.py +103 -0
- moolabs/models/notification_event_delivery_status.py +125 -0
- moolabs/models/notification_event_delivery_status_state.py +40 -0
- moolabs/models/notification_event_entitlement_value_payload_base.py +125 -0
- moolabs/models/notification_event_invoice_created_payload.py +121 -0
- moolabs/models/notification_event_invoice_updated_payload.py +121 -0
- moolabs/models/notification_event_order_by.py +37 -0
- moolabs/models/notification_event_paginated_response.py +101 -0
- moolabs/models/notification_event_payload.py +178 -0
- moolabs/models/notification_event_resend_request.py +88 -0
- moolabs/models/notification_event_reset_payload.py +121 -0
- moolabs/models/notification_event_type.py +39 -0
- moolabs/models/notification_rule.py +178 -0
- moolabs/models/notification_rule_balance_threshold.py +159 -0
- moolabs/models/notification_rule_balance_threshold_create_request.py +115 -0
- moolabs/models/notification_rule_balance_threshold_value.py +90 -0
- moolabs/models/notification_rule_balance_threshold_value_type.py +40 -0
- moolabs/models/notification_rule_create_request.py +178 -0
- moolabs/models/notification_rule_entitlement_reset.py +149 -0
- moolabs/models/notification_rule_entitlement_reset_create_request.py +105 -0
- moolabs/models/notification_rule_invoice_created.py +139 -0
- moolabs/models/notification_rule_invoice_created_create_request.py +103 -0
- moolabs/models/notification_rule_invoice_updated.py +139 -0
- moolabs/models/notification_rule_invoice_updated_create_request.py +103 -0
- moolabs/models/notification_rule_order_by.py +39 -0
- moolabs/models/notification_rule_paginated_response.py +101 -0
- moolabs/models/notify_channel.py +89 -0
- moolabs/models/o_auth2_authorization_code_grant_error_type.py +42 -0
- moolabs/models/observation_out.py +103 -0
- moolabs/models/observed_total_cost.py +153 -0
- moolabs/models/open_cost_cluster_binding.py +115 -0
- moolabs/models/open_cost_dedicated_namespace.py +104 -0
- moolabs/models/open_cost_installation_create_request.py +122 -0
- moolabs/models/open_cost_installation_create_response.py +116 -0
- moolabs/models/open_cost_installation_response.py +114 -0
- moolabs/models/open_cost_snapshot_request.py +139 -0
- moolabs/models/open_cost_snapshot_response.py +125 -0
- moolabs/models/open_cost_trust_policy.py +145 -0
- moolabs/models/open_cost_wire_row.py +140 -0
- moolabs/models/open_from_scope_request.py +98 -0
- moolabs/models/operations_summary.py +120 -0
- moolabs/models/opt_out_request.py +90 -0
- moolabs/models/opt_out_response.py +93 -0
- moolabs/models/org_role.py +152 -0
- moolabs/models/original_total.py +152 -0
- moolabs/models/otlp_ingest_response.py +91 -0
- moolabs/models/overall_freshness.py +116 -0
- moolabs/models/overdraft_settings.py +93 -0
- moolabs/models/overdraft_settings_payload.py +93 -0
- moolabs/models/override_first_ingress_request.py +94 -0
- moolabs/models/override_request.py +90 -0
- moolabs/models/override_response.py +91 -0
- moolabs/models/overview_response.py +109 -0
- moolabs/models/pack_provenance.py +101 -0
- moolabs/models/package_price_with_commitments.py +137 -0
- moolabs/models/paginated_credit_memos.py +97 -0
- moolabs/models/paginated_customers.py +99 -0
- moolabs/models/paginated_invoices.py +97 -0
- moolabs/models/paginated_payments.py +97 -0
- moolabs/models/paginated_sync_runs.py +97 -0
- moolabs/models/patch_quote_agent_policy_request.py +98 -0
- moolabs/models/patch_rows_request.py +95 -0
- moolabs/models/patch_session_request.py +107 -0
- moolabs/models/payment_allocation_response.py +104 -0
- moolabs/models/payment_create.py +109 -0
- moolabs/models/payment_due_date.py +124 -0
- moolabs/models/payment_failed_request.py +101 -0
- moolabs/models/payment_failed_response.py +93 -0
- moolabs/models/payment_instructions_response.py +95 -0
- moolabs/models/payment_instructions_update_request.py +90 -0
- moolabs/models/payment_item.py +104 -0
- moolabs/models/payment_link_request.py +105 -0
- moolabs/models/payment_link_response.py +89 -0
- moolabs/models/payment_list_response.py +101 -0
- moolabs/models/payment_match_request.py +90 -0
- moolabs/models/payment_response.py +136 -0
- moolabs/models/payment_reversal_request.py +90 -0
- moolabs/models/payment_succeeded_request.py +103 -0
- moolabs/models/payment_succeeded_response.py +97 -0
- moolabs/models/payment_term_due_date.py +113 -0
- moolabs/models/payment_term_instant.py +102 -0
- moolabs/models/payment_terms.py +148 -0
- moolabs/models/pending_provider_confirmation_reconcile_request.py +88 -0
- moolabs/models/pending_sns_confirmation_out.py +102 -0
- moolabs/models/period.py +90 -0
- moolabs/models/period_settlement_out.py +143 -0
- moolabs/models/period_window.py +103 -0
- moolabs/models/persona.py +39 -0
- moolabs/models/plan.py +191 -0
- moolabs/models/plan_addon.py +126 -0
- moolabs/models/plan_addon_create.py +101 -0
- moolabs/models/plan_addon_order_by.py +40 -0
- moolabs/models/plan_addon_paginated_response.py +101 -0
- moolabs/models/plan_addon_replace_update.py +91 -0
- moolabs/models/plan_amend_request.py +103 -0
- moolabs/models/plan_cost_item.py +97 -0
- moolabs/models/plan_create.py +140 -0
- moolabs/models/plan_create_request.py +103 -0
- moolabs/models/plan_order_by.py +40 -0
- moolabs/models/plan_paginated_response.py +101 -0
- moolabs/models/plan_phase.py +113 -0
- moolabs/models/plan_pricing_input.py +103 -0
- moolabs/models/plan_pricing_sync_request.py +105 -0
- moolabs/models/plan_pricing_view.py +107 -0
- moolabs/models/plan_ref_payload.py +91 -0
- moolabs/models/plan_reference.py +106 -0
- moolabs/models/plan_reference_input.py +97 -0
- moolabs/models/plan_replace_update.py +122 -0
- moolabs/models/plan_status.py +39 -0
- moolabs/models/plan_subscription_change.py +153 -0
- moolabs/models/plan_subscription_create.py +167 -0
- moolabs/models/policy_update_request.py +94 -0
- moolabs/models/pool_notification_config_request.py +87 -0
- moolabs/models/pooloverrides_value.py +152 -0
- moolabs/models/portal_case_response.py +108 -0
- moolabs/models/portal_channel_preference_request.py +100 -0
- moolabs/models/portal_dispute_request.py +94 -0
- moolabs/models/portal_dispute_response.py +102 -0
- moolabs/models/portal_invoice_response.py +124 -0
- moolabs/models/portal_payment_intent_response.py +91 -0
- moolabs/models/portal_payment_request.py +102 -0
- moolabs/models/portal_preferences_request.py +113 -0
- moolabs/models/portal_preferences_response.py +87 -0
- moolabs/models/portal_promise_to_pay_response.py +106 -0
- moolabs/models/portal_ptp_request.py +95 -0
- moolabs/models/portal_token.py +121 -0
- moolabs/models/portal_token_item.py +97 -0
- moolabs/models/preview_resolution_request.py +89 -0
- moolabs/models/preview_resolution_response.py +101 -0
- moolabs/models/preview_template_request.py +102 -0
- moolabs/models/preview_template_response.py +95 -0
- moolabs/models/preview_trace_entry.py +97 -0
- moolabs/models/previous.py +152 -0
- moolabs/models/price_payment_term.py +37 -0
- moolabs/models/price_session_response.py +109 -0
- moolabs/models/price_tier.py +110 -0
- moolabs/models/price_tier_payload.py +103 -0
- moolabs/models/pricing_override_input.py +100 -0
- moolabs/models/pricing_result.py +100 -0
- moolabs/models/pricing_snapshot_response.py +109 -0
- moolabs/models/pricing_tier_input.py +90 -0
- moolabs/models/priority.py +38 -0
- moolabs/models/pro_rating_config.py +90 -0
- moolabs/models/pro_rating_mode.py +36 -0
- moolabs/models/process_value_recognition_request.py +94 -0
- moolabs/models/progress.py +94 -0
- moolabs/models/projection_link_in.py +91 -0
- moolabs/models/projection_links_request.py +98 -0
- moolabs/models/projection_links_response.py +89 -0
- moolabs/models/promise_response.py +112 -0
- moolabs/models/promote_response.py +89 -0
- moolabs/models/provider_billing_reference.py +146 -0
- moolabs/models/provider_billing_reference_kind.py +37 -0
- moolabs/models/provider_blocking_reason.py +115 -0
- moolabs/models/provider_confirmation_repair_request.py +99 -0
- moolabs/models/provider_connection_status.py +42 -0
- moolabs/models/provider_identity_details.py +110 -0
- moolabs/models/provider_identity_purpose.py +38 -0
- moolabs/models/provider_kind.py +37 -0
- moolabs/models/provider_readiness_response.py +97 -0
- moolabs/models/provider_readiness_summary.py +123 -0
- moolabs/models/provider_route_status.py +39 -0
- moolabs/models/provider_safe_test_send_request.py +107 -0
- moolabs/models/provider_safe_test_send_response.py +109 -0
- moolabs/models/provider_summary.py +89 -0
- moolabs/models/provider_warning.py +115 -0
- moolabs/models/ptp_approval_request.py +88 -0
- moolabs/models/ptp_create_request.py +103 -0
- moolabs/models/ptp_fulfill_request.py +90 -0
- moolabs/models/ptp_payment_link_response.py +89 -0
- moolabs/models/ptp_summary_response.py +104 -0
- moolabs/models/publish_plan_request.py +93 -0
- moolabs/models/publish_plan_result.py +93 -0
- moolabs/models/publish_template_request.py +96 -0
- moolabs/models/put_account_segment_request.py +89 -0
- moolabs/models/put_sku_eligibility_request.py +89 -0
- moolabs/models/put_tenant_segments_request.py +89 -0
- moolabs/models/quality_axis.py +116 -0
- moolabs/models/quality_caveat_code.py +40 -0
- moolabs/models/quality_status.py +40 -0
- moolabs/models/quality_summary.py +135 -0
- moolabs/models/quantity.py +153 -0
- moolabs/models/quick_action.py +99 -0
- moolabs/models/quick_books_connect_request.py +93 -0
- moolabs/models/quick_redline_response.py +123 -0
- moolabs/models/quote_agent_evaluation_response.py +106 -0
- moolabs/models/quote_agent_policy_response.py +112 -0
- moolabs/models/quote_agent_provenance_run_response.py +114 -0
- moolabs/models/quote_agent_run_response.py +122 -0
- moolabs/models/quote_approval_decision_request.py +88 -0
- moolabs/models/quote_approval_response.py +107 -0
- moolabs/models/quote_line_item_input.py +144 -0
- moolabs/models/quote_list_response.py +101 -0
- moolabs/models/quote_metrics_response.py +105 -0
- moolabs/models/quote_redline_decision_request.py +88 -0
- moolabs/models/quote_redline_response.py +125 -0
- moolabs/models/quote_response.py +125 -0
- moolabs/models/quote_template_list_response.py +95 -0
- moolabs/models/quote_template_response.py +109 -0
- moolabs/models/quote_version_response.py +129 -0
- moolabs/models/ram_cost_weight.py +152 -0
- moolabs/models/ram_gib_hours.py +152 -0
- moolabs/models/rate_bulk_import_request.py +97 -0
- moolabs/models/rate_bulk_import_response.py +91 -0
- moolabs/models/rate_card.py +150 -0
- moolabs/models/rate_card_boolean_entitlement.py +96 -0
- moolabs/models/rate_card_cost_list_response.py +95 -0
- moolabs/models/rate_card_cost_row.py +103 -0
- moolabs/models/rate_card_discount.py +87 -0
- moolabs/models/rate_card_discount_input.py +103 -0
- moolabs/models/rate_card_discount_payload.py +87 -0
- moolabs/models/rate_card_entitlement.py +164 -0
- moolabs/models/rate_card_flat_fee.py +148 -0
- moolabs/models/rate_card_metered_entitlement.py +107 -0
- moolabs/models/rate_card_payload.py +103 -0
- moolabs/models/rate_card_response.py +106 -0
- moolabs/models/rate_card_static_entitlement.py +98 -0
- moolabs/models/rate_card_usage_based.py +148 -0
- moolabs/models/rate_card_usage_based_price.py +192 -0
- moolabs/models/rate_catalog_create.py +117 -0
- moolabs/models/rate_catalog_response.py +118 -0
- moolabs/models/rate_catalog_update.py +107 -0
- moolabs/models/rate_generation_list_view.py +97 -0
- moolabs/models/rate_generation_view.py +98 -0
- moolabs/models/rate_per_unit.py +153 -0
- moolabs/models/rate_per_unit1.py +153 -0
- moolabs/models/rate_schedule_list_response.py +95 -0
- moolabs/models/rate_schedule_preview_response.py +105 -0
- moolabs/models/rate_schedule_version_out.py +101 -0
- moolabs/models/ratify_family_request.py +91 -0
- moolabs/models/ratify_refinement_request.py +93 -0
- moolabs/models/re_scope_request.py +89 -0
- moolabs/models/readiness_summary.py +89 -0
- moolabs/models/readout_page_response.py +119 -0
- moolabs/models/readout_row_response.py +104 -0
- moolabs/models/readout_snapshot_response.py +116 -0
- moolabs/models/reallocate_request.py +90 -0
- moolabs/models/reallocate_response.py +97 -0
- moolabs/models/reattempt_request.py +88 -0
- moolabs/models/reattempt_response.py +89 -0
- moolabs/models/recall_request.py +87 -0
- moolabs/models/reconcile_request.py +89 -0
- moolabs/models/reconcile_response.py +95 -0
- moolabs/models/reconciliation_basis.py +99 -0
- moolabs/models/reconciliation_basis_out.py +95 -0
- moolabs/models/reconstruction_run_response.py +95 -0
- moolabs/models/record_usage_request.py +115 -0
- moolabs/models/recurring_period.py +96 -0
- moolabs/models/recurring_period_create_input.py +94 -0
- moolabs/models/recurring_period_interval.py +151 -0
- moolabs/models/recurring_period_interval_enum.py +39 -0
- moolabs/models/recurring_period_v2.py +94 -0
- moolabs/models/recurringamount.py +152 -0
- moolabs/models/redline_summary.py +89 -0
- moolabs/models/refund_credit_request.py +90 -0
- moolabs/models/reject_rate_generation_request.py +87 -0
- moolabs/models/remittance_create_request.py +103 -0
- moolabs/models/remittance_list_response.py +101 -0
- moolabs/models/remittance_response.py +120 -0
- moolabs/models/remove_contract_participant_response.py +131 -0
- moolabs/models/remove_phase_shifting.py +37 -0
- moolabs/models/replace_levels_request.py +95 -0
- moolabs/models/replay_dead_letter_request.py +89 -0
- moolabs/models/report_create_request.py +105 -0
- moolabs/models/report_create_response.py +139 -0
- moolabs/models/reporting_line_total.py +153 -0
- moolabs/models/reporting_total_cost.py +153 -0
- moolabs/models/request_cost_distribution.py +127 -0
- moolabs/models/request_evidence_response.py +197 -0
- moolabs/models/request_evidence_row.py +154 -0
- moolabs/models/request_pricing_state.py +40 -0
- moolabs/models/reschedule_request.py +88 -0
- moolabs/models/resend_identity_details.py +104 -0
- moolabs/models/reset_entitlement_usage_input.py +92 -0
- moolabs/models/resolve_unapplied_request.py +87 -0
- moolabs/models/resource_map_create_request.py +103 -0
- moolabs/models/resource_map_response.py +113 -0
- moolabs/models/retry_unpriced_request.py +91 -0
- moolabs/models/retry_unpriced_response.py +91 -0
- moolabs/models/revenue_recognition_request.py +89 -0
- moolabs/models/reversed_settlement_ref.py +93 -0
- moolabs/models/review_quarantined_request.py +95 -0
- moolabs/models/review_quarantined_response.py +95 -0
- moolabs/models/revoke_api_key_request.py +87 -0
- moolabs/models/revoke_portal_token_request.py +87 -0
- moolabs/models/rollover_mode.py +38 -0
- moolabs/models/rollover_request.py +95 -0
- moolabs/models/rollover_response.py +98 -0
- moolabs/models/rollovercapamount.py +152 -0
- moolabs/models/rolloverpercent.py +152 -0
- moolabs/models/rotate_key_request.py +88 -0
- moolabs/models/rotate_key_response.py +92 -0
- moolabs/models/route_update_request.py +110 -0
- moolabs/models/salesforce_connect_request.py +93 -0
- moolabs/models/sample_rate.py +153 -0
- moolabs/models/sandbox_app.py +138 -0
- moolabs/models/sandbox_app_replace_update.py +101 -0
- moolabs/models/sandbox_customer_app_data.py +115 -0
- moolabs/models/save_redline_edit_request.py +95 -0
- moolabs/models/scenario_compare_response.py +97 -0
- moolabs/models/scenario_item.py +117 -0
- moolabs/models/scenario_request.py +96 -0
- moolabs/models/scope_type.py +38 -0
- moolabs/models/sdk_batch_ingest_request.py +96 -0
- moolabs/models/sdk_batch_ingest_response.py +91 -0
- moolabs/models/sdk_event.py +111 -0
- moolabs/models/sdk_span.py +106 -0
- moolabs/models/segment_out.py +95 -0
- moolabs/models/sender_response.py +93 -0
- moolabs/models/sender_update.py +93 -0
- moolabs/models/ses_identity_details.py +127 -0
- moolabs/models/ses_provider_scope_status.py +89 -0
- moolabs/models/set_rate_card_cost_request.py +89 -0
- moolabs/models/severity.py +38 -0
- moolabs/models/shadow_mode_request.py +87 -0
- moolabs/models/shadow_run_list_item.py +101 -0
- moolabs/models/shadow_run_metrics.py +114 -0
- moolabs/models/shadow_run_request.py +92 -0
- moolabs/models/shadow_run_summary.py +95 -0
- moolabs/models/simulate_margin_request.py +100 -0
- moolabs/models/simulate_margin_response.py +115 -0
- moolabs/models/simulate_out.py +103 -0
- moolabs/models/sku_eligibility_list_response.py +95 -0
- moolabs/models/sku_eligibility_row.py +91 -0
- moolabs/models/slack_quote_command_response.py +93 -0
- moolabs/models/snapshot_compute_request.py +104 -0
- moolabs/models/snapshot_compute_response.py +99 -0
- moolabs/models/snapshot_response.py +104 -0
- moolabs/models/sns_confirmation_command_out.py +98 -0
- moolabs/models/sns_confirmation_confirmed_out.py +94 -0
- moolabs/models/sns_confirmation_confirmed_request.py +101 -0
- moolabs/models/sns_confirmation_list_out.py +95 -0
- moolabs/models/sort_direction.py +37 -0
- moolabs/models/sort_order.py +37 -0
- moolabs/models/spend_summary.py +114 -0
- moolabs/models/stage_schema.py +117 -0
- moolabs/models/strategy_create_request.py +130 -0
- moolabs/models/strategy_preview_request.py +87 -0
- moolabs/models/strategy_update_request.py +133 -0
- moolabs/models/stripe_api_key_input.py +87 -0
- moolabs/models/stripe_app.py +150 -0
- moolabs/models/stripe_app_replace_update.py +103 -0
- moolabs/models/stripe_checkout_session_mode.py +36 -0
- moolabs/models/stripe_customer_app_data.py +119 -0
- moolabs/models/stripe_customer_app_data_base.py +89 -0
- moolabs/models/stripe_customer_app_data_create_or_update_item.py +111 -0
- moolabs/models/stripe_customer_portal_session.py +102 -0
- moolabs/models/stripe_tax_config.py +95 -0
- moolabs/models/stripe_webhook_event.py +99 -0
- moolabs/models/stripe_webhook_event_data.py +92 -0
- moolabs/models/stripe_webhook_response.py +118 -0
- moolabs/models/subject.py +122 -0
- moolabs/models/subject_upsert.py +98 -0
- moolabs/models/subscription.py +201 -0
- moolabs/models/subscription_activate_request.py +101 -0
- moolabs/models/subscription_addon.py +167 -0
- moolabs/models/subscription_addon_create.py +106 -0
- moolabs/models/subscription_addon_rate_card.py +94 -0
- moolabs/models/subscription_addon_timeline_segment.py +95 -0
- moolabs/models/subscription_addon_update.py +100 -0
- moolabs/models/subscription_alignment.py +93 -0
- moolabs/models/subscription_bad_request_error_response.py +102 -0
- moolabs/models/subscription_change.py +147 -0
- moolabs/models/subscription_change_response_body.py +97 -0
- moolabs/models/subscription_conflict_error_response.py +102 -0
- moolabs/models/subscription_create.py +147 -0
- moolabs/models/subscription_edit.py +102 -0
- moolabs/models/subscription_edit_operation.py +206 -0
- moolabs/models/subscription_error_extensions.py +95 -0
- moolabs/models/subscription_expanded.py +211 -0
- moolabs/models/subscription_item.py +167 -0
- moolabs/models/subscription_item_included.py +97 -0
- moolabs/models/subscription_item_price_override.py +111 -0
- moolabs/models/subscription_item_price_override_type.py +37 -0
- moolabs/models/subscription_paginated_response.py +101 -0
- moolabs/models/subscription_phase_create.py +109 -0
- moolabs/models/subscription_phase_expanded.py +163 -0
- moolabs/models/subscription_ramp_phase.py +91 -0
- moolabs/models/subscription_status.py +39 -0
- moolabs/models/subscription_timing.py +151 -0
- moolabs/models/subscription_timing_enum.py +37 -0
- moolabs/models/sync_config_request.py +109 -0
- moolabs/models/sync_config_response.py +111 -0
- moolabs/models/sync_invoices_request.py +87 -0
- moolabs/models/sync_run_item.py +102 -0
- moolabs/models/synthetic_request_evidence_row.py +118 -0
- moolabs/models/task_complete_request.py +92 -0
- moolabs/models/task_list_response.py +101 -0
- moolabs/models/task_response.py +130 -0
- moolabs/models/task_update.py +93 -0
- moolabs/models/tax_behavior.py +37 -0
- moolabs/models/tax_config.py +100 -0
- moolabs/models/template_archive_request.py +88 -0
- moolabs/models/template_card_action_request.py +99 -0
- moolabs/models/template_item.py +97 -0
- moolabs/models/template_key_create_request.py +92 -0
- moolabs/models/template_key_list_response.py +116 -0
- moolabs/models/template_key_response.py +126 -0
- moolabs/models/template_meta_response.py +93 -0
- moolabs/models/template_preview_request.py +87 -0
- moolabs/models/template_preview_response.py +101 -0
- moolabs/models/template_test_send_request.py +87 -0
- moolabs/models/template_test_send_response.py +93 -0
- moolabs/models/template_update.py +91 -0
- moolabs/models/template_version_list_response.py +95 -0
- moolabs/models/template_version_response.py +143 -0
- moolabs/models/tenant_config_response.py +95 -0
- moolabs/models/tenant_escalation_config_out.py +97 -0
- moolabs/models/tenant_escalation_config_patch.py +92 -0
- moolabs/models/tenant_provision_request.py +89 -0
- moolabs/models/tenant_segment_entry.py +89 -0
- moolabs/models/tenant_segments_response.py +97 -0
- moolabs/models/tenant_unit_economics.py +97 -0
- moolabs/models/territory_in.py +89 -0
- moolabs/models/test_send_request.py +104 -0
- moolabs/models/test_send_response.py +93 -0
- moolabs/models/tiered_price_mode.py +37 -0
- moolabs/models/tiered_price_with_commitments.py +132 -0
- moolabs/models/tiered_pricing_payload.py +97 -0
- moolabs/models/timestamp_window.py +103 -0
- moolabs/models/top_consumer.py +93 -0
- moolabs/models/topup_defaults_request.py +93 -0
- moolabs/models/total_cost.py +153 -0
- moolabs/models/traces_response.py +95 -0
- moolabs/models/trend_data_point.py +91 -0
- moolabs/models/trend_point.py +116 -0
- moolabs/models/trigger_request.py +87 -0
- moolabs/models/ulidor_external_key.py +153 -0
- moolabs/models/unapplied_cash_response.py +106 -0
- moolabs/models/unavailable_reason.py +66 -0
- moolabs/models/unexpected_problem_response.py +111 -0
- moolabs/models/unified_price_row_input.py +99 -0
- moolabs/models/unified_price_row_out.py +109 -0
- moolabs/models/unit_cost.py +153 -0
- moolabs/models/unit_economics.py +97 -0
- moolabs/models/unit_price.py +104 -0
- moolabs/models/unit_price_with_commitments.py +128 -0
- moolabs/models/unitamount.py +152 -0
- moolabs/models/update_approval_policy_request.py +87 -0
- moolabs/models/update_auto_topup_rule_request.py +102 -0
- moolabs/models/update_credit_pool_request.py +98 -0
- moolabs/models/update_quote_template_request.py +102 -0
- moolabs/models/update_threshold_request.py +97 -0
- moolabs/models/update_wallet_settings_request.py +95 -0
- moolabs/models/update_wallet_thresholds_request.py +92 -0
- moolabs/models/upsert_fx_rate_request.py +92 -0
- moolabs/models/upsert_provider_identity_request.py +115 -0
- moolabs/models/upto.py +152 -0
- moolabs/models/usage_summary_window_size.py +37 -0
- moolabs/models/validate_template_request.py +116 -0
- moolabs/models/validate_template_response.py +89 -0
- moolabs/models/validation_error.py +99 -0
- moolabs/models/validation_error_loc_inner.py +152 -0
- moolabs/models/validation_issue.py +135 -0
- moolabs/models/validation_issue_severity.py +37 -0
- moolabs/models/validation_response.py +105 -0
- moolabs/models/value_recognition_response.py +93 -0
- moolabs/models/variance_decomposition_out.py +117 -0
- moolabs/models/variance_summary_response.py +101 -0
- moolabs/models/verification_status.py +39 -0
- moolabs/models/void_grant_request.py +88 -0
- moolabs/models/void_invoice_action_create.py +93 -0
- moolabs/models/void_invoice_action_create_item.py +93 -0
- moolabs/models/void_invoice_action_input.py +103 -0
- moolabs/models/void_invoice_action_line_override.py +101 -0
- moolabs/models/void_invoice_line_action_create.py +150 -0
- moolabs/models/void_invoice_line_action_create_item.py +150 -0
- moolabs/models/void_invoice_line_discard_action.py +94 -0
- moolabs/models/void_invoice_line_pending_action_create.py +97 -0
- moolabs/models/void_invoice_line_pending_action_create_item.py +97 -0
- moolabs/models/volume_summary.py +114 -0
- moolabs/models/wallet_owner_type.py +43 -0
- moolabs/models/wallet_policy.py +38 -0
- moolabs/models/wallet_response.py +112 -0
- moolabs/models/wallet_state_response.py +105 -0
- moolabs/models/warning_item.py +93 -0
- moolabs/models/webhook_response.py +95 -0
- moolabs/models/webhook_update.py +95 -0
- moolabs/models/window_size.py +39 -0
- moolabs/models/windowed_balance_history.py +105 -0
- moolabs/models/xero_connect_request.py +91 -0
- moolabs/py.typed +0 -0
- moolabs/rest.py +257 -0
- moolabs-0.3.0.dist-info/METADATA +31 -0
- moolabs-0.3.0.dist-info/RECORD +1417 -0
- moolabs-0.3.0.dist-info/WHEEL +5 -0
- moolabs-0.3.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,3707 @@
|
|
|
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 datetime import datetime
|
|
20
|
+
from pydantic import Field, StrictBool, StrictStr, field_validator
|
|
21
|
+
from typing import Dict, List, Optional
|
|
22
|
+
from typing_extensions import Annotated
|
|
23
|
+
from moolabs.models.filter_string import FilterString
|
|
24
|
+
from moolabs.models.meter import Meter
|
|
25
|
+
from moolabs.models.meter_create import MeterCreate
|
|
26
|
+
from moolabs.models.meter_order_by import MeterOrderBy
|
|
27
|
+
from moolabs.models.meter_query_request import MeterQueryRequest
|
|
28
|
+
from moolabs.models.meter_query_result import MeterQueryResult
|
|
29
|
+
from moolabs.models.meter_test_event_request import MeterTestEventRequest
|
|
30
|
+
from moolabs.models.meter_test_event_response import MeterTestEventResponse
|
|
31
|
+
from moolabs.models.meter_update import MeterUpdate
|
|
32
|
+
from moolabs.models.meter_usage_summary_response import MeterUsageSummaryResponse
|
|
33
|
+
from moolabs.models.sort_order import SortOrder
|
|
34
|
+
from moolabs.models.usage_summary_window_size import UsageSummaryWindowSize
|
|
35
|
+
from moolabs.models.window_size import WindowSize
|
|
36
|
+
|
|
37
|
+
from moolabs.api_client import ApiClient, RequestSerialized
|
|
38
|
+
from moolabs.api_response import ApiResponse
|
|
39
|
+
from moolabs.rest import RESTResponseType
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class MetersApi:
|
|
43
|
+
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
44
|
+
Ref: https://openapi-generator.tech
|
|
45
|
+
|
|
46
|
+
Do not edit the class manually.
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
def __init__(self, api_client=None) -> None:
|
|
50
|
+
if api_client is None:
|
|
51
|
+
api_client = ApiClient.get_default()
|
|
52
|
+
self.api_client = api_client
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
@validate_call
|
|
56
|
+
def create_meter(
|
|
57
|
+
self,
|
|
58
|
+
meter_create: MeterCreate,
|
|
59
|
+
_request_timeout: Union[
|
|
60
|
+
None,
|
|
61
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
62
|
+
Tuple[
|
|
63
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
64
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
65
|
+
]
|
|
66
|
+
] = None,
|
|
67
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
68
|
+
_content_type: Optional[StrictStr] = None,
|
|
69
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
70
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
71
|
+
) -> Meter:
|
|
72
|
+
"""Create meter
|
|
73
|
+
|
|
74
|
+
Create a meter.
|
|
75
|
+
|
|
76
|
+
:param meter_create: (required)
|
|
77
|
+
:type meter_create: MeterCreate
|
|
78
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
79
|
+
number provided, it will be total request
|
|
80
|
+
timeout. It can also be a pair (tuple) of
|
|
81
|
+
(connection, read) timeouts.
|
|
82
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
83
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
84
|
+
request; this effectively ignores the
|
|
85
|
+
authentication in the spec for a single request.
|
|
86
|
+
:type _request_auth: dict, optional
|
|
87
|
+
:param _content_type: force content-type for the request.
|
|
88
|
+
:type _content_type: str, Optional
|
|
89
|
+
:param _headers: set to override the headers for a single
|
|
90
|
+
request; this effectively ignores the headers
|
|
91
|
+
in the spec for a single request.
|
|
92
|
+
:type _headers: dict, optional
|
|
93
|
+
:param _host_index: set to override the host_index for a single
|
|
94
|
+
request; this effectively ignores the host_index
|
|
95
|
+
in the spec for a single request.
|
|
96
|
+
:type _host_index: int, optional
|
|
97
|
+
:return: Returns the result object.
|
|
98
|
+
""" # noqa: E501
|
|
99
|
+
|
|
100
|
+
_param = self._create_meter_serialize(
|
|
101
|
+
meter_create=meter_create,
|
|
102
|
+
_request_auth=_request_auth,
|
|
103
|
+
_content_type=_content_type,
|
|
104
|
+
_headers=_headers,
|
|
105
|
+
_host_index=_host_index
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
109
|
+
'201': "Meter",
|
|
110
|
+
'400': "UnexpectedProblemResponse",
|
|
111
|
+
'401': "UnexpectedProblemResponse",
|
|
112
|
+
'403': "UnexpectedProblemResponse",
|
|
113
|
+
'412': "UnexpectedProblemResponse",
|
|
114
|
+
'500': "UnexpectedProblemResponse",
|
|
115
|
+
'503': "UnexpectedProblemResponse",
|
|
116
|
+
}
|
|
117
|
+
response_data = self.api_client.call_api(
|
|
118
|
+
*_param,
|
|
119
|
+
_request_timeout=_request_timeout
|
|
120
|
+
)
|
|
121
|
+
response_data.read()
|
|
122
|
+
return self.api_client.response_deserialize(
|
|
123
|
+
response_data=response_data,
|
|
124
|
+
response_types_map=_response_types_map,
|
|
125
|
+
).data
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
@validate_call
|
|
129
|
+
def create_meter_with_http_info(
|
|
130
|
+
self,
|
|
131
|
+
meter_create: MeterCreate,
|
|
132
|
+
_request_timeout: Union[
|
|
133
|
+
None,
|
|
134
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
135
|
+
Tuple[
|
|
136
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
137
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
138
|
+
]
|
|
139
|
+
] = None,
|
|
140
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
141
|
+
_content_type: Optional[StrictStr] = None,
|
|
142
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
143
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
144
|
+
) -> ApiResponse[Meter]:
|
|
145
|
+
"""Create meter
|
|
146
|
+
|
|
147
|
+
Create a meter.
|
|
148
|
+
|
|
149
|
+
:param meter_create: (required)
|
|
150
|
+
:type meter_create: MeterCreate
|
|
151
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
152
|
+
number provided, it will be total request
|
|
153
|
+
timeout. It can also be a pair (tuple) of
|
|
154
|
+
(connection, read) timeouts.
|
|
155
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
156
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
157
|
+
request; this effectively ignores the
|
|
158
|
+
authentication in the spec for a single request.
|
|
159
|
+
:type _request_auth: dict, optional
|
|
160
|
+
:param _content_type: force content-type for the request.
|
|
161
|
+
:type _content_type: str, Optional
|
|
162
|
+
:param _headers: set to override the headers for a single
|
|
163
|
+
request; this effectively ignores the headers
|
|
164
|
+
in the spec for a single request.
|
|
165
|
+
:type _headers: dict, optional
|
|
166
|
+
:param _host_index: set to override the host_index for a single
|
|
167
|
+
request; this effectively ignores the host_index
|
|
168
|
+
in the spec for a single request.
|
|
169
|
+
:type _host_index: int, optional
|
|
170
|
+
:return: Returns the result object.
|
|
171
|
+
""" # noqa: E501
|
|
172
|
+
|
|
173
|
+
_param = self._create_meter_serialize(
|
|
174
|
+
meter_create=meter_create,
|
|
175
|
+
_request_auth=_request_auth,
|
|
176
|
+
_content_type=_content_type,
|
|
177
|
+
_headers=_headers,
|
|
178
|
+
_host_index=_host_index
|
|
179
|
+
)
|
|
180
|
+
|
|
181
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
182
|
+
'201': "Meter",
|
|
183
|
+
'400': "UnexpectedProblemResponse",
|
|
184
|
+
'401': "UnexpectedProblemResponse",
|
|
185
|
+
'403': "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 create_meter_without_preload_content(
|
|
203
|
+
self,
|
|
204
|
+
meter_create: MeterCreate,
|
|
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
|
+
"""Create meter
|
|
219
|
+
|
|
220
|
+
Create a meter.
|
|
221
|
+
|
|
222
|
+
:param meter_create: (required)
|
|
223
|
+
:type meter_create: MeterCreate
|
|
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._create_meter_serialize(
|
|
247
|
+
meter_create=meter_create,
|
|
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
|
+
'201': "Meter",
|
|
256
|
+
'400': "UnexpectedProblemResponse",
|
|
257
|
+
'401': "UnexpectedProblemResponse",
|
|
258
|
+
'403': "UnexpectedProblemResponse",
|
|
259
|
+
'412': "UnexpectedProblemResponse",
|
|
260
|
+
'500': "UnexpectedProblemResponse",
|
|
261
|
+
'503': "UnexpectedProblemResponse",
|
|
262
|
+
}
|
|
263
|
+
response_data = self.api_client.call_api(
|
|
264
|
+
*_param,
|
|
265
|
+
_request_timeout=_request_timeout
|
|
266
|
+
)
|
|
267
|
+
return response_data.response
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
def _create_meter_serialize(
|
|
271
|
+
self,
|
|
272
|
+
meter_create,
|
|
273
|
+
_request_auth,
|
|
274
|
+
_content_type,
|
|
275
|
+
_headers,
|
|
276
|
+
_host_index,
|
|
277
|
+
) -> RequestSerialized:
|
|
278
|
+
|
|
279
|
+
_host = None
|
|
280
|
+
|
|
281
|
+
_collection_formats: Dict[str, str] = {
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
_path_params: Dict[str, str] = {}
|
|
285
|
+
_query_params: List[Tuple[str, str]] = []
|
|
286
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
287
|
+
_form_params: List[Tuple[str, str]] = []
|
|
288
|
+
_files: Dict[
|
|
289
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
290
|
+
] = {}
|
|
291
|
+
_body_params: Optional[bytes] = None
|
|
292
|
+
|
|
293
|
+
# process the path parameters
|
|
294
|
+
# process the query parameters
|
|
295
|
+
# process the header parameters
|
|
296
|
+
# process the form parameters
|
|
297
|
+
# process the body parameter
|
|
298
|
+
if meter_create is not None:
|
|
299
|
+
_body_params = meter_create
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
# set the HTTP header `Accept`
|
|
303
|
+
if 'Accept' not in _header_params:
|
|
304
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
305
|
+
[
|
|
306
|
+
'application/json',
|
|
307
|
+
'application/problem+json'
|
|
308
|
+
]
|
|
309
|
+
)
|
|
310
|
+
|
|
311
|
+
# set the HTTP header `Content-Type`
|
|
312
|
+
if _content_type:
|
|
313
|
+
_header_params['Content-Type'] = _content_type
|
|
314
|
+
else:
|
|
315
|
+
_default_content_type = (
|
|
316
|
+
self.api_client.select_header_content_type(
|
|
317
|
+
[
|
|
318
|
+
'application/json'
|
|
319
|
+
]
|
|
320
|
+
)
|
|
321
|
+
)
|
|
322
|
+
if _default_content_type is not None:
|
|
323
|
+
_header_params['Content-Type'] = _default_content_type
|
|
324
|
+
|
|
325
|
+
# authentication setting
|
|
326
|
+
_auth_settings: List[str] = [
|
|
327
|
+
'CloudTokenAuth'
|
|
328
|
+
]
|
|
329
|
+
|
|
330
|
+
return self.api_client.param_serialize(
|
|
331
|
+
method='POST',
|
|
332
|
+
resource_path='/api/v1/meters',
|
|
333
|
+
path_params=_path_params,
|
|
334
|
+
query_params=_query_params,
|
|
335
|
+
header_params=_header_params,
|
|
336
|
+
body=_body_params,
|
|
337
|
+
post_params=_form_params,
|
|
338
|
+
files=_files,
|
|
339
|
+
auth_settings=_auth_settings,
|
|
340
|
+
collection_formats=_collection_formats,
|
|
341
|
+
_host=_host,
|
|
342
|
+
_request_auth=_request_auth
|
|
343
|
+
)
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
@validate_call
|
|
349
|
+
def delete_meter(
|
|
350
|
+
self,
|
|
351
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
352
|
+
_request_timeout: Union[
|
|
353
|
+
None,
|
|
354
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
355
|
+
Tuple[
|
|
356
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
357
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
358
|
+
]
|
|
359
|
+
] = None,
|
|
360
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
361
|
+
_content_type: Optional[StrictStr] = None,
|
|
362
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
363
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
364
|
+
) -> None:
|
|
365
|
+
"""Delete meter
|
|
366
|
+
|
|
367
|
+
Delete a meter.
|
|
368
|
+
|
|
369
|
+
:param meter_id_or_slug: (required)
|
|
370
|
+
:type meter_id_or_slug: str
|
|
371
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
372
|
+
number provided, it will be total request
|
|
373
|
+
timeout. It can also be a pair (tuple) of
|
|
374
|
+
(connection, read) timeouts.
|
|
375
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
376
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
377
|
+
request; this effectively ignores the
|
|
378
|
+
authentication in the spec for a single request.
|
|
379
|
+
:type _request_auth: dict, optional
|
|
380
|
+
:param _content_type: force content-type for the request.
|
|
381
|
+
:type _content_type: str, Optional
|
|
382
|
+
:param _headers: set to override the headers for a single
|
|
383
|
+
request; this effectively ignores the headers
|
|
384
|
+
in the spec for a single request.
|
|
385
|
+
:type _headers: dict, optional
|
|
386
|
+
:param _host_index: set to override the host_index for a single
|
|
387
|
+
request; this effectively ignores the host_index
|
|
388
|
+
in the spec for a single request.
|
|
389
|
+
:type _host_index: int, optional
|
|
390
|
+
:return: Returns the result object.
|
|
391
|
+
""" # noqa: E501
|
|
392
|
+
|
|
393
|
+
_param = self._delete_meter_serialize(
|
|
394
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
395
|
+
_request_auth=_request_auth,
|
|
396
|
+
_content_type=_content_type,
|
|
397
|
+
_headers=_headers,
|
|
398
|
+
_host_index=_host_index
|
|
399
|
+
)
|
|
400
|
+
|
|
401
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
402
|
+
'204': None,
|
|
403
|
+
'400': "UnexpectedProblemResponse",
|
|
404
|
+
'401': "UnexpectedProblemResponse",
|
|
405
|
+
'403': "UnexpectedProblemResponse",
|
|
406
|
+
'412': "UnexpectedProblemResponse",
|
|
407
|
+
'500': "UnexpectedProblemResponse",
|
|
408
|
+
'503': "UnexpectedProblemResponse",
|
|
409
|
+
}
|
|
410
|
+
response_data = self.api_client.call_api(
|
|
411
|
+
*_param,
|
|
412
|
+
_request_timeout=_request_timeout
|
|
413
|
+
)
|
|
414
|
+
response_data.read()
|
|
415
|
+
return self.api_client.response_deserialize(
|
|
416
|
+
response_data=response_data,
|
|
417
|
+
response_types_map=_response_types_map,
|
|
418
|
+
).data
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
@validate_call
|
|
422
|
+
def delete_meter_with_http_info(
|
|
423
|
+
self,
|
|
424
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
425
|
+
_request_timeout: Union[
|
|
426
|
+
None,
|
|
427
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
428
|
+
Tuple[
|
|
429
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
430
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
431
|
+
]
|
|
432
|
+
] = None,
|
|
433
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
434
|
+
_content_type: Optional[StrictStr] = None,
|
|
435
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
436
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
437
|
+
) -> ApiResponse[None]:
|
|
438
|
+
"""Delete meter
|
|
439
|
+
|
|
440
|
+
Delete a meter.
|
|
441
|
+
|
|
442
|
+
:param meter_id_or_slug: (required)
|
|
443
|
+
:type meter_id_or_slug: str
|
|
444
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
445
|
+
number provided, it will be total request
|
|
446
|
+
timeout. It can also be a pair (tuple) of
|
|
447
|
+
(connection, read) timeouts.
|
|
448
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
449
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
450
|
+
request; this effectively ignores the
|
|
451
|
+
authentication in the spec for a single request.
|
|
452
|
+
:type _request_auth: dict, optional
|
|
453
|
+
:param _content_type: force content-type for the request.
|
|
454
|
+
:type _content_type: str, Optional
|
|
455
|
+
:param _headers: set to override the headers for a single
|
|
456
|
+
request; this effectively ignores the headers
|
|
457
|
+
in the spec for a single request.
|
|
458
|
+
:type _headers: dict, optional
|
|
459
|
+
:param _host_index: set to override the host_index for a single
|
|
460
|
+
request; this effectively ignores the host_index
|
|
461
|
+
in the spec for a single request.
|
|
462
|
+
:type _host_index: int, optional
|
|
463
|
+
:return: Returns the result object.
|
|
464
|
+
""" # noqa: E501
|
|
465
|
+
|
|
466
|
+
_param = self._delete_meter_serialize(
|
|
467
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
468
|
+
_request_auth=_request_auth,
|
|
469
|
+
_content_type=_content_type,
|
|
470
|
+
_headers=_headers,
|
|
471
|
+
_host_index=_host_index
|
|
472
|
+
)
|
|
473
|
+
|
|
474
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
475
|
+
'204': None,
|
|
476
|
+
'400': "UnexpectedProblemResponse",
|
|
477
|
+
'401': "UnexpectedProblemResponse",
|
|
478
|
+
'403': "UnexpectedProblemResponse",
|
|
479
|
+
'412': "UnexpectedProblemResponse",
|
|
480
|
+
'500': "UnexpectedProblemResponse",
|
|
481
|
+
'503': "UnexpectedProblemResponse",
|
|
482
|
+
}
|
|
483
|
+
response_data = self.api_client.call_api(
|
|
484
|
+
*_param,
|
|
485
|
+
_request_timeout=_request_timeout
|
|
486
|
+
)
|
|
487
|
+
response_data.read()
|
|
488
|
+
return self.api_client.response_deserialize(
|
|
489
|
+
response_data=response_data,
|
|
490
|
+
response_types_map=_response_types_map,
|
|
491
|
+
)
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
@validate_call
|
|
495
|
+
def delete_meter_without_preload_content(
|
|
496
|
+
self,
|
|
497
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
498
|
+
_request_timeout: Union[
|
|
499
|
+
None,
|
|
500
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
501
|
+
Tuple[
|
|
502
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
503
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
504
|
+
]
|
|
505
|
+
] = None,
|
|
506
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
507
|
+
_content_type: Optional[StrictStr] = None,
|
|
508
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
509
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
510
|
+
) -> RESTResponseType:
|
|
511
|
+
"""Delete meter
|
|
512
|
+
|
|
513
|
+
Delete a meter.
|
|
514
|
+
|
|
515
|
+
:param meter_id_or_slug: (required)
|
|
516
|
+
:type meter_id_or_slug: str
|
|
517
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
518
|
+
number provided, it will be total request
|
|
519
|
+
timeout. It can also be a pair (tuple) of
|
|
520
|
+
(connection, read) timeouts.
|
|
521
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
522
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
523
|
+
request; this effectively ignores the
|
|
524
|
+
authentication in the spec for a single request.
|
|
525
|
+
:type _request_auth: dict, optional
|
|
526
|
+
:param _content_type: force content-type for the request.
|
|
527
|
+
:type _content_type: str, Optional
|
|
528
|
+
:param _headers: set to override the headers for a single
|
|
529
|
+
request; this effectively ignores the headers
|
|
530
|
+
in the spec for a single request.
|
|
531
|
+
:type _headers: dict, optional
|
|
532
|
+
:param _host_index: set to override the host_index for a single
|
|
533
|
+
request; this effectively ignores the host_index
|
|
534
|
+
in the spec for a single request.
|
|
535
|
+
:type _host_index: int, optional
|
|
536
|
+
:return: Returns the result object.
|
|
537
|
+
""" # noqa: E501
|
|
538
|
+
|
|
539
|
+
_param = self._delete_meter_serialize(
|
|
540
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
541
|
+
_request_auth=_request_auth,
|
|
542
|
+
_content_type=_content_type,
|
|
543
|
+
_headers=_headers,
|
|
544
|
+
_host_index=_host_index
|
|
545
|
+
)
|
|
546
|
+
|
|
547
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
548
|
+
'204': None,
|
|
549
|
+
'400': "UnexpectedProblemResponse",
|
|
550
|
+
'401': "UnexpectedProblemResponse",
|
|
551
|
+
'403': "UnexpectedProblemResponse",
|
|
552
|
+
'412': "UnexpectedProblemResponse",
|
|
553
|
+
'500': "UnexpectedProblemResponse",
|
|
554
|
+
'503': "UnexpectedProblemResponse",
|
|
555
|
+
}
|
|
556
|
+
response_data = self.api_client.call_api(
|
|
557
|
+
*_param,
|
|
558
|
+
_request_timeout=_request_timeout
|
|
559
|
+
)
|
|
560
|
+
return response_data.response
|
|
561
|
+
|
|
562
|
+
|
|
563
|
+
def _delete_meter_serialize(
|
|
564
|
+
self,
|
|
565
|
+
meter_id_or_slug,
|
|
566
|
+
_request_auth,
|
|
567
|
+
_content_type,
|
|
568
|
+
_headers,
|
|
569
|
+
_host_index,
|
|
570
|
+
) -> RequestSerialized:
|
|
571
|
+
|
|
572
|
+
_host = None
|
|
573
|
+
|
|
574
|
+
_collection_formats: Dict[str, str] = {
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
_path_params: Dict[str, str] = {}
|
|
578
|
+
_query_params: List[Tuple[str, str]] = []
|
|
579
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
580
|
+
_form_params: List[Tuple[str, str]] = []
|
|
581
|
+
_files: Dict[
|
|
582
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
583
|
+
] = {}
|
|
584
|
+
_body_params: Optional[bytes] = None
|
|
585
|
+
|
|
586
|
+
# process the path parameters
|
|
587
|
+
if meter_id_or_slug is not None:
|
|
588
|
+
_path_params['meterIdOrSlug'] = meter_id_or_slug
|
|
589
|
+
# process the query parameters
|
|
590
|
+
# process the header parameters
|
|
591
|
+
# process the form parameters
|
|
592
|
+
# process the body parameter
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
# set the HTTP header `Accept`
|
|
596
|
+
if 'Accept' not in _header_params:
|
|
597
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
598
|
+
[
|
|
599
|
+
'application/problem+json'
|
|
600
|
+
]
|
|
601
|
+
)
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
# authentication setting
|
|
605
|
+
_auth_settings: List[str] = [
|
|
606
|
+
'CloudTokenAuth'
|
|
607
|
+
]
|
|
608
|
+
|
|
609
|
+
return self.api_client.param_serialize(
|
|
610
|
+
method='DELETE',
|
|
611
|
+
resource_path='/api/v1/meters/{meterIdOrSlug}',
|
|
612
|
+
path_params=_path_params,
|
|
613
|
+
query_params=_query_params,
|
|
614
|
+
header_params=_header_params,
|
|
615
|
+
body=_body_params,
|
|
616
|
+
post_params=_form_params,
|
|
617
|
+
files=_files,
|
|
618
|
+
auth_settings=_auth_settings,
|
|
619
|
+
collection_formats=_collection_formats,
|
|
620
|
+
_host=_host,
|
|
621
|
+
_request_auth=_request_auth
|
|
622
|
+
)
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
@validate_call
|
|
628
|
+
def get_meter(
|
|
629
|
+
self,
|
|
630
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
631
|
+
_request_timeout: Union[
|
|
632
|
+
None,
|
|
633
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
634
|
+
Tuple[
|
|
635
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
636
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
637
|
+
]
|
|
638
|
+
] = None,
|
|
639
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
640
|
+
_content_type: Optional[StrictStr] = None,
|
|
641
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
642
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
643
|
+
) -> Meter:
|
|
644
|
+
"""Get meter
|
|
645
|
+
|
|
646
|
+
Get a meter by ID or slug.
|
|
647
|
+
|
|
648
|
+
:param meter_id_or_slug: (required)
|
|
649
|
+
:type meter_id_or_slug: str
|
|
650
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
651
|
+
number provided, it will be total request
|
|
652
|
+
timeout. It can also be a pair (tuple) of
|
|
653
|
+
(connection, read) timeouts.
|
|
654
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
655
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
656
|
+
request; this effectively ignores the
|
|
657
|
+
authentication in the spec for a single request.
|
|
658
|
+
:type _request_auth: dict, optional
|
|
659
|
+
:param _content_type: force content-type for the request.
|
|
660
|
+
:type _content_type: str, Optional
|
|
661
|
+
:param _headers: set to override the headers for a single
|
|
662
|
+
request; this effectively ignores the headers
|
|
663
|
+
in the spec for a single request.
|
|
664
|
+
:type _headers: dict, optional
|
|
665
|
+
:param _host_index: set to override the host_index for a single
|
|
666
|
+
request; this effectively ignores the host_index
|
|
667
|
+
in the spec for a single request.
|
|
668
|
+
:type _host_index: int, optional
|
|
669
|
+
:return: Returns the result object.
|
|
670
|
+
""" # noqa: E501
|
|
671
|
+
|
|
672
|
+
_param = self._get_meter_serialize(
|
|
673
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
674
|
+
_request_auth=_request_auth,
|
|
675
|
+
_content_type=_content_type,
|
|
676
|
+
_headers=_headers,
|
|
677
|
+
_host_index=_host_index
|
|
678
|
+
)
|
|
679
|
+
|
|
680
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
681
|
+
'200': "Meter",
|
|
682
|
+
'400': "UnexpectedProblemResponse",
|
|
683
|
+
'401': "UnexpectedProblemResponse",
|
|
684
|
+
'403': "UnexpectedProblemResponse",
|
|
685
|
+
'404': "UnexpectedProblemResponse",
|
|
686
|
+
'412': "UnexpectedProblemResponse",
|
|
687
|
+
'500': "UnexpectedProblemResponse",
|
|
688
|
+
'503': "UnexpectedProblemResponse",
|
|
689
|
+
}
|
|
690
|
+
response_data = self.api_client.call_api(
|
|
691
|
+
*_param,
|
|
692
|
+
_request_timeout=_request_timeout
|
|
693
|
+
)
|
|
694
|
+
response_data.read()
|
|
695
|
+
return self.api_client.response_deserialize(
|
|
696
|
+
response_data=response_data,
|
|
697
|
+
response_types_map=_response_types_map,
|
|
698
|
+
).data
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
@validate_call
|
|
702
|
+
def get_meter_with_http_info(
|
|
703
|
+
self,
|
|
704
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
705
|
+
_request_timeout: Union[
|
|
706
|
+
None,
|
|
707
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
708
|
+
Tuple[
|
|
709
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
710
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
711
|
+
]
|
|
712
|
+
] = None,
|
|
713
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
714
|
+
_content_type: Optional[StrictStr] = None,
|
|
715
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
716
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
717
|
+
) -> ApiResponse[Meter]:
|
|
718
|
+
"""Get meter
|
|
719
|
+
|
|
720
|
+
Get a meter by ID or slug.
|
|
721
|
+
|
|
722
|
+
:param meter_id_or_slug: (required)
|
|
723
|
+
:type meter_id_or_slug: str
|
|
724
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
725
|
+
number provided, it will be total request
|
|
726
|
+
timeout. It can also be a pair (tuple) of
|
|
727
|
+
(connection, read) timeouts.
|
|
728
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
729
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
730
|
+
request; this effectively ignores the
|
|
731
|
+
authentication in the spec for a single request.
|
|
732
|
+
:type _request_auth: dict, optional
|
|
733
|
+
:param _content_type: force content-type for the request.
|
|
734
|
+
:type _content_type: str, Optional
|
|
735
|
+
:param _headers: set to override the headers for a single
|
|
736
|
+
request; this effectively ignores the headers
|
|
737
|
+
in the spec for a single request.
|
|
738
|
+
:type _headers: dict, optional
|
|
739
|
+
:param _host_index: set to override the host_index for a single
|
|
740
|
+
request; this effectively ignores the host_index
|
|
741
|
+
in the spec for a single request.
|
|
742
|
+
:type _host_index: int, optional
|
|
743
|
+
:return: Returns the result object.
|
|
744
|
+
""" # noqa: E501
|
|
745
|
+
|
|
746
|
+
_param = self._get_meter_serialize(
|
|
747
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
748
|
+
_request_auth=_request_auth,
|
|
749
|
+
_content_type=_content_type,
|
|
750
|
+
_headers=_headers,
|
|
751
|
+
_host_index=_host_index
|
|
752
|
+
)
|
|
753
|
+
|
|
754
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
755
|
+
'200': "Meter",
|
|
756
|
+
'400': "UnexpectedProblemResponse",
|
|
757
|
+
'401': "UnexpectedProblemResponse",
|
|
758
|
+
'403': "UnexpectedProblemResponse",
|
|
759
|
+
'404': "UnexpectedProblemResponse",
|
|
760
|
+
'412': "UnexpectedProblemResponse",
|
|
761
|
+
'500': "UnexpectedProblemResponse",
|
|
762
|
+
'503': "UnexpectedProblemResponse",
|
|
763
|
+
}
|
|
764
|
+
response_data = self.api_client.call_api(
|
|
765
|
+
*_param,
|
|
766
|
+
_request_timeout=_request_timeout
|
|
767
|
+
)
|
|
768
|
+
response_data.read()
|
|
769
|
+
return self.api_client.response_deserialize(
|
|
770
|
+
response_data=response_data,
|
|
771
|
+
response_types_map=_response_types_map,
|
|
772
|
+
)
|
|
773
|
+
|
|
774
|
+
|
|
775
|
+
@validate_call
|
|
776
|
+
def get_meter_without_preload_content(
|
|
777
|
+
self,
|
|
778
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
779
|
+
_request_timeout: Union[
|
|
780
|
+
None,
|
|
781
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
782
|
+
Tuple[
|
|
783
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
784
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
785
|
+
]
|
|
786
|
+
] = None,
|
|
787
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
788
|
+
_content_type: Optional[StrictStr] = None,
|
|
789
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
790
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
791
|
+
) -> RESTResponseType:
|
|
792
|
+
"""Get meter
|
|
793
|
+
|
|
794
|
+
Get a meter by ID or slug.
|
|
795
|
+
|
|
796
|
+
:param meter_id_or_slug: (required)
|
|
797
|
+
:type meter_id_or_slug: str
|
|
798
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
799
|
+
number provided, it will be total request
|
|
800
|
+
timeout. It can also be a pair (tuple) of
|
|
801
|
+
(connection, read) timeouts.
|
|
802
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
803
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
804
|
+
request; this effectively ignores the
|
|
805
|
+
authentication in the spec for a single request.
|
|
806
|
+
:type _request_auth: dict, optional
|
|
807
|
+
:param _content_type: force content-type for the request.
|
|
808
|
+
:type _content_type: str, Optional
|
|
809
|
+
:param _headers: set to override the headers for a single
|
|
810
|
+
request; this effectively ignores the headers
|
|
811
|
+
in the spec for a single request.
|
|
812
|
+
:type _headers: dict, optional
|
|
813
|
+
:param _host_index: set to override the host_index for a single
|
|
814
|
+
request; this effectively ignores the host_index
|
|
815
|
+
in the spec for a single request.
|
|
816
|
+
:type _host_index: int, optional
|
|
817
|
+
:return: Returns the result object.
|
|
818
|
+
""" # noqa: E501
|
|
819
|
+
|
|
820
|
+
_param = self._get_meter_serialize(
|
|
821
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
822
|
+
_request_auth=_request_auth,
|
|
823
|
+
_content_type=_content_type,
|
|
824
|
+
_headers=_headers,
|
|
825
|
+
_host_index=_host_index
|
|
826
|
+
)
|
|
827
|
+
|
|
828
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
829
|
+
'200': "Meter",
|
|
830
|
+
'400': "UnexpectedProblemResponse",
|
|
831
|
+
'401': "UnexpectedProblemResponse",
|
|
832
|
+
'403': "UnexpectedProblemResponse",
|
|
833
|
+
'404': "UnexpectedProblemResponse",
|
|
834
|
+
'412': "UnexpectedProblemResponse",
|
|
835
|
+
'500': "UnexpectedProblemResponse",
|
|
836
|
+
'503': "UnexpectedProblemResponse",
|
|
837
|
+
}
|
|
838
|
+
response_data = self.api_client.call_api(
|
|
839
|
+
*_param,
|
|
840
|
+
_request_timeout=_request_timeout
|
|
841
|
+
)
|
|
842
|
+
return response_data.response
|
|
843
|
+
|
|
844
|
+
|
|
845
|
+
def _get_meter_serialize(
|
|
846
|
+
self,
|
|
847
|
+
meter_id_or_slug,
|
|
848
|
+
_request_auth,
|
|
849
|
+
_content_type,
|
|
850
|
+
_headers,
|
|
851
|
+
_host_index,
|
|
852
|
+
) -> RequestSerialized:
|
|
853
|
+
|
|
854
|
+
_host = None
|
|
855
|
+
|
|
856
|
+
_collection_formats: Dict[str, str] = {
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
_path_params: Dict[str, str] = {}
|
|
860
|
+
_query_params: List[Tuple[str, str]] = []
|
|
861
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
862
|
+
_form_params: List[Tuple[str, str]] = []
|
|
863
|
+
_files: Dict[
|
|
864
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
865
|
+
] = {}
|
|
866
|
+
_body_params: Optional[bytes] = None
|
|
867
|
+
|
|
868
|
+
# process the path parameters
|
|
869
|
+
if meter_id_or_slug is not None:
|
|
870
|
+
_path_params['meterIdOrSlug'] = meter_id_or_slug
|
|
871
|
+
# process the query parameters
|
|
872
|
+
# process the header parameters
|
|
873
|
+
# process the form parameters
|
|
874
|
+
# process the body parameter
|
|
875
|
+
|
|
876
|
+
|
|
877
|
+
# set the HTTP header `Accept`
|
|
878
|
+
if 'Accept' not in _header_params:
|
|
879
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
880
|
+
[
|
|
881
|
+
'application/json',
|
|
882
|
+
'application/problem+json'
|
|
883
|
+
]
|
|
884
|
+
)
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
# authentication setting
|
|
888
|
+
_auth_settings: List[str] = [
|
|
889
|
+
'CloudTokenAuth'
|
|
890
|
+
]
|
|
891
|
+
|
|
892
|
+
return self.api_client.param_serialize(
|
|
893
|
+
method='GET',
|
|
894
|
+
resource_path='/api/v1/meters/{meterIdOrSlug}',
|
|
895
|
+
path_params=_path_params,
|
|
896
|
+
query_params=_query_params,
|
|
897
|
+
header_params=_header_params,
|
|
898
|
+
body=_body_params,
|
|
899
|
+
post_params=_form_params,
|
|
900
|
+
files=_files,
|
|
901
|
+
auth_settings=_auth_settings,
|
|
902
|
+
collection_formats=_collection_formats,
|
|
903
|
+
_host=_host,
|
|
904
|
+
_request_auth=_request_auth
|
|
905
|
+
)
|
|
906
|
+
|
|
907
|
+
|
|
908
|
+
|
|
909
|
+
|
|
910
|
+
@validate_call
|
|
911
|
+
def get_usage_summary(
|
|
912
|
+
self,
|
|
913
|
+
subject: Annotated[StrictStr, Field(description="The subject to query usage for (required).")],
|
|
914
|
+
var_from: Annotated[datetime, Field(description="Start of the time range (RFC 3339, required).")],
|
|
915
|
+
to: Annotated[datetime, Field(description="End of the time range (RFC 3339, required).")],
|
|
916
|
+
window_size: Annotated[Optional[UsageSummaryWindowSize], Field(description="Window size for breakdown. Omit for totals only.")] = None,
|
|
917
|
+
meter_slugs: Annotated[Optional[List[StrictStr]], Field(description="Filter to specific meter slugs. Omit to query all meters.")] = None,
|
|
918
|
+
_request_timeout: Union[
|
|
919
|
+
None,
|
|
920
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
921
|
+
Tuple[
|
|
922
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
923
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
924
|
+
]
|
|
925
|
+
] = None,
|
|
926
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
927
|
+
_content_type: Optional[StrictStr] = None,
|
|
928
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
929
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
930
|
+
) -> MeterUsageSummaryResponse:
|
|
931
|
+
"""Get multi-meter usage summary
|
|
932
|
+
|
|
933
|
+
Returns usage across all meters for a subject in a single query. Reads from pre-aggregated materialized views. Meters with unsupported aggregation types (MIN, MAX, UNIQUE_COUNT, LATEST) are omitted until the aggregation table is extended.
|
|
934
|
+
|
|
935
|
+
:param subject: The subject to query usage for (required). (required)
|
|
936
|
+
:type subject: str
|
|
937
|
+
:param var_from: Start of the time range (RFC 3339, required). (required)
|
|
938
|
+
:type var_from: datetime
|
|
939
|
+
:param to: End of the time range (RFC 3339, required). (required)
|
|
940
|
+
:type to: datetime
|
|
941
|
+
:param window_size: Window size for breakdown. Omit for totals only.
|
|
942
|
+
:type window_size: UsageSummaryWindowSize
|
|
943
|
+
:param meter_slugs: Filter to specific meter slugs. Omit to query all meters.
|
|
944
|
+
:type meter_slugs: List[str]
|
|
945
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
946
|
+
number provided, it will be total request
|
|
947
|
+
timeout. It can also be a pair (tuple) of
|
|
948
|
+
(connection, read) timeouts.
|
|
949
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
950
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
951
|
+
request; this effectively ignores the
|
|
952
|
+
authentication in the spec for a single request.
|
|
953
|
+
:type _request_auth: dict, optional
|
|
954
|
+
:param _content_type: force content-type for the request.
|
|
955
|
+
:type _content_type: str, Optional
|
|
956
|
+
:param _headers: set to override the headers for a single
|
|
957
|
+
request; this effectively ignores the headers
|
|
958
|
+
in the spec for a single request.
|
|
959
|
+
:type _headers: dict, optional
|
|
960
|
+
:param _host_index: set to override the host_index for a single
|
|
961
|
+
request; this effectively ignores the host_index
|
|
962
|
+
in the spec for a single request.
|
|
963
|
+
:type _host_index: int, optional
|
|
964
|
+
:return: Returns the result object.
|
|
965
|
+
""" # noqa: E501
|
|
966
|
+
|
|
967
|
+
_param = self._get_usage_summary_serialize(
|
|
968
|
+
subject=subject,
|
|
969
|
+
var_from=var_from,
|
|
970
|
+
to=to,
|
|
971
|
+
window_size=window_size,
|
|
972
|
+
meter_slugs=meter_slugs,
|
|
973
|
+
_request_auth=_request_auth,
|
|
974
|
+
_content_type=_content_type,
|
|
975
|
+
_headers=_headers,
|
|
976
|
+
_host_index=_host_index
|
|
977
|
+
)
|
|
978
|
+
|
|
979
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
980
|
+
'200': "MeterUsageSummaryResponse",
|
|
981
|
+
'400': "UnexpectedProblemResponse",
|
|
982
|
+
'401': "UnexpectedProblemResponse",
|
|
983
|
+
'403': "UnexpectedProblemResponse",
|
|
984
|
+
'412': "UnexpectedProblemResponse",
|
|
985
|
+
'500': "UnexpectedProblemResponse",
|
|
986
|
+
'503': "UnexpectedProblemResponse",
|
|
987
|
+
}
|
|
988
|
+
response_data = self.api_client.call_api(
|
|
989
|
+
*_param,
|
|
990
|
+
_request_timeout=_request_timeout
|
|
991
|
+
)
|
|
992
|
+
response_data.read()
|
|
993
|
+
return self.api_client.response_deserialize(
|
|
994
|
+
response_data=response_data,
|
|
995
|
+
response_types_map=_response_types_map,
|
|
996
|
+
).data
|
|
997
|
+
|
|
998
|
+
|
|
999
|
+
@validate_call
|
|
1000
|
+
def get_usage_summary_with_http_info(
|
|
1001
|
+
self,
|
|
1002
|
+
subject: Annotated[StrictStr, Field(description="The subject to query usage for (required).")],
|
|
1003
|
+
var_from: Annotated[datetime, Field(description="Start of the time range (RFC 3339, required).")],
|
|
1004
|
+
to: Annotated[datetime, Field(description="End of the time range (RFC 3339, required).")],
|
|
1005
|
+
window_size: Annotated[Optional[UsageSummaryWindowSize], Field(description="Window size for breakdown. Omit for totals only.")] = None,
|
|
1006
|
+
meter_slugs: Annotated[Optional[List[StrictStr]], Field(description="Filter to specific meter slugs. Omit to query all meters.")] = None,
|
|
1007
|
+
_request_timeout: Union[
|
|
1008
|
+
None,
|
|
1009
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1010
|
+
Tuple[
|
|
1011
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1012
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1013
|
+
]
|
|
1014
|
+
] = None,
|
|
1015
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1016
|
+
_content_type: Optional[StrictStr] = None,
|
|
1017
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1018
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1019
|
+
) -> ApiResponse[MeterUsageSummaryResponse]:
|
|
1020
|
+
"""Get multi-meter usage summary
|
|
1021
|
+
|
|
1022
|
+
Returns usage across all meters for a subject in a single query. Reads from pre-aggregated materialized views. Meters with unsupported aggregation types (MIN, MAX, UNIQUE_COUNT, LATEST) are omitted until the aggregation table is extended.
|
|
1023
|
+
|
|
1024
|
+
:param subject: The subject to query usage for (required). (required)
|
|
1025
|
+
:type subject: str
|
|
1026
|
+
:param var_from: Start of the time range (RFC 3339, required). (required)
|
|
1027
|
+
:type var_from: datetime
|
|
1028
|
+
:param to: End of the time range (RFC 3339, required). (required)
|
|
1029
|
+
:type to: datetime
|
|
1030
|
+
:param window_size: Window size for breakdown. Omit for totals only.
|
|
1031
|
+
:type window_size: UsageSummaryWindowSize
|
|
1032
|
+
:param meter_slugs: Filter to specific meter slugs. Omit to query all meters.
|
|
1033
|
+
:type meter_slugs: List[str]
|
|
1034
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1035
|
+
number provided, it will be total request
|
|
1036
|
+
timeout. It can also be a pair (tuple) of
|
|
1037
|
+
(connection, read) timeouts.
|
|
1038
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1039
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1040
|
+
request; this effectively ignores the
|
|
1041
|
+
authentication in the spec for a single request.
|
|
1042
|
+
:type _request_auth: dict, optional
|
|
1043
|
+
:param _content_type: force content-type for the request.
|
|
1044
|
+
:type _content_type: str, Optional
|
|
1045
|
+
:param _headers: set to override the headers for a single
|
|
1046
|
+
request; this effectively ignores the headers
|
|
1047
|
+
in the spec for a single request.
|
|
1048
|
+
:type _headers: dict, optional
|
|
1049
|
+
:param _host_index: set to override the host_index for a single
|
|
1050
|
+
request; this effectively ignores the host_index
|
|
1051
|
+
in the spec for a single request.
|
|
1052
|
+
:type _host_index: int, optional
|
|
1053
|
+
:return: Returns the result object.
|
|
1054
|
+
""" # noqa: E501
|
|
1055
|
+
|
|
1056
|
+
_param = self._get_usage_summary_serialize(
|
|
1057
|
+
subject=subject,
|
|
1058
|
+
var_from=var_from,
|
|
1059
|
+
to=to,
|
|
1060
|
+
window_size=window_size,
|
|
1061
|
+
meter_slugs=meter_slugs,
|
|
1062
|
+
_request_auth=_request_auth,
|
|
1063
|
+
_content_type=_content_type,
|
|
1064
|
+
_headers=_headers,
|
|
1065
|
+
_host_index=_host_index
|
|
1066
|
+
)
|
|
1067
|
+
|
|
1068
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1069
|
+
'200': "MeterUsageSummaryResponse",
|
|
1070
|
+
'400': "UnexpectedProblemResponse",
|
|
1071
|
+
'401': "UnexpectedProblemResponse",
|
|
1072
|
+
'403': "UnexpectedProblemResponse",
|
|
1073
|
+
'412': "UnexpectedProblemResponse",
|
|
1074
|
+
'500': "UnexpectedProblemResponse",
|
|
1075
|
+
'503': "UnexpectedProblemResponse",
|
|
1076
|
+
}
|
|
1077
|
+
response_data = self.api_client.call_api(
|
|
1078
|
+
*_param,
|
|
1079
|
+
_request_timeout=_request_timeout
|
|
1080
|
+
)
|
|
1081
|
+
response_data.read()
|
|
1082
|
+
return self.api_client.response_deserialize(
|
|
1083
|
+
response_data=response_data,
|
|
1084
|
+
response_types_map=_response_types_map,
|
|
1085
|
+
)
|
|
1086
|
+
|
|
1087
|
+
|
|
1088
|
+
@validate_call
|
|
1089
|
+
def get_usage_summary_without_preload_content(
|
|
1090
|
+
self,
|
|
1091
|
+
subject: Annotated[StrictStr, Field(description="The subject to query usage for (required).")],
|
|
1092
|
+
var_from: Annotated[datetime, Field(description="Start of the time range (RFC 3339, required).")],
|
|
1093
|
+
to: Annotated[datetime, Field(description="End of the time range (RFC 3339, required).")],
|
|
1094
|
+
window_size: Annotated[Optional[UsageSummaryWindowSize], Field(description="Window size for breakdown. Omit for totals only.")] = None,
|
|
1095
|
+
meter_slugs: Annotated[Optional[List[StrictStr]], Field(description="Filter to specific meter slugs. Omit to query all meters.")] = None,
|
|
1096
|
+
_request_timeout: Union[
|
|
1097
|
+
None,
|
|
1098
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1099
|
+
Tuple[
|
|
1100
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1101
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1102
|
+
]
|
|
1103
|
+
] = None,
|
|
1104
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1105
|
+
_content_type: Optional[StrictStr] = None,
|
|
1106
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1107
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1108
|
+
) -> RESTResponseType:
|
|
1109
|
+
"""Get multi-meter usage summary
|
|
1110
|
+
|
|
1111
|
+
Returns usage across all meters for a subject in a single query. Reads from pre-aggregated materialized views. Meters with unsupported aggregation types (MIN, MAX, UNIQUE_COUNT, LATEST) are omitted until the aggregation table is extended.
|
|
1112
|
+
|
|
1113
|
+
:param subject: The subject to query usage for (required). (required)
|
|
1114
|
+
:type subject: str
|
|
1115
|
+
:param var_from: Start of the time range (RFC 3339, required). (required)
|
|
1116
|
+
:type var_from: datetime
|
|
1117
|
+
:param to: End of the time range (RFC 3339, required). (required)
|
|
1118
|
+
:type to: datetime
|
|
1119
|
+
:param window_size: Window size for breakdown. Omit for totals only.
|
|
1120
|
+
:type window_size: UsageSummaryWindowSize
|
|
1121
|
+
:param meter_slugs: Filter to specific meter slugs. Omit to query all meters.
|
|
1122
|
+
:type meter_slugs: List[str]
|
|
1123
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1124
|
+
number provided, it will be total request
|
|
1125
|
+
timeout. It can also be a pair (tuple) of
|
|
1126
|
+
(connection, read) timeouts.
|
|
1127
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1128
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1129
|
+
request; this effectively ignores the
|
|
1130
|
+
authentication in the spec for a single request.
|
|
1131
|
+
:type _request_auth: dict, optional
|
|
1132
|
+
:param _content_type: force content-type for the request.
|
|
1133
|
+
:type _content_type: str, Optional
|
|
1134
|
+
:param _headers: set to override the headers for a single
|
|
1135
|
+
request; this effectively ignores the headers
|
|
1136
|
+
in the spec for a single request.
|
|
1137
|
+
:type _headers: dict, optional
|
|
1138
|
+
:param _host_index: set to override the host_index for a single
|
|
1139
|
+
request; this effectively ignores the host_index
|
|
1140
|
+
in the spec for a single request.
|
|
1141
|
+
:type _host_index: int, optional
|
|
1142
|
+
:return: Returns the result object.
|
|
1143
|
+
""" # noqa: E501
|
|
1144
|
+
|
|
1145
|
+
_param = self._get_usage_summary_serialize(
|
|
1146
|
+
subject=subject,
|
|
1147
|
+
var_from=var_from,
|
|
1148
|
+
to=to,
|
|
1149
|
+
window_size=window_size,
|
|
1150
|
+
meter_slugs=meter_slugs,
|
|
1151
|
+
_request_auth=_request_auth,
|
|
1152
|
+
_content_type=_content_type,
|
|
1153
|
+
_headers=_headers,
|
|
1154
|
+
_host_index=_host_index
|
|
1155
|
+
)
|
|
1156
|
+
|
|
1157
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1158
|
+
'200': "MeterUsageSummaryResponse",
|
|
1159
|
+
'400': "UnexpectedProblemResponse",
|
|
1160
|
+
'401': "UnexpectedProblemResponse",
|
|
1161
|
+
'403': "UnexpectedProblemResponse",
|
|
1162
|
+
'412': "UnexpectedProblemResponse",
|
|
1163
|
+
'500': "UnexpectedProblemResponse",
|
|
1164
|
+
'503': "UnexpectedProblemResponse",
|
|
1165
|
+
}
|
|
1166
|
+
response_data = self.api_client.call_api(
|
|
1167
|
+
*_param,
|
|
1168
|
+
_request_timeout=_request_timeout
|
|
1169
|
+
)
|
|
1170
|
+
return response_data.response
|
|
1171
|
+
|
|
1172
|
+
|
|
1173
|
+
def _get_usage_summary_serialize(
|
|
1174
|
+
self,
|
|
1175
|
+
subject,
|
|
1176
|
+
var_from,
|
|
1177
|
+
to,
|
|
1178
|
+
window_size,
|
|
1179
|
+
meter_slugs,
|
|
1180
|
+
_request_auth,
|
|
1181
|
+
_content_type,
|
|
1182
|
+
_headers,
|
|
1183
|
+
_host_index,
|
|
1184
|
+
) -> RequestSerialized:
|
|
1185
|
+
|
|
1186
|
+
_host = None
|
|
1187
|
+
|
|
1188
|
+
_collection_formats: Dict[str, str] = {
|
|
1189
|
+
'meterSlugs': 'multi',
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
_path_params: Dict[str, str] = {}
|
|
1193
|
+
_query_params: List[Tuple[str, str]] = []
|
|
1194
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
1195
|
+
_form_params: List[Tuple[str, str]] = []
|
|
1196
|
+
_files: Dict[
|
|
1197
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
1198
|
+
] = {}
|
|
1199
|
+
_body_params: Optional[bytes] = None
|
|
1200
|
+
|
|
1201
|
+
# process the path parameters
|
|
1202
|
+
# process the query parameters
|
|
1203
|
+
if subject is not None:
|
|
1204
|
+
|
|
1205
|
+
_query_params.append(('subject', subject))
|
|
1206
|
+
|
|
1207
|
+
if var_from is not None:
|
|
1208
|
+
if isinstance(var_from, datetime):
|
|
1209
|
+
_query_params.append(
|
|
1210
|
+
(
|
|
1211
|
+
'from',
|
|
1212
|
+
var_from.strftime(
|
|
1213
|
+
self.api_client.configuration.datetime_format
|
|
1214
|
+
)
|
|
1215
|
+
)
|
|
1216
|
+
)
|
|
1217
|
+
else:
|
|
1218
|
+
_query_params.append(('from', var_from))
|
|
1219
|
+
|
|
1220
|
+
if to is not None:
|
|
1221
|
+
if isinstance(to, datetime):
|
|
1222
|
+
_query_params.append(
|
|
1223
|
+
(
|
|
1224
|
+
'to',
|
|
1225
|
+
to.strftime(
|
|
1226
|
+
self.api_client.configuration.datetime_format
|
|
1227
|
+
)
|
|
1228
|
+
)
|
|
1229
|
+
)
|
|
1230
|
+
else:
|
|
1231
|
+
_query_params.append(('to', to))
|
|
1232
|
+
|
|
1233
|
+
if window_size is not None:
|
|
1234
|
+
|
|
1235
|
+
_query_params.append(('windowSize', window_size.value))
|
|
1236
|
+
|
|
1237
|
+
if meter_slugs is not None:
|
|
1238
|
+
|
|
1239
|
+
_query_params.append(('meterSlugs', meter_slugs))
|
|
1240
|
+
|
|
1241
|
+
# process the header parameters
|
|
1242
|
+
# process the form parameters
|
|
1243
|
+
# process the body parameter
|
|
1244
|
+
|
|
1245
|
+
|
|
1246
|
+
# set the HTTP header `Accept`
|
|
1247
|
+
if 'Accept' not in _header_params:
|
|
1248
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
1249
|
+
[
|
|
1250
|
+
'application/json',
|
|
1251
|
+
'application/problem+json'
|
|
1252
|
+
]
|
|
1253
|
+
)
|
|
1254
|
+
|
|
1255
|
+
|
|
1256
|
+
# authentication setting
|
|
1257
|
+
_auth_settings: List[str] = [
|
|
1258
|
+
'CloudTokenAuth'
|
|
1259
|
+
]
|
|
1260
|
+
|
|
1261
|
+
return self.api_client.param_serialize(
|
|
1262
|
+
method='GET',
|
|
1263
|
+
resource_path='/api/v1/usage/summary',
|
|
1264
|
+
path_params=_path_params,
|
|
1265
|
+
query_params=_query_params,
|
|
1266
|
+
header_params=_header_params,
|
|
1267
|
+
body=_body_params,
|
|
1268
|
+
post_params=_form_params,
|
|
1269
|
+
files=_files,
|
|
1270
|
+
auth_settings=_auth_settings,
|
|
1271
|
+
collection_formats=_collection_formats,
|
|
1272
|
+
_host=_host,
|
|
1273
|
+
_request_auth=_request_auth
|
|
1274
|
+
)
|
|
1275
|
+
|
|
1276
|
+
|
|
1277
|
+
|
|
1278
|
+
|
|
1279
|
+
@validate_call
|
|
1280
|
+
def list_meter_group_by_values(
|
|
1281
|
+
self,
|
|
1282
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
1283
|
+
group_by_key: StrictStr,
|
|
1284
|
+
var_from: Annotated[Optional[datetime], Field(description="Start date-time in RFC 3339 format. Inclusive. Defaults to 24 hours ago. For example: ?from=2025-01-01T00%3A00%3A00.000Z")] = None,
|
|
1285
|
+
to: Annotated[Optional[datetime], Field(description="End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z")] = None,
|
|
1286
|
+
_request_timeout: Union[
|
|
1287
|
+
None,
|
|
1288
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1289
|
+
Tuple[
|
|
1290
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1291
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1292
|
+
]
|
|
1293
|
+
] = None,
|
|
1294
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1295
|
+
_content_type: Optional[StrictStr] = None,
|
|
1296
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1297
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1298
|
+
) -> List[str]:
|
|
1299
|
+
"""List meter group by values
|
|
1300
|
+
|
|
1301
|
+
List meter group by values.
|
|
1302
|
+
|
|
1303
|
+
:param meter_id_or_slug: (required)
|
|
1304
|
+
:type meter_id_or_slug: str
|
|
1305
|
+
:param group_by_key: (required)
|
|
1306
|
+
:type group_by_key: str
|
|
1307
|
+
:param var_from: Start date-time in RFC 3339 format. Inclusive. Defaults to 24 hours ago. For example: ?from=2025-01-01T00%3A00%3A00.000Z
|
|
1308
|
+
:type var_from: datetime
|
|
1309
|
+
:param to: End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z
|
|
1310
|
+
:type to: datetime
|
|
1311
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1312
|
+
number provided, it will be total request
|
|
1313
|
+
timeout. It can also be a pair (tuple) of
|
|
1314
|
+
(connection, read) timeouts.
|
|
1315
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1316
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1317
|
+
request; this effectively ignores the
|
|
1318
|
+
authentication in the spec for a single request.
|
|
1319
|
+
:type _request_auth: dict, optional
|
|
1320
|
+
:param _content_type: force content-type for the request.
|
|
1321
|
+
:type _content_type: str, Optional
|
|
1322
|
+
:param _headers: set to override the headers for a single
|
|
1323
|
+
request; this effectively ignores the headers
|
|
1324
|
+
in the spec for a single request.
|
|
1325
|
+
:type _headers: dict, optional
|
|
1326
|
+
:param _host_index: set to override the host_index for a single
|
|
1327
|
+
request; this effectively ignores the host_index
|
|
1328
|
+
in the spec for a single request.
|
|
1329
|
+
:type _host_index: int, optional
|
|
1330
|
+
:return: Returns the result object.
|
|
1331
|
+
""" # noqa: E501
|
|
1332
|
+
|
|
1333
|
+
_param = self._list_meter_group_by_values_serialize(
|
|
1334
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
1335
|
+
group_by_key=group_by_key,
|
|
1336
|
+
var_from=var_from,
|
|
1337
|
+
to=to,
|
|
1338
|
+
_request_auth=_request_auth,
|
|
1339
|
+
_content_type=_content_type,
|
|
1340
|
+
_headers=_headers,
|
|
1341
|
+
_host_index=_host_index
|
|
1342
|
+
)
|
|
1343
|
+
|
|
1344
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1345
|
+
'200': "List[str]",
|
|
1346
|
+
'400': "UnexpectedProblemResponse",
|
|
1347
|
+
'401': "UnexpectedProblemResponse",
|
|
1348
|
+
'403': "UnexpectedProblemResponse",
|
|
1349
|
+
'412': "UnexpectedProblemResponse",
|
|
1350
|
+
'500': "UnexpectedProblemResponse",
|
|
1351
|
+
'503': "UnexpectedProblemResponse",
|
|
1352
|
+
}
|
|
1353
|
+
response_data = self.api_client.call_api(
|
|
1354
|
+
*_param,
|
|
1355
|
+
_request_timeout=_request_timeout
|
|
1356
|
+
)
|
|
1357
|
+
response_data.read()
|
|
1358
|
+
return self.api_client.response_deserialize(
|
|
1359
|
+
response_data=response_data,
|
|
1360
|
+
response_types_map=_response_types_map,
|
|
1361
|
+
).data
|
|
1362
|
+
|
|
1363
|
+
|
|
1364
|
+
@validate_call
|
|
1365
|
+
def list_meter_group_by_values_with_http_info(
|
|
1366
|
+
self,
|
|
1367
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
1368
|
+
group_by_key: StrictStr,
|
|
1369
|
+
var_from: Annotated[Optional[datetime], Field(description="Start date-time in RFC 3339 format. Inclusive. Defaults to 24 hours ago. For example: ?from=2025-01-01T00%3A00%3A00.000Z")] = None,
|
|
1370
|
+
to: Annotated[Optional[datetime], Field(description="End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z")] = None,
|
|
1371
|
+
_request_timeout: Union[
|
|
1372
|
+
None,
|
|
1373
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1374
|
+
Tuple[
|
|
1375
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1376
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1377
|
+
]
|
|
1378
|
+
] = None,
|
|
1379
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1380
|
+
_content_type: Optional[StrictStr] = None,
|
|
1381
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1382
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1383
|
+
) -> ApiResponse[List[str]]:
|
|
1384
|
+
"""List meter group by values
|
|
1385
|
+
|
|
1386
|
+
List meter group by values.
|
|
1387
|
+
|
|
1388
|
+
:param meter_id_or_slug: (required)
|
|
1389
|
+
:type meter_id_or_slug: str
|
|
1390
|
+
:param group_by_key: (required)
|
|
1391
|
+
:type group_by_key: str
|
|
1392
|
+
:param var_from: Start date-time in RFC 3339 format. Inclusive. Defaults to 24 hours ago. For example: ?from=2025-01-01T00%3A00%3A00.000Z
|
|
1393
|
+
:type var_from: datetime
|
|
1394
|
+
:param to: End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z
|
|
1395
|
+
:type to: datetime
|
|
1396
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1397
|
+
number provided, it will be total request
|
|
1398
|
+
timeout. It can also be a pair (tuple) of
|
|
1399
|
+
(connection, read) timeouts.
|
|
1400
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1401
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1402
|
+
request; this effectively ignores the
|
|
1403
|
+
authentication in the spec for a single request.
|
|
1404
|
+
:type _request_auth: dict, optional
|
|
1405
|
+
:param _content_type: force content-type for the request.
|
|
1406
|
+
:type _content_type: str, Optional
|
|
1407
|
+
:param _headers: set to override the headers for a single
|
|
1408
|
+
request; this effectively ignores the headers
|
|
1409
|
+
in the spec for a single request.
|
|
1410
|
+
:type _headers: dict, optional
|
|
1411
|
+
:param _host_index: set to override the host_index for a single
|
|
1412
|
+
request; this effectively ignores the host_index
|
|
1413
|
+
in the spec for a single request.
|
|
1414
|
+
:type _host_index: int, optional
|
|
1415
|
+
:return: Returns the result object.
|
|
1416
|
+
""" # noqa: E501
|
|
1417
|
+
|
|
1418
|
+
_param = self._list_meter_group_by_values_serialize(
|
|
1419
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
1420
|
+
group_by_key=group_by_key,
|
|
1421
|
+
var_from=var_from,
|
|
1422
|
+
to=to,
|
|
1423
|
+
_request_auth=_request_auth,
|
|
1424
|
+
_content_type=_content_type,
|
|
1425
|
+
_headers=_headers,
|
|
1426
|
+
_host_index=_host_index
|
|
1427
|
+
)
|
|
1428
|
+
|
|
1429
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1430
|
+
'200': "List[str]",
|
|
1431
|
+
'400': "UnexpectedProblemResponse",
|
|
1432
|
+
'401': "UnexpectedProblemResponse",
|
|
1433
|
+
'403': "UnexpectedProblemResponse",
|
|
1434
|
+
'412': "UnexpectedProblemResponse",
|
|
1435
|
+
'500': "UnexpectedProblemResponse",
|
|
1436
|
+
'503': "UnexpectedProblemResponse",
|
|
1437
|
+
}
|
|
1438
|
+
response_data = self.api_client.call_api(
|
|
1439
|
+
*_param,
|
|
1440
|
+
_request_timeout=_request_timeout
|
|
1441
|
+
)
|
|
1442
|
+
response_data.read()
|
|
1443
|
+
return self.api_client.response_deserialize(
|
|
1444
|
+
response_data=response_data,
|
|
1445
|
+
response_types_map=_response_types_map,
|
|
1446
|
+
)
|
|
1447
|
+
|
|
1448
|
+
|
|
1449
|
+
@validate_call
|
|
1450
|
+
def list_meter_group_by_values_without_preload_content(
|
|
1451
|
+
self,
|
|
1452
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
1453
|
+
group_by_key: StrictStr,
|
|
1454
|
+
var_from: Annotated[Optional[datetime], Field(description="Start date-time in RFC 3339 format. Inclusive. Defaults to 24 hours ago. For example: ?from=2025-01-01T00%3A00%3A00.000Z")] = None,
|
|
1455
|
+
to: Annotated[Optional[datetime], Field(description="End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z")] = None,
|
|
1456
|
+
_request_timeout: Union[
|
|
1457
|
+
None,
|
|
1458
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1459
|
+
Tuple[
|
|
1460
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1461
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1462
|
+
]
|
|
1463
|
+
] = None,
|
|
1464
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1465
|
+
_content_type: Optional[StrictStr] = None,
|
|
1466
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1467
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1468
|
+
) -> RESTResponseType:
|
|
1469
|
+
"""List meter group by values
|
|
1470
|
+
|
|
1471
|
+
List meter group by values.
|
|
1472
|
+
|
|
1473
|
+
:param meter_id_or_slug: (required)
|
|
1474
|
+
:type meter_id_or_slug: str
|
|
1475
|
+
:param group_by_key: (required)
|
|
1476
|
+
:type group_by_key: str
|
|
1477
|
+
:param var_from: Start date-time in RFC 3339 format. Inclusive. Defaults to 24 hours ago. For example: ?from=2025-01-01T00%3A00%3A00.000Z
|
|
1478
|
+
:type var_from: datetime
|
|
1479
|
+
:param to: End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z
|
|
1480
|
+
:type to: datetime
|
|
1481
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1482
|
+
number provided, it will be total request
|
|
1483
|
+
timeout. It can also be a pair (tuple) of
|
|
1484
|
+
(connection, read) timeouts.
|
|
1485
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1486
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1487
|
+
request; this effectively ignores the
|
|
1488
|
+
authentication in the spec for a single request.
|
|
1489
|
+
:type _request_auth: dict, optional
|
|
1490
|
+
:param _content_type: force content-type for the request.
|
|
1491
|
+
:type _content_type: str, Optional
|
|
1492
|
+
:param _headers: set to override the headers for a single
|
|
1493
|
+
request; this effectively ignores the headers
|
|
1494
|
+
in the spec for a single request.
|
|
1495
|
+
:type _headers: dict, optional
|
|
1496
|
+
:param _host_index: set to override the host_index for a single
|
|
1497
|
+
request; this effectively ignores the host_index
|
|
1498
|
+
in the spec for a single request.
|
|
1499
|
+
:type _host_index: int, optional
|
|
1500
|
+
:return: Returns the result object.
|
|
1501
|
+
""" # noqa: E501
|
|
1502
|
+
|
|
1503
|
+
_param = self._list_meter_group_by_values_serialize(
|
|
1504
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
1505
|
+
group_by_key=group_by_key,
|
|
1506
|
+
var_from=var_from,
|
|
1507
|
+
to=to,
|
|
1508
|
+
_request_auth=_request_auth,
|
|
1509
|
+
_content_type=_content_type,
|
|
1510
|
+
_headers=_headers,
|
|
1511
|
+
_host_index=_host_index
|
|
1512
|
+
)
|
|
1513
|
+
|
|
1514
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1515
|
+
'200': "List[str]",
|
|
1516
|
+
'400': "UnexpectedProblemResponse",
|
|
1517
|
+
'401': "UnexpectedProblemResponse",
|
|
1518
|
+
'403': "UnexpectedProblemResponse",
|
|
1519
|
+
'412': "UnexpectedProblemResponse",
|
|
1520
|
+
'500': "UnexpectedProblemResponse",
|
|
1521
|
+
'503': "UnexpectedProblemResponse",
|
|
1522
|
+
}
|
|
1523
|
+
response_data = self.api_client.call_api(
|
|
1524
|
+
*_param,
|
|
1525
|
+
_request_timeout=_request_timeout
|
|
1526
|
+
)
|
|
1527
|
+
return response_data.response
|
|
1528
|
+
|
|
1529
|
+
|
|
1530
|
+
def _list_meter_group_by_values_serialize(
|
|
1531
|
+
self,
|
|
1532
|
+
meter_id_or_slug,
|
|
1533
|
+
group_by_key,
|
|
1534
|
+
var_from,
|
|
1535
|
+
to,
|
|
1536
|
+
_request_auth,
|
|
1537
|
+
_content_type,
|
|
1538
|
+
_headers,
|
|
1539
|
+
_host_index,
|
|
1540
|
+
) -> RequestSerialized:
|
|
1541
|
+
|
|
1542
|
+
_host = None
|
|
1543
|
+
|
|
1544
|
+
_collection_formats: Dict[str, str] = {
|
|
1545
|
+
}
|
|
1546
|
+
|
|
1547
|
+
_path_params: Dict[str, str] = {}
|
|
1548
|
+
_query_params: List[Tuple[str, str]] = []
|
|
1549
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
1550
|
+
_form_params: List[Tuple[str, str]] = []
|
|
1551
|
+
_files: Dict[
|
|
1552
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
1553
|
+
] = {}
|
|
1554
|
+
_body_params: Optional[bytes] = None
|
|
1555
|
+
|
|
1556
|
+
# process the path parameters
|
|
1557
|
+
if meter_id_or_slug is not None:
|
|
1558
|
+
_path_params['meterIdOrSlug'] = meter_id_or_slug
|
|
1559
|
+
if group_by_key is not None:
|
|
1560
|
+
_path_params['groupByKey'] = group_by_key
|
|
1561
|
+
# process the query parameters
|
|
1562
|
+
if var_from is not None:
|
|
1563
|
+
if isinstance(var_from, datetime):
|
|
1564
|
+
_query_params.append(
|
|
1565
|
+
(
|
|
1566
|
+
'from',
|
|
1567
|
+
var_from.strftime(
|
|
1568
|
+
self.api_client.configuration.datetime_format
|
|
1569
|
+
)
|
|
1570
|
+
)
|
|
1571
|
+
)
|
|
1572
|
+
else:
|
|
1573
|
+
_query_params.append(('from', var_from))
|
|
1574
|
+
|
|
1575
|
+
if to is not None:
|
|
1576
|
+
if isinstance(to, datetime):
|
|
1577
|
+
_query_params.append(
|
|
1578
|
+
(
|
|
1579
|
+
'to',
|
|
1580
|
+
to.strftime(
|
|
1581
|
+
self.api_client.configuration.datetime_format
|
|
1582
|
+
)
|
|
1583
|
+
)
|
|
1584
|
+
)
|
|
1585
|
+
else:
|
|
1586
|
+
_query_params.append(('to', to))
|
|
1587
|
+
|
|
1588
|
+
# process the header parameters
|
|
1589
|
+
# process the form parameters
|
|
1590
|
+
# process the body parameter
|
|
1591
|
+
|
|
1592
|
+
|
|
1593
|
+
# set the HTTP header `Accept`
|
|
1594
|
+
if 'Accept' not in _header_params:
|
|
1595
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
1596
|
+
[
|
|
1597
|
+
'application/json',
|
|
1598
|
+
'application/problem+json'
|
|
1599
|
+
]
|
|
1600
|
+
)
|
|
1601
|
+
|
|
1602
|
+
|
|
1603
|
+
# authentication setting
|
|
1604
|
+
_auth_settings: List[str] = [
|
|
1605
|
+
'CloudTokenAuth'
|
|
1606
|
+
]
|
|
1607
|
+
|
|
1608
|
+
return self.api_client.param_serialize(
|
|
1609
|
+
method='GET',
|
|
1610
|
+
resource_path='/api/v1/meters/{meterIdOrSlug}/group-by/{groupByKey}/values',
|
|
1611
|
+
path_params=_path_params,
|
|
1612
|
+
query_params=_query_params,
|
|
1613
|
+
header_params=_header_params,
|
|
1614
|
+
body=_body_params,
|
|
1615
|
+
post_params=_form_params,
|
|
1616
|
+
files=_files,
|
|
1617
|
+
auth_settings=_auth_settings,
|
|
1618
|
+
collection_formats=_collection_formats,
|
|
1619
|
+
_host=_host,
|
|
1620
|
+
_request_auth=_request_auth
|
|
1621
|
+
)
|
|
1622
|
+
|
|
1623
|
+
|
|
1624
|
+
|
|
1625
|
+
|
|
1626
|
+
@validate_call
|
|
1627
|
+
def list_meter_subjects(
|
|
1628
|
+
self,
|
|
1629
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
1630
|
+
var_from: Annotated[Optional[datetime], Field(description="Start date-time in RFC 3339 format. Inclusive. Defaults to the beginning of time. For example: ?from=2025-01-01T00%3A00%3A00.000Z")] = None,
|
|
1631
|
+
to: Annotated[Optional[datetime], Field(description="End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z")] = None,
|
|
1632
|
+
_request_timeout: Union[
|
|
1633
|
+
None,
|
|
1634
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1635
|
+
Tuple[
|
|
1636
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1637
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1638
|
+
]
|
|
1639
|
+
] = None,
|
|
1640
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1641
|
+
_content_type: Optional[StrictStr] = None,
|
|
1642
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1643
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1644
|
+
) -> List[str]:
|
|
1645
|
+
"""List meter subjects
|
|
1646
|
+
|
|
1647
|
+
List subjects for a meter.
|
|
1648
|
+
|
|
1649
|
+
:param meter_id_or_slug: (required)
|
|
1650
|
+
:type meter_id_or_slug: str
|
|
1651
|
+
:param var_from: Start date-time in RFC 3339 format. Inclusive. Defaults to the beginning of time. For example: ?from=2025-01-01T00%3A00%3A00.000Z
|
|
1652
|
+
:type var_from: datetime
|
|
1653
|
+
:param to: End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z
|
|
1654
|
+
:type to: datetime
|
|
1655
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1656
|
+
number provided, it will be total request
|
|
1657
|
+
timeout. It can also be a pair (tuple) of
|
|
1658
|
+
(connection, read) timeouts.
|
|
1659
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1660
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1661
|
+
request; this effectively ignores the
|
|
1662
|
+
authentication in the spec for a single request.
|
|
1663
|
+
:type _request_auth: dict, optional
|
|
1664
|
+
:param _content_type: force content-type for the request.
|
|
1665
|
+
:type _content_type: str, Optional
|
|
1666
|
+
:param _headers: set to override the headers for a single
|
|
1667
|
+
request; this effectively ignores the headers
|
|
1668
|
+
in the spec for a single request.
|
|
1669
|
+
:type _headers: dict, optional
|
|
1670
|
+
:param _host_index: set to override the host_index for a single
|
|
1671
|
+
request; this effectively ignores the host_index
|
|
1672
|
+
in the spec for a single request.
|
|
1673
|
+
:type _host_index: int, optional
|
|
1674
|
+
:return: Returns the result object.
|
|
1675
|
+
""" # noqa: E501
|
|
1676
|
+
|
|
1677
|
+
_param = self._list_meter_subjects_serialize(
|
|
1678
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
1679
|
+
var_from=var_from,
|
|
1680
|
+
to=to,
|
|
1681
|
+
_request_auth=_request_auth,
|
|
1682
|
+
_content_type=_content_type,
|
|
1683
|
+
_headers=_headers,
|
|
1684
|
+
_host_index=_host_index
|
|
1685
|
+
)
|
|
1686
|
+
|
|
1687
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1688
|
+
'200': "List[str]",
|
|
1689
|
+
'400': "UnexpectedProblemResponse",
|
|
1690
|
+
'401': "UnexpectedProblemResponse",
|
|
1691
|
+
'403': "UnexpectedProblemResponse",
|
|
1692
|
+
'412': "UnexpectedProblemResponse",
|
|
1693
|
+
'500': "UnexpectedProblemResponse",
|
|
1694
|
+
'503': "UnexpectedProblemResponse",
|
|
1695
|
+
}
|
|
1696
|
+
response_data = self.api_client.call_api(
|
|
1697
|
+
*_param,
|
|
1698
|
+
_request_timeout=_request_timeout
|
|
1699
|
+
)
|
|
1700
|
+
response_data.read()
|
|
1701
|
+
return self.api_client.response_deserialize(
|
|
1702
|
+
response_data=response_data,
|
|
1703
|
+
response_types_map=_response_types_map,
|
|
1704
|
+
).data
|
|
1705
|
+
|
|
1706
|
+
|
|
1707
|
+
@validate_call
|
|
1708
|
+
def list_meter_subjects_with_http_info(
|
|
1709
|
+
self,
|
|
1710
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
1711
|
+
var_from: Annotated[Optional[datetime], Field(description="Start date-time in RFC 3339 format. Inclusive. Defaults to the beginning of time. For example: ?from=2025-01-01T00%3A00%3A00.000Z")] = None,
|
|
1712
|
+
to: Annotated[Optional[datetime], Field(description="End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z")] = None,
|
|
1713
|
+
_request_timeout: Union[
|
|
1714
|
+
None,
|
|
1715
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1716
|
+
Tuple[
|
|
1717
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1718
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1719
|
+
]
|
|
1720
|
+
] = None,
|
|
1721
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1722
|
+
_content_type: Optional[StrictStr] = None,
|
|
1723
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1724
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1725
|
+
) -> ApiResponse[List[str]]:
|
|
1726
|
+
"""List meter subjects
|
|
1727
|
+
|
|
1728
|
+
List subjects for a meter.
|
|
1729
|
+
|
|
1730
|
+
:param meter_id_or_slug: (required)
|
|
1731
|
+
:type meter_id_or_slug: str
|
|
1732
|
+
:param var_from: Start date-time in RFC 3339 format. Inclusive. Defaults to the beginning of time. For example: ?from=2025-01-01T00%3A00%3A00.000Z
|
|
1733
|
+
:type var_from: datetime
|
|
1734
|
+
:param to: End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z
|
|
1735
|
+
:type to: datetime
|
|
1736
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1737
|
+
number provided, it will be total request
|
|
1738
|
+
timeout. It can also be a pair (tuple) of
|
|
1739
|
+
(connection, read) timeouts.
|
|
1740
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1741
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1742
|
+
request; this effectively ignores the
|
|
1743
|
+
authentication in the spec for a single request.
|
|
1744
|
+
:type _request_auth: dict, optional
|
|
1745
|
+
:param _content_type: force content-type for the request.
|
|
1746
|
+
:type _content_type: str, Optional
|
|
1747
|
+
:param _headers: set to override the headers for a single
|
|
1748
|
+
request; this effectively ignores the headers
|
|
1749
|
+
in the spec for a single request.
|
|
1750
|
+
:type _headers: dict, optional
|
|
1751
|
+
:param _host_index: set to override the host_index for a single
|
|
1752
|
+
request; this effectively ignores the host_index
|
|
1753
|
+
in the spec for a single request.
|
|
1754
|
+
:type _host_index: int, optional
|
|
1755
|
+
:return: Returns the result object.
|
|
1756
|
+
""" # noqa: E501
|
|
1757
|
+
|
|
1758
|
+
_param = self._list_meter_subjects_serialize(
|
|
1759
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
1760
|
+
var_from=var_from,
|
|
1761
|
+
to=to,
|
|
1762
|
+
_request_auth=_request_auth,
|
|
1763
|
+
_content_type=_content_type,
|
|
1764
|
+
_headers=_headers,
|
|
1765
|
+
_host_index=_host_index
|
|
1766
|
+
)
|
|
1767
|
+
|
|
1768
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1769
|
+
'200': "List[str]",
|
|
1770
|
+
'400': "UnexpectedProblemResponse",
|
|
1771
|
+
'401': "UnexpectedProblemResponse",
|
|
1772
|
+
'403': "UnexpectedProblemResponse",
|
|
1773
|
+
'412': "UnexpectedProblemResponse",
|
|
1774
|
+
'500': "UnexpectedProblemResponse",
|
|
1775
|
+
'503': "UnexpectedProblemResponse",
|
|
1776
|
+
}
|
|
1777
|
+
response_data = self.api_client.call_api(
|
|
1778
|
+
*_param,
|
|
1779
|
+
_request_timeout=_request_timeout
|
|
1780
|
+
)
|
|
1781
|
+
response_data.read()
|
|
1782
|
+
return self.api_client.response_deserialize(
|
|
1783
|
+
response_data=response_data,
|
|
1784
|
+
response_types_map=_response_types_map,
|
|
1785
|
+
)
|
|
1786
|
+
|
|
1787
|
+
|
|
1788
|
+
@validate_call
|
|
1789
|
+
def list_meter_subjects_without_preload_content(
|
|
1790
|
+
self,
|
|
1791
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
1792
|
+
var_from: Annotated[Optional[datetime], Field(description="Start date-time in RFC 3339 format. Inclusive. Defaults to the beginning of time. For example: ?from=2025-01-01T00%3A00%3A00.000Z")] = None,
|
|
1793
|
+
to: Annotated[Optional[datetime], Field(description="End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z")] = None,
|
|
1794
|
+
_request_timeout: Union[
|
|
1795
|
+
None,
|
|
1796
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1797
|
+
Tuple[
|
|
1798
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1799
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1800
|
+
]
|
|
1801
|
+
] = None,
|
|
1802
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1803
|
+
_content_type: Optional[StrictStr] = None,
|
|
1804
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1805
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1806
|
+
) -> RESTResponseType:
|
|
1807
|
+
"""List meter subjects
|
|
1808
|
+
|
|
1809
|
+
List subjects for a meter.
|
|
1810
|
+
|
|
1811
|
+
:param meter_id_or_slug: (required)
|
|
1812
|
+
:type meter_id_or_slug: str
|
|
1813
|
+
:param var_from: Start date-time in RFC 3339 format. Inclusive. Defaults to the beginning of time. For example: ?from=2025-01-01T00%3A00%3A00.000Z
|
|
1814
|
+
:type var_from: datetime
|
|
1815
|
+
:param to: End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z
|
|
1816
|
+
:type to: datetime
|
|
1817
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1818
|
+
number provided, it will be total request
|
|
1819
|
+
timeout. It can also be a pair (tuple) of
|
|
1820
|
+
(connection, read) timeouts.
|
|
1821
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1822
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1823
|
+
request; this effectively ignores the
|
|
1824
|
+
authentication in the spec for a single request.
|
|
1825
|
+
:type _request_auth: dict, optional
|
|
1826
|
+
:param _content_type: force content-type for the request.
|
|
1827
|
+
:type _content_type: str, Optional
|
|
1828
|
+
:param _headers: set to override the headers for a single
|
|
1829
|
+
request; this effectively ignores the headers
|
|
1830
|
+
in the spec for a single request.
|
|
1831
|
+
:type _headers: dict, optional
|
|
1832
|
+
:param _host_index: set to override the host_index for a single
|
|
1833
|
+
request; this effectively ignores the host_index
|
|
1834
|
+
in the spec for a single request.
|
|
1835
|
+
:type _host_index: int, optional
|
|
1836
|
+
:return: Returns the result object.
|
|
1837
|
+
""" # noqa: E501
|
|
1838
|
+
|
|
1839
|
+
_param = self._list_meter_subjects_serialize(
|
|
1840
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
1841
|
+
var_from=var_from,
|
|
1842
|
+
to=to,
|
|
1843
|
+
_request_auth=_request_auth,
|
|
1844
|
+
_content_type=_content_type,
|
|
1845
|
+
_headers=_headers,
|
|
1846
|
+
_host_index=_host_index
|
|
1847
|
+
)
|
|
1848
|
+
|
|
1849
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1850
|
+
'200': "List[str]",
|
|
1851
|
+
'400': "UnexpectedProblemResponse",
|
|
1852
|
+
'401': "UnexpectedProblemResponse",
|
|
1853
|
+
'403': "UnexpectedProblemResponse",
|
|
1854
|
+
'412': "UnexpectedProblemResponse",
|
|
1855
|
+
'500': "UnexpectedProblemResponse",
|
|
1856
|
+
'503': "UnexpectedProblemResponse",
|
|
1857
|
+
}
|
|
1858
|
+
response_data = self.api_client.call_api(
|
|
1859
|
+
*_param,
|
|
1860
|
+
_request_timeout=_request_timeout
|
|
1861
|
+
)
|
|
1862
|
+
return response_data.response
|
|
1863
|
+
|
|
1864
|
+
|
|
1865
|
+
def _list_meter_subjects_serialize(
|
|
1866
|
+
self,
|
|
1867
|
+
meter_id_or_slug,
|
|
1868
|
+
var_from,
|
|
1869
|
+
to,
|
|
1870
|
+
_request_auth,
|
|
1871
|
+
_content_type,
|
|
1872
|
+
_headers,
|
|
1873
|
+
_host_index,
|
|
1874
|
+
) -> RequestSerialized:
|
|
1875
|
+
|
|
1876
|
+
_host = None
|
|
1877
|
+
|
|
1878
|
+
_collection_formats: Dict[str, str] = {
|
|
1879
|
+
}
|
|
1880
|
+
|
|
1881
|
+
_path_params: Dict[str, str] = {}
|
|
1882
|
+
_query_params: List[Tuple[str, str]] = []
|
|
1883
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
1884
|
+
_form_params: List[Tuple[str, str]] = []
|
|
1885
|
+
_files: Dict[
|
|
1886
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
1887
|
+
] = {}
|
|
1888
|
+
_body_params: Optional[bytes] = None
|
|
1889
|
+
|
|
1890
|
+
# process the path parameters
|
|
1891
|
+
if meter_id_or_slug is not None:
|
|
1892
|
+
_path_params['meterIdOrSlug'] = meter_id_or_slug
|
|
1893
|
+
# process the query parameters
|
|
1894
|
+
if var_from is not None:
|
|
1895
|
+
if isinstance(var_from, datetime):
|
|
1896
|
+
_query_params.append(
|
|
1897
|
+
(
|
|
1898
|
+
'from',
|
|
1899
|
+
var_from.strftime(
|
|
1900
|
+
self.api_client.configuration.datetime_format
|
|
1901
|
+
)
|
|
1902
|
+
)
|
|
1903
|
+
)
|
|
1904
|
+
else:
|
|
1905
|
+
_query_params.append(('from', var_from))
|
|
1906
|
+
|
|
1907
|
+
if to is not None:
|
|
1908
|
+
if isinstance(to, datetime):
|
|
1909
|
+
_query_params.append(
|
|
1910
|
+
(
|
|
1911
|
+
'to',
|
|
1912
|
+
to.strftime(
|
|
1913
|
+
self.api_client.configuration.datetime_format
|
|
1914
|
+
)
|
|
1915
|
+
)
|
|
1916
|
+
)
|
|
1917
|
+
else:
|
|
1918
|
+
_query_params.append(('to', to))
|
|
1919
|
+
|
|
1920
|
+
# process the header parameters
|
|
1921
|
+
# process the form parameters
|
|
1922
|
+
# process the body parameter
|
|
1923
|
+
|
|
1924
|
+
|
|
1925
|
+
# set the HTTP header `Accept`
|
|
1926
|
+
if 'Accept' not in _header_params:
|
|
1927
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
1928
|
+
[
|
|
1929
|
+
'application/json',
|
|
1930
|
+
'application/problem+json'
|
|
1931
|
+
]
|
|
1932
|
+
)
|
|
1933
|
+
|
|
1934
|
+
|
|
1935
|
+
# authentication setting
|
|
1936
|
+
_auth_settings: List[str] = [
|
|
1937
|
+
'CloudTokenAuth'
|
|
1938
|
+
]
|
|
1939
|
+
|
|
1940
|
+
return self.api_client.param_serialize(
|
|
1941
|
+
method='GET',
|
|
1942
|
+
resource_path='/api/v1/meters/{meterIdOrSlug}/subjects',
|
|
1943
|
+
path_params=_path_params,
|
|
1944
|
+
query_params=_query_params,
|
|
1945
|
+
header_params=_header_params,
|
|
1946
|
+
body=_body_params,
|
|
1947
|
+
post_params=_form_params,
|
|
1948
|
+
files=_files,
|
|
1949
|
+
auth_settings=_auth_settings,
|
|
1950
|
+
collection_formats=_collection_formats,
|
|
1951
|
+
_host=_host,
|
|
1952
|
+
_request_auth=_request_auth
|
|
1953
|
+
)
|
|
1954
|
+
|
|
1955
|
+
|
|
1956
|
+
|
|
1957
|
+
|
|
1958
|
+
@validate_call
|
|
1959
|
+
def list_meters(
|
|
1960
|
+
self,
|
|
1961
|
+
page: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Page index. Default is 1.")] = None,
|
|
1962
|
+
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,
|
|
1963
|
+
order: Annotated[Optional[SortOrder], Field(description="The order direction.")] = None,
|
|
1964
|
+
order_by: Annotated[Optional[MeterOrderBy], Field(description="The order by field.")] = None,
|
|
1965
|
+
include_deleted: Annotated[Optional[StrictBool], Field(description="Include deleted meters.")] = None,
|
|
1966
|
+
_request_timeout: Union[
|
|
1967
|
+
None,
|
|
1968
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1969
|
+
Tuple[
|
|
1970
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1971
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1972
|
+
]
|
|
1973
|
+
] = None,
|
|
1974
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1975
|
+
_content_type: Optional[StrictStr] = None,
|
|
1976
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1977
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1978
|
+
) -> List[Meter]:
|
|
1979
|
+
"""List meters
|
|
1980
|
+
|
|
1981
|
+
List meters.
|
|
1982
|
+
|
|
1983
|
+
:param page: Page index. Default is 1.
|
|
1984
|
+
:type page: int
|
|
1985
|
+
:param page_size: The maximum number of items per page. Default is 100.
|
|
1986
|
+
:type page_size: int
|
|
1987
|
+
:param order: The order direction.
|
|
1988
|
+
:type order: SortOrder
|
|
1989
|
+
:param order_by: The order by field.
|
|
1990
|
+
:type order_by: MeterOrderBy
|
|
1991
|
+
:param include_deleted: Include deleted meters.
|
|
1992
|
+
:type include_deleted: bool
|
|
1993
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1994
|
+
number provided, it will be total request
|
|
1995
|
+
timeout. It can also be a pair (tuple) of
|
|
1996
|
+
(connection, read) timeouts.
|
|
1997
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1998
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1999
|
+
request; this effectively ignores the
|
|
2000
|
+
authentication in the spec for a single request.
|
|
2001
|
+
:type _request_auth: dict, optional
|
|
2002
|
+
:param _content_type: force content-type for the request.
|
|
2003
|
+
:type _content_type: str, Optional
|
|
2004
|
+
:param _headers: set to override the headers for a single
|
|
2005
|
+
request; this effectively ignores the headers
|
|
2006
|
+
in the spec for a single request.
|
|
2007
|
+
:type _headers: dict, optional
|
|
2008
|
+
:param _host_index: set to override the host_index for a single
|
|
2009
|
+
request; this effectively ignores the host_index
|
|
2010
|
+
in the spec for a single request.
|
|
2011
|
+
:type _host_index: int, optional
|
|
2012
|
+
:return: Returns the result object.
|
|
2013
|
+
""" # noqa: E501
|
|
2014
|
+
|
|
2015
|
+
_param = self._list_meters_serialize(
|
|
2016
|
+
page=page,
|
|
2017
|
+
page_size=page_size,
|
|
2018
|
+
order=order,
|
|
2019
|
+
order_by=order_by,
|
|
2020
|
+
include_deleted=include_deleted,
|
|
2021
|
+
_request_auth=_request_auth,
|
|
2022
|
+
_content_type=_content_type,
|
|
2023
|
+
_headers=_headers,
|
|
2024
|
+
_host_index=_host_index
|
|
2025
|
+
)
|
|
2026
|
+
|
|
2027
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2028
|
+
'200': "List[Meter]",
|
|
2029
|
+
'400': "UnexpectedProblemResponse",
|
|
2030
|
+
'401': "UnexpectedProblemResponse",
|
|
2031
|
+
'403': "UnexpectedProblemResponse",
|
|
2032
|
+
'412': "UnexpectedProblemResponse",
|
|
2033
|
+
'500': "UnexpectedProblemResponse",
|
|
2034
|
+
'503': "UnexpectedProblemResponse",
|
|
2035
|
+
}
|
|
2036
|
+
response_data = self.api_client.call_api(
|
|
2037
|
+
*_param,
|
|
2038
|
+
_request_timeout=_request_timeout
|
|
2039
|
+
)
|
|
2040
|
+
response_data.read()
|
|
2041
|
+
return self.api_client.response_deserialize(
|
|
2042
|
+
response_data=response_data,
|
|
2043
|
+
response_types_map=_response_types_map,
|
|
2044
|
+
).data
|
|
2045
|
+
|
|
2046
|
+
|
|
2047
|
+
@validate_call
|
|
2048
|
+
def list_meters_with_http_info(
|
|
2049
|
+
self,
|
|
2050
|
+
page: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Page index. Default is 1.")] = None,
|
|
2051
|
+
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,
|
|
2052
|
+
order: Annotated[Optional[SortOrder], Field(description="The order direction.")] = None,
|
|
2053
|
+
order_by: Annotated[Optional[MeterOrderBy], Field(description="The order by field.")] = None,
|
|
2054
|
+
include_deleted: Annotated[Optional[StrictBool], Field(description="Include deleted meters.")] = None,
|
|
2055
|
+
_request_timeout: Union[
|
|
2056
|
+
None,
|
|
2057
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2058
|
+
Tuple[
|
|
2059
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2060
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2061
|
+
]
|
|
2062
|
+
] = None,
|
|
2063
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2064
|
+
_content_type: Optional[StrictStr] = None,
|
|
2065
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2066
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2067
|
+
) -> ApiResponse[List[Meter]]:
|
|
2068
|
+
"""List meters
|
|
2069
|
+
|
|
2070
|
+
List meters.
|
|
2071
|
+
|
|
2072
|
+
:param page: Page index. Default is 1.
|
|
2073
|
+
:type page: int
|
|
2074
|
+
:param page_size: The maximum number of items per page. Default is 100.
|
|
2075
|
+
:type page_size: int
|
|
2076
|
+
:param order: The order direction.
|
|
2077
|
+
:type order: SortOrder
|
|
2078
|
+
:param order_by: The order by field.
|
|
2079
|
+
:type order_by: MeterOrderBy
|
|
2080
|
+
:param include_deleted: Include deleted meters.
|
|
2081
|
+
:type include_deleted: bool
|
|
2082
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2083
|
+
number provided, it will be total request
|
|
2084
|
+
timeout. It can also be a pair (tuple) of
|
|
2085
|
+
(connection, read) timeouts.
|
|
2086
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2087
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2088
|
+
request; this effectively ignores the
|
|
2089
|
+
authentication in the spec for a single request.
|
|
2090
|
+
:type _request_auth: dict, optional
|
|
2091
|
+
:param _content_type: force content-type for the request.
|
|
2092
|
+
:type _content_type: str, Optional
|
|
2093
|
+
:param _headers: set to override the headers for a single
|
|
2094
|
+
request; this effectively ignores the headers
|
|
2095
|
+
in the spec for a single request.
|
|
2096
|
+
:type _headers: dict, optional
|
|
2097
|
+
:param _host_index: set to override the host_index for a single
|
|
2098
|
+
request; this effectively ignores the host_index
|
|
2099
|
+
in the spec for a single request.
|
|
2100
|
+
:type _host_index: int, optional
|
|
2101
|
+
:return: Returns the result object.
|
|
2102
|
+
""" # noqa: E501
|
|
2103
|
+
|
|
2104
|
+
_param = self._list_meters_serialize(
|
|
2105
|
+
page=page,
|
|
2106
|
+
page_size=page_size,
|
|
2107
|
+
order=order,
|
|
2108
|
+
order_by=order_by,
|
|
2109
|
+
include_deleted=include_deleted,
|
|
2110
|
+
_request_auth=_request_auth,
|
|
2111
|
+
_content_type=_content_type,
|
|
2112
|
+
_headers=_headers,
|
|
2113
|
+
_host_index=_host_index
|
|
2114
|
+
)
|
|
2115
|
+
|
|
2116
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2117
|
+
'200': "List[Meter]",
|
|
2118
|
+
'400': "UnexpectedProblemResponse",
|
|
2119
|
+
'401': "UnexpectedProblemResponse",
|
|
2120
|
+
'403': "UnexpectedProblemResponse",
|
|
2121
|
+
'412': "UnexpectedProblemResponse",
|
|
2122
|
+
'500': "UnexpectedProblemResponse",
|
|
2123
|
+
'503': "UnexpectedProblemResponse",
|
|
2124
|
+
}
|
|
2125
|
+
response_data = self.api_client.call_api(
|
|
2126
|
+
*_param,
|
|
2127
|
+
_request_timeout=_request_timeout
|
|
2128
|
+
)
|
|
2129
|
+
response_data.read()
|
|
2130
|
+
return self.api_client.response_deserialize(
|
|
2131
|
+
response_data=response_data,
|
|
2132
|
+
response_types_map=_response_types_map,
|
|
2133
|
+
)
|
|
2134
|
+
|
|
2135
|
+
|
|
2136
|
+
@validate_call
|
|
2137
|
+
def list_meters_without_preload_content(
|
|
2138
|
+
self,
|
|
2139
|
+
page: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Page index. Default is 1.")] = None,
|
|
2140
|
+
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,
|
|
2141
|
+
order: Annotated[Optional[SortOrder], Field(description="The order direction.")] = None,
|
|
2142
|
+
order_by: Annotated[Optional[MeterOrderBy], Field(description="The order by field.")] = None,
|
|
2143
|
+
include_deleted: Annotated[Optional[StrictBool], Field(description="Include deleted meters.")] = None,
|
|
2144
|
+
_request_timeout: Union[
|
|
2145
|
+
None,
|
|
2146
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2147
|
+
Tuple[
|
|
2148
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2149
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2150
|
+
]
|
|
2151
|
+
] = None,
|
|
2152
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2153
|
+
_content_type: Optional[StrictStr] = None,
|
|
2154
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2155
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2156
|
+
) -> RESTResponseType:
|
|
2157
|
+
"""List meters
|
|
2158
|
+
|
|
2159
|
+
List meters.
|
|
2160
|
+
|
|
2161
|
+
:param page: Page index. Default is 1.
|
|
2162
|
+
:type page: int
|
|
2163
|
+
:param page_size: The maximum number of items per page. Default is 100.
|
|
2164
|
+
:type page_size: int
|
|
2165
|
+
:param order: The order direction.
|
|
2166
|
+
:type order: SortOrder
|
|
2167
|
+
:param order_by: The order by field.
|
|
2168
|
+
:type order_by: MeterOrderBy
|
|
2169
|
+
:param include_deleted: Include deleted meters.
|
|
2170
|
+
:type include_deleted: bool
|
|
2171
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2172
|
+
number provided, it will be total request
|
|
2173
|
+
timeout. It can also be a pair (tuple) of
|
|
2174
|
+
(connection, read) timeouts.
|
|
2175
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2176
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2177
|
+
request; this effectively ignores the
|
|
2178
|
+
authentication in the spec for a single request.
|
|
2179
|
+
:type _request_auth: dict, optional
|
|
2180
|
+
:param _content_type: force content-type for the request.
|
|
2181
|
+
:type _content_type: str, Optional
|
|
2182
|
+
:param _headers: set to override the headers for a single
|
|
2183
|
+
request; this effectively ignores the headers
|
|
2184
|
+
in the spec for a single request.
|
|
2185
|
+
:type _headers: dict, optional
|
|
2186
|
+
:param _host_index: set to override the host_index for a single
|
|
2187
|
+
request; this effectively ignores the host_index
|
|
2188
|
+
in the spec for a single request.
|
|
2189
|
+
:type _host_index: int, optional
|
|
2190
|
+
:return: Returns the result object.
|
|
2191
|
+
""" # noqa: E501
|
|
2192
|
+
|
|
2193
|
+
_param = self._list_meters_serialize(
|
|
2194
|
+
page=page,
|
|
2195
|
+
page_size=page_size,
|
|
2196
|
+
order=order,
|
|
2197
|
+
order_by=order_by,
|
|
2198
|
+
include_deleted=include_deleted,
|
|
2199
|
+
_request_auth=_request_auth,
|
|
2200
|
+
_content_type=_content_type,
|
|
2201
|
+
_headers=_headers,
|
|
2202
|
+
_host_index=_host_index
|
|
2203
|
+
)
|
|
2204
|
+
|
|
2205
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2206
|
+
'200': "List[Meter]",
|
|
2207
|
+
'400': "UnexpectedProblemResponse",
|
|
2208
|
+
'401': "UnexpectedProblemResponse",
|
|
2209
|
+
'403': "UnexpectedProblemResponse",
|
|
2210
|
+
'412': "UnexpectedProblemResponse",
|
|
2211
|
+
'500': "UnexpectedProblemResponse",
|
|
2212
|
+
'503': "UnexpectedProblemResponse",
|
|
2213
|
+
}
|
|
2214
|
+
response_data = self.api_client.call_api(
|
|
2215
|
+
*_param,
|
|
2216
|
+
_request_timeout=_request_timeout
|
|
2217
|
+
)
|
|
2218
|
+
return response_data.response
|
|
2219
|
+
|
|
2220
|
+
|
|
2221
|
+
def _list_meters_serialize(
|
|
2222
|
+
self,
|
|
2223
|
+
page,
|
|
2224
|
+
page_size,
|
|
2225
|
+
order,
|
|
2226
|
+
order_by,
|
|
2227
|
+
include_deleted,
|
|
2228
|
+
_request_auth,
|
|
2229
|
+
_content_type,
|
|
2230
|
+
_headers,
|
|
2231
|
+
_host_index,
|
|
2232
|
+
) -> RequestSerialized:
|
|
2233
|
+
|
|
2234
|
+
_host = None
|
|
2235
|
+
|
|
2236
|
+
_collection_formats: Dict[str, str] = {
|
|
2237
|
+
}
|
|
2238
|
+
|
|
2239
|
+
_path_params: Dict[str, str] = {}
|
|
2240
|
+
_query_params: List[Tuple[str, str]] = []
|
|
2241
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
2242
|
+
_form_params: List[Tuple[str, str]] = []
|
|
2243
|
+
_files: Dict[
|
|
2244
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
2245
|
+
] = {}
|
|
2246
|
+
_body_params: Optional[bytes] = None
|
|
2247
|
+
|
|
2248
|
+
# process the path parameters
|
|
2249
|
+
# process the query parameters
|
|
2250
|
+
if page is not None:
|
|
2251
|
+
|
|
2252
|
+
_query_params.append(('page', page))
|
|
2253
|
+
|
|
2254
|
+
if page_size is not None:
|
|
2255
|
+
|
|
2256
|
+
_query_params.append(('pageSize', page_size))
|
|
2257
|
+
|
|
2258
|
+
if order is not None:
|
|
2259
|
+
|
|
2260
|
+
_query_params.append(('order', order.value))
|
|
2261
|
+
|
|
2262
|
+
if order_by is not None:
|
|
2263
|
+
|
|
2264
|
+
_query_params.append(('orderBy', order_by.value))
|
|
2265
|
+
|
|
2266
|
+
if include_deleted is not None:
|
|
2267
|
+
|
|
2268
|
+
_query_params.append(('includeDeleted', include_deleted))
|
|
2269
|
+
|
|
2270
|
+
# process the header parameters
|
|
2271
|
+
# process the form parameters
|
|
2272
|
+
# process the body parameter
|
|
2273
|
+
|
|
2274
|
+
|
|
2275
|
+
# set the HTTP header `Accept`
|
|
2276
|
+
if 'Accept' not in _header_params:
|
|
2277
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
2278
|
+
[
|
|
2279
|
+
'application/json',
|
|
2280
|
+
'application/problem+json'
|
|
2281
|
+
]
|
|
2282
|
+
)
|
|
2283
|
+
|
|
2284
|
+
|
|
2285
|
+
# authentication setting
|
|
2286
|
+
_auth_settings: List[str] = [
|
|
2287
|
+
'CloudTokenAuth'
|
|
2288
|
+
]
|
|
2289
|
+
|
|
2290
|
+
return self.api_client.param_serialize(
|
|
2291
|
+
method='GET',
|
|
2292
|
+
resource_path='/api/v1/meters',
|
|
2293
|
+
path_params=_path_params,
|
|
2294
|
+
query_params=_query_params,
|
|
2295
|
+
header_params=_header_params,
|
|
2296
|
+
body=_body_params,
|
|
2297
|
+
post_params=_form_params,
|
|
2298
|
+
files=_files,
|
|
2299
|
+
auth_settings=_auth_settings,
|
|
2300
|
+
collection_formats=_collection_formats,
|
|
2301
|
+
_host=_host,
|
|
2302
|
+
_request_auth=_request_auth
|
|
2303
|
+
)
|
|
2304
|
+
|
|
2305
|
+
|
|
2306
|
+
|
|
2307
|
+
|
|
2308
|
+
@validate_call
|
|
2309
|
+
def query_meter(
|
|
2310
|
+
self,
|
|
2311
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
2312
|
+
client_id: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=36)]], Field(description="Client ID Useful to track progress of a query.")] = None,
|
|
2313
|
+
var_from: Annotated[Optional[datetime], Field(description="Start date-time in RFC 3339 format. Inclusive. For example: ?from=2025-01-01T00%3A00%3A00.000Z")] = None,
|
|
2314
|
+
to: Annotated[Optional[datetime], Field(description="End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z")] = None,
|
|
2315
|
+
window_size: Annotated[Optional[WindowSize], Field(description="If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. For example: ?windowSize=DAY")] = None,
|
|
2316
|
+
window_time_zone: Annotated[Optional[StrictStr], Field(description="The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones). If not specified, the UTC timezone will be used. For example: ?windowTimeZone=UTC")] = None,
|
|
2317
|
+
subject: Annotated[Optional[List[StrictStr]], Field(description="Filtering by multiple subjects. For example: ?subject=subject-1&subject=subject-2")] = None,
|
|
2318
|
+
filter_customer_id: Annotated[Optional[Annotated[List[StrictStr], Field(max_length=100)]], Field(description="Filtering by multiple customers. For example: ?filterCustomerId=customer-1&filterCustomerId=customer-2")] = None,
|
|
2319
|
+
filter_group_by: Annotated[Optional[Dict[str, Dict[str, StrictStr]]], Field(description="Simple filter for group bys with exact match. For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo")] = None,
|
|
2320
|
+
advanced_meter_group_by_filters: Annotated[Optional[Dict[str, FilterString]], Field(description="Optional advanced meter group by filters. You can use this to filter for values of the meter groupBy fields.")] = None,
|
|
2321
|
+
group_by: Annotated[Optional[List[StrictStr]], Field(description="If not specified a single aggregate will be returned for each subject and time window. `subject` is a reserved group by value. For example: ?groupBy=subject&groupBy=model")] = None,
|
|
2322
|
+
_request_timeout: Union[
|
|
2323
|
+
None,
|
|
2324
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2325
|
+
Tuple[
|
|
2326
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2327
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2328
|
+
]
|
|
2329
|
+
] = None,
|
|
2330
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2331
|
+
_content_type: Optional[StrictStr] = None,
|
|
2332
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2333
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2334
|
+
) -> MeterQueryResult:
|
|
2335
|
+
"""Query meter
|
|
2336
|
+
|
|
2337
|
+
Query meter for usage.
|
|
2338
|
+
|
|
2339
|
+
:param meter_id_or_slug: (required)
|
|
2340
|
+
:type meter_id_or_slug: str
|
|
2341
|
+
:param client_id: Client ID Useful to track progress of a query.
|
|
2342
|
+
:type client_id: str
|
|
2343
|
+
:param var_from: Start date-time in RFC 3339 format. Inclusive. For example: ?from=2025-01-01T00%3A00%3A00.000Z
|
|
2344
|
+
:type var_from: datetime
|
|
2345
|
+
:param to: End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z
|
|
2346
|
+
:type to: datetime
|
|
2347
|
+
:param window_size: If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. For example: ?windowSize=DAY
|
|
2348
|
+
:type window_size: WindowSize
|
|
2349
|
+
:param window_time_zone: The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones). If not specified, the UTC timezone will be used. For example: ?windowTimeZone=UTC
|
|
2350
|
+
:type window_time_zone: str
|
|
2351
|
+
:param subject: Filtering by multiple subjects. For example: ?subject=subject-1&subject=subject-2
|
|
2352
|
+
:type subject: List[str]
|
|
2353
|
+
:param filter_customer_id: Filtering by multiple customers. For example: ?filterCustomerId=customer-1&filterCustomerId=customer-2
|
|
2354
|
+
:type filter_customer_id: List[str]
|
|
2355
|
+
:param filter_group_by: Simple filter for group bys with exact match. For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo
|
|
2356
|
+
:type filter_group_by: Dict[str, str]
|
|
2357
|
+
:param advanced_meter_group_by_filters: Optional advanced meter group by filters. You can use this to filter for values of the meter groupBy fields.
|
|
2358
|
+
:type advanced_meter_group_by_filters: Dict[str, FilterString]
|
|
2359
|
+
:param group_by: If not specified a single aggregate will be returned for each subject and time window. `subject` is a reserved group by value. For example: ?groupBy=subject&groupBy=model
|
|
2360
|
+
:type group_by: List[str]
|
|
2361
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2362
|
+
number provided, it will be total request
|
|
2363
|
+
timeout. It can also be a pair (tuple) of
|
|
2364
|
+
(connection, read) timeouts.
|
|
2365
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2366
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2367
|
+
request; this effectively ignores the
|
|
2368
|
+
authentication in the spec for a single request.
|
|
2369
|
+
:type _request_auth: dict, optional
|
|
2370
|
+
:param _content_type: force content-type for the request.
|
|
2371
|
+
:type _content_type: str, Optional
|
|
2372
|
+
:param _headers: set to override the headers for a single
|
|
2373
|
+
request; this effectively ignores the headers
|
|
2374
|
+
in the spec for a single request.
|
|
2375
|
+
:type _headers: dict, optional
|
|
2376
|
+
:param _host_index: set to override the host_index for a single
|
|
2377
|
+
request; this effectively ignores the host_index
|
|
2378
|
+
in the spec for a single request.
|
|
2379
|
+
:type _host_index: int, optional
|
|
2380
|
+
:return: Returns the result object.
|
|
2381
|
+
""" # noqa: E501
|
|
2382
|
+
|
|
2383
|
+
_param = self._query_meter_serialize(
|
|
2384
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
2385
|
+
client_id=client_id,
|
|
2386
|
+
var_from=var_from,
|
|
2387
|
+
to=to,
|
|
2388
|
+
window_size=window_size,
|
|
2389
|
+
window_time_zone=window_time_zone,
|
|
2390
|
+
subject=subject,
|
|
2391
|
+
filter_customer_id=filter_customer_id,
|
|
2392
|
+
filter_group_by=filter_group_by,
|
|
2393
|
+
advanced_meter_group_by_filters=advanced_meter_group_by_filters,
|
|
2394
|
+
group_by=group_by,
|
|
2395
|
+
_request_auth=_request_auth,
|
|
2396
|
+
_content_type=_content_type,
|
|
2397
|
+
_headers=_headers,
|
|
2398
|
+
_host_index=_host_index
|
|
2399
|
+
)
|
|
2400
|
+
|
|
2401
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2402
|
+
'200': "MeterQueryResult",
|
|
2403
|
+
'400': "UnexpectedProblemResponse",
|
|
2404
|
+
'401': "UnexpectedProblemResponse",
|
|
2405
|
+
'403': "UnexpectedProblemResponse",
|
|
2406
|
+
'404': "UnexpectedProblemResponse",
|
|
2407
|
+
'412': "UnexpectedProblemResponse",
|
|
2408
|
+
'500': "UnexpectedProblemResponse",
|
|
2409
|
+
'503': "UnexpectedProblemResponse",
|
|
2410
|
+
}
|
|
2411
|
+
response_data = self.api_client.call_api(
|
|
2412
|
+
*_param,
|
|
2413
|
+
_request_timeout=_request_timeout
|
|
2414
|
+
)
|
|
2415
|
+
response_data.read()
|
|
2416
|
+
return self.api_client.response_deserialize(
|
|
2417
|
+
response_data=response_data,
|
|
2418
|
+
response_types_map=_response_types_map,
|
|
2419
|
+
).data
|
|
2420
|
+
|
|
2421
|
+
|
|
2422
|
+
@validate_call
|
|
2423
|
+
def query_meter_with_http_info(
|
|
2424
|
+
self,
|
|
2425
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
2426
|
+
client_id: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=36)]], Field(description="Client ID Useful to track progress of a query.")] = None,
|
|
2427
|
+
var_from: Annotated[Optional[datetime], Field(description="Start date-time in RFC 3339 format. Inclusive. For example: ?from=2025-01-01T00%3A00%3A00.000Z")] = None,
|
|
2428
|
+
to: Annotated[Optional[datetime], Field(description="End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z")] = None,
|
|
2429
|
+
window_size: Annotated[Optional[WindowSize], Field(description="If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. For example: ?windowSize=DAY")] = None,
|
|
2430
|
+
window_time_zone: Annotated[Optional[StrictStr], Field(description="The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones). If not specified, the UTC timezone will be used. For example: ?windowTimeZone=UTC")] = None,
|
|
2431
|
+
subject: Annotated[Optional[List[StrictStr]], Field(description="Filtering by multiple subjects. For example: ?subject=subject-1&subject=subject-2")] = None,
|
|
2432
|
+
filter_customer_id: Annotated[Optional[Annotated[List[StrictStr], Field(max_length=100)]], Field(description="Filtering by multiple customers. For example: ?filterCustomerId=customer-1&filterCustomerId=customer-2")] = None,
|
|
2433
|
+
filter_group_by: Annotated[Optional[Dict[str, Dict[str, StrictStr]]], Field(description="Simple filter for group bys with exact match. For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo")] = None,
|
|
2434
|
+
advanced_meter_group_by_filters: Annotated[Optional[Dict[str, FilterString]], Field(description="Optional advanced meter group by filters. You can use this to filter for values of the meter groupBy fields.")] = None,
|
|
2435
|
+
group_by: Annotated[Optional[List[StrictStr]], Field(description="If not specified a single aggregate will be returned for each subject and time window. `subject` is a reserved group by value. For example: ?groupBy=subject&groupBy=model")] = None,
|
|
2436
|
+
_request_timeout: Union[
|
|
2437
|
+
None,
|
|
2438
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2439
|
+
Tuple[
|
|
2440
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2441
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2442
|
+
]
|
|
2443
|
+
] = None,
|
|
2444
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2445
|
+
_content_type: Optional[StrictStr] = None,
|
|
2446
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2447
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2448
|
+
) -> ApiResponse[MeterQueryResult]:
|
|
2449
|
+
"""Query meter
|
|
2450
|
+
|
|
2451
|
+
Query meter for usage.
|
|
2452
|
+
|
|
2453
|
+
:param meter_id_or_slug: (required)
|
|
2454
|
+
:type meter_id_or_slug: str
|
|
2455
|
+
:param client_id: Client ID Useful to track progress of a query.
|
|
2456
|
+
:type client_id: str
|
|
2457
|
+
:param var_from: Start date-time in RFC 3339 format. Inclusive. For example: ?from=2025-01-01T00%3A00%3A00.000Z
|
|
2458
|
+
:type var_from: datetime
|
|
2459
|
+
:param to: End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z
|
|
2460
|
+
:type to: datetime
|
|
2461
|
+
:param window_size: If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. For example: ?windowSize=DAY
|
|
2462
|
+
:type window_size: WindowSize
|
|
2463
|
+
:param window_time_zone: The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones). If not specified, the UTC timezone will be used. For example: ?windowTimeZone=UTC
|
|
2464
|
+
:type window_time_zone: str
|
|
2465
|
+
:param subject: Filtering by multiple subjects. For example: ?subject=subject-1&subject=subject-2
|
|
2466
|
+
:type subject: List[str]
|
|
2467
|
+
:param filter_customer_id: Filtering by multiple customers. For example: ?filterCustomerId=customer-1&filterCustomerId=customer-2
|
|
2468
|
+
:type filter_customer_id: List[str]
|
|
2469
|
+
:param filter_group_by: Simple filter for group bys with exact match. For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo
|
|
2470
|
+
:type filter_group_by: Dict[str, str]
|
|
2471
|
+
:param advanced_meter_group_by_filters: Optional advanced meter group by filters. You can use this to filter for values of the meter groupBy fields.
|
|
2472
|
+
:type advanced_meter_group_by_filters: Dict[str, FilterString]
|
|
2473
|
+
:param group_by: If not specified a single aggregate will be returned for each subject and time window. `subject` is a reserved group by value. For example: ?groupBy=subject&groupBy=model
|
|
2474
|
+
:type group_by: List[str]
|
|
2475
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2476
|
+
number provided, it will be total request
|
|
2477
|
+
timeout. It can also be a pair (tuple) of
|
|
2478
|
+
(connection, read) timeouts.
|
|
2479
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2480
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2481
|
+
request; this effectively ignores the
|
|
2482
|
+
authentication in the spec for a single request.
|
|
2483
|
+
:type _request_auth: dict, optional
|
|
2484
|
+
:param _content_type: force content-type for the request.
|
|
2485
|
+
:type _content_type: str, Optional
|
|
2486
|
+
:param _headers: set to override the headers for a single
|
|
2487
|
+
request; this effectively ignores the headers
|
|
2488
|
+
in the spec for a single request.
|
|
2489
|
+
:type _headers: dict, optional
|
|
2490
|
+
:param _host_index: set to override the host_index for a single
|
|
2491
|
+
request; this effectively ignores the host_index
|
|
2492
|
+
in the spec for a single request.
|
|
2493
|
+
:type _host_index: int, optional
|
|
2494
|
+
:return: Returns the result object.
|
|
2495
|
+
""" # noqa: E501
|
|
2496
|
+
|
|
2497
|
+
_param = self._query_meter_serialize(
|
|
2498
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
2499
|
+
client_id=client_id,
|
|
2500
|
+
var_from=var_from,
|
|
2501
|
+
to=to,
|
|
2502
|
+
window_size=window_size,
|
|
2503
|
+
window_time_zone=window_time_zone,
|
|
2504
|
+
subject=subject,
|
|
2505
|
+
filter_customer_id=filter_customer_id,
|
|
2506
|
+
filter_group_by=filter_group_by,
|
|
2507
|
+
advanced_meter_group_by_filters=advanced_meter_group_by_filters,
|
|
2508
|
+
group_by=group_by,
|
|
2509
|
+
_request_auth=_request_auth,
|
|
2510
|
+
_content_type=_content_type,
|
|
2511
|
+
_headers=_headers,
|
|
2512
|
+
_host_index=_host_index
|
|
2513
|
+
)
|
|
2514
|
+
|
|
2515
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2516
|
+
'200': "MeterQueryResult",
|
|
2517
|
+
'400': "UnexpectedProblemResponse",
|
|
2518
|
+
'401': "UnexpectedProblemResponse",
|
|
2519
|
+
'403': "UnexpectedProblemResponse",
|
|
2520
|
+
'404': "UnexpectedProblemResponse",
|
|
2521
|
+
'412': "UnexpectedProblemResponse",
|
|
2522
|
+
'500': "UnexpectedProblemResponse",
|
|
2523
|
+
'503': "UnexpectedProblemResponse",
|
|
2524
|
+
}
|
|
2525
|
+
response_data = self.api_client.call_api(
|
|
2526
|
+
*_param,
|
|
2527
|
+
_request_timeout=_request_timeout
|
|
2528
|
+
)
|
|
2529
|
+
response_data.read()
|
|
2530
|
+
return self.api_client.response_deserialize(
|
|
2531
|
+
response_data=response_data,
|
|
2532
|
+
response_types_map=_response_types_map,
|
|
2533
|
+
)
|
|
2534
|
+
|
|
2535
|
+
|
|
2536
|
+
@validate_call
|
|
2537
|
+
def query_meter_without_preload_content(
|
|
2538
|
+
self,
|
|
2539
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
2540
|
+
client_id: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=36)]], Field(description="Client ID Useful to track progress of a query.")] = None,
|
|
2541
|
+
var_from: Annotated[Optional[datetime], Field(description="Start date-time in RFC 3339 format. Inclusive. For example: ?from=2025-01-01T00%3A00%3A00.000Z")] = None,
|
|
2542
|
+
to: Annotated[Optional[datetime], Field(description="End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z")] = None,
|
|
2543
|
+
window_size: Annotated[Optional[WindowSize], Field(description="If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. For example: ?windowSize=DAY")] = None,
|
|
2544
|
+
window_time_zone: Annotated[Optional[StrictStr], Field(description="The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones). If not specified, the UTC timezone will be used. For example: ?windowTimeZone=UTC")] = None,
|
|
2545
|
+
subject: Annotated[Optional[List[StrictStr]], Field(description="Filtering by multiple subjects. For example: ?subject=subject-1&subject=subject-2")] = None,
|
|
2546
|
+
filter_customer_id: Annotated[Optional[Annotated[List[StrictStr], Field(max_length=100)]], Field(description="Filtering by multiple customers. For example: ?filterCustomerId=customer-1&filterCustomerId=customer-2")] = None,
|
|
2547
|
+
filter_group_by: Annotated[Optional[Dict[str, Dict[str, StrictStr]]], Field(description="Simple filter for group bys with exact match. For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo")] = None,
|
|
2548
|
+
advanced_meter_group_by_filters: Annotated[Optional[Dict[str, FilterString]], Field(description="Optional advanced meter group by filters. You can use this to filter for values of the meter groupBy fields.")] = None,
|
|
2549
|
+
group_by: Annotated[Optional[List[StrictStr]], Field(description="If not specified a single aggregate will be returned for each subject and time window. `subject` is a reserved group by value. For example: ?groupBy=subject&groupBy=model")] = None,
|
|
2550
|
+
_request_timeout: Union[
|
|
2551
|
+
None,
|
|
2552
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2553
|
+
Tuple[
|
|
2554
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2555
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2556
|
+
]
|
|
2557
|
+
] = None,
|
|
2558
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2559
|
+
_content_type: Optional[StrictStr] = None,
|
|
2560
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2561
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2562
|
+
) -> RESTResponseType:
|
|
2563
|
+
"""Query meter
|
|
2564
|
+
|
|
2565
|
+
Query meter for usage.
|
|
2566
|
+
|
|
2567
|
+
:param meter_id_or_slug: (required)
|
|
2568
|
+
:type meter_id_or_slug: str
|
|
2569
|
+
:param client_id: Client ID Useful to track progress of a query.
|
|
2570
|
+
:type client_id: str
|
|
2571
|
+
:param var_from: Start date-time in RFC 3339 format. Inclusive. For example: ?from=2025-01-01T00%3A00%3A00.000Z
|
|
2572
|
+
:type var_from: datetime
|
|
2573
|
+
:param to: End date-time in RFC 3339 format. Inclusive. For example: ?to=2025-02-01T00%3A00%3A00.000Z
|
|
2574
|
+
:type to: datetime
|
|
2575
|
+
:param window_size: If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. For example: ?windowSize=DAY
|
|
2576
|
+
:type window_size: WindowSize
|
|
2577
|
+
:param window_time_zone: The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones). If not specified, the UTC timezone will be used. For example: ?windowTimeZone=UTC
|
|
2578
|
+
:type window_time_zone: str
|
|
2579
|
+
:param subject: Filtering by multiple subjects. For example: ?subject=subject-1&subject=subject-2
|
|
2580
|
+
:type subject: List[str]
|
|
2581
|
+
:param filter_customer_id: Filtering by multiple customers. For example: ?filterCustomerId=customer-1&filterCustomerId=customer-2
|
|
2582
|
+
:type filter_customer_id: List[str]
|
|
2583
|
+
:param filter_group_by: Simple filter for group bys with exact match. For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo
|
|
2584
|
+
:type filter_group_by: Dict[str, str]
|
|
2585
|
+
:param advanced_meter_group_by_filters: Optional advanced meter group by filters. You can use this to filter for values of the meter groupBy fields.
|
|
2586
|
+
:type advanced_meter_group_by_filters: Dict[str, FilterString]
|
|
2587
|
+
:param group_by: If not specified a single aggregate will be returned for each subject and time window. `subject` is a reserved group by value. For example: ?groupBy=subject&groupBy=model
|
|
2588
|
+
:type group_by: List[str]
|
|
2589
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2590
|
+
number provided, it will be total request
|
|
2591
|
+
timeout. It can also be a pair (tuple) of
|
|
2592
|
+
(connection, read) timeouts.
|
|
2593
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2594
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2595
|
+
request; this effectively ignores the
|
|
2596
|
+
authentication in the spec for a single request.
|
|
2597
|
+
:type _request_auth: dict, optional
|
|
2598
|
+
:param _content_type: force content-type for the request.
|
|
2599
|
+
:type _content_type: str, Optional
|
|
2600
|
+
:param _headers: set to override the headers for a single
|
|
2601
|
+
request; this effectively ignores the headers
|
|
2602
|
+
in the spec for a single request.
|
|
2603
|
+
:type _headers: dict, optional
|
|
2604
|
+
:param _host_index: set to override the host_index for a single
|
|
2605
|
+
request; this effectively ignores the host_index
|
|
2606
|
+
in the spec for a single request.
|
|
2607
|
+
:type _host_index: int, optional
|
|
2608
|
+
:return: Returns the result object.
|
|
2609
|
+
""" # noqa: E501
|
|
2610
|
+
|
|
2611
|
+
_param = self._query_meter_serialize(
|
|
2612
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
2613
|
+
client_id=client_id,
|
|
2614
|
+
var_from=var_from,
|
|
2615
|
+
to=to,
|
|
2616
|
+
window_size=window_size,
|
|
2617
|
+
window_time_zone=window_time_zone,
|
|
2618
|
+
subject=subject,
|
|
2619
|
+
filter_customer_id=filter_customer_id,
|
|
2620
|
+
filter_group_by=filter_group_by,
|
|
2621
|
+
advanced_meter_group_by_filters=advanced_meter_group_by_filters,
|
|
2622
|
+
group_by=group_by,
|
|
2623
|
+
_request_auth=_request_auth,
|
|
2624
|
+
_content_type=_content_type,
|
|
2625
|
+
_headers=_headers,
|
|
2626
|
+
_host_index=_host_index
|
|
2627
|
+
)
|
|
2628
|
+
|
|
2629
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2630
|
+
'200': "MeterQueryResult",
|
|
2631
|
+
'400': "UnexpectedProblemResponse",
|
|
2632
|
+
'401': "UnexpectedProblemResponse",
|
|
2633
|
+
'403': "UnexpectedProblemResponse",
|
|
2634
|
+
'404': "UnexpectedProblemResponse",
|
|
2635
|
+
'412': "UnexpectedProblemResponse",
|
|
2636
|
+
'500': "UnexpectedProblemResponse",
|
|
2637
|
+
'503': "UnexpectedProblemResponse",
|
|
2638
|
+
}
|
|
2639
|
+
response_data = self.api_client.call_api(
|
|
2640
|
+
*_param,
|
|
2641
|
+
_request_timeout=_request_timeout
|
|
2642
|
+
)
|
|
2643
|
+
return response_data.response
|
|
2644
|
+
|
|
2645
|
+
|
|
2646
|
+
def _query_meter_serialize(
|
|
2647
|
+
self,
|
|
2648
|
+
meter_id_or_slug,
|
|
2649
|
+
client_id,
|
|
2650
|
+
var_from,
|
|
2651
|
+
to,
|
|
2652
|
+
window_size,
|
|
2653
|
+
window_time_zone,
|
|
2654
|
+
subject,
|
|
2655
|
+
filter_customer_id,
|
|
2656
|
+
filter_group_by,
|
|
2657
|
+
advanced_meter_group_by_filters,
|
|
2658
|
+
group_by,
|
|
2659
|
+
_request_auth,
|
|
2660
|
+
_content_type,
|
|
2661
|
+
_headers,
|
|
2662
|
+
_host_index,
|
|
2663
|
+
) -> RequestSerialized:
|
|
2664
|
+
|
|
2665
|
+
_host = None
|
|
2666
|
+
|
|
2667
|
+
_collection_formats: Dict[str, str] = {
|
|
2668
|
+
'subject': 'multi',
|
|
2669
|
+
'filterCustomerId': 'multi',
|
|
2670
|
+
'groupBy': 'multi',
|
|
2671
|
+
}
|
|
2672
|
+
|
|
2673
|
+
_path_params: Dict[str, str] = {}
|
|
2674
|
+
_query_params: List[Tuple[str, str]] = []
|
|
2675
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
2676
|
+
_form_params: List[Tuple[str, str]] = []
|
|
2677
|
+
_files: Dict[
|
|
2678
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
2679
|
+
] = {}
|
|
2680
|
+
_body_params: Optional[bytes] = None
|
|
2681
|
+
|
|
2682
|
+
# process the path parameters
|
|
2683
|
+
if meter_id_or_slug is not None:
|
|
2684
|
+
_path_params['meterIdOrSlug'] = meter_id_or_slug
|
|
2685
|
+
# process the query parameters
|
|
2686
|
+
if client_id is not None:
|
|
2687
|
+
|
|
2688
|
+
_query_params.append(('clientId', client_id))
|
|
2689
|
+
|
|
2690
|
+
if var_from is not None:
|
|
2691
|
+
if isinstance(var_from, datetime):
|
|
2692
|
+
_query_params.append(
|
|
2693
|
+
(
|
|
2694
|
+
'from',
|
|
2695
|
+
var_from.strftime(
|
|
2696
|
+
self.api_client.configuration.datetime_format
|
|
2697
|
+
)
|
|
2698
|
+
)
|
|
2699
|
+
)
|
|
2700
|
+
else:
|
|
2701
|
+
_query_params.append(('from', var_from))
|
|
2702
|
+
|
|
2703
|
+
if to is not None:
|
|
2704
|
+
if isinstance(to, datetime):
|
|
2705
|
+
_query_params.append(
|
|
2706
|
+
(
|
|
2707
|
+
'to',
|
|
2708
|
+
to.strftime(
|
|
2709
|
+
self.api_client.configuration.datetime_format
|
|
2710
|
+
)
|
|
2711
|
+
)
|
|
2712
|
+
)
|
|
2713
|
+
else:
|
|
2714
|
+
_query_params.append(('to', to))
|
|
2715
|
+
|
|
2716
|
+
if window_size is not None:
|
|
2717
|
+
|
|
2718
|
+
_query_params.append(('windowSize', window_size.value))
|
|
2719
|
+
|
|
2720
|
+
if window_time_zone is not None:
|
|
2721
|
+
|
|
2722
|
+
_query_params.append(('windowTimeZone', window_time_zone))
|
|
2723
|
+
|
|
2724
|
+
if subject is not None:
|
|
2725
|
+
|
|
2726
|
+
_query_params.append(('subject', subject))
|
|
2727
|
+
|
|
2728
|
+
if filter_customer_id is not None:
|
|
2729
|
+
|
|
2730
|
+
_query_params.append(('filterCustomerId', filter_customer_id))
|
|
2731
|
+
|
|
2732
|
+
if filter_group_by is not None:
|
|
2733
|
+
|
|
2734
|
+
_query_params.append(('filterGroupBy', filter_group_by))
|
|
2735
|
+
|
|
2736
|
+
if advanced_meter_group_by_filters is not None:
|
|
2737
|
+
|
|
2738
|
+
_query_params.append(('advancedMeterGroupByFilters', advanced_meter_group_by_filters))
|
|
2739
|
+
|
|
2740
|
+
if group_by is not None:
|
|
2741
|
+
|
|
2742
|
+
_query_params.append(('groupBy', group_by))
|
|
2743
|
+
|
|
2744
|
+
# process the header parameters
|
|
2745
|
+
# process the form parameters
|
|
2746
|
+
# process the body parameter
|
|
2747
|
+
|
|
2748
|
+
|
|
2749
|
+
# set the HTTP header `Accept`
|
|
2750
|
+
if 'Accept' not in _header_params:
|
|
2751
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
2752
|
+
[
|
|
2753
|
+
'application/json',
|
|
2754
|
+
'text/csv',
|
|
2755
|
+
'application/problem+json'
|
|
2756
|
+
]
|
|
2757
|
+
)
|
|
2758
|
+
|
|
2759
|
+
|
|
2760
|
+
# authentication setting
|
|
2761
|
+
_auth_settings: List[str] = [
|
|
2762
|
+
'CloudTokenAuth'
|
|
2763
|
+
]
|
|
2764
|
+
|
|
2765
|
+
return self.api_client.param_serialize(
|
|
2766
|
+
method='GET',
|
|
2767
|
+
resource_path='/api/v1/meters/{meterIdOrSlug}/query',
|
|
2768
|
+
path_params=_path_params,
|
|
2769
|
+
query_params=_query_params,
|
|
2770
|
+
header_params=_header_params,
|
|
2771
|
+
body=_body_params,
|
|
2772
|
+
post_params=_form_params,
|
|
2773
|
+
files=_files,
|
|
2774
|
+
auth_settings=_auth_settings,
|
|
2775
|
+
collection_formats=_collection_formats,
|
|
2776
|
+
_host=_host,
|
|
2777
|
+
_request_auth=_request_auth
|
|
2778
|
+
)
|
|
2779
|
+
|
|
2780
|
+
|
|
2781
|
+
|
|
2782
|
+
|
|
2783
|
+
@validate_call
|
|
2784
|
+
def query_meter_post(
|
|
2785
|
+
self,
|
|
2786
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
2787
|
+
meter_query_request: MeterQueryRequest,
|
|
2788
|
+
_request_timeout: Union[
|
|
2789
|
+
None,
|
|
2790
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2791
|
+
Tuple[
|
|
2792
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2793
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2794
|
+
]
|
|
2795
|
+
] = None,
|
|
2796
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2797
|
+
_content_type: Optional[StrictStr] = None,
|
|
2798
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2799
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2800
|
+
) -> MeterQueryResult:
|
|
2801
|
+
"""Query meter
|
|
2802
|
+
|
|
2803
|
+
|
|
2804
|
+
:param meter_id_or_slug: (required)
|
|
2805
|
+
:type meter_id_or_slug: str
|
|
2806
|
+
:param meter_query_request: (required)
|
|
2807
|
+
:type meter_query_request: MeterQueryRequest
|
|
2808
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2809
|
+
number provided, it will be total request
|
|
2810
|
+
timeout. It can also be a pair (tuple) of
|
|
2811
|
+
(connection, read) timeouts.
|
|
2812
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2813
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2814
|
+
request; this effectively ignores the
|
|
2815
|
+
authentication in the spec for a single request.
|
|
2816
|
+
:type _request_auth: dict, optional
|
|
2817
|
+
:param _content_type: force content-type for the request.
|
|
2818
|
+
:type _content_type: str, Optional
|
|
2819
|
+
:param _headers: set to override the headers for a single
|
|
2820
|
+
request; this effectively ignores the headers
|
|
2821
|
+
in the spec for a single request.
|
|
2822
|
+
:type _headers: dict, optional
|
|
2823
|
+
:param _host_index: set to override the host_index for a single
|
|
2824
|
+
request; this effectively ignores the host_index
|
|
2825
|
+
in the spec for a single request.
|
|
2826
|
+
:type _host_index: int, optional
|
|
2827
|
+
:return: Returns the result object.
|
|
2828
|
+
""" # noqa: E501
|
|
2829
|
+
|
|
2830
|
+
_param = self._query_meter_post_serialize(
|
|
2831
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
2832
|
+
meter_query_request=meter_query_request,
|
|
2833
|
+
_request_auth=_request_auth,
|
|
2834
|
+
_content_type=_content_type,
|
|
2835
|
+
_headers=_headers,
|
|
2836
|
+
_host_index=_host_index
|
|
2837
|
+
)
|
|
2838
|
+
|
|
2839
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2840
|
+
'200': "MeterQueryResult",
|
|
2841
|
+
'400': "UnexpectedProblemResponse",
|
|
2842
|
+
'401': "UnexpectedProblemResponse",
|
|
2843
|
+
'403': "UnexpectedProblemResponse",
|
|
2844
|
+
'404': "UnexpectedProblemResponse",
|
|
2845
|
+
'412': "UnexpectedProblemResponse",
|
|
2846
|
+
'500': "UnexpectedProblemResponse",
|
|
2847
|
+
'503': "UnexpectedProblemResponse",
|
|
2848
|
+
}
|
|
2849
|
+
response_data = self.api_client.call_api(
|
|
2850
|
+
*_param,
|
|
2851
|
+
_request_timeout=_request_timeout
|
|
2852
|
+
)
|
|
2853
|
+
response_data.read()
|
|
2854
|
+
return self.api_client.response_deserialize(
|
|
2855
|
+
response_data=response_data,
|
|
2856
|
+
response_types_map=_response_types_map,
|
|
2857
|
+
).data
|
|
2858
|
+
|
|
2859
|
+
|
|
2860
|
+
@validate_call
|
|
2861
|
+
def query_meter_post_with_http_info(
|
|
2862
|
+
self,
|
|
2863
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
2864
|
+
meter_query_request: MeterQueryRequest,
|
|
2865
|
+
_request_timeout: Union[
|
|
2866
|
+
None,
|
|
2867
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2868
|
+
Tuple[
|
|
2869
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2870
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2871
|
+
]
|
|
2872
|
+
] = None,
|
|
2873
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2874
|
+
_content_type: Optional[StrictStr] = None,
|
|
2875
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2876
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2877
|
+
) -> ApiResponse[MeterQueryResult]:
|
|
2878
|
+
"""Query meter
|
|
2879
|
+
|
|
2880
|
+
|
|
2881
|
+
:param meter_id_or_slug: (required)
|
|
2882
|
+
:type meter_id_or_slug: str
|
|
2883
|
+
:param meter_query_request: (required)
|
|
2884
|
+
:type meter_query_request: MeterQueryRequest
|
|
2885
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2886
|
+
number provided, it will be total request
|
|
2887
|
+
timeout. It can also be a pair (tuple) of
|
|
2888
|
+
(connection, read) timeouts.
|
|
2889
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2890
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2891
|
+
request; this effectively ignores the
|
|
2892
|
+
authentication in the spec for a single request.
|
|
2893
|
+
:type _request_auth: dict, optional
|
|
2894
|
+
:param _content_type: force content-type for the request.
|
|
2895
|
+
:type _content_type: str, Optional
|
|
2896
|
+
:param _headers: set to override the headers for a single
|
|
2897
|
+
request; this effectively ignores the headers
|
|
2898
|
+
in the spec for a single request.
|
|
2899
|
+
:type _headers: dict, optional
|
|
2900
|
+
:param _host_index: set to override the host_index for a single
|
|
2901
|
+
request; this effectively ignores the host_index
|
|
2902
|
+
in the spec for a single request.
|
|
2903
|
+
:type _host_index: int, optional
|
|
2904
|
+
:return: Returns the result object.
|
|
2905
|
+
""" # noqa: E501
|
|
2906
|
+
|
|
2907
|
+
_param = self._query_meter_post_serialize(
|
|
2908
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
2909
|
+
meter_query_request=meter_query_request,
|
|
2910
|
+
_request_auth=_request_auth,
|
|
2911
|
+
_content_type=_content_type,
|
|
2912
|
+
_headers=_headers,
|
|
2913
|
+
_host_index=_host_index
|
|
2914
|
+
)
|
|
2915
|
+
|
|
2916
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2917
|
+
'200': "MeterQueryResult",
|
|
2918
|
+
'400': "UnexpectedProblemResponse",
|
|
2919
|
+
'401': "UnexpectedProblemResponse",
|
|
2920
|
+
'403': "UnexpectedProblemResponse",
|
|
2921
|
+
'404': "UnexpectedProblemResponse",
|
|
2922
|
+
'412': "UnexpectedProblemResponse",
|
|
2923
|
+
'500': "UnexpectedProblemResponse",
|
|
2924
|
+
'503': "UnexpectedProblemResponse",
|
|
2925
|
+
}
|
|
2926
|
+
response_data = self.api_client.call_api(
|
|
2927
|
+
*_param,
|
|
2928
|
+
_request_timeout=_request_timeout
|
|
2929
|
+
)
|
|
2930
|
+
response_data.read()
|
|
2931
|
+
return self.api_client.response_deserialize(
|
|
2932
|
+
response_data=response_data,
|
|
2933
|
+
response_types_map=_response_types_map,
|
|
2934
|
+
)
|
|
2935
|
+
|
|
2936
|
+
|
|
2937
|
+
@validate_call
|
|
2938
|
+
def query_meter_post_without_preload_content(
|
|
2939
|
+
self,
|
|
2940
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
2941
|
+
meter_query_request: MeterQueryRequest,
|
|
2942
|
+
_request_timeout: Union[
|
|
2943
|
+
None,
|
|
2944
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2945
|
+
Tuple[
|
|
2946
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2947
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2948
|
+
]
|
|
2949
|
+
] = None,
|
|
2950
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2951
|
+
_content_type: Optional[StrictStr] = None,
|
|
2952
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2953
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
2954
|
+
) -> RESTResponseType:
|
|
2955
|
+
"""Query meter
|
|
2956
|
+
|
|
2957
|
+
|
|
2958
|
+
:param meter_id_or_slug: (required)
|
|
2959
|
+
:type meter_id_or_slug: str
|
|
2960
|
+
:param meter_query_request: (required)
|
|
2961
|
+
:type meter_query_request: MeterQueryRequest
|
|
2962
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2963
|
+
number provided, it will be total request
|
|
2964
|
+
timeout. It can also be a pair (tuple) of
|
|
2965
|
+
(connection, read) timeouts.
|
|
2966
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2967
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2968
|
+
request; this effectively ignores the
|
|
2969
|
+
authentication in the spec for a single request.
|
|
2970
|
+
:type _request_auth: dict, optional
|
|
2971
|
+
:param _content_type: force content-type for the request.
|
|
2972
|
+
:type _content_type: str, Optional
|
|
2973
|
+
:param _headers: set to override the headers for a single
|
|
2974
|
+
request; this effectively ignores the headers
|
|
2975
|
+
in the spec for a single request.
|
|
2976
|
+
:type _headers: dict, optional
|
|
2977
|
+
:param _host_index: set to override the host_index for a single
|
|
2978
|
+
request; this effectively ignores the host_index
|
|
2979
|
+
in the spec for a single request.
|
|
2980
|
+
:type _host_index: int, optional
|
|
2981
|
+
:return: Returns the result object.
|
|
2982
|
+
""" # noqa: E501
|
|
2983
|
+
|
|
2984
|
+
_param = self._query_meter_post_serialize(
|
|
2985
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
2986
|
+
meter_query_request=meter_query_request,
|
|
2987
|
+
_request_auth=_request_auth,
|
|
2988
|
+
_content_type=_content_type,
|
|
2989
|
+
_headers=_headers,
|
|
2990
|
+
_host_index=_host_index
|
|
2991
|
+
)
|
|
2992
|
+
|
|
2993
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2994
|
+
'200': "MeterQueryResult",
|
|
2995
|
+
'400': "UnexpectedProblemResponse",
|
|
2996
|
+
'401': "UnexpectedProblemResponse",
|
|
2997
|
+
'403': "UnexpectedProblemResponse",
|
|
2998
|
+
'404': "UnexpectedProblemResponse",
|
|
2999
|
+
'412': "UnexpectedProblemResponse",
|
|
3000
|
+
'500': "UnexpectedProblemResponse",
|
|
3001
|
+
'503': "UnexpectedProblemResponse",
|
|
3002
|
+
}
|
|
3003
|
+
response_data = self.api_client.call_api(
|
|
3004
|
+
*_param,
|
|
3005
|
+
_request_timeout=_request_timeout
|
|
3006
|
+
)
|
|
3007
|
+
return response_data.response
|
|
3008
|
+
|
|
3009
|
+
|
|
3010
|
+
def _query_meter_post_serialize(
|
|
3011
|
+
self,
|
|
3012
|
+
meter_id_or_slug,
|
|
3013
|
+
meter_query_request,
|
|
3014
|
+
_request_auth,
|
|
3015
|
+
_content_type,
|
|
3016
|
+
_headers,
|
|
3017
|
+
_host_index,
|
|
3018
|
+
) -> RequestSerialized:
|
|
3019
|
+
|
|
3020
|
+
_host = None
|
|
3021
|
+
|
|
3022
|
+
_collection_formats: Dict[str, str] = {
|
|
3023
|
+
}
|
|
3024
|
+
|
|
3025
|
+
_path_params: Dict[str, str] = {}
|
|
3026
|
+
_query_params: List[Tuple[str, str]] = []
|
|
3027
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
3028
|
+
_form_params: List[Tuple[str, str]] = []
|
|
3029
|
+
_files: Dict[
|
|
3030
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
3031
|
+
] = {}
|
|
3032
|
+
_body_params: Optional[bytes] = None
|
|
3033
|
+
|
|
3034
|
+
# process the path parameters
|
|
3035
|
+
if meter_id_or_slug is not None:
|
|
3036
|
+
_path_params['meterIdOrSlug'] = meter_id_or_slug
|
|
3037
|
+
# process the query parameters
|
|
3038
|
+
# process the header parameters
|
|
3039
|
+
# process the form parameters
|
|
3040
|
+
# process the body parameter
|
|
3041
|
+
if meter_query_request is not None:
|
|
3042
|
+
_body_params = meter_query_request
|
|
3043
|
+
|
|
3044
|
+
|
|
3045
|
+
# set the HTTP header `Accept`
|
|
3046
|
+
if 'Accept' not in _header_params:
|
|
3047
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
3048
|
+
[
|
|
3049
|
+
'application/json',
|
|
3050
|
+
'application/problem+json'
|
|
3051
|
+
]
|
|
3052
|
+
)
|
|
3053
|
+
|
|
3054
|
+
# set the HTTP header `Content-Type`
|
|
3055
|
+
if _content_type:
|
|
3056
|
+
_header_params['Content-Type'] = _content_type
|
|
3057
|
+
else:
|
|
3058
|
+
_default_content_type = (
|
|
3059
|
+
self.api_client.select_header_content_type(
|
|
3060
|
+
[
|
|
3061
|
+
'application/json'
|
|
3062
|
+
]
|
|
3063
|
+
)
|
|
3064
|
+
)
|
|
3065
|
+
if _default_content_type is not None:
|
|
3066
|
+
_header_params['Content-Type'] = _default_content_type
|
|
3067
|
+
|
|
3068
|
+
# authentication setting
|
|
3069
|
+
_auth_settings: List[str] = [
|
|
3070
|
+
'CloudTokenAuth'
|
|
3071
|
+
]
|
|
3072
|
+
|
|
3073
|
+
return self.api_client.param_serialize(
|
|
3074
|
+
method='POST',
|
|
3075
|
+
resource_path='/api/v1/meters/{meterIdOrSlug}/query',
|
|
3076
|
+
path_params=_path_params,
|
|
3077
|
+
query_params=_query_params,
|
|
3078
|
+
header_params=_header_params,
|
|
3079
|
+
body=_body_params,
|
|
3080
|
+
post_params=_form_params,
|
|
3081
|
+
files=_files,
|
|
3082
|
+
auth_settings=_auth_settings,
|
|
3083
|
+
collection_formats=_collection_formats,
|
|
3084
|
+
_host=_host,
|
|
3085
|
+
_request_auth=_request_auth
|
|
3086
|
+
)
|
|
3087
|
+
|
|
3088
|
+
|
|
3089
|
+
|
|
3090
|
+
|
|
3091
|
+
@validate_call
|
|
3092
|
+
def test_meter_event(
|
|
3093
|
+
self,
|
|
3094
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
3095
|
+
meter_test_event_request: MeterTestEventRequest,
|
|
3096
|
+
_request_timeout: Union[
|
|
3097
|
+
None,
|
|
3098
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3099
|
+
Tuple[
|
|
3100
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3101
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3102
|
+
]
|
|
3103
|
+
] = None,
|
|
3104
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3105
|
+
_content_type: Optional[StrictStr] = None,
|
|
3106
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3107
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3108
|
+
) -> MeterTestEventResponse:
|
|
3109
|
+
"""Validate a sample event payload against the meter
|
|
3110
|
+
|
|
3111
|
+
Validate a sample event payload against the meter.
|
|
3112
|
+
|
|
3113
|
+
:param meter_id_or_slug: (required)
|
|
3114
|
+
:type meter_id_or_slug: str
|
|
3115
|
+
:param meter_test_event_request: (required)
|
|
3116
|
+
:type meter_test_event_request: MeterTestEventRequest
|
|
3117
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3118
|
+
number provided, it will be total request
|
|
3119
|
+
timeout. It can also be a pair (tuple) of
|
|
3120
|
+
(connection, read) timeouts.
|
|
3121
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3122
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3123
|
+
request; this effectively ignores the
|
|
3124
|
+
authentication in the spec for a single request.
|
|
3125
|
+
:type _request_auth: dict, optional
|
|
3126
|
+
:param _content_type: force content-type for the request.
|
|
3127
|
+
:type _content_type: str, Optional
|
|
3128
|
+
:param _headers: set to override the headers for a single
|
|
3129
|
+
request; this effectively ignores the headers
|
|
3130
|
+
in the spec for a single request.
|
|
3131
|
+
:type _headers: dict, optional
|
|
3132
|
+
:param _host_index: set to override the host_index for a single
|
|
3133
|
+
request; this effectively ignores the host_index
|
|
3134
|
+
in the spec for a single request.
|
|
3135
|
+
:type _host_index: int, optional
|
|
3136
|
+
:return: Returns the result object.
|
|
3137
|
+
""" # noqa: E501
|
|
3138
|
+
|
|
3139
|
+
_param = self._test_meter_event_serialize(
|
|
3140
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
3141
|
+
meter_test_event_request=meter_test_event_request,
|
|
3142
|
+
_request_auth=_request_auth,
|
|
3143
|
+
_content_type=_content_type,
|
|
3144
|
+
_headers=_headers,
|
|
3145
|
+
_host_index=_host_index
|
|
3146
|
+
)
|
|
3147
|
+
|
|
3148
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3149
|
+
'200': "MeterTestEventResponse",
|
|
3150
|
+
'400': "UnexpectedProblemResponse",
|
|
3151
|
+
'401': "UnexpectedProblemResponse",
|
|
3152
|
+
'403': "UnexpectedProblemResponse",
|
|
3153
|
+
'404': "UnexpectedProblemResponse",
|
|
3154
|
+
'412': "UnexpectedProblemResponse",
|
|
3155
|
+
'500': "UnexpectedProblemResponse",
|
|
3156
|
+
'503': "UnexpectedProblemResponse",
|
|
3157
|
+
}
|
|
3158
|
+
response_data = self.api_client.call_api(
|
|
3159
|
+
*_param,
|
|
3160
|
+
_request_timeout=_request_timeout
|
|
3161
|
+
)
|
|
3162
|
+
response_data.read()
|
|
3163
|
+
return self.api_client.response_deserialize(
|
|
3164
|
+
response_data=response_data,
|
|
3165
|
+
response_types_map=_response_types_map,
|
|
3166
|
+
).data
|
|
3167
|
+
|
|
3168
|
+
|
|
3169
|
+
@validate_call
|
|
3170
|
+
def test_meter_event_with_http_info(
|
|
3171
|
+
self,
|
|
3172
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
3173
|
+
meter_test_event_request: MeterTestEventRequest,
|
|
3174
|
+
_request_timeout: Union[
|
|
3175
|
+
None,
|
|
3176
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3177
|
+
Tuple[
|
|
3178
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3179
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3180
|
+
]
|
|
3181
|
+
] = None,
|
|
3182
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3183
|
+
_content_type: Optional[StrictStr] = None,
|
|
3184
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3185
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3186
|
+
) -> ApiResponse[MeterTestEventResponse]:
|
|
3187
|
+
"""Validate a sample event payload against the meter
|
|
3188
|
+
|
|
3189
|
+
Validate a sample event payload against the meter.
|
|
3190
|
+
|
|
3191
|
+
:param meter_id_or_slug: (required)
|
|
3192
|
+
:type meter_id_or_slug: str
|
|
3193
|
+
:param meter_test_event_request: (required)
|
|
3194
|
+
:type meter_test_event_request: MeterTestEventRequest
|
|
3195
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3196
|
+
number provided, it will be total request
|
|
3197
|
+
timeout. It can also be a pair (tuple) of
|
|
3198
|
+
(connection, read) timeouts.
|
|
3199
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3200
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3201
|
+
request; this effectively ignores the
|
|
3202
|
+
authentication in the spec for a single request.
|
|
3203
|
+
:type _request_auth: dict, optional
|
|
3204
|
+
:param _content_type: force content-type for the request.
|
|
3205
|
+
:type _content_type: str, Optional
|
|
3206
|
+
:param _headers: set to override the headers for a single
|
|
3207
|
+
request; this effectively ignores the headers
|
|
3208
|
+
in the spec for a single request.
|
|
3209
|
+
:type _headers: dict, optional
|
|
3210
|
+
:param _host_index: set to override the host_index for a single
|
|
3211
|
+
request; this effectively ignores the host_index
|
|
3212
|
+
in the spec for a single request.
|
|
3213
|
+
:type _host_index: int, optional
|
|
3214
|
+
:return: Returns the result object.
|
|
3215
|
+
""" # noqa: E501
|
|
3216
|
+
|
|
3217
|
+
_param = self._test_meter_event_serialize(
|
|
3218
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
3219
|
+
meter_test_event_request=meter_test_event_request,
|
|
3220
|
+
_request_auth=_request_auth,
|
|
3221
|
+
_content_type=_content_type,
|
|
3222
|
+
_headers=_headers,
|
|
3223
|
+
_host_index=_host_index
|
|
3224
|
+
)
|
|
3225
|
+
|
|
3226
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3227
|
+
'200': "MeterTestEventResponse",
|
|
3228
|
+
'400': "UnexpectedProblemResponse",
|
|
3229
|
+
'401': "UnexpectedProblemResponse",
|
|
3230
|
+
'403': "UnexpectedProblemResponse",
|
|
3231
|
+
'404': "UnexpectedProblemResponse",
|
|
3232
|
+
'412': "UnexpectedProblemResponse",
|
|
3233
|
+
'500': "UnexpectedProblemResponse",
|
|
3234
|
+
'503': "UnexpectedProblemResponse",
|
|
3235
|
+
}
|
|
3236
|
+
response_data = self.api_client.call_api(
|
|
3237
|
+
*_param,
|
|
3238
|
+
_request_timeout=_request_timeout
|
|
3239
|
+
)
|
|
3240
|
+
response_data.read()
|
|
3241
|
+
return self.api_client.response_deserialize(
|
|
3242
|
+
response_data=response_data,
|
|
3243
|
+
response_types_map=_response_types_map,
|
|
3244
|
+
)
|
|
3245
|
+
|
|
3246
|
+
|
|
3247
|
+
@validate_call
|
|
3248
|
+
def test_meter_event_without_preload_content(
|
|
3249
|
+
self,
|
|
3250
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
3251
|
+
meter_test_event_request: MeterTestEventRequest,
|
|
3252
|
+
_request_timeout: Union[
|
|
3253
|
+
None,
|
|
3254
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3255
|
+
Tuple[
|
|
3256
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3257
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3258
|
+
]
|
|
3259
|
+
] = None,
|
|
3260
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3261
|
+
_content_type: Optional[StrictStr] = None,
|
|
3262
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3263
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3264
|
+
) -> RESTResponseType:
|
|
3265
|
+
"""Validate a sample event payload against the meter
|
|
3266
|
+
|
|
3267
|
+
Validate a sample event payload against the meter.
|
|
3268
|
+
|
|
3269
|
+
:param meter_id_or_slug: (required)
|
|
3270
|
+
:type meter_id_or_slug: str
|
|
3271
|
+
:param meter_test_event_request: (required)
|
|
3272
|
+
:type meter_test_event_request: MeterTestEventRequest
|
|
3273
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3274
|
+
number provided, it will be total request
|
|
3275
|
+
timeout. It can also be a pair (tuple) of
|
|
3276
|
+
(connection, read) timeouts.
|
|
3277
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3278
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3279
|
+
request; this effectively ignores the
|
|
3280
|
+
authentication in the spec for a single request.
|
|
3281
|
+
:type _request_auth: dict, optional
|
|
3282
|
+
:param _content_type: force content-type for the request.
|
|
3283
|
+
:type _content_type: str, Optional
|
|
3284
|
+
:param _headers: set to override the headers for a single
|
|
3285
|
+
request; this effectively ignores the headers
|
|
3286
|
+
in the spec for a single request.
|
|
3287
|
+
:type _headers: dict, optional
|
|
3288
|
+
:param _host_index: set to override the host_index for a single
|
|
3289
|
+
request; this effectively ignores the host_index
|
|
3290
|
+
in the spec for a single request.
|
|
3291
|
+
:type _host_index: int, optional
|
|
3292
|
+
:return: Returns the result object.
|
|
3293
|
+
""" # noqa: E501
|
|
3294
|
+
|
|
3295
|
+
_param = self._test_meter_event_serialize(
|
|
3296
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
3297
|
+
meter_test_event_request=meter_test_event_request,
|
|
3298
|
+
_request_auth=_request_auth,
|
|
3299
|
+
_content_type=_content_type,
|
|
3300
|
+
_headers=_headers,
|
|
3301
|
+
_host_index=_host_index
|
|
3302
|
+
)
|
|
3303
|
+
|
|
3304
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3305
|
+
'200': "MeterTestEventResponse",
|
|
3306
|
+
'400': "UnexpectedProblemResponse",
|
|
3307
|
+
'401': "UnexpectedProblemResponse",
|
|
3308
|
+
'403': "UnexpectedProblemResponse",
|
|
3309
|
+
'404': "UnexpectedProblemResponse",
|
|
3310
|
+
'412': "UnexpectedProblemResponse",
|
|
3311
|
+
'500': "UnexpectedProblemResponse",
|
|
3312
|
+
'503': "UnexpectedProblemResponse",
|
|
3313
|
+
}
|
|
3314
|
+
response_data = self.api_client.call_api(
|
|
3315
|
+
*_param,
|
|
3316
|
+
_request_timeout=_request_timeout
|
|
3317
|
+
)
|
|
3318
|
+
return response_data.response
|
|
3319
|
+
|
|
3320
|
+
|
|
3321
|
+
def _test_meter_event_serialize(
|
|
3322
|
+
self,
|
|
3323
|
+
meter_id_or_slug,
|
|
3324
|
+
meter_test_event_request,
|
|
3325
|
+
_request_auth,
|
|
3326
|
+
_content_type,
|
|
3327
|
+
_headers,
|
|
3328
|
+
_host_index,
|
|
3329
|
+
) -> RequestSerialized:
|
|
3330
|
+
|
|
3331
|
+
_host = None
|
|
3332
|
+
|
|
3333
|
+
_collection_formats: Dict[str, str] = {
|
|
3334
|
+
}
|
|
3335
|
+
|
|
3336
|
+
_path_params: Dict[str, str] = {}
|
|
3337
|
+
_query_params: List[Tuple[str, str]] = []
|
|
3338
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
3339
|
+
_form_params: List[Tuple[str, str]] = []
|
|
3340
|
+
_files: Dict[
|
|
3341
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
3342
|
+
] = {}
|
|
3343
|
+
_body_params: Optional[bytes] = None
|
|
3344
|
+
|
|
3345
|
+
# process the path parameters
|
|
3346
|
+
if meter_id_or_slug is not None:
|
|
3347
|
+
_path_params['meterIdOrSlug'] = meter_id_or_slug
|
|
3348
|
+
# process the query parameters
|
|
3349
|
+
# process the header parameters
|
|
3350
|
+
# process the form parameters
|
|
3351
|
+
# process the body parameter
|
|
3352
|
+
if meter_test_event_request is not None:
|
|
3353
|
+
_body_params = meter_test_event_request
|
|
3354
|
+
|
|
3355
|
+
|
|
3356
|
+
# set the HTTP header `Accept`
|
|
3357
|
+
if 'Accept' not in _header_params:
|
|
3358
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
3359
|
+
[
|
|
3360
|
+
'application/json',
|
|
3361
|
+
'application/problem+json'
|
|
3362
|
+
]
|
|
3363
|
+
)
|
|
3364
|
+
|
|
3365
|
+
# set the HTTP header `Content-Type`
|
|
3366
|
+
if _content_type:
|
|
3367
|
+
_header_params['Content-Type'] = _content_type
|
|
3368
|
+
else:
|
|
3369
|
+
_default_content_type = (
|
|
3370
|
+
self.api_client.select_header_content_type(
|
|
3371
|
+
[
|
|
3372
|
+
'application/json'
|
|
3373
|
+
]
|
|
3374
|
+
)
|
|
3375
|
+
)
|
|
3376
|
+
if _default_content_type is not None:
|
|
3377
|
+
_header_params['Content-Type'] = _default_content_type
|
|
3378
|
+
|
|
3379
|
+
# authentication setting
|
|
3380
|
+
_auth_settings: List[str] = [
|
|
3381
|
+
'CloudTokenAuth'
|
|
3382
|
+
]
|
|
3383
|
+
|
|
3384
|
+
return self.api_client.param_serialize(
|
|
3385
|
+
method='POST',
|
|
3386
|
+
resource_path='/api/v1/meters/{meterIdOrSlug}/test-event',
|
|
3387
|
+
path_params=_path_params,
|
|
3388
|
+
query_params=_query_params,
|
|
3389
|
+
header_params=_header_params,
|
|
3390
|
+
body=_body_params,
|
|
3391
|
+
post_params=_form_params,
|
|
3392
|
+
files=_files,
|
|
3393
|
+
auth_settings=_auth_settings,
|
|
3394
|
+
collection_formats=_collection_formats,
|
|
3395
|
+
_host=_host,
|
|
3396
|
+
_request_auth=_request_auth
|
|
3397
|
+
)
|
|
3398
|
+
|
|
3399
|
+
|
|
3400
|
+
|
|
3401
|
+
|
|
3402
|
+
@validate_call
|
|
3403
|
+
def update_meter(
|
|
3404
|
+
self,
|
|
3405
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
3406
|
+
meter_update: MeterUpdate,
|
|
3407
|
+
_request_timeout: Union[
|
|
3408
|
+
None,
|
|
3409
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3410
|
+
Tuple[
|
|
3411
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3412
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3413
|
+
]
|
|
3414
|
+
] = None,
|
|
3415
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3416
|
+
_content_type: Optional[StrictStr] = None,
|
|
3417
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3418
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3419
|
+
) -> Meter:
|
|
3420
|
+
"""Update meter
|
|
3421
|
+
|
|
3422
|
+
Update a meter.
|
|
3423
|
+
|
|
3424
|
+
:param meter_id_or_slug: (required)
|
|
3425
|
+
:type meter_id_or_slug: str
|
|
3426
|
+
:param meter_update: (required)
|
|
3427
|
+
:type meter_update: MeterUpdate
|
|
3428
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3429
|
+
number provided, it will be total request
|
|
3430
|
+
timeout. It can also be a pair (tuple) of
|
|
3431
|
+
(connection, read) timeouts.
|
|
3432
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3433
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3434
|
+
request; this effectively ignores the
|
|
3435
|
+
authentication in the spec for a single request.
|
|
3436
|
+
:type _request_auth: dict, optional
|
|
3437
|
+
:param _content_type: force content-type for the request.
|
|
3438
|
+
:type _content_type: str, Optional
|
|
3439
|
+
:param _headers: set to override the headers for a single
|
|
3440
|
+
request; this effectively ignores the headers
|
|
3441
|
+
in the spec for a single request.
|
|
3442
|
+
:type _headers: dict, optional
|
|
3443
|
+
:param _host_index: set to override the host_index for a single
|
|
3444
|
+
request; this effectively ignores the host_index
|
|
3445
|
+
in the spec for a single request.
|
|
3446
|
+
:type _host_index: int, optional
|
|
3447
|
+
:return: Returns the result object.
|
|
3448
|
+
""" # noqa: E501
|
|
3449
|
+
|
|
3450
|
+
_param = self._update_meter_serialize(
|
|
3451
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
3452
|
+
meter_update=meter_update,
|
|
3453
|
+
_request_auth=_request_auth,
|
|
3454
|
+
_content_type=_content_type,
|
|
3455
|
+
_headers=_headers,
|
|
3456
|
+
_host_index=_host_index
|
|
3457
|
+
)
|
|
3458
|
+
|
|
3459
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3460
|
+
'200': "Meter",
|
|
3461
|
+
'400': "UnexpectedProblemResponse",
|
|
3462
|
+
'401': "UnexpectedProblemResponse",
|
|
3463
|
+
'403': "UnexpectedProblemResponse",
|
|
3464
|
+
'412': "UnexpectedProblemResponse",
|
|
3465
|
+
'500': "UnexpectedProblemResponse",
|
|
3466
|
+
'503': "UnexpectedProblemResponse",
|
|
3467
|
+
}
|
|
3468
|
+
response_data = self.api_client.call_api(
|
|
3469
|
+
*_param,
|
|
3470
|
+
_request_timeout=_request_timeout
|
|
3471
|
+
)
|
|
3472
|
+
response_data.read()
|
|
3473
|
+
return self.api_client.response_deserialize(
|
|
3474
|
+
response_data=response_data,
|
|
3475
|
+
response_types_map=_response_types_map,
|
|
3476
|
+
).data
|
|
3477
|
+
|
|
3478
|
+
|
|
3479
|
+
@validate_call
|
|
3480
|
+
def update_meter_with_http_info(
|
|
3481
|
+
self,
|
|
3482
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
3483
|
+
meter_update: MeterUpdate,
|
|
3484
|
+
_request_timeout: Union[
|
|
3485
|
+
None,
|
|
3486
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3487
|
+
Tuple[
|
|
3488
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3489
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3490
|
+
]
|
|
3491
|
+
] = None,
|
|
3492
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3493
|
+
_content_type: Optional[StrictStr] = None,
|
|
3494
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3495
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3496
|
+
) -> ApiResponse[Meter]:
|
|
3497
|
+
"""Update meter
|
|
3498
|
+
|
|
3499
|
+
Update a meter.
|
|
3500
|
+
|
|
3501
|
+
:param meter_id_or_slug: (required)
|
|
3502
|
+
:type meter_id_or_slug: str
|
|
3503
|
+
:param meter_update: (required)
|
|
3504
|
+
:type meter_update: MeterUpdate
|
|
3505
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3506
|
+
number provided, it will be total request
|
|
3507
|
+
timeout. It can also be a pair (tuple) of
|
|
3508
|
+
(connection, read) timeouts.
|
|
3509
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3510
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3511
|
+
request; this effectively ignores the
|
|
3512
|
+
authentication in the spec for a single request.
|
|
3513
|
+
:type _request_auth: dict, optional
|
|
3514
|
+
:param _content_type: force content-type for the request.
|
|
3515
|
+
:type _content_type: str, Optional
|
|
3516
|
+
:param _headers: set to override the headers for a single
|
|
3517
|
+
request; this effectively ignores the headers
|
|
3518
|
+
in the spec for a single request.
|
|
3519
|
+
:type _headers: dict, optional
|
|
3520
|
+
:param _host_index: set to override the host_index for a single
|
|
3521
|
+
request; this effectively ignores the host_index
|
|
3522
|
+
in the spec for a single request.
|
|
3523
|
+
:type _host_index: int, optional
|
|
3524
|
+
:return: Returns the result object.
|
|
3525
|
+
""" # noqa: E501
|
|
3526
|
+
|
|
3527
|
+
_param = self._update_meter_serialize(
|
|
3528
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
3529
|
+
meter_update=meter_update,
|
|
3530
|
+
_request_auth=_request_auth,
|
|
3531
|
+
_content_type=_content_type,
|
|
3532
|
+
_headers=_headers,
|
|
3533
|
+
_host_index=_host_index
|
|
3534
|
+
)
|
|
3535
|
+
|
|
3536
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3537
|
+
'200': "Meter",
|
|
3538
|
+
'400': "UnexpectedProblemResponse",
|
|
3539
|
+
'401': "UnexpectedProblemResponse",
|
|
3540
|
+
'403': "UnexpectedProblemResponse",
|
|
3541
|
+
'412': "UnexpectedProblemResponse",
|
|
3542
|
+
'500': "UnexpectedProblemResponse",
|
|
3543
|
+
'503': "UnexpectedProblemResponse",
|
|
3544
|
+
}
|
|
3545
|
+
response_data = self.api_client.call_api(
|
|
3546
|
+
*_param,
|
|
3547
|
+
_request_timeout=_request_timeout
|
|
3548
|
+
)
|
|
3549
|
+
response_data.read()
|
|
3550
|
+
return self.api_client.response_deserialize(
|
|
3551
|
+
response_data=response_data,
|
|
3552
|
+
response_types_map=_response_types_map,
|
|
3553
|
+
)
|
|
3554
|
+
|
|
3555
|
+
|
|
3556
|
+
@validate_call
|
|
3557
|
+
def update_meter_without_preload_content(
|
|
3558
|
+
self,
|
|
3559
|
+
meter_id_or_slug: Annotated[str, Field(min_length=1, strict=True, max_length=64)],
|
|
3560
|
+
meter_update: MeterUpdate,
|
|
3561
|
+
_request_timeout: Union[
|
|
3562
|
+
None,
|
|
3563
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3564
|
+
Tuple[
|
|
3565
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3566
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3567
|
+
]
|
|
3568
|
+
] = None,
|
|
3569
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3570
|
+
_content_type: Optional[StrictStr] = None,
|
|
3571
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3572
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3573
|
+
) -> RESTResponseType:
|
|
3574
|
+
"""Update meter
|
|
3575
|
+
|
|
3576
|
+
Update a meter.
|
|
3577
|
+
|
|
3578
|
+
:param meter_id_or_slug: (required)
|
|
3579
|
+
:type meter_id_or_slug: str
|
|
3580
|
+
:param meter_update: (required)
|
|
3581
|
+
:type meter_update: MeterUpdate
|
|
3582
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3583
|
+
number provided, it will be total request
|
|
3584
|
+
timeout. It can also be a pair (tuple) of
|
|
3585
|
+
(connection, read) timeouts.
|
|
3586
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3587
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3588
|
+
request; this effectively ignores the
|
|
3589
|
+
authentication in the spec for a single request.
|
|
3590
|
+
:type _request_auth: dict, optional
|
|
3591
|
+
:param _content_type: force content-type for the request.
|
|
3592
|
+
:type _content_type: str, Optional
|
|
3593
|
+
:param _headers: set to override the headers for a single
|
|
3594
|
+
request; this effectively ignores the headers
|
|
3595
|
+
in the spec for a single request.
|
|
3596
|
+
:type _headers: dict, optional
|
|
3597
|
+
:param _host_index: set to override the host_index for a single
|
|
3598
|
+
request; this effectively ignores the host_index
|
|
3599
|
+
in the spec for a single request.
|
|
3600
|
+
:type _host_index: int, optional
|
|
3601
|
+
:return: Returns the result object.
|
|
3602
|
+
""" # noqa: E501
|
|
3603
|
+
|
|
3604
|
+
_param = self._update_meter_serialize(
|
|
3605
|
+
meter_id_or_slug=meter_id_or_slug,
|
|
3606
|
+
meter_update=meter_update,
|
|
3607
|
+
_request_auth=_request_auth,
|
|
3608
|
+
_content_type=_content_type,
|
|
3609
|
+
_headers=_headers,
|
|
3610
|
+
_host_index=_host_index
|
|
3611
|
+
)
|
|
3612
|
+
|
|
3613
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3614
|
+
'200': "Meter",
|
|
3615
|
+
'400': "UnexpectedProblemResponse",
|
|
3616
|
+
'401': "UnexpectedProblemResponse",
|
|
3617
|
+
'403': "UnexpectedProblemResponse",
|
|
3618
|
+
'412': "UnexpectedProblemResponse",
|
|
3619
|
+
'500': "UnexpectedProblemResponse",
|
|
3620
|
+
'503': "UnexpectedProblemResponse",
|
|
3621
|
+
}
|
|
3622
|
+
response_data = self.api_client.call_api(
|
|
3623
|
+
*_param,
|
|
3624
|
+
_request_timeout=_request_timeout
|
|
3625
|
+
)
|
|
3626
|
+
return response_data.response
|
|
3627
|
+
|
|
3628
|
+
|
|
3629
|
+
def _update_meter_serialize(
|
|
3630
|
+
self,
|
|
3631
|
+
meter_id_or_slug,
|
|
3632
|
+
meter_update,
|
|
3633
|
+
_request_auth,
|
|
3634
|
+
_content_type,
|
|
3635
|
+
_headers,
|
|
3636
|
+
_host_index,
|
|
3637
|
+
) -> RequestSerialized:
|
|
3638
|
+
|
|
3639
|
+
_host = None
|
|
3640
|
+
|
|
3641
|
+
_collection_formats: Dict[str, str] = {
|
|
3642
|
+
}
|
|
3643
|
+
|
|
3644
|
+
_path_params: Dict[str, str] = {}
|
|
3645
|
+
_query_params: List[Tuple[str, str]] = []
|
|
3646
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
3647
|
+
_form_params: List[Tuple[str, str]] = []
|
|
3648
|
+
_files: Dict[
|
|
3649
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
3650
|
+
] = {}
|
|
3651
|
+
_body_params: Optional[bytes] = None
|
|
3652
|
+
|
|
3653
|
+
# process the path parameters
|
|
3654
|
+
if meter_id_or_slug is not None:
|
|
3655
|
+
_path_params['meterIdOrSlug'] = meter_id_or_slug
|
|
3656
|
+
# process the query parameters
|
|
3657
|
+
# process the header parameters
|
|
3658
|
+
# process the form parameters
|
|
3659
|
+
# process the body parameter
|
|
3660
|
+
if meter_update is not None:
|
|
3661
|
+
_body_params = meter_update
|
|
3662
|
+
|
|
3663
|
+
|
|
3664
|
+
# set the HTTP header `Accept`
|
|
3665
|
+
if 'Accept' not in _header_params:
|
|
3666
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
3667
|
+
[
|
|
3668
|
+
'application/json',
|
|
3669
|
+
'application/problem+json'
|
|
3670
|
+
]
|
|
3671
|
+
)
|
|
3672
|
+
|
|
3673
|
+
# set the HTTP header `Content-Type`
|
|
3674
|
+
if _content_type:
|
|
3675
|
+
_header_params['Content-Type'] = _content_type
|
|
3676
|
+
else:
|
|
3677
|
+
_default_content_type = (
|
|
3678
|
+
self.api_client.select_header_content_type(
|
|
3679
|
+
[
|
|
3680
|
+
'application/json'
|
|
3681
|
+
]
|
|
3682
|
+
)
|
|
3683
|
+
)
|
|
3684
|
+
if _default_content_type is not None:
|
|
3685
|
+
_header_params['Content-Type'] = _default_content_type
|
|
3686
|
+
|
|
3687
|
+
# authentication setting
|
|
3688
|
+
_auth_settings: List[str] = [
|
|
3689
|
+
'CloudTokenAuth'
|
|
3690
|
+
]
|
|
3691
|
+
|
|
3692
|
+
return self.api_client.param_serialize(
|
|
3693
|
+
method='PUT',
|
|
3694
|
+
resource_path='/api/v1/meters/{meterIdOrSlug}',
|
|
3695
|
+
path_params=_path_params,
|
|
3696
|
+
query_params=_query_params,
|
|
3697
|
+
header_params=_header_params,
|
|
3698
|
+
body=_body_params,
|
|
3699
|
+
post_params=_form_params,
|
|
3700
|
+
files=_files,
|
|
3701
|
+
auth_settings=_auth_settings,
|
|
3702
|
+
collection_formats=_collection_formats,
|
|
3703
|
+
_host=_host,
|
|
3704
|
+
_request_auth=_request_auth
|
|
3705
|
+
)
|
|
3706
|
+
|
|
3707
|
+
|