orb-billing 1.47.0 → 1.49.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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/orb/models/credit_block_update_params.rb +34 -0
  5. data/lib/orb/models/credit_block_update_response.rb +332 -0
  6. data/lib/orb/models/metric_archive_params.rb +20 -0
  7. data/lib/orb/models/metric_unarchive_params.rb +20 -0
  8. data/lib/orb/models/subscription_list_summary_params.rb +108 -0
  9. data/lib/orb/models/subscription_list_summary_response.rb +130 -0
  10. data/lib/orb/models/webhooks/subscription_accounting_sync_failed_standard_webhook_event.rb +9 -7
  11. data/lib/orb/models/webhooks/subscription_accounting_sync_succeeded_standard_webhook_event.rb +9 -7
  12. data/lib/orb/models/webhooks/subscription_cancellation_scheduled_standard_webhook_event.rb +9 -7
  13. data/lib/orb/models/webhooks/subscription_cancellation_unscheduled_standard_webhook_event.rb +9 -7
  14. data/lib/orb/models/webhooks/subscription_cost_exceeded_standard_webhook_event.rb +9 -7
  15. data/lib/orb/models/webhooks/subscription_created_standard_webhook_event.rb +9 -7
  16. data/lib/orb/models/webhooks/subscription_edited_standard_webhook_event.rb +9 -7
  17. data/lib/orb/models/webhooks/subscription_ended_standard_webhook_event.rb +9 -7
  18. data/lib/orb/models/webhooks/subscription_fixed_fee_quantity_updated_standard_webhook_event.rb +9 -7
  19. data/lib/orb/models/webhooks/subscription_plan_change_scheduled_standard_webhook_event.rb +9 -7
  20. data/lib/orb/models/webhooks/subscription_plan_changed_standard_webhook_event.rb +9 -7
  21. data/lib/orb/models/webhooks/subscription_plan_version_change_scheduled_standard_webhook_event.rb +9 -7
  22. data/lib/orb/models/webhooks/subscription_plan_version_changed_standard_webhook_event.rb +9 -7
  23. data/lib/orb/models/webhooks/subscription_spend_exceeded_standard_webhook_event.rb +9 -7
  24. data/lib/orb/models/webhooks/subscription_started_standard_webhook_event.rb +9 -7
  25. data/lib/orb/models/webhooks/subscription_trial_ended_standard_webhook_event.rb +9 -7
  26. data/lib/orb/models/webhooks/subscription_usage_exceeded_standard_webhook_event.rb +9 -7
  27. data/lib/orb/models.rb +8 -0
  28. data/lib/orb/resources/alerts.rb +7 -4
  29. data/lib/orb/resources/credit_blocks.rb +35 -0
  30. data/lib/orb/resources/metrics.rb +46 -0
  31. data/lib/orb/resources/subscriptions.rb +60 -0
  32. data/lib/orb/version.rb +1 -1
  33. data/lib/orb.rb +6 -0
  34. data/rbi/orb/models/credit_block_update_params.rbi +53 -0
  35. data/rbi/orb/models/credit_block_update_response.rbi +693 -0
  36. data/rbi/orb/models/metric_archive_params.rbi +33 -0
  37. data/rbi/orb/models/metric_unarchive_params.rbi +35 -0
  38. data/rbi/orb/models/subscription_list_summary_params.rbi +148 -0
  39. data/rbi/orb/models/subscription_list_summary_response.rbi +214 -0
  40. data/rbi/orb/models/webhooks/subscription_accounting_sync_failed_standard_webhook_event.rbi +12 -9
  41. data/rbi/orb/models/webhooks/subscription_accounting_sync_succeeded_standard_webhook_event.rbi +12 -9
  42. data/rbi/orb/models/webhooks/subscription_cancellation_scheduled_standard_webhook_event.rbi +12 -9
  43. data/rbi/orb/models/webhooks/subscription_cancellation_unscheduled_standard_webhook_event.rbi +12 -9
  44. data/rbi/orb/models/webhooks/subscription_cost_exceeded_standard_webhook_event.rbi +12 -9
  45. data/rbi/orb/models/webhooks/subscription_created_standard_webhook_event.rbi +12 -9
  46. data/rbi/orb/models/webhooks/subscription_edited_standard_webhook_event.rbi +12 -9
  47. data/rbi/orb/models/webhooks/subscription_ended_standard_webhook_event.rbi +12 -9
  48. data/rbi/orb/models/webhooks/subscription_fixed_fee_quantity_updated_standard_webhook_event.rbi +12 -9
  49. data/rbi/orb/models/webhooks/subscription_plan_change_scheduled_standard_webhook_event.rbi +12 -9
  50. data/rbi/orb/models/webhooks/subscription_plan_changed_standard_webhook_event.rbi +12 -9
  51. data/rbi/orb/models/webhooks/subscription_plan_version_change_scheduled_standard_webhook_event.rbi +12 -9
  52. data/rbi/orb/models/webhooks/subscription_plan_version_changed_standard_webhook_event.rbi +12 -9
  53. data/rbi/orb/models/webhooks/subscription_spend_exceeded_standard_webhook_event.rbi +12 -9
  54. data/rbi/orb/models/webhooks/subscription_started_standard_webhook_event.rbi +12 -9
  55. data/rbi/orb/models/webhooks/subscription_trial_ended_standard_webhook_event.rbi +12 -9
  56. data/rbi/orb/models/webhooks/subscription_usage_exceeded_standard_webhook_event.rbi +12 -9
  57. data/rbi/orb/models.rbi +8 -0
  58. data/rbi/orb/resources/alerts.rbi +7 -4
  59. data/rbi/orb/resources/credit_blocks.rbi +26 -0
  60. data/rbi/orb/resources/metrics.rbi +28 -0
  61. data/rbi/orb/resources/subscriptions.rbi +47 -0
  62. data/sig/orb/models/credit_block_update_params.rbs +28 -0
  63. data/sig/orb/models/credit_block_update_response.rbs +263 -0
  64. data/sig/orb/models/metric_archive_params.rbs +23 -0
  65. data/sig/orb/models/metric_unarchive_params.rbs +23 -0
  66. data/sig/orb/models/subscription_list_summary_params.rbs +90 -0
  67. data/sig/orb/models/subscription_list_summary_response.rbs +94 -0
  68. data/sig/orb/models.rbs +8 -0
  69. data/sig/orb/resources/credit_blocks.rbs +6 -0
  70. data/sig/orb/resources/metrics.rbs +10 -0
  71. data/sig/orb/resources/subscriptions.rbs +15 -0
  72. metadata +19 -1
@@ -30,9 +30,10 @@ module Orb
30
30
  required :properties, Orb::Internal::Type::Unknown
31
31
 
32
32
  # @!attribute subscription
33
- # The subscription in a standard webhook payload: its own fields, with its plan
34
- # and customer as references. Fetch the subscription for its price intervals,
35
- # billing periods, plan phases and other derived fields.
33
+ # A subscription's own fields, with its plan and customer as references, as listed
34
+ # by List subscription summaries and carried in standard webhook payloads. Fetch
35
+ # the subscription for its price intervals, billing periods, plan phases and other
36
+ # derived fields.
36
37
  #
37
38
  # @return [Orb::Models::Webhooks::SubscriptionTrialEndedStandardWebhookEvent::Subscription]
38
39
  required :subscription, -> { Orb::Webhooks::SubscriptionTrialEndedStandardWebhookEvent::Subscription }
@@ -58,7 +59,7 @@ module Orb
58
59
  #
59
60
  # @param properties [Object]
60
61
  #
61
- # @param subscription [Orb::Models::Webhooks::SubscriptionTrialEndedStandardWebhookEvent::Subscription] The subscription in a standard webhook payload: its own fields, with its plan an
62
+ # @param subscription [Orb::Models::Webhooks::SubscriptionTrialEndedStandardWebhookEvent::Subscription] A subscription's own fields, with its plan and customer as references, as listed
62
63
  #
63
64
  # @param type [Symbol, Orb::Models::Webhooks::SubscriptionTrialEndedStandardWebhookEvent::Type] The event this payload describes.
64
65
 
@@ -138,9 +139,10 @@ module Orb
138
139
  # {Orb::Models::Webhooks::SubscriptionTrialEndedStandardWebhookEvent::Subscription}
139
140
  # for more details.
140
141
  #
141
- # The subscription in a standard webhook payload: its own fields, with its plan
142
- # and customer as references. Fetch the subscription for its price intervals,
143
- # billing periods, plan phases and other derived fields.
142
+ # A subscription's own fields, with its plan and customer as references, as listed
143
+ # by List subscription summaries and carried in standard webhook payloads. Fetch
144
+ # the subscription for its price intervals, billing periods, plan phases and other
145
+ # derived fields.
144
146
  #
145
147
  # @param id [String]
146
148
  #
@@ -30,9 +30,10 @@ module Orb
30
30
  required :properties, -> { Orb::Webhooks::SubscriptionUsageExceededStandardWebhookEvent::Properties }
31
31
 
32
32
  # @!attribute subscription
33
- # The subscription in a standard webhook payload: its own fields, with its plan
34
- # and customer as references. Fetch the subscription for its price intervals,
35
- # billing periods, plan phases and other derived fields.
33
+ # A subscription's own fields, with its plan and customer as references, as listed
34
+ # by List subscription summaries and carried in standard webhook payloads. Fetch
35
+ # the subscription for its price intervals, billing periods, plan phases and other
36
+ # derived fields.
36
37
  #
37
38
  # @return [Orb::Models::Webhooks::SubscriptionUsageExceededStandardWebhookEvent::Subscription]
38
39
  required :subscription, -> { Orb::Webhooks::SubscriptionUsageExceededStandardWebhookEvent::Subscription }
@@ -59,7 +60,7 @@ module Orb
59
60
  #
60
61
  # @param properties [Orb::Models::Webhooks::SubscriptionUsageExceededStandardWebhookEvent::Properties]
61
62
  #
62
- # @param subscription [Orb::Models::Webhooks::SubscriptionUsageExceededStandardWebhookEvent::Subscription] The subscription in a standard webhook payload: its own fields, with its plan an
63
+ # @param subscription [Orb::Models::Webhooks::SubscriptionUsageExceededStandardWebhookEvent::Subscription] A subscription's own fields, with its plan and customer as references, as listed
63
64
  #
64
65
  # @param type [Symbol, Orb::Models::Webhooks::SubscriptionUsageExceededStandardWebhookEvent::Type] The event this payload describes.
65
66
 
@@ -616,9 +617,10 @@ module Orb
616
617
  # {Orb::Models::Webhooks::SubscriptionUsageExceededStandardWebhookEvent::Subscription}
617
618
  # for more details.
618
619
  #
619
- # The subscription in a standard webhook payload: its own fields, with its plan
620
- # and customer as references. Fetch the subscription for its price intervals,
621
- # billing periods, plan phases and other derived fields.
620
+ # A subscription's own fields, with its plan and customer as references, as listed
621
+ # by List subscription summaries and carried in standard webhook payloads. Fetch
622
+ # the subscription for its price intervals, billing periods, plan phases and other
623
+ # derived fields.
622
624
  #
623
625
  # @param id [String]
624
626
  #
data/lib/orb/models.rb CHANGED
@@ -140,6 +140,8 @@ module Orb
140
140
 
141
141
  CreditBlockRetrieveParams = Orb::Models::CreditBlockRetrieveParams
142
142
 
143
+ CreditBlockUpdateParams = Orb::Models::CreditBlockUpdateParams
144
+
143
145
  CreditNote = Orb::Models::CreditNote
144
146
 
145
147
  CreditNoteAccountingSyncFailedWebhookEvent = Orb::Models::CreditNoteAccountingSyncFailedWebhookEvent
@@ -391,6 +393,8 @@ module Orb
391
393
 
392
394
  MaximumInterval = Orb::Models::MaximumInterval
393
395
 
396
+ MetricArchiveParams = Orb::Models::MetricArchiveParams
397
+
394
398
  MetricCreateParams = Orb::Models::MetricCreateParams
395
399
 
396
400
  MetricEventsDroppedByWatermarkWebhookEvent = Orb::Models::MetricEventsDroppedByWatermarkWebhookEvent
@@ -399,6 +403,8 @@ module Orb
399
403
 
400
404
  MetricListParams = Orb::Models::MetricListParams
401
405
 
406
+ MetricUnarchiveParams = Orb::Models::MetricUnarchiveParams
407
+
402
408
  MetricUpdateParams = Orb::Models::MetricUpdateParams
403
409
 
404
410
  Minimum = Orb::Models::Minimum
@@ -745,6 +751,8 @@ module Orb
745
751
 
746
752
  SubscriptionListParams = Orb::Models::SubscriptionListParams
747
753
 
754
+ SubscriptionListSummaryParams = Orb::Models::SubscriptionListSummaryParams
755
+
748
756
  SubscriptionMinified = Orb::Models::SubscriptionMinified
749
757
 
750
758
  SubscriptionPlanChangedWebhookEvent = Orb::Models::SubscriptionPlanChangedWebhookEvent
@@ -233,8 +233,9 @@ module Orb
233
233
  # before invoice-level adjustments and credits) denominated in the alert's
234
234
  # currency exceeds predefined thresholds during the current billing cycle;
235
235
  # `price_filters` can scope which prices contribute. Each plan can have one
236
- # `cost_exceeded` alert and one `usage_exceeded` alert per metric that is a part
237
- # of the plan.
236
+ # `cost_exceeded` alert, one `usage_exceeded` alert per metric that is a part of
237
+ # the plan, and up to 50 `spend_exceeded` alerts, one per combination of currency
238
+ # and `price_filters`, so separate products can each have their own spend alert.
238
239
  #
239
240
  # @overload create_for_plan(plan_id, thresholds:, type:, currency: nil, grouping_keys: nil, metric_id: nil, plan_version: nil, price_filters: nil, request_options: {})
240
241
  #
@@ -285,8 +286,10 @@ module Orb
285
286
  # spend (the pricing subtotal, before invoice-level adjustments and credits)
286
287
  # denominated in the alert's currency exceeds predefined thresholds during the
287
288
  # current billing cycle; `price_filters` can scope which prices contribute. Each
288
- # subscription can have one `cost_exceeded` alert and one `usage_exceeded` alert
289
- # per metric that is a part of the subscription.
289
+ # subscription can have one `cost_exceeded` alert, one `usage_exceeded` alert per
290
+ # metric that is a part of the subscription, and up to 50 `spend_exceeded` alerts,
291
+ # one per combination of currency and `price_filters`, so separate products can
292
+ # each have their own spend alert.
290
293
  #
291
294
  # @overload create_for_subscription(subscription_id, thresholds:, type:, currency: nil, grouping_keys: nil, metric_id: nil, price_filters: nil, threshold_overrides: nil, request_options: {})
292
295
  #
@@ -24,6 +24,41 @@ module Orb
24
24
  )
25
25
  end
26
26
 
27
+ # Some parameter documentations has been truncated, see
28
+ # {Orb::Models::CreditBlockUpdateParams} for more details.
29
+ #
30
+ # This endpoint updates the `metadata` of a credit block. Keys you pass are added
31
+ # to the block's existing metadata or overwrite the value already stored for that
32
+ # key, and setting a key to `null` removes it. Passing `null` for `metadata`
33
+ # clears all of the block's metadata. The block's `increment` entry in the
34
+ # [credits ledger](fetch-customer-credits-ledger) reports the block's metadata, so
35
+ # it shows the update too.
36
+ #
37
+ # Other fields on a credit block cannot be changed through this endpoint. Deleted
38
+ # credit blocks return a 404.
39
+ #
40
+ # @overload update(block_id, metadata: nil, request_options: {})
41
+ #
42
+ # @param block_id [String]
43
+ #
44
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
45
+ #
46
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
47
+ #
48
+ # @return [Orb::Models::CreditBlockUpdateResponse]
49
+ #
50
+ # @see Orb::Models::CreditBlockUpdateParams
51
+ def update(block_id, params = {})
52
+ parsed, options = Orb::CreditBlockUpdateParams.dump_request(params)
53
+ @client.request(
54
+ method: :put,
55
+ path: ["credit_blocks/%1$s", block_id],
56
+ body: parsed,
57
+ model: Orb::Models::CreditBlockUpdateResponse,
58
+ options: options
59
+ )
60
+ end
61
+
27
62
  # This endpoint deletes a credit block by its ID.
28
63
  #
29
64
  # When a credit block is deleted:
@@ -123,6 +123,31 @@ module Orb
123
123
  )
124
124
  end
125
125
 
126
+ # This endpoint archives a [metric](/core-concepts#metric). Archived metrics are
127
+ # left out of `GET /v1/metrics` when filtering with `status=active`, and can't be
128
+ # chosen when creating new plans in the Orb dashboard.
129
+ #
130
+ # Archiving does not change existing prices, plans, or subscriptions that use the
131
+ # metric, and usage on those prices continues to be billed. A metric that is
132
+ # already archived cannot be archived again.
133
+ #
134
+ # @overload archive(metric_id, request_options: {})
135
+ #
136
+ # @param metric_id [String]
137
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
138
+ #
139
+ # @return [Orb::Models::BillableMetric]
140
+ #
141
+ # @see Orb::Models::MetricArchiveParams
142
+ def archive(metric_id, params = {})
143
+ @client.request(
144
+ method: :post,
145
+ path: ["metrics/%1$s/archive", metric_id],
146
+ model: Orb::BillableMetric,
147
+ options: params[:request_options]
148
+ )
149
+ end
150
+
126
151
  # This endpoint is used to fetch [metric](/core-concepts#metric) details given a
127
152
  # metric identifier. It returns information about the metrics including its name,
128
153
  # description, and item.
@@ -144,6 +169,27 @@ module Orb
144
169
  )
145
170
  end
146
171
 
172
+ # This endpoint restores an archived [metric](/core-concepts#metric) to `active`,
173
+ # so it can be chosen for new plans again. Only archived metrics can be
174
+ # unarchived.
175
+ #
176
+ # @overload unarchive(metric_id, request_options: {})
177
+ #
178
+ # @param metric_id [String]
179
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
180
+ #
181
+ # @return [Orb::Models::BillableMetric]
182
+ #
183
+ # @see Orb::Models::MetricUnarchiveParams
184
+ def unarchive(metric_id, params = {})
185
+ @client.request(
186
+ method: :post,
187
+ path: ["metrics/%1$s/unarchive", metric_id],
188
+ model: Orb::BillableMetric,
189
+ options: params[:request_options]
190
+ )
191
+ end
192
+
147
193
  # @api private
148
194
  #
149
195
  # @param client [Orb::Client]
@@ -897,6 +897,66 @@ module Orb
897
897
  )
898
898
  end
899
899
 
900
+ # Some parameter documentations has been truncated, see
901
+ # {Orb::Models::SubscriptionListSummaryParams} for more details.
902
+ #
903
+ # This is a lighter-weight version of
904
+ # [List subscriptions](/api-reference/subscription/list-subscriptions), with the
905
+ # same filters, pagination and order. It returns each subscription's own fields,
906
+ # with its plan and customer as references, and leaves out price intervals,
907
+ # billing periods, plan phases and other derived fields, making it faster to
908
+ # respond. Fetch a subscription for those.
909
+ #
910
+ # This is the same summary of a subscription that standard
911
+ # [webhook payloads](/integrations-and-exports/webhook-payload-styles) carry.
912
+ #
913
+ # @overload list_summary(created_at_gt: nil, created_at_gte: nil, created_at_lt: nil, created_at_lte: nil, cursor: nil, customer_id: nil, external_customer_id: nil, external_plan_id: nil, limit: nil, plan_id: nil, status: nil, request_options: {})
914
+ #
915
+ # @param created_at_gt [Time, nil]
916
+ #
917
+ # @param created_at_gte [Time, nil]
918
+ #
919
+ # @param created_at_lt [Time, nil]
920
+ #
921
+ # @param created_at_lte [Time, nil]
922
+ #
923
+ # @param cursor [String, nil] Cursor for pagination. This can be populated by the `next_cursor` value returned
924
+ #
925
+ # @param customer_id [String, nil]
926
+ #
927
+ # @param external_customer_id [String, nil]
928
+ #
929
+ # @param external_plan_id [String, nil]
930
+ #
931
+ # @param limit [Integer] The number of items to fetch. Defaults to 20.
932
+ #
933
+ # @param plan_id [String, nil]
934
+ #
935
+ # @param status [Symbol, Orb::Models::SubscriptionListSummaryParams::Status, nil]
936
+ #
937
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
938
+ #
939
+ # @return [Orb::Internal::Page<Orb::Models::SubscriptionListSummaryResponse>]
940
+ #
941
+ # @see Orb::Models::SubscriptionListSummaryParams
942
+ def list_summary(params = {})
943
+ parsed, options = Orb::SubscriptionListSummaryParams.dump_request(params)
944
+ query = Orb::Internal::Util.encode_query_params(parsed)
945
+ @client.request(
946
+ method: :get,
947
+ path: "subscriptions/summary",
948
+ query: query.transform_keys(
949
+ created_at_gt: "created_at[gt]",
950
+ created_at_gte: "created_at[gte]",
951
+ created_at_lt: "created_at[lt]",
952
+ created_at_lte: "created_at[lte]"
953
+ ),
954
+ page: Orb::Internal::Page,
955
+ model: Orb::Models::SubscriptionListSummaryResponse,
956
+ options: options
957
+ )
958
+ end
959
+
900
960
  # Some parameter documentations has been truncated, see
901
961
  # {Orb::Models::SubscriptionPriceIntervalsParams} for more details.
902
962
  #
data/lib/orb/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Orb
4
- VERSION = "1.47.0"
4
+ VERSION = "1.49.0"
5
5
  end
data/lib/orb.rb CHANGED
@@ -107,6 +107,8 @@ require_relative "orb/models/credit_block_list_invoices_params"
107
107
  require_relative "orb/models/credit_block_list_invoices_response"
108
108
  require_relative "orb/models/credit_block_retrieve_params"
109
109
  require_relative "orb/models/credit_block_retrieve_response"
110
+ require_relative "orb/models/credit_block_update_params"
111
+ require_relative "orb/models/credit_block_update_response"
110
112
  require_relative "orb/models/credit_note"
111
113
  require_relative "orb/models/credit_note_accounting_sync_failed_webhook_event"
112
114
  require_relative "orb/models/credit_note_accounting_sync_succeeded_webhook_event"
@@ -304,10 +306,12 @@ require_relative "orb/models/matrix_value"
304
306
  require_relative "orb/models/matrix_with_allocation_config"
305
307
  require_relative "orb/models/maximum"
306
308
  require_relative "orb/models/maximum_interval"
309
+ require_relative "orb/models/metric_archive_params"
307
310
  require_relative "orb/models/metric_create_params"
308
311
  require_relative "orb/models/metric_events_dropped_by_watermark_webhook_event"
309
312
  require_relative "orb/models/metric_fetch_params"
310
313
  require_relative "orb/models/metric_list_params"
314
+ require_relative "orb/models/metric_unarchive_params"
311
315
  require_relative "orb/models/metric_update_params"
312
316
  require_relative "orb/models/minimum"
313
317
  require_relative "orb/models/minimum_interval"
@@ -491,6 +495,8 @@ require_relative "orb/models/subscription_invoicing_threshold_exceeded_webhook_e
491
495
  require_relative "orb/models/subscription_license_allocation_reset_webhook_event"
492
496
  require_relative "orb/models/subscription_license_balance_threshold_reached_webhook_event"
493
497
  require_relative "orb/models/subscription_list_params"
498
+ require_relative "orb/models/subscription_list_summary_params"
499
+ require_relative "orb/models/subscription_list_summary_response"
494
500
  require_relative "orb/models/subscription_minified"
495
501
  require_relative "orb/models/subscription_plan_changed_webhook_event"
496
502
  require_relative "orb/models/subscription_plan_change_scheduled_webhook_event"
@@ -0,0 +1,53 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ class CreditBlockUpdateParams < Orb::Internal::Type::BaseModel
6
+ extend Orb::Internal::Type::RequestParameters::Converter
7
+ include Orb::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Orb::CreditBlockUpdateParams, Orb::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :block_id
16
+
17
+ # User-specified key/value pairs for the resource. Individual keys can be removed
18
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
19
+ # by setting `metadata` to `null`.
20
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
21
+ attr_accessor :metadata
22
+
23
+ sig do
24
+ params(
25
+ block_id: String,
26
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
27
+ request_options: Orb::RequestOptions::OrHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(
31
+ block_id:,
32
+ # User-specified key/value pairs for the resource. Individual keys can be removed
33
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
34
+ # by setting `metadata` to `null`.
35
+ metadata: nil,
36
+ request_options: {}
37
+ )
38
+ end
39
+
40
+ sig do
41
+ override.returns(
42
+ {
43
+ block_id: String,
44
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
45
+ request_options: Orb::RequestOptions
46
+ }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+ end
52
+ end
53
+ end