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,2407 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module MetronomeSDK
|
4
|
+
module Models
|
5
|
+
class ContractWithoutAmendments < MetronomeSDK::Internal::Type::BaseModel
|
6
|
+
sig { returns(T::Array[MetronomeSDK::Models::Commit]) }
|
7
|
+
attr_accessor :commits
|
8
|
+
|
9
|
+
sig { returns(Time) }
|
10
|
+
attr_accessor :created_at
|
11
|
+
|
12
|
+
sig { returns(String) }
|
13
|
+
attr_accessor :created_by
|
14
|
+
|
15
|
+
sig { returns(T::Array[MetronomeSDK::Models::Override]) }
|
16
|
+
attr_accessor :overrides
|
17
|
+
|
18
|
+
sig { returns(T::Array[MetronomeSDK::Models::ScheduledCharge]) }
|
19
|
+
attr_accessor :scheduled_charges
|
20
|
+
|
21
|
+
sig { returns(Time) }
|
22
|
+
attr_accessor :starting_at
|
23
|
+
|
24
|
+
sig { returns(T::Array[MetronomeSDK::Models::ContractWithoutAmendments::Transition]) }
|
25
|
+
attr_accessor :transitions
|
26
|
+
|
27
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule) }
|
28
|
+
attr_reader :usage_statement_schedule
|
29
|
+
|
30
|
+
sig do
|
31
|
+
params(
|
32
|
+
usage_statement_schedule: T.any(
|
33
|
+
MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule,
|
34
|
+
MetronomeSDK::Internal::AnyHash
|
35
|
+
)
|
36
|
+
)
|
37
|
+
.void
|
38
|
+
end
|
39
|
+
attr_writer :usage_statement_schedule
|
40
|
+
|
41
|
+
sig { returns(T.nilable(MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration)) }
|
42
|
+
attr_reader :credit_balance_threshold_configuration
|
43
|
+
|
44
|
+
sig do
|
45
|
+
params(
|
46
|
+
credit_balance_threshold_configuration: T.any(
|
47
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration,
|
48
|
+
MetronomeSDK::Internal::AnyHash
|
49
|
+
)
|
50
|
+
)
|
51
|
+
.void
|
52
|
+
end
|
53
|
+
attr_writer :credit_balance_threshold_configuration
|
54
|
+
|
55
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::Credit])) }
|
56
|
+
attr_reader :credits
|
57
|
+
|
58
|
+
sig { params(credits: T::Array[T.any(MetronomeSDK::Models::Credit, MetronomeSDK::Internal::AnyHash)]).void }
|
59
|
+
attr_writer :credits
|
60
|
+
|
61
|
+
# This field's availability is dependent on your client's configuration.
|
62
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::Discount])) }
|
63
|
+
attr_reader :discounts
|
64
|
+
|
65
|
+
sig { params(discounts: T::Array[T.any(MetronomeSDK::Models::Discount, MetronomeSDK::Internal::AnyHash)]).void }
|
66
|
+
attr_writer :discounts
|
67
|
+
|
68
|
+
sig { returns(T.nilable(Time)) }
|
69
|
+
attr_reader :ending_before
|
70
|
+
|
71
|
+
sig { params(ending_before: Time).void }
|
72
|
+
attr_writer :ending_before
|
73
|
+
|
74
|
+
sig { returns(T.nilable(String)) }
|
75
|
+
attr_reader :name
|
76
|
+
|
77
|
+
sig { params(name: String).void }
|
78
|
+
attr_writer :name
|
79
|
+
|
80
|
+
sig { returns(T.nilable(Float)) }
|
81
|
+
attr_reader :net_payment_terms_days
|
82
|
+
|
83
|
+
sig { params(net_payment_terms_days: Float).void }
|
84
|
+
attr_writer :net_payment_terms_days
|
85
|
+
|
86
|
+
# This field's availability is dependent on your client's configuration.
|
87
|
+
sig { returns(T.nilable(String)) }
|
88
|
+
attr_reader :netsuite_sales_order_id
|
89
|
+
|
90
|
+
sig { params(netsuite_sales_order_id: String).void }
|
91
|
+
attr_writer :netsuite_sales_order_id
|
92
|
+
|
93
|
+
# This field's availability is dependent on your client's configuration.
|
94
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::ProService])) }
|
95
|
+
attr_reader :professional_services
|
96
|
+
|
97
|
+
sig do
|
98
|
+
params(
|
99
|
+
professional_services: T::Array[T.any(MetronomeSDK::Models::ProService, MetronomeSDK::Internal::AnyHash)]
|
100
|
+
)
|
101
|
+
.void
|
102
|
+
end
|
103
|
+
attr_writer :professional_services
|
104
|
+
|
105
|
+
sig { returns(T.nilable(String)) }
|
106
|
+
attr_reader :rate_card_id
|
107
|
+
|
108
|
+
sig { params(rate_card_id: String).void }
|
109
|
+
attr_writer :rate_card_id
|
110
|
+
|
111
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit])) }
|
112
|
+
attr_reader :recurring_commits
|
113
|
+
|
114
|
+
sig do
|
115
|
+
params(
|
116
|
+
recurring_commits: T::Array[T.any(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit, MetronomeSDK::Internal::AnyHash)]
|
117
|
+
)
|
118
|
+
.void
|
119
|
+
end
|
120
|
+
attr_writer :recurring_commits
|
121
|
+
|
122
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit])) }
|
123
|
+
attr_reader :recurring_credits
|
124
|
+
|
125
|
+
sig do
|
126
|
+
params(
|
127
|
+
recurring_credits: T::Array[T.any(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit, MetronomeSDK::Internal::AnyHash)]
|
128
|
+
)
|
129
|
+
.void
|
130
|
+
end
|
131
|
+
attr_writer :recurring_credits
|
132
|
+
|
133
|
+
# This field's availability is dependent on your client's configuration.
|
134
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty])) }
|
135
|
+
attr_reader :reseller_royalties
|
136
|
+
|
137
|
+
sig do
|
138
|
+
params(
|
139
|
+
reseller_royalties: T::Array[T.any(MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty, MetronomeSDK::Internal::AnyHash)]
|
140
|
+
)
|
141
|
+
.void
|
142
|
+
end
|
143
|
+
attr_writer :reseller_royalties
|
144
|
+
|
145
|
+
# This field's availability is dependent on your client's configuration.
|
146
|
+
sig { returns(T.nilable(String)) }
|
147
|
+
attr_reader :salesforce_opportunity_id
|
148
|
+
|
149
|
+
sig { params(salesforce_opportunity_id: String).void }
|
150
|
+
attr_writer :salesforce_opportunity_id
|
151
|
+
|
152
|
+
# Determines which scheduled and commit charges to consolidate onto the Contract's
|
153
|
+
# usage invoice. The charge's `timestamp` must match the usage invoice's
|
154
|
+
# `ending_before` date for consolidation to occur. This field cannot be modified
|
155
|
+
# after a Contract has been created. If this field is omitted, charges will appear
|
156
|
+
# on a separate invoice from usage charges.
|
157
|
+
sig do
|
158
|
+
returns(
|
159
|
+
T.nilable(MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices::TaggedSymbol)
|
160
|
+
)
|
161
|
+
end
|
162
|
+
attr_reader :scheduled_charges_on_usage_invoices
|
163
|
+
|
164
|
+
sig do
|
165
|
+
params(
|
166
|
+
scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices::OrSymbol
|
167
|
+
)
|
168
|
+
.void
|
169
|
+
end
|
170
|
+
attr_writer :scheduled_charges_on_usage_invoices
|
171
|
+
|
172
|
+
sig { returns(T.nilable(MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration)) }
|
173
|
+
attr_reader :spend_threshold_configuration
|
174
|
+
|
175
|
+
sig do
|
176
|
+
params(
|
177
|
+
spend_threshold_configuration: T.any(
|
178
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration,
|
179
|
+
MetronomeSDK::Internal::AnyHash
|
180
|
+
)
|
181
|
+
)
|
182
|
+
.void
|
183
|
+
end
|
184
|
+
attr_writer :spend_threshold_configuration
|
185
|
+
|
186
|
+
# This field's availability is dependent on your client's configuration.
|
187
|
+
sig { returns(T.nilable(Float)) }
|
188
|
+
attr_reader :total_contract_value
|
189
|
+
|
190
|
+
sig { params(total_contract_value: Float).void }
|
191
|
+
attr_writer :total_contract_value
|
192
|
+
|
193
|
+
sig { returns(T.nilable(MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter)) }
|
194
|
+
attr_reader :usage_filter
|
195
|
+
|
196
|
+
sig do
|
197
|
+
params(
|
198
|
+
usage_filter: T.any(MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter, MetronomeSDK::Internal::AnyHash)
|
199
|
+
)
|
200
|
+
.void
|
201
|
+
end
|
202
|
+
attr_writer :usage_filter
|
203
|
+
|
204
|
+
sig do
|
205
|
+
params(
|
206
|
+
commits: T::Array[T.any(MetronomeSDK::Models::Commit, MetronomeSDK::Internal::AnyHash)],
|
207
|
+
created_at: Time,
|
208
|
+
created_by: String,
|
209
|
+
overrides: T::Array[T.any(MetronomeSDK::Models::Override, MetronomeSDK::Internal::AnyHash)],
|
210
|
+
scheduled_charges: T::Array[T.any(MetronomeSDK::Models::ScheduledCharge, MetronomeSDK::Internal::AnyHash)],
|
211
|
+
starting_at: Time,
|
212
|
+
transitions: T::Array[T.any(MetronomeSDK::Models::ContractWithoutAmendments::Transition, MetronomeSDK::Internal::AnyHash)],
|
213
|
+
usage_statement_schedule: T.any(
|
214
|
+
MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule,
|
215
|
+
MetronomeSDK::Internal::AnyHash
|
216
|
+
),
|
217
|
+
credit_balance_threshold_configuration: T.any(
|
218
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration,
|
219
|
+
MetronomeSDK::Internal::AnyHash
|
220
|
+
),
|
221
|
+
credits: T::Array[T.any(MetronomeSDK::Models::Credit, MetronomeSDK::Internal::AnyHash)],
|
222
|
+
discounts: T::Array[T.any(MetronomeSDK::Models::Discount, MetronomeSDK::Internal::AnyHash)],
|
223
|
+
ending_before: Time,
|
224
|
+
name: String,
|
225
|
+
net_payment_terms_days: Float,
|
226
|
+
netsuite_sales_order_id: String,
|
227
|
+
professional_services: T::Array[T.any(MetronomeSDK::Models::ProService, MetronomeSDK::Internal::AnyHash)],
|
228
|
+
rate_card_id: String,
|
229
|
+
recurring_commits: T::Array[T.any(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit, MetronomeSDK::Internal::AnyHash)],
|
230
|
+
recurring_credits: T::Array[T.any(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit, MetronomeSDK::Internal::AnyHash)],
|
231
|
+
reseller_royalties: T::Array[T.any(MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty, MetronomeSDK::Internal::AnyHash)],
|
232
|
+
salesforce_opportunity_id: String,
|
233
|
+
scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices::OrSymbol,
|
234
|
+
spend_threshold_configuration: T.any(
|
235
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration,
|
236
|
+
MetronomeSDK::Internal::AnyHash
|
237
|
+
),
|
238
|
+
total_contract_value: Float,
|
239
|
+
usage_filter: T.any(MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter, MetronomeSDK::Internal::AnyHash)
|
240
|
+
)
|
241
|
+
.returns(T.attached_class)
|
242
|
+
end
|
243
|
+
def self.new(
|
244
|
+
commits:,
|
245
|
+
created_at:,
|
246
|
+
created_by:,
|
247
|
+
overrides:,
|
248
|
+
scheduled_charges:,
|
249
|
+
starting_at:,
|
250
|
+
transitions:,
|
251
|
+
usage_statement_schedule:,
|
252
|
+
credit_balance_threshold_configuration: nil,
|
253
|
+
credits: nil,
|
254
|
+
# This field's availability is dependent on your client's configuration.
|
255
|
+
discounts: nil,
|
256
|
+
ending_before: nil,
|
257
|
+
name: nil,
|
258
|
+
net_payment_terms_days: nil,
|
259
|
+
# This field's availability is dependent on your client's configuration.
|
260
|
+
netsuite_sales_order_id: nil,
|
261
|
+
# This field's availability is dependent on your client's configuration.
|
262
|
+
professional_services: nil,
|
263
|
+
rate_card_id: nil,
|
264
|
+
recurring_commits: nil,
|
265
|
+
recurring_credits: nil,
|
266
|
+
# This field's availability is dependent on your client's configuration.
|
267
|
+
reseller_royalties: nil,
|
268
|
+
# This field's availability is dependent on your client's configuration.
|
269
|
+
salesforce_opportunity_id: nil,
|
270
|
+
# Determines which scheduled and commit charges to consolidate onto the Contract's
|
271
|
+
# usage invoice. The charge's `timestamp` must match the usage invoice's
|
272
|
+
# `ending_before` date for consolidation to occur. This field cannot be modified
|
273
|
+
# after a Contract has been created. If this field is omitted, charges will appear
|
274
|
+
# on a separate invoice from usage charges.
|
275
|
+
scheduled_charges_on_usage_invoices: nil,
|
276
|
+
spend_threshold_configuration: nil,
|
277
|
+
# This field's availability is dependent on your client's configuration.
|
278
|
+
total_contract_value: nil,
|
279
|
+
usage_filter: nil
|
280
|
+
); end
|
281
|
+
sig do
|
282
|
+
override
|
283
|
+
.returns(
|
284
|
+
{
|
285
|
+
commits: T::Array[MetronomeSDK::Models::Commit],
|
286
|
+
created_at: Time,
|
287
|
+
created_by: String,
|
288
|
+
overrides: T::Array[MetronomeSDK::Models::Override],
|
289
|
+
scheduled_charges: T::Array[MetronomeSDK::Models::ScheduledCharge],
|
290
|
+
starting_at: Time,
|
291
|
+
transitions: T::Array[MetronomeSDK::Models::ContractWithoutAmendments::Transition],
|
292
|
+
usage_statement_schedule: MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule,
|
293
|
+
credit_balance_threshold_configuration: MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration,
|
294
|
+
credits: T::Array[MetronomeSDK::Models::Credit],
|
295
|
+
discounts: T::Array[MetronomeSDK::Models::Discount],
|
296
|
+
ending_before: Time,
|
297
|
+
name: String,
|
298
|
+
net_payment_terms_days: Float,
|
299
|
+
netsuite_sales_order_id: String,
|
300
|
+
professional_services: T::Array[MetronomeSDK::Models::ProService],
|
301
|
+
rate_card_id: String,
|
302
|
+
recurring_commits: T::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit],
|
303
|
+
recurring_credits: T::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit],
|
304
|
+
reseller_royalties: T::Array[MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty],
|
305
|
+
salesforce_opportunity_id: String,
|
306
|
+
scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices::TaggedSymbol,
|
307
|
+
spend_threshold_configuration: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration,
|
308
|
+
total_contract_value: Float,
|
309
|
+
usage_filter: MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter
|
310
|
+
}
|
311
|
+
)
|
312
|
+
end
|
313
|
+
def to_hash; end
|
314
|
+
|
315
|
+
class Transition < MetronomeSDK::Internal::Type::BaseModel
|
316
|
+
sig { returns(String) }
|
317
|
+
attr_accessor :from_contract_id
|
318
|
+
|
319
|
+
sig { returns(String) }
|
320
|
+
attr_accessor :to_contract_id
|
321
|
+
|
322
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::Transition::Type::TaggedSymbol) }
|
323
|
+
attr_accessor :type
|
324
|
+
|
325
|
+
sig do
|
326
|
+
params(
|
327
|
+
from_contract_id: String,
|
328
|
+
to_contract_id: String,
|
329
|
+
type: MetronomeSDK::Models::ContractWithoutAmendments::Transition::Type::OrSymbol
|
330
|
+
)
|
331
|
+
.returns(T.attached_class)
|
332
|
+
end
|
333
|
+
def self.new(from_contract_id:, to_contract_id:, type:); end
|
334
|
+
|
335
|
+
sig do
|
336
|
+
override
|
337
|
+
.returns(
|
338
|
+
{
|
339
|
+
from_contract_id: String,
|
340
|
+
to_contract_id: String,
|
341
|
+
type: MetronomeSDK::Models::ContractWithoutAmendments::Transition::Type::TaggedSymbol
|
342
|
+
}
|
343
|
+
)
|
344
|
+
end
|
345
|
+
def to_hash; end
|
346
|
+
|
347
|
+
module Type
|
348
|
+
extend MetronomeSDK::Internal::Type::Enum
|
349
|
+
|
350
|
+
TaggedSymbol =
|
351
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::Transition::Type) }
|
352
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
353
|
+
|
354
|
+
SUPERSEDE =
|
355
|
+
T.let(:SUPERSEDE, MetronomeSDK::Models::ContractWithoutAmendments::Transition::Type::TaggedSymbol)
|
356
|
+
RENEWAL =
|
357
|
+
T.let(:RENEWAL, MetronomeSDK::Models::ContractWithoutAmendments::Transition::Type::TaggedSymbol)
|
358
|
+
|
359
|
+
sig do
|
360
|
+
override.returns(T::Array[MetronomeSDK::Models::ContractWithoutAmendments::Transition::Type::TaggedSymbol])
|
361
|
+
end
|
362
|
+
def self.values; end
|
363
|
+
end
|
364
|
+
end
|
365
|
+
|
366
|
+
class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
|
367
|
+
# Contract usage statements follow a selected cadence based on this date.
|
368
|
+
sig { returns(Time) }
|
369
|
+
attr_accessor :billing_anchor_date
|
370
|
+
|
371
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency::TaggedSymbol) }
|
372
|
+
attr_accessor :frequency
|
373
|
+
|
374
|
+
sig do
|
375
|
+
params(
|
376
|
+
billing_anchor_date: Time,
|
377
|
+
frequency: MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency::OrSymbol
|
378
|
+
)
|
379
|
+
.returns(T.attached_class)
|
380
|
+
end
|
381
|
+
def self.new(
|
382
|
+
# Contract usage statements follow a selected cadence based on this date.
|
383
|
+
billing_anchor_date:,
|
384
|
+
frequency:
|
385
|
+
); end
|
386
|
+
sig do
|
387
|
+
override
|
388
|
+
.returns(
|
389
|
+
{
|
390
|
+
billing_anchor_date: Time,
|
391
|
+
frequency: MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency::TaggedSymbol
|
392
|
+
}
|
393
|
+
)
|
394
|
+
end
|
395
|
+
def to_hash; end
|
396
|
+
|
397
|
+
module Frequency
|
398
|
+
extend MetronomeSDK::Internal::Type::Enum
|
399
|
+
|
400
|
+
TaggedSymbol =
|
401
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency) }
|
402
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
403
|
+
|
404
|
+
MONTHLY =
|
405
|
+
T.let(
|
406
|
+
:MONTHLY,
|
407
|
+
MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency::TaggedSymbol
|
408
|
+
)
|
409
|
+
QUARTERLY =
|
410
|
+
T.let(
|
411
|
+
:QUARTERLY,
|
412
|
+
MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency::TaggedSymbol
|
413
|
+
)
|
414
|
+
ANNUAL =
|
415
|
+
T.let(
|
416
|
+
:ANNUAL,
|
417
|
+
MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency::TaggedSymbol
|
418
|
+
)
|
419
|
+
WEEKLY =
|
420
|
+
T.let(
|
421
|
+
:WEEKLY,
|
422
|
+
MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency::TaggedSymbol
|
423
|
+
)
|
424
|
+
|
425
|
+
sig do
|
426
|
+
override
|
427
|
+
.returns(
|
428
|
+
T::Array[MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency::TaggedSymbol]
|
429
|
+
)
|
430
|
+
end
|
431
|
+
def self.values; end
|
432
|
+
end
|
433
|
+
end
|
434
|
+
|
435
|
+
class CreditBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
|
436
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::Commit) }
|
437
|
+
attr_reader :commit
|
438
|
+
|
439
|
+
sig do
|
440
|
+
params(
|
441
|
+
commit: T.any(
|
442
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::Commit,
|
443
|
+
MetronomeSDK::Internal::AnyHash
|
444
|
+
)
|
445
|
+
)
|
446
|
+
.void
|
447
|
+
end
|
448
|
+
attr_writer :commit
|
449
|
+
|
450
|
+
# When set to false, the contract will not be evaluated against the
|
451
|
+
# threshold_amount. Toggling to true will result an immediate evaluation,
|
452
|
+
# regardless of prior state.
|
453
|
+
sig { returns(T::Boolean) }
|
454
|
+
attr_accessor :is_enabled
|
455
|
+
|
456
|
+
sig do
|
457
|
+
returns(
|
458
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig
|
459
|
+
)
|
460
|
+
end
|
461
|
+
attr_reader :payment_gate_config
|
462
|
+
|
463
|
+
sig do
|
464
|
+
params(
|
465
|
+
payment_gate_config: T.any(
|
466
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig,
|
467
|
+
MetronomeSDK::Internal::AnyHash
|
468
|
+
)
|
469
|
+
)
|
470
|
+
.void
|
471
|
+
end
|
472
|
+
attr_writer :payment_gate_config
|
473
|
+
|
474
|
+
# Specify the amount the balance should be recharged to.
|
475
|
+
sig { returns(Float) }
|
476
|
+
attr_accessor :recharge_to_amount
|
477
|
+
|
478
|
+
# Specify the threshold amount for the contract. Each time the contract's balance
|
479
|
+
# lowers to this amount, a threshold charge will be initiated.
|
480
|
+
sig { returns(Float) }
|
481
|
+
attr_accessor :threshold_amount
|
482
|
+
|
483
|
+
sig do
|
484
|
+
params(
|
485
|
+
commit: T.any(
|
486
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::Commit,
|
487
|
+
MetronomeSDK::Internal::AnyHash
|
488
|
+
),
|
489
|
+
is_enabled: T::Boolean,
|
490
|
+
payment_gate_config: T.any(
|
491
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig,
|
492
|
+
MetronomeSDK::Internal::AnyHash
|
493
|
+
),
|
494
|
+
recharge_to_amount: Float,
|
495
|
+
threshold_amount: Float
|
496
|
+
)
|
497
|
+
.returns(T.attached_class)
|
498
|
+
end
|
499
|
+
def self.new(
|
500
|
+
commit:,
|
501
|
+
# When set to false, the contract will not be evaluated against the
|
502
|
+
# threshold_amount. Toggling to true will result an immediate evaluation,
|
503
|
+
# regardless of prior state.
|
504
|
+
is_enabled:,
|
505
|
+
payment_gate_config:,
|
506
|
+
# Specify the amount the balance should be recharged to.
|
507
|
+
recharge_to_amount:,
|
508
|
+
# Specify the threshold amount for the contract. Each time the contract's balance
|
509
|
+
# lowers to this amount, a threshold charge will be initiated.
|
510
|
+
threshold_amount:
|
511
|
+
); end
|
512
|
+
sig do
|
513
|
+
override
|
514
|
+
.returns(
|
515
|
+
{
|
516
|
+
commit: MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::Commit,
|
517
|
+
is_enabled: T::Boolean,
|
518
|
+
payment_gate_config: MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig,
|
519
|
+
recharge_to_amount: Float,
|
520
|
+
threshold_amount: Float
|
521
|
+
}
|
522
|
+
)
|
523
|
+
end
|
524
|
+
def to_hash; end
|
525
|
+
|
526
|
+
class Commit < MetronomeSDK::Internal::Type::BaseModel
|
527
|
+
# The commit product that will be used to generate the line item for commit
|
528
|
+
# payment.
|
529
|
+
sig { returns(String) }
|
530
|
+
attr_accessor :product_id
|
531
|
+
|
532
|
+
# Which products the threshold commit applies to. If both applicable_product_ids
|
533
|
+
# and applicable_product_tags are not provided, the commit applies to all
|
534
|
+
# products.
|
535
|
+
sig { returns(T.nilable(T::Array[String])) }
|
536
|
+
attr_reader :applicable_product_ids
|
537
|
+
|
538
|
+
sig { params(applicable_product_ids: T::Array[String]).void }
|
539
|
+
attr_writer :applicable_product_ids
|
540
|
+
|
541
|
+
# Which tags the threshold commit applies to. If both applicable_product_ids and
|
542
|
+
# applicable_product_tags are not provided, the commit applies to all products.
|
543
|
+
sig { returns(T.nilable(T::Array[String])) }
|
544
|
+
attr_reader :applicable_product_tags
|
545
|
+
|
546
|
+
sig { params(applicable_product_tags: T::Array[String]).void }
|
547
|
+
attr_writer :applicable_product_tags
|
548
|
+
|
549
|
+
sig { returns(T.nilable(String)) }
|
550
|
+
attr_reader :description
|
551
|
+
|
552
|
+
sig { params(description: String).void }
|
553
|
+
attr_writer :description
|
554
|
+
|
555
|
+
# Specify the name of the line item for the threshold charge. If left blank, it
|
556
|
+
# will default to the commit product name.
|
557
|
+
sig { returns(T.nilable(String)) }
|
558
|
+
attr_reader :name
|
559
|
+
|
560
|
+
sig { params(name: String).void }
|
561
|
+
attr_writer :name
|
562
|
+
|
563
|
+
sig do
|
564
|
+
params(
|
565
|
+
product_id: String,
|
566
|
+
applicable_product_ids: T::Array[String],
|
567
|
+
applicable_product_tags: T::Array[String],
|
568
|
+
description: String,
|
569
|
+
name: String
|
570
|
+
)
|
571
|
+
.returns(T.attached_class)
|
572
|
+
end
|
573
|
+
def self.new(
|
574
|
+
# The commit product that will be used to generate the line item for commit
|
575
|
+
# payment.
|
576
|
+
product_id:,
|
577
|
+
# Which products the threshold commit applies to. If both applicable_product_ids
|
578
|
+
# and applicable_product_tags are not provided, the commit applies to all
|
579
|
+
# products.
|
580
|
+
applicable_product_ids: nil,
|
581
|
+
# Which tags the threshold commit applies to. If both applicable_product_ids and
|
582
|
+
# applicable_product_tags are not provided, the commit applies to all products.
|
583
|
+
applicable_product_tags: nil,
|
584
|
+
description: nil,
|
585
|
+
# Specify the name of the line item for the threshold charge. If left blank, it
|
586
|
+
# will default to the commit product name.
|
587
|
+
name: nil
|
588
|
+
); end
|
589
|
+
sig do
|
590
|
+
override
|
591
|
+
.returns(
|
592
|
+
{
|
593
|
+
product_id: String,
|
594
|
+
applicable_product_ids: T::Array[String],
|
595
|
+
applicable_product_tags: T::Array[String],
|
596
|
+
description: String,
|
597
|
+
name: String
|
598
|
+
}
|
599
|
+
)
|
600
|
+
end
|
601
|
+
def to_hash; end
|
602
|
+
end
|
603
|
+
|
604
|
+
class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
|
605
|
+
# Gate access to the commit balance based on successful collection of payment.
|
606
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
607
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
608
|
+
# wish to payment gate the commit balance.
|
609
|
+
sig do
|
610
|
+
returns(
|
611
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
612
|
+
)
|
613
|
+
end
|
614
|
+
attr_accessor :payment_gate_type
|
615
|
+
|
616
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
617
|
+
sig do
|
618
|
+
returns(
|
619
|
+
T.nilable(
|
620
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
|
621
|
+
)
|
622
|
+
)
|
623
|
+
end
|
624
|
+
attr_reader :stripe_config
|
625
|
+
|
626
|
+
sig do
|
627
|
+
params(
|
628
|
+
stripe_config: T.any(
|
629
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
|
630
|
+
MetronomeSDK::Internal::AnyHash
|
631
|
+
)
|
632
|
+
)
|
633
|
+
.void
|
634
|
+
end
|
635
|
+
attr_writer :stripe_config
|
636
|
+
|
637
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
638
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
639
|
+
# will default to NONE.
|
640
|
+
sig do
|
641
|
+
returns(
|
642
|
+
T.nilable(
|
643
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
|
644
|
+
)
|
645
|
+
)
|
646
|
+
end
|
647
|
+
attr_reader :tax_type
|
648
|
+
|
649
|
+
sig do
|
650
|
+
params(
|
651
|
+
tax_type: MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType::OrSymbol
|
652
|
+
)
|
653
|
+
.void
|
654
|
+
end
|
655
|
+
attr_writer :tax_type
|
656
|
+
|
657
|
+
sig do
|
658
|
+
params(
|
659
|
+
payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
|
660
|
+
stripe_config: T.any(
|
661
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
|
662
|
+
MetronomeSDK::Internal::AnyHash
|
663
|
+
),
|
664
|
+
tax_type: MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType::OrSymbol
|
665
|
+
)
|
666
|
+
.returns(T.attached_class)
|
667
|
+
end
|
668
|
+
def self.new(
|
669
|
+
# Gate access to the commit balance based on successful collection of payment.
|
670
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
671
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
672
|
+
# wish to payment gate the commit balance.
|
673
|
+
payment_gate_type:,
|
674
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
675
|
+
stripe_config: nil,
|
676
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
677
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
678
|
+
# will default to NONE.
|
679
|
+
tax_type: nil
|
680
|
+
); end
|
681
|
+
sig do
|
682
|
+
override
|
683
|
+
.returns(
|
684
|
+
{
|
685
|
+
payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
|
686
|
+
stripe_config: MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
|
687
|
+
tax_type: MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
|
688
|
+
}
|
689
|
+
)
|
690
|
+
end
|
691
|
+
def to_hash; end
|
692
|
+
|
693
|
+
# Gate access to the commit balance based on successful collection of payment.
|
694
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
695
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
696
|
+
# wish to payment gate the commit balance.
|
697
|
+
module PaymentGateType
|
698
|
+
extend MetronomeSDK::Internal::Type::Enum
|
699
|
+
|
700
|
+
TaggedSymbol =
|
701
|
+
T.type_alias do
|
702
|
+
T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType)
|
703
|
+
end
|
704
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
705
|
+
|
706
|
+
NONE =
|
707
|
+
T.let(
|
708
|
+
:NONE,
|
709
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
710
|
+
)
|
711
|
+
STRIPE =
|
712
|
+
T.let(
|
713
|
+
:STRIPE,
|
714
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
715
|
+
)
|
716
|
+
EXTERNAL =
|
717
|
+
T.let(
|
718
|
+
:EXTERNAL,
|
719
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
720
|
+
)
|
721
|
+
|
722
|
+
sig do
|
723
|
+
override
|
724
|
+
.returns(
|
725
|
+
T::Array[
|
726
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
727
|
+
]
|
728
|
+
)
|
729
|
+
end
|
730
|
+
def self.values; end
|
731
|
+
end
|
732
|
+
|
733
|
+
class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
|
734
|
+
# If left blank, will default to INVOICE
|
735
|
+
sig do
|
736
|
+
returns(
|
737
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
738
|
+
)
|
739
|
+
end
|
740
|
+
attr_accessor :payment_type
|
741
|
+
|
742
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
743
|
+
sig do
|
744
|
+
params(
|
745
|
+
payment_type: MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
|
746
|
+
)
|
747
|
+
.returns(T.attached_class)
|
748
|
+
end
|
749
|
+
def self.new(
|
750
|
+
# If left blank, will default to INVOICE
|
751
|
+
payment_type:
|
752
|
+
); end
|
753
|
+
sig do
|
754
|
+
override
|
755
|
+
.returns(
|
756
|
+
{
|
757
|
+
payment_type: MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
758
|
+
}
|
759
|
+
)
|
760
|
+
end
|
761
|
+
def to_hash; end
|
762
|
+
|
763
|
+
# If left blank, will default to INVOICE
|
764
|
+
module PaymentType
|
765
|
+
extend MetronomeSDK::Internal::Type::Enum
|
766
|
+
|
767
|
+
TaggedSymbol =
|
768
|
+
T.type_alias do
|
769
|
+
T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType)
|
770
|
+
end
|
771
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
772
|
+
|
773
|
+
INVOICE =
|
774
|
+
T.let(
|
775
|
+
:INVOICE,
|
776
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
777
|
+
)
|
778
|
+
PAYMENT_INTENT =
|
779
|
+
T.let(
|
780
|
+
:PAYMENT_INTENT,
|
781
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
782
|
+
)
|
783
|
+
|
784
|
+
sig do
|
785
|
+
override
|
786
|
+
.returns(
|
787
|
+
T::Array[
|
788
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
789
|
+
]
|
790
|
+
)
|
791
|
+
end
|
792
|
+
def self.values; end
|
793
|
+
end
|
794
|
+
end
|
795
|
+
|
796
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
797
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
798
|
+
# will default to NONE.
|
799
|
+
module TaxType
|
800
|
+
extend MetronomeSDK::Internal::Type::Enum
|
801
|
+
|
802
|
+
TaggedSymbol =
|
803
|
+
T.type_alias do
|
804
|
+
T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType)
|
805
|
+
end
|
806
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
807
|
+
|
808
|
+
NONE =
|
809
|
+
T.let(
|
810
|
+
:NONE,
|
811
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
|
812
|
+
)
|
813
|
+
STRIPE =
|
814
|
+
T.let(
|
815
|
+
:STRIPE,
|
816
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
|
817
|
+
)
|
818
|
+
|
819
|
+
sig do
|
820
|
+
override
|
821
|
+
.returns(
|
822
|
+
T::Array[
|
823
|
+
MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
|
824
|
+
]
|
825
|
+
)
|
826
|
+
end
|
827
|
+
def self.values; end
|
828
|
+
end
|
829
|
+
end
|
830
|
+
end
|
831
|
+
|
832
|
+
class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
|
833
|
+
sig { returns(String) }
|
834
|
+
attr_accessor :id
|
835
|
+
|
836
|
+
# The amount of commit to grant.
|
837
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::AccessAmount) }
|
838
|
+
attr_reader :access_amount
|
839
|
+
|
840
|
+
sig do
|
841
|
+
params(
|
842
|
+
access_amount: T.any(
|
843
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::AccessAmount,
|
844
|
+
MetronomeSDK::Internal::AnyHash
|
845
|
+
)
|
846
|
+
)
|
847
|
+
.void
|
848
|
+
end
|
849
|
+
attr_writer :access_amount
|
850
|
+
|
851
|
+
# The amount of time the created commits will be valid for
|
852
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration) }
|
853
|
+
attr_reader :commit_duration
|
854
|
+
|
855
|
+
sig do
|
856
|
+
params(
|
857
|
+
commit_duration: T.any(
|
858
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration,
|
859
|
+
MetronomeSDK::Internal::AnyHash
|
860
|
+
)
|
861
|
+
)
|
862
|
+
.void
|
863
|
+
end
|
864
|
+
attr_writer :commit_duration
|
865
|
+
|
866
|
+
# Will be passed down to the individual commits
|
867
|
+
sig { returns(Float) }
|
868
|
+
attr_accessor :priority
|
869
|
+
|
870
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Product) }
|
871
|
+
attr_reader :product
|
872
|
+
|
873
|
+
sig do
|
874
|
+
params(
|
875
|
+
product: T.any(
|
876
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Product,
|
877
|
+
MetronomeSDK::Internal::AnyHash
|
878
|
+
)
|
879
|
+
)
|
880
|
+
.void
|
881
|
+
end
|
882
|
+
attr_writer :product
|
883
|
+
|
884
|
+
# Whether the created commits will use the commit rate or list rate
|
885
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RateType::TaggedSymbol) }
|
886
|
+
attr_accessor :rate_type
|
887
|
+
|
888
|
+
# Determines the start time for the first commit
|
889
|
+
sig { returns(Time) }
|
890
|
+
attr_accessor :starting_at
|
891
|
+
|
892
|
+
# Will be passed down to the individual commits
|
893
|
+
sig { returns(T.nilable(T::Array[String])) }
|
894
|
+
attr_reader :applicable_product_ids
|
895
|
+
|
896
|
+
sig { params(applicable_product_ids: T::Array[String]).void }
|
897
|
+
attr_writer :applicable_product_ids
|
898
|
+
|
899
|
+
# Will be passed down to the individual commits
|
900
|
+
sig { returns(T.nilable(T::Array[String])) }
|
901
|
+
attr_reader :applicable_product_tags
|
902
|
+
|
903
|
+
sig { params(applicable_product_tags: T::Array[String]).void }
|
904
|
+
attr_writer :applicable_product_tags
|
905
|
+
|
906
|
+
sig { returns(T.nilable(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Contract)) }
|
907
|
+
attr_reader :contract
|
908
|
+
|
909
|
+
sig do
|
910
|
+
params(
|
911
|
+
contract: T.any(
|
912
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Contract,
|
913
|
+
MetronomeSDK::Internal::AnyHash
|
914
|
+
)
|
915
|
+
)
|
916
|
+
.void
|
917
|
+
end
|
918
|
+
attr_writer :contract
|
919
|
+
|
920
|
+
# Will be passed down to the individual commits
|
921
|
+
sig { returns(T.nilable(String)) }
|
922
|
+
attr_reader :description
|
923
|
+
|
924
|
+
sig { params(description: String).void }
|
925
|
+
attr_writer :description
|
926
|
+
|
927
|
+
# Determines when the contract will stop creating recurring commits. Optional
|
928
|
+
sig { returns(T.nilable(Time)) }
|
929
|
+
attr_reader :ending_before
|
930
|
+
|
931
|
+
sig { params(ending_before: Time).void }
|
932
|
+
attr_writer :ending_before
|
933
|
+
|
934
|
+
# The amount the customer should be billed for the commit. Not required.
|
935
|
+
sig { returns(T.nilable(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::InvoiceAmount)) }
|
936
|
+
attr_reader :invoice_amount
|
937
|
+
|
938
|
+
sig do
|
939
|
+
params(
|
940
|
+
invoice_amount: T.any(
|
941
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
|
942
|
+
MetronomeSDK::Internal::AnyHash
|
943
|
+
)
|
944
|
+
)
|
945
|
+
.void
|
946
|
+
end
|
947
|
+
attr_writer :invoice_amount
|
948
|
+
|
949
|
+
# Displayed on invoices. Will be passed through to the individual commits
|
950
|
+
sig { returns(T.nilable(String)) }
|
951
|
+
attr_reader :name
|
952
|
+
|
953
|
+
sig { params(name: String).void }
|
954
|
+
attr_writer :name
|
955
|
+
|
956
|
+
# Will be passed down to the individual commits
|
957
|
+
sig { returns(T.nilable(String)) }
|
958
|
+
attr_reader :netsuite_sales_order_id
|
959
|
+
|
960
|
+
sig { params(netsuite_sales_order_id: String).void }
|
961
|
+
attr_writer :netsuite_sales_order_id
|
962
|
+
|
963
|
+
# Determines whether the first and last commit will be prorated. If not provided,
|
964
|
+
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
965
|
+
sig do
|
966
|
+
returns(
|
967
|
+
T.nilable(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration::TaggedSymbol)
|
968
|
+
)
|
969
|
+
end
|
970
|
+
attr_reader :proration
|
971
|
+
|
972
|
+
sig do
|
973
|
+
params(proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration::OrSymbol)
|
974
|
+
.void
|
975
|
+
end
|
976
|
+
attr_writer :proration
|
977
|
+
|
978
|
+
# The frequency at which the recurring commits will be created. If not provided: -
|
979
|
+
# The commits will be created on the usage invoice frequency. If provided: - The
|
980
|
+
# period defined in the duration will correspond to this frequency. - Commits will
|
981
|
+
# be created aligned with the recurring commit's start_date rather than the usage
|
982
|
+
# invoice dates.
|
983
|
+
sig do
|
984
|
+
returns(
|
985
|
+
T.nilable(
|
986
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
|
987
|
+
)
|
988
|
+
)
|
989
|
+
end
|
990
|
+
attr_reader :recurrence_frequency
|
991
|
+
|
992
|
+
sig do
|
993
|
+
params(
|
994
|
+
recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::OrSymbol
|
995
|
+
)
|
996
|
+
.void
|
997
|
+
end
|
998
|
+
attr_writer :recurrence_frequency
|
999
|
+
|
1000
|
+
# Will be passed down to the individual commits. This controls how much of an
|
1001
|
+
# individual unexpired commit will roll over upon contract transition. Must be
|
1002
|
+
# between 0 and 1.
|
1003
|
+
sig { returns(T.nilable(Float)) }
|
1004
|
+
attr_reader :rollover_fraction
|
1005
|
+
|
1006
|
+
sig { params(rollover_fraction: Float).void }
|
1007
|
+
attr_writer :rollover_fraction
|
1008
|
+
|
1009
|
+
sig do
|
1010
|
+
params(
|
1011
|
+
id: String,
|
1012
|
+
access_amount: T.any(
|
1013
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::AccessAmount,
|
1014
|
+
MetronomeSDK::Internal::AnyHash
|
1015
|
+
),
|
1016
|
+
commit_duration: T.any(
|
1017
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration,
|
1018
|
+
MetronomeSDK::Internal::AnyHash
|
1019
|
+
),
|
1020
|
+
priority: Float,
|
1021
|
+
product: T.any(
|
1022
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Product,
|
1023
|
+
MetronomeSDK::Internal::AnyHash
|
1024
|
+
),
|
1025
|
+
rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RateType::OrSymbol,
|
1026
|
+
starting_at: Time,
|
1027
|
+
applicable_product_ids: T::Array[String],
|
1028
|
+
applicable_product_tags: T::Array[String],
|
1029
|
+
contract: T.any(
|
1030
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Contract,
|
1031
|
+
MetronomeSDK::Internal::AnyHash
|
1032
|
+
),
|
1033
|
+
description: String,
|
1034
|
+
ending_before: Time,
|
1035
|
+
invoice_amount: T.any(
|
1036
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
|
1037
|
+
MetronomeSDK::Internal::AnyHash
|
1038
|
+
),
|
1039
|
+
name: String,
|
1040
|
+
netsuite_sales_order_id: String,
|
1041
|
+
proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration::OrSymbol,
|
1042
|
+
recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::OrSymbol,
|
1043
|
+
rollover_fraction: Float
|
1044
|
+
)
|
1045
|
+
.returns(T.attached_class)
|
1046
|
+
end
|
1047
|
+
def self.new(
|
1048
|
+
id:,
|
1049
|
+
# The amount of commit to grant.
|
1050
|
+
access_amount:,
|
1051
|
+
# The amount of time the created commits will be valid for
|
1052
|
+
commit_duration:,
|
1053
|
+
# Will be passed down to the individual commits
|
1054
|
+
priority:,
|
1055
|
+
product:,
|
1056
|
+
# Whether the created commits will use the commit rate or list rate
|
1057
|
+
rate_type:,
|
1058
|
+
# Determines the start time for the first commit
|
1059
|
+
starting_at:,
|
1060
|
+
# Will be passed down to the individual commits
|
1061
|
+
applicable_product_ids: nil,
|
1062
|
+
# Will be passed down to the individual commits
|
1063
|
+
applicable_product_tags: nil,
|
1064
|
+
contract: nil,
|
1065
|
+
# Will be passed down to the individual commits
|
1066
|
+
description: nil,
|
1067
|
+
# Determines when the contract will stop creating recurring commits. Optional
|
1068
|
+
ending_before: nil,
|
1069
|
+
# The amount the customer should be billed for the commit. Not required.
|
1070
|
+
invoice_amount: nil,
|
1071
|
+
# Displayed on invoices. Will be passed through to the individual commits
|
1072
|
+
name: nil,
|
1073
|
+
# Will be passed down to the individual commits
|
1074
|
+
netsuite_sales_order_id: nil,
|
1075
|
+
# Determines whether the first and last commit will be prorated. If not provided,
|
1076
|
+
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
1077
|
+
proration: nil,
|
1078
|
+
# The frequency at which the recurring commits will be created. If not provided: -
|
1079
|
+
# The commits will be created on the usage invoice frequency. If provided: - The
|
1080
|
+
# period defined in the duration will correspond to this frequency. - Commits will
|
1081
|
+
# be created aligned with the recurring commit's start_date rather than the usage
|
1082
|
+
# invoice dates.
|
1083
|
+
recurrence_frequency: nil,
|
1084
|
+
# Will be passed down to the individual commits. This controls how much of an
|
1085
|
+
# individual unexpired commit will roll over upon contract transition. Must be
|
1086
|
+
# between 0 and 1.
|
1087
|
+
rollover_fraction: nil
|
1088
|
+
); end
|
1089
|
+
sig do
|
1090
|
+
override
|
1091
|
+
.returns(
|
1092
|
+
{
|
1093
|
+
id: String,
|
1094
|
+
access_amount: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::AccessAmount,
|
1095
|
+
commit_duration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration,
|
1096
|
+
priority: Float,
|
1097
|
+
product: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Product,
|
1098
|
+
rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RateType::TaggedSymbol,
|
1099
|
+
starting_at: Time,
|
1100
|
+
applicable_product_ids: T::Array[String],
|
1101
|
+
applicable_product_tags: T::Array[String],
|
1102
|
+
contract: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Contract,
|
1103
|
+
description: String,
|
1104
|
+
ending_before: Time,
|
1105
|
+
invoice_amount: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
|
1106
|
+
name: String,
|
1107
|
+
netsuite_sales_order_id: String,
|
1108
|
+
proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration::TaggedSymbol,
|
1109
|
+
recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol,
|
1110
|
+
rollover_fraction: Float
|
1111
|
+
}
|
1112
|
+
)
|
1113
|
+
end
|
1114
|
+
def to_hash; end
|
1115
|
+
|
1116
|
+
class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
|
1117
|
+
sig { returns(String) }
|
1118
|
+
attr_accessor :credit_type_id
|
1119
|
+
|
1120
|
+
sig { returns(Float) }
|
1121
|
+
attr_accessor :quantity
|
1122
|
+
|
1123
|
+
sig { returns(Float) }
|
1124
|
+
attr_accessor :unit_price
|
1125
|
+
|
1126
|
+
# The amount of commit to grant.
|
1127
|
+
sig { params(credit_type_id: String, quantity: Float, unit_price: Float).returns(T.attached_class) }
|
1128
|
+
def self.new(credit_type_id:, quantity:, unit_price:); end
|
1129
|
+
|
1130
|
+
sig { override.returns({credit_type_id: String, quantity: Float, unit_price: Float}) }
|
1131
|
+
def to_hash; end
|
1132
|
+
end
|
1133
|
+
|
1134
|
+
class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
|
1135
|
+
sig { returns(Float) }
|
1136
|
+
attr_accessor :value
|
1137
|
+
|
1138
|
+
sig do
|
1139
|
+
returns(
|
1140
|
+
T.nilable(
|
1141
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit::TaggedSymbol
|
1142
|
+
)
|
1143
|
+
)
|
1144
|
+
end
|
1145
|
+
attr_reader :unit
|
1146
|
+
|
1147
|
+
sig do
|
1148
|
+
params(
|
1149
|
+
unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit::OrSymbol
|
1150
|
+
)
|
1151
|
+
.void
|
1152
|
+
end
|
1153
|
+
attr_writer :unit
|
1154
|
+
|
1155
|
+
# The amount of time the created commits will be valid for
|
1156
|
+
sig do
|
1157
|
+
params(
|
1158
|
+
value: Float,
|
1159
|
+
unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit::OrSymbol
|
1160
|
+
)
|
1161
|
+
.returns(T.attached_class)
|
1162
|
+
end
|
1163
|
+
def self.new(value:, unit: nil); end
|
1164
|
+
|
1165
|
+
sig do
|
1166
|
+
override
|
1167
|
+
.returns(
|
1168
|
+
{
|
1169
|
+
value: Float,
|
1170
|
+
unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit::TaggedSymbol
|
1171
|
+
}
|
1172
|
+
)
|
1173
|
+
end
|
1174
|
+
def to_hash; end
|
1175
|
+
|
1176
|
+
module Unit
|
1177
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1178
|
+
|
1179
|
+
TaggedSymbol =
|
1180
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit) }
|
1181
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1182
|
+
|
1183
|
+
PERIODS =
|
1184
|
+
T.let(
|
1185
|
+
:PERIODS,
|
1186
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit::TaggedSymbol
|
1187
|
+
)
|
1188
|
+
|
1189
|
+
sig do
|
1190
|
+
override
|
1191
|
+
.returns(
|
1192
|
+
T::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit::TaggedSymbol]
|
1193
|
+
)
|
1194
|
+
end
|
1195
|
+
def self.values; end
|
1196
|
+
end
|
1197
|
+
end
|
1198
|
+
|
1199
|
+
class Product < MetronomeSDK::Internal::Type::BaseModel
|
1200
|
+
sig { returns(String) }
|
1201
|
+
attr_accessor :id
|
1202
|
+
|
1203
|
+
sig { returns(String) }
|
1204
|
+
attr_accessor :name
|
1205
|
+
|
1206
|
+
sig { params(id: String, name: String).returns(T.attached_class) }
|
1207
|
+
def self.new(id:, name:); end
|
1208
|
+
|
1209
|
+
sig { override.returns({id: String, name: String}) }
|
1210
|
+
def to_hash; end
|
1211
|
+
end
|
1212
|
+
|
1213
|
+
# Whether the created commits will use the commit rate or list rate
|
1214
|
+
module RateType
|
1215
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1216
|
+
|
1217
|
+
TaggedSymbol =
|
1218
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RateType) }
|
1219
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1220
|
+
|
1221
|
+
COMMIT_RATE =
|
1222
|
+
T.let(
|
1223
|
+
:COMMIT_RATE,
|
1224
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RateType::TaggedSymbol
|
1225
|
+
)
|
1226
|
+
LIST_RATE =
|
1227
|
+
T.let(
|
1228
|
+
:LIST_RATE,
|
1229
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RateType::TaggedSymbol
|
1230
|
+
)
|
1231
|
+
|
1232
|
+
sig do
|
1233
|
+
override
|
1234
|
+
.returns(
|
1235
|
+
T::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RateType::TaggedSymbol]
|
1236
|
+
)
|
1237
|
+
end
|
1238
|
+
def self.values; end
|
1239
|
+
end
|
1240
|
+
|
1241
|
+
class Contract < MetronomeSDK::Internal::Type::BaseModel
|
1242
|
+
sig { returns(String) }
|
1243
|
+
attr_accessor :id
|
1244
|
+
|
1245
|
+
sig { params(id: String).returns(T.attached_class) }
|
1246
|
+
def self.new(id:); end
|
1247
|
+
|
1248
|
+
sig { override.returns({id: String}) }
|
1249
|
+
def to_hash; end
|
1250
|
+
end
|
1251
|
+
|
1252
|
+
class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
|
1253
|
+
sig { returns(String) }
|
1254
|
+
attr_accessor :credit_type_id
|
1255
|
+
|
1256
|
+
sig { returns(Float) }
|
1257
|
+
attr_accessor :quantity
|
1258
|
+
|
1259
|
+
sig { returns(Float) }
|
1260
|
+
attr_accessor :unit_price
|
1261
|
+
|
1262
|
+
# The amount the customer should be billed for the commit. Not required.
|
1263
|
+
sig { params(credit_type_id: String, quantity: Float, unit_price: Float).returns(T.attached_class) }
|
1264
|
+
def self.new(credit_type_id:, quantity:, unit_price:); end
|
1265
|
+
|
1266
|
+
sig { override.returns({credit_type_id: String, quantity: Float, unit_price: Float}) }
|
1267
|
+
def to_hash; end
|
1268
|
+
end
|
1269
|
+
|
1270
|
+
# Determines whether the first and last commit will be prorated. If not provided,
|
1271
|
+
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
1272
|
+
module Proration
|
1273
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1274
|
+
|
1275
|
+
TaggedSymbol =
|
1276
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration) }
|
1277
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1278
|
+
|
1279
|
+
NONE =
|
1280
|
+
T.let(:NONE, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration::TaggedSymbol)
|
1281
|
+
FIRST =
|
1282
|
+
T.let(:FIRST, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration::TaggedSymbol)
|
1283
|
+
LAST =
|
1284
|
+
T.let(:LAST, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration::TaggedSymbol)
|
1285
|
+
FIRST_AND_LAST =
|
1286
|
+
T.let(
|
1287
|
+
:FIRST_AND_LAST,
|
1288
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration::TaggedSymbol
|
1289
|
+
)
|
1290
|
+
|
1291
|
+
sig do
|
1292
|
+
override
|
1293
|
+
.returns(
|
1294
|
+
T::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration::TaggedSymbol]
|
1295
|
+
)
|
1296
|
+
end
|
1297
|
+
def self.values; end
|
1298
|
+
end
|
1299
|
+
|
1300
|
+
# The frequency at which the recurring commits will be created. If not provided: -
|
1301
|
+
# The commits will be created on the usage invoice frequency. If provided: - The
|
1302
|
+
# period defined in the duration will correspond to this frequency. - Commits will
|
1303
|
+
# be created aligned with the recurring commit's start_date rather than the usage
|
1304
|
+
# invoice dates.
|
1305
|
+
module RecurrenceFrequency
|
1306
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1307
|
+
|
1308
|
+
TaggedSymbol =
|
1309
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency) }
|
1310
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1311
|
+
|
1312
|
+
MONTHLY =
|
1313
|
+
T.let(
|
1314
|
+
:MONTHLY,
|
1315
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
|
1316
|
+
)
|
1317
|
+
QUARTERLY =
|
1318
|
+
T.let(
|
1319
|
+
:QUARTERLY,
|
1320
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
|
1321
|
+
)
|
1322
|
+
ANNUAL =
|
1323
|
+
T.let(
|
1324
|
+
:ANNUAL,
|
1325
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
|
1326
|
+
)
|
1327
|
+
WEEKLY =
|
1328
|
+
T.let(
|
1329
|
+
:WEEKLY,
|
1330
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
|
1331
|
+
)
|
1332
|
+
|
1333
|
+
sig do
|
1334
|
+
override
|
1335
|
+
.returns(
|
1336
|
+
T::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol]
|
1337
|
+
)
|
1338
|
+
end
|
1339
|
+
def self.values; end
|
1340
|
+
end
|
1341
|
+
end
|
1342
|
+
|
1343
|
+
class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
|
1344
|
+
sig { returns(String) }
|
1345
|
+
attr_accessor :id
|
1346
|
+
|
1347
|
+
# The amount of commit to grant.
|
1348
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::AccessAmount) }
|
1349
|
+
attr_reader :access_amount
|
1350
|
+
|
1351
|
+
sig do
|
1352
|
+
params(
|
1353
|
+
access_amount: T.any(
|
1354
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::AccessAmount,
|
1355
|
+
MetronomeSDK::Internal::AnyHash
|
1356
|
+
)
|
1357
|
+
)
|
1358
|
+
.void
|
1359
|
+
end
|
1360
|
+
attr_writer :access_amount
|
1361
|
+
|
1362
|
+
# The amount of time the created commits will be valid for
|
1363
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration) }
|
1364
|
+
attr_reader :commit_duration
|
1365
|
+
|
1366
|
+
sig do
|
1367
|
+
params(
|
1368
|
+
commit_duration: T.any(
|
1369
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration,
|
1370
|
+
MetronomeSDK::Internal::AnyHash
|
1371
|
+
)
|
1372
|
+
)
|
1373
|
+
.void
|
1374
|
+
end
|
1375
|
+
attr_writer :commit_duration
|
1376
|
+
|
1377
|
+
# Will be passed down to the individual commits
|
1378
|
+
sig { returns(Float) }
|
1379
|
+
attr_accessor :priority
|
1380
|
+
|
1381
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Product) }
|
1382
|
+
attr_reader :product
|
1383
|
+
|
1384
|
+
sig do
|
1385
|
+
params(
|
1386
|
+
product: T.any(
|
1387
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Product,
|
1388
|
+
MetronomeSDK::Internal::AnyHash
|
1389
|
+
)
|
1390
|
+
)
|
1391
|
+
.void
|
1392
|
+
end
|
1393
|
+
attr_writer :product
|
1394
|
+
|
1395
|
+
# Whether the created commits will use the commit rate or list rate
|
1396
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RateType::TaggedSymbol) }
|
1397
|
+
attr_accessor :rate_type
|
1398
|
+
|
1399
|
+
# Determines the start time for the first commit
|
1400
|
+
sig { returns(Time) }
|
1401
|
+
attr_accessor :starting_at
|
1402
|
+
|
1403
|
+
# Will be passed down to the individual commits
|
1404
|
+
sig { returns(T.nilable(T::Array[String])) }
|
1405
|
+
attr_reader :applicable_product_ids
|
1406
|
+
|
1407
|
+
sig { params(applicable_product_ids: T::Array[String]).void }
|
1408
|
+
attr_writer :applicable_product_ids
|
1409
|
+
|
1410
|
+
# Will be passed down to the individual commits
|
1411
|
+
sig { returns(T.nilable(T::Array[String])) }
|
1412
|
+
attr_reader :applicable_product_tags
|
1413
|
+
|
1414
|
+
sig { params(applicable_product_tags: T::Array[String]).void }
|
1415
|
+
attr_writer :applicable_product_tags
|
1416
|
+
|
1417
|
+
sig { returns(T.nilable(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Contract)) }
|
1418
|
+
attr_reader :contract
|
1419
|
+
|
1420
|
+
sig do
|
1421
|
+
params(
|
1422
|
+
contract: T.any(
|
1423
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Contract,
|
1424
|
+
MetronomeSDK::Internal::AnyHash
|
1425
|
+
)
|
1426
|
+
)
|
1427
|
+
.void
|
1428
|
+
end
|
1429
|
+
attr_writer :contract
|
1430
|
+
|
1431
|
+
# Will be passed down to the individual commits
|
1432
|
+
sig { returns(T.nilable(String)) }
|
1433
|
+
attr_reader :description
|
1434
|
+
|
1435
|
+
sig { params(description: String).void }
|
1436
|
+
attr_writer :description
|
1437
|
+
|
1438
|
+
# Determines when the contract will stop creating recurring commits. Optional
|
1439
|
+
sig { returns(T.nilable(Time)) }
|
1440
|
+
attr_reader :ending_before
|
1441
|
+
|
1442
|
+
sig { params(ending_before: Time).void }
|
1443
|
+
attr_writer :ending_before
|
1444
|
+
|
1445
|
+
# Displayed on invoices. Will be passed through to the individual commits
|
1446
|
+
sig { returns(T.nilable(String)) }
|
1447
|
+
attr_reader :name
|
1448
|
+
|
1449
|
+
sig { params(name: String).void }
|
1450
|
+
attr_writer :name
|
1451
|
+
|
1452
|
+
# Will be passed down to the individual commits
|
1453
|
+
sig { returns(T.nilable(String)) }
|
1454
|
+
attr_reader :netsuite_sales_order_id
|
1455
|
+
|
1456
|
+
sig { params(netsuite_sales_order_id: String).void }
|
1457
|
+
attr_writer :netsuite_sales_order_id
|
1458
|
+
|
1459
|
+
# Determines whether the first and last commit will be prorated. If not provided,
|
1460
|
+
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
1461
|
+
sig do
|
1462
|
+
returns(
|
1463
|
+
T.nilable(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration::TaggedSymbol)
|
1464
|
+
)
|
1465
|
+
end
|
1466
|
+
attr_reader :proration
|
1467
|
+
|
1468
|
+
sig do
|
1469
|
+
params(proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration::OrSymbol)
|
1470
|
+
.void
|
1471
|
+
end
|
1472
|
+
attr_writer :proration
|
1473
|
+
|
1474
|
+
# The frequency at which the recurring commits will be created. If not provided: -
|
1475
|
+
# The commits will be created on the usage invoice frequency. If provided: - The
|
1476
|
+
# period defined in the duration will correspond to this frequency. - Commits will
|
1477
|
+
# be created aligned with the recurring commit's start_date rather than the usage
|
1478
|
+
# invoice dates.
|
1479
|
+
sig do
|
1480
|
+
returns(
|
1481
|
+
T.nilable(
|
1482
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::TaggedSymbol
|
1483
|
+
)
|
1484
|
+
)
|
1485
|
+
end
|
1486
|
+
attr_reader :recurrence_frequency
|
1487
|
+
|
1488
|
+
sig do
|
1489
|
+
params(
|
1490
|
+
recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::OrSymbol
|
1491
|
+
)
|
1492
|
+
.void
|
1493
|
+
end
|
1494
|
+
attr_writer :recurrence_frequency
|
1495
|
+
|
1496
|
+
# Will be passed down to the individual commits. This controls how much of an
|
1497
|
+
# individual unexpired commit will roll over upon contract transition. Must be
|
1498
|
+
# between 0 and 1.
|
1499
|
+
sig { returns(T.nilable(Float)) }
|
1500
|
+
attr_reader :rollover_fraction
|
1501
|
+
|
1502
|
+
sig { params(rollover_fraction: Float).void }
|
1503
|
+
attr_writer :rollover_fraction
|
1504
|
+
|
1505
|
+
sig do
|
1506
|
+
params(
|
1507
|
+
id: String,
|
1508
|
+
access_amount: T.any(
|
1509
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::AccessAmount,
|
1510
|
+
MetronomeSDK::Internal::AnyHash
|
1511
|
+
),
|
1512
|
+
commit_duration: T.any(
|
1513
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration,
|
1514
|
+
MetronomeSDK::Internal::AnyHash
|
1515
|
+
),
|
1516
|
+
priority: Float,
|
1517
|
+
product: T.any(
|
1518
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Product,
|
1519
|
+
MetronomeSDK::Internal::AnyHash
|
1520
|
+
),
|
1521
|
+
rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RateType::OrSymbol,
|
1522
|
+
starting_at: Time,
|
1523
|
+
applicable_product_ids: T::Array[String],
|
1524
|
+
applicable_product_tags: T::Array[String],
|
1525
|
+
contract: T.any(
|
1526
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Contract,
|
1527
|
+
MetronomeSDK::Internal::AnyHash
|
1528
|
+
),
|
1529
|
+
description: String,
|
1530
|
+
ending_before: Time,
|
1531
|
+
name: String,
|
1532
|
+
netsuite_sales_order_id: String,
|
1533
|
+
proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration::OrSymbol,
|
1534
|
+
recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::OrSymbol,
|
1535
|
+
rollover_fraction: Float
|
1536
|
+
)
|
1537
|
+
.returns(T.attached_class)
|
1538
|
+
end
|
1539
|
+
def self.new(
|
1540
|
+
id:,
|
1541
|
+
# The amount of commit to grant.
|
1542
|
+
access_amount:,
|
1543
|
+
# The amount of time the created commits will be valid for
|
1544
|
+
commit_duration:,
|
1545
|
+
# Will be passed down to the individual commits
|
1546
|
+
priority:,
|
1547
|
+
product:,
|
1548
|
+
# Whether the created commits will use the commit rate or list rate
|
1549
|
+
rate_type:,
|
1550
|
+
# Determines the start time for the first commit
|
1551
|
+
starting_at:,
|
1552
|
+
# Will be passed down to the individual commits
|
1553
|
+
applicable_product_ids: nil,
|
1554
|
+
# Will be passed down to the individual commits
|
1555
|
+
applicable_product_tags: nil,
|
1556
|
+
contract: nil,
|
1557
|
+
# Will be passed down to the individual commits
|
1558
|
+
description: nil,
|
1559
|
+
# Determines when the contract will stop creating recurring commits. Optional
|
1560
|
+
ending_before: nil,
|
1561
|
+
# Displayed on invoices. Will be passed through to the individual commits
|
1562
|
+
name: nil,
|
1563
|
+
# Will be passed down to the individual commits
|
1564
|
+
netsuite_sales_order_id: nil,
|
1565
|
+
# Determines whether the first and last commit will be prorated. If not provided,
|
1566
|
+
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
1567
|
+
proration: nil,
|
1568
|
+
# The frequency at which the recurring commits will be created. If not provided: -
|
1569
|
+
# The commits will be created on the usage invoice frequency. If provided: - The
|
1570
|
+
# period defined in the duration will correspond to this frequency. - Commits will
|
1571
|
+
# be created aligned with the recurring commit's start_date rather than the usage
|
1572
|
+
# invoice dates.
|
1573
|
+
recurrence_frequency: nil,
|
1574
|
+
# Will be passed down to the individual commits. This controls how much of an
|
1575
|
+
# individual unexpired commit will roll over upon contract transition. Must be
|
1576
|
+
# between 0 and 1.
|
1577
|
+
rollover_fraction: nil
|
1578
|
+
); end
|
1579
|
+
sig do
|
1580
|
+
override
|
1581
|
+
.returns(
|
1582
|
+
{
|
1583
|
+
id: String,
|
1584
|
+
access_amount: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::AccessAmount,
|
1585
|
+
commit_duration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration,
|
1586
|
+
priority: Float,
|
1587
|
+
product: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Product,
|
1588
|
+
rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RateType::TaggedSymbol,
|
1589
|
+
starting_at: Time,
|
1590
|
+
applicable_product_ids: T::Array[String],
|
1591
|
+
applicable_product_tags: T::Array[String],
|
1592
|
+
contract: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Contract,
|
1593
|
+
description: String,
|
1594
|
+
ending_before: Time,
|
1595
|
+
name: String,
|
1596
|
+
netsuite_sales_order_id: String,
|
1597
|
+
proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration::TaggedSymbol,
|
1598
|
+
recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::TaggedSymbol,
|
1599
|
+
rollover_fraction: Float
|
1600
|
+
}
|
1601
|
+
)
|
1602
|
+
end
|
1603
|
+
def to_hash; end
|
1604
|
+
|
1605
|
+
class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
|
1606
|
+
sig { returns(String) }
|
1607
|
+
attr_accessor :credit_type_id
|
1608
|
+
|
1609
|
+
sig { returns(Float) }
|
1610
|
+
attr_accessor :quantity
|
1611
|
+
|
1612
|
+
sig { returns(Float) }
|
1613
|
+
attr_accessor :unit_price
|
1614
|
+
|
1615
|
+
# The amount of commit to grant.
|
1616
|
+
sig { params(credit_type_id: String, quantity: Float, unit_price: Float).returns(T.attached_class) }
|
1617
|
+
def self.new(credit_type_id:, quantity:, unit_price:); end
|
1618
|
+
|
1619
|
+
sig { override.returns({credit_type_id: String, quantity: Float, unit_price: Float}) }
|
1620
|
+
def to_hash; end
|
1621
|
+
end
|
1622
|
+
|
1623
|
+
class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
|
1624
|
+
sig { returns(Float) }
|
1625
|
+
attr_accessor :value
|
1626
|
+
|
1627
|
+
sig do
|
1628
|
+
returns(
|
1629
|
+
T.nilable(
|
1630
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit::TaggedSymbol
|
1631
|
+
)
|
1632
|
+
)
|
1633
|
+
end
|
1634
|
+
attr_reader :unit
|
1635
|
+
|
1636
|
+
sig do
|
1637
|
+
params(
|
1638
|
+
unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit::OrSymbol
|
1639
|
+
)
|
1640
|
+
.void
|
1641
|
+
end
|
1642
|
+
attr_writer :unit
|
1643
|
+
|
1644
|
+
# The amount of time the created commits will be valid for
|
1645
|
+
sig do
|
1646
|
+
params(
|
1647
|
+
value: Float,
|
1648
|
+
unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit::OrSymbol
|
1649
|
+
)
|
1650
|
+
.returns(T.attached_class)
|
1651
|
+
end
|
1652
|
+
def self.new(value:, unit: nil); end
|
1653
|
+
|
1654
|
+
sig do
|
1655
|
+
override
|
1656
|
+
.returns(
|
1657
|
+
{
|
1658
|
+
value: Float,
|
1659
|
+
unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit::TaggedSymbol
|
1660
|
+
}
|
1661
|
+
)
|
1662
|
+
end
|
1663
|
+
def to_hash; end
|
1664
|
+
|
1665
|
+
module Unit
|
1666
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1667
|
+
|
1668
|
+
TaggedSymbol =
|
1669
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit) }
|
1670
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1671
|
+
|
1672
|
+
PERIODS =
|
1673
|
+
T.let(
|
1674
|
+
:PERIODS,
|
1675
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit::TaggedSymbol
|
1676
|
+
)
|
1677
|
+
|
1678
|
+
sig do
|
1679
|
+
override
|
1680
|
+
.returns(
|
1681
|
+
T::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit::TaggedSymbol]
|
1682
|
+
)
|
1683
|
+
end
|
1684
|
+
def self.values; end
|
1685
|
+
end
|
1686
|
+
end
|
1687
|
+
|
1688
|
+
class Product < MetronomeSDK::Internal::Type::BaseModel
|
1689
|
+
sig { returns(String) }
|
1690
|
+
attr_accessor :id
|
1691
|
+
|
1692
|
+
sig { returns(String) }
|
1693
|
+
attr_accessor :name
|
1694
|
+
|
1695
|
+
sig { params(id: String, name: String).returns(T.attached_class) }
|
1696
|
+
def self.new(id:, name:); end
|
1697
|
+
|
1698
|
+
sig { override.returns({id: String, name: String}) }
|
1699
|
+
def to_hash; end
|
1700
|
+
end
|
1701
|
+
|
1702
|
+
# Whether the created commits will use the commit rate or list rate
|
1703
|
+
module RateType
|
1704
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1705
|
+
|
1706
|
+
TaggedSymbol =
|
1707
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RateType) }
|
1708
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1709
|
+
|
1710
|
+
COMMIT_RATE =
|
1711
|
+
T.let(
|
1712
|
+
:COMMIT_RATE,
|
1713
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RateType::TaggedSymbol
|
1714
|
+
)
|
1715
|
+
LIST_RATE =
|
1716
|
+
T.let(
|
1717
|
+
:LIST_RATE,
|
1718
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RateType::TaggedSymbol
|
1719
|
+
)
|
1720
|
+
|
1721
|
+
sig do
|
1722
|
+
override
|
1723
|
+
.returns(
|
1724
|
+
T::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RateType::TaggedSymbol]
|
1725
|
+
)
|
1726
|
+
end
|
1727
|
+
def self.values; end
|
1728
|
+
end
|
1729
|
+
|
1730
|
+
class Contract < MetronomeSDK::Internal::Type::BaseModel
|
1731
|
+
sig { returns(String) }
|
1732
|
+
attr_accessor :id
|
1733
|
+
|
1734
|
+
sig { params(id: String).returns(T.attached_class) }
|
1735
|
+
def self.new(id:); end
|
1736
|
+
|
1737
|
+
sig { override.returns({id: String}) }
|
1738
|
+
def to_hash; end
|
1739
|
+
end
|
1740
|
+
|
1741
|
+
# Determines whether the first and last commit will be prorated. If not provided,
|
1742
|
+
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
1743
|
+
module Proration
|
1744
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1745
|
+
|
1746
|
+
TaggedSymbol =
|
1747
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration) }
|
1748
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1749
|
+
|
1750
|
+
NONE =
|
1751
|
+
T.let(:NONE, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration::TaggedSymbol)
|
1752
|
+
FIRST =
|
1753
|
+
T.let(:FIRST, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration::TaggedSymbol)
|
1754
|
+
LAST =
|
1755
|
+
T.let(:LAST, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration::TaggedSymbol)
|
1756
|
+
FIRST_AND_LAST =
|
1757
|
+
T.let(
|
1758
|
+
:FIRST_AND_LAST,
|
1759
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration::TaggedSymbol
|
1760
|
+
)
|
1761
|
+
|
1762
|
+
sig do
|
1763
|
+
override
|
1764
|
+
.returns(
|
1765
|
+
T::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration::TaggedSymbol]
|
1766
|
+
)
|
1767
|
+
end
|
1768
|
+
def self.values; end
|
1769
|
+
end
|
1770
|
+
|
1771
|
+
# The frequency at which the recurring commits will be created. If not provided: -
|
1772
|
+
# The commits will be created on the usage invoice frequency. If provided: - The
|
1773
|
+
# period defined in the duration will correspond to this frequency. - Commits will
|
1774
|
+
# be created aligned with the recurring commit's start_date rather than the usage
|
1775
|
+
# invoice dates.
|
1776
|
+
module RecurrenceFrequency
|
1777
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1778
|
+
|
1779
|
+
TaggedSymbol =
|
1780
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency) }
|
1781
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1782
|
+
|
1783
|
+
MONTHLY =
|
1784
|
+
T.let(
|
1785
|
+
:MONTHLY,
|
1786
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::TaggedSymbol
|
1787
|
+
)
|
1788
|
+
QUARTERLY =
|
1789
|
+
T.let(
|
1790
|
+
:QUARTERLY,
|
1791
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::TaggedSymbol
|
1792
|
+
)
|
1793
|
+
ANNUAL =
|
1794
|
+
T.let(
|
1795
|
+
:ANNUAL,
|
1796
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::TaggedSymbol
|
1797
|
+
)
|
1798
|
+
WEEKLY =
|
1799
|
+
T.let(
|
1800
|
+
:WEEKLY,
|
1801
|
+
MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::TaggedSymbol
|
1802
|
+
)
|
1803
|
+
|
1804
|
+
sig do
|
1805
|
+
override
|
1806
|
+
.returns(
|
1807
|
+
T::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::TaggedSymbol]
|
1808
|
+
)
|
1809
|
+
end
|
1810
|
+
def self.values; end
|
1811
|
+
end
|
1812
|
+
end
|
1813
|
+
|
1814
|
+
class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
|
1815
|
+
sig { returns(Float) }
|
1816
|
+
attr_accessor :fraction
|
1817
|
+
|
1818
|
+
sig { returns(String) }
|
1819
|
+
attr_accessor :netsuite_reseller_id
|
1820
|
+
|
1821
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType::TaggedSymbol) }
|
1822
|
+
attr_accessor :reseller_type
|
1823
|
+
|
1824
|
+
sig { returns(Time) }
|
1825
|
+
attr_accessor :starting_at
|
1826
|
+
|
1827
|
+
sig { returns(T.nilable(T::Array[String])) }
|
1828
|
+
attr_reader :applicable_product_ids
|
1829
|
+
|
1830
|
+
sig { params(applicable_product_ids: T::Array[String]).void }
|
1831
|
+
attr_writer :applicable_product_ids
|
1832
|
+
|
1833
|
+
sig { returns(T.nilable(T::Array[String])) }
|
1834
|
+
attr_reader :applicable_product_tags
|
1835
|
+
|
1836
|
+
sig { params(applicable_product_tags: T::Array[String]).void }
|
1837
|
+
attr_writer :applicable_product_tags
|
1838
|
+
|
1839
|
+
sig { returns(T.nilable(String)) }
|
1840
|
+
attr_reader :aws_account_number
|
1841
|
+
|
1842
|
+
sig { params(aws_account_number: String).void }
|
1843
|
+
attr_writer :aws_account_number
|
1844
|
+
|
1845
|
+
sig { returns(T.nilable(String)) }
|
1846
|
+
attr_reader :aws_offer_id
|
1847
|
+
|
1848
|
+
sig { params(aws_offer_id: String).void }
|
1849
|
+
attr_writer :aws_offer_id
|
1850
|
+
|
1851
|
+
sig { returns(T.nilable(String)) }
|
1852
|
+
attr_reader :aws_payer_reference_id
|
1853
|
+
|
1854
|
+
sig { params(aws_payer_reference_id: String).void }
|
1855
|
+
attr_writer :aws_payer_reference_id
|
1856
|
+
|
1857
|
+
sig { returns(T.nilable(Time)) }
|
1858
|
+
attr_reader :ending_before
|
1859
|
+
|
1860
|
+
sig { params(ending_before: Time).void }
|
1861
|
+
attr_writer :ending_before
|
1862
|
+
|
1863
|
+
sig { returns(T.nilable(String)) }
|
1864
|
+
attr_reader :gcp_account_id
|
1865
|
+
|
1866
|
+
sig { params(gcp_account_id: String).void }
|
1867
|
+
attr_writer :gcp_account_id
|
1868
|
+
|
1869
|
+
sig { returns(T.nilable(String)) }
|
1870
|
+
attr_reader :gcp_offer_id
|
1871
|
+
|
1872
|
+
sig { params(gcp_offer_id: String).void }
|
1873
|
+
attr_writer :gcp_offer_id
|
1874
|
+
|
1875
|
+
sig { returns(T.nilable(Float)) }
|
1876
|
+
attr_reader :reseller_contract_value
|
1877
|
+
|
1878
|
+
sig { params(reseller_contract_value: Float).void }
|
1879
|
+
attr_writer :reseller_contract_value
|
1880
|
+
|
1881
|
+
sig do
|
1882
|
+
params(
|
1883
|
+
fraction: Float,
|
1884
|
+
netsuite_reseller_id: String,
|
1885
|
+
reseller_type: MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType::OrSymbol,
|
1886
|
+
starting_at: Time,
|
1887
|
+
applicable_product_ids: T::Array[String],
|
1888
|
+
applicable_product_tags: T::Array[String],
|
1889
|
+
aws_account_number: String,
|
1890
|
+
aws_offer_id: String,
|
1891
|
+
aws_payer_reference_id: String,
|
1892
|
+
ending_before: Time,
|
1893
|
+
gcp_account_id: String,
|
1894
|
+
gcp_offer_id: String,
|
1895
|
+
reseller_contract_value: Float
|
1896
|
+
)
|
1897
|
+
.returns(T.attached_class)
|
1898
|
+
end
|
1899
|
+
def self.new(
|
1900
|
+
fraction:,
|
1901
|
+
netsuite_reseller_id:,
|
1902
|
+
reseller_type:,
|
1903
|
+
starting_at:,
|
1904
|
+
applicable_product_ids: nil,
|
1905
|
+
applicable_product_tags: nil,
|
1906
|
+
aws_account_number: nil,
|
1907
|
+
aws_offer_id: nil,
|
1908
|
+
aws_payer_reference_id: nil,
|
1909
|
+
ending_before: nil,
|
1910
|
+
gcp_account_id: nil,
|
1911
|
+
gcp_offer_id: nil,
|
1912
|
+
reseller_contract_value: nil
|
1913
|
+
); end
|
1914
|
+
sig do
|
1915
|
+
override
|
1916
|
+
.returns(
|
1917
|
+
{
|
1918
|
+
fraction: Float,
|
1919
|
+
netsuite_reseller_id: String,
|
1920
|
+
reseller_type: MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType::TaggedSymbol,
|
1921
|
+
starting_at: Time,
|
1922
|
+
applicable_product_ids: T::Array[String],
|
1923
|
+
applicable_product_tags: T::Array[String],
|
1924
|
+
aws_account_number: String,
|
1925
|
+
aws_offer_id: String,
|
1926
|
+
aws_payer_reference_id: String,
|
1927
|
+
ending_before: Time,
|
1928
|
+
gcp_account_id: String,
|
1929
|
+
gcp_offer_id: String,
|
1930
|
+
reseller_contract_value: Float
|
1931
|
+
}
|
1932
|
+
)
|
1933
|
+
end
|
1934
|
+
def to_hash; end
|
1935
|
+
|
1936
|
+
module ResellerType
|
1937
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1938
|
+
|
1939
|
+
TaggedSymbol =
|
1940
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType) }
|
1941
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1942
|
+
|
1943
|
+
AWS =
|
1944
|
+
T.let(:AWS, MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType::TaggedSymbol)
|
1945
|
+
AWS_PRO_SERVICE =
|
1946
|
+
T.let(
|
1947
|
+
:AWS_PRO_SERVICE,
|
1948
|
+
MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType::TaggedSymbol
|
1949
|
+
)
|
1950
|
+
GCP =
|
1951
|
+
T.let(:GCP, MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType::TaggedSymbol)
|
1952
|
+
GCP_PRO_SERVICE =
|
1953
|
+
T.let(
|
1954
|
+
:GCP_PRO_SERVICE,
|
1955
|
+
MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType::TaggedSymbol
|
1956
|
+
)
|
1957
|
+
|
1958
|
+
sig do
|
1959
|
+
override
|
1960
|
+
.returns(
|
1961
|
+
T::Array[MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType::TaggedSymbol]
|
1962
|
+
)
|
1963
|
+
end
|
1964
|
+
def self.values; end
|
1965
|
+
end
|
1966
|
+
end
|
1967
|
+
|
1968
|
+
# Determines which scheduled and commit charges to consolidate onto the Contract's
|
1969
|
+
# usage invoice. The charge's `timestamp` must match the usage invoice's
|
1970
|
+
# `ending_before` date for consolidation to occur. This field cannot be modified
|
1971
|
+
# after a Contract has been created. If this field is omitted, charges will appear
|
1972
|
+
# on a separate invoice from usage charges.
|
1973
|
+
module ScheduledChargesOnUsageInvoices
|
1974
|
+
extend MetronomeSDK::Internal::Type::Enum
|
1975
|
+
|
1976
|
+
TaggedSymbol =
|
1977
|
+
T.type_alias { T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices) }
|
1978
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
1979
|
+
|
1980
|
+
ALL =
|
1981
|
+
T.let(
|
1982
|
+
:ALL,
|
1983
|
+
MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices::TaggedSymbol
|
1984
|
+
)
|
1985
|
+
|
1986
|
+
sig do
|
1987
|
+
override
|
1988
|
+
.returns(
|
1989
|
+
T::Array[MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices::TaggedSymbol]
|
1990
|
+
)
|
1991
|
+
end
|
1992
|
+
def self.values; end
|
1993
|
+
end
|
1994
|
+
|
1995
|
+
class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
|
1996
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit) }
|
1997
|
+
attr_reader :commit
|
1998
|
+
|
1999
|
+
sig do
|
2000
|
+
params(
|
2001
|
+
commit: T.any(
|
2002
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit,
|
2003
|
+
MetronomeSDK::Internal::AnyHash
|
2004
|
+
)
|
2005
|
+
)
|
2006
|
+
.void
|
2007
|
+
end
|
2008
|
+
attr_writer :commit
|
2009
|
+
|
2010
|
+
# When set to false, the contract will not be evaluated against the
|
2011
|
+
# threshold_amount. Toggling to true will result an immediate evaluation,
|
2012
|
+
# regardless of prior state.
|
2013
|
+
sig { returns(T::Boolean) }
|
2014
|
+
attr_accessor :is_enabled
|
2015
|
+
|
2016
|
+
sig { returns(MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig) }
|
2017
|
+
attr_reader :payment_gate_config
|
2018
|
+
|
2019
|
+
sig do
|
2020
|
+
params(
|
2021
|
+
payment_gate_config: T.any(
|
2022
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig,
|
2023
|
+
MetronomeSDK::Internal::AnyHash
|
2024
|
+
)
|
2025
|
+
)
|
2026
|
+
.void
|
2027
|
+
end
|
2028
|
+
attr_writer :payment_gate_config
|
2029
|
+
|
2030
|
+
# Specify the threshold amount for the contract. Each time the contract's usage
|
2031
|
+
# hits this amount, a threshold charge will be initiated.
|
2032
|
+
sig { returns(Float) }
|
2033
|
+
attr_accessor :threshold_amount
|
2034
|
+
|
2035
|
+
sig do
|
2036
|
+
params(
|
2037
|
+
commit: T.any(
|
2038
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit,
|
2039
|
+
MetronomeSDK::Internal::AnyHash
|
2040
|
+
),
|
2041
|
+
is_enabled: T::Boolean,
|
2042
|
+
payment_gate_config: T.any(
|
2043
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig,
|
2044
|
+
MetronomeSDK::Internal::AnyHash
|
2045
|
+
),
|
2046
|
+
threshold_amount: Float
|
2047
|
+
)
|
2048
|
+
.returns(T.attached_class)
|
2049
|
+
end
|
2050
|
+
def self.new(
|
2051
|
+
commit:,
|
2052
|
+
# When set to false, the contract will not be evaluated against the
|
2053
|
+
# threshold_amount. Toggling to true will result an immediate evaluation,
|
2054
|
+
# regardless of prior state.
|
2055
|
+
is_enabled:,
|
2056
|
+
payment_gate_config:,
|
2057
|
+
# Specify the threshold amount for the contract. Each time the contract's usage
|
2058
|
+
# hits this amount, a threshold charge will be initiated.
|
2059
|
+
threshold_amount:
|
2060
|
+
); end
|
2061
|
+
sig do
|
2062
|
+
override
|
2063
|
+
.returns(
|
2064
|
+
{
|
2065
|
+
commit: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit,
|
2066
|
+
is_enabled: T::Boolean,
|
2067
|
+
payment_gate_config: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig,
|
2068
|
+
threshold_amount: Float
|
2069
|
+
}
|
2070
|
+
)
|
2071
|
+
end
|
2072
|
+
def to_hash; end
|
2073
|
+
|
2074
|
+
class Commit < MetronomeSDK::Internal::Type::BaseModel
|
2075
|
+
# The commit product that will be used to generate the line item for commit
|
2076
|
+
# payment.
|
2077
|
+
sig { returns(String) }
|
2078
|
+
attr_accessor :product_id
|
2079
|
+
|
2080
|
+
sig { returns(T.nilable(String)) }
|
2081
|
+
attr_reader :description
|
2082
|
+
|
2083
|
+
sig { params(description: String).void }
|
2084
|
+
attr_writer :description
|
2085
|
+
|
2086
|
+
# Specify the name of the line item for the threshold charge. If left blank, it
|
2087
|
+
# will default to the commit product name.
|
2088
|
+
sig { returns(T.nilable(String)) }
|
2089
|
+
attr_reader :name
|
2090
|
+
|
2091
|
+
sig { params(name: String).void }
|
2092
|
+
attr_writer :name
|
2093
|
+
|
2094
|
+
sig { params(product_id: String, description: String, name: String).returns(T.attached_class) }
|
2095
|
+
def self.new(
|
2096
|
+
# The commit product that will be used to generate the line item for commit
|
2097
|
+
# payment.
|
2098
|
+
product_id:,
|
2099
|
+
description: nil,
|
2100
|
+
# Specify the name of the line item for the threshold charge. If left blank, it
|
2101
|
+
# will default to the commit product name.
|
2102
|
+
name: nil
|
2103
|
+
); end
|
2104
|
+
sig { override.returns({product_id: String, description: String, name: String}) }
|
2105
|
+
def to_hash; end
|
2106
|
+
end
|
2107
|
+
|
2108
|
+
class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
|
2109
|
+
# Gate access to the commit balance based on successful collection of payment.
|
2110
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
2111
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
2112
|
+
# wish to payment gate the commit balance.
|
2113
|
+
sig do
|
2114
|
+
returns(
|
2115
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
2116
|
+
)
|
2117
|
+
end
|
2118
|
+
attr_accessor :payment_gate_type
|
2119
|
+
|
2120
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
2121
|
+
sig do
|
2122
|
+
returns(
|
2123
|
+
T.nilable(
|
2124
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
|
2125
|
+
)
|
2126
|
+
)
|
2127
|
+
end
|
2128
|
+
attr_reader :stripe_config
|
2129
|
+
|
2130
|
+
sig do
|
2131
|
+
params(
|
2132
|
+
stripe_config: T.any(
|
2133
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
|
2134
|
+
MetronomeSDK::Internal::AnyHash
|
2135
|
+
)
|
2136
|
+
)
|
2137
|
+
.void
|
2138
|
+
end
|
2139
|
+
attr_writer :stripe_config
|
2140
|
+
|
2141
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
2142
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
2143
|
+
# will default to NONE.
|
2144
|
+
sig do
|
2145
|
+
returns(
|
2146
|
+
T.nilable(
|
2147
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
|
2148
|
+
)
|
2149
|
+
)
|
2150
|
+
end
|
2151
|
+
attr_reader :tax_type
|
2152
|
+
|
2153
|
+
sig do
|
2154
|
+
params(
|
2155
|
+
tax_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::OrSymbol
|
2156
|
+
)
|
2157
|
+
.void
|
2158
|
+
end
|
2159
|
+
attr_writer :tax_type
|
2160
|
+
|
2161
|
+
sig do
|
2162
|
+
params(
|
2163
|
+
payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
|
2164
|
+
stripe_config: T.any(
|
2165
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
|
2166
|
+
MetronomeSDK::Internal::AnyHash
|
2167
|
+
),
|
2168
|
+
tax_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::OrSymbol
|
2169
|
+
)
|
2170
|
+
.returns(T.attached_class)
|
2171
|
+
end
|
2172
|
+
def self.new(
|
2173
|
+
# Gate access to the commit balance based on successful collection of payment.
|
2174
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
2175
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
2176
|
+
# wish to payment gate the commit balance.
|
2177
|
+
payment_gate_type:,
|
2178
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
2179
|
+
stripe_config: nil,
|
2180
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
2181
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
2182
|
+
# will default to NONE.
|
2183
|
+
tax_type: nil
|
2184
|
+
); end
|
2185
|
+
sig do
|
2186
|
+
override
|
2187
|
+
.returns(
|
2188
|
+
{
|
2189
|
+
payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
|
2190
|
+
stripe_config: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
|
2191
|
+
tax_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
|
2192
|
+
}
|
2193
|
+
)
|
2194
|
+
end
|
2195
|
+
def to_hash; end
|
2196
|
+
|
2197
|
+
# Gate access to the commit balance based on successful collection of payment.
|
2198
|
+
# Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
|
2199
|
+
# facilitate payment using your own payment integration. Select NONE if you do not
|
2200
|
+
# wish to payment gate the commit balance.
|
2201
|
+
module PaymentGateType
|
2202
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2203
|
+
|
2204
|
+
TaggedSymbol =
|
2205
|
+
T.type_alias do
|
2206
|
+
T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType)
|
2207
|
+
end
|
2208
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
2209
|
+
|
2210
|
+
NONE =
|
2211
|
+
T.let(
|
2212
|
+
:NONE,
|
2213
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
2214
|
+
)
|
2215
|
+
STRIPE =
|
2216
|
+
T.let(
|
2217
|
+
:STRIPE,
|
2218
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
2219
|
+
)
|
2220
|
+
EXTERNAL =
|
2221
|
+
T.let(
|
2222
|
+
:EXTERNAL,
|
2223
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
2224
|
+
)
|
2225
|
+
|
2226
|
+
sig do
|
2227
|
+
override
|
2228
|
+
.returns(
|
2229
|
+
T::Array[
|
2230
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
|
2231
|
+
]
|
2232
|
+
)
|
2233
|
+
end
|
2234
|
+
def self.values; end
|
2235
|
+
end
|
2236
|
+
|
2237
|
+
class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
|
2238
|
+
# If left blank, will default to INVOICE
|
2239
|
+
sig do
|
2240
|
+
returns(
|
2241
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
2242
|
+
)
|
2243
|
+
end
|
2244
|
+
attr_accessor :payment_type
|
2245
|
+
|
2246
|
+
# Only applicable if using Stripe as your payment gateway through Metronome.
|
2247
|
+
sig do
|
2248
|
+
params(
|
2249
|
+
payment_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
|
2250
|
+
)
|
2251
|
+
.returns(T.attached_class)
|
2252
|
+
end
|
2253
|
+
def self.new(
|
2254
|
+
# If left blank, will default to INVOICE
|
2255
|
+
payment_type:
|
2256
|
+
); end
|
2257
|
+
sig do
|
2258
|
+
override
|
2259
|
+
.returns(
|
2260
|
+
{
|
2261
|
+
payment_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
2262
|
+
}
|
2263
|
+
)
|
2264
|
+
end
|
2265
|
+
def to_hash; end
|
2266
|
+
|
2267
|
+
# If left blank, will default to INVOICE
|
2268
|
+
module PaymentType
|
2269
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2270
|
+
|
2271
|
+
TaggedSymbol =
|
2272
|
+
T.type_alias do
|
2273
|
+
T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType)
|
2274
|
+
end
|
2275
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
2276
|
+
|
2277
|
+
INVOICE =
|
2278
|
+
T.let(
|
2279
|
+
:INVOICE,
|
2280
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
2281
|
+
)
|
2282
|
+
PAYMENT_INTENT =
|
2283
|
+
T.let(
|
2284
|
+
:PAYMENT_INTENT,
|
2285
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
2286
|
+
)
|
2287
|
+
|
2288
|
+
sig do
|
2289
|
+
override
|
2290
|
+
.returns(
|
2291
|
+
T::Array[
|
2292
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
|
2293
|
+
]
|
2294
|
+
)
|
2295
|
+
end
|
2296
|
+
def self.values; end
|
2297
|
+
end
|
2298
|
+
end
|
2299
|
+
|
2300
|
+
# Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
|
2301
|
+
# not wish Metronome to calculate tax on your behalf. Leaving this field blank
|
2302
|
+
# will default to NONE.
|
2303
|
+
module TaxType
|
2304
|
+
extend MetronomeSDK::Internal::Type::Enum
|
2305
|
+
|
2306
|
+
TaggedSymbol =
|
2307
|
+
T.type_alias do
|
2308
|
+
T.all(Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType)
|
2309
|
+
end
|
2310
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
2311
|
+
|
2312
|
+
NONE =
|
2313
|
+
T.let(
|
2314
|
+
:NONE,
|
2315
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
|
2316
|
+
)
|
2317
|
+
STRIPE =
|
2318
|
+
T.let(
|
2319
|
+
:STRIPE,
|
2320
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
|
2321
|
+
)
|
2322
|
+
|
2323
|
+
sig do
|
2324
|
+
override
|
2325
|
+
.returns(
|
2326
|
+
T::Array[
|
2327
|
+
MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
|
2328
|
+
]
|
2329
|
+
)
|
2330
|
+
end
|
2331
|
+
def self.values; end
|
2332
|
+
end
|
2333
|
+
end
|
2334
|
+
end
|
2335
|
+
|
2336
|
+
class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
|
2337
|
+
sig { returns(T.nilable(MetronomeSDK::Models::BaseUsageFilter)) }
|
2338
|
+
attr_reader :current
|
2339
|
+
|
2340
|
+
sig do
|
2341
|
+
params(current: T.nilable(T.any(MetronomeSDK::Models::BaseUsageFilter, MetronomeSDK::Internal::AnyHash)))
|
2342
|
+
.void
|
2343
|
+
end
|
2344
|
+
attr_writer :current
|
2345
|
+
|
2346
|
+
sig { returns(MetronomeSDK::Models::BaseUsageFilter) }
|
2347
|
+
attr_reader :initial
|
2348
|
+
|
2349
|
+
sig { params(initial: T.any(MetronomeSDK::Models::BaseUsageFilter, MetronomeSDK::Internal::AnyHash)).void }
|
2350
|
+
attr_writer :initial
|
2351
|
+
|
2352
|
+
sig { returns(T::Array[MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter::Update]) }
|
2353
|
+
attr_accessor :updates
|
2354
|
+
|
2355
|
+
sig do
|
2356
|
+
params(
|
2357
|
+
current: T.nilable(T.any(MetronomeSDK::Models::BaseUsageFilter, MetronomeSDK::Internal::AnyHash)),
|
2358
|
+
initial: T.any(MetronomeSDK::Models::BaseUsageFilter, MetronomeSDK::Internal::AnyHash),
|
2359
|
+
updates: T::Array[
|
2360
|
+
T.any(
|
2361
|
+
MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter::Update,
|
2362
|
+
MetronomeSDK::Internal::AnyHash
|
2363
|
+
)
|
2364
|
+
]
|
2365
|
+
)
|
2366
|
+
.returns(T.attached_class)
|
2367
|
+
end
|
2368
|
+
def self.new(current:, initial:, updates:); end
|
2369
|
+
|
2370
|
+
sig do
|
2371
|
+
override
|
2372
|
+
.returns(
|
2373
|
+
{
|
2374
|
+
current: T.nilable(MetronomeSDK::Models::BaseUsageFilter),
|
2375
|
+
initial: MetronomeSDK::Models::BaseUsageFilter,
|
2376
|
+
updates: T::Array[MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter::Update]
|
2377
|
+
}
|
2378
|
+
)
|
2379
|
+
end
|
2380
|
+
def to_hash; end
|
2381
|
+
|
2382
|
+
class Update < MetronomeSDK::Internal::Type::BaseModel
|
2383
|
+
sig { returns(String) }
|
2384
|
+
attr_accessor :group_key
|
2385
|
+
|
2386
|
+
sig { returns(T::Array[String]) }
|
2387
|
+
attr_accessor :group_values
|
2388
|
+
|
2389
|
+
sig { returns(Time) }
|
2390
|
+
attr_accessor :starting_at
|
2391
|
+
|
2392
|
+
sig do
|
2393
|
+
params(
|
2394
|
+
group_key: String,
|
2395
|
+
group_values: T::Array[String],
|
2396
|
+
starting_at: Time
|
2397
|
+
).returns(T.attached_class)
|
2398
|
+
end
|
2399
|
+
def self.new(group_key:, group_values:, starting_at:); end
|
2400
|
+
|
2401
|
+
sig { override.returns({group_key: String, group_values: T::Array[String], starting_at: Time}) }
|
2402
|
+
def to_hash; end
|
2403
|
+
end
|
2404
|
+
end
|
2405
|
+
end
|
2406
|
+
end
|
2407
|
+
end
|