Skip to content

Commit 49a3447

Browse files
stainless-app[bot]stainless-bot
authored andcommitted
feat(api): OpenAPI spec update via Stainless API (#1171)
1 parent 915c1d7 commit 49a3447

File tree

7 files changed

+80
-80
lines changed

7 files changed

+80
-80
lines changed

.stats.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
configured_endpoints: 1254
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-e14edb011f329e0b47ce2b207acc1a5b84a48c3eace9ea30600bb4d5d745eaef.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-c06ed89df76febdc32fc835c9d37220c0400821d24f9707c3484054e78e1d94e.yml

api.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -3328,7 +3328,7 @@ from cloudflare.types.intel.attack_surface_report import IssueTypeGetResponse
33283328

33293329
Methods:
33303330

3331-
- <code title="get /accounts/{account_id}/intel/attack-surface-report/issue-types">client.intel.attack_surface_report.issue_types.<a href="./src/cloudflare/resources/intel/attack_surface_report/issue_types.py">get</a>(\*, account_id) -> <a href="./src/cloudflare/types/intel/attack_surface_report/issue_type_get_response.py">IssueTypeGetResponse</a></code>
3331+
- <code title="get /accounts/{account_id}/intel/attack-surface-report/issue-types">client.intel.attack_surface_report.issue_types.<a href="./src/cloudflare/resources/intel/attack_surface_report/issue_types.py">get</a>(\*, account_id) -> <a href="./src/cloudflare/types/intel/attack_surface_report/issue_type_get_response.py">Optional</a></code>
33323332

33333333
### Issues
33343334

@@ -3349,10 +3349,10 @@ from cloudflare.types.intel.attack_surface_report import (
33493349
Methods:
33503350

33513351
- <code title="get /accounts/{account_id}/intel/attack-surface-report/issues">client.intel.attack_surface_report.issues.<a href="./src/cloudflare/resources/intel/attack_surface_report/issues.py">list</a>(\*, account_id, \*\*<a href="src/cloudflare/types/intel/attack_surface_report/issue_list_params.py">params</a>) -> <a href="./src/cloudflare/types/intel/attack_surface_report/issue_list_response.py">SyncV4PagePagination[IssueListResponse]</a></code>
3352-
- <code title="get /accounts/{account_id}/intel/attack-surface-report/issues/class">client.intel.attack*surface_report.issues.<a href="./src/cloudflare/resources/intel/attack_surface_report/issues.py">class*</a>(\*, account_id, \*\*<a href="src/cloudflare/types/intel/attack_surface_report/issue_class_params.py">params</a>) -> <a href="./src/cloudflare/types/intel/attack_surface_report/issue_class_response.py">IssueClassResponse</a></code>
3353-
- <code title="put /accounts/{account_id}/intel/attack-surface-report/{issue_id}/dismiss">client.intel.attack_surface_report.issues.<a href="./src/cloudflare/resources/intel/attack_surface_report/issues.py">dismiss</a>(issue_id, \*, account_id, \*\*<a href="src/cloudflare/types/intel/attack_surface_report/issue_dismiss_params.py">params</a>) -> <a href="./src/cloudflare/types/intel/attack_surface_report/issue_dismiss_response.py">IssueDismissResponse</a></code>
3354-
- <code title="get /accounts/{account_id}/intel/attack-surface-report/issues/severity">client.intel.attack_surface_report.issues.<a href="./src/cloudflare/resources/intel/attack_surface_report/issues.py">severity</a>(\*, account_id, \*\*<a href="src/cloudflare/types/intel/attack_surface_report/issue_severity_params.py">params</a>) -> <a href="./src/cloudflare/types/intel/attack_surface_report/issue_severity_response.py">IssueSeverityResponse</a></code>
3355-
- <code title="get /accounts/{account_id}/intel/attack-surface-report/issues/type">client.intel.attack_surface_report.issues.<a href="./src/cloudflare/resources/intel/attack_surface_report/issues.py">type</a>(\*, account_id, \*\*<a href="src/cloudflare/types/intel/attack_surface_report/issue_type_params.py">params</a>) -> <a href="./src/cloudflare/types/intel/attack_surface_report/issue_type_response.py">IssueTypeResponse</a></code>
3352+
- <code title="get /accounts/{account_id}/intel/attack-surface-report/issues/class">client.intel.attack*surface_report.issues.<a href="./src/cloudflare/resources/intel/attack_surface_report/issues.py">class*</a>(\*, account_id, \*\*<a href="src/cloudflare/types/intel/attack_surface_report/issue_class_params.py">params</a>) -> <a href="./src/cloudflare/types/intel/attack_surface_report/issue_class_response.py">Optional</a></code>
3353+
- <code title="put /accounts/{account_id}/intel/attack-surface-report/{issue_id}/dismiss">client.intel.attack_surface_report.issues.<a href="./src/cloudflare/resources/intel/attack_surface_report/issues.py">dismiss</a>(issue_id, \*, account_id, \*\*<a href="src/cloudflare/types/intel/attack_surface_report/issue_dismiss_params.py">params</a>) -> <a href="./src/cloudflare/types/intel/attack_surface_report/issue_dismiss_response.py">Optional</a></code>
3354+
- <code title="get /accounts/{account_id}/intel/attack-surface-report/issues/severity">client.intel.attack_surface_report.issues.<a href="./src/cloudflare/resources/intel/attack_surface_report/issues.py">severity</a>(\*, account_id, \*\*<a href="src/cloudflare/types/intel/attack_surface_report/issue_severity_params.py">params</a>) -> <a href="./src/cloudflare/types/intel/attack_surface_report/issue_severity_response.py">Optional</a></code>
3355+
- <code title="get /accounts/{account_id}/intel/attack-surface-report/issues/type">client.intel.attack_surface_report.issues.<a href="./src/cloudflare/resources/intel/attack_surface_report/issues.py">type</a>(\*, account_id, \*\*<a href="src/cloudflare/types/intel/attack_surface_report/issue_type_params.py">params</a>) -> <a href="./src/cloudflare/types/intel/attack_surface_report/issue_type_response.py">Optional</a></code>
33563356

33573357
# MagicTransit
33583358

src/cloudflare/resources/intel/attack_surface_report/issue_types.py

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

33
from __future__ import annotations
44

5-
from typing import Type, cast
5+
from typing import Type, Optional, cast
66

77
import httpx
88

@@ -43,7 +43,7 @@ def get(
4343
extra_query: Query | None = None,
4444
extra_body: Body | None = None,
4545
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
46-
) -> IssueTypeGetResponse:
46+
) -> Optional[IssueTypeGetResponse]:
4747
"""
4848
Get Security Center Issues Types
4949
@@ -67,9 +67,9 @@ def get(
6767
extra_query=extra_query,
6868
extra_body=extra_body,
6969
timeout=timeout,
70-
post_parser=ResultWrapper[IssueTypeGetResponse]._unwrapper,
70+
post_parser=ResultWrapper[Optional[IssueTypeGetResponse]]._unwrapper,
7171
),
72-
cast_to=cast(Type[IssueTypeGetResponse], ResultWrapper[IssueTypeGetResponse]),
72+
cast_to=cast(Type[Optional[IssueTypeGetResponse]], ResultWrapper[IssueTypeGetResponse]),
7373
)
7474

7575

@@ -92,7 +92,7 @@ async def get(
9292
extra_query: Query | None = None,
9393
extra_body: Body | None = None,
9494
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
95-
) -> IssueTypeGetResponse:
95+
) -> Optional[IssueTypeGetResponse]:
9696
"""
9797
Get Security Center Issues Types
9898
@@ -116,9 +116,9 @@ async def get(
116116
extra_query=extra_query,
117117
extra_body=extra_body,
118118
timeout=timeout,
119-
post_parser=ResultWrapper[IssueTypeGetResponse]._unwrapper,
119+
post_parser=ResultWrapper[Optional[IssueTypeGetResponse]]._unwrapper,
120120
),
121-
cast_to=cast(Type[IssueTypeGetResponse], ResultWrapper[IssueTypeGetResponse]),
121+
cast_to=cast(Type[Optional[IssueTypeGetResponse]], ResultWrapper[IssueTypeGetResponse]),
122122
)
123123

124124

src/cloudflare/resources/intel/attack_surface_report/issues.py

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

33
from __future__ import annotations
44

5-
from typing import Any, List, Type, cast
5+
from typing import Any, List, Type, Optional, cast
66

77
import httpx
88

@@ -147,7 +147,7 @@ def class_(
147147
extra_query: Query | None = None,
148148
extra_body: Body | None = None,
149149
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
150-
) -> IssueClassResponse:
150+
) -> Optional[IssueClassResponse]:
151151
"""
152152
Get Security Center Issue Counts by Class
153153
@@ -187,9 +187,9 @@ def class_(
187187
},
188188
issue_class_params.IssueClassParams,
189189
),
190-
post_parser=ResultWrapper[IssueClassResponse]._unwrapper,
190+
post_parser=ResultWrapper[Optional[IssueClassResponse]]._unwrapper,
191191
),
192-
cast_to=cast(Type[IssueClassResponse], ResultWrapper[IssueClassResponse]),
192+
cast_to=cast(Type[Optional[IssueClassResponse]], ResultWrapper[IssueClassResponse]),
193193
)
194194

195195
def dismiss(
@@ -204,7 +204,7 @@ def dismiss(
204204
extra_query: Query | None = None,
205205
extra_body: Body | None = None,
206206
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
207-
) -> IssueDismissResponse:
207+
) -> Optional[IssueDismissResponse]:
208208
"""
209209
Archive Security Center Insight
210210
@@ -224,7 +224,7 @@ def dismiss(
224224
if not issue_id:
225225
raise ValueError(f"Expected a non-empty value for `issue_id` but received {issue_id!r}")
226226
return cast(
227-
IssueDismissResponse,
227+
Optional[IssueDismissResponse],
228228
self._put(
229229
f"/accounts/{account_id}/intel/attack-surface-report/{issue_id}/dismiss",
230230
body=maybe_transform({"dismiss": dismiss}, issue_dismiss_params.IssueDismissParams),
@@ -233,7 +233,7 @@ def dismiss(
233233
extra_query=extra_query,
234234
extra_body=extra_body,
235235
timeout=timeout,
236-
post_parser=ResultWrapper[IssueDismissResponse]._unwrapper,
236+
post_parser=ResultWrapper[Optional[IssueDismissResponse]]._unwrapper,
237237
),
238238
cast_to=cast(
239239
Any, ResultWrapper[IssueDismissResponse]
@@ -262,7 +262,7 @@ def severity(
262262
extra_query: Query | None = None,
263263
extra_body: Body | None = None,
264264
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
265-
) -> IssueSeverityResponse:
265+
) -> Optional[IssueSeverityResponse]:
266266
"""
267267
Get Security Center Issue Counts by Severity
268268
@@ -302,9 +302,9 @@ def severity(
302302
},
303303
issue_severity_params.IssueSeverityParams,
304304
),
305-
post_parser=ResultWrapper[IssueSeverityResponse]._unwrapper,
305+
post_parser=ResultWrapper[Optional[IssueSeverityResponse]]._unwrapper,
306306
),
307-
cast_to=cast(Type[IssueSeverityResponse], ResultWrapper[IssueSeverityResponse]),
307+
cast_to=cast(Type[Optional[IssueSeverityResponse]], ResultWrapper[IssueSeverityResponse]),
308308
)
309309

310310
def type(
@@ -328,7 +328,7 @@ def type(
328328
extra_query: Query | None = None,
329329
extra_body: Body | None = None,
330330
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
331-
) -> IssueTypeResponse:
331+
) -> Optional[IssueTypeResponse]:
332332
"""
333333
Get Security Center Issue Counts by Type
334334
@@ -368,9 +368,9 @@ def type(
368368
},
369369
issue_type_params.IssueTypeParams,
370370
),
371-
post_parser=ResultWrapper[IssueTypeResponse]._unwrapper,
371+
post_parser=ResultWrapper[Optional[IssueTypeResponse]]._unwrapper,
372372
),
373-
cast_to=cast(Type[IssueTypeResponse], ResultWrapper[IssueTypeResponse]),
373+
cast_to=cast(Type[Optional[IssueTypeResponse]], ResultWrapper[IssueTypeResponse]),
374374
)
375375

376376

@@ -478,7 +478,7 @@ async def class_(
478478
extra_query: Query | None = None,
479479
extra_body: Body | None = None,
480480
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
481-
) -> IssueClassResponse:
481+
) -> Optional[IssueClassResponse]:
482482
"""
483483
Get Security Center Issue Counts by Class
484484
@@ -518,9 +518,9 @@ async def class_(
518518
},
519519
issue_class_params.IssueClassParams,
520520
),
521-
post_parser=ResultWrapper[IssueClassResponse]._unwrapper,
521+
post_parser=ResultWrapper[Optional[IssueClassResponse]]._unwrapper,
522522
),
523-
cast_to=cast(Type[IssueClassResponse], ResultWrapper[IssueClassResponse]),
523+
cast_to=cast(Type[Optional[IssueClassResponse]], ResultWrapper[IssueClassResponse]),
524524
)
525525

526526
async def dismiss(
@@ -535,7 +535,7 @@ async def dismiss(
535535
extra_query: Query | None = None,
536536
extra_body: Body | None = None,
537537
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
538-
) -> IssueDismissResponse:
538+
) -> Optional[IssueDismissResponse]:
539539
"""
540540
Archive Security Center Insight
541541
@@ -555,7 +555,7 @@ async def dismiss(
555555
if not issue_id:
556556
raise ValueError(f"Expected a non-empty value for `issue_id` but received {issue_id!r}")
557557
return cast(
558-
IssueDismissResponse,
558+
Optional[IssueDismissResponse],
559559
await self._put(
560560
f"/accounts/{account_id}/intel/attack-surface-report/{issue_id}/dismiss",
561561
body=await async_maybe_transform({"dismiss": dismiss}, issue_dismiss_params.IssueDismissParams),
@@ -564,7 +564,7 @@ async def dismiss(
564564
extra_query=extra_query,
565565
extra_body=extra_body,
566566
timeout=timeout,
567-
post_parser=ResultWrapper[IssueDismissResponse]._unwrapper,
567+
post_parser=ResultWrapper[Optional[IssueDismissResponse]]._unwrapper,
568568
),
569569
cast_to=cast(
570570
Any, ResultWrapper[IssueDismissResponse]
@@ -593,7 +593,7 @@ async def severity(
593593
extra_query: Query | None = None,
594594
extra_body: Body | None = None,
595595
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
596-
) -> IssueSeverityResponse:
596+
) -> Optional[IssueSeverityResponse]:
597597
"""
598598
Get Security Center Issue Counts by Severity
599599
@@ -633,9 +633,9 @@ async def severity(
633633
},
634634
issue_severity_params.IssueSeverityParams,
635635
),
636-
post_parser=ResultWrapper[IssueSeverityResponse]._unwrapper,
636+
post_parser=ResultWrapper[Optional[IssueSeverityResponse]]._unwrapper,
637637
),
638-
cast_to=cast(Type[IssueSeverityResponse], ResultWrapper[IssueSeverityResponse]),
638+
cast_to=cast(Type[Optional[IssueSeverityResponse]], ResultWrapper[IssueSeverityResponse]),
639639
)
640640

641641
async def type(
@@ -659,7 +659,7 @@ async def type(
659659
extra_query: Query | None = None,
660660
extra_body: Body | None = None,
661661
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
662-
) -> IssueTypeResponse:
662+
) -> Optional[IssueTypeResponse]:
663663
"""
664664
Get Security Center Issue Counts by Type
665665
@@ -699,9 +699,9 @@ async def type(
699699
},
700700
issue_type_params.IssueTypeParams,
701701
),
702-
post_parser=ResultWrapper[IssueTypeResponse]._unwrapper,
702+
post_parser=ResultWrapper[Optional[IssueTypeResponse]]._unwrapper,
703703
),
704-
cast_to=cast(Type[IssueTypeResponse], ResultWrapper[IssueTypeResponse]),
704+
cast_to=cast(Type[Optional[IssueTypeResponse]], ResultWrapper[IssueTypeResponse]),
705705
)
706706

707707

src/cloudflare/types/intel/attack_surface_report/issue_list_response.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class IssueListResponse(BaseModel):
5353

5454
messages: List[ResponseInfo]
5555

56-
result: Result
57-
5856
success: Literal[True]
5957
"""Whether the API call was successful"""
58+
59+
result: Optional[Result] = None

tests/api_resources/intel/attack_surface_report/test_issue_types.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from __future__ import annotations
44

55
import os
6-
from typing import Any, cast
6+
from typing import Any, Optional, cast
77

88
import pytest
99

@@ -22,7 +22,7 @@ def test_method_get(self, client: Cloudflare) -> None:
2222
issue_type = client.intel.attack_surface_report.issue_types.get(
2323
account_id="023e105f4ecef8ad9ca31a8372d0c353",
2424
)
25-
assert_matches_type(IssueTypeGetResponse, issue_type, path=["response"])
25+
assert_matches_type(Optional[IssueTypeGetResponse], issue_type, path=["response"])
2626

2727
@parametrize
2828
def test_raw_response_get(self, client: Cloudflare) -> None:
@@ -33,7 +33,7 @@ def test_raw_response_get(self, client: Cloudflare) -> None:
3333
assert response.is_closed is True
3434
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
3535
issue_type = response.parse()
36-
assert_matches_type(IssueTypeGetResponse, issue_type, path=["response"])
36+
assert_matches_type(Optional[IssueTypeGetResponse], issue_type, path=["response"])
3737

3838
@parametrize
3939
def test_streaming_response_get(self, client: Cloudflare) -> None:
@@ -44,7 +44,7 @@ def test_streaming_response_get(self, client: Cloudflare) -> None:
4444
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
4545

4646
issue_type = response.parse()
47-
assert_matches_type(IssueTypeGetResponse, issue_type, path=["response"])
47+
assert_matches_type(Optional[IssueTypeGetResponse], issue_type, path=["response"])
4848

4949
assert cast(Any, response.is_closed) is True
5050

@@ -64,7 +64,7 @@ async def test_method_get(self, async_client: AsyncCloudflare) -> None:
6464
issue_type = await async_client.intel.attack_surface_report.issue_types.get(
6565
account_id="023e105f4ecef8ad9ca31a8372d0c353",
6666
)
67-
assert_matches_type(IssueTypeGetResponse, issue_type, path=["response"])
67+
assert_matches_type(Optional[IssueTypeGetResponse], issue_type, path=["response"])
6868

6969
@parametrize
7070
async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None:
@@ -75,7 +75,7 @@ async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None:
7575
assert response.is_closed is True
7676
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
7777
issue_type = await response.parse()
78-
assert_matches_type(IssueTypeGetResponse, issue_type, path=["response"])
78+
assert_matches_type(Optional[IssueTypeGetResponse], issue_type, path=["response"])
7979

8080
@parametrize
8181
async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> None:
@@ -86,7 +86,7 @@ async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> No
8686
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
8787

8888
issue_type = await response.parse()
89-
assert_matches_type(IssueTypeGetResponse, issue_type, path=["response"])
89+
assert_matches_type(Optional[IssueTypeGetResponse], issue_type, path=["response"])
9090

9191
assert cast(Any, response.is_closed) is True
9292

0 commit comments

Comments
 (0)