lark-billing 0.0.6__py3-none-any.whl → 0.0.8__py3-none-any.whl

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.

Potentially problematic release.


This version of lark-billing might be problematic. Click here for more details.

Files changed (154) hide show
  1. lark/__init__.py +92 -369
  2. lark/checkout/client.py +20 -79
  3. lark/checkout/raw_client.py +18 -102
  4. lark/client.py +112 -27
  5. lark/core/client_wrapper.py +2 -2
  6. lark/core/http_sse/__init__.py +42 -0
  7. lark/core/http_sse/_api.py +112 -0
  8. lark/core/http_sse/_decoders.py +61 -0
  9. lark/{types/credit_grant.py → core/http_sse/_exceptions.py} +4 -2
  10. lark/core/http_sse/_models.py +17 -0
  11. lark/core/pydantic_utilities.py +3 -1
  12. lark/{feature_access → customer_access}/client.py +30 -24
  13. lark/{feature_access → customer_access}/raw_client.py +22 -17
  14. lark/{types/rate_card.py → customer_portal/__init__.py} +1 -2
  15. lark/customer_portal/client.py +115 -0
  16. lark/customer_portal/raw_client.py +134 -0
  17. lark/environment.py +7 -0
  18. lark/{types/dimension.py → invoices/__init__.py} +1 -2
  19. lark/invoices/client.py +136 -0
  20. lark/invoices/raw_client.py +147 -0
  21. lark/pricing_metrics/__init__.py +38 -0
  22. lark/pricing_metrics/client.py +288 -0
  23. lark/pricing_metrics/raw_client.py +369 -0
  24. lark/pricing_metrics/types/__init__.py +42 -0
  25. lark/{types/credit_grant_resource_input_schedule.py → pricing_metrics/types/pricing_metric_aggregation.py} +7 -8
  26. lark/rate_cards/__init__.py +0 -15
  27. lark/rate_cards/client.py +30 -542
  28. lark/rate_cards/raw_client.py +34 -370
  29. lark/rate_cards/types/__init__.py +0 -17
  30. lark/rate_cards/types/create_rate_card_request_usage_based_rates_item.py +3 -29
  31. lark/subjects/client.py +18 -54
  32. lark/subjects/raw_client.py +14 -24
  33. lark/subscriptions/client.py +104 -80
  34. lark/subscriptions/raw_client.py +186 -53
  35. lark/types/__init__.py +63 -379
  36. lark/types/aggregation.py +1 -43
  37. lark/types/amount.py +5 -1
  38. lark/types/{credit_grant_date_time_expiration_interface.py → billing_state_response.py} +3 -2
  39. lark/types/{credit_grant_schedule_one_time_resource.py → count_aggregation_pricing_metric_resource.py} +1 -1
  40. lark/types/{create_dimension_interface.py → create_customer_portal_session_response.py} +3 -3
  41. lark/types/{create_dimension_coordinate_interface.py → create_fixed_rate_request.py} +5 -3
  42. lark/types/{pricing_metric_interface.py → create_pricing_metric_response.py} +2 -5
  43. lark/types/{create_simple_usage_based_rate_interface.py → create_simple_usage_based_rate_request.py} +6 -9
  44. lark/types/create_subject_response.py +30 -6
  45. lark/types/create_subscription_checkout_session_response.py +1 -2
  46. lark/types/create_usage_event_summary_response.py +1 -1
  47. lark/types/fixed_rate_interface.py +0 -6
  48. lark/types/{create_pricing_metric_interface.py → get_pricing_metric_response.py} +3 -5
  49. lark/types/{complete_subscription_checkout_response.py → invoice_line_item_resource.py} +4 -2
  50. lark/types/invoice_resource.py +31 -0
  51. lark/types/invoice_status.py +5 -0
  52. lark/types/{check_feature_access_response.py → list_invoices_response.py} +4 -4
  53. lark/types/{check_feature_access_request.py → list_pricing_metrics_response.py} +4 -7
  54. lark/types/package_price.py +2 -2
  55. lark/types/package_price_input_rounding_behavior.py +5 -0
  56. lark/types/package_price_output_rounding_behavior.py +5 -0
  57. lark/types/period_resource.py +23 -0
  58. lark/types/price.py +39 -1
  59. lark/types/pricing_metric_resource.py +24 -0
  60. lark/types/rate_card_resource.py +0 -6
  61. lark/types/rate_card_resource_usage_based_rates_item.py +2 -29
  62. lark/types/simple_usage_based_rate_interface.py +1 -7
  63. lark/types/subject_resource.py +30 -6
  64. lark/types/subscription_resource.py +6 -4
  65. lark/types/subscription_status.py +5 -0
  66. lark/types/{credit_grant_date_time_expiration_resource.py → sum_aggregation_pricing_metric_resource.py} +2 -2
  67. lark/types/{subject.py → value.py} +1 -1
  68. lark/usage_events/client.py +8 -21
  69. lark/usage_events/raw_client.py +6 -6
  70. {lark_billing-0.0.6.dist-info → lark_billing-0.0.8.dist-info}/METADATA +4 -3
  71. lark_billing-0.0.8.dist-info/RECORD +107 -0
  72. lark/rate_cards/types/create_rate_card_version_request_usage_based_rates_item.py +0 -58
  73. lark/rate_cards/types/create_rate_card_version_request_version_type.py +0 -5
  74. lark/types/create_credit_grant_interface.py +0 -27
  75. lark/types/create_credit_grant_interface_expiration.py +0 -27
  76. lark/types/create_credit_pool_request.py +0 -5
  77. lark/types/create_dimensional_usage_based_rate_interface.py +0 -32
  78. lark/types/create_fixed_rate_interface.py +0 -28
  79. lark/types/create_pricing_matrix_cell_interface.py +0 -22
  80. lark/types/create_pricing_matrix_interface.py +0 -20
  81. lark/types/create_pricing_plan_request.py +0 -5
  82. lark/types/create_rate_card_response.py +0 -36
  83. lark/types/create_rate_card_response_billing_interval.py +0 -5
  84. lark/types/create_rate_card_response_usage_based_rates_item.py +0 -58
  85. lark/types/create_rate_card_version_response.py +0 -36
  86. lark/types/create_rate_card_version_response_billing_interval.py +0 -5
  87. lark/types/create_rate_card_version_response_usage_based_rates_item.py +0 -59
  88. lark/types/credit_grant_duration_expiration_interface.py +0 -21
  89. lark/types/credit_grant_duration_expiration_resource.py +0 -21
  90. lark/types/credit_grant_interface.py +0 -28
  91. lark/types/credit_grant_interface_input_expiration.py +0 -27
  92. lark/types/credit_grant_interface_output_expiration.py +0 -43
  93. lark/types/credit_grant_interface_output_schedule.py +0 -41
  94. lark/types/credit_grant_resource.py +0 -28
  95. lark/types/credit_grant_resource_input_expiration.py +0 -27
  96. lark/types/credit_grant_resource_output_expiration.py +0 -43
  97. lark/types/credit_grant_resource_output_schedule.py +0 -39
  98. lark/types/credit_grant_schedule.py +0 -5
  99. lark/types/credit_grant_schedule_one_time_interface.py +0 -19
  100. lark/types/credit_grant_schedule_rate_cycle_start_interface.py +0 -19
  101. lark/types/credit_grant_schedule_rate_cycle_start_resource.py +0 -17
  102. lark/types/credit_grant_subject_granting_config_interface.py +0 -20
  103. lark/types/credit_pool.py +0 -5
  104. lark/types/credit_pool_rollover_config.py +0 -5
  105. lark/types/custom_aggregation_pricing_metric_interface.py +0 -22
  106. lark/types/custom_pricing_metric.py +0 -5
  107. lark/types/custom_unit.py +0 -5
  108. lark/types/custom_unit_amount.py +0 -5
  109. lark/types/dimension_coordinate.py +0 -5
  110. lark/types/dimension_coordinate_interface.py +0 -20
  111. lark/types/dimension_coordinate_set.py +0 -5
  112. lark/types/dimension_interface.py +0 -20
  113. lark/types/dimensional_rate_matrix.py +0 -5
  114. lark/types/dimensional_rate_matrix_cell.py +0 -5
  115. lark/types/dimensional_usage_based_rate.py +0 -5
  116. lark/types/dimensional_usage_based_rate_input.py +0 -5
  117. lark/types/dimensional_usage_based_rate_interface.py +0 -33
  118. lark/types/feature_access_resource.py +0 -21
  119. lark/types/get_rate_card_response.py +0 -36
  120. lark/types/get_rate_card_response_billing_interval.py +0 -5
  121. lark/types/get_rate_card_response_usage_based_rates_item.py +0 -58
  122. lark/types/grant_credits_request.py +0 -5
  123. lark/types/last_aggregation_pricing_metric_interface.py +0 -22
  124. lark/types/license_based_rate.py +0 -5
  125. lark/types/license_based_rate_input.py +0 -5
  126. lark/types/max_aggregation_pricing_metric_interface.py +0 -22
  127. lark/types/monetary_amount.py +0 -5
  128. lark/types/package_price_rounding_behavior.py +0 -5
  129. lark/types/package_price_wrapper.py +0 -5
  130. lark/types/pricing_matrix_cell_interface.py +0 -22
  131. lark/types/pricing_matrix_interface.py +0 -20
  132. lark/types/pricing_metric.py +0 -5
  133. lark/types/pricing_plan.py +0 -5
  134. lark/types/pricing_plan_subscription.py +0 -5
  135. lark/types/pricing_tier.py +0 -5
  136. lark/types/rate_card_version.py +0 -5
  137. lark/types/rate_card_version_input.py +0 -5
  138. lark/types/simple_usage_based_rate.py +0 -5
  139. lark/types/simple_usage_based_rate_input.py +0 -5
  140. lark/types/status.py +0 -5
  141. lark/types/subject_granting_config.py +0 -5
  142. lark/types/subject_granting_config_resource.py +0 -20
  143. lark/types/tiered_price.py +0 -5
  144. lark/types/tiered_price_wrapper.py +0 -5
  145. lark/types/unit.py +0 -5
  146. lark/types/update_pricing_plan_request.py +0 -5
  147. lark/types/update_rate_card_request.py +0 -5
  148. lark/types/update_subscription_request.py +0 -5
  149. lark/types/usage_based_rate.py +0 -5
  150. lark/types/usage_based_rate_input.py +0 -5
  151. lark/types/usage_unit.py +0 -5
  152. lark_billing-0.0.6.dist-info/RECORD +0 -167
  153. /lark/{feature_access → customer_access}/__init__.py +0 -0
  154. {lark_billing-0.0.6.dist-info → lark_billing-0.0.8.dist-info}/WHEEL +0 -0
@@ -11,22 +11,12 @@ from ..core.pydantic_utilities import parse_obj_as
11
11
  from ..core.request_options import RequestOptions
12
12
  from ..core.serialization import convert_and_respect_annotation_metadata
13
13
  from ..errors.unprocessable_entity_error import UnprocessableEntityError
14
- from ..types.create_credit_grant_interface import CreateCreditGrantInterface
15
- from ..types.create_fixed_rate_interface import CreateFixedRateInterface
16
- from ..types.create_rate_card_response import CreateRateCardResponse
17
- from ..types.create_rate_card_version_response import CreateRateCardVersionResponse
18
- from ..types.credit_grant_resource import CreditGrantResource
19
- from ..types.feature_access_resource import FeatureAccessResource
20
- from ..types.fixed_rate_interface import FixedRateInterface
21
- from ..types.get_rate_card_response import GetRateCardResponse
14
+ from ..types.create_fixed_rate_request import CreateFixedRateRequest
22
15
  from ..types.http_validation_error import HttpValidationError
23
16
  from ..types.list_rate_cards_response import ListRateCardsResponse
17
+ from ..types.rate_card_resource import RateCardResource
24
18
  from .types.create_rate_card_request_billing_interval import CreateRateCardRequestBillingInterval
25
19
  from .types.create_rate_card_request_usage_based_rates_item import CreateRateCardRequestUsageBasedRatesItem
26
- from .types.create_rate_card_version_request_usage_based_rates_item import (
27
- CreateRateCardVersionRequestUsageBasedRatesItem,
28
- )
29
- from .types.create_rate_card_version_request_version_type import CreateRateCardVersionRequestVersionType
30
20
 
31
21
  # this is used as the default value for optional parameters
32
22
  OMIT = typing.cast(typing.Any, ...)
@@ -37,19 +27,13 @@ class RawRateCardsClient:
37
27
  self._client_wrapper = client_wrapper
38
28
 
39
29
  def list_rate_cards(
40
- self,
41
- *,
42
- limit: typing.Optional[int] = None,
43
- offset: typing.Optional[int] = None,
44
- request_options: typing.Optional[RequestOptions] = None,
30
+ self, *, limit: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None
45
31
  ) -> HttpResponse[ListRateCardsResponse]:
46
32
  """
47
33
  Parameters
48
34
  ----------
49
35
  limit : typing.Optional[int]
50
36
 
51
- offset : typing.Optional[int]
52
-
53
37
  request_options : typing.Optional[RequestOptions]
54
38
  Request-specific configuration.
55
39
 
@@ -63,7 +47,6 @@ class RawRateCardsClient:
63
47
  method="GET",
64
48
  params={
65
49
  "limit": limit,
66
- "offset": offset,
67
50
  },
68
51
  request_options=request_options,
69
52
  )
@@ -97,31 +80,25 @@ class RawRateCardsClient:
97
80
  self,
98
81
  *,
99
82
  name: str,
100
- description: str,
101
- usage_based_rates: typing.Sequence[CreateRateCardRequestUsageBasedRatesItem],
102
83
  billing_interval: CreateRateCardRequestBillingInterval,
103
- fixed_rates: typing.Optional[typing.Sequence[CreateFixedRateInterface]] = OMIT,
104
- credit_grants: typing.Optional[typing.Sequence[CreateCreditGrantInterface]] = OMIT,
105
- feature_access: typing.Optional[typing.Sequence[FeatureAccessResource]] = OMIT,
84
+ description: typing.Optional[str] = OMIT,
85
+ usage_based_rates: typing.Optional[typing.Sequence[CreateRateCardRequestUsageBasedRatesItem]] = OMIT,
86
+ fixed_rates: typing.Optional[typing.Sequence[CreateFixedRateRequest]] = OMIT,
106
87
  metadata: typing.Optional[typing.Dict[str, str]] = OMIT,
107
88
  request_options: typing.Optional[RequestOptions] = None,
108
- ) -> HttpResponse[CreateRateCardResponse]:
89
+ ) -> HttpResponse[RateCardResource]:
109
90
  """
110
91
  Parameters
111
92
  ----------
112
93
  name : str
113
94
 
114
- description : str
115
-
116
- usage_based_rates : typing.Sequence[CreateRateCardRequestUsageBasedRatesItem]
117
-
118
95
  billing_interval : CreateRateCardRequestBillingInterval
119
96
 
120
- fixed_rates : typing.Optional[typing.Sequence[CreateFixedRateInterface]]
97
+ description : typing.Optional[str]
121
98
 
122
- credit_grants : typing.Optional[typing.Sequence[CreateCreditGrantInterface]]
99
+ usage_based_rates : typing.Optional[typing.Sequence[CreateRateCardRequestUsageBasedRatesItem]]
123
100
 
124
- feature_access : typing.Optional[typing.Sequence[FeatureAccessResource]]
101
+ fixed_rates : typing.Optional[typing.Sequence[CreateFixedRateRequest]]
125
102
 
126
103
  metadata : typing.Optional[typing.Dict[str, str]]
127
104
 
@@ -130,7 +107,7 @@ class RawRateCardsClient:
130
107
 
131
108
  Returns
132
109
  -------
133
- HttpResponse[CreateRateCardResponse]
110
+ HttpResponse[RateCardResource]
134
111
  Successful Response
135
112
  """
136
113
  _response = self._client_wrapper.httpx_client.request(
@@ -145,15 +122,9 @@ class RawRateCardsClient:
145
122
  direction="write",
146
123
  ),
147
124
  "fixed_rates": convert_and_respect_annotation_metadata(
148
- object_=fixed_rates, annotation=typing.Sequence[CreateFixedRateInterface], direction="write"
125
+ object_=fixed_rates, annotation=typing.Sequence[CreateFixedRateRequest], direction="write"
149
126
  ),
150
127
  "billing_interval": billing_interval,
151
- "credit_grants": convert_and_respect_annotation_metadata(
152
- object_=credit_grants, annotation=typing.Sequence[CreateCreditGrantInterface], direction="write"
153
- ),
154
- "feature_access": convert_and_respect_annotation_metadata(
155
- object_=feature_access, annotation=typing.Sequence[FeatureAccessResource], direction="write"
156
- ),
157
128
  "metadata": metadata,
158
129
  },
159
130
  headers={
@@ -165,9 +136,9 @@ class RawRateCardsClient:
165
136
  try:
166
137
  if 200 <= _response.status_code < 300:
167
138
  _data = typing.cast(
168
- CreateRateCardResponse,
139
+ RateCardResource,
169
140
  parse_obj_as(
170
- type_=CreateRateCardResponse, # type: ignore
141
+ type_=RateCardResource, # type: ignore
171
142
  object_=_response.json(),
172
143
  ),
173
144
  )
@@ -190,7 +161,7 @@ class RawRateCardsClient:
190
161
 
191
162
  def get_rate_card(
192
163
  self, rate_card_id: str, *, request_options: typing.Optional[RequestOptions] = None
193
- ) -> HttpResponse[GetRateCardResponse]:
164
+ ) -> HttpResponse[RateCardResource]:
194
165
  """
195
166
  Parameters
196
167
  ----------
@@ -201,7 +172,7 @@ class RawRateCardsClient:
201
172
 
202
173
  Returns
203
174
  -------
204
- HttpResponse[GetRateCardResponse]
175
+ HttpResponse[RateCardResource]
205
176
  Successful Response
206
177
  """
207
178
  _response = self._client_wrapper.httpx_client.request(
@@ -212,153 +183,9 @@ class RawRateCardsClient:
212
183
  try:
213
184
  if 200 <= _response.status_code < 300:
214
185
  _data = typing.cast(
215
- GetRateCardResponse,
216
- parse_obj_as(
217
- type_=GetRateCardResponse, # type: ignore
218
- object_=_response.json(),
219
- ),
220
- )
221
- return HttpResponse(response=_response, data=_data)
222
- if _response.status_code == 422:
223
- raise UnprocessableEntityError(
224
- headers=dict(_response.headers),
225
- body=typing.cast(
226
- HttpValidationError,
227
- parse_obj_as(
228
- type_=HttpValidationError, # type: ignore
229
- object_=_response.json(),
230
- ),
231
- ),
232
- )
233
- _response_json = _response.json()
234
- except JSONDecodeError:
235
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
236
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
237
-
238
- def delete_rate_card(
239
- self, rate_card_id: str, *, request_options: typing.Optional[RequestOptions] = None
240
- ) -> HttpResponse[None]:
241
- """
242
- Parameters
243
- ----------
244
- rate_card_id : str
245
-
246
- request_options : typing.Optional[RequestOptions]
247
- Request-specific configuration.
248
-
249
- Returns
250
- -------
251
- HttpResponse[None]
252
- """
253
- _response = self._client_wrapper.httpx_client.request(
254
- f"rate-cards/{jsonable_encoder(rate_card_id)}",
255
- method="DELETE",
256
- request_options=request_options,
257
- )
258
- try:
259
- if 200 <= _response.status_code < 300:
260
- return HttpResponse(response=_response, data=None)
261
- _response_json = _response.json()
262
- except JSONDecodeError:
263
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
264
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
265
-
266
- def update_rate_card(
267
- self, rate_card_id: str, *, request_options: typing.Optional[RequestOptions] = None
268
- ) -> HttpResponse[None]:
269
- """
270
- Parameters
271
- ----------
272
- rate_card_id : str
273
-
274
- request_options : typing.Optional[RequestOptions]
275
- Request-specific configuration.
276
-
277
- Returns
278
- -------
279
- HttpResponse[None]
280
- """
281
- _response = self._client_wrapper.httpx_client.request(
282
- f"rate-cards/{jsonable_encoder(rate_card_id)}",
283
- method="PATCH",
284
- request_options=request_options,
285
- )
286
- try:
287
- if 200 <= _response.status_code < 300:
288
- return HttpResponse(response=_response, data=None)
289
- _response_json = _response.json()
290
- except JSONDecodeError:
291
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
292
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
293
-
294
- def create_rate_card_version(
295
- self,
296
- rate_card_id: str,
297
- *,
298
- name: str,
299
- description: str,
300
- usage_based_rates: typing.Sequence[CreateRateCardVersionRequestUsageBasedRatesItem],
301
- version_type: CreateRateCardVersionRequestVersionType,
302
- fixed_rates: typing.Optional[typing.Sequence[FixedRateInterface]] = OMIT,
303
- credit_grants: typing.Optional[typing.Sequence[CreditGrantResource]] = OMIT,
304
- request_options: typing.Optional[RequestOptions] = None,
305
- ) -> HttpResponse[CreateRateCardVersionResponse]:
306
- """
307
- Parameters
308
- ----------
309
- rate_card_id : str
310
-
311
- name : str
312
-
313
- description : str
314
-
315
- usage_based_rates : typing.Sequence[CreateRateCardVersionRequestUsageBasedRatesItem]
316
-
317
- version_type : CreateRateCardVersionRequestVersionType
318
-
319
- fixed_rates : typing.Optional[typing.Sequence[FixedRateInterface]]
320
-
321
- credit_grants : typing.Optional[typing.Sequence[CreditGrantResource]]
322
-
323
- request_options : typing.Optional[RequestOptions]
324
- Request-specific configuration.
325
-
326
- Returns
327
- -------
328
- HttpResponse[CreateRateCardVersionResponse]
329
- Successful Response
330
- """
331
- _response = self._client_wrapper.httpx_client.request(
332
- f"rate-cards/{jsonable_encoder(rate_card_id)}/versions",
333
- method="POST",
334
- json={
335
- "name": name,
336
- "description": description,
337
- "usage_based_rates": convert_and_respect_annotation_metadata(
338
- object_=usage_based_rates,
339
- annotation=typing.Sequence[CreateRateCardVersionRequestUsageBasedRatesItem],
340
- direction="write",
341
- ),
342
- "fixed_rates": convert_and_respect_annotation_metadata(
343
- object_=fixed_rates, annotation=typing.Sequence[FixedRateInterface], direction="write"
344
- ),
345
- "version_type": version_type,
346
- "credit_grants": convert_and_respect_annotation_metadata(
347
- object_=credit_grants, annotation=typing.Sequence[CreditGrantResource], direction="write"
348
- ),
349
- },
350
- headers={
351
- "content-type": "application/json",
352
- },
353
- request_options=request_options,
354
- omit=OMIT,
355
- )
356
- try:
357
- if 200 <= _response.status_code < 300:
358
- _data = typing.cast(
359
- CreateRateCardVersionResponse,
186
+ RateCardResource,
360
187
  parse_obj_as(
361
- type_=CreateRateCardVersionResponse, # type: ignore
188
+ type_=RateCardResource, # type: ignore
362
189
  object_=_response.json(),
363
190
  ),
364
191
  )
@@ -385,19 +212,13 @@ class AsyncRawRateCardsClient:
385
212
  self._client_wrapper = client_wrapper
386
213
 
387
214
  async def list_rate_cards(
388
- self,
389
- *,
390
- limit: typing.Optional[int] = None,
391
- offset: typing.Optional[int] = None,
392
- request_options: typing.Optional[RequestOptions] = None,
215
+ self, *, limit: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None
393
216
  ) -> AsyncHttpResponse[ListRateCardsResponse]:
394
217
  """
395
218
  Parameters
396
219
  ----------
397
220
  limit : typing.Optional[int]
398
221
 
399
- offset : typing.Optional[int]
400
-
401
222
  request_options : typing.Optional[RequestOptions]
402
223
  Request-specific configuration.
403
224
 
@@ -411,7 +232,6 @@ class AsyncRawRateCardsClient:
411
232
  method="GET",
412
233
  params={
413
234
  "limit": limit,
414
- "offset": offset,
415
235
  },
416
236
  request_options=request_options,
417
237
  )
@@ -445,31 +265,25 @@ class AsyncRawRateCardsClient:
445
265
  self,
446
266
  *,
447
267
  name: str,
448
- description: str,
449
- usage_based_rates: typing.Sequence[CreateRateCardRequestUsageBasedRatesItem],
450
268
  billing_interval: CreateRateCardRequestBillingInterval,
451
- fixed_rates: typing.Optional[typing.Sequence[CreateFixedRateInterface]] = OMIT,
452
- credit_grants: typing.Optional[typing.Sequence[CreateCreditGrantInterface]] = OMIT,
453
- feature_access: typing.Optional[typing.Sequence[FeatureAccessResource]] = OMIT,
269
+ description: typing.Optional[str] = OMIT,
270
+ usage_based_rates: typing.Optional[typing.Sequence[CreateRateCardRequestUsageBasedRatesItem]] = OMIT,
271
+ fixed_rates: typing.Optional[typing.Sequence[CreateFixedRateRequest]] = OMIT,
454
272
  metadata: typing.Optional[typing.Dict[str, str]] = OMIT,
455
273
  request_options: typing.Optional[RequestOptions] = None,
456
- ) -> AsyncHttpResponse[CreateRateCardResponse]:
274
+ ) -> AsyncHttpResponse[RateCardResource]:
457
275
  """
458
276
  Parameters
459
277
  ----------
460
278
  name : str
461
279
 
462
- description : str
463
-
464
- usage_based_rates : typing.Sequence[CreateRateCardRequestUsageBasedRatesItem]
465
-
466
280
  billing_interval : CreateRateCardRequestBillingInterval
467
281
 
468
- fixed_rates : typing.Optional[typing.Sequence[CreateFixedRateInterface]]
282
+ description : typing.Optional[str]
469
283
 
470
- credit_grants : typing.Optional[typing.Sequence[CreateCreditGrantInterface]]
284
+ usage_based_rates : typing.Optional[typing.Sequence[CreateRateCardRequestUsageBasedRatesItem]]
471
285
 
472
- feature_access : typing.Optional[typing.Sequence[FeatureAccessResource]]
286
+ fixed_rates : typing.Optional[typing.Sequence[CreateFixedRateRequest]]
473
287
 
474
288
  metadata : typing.Optional[typing.Dict[str, str]]
475
289
 
@@ -478,7 +292,7 @@ class AsyncRawRateCardsClient:
478
292
 
479
293
  Returns
480
294
  -------
481
- AsyncHttpResponse[CreateRateCardResponse]
295
+ AsyncHttpResponse[RateCardResource]
482
296
  Successful Response
483
297
  """
484
298
  _response = await self._client_wrapper.httpx_client.request(
@@ -493,15 +307,9 @@ class AsyncRawRateCardsClient:
493
307
  direction="write",
494
308
  ),
495
309
  "fixed_rates": convert_and_respect_annotation_metadata(
496
- object_=fixed_rates, annotation=typing.Sequence[CreateFixedRateInterface], direction="write"
310
+ object_=fixed_rates, annotation=typing.Sequence[CreateFixedRateRequest], direction="write"
497
311
  ),
498
312
  "billing_interval": billing_interval,
499
- "credit_grants": convert_and_respect_annotation_metadata(
500
- object_=credit_grants, annotation=typing.Sequence[CreateCreditGrantInterface], direction="write"
501
- ),
502
- "feature_access": convert_and_respect_annotation_metadata(
503
- object_=feature_access, annotation=typing.Sequence[FeatureAccessResource], direction="write"
504
- ),
505
313
  "metadata": metadata,
506
314
  },
507
315
  headers={
@@ -513,9 +321,9 @@ class AsyncRawRateCardsClient:
513
321
  try:
514
322
  if 200 <= _response.status_code < 300:
515
323
  _data = typing.cast(
516
- CreateRateCardResponse,
324
+ RateCardResource,
517
325
  parse_obj_as(
518
- type_=CreateRateCardResponse, # type: ignore
326
+ type_=RateCardResource, # type: ignore
519
327
  object_=_response.json(),
520
328
  ),
521
329
  )
@@ -538,7 +346,7 @@ class AsyncRawRateCardsClient:
538
346
 
539
347
  async def get_rate_card(
540
348
  self, rate_card_id: str, *, request_options: typing.Optional[RequestOptions] = None
541
- ) -> AsyncHttpResponse[GetRateCardResponse]:
349
+ ) -> AsyncHttpResponse[RateCardResource]:
542
350
  """
543
351
  Parameters
544
352
  ----------
@@ -549,7 +357,7 @@ class AsyncRawRateCardsClient:
549
357
 
550
358
  Returns
551
359
  -------
552
- AsyncHttpResponse[GetRateCardResponse]
360
+ AsyncHttpResponse[RateCardResource]
553
361
  Successful Response
554
362
  """
555
363
  _response = await self._client_wrapper.httpx_client.request(
@@ -560,153 +368,9 @@ class AsyncRawRateCardsClient:
560
368
  try:
561
369
  if 200 <= _response.status_code < 300:
562
370
  _data = typing.cast(
563
- GetRateCardResponse,
564
- parse_obj_as(
565
- type_=GetRateCardResponse, # type: ignore
566
- object_=_response.json(),
567
- ),
568
- )
569
- return AsyncHttpResponse(response=_response, data=_data)
570
- if _response.status_code == 422:
571
- raise UnprocessableEntityError(
572
- headers=dict(_response.headers),
573
- body=typing.cast(
574
- HttpValidationError,
575
- parse_obj_as(
576
- type_=HttpValidationError, # type: ignore
577
- object_=_response.json(),
578
- ),
579
- ),
580
- )
581
- _response_json = _response.json()
582
- except JSONDecodeError:
583
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
584
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
585
-
586
- async def delete_rate_card(
587
- self, rate_card_id: str, *, request_options: typing.Optional[RequestOptions] = None
588
- ) -> AsyncHttpResponse[None]:
589
- """
590
- Parameters
591
- ----------
592
- rate_card_id : str
593
-
594
- request_options : typing.Optional[RequestOptions]
595
- Request-specific configuration.
596
-
597
- Returns
598
- -------
599
- AsyncHttpResponse[None]
600
- """
601
- _response = await self._client_wrapper.httpx_client.request(
602
- f"rate-cards/{jsonable_encoder(rate_card_id)}",
603
- method="DELETE",
604
- request_options=request_options,
605
- )
606
- try:
607
- if 200 <= _response.status_code < 300:
608
- return AsyncHttpResponse(response=_response, data=None)
609
- _response_json = _response.json()
610
- except JSONDecodeError:
611
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
612
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
613
-
614
- async def update_rate_card(
615
- self, rate_card_id: str, *, request_options: typing.Optional[RequestOptions] = None
616
- ) -> AsyncHttpResponse[None]:
617
- """
618
- Parameters
619
- ----------
620
- rate_card_id : str
621
-
622
- request_options : typing.Optional[RequestOptions]
623
- Request-specific configuration.
624
-
625
- Returns
626
- -------
627
- AsyncHttpResponse[None]
628
- """
629
- _response = await self._client_wrapper.httpx_client.request(
630
- f"rate-cards/{jsonable_encoder(rate_card_id)}",
631
- method="PATCH",
632
- request_options=request_options,
633
- )
634
- try:
635
- if 200 <= _response.status_code < 300:
636
- return AsyncHttpResponse(response=_response, data=None)
637
- _response_json = _response.json()
638
- except JSONDecodeError:
639
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
640
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
641
-
642
- async def create_rate_card_version(
643
- self,
644
- rate_card_id: str,
645
- *,
646
- name: str,
647
- description: str,
648
- usage_based_rates: typing.Sequence[CreateRateCardVersionRequestUsageBasedRatesItem],
649
- version_type: CreateRateCardVersionRequestVersionType,
650
- fixed_rates: typing.Optional[typing.Sequence[FixedRateInterface]] = OMIT,
651
- credit_grants: typing.Optional[typing.Sequence[CreditGrantResource]] = OMIT,
652
- request_options: typing.Optional[RequestOptions] = None,
653
- ) -> AsyncHttpResponse[CreateRateCardVersionResponse]:
654
- """
655
- Parameters
656
- ----------
657
- rate_card_id : str
658
-
659
- name : str
660
-
661
- description : str
662
-
663
- usage_based_rates : typing.Sequence[CreateRateCardVersionRequestUsageBasedRatesItem]
664
-
665
- version_type : CreateRateCardVersionRequestVersionType
666
-
667
- fixed_rates : typing.Optional[typing.Sequence[FixedRateInterface]]
668
-
669
- credit_grants : typing.Optional[typing.Sequence[CreditGrantResource]]
670
-
671
- request_options : typing.Optional[RequestOptions]
672
- Request-specific configuration.
673
-
674
- Returns
675
- -------
676
- AsyncHttpResponse[CreateRateCardVersionResponse]
677
- Successful Response
678
- """
679
- _response = await self._client_wrapper.httpx_client.request(
680
- f"rate-cards/{jsonable_encoder(rate_card_id)}/versions",
681
- method="POST",
682
- json={
683
- "name": name,
684
- "description": description,
685
- "usage_based_rates": convert_and_respect_annotation_metadata(
686
- object_=usage_based_rates,
687
- annotation=typing.Sequence[CreateRateCardVersionRequestUsageBasedRatesItem],
688
- direction="write",
689
- ),
690
- "fixed_rates": convert_and_respect_annotation_metadata(
691
- object_=fixed_rates, annotation=typing.Sequence[FixedRateInterface], direction="write"
692
- ),
693
- "version_type": version_type,
694
- "credit_grants": convert_and_respect_annotation_metadata(
695
- object_=credit_grants, annotation=typing.Sequence[CreditGrantResource], direction="write"
696
- ),
697
- },
698
- headers={
699
- "content-type": "application/json",
700
- },
701
- request_options=request_options,
702
- omit=OMIT,
703
- )
704
- try:
705
- if 200 <= _response.status_code < 300:
706
- _data = typing.cast(
707
- CreateRateCardVersionResponse,
371
+ RateCardResource,
708
372
  parse_obj_as(
709
- type_=CreateRateCardVersionResponse, # type: ignore
373
+ type_=RateCardResource, # type: ignore
710
374
  object_=_response.json(),
711
375
  ),
712
376
  )
@@ -9,24 +9,12 @@ if typing.TYPE_CHECKING:
9
9
  from .create_rate_card_request_billing_interval import CreateRateCardRequestBillingInterval
10
10
  from .create_rate_card_request_usage_based_rates_item import (
11
11
  CreateRateCardRequestUsageBasedRatesItem,
12
- CreateRateCardRequestUsageBasedRatesItem_Dimensional,
13
12
  CreateRateCardRequestUsageBasedRatesItem_Simple,
14
13
  )
15
- from .create_rate_card_version_request_usage_based_rates_item import (
16
- CreateRateCardVersionRequestUsageBasedRatesItem,
17
- CreateRateCardVersionRequestUsageBasedRatesItem_Dimensional,
18
- CreateRateCardVersionRequestUsageBasedRatesItem_Simple,
19
- )
20
- from .create_rate_card_version_request_version_type import CreateRateCardVersionRequestVersionType
21
14
  _dynamic_imports: typing.Dict[str, str] = {
22
15
  "CreateRateCardRequestBillingInterval": ".create_rate_card_request_billing_interval",
23
16
  "CreateRateCardRequestUsageBasedRatesItem": ".create_rate_card_request_usage_based_rates_item",
24
- "CreateRateCardRequestUsageBasedRatesItem_Dimensional": ".create_rate_card_request_usage_based_rates_item",
25
17
  "CreateRateCardRequestUsageBasedRatesItem_Simple": ".create_rate_card_request_usage_based_rates_item",
26
- "CreateRateCardVersionRequestUsageBasedRatesItem": ".create_rate_card_version_request_usage_based_rates_item",
27
- "CreateRateCardVersionRequestUsageBasedRatesItem_Dimensional": ".create_rate_card_version_request_usage_based_rates_item",
28
- "CreateRateCardVersionRequestUsageBasedRatesItem_Simple": ".create_rate_card_version_request_usage_based_rates_item",
29
- "CreateRateCardVersionRequestVersionType": ".create_rate_card_version_request_version_type",
30
18
  }
31
19
 
32
20
 
@@ -54,10 +42,5 @@ def __dir__():
54
42
  __all__ = [
55
43
  "CreateRateCardRequestBillingInterval",
56
44
  "CreateRateCardRequestUsageBasedRatesItem",
57
- "CreateRateCardRequestUsageBasedRatesItem_Dimensional",
58
45
  "CreateRateCardRequestUsageBasedRatesItem_Simple",
59
- "CreateRateCardVersionRequestUsageBasedRatesItem",
60
- "CreateRateCardVersionRequestUsageBasedRatesItem_Dimensional",
61
- "CreateRateCardVersionRequestUsageBasedRatesItem_Simple",
62
- "CreateRateCardVersionRequestVersionType",
63
46
  ]
@@ -6,40 +6,16 @@ import typing
6
6
 
7
7
  import pydantic
8
8
  from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
- from ...types.create_dimension_interface import CreateDimensionInterface
10
- from ...types.create_pricing_matrix_interface import CreatePricingMatrixInterface
11
- from ...types.create_pricing_metric_interface import CreatePricingMetricInterface
12
9
  from ...types.price import Price
13
10
 
14
11
 
15
- class CreateRateCardRequestUsageBasedRatesItem_Dimensional(UniversalBaseModel):
16
- usage_based_rate_type: typing.Literal["dimensional"] = "dimensional"
17
- code: str
18
- name: str
19
- description: typing.Optional[str] = None
20
- included_units: typing.Optional[int] = None
21
- pricing_metric: CreatePricingMetricInterface
22
- dimensions: typing.List[CreateDimensionInterface]
23
- pricing_matrix: CreatePricingMatrixInterface
24
-
25
- if IS_PYDANTIC_V2:
26
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
27
- else:
28
-
29
- class Config:
30
- frozen = True
31
- smart_union = True
32
- extra = pydantic.Extra.allow
33
-
34
-
35
12
  class CreateRateCardRequestUsageBasedRatesItem_Simple(UniversalBaseModel):
36
13
  usage_based_rate_type: typing.Literal["simple"] = "simple"
37
- code: str
38
- name: str
14
+ name: typing.Optional[str] = None
39
15
  description: typing.Optional[str] = None
40
16
  price: Price
41
17
  included_units: typing.Optional[int] = None
42
- pricing_metric: CreatePricingMetricInterface
18
+ pricing_metric_id: str
43
19
 
44
20
  if IS_PYDANTIC_V2:
45
21
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -51,6 +27,4 @@ class CreateRateCardRequestUsageBasedRatesItem_Simple(UniversalBaseModel):
51
27
  extra = pydantic.Extra.allow
52
28
 
53
29
 
54
- CreateRateCardRequestUsageBasedRatesItem = typing.Union[
55
- CreateRateCardRequestUsageBasedRatesItem_Dimensional, CreateRateCardRequestUsageBasedRatesItem_Simple
56
- ]
30
+ CreateRateCardRequestUsageBasedRatesItem = CreateRateCardRequestUsageBasedRatesItem_Simple