orb-billing 0.6.0 → 0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +1 -1
- data/lib/orb/client.rb +4 -0
- data/lib/orb/models/{plans/version_create_params.rb → beta/external_plan_id_create_plan_version_params.rb} +1880 -1734
- data/lib/orb/models/beta/external_plan_id_fetch_plan_version_params.rb +22 -0
- data/lib/orb/models/{plans/external_plan_id_set_default_version_params.rb → beta/external_plan_id_set_default_plan_version_params.rb} +3 -3
- data/lib/orb/models/beta_create_plan_version_params.rb +17758 -0
- data/lib/orb/models/beta_fetch_plan_version_params.rb +20 -0
- data/lib/orb/models/{plan_set_default_version_params.rb → beta_set_default_plan_version_params.rb} +2 -2
- data/lib/orb/models/plan_version.rb +735 -0
- data/lib/orb/models/plan_version_phase.rb +70 -0
- data/lib/orb/models/price_evaluate_multiple_params.rb +8620 -0
- data/lib/orb/models/price_evaluate_multiple_response.rb +51 -0
- data/lib/orb/models/price_evaluate_params.rb +21 -8529
- data/lib/orb/models/price_evaluate_response.rb +3 -38
- data/lib/orb/models.rb +14 -2
- data/lib/orb/resources/beta/external_plan_id.rb +113 -0
- data/lib/orb/resources/beta.rb +115 -0
- data/lib/orb/resources/plans/external_plan_id.rb +0 -31
- data/lib/orb/resources/plans.rb +0 -31
- data/lib/orb/resources/prices.rb +69 -8
- data/lib/orb/version.rb +1 -1
- data/lib/orb.rb +12 -12
- data/rbi/orb/client.rbi +3 -0
- data/rbi/orb/models/{plans/version_create_params.rbi → beta/external_plan_id_create_plan_version_params.rbi} +2816 -2771
- data/rbi/orb/models/{plans/version_retrieve_params.rbi → beta/external_plan_id_fetch_plan_version_params.rbi} +10 -7
- data/rbi/orb/models/{plans/external_plan_id_set_default_version_params.rbi → beta/external_plan_id_set_default_plan_version_params.rbi} +3 -3
- data/rbi/orb/models/beta_create_plan_version_params.rbi +32595 -0
- data/rbi/orb/models/beta_fetch_plan_version_params.rbi +35 -0
- data/rbi/orb/models/{plan_set_default_version_params.rbi → beta_set_default_plan_version_params.rbi} +2 -2
- data/rbi/orb/models/plan_version.rbi +1367 -0
- data/rbi/orb/models/plan_version_phase.rbi +99 -0
- data/rbi/orb/models/price_evaluate_multiple_params.rbi +15764 -0
- data/rbi/orb/models/price_evaluate_multiple_response.rbi +96 -0
- data/rbi/orb/models/price_evaluate_params.rbi +25 -15684
- data/rbi/orb/models/price_evaluate_response.rbi +5 -68
- data/rbi/orb/models.rbi +14 -2
- data/rbi/orb/resources/{plans/versions.rbi → beta/external_plan_id.rbi} +42 -15
- data/rbi/orb/resources/beta.rbi +111 -0
- data/rbi/orb/resources/plans/external_plan_id.rbi +0 -22
- data/rbi/orb/resources/plans.rbi +0 -22
- data/rbi/orb/resources/prices.rbi +66 -4
- data/sig/orb/client.rbs +2 -0
- data/sig/orb/models/{plans/version_create_params.rbs → beta/external_plan_id_create_plan_version_params.rbs} +1763 -1763
- data/sig/orb/models/{plans/version_retrieve_params.rbs → beta/external_plan_id_fetch_plan_version_params.rbs} +7 -7
- data/sig/orb/models/{plans/external_plan_id_set_default_version_params.rbs → beta/external_plan_id_set_default_plan_version_params.rbs} +3 -3
- data/sig/orb/models/beta_create_plan_version_params.rbs +12877 -0
- data/sig/orb/models/beta_fetch_plan_version_params.rbs +20 -0
- data/sig/orb/models/{plan_set_default_version_params.rbs → beta_set_default_plan_version_params.rbs} +2 -2
- data/sig/orb/models/plan_version.rbs +583 -0
- data/sig/orb/models/plan_version_phase.rbs +60 -0
- data/sig/orb/models/price_evaluate_multiple_params.rbs +6230 -0
- data/sig/orb/models/price_evaluate_multiple_response.rbs +50 -0
- data/sig/orb/models/price_evaluate_params.rbs +10 -6187
- data/sig/orb/models/price_evaluate_response.rbs +4 -41
- data/sig/orb/models.rbs +14 -2
- data/sig/orb/resources/beta/external_plan_id.rbs +34 -0
- data/sig/orb/resources/beta.rbs +34 -0
- data/sig/orb/resources/plans/external_plan_id.rbs +0 -8
- data/sig/orb/resources/plans.rbs +0 -8
- data/sig/orb/resources/prices.rbs +13 -2
- metadata +37 -37
- data/lib/orb/models/plans/external_plan_id/version_create_params.rb +0 -17948
- data/lib/orb/models/plans/external_plan_id/version_create_response.rb +0 -819
- data/lib/orb/models/plans/external_plan_id/version_retrieve_params.rb +0 -24
- data/lib/orb/models/plans/external_plan_id/version_retrieve_response.rb +0 -819
- data/lib/orb/models/plans/version_create_response.rb +0 -814
- data/lib/orb/models/plans/version_retrieve_params.rb +0 -22
- data/lib/orb/models/plans/version_retrieve_response.rb +0 -814
- data/lib/orb/resources/plans/external_plan_id/versions.rb +0 -88
- data/lib/orb/resources/plans/versions.rb +0 -86
- data/rbi/orb/models/plans/external_plan_id/version_create_params.rbi +0 -32668
- data/rbi/orb/models/plans/external_plan_id/version_create_response.rbi +0 -1562
- data/rbi/orb/models/plans/external_plan_id/version_retrieve_params.rbi +0 -42
- data/rbi/orb/models/plans/external_plan_id/version_retrieve_response.rbi +0 -1562
- data/rbi/orb/models/plans/version_create_response.rbi +0 -1556
- data/rbi/orb/models/plans/version_retrieve_response.rbi +0 -1558
- data/rbi/orb/resources/plans/external_plan_id/versions.rbi +0 -103
- data/sig/orb/models/plans/external_plan_id/version_create_params.rbs +0 -12923
- data/sig/orb/models/plans/external_plan_id/version_create_response.rbs +0 -664
- data/sig/orb/models/plans/external_plan_id/version_retrieve_params.rbs +0 -27
- data/sig/orb/models/plans/external_plan_id/version_retrieve_response.rbs +0 -664
- data/sig/orb/models/plans/version_create_response.rbs +0 -662
- data/sig/orb/models/plans/version_retrieve_response.rbs +0 -662
- data/sig/orb/resources/plans/external_plan_id/versions.rbs +0 -30
- data/sig/orb/resources/plans/versions.rbs +0 -28
@@ -6,46 +6,11 @@ module Orb
|
|
6
6
|
class PriceEvaluateResponse < Orb::Internal::Type::BaseModel
|
7
7
|
# @!attribute data
|
8
8
|
#
|
9
|
-
# @return [Array<Orb::Models::
|
10
|
-
required :data, -> { Orb::Internal::Type::ArrayOf[Orb::
|
9
|
+
# @return [Array<Orb::Models::EvaluatePriceGroup>]
|
10
|
+
required :data, -> { Orb::Internal::Type::ArrayOf[Orb::EvaluatePriceGroup] }
|
11
11
|
|
12
12
|
# @!method initialize(data:)
|
13
|
-
# @param data [Array<Orb::Models::
|
14
|
-
|
15
|
-
class Data < Orb::Internal::Type::BaseModel
|
16
|
-
# @!attribute currency
|
17
|
-
# The currency of the price
|
18
|
-
#
|
19
|
-
# @return [String]
|
20
|
-
required :currency, String
|
21
|
-
|
22
|
-
# @!attribute price_groups
|
23
|
-
# The computed price groups associated with input price.
|
24
|
-
#
|
25
|
-
# @return [Array<Orb::Models::EvaluatePriceGroup>]
|
26
|
-
required :price_groups, -> { Orb::Internal::Type::ArrayOf[Orb::EvaluatePriceGroup] }
|
27
|
-
|
28
|
-
# @!attribute inline_price_index
|
29
|
-
# The index of the inline price
|
30
|
-
#
|
31
|
-
# @return [Integer, nil]
|
32
|
-
optional :inline_price_index, Integer, nil?: true
|
33
|
-
|
34
|
-
# @!attribute price_id
|
35
|
-
# The ID of the price
|
36
|
-
#
|
37
|
-
# @return [String, nil]
|
38
|
-
optional :price_id, String, nil?: true
|
39
|
-
|
40
|
-
# @!method initialize(currency:, price_groups:, inline_price_index: nil, price_id: nil)
|
41
|
-
# @param currency [String] The currency of the price
|
42
|
-
#
|
43
|
-
# @param price_groups [Array<Orb::Models::EvaluatePriceGroup>] The computed price groups associated with input price.
|
44
|
-
#
|
45
|
-
# @param inline_price_index [Integer, nil] The index of the inline price
|
46
|
-
#
|
47
|
-
# @param price_id [String, nil] The ID of the price
|
48
|
-
end
|
13
|
+
# @param data [Array<Orb::Models::EvaluatePriceGroup>]
|
49
14
|
end
|
50
15
|
end
|
51
16
|
end
|
data/lib/orb/models.rb
CHANGED
@@ -59,6 +59,14 @@ module Orb
|
|
59
59
|
|
60
60
|
AmountDiscount = Orb::Models::AmountDiscount
|
61
61
|
|
62
|
+
Beta = Orb::Models::Beta
|
63
|
+
|
64
|
+
BetaCreatePlanVersionParams = Orb::Models::BetaCreatePlanVersionParams
|
65
|
+
|
66
|
+
BetaFetchPlanVersionParams = Orb::Models::BetaFetchPlanVersionParams
|
67
|
+
|
68
|
+
BetaSetDefaultPlanVersionParams = Orb::Models::BetaSetDefaultPlanVersionParams
|
69
|
+
|
62
70
|
BillableMetric = Orb::Models::BillableMetric
|
63
71
|
|
64
72
|
BillingCycleRelativeDate = Orb::Models::BillingCycleRelativeDate
|
@@ -190,14 +198,18 @@ module Orb
|
|
190
198
|
|
191
199
|
Plans = Orb::Models::Plans
|
192
200
|
|
193
|
-
PlanSetDefaultVersionParams = Orb::Models::PlanSetDefaultVersionParams
|
194
|
-
|
195
201
|
PlanUpdateParams = Orb::Models::PlanUpdateParams
|
196
202
|
|
203
|
+
PlanVersion = Orb::Models::PlanVersion
|
204
|
+
|
205
|
+
PlanVersionPhase = Orb::Models::PlanVersionPhase
|
206
|
+
|
197
207
|
Price = Orb::Models::Price
|
198
208
|
|
199
209
|
PriceCreateParams = Orb::Models::PriceCreateParams
|
200
210
|
|
211
|
+
PriceEvaluateMultipleParams = Orb::Models::PriceEvaluateMultipleParams
|
212
|
+
|
201
213
|
PriceEvaluateParams = Orb::Models::PriceEvaluateParams
|
202
214
|
|
203
215
|
PriceFetchParams = Orb::Models::PriceFetchParams
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Orb
|
4
|
+
module Resources
|
5
|
+
class Beta
|
6
|
+
class ExternalPlanID
|
7
|
+
# This API endpoint is in beta and its interface may change. It is recommended for
|
8
|
+
# use only in test mode.
|
9
|
+
#
|
10
|
+
# This endpoint allows the creation of a new plan version for an existing plan.
|
11
|
+
#
|
12
|
+
# @overload create_plan_version(external_plan_id, version:, add_adjustments: nil, add_prices: nil, remove_adjustments: nil, remove_prices: nil, replace_adjustments: nil, replace_prices: nil, set_as_default: nil, request_options: {})
|
13
|
+
#
|
14
|
+
# @param external_plan_id [String]
|
15
|
+
#
|
16
|
+
# @param version [Integer] New version number.
|
17
|
+
#
|
18
|
+
# @param add_adjustments [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddAdjustment>, nil] Additional adjustments to be added to the plan.
|
19
|
+
#
|
20
|
+
# @param add_prices [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice>, nil] Additional prices to be added to the plan.
|
21
|
+
#
|
22
|
+
# @param remove_adjustments [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::RemoveAdjustment>, nil] Adjustments to be removed from the plan.
|
23
|
+
#
|
24
|
+
# @param remove_prices [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::RemovePrice>, nil] Prices to be removed from the plan.
|
25
|
+
#
|
26
|
+
# @param replace_adjustments [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplaceAdjustment>, nil] Adjustments to be replaced with additional adjustments on the plan.
|
27
|
+
#
|
28
|
+
# @param replace_prices [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice>, nil] Prices to be replaced with additional prices on the plan.
|
29
|
+
#
|
30
|
+
# @param set_as_default [Boolean, nil] Set this new plan version as the default
|
31
|
+
#
|
32
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
33
|
+
#
|
34
|
+
# @return [Orb::Models::PlanVersion]
|
35
|
+
#
|
36
|
+
# @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams
|
37
|
+
def create_plan_version(external_plan_id, params)
|
38
|
+
parsed, options = Orb::Beta::ExternalPlanIDCreatePlanVersionParams.dump_request(params)
|
39
|
+
@client.request(
|
40
|
+
method: :post,
|
41
|
+
path: ["plans/external_plan_id/%1$s/versions", external_plan_id],
|
42
|
+
body: parsed,
|
43
|
+
model: Orb::PlanVersion,
|
44
|
+
options: options
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
# This API endpoint is in beta and its interface may change. It is recommended for
|
49
|
+
# use only in test mode.
|
50
|
+
#
|
51
|
+
# This endpoint is used to fetch a plan version. It returns the phases, prices,
|
52
|
+
# and adjustments present on this version of the plan.
|
53
|
+
#
|
54
|
+
# @overload fetch_plan_version(version, external_plan_id:, request_options: {})
|
55
|
+
#
|
56
|
+
# @param version [String]
|
57
|
+
# @param external_plan_id [String]
|
58
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
59
|
+
#
|
60
|
+
# @return [Orb::Models::PlanVersion]
|
61
|
+
#
|
62
|
+
# @see Orb::Models::Beta::ExternalPlanIDFetchPlanVersionParams
|
63
|
+
def fetch_plan_version(version, params)
|
64
|
+
parsed, options = Orb::Beta::ExternalPlanIDFetchPlanVersionParams.dump_request(params)
|
65
|
+
external_plan_id =
|
66
|
+
parsed.delete(:external_plan_id) do
|
67
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
68
|
+
end
|
69
|
+
@client.request(
|
70
|
+
method: :get,
|
71
|
+
path: ["plans/external_plan_id/%1$s/versions/%2$s", external_plan_id, version],
|
72
|
+
model: Orb::PlanVersion,
|
73
|
+
options: options
|
74
|
+
)
|
75
|
+
end
|
76
|
+
|
77
|
+
# This API endpoint is in beta and its interface may change. It is recommended for
|
78
|
+
# use only in test mode.
|
79
|
+
#
|
80
|
+
# This endpoint allows setting the default version of a plan.
|
81
|
+
#
|
82
|
+
# @overload set_default_plan_version(external_plan_id, version:, request_options: {})
|
83
|
+
#
|
84
|
+
# @param external_plan_id [String]
|
85
|
+
#
|
86
|
+
# @param version [Integer] Plan version to set as the default.
|
87
|
+
#
|
88
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
89
|
+
#
|
90
|
+
# @return [Orb::Models::Plan]
|
91
|
+
#
|
92
|
+
# @see Orb::Models::Beta::ExternalPlanIDSetDefaultPlanVersionParams
|
93
|
+
def set_default_plan_version(external_plan_id, params)
|
94
|
+
parsed, options = Orb::Beta::ExternalPlanIDSetDefaultPlanVersionParams.dump_request(params)
|
95
|
+
@client.request(
|
96
|
+
method: :post,
|
97
|
+
path: ["plans/external_plan_id/%1$s/set_default_version", external_plan_id],
|
98
|
+
body: parsed,
|
99
|
+
model: Orb::Plan,
|
100
|
+
options: options
|
101
|
+
)
|
102
|
+
end
|
103
|
+
|
104
|
+
# @api private
|
105
|
+
#
|
106
|
+
# @param client [Orb::Client]
|
107
|
+
def initialize(client:)
|
108
|
+
@client = client
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,115 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Orb
|
4
|
+
module Resources
|
5
|
+
class Beta
|
6
|
+
# @return [Orb::Resources::Beta::ExternalPlanID]
|
7
|
+
attr_reader :external_plan_id
|
8
|
+
|
9
|
+
# This API endpoint is in beta and its interface may change. It is recommended for
|
10
|
+
# use only in test mode.
|
11
|
+
#
|
12
|
+
# This endpoint allows the creation of a new plan version for an existing plan.
|
13
|
+
#
|
14
|
+
# @overload create_plan_version(plan_id, version:, add_adjustments: nil, add_prices: nil, remove_adjustments: nil, remove_prices: nil, replace_adjustments: nil, replace_prices: nil, set_as_default: nil, request_options: {})
|
15
|
+
#
|
16
|
+
# @param plan_id [String]
|
17
|
+
#
|
18
|
+
# @param version [Integer] New version number.
|
19
|
+
#
|
20
|
+
# @param add_adjustments [Array<Orb::Models::BetaCreatePlanVersionParams::AddAdjustment>, nil] Additional adjustments to be added to the plan.
|
21
|
+
#
|
22
|
+
# @param add_prices [Array<Orb::Models::BetaCreatePlanVersionParams::AddPrice>, nil] Additional prices to be added to the plan.
|
23
|
+
#
|
24
|
+
# @param remove_adjustments [Array<Orb::Models::BetaCreatePlanVersionParams::RemoveAdjustment>, nil] Adjustments to be removed from the plan.
|
25
|
+
#
|
26
|
+
# @param remove_prices [Array<Orb::Models::BetaCreatePlanVersionParams::RemovePrice>, nil] Prices to be removed from the plan.
|
27
|
+
#
|
28
|
+
# @param replace_adjustments [Array<Orb::Models::BetaCreatePlanVersionParams::ReplaceAdjustment>, nil] Adjustments to be replaced with additional adjustments on the plan.
|
29
|
+
#
|
30
|
+
# @param replace_prices [Array<Orb::Models::BetaCreatePlanVersionParams::ReplacePrice>, nil] Prices to be replaced with additional prices on the plan.
|
31
|
+
#
|
32
|
+
# @param set_as_default [Boolean, nil] Set this new plan version as the default
|
33
|
+
#
|
34
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
35
|
+
#
|
36
|
+
# @return [Orb::Models::PlanVersion]
|
37
|
+
#
|
38
|
+
# @see Orb::Models::BetaCreatePlanVersionParams
|
39
|
+
def create_plan_version(plan_id, params)
|
40
|
+
parsed, options = Orb::BetaCreatePlanVersionParams.dump_request(params)
|
41
|
+
@client.request(
|
42
|
+
method: :post,
|
43
|
+
path: ["plans/%1$s/versions", plan_id],
|
44
|
+
body: parsed,
|
45
|
+
model: Orb::PlanVersion,
|
46
|
+
options: options
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
# This API endpoint is in beta and its interface may change. It is recommended for
|
51
|
+
# use only in test mode.
|
52
|
+
#
|
53
|
+
# This endpoint is used to fetch a plan version. It returns the phases, prices,
|
54
|
+
# and adjustments present on this version of the plan.
|
55
|
+
#
|
56
|
+
# @overload fetch_plan_version(version, plan_id:, request_options: {})
|
57
|
+
#
|
58
|
+
# @param version [String]
|
59
|
+
# @param plan_id [String]
|
60
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
61
|
+
#
|
62
|
+
# @return [Orb::Models::PlanVersion]
|
63
|
+
#
|
64
|
+
# @see Orb::Models::BetaFetchPlanVersionParams
|
65
|
+
def fetch_plan_version(version, params)
|
66
|
+
parsed, options = Orb::BetaFetchPlanVersionParams.dump_request(params)
|
67
|
+
plan_id =
|
68
|
+
parsed.delete(:plan_id) do
|
69
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
70
|
+
end
|
71
|
+
@client.request(
|
72
|
+
method: :get,
|
73
|
+
path: ["plans/%1$s/versions/%2$s", plan_id, version],
|
74
|
+
model: Orb::PlanVersion,
|
75
|
+
options: options
|
76
|
+
)
|
77
|
+
end
|
78
|
+
|
79
|
+
# This API endpoint is in beta and its interface may change. It is recommended for
|
80
|
+
# use only in test mode.
|
81
|
+
#
|
82
|
+
# This endpoint allows setting the default version of a plan.
|
83
|
+
#
|
84
|
+
# @overload set_default_plan_version(plan_id, version:, request_options: {})
|
85
|
+
#
|
86
|
+
# @param plan_id [String]
|
87
|
+
#
|
88
|
+
# @param version [Integer] Plan version to set as the default.
|
89
|
+
#
|
90
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
91
|
+
#
|
92
|
+
# @return [Orb::Models::Plan]
|
93
|
+
#
|
94
|
+
# @see Orb::Models::BetaSetDefaultPlanVersionParams
|
95
|
+
def set_default_plan_version(plan_id, params)
|
96
|
+
parsed, options = Orb::BetaSetDefaultPlanVersionParams.dump_request(params)
|
97
|
+
@client.request(
|
98
|
+
method: :post,
|
99
|
+
path: ["plans/%1$s/set_default_version", plan_id],
|
100
|
+
body: parsed,
|
101
|
+
model: Orb::Plan,
|
102
|
+
options: options
|
103
|
+
)
|
104
|
+
end
|
105
|
+
|
106
|
+
# @api private
|
107
|
+
#
|
108
|
+
# @param client [Orb::Client]
|
109
|
+
def initialize(client:)
|
110
|
+
@client = client
|
111
|
+
@external_plan_id = Orb::Resources::Beta::ExternalPlanID.new(client: client)
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
@@ -4,9 +4,6 @@ module Orb
|
|
4
4
|
module Resources
|
5
5
|
class Plans
|
6
6
|
class ExternalPlanID
|
7
|
-
# @return [Orb::Resources::Plans::ExternalPlanID::Versions]
|
8
|
-
attr_reader :versions
|
9
|
-
|
10
7
|
# Some parameter documentations has been truncated, see
|
11
8
|
# {Orb::Models::Plans::ExternalPlanIDUpdateParams} for more details.
|
12
9
|
#
|
@@ -73,39 +70,11 @@ module Orb
|
|
73
70
|
)
|
74
71
|
end
|
75
72
|
|
76
|
-
# This API endpoint is in beta and its interface may change. It is recommended for
|
77
|
-
# use only in test mode.
|
78
|
-
#
|
79
|
-
# This endpoint allows setting the default version of a plan.
|
80
|
-
#
|
81
|
-
# @overload set_default_version(external_plan_id, version:, request_options: {})
|
82
|
-
#
|
83
|
-
# @param external_plan_id [String]
|
84
|
-
#
|
85
|
-
# @param version [Integer] Plan version to set as the default.
|
86
|
-
#
|
87
|
-
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
88
|
-
#
|
89
|
-
# @return [Orb::Models::Plan]
|
90
|
-
#
|
91
|
-
# @see Orb::Models::Plans::ExternalPlanIDSetDefaultVersionParams
|
92
|
-
def set_default_version(external_plan_id, params)
|
93
|
-
parsed, options = Orb::Plans::ExternalPlanIDSetDefaultVersionParams.dump_request(params)
|
94
|
-
@client.request(
|
95
|
-
method: :post,
|
96
|
-
path: ["plans/external_plan_id/%1$s/set_default_version", external_plan_id],
|
97
|
-
body: parsed,
|
98
|
-
model: Orb::Plan,
|
99
|
-
options: options
|
100
|
-
)
|
101
|
-
end
|
102
|
-
|
103
73
|
# @api private
|
104
74
|
#
|
105
75
|
# @param client [Orb::Client]
|
106
76
|
def initialize(client:)
|
107
77
|
@client = client
|
108
|
-
@versions = Orb::Resources::Plans::ExternalPlanID::Versions.new(client: client)
|
109
78
|
end
|
110
79
|
end
|
111
80
|
end
|
data/lib/orb/resources/plans.rb
CHANGED
@@ -6,9 +6,6 @@ module Orb
|
|
6
6
|
# @return [Orb::Resources::Plans::ExternalPlanID]
|
7
7
|
attr_reader :external_plan_id
|
8
8
|
|
9
|
-
# @return [Orb::Resources::Plans::Versions]
|
10
|
-
attr_reader :versions
|
11
|
-
|
12
9
|
# Some parameter documentations has been truncated, see
|
13
10
|
# {Orb::Models::PlanCreateParams} for more details.
|
14
11
|
#
|
@@ -156,40 +153,12 @@ module Orb
|
|
156
153
|
)
|
157
154
|
end
|
158
155
|
|
159
|
-
# This API endpoint is in beta and its interface may change. It is recommended for
|
160
|
-
# use only in test mode.
|
161
|
-
#
|
162
|
-
# This endpoint allows setting the default version of a plan.
|
163
|
-
#
|
164
|
-
# @overload set_default_version(plan_id, version:, request_options: {})
|
165
|
-
#
|
166
|
-
# @param plan_id [String]
|
167
|
-
#
|
168
|
-
# @param version [Integer] Plan version to set as the default.
|
169
|
-
#
|
170
|
-
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
171
|
-
#
|
172
|
-
# @return [Orb::Models::Plan]
|
173
|
-
#
|
174
|
-
# @see Orb::Models::PlanSetDefaultVersionParams
|
175
|
-
def set_default_version(plan_id, params)
|
176
|
-
parsed, options = Orb::PlanSetDefaultVersionParams.dump_request(params)
|
177
|
-
@client.request(
|
178
|
-
method: :post,
|
179
|
-
path: ["plans/%1$s/set_default_version", plan_id],
|
180
|
-
body: parsed,
|
181
|
-
model: Orb::Plan,
|
182
|
-
options: options
|
183
|
-
)
|
184
|
-
end
|
185
|
-
|
186
156
|
# @api private
|
187
157
|
#
|
188
158
|
# @param client [Orb::Client]
|
189
159
|
def initialize(client:)
|
190
160
|
@client = client
|
191
161
|
@external_plan_id = Orb::Resources::Plans::ExternalPlanID.new(client: client)
|
192
|
-
@versions = Orb::Resources::Plans::Versions.new(client: client)
|
193
162
|
end
|
194
163
|
end
|
195
164
|
end
|
data/lib/orb/resources/prices.rb
CHANGED
@@ -176,6 +176,67 @@ module Orb
|
|
176
176
|
)
|
177
177
|
end
|
178
178
|
|
179
|
+
# Some parameter documentations has been truncated, see
|
180
|
+
# {Orb::Models::PriceEvaluateParams} for more details.
|
181
|
+
#
|
182
|
+
# [NOTE] It is recommended to use the `/v1/prices/evaluate` which offers further
|
183
|
+
# functionality, such as multiple prices, inline price definitions, and querying
|
184
|
+
# over preview events.
|
185
|
+
#
|
186
|
+
# This endpoint is used to evaluate the output of a price for a given customer and
|
187
|
+
# time range. It enables filtering and grouping the output using
|
188
|
+
# [computed properties](/extensibility/advanced-metrics#computed-properties),
|
189
|
+
# supporting the following workflows:
|
190
|
+
#
|
191
|
+
# 1. Showing detailed usage and costs to the end customer.
|
192
|
+
# 2. Auditing subtotals on invoice line items.
|
193
|
+
#
|
194
|
+
# For these workflows, the expressiveness of computed properties in both the
|
195
|
+
# filters and grouping is critical. For example, if you'd like to show your
|
196
|
+
# customer their usage grouped by hour and another property, you can do so with
|
197
|
+
# the following `grouping_keys`:
|
198
|
+
# `["hour_floor_timestamp_millis(timestamp_millis)", "my_property"]`. If you'd
|
199
|
+
# like to examine a customer's usage for a specific property value, you can do so
|
200
|
+
# with the following `filter`:
|
201
|
+
# `my_property = 'foo' AND my_other_property = 'bar'`.
|
202
|
+
#
|
203
|
+
# By default, the start of the time range must be no more than 100 days ago and
|
204
|
+
# the length of the results must be no greater than 1000. Note that this is a POST
|
205
|
+
# endpoint rather than a GET endpoint because it employs a JSON body rather than
|
206
|
+
# query parameters.
|
207
|
+
#
|
208
|
+
# @overload evaluate(price_id, timeframe_end:, timeframe_start:, customer_id: nil, external_customer_id: nil, filter: nil, grouping_keys: nil, request_options: {})
|
209
|
+
#
|
210
|
+
# @param price_id [String]
|
211
|
+
#
|
212
|
+
# @param timeframe_end [Time] The exclusive upper bound for event timestamps
|
213
|
+
#
|
214
|
+
# @param timeframe_start [Time] The inclusive lower bound for event timestamps
|
215
|
+
#
|
216
|
+
# @param customer_id [String, nil] The ID of the customer to which this evaluation is scoped.
|
217
|
+
#
|
218
|
+
# @param external_customer_id [String, nil] The external customer ID of the customer to which this evaluation is scoped.
|
219
|
+
#
|
220
|
+
# @param filter [String, nil] A boolean [computed property](/extensibility/advanced-metrics#computed-propertie
|
221
|
+
#
|
222
|
+
# @param grouping_keys [Array<String>] Properties (or [computed properties](/extensibility/advanced-metrics#computed-pr
|
223
|
+
#
|
224
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
225
|
+
#
|
226
|
+
# @return [Orb::Models::PriceEvaluateResponse]
|
227
|
+
#
|
228
|
+
# @see Orb::Models::PriceEvaluateParams
|
229
|
+
def evaluate(price_id, params)
|
230
|
+
parsed, options = Orb::PriceEvaluateParams.dump_request(params)
|
231
|
+
@client.request(
|
232
|
+
method: :post,
|
233
|
+
path: ["prices/%1$s/evaluate", price_id],
|
234
|
+
body: parsed,
|
235
|
+
model: Orb::Models::PriceEvaluateResponse,
|
236
|
+
options: options
|
237
|
+
)
|
238
|
+
end
|
239
|
+
|
179
240
|
# This endpoint is used to evaluate the output of price(s) for a given customer
|
180
241
|
# and time range over either ingested events or preview events. It enables
|
181
242
|
# filtering and grouping the output using
|
@@ -207,7 +268,7 @@ module Orb
|
|
207
268
|
# endpoint rather than a GET endpoint because it employs a JSON body rather than
|
208
269
|
# query parameters.
|
209
270
|
#
|
210
|
-
# @overload
|
271
|
+
# @overload evaluate_multiple(timeframe_end:, timeframe_start:, customer_id: nil, events: nil, external_customer_id: nil, price_evaluations: nil, request_options: {})
|
211
272
|
#
|
212
273
|
# @param timeframe_end [Time] The exclusive upper bound for event timestamps
|
213
274
|
#
|
@@ -215,24 +276,24 @@ module Orb
|
|
215
276
|
#
|
216
277
|
# @param customer_id [String, nil] The ID of the customer to which this evaluation is scoped.
|
217
278
|
#
|
218
|
-
# @param events [Array<Orb::Models::
|
279
|
+
# @param events [Array<Orb::Models::PriceEvaluateMultipleParams::Event>, nil] Optional list of preview events to use instead of actual usage data (max 500)
|
219
280
|
#
|
220
281
|
# @param external_customer_id [String, nil] The external customer ID of the customer to which this evaluation is scoped.
|
221
282
|
#
|
222
|
-
# @param price_evaluations [Array<Orb::Models::
|
283
|
+
# @param price_evaluations [Array<Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation>] List of prices to evaluate (max 100)
|
223
284
|
#
|
224
285
|
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
225
286
|
#
|
226
|
-
# @return [Orb::Models::
|
287
|
+
# @return [Orb::Models::PriceEvaluateMultipleResponse]
|
227
288
|
#
|
228
|
-
# @see Orb::Models::
|
229
|
-
def
|
230
|
-
parsed, options = Orb::
|
289
|
+
# @see Orb::Models::PriceEvaluateMultipleParams
|
290
|
+
def evaluate_multiple(params)
|
291
|
+
parsed, options = Orb::PriceEvaluateMultipleParams.dump_request(params)
|
231
292
|
@client.request(
|
232
293
|
method: :post,
|
233
294
|
path: "prices/evaluate",
|
234
295
|
body: parsed,
|
235
|
-
model: Orb::Models::
|
296
|
+
model: Orb::Models::PriceEvaluateMultipleResponse,
|
236
297
|
options: options
|
237
298
|
)
|
238
299
|
end
|
data/lib/orb/version.rb
CHANGED
data/lib/orb.rb
CHANGED
@@ -61,6 +61,12 @@ require_relative "orb/models/alert_list_params"
|
|
61
61
|
require_relative "orb/models/alert_retrieve_params"
|
62
62
|
require_relative "orb/models/alert_update_params"
|
63
63
|
require_relative "orb/models/amount_discount"
|
64
|
+
require_relative "orb/models/beta/external_plan_id_create_plan_version_params"
|
65
|
+
require_relative "orb/models/beta/external_plan_id_fetch_plan_version_params"
|
66
|
+
require_relative "orb/models/beta/external_plan_id_set_default_plan_version_params"
|
67
|
+
require_relative "orb/models/beta_create_plan_version_params"
|
68
|
+
require_relative "orb/models/beta_fetch_plan_version_params"
|
69
|
+
require_relative "orb/models/beta_set_default_plan_version_params"
|
64
70
|
require_relative "orb/models/billable_metric"
|
65
71
|
require_relative "orb/models/billing_cycle_relative_date"
|
66
72
|
require_relative "orb/models/coupon"
|
@@ -171,21 +177,15 @@ require_relative "orb/models/plan"
|
|
171
177
|
require_relative "orb/models/plan_create_params"
|
172
178
|
require_relative "orb/models/plan_fetch_params"
|
173
179
|
require_relative "orb/models/plan_list_params"
|
174
|
-
require_relative "orb/models/plans/external_plan_id/version_create_params"
|
175
|
-
require_relative "orb/models/plans/external_plan_id/version_create_response"
|
176
|
-
require_relative "orb/models/plans/external_plan_id/version_retrieve_params"
|
177
|
-
require_relative "orb/models/plans/external_plan_id/version_retrieve_response"
|
178
180
|
require_relative "orb/models/plans/external_plan_id_fetch_params"
|
179
|
-
require_relative "orb/models/plans/external_plan_id_set_default_version_params"
|
180
181
|
require_relative "orb/models/plans/external_plan_id_update_params"
|
181
|
-
require_relative "orb/models/plans/version_create_params"
|
182
|
-
require_relative "orb/models/plans/version_create_response"
|
183
|
-
require_relative "orb/models/plans/version_retrieve_params"
|
184
|
-
require_relative "orb/models/plans/version_retrieve_response"
|
185
|
-
require_relative "orb/models/plan_set_default_version_params"
|
186
182
|
require_relative "orb/models/plan_update_params"
|
183
|
+
require_relative "orb/models/plan_version"
|
184
|
+
require_relative "orb/models/plan_version_phase"
|
187
185
|
require_relative "orb/models/price"
|
188
186
|
require_relative "orb/models/price_create_params"
|
187
|
+
require_relative "orb/models/price_evaluate_multiple_params"
|
188
|
+
require_relative "orb/models/price_evaluate_multiple_response"
|
189
189
|
require_relative "orb/models/price_evaluate_params"
|
190
190
|
require_relative "orb/models/price_evaluate_response"
|
191
191
|
require_relative "orb/models/price_fetch_params"
|
@@ -236,6 +236,8 @@ require_relative "orb/models/trial_discount"
|
|
236
236
|
require_relative "orb/models/usage_discount"
|
237
237
|
require_relative "orb/models"
|
238
238
|
require_relative "orb/resources/alerts"
|
239
|
+
require_relative "orb/resources/beta"
|
240
|
+
require_relative "orb/resources/beta/external_plan_id"
|
239
241
|
require_relative "orb/resources/coupons"
|
240
242
|
require_relative "orb/resources/coupons/subscriptions"
|
241
243
|
require_relative "orb/resources/credit_notes"
|
@@ -256,8 +258,6 @@ require_relative "orb/resources/items"
|
|
256
258
|
require_relative "orb/resources/metrics"
|
257
259
|
require_relative "orb/resources/plans"
|
258
260
|
require_relative "orb/resources/plans/external_plan_id"
|
259
|
-
require_relative "orb/resources/plans/external_plan_id/versions"
|
260
|
-
require_relative "orb/resources/plans/versions"
|
261
261
|
require_relative "orb/resources/prices"
|
262
262
|
require_relative "orb/resources/prices/external_price_id"
|
263
263
|
require_relative "orb/resources/subscription_changes"
|