metronome-sdk 3.6.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/type/enum.rb +0 -25
  5. data/lib/metronome_sdk/models/commit.rb +27 -1
  6. data/lib/metronome_sdk/models/contract.rb +140 -1
  7. data/lib/metronome_sdk/models/contract_v2.rb +168 -2
  8. data/lib/metronome_sdk/models/contract_without_amendments.rb +142 -1
  9. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +105 -2
  10. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +103 -2
  11. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  12. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  13. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +29 -1
  14. data/lib/metronome_sdk/models/v1/contract_create_params.rb +146 -2
  15. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1134 -3
  16. data/lib/metronome_sdk/models/v1/package_create_params.rb +115 -1
  17. data/lib/metronome_sdk/models/v1/package_list_response.rb +110 -1
  18. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +114 -1
  19. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +303 -5
  20. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3862 -3
  21. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +145 -3
  22. data/lib/metronome_sdk/resources/v1/contracts.rb +3 -1
  23. data/lib/metronome_sdk/resources/v1/packages.rb +6 -5
  24. data/lib/metronome_sdk/resources/v1.rb +0 -4
  25. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  26. data/lib/metronome_sdk/version.rb +1 -1
  27. data/lib/metronome_sdk.rb +0 -8
  28. data/rbi/metronome_sdk/models/commit.rbi +48 -0
  29. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  30. data/rbi/metronome_sdk/models/contract_v2.rbi +409 -0
  31. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +368 -0
  32. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +289 -6
  33. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +283 -6
  34. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  35. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  36. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +54 -0
  37. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +368 -0
  38. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2448 -4
  39. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +310 -0
  40. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +307 -0
  41. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +307 -0
  42. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +734 -11
  43. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +8612 -4
  44. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +359 -11
  45. data/rbi/metronome_sdk/resources/v1/contracts.rbi +7 -0
  46. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -4
  47. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  48. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  49. data/sig/metronome_sdk/models/commit.rbs +19 -0
  50. data/sig/metronome_sdk/models/contract.rbs +151 -0
  51. data/sig/metronome_sdk/models/contract_v2.rbs +170 -0
  52. data/sig/metronome_sdk/models/contract_without_amendments.rbs +151 -0
  53. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  54. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  55. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  56. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  57. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +19 -0
  58. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +134 -0
  59. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1045 -4
  60. data/sig/metronome_sdk/models/v1/package_create_params.rbs +115 -0
  61. data/sig/metronome_sdk/models/v1/package_list_response.rbs +115 -0
  62. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +115 -0
  63. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +283 -9
  64. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3792 -4
  65. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +142 -9
  66. data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
  67. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -0
  68. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  69. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  70. metadata +2 -26
  71. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  72. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  73. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  74. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  75. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  76. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  77. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  78. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  79. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  80. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  81. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  82. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  83. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  84. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  85. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  86. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  87. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  88. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  89. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  90. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  91. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  92. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  93. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  94. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
@@ -190,6 +190,14 @@ module MetronomeSDK
190
190
  # @return [MetronomeSDK::Models::SpendThresholdConfiguration, nil]
191
191
  optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfiguration }
192
192
 
193
+ # @!attribute spend_trackers
194
+ # Spend trackers to attach to this contract. Aliases must be unique within a
195
+ # contract.
196
+ #
197
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker>, nil]
198
+ optional :spend_trackers,
199
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::SpendTracker] }
200
+
193
201
  # @!attribute subscriptions
194
202
  # Optional list of
195
203
  # [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
@@ -228,7 +236,7 @@ module MetronomeSDK
228
236
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule, nil]
229
237
  optional :usage_statement_schedule, -> { MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule }
230
238
 
231
- # @!method initialize(customer_id:, starting_at:, billing_provider_configuration: nil, commits: nil, credits: nil, custom_fields: nil, discounts: nil, ending_before: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, overrides: nil, package_alias: nil, package_id: nil, prepaid_balance_threshold_configuration: nil, professional_services: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, revenue_system_configuration: nil, salesforce_opportunity_id: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, transition: nil, uniqueness_key: nil, usage_filter: nil, usage_statement_schedule: nil, request_options: {})
239
+ # @!method initialize(customer_id:, starting_at:, billing_provider_configuration: nil, commits: nil, credits: nil, custom_fields: nil, discounts: nil, ending_before: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, overrides: nil, package_alias: nil, package_id: nil, prepaid_balance_threshold_configuration: nil, professional_services: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, revenue_system_configuration: nil, salesforce_opportunity_id: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, spend_trackers: nil, subscriptions: nil, total_contract_value: nil, transition: nil, uniqueness_key: nil, usage_filter: nil, usage_statement_schedule: nil, request_options: {})
232
240
  # Some parameter documentations has been truncated, see
233
241
  # {MetronomeSDK::Models::V1::ContractCreateParams} for more details.
234
242
  #
@@ -288,6 +296,8 @@ module MetronomeSDK
288
296
  #
289
297
  # @param spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfiguration]
290
298
  #
299
+ # @param spend_trackers [Array<MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker>] Spend trackers to attach to this contract. Aliases must be unique within a contr
300
+ #
291
301
  # @param subscriptions [Array<MetronomeSDK::Models::V1::ContractCreateParams::Subscription>] Optional list of [subscriptions](https://docs.metronome.com/manage-product-acces
292
302
  #
293
303
  # @param total_contract_value [Float] This field's availability is dependent on your client's configuration.
@@ -478,6 +488,13 @@ module MetronomeSDK
478
488
  # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
479
489
  optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] }
480
490
 
491
+ # @!attribute spend_tracker_attributes
492
+ # Optional attributes for spend tracker integration. Immutable after creation.
493
+ #
494
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::SpendTrackerAttributes, nil]
495
+ optional :spend_tracker_attributes,
496
+ -> { MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes }
497
+
481
498
  # @!attribute temporary_id
482
499
  # A temporary ID for the commit that can be used to reference the commit for
483
500
  # commit specific overrides.
@@ -485,7 +502,7 @@ module MetronomeSDK
485
502
  # @return [String, nil]
486
503
  optional :temporary_id, String
487
504
 
488
- # @!method initialize(product_id:, type:, access_schedule: nil, amount: nil, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
505
+ # @!method initialize(product_id:, type:, access_schedule: nil, amount: nil, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rollover_fraction: nil, specifiers: nil, spend_tracker_attributes: nil, temporary_id: nil)
489
506
  # Some parameter documentations has been truncated, see
490
507
  # {MetronomeSDK::Models::V1::ContractCreateParams::Commit} for more details.
491
508
  #
@@ -521,6 +538,8 @@ module MetronomeSDK
521
538
  #
522
539
  # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>] List of filters that determine what kind of customer usage draws down a commit o
523
540
  #
541
+ # @param spend_tracker_attributes [MetronomeSDK::Models::V1::ContractCreateParams::Commit::SpendTrackerAttributes] Optional attributes for spend tracker integration. Immutable after creation.
542
+ #
524
543
  # @param temporary_id [String] A temporary ID for the commit that can be used to reference the commit for commi
525
544
 
526
545
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit#type
@@ -788,6 +807,25 @@ module MetronomeSDK
788
807
  # @!method self.values
789
808
  # @return [Array<Symbol>]
790
809
  end
810
+
811
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit#spend_tracker_attributes
812
+ class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
813
+ # @!attribute counts_as_discounted
814
+ # If true, this commit will be included in spend trackers with discounted set to
815
+ # DISCOUNTED_ONLY
816
+ #
817
+ # @return [Boolean]
818
+ required :counts_as_discounted, MetronomeSDK::Internal::Type::Boolean
819
+
820
+ # @!method initialize(counts_as_discounted:)
821
+ # Some parameter documentations has been truncated, see
822
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Commit::SpendTrackerAttributes}
823
+ # for more details.
824
+ #
825
+ # Optional attributes for spend tracker integration. Immutable after creation.
826
+ #
827
+ # @param counts_as_discounted [Boolean] If true, this commit will be included in spend trackers with discounted set to D
828
+ end
791
829
  end
792
830
 
793
831
  class Credit < MetronomeSDK::Internal::Type::BaseModel
@@ -2923,6 +2961,112 @@ module MetronomeSDK
2923
2961
  # @return [Array<Symbol>]
2924
2962
  end
2925
2963
 
2964
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2965
+ # @!attribute alias_
2966
+ # Human-readable identifier, unique per contract.
2967
+ #
2968
+ # @return [String]
2969
+ required :alias_, String, api_name: :alias
2970
+
2971
+ # @!attribute applicable_spend_specifiers
2972
+ #
2973
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier>]
2974
+ required :applicable_spend_specifiers,
2975
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier] }
2976
+
2977
+ # @!attribute credit_type_id
2978
+ #
2979
+ # @return [String]
2980
+ required :credit_type_id, String
2981
+
2982
+ # @!attribute reset_frequency
2983
+ #
2984
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ResetFrequency]
2985
+ required :reset_frequency,
2986
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::SpendTracker::ResetFrequency }
2987
+
2988
+ # @!method initialize(alias_:, applicable_spend_specifiers:, credit_type_id:, reset_frequency:)
2989
+ # @param alias_ [String] Human-readable identifier, unique per contract.
2990
+ #
2991
+ # @param applicable_spend_specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier>]
2992
+ #
2993
+ # @param credit_type_id [String]
2994
+ #
2995
+ # @param reset_frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ResetFrequency]
2996
+
2997
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2998
+ # @!attribute sources
2999
+ #
3000
+ # @return [Array<Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::Source>]
3001
+ required :sources,
3002
+ -> { MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::Source] }
3003
+
3004
+ # @!attribute spend_type
3005
+ #
3006
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::SpendType]
3007
+ required :spend_type,
3008
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::SpendType }
3009
+
3010
+ # @!attribute discounted
3011
+ # Filter by whether the spend was discounted. Defaults to ANY if omitted.
3012
+ #
3013
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::Discounted, nil]
3014
+ optional :discounted,
3015
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::Discounted }
3016
+
3017
+ # @!method initialize(sources:, spend_type:, discounted: nil)
3018
+ # @param sources [Array<Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::Source>]
3019
+ #
3020
+ # @param spend_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::SpendType]
3021
+ #
3022
+ # @param discounted [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::Discounted] Filter by whether the spend was discounted. Defaults to ANY if omitted.
3023
+
3024
+ module Source
3025
+ extend MetronomeSDK::Internal::Type::Enum
3026
+
3027
+ THRESHOLD_RECHARGE = :THRESHOLD_RECHARGE
3028
+ MANUAL = :MANUAL
3029
+
3030
+ # @!method self.values
3031
+ # @return [Array<Symbol>]
3032
+ end
3033
+
3034
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier#spend_type
3035
+ module SpendType
3036
+ extend MetronomeSDK::Internal::Type::Enum
3037
+
3038
+ COMMIT_PURCHASE = :COMMIT_PURCHASE
3039
+
3040
+ # @!method self.values
3041
+ # @return [Array<Symbol>]
3042
+ end
3043
+
3044
+ # Filter by whether the spend was discounted. Defaults to ANY if omitted.
3045
+ #
3046
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier#discounted
3047
+ module Discounted
3048
+ extend MetronomeSDK::Internal::Type::Enum
3049
+
3050
+ ANY = :ANY
3051
+ DISCOUNTED_ONLY = :DISCOUNTED_ONLY
3052
+ UNDISCOUNTED_ONLY = :UNDISCOUNTED_ONLY
3053
+
3054
+ # @!method self.values
3055
+ # @return [Array<Symbol>]
3056
+ end
3057
+ end
3058
+
3059
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker#reset_frequency
3060
+ module ResetFrequency
3061
+ extend MetronomeSDK::Internal::Type::Enum
3062
+
3063
+ BILLING_PERIOD = :BILLING_PERIOD
3064
+
3065
+ # @!method self.values
3066
+ # @return [Array<Symbol>]
3067
+ end
3068
+ end
3069
+
2926
3070
  class Subscription < MetronomeSDK::Internal::Type::BaseModel
2927
3071
  # @!attribute collection_schedule
2928
3072
  #