Skip to content

Commit 4146d0d

Browse files
feat: feat(radar): add BGP RPKI ASPA endpoints and fix SDK casings
* feat(radar): add BGP RPKI ASPA endpoints and fix SDK casings - Add ASPA endpoints: snapshot, changes, timeseries - Add custom casings for CT, TLD, TLDs, NetFlows, ASPA
1 parent fc39041 commit 4146d0d

47 files changed

Lines changed: 1660 additions & 443 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 2010
1+
configured_endpoints: 2013
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-e698017772b79ecded767e9d0c858d903bb6c0bdcb8d7f2d4e54d5a0a6da5490.yml
33
openapi_spec_hash: 062323f5fc00ff86b482e98509a36b65
4-
config_hash: 6624e8a2894aa351046b96fc95fa60f5
4+
config_hash: 0c792bb64d06ffbdec9629c954299519

api.md

Lines changed: 39 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7703,23 +7703,23 @@ Methods:
77037703
- <code title="get /radar/ai/bots/timeseries_groups/{dimension}">client.radar.ai.timeseries_groups.<a href="./src/cloudflare/resources/radar/ai/timeseries_groups.py">timeseries_groups</a>(dimension, \*\*<a href="src/cloudflare/types/radar/ai/timeseries_group_timeseries_groups_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/ai/timeseries_group_timeseries_groups_response.py">TimeseriesGroupTimeseriesGroupsResponse</a></code>
77047704
- <code title="get /radar/ai/bots/timeseries_groups/user_agent">client.radar.ai.timeseries_groups.<a href="./src/cloudflare/resources/radar/ai/timeseries_groups.py">user_agent</a>(\*\*<a href="src/cloudflare/types/radar/ai/timeseries_group_user_agent_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/ai/timeseries_group_user_agent_response.py">TimeseriesGroupUserAgentResponse</a></code>
77057705

7706-
## Ct
7706+
## CT
77077707

77087708
Types:
77097709

77107710
```python
77117711
from cloudflare.types.radar import (
7712-
CtSummaryResponse,
7713-
CtTimeseriesResponse,
7714-
CtTimeseriesGroupsResponse,
7712+
CTSummaryResponse,
7713+
CTTimeseriesResponse,
7714+
CTTimeseriesGroupsResponse,
77157715
)
77167716
```
77177717

77187718
Methods:
77197719

7720-
- <code title="get /radar/ct/summary/{dimension}">client.radar.ct.<a href="./src/cloudflare/resources/radar/ct/ct.py">summary</a>(dimension, \*\*<a href="src/cloudflare/types/radar/ct_summary_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/ct_summary_response.py">CtSummaryResponse</a></code>
7721-
- <code title="get /radar/ct/timeseries">client.radar.ct.<a href="./src/cloudflare/resources/radar/ct/ct.py">timeseries</a>(\*\*<a href="src/cloudflare/types/radar/ct_timeseries_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/ct_timeseries_response.py">CtTimeseriesResponse</a></code>
7722-
- <code title="get /radar/ct/timeseries_groups/{dimension}">client.radar.ct.<a href="./src/cloudflare/resources/radar/ct/ct.py">timeseries_groups</a>(dimension, \*\*<a href="src/cloudflare/types/radar/ct_timeseries_groups_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/ct_timeseries_groups_response.py">CtTimeseriesGroupsResponse</a></code>
7720+
- <code title="get /radar/ct/summary/{dimension}">client.radar.ct.<a href="./src/cloudflare/resources/radar/ct/ct.py">summary</a>(dimension, \*\*<a href="src/cloudflare/types/radar/ct_summary_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/ct_summary_response.py">CTSummaryResponse</a></code>
7721+
- <code title="get /radar/ct/timeseries">client.radar.ct.<a href="./src/cloudflare/resources/radar/ct/ct.py">timeseries</a>(\*\*<a href="src/cloudflare/types/radar/ct_timeseries_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/ct_timeseries_response.py">CTTimeseriesResponse</a></code>
7722+
- <code title="get /radar/ct/timeseries_groups/{dimension}">client.radar.ct.<a href="./src/cloudflare/resources/radar/ct/ct.py">timeseries_groups</a>(dimension, \*\*<a href="src/cloudflare/types/radar/ct_timeseries_groups_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/ct_timeseries_groups_response.py">CTTimeseriesGroupsResponse</a></code>
77237723

77247724
### Authorities
77257725

@@ -7871,6 +7871,26 @@ Methods:
78717871

78727872
- <code title="get /radar/bgp/ips/timeseries">client.radar.bgp.ips.<a href="./src/cloudflare/resources/radar/bgp/ips.py">timeseries</a>(\*\*<a href="src/cloudflare/types/radar/bgp/ip_timeseries_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/bgp/ip_timeseries_response.py">IPTimeseriesResponse</a></code>
78737873

7874+
### RPKI
7875+
7876+
#### ASPA
7877+
7878+
Types:
7879+
7880+
```python
7881+
from cloudflare.types.radar.bgp.rpki import (
7882+
ASPAChangesResponse,
7883+
ASPASnapshotResponse,
7884+
ASPATimeseriesResponse,
7885+
)
7886+
```
7887+
7888+
Methods:
7889+
7890+
- <code title="get /radar/bgp/rpki/aspa/changes">client.radar.bgp.rpki.aspa.<a href="./src/cloudflare/resources/radar/bgp/rpki/aspa.py">changes</a>(\*\*<a href="src/cloudflare/types/radar/bgp/rpki/aspa_changes_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/bgp/rpki/aspa_changes_response.py">ASPAChangesResponse</a></code>
7891+
- <code title="get /radar/bgp/rpki/aspa/snapshot">client.radar.bgp.rpki.aspa.<a href="./src/cloudflare/resources/radar/bgp/rpki/aspa.py">snapshot</a>(\*\*<a href="src/cloudflare/types/radar/bgp/rpki/aspa_snapshot_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/bgp/rpki/aspa_snapshot_response.py">ASPASnapshotResponse</a></code>
7892+
- <code title="get /radar/bgp/rpki/aspa/timeseries">client.radar.bgp.rpki.aspa.<a href="./src/cloudflare/resources/radar/bgp/rpki/aspa.py">timeseries</a>(\*\*<a href="src/cloudflare/types/radar/bgp/rpki/aspa_timeseries_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/bgp/rpki/aspa_timeseries_response.py">ASPATimeseriesResponse</a></code>
7893+
78747894
## Bots
78757895

78767896
Types:
@@ -8018,25 +8038,25 @@ Methods:
80188038
- <code title="get /radar/dns/timeseries_groups/response_code">client.radar.dns.timeseries_groups.<a href="./src/cloudflare/resources/radar/dns/timeseries_groups.py">response_code</a>(\*\*<a href="src/cloudflare/types/radar/dns/timeseries_group_response_code_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/dns/timeseries_group_response_code_response.py">TimeseriesGroupResponseCodeResponse</a></code>
80198039
- <code title="get /radar/dns/timeseries_groups/response_ttl">client.radar.dns.timeseries_groups.<a href="./src/cloudflare/resources/radar/dns/timeseries_groups.py">response_ttl</a>(\*\*<a href="src/cloudflare/types/radar/dns/timeseries_group_response_ttl_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/dns/timeseries_group_response_ttl_response.py">TimeseriesGroupResponseTTLResponse</a></code>
80208040

8021-
## Netflows
8041+
## NetFlows
80228042

80238043
Types:
80248044

80258045
```python
80268046
from cloudflare.types.radar import (
8027-
NetflowSummaryResponse,
8028-
NetflowSummaryV2Response,
8029-
NetflowTimeseriesResponse,
8030-
NetflowTimeseriesGroupsResponse,
8047+
NetFlowsSummaryResponse,
8048+
NetFlowsSummaryV2Response,
8049+
NetFlowsTimeseriesResponse,
8050+
NetFlowsTimeseriesGroupsResponse,
80318051
)
80328052
```
80338053

80348054
Methods:
80358055

8036-
- <code title="get /radar/netflows/summary">client.radar.netflows.<a href="./src/cloudflare/resources/radar/netflows/netflows.py">summary</a>(\*\*<a href="src/cloudflare/types/radar/netflow_summary_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/netflow_summary_response.py">NetflowSummaryResponse</a></code>
8037-
- <code title="get /radar/netflows/summary/{dimension}">client.radar.netflows.<a href="./src/cloudflare/resources/radar/netflows/netflows.py">summary_v2</a>(dimension, \*\*<a href="src/cloudflare/types/radar/netflow_summary_v2_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/netflow_summary_v2_response.py">NetflowSummaryV2Response</a></code>
8038-
- <code title="get /radar/netflows/timeseries">client.radar.netflows.<a href="./src/cloudflare/resources/radar/netflows/netflows.py">timeseries</a>(\*\*<a href="src/cloudflare/types/radar/netflow_timeseries_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/netflow_timeseries_response.py">NetflowTimeseriesResponse</a></code>
8039-
- <code title="get /radar/netflows/timeseries_groups/{dimension}">client.radar.netflows.<a href="./src/cloudflare/resources/radar/netflows/netflows.py">timeseries_groups</a>(dimension, \*\*<a href="src/cloudflare/types/radar/netflow_timeseries_groups_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/netflow_timeseries_groups_response.py">NetflowTimeseriesGroupsResponse</a></code>
8056+
- <code title="get /radar/netflows/summary">client.radar.netflows.<a href="./src/cloudflare/resources/radar/netflows/netflows.py">summary</a>(\*\*<a href="src/cloudflare/types/radar/netflows_summary_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/netflows_summary_response.py">NetFlowsSummaryResponse</a></code>
8057+
- <code title="get /radar/netflows/summary/{dimension}">client.radar.netflows.<a href="./src/cloudflare/resources/radar/netflows/netflows.py">summary_v2</a>(dimension, \*\*<a href="src/cloudflare/types/radar/netflows_summary_v2_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/netflows_summary_v2_response.py">NetFlowsSummaryV2Response</a></code>
8058+
- <code title="get /radar/netflows/timeseries">client.radar.netflows.<a href="./src/cloudflare/resources/radar/netflows/netflows.py">timeseries</a>(\*\*<a href="src/cloudflare/types/radar/netflows_timeseries_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/netflows_timeseries_response.py">NetFlowsTimeseriesResponse</a></code>
8059+
- <code title="get /radar/netflows/timeseries_groups/{dimension}">client.radar.netflows.<a href="./src/cloudflare/resources/radar/netflows/netflows.py">timeseries_groups</a>(dimension, \*\*<a href="src/cloudflare/types/radar/netflows_timeseries_groups_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/netflows_timeseries_groups_response.py">NetFlowsTimeseriesGroupsResponse</a></code>
80408060

80418061
### Top
80428062

@@ -8251,17 +8271,17 @@ Methods:
82518271

82528272
#### Top
82538273

8254-
##### Tlds
8274+
##### TLDs
82558275

82568276
Types:
82578277

82588278
```python
8259-
from cloudflare.types.radar.email.security.top import TldGetResponse
8279+
from cloudflare.types.radar.email.security.top import TLDGetResponse
82608280
```
82618281

82628282
Methods:
82638283

8264-
- <code title="get /radar/email/security/top/tlds">client.radar.email.security.top.tlds.<a href="./src/cloudflare/resources/radar/email/security/top/tlds/tlds.py">get</a>(\*\*<a href="src/cloudflare/types/radar/email/security/top/tld_get_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/email/security/top/tld_get_response.py">TldGetResponse</a></code>
8284+
- <code title="get /radar/email/security/top/tlds">client.radar.email.security.top.tlds.<a href="./src/cloudflare/resources/radar/email/security/top/tlds/tlds.py">get</a>(\*\*<a href="src/cloudflare/types/radar/email/security/top/tld_get_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/email/security/top/tld_get_response.py">TLDGetResponse</a></code>
82658285

82668286
###### Malicious
82678287

src/cloudflare/resources/radar/__init__.py

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@
99
AsyncAIResourceWithStreamingResponse,
1010
)
1111
from .ct import (
12-
CtResource,
13-
AsyncCtResource,
14-
CtResourceWithRawResponse,
15-
AsyncCtResourceWithRawResponse,
16-
CtResourceWithStreamingResponse,
17-
AsyncCtResourceWithStreamingResponse,
12+
CTResource,
13+
AsyncCTResource,
14+
CTResourceWithRawResponse,
15+
AsyncCTResourceWithRawResponse,
16+
CTResourceWithStreamingResponse,
17+
AsyncCTResourceWithStreamingResponse,
1818
)
1919
from .bgp import (
2020
BGPResource,
@@ -121,12 +121,12 @@
121121
AsyncEntitiesResourceWithStreamingResponse,
122122
)
123123
from .netflows import (
124-
NetflowsResource,
125-
AsyncNetflowsResource,
126-
NetflowsResourceWithRawResponse,
127-
AsyncNetflowsResourceWithRawResponse,
128-
NetflowsResourceWithStreamingResponse,
129-
AsyncNetflowsResourceWithStreamingResponse,
124+
NetFlowsResource,
125+
AsyncNetFlowsResource,
126+
NetFlowsResourceWithRawResponse,
127+
AsyncNetFlowsResourceWithRawResponse,
128+
NetFlowsResourceWithStreamingResponse,
129+
AsyncNetFlowsResourceWithStreamingResponse,
130130
)
131131
from .robots_txt import (
132132
RobotsTXTResource,
@@ -192,12 +192,12 @@
192192
"AsyncAIResourceWithRawResponse",
193193
"AIResourceWithStreamingResponse",
194194
"AsyncAIResourceWithStreamingResponse",
195-
"CtResource",
196-
"AsyncCtResource",
197-
"CtResourceWithRawResponse",
198-
"AsyncCtResourceWithRawResponse",
199-
"CtResourceWithStreamingResponse",
200-
"AsyncCtResourceWithStreamingResponse",
195+
"CTResource",
196+
"AsyncCTResource",
197+
"CTResourceWithRawResponse",
198+
"AsyncCTResourceWithRawResponse",
199+
"CTResourceWithStreamingResponse",
200+
"AsyncCTResourceWithStreamingResponse",
201201
"AnnotationsResource",
202202
"AsyncAnnotationsResource",
203203
"AnnotationsResourceWithRawResponse",
@@ -228,12 +228,12 @@
228228
"AsyncDNSResourceWithRawResponse",
229229
"DNSResourceWithStreamingResponse",
230230
"AsyncDNSResourceWithStreamingResponse",
231-
"NetflowsResource",
232-
"AsyncNetflowsResource",
233-
"NetflowsResourceWithRawResponse",
234-
"AsyncNetflowsResourceWithRawResponse",
235-
"NetflowsResourceWithStreamingResponse",
236-
"AsyncNetflowsResourceWithStreamingResponse",
231+
"NetFlowsResource",
232+
"AsyncNetFlowsResource",
233+
"NetFlowsResourceWithRawResponse",
234+
"AsyncNetFlowsResourceWithRawResponse",
235+
"NetFlowsResourceWithStreamingResponse",
236+
"AsyncNetFlowsResourceWithStreamingResponse",
237237
"SearchResource",
238238
"AsyncSearchResource",
239239
"SearchResourceWithRawResponse",

src/cloudflare/resources/radar/bgp/__init__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@
2424
TopResourceWithStreamingResponse,
2525
AsyncTopResourceWithStreamingResponse,
2626
)
27+
from .rpki import (
28+
RPKIResource,
29+
AsyncRPKIResource,
30+
RPKIResourceWithRawResponse,
31+
AsyncRPKIResourceWithRawResponse,
32+
RPKIResourceWithStreamingResponse,
33+
AsyncRPKIResourceWithStreamingResponse,
34+
)
2735
from .leaks import (
2836
LeaksResource,
2937
AsyncLeaksResource,
@@ -80,6 +88,12 @@
8088
"AsyncIPsResourceWithRawResponse",
8189
"IPsResourceWithStreamingResponse",
8290
"AsyncIPsResourceWithStreamingResponse",
91+
"RPKIResource",
92+
"AsyncRPKIResource",
93+
"RPKIResourceWithRawResponse",
94+
"AsyncRPKIResourceWithRawResponse",
95+
"RPKIResourceWithStreamingResponse",
96+
"AsyncRPKIResourceWithStreamingResponse",
8397
"BGPResource",
8498
"AsyncBGPResource",
8599
"BGPResourceWithRawResponse",

src/cloudflare/resources/radar/bgp/bgp.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,14 @@
3434
)
3535
from ...._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
3636
from ...._utils import maybe_transform, async_maybe_transform
37+
from .rpki.rpki import (
38+
RPKIResource,
39+
AsyncRPKIResource,
40+
RPKIResourceWithRawResponse,
41+
AsyncRPKIResourceWithRawResponse,
42+
RPKIResourceWithStreamingResponse,
43+
AsyncRPKIResourceWithStreamingResponse,
44+
)
3745
from ...._compat import cached_property
3846
from .leaks.leaks import (
3947
LeaksResource,
@@ -87,6 +95,10 @@ def routes(self) -> RoutesResource:
8795
def ips(self) -> IPsResource:
8896
return IPsResource(self._client)
8997

98+
@cached_property
99+
def rpki(self) -> RPKIResource:
100+
return RPKIResource(self._client)
101+
90102
@cached_property
91103
def with_raw_response(self) -> BGPResourceWithRawResponse:
92104
"""
@@ -212,6 +224,10 @@ def routes(self) -> AsyncRoutesResource:
212224
def ips(self) -> AsyncIPsResource:
213225
return AsyncIPsResource(self._client)
214226

227+
@cached_property
228+
def rpki(self) -> AsyncRPKIResource:
229+
return AsyncRPKIResource(self._client)
230+
215231
@cached_property
216232
def with_raw_response(self) -> AsyncBGPResourceWithRawResponse:
217233
"""
@@ -344,6 +360,10 @@ def routes(self) -> RoutesResourceWithRawResponse:
344360
def ips(self) -> IPsResourceWithRawResponse:
345361
return IPsResourceWithRawResponse(self._bgp.ips)
346362

363+
@cached_property
364+
def rpki(self) -> RPKIResourceWithRawResponse:
365+
return RPKIResourceWithRawResponse(self._bgp.rpki)
366+
347367

348368
class AsyncBGPResourceWithRawResponse:
349369
def __init__(self, bgp: AsyncBGPResource) -> None:
@@ -373,6 +393,10 @@ def routes(self) -> AsyncRoutesResourceWithRawResponse:
373393
def ips(self) -> AsyncIPsResourceWithRawResponse:
374394
return AsyncIPsResourceWithRawResponse(self._bgp.ips)
375395

396+
@cached_property
397+
def rpki(self) -> AsyncRPKIResourceWithRawResponse:
398+
return AsyncRPKIResourceWithRawResponse(self._bgp.rpki)
399+
376400

377401
class BGPResourceWithStreamingResponse:
378402
def __init__(self, bgp: BGPResource) -> None:
@@ -402,6 +426,10 @@ def routes(self) -> RoutesResourceWithStreamingResponse:
402426
def ips(self) -> IPsResourceWithStreamingResponse:
403427
return IPsResourceWithStreamingResponse(self._bgp.ips)
404428

429+
@cached_property
430+
def rpki(self) -> RPKIResourceWithStreamingResponse:
431+
return RPKIResourceWithStreamingResponse(self._bgp.rpki)
432+
405433

406434
class AsyncBGPResourceWithStreamingResponse:
407435
def __init__(self, bgp: AsyncBGPResource) -> None:
@@ -430,3 +458,7 @@ def routes(self) -> AsyncRoutesResourceWithStreamingResponse:
430458
@cached_property
431459
def ips(self) -> AsyncIPsResourceWithStreamingResponse:
432460
return AsyncIPsResourceWithStreamingResponse(self._bgp.ips)
461+
462+
@cached_property
463+
def rpki(self) -> AsyncRPKIResourceWithStreamingResponse:
464+
return AsyncRPKIResourceWithStreamingResponse(self._bgp.rpki)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from .aspa import (
4+
ASPAResource,
5+
AsyncASPAResource,
6+
ASPAResourceWithRawResponse,
7+
AsyncASPAResourceWithRawResponse,
8+
ASPAResourceWithStreamingResponse,
9+
AsyncASPAResourceWithStreamingResponse,
10+
)
11+
from .rpki import (
12+
RPKIResource,
13+
AsyncRPKIResource,
14+
RPKIResourceWithRawResponse,
15+
AsyncRPKIResourceWithRawResponse,
16+
RPKIResourceWithStreamingResponse,
17+
AsyncRPKIResourceWithStreamingResponse,
18+
)
19+
20+
__all__ = [
21+
"ASPAResource",
22+
"AsyncASPAResource",
23+
"ASPAResourceWithRawResponse",
24+
"AsyncASPAResourceWithRawResponse",
25+
"ASPAResourceWithStreamingResponse",
26+
"AsyncASPAResourceWithStreamingResponse",
27+
"RPKIResource",
28+
"AsyncRPKIResource",
29+
"RPKIResourceWithRawResponse",
30+
"AsyncRPKIResourceWithRawResponse",
31+
"RPKIResourceWithStreamingResponse",
32+
"AsyncRPKIResourceWithStreamingResponse",
33+
]

0 commit comments

Comments
 (0)