22
33from __future__ import annotations
44
5- from typing import Type , cast
5+ from typing import List , Type , cast
66
77import httpx
88
99from ...._types import NOT_GIVEN , Body , Query , Headers , NotGiven
10+ from ...._utils import (
11+ maybe_transform ,
12+ async_maybe_transform ,
13+ )
1014from ...._compat import cached_property
1115from ...._resource import SyncAPIResource , AsyncAPIResource
1216from ...._response import (
1721)
1822from ...._wrappers import ResultWrapper
1923from ...._base_client import make_request_options
24+ from ....types .cloudforce_one .threat_events import event_tag_create_params
25+ from ....types .cloudforce_one .threat_events .event_tag_create_response import EventTagCreateResponse
2026from ....types .cloudforce_one .threat_events .event_tag_delete_response import EventTagDeleteResponse
2127
2228__all__ = ["EventTagsResource" , "AsyncEventTagsResource" ]
@@ -42,6 +48,50 @@ def with_streaming_response(self) -> EventTagsResourceWithStreamingResponse:
4248 """
4349 return EventTagsResourceWithStreamingResponse (self )
4450
51+ def create (
52+ self ,
53+ event_id : str ,
54+ * ,
55+ account_id : float ,
56+ tags : List [str ],
57+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
58+ # The extra values given here take precedence over values defined on the client or passed to this method.
59+ extra_headers : Headers | None = None ,
60+ extra_query : Query | None = None ,
61+ extra_body : Body | None = None ,
62+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
63+ ) -> EventTagCreateResponse :
64+ """
65+ Adds a tag to an event
66+
67+ Args:
68+ account_id: Account ID
69+
70+ event_id: Event UUID
71+
72+ extra_headers: Send extra headers
73+
74+ extra_query: Add additional query parameters to the request
75+
76+ extra_body: Add additional JSON properties to the request
77+
78+ timeout: Override the client-level default timeout for this request, in seconds
79+ """
80+ if not event_id :
81+ raise ValueError (f"Expected a non-empty value for `event_id` but received { event_id !r} " )
82+ return self ._post (
83+ f"/accounts/{ account_id } /cloudforce-one/events/event_tag/{ event_id } /create" ,
84+ body = maybe_transform ({"tags" : tags }, event_tag_create_params .EventTagCreateParams ),
85+ options = make_request_options (
86+ extra_headers = extra_headers ,
87+ extra_query = extra_query ,
88+ extra_body = extra_body ,
89+ timeout = timeout ,
90+ post_parser = ResultWrapper [EventTagCreateResponse ]._unwrapper ,
91+ ),
92+ cast_to = cast (Type [EventTagCreateResponse ], ResultWrapper [EventTagCreateResponse ]),
93+ )
94+
4595 def delete (
4696 self ,
4797 event_id : str ,
@@ -105,6 +155,50 @@ def with_streaming_response(self) -> AsyncEventTagsResourceWithStreamingResponse
105155 """
106156 return AsyncEventTagsResourceWithStreamingResponse (self )
107157
158+ async def create (
159+ self ,
160+ event_id : str ,
161+ * ,
162+ account_id : float ,
163+ tags : List [str ],
164+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
165+ # The extra values given here take precedence over values defined on the client or passed to this method.
166+ extra_headers : Headers | None = None ,
167+ extra_query : Query | None = None ,
168+ extra_body : Body | None = None ,
169+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
170+ ) -> EventTagCreateResponse :
171+ """
172+ Adds a tag to an event
173+
174+ Args:
175+ account_id: Account ID
176+
177+ event_id: Event UUID
178+
179+ extra_headers: Send extra headers
180+
181+ extra_query: Add additional query parameters to the request
182+
183+ extra_body: Add additional JSON properties to the request
184+
185+ timeout: Override the client-level default timeout for this request, in seconds
186+ """
187+ if not event_id :
188+ raise ValueError (f"Expected a non-empty value for `event_id` but received { event_id !r} " )
189+ return await self ._post (
190+ f"/accounts/{ account_id } /cloudforce-one/events/event_tag/{ event_id } /create" ,
191+ body = await async_maybe_transform ({"tags" : tags }, event_tag_create_params .EventTagCreateParams ),
192+ options = make_request_options (
193+ extra_headers = extra_headers ,
194+ extra_query = extra_query ,
195+ extra_body = extra_body ,
196+ timeout = timeout ,
197+ post_parser = ResultWrapper [EventTagCreateResponse ]._unwrapper ,
198+ ),
199+ cast_to = cast (Type [EventTagCreateResponse ], ResultWrapper [EventTagCreateResponse ]),
200+ )
201+
108202 async def delete (
109203 self ,
110204 event_id : str ,
@@ -152,6 +246,9 @@ class EventTagsResourceWithRawResponse:
152246 def __init__ (self , event_tags : EventTagsResource ) -> None :
153247 self ._event_tags = event_tags
154248
249+ self .create = to_raw_response_wrapper (
250+ event_tags .create ,
251+ )
155252 self .delete = to_raw_response_wrapper (
156253 event_tags .delete ,
157254 )
@@ -161,6 +258,9 @@ class AsyncEventTagsResourceWithRawResponse:
161258 def __init__ (self , event_tags : AsyncEventTagsResource ) -> None :
162259 self ._event_tags = event_tags
163260
261+ self .create = async_to_raw_response_wrapper (
262+ event_tags .create ,
263+ )
164264 self .delete = async_to_raw_response_wrapper (
165265 event_tags .delete ,
166266 )
@@ -170,6 +270,9 @@ class EventTagsResourceWithStreamingResponse:
170270 def __init__ (self , event_tags : EventTagsResource ) -> None :
171271 self ._event_tags = event_tags
172272
273+ self .create = to_streamed_response_wrapper (
274+ event_tags .create ,
275+ )
173276 self .delete = to_streamed_response_wrapper (
174277 event_tags .delete ,
175278 )
@@ -179,6 +282,9 @@ class AsyncEventTagsResourceWithStreamingResponse:
179282 def __init__ (self , event_tags : AsyncEventTagsResource ) -> None :
180283 self ._event_tags = event_tags
181284
285+ self .create = async_to_streamed_response_wrapper (
286+ event_tags .create ,
287+ )
182288 self .delete = async_to_streamed_response_wrapper (
183289 event_tags .delete ,
184290 )
0 commit comments