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
@@ -1,58 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- from __future__ import annotations
4
-
5
- import typing
6
-
7
- import pydantic
8
- from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
- from ...types.dimension_interface import DimensionInterface
10
- from ...types.price import Price
11
- from ...types.pricing_matrix_interface import PricingMatrixInterface
12
- from ...types.pricing_metric_interface import PricingMetricInterface
13
-
14
-
15
- class CreateRateCardVersionRequestUsageBasedRatesItem_Dimensional(UniversalBaseModel):
16
- usage_based_rate_type: typing.Literal["dimensional"] = "dimensional"
17
- id: str
18
- code: str
19
- name: str
20
- description: str
21
- included_units: int
22
- pricing_metric: PricingMetricInterface
23
- dimensions: typing.List[DimensionInterface]
24
- pricing_matrix: PricingMatrixInterface
25
-
26
- if IS_PYDANTIC_V2:
27
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
28
- else:
29
-
30
- class Config:
31
- frozen = True
32
- smart_union = True
33
- extra = pydantic.Extra.allow
34
-
35
-
36
- class CreateRateCardVersionRequestUsageBasedRatesItem_Simple(UniversalBaseModel):
37
- usage_based_rate_type: typing.Literal["simple"] = "simple"
38
- id: str
39
- code: str
40
- name: str
41
- description: str
42
- price: Price
43
- included_units: int
44
- pricing_metric: PricingMetricInterface
45
-
46
- if IS_PYDANTIC_V2:
47
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
48
- else:
49
-
50
- class Config:
51
- frozen = True
52
- smart_union = True
53
- extra = pydantic.Extra.allow
54
-
55
-
56
- CreateRateCardVersionRequestUsageBasedRatesItem = typing.Union[
57
- CreateRateCardVersionRequestUsageBasedRatesItem_Dimensional, CreateRateCardVersionRequestUsageBasedRatesItem_Simple
58
- ]
@@ -1,5 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- CreateRateCardVersionRequestVersionType = typing.Union[typing.Literal["major", "minor"], typing.Any]
@@ -1,24 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- import pydantic
6
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
-
8
-
9
- class CheckFeatureAccessRequest(UniversalBaseModel):
10
- feature_code: str = pydantic.Field()
11
- """
12
- References `feature_code` from a usage-based rate.
13
- """
14
-
15
- subject_id: str
16
-
17
- if IS_PYDANTIC_V2:
18
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
- else:
20
-
21
- class Config:
22
- frozen = True
23
- smart_union = True
24
- extra = pydantic.Extra.allow
@@ -1,21 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- import pydantic
6
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
-
8
-
9
- class CheckFeatureAccessResponse(UniversalBaseModel):
10
- feature_code: str
11
- subject_id: str
12
- feature_access: bool
13
-
14
- if IS_PYDANTIC_V2:
15
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
16
- else:
17
-
18
- class Config:
19
- frozen = True
20
- smart_union = True
21
- extra = pydantic.Extra.allow
@@ -1,21 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- import pydantic
6
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .amount import Amount
8
-
9
-
10
- class CompleteSubscriptionCheckoutResponse(UniversalBaseModel):
11
- id: str
12
- amount: Amount
13
-
14
- if IS_PYDANTIC_V2:
15
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
16
- else:
17
-
18
- class Config:
19
- frozen = True
20
- smart_union = True
21
- extra = pydantic.Extra.allow
@@ -1,27 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- import pydantic
6
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .amount import Amount
8
- from .create_credit_grant_interface_expiration import CreateCreditGrantInterfaceExpiration
9
- from .credit_grant_subject_granting_config_interface import CreditGrantSubjectGrantingConfigInterface
10
-
11
-
12
- class CreateCreditGrantInterface(UniversalBaseModel):
13
- name: str
14
- amount: Amount
15
- metadata: typing.Optional[typing.Dict[str, str]] = None
16
- subject_granting_config: typing.Optional[CreditGrantSubjectGrantingConfigInterface] = None
17
- schedule: typing.Optional[typing.Optional[typing.Any]] = None
18
- expiration: typing.Optional[CreateCreditGrantInterfaceExpiration] = None
19
-
20
- if IS_PYDANTIC_V2:
21
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
22
- else:
23
-
24
- class Config:
25
- frozen = True
26
- smart_union = True
27
- extra = pydantic.Extra.allow
@@ -1,27 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- from __future__ import annotations
4
-
5
- import typing
6
-
7
- import pydantic
8
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
- from .unit import Unit
10
-
11
-
12
- class CreateCreditGrantInterfaceExpiration_Duration(UniversalBaseModel):
13
- expiration_type: typing.Literal["duration"] = "duration"
14
- duration: int
15
- unit: Unit
16
-
17
- if IS_PYDANTIC_V2:
18
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
- else:
20
-
21
- class Config:
22
- frozen = True
23
- smart_union = True
24
- extra = pydantic.Extra.allow
25
-
26
-
27
- CreateCreditGrantInterfaceExpiration = CreateCreditGrantInterfaceExpiration_Duration
@@ -1,5 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- CreateCreditPoolRequest = typing.Optional[typing.Any]
@@ -1,32 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- import pydantic
6
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .create_dimension_interface import CreateDimensionInterface
8
- from .create_pricing_matrix_interface import CreatePricingMatrixInterface
9
- from .create_pricing_metric_interface import CreatePricingMetricInterface
10
-
11
-
12
- class CreateDimensionalUsageBasedRateInterface(UniversalBaseModel):
13
- code: str = pydantic.Field()
14
- """
15
- Code of this rate to be used for overrides and external reference.
16
- """
17
-
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
@@ -1,22 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- import pydantic
6
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .create_dimension_coordinate_interface import CreateDimensionCoordinateInterface
8
- from .price import Price
9
-
10
-
11
- class CreatePricingMatrixCellInterface(UniversalBaseModel):
12
- dimension_coordinates: typing.List[CreateDimensionCoordinateInterface]
13
- price: Price
14
-
15
- if IS_PYDANTIC_V2:
16
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
- else:
18
-
19
- class Config:
20
- frozen = True
21
- smart_union = True
22
- extra = pydantic.Extra.allow
@@ -1,20 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- import pydantic
6
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .create_pricing_matrix_cell_interface import CreatePricingMatrixCellInterface
8
-
9
-
10
- class CreatePricingMatrixInterface(UniversalBaseModel):
11
- cells: typing.List[CreatePricingMatrixCellInterface]
12
-
13
- if IS_PYDANTIC_V2:
14
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
- else:
16
-
17
- class Config:
18
- frozen = True
19
- smart_union = True
20
- extra = pydantic.Extra.allow
@@ -1,5 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- CreatePricingPlanRequest = typing.Optional[typing.Any]
@@ -1,36 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- import pydantic
6
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .create_rate_card_response_billing_interval import CreateRateCardResponseBillingInterval
8
- from .create_rate_card_response_usage_based_rates_item import CreateRateCardResponseUsageBasedRatesItem
9
- from .credit_grant_resource import CreditGrantResource
10
- from .feature_access_resource import FeatureAccessResource
11
- from .fixed_rate_interface import FixedRateInterface
12
-
13
-
14
- class CreateRateCardResponse(UniversalBaseModel):
15
- id: str
16
- name: str
17
- description: str
18
- usage_based_rates: typing.List[CreateRateCardResponseUsageBasedRatesItem]
19
- fixed_rates: typing.List[FixedRateInterface]
20
- billing_interval: CreateRateCardResponseBillingInterval
21
- credit_grants: typing.List[CreditGrantResource]
22
- created_at: str
23
- updated_at: str
24
- major_version: int
25
- minor_version: int
26
- feature_access: typing.List[FeatureAccessResource]
27
- metadata: typing.Dict[str, str]
28
-
29
- if IS_PYDANTIC_V2:
30
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
31
- else:
32
-
33
- class Config:
34
- frozen = True
35
- smart_union = True
36
- extra = pydantic.Extra.allow
@@ -1,5 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- CreateRateCardResponseBillingInterval = typing.Union[typing.Literal["monthly", "yearly"], typing.Any]
@@ -1,58 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- from __future__ import annotations
4
-
5
- import typing
6
-
7
- import pydantic
8
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
- from .dimension_interface import DimensionInterface
10
- from .price import Price
11
- from .pricing_matrix_interface import PricingMatrixInterface
12
- from .pricing_metric_interface import PricingMetricInterface
13
-
14
-
15
- class CreateRateCardResponseUsageBasedRatesItem_Dimensional(UniversalBaseModel):
16
- usage_based_rate_type: typing.Literal["dimensional"] = "dimensional"
17
- id: str
18
- code: str
19
- name: str
20
- description: str
21
- included_units: int
22
- pricing_metric: PricingMetricInterface
23
- dimensions: typing.List[DimensionInterface]
24
- pricing_matrix: PricingMatrixInterface
25
-
26
- if IS_PYDANTIC_V2:
27
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
28
- else:
29
-
30
- class Config:
31
- frozen = True
32
- smart_union = True
33
- extra = pydantic.Extra.allow
34
-
35
-
36
- class CreateRateCardResponseUsageBasedRatesItem_Simple(UniversalBaseModel):
37
- usage_based_rate_type: typing.Literal["simple"] = "simple"
38
- id: str
39
- code: str
40
- name: str
41
- description: str
42
- price: Price
43
- included_units: int
44
- pricing_metric: PricingMetricInterface
45
-
46
- if IS_PYDANTIC_V2:
47
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
48
- else:
49
-
50
- class Config:
51
- frozen = True
52
- smart_union = True
53
- extra = pydantic.Extra.allow
54
-
55
-
56
- CreateRateCardResponseUsageBasedRatesItem = typing.Union[
57
- CreateRateCardResponseUsageBasedRatesItem_Dimensional, CreateRateCardResponseUsageBasedRatesItem_Simple
58
- ]
@@ -1,36 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- import pydantic
6
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .create_rate_card_version_response_billing_interval import CreateRateCardVersionResponseBillingInterval
8
- from .create_rate_card_version_response_usage_based_rates_item import CreateRateCardVersionResponseUsageBasedRatesItem
9
- from .credit_grant_resource import CreditGrantResource
10
- from .feature_access_resource import FeatureAccessResource
11
- from .fixed_rate_interface import FixedRateInterface
12
-
13
-
14
- class CreateRateCardVersionResponse(UniversalBaseModel):
15
- id: str
16
- name: str
17
- description: str
18
- usage_based_rates: typing.List[CreateRateCardVersionResponseUsageBasedRatesItem]
19
- fixed_rates: typing.List[FixedRateInterface]
20
- billing_interval: CreateRateCardVersionResponseBillingInterval
21
- credit_grants: typing.List[CreditGrantResource]
22
- created_at: str
23
- updated_at: str
24
- major_version: int
25
- minor_version: int
26
- feature_access: typing.List[FeatureAccessResource]
27
- metadata: typing.Dict[str, str]
28
-
29
- if IS_PYDANTIC_V2:
30
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
31
- else:
32
-
33
- class Config:
34
- frozen = True
35
- smart_union = True
36
- extra = pydantic.Extra.allow
@@ -1,5 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- CreateRateCardVersionResponseBillingInterval = typing.Union[typing.Literal["monthly", "yearly"], typing.Any]
@@ -1,59 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- from __future__ import annotations
4
-
5
- import typing
6
-
7
- import pydantic
8
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
- from .dimension_interface import DimensionInterface
10
- from .price import Price
11
- from .pricing_matrix_interface import PricingMatrixInterface
12
- from .pricing_metric_interface import PricingMetricInterface
13
-
14
-
15
- class CreateRateCardVersionResponseUsageBasedRatesItem_Dimensional(UniversalBaseModel):
16
- usage_based_rate_type: typing.Literal["dimensional"] = "dimensional"
17
- id: str
18
- code: str
19
- name: str
20
- description: str
21
- included_units: int
22
- pricing_metric: PricingMetricInterface
23
- dimensions: typing.List[DimensionInterface]
24
- pricing_matrix: PricingMatrixInterface
25
-
26
- if IS_PYDANTIC_V2:
27
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
28
- else:
29
-
30
- class Config:
31
- frozen = True
32
- smart_union = True
33
- extra = pydantic.Extra.allow
34
-
35
-
36
- class CreateRateCardVersionResponseUsageBasedRatesItem_Simple(UniversalBaseModel):
37
- usage_based_rate_type: typing.Literal["simple"] = "simple"
38
- id: str
39
- code: str
40
- name: str
41
- description: str
42
- price: Price
43
- included_units: int
44
- pricing_metric: PricingMetricInterface
45
-
46
- if IS_PYDANTIC_V2:
47
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
48
- else:
49
-
50
- class Config:
51
- frozen = True
52
- smart_union = True
53
- extra = pydantic.Extra.allow
54
-
55
-
56
- CreateRateCardVersionResponseUsageBasedRatesItem = typing.Union[
57
- CreateRateCardVersionResponseUsageBasedRatesItem_Dimensional,
58
- CreateRateCardVersionResponseUsageBasedRatesItem_Simple,
59
- ]
@@ -1,5 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- CreditGrant = typing.Optional[typing.Any]
@@ -1,21 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- import pydantic
6
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .unit import Unit
8
-
9
-
10
- class CreditGrantDurationExpirationInterface(UniversalBaseModel):
11
- duration: int
12
- unit: Unit
13
-
14
- if IS_PYDANTIC_V2:
15
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
16
- else:
17
-
18
- class Config:
19
- frozen = True
20
- smart_union = True
21
- extra = pydantic.Extra.allow
@@ -1,21 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- import pydantic
6
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .unit import Unit
8
-
9
-
10
- class CreditGrantDurationExpirationResource(UniversalBaseModel):
11
- duration: int
12
- unit: Unit
13
-
14
- if IS_PYDANTIC_V2:
15
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
16
- else:
17
-
18
- class Config:
19
- frozen = True
20
- smart_union = True
21
- extra = pydantic.Extra.allow
@@ -1,28 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- import pydantic
6
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
- from .amount import Amount
8
- from .credit_grant_interface_output_expiration import CreditGrantInterfaceOutputExpiration
9
- from .credit_grant_interface_output_schedule import CreditGrantInterfaceOutputSchedule
10
- from .credit_grant_subject_granting_config_interface import CreditGrantSubjectGrantingConfigInterface
11
-
12
-
13
- class CreditGrantInterface(UniversalBaseModel):
14
- name: str
15
- amount: Amount
16
- subject_granting_config: typing.Optional[CreditGrantSubjectGrantingConfigInterface] = None
17
- schedule: typing.Optional[CreditGrantInterfaceOutputSchedule] = None
18
- expiration: typing.Optional[CreditGrantInterfaceOutputExpiration] = None
19
- metadata: typing.Dict[str, str]
20
-
21
- if IS_PYDANTIC_V2:
22
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
23
- else:
24
-
25
- class Config:
26
- frozen = True
27
- smart_union = True
28
- extra = pydantic.Extra.allow
@@ -1,27 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- from __future__ import annotations
4
-
5
- import typing
6
-
7
- import pydantic
8
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
- from .unit import Unit
10
-
11
-
12
- class CreditGrantInterfaceInputExpiration_Duration(UniversalBaseModel):
13
- expiration_type: typing.Literal["duration"] = "duration"
14
- duration: int
15
- unit: Unit
16
-
17
- if IS_PYDANTIC_V2:
18
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
- else:
20
-
21
- class Config:
22
- frozen = True
23
- smart_union = True
24
- extra = pydantic.Extra.allow
25
-
26
-
27
- CreditGrantInterfaceInputExpiration = CreditGrantInterfaceInputExpiration_Duration
@@ -1,43 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- from __future__ import annotations
4
-
5
- import typing
6
-
7
- import pydantic
8
- from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
- from .unit import Unit
10
-
11
-
12
- class CreditGrantInterfaceOutputExpiration_Date(UniversalBaseModel):
13
- expiration_type: typing.Literal["date"] = "date"
14
- date: str
15
-
16
- if IS_PYDANTIC_V2:
17
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
18
- else:
19
-
20
- class Config:
21
- frozen = True
22
- smart_union = True
23
- extra = pydantic.Extra.allow
24
-
25
-
26
- class CreditGrantInterfaceOutputExpiration_Duration(UniversalBaseModel):
27
- expiration_type: typing.Literal["duration"] = "duration"
28
- duration: int
29
- unit: Unit
30
-
31
- if IS_PYDANTIC_V2:
32
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
33
- else:
34
-
35
- class Config:
36
- frozen = True
37
- smart_union = True
38
- extra = pydantic.Extra.allow
39
-
40
-
41
- CreditGrantInterfaceOutputExpiration = typing.Union[
42
- CreditGrantInterfaceOutputExpiration_Date, CreditGrantInterfaceOutputExpiration_Duration
43
- ]