Skip to content

Commit f92d492

Browse files
stainless-app[bot]stainless-bot
authored andcommitted
feat(tokens): move condition and policy to shared models (#2158)
1 parent 8c246c1 commit f92d492

20 files changed

+82
-73
lines changed

api.md

+10-14
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ from cloudflare.types import (
2222
Subscription,
2323
SubscriptionComponent,
2424
SubscriptionZone,
25+
Token,
26+
TokenConditionCIDRList,
27+
TokenPolicy,
2528
TokenValue,
2629
)
2730
```
@@ -96,10 +99,10 @@ from cloudflare.types.accounts import TokenCreateResponse, TokenDeleteResponse,
9699
Methods:
97100

98101
- <code title="post /accounts/{account_id}/tokens">client.accounts.tokens.<a href="./src/cloudflare/resources/accounts/tokens/tokens.py">create</a>(\*, account_id, \*\*<a href="src/cloudflare/types/accounts/token_create_params.py">params</a>) -> <a href="./src/cloudflare/types/accounts/token_create_response.py">Optional</a></code>
99-
- <code title="put /accounts/{account_id}/tokens/{token_id}">client.accounts.tokens.<a href="./src/cloudflare/resources/accounts/tokens/tokens.py">update</a>(token_id, \*, account_id, \*\*<a href="src/cloudflare/types/accounts/token_update_params.py">params</a>) -> <a href="./src/cloudflare/types/user/token.py">Optional</a></code>
100-
- <code title="get /accounts/{account_id}/tokens">client.accounts.tokens.<a href="./src/cloudflare/resources/accounts/tokens/tokens.py">list</a>(\*, account_id, \*\*<a href="src/cloudflare/types/accounts/token_list_params.py">params</a>) -> <a href="./src/cloudflare/types/user/token.py">SyncV4PagePaginationArray[Token]</a></code>
102+
- <code title="put /accounts/{account_id}/tokens/{token_id}">client.accounts.tokens.<a href="./src/cloudflare/resources/accounts/tokens/tokens.py">update</a>(token_id, \*, account_id, \*\*<a href="src/cloudflare/types/accounts/token_update_params.py">params</a>) -> <a href="./src/cloudflare/types/shared/token.py">Optional</a></code>
103+
- <code title="get /accounts/{account_id}/tokens">client.accounts.tokens.<a href="./src/cloudflare/resources/accounts/tokens/tokens.py">list</a>(\*, account_id, \*\*<a href="src/cloudflare/types/accounts/token_list_params.py">params</a>) -> <a href="./src/cloudflare/types/shared/token.py">SyncV4PagePaginationArray[Token]</a></code>
101104
- <code title="delete /accounts/{account_id}/tokens/{token_id}">client.accounts.tokens.<a href="./src/cloudflare/resources/accounts/tokens/tokens.py">delete</a>(token_id, \*, account_id) -> <a href="./src/cloudflare/types/accounts/token_delete_response.py">Optional</a></code>
102-
- <code title="get /accounts/{account_id}/tokens/{token_id}">client.accounts.tokens.<a href="./src/cloudflare/resources/accounts/tokens/tokens.py">get</a>(token_id, \*, account_id) -> <a href="./src/cloudflare/types/user/token.py">Optional</a></code>
105+
- <code title="get /accounts/{account_id}/tokens/{token_id}">client.accounts.tokens.<a href="./src/cloudflare/resources/accounts/tokens/tokens.py">get</a>(token_id, \*, account_id) -> <a href="./src/cloudflare/types/shared/token.py">Optional</a></code>
103106
- <code title="get /accounts/{account_id}/tokens/verify">client.accounts.tokens.<a href="./src/cloudflare/resources/accounts/tokens/tokens.py">verify</a>(\*, account_id) -> <a href="./src/cloudflare/types/accounts/token_verify_response.py">Optional</a></code>
104107

105108
### PermissionGroups
@@ -266,23 +269,16 @@ Methods:
266269
Types:
267270

268271
```python
269-
from cloudflare.types.user import (
270-
CIDRList,
271-
Policy,
272-
Token,
273-
TokenCreateResponse,
274-
TokenDeleteResponse,
275-
TokenVerifyResponse,
276-
)
272+
from cloudflare.types.user import TokenCreateResponse, TokenDeleteResponse, TokenVerifyResponse
277273
```
278274

279275
Methods:
280276

281277
- <code title="post /user/tokens">client.user.tokens.<a href="./src/cloudflare/resources/user/tokens/tokens.py">create</a>(\*\*<a href="src/cloudflare/types/user/token_create_params.py">params</a>) -> <a href="./src/cloudflare/types/user/token_create_response.py">Optional</a></code>
282-
- <code title="put /user/tokens/{token_id}">client.user.tokens.<a href="./src/cloudflare/resources/user/tokens/tokens.py">update</a>(token_id, \*\*<a href="src/cloudflare/types/user/token_update_params.py">params</a>) -> <a href="./src/cloudflare/types/user/token.py">Optional</a></code>
283-
- <code title="get /user/tokens">client.user.tokens.<a href="./src/cloudflare/resources/user/tokens/tokens.py">list</a>(\*\*<a href="src/cloudflare/types/user/token_list_params.py">params</a>) -> <a href="./src/cloudflare/types/user/token.py">SyncV4PagePaginationArray[Token]</a></code>
278+
- <code title="put /user/tokens/{token_id}">client.user.tokens.<a href="./src/cloudflare/resources/user/tokens/tokens.py">update</a>(token_id, \*\*<a href="src/cloudflare/types/user/token_update_params.py">params</a>) -> <a href="./src/cloudflare/types/shared/token.py">Optional</a></code>
279+
- <code title="get /user/tokens">client.user.tokens.<a href="./src/cloudflare/resources/user/tokens/tokens.py">list</a>(\*\*<a href="src/cloudflare/types/user/token_list_params.py">params</a>) -> <a href="./src/cloudflare/types/shared/token.py">SyncV4PagePaginationArray[Token]</a></code>
284280
- <code title="delete /user/tokens/{token_id}">client.user.tokens.<a href="./src/cloudflare/resources/user/tokens/tokens.py">delete</a>(token_id) -> <a href="./src/cloudflare/types/user/token_delete_response.py">Optional</a></code>
285-
- <code title="get /user/tokens/{token_id}">client.user.tokens.<a href="./src/cloudflare/resources/user/tokens/tokens.py">get</a>(token_id) -> <a href="./src/cloudflare/types/user/token.py">Optional</a></code>
281+
- <code title="get /user/tokens/{token_id}">client.user.tokens.<a href="./src/cloudflare/resources/user/tokens/tokens.py">get</a>(token_id) -> <a href="./src/cloudflare/types/shared/token.py">Optional</a></code>
286282
- <code title="get /user/tokens/verify">client.user.tokens.<a href="./src/cloudflare/resources/user/tokens/tokens.py">verify</a>() -> <a href="./src/cloudflare/types/user/token_verify_response.py">Optional</a></code>
287283

288284
### PermissionGroups

src/cloudflare/resources/accounts/tokens/tokens.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
PermissionGroupsResourceWithStreamingResponse,
4242
AsyncPermissionGroupsResourceWithStreamingResponse,
4343
)
44-
from ....types.user.token import Token
45-
from ....types.user.policy_param import PolicyParam
44+
from ....types.shared.token import Token
45+
from ....types.shared_params.token_policy import TokenPolicy
4646
from ....types.accounts.token_create_response import TokenCreateResponse
4747
from ....types.accounts.token_delete_response import TokenDeleteResponse
4848
from ....types.accounts.token_verify_response import TokenVerifyResponse
@@ -83,7 +83,7 @@ def create(
8383
*,
8484
account_id: str,
8585
name: str,
86-
policies: Iterable[PolicyParam],
86+
policies: Iterable[TokenPolicy],
8787
condition: token_create_params.Condition | NotGiven = NOT_GIVEN,
8888
expires_on: Union[str, datetime] | NotGiven = NOT_GIVEN,
8989
not_before: Union[str, datetime] | NotGiven = NOT_GIVEN,
@@ -147,7 +147,7 @@ def update(
147147
*,
148148
account_id: str,
149149
name: str,
150-
policies: Iterable[PolicyParam],
150+
policies: Iterable[TokenPolicy],
151151
status: Literal["active", "disabled", "expired"],
152152
condition: token_update_params.Condition | NotGiven = NOT_GIVEN,
153153
expires_on: Union[str, datetime] | NotGiven = NOT_GIVEN,
@@ -430,7 +430,7 @@ async def create(
430430
*,
431431
account_id: str,
432432
name: str,
433-
policies: Iterable[PolicyParam],
433+
policies: Iterable[TokenPolicy],
434434
condition: token_create_params.Condition | NotGiven = NOT_GIVEN,
435435
expires_on: Union[str, datetime] | NotGiven = NOT_GIVEN,
436436
not_before: Union[str, datetime] | NotGiven = NOT_GIVEN,
@@ -494,7 +494,7 @@ async def update(
494494
*,
495495
account_id: str,
496496
name: str,
497-
policies: Iterable[PolicyParam],
497+
policies: Iterable[TokenPolicy],
498498
status: Literal["active", "disabled", "expired"],
499499
condition: token_update_params.Condition | NotGiven = NOT_GIVEN,
500500
expires_on: Union[str, datetime] | NotGiven = NOT_GIVEN,

src/cloudflare/resources/user/tokens/tokens.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
PermissionGroupsResourceWithStreamingResponse,
4242
AsyncPermissionGroupsResourceWithStreamingResponse,
4343
)
44-
from ....types.user.token import Token
45-
from ....types.user.policy_param import PolicyParam
44+
from ....types.shared.token import Token
45+
from ....types.shared_params.token_policy import TokenPolicy
4646
from ....types.user.token_create_response import TokenCreateResponse
4747
from ....types.user.token_delete_response import TokenDeleteResponse
4848
from ....types.user.token_verify_response import TokenVerifyResponse
@@ -82,7 +82,7 @@ def create(
8282
self,
8383
*,
8484
name: str,
85-
policies: Iterable[PolicyParam],
85+
policies: Iterable[TokenPolicy],
8686
condition: token_create_params.Condition | NotGiven = NOT_GIVEN,
8787
expires_on: Union[str, datetime] | NotGiven = NOT_GIVEN,
8888
not_before: Union[str, datetime] | NotGiven = NOT_GIVEN,
@@ -141,7 +141,7 @@ def update(
141141
token_id: str,
142142
*,
143143
name: str,
144-
policies: Iterable[PolicyParam],
144+
policies: Iterable[TokenPolicy],
145145
status: Literal["active", "disabled", "expired"],
146146
condition: token_update_params.Condition | NotGiven = NOT_GIVEN,
147147
expires_on: Union[str, datetime] | NotGiven = NOT_GIVEN,
@@ -388,7 +388,7 @@ async def create(
388388
self,
389389
*,
390390
name: str,
391-
policies: Iterable[PolicyParam],
391+
policies: Iterable[TokenPolicy],
392392
condition: token_create_params.Condition | NotGiven = NOT_GIVEN,
393393
expires_on: Union[str, datetime] | NotGiven = NOT_GIVEN,
394394
not_before: Union[str, datetime] | NotGiven = NOT_GIVEN,
@@ -447,7 +447,7 @@ async def update(
447447
token_id: str,
448448
*,
449449
name: str,
450-
policies: Iterable[PolicyParam],
450+
policies: Iterable[TokenPolicy],
451451
status: Literal["active", "disabled", "expired"],
452452
condition: token_update_params.Condition | NotGiven = NOT_GIVEN,
453453
expires_on: Union[str, datetime] | NotGiven = NOT_GIVEN,

src/cloudflare/types/__init__.py

+3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from .shared import (
66
ASN as ASN,
77
Role as Role,
8+
Token as Token,
89
Member as Member,
910
Result as Result,
1011
AuditLog as AuditLog,
@@ -13,6 +14,7 @@
1314
Identifier as Identifier,
1415
Permission as Permission,
1516
TokenValue as TokenValue,
17+
TokenPolicy as TokenPolicy,
1618
ResponseInfo as ResponseInfo,
1719
Subscription as Subscription,
1820
CertificateCA as CertificateCA,
@@ -24,6 +26,7 @@
2426
LoadBalancerPreview as LoadBalancerPreview,
2527
SubscriptionComponent as SubscriptionComponent,
2628
CertificateRequestType as CertificateRequestType,
29+
TokenConditionCIDRList as TokenConditionCIDRList,
2730
)
2831
from .workflow_list_params import WorkflowListParams as WorkflowListParams
2932
from .workflow_get_response import WorkflowGetResponse as WorkflowGetResponse

src/cloudflare/types/accounts/token_create_params.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
from typing_extensions import Required, Annotated, TypedDict
88

99
from ..._utils import PropertyInfo
10-
from ..user.cidr_list import CIDRList
11-
from ..user.policy_param import PolicyParam
10+
from ..shared_params.token_policy import TokenPolicy
11+
from ..shared.token_condition_cidr_list import TokenConditionCIDRList
1212

1313
__all__ = ["TokenCreateParams", "Condition", "ConditionRequestIP"]
1414

@@ -20,7 +20,7 @@ class TokenCreateParams(TypedDict, total=False):
2020
name: Required[str]
2121
"""Token name."""
2222

23-
policies: Required[Iterable[PolicyParam]]
23+
policies: Required[Iterable[TokenPolicy]]
2424
"""List of access policies assigned to the token."""
2525

2626
condition: Condition
@@ -38,14 +38,14 @@ class TokenCreateParams(TypedDict, total=False):
3838
_ConditionRequestIPReservedKeywords = TypedDict(
3939
"_ConditionRequestIPReservedKeywords",
4040
{
41-
"in": List[CIDRList],
41+
"in": List[TokenConditionCIDRList],
4242
},
4343
total=False,
4444
)
4545

4646

4747
class ConditionRequestIP(_ConditionRequestIPReservedKeywords, total=False):
48-
not_in: List[CIDRList]
48+
not_in: List[TokenConditionCIDRList]
4949
"""List of IPv4/IPv6 CIDR addresses."""
5050

5151

src/cloudflare/types/accounts/token_create_response.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@
77
from pydantic import Field as FieldInfo
88

99
from ..._models import BaseModel
10-
from ..user.policy import Policy
11-
from ..user.cidr_list import CIDRList
1210
from ..shared.token_value import TokenValue
11+
from ..shared.token_policy import TokenPolicy
12+
from ..shared.token_condition_cidr_list import TokenConditionCIDRList
1313

1414
__all__ = ["TokenCreateResponse", "Condition", "ConditionRequestIP"]
1515

1616

1717
class ConditionRequestIP(BaseModel):
18-
in_: Optional[List[CIDRList]] = FieldInfo(alias="in", default=None)
18+
in_: Optional[List[TokenConditionCIDRList]] = FieldInfo(alias="in", default=None)
1919
"""List of IPv4/IPv6 CIDR addresses."""
2020

21-
not_in: Optional[List[CIDRList]] = None
21+
not_in: Optional[List[TokenConditionCIDRList]] = None
2222
"""List of IPv4/IPv6 CIDR addresses."""
2323

2424

@@ -54,7 +54,7 @@ class TokenCreateResponse(BaseModel):
5454
not_before: Optional[datetime] = None
5555
"""The time before which the token MUST NOT be accepted for processing."""
5656

57-
policies: Optional[List[Policy]] = None
57+
policies: Optional[List[TokenPolicy]] = None
5858
"""List of access policies assigned to the token."""
5959

6060
status: Optional[Literal["active", "disabled", "expired"]] = None

src/cloudflare/types/accounts/token_update_params.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
from typing_extensions import Literal, Required, Annotated, TypedDict
88

99
from ..._utils import PropertyInfo
10-
from ..user.cidr_list import CIDRList
11-
from ..user.policy_param import PolicyParam
10+
from ..shared_params.token_policy import TokenPolicy
11+
from ..shared.token_condition_cidr_list import TokenConditionCIDRList
1212

1313
__all__ = ["TokenUpdateParams", "Condition", "ConditionRequestIP"]
1414

@@ -20,7 +20,7 @@ class TokenUpdateParams(TypedDict, total=False):
2020
name: Required[str]
2121
"""Token name."""
2222

23-
policies: Required[Iterable[PolicyParam]]
23+
policies: Required[Iterable[TokenPolicy]]
2424
"""List of access policies assigned to the token."""
2525

2626
status: Required[Literal["active", "disabled", "expired"]]
@@ -41,14 +41,14 @@ class TokenUpdateParams(TypedDict, total=False):
4141
_ConditionRequestIPReservedKeywords = TypedDict(
4242
"_ConditionRequestIPReservedKeywords",
4343
{
44-
"in": List[CIDRList],
44+
"in": List[TokenConditionCIDRList],
4545
},
4646
total=False,
4747
)
4848

4949

5050
class ConditionRequestIP(_ConditionRequestIPReservedKeywords, total=False):
51-
not_in: List[CIDRList]
51+
not_in: List[TokenConditionCIDRList]
5252
"""List of IPv4/IPv6 CIDR addresses."""
5353

5454

src/cloudflare/types/shared/__init__.py

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from .asn import ASN as ASN
44
from .role import Role as Role
5+
from .token import Token as Token
56
from .member import Member as Member
67
from .result import Result as Result
78
from .audit_log import AuditLog as AuditLog
@@ -11,6 +12,7 @@
1112
from .permission import Permission as Permission
1213
from .token_value import TokenValue as TokenValue
1314
from .subscription import Subscription as Subscription
15+
from .token_policy import TokenPolicy as TokenPolicy
1416
from .response_info import ResponseInfo as ResponseInfo
1517
from .certificate_ca import CertificateCA as CertificateCA
1618
from .sort_direction import SortDirection as SortDirection
@@ -21,3 +23,4 @@
2123
from .load_balancer_preview import LoadBalancerPreview as LoadBalancerPreview
2224
from .subscription_component import SubscriptionComponent as SubscriptionComponent
2325
from .certificate_request_type import CertificateRequestType as CertificateRequestType
26+
from .token_condition_cidr_list import TokenConditionCIDRList as TokenConditionCIDRList

src/cloudflare/types/user/token.py src/cloudflare/types/shared/token.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@
66

77
from pydantic import Field as FieldInfo
88

9-
from .policy import Policy
109
from ..._models import BaseModel
11-
from .cidr_list import CIDRList
10+
from .token_policy import TokenPolicy
11+
from .token_condition_cidr_list import TokenConditionCIDRList
1212

1313
__all__ = ["Token", "Condition", "ConditionRequestIP"]
1414

1515

1616
class ConditionRequestIP(BaseModel):
17-
in_: Optional[List[CIDRList]] = FieldInfo(alias="in", default=None)
17+
in_: Optional[List[TokenConditionCIDRList]] = FieldInfo(alias="in", default=None)
1818
"""List of IPv4/IPv6 CIDR addresses."""
1919

20-
not_in: Optional[List[CIDRList]] = None
20+
not_in: Optional[List[TokenConditionCIDRList]] = None
2121
"""List of IPv4/IPv6 CIDR addresses."""
2222

2323

@@ -53,7 +53,7 @@ class Token(BaseModel):
5353
not_before: Optional[datetime] = None
5454
"""The time before which the token MUST NOT be accepted for processing."""
5555

56-
policies: Optional[List[Policy]] = None
56+
policies: Optional[List[TokenPolicy]] = None
5757
"""List of access policies assigned to the token."""
5858

5959
status: Optional[Literal["active", "disabled", "expired"]] = None

src/cloudflare/types/user/cidr_list.py src/cloudflare/types/shared/token_condition_cidr_list.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
from typing_extensions import TypeAlias
44

5-
__all__ = ["CIDRList"]
5+
__all__ = ["TokenConditionCIDRList"]
66

7-
CIDRList: TypeAlias = str
7+
TokenConditionCIDRList: TypeAlias = str

src/cloudflare/types/user/policy.py src/cloudflare/types/shared/token_policy.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
from ..._models import BaseModel
77

8-
__all__ = ["Policy", "PermissionGroup", "PermissionGroupMeta", "Resources"]
8+
__all__ = ["TokenPolicy", "PermissionGroup", "PermissionGroupMeta", "Resources"]
99

1010

1111
class PermissionGroupMeta(BaseModel):
@@ -31,7 +31,7 @@ class Resources(BaseModel):
3131
scope: Optional[str] = None
3232

3333

34-
class Policy(BaseModel):
34+
class TokenPolicy(BaseModel):
3535
id: str
3636
"""Policy identifier."""
3737

src/cloudflare/types/shared_params/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
from .asn import ASN as ASN
44
from .role import Role as Role
55
from .rate_plan import RatePlan as RatePlan
6+
from .token_policy import TokenPolicy as TokenPolicy
67
from .certificate_ca import CertificateCA as CertificateCA
78
from .sort_direction import SortDirection as SortDirection
89
from .permission_grant import PermissionGrant as PermissionGrant
910
from .certificate_request_type import CertificateRequestType as CertificateRequestType
11+
from .token_condition_cidr_list import TokenConditionCIDRList as TokenConditionCIDRList
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import TypeAlias
6+
7+
__all__ = ["TokenConditionCIDRList"]
8+
9+
TokenConditionCIDRList: TypeAlias = str

src/cloudflare/types/user/policy_param.py src/cloudflare/types/shared_params/token_policy.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from typing import Iterable
66
from typing_extensions import Literal, Required, TypedDict
77

8-
__all__ = ["PolicyParam", "PermissionGroup", "PermissionGroupMeta", "Resources"]
8+
__all__ = ["TokenPolicy", "PermissionGroup", "PermissionGroupMeta", "Resources"]
99

1010

1111
class PermissionGroupMeta(TypedDict, total=False):
@@ -25,7 +25,7 @@ class Resources(TypedDict, total=False):
2525
scope: str
2626

2727

28-
class PolicyParam(TypedDict, total=False):
28+
class TokenPolicy(TypedDict, total=False):
2929
effect: Required[Literal["allow", "deny"]]
3030
"""Allow or deny operations against the resources."""
3131

0 commit comments

Comments
 (0)