metronome-sdk 0.1.0.pre.alpha.1
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.
- checksums.yaml +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +290 -0
- data/README.md +258 -0
- data/SECURITY.md +27 -0
- data/lib/metronome_sdk/client.rb +78 -0
- data/lib/metronome_sdk/errors.rb +192 -0
- data/lib/metronome_sdk/file_part.rb +55 -0
- data/lib/metronome_sdk/internal/cursor_page.rb +86 -0
- data/lib/metronome_sdk/internal/transport/base_client.rb +486 -0
- data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +193 -0
- data/lib/metronome_sdk/internal/type/array_of.rb +154 -0
- data/lib/metronome_sdk/internal/type/base_model.rb +443 -0
- data/lib/metronome_sdk/internal/type/base_page.rb +55 -0
- data/lib/metronome_sdk/internal/type/boolean.rb +63 -0
- data/lib/metronome_sdk/internal/type/converter.rb +274 -0
- data/lib/metronome_sdk/internal/type/enum.rb +107 -0
- data/lib/metronome_sdk/internal/type/file_input.rb +96 -0
- data/lib/metronome_sdk/internal/type/hash_of.rb +174 -0
- data/lib/metronome_sdk/internal/type/request_parameters.rb +48 -0
- data/lib/metronome_sdk/internal/type/union.rb +220 -0
- data/lib/metronome_sdk/internal/type/unknown.rb +67 -0
- data/lib/metronome_sdk/internal/util.rb +790 -0
- data/lib/metronome_sdk/internal.rb +11 -0
- data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
- data/lib/metronome_sdk/models/commit.rb +848 -0
- data/lib/metronome_sdk/models/contract_without_amendments.rb +1431 -0
- data/lib/metronome_sdk/models/credit.rb +476 -0
- data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
- data/lib/metronome_sdk/models/discount.rb +68 -0
- data/lib/metronome_sdk/models/event_type_filter.rb +35 -0
- data/lib/metronome_sdk/models/id.rb +15 -0
- data/lib/metronome_sdk/models/override.rb +368 -0
- data/lib/metronome_sdk/models/pro_service.rb +75 -0
- data/lib/metronome_sdk/models/property_filter.rb +55 -0
- data/lib/metronome_sdk/models/rate.rb +106 -0
- data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
- data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
- data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
- data/lib/metronome_sdk/models/tier.rb +21 -0
- data/lib/metronome_sdk/models/v1/alert_archive_params.rb +32 -0
- data/lib/metronome_sdk/models/v1/alert_archive_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +224 -0
- data/lib/metronome_sdk/models/v1/alert_create_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +92 -0
- data/lib/metronome_sdk/models/v1/audit_log_list_response.rb +124 -0
- data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +16 -0
- data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +111 -0
- data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/billable_metric_list_params.rb +40 -0
- data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +122 -0
- data/lib/metronome_sdk/models/v1/billable_metric_retrieve_params.rb +22 -0
- data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +134 -0
- data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +79 -0
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +1778 -0
- data/lib/metronome_sdk/models/v1/contract_amend_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/contract_archive_params.rb +45 -0
- data/lib/metronome_sdk/models/v1/contract_archive_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +203 -0
- data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +3076 -0
- data/lib/metronome_sdk/models/v1/contract_create_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +101 -0
- data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +36 -0
- data/lib/metronome_sdk/models/v1/contract_list_params.rb +76 -0
- data/lib/metronome_sdk/models/v1/contract_list_response.rb +388 -0
- data/lib/metronome_sdk/models/v1/contract_retrieve_params.rb +53 -0
- data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +117 -0
- data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +165 -0
- data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +388 -0
- data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +139 -0
- data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/contract_set_usage_filter_params.rb +46 -0
- data/lib/metronome_sdk/models/v1/contract_update_end_date_params.rb +57 -0
- data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rb +48 -0
- data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rb +43 -0
- data/lib/metronome_sdk/models/v1/contracts/named_schedule_update_params.rb +62 -0
- data/lib/metronome_sdk/models/v1/contracts/product_archive_params.rb +26 -0
- data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +20 -0
- data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +167 -0
- data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +20 -0
- data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +152 -0
- data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +55 -0
- data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +214 -0
- data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +18 -0
- data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +225 -0
- data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +176 -0
- data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +20 -0
- data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
- data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +43 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +112 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +20 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_card_list_params.rb +41 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +108 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +18 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +110 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +153 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +119 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +78 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +20 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rb +58 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rb +45 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rb +72 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rb +35 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +22 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +55 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +22 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +229 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +23 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +216 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +183 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +112 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +137 -0
- data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +233 -0
- data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/credit_grant_edit_params.rb +48 -0
- data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +69 -0
- data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +164 -0
- data/lib/metronome_sdk/models/v1/credit_grant_list_params.rb +81 -0
- data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +252 -0
- data/lib/metronome_sdk/models/v1/credit_grant_void_params.rb +39 -0
- data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +71 -0
- data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +60 -0
- data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +60 -0
- data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +59 -0
- data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +74 -0
- data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +54 -0
- data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +60 -0
- data/lib/metronome_sdk/models/v1/customer.rb +55 -0
- data/lib/metronome_sdk/models/v1/customer_archive_params.rb +16 -0
- data/lib/metronome_sdk/models/v1/customer_archive_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/customer_create_params.rb +259 -0
- data/lib/metronome_sdk/models/v1/customer_create_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/customer_detail.rb +131 -0
- data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_params.rb +60 -0
- data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +153 -0
- data/lib/metronome_sdk/models/v1/customer_list_costs_params.rb +55 -0
- data/lib/metronome_sdk/models/v1/customer_list_costs_response.rb +82 -0
- data/lib/metronome_sdk/models/v1/customer_list_params.rb +71 -0
- data/lib/metronome_sdk/models/v1/customer_retrieve_params.rb +22 -0
- data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rb +28 -0
- data/lib/metronome_sdk/models/v1/customer_set_name_params.rb +36 -0
- data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/customer_update_config_params.rb +44 -0
- data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +59 -0
- data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +27 -0
- data/lib/metronome_sdk/models/v1/customers/alert_reset_params.rb +34 -0
- data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +34 -0
- data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +20 -0
- data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +129 -0
- data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +47 -0
- data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +47 -0
- data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +164 -0
- data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +436 -0
- data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +20 -0
- data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +103 -0
- data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +26 -0
- data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_params.rb +59 -0
- data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +20 -0
- data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +198 -0
- data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +20 -0
- data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +103 -0
- data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +26 -0
- data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_params.rb +48 -0
- data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +20 -0
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +269 -0
- data/lib/metronome_sdk/models/v1/customers/invoice.rb +1074 -0
- data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_params.rb +79 -0
- data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_response.rb +14 -0
- data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +135 -0
- data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +26 -0
- data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +110 -0
- data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_params.rb +40 -0
- data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +20 -0
- data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rb +48 -0
- data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rb +43 -0
- data/lib/metronome_sdk/models/v1/customers/named_schedule_update_params.rb +62 -0
- data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +245 -0
- data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +20 -0
- data/lib/metronome_sdk/models/v1/customers/plan_end_params.rb +66 -0
- data/lib/metronome_sdk/models/v1/customers/plan_end_response.rb +14 -0
- data/lib/metronome_sdk/models/v1/customers/plan_list_params.rb +41 -0
- data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rb +48 -0
- data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rb +102 -0
- data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +118 -0
- data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +173 -0
- data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rb +29 -0
- data/lib/metronome_sdk/models/v1/invoice_regenerate_params.rb +24 -0
- data/lib/metronome_sdk/models/v1/invoice_regenerate_response.rb +30 -0
- data/lib/metronome_sdk/models/v1/invoice_void_params.rb +24 -0
- data/lib/metronome_sdk/models/v1/invoice_void_response.rb +29 -0
- data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
- data/lib/metronome_sdk/models/v1/plan_get_details_params.rb +22 -0
- data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/plan_list_charges_params.rb +39 -0
- data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +202 -0
- data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +79 -0
- data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +72 -0
- data/lib/metronome_sdk/models/v1/plan_list_params.rb +32 -0
- data/lib/metronome_sdk/models/v1/plan_list_response.rb +36 -0
- data/lib/metronome_sdk/models/v1/pricing_unit_list_params.rb +32 -0
- data/lib/metronome_sdk/models/v1/pricing_unit_list_response.rb +30 -0
- data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
- data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
- data/lib/metronome_sdk/models/v1/service_list_params.rb +16 -0
- data/lib/metronome_sdk/models/v1/service_list_response.rb +52 -0
- data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +62 -0
- data/lib/metronome_sdk/models/v1/usage_list_params.rb +129 -0
- data/lib/metronome_sdk/models/v1/usage_list_response.rb +83 -0
- data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +130 -0
- data/lib/metronome_sdk/models/v1/usage_list_with_groups_response.rb +42 -0
- data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +266 -0
- data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +18 -0
- data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +154 -0
- data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +18 -0
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +3281 -0
- data/lib/metronome_sdk/models/v2/contract_edit_response.rb +18 -0
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_params.rb +28 -0
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2394 -0
- data/lib/metronome_sdk/models/v2/contract_list_params.rb +74 -0
- data/lib/metronome_sdk/models/v2/contract_list_response.rb +3044 -0
- data/lib/metronome_sdk/models/v2/contract_retrieve_params.rb +63 -0
- data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3051 -0
- data/lib/metronome_sdk/request_options.rb +73 -0
- data/lib/metronome_sdk/resources/v1/alerts.rb +99 -0
- data/lib/metronome_sdk/resources/v1/audit_logs.rb +60 -0
- data/lib/metronome_sdk/resources/v1/billable_metrics.rb +131 -0
- data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +86 -0
- data/lib/metronome_sdk/resources/v1/contracts/products.rb +212 -0
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +94 -0
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +70 -0
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +141 -0
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +192 -0
- data/lib/metronome_sdk/resources/v1/contracts.rb +506 -0
- data/lib/metronome_sdk/resources/v1/credit_grants.rb +211 -0
- data/lib/metronome_sdk/resources/v1/custom_fields.rb +140 -0
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +99 -0
- data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +126 -0
- data/lib/metronome_sdk/resources/v1/customers/commits.rb +165 -0
- data/lib/metronome_sdk/resources/v1/customers/credits.rb +151 -0
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +208 -0
- data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +86 -0
- data/lib/metronome_sdk/resources/v1/customers/plans.rb +184 -0
- data/lib/metronome_sdk/resources/v1/customers.rb +336 -0
- data/lib/metronome_sdk/resources/v1/dashboards.rb +48 -0
- data/lib/metronome_sdk/resources/v1/invoices.rb +60 -0
- data/lib/metronome_sdk/resources/v1/plans.rb +133 -0
- data/lib/metronome_sdk/resources/v1/pricing_units.rb +41 -0
- data/lib/metronome_sdk/resources/v1/services.rb +37 -0
- data/lib/metronome_sdk/resources/v1/usage.rb +129 -0
- data/lib/metronome_sdk/resources/v1.rb +66 -0
- data/lib/metronome_sdk/resources/v2/contracts.rb +256 -0
- data/lib/metronome_sdk/resources/v2.rb +18 -0
- data/lib/metronome_sdk/version.rb +5 -0
- data/lib/metronome_sdk.rb +282 -0
- data/manifest.yaml +15 -0
- data/rbi/metronome_sdk/client.rbi +51 -0
- data/rbi/metronome_sdk/errors.rbi +143 -0
- data/rbi/metronome_sdk/file_part.rbi +34 -0
- data/rbi/metronome_sdk/internal/cursor_page.rbi +21 -0
- data/rbi/metronome_sdk/internal/transport/base_client.rbi +213 -0
- data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +60 -0
- data/rbi/metronome_sdk/internal/type/array_of.rbi +88 -0
- data/rbi/metronome_sdk/internal/type/base_model.rbi +220 -0
- data/rbi/metronome_sdk/internal/type/base_page.rbi +38 -0
- data/rbi/metronome_sdk/internal/type/boolean.rbi +48 -0
- data/rbi/metronome_sdk/internal/type/converter.rbi +120 -0
- data/rbi/metronome_sdk/internal/type/enum.rbi +66 -0
- data/rbi/metronome_sdk/internal/type/file_input.rbi +50 -0
- data/rbi/metronome_sdk/internal/type/hash_of.rbi +88 -0
- data/rbi/metronome_sdk/internal/type/request_parameters.rbi +21 -0
- data/rbi/metronome_sdk/internal/type/union.rbi +80 -0
- data/rbi/metronome_sdk/internal/type/unknown.rbi +40 -0
- data/rbi/metronome_sdk/internal/util.rbi +302 -0
- data/rbi/metronome_sdk/internal.rbi +11 -0
- data/rbi/metronome_sdk/models/base_usage_filter.rbi +27 -0
- data/rbi/metronome_sdk/models/commit.rbi +1283 -0
- data/rbi/metronome_sdk/models/contract_without_amendments.rbi +2407 -0
- data/rbi/metronome_sdk/models/credit.rbi +697 -0
- data/rbi/metronome_sdk/models/credit_type_data.rbi +19 -0
- data/rbi/metronome_sdk/models/discount.rbi +90 -0
- data/rbi/metronome_sdk/models/event_type_filter.rbi +40 -0
- data/rbi/metronome_sdk/models/id.rbi +16 -0
- data/rbi/metronome_sdk/models/override.rbi +503 -0
- data/rbi/metronome_sdk/models/pro_service.rbi +92 -0
- data/rbi/metronome_sdk/models/property_filter.rbi +75 -0
- data/rbi/metronome_sdk/models/rate.rbi +143 -0
- data/rbi/metronome_sdk/models/schedule_duration.rbi +58 -0
- data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +92 -0
- data/rbi/metronome_sdk/models/scheduled_charge.rbi +104 -0
- data/rbi/metronome_sdk/models/tier.rbi +22 -0
- data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +48 -0
- data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +342 -0
- data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/audit_log_list_params.rbi +128 -0
- data/rbi/metronome_sdk/models/v1/audit_log_list_response.rbi +167 -0
- data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +165 -0
- data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/billable_metric_list_params.rbi +64 -0
- data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +174 -0
- data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_params.rbi +27 -0
- data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +217 -0
- data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +95 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +2903 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/contract_archive_params.rbi +57 -0
- data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +346 -0
- data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +5220 -0
- data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +138 -0
- data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +42 -0
- data/rbi/metronome_sdk/models/v1/contract_list_params.rbi +104 -0
- data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +670 -0
- data/rbi/metronome_sdk/models/v1/contract_retrieve_params.rbi +69 -0
- data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +178 -0
- data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +254 -0
- data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +683 -0
- data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbi +192 -0
- data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/contract_set_usage_filter_params.rbi +63 -0
- data/rbi/metronome_sdk/models/v1/contract_update_end_date_params.rbi +77 -0
- data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbi +62 -0
- data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbi +55 -0
- data/rbi/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbi +74 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_archive_params.rbi +33 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +241 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +214 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +90 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +307 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +347 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +248 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +80 -0
- data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +62 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +161 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_params.rbi +64 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +174 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +171 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +249 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +216 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +104 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbi +72 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbi +59 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbi +84 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbi +49 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +25 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbi +74 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +25 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +376 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +28 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +330 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +323 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +169 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +210 -0
- data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +316 -0
- data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/credit_grant_edit_params.rbi +72 -0
- data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +98 -0
- data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +229 -0
- data/rbi/metronome_sdk/models/v1/credit_grant_list_params.rbi +114 -0
- data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +298 -0
- data/rbi/metronome_sdk/models/v1/credit_grant_void_params.rbi +59 -0
- data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +81 -0
- data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +82 -0
- data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +90 -0
- data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +91 -0
- data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +123 -0
- data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +78 -0
- data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +83 -0
- data/rbi/metronome_sdk/models/v1/customer.rbi +68 -0
- data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +591 -0
- data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +24 -0
- data/rbi/metronome_sdk/models/v1/customer_detail.rbi +175 -0
- data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbi +83 -0
- data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +233 -0
- data/rbi/metronome_sdk/models/v1/customer_list_costs_params.rbi +75 -0
- data/rbi/metronome_sdk/models/v1/customer_list_costs_response.rbi +132 -0
- data/rbi/metronome_sdk/models/v1/customer_list_params.rbi +101 -0
- data/rbi/metronome_sdk/models/v1/customer_retrieve_params.rbi +27 -0
- data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +24 -0
- data/rbi/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbi +40 -0
- data/rbi/metronome_sdk/models/v1/customer_set_name_params.rbi +40 -0
- data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +24 -0
- data/rbi/metronome_sdk/models/v1/customer_update_config_params.rbi +55 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +90 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +34 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +48 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +48 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +29 -0
- data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +320 -0
- data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +99 -0
- data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +99 -0
- data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +403 -0
- data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +682 -0
- data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +140 -0
- data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +29 -0
- data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbi +77 -0
- data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +278 -0
- data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +140 -0
- data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +29 -0
- data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbi +59 -0
- data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +445 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +1756 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbi +89 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbi +17 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbi +192 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +25 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +149 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbi +56 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +26 -0
- data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbi +62 -0
- data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbi +55 -0
- data/rbi/metronome_sdk/models/v1/customers/named_schedule_update_params.rbi +74 -0
- data/rbi/metronome_sdk/models/v1/customers/plan_add_params.rbi +384 -0
- data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +23 -0
- data/rbi/metronome_sdk/models/v1/customers/plan_end_params.rbi +86 -0
- data/rbi/metronome_sdk/models/v1/customers/plan_end_response.rbi +17 -0
- data/rbi/metronome_sdk/models/v1/customers/plan_list_params.rbi +61 -0
- data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbi +67 -0
- data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +192 -0
- data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +162 -0
- data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +375 -0
- data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbi +45 -0
- data/rbi/metronome_sdk/models/v1/invoice_regenerate_params.rbi +34 -0
- data/rbi/metronome_sdk/models/v1/invoice_regenerate_response.rbi +45 -0
- data/rbi/metronome_sdk/models/v1/invoice_void_params.rbi +34 -0
- data/rbi/metronome_sdk/models/v1/invoice_void_response.rbi +38 -0
- data/rbi/metronome_sdk/models/v1/plan_detail.rbi +303 -0
- data/rbi/metronome_sdk/models/v1/plan_get_details_params.rbi +27 -0
- data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +24 -0
- data/rbi/metronome_sdk/models/v1/plan_list_charges_params.rbi +59 -0
- data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +284 -0
- data/rbi/metronome_sdk/models/v1/plan_list_customers_params.rbi +110 -0
- data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +107 -0
- data/rbi/metronome_sdk/models/v1/plan_list_params.rbi +46 -0
- data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +42 -0
- data/rbi/metronome_sdk/models/v1/pricing_unit_list_params.rbi +46 -0
- data/rbi/metronome_sdk/models/v1/pricing_unit_list_response.rbi +33 -0
- data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +43 -0
- data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +48 -0
- data/rbi/metronome_sdk/models/v1/service_list_params.rbi +21 -0
- data/rbi/metronome_sdk/models/v1/service_list_response.rbi +78 -0
- data/rbi/metronome_sdk/models/v1/usage_ingest_params.rbi +96 -0
- data/rbi/metronome_sdk/models/v1/usage_list_params.rbi +170 -0
- data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +97 -0
- data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +167 -0
- data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +50 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +486 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +257 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +5637 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +21 -0
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_params.rbi +39 -0
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +4446 -0
- data/rbi/metronome_sdk/models/v2/contract_list_params.rbi +100 -0
- data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5176 -0
- data/rbi/metronome_sdk/models/v2/contract_retrieve_params.rbi +82 -0
- data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +5265 -0
- data/rbi/metronome_sdk/request_options.rbi +48 -0
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +86 -0
- data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +50 -0
- data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +87 -0
- data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +61 -0
- data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +195 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +69 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +52 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +133 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +146 -0
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +462 -0
- data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +181 -0
- data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +83 -0
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +59 -0
- data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +75 -0
- data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +159 -0
- data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +134 -0
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +164 -0
- data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +61 -0
- data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +146 -0
- data/rbi/metronome_sdk/resources/v1/customers.rbi +213 -0
- data/rbi/metronome_sdk/resources/v1/dashboards.rbi +54 -0
- data/rbi/metronome_sdk/resources/v1/invoices.rbi +33 -0
- data/rbi/metronome_sdk/resources/v1/plans.rbi +82 -0
- data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +25 -0
- data/rbi/metronome_sdk/resources/v1/services.rbi +20 -0
- data/rbi/metronome_sdk/resources/v1/usage.rbi +104 -0
- data/rbi/metronome_sdk/resources/v1.rbi +50 -0
- data/rbi/metronome_sdk/resources/v2/contracts.rbi +224 -0
- data/rbi/metronome_sdk/resources/v2.rbi +14 -0
- data/rbi/metronome_sdk/version.rbi +5 -0
- data/sig/metronome_sdk/client.rbs +28 -0
- data/sig/metronome_sdk/errors.rbs +101 -0
- data/sig/metronome_sdk/file_part.rbs +21 -0
- data/sig/metronome_sdk/internal/cursor_page.rbs +13 -0
- data/sig/metronome_sdk/internal/transport/base_client.rbs +116 -0
- data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +41 -0
- data/sig/metronome_sdk/internal/type/array_of.rbs +45 -0
- data/sig/metronome_sdk/internal/type/base_model.rbs +96 -0
- data/sig/metronome_sdk/internal/type/base_page.rbs +24 -0
- data/sig/metronome_sdk/internal/type/boolean.rbs +23 -0
- data/sig/metronome_sdk/internal/type/converter.rbs +54 -0
- data/sig/metronome_sdk/internal/type/enum.rbs +29 -0
- data/sig/metronome_sdk/internal/type/file_input.rbs +23 -0
- data/sig/metronome_sdk/internal/type/hash_of.rbs +45 -0
- data/sig/metronome_sdk/internal/type/request_parameters.rbs +15 -0
- data/sig/metronome_sdk/internal/type/union.rbs +49 -0
- data/sig/metronome_sdk/internal/type/unknown.rbs +23 -0
- data/sig/metronome_sdk/internal/util.rbs +158 -0
- data/sig/metronome_sdk/internal.rbs +5 -0
- data/sig/metronome_sdk/models/base_usage_filter.rbs +24 -0
- data/sig/metronome_sdk/models/commit.rbs +750 -0
- data/sig/metronome_sdk/models/contract_without_amendments.rbs +1122 -0
- data/sig/metronome_sdk/models/credit.rbs +415 -0
- data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
- data/sig/metronome_sdk/models/discount.rbs +56 -0
- data/sig/metronome_sdk/models/event_type_filter.rbs +23 -0
- data/sig/metronome_sdk/models/id.rbs +13 -0
- data/sig/metronome_sdk/models/override.rbs +343 -0
- data/sig/metronome_sdk/models/pro_service.rbs +52 -0
- data/sig/metronome_sdk/models/property_filter.rbs +36 -0
- data/sig/metronome_sdk/models/rate.rbs +86 -0
- data/sig/metronome_sdk/models/schedule_duration.rbs +48 -0
- data/sig/metronome_sdk/models/schedule_point_in_time.rbs +65 -0
- data/sig/metronome_sdk/models/scheduled_charge.rbs +62 -0
- data/sig/metronome_sdk/models/tier.rbs +17 -0
- data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +28 -0
- data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/alert_create_params.rbs +181 -0
- data/sig/metronome_sdk/models/v1/alert_create_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +76 -0
- data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +114 -0
- data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +17 -0
- data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +87 -0
- data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +35 -0
- data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +92 -0
- data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +23 -0
- data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +107 -0
- data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +53 -0
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +1398 -0
- data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +29 -0
- data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +188 -0
- data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +18 -0
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +2400 -0
- data/sig/metronome_sdk/models/v1/contract_create_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +79 -0
- data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +32 -0
- data/sig/metronome_sdk/models/v1/contract_list_params.rbs +55 -0
- data/sig/metronome_sdk/models/v1/contract_list_response.rbs +333 -0
- data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +41 -0
- data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +94 -0
- data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +141 -0
- data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +333 -0
- data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +106 -0
- data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +18 -0
- data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +41 -0
- data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +41 -0
- data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +16 -0
- data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +33 -0
- data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +42 -0
- data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +45 -0
- data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +25 -0
- data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +17 -0
- data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +120 -0
- data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +17 -0
- data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +104 -0
- data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +55 -0
- data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +162 -0
- data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +19 -0
- data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +179 -0
- data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +105 -0
- data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +17 -0
- data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +43 -0
- data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +38 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +99 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +17 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +37 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +111 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +19 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +90 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +131 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +129 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +69 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +17 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +43 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +44 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +51 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +30 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +19 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +45 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +20 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +185 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +19 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +170 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +160 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +92 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +114 -0
- data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +152 -0
- data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +43 -0
- data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +51 -0
- data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +120 -0
- data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +63 -0
- data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +155 -0
- data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +37 -0
- data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +44 -0
- data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +78 -0
- data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +78 -0
- data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +80 -0
- data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +92 -0
- data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +74 -0
- data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +78 -0
- data/sig/metronome_sdk/models/v1/customer.rbs +38 -0
- data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +17 -0
- data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/customer_create_params.rbs +269 -0
- data/sig/metronome_sdk/models/v1/customer_create_response.rbs +16 -0
- data/sig/metronome_sdk/models/v1/customer_detail.rbs +96 -0
- data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +49 -0
- data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +116 -0
- data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +45 -0
- data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +88 -0
- data/sig/metronome_sdk/models/v1/customer_list_params.rbs +57 -0
- data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +23 -0
- data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +16 -0
- data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +26 -0
- data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +26 -0
- data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +16 -0
- data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +33 -0
- data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +53 -0
- data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +26 -0
- data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +28 -0
- data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +28 -0
- data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +20 -0
- data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +152 -0
- data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +56 -0
- data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +56 -0
- data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +181 -0
- data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +317 -0
- data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +17 -0
- data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +81 -0
- data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +23 -0
- data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +43 -0
- data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +18 -0
- data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +152 -0
- data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +17 -0
- data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +81 -0
- data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +23 -0
- data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +31 -0
- data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +18 -0
- data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +213 -0
- data/sig/metronome_sdk/models/v1/customers/invoice.rbs +995 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +51 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +103 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +27 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +88 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +37 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +20 -0
- data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +33 -0
- data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +42 -0
- data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +45 -0
- data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +183 -0
- data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +17 -0
- data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +49 -0
- data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +35 -0
- data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +43 -0
- data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +94 -0
- data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +104 -0
- data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +176 -0
- data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +32 -0
- data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +22 -0
- data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +32 -0
- data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +22 -0
- data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +32 -0
- data/sig/metronome_sdk/models/v1/plan_detail.rbs +173 -0
- data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +22 -0
- data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +16 -0
- data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +33 -0
- data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +159 -0
- data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +58 -0
- data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +59 -0
- data/sig/metronome_sdk/models/v1/plan_list_params.rbs +30 -0
- data/sig/metronome_sdk/models/v1/plan_list_response.rbs +34 -0
- data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +30 -0
- data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +26 -0
- data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +34 -0
- data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +34 -0
- data/sig/metronome_sdk/models/v1/service_list_params.rbs +17 -0
- data/sig/metronome_sdk/models/v1/service_list_response.rbs +54 -0
- data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +60 -0
- data/sig/metronome_sdk/models/v1/usage_list_params.rbs +102 -0
- data/sig/metronome_sdk/models/v1/usage_list_response.rbs +65 -0
- data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +97 -0
- data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +36 -0
- data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +279 -0
- data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +15 -0
- data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +148 -0
- data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +15 -0
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +2726 -0
- data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +15 -0
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +26 -0
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2128 -0
- data/sig/metronome_sdk/models/v2/contract_list_params.rbs +55 -0
- data/sig/metronome_sdk/models/v2/contract_list_response.rbs +2586 -0
- data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +47 -0
- data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +2586 -0
- data/sig/metronome_sdk/request_options.rbs +36 -0
- data/sig/metronome_sdk/resources/v1/alerts.rbs +32 -0
- data/sig/metronome_sdk/resources/v1/audit_logs.rbs +20 -0
- data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +38 -0
- data/sig/metronome_sdk/resources/v1/contracts/named_schedules.rbs +27 -0
- data/sig/metronome_sdk/resources/v1/contracts/products.rbs +65 -0
- data/sig/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbs +31 -0
- data/sig/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbs +25 -0
- data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +47 -0
- data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +57 -0
- data/sig/metronome_sdk/resources/v1/contracts.rbs +159 -0
- data/sig/metronome_sdk/resources/v1/credit_grants.rbs +62 -0
- data/sig/metronome_sdk/resources/v1/custom_fields.rbs +42 -0
- data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +30 -0
- data/sig/metronome_sdk/resources/v1/customers/billing_config.rbs +33 -0
- data/sig/metronome_sdk/resources/v1/customers/commits.rbs +54 -0
- data/sig/metronome_sdk/resources/v1/customers/credits.rbs +50 -0
- data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +56 -0
- data/sig/metronome_sdk/resources/v1/customers/named_schedules.rbs +27 -0
- data/sig/metronome_sdk/resources/v1/customers/plans.rbs +47 -0
- data/sig/metronome_sdk/resources/v1/customers.rbs +90 -0
- data/sig/metronome_sdk/resources/v1/dashboards.rbs +18 -0
- data/sig/metronome_sdk/resources/v1/invoices.rbs +19 -0
- data/sig/metronome_sdk/resources/v1/plans.rbs +35 -0
- data/sig/metronome_sdk/resources/v1/pricing_units.rbs +15 -0
- data/sig/metronome_sdk/resources/v1/services.rbs +13 -0
- data/sig/metronome_sdk/resources/v1/usage.rbs +37 -0
- data/sig/metronome_sdk/resources/v1.rbs +33 -0
- data/sig/metronome_sdk/resources/v2/contracts.rbs +80 -0
- data/sig/metronome_sdk/resources/v2.rbs +9 -0
- data/sig/metronome_sdk/version.rbs +3 -0
- metadata +827 -0
@@ -0,0 +1,2903 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module MetronomeSDK
|
4
|
+
module Models
|
5
|
+
module V1
|
6
|
+
class ContractAmendParams < MetronomeSDK::Internal::Type::BaseModel
|
7
|
+
extend MetronomeSDK::Internal::Type::RequestParameters::Converter
|
8
|
+
include MetronomeSDK::Internal::Type::RequestParameters
|
9
|
+
|
10
|
+
# ID of the contract to amend
|
11
|
+
sig { returns(String) }
|
12
|
+
attr_accessor :contract_id
|
13
|
+
|
14
|
+
# ID of the customer whose contract is to be amended
|
15
|
+
sig { returns(String) }
|
16
|
+
attr_accessor :customer_id
|
17
|
+
|
18
|
+
# inclusive start time for the amendment
|
19
|
+
sig { returns(Time) }
|
20
|
+
attr_accessor :starting_at
|
21
|
+
|
22
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit])) }
|
23
|
+
attr_reader :commits
|
24
|
+
|
25
|
+
sig do
|
26
|
+
params(
|
27
|
+
commits: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::Commit, MetronomeSDK::Internal::AnyHash)]
|
28
|
+
)
|
29
|
+
.void
|
30
|
+
end
|
31
|
+
attr_writer :commits
|
32
|
+
|
33
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Credit])) }
|
34
|
+
attr_reader :credits
|
35
|
+
|
36
|
+
sig do
|
37
|
+
params(
|
38
|
+
credits: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::Credit, MetronomeSDK::Internal::AnyHash)]
|
39
|
+
)
|
40
|
+
.void
|
41
|
+
end
|
42
|
+
attr_writer :credits
|
43
|
+
|
44
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
45
|
+
attr_reader :custom_fields
|
46
|
+
|
47
|
+
sig { params(custom_fields: T::Hash[Symbol, String]).void }
|
48
|
+
attr_writer :custom_fields
|
49
|
+
|
50
|
+
# This field's availability is dependent on your client's configuration.
|
51
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Discount])) }
|
52
|
+
attr_reader :discounts
|
53
|
+
|
54
|
+
sig do
|
55
|
+
params(
|
56
|
+
discounts: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::Discount, MetronomeSDK::Internal::AnyHash)]
|
57
|
+
)
|
58
|
+
.void
|
59
|
+
end
|
60
|
+
attr_writer :discounts
|
61
|
+
|
62
|
+
# This field's availability is dependent on your client's configuration.
|
63
|
+
sig { returns(T.nilable(String)) }
|
64
|
+
attr_reader :netsuite_sales_order_id
|
65
|
+
|
66
|
+
sig { params(netsuite_sales_order_id: String).void }
|
67
|
+
attr_writer :netsuite_sales_order_id
|
68
|
+
|
69
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Override])) }
|
70
|
+
attr_reader :overrides
|
71
|
+
|
72
|
+
sig do
|
73
|
+
params(
|
74
|
+
overrides: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::Override, MetronomeSDK::Internal::AnyHash)]
|
75
|
+
)
|
76
|
+
.void
|
77
|
+
end
|
78
|
+
attr_writer :overrides
|
79
|
+
|
80
|
+
# This field's availability is dependent on your client's configuration.
|
81
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::ProfessionalService])) }
|
82
|
+
attr_reader :professional_services
|
83
|
+
|
84
|
+
sig do
|
85
|
+
params(
|
86
|
+
professional_services: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::ProfessionalService, MetronomeSDK::Internal::AnyHash)]
|
87
|
+
)
|
88
|
+
.void
|
89
|
+
end
|
90
|
+
attr_writer :professional_services
|
91
|
+
|
92
|
+
# This field's availability is dependent on your client's configuration.
|
93
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty])) }
|
94
|
+
attr_reader :reseller_royalties
|
95
|
+
|
96
|
+
sig do
|
97
|
+
params(
|
98
|
+
reseller_royalties: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty, MetronomeSDK::Internal::AnyHash)]
|
99
|
+
)
|
100
|
+
.void
|
101
|
+
end
|
102
|
+
attr_writer :reseller_royalties
|
103
|
+
|
104
|
+
# This field's availability is dependent on your client's configuration.
|
105
|
+
sig { returns(T.nilable(String)) }
|
106
|
+
attr_reader :salesforce_opportunity_id
|
107
|
+
|
108
|
+
sig { params(salesforce_opportunity_id: String).void }
|
109
|
+
attr_writer :salesforce_opportunity_id
|
110
|
+
|
111
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge])) }
|
112
|
+
attr_reader :scheduled_charges
|
113
|
+
|
114
|
+
sig do
|
115
|
+
params(
|
116
|
+
scheduled_charges: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge, MetronomeSDK::Internal::AnyHash)]
|
117
|
+
)
|
118
|
+
.void
|
119
|
+
end
|
120
|
+
attr_writer :scheduled_charges
|
121
|
+
|
122
|
+
# This field's availability is dependent on your client's configuration.
|
123
|
+
sig { returns(T.nilable(Float)) }
|
124
|
+
attr_reader :total_contract_value
|
125
|
+
|
126
|
+
sig { params(total_contract_value: Float).void }
|
127
|
+
attr_writer :total_contract_value
|
128
|
+
|
129
|
+
sig do
|
130
|
+
params(
|
131
|
+
contract_id: String,
|
132
|
+
customer_id: String,
|
133
|
+
starting_at: Time,
|
134
|
+
commits: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::Commit, MetronomeSDK::Internal::AnyHash)],
|
135
|
+
credits: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::Credit, MetronomeSDK::Internal::AnyHash)],
|
136
|
+
custom_fields: T::Hash[Symbol, String],
|
137
|
+
discounts: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::Discount, MetronomeSDK::Internal::AnyHash)],
|
138
|
+
netsuite_sales_order_id: String,
|
139
|
+
overrides: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::Override, MetronomeSDK::Internal::AnyHash)],
|
140
|
+
professional_services: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::ProfessionalService, MetronomeSDK::Internal::AnyHash)],
|
141
|
+
reseller_royalties: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty, MetronomeSDK::Internal::AnyHash)],
|
142
|
+
salesforce_opportunity_id: String,
|
143
|
+
scheduled_charges: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge, MetronomeSDK::Internal::AnyHash)],
|
144
|
+
total_contract_value: Float,
|
145
|
+
request_options: T.any(MetronomeSDK::RequestOptions, MetronomeSDK::Internal::AnyHash)
|
146
|
+
)
|
147
|
+
.returns(T.attached_class)
|
148
|
+
end
|
149
|
+
def self.new(
|
150
|
+
# ID of the contract to amend
|
151
|
+
contract_id:,
|
152
|
+
# ID of the customer whose contract is to be amended
|
153
|
+
customer_id:,
|
154
|
+
# inclusive start time for the amendment
|
155
|
+
starting_at:,
|
156
|
+
commits: nil,
|
157
|
+
credits: nil,
|
158
|
+
custom_fields: nil,
|
159
|
+
# This field's availability is dependent on your client's configuration.
|
160
|
+
discounts: nil,
|
161
|
+
# This field's availability is dependent on your client's configuration.
|
162
|
+
netsuite_sales_order_id: nil,
|
163
|
+
overrides: nil,
|
164
|
+
# This field's availability is dependent on your client's configuration.
|
165
|
+
professional_services: nil,
|
166
|
+
# This field's availability is dependent on your client's configuration.
|
167
|
+
reseller_royalties: nil,
|
168
|
+
# This field's availability is dependent on your client's configuration.
|
169
|
+
salesforce_opportunity_id: nil,
|
170
|
+
scheduled_charges: nil,
|
171
|
+
# This field's availability is dependent on your client's configuration.
|
172
|
+
total_contract_value: nil,
|
173
|
+
request_options: {}
|
174
|
+
); end
|
175
|
+
sig do
|
176
|
+
override
|
177
|
+
.returns(
|
178
|
+
{
|
179
|
+
contract_id: String,
|
180
|
+
customer_id: String,
|
181
|
+
starting_at: Time,
|
182
|
+
commits: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit],
|
183
|
+
credits: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Credit],
|
184
|
+
custom_fields: T::Hash[Symbol, String],
|
185
|
+
discounts: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Discount],
|
186
|
+
netsuite_sales_order_id: String,
|
187
|
+
overrides: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Override],
|
188
|
+
professional_services: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::ProfessionalService],
|
189
|
+
reseller_royalties: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty],
|
190
|
+
salesforce_opportunity_id: String,
|
191
|
+
scheduled_charges: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge],
|
192
|
+
total_contract_value: Float,
|
193
|
+
request_options: MetronomeSDK::RequestOptions
|
194
|
+
}
|
195
|
+
)
|
196
|
+
end
|
197
|
+
def to_hash; end
|
198
|
+
|
199
|
+
class Commit < MetronomeSDK::Internal::Type::BaseModel
|
200
|
+
sig { returns(String) }
|
201
|
+
attr_accessor :product_id
|
202
|
+
|
203
|
+
sig { returns(MetronomeSDK::Models::V1::ContractAmendParams::Commit::Type::OrSymbol) }
|
204
|
+
attr_accessor :type
|
205
|
+
|
206
|
+
# Required: Schedule for distributing the commit to the customer. For "POSTPAID"
|
207
|
+
# commits only one schedule item is allowed and amount must match invoice_schedule
|
208
|
+
# total.
|
209
|
+
sig { returns(T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::Commit::AccessSchedule)) }
|
210
|
+
attr_reader :access_schedule
|
211
|
+
|
212
|
+
sig do
|
213
|
+
params(
|
214
|
+
access_schedule: T.any(
|
215
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::AccessSchedule,
|
216
|
+
MetronomeSDK::Internal::AnyHash
|
217
|
+
)
|
218
|
+
)
|
219
|
+
.void
|
220
|
+
end
|
221
|
+
attr_writer :access_schedule
|
222
|
+
|
223
|
+
# (DEPRECATED) Use access_schedule and invoice_schedule instead.
|
224
|
+
sig { returns(T.nilable(Float)) }
|
225
|
+
attr_reader :amount
|
226
|
+
|
227
|
+
sig { params(amount: Float).void }
|
228
|
+
attr_writer :amount
|
229
|
+
|
230
|
+
# Which products the commit applies to. If both applicable_product_ids and
|
231
|
+
# applicable_product_tags are not provided, the commit applies to all products.
|
232
|
+
sig { returns(T.nilable(T::Array[String])) }
|
233
|
+
attr_reader :applicable_product_ids
|
234
|
+
|
235
|
+
sig { params(applicable_product_ids: T::Array[String]).void }
|
236
|
+
attr_writer :applicable_product_ids
|
237
|
+
|
238
|
+
# Which tags the commit applies to. If both applicable_product_ids and
|
239
|
+
# applicable_product_tags are not provided, the commit applies to all products.
|
240
|
+
sig { returns(T.nilable(T::Array[String])) }
|
241
|
+
attr_reader :applicable_product_tags
|
242
|
+
|
243
|
+
sig { params(applicable_product_tags: T::Array[String]).void }
|
244
|
+
attr_writer :applicable_product_tags
|
245
|
+
|
246
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
247
|
+
attr_reader :custom_fields
|
248
|
+
|
249
|
+
sig { params(custom_fields: T::Hash[Symbol, String]).void }
|
250
|
+
attr_writer :custom_fields
|
251
|
+
|
252
|
+
# Used only in UI/API. It is not exposed to end customers.
|
253
|
+
sig { returns(T.nilable(String)) }
|
254
|
+
attr_reader :description
|
255
|
+
|
256
|
+
sig { params(description: String).void }
|
257
|
+
attr_writer :description
|
258
|
+
|
259
|
+
# Required for "POSTPAID" commits: the true up invoice will be generated at this
|
260
|
+
# time and only one schedule item is allowed; the total must match access_schedule
|
261
|
+
# amount. Optional for "PREPAID" commits: if not provided, this will be a
|
262
|
+
# "complimentary" commit with no invoice.
|
263
|
+
sig { returns(T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule)) }
|
264
|
+
attr_reader :invoice_schedule
|
265
|
+
|
266
|
+
sig do
|
267
|
+
params(
|
268
|
+
invoice_schedule: T.any(
|
269
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule,
|
270
|
+
MetronomeSDK::Internal::AnyHash
|
271
|
+
)
|
272
|
+
)
|
273
|
+
.void
|
274
|
+
end
|
275
|
+
attr_writer :invoice_schedule
|
276
|
+
|
277
|
+
# displayed on invoices
|
278
|
+
sig { returns(T.nilable(String)) }
|
279
|
+
attr_reader :name
|
280
|
+
|
281
|
+
sig { params(name: String).void }
|
282
|
+
attr_writer :name
|
283
|
+
|
284
|
+
# This field's availability is dependent on your client's configuration.
|
285
|
+
sig { returns(T.nilable(String)) }
|
286
|
+
attr_reader :netsuite_sales_order_id
|
287
|
+
|
288
|
+
sig { params(netsuite_sales_order_id: String).void }
|
289
|
+
attr_writer :netsuite_sales_order_id
|
290
|
+
|
291
|
+
# optionally payment gate this commit
|
292
|
+
sig { returns(T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig)) }
|
293
|
+
attr_reader :payment_gate_config
|
294
|
+
|
295
|
+
sig do
|
296
|
+
params(
|
297
|
+
payment_gate_config: T.any(
|
298
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig,
|
299
|
+
MetronomeSDK::Internal::AnyHash
|
300
|
+
)
|
301
|
+
)
|
302
|
+
.void
|
303
|
+
end
|
304
|
+
attr_writer :payment_gate_config
|
305
|
+
|
306
|
+
# If multiple commits are applicable, the one with the lower priority will apply
|
307
|
+
# first.
|
308
|
+
sig { returns(T.nilable(Float)) }
|
309
|
+
attr_reader :priority
|
310
|
+
|
311
|
+
sig { params(priority: Float).void }
|
312
|
+
attr_writer :priority
|
313
|
+
|
314
|
+
sig { returns(T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::Commit::RateType::OrSymbol)) }
|
315
|
+
attr_reader :rate_type
|
316
|
+
|
317
|
+
sig { params(rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::RateType::OrSymbol).void }
|
318
|
+
attr_writer :rate_type
|
319
|
+
|
320
|
+
# Fraction of unused segments that will be rolled over. Must be between 0 and 1.
|
321
|
+
sig { returns(T.nilable(Float)) }
|
322
|
+
attr_reader :rollover_fraction
|
323
|
+
|
324
|
+
sig { params(rollover_fraction: Float).void }
|
325
|
+
attr_writer :rollover_fraction
|
326
|
+
|
327
|
+
# A temporary ID for the commit that can be used to reference the commit for
|
328
|
+
# commit specific overrides.
|
329
|
+
sig { returns(T.nilable(String)) }
|
330
|
+
attr_reader :temporary_id
|
331
|
+
|
332
|
+
sig { params(temporary_id: String).void }
|
333
|
+
attr_writer :temporary_id
|
334
|
+
|
335
|
+
sig do
|
336
|
+
params(
|
337
|
+
product_id: String,
|
338
|
+
type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::Type::OrSymbol,
|
339
|
+
access_schedule: T.any(
|
340
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::AccessSchedule,
|
341
|
+
MetronomeSDK::Internal::AnyHash
|
342
|
+
),
|
343
|
+
amount: Float,
|
344
|
+
applicable_product_ids: T::Array[String],
|
345
|
+
applicable_product_tags: T::Array[String],
|
346
|
+
custom_fields: T::Hash[Symbol, String],
|
347
|
+
description: String,
|
348
|
+
invoice_schedule: T.any(
|
349
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule,
|
350
|
+
MetronomeSDK::Internal::AnyHash
|
351
|
+
),
|
352
|
+
name: String,
|
353
|
+
netsuite_sales_order_id: String,
|
354
|
+
payment_gate_config: T.any(
|
355
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig,
|
356
|
+
MetronomeSDK::Internal::AnyHash
|
357
|
+
),
|
358
|
+
priority: Float,
|
359
|
+
rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::RateType::OrSymbol,
|
360
|
+
rollover_fraction: Float,
|
361
|
+
temporary_id: String
|
362
|
+
)
|
363
|
+
.returns(T.attached_class)
|
364
|
+
end
|
365
|
+
def self.new(
|
366
|
+
product_id:,
|
367
|
+
type:,
|
368
|
+
# Required: Schedule for distributing the commit to the customer. For "POSTPAID"
|
369
|
+
# commits only one schedule item is allowed and amount must match invoice_schedule
|
370
|
+
# total.
|
371
|
+
access_schedule: nil,
|
372
|
+
# (DEPRECATED) Use access_schedule and invoice_schedule instead.
|
373
|
+
amount: nil,
|
374
|
+
# Which products the commit applies to. If both applicable_product_ids and
|
375
|
+
# applicable_product_tags are not provided, the commit applies to all products.
|
376
|
+
applicable_product_ids: nil,
|
377
|
+
# Which tags the commit applies to. If both applicable_product_ids and
|
378
|
+
# applicable_product_tags are not provided, the commit applies to all products.
|
379
|
+
applicable_product_tags: nil,
|
380
|
+
custom_fields: nil,
|
381
|
+
# Used only in UI/API. It is not exposed to end customers.
|
382
|
+
description: nil,
|
383
|
+
# Required for "POSTPAID" commits: the true up invoice will be generated at this
|
384
|
+
# time and only one schedule item is allowed; the total must match access_schedule
|
385
|
+
# amount. Optional for "PREPAID" commits: if not provided, this will be a
|
386
|
+
# "complimentary" commit with no invoice.
|
387
|
+
invoice_schedule: nil,
|
388
|
+
# displayed on invoices
|
389
|
+
name: nil,
|
390
|
+
# This field's availability is dependent on your client's configuration.
|
391
|
+
netsuite_sales_order_id: nil,
|
392
|
+
# optionally payment gate this commit
|
393
|
+
payment_gate_config: nil,
|
394
|
+
# If multiple commits are applicable, the one with the lower priority will apply
|
395
|
+
# first.
|
396
|
+
priority: nil,
|
397
|
+
rate_type: nil,
|
398
|
+
# Fraction of unused segments that will be rolled over. Must be between 0 and 1.
|
399
|
+
rollover_fraction: nil,
|
400
|
+
# A temporary ID for the commit that can be used to reference the commit for
|
401
|
+
# commit specific overrides.
|
402
|
+
temporary_id: nil
|
403
|
+
); end
|
404
|
+
sig do
|
405
|
+
override
|
406
|
+
.returns(
|
407
|
+
{
|
408
|
+
product_id: String,
|
409
|
+
type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::Type::OrSymbol,
|
410
|
+
access_schedule: MetronomeSDK::Models::V1::ContractAmendParams::Commit::AccessSchedule,
|
411
|
+
amount: Float,
|
412
|
+
applicable_product_ids: T::Array[String],
|
413
|
+
applicable_product_tags: T::Array[String],
|
414
|
+
custom_fields: T::Hash[Symbol, String],
|
415
|
+
description: String,
|
416
|
+
invoice_schedule: MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule,
|
417
|
+
name: String,
|
418
|
+
netsuite_sales_order_id: String,
|
419
|
+
payment_gate_config: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig,
|
420
|
+
priority: Float,
|
421
|
+
rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::RateType::OrSymbol,
|
422
|
+
rollover_fraction: Float,
|
423
|
+
temporary_id: String
|
424
|
+
}
|
425
|
+
)
|
426
|
+
end
|
427
|
+
def to_hash; end
|
428
|
+
|
429
|
+
module Type
|
430
|
+
extend MetronomeSDK::Internal::Type::Enum
|
431
|
+
|
432
|
+
TaggedSymbol =
|
433
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Commit::Type) }
|
434
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
435
|
+
|
436
|
+
PREPAID = T.let(:PREPAID, MetronomeSDK::Models::V1::ContractAmendParams::Commit::Type::TaggedSymbol)
|
437
|
+
POSTPAID = T.let(:POSTPAID, MetronomeSDK::Models::V1::ContractAmendParams::Commit::Type::TaggedSymbol)
|
438
|
+
|
439
|
+
sig { override.returns(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::Type::TaggedSymbol]) }
|
440
|
+
def self.values; end
|
441
|
+
end
|
442
|
+
|
443
|
+
class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
|
444
|
+
sig { returns(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::AccessSchedule::ScheduleItem]) }
|
445
|
+
attr_accessor :schedule_items
|
446
|
+
|
447
|
+
# Defaults to USD (cents) if not passed
|
448
|
+
sig { returns(T.nilable(String)) }
|
449
|
+
attr_reader :credit_type_id
|
450
|
+
|
451
|
+
sig { params(credit_type_id: String).void }
|
452
|
+
attr_writer :credit_type_id
|
453
|
+
|
454
|
+
# Required: Schedule for distributing the commit to the customer. For "POSTPAID"
|
455
|
+
# commits only one schedule item is allowed and amount must match invoice_schedule
|
456
|
+
# total.
|
457
|
+
sig do
|
458
|
+
params(
|
459
|
+
schedule_items: T::Array[
|
460
|
+
T.any(
|
461
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::AccessSchedule::ScheduleItem,
|
462
|
+
MetronomeSDK::Internal::AnyHash
|
463
|
+
)
|
464
|
+
],
|
465
|
+
credit_type_id: String
|
466
|
+
)
|
467
|
+
.returns(T.attached_class)
|
468
|
+
end
|
469
|
+
def self.new(
|
470
|
+
schedule_items:,
|
471
|
+
# Defaults to USD (cents) if not passed
|
472
|
+
credit_type_id: nil
|
473
|
+
); end
|
474
|
+
sig do
|
475
|
+
override
|
476
|
+
.returns(
|
477
|
+
{
|
478
|
+
schedule_items: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::AccessSchedule::ScheduleItem],
|
479
|
+
credit_type_id: String
|
480
|
+
}
|
481
|
+
)
|
482
|
+
end
|
483
|
+
def to_hash; end
|
484
|
+
|
485
|
+
class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
486
|
+
sig { returns(Float) }
|
487
|
+
attr_accessor :amount
|
488
|
+
|
489
|
+
# RFC 3339 timestamp (exclusive)
|
490
|
+
sig { returns(Time) }
|
491
|
+
attr_accessor :ending_before
|
492
|
+
|
493
|
+
# RFC 3339 timestamp (inclusive)
|
494
|
+
sig { returns(Time) }
|
495
|
+
attr_accessor :starting_at
|
496
|
+
|
497
|
+
sig { params(amount: Float, ending_before: Time, starting_at: Time).returns(T.attached_class) }
|
498
|
+
def self.new(
|
499
|
+
amount:,
|
500
|
+
# RFC 3339 timestamp (exclusive)
|
501
|
+
ending_before:,
|
502
|
+
# RFC 3339 timestamp (inclusive)
|
503
|
+
starting_at:
|
504
|
+
); end
|
505
|
+
sig { override.returns({amount: Float, ending_before: Time, starting_at: Time}) }
|
506
|
+
def to_hash; end
|
507
|
+
end
|
508
|
+
end
|
509
|
+
|
510
|
+
class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
|
511
|
+
# Defaults to USD (cents) if not passed.
|
512
|
+
sig { returns(T.nilable(String)) }
|
513
|
+
attr_reader :credit_type_id
|
514
|
+
|
515
|
+
sig { params(credit_type_id: String).void }
|
516
|
+
attr_writer :credit_type_id
|
517
|
+
|
518
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
519
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
520
|
+
# quantity is inferred to be 1.
|
521
|
+
sig do
|
522
|
+
returns(
|
523
|
+
T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule)
|
524
|
+
)
|
525
|
+
end
|
526
|
+
attr_reader :recurring_schedule
|
527
|
+
|
528
|
+
sig do
|
529
|
+
params(
|
530
|
+
recurring_schedule: T.any(
|
531
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule,
|
532
|
+
MetronomeSDK::Internal::AnyHash
|
533
|
+
)
|
534
|
+
)
|
535
|
+
.void
|
536
|
+
end
|
537
|
+
attr_writer :recurring_schedule
|
538
|
+
|
539
|
+
# Either provide amount or provide both unit_price and quantity.
|
540
|
+
sig do
|
541
|
+
returns(
|
542
|
+
T.nilable(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::ScheduleItem])
|
543
|
+
)
|
544
|
+
end
|
545
|
+
attr_reader :schedule_items
|
546
|
+
|
547
|
+
sig do
|
548
|
+
params(
|
549
|
+
schedule_items: T::Array[
|
550
|
+
T.any(
|
551
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::ScheduleItem,
|
552
|
+
MetronomeSDK::Internal::AnyHash
|
553
|
+
)
|
554
|
+
]
|
555
|
+
)
|
556
|
+
.void
|
557
|
+
end
|
558
|
+
attr_writer :schedule_items
|
559
|
+
|
560
|
+
# Required for "POSTPAID" commits: the true up invoice will be generated at this
|
561
|
+
# time and only one schedule item is allowed; the total must match access_schedule
|
562
|
+
# amount. Optional for "PREPAID" commits: if not provided, this will be a
|
563
|
+
# "complimentary" commit with no invoice.
|
564
|
+
sig do
|
565
|
+
params(
|
566
|
+
credit_type_id: String,
|
567
|
+
recurring_schedule: T.any(
|
568
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule,
|
569
|
+
MetronomeSDK::Internal::AnyHash
|
570
|
+
),
|
571
|
+
schedule_items: T::Array[
|
572
|
+
T.any(
|
573
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::ScheduleItem,
|
574
|
+
MetronomeSDK::Internal::AnyHash
|
575
|
+
)
|
576
|
+
]
|
577
|
+
)
|
578
|
+
.returns(T.attached_class)
|
579
|
+
end
|
580
|
+
def self.new(
|
581
|
+
# Defaults to USD (cents) if not passed.
|
582
|
+
credit_type_id: nil,
|
583
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
584
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
585
|
+
# quantity is inferred to be 1.
|
586
|
+
recurring_schedule: nil,
|
587
|
+
# Either provide amount or provide both unit_price and quantity.
|
588
|
+
schedule_items: nil
|
589
|
+
); end
|
590
|
+
sig do
|
591
|
+
override
|
592
|
+
.returns(
|
593
|
+
{
|
594
|
+
credit_type_id: String,
|
595
|
+
recurring_schedule: MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule,
|
596
|
+
schedule_items: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::ScheduleItem]
|
597
|
+
}
|
598
|
+
)
|
599
|
+
end
|
600
|
+
def to_hash; end
|
601
|
+
|
602
|
+
class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
|
603
|
+
sig do
|
604
|
+
returns(
|
605
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution::OrSymbol
|
606
|
+
)
|
607
|
+
end
|
608
|
+
attr_accessor :amount_distribution
|
609
|
+
|
610
|
+
# RFC 3339 timestamp (exclusive).
|
611
|
+
sig { returns(Time) }
|
612
|
+
attr_accessor :ending_before
|
613
|
+
|
614
|
+
sig do
|
615
|
+
returns(
|
616
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency::OrSymbol
|
617
|
+
)
|
618
|
+
end
|
619
|
+
attr_accessor :frequency
|
620
|
+
|
621
|
+
# RFC 3339 timestamp (inclusive).
|
622
|
+
sig { returns(Time) }
|
623
|
+
attr_accessor :starting_at
|
624
|
+
|
625
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
626
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
627
|
+
# inferred to be 1.
|
628
|
+
sig { returns(T.nilable(Float)) }
|
629
|
+
attr_reader :amount
|
630
|
+
|
631
|
+
sig { params(amount: Float).void }
|
632
|
+
attr_writer :amount
|
633
|
+
|
634
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
635
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
636
|
+
# provided.
|
637
|
+
sig { returns(T.nilable(Float)) }
|
638
|
+
attr_reader :quantity
|
639
|
+
|
640
|
+
sig { params(quantity: Float).void }
|
641
|
+
attr_writer :quantity
|
642
|
+
|
643
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
644
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
645
|
+
# provided.
|
646
|
+
sig { returns(T.nilable(Float)) }
|
647
|
+
attr_reader :unit_price
|
648
|
+
|
649
|
+
sig { params(unit_price: Float).void }
|
650
|
+
attr_writer :unit_price
|
651
|
+
|
652
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
653
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
654
|
+
# quantity is inferred to be 1.
|
655
|
+
sig do
|
656
|
+
params(
|
657
|
+
amount_distribution: MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution::OrSymbol,
|
658
|
+
ending_before: Time,
|
659
|
+
frequency: MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency::OrSymbol,
|
660
|
+
starting_at: Time,
|
661
|
+
amount: Float,
|
662
|
+
quantity: Float,
|
663
|
+
unit_price: Float
|
664
|
+
)
|
665
|
+
.returns(T.attached_class)
|
666
|
+
end
|
667
|
+
def self.new(
|
668
|
+
amount_distribution:,
|
669
|
+
# RFC 3339 timestamp (exclusive).
|
670
|
+
ending_before:,
|
671
|
+
frequency:,
|
672
|
+
# RFC 3339 timestamp (inclusive).
|
673
|
+
starting_at:,
|
674
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
675
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
676
|
+
# inferred to be 1.
|
677
|
+
amount: nil,
|
678
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
679
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
680
|
+
# provided.
|
681
|
+
quantity: nil,
|
682
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
683
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
684
|
+
# provided.
|
685
|
+
unit_price: nil
|
686
|
+
); end
|
687
|
+
sig do
|
688
|
+
override
|
689
|
+
.returns(
|
690
|
+
{
|
691
|
+
amount_distribution: MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution::OrSymbol,
|
692
|
+
ending_before: Time,
|
693
|
+
frequency: MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency::OrSymbol,
|
694
|
+
starting_at: Time,
|
695
|
+
amount: Float,
|
696
|
+
quantity: Float,
|
697
|
+
unit_price: Float
|
698
|
+
}
|
699
|
+
)
|
700
|
+
end
|
701
|
+
def to_hash; end
|
702
|
+
|
703
|
+
module AmountDistribution
|
704
|
+
extend MetronomeSDK::Internal::Type::Enum
|
705
|
+
|
706
|
+
TaggedSymbol =
|
707
|
+
T.type_alias do
|
708
|
+
T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution)
|
709
|
+
end
|
710
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
711
|
+
|
712
|
+
DIVIDED =
|
713
|
+
T.let(
|
714
|
+
:DIVIDED,
|
715
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution::TaggedSymbol
|
716
|
+
)
|
717
|
+
DIVIDED_ROUNDED =
|
718
|
+
T.let(
|
719
|
+
:DIVIDED_ROUNDED,
|
720
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution::TaggedSymbol
|
721
|
+
)
|
722
|
+
EACH =
|
723
|
+
T.let(
|
724
|
+
:EACH,
|
725
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution::TaggedSymbol
|
726
|
+
)
|
727
|
+
|
728
|
+
sig do
|
729
|
+
override
|
730
|
+
.returns(
|
731
|
+
T::Array[
|
732
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution::TaggedSymbol
|
733
|
+
]
|
734
|
+
)
|
735
|
+
end
|
736
|
+
def self.values; end
|
737
|
+
end
|
738
|
+
|
739
|
+
module Frequency
|
740
|
+
extend MetronomeSDK::Internal::Type::Enum
|
741
|
+
|
742
|
+
TaggedSymbol =
|
743
|
+
T.type_alias do
|
744
|
+
T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency)
|
745
|
+
end
|
746
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
747
|
+
|
748
|
+
MONTHLY =
|
749
|
+
T.let(
|
750
|
+
:MONTHLY,
|
751
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency::TaggedSymbol
|
752
|
+
)
|
753
|
+
QUARTERLY =
|
754
|
+
T.let(
|
755
|
+
:QUARTERLY,
|
756
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency::TaggedSymbol
|
757
|
+
)
|
758
|
+
SEMI_ANNUAL =
|
759
|
+
T.let(
|
760
|
+
:SEMI_ANNUAL,
|
761
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency::TaggedSymbol
|
762
|
+
)
|
763
|
+
ANNUAL =
|
764
|
+
T.let(
|
765
|
+
:ANNUAL,
|
766
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency::TaggedSymbol
|
767
|
+
)
|
768
|
+
|
769
|
+
sig do
|
770
|
+
override
|
771
|
+
.returns(
|
772
|
+
T::Array[
|
773
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency::TaggedSymbol
|
774
|
+
]
|
775
|
+
)
|
776
|
+
end
|
777
|
+
def self.values; end
|
778
|
+
end
|
779
|
+
end
|
780
|
+
|
781
|
+
class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
782
|
+
# timestamp of the scheduled event
|
783
|
+
sig { returns(Time) }
|
784
|
+
attr_accessor :timestamp
|
785
|
+
|
786
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
787
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
788
|
+
# inferred to be 1.
|
789
|
+
sig { returns(T.nilable(Float)) }
|
790
|
+
attr_reader :amount
|
791
|
+
|
792
|
+
sig { params(amount: Float).void }
|
793
|
+
attr_writer :amount
|
794
|
+
|
795
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
796
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
797
|
+
# provided.
|
798
|
+
sig { returns(T.nilable(Float)) }
|
799
|
+
attr_reader :quantity
|
800
|
+
|
801
|
+
sig { params(quantity: Float).void }
|
802
|
+
attr_writer :quantity
|
803
|
+
|
804
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
805
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
806
|
+
# provided.
|
807
|
+
sig { returns(T.nilable(Float)) }
|
808
|
+
attr_reader :unit_price
|
809
|
+
|
810
|
+
sig { params(unit_price: Float).void }
|
811
|
+
attr_writer :unit_price
|
812
|
+
|
813
|
+
sig do
|
814
|
+
params(
|
815
|
+
timestamp: Time,
|
816
|
+
amount: Float,
|
817
|
+
quantity: Float,
|
818
|
+
unit_price: Float
|
819
|
+
).returns(T.attached_class)
|
820
|
+
end
|
821
|
+
def self.new(
|
822
|
+
# timestamp of the scheduled event
|
823
|
+
timestamp:,
|
824
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
825
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
826
|
+
# inferred to be 1.
|
827
|
+
amount: nil,
|
828
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
829
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
830
|
+
# provided.
|
831
|
+
quantity: nil,
|
832
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
833
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
834
|
+
# provided.
|
835
|
+
unit_price: nil
|
836
|
+
); end
|
837
|
+
sig { override.returns({timestamp: Time, amount: Float, quantity: Float, unit_price: Float}) }
|
838
|
+
def to_hash; end
|
839
|
+
end
|
840
|
+
end
|
841
|
+
|
842
|
+
class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
|
843
|
+
# Gate access to the commit balance based on successful collection of payment.
|
844
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
845
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
846
|
+
# wish to payment gate the commit balance.
|
847
|
+
sig do
|
848
|
+
returns(
|
849
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::PaymentGateType::OrSymbol
|
850
|
+
)
|
851
|
+
end
|
852
|
+
attr_accessor :payment_gate_type
|
853
|
+
|
854
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
855
|
+
sig { returns(T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig)) }
|
856
|
+
attr_reader :stripe_config
|
857
|
+
|
858
|
+
sig do
|
859
|
+
params(
|
860
|
+
stripe_config: T.any(
|
861
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig,
|
862
|
+
MetronomeSDK::Internal::AnyHash
|
863
|
+
)
|
864
|
+
)
|
865
|
+
.void
|
866
|
+
end
|
867
|
+
attr_writer :stripe_config
|
868
|
+
|
869
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
870
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
871
|
+
# will default to NONE.
|
872
|
+
sig do
|
873
|
+
returns(
|
874
|
+
T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::OrSymbol)
|
875
|
+
)
|
876
|
+
end
|
877
|
+
attr_reader :tax_type
|
878
|
+
|
879
|
+
sig do
|
880
|
+
params(
|
881
|
+
tax_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::OrSymbol
|
882
|
+
)
|
883
|
+
.void
|
884
|
+
end
|
885
|
+
attr_writer :tax_type
|
886
|
+
|
887
|
+
# optionally payment gate this commit
|
888
|
+
sig do
|
889
|
+
params(
|
890
|
+
payment_gate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::PaymentGateType::OrSymbol,
|
891
|
+
stripe_config: T.any(
|
892
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig,
|
893
|
+
MetronomeSDK::Internal::AnyHash
|
894
|
+
),
|
895
|
+
tax_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::OrSymbol
|
896
|
+
)
|
897
|
+
.returns(T.attached_class)
|
898
|
+
end
|
899
|
+
def self.new(
|
900
|
+
# Gate access to the commit balance based on successful collection of payment.
|
901
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
902
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
903
|
+
# wish to payment gate the commit balance.
|
904
|
+
payment_gate_type:,
|
905
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
906
|
+
stripe_config: nil,
|
907
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
908
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
909
|
+
# will default to NONE.
|
910
|
+
tax_type: nil
|
911
|
+
); end
|
912
|
+
sig do
|
913
|
+
override
|
914
|
+
.returns(
|
915
|
+
{
|
916
|
+
payment_gate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::PaymentGateType::OrSymbol,
|
917
|
+
stripe_config: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig,
|
918
|
+
tax_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::OrSymbol
|
919
|
+
}
|
920
|
+
)
|
921
|
+
end
|
922
|
+
def to_hash; end
|
923
|
+
|
924
|
+
# Gate access to the commit balance based on successful collection of payment.
|
925
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
926
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
927
|
+
# wish to payment gate the commit balance.
|
928
|
+
module PaymentGateType
|
929
|
+
extend MetronomeSDK::Internal::Type::Enum
|
930
|
+
|
931
|
+
TaggedSymbol =
|
932
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::PaymentGateType) }
|
933
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
934
|
+
|
935
|
+
NONE =
|
936
|
+
T.let(
|
937
|
+
:NONE,
|
938
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
939
|
+
)
|
940
|
+
STRIPE =
|
941
|
+
T.let(
|
942
|
+
:STRIPE,
|
943
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
944
|
+
)
|
945
|
+
EXTERNAL =
|
946
|
+
T.let(
|
947
|
+
:EXTERNAL,
|
948
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
949
|
+
)
|
950
|
+
|
951
|
+
sig do
|
952
|
+
override
|
953
|
+
.returns(
|
954
|
+
T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::PaymentGateType::TaggedSymbol]
|
955
|
+
)
|
956
|
+
end
|
957
|
+
def self.values; end
|
958
|
+
end
|
959
|
+
|
960
|
+
class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
|
961
|
+
# If left blank, will default to INVOICE
|
962
|
+
sig do
|
963
|
+
returns(
|
964
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
|
965
|
+
)
|
966
|
+
end
|
967
|
+
attr_accessor :payment_type
|
968
|
+
|
969
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
970
|
+
sig do
|
971
|
+
params(
|
972
|
+
payment_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
|
973
|
+
)
|
974
|
+
.returns(T.attached_class)
|
975
|
+
end
|
976
|
+
def self.new(
|
977
|
+
# If left blank, will default to INVOICE
|
978
|
+
payment_type:
|
979
|
+
); end
|
980
|
+
sig do
|
981
|
+
override
|
982
|
+
.returns(
|
983
|
+
{
|
984
|
+
payment_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
|
985
|
+
}
|
986
|
+
)
|
987
|
+
end
|
988
|
+
def to_hash; end
|
989
|
+
|
990
|
+
# If left blank, will default to INVOICE
|
991
|
+
module PaymentType
|
992
|
+
extend MetronomeSDK::Internal::Type::Enum
|
993
|
+
|
994
|
+
TaggedSymbol =
|
995
|
+
T.type_alias do
|
996
|
+
T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType)
|
997
|
+
end
|
998
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
999
|
+
|
1000
|
+
INVOICE =
|
1001
|
+
T.let(
|
1002
|
+
:INVOICE,
|
1003
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
1004
|
+
)
|
1005
|
+
PAYMENT_INTENT =
|
1006
|
+
T.let(
|
1007
|
+
:PAYMENT_INTENT,
|
1008
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
1009
|
+
)
|
1010
|
+
|
1011
|
+
sig do
|
1012
|
+
override
|
1013
|
+
.returns(
|
1014
|
+
T::Array[
|
1015
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
1016
|
+
]
|
1017
|
+
)
|
1018
|
+
end
|
1019
|
+
def self.values; end
|
1020
|
+
end
|
1021
|
+
end
|
1022
|
+
|
1023
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
1024
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
1025
|
+
# will default to NONE.
|
1026
|
+
module TaxType
|
1027
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1028
|
+
|
1029
|
+
TaggedSymbol =
|
1030
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType) }
|
1031
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1032
|
+
|
1033
|
+
NONE =
|
1034
|
+
T.let(
|
1035
|
+
:NONE,
|
1036
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol
|
1037
|
+
)
|
1038
|
+
STRIPE =
|
1039
|
+
T.let(
|
1040
|
+
:STRIPE,
|
1041
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol
|
1042
|
+
)
|
1043
|
+
|
1044
|
+
sig do
|
1045
|
+
override
|
1046
|
+
.returns(
|
1047
|
+
T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol]
|
1048
|
+
)
|
1049
|
+
end
|
1050
|
+
def self.values; end
|
1051
|
+
end
|
1052
|
+
end
|
1053
|
+
|
1054
|
+
module RateType
|
1055
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1056
|
+
|
1057
|
+
TaggedSymbol =
|
1058
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Commit::RateType) }
|
1059
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1060
|
+
|
1061
|
+
COMMIT_RATE =
|
1062
|
+
T.let(:COMMIT_RATE, MetronomeSDK::Models::V1::ContractAmendParams::Commit::RateType::TaggedSymbol)
|
1063
|
+
LIST_RATE =
|
1064
|
+
T.let(:LIST_RATE, MetronomeSDK::Models::V1::ContractAmendParams::Commit::RateType::TaggedSymbol)
|
1065
|
+
|
1066
|
+
sig { override.returns(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::RateType::TaggedSymbol]) }
|
1067
|
+
def self.values; end
|
1068
|
+
end
|
1069
|
+
end
|
1070
|
+
|
1071
|
+
class Credit < MetronomeSDK::Internal::Type::BaseModel
|
1072
|
+
# Schedule for distributing the credit to the customer.
|
1073
|
+
sig { returns(MetronomeSDK::Models::V1::ContractAmendParams::Credit::AccessSchedule) }
|
1074
|
+
attr_reader :access_schedule
|
1075
|
+
|
1076
|
+
sig do
|
1077
|
+
params(
|
1078
|
+
access_schedule: T.any(
|
1079
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Credit::AccessSchedule,
|
1080
|
+
MetronomeSDK::Internal::AnyHash
|
1081
|
+
)
|
1082
|
+
)
|
1083
|
+
.void
|
1084
|
+
end
|
1085
|
+
attr_writer :access_schedule
|
1086
|
+
|
1087
|
+
sig { returns(String) }
|
1088
|
+
attr_accessor :product_id
|
1089
|
+
|
1090
|
+
# Which products the credit applies to. If both applicable_product_ids and
|
1091
|
+
# applicable_product_tags are not provided, the credit applies to all products.
|
1092
|
+
sig { returns(T.nilable(T::Array[String])) }
|
1093
|
+
attr_reader :applicable_product_ids
|
1094
|
+
|
1095
|
+
sig { params(applicable_product_ids: T::Array[String]).void }
|
1096
|
+
attr_writer :applicable_product_ids
|
1097
|
+
|
1098
|
+
# Which tags the credit applies to. If both applicable_product_ids and
|
1099
|
+
# applicable_product_tags are not provided, the credit applies to all products.
|
1100
|
+
sig { returns(T.nilable(T::Array[String])) }
|
1101
|
+
attr_reader :applicable_product_tags
|
1102
|
+
|
1103
|
+
sig { params(applicable_product_tags: T::Array[String]).void }
|
1104
|
+
attr_writer :applicable_product_tags
|
1105
|
+
|
1106
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
1107
|
+
attr_reader :custom_fields
|
1108
|
+
|
1109
|
+
sig { params(custom_fields: T::Hash[Symbol, String]).void }
|
1110
|
+
attr_writer :custom_fields
|
1111
|
+
|
1112
|
+
# Used only in UI/API. It is not exposed to end customers.
|
1113
|
+
sig { returns(T.nilable(String)) }
|
1114
|
+
attr_reader :description
|
1115
|
+
|
1116
|
+
sig { params(description: String).void }
|
1117
|
+
attr_writer :description
|
1118
|
+
|
1119
|
+
# displayed on invoices
|
1120
|
+
sig { returns(T.nilable(String)) }
|
1121
|
+
attr_reader :name
|
1122
|
+
|
1123
|
+
sig { params(name: String).void }
|
1124
|
+
attr_writer :name
|
1125
|
+
|
1126
|
+
# This field's availability is dependent on your client's configuration.
|
1127
|
+
sig { returns(T.nilable(String)) }
|
1128
|
+
attr_reader :netsuite_sales_order_id
|
1129
|
+
|
1130
|
+
sig { params(netsuite_sales_order_id: String).void }
|
1131
|
+
attr_writer :netsuite_sales_order_id
|
1132
|
+
|
1133
|
+
# If multiple credits are applicable, the one with the lower priority will apply
|
1134
|
+
# first.
|
1135
|
+
sig { returns(T.nilable(Float)) }
|
1136
|
+
attr_reader :priority
|
1137
|
+
|
1138
|
+
sig { params(priority: Float).void }
|
1139
|
+
attr_writer :priority
|
1140
|
+
|
1141
|
+
sig { returns(T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::Credit::RateType::OrSymbol)) }
|
1142
|
+
attr_reader :rate_type
|
1143
|
+
|
1144
|
+
sig { params(rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Credit::RateType::OrSymbol).void }
|
1145
|
+
attr_writer :rate_type
|
1146
|
+
|
1147
|
+
sig do
|
1148
|
+
params(
|
1149
|
+
access_schedule: T.any(
|
1150
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Credit::AccessSchedule,
|
1151
|
+
MetronomeSDK::Internal::AnyHash
|
1152
|
+
),
|
1153
|
+
product_id: String,
|
1154
|
+
applicable_product_ids: T::Array[String],
|
1155
|
+
applicable_product_tags: T::Array[String],
|
1156
|
+
custom_fields: T::Hash[Symbol, String],
|
1157
|
+
description: String,
|
1158
|
+
name: String,
|
1159
|
+
netsuite_sales_order_id: String,
|
1160
|
+
priority: Float,
|
1161
|
+
rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Credit::RateType::OrSymbol
|
1162
|
+
)
|
1163
|
+
.returns(T.attached_class)
|
1164
|
+
end
|
1165
|
+
def self.new(
|
1166
|
+
# Schedule for distributing the credit to the customer.
|
1167
|
+
access_schedule:,
|
1168
|
+
product_id:,
|
1169
|
+
# Which products the credit applies to. If both applicable_product_ids and
|
1170
|
+
# applicable_product_tags are not provided, the credit applies to all products.
|
1171
|
+
applicable_product_ids: nil,
|
1172
|
+
# Which tags the credit applies to. If both applicable_product_ids and
|
1173
|
+
# applicable_product_tags are not provided, the credit applies to all products.
|
1174
|
+
applicable_product_tags: nil,
|
1175
|
+
custom_fields: nil,
|
1176
|
+
# Used only in UI/API. It is not exposed to end customers.
|
1177
|
+
description: nil,
|
1178
|
+
# displayed on invoices
|
1179
|
+
name: nil,
|
1180
|
+
# This field's availability is dependent on your client's configuration.
|
1181
|
+
netsuite_sales_order_id: nil,
|
1182
|
+
# If multiple credits are applicable, the one with the lower priority will apply
|
1183
|
+
# first.
|
1184
|
+
priority: nil,
|
1185
|
+
rate_type: nil
|
1186
|
+
); end
|
1187
|
+
sig do
|
1188
|
+
override
|
1189
|
+
.returns(
|
1190
|
+
{
|
1191
|
+
access_schedule: MetronomeSDK::Models::V1::ContractAmendParams::Credit::AccessSchedule,
|
1192
|
+
product_id: String,
|
1193
|
+
applicable_product_ids: T::Array[String],
|
1194
|
+
applicable_product_tags: T::Array[String],
|
1195
|
+
custom_fields: T::Hash[Symbol, String],
|
1196
|
+
description: String,
|
1197
|
+
name: String,
|
1198
|
+
netsuite_sales_order_id: String,
|
1199
|
+
priority: Float,
|
1200
|
+
rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Credit::RateType::OrSymbol
|
1201
|
+
}
|
1202
|
+
)
|
1203
|
+
end
|
1204
|
+
def to_hash; end
|
1205
|
+
|
1206
|
+
class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
|
1207
|
+
sig { returns(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Credit::AccessSchedule::ScheduleItem]) }
|
1208
|
+
attr_accessor :schedule_items
|
1209
|
+
|
1210
|
+
# Defaults to USD (cents) if not passed
|
1211
|
+
sig { returns(T.nilable(String)) }
|
1212
|
+
attr_reader :credit_type_id
|
1213
|
+
|
1214
|
+
sig { params(credit_type_id: String).void }
|
1215
|
+
attr_writer :credit_type_id
|
1216
|
+
|
1217
|
+
# Schedule for distributing the credit to the customer.
|
1218
|
+
sig do
|
1219
|
+
params(
|
1220
|
+
schedule_items: T::Array[
|
1221
|
+
T.any(
|
1222
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Credit::AccessSchedule::ScheduleItem,
|
1223
|
+
MetronomeSDK::Internal::AnyHash
|
1224
|
+
)
|
1225
|
+
],
|
1226
|
+
credit_type_id: String
|
1227
|
+
)
|
1228
|
+
.returns(T.attached_class)
|
1229
|
+
end
|
1230
|
+
def self.new(
|
1231
|
+
schedule_items:,
|
1232
|
+
# Defaults to USD (cents) if not passed
|
1233
|
+
credit_type_id: nil
|
1234
|
+
); end
|
1235
|
+
sig do
|
1236
|
+
override
|
1237
|
+
.returns(
|
1238
|
+
{
|
1239
|
+
schedule_items: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Credit::AccessSchedule::ScheduleItem],
|
1240
|
+
credit_type_id: String
|
1241
|
+
}
|
1242
|
+
)
|
1243
|
+
end
|
1244
|
+
def to_hash; end
|
1245
|
+
|
1246
|
+
class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
1247
|
+
sig { returns(Float) }
|
1248
|
+
attr_accessor :amount
|
1249
|
+
|
1250
|
+
# RFC 3339 timestamp (exclusive)
|
1251
|
+
sig { returns(Time) }
|
1252
|
+
attr_accessor :ending_before
|
1253
|
+
|
1254
|
+
# RFC 3339 timestamp (inclusive)
|
1255
|
+
sig { returns(Time) }
|
1256
|
+
attr_accessor :starting_at
|
1257
|
+
|
1258
|
+
sig { params(amount: Float, ending_before: Time, starting_at: Time).returns(T.attached_class) }
|
1259
|
+
def self.new(
|
1260
|
+
amount:,
|
1261
|
+
# RFC 3339 timestamp (exclusive)
|
1262
|
+
ending_before:,
|
1263
|
+
# RFC 3339 timestamp (inclusive)
|
1264
|
+
starting_at:
|
1265
|
+
); end
|
1266
|
+
sig { override.returns({amount: Float, ending_before: Time, starting_at: Time}) }
|
1267
|
+
def to_hash; end
|
1268
|
+
end
|
1269
|
+
end
|
1270
|
+
|
1271
|
+
module RateType
|
1272
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1273
|
+
|
1274
|
+
TaggedSymbol =
|
1275
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Credit::RateType) }
|
1276
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1277
|
+
|
1278
|
+
COMMIT_RATE =
|
1279
|
+
T.let(:COMMIT_RATE, MetronomeSDK::Models::V1::ContractAmendParams::Credit::RateType::TaggedSymbol)
|
1280
|
+
LIST_RATE =
|
1281
|
+
T.let(:LIST_RATE, MetronomeSDK::Models::V1::ContractAmendParams::Credit::RateType::TaggedSymbol)
|
1282
|
+
|
1283
|
+
sig { override.returns(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Credit::RateType::TaggedSymbol]) }
|
1284
|
+
def self.values; end
|
1285
|
+
end
|
1286
|
+
end
|
1287
|
+
|
1288
|
+
class Discount < MetronomeSDK::Internal::Type::BaseModel
|
1289
|
+
sig { returns(String) }
|
1290
|
+
attr_accessor :product_id
|
1291
|
+
|
1292
|
+
# Must provide either schedule_items or recurring_schedule.
|
1293
|
+
sig { returns(MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule) }
|
1294
|
+
attr_reader :schedule
|
1295
|
+
|
1296
|
+
sig do
|
1297
|
+
params(
|
1298
|
+
schedule: T.any(MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule, MetronomeSDK::Internal::AnyHash)
|
1299
|
+
)
|
1300
|
+
.void
|
1301
|
+
end
|
1302
|
+
attr_writer :schedule
|
1303
|
+
|
1304
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
1305
|
+
attr_reader :custom_fields
|
1306
|
+
|
1307
|
+
sig { params(custom_fields: T::Hash[Symbol, String]).void }
|
1308
|
+
attr_writer :custom_fields
|
1309
|
+
|
1310
|
+
# displayed on invoices
|
1311
|
+
sig { returns(T.nilable(String)) }
|
1312
|
+
attr_reader :name
|
1313
|
+
|
1314
|
+
sig { params(name: String).void }
|
1315
|
+
attr_writer :name
|
1316
|
+
|
1317
|
+
# This field's availability is dependent on your client's configuration.
|
1318
|
+
sig { returns(T.nilable(String)) }
|
1319
|
+
attr_reader :netsuite_sales_order_id
|
1320
|
+
|
1321
|
+
sig { params(netsuite_sales_order_id: String).void }
|
1322
|
+
attr_writer :netsuite_sales_order_id
|
1323
|
+
|
1324
|
+
sig do
|
1325
|
+
params(
|
1326
|
+
product_id: String,
|
1327
|
+
schedule: T.any(MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule, MetronomeSDK::Internal::AnyHash),
|
1328
|
+
custom_fields: T::Hash[Symbol, String],
|
1329
|
+
name: String,
|
1330
|
+
netsuite_sales_order_id: String
|
1331
|
+
)
|
1332
|
+
.returns(T.attached_class)
|
1333
|
+
end
|
1334
|
+
def self.new(
|
1335
|
+
product_id:,
|
1336
|
+
# Must provide either schedule_items or recurring_schedule.
|
1337
|
+
schedule:,
|
1338
|
+
custom_fields: nil,
|
1339
|
+
# displayed on invoices
|
1340
|
+
name: nil,
|
1341
|
+
# This field's availability is dependent on your client's configuration.
|
1342
|
+
netsuite_sales_order_id: nil
|
1343
|
+
); end
|
1344
|
+
sig do
|
1345
|
+
override
|
1346
|
+
.returns(
|
1347
|
+
{
|
1348
|
+
product_id: String,
|
1349
|
+
schedule: MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule,
|
1350
|
+
custom_fields: T::Hash[Symbol, String],
|
1351
|
+
name: String,
|
1352
|
+
netsuite_sales_order_id: String
|
1353
|
+
}
|
1354
|
+
)
|
1355
|
+
end
|
1356
|
+
def to_hash; end
|
1357
|
+
|
1358
|
+
class Schedule < MetronomeSDK::Internal::Type::BaseModel
|
1359
|
+
# Defaults to USD (cents) if not passed.
|
1360
|
+
sig { returns(T.nilable(String)) }
|
1361
|
+
attr_reader :credit_type_id
|
1362
|
+
|
1363
|
+
sig { params(credit_type_id: String).void }
|
1364
|
+
attr_writer :credit_type_id
|
1365
|
+
|
1366
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
1367
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
1368
|
+
# quantity is inferred to be 1.
|
1369
|
+
sig { returns(T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule)) }
|
1370
|
+
attr_reader :recurring_schedule
|
1371
|
+
|
1372
|
+
sig do
|
1373
|
+
params(
|
1374
|
+
recurring_schedule: T.any(
|
1375
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule,
|
1376
|
+
MetronomeSDK::Internal::AnyHash
|
1377
|
+
)
|
1378
|
+
)
|
1379
|
+
.void
|
1380
|
+
end
|
1381
|
+
attr_writer :recurring_schedule
|
1382
|
+
|
1383
|
+
# Either provide amount or provide both unit_price and quantity.
|
1384
|
+
sig do
|
1385
|
+
returns(
|
1386
|
+
T.nilable(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::ScheduleItem])
|
1387
|
+
)
|
1388
|
+
end
|
1389
|
+
attr_reader :schedule_items
|
1390
|
+
|
1391
|
+
sig do
|
1392
|
+
params(
|
1393
|
+
schedule_items: T::Array[
|
1394
|
+
T.any(
|
1395
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::ScheduleItem,
|
1396
|
+
MetronomeSDK::Internal::AnyHash
|
1397
|
+
)
|
1398
|
+
]
|
1399
|
+
)
|
1400
|
+
.void
|
1401
|
+
end
|
1402
|
+
attr_writer :schedule_items
|
1403
|
+
|
1404
|
+
# Must provide either schedule_items or recurring_schedule.
|
1405
|
+
sig do
|
1406
|
+
params(
|
1407
|
+
credit_type_id: String,
|
1408
|
+
recurring_schedule: T.any(
|
1409
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule,
|
1410
|
+
MetronomeSDK::Internal::AnyHash
|
1411
|
+
),
|
1412
|
+
schedule_items: T::Array[
|
1413
|
+
T.any(
|
1414
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::ScheduleItem,
|
1415
|
+
MetronomeSDK::Internal::AnyHash
|
1416
|
+
)
|
1417
|
+
]
|
1418
|
+
)
|
1419
|
+
.returns(T.attached_class)
|
1420
|
+
end
|
1421
|
+
def self.new(
|
1422
|
+
# Defaults to USD (cents) if not passed.
|
1423
|
+
credit_type_id: nil,
|
1424
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
1425
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
1426
|
+
# quantity is inferred to be 1.
|
1427
|
+
recurring_schedule: nil,
|
1428
|
+
# Either provide amount or provide both unit_price and quantity.
|
1429
|
+
schedule_items: nil
|
1430
|
+
); end
|
1431
|
+
sig do
|
1432
|
+
override
|
1433
|
+
.returns(
|
1434
|
+
{
|
1435
|
+
credit_type_id: String,
|
1436
|
+
recurring_schedule: MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule,
|
1437
|
+
schedule_items: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::ScheduleItem]
|
1438
|
+
}
|
1439
|
+
)
|
1440
|
+
end
|
1441
|
+
def to_hash; end
|
1442
|
+
|
1443
|
+
class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
|
1444
|
+
sig do
|
1445
|
+
returns(
|
1446
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::AmountDistribution::OrSymbol
|
1447
|
+
)
|
1448
|
+
end
|
1449
|
+
attr_accessor :amount_distribution
|
1450
|
+
|
1451
|
+
# RFC 3339 timestamp (exclusive).
|
1452
|
+
sig { returns(Time) }
|
1453
|
+
attr_accessor :ending_before
|
1454
|
+
|
1455
|
+
sig do
|
1456
|
+
returns(
|
1457
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::Frequency::OrSymbol
|
1458
|
+
)
|
1459
|
+
end
|
1460
|
+
attr_accessor :frequency
|
1461
|
+
|
1462
|
+
# RFC 3339 timestamp (inclusive).
|
1463
|
+
sig { returns(Time) }
|
1464
|
+
attr_accessor :starting_at
|
1465
|
+
|
1466
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
1467
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
1468
|
+
# inferred to be 1.
|
1469
|
+
sig { returns(T.nilable(Float)) }
|
1470
|
+
attr_reader :amount
|
1471
|
+
|
1472
|
+
sig { params(amount: Float).void }
|
1473
|
+
attr_writer :amount
|
1474
|
+
|
1475
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
1476
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
1477
|
+
# provided.
|
1478
|
+
sig { returns(T.nilable(Float)) }
|
1479
|
+
attr_reader :quantity
|
1480
|
+
|
1481
|
+
sig { params(quantity: Float).void }
|
1482
|
+
attr_writer :quantity
|
1483
|
+
|
1484
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
1485
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
1486
|
+
# provided.
|
1487
|
+
sig { returns(T.nilable(Float)) }
|
1488
|
+
attr_reader :unit_price
|
1489
|
+
|
1490
|
+
sig { params(unit_price: Float).void }
|
1491
|
+
attr_writer :unit_price
|
1492
|
+
|
1493
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
1494
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
1495
|
+
# quantity is inferred to be 1.
|
1496
|
+
sig do
|
1497
|
+
params(
|
1498
|
+
amount_distribution: MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::AmountDistribution::OrSymbol,
|
1499
|
+
ending_before: Time,
|
1500
|
+
frequency: MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::Frequency::OrSymbol,
|
1501
|
+
starting_at: Time,
|
1502
|
+
amount: Float,
|
1503
|
+
quantity: Float,
|
1504
|
+
unit_price: Float
|
1505
|
+
)
|
1506
|
+
.returns(T.attached_class)
|
1507
|
+
end
|
1508
|
+
def self.new(
|
1509
|
+
amount_distribution:,
|
1510
|
+
# RFC 3339 timestamp (exclusive).
|
1511
|
+
ending_before:,
|
1512
|
+
frequency:,
|
1513
|
+
# RFC 3339 timestamp (inclusive).
|
1514
|
+
starting_at:,
|
1515
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
1516
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
1517
|
+
# inferred to be 1.
|
1518
|
+
amount: nil,
|
1519
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
1520
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
1521
|
+
# provided.
|
1522
|
+
quantity: nil,
|
1523
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
1524
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
1525
|
+
# provided.
|
1526
|
+
unit_price: nil
|
1527
|
+
); end
|
1528
|
+
sig do
|
1529
|
+
override
|
1530
|
+
.returns(
|
1531
|
+
{
|
1532
|
+
amount_distribution: MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::AmountDistribution::OrSymbol,
|
1533
|
+
ending_before: Time,
|
1534
|
+
frequency: MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::Frequency::OrSymbol,
|
1535
|
+
starting_at: Time,
|
1536
|
+
amount: Float,
|
1537
|
+
quantity: Float,
|
1538
|
+
unit_price: Float
|
1539
|
+
}
|
1540
|
+
)
|
1541
|
+
end
|
1542
|
+
def to_hash; end
|
1543
|
+
|
1544
|
+
module AmountDistribution
|
1545
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1546
|
+
|
1547
|
+
TaggedSymbol =
|
1548
|
+
T.type_alias do
|
1549
|
+
T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::AmountDistribution)
|
1550
|
+
end
|
1551
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1552
|
+
|
1553
|
+
DIVIDED =
|
1554
|
+
T.let(
|
1555
|
+
:DIVIDED,
|
1556
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::AmountDistribution::TaggedSymbol
|
1557
|
+
)
|
1558
|
+
DIVIDED_ROUNDED =
|
1559
|
+
T.let(
|
1560
|
+
:DIVIDED_ROUNDED,
|
1561
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::AmountDistribution::TaggedSymbol
|
1562
|
+
)
|
1563
|
+
EACH =
|
1564
|
+
T.let(
|
1565
|
+
:EACH,
|
1566
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::AmountDistribution::TaggedSymbol
|
1567
|
+
)
|
1568
|
+
|
1569
|
+
sig do
|
1570
|
+
override
|
1571
|
+
.returns(
|
1572
|
+
T::Array[
|
1573
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::AmountDistribution::TaggedSymbol
|
1574
|
+
]
|
1575
|
+
)
|
1576
|
+
end
|
1577
|
+
def self.values; end
|
1578
|
+
end
|
1579
|
+
|
1580
|
+
module Frequency
|
1581
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1582
|
+
|
1583
|
+
TaggedSymbol =
|
1584
|
+
T.type_alias do
|
1585
|
+
T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::Frequency)
|
1586
|
+
end
|
1587
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1588
|
+
|
1589
|
+
MONTHLY =
|
1590
|
+
T.let(
|
1591
|
+
:MONTHLY,
|
1592
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::Frequency::TaggedSymbol
|
1593
|
+
)
|
1594
|
+
QUARTERLY =
|
1595
|
+
T.let(
|
1596
|
+
:QUARTERLY,
|
1597
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::Frequency::TaggedSymbol
|
1598
|
+
)
|
1599
|
+
SEMI_ANNUAL =
|
1600
|
+
T.let(
|
1601
|
+
:SEMI_ANNUAL,
|
1602
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::Frequency::TaggedSymbol
|
1603
|
+
)
|
1604
|
+
ANNUAL =
|
1605
|
+
T.let(
|
1606
|
+
:ANNUAL,
|
1607
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::Frequency::TaggedSymbol
|
1608
|
+
)
|
1609
|
+
|
1610
|
+
sig do
|
1611
|
+
override
|
1612
|
+
.returns(
|
1613
|
+
T::Array[
|
1614
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::Frequency::TaggedSymbol
|
1615
|
+
]
|
1616
|
+
)
|
1617
|
+
end
|
1618
|
+
def self.values; end
|
1619
|
+
end
|
1620
|
+
end
|
1621
|
+
|
1622
|
+
class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
1623
|
+
# timestamp of the scheduled event
|
1624
|
+
sig { returns(Time) }
|
1625
|
+
attr_accessor :timestamp
|
1626
|
+
|
1627
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
1628
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
1629
|
+
# inferred to be 1.
|
1630
|
+
sig { returns(T.nilable(Float)) }
|
1631
|
+
attr_reader :amount
|
1632
|
+
|
1633
|
+
sig { params(amount: Float).void }
|
1634
|
+
attr_writer :amount
|
1635
|
+
|
1636
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
1637
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
1638
|
+
# provided.
|
1639
|
+
sig { returns(T.nilable(Float)) }
|
1640
|
+
attr_reader :quantity
|
1641
|
+
|
1642
|
+
sig { params(quantity: Float).void }
|
1643
|
+
attr_writer :quantity
|
1644
|
+
|
1645
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
1646
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
1647
|
+
# provided.
|
1648
|
+
sig { returns(T.nilable(Float)) }
|
1649
|
+
attr_reader :unit_price
|
1650
|
+
|
1651
|
+
sig { params(unit_price: Float).void }
|
1652
|
+
attr_writer :unit_price
|
1653
|
+
|
1654
|
+
sig do
|
1655
|
+
params(
|
1656
|
+
timestamp: Time,
|
1657
|
+
amount: Float,
|
1658
|
+
quantity: Float,
|
1659
|
+
unit_price: Float
|
1660
|
+
).returns(T.attached_class)
|
1661
|
+
end
|
1662
|
+
def self.new(
|
1663
|
+
# timestamp of the scheduled event
|
1664
|
+
timestamp:,
|
1665
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
1666
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
1667
|
+
# inferred to be 1.
|
1668
|
+
amount: nil,
|
1669
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
1670
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
1671
|
+
# provided.
|
1672
|
+
quantity: nil,
|
1673
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
1674
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
1675
|
+
# provided.
|
1676
|
+
unit_price: nil
|
1677
|
+
); end
|
1678
|
+
sig { override.returns({timestamp: Time, amount: Float, quantity: Float, unit_price: Float}) }
|
1679
|
+
def to_hash; end
|
1680
|
+
end
|
1681
|
+
end
|
1682
|
+
end
|
1683
|
+
|
1684
|
+
class Override < MetronomeSDK::Internal::Type::BaseModel
|
1685
|
+
# RFC 3339 timestamp indicating when the override will start applying (inclusive)
|
1686
|
+
sig { returns(Time) }
|
1687
|
+
attr_accessor :starting_at
|
1688
|
+
|
1689
|
+
# tags identifying products whose rates are being overridden. Cannot be used in
|
1690
|
+
# conjunction with override_specifiers.
|
1691
|
+
sig { returns(T.nilable(T::Array[String])) }
|
1692
|
+
attr_reader :applicable_product_tags
|
1693
|
+
|
1694
|
+
sig { params(applicable_product_tags: T::Array[String]).void }
|
1695
|
+
attr_writer :applicable_product_tags
|
1696
|
+
|
1697
|
+
# RFC 3339 timestamp indicating when the override will stop applying (exclusive)
|
1698
|
+
sig { returns(T.nilable(Time)) }
|
1699
|
+
attr_reader :ending_before
|
1700
|
+
|
1701
|
+
sig { params(ending_before: Time).void }
|
1702
|
+
attr_writer :ending_before
|
1703
|
+
|
1704
|
+
sig { returns(T.nilable(T::Boolean)) }
|
1705
|
+
attr_reader :entitled
|
1706
|
+
|
1707
|
+
sig { params(entitled: T::Boolean).void }
|
1708
|
+
attr_writer :entitled
|
1709
|
+
|
1710
|
+
# Indicates whether the override should only apply to commits. Defaults to
|
1711
|
+
# `false`. If `true`, you can specify relevant commits in `override_specifiers` by
|
1712
|
+
# passing `commit_ids`. if you do not specify `commit_ids`, then the override will
|
1713
|
+
# apply when consuming any prepaid or postpaid commit.
|
1714
|
+
sig { returns(T.nilable(T::Boolean)) }
|
1715
|
+
attr_reader :is_commit_specific
|
1716
|
+
|
1717
|
+
sig { params(is_commit_specific: T::Boolean).void }
|
1718
|
+
attr_writer :is_commit_specific
|
1719
|
+
|
1720
|
+
# Required for MULTIPLIER type. Must be >=0.
|
1721
|
+
sig { returns(T.nilable(Float)) }
|
1722
|
+
attr_reader :multiplier
|
1723
|
+
|
1724
|
+
sig { params(multiplier: Float).void }
|
1725
|
+
attr_writer :multiplier
|
1726
|
+
|
1727
|
+
# Cannot be used in conjunction with product_id or applicable_product_tags. If
|
1728
|
+
# provided, the override will apply to all products with the specified specifiers.
|
1729
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Override::OverrideSpecifier])) }
|
1730
|
+
attr_reader :override_specifiers
|
1731
|
+
|
1732
|
+
sig do
|
1733
|
+
params(
|
1734
|
+
override_specifiers: T::Array[
|
1735
|
+
T.any(
|
1736
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Override::OverrideSpecifier,
|
1737
|
+
MetronomeSDK::Internal::AnyHash
|
1738
|
+
)
|
1739
|
+
]
|
1740
|
+
)
|
1741
|
+
.void
|
1742
|
+
end
|
1743
|
+
attr_writer :override_specifiers
|
1744
|
+
|
1745
|
+
# Required for OVERWRITE type.
|
1746
|
+
sig { returns(T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate)) }
|
1747
|
+
attr_reader :overwrite_rate
|
1748
|
+
|
1749
|
+
sig do
|
1750
|
+
params(
|
1751
|
+
overwrite_rate: T.any(
|
1752
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate,
|
1753
|
+
MetronomeSDK::Internal::AnyHash
|
1754
|
+
)
|
1755
|
+
)
|
1756
|
+
.void
|
1757
|
+
end
|
1758
|
+
attr_writer :overwrite_rate
|
1759
|
+
|
1760
|
+
# Required for EXPLICIT multiplier prioritization scheme and all TIERED overrides.
|
1761
|
+
# Under EXPLICIT prioritization, overwrites are prioritized first, and then tiered
|
1762
|
+
# and multiplier overrides are prioritized by their priority value (lowest first).
|
1763
|
+
# Must be > 0.
|
1764
|
+
sig { returns(T.nilable(Float)) }
|
1765
|
+
attr_reader :priority
|
1766
|
+
|
1767
|
+
sig { params(priority: Float).void }
|
1768
|
+
attr_writer :priority
|
1769
|
+
|
1770
|
+
# ID of the product whose rate is being overridden. Cannot be used in conjunction
|
1771
|
+
# with override_specifiers.
|
1772
|
+
sig { returns(T.nilable(String)) }
|
1773
|
+
attr_reader :product_id
|
1774
|
+
|
1775
|
+
sig { params(product_id: String).void }
|
1776
|
+
attr_writer :product_id
|
1777
|
+
|
1778
|
+
# Indicates whether the override applies to commit rates or list rates. Can only
|
1779
|
+
# be used for overrides that have `is_commit_specific` set to `true`. Defaults to
|
1780
|
+
# `"LIST_RATE"`.
|
1781
|
+
sig { returns(T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::Override::Target::OrSymbol)) }
|
1782
|
+
attr_reader :target
|
1783
|
+
|
1784
|
+
sig { params(target: MetronomeSDK::Models::V1::ContractAmendParams::Override::Target::OrSymbol).void }
|
1785
|
+
attr_writer :target
|
1786
|
+
|
1787
|
+
# Required for TIERED type. Must have at least one tier.
|
1788
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Override::Tier])) }
|
1789
|
+
attr_reader :tiers
|
1790
|
+
|
1791
|
+
sig do
|
1792
|
+
params(
|
1793
|
+
tiers: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::Override::Tier, MetronomeSDK::Internal::AnyHash)]
|
1794
|
+
)
|
1795
|
+
.void
|
1796
|
+
end
|
1797
|
+
attr_writer :tiers
|
1798
|
+
|
1799
|
+
# Overwrites are prioritized over multipliers and tiered overrides.
|
1800
|
+
sig { returns(T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::Override::Type::OrSymbol)) }
|
1801
|
+
attr_reader :type
|
1802
|
+
|
1803
|
+
sig { params(type: MetronomeSDK::Models::V1::ContractAmendParams::Override::Type::OrSymbol).void }
|
1804
|
+
attr_writer :type
|
1805
|
+
|
1806
|
+
sig do
|
1807
|
+
params(
|
1808
|
+
starting_at: Time,
|
1809
|
+
applicable_product_tags: T::Array[String],
|
1810
|
+
ending_before: Time,
|
1811
|
+
entitled: T::Boolean,
|
1812
|
+
is_commit_specific: T::Boolean,
|
1813
|
+
multiplier: Float,
|
1814
|
+
override_specifiers: T::Array[
|
1815
|
+
T.any(
|
1816
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Override::OverrideSpecifier,
|
1817
|
+
MetronomeSDK::Internal::AnyHash
|
1818
|
+
)
|
1819
|
+
],
|
1820
|
+
overwrite_rate: T.any(
|
1821
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate,
|
1822
|
+
MetronomeSDK::Internal::AnyHash
|
1823
|
+
),
|
1824
|
+
priority: Float,
|
1825
|
+
product_id: String,
|
1826
|
+
target: MetronomeSDK::Models::V1::ContractAmendParams::Override::Target::OrSymbol,
|
1827
|
+
tiers: T::Array[T.any(MetronomeSDK::Models::V1::ContractAmendParams::Override::Tier, MetronomeSDK::Internal::AnyHash)],
|
1828
|
+
type: MetronomeSDK::Models::V1::ContractAmendParams::Override::Type::OrSymbol
|
1829
|
+
)
|
1830
|
+
.returns(T.attached_class)
|
1831
|
+
end
|
1832
|
+
def self.new(
|
1833
|
+
# RFC 3339 timestamp indicating when the override will start applying (inclusive)
|
1834
|
+
starting_at:,
|
1835
|
+
# tags identifying products whose rates are being overridden. Cannot be used in
|
1836
|
+
# conjunction with override_specifiers.
|
1837
|
+
applicable_product_tags: nil,
|
1838
|
+
# RFC 3339 timestamp indicating when the override will stop applying (exclusive)
|
1839
|
+
ending_before: nil,
|
1840
|
+
entitled: nil,
|
1841
|
+
# Indicates whether the override should only apply to commits. Defaults to
|
1842
|
+
# `false`. If `true`, you can specify relevant commits in `override_specifiers` by
|
1843
|
+
# passing `commit_ids`. if you do not specify `commit_ids`, then the override will
|
1844
|
+
# apply when consuming any prepaid or postpaid commit.
|
1845
|
+
is_commit_specific: nil,
|
1846
|
+
# Required for MULTIPLIER type. Must be >=0.
|
1847
|
+
multiplier: nil,
|
1848
|
+
# Cannot be used in conjunction with product_id or applicable_product_tags. If
|
1849
|
+
# provided, the override will apply to all products with the specified specifiers.
|
1850
|
+
override_specifiers: nil,
|
1851
|
+
# Required for OVERWRITE type.
|
1852
|
+
overwrite_rate: nil,
|
1853
|
+
# Required for EXPLICIT multiplier prioritization scheme and all TIERED overrides.
|
1854
|
+
# Under EXPLICIT prioritization, overwrites are prioritized first, and then tiered
|
1855
|
+
# and multiplier overrides are prioritized by their priority value (lowest first).
|
1856
|
+
# Must be > 0.
|
1857
|
+
priority: nil,
|
1858
|
+
# ID of the product whose rate is being overridden. Cannot be used in conjunction
|
1859
|
+
# with override_specifiers.
|
1860
|
+
product_id: nil,
|
1861
|
+
# Indicates whether the override applies to commit rates or list rates. Can only
|
1862
|
+
# be used for overrides that have `is_commit_specific` set to `true`. Defaults to
|
1863
|
+
# `"LIST_RATE"`.
|
1864
|
+
target: nil,
|
1865
|
+
# Required for TIERED type. Must have at least one tier.
|
1866
|
+
tiers: nil,
|
1867
|
+
# Overwrites are prioritized over multipliers and tiered overrides.
|
1868
|
+
type: nil
|
1869
|
+
); end
|
1870
|
+
sig do
|
1871
|
+
override
|
1872
|
+
.returns(
|
1873
|
+
{
|
1874
|
+
starting_at: Time,
|
1875
|
+
applicable_product_tags: T::Array[String],
|
1876
|
+
ending_before: Time,
|
1877
|
+
entitled: T::Boolean,
|
1878
|
+
is_commit_specific: T::Boolean,
|
1879
|
+
multiplier: Float,
|
1880
|
+
override_specifiers: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Override::OverrideSpecifier],
|
1881
|
+
overwrite_rate: MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate,
|
1882
|
+
priority: Float,
|
1883
|
+
product_id: String,
|
1884
|
+
target: MetronomeSDK::Models::V1::ContractAmendParams::Override::Target::OrSymbol,
|
1885
|
+
tiers: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Override::Tier],
|
1886
|
+
type: MetronomeSDK::Models::V1::ContractAmendParams::Override::Type::OrSymbol
|
1887
|
+
}
|
1888
|
+
)
|
1889
|
+
end
|
1890
|
+
def to_hash; end
|
1891
|
+
|
1892
|
+
class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
1893
|
+
# Can only be used for commit specific overrides. Must be used in conjunction with
|
1894
|
+
# one of product_id, product_tags, pricing_group_values, or
|
1895
|
+
# presentation_group_values. If provided, the override will only apply to the
|
1896
|
+
# specified commits. If not provided, the override will apply to all commits.
|
1897
|
+
sig { returns(T.nilable(T::Array[String])) }
|
1898
|
+
attr_reader :commit_ids
|
1899
|
+
|
1900
|
+
sig { params(commit_ids: T::Array[String]).void }
|
1901
|
+
attr_writer :commit_ids
|
1902
|
+
|
1903
|
+
# A map of group names to values. The override will only apply to line items with
|
1904
|
+
# the specified presentation group values.
|
1905
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
1906
|
+
attr_reader :presentation_group_values
|
1907
|
+
|
1908
|
+
sig { params(presentation_group_values: T::Hash[Symbol, String]).void }
|
1909
|
+
attr_writer :presentation_group_values
|
1910
|
+
|
1911
|
+
# A map of pricing group names to values. The override will only apply to products
|
1912
|
+
# with the specified pricing group values.
|
1913
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
1914
|
+
attr_reader :pricing_group_values
|
1915
|
+
|
1916
|
+
sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
|
1917
|
+
attr_writer :pricing_group_values
|
1918
|
+
|
1919
|
+
# If provided, the override will only apply to the product with the specified ID.
|
1920
|
+
sig { returns(T.nilable(String)) }
|
1921
|
+
attr_reader :product_id
|
1922
|
+
|
1923
|
+
sig { params(product_id: String).void }
|
1924
|
+
attr_writer :product_id
|
1925
|
+
|
1926
|
+
# If provided, the override will only apply to products with all the specified
|
1927
|
+
# tags.
|
1928
|
+
sig { returns(T.nilable(T::Array[String])) }
|
1929
|
+
attr_reader :product_tags
|
1930
|
+
|
1931
|
+
sig { params(product_tags: T::Array[String]).void }
|
1932
|
+
attr_writer :product_tags
|
1933
|
+
|
1934
|
+
# Can only be used for commit specific overrides. Must be used in conjunction with
|
1935
|
+
# one of product_id, product_tags, pricing_group_values, or
|
1936
|
+
# presentation_group_values. If provided, the override will only apply to commits
|
1937
|
+
# created by the specified recurring commit ids.
|
1938
|
+
sig { returns(T.nilable(T::Array[String])) }
|
1939
|
+
attr_reader :recurring_commit_ids
|
1940
|
+
|
1941
|
+
sig { params(recurring_commit_ids: T::Array[String]).void }
|
1942
|
+
attr_writer :recurring_commit_ids
|
1943
|
+
|
1944
|
+
# Can only be used for commit specific overrides. Must be used in conjunction with
|
1945
|
+
# one of product_id, product_tags, pricing_group_values, or
|
1946
|
+
# presentation_group_values. If provided, the override will only apply to credits
|
1947
|
+
# created by the specified recurring credit ids.
|
1948
|
+
sig { returns(T.nilable(T::Array[String])) }
|
1949
|
+
attr_reader :recurring_credit_ids
|
1950
|
+
|
1951
|
+
sig { params(recurring_credit_ids: T::Array[String]).void }
|
1952
|
+
attr_writer :recurring_credit_ids
|
1953
|
+
|
1954
|
+
sig do
|
1955
|
+
params(
|
1956
|
+
commit_ids: T::Array[String],
|
1957
|
+
presentation_group_values: T::Hash[Symbol, String],
|
1958
|
+
pricing_group_values: T::Hash[Symbol, String],
|
1959
|
+
product_id: String,
|
1960
|
+
product_tags: T::Array[String],
|
1961
|
+
recurring_commit_ids: T::Array[String],
|
1962
|
+
recurring_credit_ids: T::Array[String]
|
1963
|
+
)
|
1964
|
+
.returns(T.attached_class)
|
1965
|
+
end
|
1966
|
+
def self.new(
|
1967
|
+
# Can only be used for commit specific overrides. Must be used in conjunction with
|
1968
|
+
# one of product_id, product_tags, pricing_group_values, or
|
1969
|
+
# presentation_group_values. If provided, the override will only apply to the
|
1970
|
+
# specified commits. If not provided, the override will apply to all commits.
|
1971
|
+
commit_ids: nil,
|
1972
|
+
# A map of group names to values. The override will only apply to line items with
|
1973
|
+
# the specified presentation group values.
|
1974
|
+
presentation_group_values: nil,
|
1975
|
+
# A map of pricing group names to values. The override will only apply to products
|
1976
|
+
# with the specified pricing group values.
|
1977
|
+
pricing_group_values: nil,
|
1978
|
+
# If provided, the override will only apply to the product with the specified ID.
|
1979
|
+
product_id: nil,
|
1980
|
+
# If provided, the override will only apply to products with all the specified
|
1981
|
+
# tags.
|
1982
|
+
product_tags: nil,
|
1983
|
+
# Can only be used for commit specific overrides. Must be used in conjunction with
|
1984
|
+
# one of product_id, product_tags, pricing_group_values, or
|
1985
|
+
# presentation_group_values. If provided, the override will only apply to commits
|
1986
|
+
# created by the specified recurring commit ids.
|
1987
|
+
recurring_commit_ids: nil,
|
1988
|
+
# Can only be used for commit specific overrides. Must be used in conjunction with
|
1989
|
+
# one of product_id, product_tags, pricing_group_values, or
|
1990
|
+
# presentation_group_values. If provided, the override will only apply to credits
|
1991
|
+
# created by the specified recurring credit ids.
|
1992
|
+
recurring_credit_ids: nil
|
1993
|
+
); end
|
1994
|
+
sig do
|
1995
|
+
override
|
1996
|
+
.returns(
|
1997
|
+
{
|
1998
|
+
commit_ids: T::Array[String],
|
1999
|
+
presentation_group_values: T::Hash[Symbol, String],
|
2000
|
+
pricing_group_values: T::Hash[Symbol, String],
|
2001
|
+
product_id: String,
|
2002
|
+
product_tags: T::Array[String],
|
2003
|
+
recurring_commit_ids: T::Array[String],
|
2004
|
+
recurring_credit_ids: T::Array[String]
|
2005
|
+
}
|
2006
|
+
)
|
2007
|
+
end
|
2008
|
+
def to_hash; end
|
2009
|
+
end
|
2010
|
+
|
2011
|
+
class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
|
2012
|
+
sig { returns(MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::RateType::OrSymbol) }
|
2013
|
+
attr_accessor :rate_type
|
2014
|
+
|
2015
|
+
sig { returns(T.nilable(String)) }
|
2016
|
+
attr_reader :credit_type_id
|
2017
|
+
|
2018
|
+
sig { params(credit_type_id: String).void }
|
2019
|
+
attr_writer :credit_type_id
|
2020
|
+
|
2021
|
+
# Only set for CUSTOM rate_type. This field is interpreted by custom rate
|
2022
|
+
# processors.
|
2023
|
+
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
2024
|
+
attr_reader :custom_rate
|
2025
|
+
|
2026
|
+
sig { params(custom_rate: T::Hash[Symbol, T.anything]).void }
|
2027
|
+
attr_writer :custom_rate
|
2028
|
+
|
2029
|
+
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
2030
|
+
# set to true.
|
2031
|
+
sig { returns(T.nilable(T::Boolean)) }
|
2032
|
+
attr_reader :is_prorated
|
2033
|
+
|
2034
|
+
sig { params(is_prorated: T::Boolean).void }
|
2035
|
+
attr_writer :is_prorated
|
2036
|
+
|
2037
|
+
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
2038
|
+
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
2039
|
+
sig { returns(T.nilable(Float)) }
|
2040
|
+
attr_reader :price
|
2041
|
+
|
2042
|
+
sig { params(price: Float).void }
|
2043
|
+
attr_writer :price
|
2044
|
+
|
2045
|
+
# Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
|
2046
|
+
sig { returns(T.nilable(Float)) }
|
2047
|
+
attr_reader :quantity
|
2048
|
+
|
2049
|
+
sig { params(quantity: Float).void }
|
2050
|
+
attr_writer :quantity
|
2051
|
+
|
2052
|
+
# Only set for TIERED rate_type.
|
2053
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::Tier])) }
|
2054
|
+
attr_reader :tiers
|
2055
|
+
|
2056
|
+
sig { params(tiers: T::Array[T.any(MetronomeSDK::Models::Tier, MetronomeSDK::Internal::AnyHash)]).void }
|
2057
|
+
attr_writer :tiers
|
2058
|
+
|
2059
|
+
# Required for OVERWRITE type.
|
2060
|
+
sig do
|
2061
|
+
params(
|
2062
|
+
rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::RateType::OrSymbol,
|
2063
|
+
credit_type_id: String,
|
2064
|
+
custom_rate: T::Hash[Symbol, T.anything],
|
2065
|
+
is_prorated: T::Boolean,
|
2066
|
+
price: Float,
|
2067
|
+
quantity: Float,
|
2068
|
+
tiers: T::Array[T.any(MetronomeSDK::Models::Tier, MetronomeSDK::Internal::AnyHash)]
|
2069
|
+
)
|
2070
|
+
.returns(T.attached_class)
|
2071
|
+
end
|
2072
|
+
def self.new(
|
2073
|
+
rate_type:,
|
2074
|
+
credit_type_id: nil,
|
2075
|
+
# Only set for CUSTOM rate_type. This field is interpreted by custom rate
|
2076
|
+
# processors.
|
2077
|
+
custom_rate: nil,
|
2078
|
+
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
2079
|
+
# set to true.
|
2080
|
+
is_prorated: nil,
|
2081
|
+
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
2082
|
+
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
2083
|
+
price: nil,
|
2084
|
+
# Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
|
2085
|
+
quantity: nil,
|
2086
|
+
# Only set for TIERED rate_type.
|
2087
|
+
tiers: nil
|
2088
|
+
); end
|
2089
|
+
sig do
|
2090
|
+
override
|
2091
|
+
.returns(
|
2092
|
+
{
|
2093
|
+
rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::RateType::OrSymbol,
|
2094
|
+
credit_type_id: String,
|
2095
|
+
custom_rate: T::Hash[Symbol, T.anything],
|
2096
|
+
is_prorated: T::Boolean,
|
2097
|
+
price: Float,
|
2098
|
+
quantity: Float,
|
2099
|
+
tiers: T::Array[MetronomeSDK::Models::Tier]
|
2100
|
+
}
|
2101
|
+
)
|
2102
|
+
end
|
2103
|
+
def to_hash; end
|
2104
|
+
|
2105
|
+
module RateType
|
2106
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2107
|
+
|
2108
|
+
TaggedSymbol =
|
2109
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::RateType) }
|
2110
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
2111
|
+
|
2112
|
+
FLAT =
|
2113
|
+
T.let(
|
2114
|
+
:FLAT,
|
2115
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::RateType::TaggedSymbol
|
2116
|
+
)
|
2117
|
+
PERCENTAGE =
|
2118
|
+
T.let(
|
2119
|
+
:PERCENTAGE,
|
2120
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::RateType::TaggedSymbol
|
2121
|
+
)
|
2122
|
+
SUBSCRIPTION =
|
2123
|
+
T.let(
|
2124
|
+
:SUBSCRIPTION,
|
2125
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::RateType::TaggedSymbol
|
2126
|
+
)
|
2127
|
+
TIERED =
|
2128
|
+
T.let(
|
2129
|
+
:TIERED,
|
2130
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::RateType::TaggedSymbol
|
2131
|
+
)
|
2132
|
+
CUSTOM =
|
2133
|
+
T.let(
|
2134
|
+
:CUSTOM,
|
2135
|
+
MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::RateType::TaggedSymbol
|
2136
|
+
)
|
2137
|
+
|
2138
|
+
sig do
|
2139
|
+
override
|
2140
|
+
.returns(
|
2141
|
+
T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::RateType::TaggedSymbol]
|
2142
|
+
)
|
2143
|
+
end
|
2144
|
+
def self.values; end
|
2145
|
+
end
|
2146
|
+
end
|
2147
|
+
|
2148
|
+
# Indicates whether the override applies to commit rates or list rates. Can only
|
2149
|
+
# be used for overrides that have `is_commit_specific` set to `true`. Defaults to
|
2150
|
+
# `"LIST_RATE"`.
|
2151
|
+
module Target
|
2152
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2153
|
+
|
2154
|
+
TaggedSymbol =
|
2155
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Override::Target) }
|
2156
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
2157
|
+
|
2158
|
+
COMMIT_RATE =
|
2159
|
+
T.let(:COMMIT_RATE, MetronomeSDK::Models::V1::ContractAmendParams::Override::Target::TaggedSymbol)
|
2160
|
+
LIST_RATE =
|
2161
|
+
T.let(:LIST_RATE, MetronomeSDK::Models::V1::ContractAmendParams::Override::Target::TaggedSymbol)
|
2162
|
+
|
2163
|
+
sig { override.returns(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Override::Target::TaggedSymbol]) }
|
2164
|
+
def self.values; end
|
2165
|
+
end
|
2166
|
+
|
2167
|
+
class Tier < MetronomeSDK::Internal::Type::BaseModel
|
2168
|
+
sig { returns(Float) }
|
2169
|
+
attr_accessor :multiplier
|
2170
|
+
|
2171
|
+
sig { returns(T.nilable(Float)) }
|
2172
|
+
attr_reader :size
|
2173
|
+
|
2174
|
+
sig { params(size: Float).void }
|
2175
|
+
attr_writer :size
|
2176
|
+
|
2177
|
+
sig { params(multiplier: Float, size: Float).returns(T.attached_class) }
|
2178
|
+
def self.new(multiplier:, size: nil); end
|
2179
|
+
|
2180
|
+
sig { override.returns({multiplier: Float, size: Float}) }
|
2181
|
+
def to_hash; end
|
2182
|
+
end
|
2183
|
+
|
2184
|
+
# Overwrites are prioritized over multipliers and tiered overrides.
|
2185
|
+
module Type
|
2186
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2187
|
+
|
2188
|
+
TaggedSymbol =
|
2189
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::Override::Type) }
|
2190
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
2191
|
+
|
2192
|
+
OVERWRITE =
|
2193
|
+
T.let(:OVERWRITE, MetronomeSDK::Models::V1::ContractAmendParams::Override::Type::TaggedSymbol)
|
2194
|
+
MULTIPLIER =
|
2195
|
+
T.let(:MULTIPLIER, MetronomeSDK::Models::V1::ContractAmendParams::Override::Type::TaggedSymbol)
|
2196
|
+
TIERED = T.let(:TIERED, MetronomeSDK::Models::V1::ContractAmendParams::Override::Type::TaggedSymbol)
|
2197
|
+
|
2198
|
+
sig { override.returns(T::Array[MetronomeSDK::Models::V1::ContractAmendParams::Override::Type::TaggedSymbol]) }
|
2199
|
+
def self.values; end
|
2200
|
+
end
|
2201
|
+
end
|
2202
|
+
|
2203
|
+
class ProfessionalService < MetronomeSDK::Internal::Type::BaseModel
|
2204
|
+
# Maximum amount for the term.
|
2205
|
+
sig { returns(Float) }
|
2206
|
+
attr_accessor :max_amount
|
2207
|
+
|
2208
|
+
sig { returns(String) }
|
2209
|
+
attr_accessor :product_id
|
2210
|
+
|
2211
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
2212
|
+
# amount.
|
2213
|
+
sig { returns(Float) }
|
2214
|
+
attr_accessor :quantity
|
2215
|
+
|
2216
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
2217
|
+
# amount and must be specified.
|
2218
|
+
sig { returns(Float) }
|
2219
|
+
attr_accessor :unit_price
|
2220
|
+
|
2221
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
2222
|
+
attr_reader :custom_fields
|
2223
|
+
|
2224
|
+
sig { params(custom_fields: T::Hash[Symbol, String]).void }
|
2225
|
+
attr_writer :custom_fields
|
2226
|
+
|
2227
|
+
sig { returns(T.nilable(String)) }
|
2228
|
+
attr_reader :description
|
2229
|
+
|
2230
|
+
sig { params(description: String).void }
|
2231
|
+
attr_writer :description
|
2232
|
+
|
2233
|
+
# This field's availability is dependent on your client's configuration.
|
2234
|
+
sig { returns(T.nilable(String)) }
|
2235
|
+
attr_reader :netsuite_sales_order_id
|
2236
|
+
|
2237
|
+
sig { params(netsuite_sales_order_id: String).void }
|
2238
|
+
attr_writer :netsuite_sales_order_id
|
2239
|
+
|
2240
|
+
sig do
|
2241
|
+
params(
|
2242
|
+
max_amount: Float,
|
2243
|
+
product_id: String,
|
2244
|
+
quantity: Float,
|
2245
|
+
unit_price: Float,
|
2246
|
+
custom_fields: T::Hash[Symbol, String],
|
2247
|
+
description: String,
|
2248
|
+
netsuite_sales_order_id: String
|
2249
|
+
)
|
2250
|
+
.returns(T.attached_class)
|
2251
|
+
end
|
2252
|
+
def self.new(
|
2253
|
+
# Maximum amount for the term.
|
2254
|
+
max_amount:,
|
2255
|
+
product_id:,
|
2256
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
2257
|
+
# amount.
|
2258
|
+
quantity:,
|
2259
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
2260
|
+
# amount and must be specified.
|
2261
|
+
unit_price:,
|
2262
|
+
custom_fields: nil,
|
2263
|
+
description: nil,
|
2264
|
+
# This field's availability is dependent on your client's configuration.
|
2265
|
+
netsuite_sales_order_id: nil
|
2266
|
+
); end
|
2267
|
+
sig do
|
2268
|
+
override
|
2269
|
+
.returns(
|
2270
|
+
{
|
2271
|
+
max_amount: Float,
|
2272
|
+
product_id: String,
|
2273
|
+
quantity: Float,
|
2274
|
+
unit_price: Float,
|
2275
|
+
custom_fields: T::Hash[Symbol, String],
|
2276
|
+
description: String,
|
2277
|
+
netsuite_sales_order_id: String
|
2278
|
+
}
|
2279
|
+
)
|
2280
|
+
end
|
2281
|
+
def to_hash; end
|
2282
|
+
end
|
2283
|
+
|
2284
|
+
class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
|
2285
|
+
sig { returns(MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::ResellerType::OrSymbol) }
|
2286
|
+
attr_accessor :reseller_type
|
2287
|
+
|
2288
|
+
# Must provide at least one of applicable_product_ids or applicable_product_tags.
|
2289
|
+
sig { returns(T.nilable(T::Array[String])) }
|
2290
|
+
attr_reader :applicable_product_ids
|
2291
|
+
|
2292
|
+
sig { params(applicable_product_ids: T::Array[String]).void }
|
2293
|
+
attr_writer :applicable_product_ids
|
2294
|
+
|
2295
|
+
# Must provide at least one of applicable_product_ids or applicable_product_tags.
|
2296
|
+
sig { returns(T.nilable(T::Array[String])) }
|
2297
|
+
attr_reader :applicable_product_tags
|
2298
|
+
|
2299
|
+
sig { params(applicable_product_tags: T::Array[String]).void }
|
2300
|
+
attr_writer :applicable_product_tags
|
2301
|
+
|
2302
|
+
sig { returns(T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::AwsOptions)) }
|
2303
|
+
attr_reader :aws_options
|
2304
|
+
|
2305
|
+
sig do
|
2306
|
+
params(
|
2307
|
+
aws_options: T.any(
|
2308
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::AwsOptions,
|
2309
|
+
MetronomeSDK::Internal::AnyHash
|
2310
|
+
)
|
2311
|
+
)
|
2312
|
+
.void
|
2313
|
+
end
|
2314
|
+
attr_writer :aws_options
|
2315
|
+
|
2316
|
+
# Use null to indicate that the existing end timestamp should be removed.
|
2317
|
+
sig { returns(T.nilable(Time)) }
|
2318
|
+
attr_accessor :ending_before
|
2319
|
+
|
2320
|
+
sig { returns(T.nilable(Float)) }
|
2321
|
+
attr_reader :fraction
|
2322
|
+
|
2323
|
+
sig { params(fraction: Float).void }
|
2324
|
+
attr_writer :fraction
|
2325
|
+
|
2326
|
+
sig { returns(T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::GcpOptions)) }
|
2327
|
+
attr_reader :gcp_options
|
2328
|
+
|
2329
|
+
sig do
|
2330
|
+
params(
|
2331
|
+
gcp_options: T.any(
|
2332
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::GcpOptions,
|
2333
|
+
MetronomeSDK::Internal::AnyHash
|
2334
|
+
)
|
2335
|
+
)
|
2336
|
+
.void
|
2337
|
+
end
|
2338
|
+
attr_writer :gcp_options
|
2339
|
+
|
2340
|
+
sig { returns(T.nilable(String)) }
|
2341
|
+
attr_reader :netsuite_reseller_id
|
2342
|
+
|
2343
|
+
sig { params(netsuite_reseller_id: String).void }
|
2344
|
+
attr_writer :netsuite_reseller_id
|
2345
|
+
|
2346
|
+
sig { returns(T.nilable(Float)) }
|
2347
|
+
attr_reader :reseller_contract_value
|
2348
|
+
|
2349
|
+
sig { params(reseller_contract_value: Float).void }
|
2350
|
+
attr_writer :reseller_contract_value
|
2351
|
+
|
2352
|
+
sig { returns(T.nilable(Time)) }
|
2353
|
+
attr_reader :starting_at
|
2354
|
+
|
2355
|
+
sig { params(starting_at: Time).void }
|
2356
|
+
attr_writer :starting_at
|
2357
|
+
|
2358
|
+
sig do
|
2359
|
+
params(
|
2360
|
+
reseller_type: MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::ResellerType::OrSymbol,
|
2361
|
+
applicable_product_ids: T::Array[String],
|
2362
|
+
applicable_product_tags: T::Array[String],
|
2363
|
+
aws_options: T.any(
|
2364
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::AwsOptions,
|
2365
|
+
MetronomeSDK::Internal::AnyHash
|
2366
|
+
),
|
2367
|
+
ending_before: T.nilable(Time),
|
2368
|
+
fraction: Float,
|
2369
|
+
gcp_options: T.any(
|
2370
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::GcpOptions,
|
2371
|
+
MetronomeSDK::Internal::AnyHash
|
2372
|
+
),
|
2373
|
+
netsuite_reseller_id: String,
|
2374
|
+
reseller_contract_value: Float,
|
2375
|
+
starting_at: Time
|
2376
|
+
)
|
2377
|
+
.returns(T.attached_class)
|
2378
|
+
end
|
2379
|
+
def self.new(
|
2380
|
+
reseller_type:,
|
2381
|
+
# Must provide at least one of applicable_product_ids or applicable_product_tags.
|
2382
|
+
applicable_product_ids: nil,
|
2383
|
+
# Must provide at least one of applicable_product_ids or applicable_product_tags.
|
2384
|
+
applicable_product_tags: nil,
|
2385
|
+
aws_options: nil,
|
2386
|
+
# Use null to indicate that the existing end timestamp should be removed.
|
2387
|
+
ending_before: nil,
|
2388
|
+
fraction: nil,
|
2389
|
+
gcp_options: nil,
|
2390
|
+
netsuite_reseller_id: nil,
|
2391
|
+
reseller_contract_value: nil,
|
2392
|
+
starting_at: nil
|
2393
|
+
); end
|
2394
|
+
sig do
|
2395
|
+
override
|
2396
|
+
.returns(
|
2397
|
+
{
|
2398
|
+
reseller_type: MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::ResellerType::OrSymbol,
|
2399
|
+
applicable_product_ids: T::Array[String],
|
2400
|
+
applicable_product_tags: T::Array[String],
|
2401
|
+
aws_options: MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::AwsOptions,
|
2402
|
+
ending_before: T.nilable(Time),
|
2403
|
+
fraction: Float,
|
2404
|
+
gcp_options: MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::GcpOptions,
|
2405
|
+
netsuite_reseller_id: String,
|
2406
|
+
reseller_contract_value: Float,
|
2407
|
+
starting_at: Time
|
2408
|
+
}
|
2409
|
+
)
|
2410
|
+
end
|
2411
|
+
def to_hash; end
|
2412
|
+
|
2413
|
+
module ResellerType
|
2414
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2415
|
+
|
2416
|
+
TaggedSymbol =
|
2417
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::ResellerType) }
|
2418
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
2419
|
+
|
2420
|
+
AWS =
|
2421
|
+
T.let(:AWS, MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::ResellerType::TaggedSymbol)
|
2422
|
+
AWS_PRO_SERVICE =
|
2423
|
+
T.let(
|
2424
|
+
:AWS_PRO_SERVICE,
|
2425
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::ResellerType::TaggedSymbol
|
2426
|
+
)
|
2427
|
+
GCP =
|
2428
|
+
T.let(:GCP, MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::ResellerType::TaggedSymbol)
|
2429
|
+
GCP_PRO_SERVICE =
|
2430
|
+
T.let(
|
2431
|
+
:GCP_PRO_SERVICE,
|
2432
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::ResellerType::TaggedSymbol
|
2433
|
+
)
|
2434
|
+
|
2435
|
+
sig do
|
2436
|
+
override
|
2437
|
+
.returns(
|
2438
|
+
T::Array[MetronomeSDK::Models::V1::ContractAmendParams::ResellerRoyalty::ResellerType::TaggedSymbol]
|
2439
|
+
)
|
2440
|
+
end
|
2441
|
+
def self.values; end
|
2442
|
+
end
|
2443
|
+
|
2444
|
+
class AwsOptions < MetronomeSDK::Internal::Type::BaseModel
|
2445
|
+
sig { returns(T.nilable(String)) }
|
2446
|
+
attr_reader :aws_account_number
|
2447
|
+
|
2448
|
+
sig { params(aws_account_number: String).void }
|
2449
|
+
attr_writer :aws_account_number
|
2450
|
+
|
2451
|
+
sig { returns(T.nilable(String)) }
|
2452
|
+
attr_reader :aws_offer_id
|
2453
|
+
|
2454
|
+
sig { params(aws_offer_id: String).void }
|
2455
|
+
attr_writer :aws_offer_id
|
2456
|
+
|
2457
|
+
sig { returns(T.nilable(String)) }
|
2458
|
+
attr_reader :aws_payer_reference_id
|
2459
|
+
|
2460
|
+
sig { params(aws_payer_reference_id: String).void }
|
2461
|
+
attr_writer :aws_payer_reference_id
|
2462
|
+
|
2463
|
+
sig do
|
2464
|
+
params(aws_account_number: String, aws_offer_id: String, aws_payer_reference_id: String)
|
2465
|
+
.returns(T.attached_class)
|
2466
|
+
end
|
2467
|
+
def self.new(aws_account_number: nil, aws_offer_id: nil, aws_payer_reference_id: nil); end
|
2468
|
+
|
2469
|
+
sig do
|
2470
|
+
override.returns(
|
2471
|
+
{
|
2472
|
+
aws_account_number: String,
|
2473
|
+
aws_offer_id: String,
|
2474
|
+
aws_payer_reference_id: String
|
2475
|
+
}
|
2476
|
+
)
|
2477
|
+
end
|
2478
|
+
def to_hash; end
|
2479
|
+
end
|
2480
|
+
|
2481
|
+
class GcpOptions < MetronomeSDK::Internal::Type::BaseModel
|
2482
|
+
sig { returns(T.nilable(String)) }
|
2483
|
+
attr_reader :gcp_account_id
|
2484
|
+
|
2485
|
+
sig { params(gcp_account_id: String).void }
|
2486
|
+
attr_writer :gcp_account_id
|
2487
|
+
|
2488
|
+
sig { returns(T.nilable(String)) }
|
2489
|
+
attr_reader :gcp_offer_id
|
2490
|
+
|
2491
|
+
sig { params(gcp_offer_id: String).void }
|
2492
|
+
attr_writer :gcp_offer_id
|
2493
|
+
|
2494
|
+
sig { params(gcp_account_id: String, gcp_offer_id: String).returns(T.attached_class) }
|
2495
|
+
def self.new(gcp_account_id: nil, gcp_offer_id: nil); end
|
2496
|
+
|
2497
|
+
sig { override.returns({gcp_account_id: String, gcp_offer_id: String}) }
|
2498
|
+
def to_hash; end
|
2499
|
+
end
|
2500
|
+
end
|
2501
|
+
|
2502
|
+
class ScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
|
2503
|
+
sig { returns(String) }
|
2504
|
+
attr_accessor :product_id
|
2505
|
+
|
2506
|
+
# Must provide either schedule_items or recurring_schedule.
|
2507
|
+
sig { returns(MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule) }
|
2508
|
+
attr_reader :schedule
|
2509
|
+
|
2510
|
+
sig do
|
2511
|
+
params(
|
2512
|
+
schedule: T.any(
|
2513
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule,
|
2514
|
+
MetronomeSDK::Internal::AnyHash
|
2515
|
+
)
|
2516
|
+
)
|
2517
|
+
.void
|
2518
|
+
end
|
2519
|
+
attr_writer :schedule
|
2520
|
+
|
2521
|
+
# displayed on invoices
|
2522
|
+
sig { returns(T.nilable(String)) }
|
2523
|
+
attr_reader :name
|
2524
|
+
|
2525
|
+
sig { params(name: String).void }
|
2526
|
+
attr_writer :name
|
2527
|
+
|
2528
|
+
# This field's availability is dependent on your client's configuration.
|
2529
|
+
sig { returns(T.nilable(String)) }
|
2530
|
+
attr_reader :netsuite_sales_order_id
|
2531
|
+
|
2532
|
+
sig { params(netsuite_sales_order_id: String).void }
|
2533
|
+
attr_writer :netsuite_sales_order_id
|
2534
|
+
|
2535
|
+
sig do
|
2536
|
+
params(
|
2537
|
+
product_id: String,
|
2538
|
+
schedule: T.any(
|
2539
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule,
|
2540
|
+
MetronomeSDK::Internal::AnyHash
|
2541
|
+
),
|
2542
|
+
name: String,
|
2543
|
+
netsuite_sales_order_id: String
|
2544
|
+
)
|
2545
|
+
.returns(T.attached_class)
|
2546
|
+
end
|
2547
|
+
def self.new(
|
2548
|
+
product_id:,
|
2549
|
+
# Must provide either schedule_items or recurring_schedule.
|
2550
|
+
schedule:,
|
2551
|
+
# displayed on invoices
|
2552
|
+
name: nil,
|
2553
|
+
# This field's availability is dependent on your client's configuration.
|
2554
|
+
netsuite_sales_order_id: nil
|
2555
|
+
); end
|
2556
|
+
sig do
|
2557
|
+
override
|
2558
|
+
.returns(
|
2559
|
+
{
|
2560
|
+
product_id: String,
|
2561
|
+
schedule: MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule,
|
2562
|
+
name: String,
|
2563
|
+
netsuite_sales_order_id: String
|
2564
|
+
}
|
2565
|
+
)
|
2566
|
+
end
|
2567
|
+
def to_hash; end
|
2568
|
+
|
2569
|
+
class Schedule < MetronomeSDK::Internal::Type::BaseModel
|
2570
|
+
# Defaults to USD (cents) if not passed.
|
2571
|
+
sig { returns(T.nilable(String)) }
|
2572
|
+
attr_reader :credit_type_id
|
2573
|
+
|
2574
|
+
sig { params(credit_type_id: String).void }
|
2575
|
+
attr_writer :credit_type_id
|
2576
|
+
|
2577
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
2578
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
2579
|
+
# quantity is inferred to be 1.
|
2580
|
+
sig do
|
2581
|
+
returns(
|
2582
|
+
T.nilable(MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule)
|
2583
|
+
)
|
2584
|
+
end
|
2585
|
+
attr_reader :recurring_schedule
|
2586
|
+
|
2587
|
+
sig do
|
2588
|
+
params(
|
2589
|
+
recurring_schedule: T.any(
|
2590
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule,
|
2591
|
+
MetronomeSDK::Internal::AnyHash
|
2592
|
+
)
|
2593
|
+
)
|
2594
|
+
.void
|
2595
|
+
end
|
2596
|
+
attr_writer :recurring_schedule
|
2597
|
+
|
2598
|
+
# Either provide amount or provide both unit_price and quantity.
|
2599
|
+
sig do
|
2600
|
+
returns(
|
2601
|
+
T.nilable(
|
2602
|
+
T::Array[MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::ScheduleItem]
|
2603
|
+
)
|
2604
|
+
)
|
2605
|
+
end
|
2606
|
+
attr_reader :schedule_items
|
2607
|
+
|
2608
|
+
sig do
|
2609
|
+
params(
|
2610
|
+
schedule_items: T::Array[
|
2611
|
+
T.any(
|
2612
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::ScheduleItem,
|
2613
|
+
MetronomeSDK::Internal::AnyHash
|
2614
|
+
)
|
2615
|
+
]
|
2616
|
+
)
|
2617
|
+
.void
|
2618
|
+
end
|
2619
|
+
attr_writer :schedule_items
|
2620
|
+
|
2621
|
+
# Must provide either schedule_items or recurring_schedule.
|
2622
|
+
sig do
|
2623
|
+
params(
|
2624
|
+
credit_type_id: String,
|
2625
|
+
recurring_schedule: T.any(
|
2626
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule,
|
2627
|
+
MetronomeSDK::Internal::AnyHash
|
2628
|
+
),
|
2629
|
+
schedule_items: T::Array[
|
2630
|
+
T.any(
|
2631
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::ScheduleItem,
|
2632
|
+
MetronomeSDK::Internal::AnyHash
|
2633
|
+
)
|
2634
|
+
]
|
2635
|
+
)
|
2636
|
+
.returns(T.attached_class)
|
2637
|
+
end
|
2638
|
+
def self.new(
|
2639
|
+
# Defaults to USD (cents) if not passed.
|
2640
|
+
credit_type_id: nil,
|
2641
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
2642
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
2643
|
+
# quantity is inferred to be 1.
|
2644
|
+
recurring_schedule: nil,
|
2645
|
+
# Either provide amount or provide both unit_price and quantity.
|
2646
|
+
schedule_items: nil
|
2647
|
+
); end
|
2648
|
+
sig do
|
2649
|
+
override
|
2650
|
+
.returns(
|
2651
|
+
{
|
2652
|
+
credit_type_id: String,
|
2653
|
+
recurring_schedule: MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule,
|
2654
|
+
schedule_items: T::Array[MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::ScheduleItem]
|
2655
|
+
}
|
2656
|
+
)
|
2657
|
+
end
|
2658
|
+
def to_hash; end
|
2659
|
+
|
2660
|
+
class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
|
2661
|
+
sig do
|
2662
|
+
returns(
|
2663
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution::OrSymbol
|
2664
|
+
)
|
2665
|
+
end
|
2666
|
+
attr_accessor :amount_distribution
|
2667
|
+
|
2668
|
+
# RFC 3339 timestamp (exclusive).
|
2669
|
+
sig { returns(Time) }
|
2670
|
+
attr_accessor :ending_before
|
2671
|
+
|
2672
|
+
sig do
|
2673
|
+
returns(
|
2674
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency::OrSymbol
|
2675
|
+
)
|
2676
|
+
end
|
2677
|
+
attr_accessor :frequency
|
2678
|
+
|
2679
|
+
# RFC 3339 timestamp (inclusive).
|
2680
|
+
sig { returns(Time) }
|
2681
|
+
attr_accessor :starting_at
|
2682
|
+
|
2683
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
2684
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
2685
|
+
# inferred to be 1.
|
2686
|
+
sig { returns(T.nilable(Float)) }
|
2687
|
+
attr_reader :amount
|
2688
|
+
|
2689
|
+
sig { params(amount: Float).void }
|
2690
|
+
attr_writer :amount
|
2691
|
+
|
2692
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
2693
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
2694
|
+
# provided.
|
2695
|
+
sig { returns(T.nilable(Float)) }
|
2696
|
+
attr_reader :quantity
|
2697
|
+
|
2698
|
+
sig { params(quantity: Float).void }
|
2699
|
+
attr_writer :quantity
|
2700
|
+
|
2701
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
2702
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
2703
|
+
# provided.
|
2704
|
+
sig { returns(T.nilable(Float)) }
|
2705
|
+
attr_reader :unit_price
|
2706
|
+
|
2707
|
+
sig { params(unit_price: Float).void }
|
2708
|
+
attr_writer :unit_price
|
2709
|
+
|
2710
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
2711
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
2712
|
+
# quantity is inferred to be 1.
|
2713
|
+
sig do
|
2714
|
+
params(
|
2715
|
+
amount_distribution: MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution::OrSymbol,
|
2716
|
+
ending_before: Time,
|
2717
|
+
frequency: MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency::OrSymbol,
|
2718
|
+
starting_at: Time,
|
2719
|
+
amount: Float,
|
2720
|
+
quantity: Float,
|
2721
|
+
unit_price: Float
|
2722
|
+
)
|
2723
|
+
.returns(T.attached_class)
|
2724
|
+
end
|
2725
|
+
def self.new(
|
2726
|
+
amount_distribution:,
|
2727
|
+
# RFC 3339 timestamp (exclusive).
|
2728
|
+
ending_before:,
|
2729
|
+
frequency:,
|
2730
|
+
# RFC 3339 timestamp (inclusive).
|
2731
|
+
starting_at:,
|
2732
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
2733
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
2734
|
+
# inferred to be 1.
|
2735
|
+
amount: nil,
|
2736
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
2737
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
2738
|
+
# provided.
|
2739
|
+
quantity: nil,
|
2740
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
2741
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
2742
|
+
# provided.
|
2743
|
+
unit_price: nil
|
2744
|
+
); end
|
2745
|
+
sig do
|
2746
|
+
override
|
2747
|
+
.returns(
|
2748
|
+
{
|
2749
|
+
amount_distribution: MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution::OrSymbol,
|
2750
|
+
ending_before: Time,
|
2751
|
+
frequency: MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency::OrSymbol,
|
2752
|
+
starting_at: Time,
|
2753
|
+
amount: Float,
|
2754
|
+
quantity: Float,
|
2755
|
+
unit_price: Float
|
2756
|
+
}
|
2757
|
+
)
|
2758
|
+
end
|
2759
|
+
def to_hash; end
|
2760
|
+
|
2761
|
+
module AmountDistribution
|
2762
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2763
|
+
|
2764
|
+
TaggedSymbol =
|
2765
|
+
T.type_alias do
|
2766
|
+
T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution)
|
2767
|
+
end
|
2768
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
2769
|
+
|
2770
|
+
DIVIDED =
|
2771
|
+
T.let(
|
2772
|
+
:DIVIDED,
|
2773
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution::TaggedSymbol
|
2774
|
+
)
|
2775
|
+
DIVIDED_ROUNDED =
|
2776
|
+
T.let(
|
2777
|
+
:DIVIDED_ROUNDED,
|
2778
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution::TaggedSymbol
|
2779
|
+
)
|
2780
|
+
EACH =
|
2781
|
+
T.let(
|
2782
|
+
:EACH,
|
2783
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution::TaggedSymbol
|
2784
|
+
)
|
2785
|
+
|
2786
|
+
sig do
|
2787
|
+
override
|
2788
|
+
.returns(
|
2789
|
+
T::Array[
|
2790
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution::TaggedSymbol
|
2791
|
+
]
|
2792
|
+
)
|
2793
|
+
end
|
2794
|
+
def self.values; end
|
2795
|
+
end
|
2796
|
+
|
2797
|
+
module Frequency
|
2798
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2799
|
+
|
2800
|
+
TaggedSymbol =
|
2801
|
+
T.type_alias do
|
2802
|
+
T.all(Symbol, MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency)
|
2803
|
+
end
|
2804
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
2805
|
+
|
2806
|
+
MONTHLY =
|
2807
|
+
T.let(
|
2808
|
+
:MONTHLY,
|
2809
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency::TaggedSymbol
|
2810
|
+
)
|
2811
|
+
QUARTERLY =
|
2812
|
+
T.let(
|
2813
|
+
:QUARTERLY,
|
2814
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency::TaggedSymbol
|
2815
|
+
)
|
2816
|
+
SEMI_ANNUAL =
|
2817
|
+
T.let(
|
2818
|
+
:SEMI_ANNUAL,
|
2819
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency::TaggedSymbol
|
2820
|
+
)
|
2821
|
+
ANNUAL =
|
2822
|
+
T.let(
|
2823
|
+
:ANNUAL,
|
2824
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency::TaggedSymbol
|
2825
|
+
)
|
2826
|
+
|
2827
|
+
sig do
|
2828
|
+
override
|
2829
|
+
.returns(
|
2830
|
+
T::Array[
|
2831
|
+
MetronomeSDK::Models::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency::TaggedSymbol
|
2832
|
+
]
|
2833
|
+
)
|
2834
|
+
end
|
2835
|
+
def self.values; end
|
2836
|
+
end
|
2837
|
+
end
|
2838
|
+
|
2839
|
+
class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
2840
|
+
# timestamp of the scheduled event
|
2841
|
+
sig { returns(Time) }
|
2842
|
+
attr_accessor :timestamp
|
2843
|
+
|
2844
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
2845
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
2846
|
+
# inferred to be 1.
|
2847
|
+
sig { returns(T.nilable(Float)) }
|
2848
|
+
attr_reader :amount
|
2849
|
+
|
2850
|
+
sig { params(amount: Float).void }
|
2851
|
+
attr_writer :amount
|
2852
|
+
|
2853
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
2854
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
2855
|
+
# provided.
|
2856
|
+
sig { returns(T.nilable(Float)) }
|
2857
|
+
attr_reader :quantity
|
2858
|
+
|
2859
|
+
sig { params(quantity: Float).void }
|
2860
|
+
attr_writer :quantity
|
2861
|
+
|
2862
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
2863
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
2864
|
+
# provided.
|
2865
|
+
sig { returns(T.nilable(Float)) }
|
2866
|
+
attr_reader :unit_price
|
2867
|
+
|
2868
|
+
sig { params(unit_price: Float).void }
|
2869
|
+
attr_writer :unit_price
|
2870
|
+
|
2871
|
+
sig do
|
2872
|
+
params(
|
2873
|
+
timestamp: Time,
|
2874
|
+
amount: Float,
|
2875
|
+
quantity: Float,
|
2876
|
+
unit_price: Float
|
2877
|
+
).returns(T.attached_class)
|
2878
|
+
end
|
2879
|
+
def self.new(
|
2880
|
+
# timestamp of the scheduled event
|
2881
|
+
timestamp:,
|
2882
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
2883
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
2884
|
+
# inferred to be 1.
|
2885
|
+
amount: nil,
|
2886
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
2887
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
2888
|
+
# provided.
|
2889
|
+
quantity: nil,
|
2890
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
2891
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
2892
|
+
# provided.
|
2893
|
+
unit_price: nil
|
2894
|
+
); end
|
2895
|
+
sig { override.returns({timestamp: Time, amount: Float, quantity: Float, unit_price: Float}) }
|
2896
|
+
def to_hash; end
|
2897
|
+
end
|
2898
|
+
end
|
2899
|
+
end
|
2900
|
+
end
|
2901
|
+
end
|
2902
|
+
end
|
2903
|
+
end
|