Skip to content

Commit dade461

Browse files
chore(internal): regenerate SDK with no functional changes
1 parent 91f4028 commit dade461

7 files changed

Lines changed: 224 additions & 4 deletions

File tree

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 188
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-050eca03eeda44dc07b8f05a293b2b943d6a7f1608ba404b6bef74ca9224e060.yml
3-
openapi_spec_hash: b6e9f731752fef461559dcaa9aa63a02
4-
config_hash: 8799cfd589579f105ef8696a6d664c71
1+
configured_endpoints: 189
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-215dc6b4a60a59c6ab935684d1c8a8901e970a7ea9cce62b7dba51d9ec161318.yml
3+
openapi_spec_hash: 21ea7542d2222e3c825b8c337ddf4a99
4+
config_hash: 2e69ca9699ec18d9d7337604821d3091

api.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ Types:
9696
from lithic.types.auth_rules import (
9797
AuthRule,
9898
AuthRuleCondition,
99+
AuthRuleVersion,
99100
BacktestStats,
100101
Conditional3DSActionParameters,
101102
ConditionalACHActionParameters,
@@ -114,6 +115,7 @@ from lithic.types.auth_rules import (
114115
VelocityLimitParams,
115116
VelocityLimitPeriod,
116117
V2ListResultsResponse,
118+
V2ListVersionsResponse,
117119
V2RetrieveFeaturesResponse,
118120
V2RetrieveReportResponse,
119121
)
@@ -128,6 +130,7 @@ Methods:
128130
- <code title="delete /v2/auth_rules/{auth_rule_token}">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">delete</a>(auth_rule_token) -> None</code>
129131
- <code title="post /v2/auth_rules/{auth_rule_token}/draft">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">draft</a>(auth_rule_token, \*\*<a href="src/lithic/types/auth_rules/v2_draft_params.py">params</a>) -> <a href="./src/lithic/types/auth_rules/auth_rule.py">AuthRule</a></code>
130132
- <code title="get /v2/auth_rules/results">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">list_results</a>(\*\*<a href="src/lithic/types/auth_rules/v2_list_results_params.py">params</a>) -> <a href="./src/lithic/types/auth_rules/v2_list_results_response.py">SyncCursorPage[V2ListResultsResponse]</a></code>
133+
- <code title="get /v2/auth_rules/{auth_rule_token}/versions">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">list_versions</a>(auth_rule_token) -> <a href="./src/lithic/types/auth_rules/v2_list_versions_response.py">V2ListVersionsResponse</a></code>
131134
- <code title="post /v2/auth_rules/{auth_rule_token}/promote">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">promote</a>(auth_rule_token) -> <a href="./src/lithic/types/auth_rules/auth_rule.py">AuthRule</a></code>
132135
- <code title="get /v2/auth_rules/{auth_rule_token}/features">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">retrieve_features</a>(auth_rule_token, \*\*<a href="src/lithic/types/auth_rules/v2_retrieve_features_params.py">params</a>) -> <a href="./src/lithic/types/auth_rules/v2_retrieve_features_response.py">V2RetrieveFeaturesResponse</a></code>
133136
- <code title="get /v2/auth_rules/{auth_rule_token}/report">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">retrieve_report</a>(auth_rule_token, \*\*<a href="src/lithic/types/auth_rules/v2_retrieve_report_params.py">params</a>) -> <a href="./src/lithic/types/auth_rules/v2_retrieve_report_response.py">V2RetrieveReportResponse</a></code>

src/lithic/resources/auth_rules/v2/v2.py

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
from ....types.auth_rules.auth_rule import AuthRule
3838
from ....types.auth_rules.event_stream import EventStream
3939
from ....types.auth_rules.v2_list_results_response import V2ListResultsResponse
40+
from ....types.auth_rules.v2_list_versions_response import V2ListVersionsResponse
4041
from ....types.auth_rules.v2_retrieve_report_response import V2RetrieveReportResponse
4142
from ....types.auth_rules.v2_retrieve_features_response import V2RetrieveFeaturesResponse
4243

@@ -738,6 +739,40 @@ def list_results(
738739
model=cast(Any, V2ListResultsResponse), # Union types cannot be passed in as arguments in the type system
739740
)
740741

742+
def list_versions(
743+
self,
744+
auth_rule_token: str,
745+
*,
746+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
747+
# The extra values given here take precedence over values defined on the client or passed to this method.
748+
extra_headers: Headers | None = None,
749+
extra_query: Query | None = None,
750+
extra_body: Body | None = None,
751+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
752+
) -> V2ListVersionsResponse:
753+
"""
754+
Returns all versions of an auth rule, sorted by version number descending
755+
(newest first).
756+
757+
Args:
758+
extra_headers: Send extra headers
759+
760+
extra_query: Add additional query parameters to the request
761+
762+
extra_body: Add additional JSON properties to the request
763+
764+
timeout: Override the client-level default timeout for this request, in seconds
765+
"""
766+
if not auth_rule_token:
767+
raise ValueError(f"Expected a non-empty value for `auth_rule_token` but received {auth_rule_token!r}")
768+
return self._get(
769+
f"/v2/auth_rules/{auth_rule_token}/versions",
770+
options=make_request_options(
771+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
772+
),
773+
cast_to=V2ListVersionsResponse,
774+
)
775+
741776
def promote(
742777
self,
743778
auth_rule_token: str,
@@ -1582,6 +1617,40 @@ def list_results(
15821617
model=cast(Any, V2ListResultsResponse), # Union types cannot be passed in as arguments in the type system
15831618
)
15841619

1620+
async def list_versions(
1621+
self,
1622+
auth_rule_token: str,
1623+
*,
1624+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1625+
# The extra values given here take precedence over values defined on the client or passed to this method.
1626+
extra_headers: Headers | None = None,
1627+
extra_query: Query | None = None,
1628+
extra_body: Body | None = None,
1629+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
1630+
) -> V2ListVersionsResponse:
1631+
"""
1632+
Returns all versions of an auth rule, sorted by version number descending
1633+
(newest first).
1634+
1635+
Args:
1636+
extra_headers: Send extra headers
1637+
1638+
extra_query: Add additional query parameters to the request
1639+
1640+
extra_body: Add additional JSON properties to the request
1641+
1642+
timeout: Override the client-level default timeout for this request, in seconds
1643+
"""
1644+
if not auth_rule_token:
1645+
raise ValueError(f"Expected a non-empty value for `auth_rule_token` but received {auth_rule_token!r}")
1646+
return await self._get(
1647+
f"/v2/auth_rules/{auth_rule_token}/versions",
1648+
options=make_request_options(
1649+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1650+
),
1651+
cast_to=V2ListVersionsResponse,
1652+
)
1653+
15851654
async def promote(
15861655
self,
15871656
auth_rule_token: str,
@@ -1756,6 +1825,9 @@ def __init__(self, v2: V2) -> None:
17561825
self.list_results = _legacy_response.to_raw_response_wrapper(
17571826
v2.list_results,
17581827
)
1828+
self.list_versions = _legacy_response.to_raw_response_wrapper(
1829+
v2.list_versions,
1830+
)
17591831
self.promote = _legacy_response.to_raw_response_wrapper(
17601832
v2.promote,
17611833
)
@@ -1796,6 +1868,9 @@ def __init__(self, v2: AsyncV2) -> None:
17961868
self.list_results = _legacy_response.async_to_raw_response_wrapper(
17971869
v2.list_results,
17981870
)
1871+
self.list_versions = _legacy_response.async_to_raw_response_wrapper(
1872+
v2.list_versions,
1873+
)
17991874
self.promote = _legacy_response.async_to_raw_response_wrapper(
18001875
v2.promote,
18011876
)
@@ -1836,6 +1911,9 @@ def __init__(self, v2: V2) -> None:
18361911
self.list_results = to_streamed_response_wrapper(
18371912
v2.list_results,
18381913
)
1914+
self.list_versions = to_streamed_response_wrapper(
1915+
v2.list_versions,
1916+
)
18391917
self.promote = to_streamed_response_wrapper(
18401918
v2.promote,
18411919
)
@@ -1876,6 +1954,9 @@ def __init__(self, v2: AsyncV2) -> None:
18761954
self.list_results = async_to_streamed_response_wrapper(
18771955
v2.list_results,
18781956
)
1957+
self.list_versions = async_to_streamed_response_wrapper(
1958+
v2.list_versions,
1959+
)
18791960
self.promote = async_to_streamed_response_wrapper(
18801961
v2.promote,
18811962
)

src/lithic/types/auth_rules/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from .v2_draft_params import V2DraftParams as V2DraftParams
1212
from .v2_create_params import V2CreateParams as V2CreateParams
1313
from .v2_update_params import V2UpdateParams as V2UpdateParams
14+
from .auth_rule_version import AuthRuleVersion as AuthRuleVersion
1415
from .conditional_value import ConditionalValue as ConditionalValue
1516
from .rule_feature_param import RuleFeatureParam as RuleFeatureParam
1617
from .auth_rule_condition import AuthRuleCondition as AuthRuleCondition
@@ -24,6 +25,7 @@
2425
from .merchant_lock_parameters import MerchantLockParameters as MerchantLockParameters
2526
from .v2_list_results_response import V2ListResultsResponse as V2ListResultsResponse
2627
from .auth_rule_condition_param import AuthRuleConditionParam as AuthRuleConditionParam
28+
from .v2_list_versions_response import V2ListVersionsResponse as V2ListVersionsResponse
2729
from .v2_retrieve_report_params import V2RetrieveReportParams as V2RetrieveReportParams
2830
from .typescript_code_parameters import TypescriptCodeParameters as TypescriptCodeParameters
2931
from .v2_retrieve_features_params import V2RetrieveFeaturesParams as V2RetrieveFeaturesParams
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from typing import Union
4+
from datetime import datetime
5+
from typing_extensions import Literal, TypeAlias
6+
7+
from ..._models import BaseModel
8+
from .velocity_limit_params import VelocityLimitParams
9+
from .merchant_lock_parameters import MerchantLockParameters
10+
from .typescript_code_parameters import TypescriptCodeParameters
11+
from .conditional_block_parameters import ConditionalBlockParameters
12+
from .conditional_3ds_action_parameters import Conditional3DSActionParameters
13+
from .conditional_ach_action_parameters import ConditionalACHActionParameters
14+
from .conditional_tokenization_action_parameters import ConditionalTokenizationActionParameters
15+
from .conditional_authorization_action_parameters import ConditionalAuthorizationActionParameters
16+
17+
__all__ = ["AuthRuleVersion", "Parameters"]
18+
19+
Parameters: TypeAlias = Union[
20+
ConditionalBlockParameters,
21+
VelocityLimitParams,
22+
MerchantLockParameters,
23+
Conditional3DSActionParameters,
24+
ConditionalAuthorizationActionParameters,
25+
ConditionalACHActionParameters,
26+
ConditionalTokenizationActionParameters,
27+
TypescriptCodeParameters,
28+
]
29+
30+
31+
class AuthRuleVersion(BaseModel):
32+
created: datetime
33+
"""Timestamp of when this version was created."""
34+
35+
parameters: Parameters
36+
"""Parameters for the Auth Rule"""
37+
38+
state: Literal["ACTIVE", "SHADOW", "INACTIVE"]
39+
"""The current state of this version."""
40+
41+
version: int
42+
"""
43+
The version of the rule, this is incremented whenever the rule's parameters
44+
change.
45+
"""
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from typing import List
4+
5+
from ..._models import BaseModel
6+
from .auth_rule_version import AuthRuleVersion
7+
8+
__all__ = ["V2ListVersionsResponse"]
9+
10+
11+
class V2ListVersionsResponse(BaseModel):
12+
data: List[AuthRuleVersion]

tests/api_resources/auth_rules/test_v2.py

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from lithic.types.auth_rules import (
1515
AuthRule,
1616
V2ListResultsResponse,
17+
V2ListVersionsResponse,
1718
V2RetrieveReportResponse,
1819
V2RetrieveFeaturesResponse,
1920
)
@@ -622,6 +623,44 @@ def test_streaming_response_list_results(self, client: Lithic) -> None:
622623

623624
assert cast(Any, response.is_closed) is True
624625

626+
@parametrize
627+
def test_method_list_versions(self, client: Lithic) -> None:
628+
v2 = client.auth_rules.v2.list_versions(
629+
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
630+
)
631+
assert_matches_type(V2ListVersionsResponse, v2, path=["response"])
632+
633+
@parametrize
634+
def test_raw_response_list_versions(self, client: Lithic) -> None:
635+
response = client.auth_rules.v2.with_raw_response.list_versions(
636+
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
637+
)
638+
639+
assert response.is_closed is True
640+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
641+
v2 = response.parse()
642+
assert_matches_type(V2ListVersionsResponse, v2, path=["response"])
643+
644+
@parametrize
645+
def test_streaming_response_list_versions(self, client: Lithic) -> None:
646+
with client.auth_rules.v2.with_streaming_response.list_versions(
647+
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
648+
) as response:
649+
assert not response.is_closed
650+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
651+
652+
v2 = response.parse()
653+
assert_matches_type(V2ListVersionsResponse, v2, path=["response"])
654+
655+
assert cast(Any, response.is_closed) is True
656+
657+
@parametrize
658+
def test_path_params_list_versions(self, client: Lithic) -> None:
659+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `auth_rule_token` but received ''"):
660+
client.auth_rules.v2.with_raw_response.list_versions(
661+
"",
662+
)
663+
625664
@parametrize
626665
def test_method_promote(self, client: Lithic) -> None:
627666
v2 = client.auth_rules.v2.promote(
@@ -1357,6 +1396,44 @@ async def test_streaming_response_list_results(self, async_client: AsyncLithic)
13571396

13581397
assert cast(Any, response.is_closed) is True
13591398

1399+
@parametrize
1400+
async def test_method_list_versions(self, async_client: AsyncLithic) -> None:
1401+
v2 = await async_client.auth_rules.v2.list_versions(
1402+
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
1403+
)
1404+
assert_matches_type(V2ListVersionsResponse, v2, path=["response"])
1405+
1406+
@parametrize
1407+
async def test_raw_response_list_versions(self, async_client: AsyncLithic) -> None:
1408+
response = await async_client.auth_rules.v2.with_raw_response.list_versions(
1409+
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
1410+
)
1411+
1412+
assert response.is_closed is True
1413+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
1414+
v2 = response.parse()
1415+
assert_matches_type(V2ListVersionsResponse, v2, path=["response"])
1416+
1417+
@parametrize
1418+
async def test_streaming_response_list_versions(self, async_client: AsyncLithic) -> None:
1419+
async with async_client.auth_rules.v2.with_streaming_response.list_versions(
1420+
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
1421+
) as response:
1422+
assert not response.is_closed
1423+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
1424+
1425+
v2 = await response.parse()
1426+
assert_matches_type(V2ListVersionsResponse, v2, path=["response"])
1427+
1428+
assert cast(Any, response.is_closed) is True
1429+
1430+
@parametrize
1431+
async def test_path_params_list_versions(self, async_client: AsyncLithic) -> None:
1432+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `auth_rule_token` but received ''"):
1433+
await async_client.auth_rules.v2.with_raw_response.list_versions(
1434+
"",
1435+
)
1436+
13601437
@parametrize
13611438
async def test_method_promote(self, async_client: AsyncLithic) -> None:
13621439
v2 = await async_client.auth_rules.v2.promote(

0 commit comments

Comments
 (0)