lark-billing 0.0.6__py3-none-any.whl → 0.0.7__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 (141) hide show
  1. lark/__init__.py +69 -360
  2. lark/checkout/client.py +8 -85
  3. lark/checkout/raw_client.py +6 -102
  4. lark/client.py +93 -27
  5. lark/core/client_wrapper.py +2 -2
  6. lark/{feature_access → customer_access}/client.py +30 -24
  7. lark/{feature_access → customer_access}/raw_client.py +22 -17
  8. lark/{types/rate_card.py → customer_portal/__init__.py} +1 -2
  9. lark/customer_portal/client.py +115 -0
  10. lark/customer_portal/raw_client.py +134 -0
  11. lark/environment.py +7 -0
  12. lark/pricing_metrics/__init__.py +38 -0
  13. lark/pricing_metrics/client.py +219 -0
  14. lark/pricing_metrics/raw_client.py +268 -0
  15. lark/pricing_metrics/types/__init__.py +42 -0
  16. lark/{types/credit_grant_resource_input_schedule.py → pricing_metrics/types/pricing_metric_aggregation.py} +7 -8
  17. lark/rate_cards/__init__.py +3 -30
  18. lark/rate_cards/client.py +28 -540
  19. lark/rate_cards/raw_client.py +32 -368
  20. lark/rate_cards/types/__init__.py +2 -29
  21. lark/subjects/client.py +2 -36
  22. lark/subjects/raw_client.py +0 -16
  23. lark/subscriptions/client.py +24 -184
  24. lark/subscriptions/raw_client.py +18 -135
  25. lark/types/__init__.py +41 -356
  26. lark/types/amount.py +5 -1
  27. lark/types/{create_dimension_coordinate_interface.py → billing_state_response.py} +3 -3
  28. lark/types/{credit_grant_schedule_one_time_resource.py → count_aggregation_pricing_metric_resource.py} +1 -1
  29. lark/types/{create_dimension_interface.py → create_customer_portal_session_response.py} +3 -3
  30. lark/types/create_fixed_rate_interface.py +1 -7
  31. lark/types/{pricing_metric_interface.py → create_pricing_metric_response.py} +2 -5
  32. lark/types/create_simple_usage_based_rate_interface.py +3 -8
  33. lark/types/create_subject_response.py +2 -1
  34. lark/types/create_subscription_checkout_session_response.py +1 -2
  35. lark/types/create_usage_event_summary_response.py +1 -1
  36. lark/types/{credit_grant_schedule_rate_cycle_start_resource.py → custom_pricing_metric_resource.py} +3 -1
  37. lark/types/fixed_rate_interface.py +0 -6
  38. lark/types/{create_pricing_metric_interface.py → get_pricing_metric_response.py} +3 -5
  39. lark/types/{credit_grant_schedule_one_time_interface.py → last_aggregation_pricing_metric_resource.py} +2 -2
  40. lark/types/{credit_grant_date_time_expiration_resource.py → max_aggregation_pricing_metric_resource.py} +2 -2
  41. lark/types/package_price.py +2 -2
  42. lark/types/package_price_input_rounding_behavior.py +5 -0
  43. lark/types/package_price_output_rounding_behavior.py +5 -0
  44. lark/types/price.py +39 -1
  45. lark/types/rate_card_resource.py +0 -6
  46. lark/types/rate_card_resource_usage_based_rates_item.py +2 -28
  47. lark/types/simple_usage_based_rate_interface.py +1 -2
  48. lark/types/status.py +1 -1
  49. lark/types/subject_resource.py +2 -1
  50. lark/types/subscription_resource.py +0 -1
  51. lark/types/{credit_grant_date_time_expiration_interface.py → sum_aggregation_pricing_metric_resource.py} +2 -2
  52. lark/types/{subject.py → value.py} +1 -1
  53. lark/usage_events/client.py +8 -21
  54. lark/usage_events/raw_client.py +6 -6
  55. {lark_billing-0.0.6.dist-info → lark_billing-0.0.7.dist-info}/METADATA +3 -3
  56. lark_billing-0.0.7.dist-info/RECORD +94 -0
  57. lark/rate_cards/types/create_rate_card_request_usage_based_rates_item.py +0 -56
  58. lark/rate_cards/types/create_rate_card_version_request_usage_based_rates_item.py +0 -58
  59. lark/rate_cards/types/create_rate_card_version_request_version_type.py +0 -5
  60. lark/types/check_feature_access_request.py +0 -24
  61. lark/types/check_feature_access_response.py +0 -21
  62. lark/types/complete_subscription_checkout_response.py +0 -21
  63. lark/types/create_credit_grant_interface.py +0 -27
  64. lark/types/create_credit_grant_interface_expiration.py +0 -27
  65. lark/types/create_credit_pool_request.py +0 -5
  66. lark/types/create_dimensional_usage_based_rate_interface.py +0 -32
  67. lark/types/create_pricing_matrix_cell_interface.py +0 -22
  68. lark/types/create_pricing_matrix_interface.py +0 -20
  69. lark/types/create_pricing_plan_request.py +0 -5
  70. lark/types/create_rate_card_response.py +0 -36
  71. lark/types/create_rate_card_response_billing_interval.py +0 -5
  72. lark/types/create_rate_card_response_usage_based_rates_item.py +0 -58
  73. lark/types/create_rate_card_version_response.py +0 -36
  74. lark/types/create_rate_card_version_response_billing_interval.py +0 -5
  75. lark/types/create_rate_card_version_response_usage_based_rates_item.py +0 -59
  76. lark/types/credit_grant.py +0 -5
  77. lark/types/credit_grant_duration_expiration_interface.py +0 -21
  78. lark/types/credit_grant_duration_expiration_resource.py +0 -21
  79. lark/types/credit_grant_interface.py +0 -28
  80. lark/types/credit_grant_interface_input_expiration.py +0 -27
  81. lark/types/credit_grant_interface_output_expiration.py +0 -43
  82. lark/types/credit_grant_interface_output_schedule.py +0 -41
  83. lark/types/credit_grant_resource.py +0 -28
  84. lark/types/credit_grant_resource_input_expiration.py +0 -27
  85. lark/types/credit_grant_resource_output_expiration.py +0 -43
  86. lark/types/credit_grant_resource_output_schedule.py +0 -39
  87. lark/types/credit_grant_schedule.py +0 -5
  88. lark/types/credit_grant_schedule_rate_cycle_start_interface.py +0 -19
  89. lark/types/credit_grant_subject_granting_config_interface.py +0 -20
  90. lark/types/credit_pool.py +0 -5
  91. lark/types/credit_pool_rollover_config.py +0 -5
  92. lark/types/custom_aggregation_pricing_metric_interface.py +0 -22
  93. lark/types/custom_pricing_metric.py +0 -5
  94. lark/types/custom_unit.py +0 -5
  95. lark/types/custom_unit_amount.py +0 -5
  96. lark/types/dimension.py +0 -5
  97. lark/types/dimension_coordinate.py +0 -5
  98. lark/types/dimension_coordinate_interface.py +0 -20
  99. lark/types/dimension_coordinate_set.py +0 -5
  100. lark/types/dimension_interface.py +0 -20
  101. lark/types/dimensional_rate_matrix.py +0 -5
  102. lark/types/dimensional_rate_matrix_cell.py +0 -5
  103. lark/types/dimensional_usage_based_rate.py +0 -5
  104. lark/types/dimensional_usage_based_rate_input.py +0 -5
  105. lark/types/dimensional_usage_based_rate_interface.py +0 -33
  106. lark/types/feature_access_resource.py +0 -21
  107. lark/types/get_rate_card_response.py +0 -36
  108. lark/types/get_rate_card_response_billing_interval.py +0 -5
  109. lark/types/get_rate_card_response_usage_based_rates_item.py +0 -58
  110. lark/types/grant_credits_request.py +0 -5
  111. lark/types/last_aggregation_pricing_metric_interface.py +0 -22
  112. lark/types/license_based_rate.py +0 -5
  113. lark/types/license_based_rate_input.py +0 -5
  114. lark/types/max_aggregation_pricing_metric_interface.py +0 -22
  115. lark/types/monetary_amount.py +0 -5
  116. lark/types/package_price_rounding_behavior.py +0 -5
  117. lark/types/package_price_wrapper.py +0 -5
  118. lark/types/pricing_matrix_cell_interface.py +0 -22
  119. lark/types/pricing_matrix_interface.py +0 -20
  120. lark/types/pricing_metric.py +0 -5
  121. lark/types/pricing_plan.py +0 -5
  122. lark/types/pricing_plan_subscription.py +0 -5
  123. lark/types/pricing_tier.py +0 -5
  124. lark/types/rate_card_version.py +0 -5
  125. lark/types/rate_card_version_input.py +0 -5
  126. lark/types/simple_usage_based_rate.py +0 -5
  127. lark/types/simple_usage_based_rate_input.py +0 -5
  128. lark/types/subject_granting_config.py +0 -5
  129. lark/types/subject_granting_config_resource.py +0 -20
  130. lark/types/tiered_price.py +0 -5
  131. lark/types/tiered_price_wrapper.py +0 -5
  132. lark/types/unit.py +0 -5
  133. lark/types/update_pricing_plan_request.py +0 -5
  134. lark/types/update_rate_card_request.py +0 -5
  135. lark/types/update_subscription_request.py +0 -5
  136. lark/types/usage_based_rate.py +0 -5
  137. lark/types/usage_based_rate_input.py +0 -5
  138. lark/types/usage_unit.py +0 -5
  139. lark_billing-0.0.6.dist-info/RECORD +0 -167
  140. /lark/{feature_access → customer_access}/__init__.py +0 -0
  141. {lark_billing-0.0.6.dist-info → lark_billing-0.0.7.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
14
  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
15
+ from ..types.create_simple_usage_based_rate_interface import CreateSimpleUsageBasedRateInterface
22
16
  from ..types.http_validation_error import HttpValidationError
23
17
  from ..types.list_rate_cards_response import ListRateCardsResponse
18
+ from ..types.rate_card_resource import RateCardResource
24
19
  from .types.create_rate_card_request_billing_interval import CreateRateCardRequestBillingInterval
25
- 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,
84
+ description: typing.Optional[str] = OMIT,
85
+ usage_based_rates: typing.Optional[typing.Sequence[CreateSimpleUsageBasedRateInterface]] = OMIT,
103
86
  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,
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[CreateSimpleUsageBasedRateInterface]]
123
100
 
124
- feature_access : typing.Optional[typing.Sequence[FeatureAccessResource]]
101
+ fixed_rates : typing.Optional[typing.Sequence[CreateFixedRateInterface]]
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(
@@ -141,19 +118,13 @@ class RawRateCardsClient:
141
118
  "description": description,
142
119
  "usage_based_rates": convert_and_respect_annotation_metadata(
143
120
  object_=usage_based_rates,
144
- annotation=typing.Sequence[CreateRateCardRequestUsageBasedRatesItem],
121
+ annotation=typing.Sequence[CreateSimpleUsageBasedRateInterface],
145
122
  direction="write",
146
123
  ),
147
124
  "fixed_rates": convert_and_respect_annotation_metadata(
148
125
  object_=fixed_rates, annotation=typing.Sequence[CreateFixedRateInterface], 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,
269
+ description: typing.Optional[str] = OMIT,
270
+ usage_based_rates: typing.Optional[typing.Sequence[CreateSimpleUsageBasedRateInterface]] = OMIT,
451
271
  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,
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[CreateSimpleUsageBasedRateInterface]]
471
285
 
472
- feature_access : typing.Optional[typing.Sequence[FeatureAccessResource]]
286
+ fixed_rates : typing.Optional[typing.Sequence[CreateFixedRateInterface]]
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(
@@ -489,19 +303,13 @@ class AsyncRawRateCardsClient:
489
303
  "description": description,
490
304
  "usage_based_rates": convert_and_respect_annotation_metadata(
491
305
  object_=usage_based_rates,
492
- annotation=typing.Sequence[CreateRateCardRequestUsageBasedRatesItem],
306
+ annotation=typing.Sequence[CreateSimpleUsageBasedRateInterface],
493
307
  direction="write",
494
308
  ),
495
309
  "fixed_rates": convert_and_respect_annotation_metadata(
496
310
  object_=fixed_rates, annotation=typing.Sequence[CreateFixedRateInterface], 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
  )
@@ -7,26 +7,8 @@ from importlib import import_module
7
7
 
8
8
  if typing.TYPE_CHECKING:
9
9
  from .create_rate_card_request_billing_interval import CreateRateCardRequestBillingInterval
10
- from .create_rate_card_request_usage_based_rates_item import (
11
- CreateRateCardRequestUsageBasedRatesItem,
12
- CreateRateCardRequestUsageBasedRatesItem_Dimensional,
13
- CreateRateCardRequestUsageBasedRatesItem_Simple,
14
- )
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
10
  _dynamic_imports: typing.Dict[str, str] = {
22
- "CreateRateCardRequestBillingInterval": ".create_rate_card_request_billing_interval",
23
- "CreateRateCardRequestUsageBasedRatesItem": ".create_rate_card_request_usage_based_rates_item",
24
- "CreateRateCardRequestUsageBasedRatesItem_Dimensional": ".create_rate_card_request_usage_based_rates_item",
25
- "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",
11
+ "CreateRateCardRequestBillingInterval": ".create_rate_card_request_billing_interval"
30
12
  }
31
13
 
32
14
 
@@ -51,13 +33,4 @@ def __dir__():
51
33
  return sorted(lazy_attrs)
52
34
 
53
35
 
54
- __all__ = [
55
- "CreateRateCardRequestBillingInterval",
56
- "CreateRateCardRequestUsageBasedRatesItem",
57
- "CreateRateCardRequestUsageBasedRatesItem_Dimensional",
58
- "CreateRateCardRequestUsageBasedRatesItem_Simple",
59
- "CreateRateCardVersionRequestUsageBasedRatesItem",
60
- "CreateRateCardVersionRequestUsageBasedRatesItem_Dimensional",
61
- "CreateRateCardVersionRequestUsageBasedRatesItem_Simple",
62
- "CreateRateCardVersionRequestVersionType",
63
- ]
36
+ __all__ = ["CreateRateCardRequestBillingInterval"]