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,3281 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module MetronomeSDK
|
4
|
+
module Models
|
5
|
+
module V2
|
6
|
+
# @see MetronomeSDK::Resources::V2::Contracts#edit
|
7
|
+
class ContractEditParams < MetronomeSDK::Internal::Type::BaseModel
|
8
|
+
extend MetronomeSDK::Internal::Type::RequestParameters::Converter
|
9
|
+
include MetronomeSDK::Internal::Type::RequestParameters
|
10
|
+
|
11
|
+
# @!attribute contract_id
|
12
|
+
# ID of the contract being edited
|
13
|
+
#
|
14
|
+
# @return [String]
|
15
|
+
required :contract_id, String
|
16
|
+
|
17
|
+
# @!attribute customer_id
|
18
|
+
# ID of the customer whose contract is being edited
|
19
|
+
#
|
20
|
+
# @return [String]
|
21
|
+
required :customer_id, String
|
22
|
+
|
23
|
+
# @!attribute add_commits
|
24
|
+
#
|
25
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit>, nil]
|
26
|
+
optional :add_commits,
|
27
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddCommit] }
|
28
|
+
|
29
|
+
# @!attribute add_credits
|
30
|
+
#
|
31
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCredit>, nil]
|
32
|
+
optional :add_credits,
|
33
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddCredit] }
|
34
|
+
|
35
|
+
# @!attribute add_discounts
|
36
|
+
#
|
37
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddDiscount>, nil]
|
38
|
+
optional :add_discounts,
|
39
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddDiscount] }
|
40
|
+
|
41
|
+
# @!attribute add_overrides
|
42
|
+
#
|
43
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride>, nil]
|
44
|
+
optional :add_overrides,
|
45
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddOverride] }
|
46
|
+
|
47
|
+
# @!attribute add_professional_services
|
48
|
+
# This field's availability is dependent on your client's configuration.
|
49
|
+
#
|
50
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddProfessionalService>, nil]
|
51
|
+
optional :add_professional_services,
|
52
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddProfessionalService] }
|
53
|
+
|
54
|
+
# @!attribute add_recurring_commits
|
55
|
+
#
|
56
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit>, nil]
|
57
|
+
optional :add_recurring_commits,
|
58
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit] }
|
59
|
+
|
60
|
+
# @!attribute add_recurring_credits
|
61
|
+
#
|
62
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit>, nil]
|
63
|
+
optional :add_recurring_credits,
|
64
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit] }
|
65
|
+
|
66
|
+
# @!attribute add_reseller_royalties
|
67
|
+
#
|
68
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty>, nil]
|
69
|
+
optional :add_reseller_royalties,
|
70
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty] }
|
71
|
+
|
72
|
+
# @!attribute add_scheduled_charges
|
73
|
+
#
|
74
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge>, nil]
|
75
|
+
optional :add_scheduled_charges,
|
76
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge] }
|
77
|
+
|
78
|
+
# @!attribute add_spend_threshold_configuration
|
79
|
+
#
|
80
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration, nil]
|
81
|
+
optional :add_spend_threshold_configuration,
|
82
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration }
|
83
|
+
|
84
|
+
# @!attribute archive_commits
|
85
|
+
# IDs of commits to archive
|
86
|
+
#
|
87
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::ArchiveCommit>, nil]
|
88
|
+
optional :archive_commits,
|
89
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::ArchiveCommit] }
|
90
|
+
|
91
|
+
# @!attribute archive_credits
|
92
|
+
# IDs of credits to archive
|
93
|
+
#
|
94
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::ArchiveCredit>, nil]
|
95
|
+
optional :archive_credits,
|
96
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::ArchiveCredit] }
|
97
|
+
|
98
|
+
# @!attribute archive_scheduled_charges
|
99
|
+
# IDs of scheduled charges to archive
|
100
|
+
#
|
101
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::ArchiveScheduledCharge>, nil]
|
102
|
+
optional :archive_scheduled_charges,
|
103
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::ArchiveScheduledCharge] }
|
104
|
+
|
105
|
+
# @!attribute remove_overrides
|
106
|
+
# IDs of overrides to remove
|
107
|
+
#
|
108
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::RemoveOverride>, nil]
|
109
|
+
optional :remove_overrides,
|
110
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::RemoveOverride] }
|
111
|
+
|
112
|
+
# @!attribute update_commits
|
113
|
+
#
|
114
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit>, nil]
|
115
|
+
optional :update_commits,
|
116
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit] }
|
117
|
+
|
118
|
+
# @!attribute update_credits
|
119
|
+
#
|
120
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit>, nil]
|
121
|
+
optional :update_credits,
|
122
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit] }
|
123
|
+
|
124
|
+
# @!attribute update_scheduled_charges
|
125
|
+
#
|
126
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge>, nil]
|
127
|
+
optional :update_scheduled_charges,
|
128
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge] }
|
129
|
+
|
130
|
+
# @!attribute update_spend_threshold_configuration
|
131
|
+
#
|
132
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration, nil]
|
133
|
+
optional :update_spend_threshold_configuration,
|
134
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration }
|
135
|
+
|
136
|
+
# @!method initialize(contract_id:, customer_id:, add_commits: nil, add_credits: nil, add_discounts: nil, add_overrides: nil, add_professional_services: nil, add_recurring_commits: nil, add_recurring_credits: nil, add_reseller_royalties: nil, add_scheduled_charges: nil, add_spend_threshold_configuration: nil, archive_commits: nil, archive_credits: nil, archive_scheduled_charges: nil, remove_overrides: nil, update_commits: nil, update_credits: nil, update_scheduled_charges: nil, update_spend_threshold_configuration: nil, request_options: {})
|
137
|
+
# @param contract_id [String] ID of the contract being edited
|
138
|
+
#
|
139
|
+
# @param customer_id [String] ID of the customer whose contract is being edited
|
140
|
+
#
|
141
|
+
# @param add_commits [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit>]
|
142
|
+
#
|
143
|
+
# @param add_credits [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCredit>]
|
144
|
+
#
|
145
|
+
# @param add_discounts [Array<MetronomeSDK::Models::V2::ContractEditParams::AddDiscount>]
|
146
|
+
#
|
147
|
+
# @param add_overrides [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride>]
|
148
|
+
#
|
149
|
+
# @param add_professional_services [Array<MetronomeSDK::Models::V2::ContractEditParams::AddProfessionalService>] This field's availability is dependent on your client's configuration.
|
150
|
+
#
|
151
|
+
# @param add_recurring_commits [Array<MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit>]
|
152
|
+
#
|
153
|
+
# @param add_recurring_credits [Array<MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit>]
|
154
|
+
#
|
155
|
+
# @param add_reseller_royalties [Array<MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty>]
|
156
|
+
#
|
157
|
+
# @param add_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge>]
|
158
|
+
#
|
159
|
+
# @param add_spend_threshold_configuration [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration]
|
160
|
+
#
|
161
|
+
# @param archive_commits [Array<MetronomeSDK::Models::V2::ContractEditParams::ArchiveCommit>] IDs of commits to archive
|
162
|
+
#
|
163
|
+
# @param archive_credits [Array<MetronomeSDK::Models::V2::ContractEditParams::ArchiveCredit>] IDs of credits to archive
|
164
|
+
#
|
165
|
+
# @param archive_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractEditParams::ArchiveScheduledCharge>] IDs of scheduled charges to archive
|
166
|
+
#
|
167
|
+
# @param remove_overrides [Array<MetronomeSDK::Models::V2::ContractEditParams::RemoveOverride>] IDs of overrides to remove
|
168
|
+
#
|
169
|
+
# @param update_commits [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit>]
|
170
|
+
#
|
171
|
+
# @param update_credits [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit>]
|
172
|
+
#
|
173
|
+
# @param update_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge>]
|
174
|
+
#
|
175
|
+
# @param update_spend_threshold_configuration [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration]
|
176
|
+
#
|
177
|
+
# @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
|
178
|
+
|
179
|
+
class AddCommit < MetronomeSDK::Internal::Type::BaseModel
|
180
|
+
# @!attribute product_id
|
181
|
+
#
|
182
|
+
# @return [String]
|
183
|
+
required :product_id, String
|
184
|
+
|
185
|
+
# @!attribute type
|
186
|
+
#
|
187
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::Type]
|
188
|
+
required :type, enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddCommit::Type }
|
189
|
+
|
190
|
+
# @!attribute access_schedule
|
191
|
+
# Required: Schedule for distributing the commit to the customer. For "POSTPAID"
|
192
|
+
# commits only one schedule item is allowed and amount must match invoice_schedule
|
193
|
+
# total.
|
194
|
+
#
|
195
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::AccessSchedule, nil]
|
196
|
+
optional :access_schedule, -> { MetronomeSDK::Models::V2::ContractEditParams::AddCommit::AccessSchedule }
|
197
|
+
|
198
|
+
# @!attribute amount
|
199
|
+
# (DEPRECATED) Use access_schedule and invoice_schedule instead.
|
200
|
+
#
|
201
|
+
# @return [Float, nil]
|
202
|
+
optional :amount, Float
|
203
|
+
|
204
|
+
# @!attribute applicable_product_ids
|
205
|
+
# Which products the commit applies to. If both applicable_product_ids and
|
206
|
+
# applicable_product_tags are not provided, the commit applies to all products.
|
207
|
+
#
|
208
|
+
# @return [Array<String>, nil]
|
209
|
+
optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
|
210
|
+
|
211
|
+
# @!attribute applicable_product_tags
|
212
|
+
# Which tags the commit applies to. If both applicable_product_ids and
|
213
|
+
# applicable_product_tags are not provided, the commit applies to all products.
|
214
|
+
#
|
215
|
+
# @return [Array<String>, nil]
|
216
|
+
optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
|
217
|
+
|
218
|
+
# @!attribute custom_fields
|
219
|
+
#
|
220
|
+
# @return [Hash{Symbol=>String}, nil]
|
221
|
+
optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
|
222
|
+
|
223
|
+
# @!attribute description
|
224
|
+
# Used only in UI/API. It is not exposed to end customers.
|
225
|
+
#
|
226
|
+
# @return [String, nil]
|
227
|
+
optional :description, String
|
228
|
+
|
229
|
+
# @!attribute invoice_schedule
|
230
|
+
# Required for "POSTPAID" commits: the true up invoice will be generated at this
|
231
|
+
# time and only one schedule item is allowed; the total must match access_schedule
|
232
|
+
# amount. Optional for "PREPAID" commits: if not provided, this will be a
|
233
|
+
# "complimentary" commit with no invoice.
|
234
|
+
#
|
235
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule, nil]
|
236
|
+
optional :invoice_schedule,
|
237
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule }
|
238
|
+
|
239
|
+
# @!attribute name
|
240
|
+
# displayed on invoices
|
241
|
+
#
|
242
|
+
# @return [String, nil]
|
243
|
+
optional :name, String
|
244
|
+
|
245
|
+
# @!attribute netsuite_sales_order_id
|
246
|
+
# This field's availability is dependent on your client's configuration.
|
247
|
+
#
|
248
|
+
# @return [String, nil]
|
249
|
+
optional :netsuite_sales_order_id, String
|
250
|
+
|
251
|
+
# @!attribute payment_gate_config
|
252
|
+
# optionally payment gate this commit
|
253
|
+
#
|
254
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig, nil]
|
255
|
+
optional :payment_gate_config,
|
256
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig }
|
257
|
+
|
258
|
+
# @!attribute priority
|
259
|
+
# If multiple commits are applicable, the one with the lower priority will apply
|
260
|
+
# first.
|
261
|
+
#
|
262
|
+
# @return [Float, nil]
|
263
|
+
optional :priority, Float
|
264
|
+
|
265
|
+
# @!attribute rate_type
|
266
|
+
#
|
267
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::RateType, nil]
|
268
|
+
optional :rate_type, enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddCommit::RateType }
|
269
|
+
|
270
|
+
# @!attribute rollover_fraction
|
271
|
+
# Fraction of unused segments that will be rolled over. Must be between 0 and 1.
|
272
|
+
#
|
273
|
+
# @return [Float, nil]
|
274
|
+
optional :rollover_fraction, Float
|
275
|
+
|
276
|
+
# @!attribute temporary_id
|
277
|
+
# A temporary ID for the commit that can be used to reference the commit for
|
278
|
+
# commit specific overrides.
|
279
|
+
#
|
280
|
+
# @return [String, nil]
|
281
|
+
optional :temporary_id, String
|
282
|
+
|
283
|
+
# @!method initialize(product_id:, type:, access_schedule: nil, amount: nil, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, payment_gate_config: nil, priority: nil, rate_type: nil, rollover_fraction: nil, temporary_id: nil)
|
284
|
+
# Some parameter documentations has been truncated, see
|
285
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddCommit} for more details.
|
286
|
+
#
|
287
|
+
# @param product_id [String]
|
288
|
+
#
|
289
|
+
# @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::Type]
|
290
|
+
#
|
291
|
+
# @param access_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::AccessSchedule] Required: Schedule for distributing the commit to the customer. For "POSTPAID" c
|
292
|
+
# ...
|
293
|
+
#
|
294
|
+
# @param amount [Float] (DEPRECATED) Use access_schedule and invoice_schedule instead.
|
295
|
+
#
|
296
|
+
# @param applicable_product_ids [Array<String>] Which products the commit applies to. If both applicable_product_ids and applica
|
297
|
+
# ...
|
298
|
+
#
|
299
|
+
# @param applicable_product_tags [Array<String>] Which tags the commit applies to. If both applicable*product_ids and applicable*
|
300
|
+
# ...
|
301
|
+
#
|
302
|
+
# @param custom_fields [Hash{Symbol=>String}]
|
303
|
+
#
|
304
|
+
# @param description [String] Used only in UI/API. It is not exposed to end customers.
|
305
|
+
#
|
306
|
+
# @param invoice_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule] Required for "POSTPAID" commits: the true up invoice will be generated at this t
|
307
|
+
# ...
|
308
|
+
#
|
309
|
+
# @param name [String] displayed on invoices
|
310
|
+
#
|
311
|
+
# @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
|
312
|
+
#
|
313
|
+
# @param payment_gate_config [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig] optionally payment gate this commit
|
314
|
+
#
|
315
|
+
# @param priority [Float] If multiple commits are applicable, the one with the lower priority will apply f
|
316
|
+
# ...
|
317
|
+
#
|
318
|
+
# @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::RateType]
|
319
|
+
#
|
320
|
+
# @param rollover_fraction [Float] Fraction of unused segments that will be rolled over. Must be between 0 and 1.
|
321
|
+
#
|
322
|
+
# @param temporary_id [String] A temporary ID for the commit that can be used to reference the commit for commi
|
323
|
+
# ...
|
324
|
+
|
325
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit#type
|
326
|
+
module Type
|
327
|
+
extend MetronomeSDK::Internal::Type::Enum
|
328
|
+
|
329
|
+
PREPAID = :PREPAID
|
330
|
+
POSTPAID = :POSTPAID
|
331
|
+
|
332
|
+
# @!method self.values
|
333
|
+
# @return [Array<Symbol>]
|
334
|
+
end
|
335
|
+
|
336
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit#access_schedule
|
337
|
+
class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
|
338
|
+
# @!attribute schedule_items
|
339
|
+
#
|
340
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit::AccessSchedule::ScheduleItem>]
|
341
|
+
required :schedule_items,
|
342
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::AccessSchedule::ScheduleItem] }
|
343
|
+
|
344
|
+
# @!attribute credit_type_id
|
345
|
+
#
|
346
|
+
# @return [String, nil]
|
347
|
+
optional :credit_type_id, String
|
348
|
+
|
349
|
+
# @!method initialize(schedule_items:, credit_type_id: nil)
|
350
|
+
# Required: Schedule for distributing the commit to the customer. For "POSTPAID"
|
351
|
+
# commits only one schedule item is allowed and amount must match invoice_schedule
|
352
|
+
# total.
|
353
|
+
#
|
354
|
+
# @param schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit::AccessSchedule::ScheduleItem>]
|
355
|
+
# @param credit_type_id [String]
|
356
|
+
|
357
|
+
class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
358
|
+
# @!attribute amount
|
359
|
+
#
|
360
|
+
# @return [Float]
|
361
|
+
required :amount, Float
|
362
|
+
|
363
|
+
# @!attribute ending_before
|
364
|
+
# RFC 3339 timestamp (exclusive)
|
365
|
+
#
|
366
|
+
# @return [Time]
|
367
|
+
required :ending_before, Time
|
368
|
+
|
369
|
+
# @!attribute starting_at
|
370
|
+
# RFC 3339 timestamp (inclusive)
|
371
|
+
#
|
372
|
+
# @return [Time]
|
373
|
+
required :starting_at, Time
|
374
|
+
|
375
|
+
# @!method initialize(amount:, ending_before:, starting_at:)
|
376
|
+
# @param amount [Float]
|
377
|
+
#
|
378
|
+
# @param ending_before [Time] RFC 3339 timestamp (exclusive)
|
379
|
+
#
|
380
|
+
# @param starting_at [Time] RFC 3339 timestamp (inclusive)
|
381
|
+
end
|
382
|
+
end
|
383
|
+
|
384
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit#invoice_schedule
|
385
|
+
class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
|
386
|
+
# @!attribute credit_type_id
|
387
|
+
# Defaults to USD if not passed. Only USD is supported at this time.
|
388
|
+
#
|
389
|
+
# @return [String, nil]
|
390
|
+
optional :credit_type_id, String
|
391
|
+
|
392
|
+
# @!attribute recurring_schedule
|
393
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
394
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
395
|
+
# quantity is inferred to be 1.
|
396
|
+
#
|
397
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule, nil]
|
398
|
+
optional :recurring_schedule,
|
399
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule }
|
400
|
+
|
401
|
+
# @!attribute schedule_items
|
402
|
+
# Either provide amount or provide both unit_price and quantity.
|
403
|
+
#
|
404
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem>, nil]
|
405
|
+
optional :schedule_items,
|
406
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem] }
|
407
|
+
|
408
|
+
# @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
|
409
|
+
# Some parameter documentations has been truncated, see
|
410
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule} for
|
411
|
+
# more details.
|
412
|
+
#
|
413
|
+
# Required for "POSTPAID" commits: the true up invoice will be generated at this
|
414
|
+
# time and only one schedule item is allowed; the total must match access_schedule
|
415
|
+
# amount. Optional for "PREPAID" commits: if not provided, this will be a
|
416
|
+
# "complimentary" commit with no invoice.
|
417
|
+
#
|
418
|
+
# @param credit_type_id [String] Defaults to USD if not passed. Only USD is supported at this time.
|
419
|
+
#
|
420
|
+
# @param recurring_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
|
421
|
+
# ...
|
422
|
+
#
|
423
|
+
# @param schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
|
424
|
+
|
425
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule#recurring_schedule
|
426
|
+
class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
|
427
|
+
# @!attribute amount_distribution
|
428
|
+
#
|
429
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::AmountDistribution]
|
430
|
+
required :amount_distribution,
|
431
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::AmountDistribution }
|
432
|
+
|
433
|
+
# @!attribute ending_before
|
434
|
+
# RFC 3339 timestamp (exclusive).
|
435
|
+
#
|
436
|
+
# @return [Time]
|
437
|
+
required :ending_before, Time
|
438
|
+
|
439
|
+
# @!attribute frequency
|
440
|
+
#
|
441
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::Frequency]
|
442
|
+
required :frequency,
|
443
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::Frequency }
|
444
|
+
|
445
|
+
# @!attribute starting_at
|
446
|
+
# RFC 3339 timestamp (inclusive).
|
447
|
+
#
|
448
|
+
# @return [Time]
|
449
|
+
required :starting_at, Time
|
450
|
+
|
451
|
+
# @!attribute amount
|
452
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
453
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
454
|
+
# inferred to be 1.
|
455
|
+
#
|
456
|
+
# @return [Float, nil]
|
457
|
+
optional :amount, Float
|
458
|
+
|
459
|
+
# @!attribute quantity
|
460
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
461
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
462
|
+
# provided.
|
463
|
+
#
|
464
|
+
# @return [Float, nil]
|
465
|
+
optional :quantity, Float
|
466
|
+
|
467
|
+
# @!attribute unit_price
|
468
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
469
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
470
|
+
# provided.
|
471
|
+
#
|
472
|
+
# @return [Float, nil]
|
473
|
+
optional :unit_price, Float
|
474
|
+
|
475
|
+
# @!method initialize(amount_distribution:, ending_before:, frequency:, starting_at:, amount: nil, quantity: nil, unit_price: nil)
|
476
|
+
# Some parameter documentations has been truncated, see
|
477
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule}
|
478
|
+
# for more details.
|
479
|
+
#
|
480
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
481
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
482
|
+
# quantity is inferred to be 1.
|
483
|
+
#
|
484
|
+
# @param amount_distribution [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::AmountDistribution]
|
485
|
+
#
|
486
|
+
# @param ending_before [Time] RFC 3339 timestamp (exclusive).
|
487
|
+
#
|
488
|
+
# @param frequency [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::Frequency]
|
489
|
+
#
|
490
|
+
# @param starting_at [Time] RFC 3339 timestamp (inclusive).
|
491
|
+
#
|
492
|
+
# @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
|
493
|
+
# ...
|
494
|
+
#
|
495
|
+
# @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
|
496
|
+
# ...
|
497
|
+
#
|
498
|
+
# @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
|
499
|
+
# ...
|
500
|
+
|
501
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule#amount_distribution
|
502
|
+
module AmountDistribution
|
503
|
+
extend MetronomeSDK::Internal::Type::Enum
|
504
|
+
|
505
|
+
DIVIDED = :DIVIDED
|
506
|
+
DIVIDED_ROUNDED = :DIVIDED_ROUNDED
|
507
|
+
EACH = :EACH
|
508
|
+
|
509
|
+
# @!method self.values
|
510
|
+
# @return [Array<Symbol>]
|
511
|
+
end
|
512
|
+
|
513
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule#frequency
|
514
|
+
module Frequency
|
515
|
+
extend MetronomeSDK::Internal::Type::Enum
|
516
|
+
|
517
|
+
MONTHLY = :MONTHLY
|
518
|
+
QUARTERLY = :QUARTERLY
|
519
|
+
SEMI_ANNUAL = :SEMI_ANNUAL
|
520
|
+
ANNUAL = :ANNUAL
|
521
|
+
WEEKLY = :WEEKLY
|
522
|
+
|
523
|
+
# @!method self.values
|
524
|
+
# @return [Array<Symbol>]
|
525
|
+
end
|
526
|
+
end
|
527
|
+
|
528
|
+
class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
529
|
+
# @!attribute timestamp
|
530
|
+
# timestamp of the scheduled event
|
531
|
+
#
|
532
|
+
# @return [Time]
|
533
|
+
required :timestamp, Time
|
534
|
+
|
535
|
+
# @!attribute amount
|
536
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
537
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
538
|
+
# inferred to be 1.
|
539
|
+
#
|
540
|
+
# @return [Float, nil]
|
541
|
+
optional :amount, Float
|
542
|
+
|
543
|
+
# @!attribute quantity
|
544
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
545
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
546
|
+
# provided.
|
547
|
+
#
|
548
|
+
# @return [Float, nil]
|
549
|
+
optional :quantity, Float
|
550
|
+
|
551
|
+
# @!attribute unit_price
|
552
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
553
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
554
|
+
# provided.
|
555
|
+
#
|
556
|
+
# @return [Float, nil]
|
557
|
+
optional :unit_price, Float
|
558
|
+
|
559
|
+
# @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
|
560
|
+
# Some parameter documentations has been truncated, see
|
561
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem}
|
562
|
+
# for more details.
|
563
|
+
#
|
564
|
+
# @param timestamp [Time] timestamp of the scheduled event
|
565
|
+
#
|
566
|
+
# @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
|
567
|
+
# ...
|
568
|
+
#
|
569
|
+
# @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
|
570
|
+
# ...
|
571
|
+
#
|
572
|
+
# @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
|
573
|
+
# ...
|
574
|
+
end
|
575
|
+
end
|
576
|
+
|
577
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit#payment_gate_config
|
578
|
+
class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
|
579
|
+
# @!attribute payment_gate_type
|
580
|
+
# Gate access to the commit balance based on successful collection of payment.
|
581
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
582
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
583
|
+
# wish to payment gate the commit balance.
|
584
|
+
#
|
585
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::PaymentGateType]
|
586
|
+
required :payment_gate_type,
|
587
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::PaymentGateType }
|
588
|
+
|
589
|
+
# @!attribute stripe_config
|
590
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
591
|
+
#
|
592
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig, nil]
|
593
|
+
optional :stripe_config,
|
594
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig }
|
595
|
+
|
596
|
+
# @!attribute tax_type
|
597
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
598
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
599
|
+
# will default to NONE.
|
600
|
+
#
|
601
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::TaxType, nil]
|
602
|
+
optional :tax_type,
|
603
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::TaxType }
|
604
|
+
|
605
|
+
# @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
|
606
|
+
# Some parameter documentations has been truncated, see
|
607
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig} for
|
608
|
+
# more details.
|
609
|
+
#
|
610
|
+
# optionally payment gate this commit
|
611
|
+
#
|
612
|
+
# @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
|
613
|
+
# ...
|
614
|
+
#
|
615
|
+
# @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
|
616
|
+
#
|
617
|
+
# @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
|
618
|
+
# ...
|
619
|
+
|
620
|
+
# Gate access to the commit balance based on successful collection of payment.
|
621
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
622
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
623
|
+
# wish to payment gate the commit balance.
|
624
|
+
#
|
625
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig#payment_gate_type
|
626
|
+
module PaymentGateType
|
627
|
+
extend MetronomeSDK::Internal::Type::Enum
|
628
|
+
|
629
|
+
NONE = :NONE
|
630
|
+
STRIPE = :STRIPE
|
631
|
+
EXTERNAL = :EXTERNAL
|
632
|
+
|
633
|
+
# @!method self.values
|
634
|
+
# @return [Array<Symbol>]
|
635
|
+
end
|
636
|
+
|
637
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig#stripe_config
|
638
|
+
class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
|
639
|
+
# @!attribute payment_type
|
640
|
+
# If left blank, will default to INVOICE
|
641
|
+
#
|
642
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::PaymentType]
|
643
|
+
required :payment_type,
|
644
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::PaymentType }
|
645
|
+
|
646
|
+
# @!method initialize(payment_type:)
|
647
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
648
|
+
#
|
649
|
+
# @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
|
650
|
+
|
651
|
+
# If left blank, will default to INVOICE
|
652
|
+
#
|
653
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig#payment_type
|
654
|
+
module PaymentType
|
655
|
+
extend MetronomeSDK::Internal::Type::Enum
|
656
|
+
|
657
|
+
INVOICE = :INVOICE
|
658
|
+
PAYMENT_INTENT = :PAYMENT_INTENT
|
659
|
+
|
660
|
+
# @!method self.values
|
661
|
+
# @return [Array<Symbol>]
|
662
|
+
end
|
663
|
+
end
|
664
|
+
|
665
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
666
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
667
|
+
# will default to NONE.
|
668
|
+
#
|
669
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig#tax_type
|
670
|
+
module TaxType
|
671
|
+
extend MetronomeSDK::Internal::Type::Enum
|
672
|
+
|
673
|
+
NONE = :NONE
|
674
|
+
STRIPE = :STRIPE
|
675
|
+
|
676
|
+
# @!method self.values
|
677
|
+
# @return [Array<Symbol>]
|
678
|
+
end
|
679
|
+
end
|
680
|
+
|
681
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit#rate_type
|
682
|
+
module RateType
|
683
|
+
extend MetronomeSDK::Internal::Type::Enum
|
684
|
+
|
685
|
+
COMMIT_RATE = :COMMIT_RATE
|
686
|
+
LIST_RATE = :LIST_RATE
|
687
|
+
|
688
|
+
# @!method self.values
|
689
|
+
# @return [Array<Symbol>]
|
690
|
+
end
|
691
|
+
end
|
692
|
+
|
693
|
+
class AddCredit < MetronomeSDK::Internal::Type::BaseModel
|
694
|
+
# @!attribute access_schedule
|
695
|
+
# Schedule for distributing the credit to the customer.
|
696
|
+
#
|
697
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddCredit::AccessSchedule]
|
698
|
+
required :access_schedule, -> { MetronomeSDK::Models::V2::ContractEditParams::AddCredit::AccessSchedule }
|
699
|
+
|
700
|
+
# @!attribute product_id
|
701
|
+
#
|
702
|
+
# @return [String]
|
703
|
+
required :product_id, String
|
704
|
+
|
705
|
+
# @!attribute applicable_product_ids
|
706
|
+
# Which products the credit applies to. If both applicable_product_ids and
|
707
|
+
# applicable_product_tags are not provided, the credit applies to all products.
|
708
|
+
#
|
709
|
+
# @return [Array<String>, nil]
|
710
|
+
optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
|
711
|
+
|
712
|
+
# @!attribute applicable_product_tags
|
713
|
+
# Which tags the credit applies to. If both applicable_product_ids and
|
714
|
+
# applicable_product_tags are not provided, the credit applies to all products.
|
715
|
+
#
|
716
|
+
# @return [Array<String>, nil]
|
717
|
+
optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
|
718
|
+
|
719
|
+
# @!attribute custom_fields
|
720
|
+
#
|
721
|
+
# @return [Hash{Symbol=>String}, nil]
|
722
|
+
optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
|
723
|
+
|
724
|
+
# @!attribute description
|
725
|
+
# Used only in UI/API. It is not exposed to end customers.
|
726
|
+
#
|
727
|
+
# @return [String, nil]
|
728
|
+
optional :description, String
|
729
|
+
|
730
|
+
# @!attribute name
|
731
|
+
# displayed on invoices
|
732
|
+
#
|
733
|
+
# @return [String, nil]
|
734
|
+
optional :name, String
|
735
|
+
|
736
|
+
# @!attribute netsuite_sales_order_id
|
737
|
+
# This field's availability is dependent on your client's configuration.
|
738
|
+
#
|
739
|
+
# @return [String, nil]
|
740
|
+
optional :netsuite_sales_order_id, String
|
741
|
+
|
742
|
+
# @!attribute priority
|
743
|
+
# If multiple credits are applicable, the one with the lower priority will apply
|
744
|
+
# first.
|
745
|
+
#
|
746
|
+
# @return [Float, nil]
|
747
|
+
optional :priority, Float
|
748
|
+
|
749
|
+
# @!attribute rate_type
|
750
|
+
#
|
751
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::RateType, nil]
|
752
|
+
optional :rate_type, enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddCredit::RateType }
|
753
|
+
|
754
|
+
# @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil)
|
755
|
+
# Some parameter documentations has been truncated, see
|
756
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddCredit} for more details.
|
757
|
+
#
|
758
|
+
# @param access_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddCredit::AccessSchedule] Schedule for distributing the credit to the customer.
|
759
|
+
#
|
760
|
+
# @param product_id [String]
|
761
|
+
#
|
762
|
+
# @param applicable_product_ids [Array<String>] Which products the credit applies to. If both applicable_product_ids and applica
|
763
|
+
# ...
|
764
|
+
#
|
765
|
+
# @param applicable_product_tags [Array<String>] Which tags the credit applies to. If both applicable*product_ids and applicable*
|
766
|
+
# ...
|
767
|
+
#
|
768
|
+
# @param custom_fields [Hash{Symbol=>String}]
|
769
|
+
#
|
770
|
+
# @param description [String] Used only in UI/API. It is not exposed to end customers.
|
771
|
+
#
|
772
|
+
# @param name [String] displayed on invoices
|
773
|
+
#
|
774
|
+
# @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
|
775
|
+
#
|
776
|
+
# @param priority [Float] If multiple credits are applicable, the one with the lower priority will apply f
|
777
|
+
# ...
|
778
|
+
#
|
779
|
+
# @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::RateType]
|
780
|
+
|
781
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCredit#access_schedule
|
782
|
+
class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
|
783
|
+
# @!attribute schedule_items
|
784
|
+
#
|
785
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCredit::AccessSchedule::ScheduleItem>]
|
786
|
+
required :schedule_items,
|
787
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddCredit::AccessSchedule::ScheduleItem] }
|
788
|
+
|
789
|
+
# @!attribute credit_type_id
|
790
|
+
#
|
791
|
+
# @return [String, nil]
|
792
|
+
optional :credit_type_id, String
|
793
|
+
|
794
|
+
# @!method initialize(schedule_items:, credit_type_id: nil)
|
795
|
+
# Schedule for distributing the credit to the customer.
|
796
|
+
#
|
797
|
+
# @param schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCredit::AccessSchedule::ScheduleItem>]
|
798
|
+
# @param credit_type_id [String]
|
799
|
+
|
800
|
+
class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
801
|
+
# @!attribute amount
|
802
|
+
#
|
803
|
+
# @return [Float]
|
804
|
+
required :amount, Float
|
805
|
+
|
806
|
+
# @!attribute ending_before
|
807
|
+
# RFC 3339 timestamp (exclusive)
|
808
|
+
#
|
809
|
+
# @return [Time]
|
810
|
+
required :ending_before, Time
|
811
|
+
|
812
|
+
# @!attribute starting_at
|
813
|
+
# RFC 3339 timestamp (inclusive)
|
814
|
+
#
|
815
|
+
# @return [Time]
|
816
|
+
required :starting_at, Time
|
817
|
+
|
818
|
+
# @!method initialize(amount:, ending_before:, starting_at:)
|
819
|
+
# @param amount [Float]
|
820
|
+
#
|
821
|
+
# @param ending_before [Time] RFC 3339 timestamp (exclusive)
|
822
|
+
#
|
823
|
+
# @param starting_at [Time] RFC 3339 timestamp (inclusive)
|
824
|
+
end
|
825
|
+
end
|
826
|
+
|
827
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCredit#rate_type
|
828
|
+
module RateType
|
829
|
+
extend MetronomeSDK::Internal::Type::Enum
|
830
|
+
|
831
|
+
COMMIT_RATE = :COMMIT_RATE
|
832
|
+
LIST_RATE = :LIST_RATE
|
833
|
+
|
834
|
+
# @!method self.values
|
835
|
+
# @return [Array<Symbol>]
|
836
|
+
end
|
837
|
+
end
|
838
|
+
|
839
|
+
class AddDiscount < MetronomeSDK::Internal::Type::BaseModel
|
840
|
+
# @!attribute product_id
|
841
|
+
#
|
842
|
+
# @return [String]
|
843
|
+
required :product_id, String
|
844
|
+
|
845
|
+
# @!attribute schedule
|
846
|
+
# Must provide either schedule_items or recurring_schedule.
|
847
|
+
#
|
848
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule]
|
849
|
+
required :schedule, -> { MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule }
|
850
|
+
|
851
|
+
# @!attribute custom_fields
|
852
|
+
#
|
853
|
+
# @return [Hash{Symbol=>String}, nil]
|
854
|
+
optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
|
855
|
+
|
856
|
+
# @!attribute name
|
857
|
+
# displayed on invoices
|
858
|
+
#
|
859
|
+
# @return [String, nil]
|
860
|
+
optional :name, String
|
861
|
+
|
862
|
+
# @!attribute netsuite_sales_order_id
|
863
|
+
# This field's availability is dependent on your client's configuration.
|
864
|
+
#
|
865
|
+
# @return [String, nil]
|
866
|
+
optional :netsuite_sales_order_id, String
|
867
|
+
|
868
|
+
# @!method initialize(product_id:, schedule:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
|
869
|
+
# @param product_id [String]
|
870
|
+
#
|
871
|
+
# @param schedule [MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule] Must provide either schedule_items or recurring_schedule.
|
872
|
+
#
|
873
|
+
# @param custom_fields [Hash{Symbol=>String}]
|
874
|
+
#
|
875
|
+
# @param name [String] displayed on invoices
|
876
|
+
#
|
877
|
+
# @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
|
878
|
+
|
879
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddDiscount#schedule
|
880
|
+
class Schedule < MetronomeSDK::Internal::Type::BaseModel
|
881
|
+
# @!attribute credit_type_id
|
882
|
+
# Defaults to USD if not passed. Only USD is supported at this time.
|
883
|
+
#
|
884
|
+
# @return [String, nil]
|
885
|
+
optional :credit_type_id, String
|
886
|
+
|
887
|
+
# @!attribute recurring_schedule
|
888
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
889
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
890
|
+
# quantity is inferred to be 1.
|
891
|
+
#
|
892
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule, nil]
|
893
|
+
optional :recurring_schedule,
|
894
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule }
|
895
|
+
|
896
|
+
# @!attribute schedule_items
|
897
|
+
# Either provide amount or provide both unit_price and quantity.
|
898
|
+
#
|
899
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem>, nil]
|
900
|
+
optional :schedule_items,
|
901
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem] }
|
902
|
+
|
903
|
+
# @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
|
904
|
+
# Some parameter documentations has been truncated, see
|
905
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule} for more
|
906
|
+
# details.
|
907
|
+
#
|
908
|
+
# Must provide either schedule_items or recurring_schedule.
|
909
|
+
#
|
910
|
+
# @param credit_type_id [String] Defaults to USD if not passed. Only USD is supported at this time.
|
911
|
+
#
|
912
|
+
# @param recurring_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
|
913
|
+
# ...
|
914
|
+
#
|
915
|
+
# @param schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
|
916
|
+
|
917
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule#recurring_schedule
|
918
|
+
class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
|
919
|
+
# @!attribute amount_distribution
|
920
|
+
#
|
921
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::AmountDistribution]
|
922
|
+
required :amount_distribution,
|
923
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::AmountDistribution }
|
924
|
+
|
925
|
+
# @!attribute ending_before
|
926
|
+
# RFC 3339 timestamp (exclusive).
|
927
|
+
#
|
928
|
+
# @return [Time]
|
929
|
+
required :ending_before, Time
|
930
|
+
|
931
|
+
# @!attribute frequency
|
932
|
+
#
|
933
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::Frequency]
|
934
|
+
required :frequency,
|
935
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::Frequency }
|
936
|
+
|
937
|
+
# @!attribute starting_at
|
938
|
+
# RFC 3339 timestamp (inclusive).
|
939
|
+
#
|
940
|
+
# @return [Time]
|
941
|
+
required :starting_at, Time
|
942
|
+
|
943
|
+
# @!attribute amount
|
944
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
945
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
946
|
+
# inferred to be 1.
|
947
|
+
#
|
948
|
+
# @return [Float, nil]
|
949
|
+
optional :amount, Float
|
950
|
+
|
951
|
+
# @!attribute quantity
|
952
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
953
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
954
|
+
# provided.
|
955
|
+
#
|
956
|
+
# @return [Float, nil]
|
957
|
+
optional :quantity, Float
|
958
|
+
|
959
|
+
# @!attribute unit_price
|
960
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
961
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
962
|
+
# provided.
|
963
|
+
#
|
964
|
+
# @return [Float, nil]
|
965
|
+
optional :unit_price, Float
|
966
|
+
|
967
|
+
# @!method initialize(amount_distribution:, ending_before:, frequency:, starting_at:, amount: nil, quantity: nil, unit_price: nil)
|
968
|
+
# Some parameter documentations has been truncated, see
|
969
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule}
|
970
|
+
# for more details.
|
971
|
+
#
|
972
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
973
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
974
|
+
# quantity is inferred to be 1.
|
975
|
+
#
|
976
|
+
# @param amount_distribution [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::AmountDistribution]
|
977
|
+
#
|
978
|
+
# @param ending_before [Time] RFC 3339 timestamp (exclusive).
|
979
|
+
#
|
980
|
+
# @param frequency [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::Frequency]
|
981
|
+
#
|
982
|
+
# @param starting_at [Time] RFC 3339 timestamp (inclusive).
|
983
|
+
#
|
984
|
+
# @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
|
985
|
+
# ...
|
986
|
+
#
|
987
|
+
# @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
|
988
|
+
# ...
|
989
|
+
#
|
990
|
+
# @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
|
991
|
+
# ...
|
992
|
+
|
993
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule#amount_distribution
|
994
|
+
module AmountDistribution
|
995
|
+
extend MetronomeSDK::Internal::Type::Enum
|
996
|
+
|
997
|
+
DIVIDED = :DIVIDED
|
998
|
+
DIVIDED_ROUNDED = :DIVIDED_ROUNDED
|
999
|
+
EACH = :EACH
|
1000
|
+
|
1001
|
+
# @!method self.values
|
1002
|
+
# @return [Array<Symbol>]
|
1003
|
+
end
|
1004
|
+
|
1005
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule#frequency
|
1006
|
+
module Frequency
|
1007
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1008
|
+
|
1009
|
+
MONTHLY = :MONTHLY
|
1010
|
+
QUARTERLY = :QUARTERLY
|
1011
|
+
SEMI_ANNUAL = :SEMI_ANNUAL
|
1012
|
+
ANNUAL = :ANNUAL
|
1013
|
+
WEEKLY = :WEEKLY
|
1014
|
+
|
1015
|
+
# @!method self.values
|
1016
|
+
# @return [Array<Symbol>]
|
1017
|
+
end
|
1018
|
+
end
|
1019
|
+
|
1020
|
+
class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
1021
|
+
# @!attribute timestamp
|
1022
|
+
# timestamp of the scheduled event
|
1023
|
+
#
|
1024
|
+
# @return [Time]
|
1025
|
+
required :timestamp, Time
|
1026
|
+
|
1027
|
+
# @!attribute amount
|
1028
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
1029
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
1030
|
+
# inferred to be 1.
|
1031
|
+
#
|
1032
|
+
# @return [Float, nil]
|
1033
|
+
optional :amount, Float
|
1034
|
+
|
1035
|
+
# @!attribute quantity
|
1036
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
1037
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
1038
|
+
# provided.
|
1039
|
+
#
|
1040
|
+
# @return [Float, nil]
|
1041
|
+
optional :quantity, Float
|
1042
|
+
|
1043
|
+
# @!attribute unit_price
|
1044
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
1045
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
1046
|
+
# provided.
|
1047
|
+
#
|
1048
|
+
# @return [Float, nil]
|
1049
|
+
optional :unit_price, Float
|
1050
|
+
|
1051
|
+
# @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
|
1052
|
+
# Some parameter documentations has been truncated, see
|
1053
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem}
|
1054
|
+
# for more details.
|
1055
|
+
#
|
1056
|
+
# @param timestamp [Time] timestamp of the scheduled event
|
1057
|
+
#
|
1058
|
+
# @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
|
1059
|
+
# ...
|
1060
|
+
#
|
1061
|
+
# @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
|
1062
|
+
# ...
|
1063
|
+
#
|
1064
|
+
# @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
|
1065
|
+
# ...
|
1066
|
+
end
|
1067
|
+
end
|
1068
|
+
end
|
1069
|
+
|
1070
|
+
class AddOverride < MetronomeSDK::Internal::Type::BaseModel
|
1071
|
+
# @!attribute starting_at
|
1072
|
+
# RFC 3339 timestamp indicating when the override will start applying (inclusive)
|
1073
|
+
#
|
1074
|
+
# @return [Time]
|
1075
|
+
required :starting_at, Time
|
1076
|
+
|
1077
|
+
# @!attribute applicable_product_tags
|
1078
|
+
# tags identifying products whose rates are being overridden
|
1079
|
+
#
|
1080
|
+
# @return [Array<String>, nil]
|
1081
|
+
optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
|
1082
|
+
|
1083
|
+
# @!attribute ending_before
|
1084
|
+
# RFC 3339 timestamp indicating when the override will stop applying (exclusive)
|
1085
|
+
#
|
1086
|
+
# @return [Time, nil]
|
1087
|
+
optional :ending_before, Time
|
1088
|
+
|
1089
|
+
# @!attribute entitled
|
1090
|
+
#
|
1091
|
+
# @return [Boolean, nil]
|
1092
|
+
optional :entitled, MetronomeSDK::Internal::Type::Boolean
|
1093
|
+
|
1094
|
+
# @!attribute is_commit_specific
|
1095
|
+
# Indicates whether the override should only apply to commits. Defaults to
|
1096
|
+
# `false`. If `true`, you can specify relevant commits in `override_specifiers` by
|
1097
|
+
# passing `commit_ids`.
|
1098
|
+
#
|
1099
|
+
# @return [Boolean, nil]
|
1100
|
+
optional :is_commit_specific, MetronomeSDK::Internal::Type::Boolean
|
1101
|
+
|
1102
|
+
# @!attribute multiplier
|
1103
|
+
# Required for MULTIPLIER type. Must be >=0.
|
1104
|
+
#
|
1105
|
+
# @return [Float, nil]
|
1106
|
+
optional :multiplier, Float
|
1107
|
+
|
1108
|
+
# @!attribute override_specifiers
|
1109
|
+
# Cannot be used in conjunction with product_id or applicable_product_tags. If
|
1110
|
+
# provided, the override will apply to all products with the specified specifiers.
|
1111
|
+
#
|
1112
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier>, nil]
|
1113
|
+
optional :override_specifiers,
|
1114
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier] }
|
1115
|
+
|
1116
|
+
# @!attribute overwrite_rate
|
1117
|
+
# Required for OVERWRITE type.
|
1118
|
+
#
|
1119
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate, nil]
|
1120
|
+
optional :overwrite_rate, -> { MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate }
|
1121
|
+
|
1122
|
+
# @!attribute priority
|
1123
|
+
# Required for EXPLICIT multiplier prioritization scheme and all TIERED overrides.
|
1124
|
+
# Under EXPLICIT prioritization, overwrites are prioritized first, and then tiered
|
1125
|
+
# and multiplier overrides are prioritized by their priority value (lowest first).
|
1126
|
+
# Must be > 0.
|
1127
|
+
#
|
1128
|
+
# @return [Float, nil]
|
1129
|
+
optional :priority, Float
|
1130
|
+
|
1131
|
+
# @!attribute product_id
|
1132
|
+
# ID of the product whose rate is being overridden
|
1133
|
+
#
|
1134
|
+
# @return [String, nil]
|
1135
|
+
optional :product_id, String
|
1136
|
+
|
1137
|
+
# @!attribute target
|
1138
|
+
# Indicates whether the override applies to commit rates or list rates. Can only
|
1139
|
+
# be used for overrides that have `is_commit_specific` set to `true`. Defaults to
|
1140
|
+
# `"LIST_RATE"`.
|
1141
|
+
#
|
1142
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Target, nil]
|
1143
|
+
optional :target, enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Target }
|
1144
|
+
|
1145
|
+
# @!attribute tiers
|
1146
|
+
# Required for TIERED type. Must have at least one tier.
|
1147
|
+
#
|
1148
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Tier>, nil]
|
1149
|
+
optional :tiers,
|
1150
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Tier] }
|
1151
|
+
|
1152
|
+
# @!attribute type
|
1153
|
+
# Overwrites are prioritized over multipliers and tiered overrides.
|
1154
|
+
#
|
1155
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Type, nil]
|
1156
|
+
optional :type, enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Type }
|
1157
|
+
|
1158
|
+
# @!method initialize(starting_at:, applicable_product_tags: nil, ending_before: nil, entitled: nil, is_commit_specific: nil, multiplier: nil, override_specifiers: nil, overwrite_rate: nil, priority: nil, product_id: nil, target: nil, tiers: nil, type: nil)
|
1159
|
+
# Some parameter documentations has been truncated, see
|
1160
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddOverride} for more details.
|
1161
|
+
#
|
1162
|
+
# @param starting_at [Time] RFC 3339 timestamp indicating when the override will start applying (inclusive)
|
1163
|
+
#
|
1164
|
+
# @param applicable_product_tags [Array<String>] tags identifying products whose rates are being overridden
|
1165
|
+
#
|
1166
|
+
# @param ending_before [Time] RFC 3339 timestamp indicating when the override will stop applying (exclusive)
|
1167
|
+
#
|
1168
|
+
# @param entitled [Boolean]
|
1169
|
+
#
|
1170
|
+
# @param is_commit_specific [Boolean] Indicates whether the override should only apply to commits. Defaults to `false`
|
1171
|
+
# ...
|
1172
|
+
#
|
1173
|
+
# @param multiplier [Float] Required for MULTIPLIER type. Must be >=0.
|
1174
|
+
#
|
1175
|
+
# @param override_specifiers [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier>] Cannot be used in conjunction with product_id or applicable_product_tags. If pro
|
1176
|
+
# ...
|
1177
|
+
#
|
1178
|
+
# @param overwrite_rate [MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate] Required for OVERWRITE type.
|
1179
|
+
#
|
1180
|
+
# @param priority [Float] Required for EXPLICIT multiplier prioritization scheme and all TIERED overrides.
|
1181
|
+
# ...
|
1182
|
+
#
|
1183
|
+
# @param product_id [String] ID of the product whose rate is being overridden
|
1184
|
+
#
|
1185
|
+
# @param target [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Target] Indicates whether the override applies to commit rates or list rates. Can only b
|
1186
|
+
# ...
|
1187
|
+
#
|
1188
|
+
# @param tiers [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Tier>] Required for TIERED type. Must have at least one tier.
|
1189
|
+
#
|
1190
|
+
# @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Type] Overwrites are prioritized over multipliers and tiered overrides.
|
1191
|
+
|
1192
|
+
class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
1193
|
+
# @!attribute commit_ids
|
1194
|
+
# If provided, the override will only apply to the specified commits. Can only be
|
1195
|
+
# used for commit specific overrides. If not provided, the override will apply to
|
1196
|
+
# all commits.
|
1197
|
+
#
|
1198
|
+
# @return [Array<String>, nil]
|
1199
|
+
optional :commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
|
1200
|
+
|
1201
|
+
# @!attribute presentation_group_values
|
1202
|
+
# A map of group names to values. The override will only apply to line items with
|
1203
|
+
# the specified presentation group values. Can only be used for multiplier
|
1204
|
+
# overrides.
|
1205
|
+
#
|
1206
|
+
# @return [Hash{Symbol=>String}, nil]
|
1207
|
+
optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
|
1208
|
+
|
1209
|
+
# @!attribute pricing_group_values
|
1210
|
+
# A map of pricing group names to values. The override will only apply to products
|
1211
|
+
# with the specified pricing group values.
|
1212
|
+
#
|
1213
|
+
# @return [Hash{Symbol=>String}, nil]
|
1214
|
+
optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
|
1215
|
+
|
1216
|
+
# @!attribute product_id
|
1217
|
+
# If provided, the override will only apply to the product with the specified ID.
|
1218
|
+
#
|
1219
|
+
# @return [String, nil]
|
1220
|
+
optional :product_id, String
|
1221
|
+
|
1222
|
+
# @!attribute product_tags
|
1223
|
+
# If provided, the override will only apply to products with all the specified
|
1224
|
+
# tags.
|
1225
|
+
#
|
1226
|
+
# @return [Array<String>, nil]
|
1227
|
+
optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
|
1228
|
+
|
1229
|
+
# @!attribute recurring_commit_ids
|
1230
|
+
# Can only be used for commit specific overrides. Must be used in conjunction with
|
1231
|
+
# one of product_id, product_tags, pricing_group_values, or
|
1232
|
+
# presentation_group_values. If provided, the override will only apply to commits
|
1233
|
+
# created by the specified recurring commit ids.
|
1234
|
+
#
|
1235
|
+
# @return [Array<String>, nil]
|
1236
|
+
optional :recurring_commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
|
1237
|
+
|
1238
|
+
# @!attribute recurring_credit_ids
|
1239
|
+
# Can only be used for commit specific overrides. Must be used in conjunction with
|
1240
|
+
# one of product_id, product_tags, pricing_group_values, or
|
1241
|
+
# presentation_group_values. If provided, the override will only apply to commits
|
1242
|
+
# created by the specified recurring credit ids.
|
1243
|
+
#
|
1244
|
+
# @return [Array<String>, nil]
|
1245
|
+
optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
|
1246
|
+
|
1247
|
+
# @!method initialize(commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil, recurring_credit_ids: nil)
|
1248
|
+
# Some parameter documentations has been truncated, see
|
1249
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier}
|
1250
|
+
# for more details.
|
1251
|
+
#
|
1252
|
+
# @param commit_ids [Array<String>] If provided, the override will only apply to the specified commits. Can only be
|
1253
|
+
# ...
|
1254
|
+
#
|
1255
|
+
# @param presentation_group_values [Hash{Symbol=>String}] A map of group names to values. The override will only apply to line items with
|
1256
|
+
# ...
|
1257
|
+
#
|
1258
|
+
# @param pricing_group_values [Hash{Symbol=>String}] A map of pricing group names to values. The override will only apply to products
|
1259
|
+
# ...
|
1260
|
+
#
|
1261
|
+
# @param product_id [String] If provided, the override will only apply to the product with the specified ID.
|
1262
|
+
#
|
1263
|
+
# @param product_tags [Array<String>] If provided, the override will only apply to products with all the specified tag
|
1264
|
+
# ...
|
1265
|
+
#
|
1266
|
+
# @param recurring_commit_ids [Array<String>] Can only be used for commit specific overrides. Must be used in conjunction with
|
1267
|
+
# ...
|
1268
|
+
#
|
1269
|
+
# @param recurring_credit_ids [Array<String>] Can only be used for commit specific overrides. Must be used in conjunction with
|
1270
|
+
# ...
|
1271
|
+
end
|
1272
|
+
|
1273
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddOverride#overwrite_rate
|
1274
|
+
class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
|
1275
|
+
# @!attribute rate_type
|
1276
|
+
#
|
1277
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::RateType]
|
1278
|
+
required :rate_type,
|
1279
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::RateType }
|
1280
|
+
|
1281
|
+
# @!attribute credit_type_id
|
1282
|
+
#
|
1283
|
+
# @return [String, nil]
|
1284
|
+
optional :credit_type_id, String
|
1285
|
+
|
1286
|
+
# @!attribute custom_rate
|
1287
|
+
# Only set for CUSTOM rate_type. This field is interpreted by custom rate
|
1288
|
+
# processors.
|
1289
|
+
#
|
1290
|
+
# @return [Hash{Symbol=>Object}, nil]
|
1291
|
+
optional :custom_rate, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
|
1292
|
+
|
1293
|
+
# @!attribute is_prorated
|
1294
|
+
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
1295
|
+
# set to true.
|
1296
|
+
#
|
1297
|
+
# @return [Boolean, nil]
|
1298
|
+
optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
|
1299
|
+
|
1300
|
+
# @!attribute price
|
1301
|
+
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
1302
|
+
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
1303
|
+
#
|
1304
|
+
# @return [Float, nil]
|
1305
|
+
optional :price, Float
|
1306
|
+
|
1307
|
+
# @!attribute quantity
|
1308
|
+
# Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
|
1309
|
+
#
|
1310
|
+
# @return [Float, nil]
|
1311
|
+
optional :quantity, Float
|
1312
|
+
|
1313
|
+
# @!attribute tiers
|
1314
|
+
# Only set for TIERED rate_type.
|
1315
|
+
#
|
1316
|
+
# @return [Array<MetronomeSDK::Models::Tier>, nil]
|
1317
|
+
optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Tier] }
|
1318
|
+
|
1319
|
+
# @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
|
1320
|
+
# Some parameter documentations has been truncated, see
|
1321
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate} for
|
1322
|
+
# more details.
|
1323
|
+
#
|
1324
|
+
# Required for OVERWRITE type.
|
1325
|
+
#
|
1326
|
+
# @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::RateType]
|
1327
|
+
#
|
1328
|
+
# @param credit_type_id [String]
|
1329
|
+
#
|
1330
|
+
# @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
|
1331
|
+
# ...
|
1332
|
+
#
|
1333
|
+
# @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
1334
|
+
# ...
|
1335
|
+
#
|
1336
|
+
# @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
|
1337
|
+
# ...
|
1338
|
+
#
|
1339
|
+
# @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
|
1340
|
+
#
|
1341
|
+
# @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
|
1342
|
+
|
1343
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate#rate_type
|
1344
|
+
module RateType
|
1345
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1346
|
+
|
1347
|
+
FLAT = :FLAT
|
1348
|
+
PERCENTAGE = :PERCENTAGE
|
1349
|
+
SUBSCRIPTION = :SUBSCRIPTION
|
1350
|
+
TIERED = :TIERED
|
1351
|
+
CUSTOM = :CUSTOM
|
1352
|
+
|
1353
|
+
# @!method self.values
|
1354
|
+
# @return [Array<Symbol>]
|
1355
|
+
end
|
1356
|
+
end
|
1357
|
+
|
1358
|
+
# Indicates whether the override applies to commit rates or list rates. Can only
|
1359
|
+
# be used for overrides that have `is_commit_specific` set to `true`. Defaults to
|
1360
|
+
# `"LIST_RATE"`.
|
1361
|
+
#
|
1362
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddOverride#target
|
1363
|
+
module Target
|
1364
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1365
|
+
|
1366
|
+
COMMIT_RATE = :COMMIT_RATE
|
1367
|
+
LIST_RATE = :LIST_RATE
|
1368
|
+
|
1369
|
+
# @!method self.values
|
1370
|
+
# @return [Array<Symbol>]
|
1371
|
+
end
|
1372
|
+
|
1373
|
+
class Tier < MetronomeSDK::Internal::Type::BaseModel
|
1374
|
+
# @!attribute multiplier
|
1375
|
+
#
|
1376
|
+
# @return [Float]
|
1377
|
+
required :multiplier, Float
|
1378
|
+
|
1379
|
+
# @!attribute size
|
1380
|
+
#
|
1381
|
+
# @return [Float, nil]
|
1382
|
+
optional :size, Float
|
1383
|
+
|
1384
|
+
# @!method initialize(multiplier:, size: nil)
|
1385
|
+
# @param multiplier [Float]
|
1386
|
+
# @param size [Float]
|
1387
|
+
end
|
1388
|
+
|
1389
|
+
# Overwrites are prioritized over multipliers and tiered overrides.
|
1390
|
+
#
|
1391
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddOverride#type
|
1392
|
+
module Type
|
1393
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1394
|
+
|
1395
|
+
OVERWRITE = :OVERWRITE
|
1396
|
+
MULTIPLIER = :MULTIPLIER
|
1397
|
+
TIERED = :TIERED
|
1398
|
+
|
1399
|
+
# @!method self.values
|
1400
|
+
# @return [Array<Symbol>]
|
1401
|
+
end
|
1402
|
+
end
|
1403
|
+
|
1404
|
+
class AddProfessionalService < MetronomeSDK::Internal::Type::BaseModel
|
1405
|
+
# @!attribute max_amount
|
1406
|
+
# Maximum amount for the term.
|
1407
|
+
#
|
1408
|
+
# @return [Float]
|
1409
|
+
required :max_amount, Float
|
1410
|
+
|
1411
|
+
# @!attribute product_id
|
1412
|
+
#
|
1413
|
+
# @return [String]
|
1414
|
+
required :product_id, String
|
1415
|
+
|
1416
|
+
# @!attribute quantity
|
1417
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
1418
|
+
# amount.
|
1419
|
+
#
|
1420
|
+
# @return [Float]
|
1421
|
+
required :quantity, Float
|
1422
|
+
|
1423
|
+
# @!attribute unit_price
|
1424
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
1425
|
+
# amount and must be specified.
|
1426
|
+
#
|
1427
|
+
# @return [Float]
|
1428
|
+
required :unit_price, Float
|
1429
|
+
|
1430
|
+
# @!attribute custom_fields
|
1431
|
+
#
|
1432
|
+
# @return [Hash{Symbol=>String}, nil]
|
1433
|
+
optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
|
1434
|
+
|
1435
|
+
# @!attribute description
|
1436
|
+
#
|
1437
|
+
# @return [String, nil]
|
1438
|
+
optional :description, String
|
1439
|
+
|
1440
|
+
# @!attribute netsuite_sales_order_id
|
1441
|
+
# This field's availability is dependent on your client's configuration.
|
1442
|
+
#
|
1443
|
+
# @return [String, nil]
|
1444
|
+
optional :netsuite_sales_order_id, String
|
1445
|
+
|
1446
|
+
# @!method initialize(max_amount:, product_id:, quantity:, unit_price:, custom_fields: nil, description: nil, netsuite_sales_order_id: nil)
|
1447
|
+
# Some parameter documentations has been truncated, see
|
1448
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddProfessionalService} for more
|
1449
|
+
# details.
|
1450
|
+
#
|
1451
|
+
# @param max_amount [Float] Maximum amount for the term.
|
1452
|
+
#
|
1453
|
+
# @param product_id [String]
|
1454
|
+
#
|
1455
|
+
# @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
|
1456
|
+
# ...
|
1457
|
+
#
|
1458
|
+
# @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
|
1459
|
+
# ...
|
1460
|
+
#
|
1461
|
+
# @param custom_fields [Hash{Symbol=>String}]
|
1462
|
+
#
|
1463
|
+
# @param description [String]
|
1464
|
+
#
|
1465
|
+
# @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
|
1466
|
+
end
|
1467
|
+
|
1468
|
+
class AddRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
|
1469
|
+
# @!attribute access_amount
|
1470
|
+
# The amount of commit to grant.
|
1471
|
+
#
|
1472
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::AccessAmount]
|
1473
|
+
required :access_amount,
|
1474
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::AccessAmount }
|
1475
|
+
|
1476
|
+
# @!attribute commit_duration
|
1477
|
+
# The amount of time the created commits will be valid for.
|
1478
|
+
#
|
1479
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration]
|
1480
|
+
required :commit_duration,
|
1481
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration }
|
1482
|
+
|
1483
|
+
# @!attribute priority
|
1484
|
+
# Will be passed down to the individual commits
|
1485
|
+
#
|
1486
|
+
# @return [Float]
|
1487
|
+
required :priority, Float
|
1488
|
+
|
1489
|
+
# @!attribute product_id
|
1490
|
+
#
|
1491
|
+
# @return [String]
|
1492
|
+
required :product_id, String
|
1493
|
+
|
1494
|
+
# @!attribute starting_at
|
1495
|
+
# determines the start time for the first commit
|
1496
|
+
#
|
1497
|
+
# @return [Time]
|
1498
|
+
required :starting_at, Time
|
1499
|
+
|
1500
|
+
# @!attribute applicable_product_ids
|
1501
|
+
# Will be passed down to the individual commits
|
1502
|
+
#
|
1503
|
+
# @return [Array<String>, nil]
|
1504
|
+
optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
|
1505
|
+
|
1506
|
+
# @!attribute applicable_product_tags
|
1507
|
+
# Will be passed down to the individual commits
|
1508
|
+
#
|
1509
|
+
# @return [Array<String>, nil]
|
1510
|
+
optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
|
1511
|
+
|
1512
|
+
# @!attribute description
|
1513
|
+
# Will be passed down to the individual commits
|
1514
|
+
#
|
1515
|
+
# @return [String, nil]
|
1516
|
+
optional :description, String
|
1517
|
+
|
1518
|
+
# @!attribute ending_before
|
1519
|
+
# Determines when the contract will stop creating recurring commits. optional
|
1520
|
+
#
|
1521
|
+
# @return [Time, nil]
|
1522
|
+
optional :ending_before, Time
|
1523
|
+
|
1524
|
+
# @!attribute invoice_amount
|
1525
|
+
# The amount the customer should be billed for the commit. Not required.
|
1526
|
+
#
|
1527
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::InvoiceAmount, nil]
|
1528
|
+
optional :invoice_amount,
|
1529
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::InvoiceAmount }
|
1530
|
+
|
1531
|
+
# @!attribute name
|
1532
|
+
# displayed on invoices. will be passed through to the individual commits
|
1533
|
+
#
|
1534
|
+
# @return [String, nil]
|
1535
|
+
optional :name, String
|
1536
|
+
|
1537
|
+
# @!attribute netsuite_sales_order_id
|
1538
|
+
# Will be passed down to the individual commits
|
1539
|
+
#
|
1540
|
+
# @return [String, nil]
|
1541
|
+
optional :netsuite_sales_order_id, String
|
1542
|
+
|
1543
|
+
# @!attribute proration
|
1544
|
+
# Determines whether the first and last commit will be prorated. If not provided,
|
1545
|
+
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
1546
|
+
#
|
1547
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::Proration, nil]
|
1548
|
+
optional :proration,
|
1549
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::Proration }
|
1550
|
+
|
1551
|
+
# @!attribute rate_type
|
1552
|
+
# Whether the created commits will use the commit rate or list rate
|
1553
|
+
#
|
1554
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::RateType, nil]
|
1555
|
+
optional :rate_type,
|
1556
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::RateType }
|
1557
|
+
|
1558
|
+
# @!attribute recurrence_frequency
|
1559
|
+
# The frequency at which the recurring commits will be created. If not provided: -
|
1560
|
+
# The commits will be created on the usage invoice frequency. If provided: - The
|
1561
|
+
# period defined in the duration will correspond to this frequency. - Commits will
|
1562
|
+
# be created aligned with the recurring commit's start_date rather than the usage
|
1563
|
+
# invoice dates.
|
1564
|
+
#
|
1565
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency, nil]
|
1566
|
+
optional :recurrence_frequency,
|
1567
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency }
|
1568
|
+
|
1569
|
+
# @!attribute rollover_fraction
|
1570
|
+
# Will be passed down to the individual commits. This controls how much of an
|
1571
|
+
# individual unexpired commit will roll over upon contract transition. Must be
|
1572
|
+
# between 0 and 1.
|
1573
|
+
#
|
1574
|
+
# @return [Float, nil]
|
1575
|
+
optional :rollover_fraction, Float
|
1576
|
+
|
1577
|
+
# @!attribute temporary_id
|
1578
|
+
# A temporary ID that can be used to reference the recurring commit for commit
|
1579
|
+
# specific overrides.
|
1580
|
+
#
|
1581
|
+
# @return [String, nil]
|
1582
|
+
optional :temporary_id, String
|
1583
|
+
|
1584
|
+
# @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, temporary_id: nil)
|
1585
|
+
# Some parameter documentations has been truncated, see
|
1586
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit} for more
|
1587
|
+
# details.
|
1588
|
+
#
|
1589
|
+
# @param access_amount [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::AccessAmount] The amount of commit to grant.
|
1590
|
+
#
|
1591
|
+
# @param commit_duration [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration] The amount of time the created commits will be valid for.
|
1592
|
+
#
|
1593
|
+
# @param priority [Float] Will be passed down to the individual commits
|
1594
|
+
#
|
1595
|
+
# @param product_id [String]
|
1596
|
+
#
|
1597
|
+
# @param starting_at [Time] determines the start time for the first commit
|
1598
|
+
#
|
1599
|
+
# @param applicable_product_ids [Array<String>] Will be passed down to the individual commits
|
1600
|
+
#
|
1601
|
+
# @param applicable_product_tags [Array<String>] Will be passed down to the individual commits
|
1602
|
+
#
|
1603
|
+
# @param description [String] Will be passed down to the individual commits
|
1604
|
+
#
|
1605
|
+
# @param ending_before [Time] Determines when the contract will stop creating recurring commits. optional
|
1606
|
+
#
|
1607
|
+
# @param invoice_amount [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
|
1608
|
+
#
|
1609
|
+
# @param name [String] displayed on invoices. will be passed through to the individual commits
|
1610
|
+
#
|
1611
|
+
# @param netsuite_sales_order_id [String] Will be passed down to the individual commits
|
1612
|
+
#
|
1613
|
+
# @param proration [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
|
1614
|
+
# ...
|
1615
|
+
#
|
1616
|
+
# @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
|
1617
|
+
#
|
1618
|
+
# @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
|
1619
|
+
# ...
|
1620
|
+
#
|
1621
|
+
# @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
|
1622
|
+
# ...
|
1623
|
+
#
|
1624
|
+
# @param temporary_id [String] A temporary ID that can be used to reference the recurring commit for commit spe
|
1625
|
+
# ...
|
1626
|
+
|
1627
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#access_amount
|
1628
|
+
class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
|
1629
|
+
# @!attribute credit_type_id
|
1630
|
+
#
|
1631
|
+
# @return [String]
|
1632
|
+
required :credit_type_id, String
|
1633
|
+
|
1634
|
+
# @!attribute quantity
|
1635
|
+
#
|
1636
|
+
# @return [Float]
|
1637
|
+
required :quantity, Float
|
1638
|
+
|
1639
|
+
# @!attribute unit_price
|
1640
|
+
#
|
1641
|
+
# @return [Float]
|
1642
|
+
required :unit_price, Float
|
1643
|
+
|
1644
|
+
# @!method initialize(credit_type_id:, quantity:, unit_price:)
|
1645
|
+
# The amount of commit to grant.
|
1646
|
+
#
|
1647
|
+
# @param credit_type_id [String]
|
1648
|
+
# @param quantity [Float]
|
1649
|
+
# @param unit_price [Float]
|
1650
|
+
end
|
1651
|
+
|
1652
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#commit_duration
|
1653
|
+
class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
|
1654
|
+
# @!attribute unit
|
1655
|
+
#
|
1656
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit]
|
1657
|
+
required :unit,
|
1658
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit }
|
1659
|
+
|
1660
|
+
# @!attribute value
|
1661
|
+
#
|
1662
|
+
# @return [Float]
|
1663
|
+
required :value, Float
|
1664
|
+
|
1665
|
+
# @!method initialize(unit:, value:)
|
1666
|
+
# The amount of time the created commits will be valid for.
|
1667
|
+
#
|
1668
|
+
# @param unit [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit]
|
1669
|
+
# @param value [Float]
|
1670
|
+
|
1671
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration#unit
|
1672
|
+
module Unit
|
1673
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1674
|
+
|
1675
|
+
PERIODS = :PERIODS
|
1676
|
+
|
1677
|
+
# @!method self.values
|
1678
|
+
# @return [Array<Symbol>]
|
1679
|
+
end
|
1680
|
+
end
|
1681
|
+
|
1682
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#invoice_amount
|
1683
|
+
class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
|
1684
|
+
# @!attribute credit_type_id
|
1685
|
+
#
|
1686
|
+
# @return [String]
|
1687
|
+
required :credit_type_id, String
|
1688
|
+
|
1689
|
+
# @!attribute quantity
|
1690
|
+
#
|
1691
|
+
# @return [Float]
|
1692
|
+
required :quantity, Float
|
1693
|
+
|
1694
|
+
# @!attribute unit_price
|
1695
|
+
#
|
1696
|
+
# @return [Float]
|
1697
|
+
required :unit_price, Float
|
1698
|
+
|
1699
|
+
# @!method initialize(credit_type_id:, quantity:, unit_price:)
|
1700
|
+
# The amount the customer should be billed for the commit. Not required.
|
1701
|
+
#
|
1702
|
+
# @param credit_type_id [String]
|
1703
|
+
# @param quantity [Float]
|
1704
|
+
# @param unit_price [Float]
|
1705
|
+
end
|
1706
|
+
|
1707
|
+
# Determines whether the first and last commit will be prorated. If not provided,
|
1708
|
+
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
1709
|
+
#
|
1710
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#proration
|
1711
|
+
module Proration
|
1712
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1713
|
+
|
1714
|
+
NONE = :NONE
|
1715
|
+
FIRST = :FIRST
|
1716
|
+
LAST = :LAST
|
1717
|
+
FIRST_AND_LAST = :FIRST_AND_LAST
|
1718
|
+
|
1719
|
+
# @!method self.values
|
1720
|
+
# @return [Array<Symbol>]
|
1721
|
+
end
|
1722
|
+
|
1723
|
+
# Whether the created commits will use the commit rate or list rate
|
1724
|
+
#
|
1725
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#rate_type
|
1726
|
+
module RateType
|
1727
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1728
|
+
|
1729
|
+
COMMIT_RATE = :COMMIT_RATE
|
1730
|
+
LIST_RATE = :LIST_RATE
|
1731
|
+
|
1732
|
+
# @!method self.values
|
1733
|
+
# @return [Array<Symbol>]
|
1734
|
+
end
|
1735
|
+
|
1736
|
+
# The frequency at which the recurring commits will be created. If not provided: -
|
1737
|
+
# The commits will be created on the usage invoice frequency. If provided: - The
|
1738
|
+
# period defined in the duration will correspond to this frequency. - Commits will
|
1739
|
+
# be created aligned with the recurring commit's start_date rather than the usage
|
1740
|
+
# invoice dates.
|
1741
|
+
#
|
1742
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#recurrence_frequency
|
1743
|
+
module RecurrenceFrequency
|
1744
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1745
|
+
|
1746
|
+
MONTHLY = :MONTHLY
|
1747
|
+
QUARTERLY = :QUARTERLY
|
1748
|
+
ANNUAL = :ANNUAL
|
1749
|
+
WEEKLY = :WEEKLY
|
1750
|
+
|
1751
|
+
# @!method self.values
|
1752
|
+
# @return [Array<Symbol>]
|
1753
|
+
end
|
1754
|
+
end
|
1755
|
+
|
1756
|
+
class AddRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
|
1757
|
+
# @!attribute access_amount
|
1758
|
+
# The amount of commit to grant.
|
1759
|
+
#
|
1760
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::AccessAmount]
|
1761
|
+
required :access_amount,
|
1762
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::AccessAmount }
|
1763
|
+
|
1764
|
+
# @!attribute commit_duration
|
1765
|
+
# The amount of time the created commits will be valid for.
|
1766
|
+
#
|
1767
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration]
|
1768
|
+
required :commit_duration,
|
1769
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration }
|
1770
|
+
|
1771
|
+
# @!attribute priority
|
1772
|
+
# Will be passed down to the individual commits
|
1773
|
+
#
|
1774
|
+
# @return [Float]
|
1775
|
+
required :priority, Float
|
1776
|
+
|
1777
|
+
# @!attribute product_id
|
1778
|
+
#
|
1779
|
+
# @return [String]
|
1780
|
+
required :product_id, String
|
1781
|
+
|
1782
|
+
# @!attribute starting_at
|
1783
|
+
# determines the start time for the first commit
|
1784
|
+
#
|
1785
|
+
# @return [Time]
|
1786
|
+
required :starting_at, Time
|
1787
|
+
|
1788
|
+
# @!attribute applicable_product_ids
|
1789
|
+
# Will be passed down to the individual commits
|
1790
|
+
#
|
1791
|
+
# @return [Array<String>, nil]
|
1792
|
+
optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
|
1793
|
+
|
1794
|
+
# @!attribute applicable_product_tags
|
1795
|
+
# Will be passed down to the individual commits
|
1796
|
+
#
|
1797
|
+
# @return [Array<String>, nil]
|
1798
|
+
optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
|
1799
|
+
|
1800
|
+
# @!attribute description
|
1801
|
+
# Will be passed down to the individual commits
|
1802
|
+
#
|
1803
|
+
# @return [String, nil]
|
1804
|
+
optional :description, String
|
1805
|
+
|
1806
|
+
# @!attribute ending_before
|
1807
|
+
# Determines when the contract will stop creating recurring commits. optional
|
1808
|
+
#
|
1809
|
+
# @return [Time, nil]
|
1810
|
+
optional :ending_before, Time
|
1811
|
+
|
1812
|
+
# @!attribute name
|
1813
|
+
# displayed on invoices. will be passed through to the individual commits
|
1814
|
+
#
|
1815
|
+
# @return [String, nil]
|
1816
|
+
optional :name, String
|
1817
|
+
|
1818
|
+
# @!attribute netsuite_sales_order_id
|
1819
|
+
# Will be passed down to the individual commits
|
1820
|
+
#
|
1821
|
+
# @return [String, nil]
|
1822
|
+
optional :netsuite_sales_order_id, String
|
1823
|
+
|
1824
|
+
# @!attribute proration
|
1825
|
+
# Determines whether the first and last commit will be prorated. If not provided,
|
1826
|
+
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
1827
|
+
#
|
1828
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::Proration, nil]
|
1829
|
+
optional :proration,
|
1830
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::Proration }
|
1831
|
+
|
1832
|
+
# @!attribute rate_type
|
1833
|
+
# Whether the created commits will use the commit rate or list rate
|
1834
|
+
#
|
1835
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::RateType, nil]
|
1836
|
+
optional :rate_type,
|
1837
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::RateType }
|
1838
|
+
|
1839
|
+
# @!attribute recurrence_frequency
|
1840
|
+
# The frequency at which the recurring commits will be created. If not provided: -
|
1841
|
+
# The commits will be created on the usage invoice frequency. If provided: - The
|
1842
|
+
# period defined in the duration will correspond to this frequency. - Commits will
|
1843
|
+
# be created aligned with the recurring commit's start_date rather than the usage
|
1844
|
+
# invoice dates.
|
1845
|
+
#
|
1846
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency, nil]
|
1847
|
+
optional :recurrence_frequency,
|
1848
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency }
|
1849
|
+
|
1850
|
+
# @!attribute rollover_fraction
|
1851
|
+
# Will be passed down to the individual commits. This controls how much of an
|
1852
|
+
# individual unexpired commit will roll over upon contract transition. Must be
|
1853
|
+
# between 0 and 1.
|
1854
|
+
#
|
1855
|
+
# @return [Float, nil]
|
1856
|
+
optional :rollover_fraction, Float
|
1857
|
+
|
1858
|
+
# @!attribute temporary_id
|
1859
|
+
# A temporary ID that can be used to reference the recurring commit for commit
|
1860
|
+
# specific overrides.
|
1861
|
+
#
|
1862
|
+
# @return [String, nil]
|
1863
|
+
optional :temporary_id, String
|
1864
|
+
|
1865
|
+
# @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, temporary_id: nil)
|
1866
|
+
# Some parameter documentations has been truncated, see
|
1867
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit} for more
|
1868
|
+
# details.
|
1869
|
+
#
|
1870
|
+
# @param access_amount [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::AccessAmount] The amount of commit to grant.
|
1871
|
+
#
|
1872
|
+
# @param commit_duration [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration] The amount of time the created commits will be valid for.
|
1873
|
+
#
|
1874
|
+
# @param priority [Float] Will be passed down to the individual commits
|
1875
|
+
#
|
1876
|
+
# @param product_id [String]
|
1877
|
+
#
|
1878
|
+
# @param starting_at [Time] determines the start time for the first commit
|
1879
|
+
#
|
1880
|
+
# @param applicable_product_ids [Array<String>] Will be passed down to the individual commits
|
1881
|
+
#
|
1882
|
+
# @param applicable_product_tags [Array<String>] Will be passed down to the individual commits
|
1883
|
+
#
|
1884
|
+
# @param description [String] Will be passed down to the individual commits
|
1885
|
+
#
|
1886
|
+
# @param ending_before [Time] Determines when the contract will stop creating recurring commits. optional
|
1887
|
+
#
|
1888
|
+
# @param name [String] displayed on invoices. will be passed through to the individual commits
|
1889
|
+
#
|
1890
|
+
# @param netsuite_sales_order_id [String] Will be passed down to the individual commits
|
1891
|
+
#
|
1892
|
+
# @param proration [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
|
1893
|
+
# ...
|
1894
|
+
#
|
1895
|
+
# @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
|
1896
|
+
#
|
1897
|
+
# @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
|
1898
|
+
# ...
|
1899
|
+
#
|
1900
|
+
# @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
|
1901
|
+
# ...
|
1902
|
+
#
|
1903
|
+
# @param temporary_id [String] A temporary ID that can be used to reference the recurring commit for commit spe
|
1904
|
+
# ...
|
1905
|
+
|
1906
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#access_amount
|
1907
|
+
class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
|
1908
|
+
# @!attribute credit_type_id
|
1909
|
+
#
|
1910
|
+
# @return [String]
|
1911
|
+
required :credit_type_id, String
|
1912
|
+
|
1913
|
+
# @!attribute quantity
|
1914
|
+
#
|
1915
|
+
# @return [Float]
|
1916
|
+
required :quantity, Float
|
1917
|
+
|
1918
|
+
# @!attribute unit_price
|
1919
|
+
#
|
1920
|
+
# @return [Float]
|
1921
|
+
required :unit_price, Float
|
1922
|
+
|
1923
|
+
# @!method initialize(credit_type_id:, quantity:, unit_price:)
|
1924
|
+
# The amount of commit to grant.
|
1925
|
+
#
|
1926
|
+
# @param credit_type_id [String]
|
1927
|
+
# @param quantity [Float]
|
1928
|
+
# @param unit_price [Float]
|
1929
|
+
end
|
1930
|
+
|
1931
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#commit_duration
|
1932
|
+
class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
|
1933
|
+
# @!attribute unit
|
1934
|
+
#
|
1935
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit]
|
1936
|
+
required :unit,
|
1937
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit }
|
1938
|
+
|
1939
|
+
# @!attribute value
|
1940
|
+
#
|
1941
|
+
# @return [Float]
|
1942
|
+
required :value, Float
|
1943
|
+
|
1944
|
+
# @!method initialize(unit:, value:)
|
1945
|
+
# The amount of time the created commits will be valid for.
|
1946
|
+
#
|
1947
|
+
# @param unit [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit]
|
1948
|
+
# @param value [Float]
|
1949
|
+
|
1950
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration#unit
|
1951
|
+
module Unit
|
1952
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1953
|
+
|
1954
|
+
PERIODS = :PERIODS
|
1955
|
+
|
1956
|
+
# @!method self.values
|
1957
|
+
# @return [Array<Symbol>]
|
1958
|
+
end
|
1959
|
+
end
|
1960
|
+
|
1961
|
+
# Determines whether the first and last commit will be prorated. If not provided,
|
1962
|
+
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
1963
|
+
#
|
1964
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#proration
|
1965
|
+
module Proration
|
1966
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1967
|
+
|
1968
|
+
NONE = :NONE
|
1969
|
+
FIRST = :FIRST
|
1970
|
+
LAST = :LAST
|
1971
|
+
FIRST_AND_LAST = :FIRST_AND_LAST
|
1972
|
+
|
1973
|
+
# @!method self.values
|
1974
|
+
# @return [Array<Symbol>]
|
1975
|
+
end
|
1976
|
+
|
1977
|
+
# Whether the created commits will use the commit rate or list rate
|
1978
|
+
#
|
1979
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#rate_type
|
1980
|
+
module RateType
|
1981
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1982
|
+
|
1983
|
+
COMMIT_RATE = :COMMIT_RATE
|
1984
|
+
LIST_RATE = :LIST_RATE
|
1985
|
+
|
1986
|
+
# @!method self.values
|
1987
|
+
# @return [Array<Symbol>]
|
1988
|
+
end
|
1989
|
+
|
1990
|
+
# The frequency at which the recurring commits will be created. If not provided: -
|
1991
|
+
# The commits will be created on the usage invoice frequency. If provided: - The
|
1992
|
+
# period defined in the duration will correspond to this frequency. - Commits will
|
1993
|
+
# be created aligned with the recurring commit's start_date rather than the usage
|
1994
|
+
# invoice dates.
|
1995
|
+
#
|
1996
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#recurrence_frequency
|
1997
|
+
module RecurrenceFrequency
|
1998
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1999
|
+
|
2000
|
+
MONTHLY = :MONTHLY
|
2001
|
+
QUARTERLY = :QUARTERLY
|
2002
|
+
ANNUAL = :ANNUAL
|
2003
|
+
WEEKLY = :WEEKLY
|
2004
|
+
|
2005
|
+
# @!method self.values
|
2006
|
+
# @return [Array<Symbol>]
|
2007
|
+
end
|
2008
|
+
end
|
2009
|
+
|
2010
|
+
class AddResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
|
2011
|
+
# @!attribute reseller_type
|
2012
|
+
#
|
2013
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::ResellerType]
|
2014
|
+
required :reseller_type,
|
2015
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::ResellerType }
|
2016
|
+
|
2017
|
+
# @!attribute applicable_product_ids
|
2018
|
+
# Must provide at least one of applicable_product_ids or applicable_product_tags.
|
2019
|
+
#
|
2020
|
+
# @return [Array<String>, nil]
|
2021
|
+
optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
|
2022
|
+
|
2023
|
+
# @!attribute applicable_product_tags
|
2024
|
+
# Must provide at least one of applicable_product_ids or applicable_product_tags.
|
2025
|
+
#
|
2026
|
+
# @return [Array<String>, nil]
|
2027
|
+
optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
|
2028
|
+
|
2029
|
+
# @!attribute aws_options
|
2030
|
+
#
|
2031
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::AwsOptions, nil]
|
2032
|
+
optional :aws_options, -> { MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::AwsOptions }
|
2033
|
+
|
2034
|
+
# @!attribute ending_before
|
2035
|
+
# Use null to indicate that the existing end timestamp should be removed.
|
2036
|
+
#
|
2037
|
+
# @return [Time, nil]
|
2038
|
+
optional :ending_before, Time, nil?: true
|
2039
|
+
|
2040
|
+
# @!attribute fraction
|
2041
|
+
#
|
2042
|
+
# @return [Float, nil]
|
2043
|
+
optional :fraction, Float
|
2044
|
+
|
2045
|
+
# @!attribute gcp_options
|
2046
|
+
#
|
2047
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::GcpOptions, nil]
|
2048
|
+
optional :gcp_options, -> { MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::GcpOptions }
|
2049
|
+
|
2050
|
+
# @!attribute netsuite_reseller_id
|
2051
|
+
#
|
2052
|
+
# @return [String, nil]
|
2053
|
+
optional :netsuite_reseller_id, String
|
2054
|
+
|
2055
|
+
# @!attribute reseller_contract_value
|
2056
|
+
#
|
2057
|
+
# @return [Float, nil]
|
2058
|
+
optional :reseller_contract_value, Float
|
2059
|
+
|
2060
|
+
# @!attribute starting_at
|
2061
|
+
#
|
2062
|
+
# @return [Time, nil]
|
2063
|
+
optional :starting_at, Time
|
2064
|
+
|
2065
|
+
# @!method initialize(reseller_type:, applicable_product_ids: nil, applicable_product_tags: nil, aws_options: nil, ending_before: nil, fraction: nil, gcp_options: nil, netsuite_reseller_id: nil, reseller_contract_value: nil, starting_at: nil)
|
2066
|
+
# @param reseller_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::ResellerType]
|
2067
|
+
#
|
2068
|
+
# @param applicable_product_ids [Array<String>] Must provide at least one of applicable_product_ids or applicable_product_tags.
|
2069
|
+
#
|
2070
|
+
# @param applicable_product_tags [Array<String>] Must provide at least one of applicable_product_ids or applicable_product_tags.
|
2071
|
+
#
|
2072
|
+
# @param aws_options [MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::AwsOptions]
|
2073
|
+
#
|
2074
|
+
# @param ending_before [Time, nil] Use null to indicate that the existing end timestamp should be removed.
|
2075
|
+
#
|
2076
|
+
# @param fraction [Float]
|
2077
|
+
#
|
2078
|
+
# @param gcp_options [MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::GcpOptions]
|
2079
|
+
#
|
2080
|
+
# @param netsuite_reseller_id [String]
|
2081
|
+
#
|
2082
|
+
# @param reseller_contract_value [Float]
|
2083
|
+
#
|
2084
|
+
# @param starting_at [Time]
|
2085
|
+
|
2086
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty#reseller_type
|
2087
|
+
module ResellerType
|
2088
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2089
|
+
|
2090
|
+
AWS = :AWS
|
2091
|
+
AWS_PRO_SERVICE = :AWS_PRO_SERVICE
|
2092
|
+
GCP = :GCP
|
2093
|
+
GCP_PRO_SERVICE = :GCP_PRO_SERVICE
|
2094
|
+
|
2095
|
+
# @!method self.values
|
2096
|
+
# @return [Array<Symbol>]
|
2097
|
+
end
|
2098
|
+
|
2099
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty#aws_options
|
2100
|
+
class AwsOptions < MetronomeSDK::Internal::Type::BaseModel
|
2101
|
+
# @!attribute aws_account_number
|
2102
|
+
#
|
2103
|
+
# @return [String, nil]
|
2104
|
+
optional :aws_account_number, String
|
2105
|
+
|
2106
|
+
# @!attribute aws_offer_id
|
2107
|
+
#
|
2108
|
+
# @return [String, nil]
|
2109
|
+
optional :aws_offer_id, String
|
2110
|
+
|
2111
|
+
# @!attribute aws_payer_reference_id
|
2112
|
+
#
|
2113
|
+
# @return [String, nil]
|
2114
|
+
optional :aws_payer_reference_id, String
|
2115
|
+
|
2116
|
+
# @!method initialize(aws_account_number: nil, aws_offer_id: nil, aws_payer_reference_id: nil)
|
2117
|
+
# @param aws_account_number [String]
|
2118
|
+
# @param aws_offer_id [String]
|
2119
|
+
# @param aws_payer_reference_id [String]
|
2120
|
+
end
|
2121
|
+
|
2122
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty#gcp_options
|
2123
|
+
class GcpOptions < MetronomeSDK::Internal::Type::BaseModel
|
2124
|
+
# @!attribute gcp_account_id
|
2125
|
+
#
|
2126
|
+
# @return [String, nil]
|
2127
|
+
optional :gcp_account_id, String
|
2128
|
+
|
2129
|
+
# @!attribute gcp_offer_id
|
2130
|
+
#
|
2131
|
+
# @return [String, nil]
|
2132
|
+
optional :gcp_offer_id, String
|
2133
|
+
|
2134
|
+
# @!method initialize(gcp_account_id: nil, gcp_offer_id: nil)
|
2135
|
+
# @param gcp_account_id [String]
|
2136
|
+
# @param gcp_offer_id [String]
|
2137
|
+
end
|
2138
|
+
end
|
2139
|
+
|
2140
|
+
class AddScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
|
2141
|
+
# @!attribute product_id
|
2142
|
+
#
|
2143
|
+
# @return [String]
|
2144
|
+
required :product_id, String
|
2145
|
+
|
2146
|
+
# @!attribute schedule
|
2147
|
+
# Must provide either schedule_items or recurring_schedule.
|
2148
|
+
#
|
2149
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule]
|
2150
|
+
required :schedule, -> { MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule }
|
2151
|
+
|
2152
|
+
# @!attribute name
|
2153
|
+
# displayed on invoices
|
2154
|
+
#
|
2155
|
+
# @return [String, nil]
|
2156
|
+
optional :name, String
|
2157
|
+
|
2158
|
+
# @!attribute netsuite_sales_order_id
|
2159
|
+
# This field's availability is dependent on your client's configuration.
|
2160
|
+
#
|
2161
|
+
# @return [String, nil]
|
2162
|
+
optional :netsuite_sales_order_id, String
|
2163
|
+
|
2164
|
+
# @!method initialize(product_id:, schedule:, name: nil, netsuite_sales_order_id: nil)
|
2165
|
+
# @param product_id [String]
|
2166
|
+
#
|
2167
|
+
# @param schedule [MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule] Must provide either schedule_items or recurring_schedule.
|
2168
|
+
#
|
2169
|
+
# @param name [String] displayed on invoices
|
2170
|
+
#
|
2171
|
+
# @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
|
2172
|
+
|
2173
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge#schedule
|
2174
|
+
class Schedule < MetronomeSDK::Internal::Type::BaseModel
|
2175
|
+
# @!attribute credit_type_id
|
2176
|
+
# Defaults to USD if not passed. Only USD is supported at this time.
|
2177
|
+
#
|
2178
|
+
# @return [String, nil]
|
2179
|
+
optional :credit_type_id, String
|
2180
|
+
|
2181
|
+
# @!attribute recurring_schedule
|
2182
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
2183
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
2184
|
+
# quantity is inferred to be 1.
|
2185
|
+
#
|
2186
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule, nil]
|
2187
|
+
optional :recurring_schedule,
|
2188
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule }
|
2189
|
+
|
2190
|
+
# @!attribute schedule_items
|
2191
|
+
# Either provide amount or provide both unit_price and quantity.
|
2192
|
+
#
|
2193
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem>, nil]
|
2194
|
+
optional :schedule_items,
|
2195
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem] }
|
2196
|
+
|
2197
|
+
# @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
|
2198
|
+
# Some parameter documentations has been truncated, see
|
2199
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule} for
|
2200
|
+
# more details.
|
2201
|
+
#
|
2202
|
+
# Must provide either schedule_items or recurring_schedule.
|
2203
|
+
#
|
2204
|
+
# @param credit_type_id [String] Defaults to USD if not passed. Only USD is supported at this time.
|
2205
|
+
#
|
2206
|
+
# @param recurring_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
|
2207
|
+
# ...
|
2208
|
+
#
|
2209
|
+
# @param schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
|
2210
|
+
|
2211
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule#recurring_schedule
|
2212
|
+
class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
|
2213
|
+
# @!attribute amount_distribution
|
2214
|
+
#
|
2215
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::AmountDistribution]
|
2216
|
+
required :amount_distribution,
|
2217
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::AmountDistribution }
|
2218
|
+
|
2219
|
+
# @!attribute ending_before
|
2220
|
+
# RFC 3339 timestamp (exclusive).
|
2221
|
+
#
|
2222
|
+
# @return [Time]
|
2223
|
+
required :ending_before, Time
|
2224
|
+
|
2225
|
+
# @!attribute frequency
|
2226
|
+
#
|
2227
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::Frequency]
|
2228
|
+
required :frequency,
|
2229
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::Frequency }
|
2230
|
+
|
2231
|
+
# @!attribute starting_at
|
2232
|
+
# RFC 3339 timestamp (inclusive).
|
2233
|
+
#
|
2234
|
+
# @return [Time]
|
2235
|
+
required :starting_at, Time
|
2236
|
+
|
2237
|
+
# @!attribute amount
|
2238
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
2239
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
2240
|
+
# inferred to be 1.
|
2241
|
+
#
|
2242
|
+
# @return [Float, nil]
|
2243
|
+
optional :amount, Float
|
2244
|
+
|
2245
|
+
# @!attribute quantity
|
2246
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
2247
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
2248
|
+
# provided.
|
2249
|
+
#
|
2250
|
+
# @return [Float, nil]
|
2251
|
+
optional :quantity, Float
|
2252
|
+
|
2253
|
+
# @!attribute unit_price
|
2254
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
2255
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
2256
|
+
# provided.
|
2257
|
+
#
|
2258
|
+
# @return [Float, nil]
|
2259
|
+
optional :unit_price, Float
|
2260
|
+
|
2261
|
+
# @!method initialize(amount_distribution:, ending_before:, frequency:, starting_at:, amount: nil, quantity: nil, unit_price: nil)
|
2262
|
+
# Some parameter documentations has been truncated, see
|
2263
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule}
|
2264
|
+
# for more details.
|
2265
|
+
#
|
2266
|
+
# Enter the unit price and quantity for the charge or instead only send the
|
2267
|
+
# amount. If amount is sent, the unit price is assumed to be the amount and
|
2268
|
+
# quantity is inferred to be 1.
|
2269
|
+
#
|
2270
|
+
# @param amount_distribution [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::AmountDistribution]
|
2271
|
+
#
|
2272
|
+
# @param ending_before [Time] RFC 3339 timestamp (exclusive).
|
2273
|
+
#
|
2274
|
+
# @param frequency [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::Frequency]
|
2275
|
+
#
|
2276
|
+
# @param starting_at [Time] RFC 3339 timestamp (inclusive).
|
2277
|
+
#
|
2278
|
+
# @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
|
2279
|
+
# ...
|
2280
|
+
#
|
2281
|
+
# @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
|
2282
|
+
# ...
|
2283
|
+
#
|
2284
|
+
# @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
|
2285
|
+
# ...
|
2286
|
+
|
2287
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule#amount_distribution
|
2288
|
+
module AmountDistribution
|
2289
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2290
|
+
|
2291
|
+
DIVIDED = :DIVIDED
|
2292
|
+
DIVIDED_ROUNDED = :DIVIDED_ROUNDED
|
2293
|
+
EACH = :EACH
|
2294
|
+
|
2295
|
+
# @!method self.values
|
2296
|
+
# @return [Array<Symbol>]
|
2297
|
+
end
|
2298
|
+
|
2299
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule#frequency
|
2300
|
+
module Frequency
|
2301
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2302
|
+
|
2303
|
+
MONTHLY = :MONTHLY
|
2304
|
+
QUARTERLY = :QUARTERLY
|
2305
|
+
SEMI_ANNUAL = :SEMI_ANNUAL
|
2306
|
+
ANNUAL = :ANNUAL
|
2307
|
+
WEEKLY = :WEEKLY
|
2308
|
+
|
2309
|
+
# @!method self.values
|
2310
|
+
# @return [Array<Symbol>]
|
2311
|
+
end
|
2312
|
+
end
|
2313
|
+
|
2314
|
+
class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
2315
|
+
# @!attribute timestamp
|
2316
|
+
# timestamp of the scheduled event
|
2317
|
+
#
|
2318
|
+
# @return [Time]
|
2319
|
+
required :timestamp, Time
|
2320
|
+
|
2321
|
+
# @!attribute amount
|
2322
|
+
# Amount for the charge. Can be provided instead of unit_price and quantity. If
|
2323
|
+
# amount is sent, the unit_price is assumed to be the amount and quantity is
|
2324
|
+
# inferred to be 1.
|
2325
|
+
#
|
2326
|
+
# @return [Float, nil]
|
2327
|
+
optional :amount, Float
|
2328
|
+
|
2329
|
+
# @!attribute quantity
|
2330
|
+
# Quantity for the charge. Will be multiplied by unit_price to determine the
|
2331
|
+
# amount and must be specified with unit_price. If specified amount cannot be
|
2332
|
+
# provided.
|
2333
|
+
#
|
2334
|
+
# @return [Float, nil]
|
2335
|
+
optional :quantity, Float
|
2336
|
+
|
2337
|
+
# @!attribute unit_price
|
2338
|
+
# Unit price for the charge. Will be multiplied by quantity to determine the
|
2339
|
+
# amount and must be specified with quantity. If specified amount cannot be
|
2340
|
+
# provided.
|
2341
|
+
#
|
2342
|
+
# @return [Float, nil]
|
2343
|
+
optional :unit_price, Float
|
2344
|
+
|
2345
|
+
# @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
|
2346
|
+
# Some parameter documentations has been truncated, see
|
2347
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem}
|
2348
|
+
# for more details.
|
2349
|
+
#
|
2350
|
+
# @param timestamp [Time] timestamp of the scheduled event
|
2351
|
+
#
|
2352
|
+
# @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
|
2353
|
+
# ...
|
2354
|
+
#
|
2355
|
+
# @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
|
2356
|
+
# ...
|
2357
|
+
#
|
2358
|
+
# @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
|
2359
|
+
# ...
|
2360
|
+
end
|
2361
|
+
end
|
2362
|
+
end
|
2363
|
+
|
2364
|
+
class AddSpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
|
2365
|
+
# @!attribute commit
|
2366
|
+
#
|
2367
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::Commit]
|
2368
|
+
required :commit,
|
2369
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::Commit }
|
2370
|
+
|
2371
|
+
# @!attribute is_enabled
|
2372
|
+
# When set to false, the contract will not be evaluated against the
|
2373
|
+
# threshold_amount. Toggling to true will result an immediate evaluation,
|
2374
|
+
# regardless of prior state.
|
2375
|
+
#
|
2376
|
+
# @return [Boolean]
|
2377
|
+
required :is_enabled, MetronomeSDK::Internal::Type::Boolean
|
2378
|
+
|
2379
|
+
# @!attribute payment_gate_config
|
2380
|
+
#
|
2381
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig]
|
2382
|
+
required :payment_gate_config,
|
2383
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig }
|
2384
|
+
|
2385
|
+
# @!attribute threshold_amount
|
2386
|
+
# Specify the threshold amount for the contract. Each time the contract's usage
|
2387
|
+
# hits this amount, a threshold charge will be initiated.
|
2388
|
+
#
|
2389
|
+
# @return [Float]
|
2390
|
+
required :threshold_amount, Float
|
2391
|
+
|
2392
|
+
# @!method initialize(commit:, is_enabled:, payment_gate_config:, threshold_amount:)
|
2393
|
+
# Some parameter documentations has been truncated, see
|
2394
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration}
|
2395
|
+
# for more details.
|
2396
|
+
#
|
2397
|
+
# @param commit [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::Commit]
|
2398
|
+
#
|
2399
|
+
# @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
|
2400
|
+
# ...
|
2401
|
+
#
|
2402
|
+
# @param payment_gate_config [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig]
|
2403
|
+
#
|
2404
|
+
# @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
|
2405
|
+
# ...
|
2406
|
+
|
2407
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration#commit
|
2408
|
+
class Commit < MetronomeSDK::Internal::Type::BaseModel
|
2409
|
+
# @!attribute product_id
|
2410
|
+
# The commit product that will be used to generate the line item for commit
|
2411
|
+
# payment.
|
2412
|
+
#
|
2413
|
+
# @return [String]
|
2414
|
+
required :product_id, String
|
2415
|
+
|
2416
|
+
# @!attribute description
|
2417
|
+
#
|
2418
|
+
# @return [String, nil]
|
2419
|
+
optional :description, String
|
2420
|
+
|
2421
|
+
# @!attribute name
|
2422
|
+
# Specify the name of the line item for the threshold charge. If left blank, it
|
2423
|
+
# will default to the commit product name.
|
2424
|
+
#
|
2425
|
+
# @return [String, nil]
|
2426
|
+
optional :name, String
|
2427
|
+
|
2428
|
+
# @!method initialize(product_id:, description: nil, name: nil)
|
2429
|
+
# Some parameter documentations has been truncated, see
|
2430
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::Commit}
|
2431
|
+
# for more details.
|
2432
|
+
#
|
2433
|
+
# @param product_id [String] The commit product that will be used to generate the line item for commit paymen
|
2434
|
+
# ...
|
2435
|
+
#
|
2436
|
+
# @param description [String]
|
2437
|
+
#
|
2438
|
+
# @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
|
2439
|
+
# ...
|
2440
|
+
end
|
2441
|
+
|
2442
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration#payment_gate_config
|
2443
|
+
class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
|
2444
|
+
# @!attribute payment_gate_type
|
2445
|
+
# Gate access to the commit balance based on successful collection of payment.
|
2446
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
2447
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
2448
|
+
# wish to payment gate the commit balance.
|
2449
|
+
#
|
2450
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
|
2451
|
+
required :payment_gate_type,
|
2452
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
|
2453
|
+
|
2454
|
+
# @!attribute stripe_config
|
2455
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
2456
|
+
#
|
2457
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
|
2458
|
+
optional :stripe_config,
|
2459
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig }
|
2460
|
+
|
2461
|
+
# @!attribute tax_type
|
2462
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
2463
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
2464
|
+
# will default to NONE.
|
2465
|
+
#
|
2466
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
|
2467
|
+
optional :tax_type,
|
2468
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType }
|
2469
|
+
|
2470
|
+
# @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
|
2471
|
+
# Some parameter documentations has been truncated, see
|
2472
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig}
|
2473
|
+
# for more details.
|
2474
|
+
#
|
2475
|
+
# @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
|
2476
|
+
# ...
|
2477
|
+
#
|
2478
|
+
# @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
|
2479
|
+
#
|
2480
|
+
# @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
|
2481
|
+
# ...
|
2482
|
+
|
2483
|
+
# Gate access to the commit balance based on successful collection of payment.
|
2484
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
2485
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
2486
|
+
# wish to payment gate the commit balance.
|
2487
|
+
#
|
2488
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
|
2489
|
+
module PaymentGateType
|
2490
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2491
|
+
|
2492
|
+
NONE = :NONE
|
2493
|
+
STRIPE = :STRIPE
|
2494
|
+
EXTERNAL = :EXTERNAL
|
2495
|
+
|
2496
|
+
# @!method self.values
|
2497
|
+
# @return [Array<Symbol>]
|
2498
|
+
end
|
2499
|
+
|
2500
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig#stripe_config
|
2501
|
+
class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
|
2502
|
+
# @!attribute payment_type
|
2503
|
+
# If left blank, will default to INVOICE
|
2504
|
+
#
|
2505
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
|
2506
|
+
required :payment_type,
|
2507
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
|
2508
|
+
|
2509
|
+
# @!method initialize(payment_type:)
|
2510
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
2511
|
+
#
|
2512
|
+
# @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
|
2513
|
+
|
2514
|
+
# If left blank, will default to INVOICE
|
2515
|
+
#
|
2516
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
|
2517
|
+
module PaymentType
|
2518
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2519
|
+
|
2520
|
+
INVOICE = :INVOICE
|
2521
|
+
PAYMENT_INTENT = :PAYMENT_INTENT
|
2522
|
+
|
2523
|
+
# @!method self.values
|
2524
|
+
# @return [Array<Symbol>]
|
2525
|
+
end
|
2526
|
+
end
|
2527
|
+
|
2528
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
2529
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
2530
|
+
# will default to NONE.
|
2531
|
+
#
|
2532
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig#tax_type
|
2533
|
+
module TaxType
|
2534
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2535
|
+
|
2536
|
+
NONE = :NONE
|
2537
|
+
STRIPE = :STRIPE
|
2538
|
+
|
2539
|
+
# @!method self.values
|
2540
|
+
# @return [Array<Symbol>]
|
2541
|
+
end
|
2542
|
+
end
|
2543
|
+
end
|
2544
|
+
|
2545
|
+
class ArchiveCommit < MetronomeSDK::Internal::Type::BaseModel
|
2546
|
+
# @!attribute id
|
2547
|
+
#
|
2548
|
+
# @return [String]
|
2549
|
+
required :id, String
|
2550
|
+
|
2551
|
+
# @!method initialize(id:)
|
2552
|
+
# @param id [String]
|
2553
|
+
end
|
2554
|
+
|
2555
|
+
class ArchiveCredit < MetronomeSDK::Internal::Type::BaseModel
|
2556
|
+
# @!attribute id
|
2557
|
+
#
|
2558
|
+
# @return [String]
|
2559
|
+
required :id, String
|
2560
|
+
|
2561
|
+
# @!method initialize(id:)
|
2562
|
+
# @param id [String]
|
2563
|
+
end
|
2564
|
+
|
2565
|
+
class ArchiveScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
|
2566
|
+
# @!attribute id
|
2567
|
+
#
|
2568
|
+
# @return [String]
|
2569
|
+
required :id, String
|
2570
|
+
|
2571
|
+
# @!method initialize(id:)
|
2572
|
+
# @param id [String]
|
2573
|
+
end
|
2574
|
+
|
2575
|
+
class RemoveOverride < MetronomeSDK::Internal::Type::BaseModel
|
2576
|
+
# @!attribute id
|
2577
|
+
#
|
2578
|
+
# @return [String]
|
2579
|
+
required :id, String
|
2580
|
+
|
2581
|
+
# @!method initialize(id:)
|
2582
|
+
# @param id [String]
|
2583
|
+
end
|
2584
|
+
|
2585
|
+
class UpdateCommit < MetronomeSDK::Internal::Type::BaseModel
|
2586
|
+
# @!attribute commit_id
|
2587
|
+
#
|
2588
|
+
# @return [String]
|
2589
|
+
required :commit_id, String
|
2590
|
+
|
2591
|
+
# @!attribute access_schedule
|
2592
|
+
#
|
2593
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule, nil]
|
2594
|
+
optional :access_schedule,
|
2595
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule }
|
2596
|
+
|
2597
|
+
# @!attribute applicable_product_ids
|
2598
|
+
# Which products the commit applies to. If both applicable_product_ids and
|
2599
|
+
# applicable_product_tags are not provided, the commit applies to all products.
|
2600
|
+
#
|
2601
|
+
# @return [Array<String>, nil]
|
2602
|
+
optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
|
2603
|
+
|
2604
|
+
# @!attribute applicable_product_tags
|
2605
|
+
# Which tags the commit applies to. If both applicable_product_ids and
|
2606
|
+
# applicable_product_tags are not provided, the commit applies to all products.
|
2607
|
+
#
|
2608
|
+
# @return [Array<String>, nil]
|
2609
|
+
optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
|
2610
|
+
|
2611
|
+
# @!attribute invoice_schedule
|
2612
|
+
#
|
2613
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule, nil]
|
2614
|
+
optional :invoice_schedule,
|
2615
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule }
|
2616
|
+
|
2617
|
+
# @!attribute netsuite_sales_order_id
|
2618
|
+
#
|
2619
|
+
# @return [String, nil]
|
2620
|
+
optional :netsuite_sales_order_id, String, nil?: true
|
2621
|
+
|
2622
|
+
# @!attribute product_id
|
2623
|
+
#
|
2624
|
+
# @return [String, nil]
|
2625
|
+
optional :product_id, String
|
2626
|
+
|
2627
|
+
# @!attribute rollover_fraction
|
2628
|
+
#
|
2629
|
+
# @return [Float, nil]
|
2630
|
+
optional :rollover_fraction, Float, nil?: true
|
2631
|
+
|
2632
|
+
# @!method initialize(commit_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_schedule: nil, netsuite_sales_order_id: nil, product_id: nil, rollover_fraction: nil)
|
2633
|
+
# Some parameter documentations has been truncated, see
|
2634
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit} for more details.
|
2635
|
+
#
|
2636
|
+
# @param commit_id [String]
|
2637
|
+
#
|
2638
|
+
# @param access_schedule [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule]
|
2639
|
+
#
|
2640
|
+
# @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If both applicable_product_ids and applica
|
2641
|
+
# ...
|
2642
|
+
#
|
2643
|
+
# @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If both applicable*product_ids and applicable*
|
2644
|
+
# ...
|
2645
|
+
#
|
2646
|
+
# @param invoice_schedule [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule]
|
2647
|
+
#
|
2648
|
+
# @param netsuite_sales_order_id [String, nil]
|
2649
|
+
#
|
2650
|
+
# @param product_id [String]
|
2651
|
+
#
|
2652
|
+
# @param rollover_fraction [Float, nil]
|
2653
|
+
|
2654
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit#access_schedule
|
2655
|
+
class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
|
2656
|
+
# @!attribute add_schedule_items
|
2657
|
+
#
|
2658
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::AddScheduleItem>, nil]
|
2659
|
+
optional :add_schedule_items,
|
2660
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::AddScheduleItem] }
|
2661
|
+
|
2662
|
+
# @!attribute remove_schedule_items
|
2663
|
+
#
|
2664
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::RemoveScheduleItem>, nil]
|
2665
|
+
optional :remove_schedule_items,
|
2666
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::RemoveScheduleItem] }
|
2667
|
+
|
2668
|
+
# @!attribute update_schedule_items
|
2669
|
+
#
|
2670
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::UpdateScheduleItem>, nil]
|
2671
|
+
optional :update_schedule_items,
|
2672
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::UpdateScheduleItem] }
|
2673
|
+
|
2674
|
+
# @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
|
2675
|
+
# @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::AddScheduleItem>]
|
2676
|
+
# @param remove_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::RemoveScheduleItem>]
|
2677
|
+
# @param update_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::UpdateScheduleItem>]
|
2678
|
+
|
2679
|
+
class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
2680
|
+
# @!attribute amount
|
2681
|
+
#
|
2682
|
+
# @return [Float]
|
2683
|
+
required :amount, Float
|
2684
|
+
|
2685
|
+
# @!attribute ending_before
|
2686
|
+
#
|
2687
|
+
# @return [Time]
|
2688
|
+
required :ending_before, Time
|
2689
|
+
|
2690
|
+
# @!attribute starting_at
|
2691
|
+
#
|
2692
|
+
# @return [Time]
|
2693
|
+
required :starting_at, Time
|
2694
|
+
|
2695
|
+
# @!method initialize(amount:, ending_before:, starting_at:)
|
2696
|
+
# @param amount [Float]
|
2697
|
+
# @param ending_before [Time]
|
2698
|
+
# @param starting_at [Time]
|
2699
|
+
end
|
2700
|
+
|
2701
|
+
class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
2702
|
+
# @!attribute id
|
2703
|
+
#
|
2704
|
+
# @return [String]
|
2705
|
+
required :id, String
|
2706
|
+
|
2707
|
+
# @!method initialize(id:)
|
2708
|
+
# @param id [String]
|
2709
|
+
end
|
2710
|
+
|
2711
|
+
class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
2712
|
+
# @!attribute id
|
2713
|
+
#
|
2714
|
+
# @return [String]
|
2715
|
+
required :id, String
|
2716
|
+
|
2717
|
+
# @!attribute amount
|
2718
|
+
#
|
2719
|
+
# @return [Float, nil]
|
2720
|
+
optional :amount, Float
|
2721
|
+
|
2722
|
+
# @!attribute ending_before
|
2723
|
+
#
|
2724
|
+
# @return [Time, nil]
|
2725
|
+
optional :ending_before, Time
|
2726
|
+
|
2727
|
+
# @!attribute starting_at
|
2728
|
+
#
|
2729
|
+
# @return [Time, nil]
|
2730
|
+
optional :starting_at, Time
|
2731
|
+
|
2732
|
+
# @!method initialize(id:, amount: nil, ending_before: nil, starting_at: nil)
|
2733
|
+
# @param id [String]
|
2734
|
+
# @param amount [Float]
|
2735
|
+
# @param ending_before [Time]
|
2736
|
+
# @param starting_at [Time]
|
2737
|
+
end
|
2738
|
+
end
|
2739
|
+
|
2740
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit#invoice_schedule
|
2741
|
+
class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
|
2742
|
+
# @!attribute add_schedule_items
|
2743
|
+
#
|
2744
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::AddScheduleItem>, nil]
|
2745
|
+
optional :add_schedule_items,
|
2746
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::AddScheduleItem] }
|
2747
|
+
|
2748
|
+
# @!attribute remove_schedule_items
|
2749
|
+
#
|
2750
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::RemoveScheduleItem>, nil]
|
2751
|
+
optional :remove_schedule_items,
|
2752
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::RemoveScheduleItem] }
|
2753
|
+
|
2754
|
+
# @!attribute update_schedule_items
|
2755
|
+
#
|
2756
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::UpdateScheduleItem>, nil]
|
2757
|
+
optional :update_schedule_items,
|
2758
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::UpdateScheduleItem] }
|
2759
|
+
|
2760
|
+
# @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
|
2761
|
+
# @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::AddScheduleItem>]
|
2762
|
+
# @param remove_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::RemoveScheduleItem>]
|
2763
|
+
# @param update_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::UpdateScheduleItem>]
|
2764
|
+
|
2765
|
+
class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
2766
|
+
# @!attribute timestamp
|
2767
|
+
#
|
2768
|
+
# @return [Time]
|
2769
|
+
required :timestamp, Time
|
2770
|
+
|
2771
|
+
# @!attribute amount
|
2772
|
+
#
|
2773
|
+
# @return [Float, nil]
|
2774
|
+
optional :amount, Float
|
2775
|
+
|
2776
|
+
# @!attribute quantity
|
2777
|
+
#
|
2778
|
+
# @return [Float, nil]
|
2779
|
+
optional :quantity, Float
|
2780
|
+
|
2781
|
+
# @!attribute unit_price
|
2782
|
+
#
|
2783
|
+
# @return [Float, nil]
|
2784
|
+
optional :unit_price, Float
|
2785
|
+
|
2786
|
+
# @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
|
2787
|
+
# @param timestamp [Time]
|
2788
|
+
# @param amount [Float]
|
2789
|
+
# @param quantity [Float]
|
2790
|
+
# @param unit_price [Float]
|
2791
|
+
end
|
2792
|
+
|
2793
|
+
class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
2794
|
+
# @!attribute id
|
2795
|
+
#
|
2796
|
+
# @return [String]
|
2797
|
+
required :id, String
|
2798
|
+
|
2799
|
+
# @!method initialize(id:)
|
2800
|
+
# @param id [String]
|
2801
|
+
end
|
2802
|
+
|
2803
|
+
class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
2804
|
+
# @!attribute id
|
2805
|
+
#
|
2806
|
+
# @return [String]
|
2807
|
+
required :id, String
|
2808
|
+
|
2809
|
+
# @!attribute amount
|
2810
|
+
#
|
2811
|
+
# @return [Float, nil]
|
2812
|
+
optional :amount, Float
|
2813
|
+
|
2814
|
+
# @!attribute quantity
|
2815
|
+
#
|
2816
|
+
# @return [Float, nil]
|
2817
|
+
optional :quantity, Float
|
2818
|
+
|
2819
|
+
# @!attribute timestamp
|
2820
|
+
#
|
2821
|
+
# @return [Time, nil]
|
2822
|
+
optional :timestamp, Time
|
2823
|
+
|
2824
|
+
# @!attribute unit_price
|
2825
|
+
#
|
2826
|
+
# @return [Float, nil]
|
2827
|
+
optional :unit_price, Float
|
2828
|
+
|
2829
|
+
# @!method initialize(id:, amount: nil, quantity: nil, timestamp: nil, unit_price: nil)
|
2830
|
+
# @param id [String]
|
2831
|
+
# @param amount [Float]
|
2832
|
+
# @param quantity [Float]
|
2833
|
+
# @param timestamp [Time]
|
2834
|
+
# @param unit_price [Float]
|
2835
|
+
end
|
2836
|
+
end
|
2837
|
+
end
|
2838
|
+
|
2839
|
+
class UpdateCredit < MetronomeSDK::Internal::Type::BaseModel
|
2840
|
+
# @!attribute credit_id
|
2841
|
+
#
|
2842
|
+
# @return [String]
|
2843
|
+
required :credit_id, String
|
2844
|
+
|
2845
|
+
# @!attribute access_schedule
|
2846
|
+
#
|
2847
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule, nil]
|
2848
|
+
optional :access_schedule,
|
2849
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule }
|
2850
|
+
|
2851
|
+
# @!attribute applicable_product_ids
|
2852
|
+
# Which products the commit applies to. If both applicable_product_ids and
|
2853
|
+
# applicable_product_tags are not provided, the commit applies to all products.
|
2854
|
+
#
|
2855
|
+
# @return [Array<String>, nil]
|
2856
|
+
optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
|
2857
|
+
|
2858
|
+
# @!attribute applicable_product_tags
|
2859
|
+
# Which tags the commit applies to. If both applicable_product_ids and
|
2860
|
+
# applicable_product_tags are not provided, the commit applies to all products.
|
2861
|
+
#
|
2862
|
+
# @return [Array<String>, nil]
|
2863
|
+
optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
|
2864
|
+
|
2865
|
+
# @!attribute netsuite_sales_order_id
|
2866
|
+
#
|
2867
|
+
# @return [String, nil]
|
2868
|
+
optional :netsuite_sales_order_id, String, nil?: true
|
2869
|
+
|
2870
|
+
# @!attribute product_id
|
2871
|
+
#
|
2872
|
+
# @return [String, nil]
|
2873
|
+
optional :product_id, String
|
2874
|
+
|
2875
|
+
# @!method initialize(credit_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, netsuite_sales_order_id: nil, product_id: nil)
|
2876
|
+
# Some parameter documentations has been truncated, see
|
2877
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit} for more details.
|
2878
|
+
#
|
2879
|
+
# @param credit_id [String]
|
2880
|
+
#
|
2881
|
+
# @param access_schedule [MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule]
|
2882
|
+
#
|
2883
|
+
# @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If both applicable_product_ids and applica
|
2884
|
+
# ...
|
2885
|
+
#
|
2886
|
+
# @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If both applicable*product_ids and applicable*
|
2887
|
+
# ...
|
2888
|
+
#
|
2889
|
+
# @param netsuite_sales_order_id [String, nil]
|
2890
|
+
#
|
2891
|
+
# @param product_id [String]
|
2892
|
+
|
2893
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit#access_schedule
|
2894
|
+
class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
|
2895
|
+
# @!attribute add_schedule_items
|
2896
|
+
#
|
2897
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::AddScheduleItem>, nil]
|
2898
|
+
optional :add_schedule_items,
|
2899
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::AddScheduleItem] }
|
2900
|
+
|
2901
|
+
# @!attribute remove_schedule_items
|
2902
|
+
#
|
2903
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::RemoveScheduleItem>, nil]
|
2904
|
+
optional :remove_schedule_items,
|
2905
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::RemoveScheduleItem] }
|
2906
|
+
|
2907
|
+
# @!attribute update_schedule_items
|
2908
|
+
#
|
2909
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::UpdateScheduleItem>, nil]
|
2910
|
+
optional :update_schedule_items,
|
2911
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::UpdateScheduleItem] }
|
2912
|
+
|
2913
|
+
# @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
|
2914
|
+
# @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::AddScheduleItem>]
|
2915
|
+
# @param remove_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::RemoveScheduleItem>]
|
2916
|
+
# @param update_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::UpdateScheduleItem>]
|
2917
|
+
|
2918
|
+
class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
2919
|
+
# @!attribute amount
|
2920
|
+
#
|
2921
|
+
# @return [Float]
|
2922
|
+
required :amount, Float
|
2923
|
+
|
2924
|
+
# @!attribute ending_before
|
2925
|
+
#
|
2926
|
+
# @return [Time]
|
2927
|
+
required :ending_before, Time
|
2928
|
+
|
2929
|
+
# @!attribute starting_at
|
2930
|
+
#
|
2931
|
+
# @return [Time]
|
2932
|
+
required :starting_at, Time
|
2933
|
+
|
2934
|
+
# @!method initialize(amount:, ending_before:, starting_at:)
|
2935
|
+
# @param amount [Float]
|
2936
|
+
# @param ending_before [Time]
|
2937
|
+
# @param starting_at [Time]
|
2938
|
+
end
|
2939
|
+
|
2940
|
+
class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
2941
|
+
# @!attribute id
|
2942
|
+
#
|
2943
|
+
# @return [String]
|
2944
|
+
required :id, String
|
2945
|
+
|
2946
|
+
# @!method initialize(id:)
|
2947
|
+
# @param id [String]
|
2948
|
+
end
|
2949
|
+
|
2950
|
+
class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
2951
|
+
# @!attribute id
|
2952
|
+
#
|
2953
|
+
# @return [String]
|
2954
|
+
required :id, String
|
2955
|
+
|
2956
|
+
# @!attribute amount
|
2957
|
+
#
|
2958
|
+
# @return [Float, nil]
|
2959
|
+
optional :amount, Float
|
2960
|
+
|
2961
|
+
# @!attribute ending_before
|
2962
|
+
#
|
2963
|
+
# @return [Time, nil]
|
2964
|
+
optional :ending_before, Time
|
2965
|
+
|
2966
|
+
# @!attribute starting_at
|
2967
|
+
#
|
2968
|
+
# @return [Time, nil]
|
2969
|
+
optional :starting_at, Time
|
2970
|
+
|
2971
|
+
# @!method initialize(id:, amount: nil, ending_before: nil, starting_at: nil)
|
2972
|
+
# @param id [String]
|
2973
|
+
# @param amount [Float]
|
2974
|
+
# @param ending_before [Time]
|
2975
|
+
# @param starting_at [Time]
|
2976
|
+
end
|
2977
|
+
end
|
2978
|
+
end
|
2979
|
+
|
2980
|
+
class UpdateScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
|
2981
|
+
# @!attribute scheduled_charge_id
|
2982
|
+
#
|
2983
|
+
# @return [String]
|
2984
|
+
required :scheduled_charge_id, String
|
2985
|
+
|
2986
|
+
# @!attribute invoice_schedule
|
2987
|
+
#
|
2988
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule, nil]
|
2989
|
+
optional :invoice_schedule,
|
2990
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule }
|
2991
|
+
|
2992
|
+
# @!attribute netsuite_sales_order_id
|
2993
|
+
#
|
2994
|
+
# @return [String, nil]
|
2995
|
+
optional :netsuite_sales_order_id, String, nil?: true
|
2996
|
+
|
2997
|
+
# @!method initialize(scheduled_charge_id:, invoice_schedule: nil, netsuite_sales_order_id: nil)
|
2998
|
+
# @param scheduled_charge_id [String]
|
2999
|
+
# @param invoice_schedule [MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule]
|
3000
|
+
# @param netsuite_sales_order_id [String, nil]
|
3001
|
+
|
3002
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge#invoice_schedule
|
3003
|
+
class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
|
3004
|
+
# @!attribute add_schedule_items
|
3005
|
+
#
|
3006
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem>, nil]
|
3007
|
+
optional :add_schedule_items,
|
3008
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem] }
|
3009
|
+
|
3010
|
+
# @!attribute remove_schedule_items
|
3011
|
+
#
|
3012
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem>, nil]
|
3013
|
+
optional :remove_schedule_items,
|
3014
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem] }
|
3015
|
+
|
3016
|
+
# @!attribute update_schedule_items
|
3017
|
+
#
|
3018
|
+
# @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem>, nil]
|
3019
|
+
optional :update_schedule_items,
|
3020
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem] }
|
3021
|
+
|
3022
|
+
# @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
|
3023
|
+
# @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem>]
|
3024
|
+
# @param remove_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem>]
|
3025
|
+
# @param update_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem>]
|
3026
|
+
|
3027
|
+
class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
3028
|
+
# @!attribute timestamp
|
3029
|
+
#
|
3030
|
+
# @return [Time]
|
3031
|
+
required :timestamp, Time
|
3032
|
+
|
3033
|
+
# @!attribute amount
|
3034
|
+
#
|
3035
|
+
# @return [Float, nil]
|
3036
|
+
optional :amount, Float
|
3037
|
+
|
3038
|
+
# @!attribute quantity
|
3039
|
+
#
|
3040
|
+
# @return [Float, nil]
|
3041
|
+
optional :quantity, Float
|
3042
|
+
|
3043
|
+
# @!attribute unit_price
|
3044
|
+
#
|
3045
|
+
# @return [Float, nil]
|
3046
|
+
optional :unit_price, Float
|
3047
|
+
|
3048
|
+
# @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
|
3049
|
+
# @param timestamp [Time]
|
3050
|
+
# @param amount [Float]
|
3051
|
+
# @param quantity [Float]
|
3052
|
+
# @param unit_price [Float]
|
3053
|
+
end
|
3054
|
+
|
3055
|
+
class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
3056
|
+
# @!attribute id
|
3057
|
+
#
|
3058
|
+
# @return [String]
|
3059
|
+
required :id, String
|
3060
|
+
|
3061
|
+
# @!method initialize(id:)
|
3062
|
+
# @param id [String]
|
3063
|
+
end
|
3064
|
+
|
3065
|
+
class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
|
3066
|
+
# @!attribute id
|
3067
|
+
#
|
3068
|
+
# @return [String]
|
3069
|
+
required :id, String
|
3070
|
+
|
3071
|
+
# @!attribute amount
|
3072
|
+
#
|
3073
|
+
# @return [Float, nil]
|
3074
|
+
optional :amount, Float
|
3075
|
+
|
3076
|
+
# @!attribute quantity
|
3077
|
+
#
|
3078
|
+
# @return [Float, nil]
|
3079
|
+
optional :quantity, Float
|
3080
|
+
|
3081
|
+
# @!attribute timestamp
|
3082
|
+
#
|
3083
|
+
# @return [Time, nil]
|
3084
|
+
optional :timestamp, Time
|
3085
|
+
|
3086
|
+
# @!attribute unit_price
|
3087
|
+
#
|
3088
|
+
# @return [Float, nil]
|
3089
|
+
optional :unit_price, Float
|
3090
|
+
|
3091
|
+
# @!method initialize(id:, amount: nil, quantity: nil, timestamp: nil, unit_price: nil)
|
3092
|
+
# @param id [String]
|
3093
|
+
# @param amount [Float]
|
3094
|
+
# @param quantity [Float]
|
3095
|
+
# @param timestamp [Time]
|
3096
|
+
# @param unit_price [Float]
|
3097
|
+
end
|
3098
|
+
end
|
3099
|
+
end
|
3100
|
+
|
3101
|
+
class UpdateSpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
|
3102
|
+
# @!attribute commit
|
3103
|
+
#
|
3104
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::Commit, nil]
|
3105
|
+
optional :commit,
|
3106
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::Commit }
|
3107
|
+
|
3108
|
+
# @!attribute is_enabled
|
3109
|
+
# When set to false, the contract will not be evaluated against the
|
3110
|
+
# threshold_amount. Toggling to true will result an immediate evaluation,
|
3111
|
+
# regardless of prior state.
|
3112
|
+
#
|
3113
|
+
# @return [Boolean, nil]
|
3114
|
+
optional :is_enabled, MetronomeSDK::Internal::Type::Boolean
|
3115
|
+
|
3116
|
+
# @!attribute payment_gate_config
|
3117
|
+
#
|
3118
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig, nil]
|
3119
|
+
optional :payment_gate_config,
|
3120
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig }
|
3121
|
+
|
3122
|
+
# @!attribute threshold_amount
|
3123
|
+
# Specify the threshold amount for the contract. Each time the contract's usage
|
3124
|
+
# hits this amount, a threshold charge will be initiated.
|
3125
|
+
#
|
3126
|
+
# @return [Float, nil]
|
3127
|
+
optional :threshold_amount, Float
|
3128
|
+
|
3129
|
+
# @!method initialize(commit: nil, is_enabled: nil, payment_gate_config: nil, threshold_amount: nil)
|
3130
|
+
# Some parameter documentations has been truncated, see
|
3131
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration}
|
3132
|
+
# for more details.
|
3133
|
+
#
|
3134
|
+
# @param commit [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::Commit]
|
3135
|
+
#
|
3136
|
+
# @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
|
3137
|
+
# ...
|
3138
|
+
#
|
3139
|
+
# @param payment_gate_config [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig]
|
3140
|
+
#
|
3141
|
+
# @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
|
3142
|
+
# ...
|
3143
|
+
|
3144
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration#commit
|
3145
|
+
class Commit < MetronomeSDK::Internal::Type::BaseModel
|
3146
|
+
# @!attribute description
|
3147
|
+
#
|
3148
|
+
# @return [String, nil]
|
3149
|
+
optional :description, String, nil?: true
|
3150
|
+
|
3151
|
+
# @!attribute name
|
3152
|
+
# Specify the name of the line item for the threshold charge. If left blank, it
|
3153
|
+
# will default to the commit product name.
|
3154
|
+
#
|
3155
|
+
# @return [String, nil]
|
3156
|
+
optional :name, String, nil?: true
|
3157
|
+
|
3158
|
+
# @!attribute product_id
|
3159
|
+
#
|
3160
|
+
# @return [String, nil]
|
3161
|
+
optional :product_id, String
|
3162
|
+
|
3163
|
+
# @!method initialize(description: nil, name: nil, product_id: nil)
|
3164
|
+
# Some parameter documentations has been truncated, see
|
3165
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::Commit}
|
3166
|
+
# for more details.
|
3167
|
+
#
|
3168
|
+
# @param description [String, nil]
|
3169
|
+
#
|
3170
|
+
# @param name [String, nil] Specify the name of the line item for the threshold charge. If left blank, it wi
|
3171
|
+
# ...
|
3172
|
+
#
|
3173
|
+
# @param product_id [String]
|
3174
|
+
end
|
3175
|
+
|
3176
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration#payment_gate_config
|
3177
|
+
class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
|
3178
|
+
# @!attribute payment_gate_type
|
3179
|
+
# Gate access to the commit balance based on successful collection of payment.
|
3180
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
3181
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
3182
|
+
# wish to payment gate the commit balance.
|
3183
|
+
#
|
3184
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
|
3185
|
+
required :payment_gate_type,
|
3186
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
|
3187
|
+
|
3188
|
+
# @!attribute stripe_config
|
3189
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
3190
|
+
#
|
3191
|
+
# @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
|
3192
|
+
optional :stripe_config,
|
3193
|
+
-> { MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig }
|
3194
|
+
|
3195
|
+
# @!attribute tax_type
|
3196
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
3197
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
3198
|
+
# will default to NONE.
|
3199
|
+
#
|
3200
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
|
3201
|
+
optional :tax_type,
|
3202
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType }
|
3203
|
+
|
3204
|
+
# @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
|
3205
|
+
# Some parameter documentations has been truncated, see
|
3206
|
+
# {MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig}
|
3207
|
+
# for more details.
|
3208
|
+
#
|
3209
|
+
# @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
|
3210
|
+
# ...
|
3211
|
+
#
|
3212
|
+
# @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
|
3213
|
+
#
|
3214
|
+
# @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
|
3215
|
+
# ...
|
3216
|
+
|
3217
|
+
# Gate access to the commit balance based on successful collection of payment.
|
3218
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
3219
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
3220
|
+
# wish to payment gate the commit balance.
|
3221
|
+
#
|
3222
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
|
3223
|
+
module PaymentGateType
|
3224
|
+
extend MetronomeSDK::Internal::Type::Enum
|
3225
|
+
|
3226
|
+
NONE = :NONE
|
3227
|
+
STRIPE = :STRIPE
|
3228
|
+
EXTERNAL = :EXTERNAL
|
3229
|
+
|
3230
|
+
# @!method self.values
|
3231
|
+
# @return [Array<Symbol>]
|
3232
|
+
end
|
3233
|
+
|
3234
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig#stripe_config
|
3235
|
+
class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
|
3236
|
+
# @!attribute payment_type
|
3237
|
+
# If left blank, will default to INVOICE
|
3238
|
+
#
|
3239
|
+
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
|
3240
|
+
required :payment_type,
|
3241
|
+
enum: -> { MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
|
3242
|
+
|
3243
|
+
# @!method initialize(payment_type:)
|
3244
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
3245
|
+
#
|
3246
|
+
# @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
|
3247
|
+
|
3248
|
+
# If left blank, will default to INVOICE
|
3249
|
+
#
|
3250
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
|
3251
|
+
module PaymentType
|
3252
|
+
extend MetronomeSDK::Internal::Type::Enum
|
3253
|
+
|
3254
|
+
INVOICE = :INVOICE
|
3255
|
+
PAYMENT_INTENT = :PAYMENT_INTENT
|
3256
|
+
|
3257
|
+
# @!method self.values
|
3258
|
+
# @return [Array<Symbol>]
|
3259
|
+
end
|
3260
|
+
end
|
3261
|
+
|
3262
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
3263
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
3264
|
+
# will default to NONE.
|
3265
|
+
#
|
3266
|
+
# @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig#tax_type
|
3267
|
+
module TaxType
|
3268
|
+
extend MetronomeSDK::Internal::Type::Enum
|
3269
|
+
|
3270
|
+
NONE = :NONE
|
3271
|
+
STRIPE = :STRIPE
|
3272
|
+
|
3273
|
+
# @!method self.values
|
3274
|
+
# @return [Array<Symbol>]
|
3275
|
+
end
|
3276
|
+
end
|
3277
|
+
end
|
3278
|
+
end
|
3279
|
+
end
|
3280
|
+
end
|
3281
|
+
end
|