3535 SnapshotsResourceWithStreamingResponse ,
3636 AsyncSnapshotsResourceWithStreamingResponse ,
3737)
38- from ....types .magic_transit import connector_edit_params , connector_update_params
38+ from ....types .magic_transit import connector_edit_params , connector_create_params , connector_update_params
3939from ....types .magic_transit .connector_get_response import ConnectorGetResponse
4040from ....types .magic_transit .connector_edit_response import ConnectorEditResponse
4141from ....types .magic_transit .connector_list_response import ConnectorListResponse
42+ from ....types .magic_transit .connector_create_response import ConnectorCreateResponse
43+ from ....types .magic_transit .connector_delete_response import ConnectorDeleteResponse
4244from ....types .magic_transit .connector_update_response import ConnectorUpdateResponse
4345
4446__all__ = ["ConnectorsResource" , "AsyncConnectorsResource" ]
@@ -72,6 +74,62 @@ def with_streaming_response(self) -> ConnectorsResourceWithStreamingResponse:
7274 """
7375 return ConnectorsResourceWithStreamingResponse (self )
7476
77+ def create (
78+ self ,
79+ * ,
80+ account_id : str ,
81+ device : connector_create_params .Device ,
82+ activated : bool | NotGiven = NOT_GIVEN ,
83+ interrupt_window_duration_hours : float | NotGiven = NOT_GIVEN ,
84+ interrupt_window_hour_of_day : float | NotGiven = NOT_GIVEN ,
85+ notes : str | NotGiven = NOT_GIVEN ,
86+ timezone : str | NotGiven = NOT_GIVEN ,
87+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
88+ # The extra values given here take precedence over values defined on the client or passed to this method.
89+ extra_headers : Headers | None = None ,
90+ extra_query : Query | None = None ,
91+ extra_body : Body | None = None ,
92+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
93+ ) -> ConnectorCreateResponse :
94+ """
95+ Add a connector to your account
96+
97+ Args:
98+ account_id: Account identifier
99+
100+ extra_headers: Send extra headers
101+
102+ extra_query: Add additional query parameters to the request
103+
104+ extra_body: Add additional JSON properties to the request
105+
106+ timeout: Override the client-level default timeout for this request, in seconds
107+ """
108+ if not account_id :
109+ raise ValueError (f"Expected a non-empty value for `account_id` but received { account_id !r} " )
110+ return self ._post (
111+ f"/accounts/{ account_id } /magic/connectors" ,
112+ body = maybe_transform (
113+ {
114+ "device" : device ,
115+ "activated" : activated ,
116+ "interrupt_window_duration_hours" : interrupt_window_duration_hours ,
117+ "interrupt_window_hour_of_day" : interrupt_window_hour_of_day ,
118+ "notes" : notes ,
119+ "timezone" : timezone ,
120+ },
121+ connector_create_params .ConnectorCreateParams ,
122+ ),
123+ options = make_request_options (
124+ extra_headers = extra_headers ,
125+ extra_query = extra_query ,
126+ extra_body = extra_body ,
127+ timeout = timeout ,
128+ post_parser = ResultWrapper [ConnectorCreateResponse ]._unwrapper ,
129+ ),
130+ cast_to = cast (Type [ConnectorCreateResponse ], ResultWrapper [ConnectorCreateResponse ]),
131+ )
132+
75133 def update (
76134 self ,
77135 connector_id : str ,
@@ -165,6 +223,48 @@ def list(
165223 model = ConnectorListResponse ,
166224 )
167225
226+ def delete (
227+ self ,
228+ connector_id : str ,
229+ * ,
230+ account_id : str ,
231+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
232+ # The extra values given here take precedence over values defined on the client or passed to this method.
233+ extra_headers : Headers | None = None ,
234+ extra_query : Query | None = None ,
235+ extra_body : Body | None = None ,
236+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
237+ ) -> ConnectorDeleteResponse :
238+ """
239+ Remove a connector from your account
240+
241+ Args:
242+ account_id: Account identifier
243+
244+ extra_headers: Send extra headers
245+
246+ extra_query: Add additional query parameters to the request
247+
248+ extra_body: Add additional JSON properties to the request
249+
250+ timeout: Override the client-level default timeout for this request, in seconds
251+ """
252+ if not account_id :
253+ raise ValueError (f"Expected a non-empty value for `account_id` but received { account_id !r} " )
254+ if not connector_id :
255+ raise ValueError (f"Expected a non-empty value for `connector_id` but received { connector_id !r} " )
256+ return self ._delete (
257+ f"/accounts/{ account_id } /magic/connectors/{ connector_id } " ,
258+ options = make_request_options (
259+ extra_headers = extra_headers ,
260+ extra_query = extra_query ,
261+ extra_body = extra_body ,
262+ timeout = timeout ,
263+ post_parser = ResultWrapper [ConnectorDeleteResponse ]._unwrapper ,
264+ ),
265+ cast_to = cast (Type [ConnectorDeleteResponse ], ResultWrapper [ConnectorDeleteResponse ]),
266+ )
267+
168268 def edit (
169269 self ,
170270 connector_id : str ,
@@ -293,6 +393,62 @@ def with_streaming_response(self) -> AsyncConnectorsResourceWithStreamingRespons
293393 """
294394 return AsyncConnectorsResourceWithStreamingResponse (self )
295395
396+ async def create (
397+ self ,
398+ * ,
399+ account_id : str ,
400+ device : connector_create_params .Device ,
401+ activated : bool | NotGiven = NOT_GIVEN ,
402+ interrupt_window_duration_hours : float | NotGiven = NOT_GIVEN ,
403+ interrupt_window_hour_of_day : float | NotGiven = NOT_GIVEN ,
404+ notes : str | NotGiven = NOT_GIVEN ,
405+ timezone : str | NotGiven = NOT_GIVEN ,
406+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
407+ # The extra values given here take precedence over values defined on the client or passed to this method.
408+ extra_headers : Headers | None = None ,
409+ extra_query : Query | None = None ,
410+ extra_body : Body | None = None ,
411+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
412+ ) -> ConnectorCreateResponse :
413+ """
414+ Add a connector to your account
415+
416+ Args:
417+ account_id: Account identifier
418+
419+ extra_headers: Send extra headers
420+
421+ extra_query: Add additional query parameters to the request
422+
423+ extra_body: Add additional JSON properties to the request
424+
425+ timeout: Override the client-level default timeout for this request, in seconds
426+ """
427+ if not account_id :
428+ raise ValueError (f"Expected a non-empty value for `account_id` but received { account_id !r} " )
429+ return await self ._post (
430+ f"/accounts/{ account_id } /magic/connectors" ,
431+ body = await async_maybe_transform (
432+ {
433+ "device" : device ,
434+ "activated" : activated ,
435+ "interrupt_window_duration_hours" : interrupt_window_duration_hours ,
436+ "interrupt_window_hour_of_day" : interrupt_window_hour_of_day ,
437+ "notes" : notes ,
438+ "timezone" : timezone ,
439+ },
440+ connector_create_params .ConnectorCreateParams ,
441+ ),
442+ options = make_request_options (
443+ extra_headers = extra_headers ,
444+ extra_query = extra_query ,
445+ extra_body = extra_body ,
446+ timeout = timeout ,
447+ post_parser = ResultWrapper [ConnectorCreateResponse ]._unwrapper ,
448+ ),
449+ cast_to = cast (Type [ConnectorCreateResponse ], ResultWrapper [ConnectorCreateResponse ]),
450+ )
451+
296452 async def update (
297453 self ,
298454 connector_id : str ,
@@ -386,6 +542,48 @@ def list(
386542 model = ConnectorListResponse ,
387543 )
388544
545+ async def delete (
546+ self ,
547+ connector_id : str ,
548+ * ,
549+ account_id : str ,
550+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
551+ # The extra values given here take precedence over values defined on the client or passed to this method.
552+ extra_headers : Headers | None = None ,
553+ extra_query : Query | None = None ,
554+ extra_body : Body | None = None ,
555+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
556+ ) -> ConnectorDeleteResponse :
557+ """
558+ Remove a connector from your account
559+
560+ Args:
561+ account_id: Account identifier
562+
563+ extra_headers: Send extra headers
564+
565+ extra_query: Add additional query parameters to the request
566+
567+ extra_body: Add additional JSON properties to the request
568+
569+ timeout: Override the client-level default timeout for this request, in seconds
570+ """
571+ if not account_id :
572+ raise ValueError (f"Expected a non-empty value for `account_id` but received { account_id !r} " )
573+ if not connector_id :
574+ raise ValueError (f"Expected a non-empty value for `connector_id` but received { connector_id !r} " )
575+ return await self ._delete (
576+ f"/accounts/{ account_id } /magic/connectors/{ connector_id } " ,
577+ options = make_request_options (
578+ extra_headers = extra_headers ,
579+ extra_query = extra_query ,
580+ extra_body = extra_body ,
581+ timeout = timeout ,
582+ post_parser = ResultWrapper [ConnectorDeleteResponse ]._unwrapper ,
583+ ),
584+ cast_to = cast (Type [ConnectorDeleteResponse ], ResultWrapper [ConnectorDeleteResponse ]),
585+ )
586+
389587 async def edit (
390588 self ,
391589 connector_id : str ,
@@ -490,12 +688,18 @@ class ConnectorsResourceWithRawResponse:
490688 def __init__ (self , connectors : ConnectorsResource ) -> None :
491689 self ._connectors = connectors
492690
691+ self .create = to_raw_response_wrapper (
692+ connectors .create ,
693+ )
493694 self .update = to_raw_response_wrapper (
494695 connectors .update ,
495696 )
496697 self .list = to_raw_response_wrapper (
497698 connectors .list ,
498699 )
700+ self .delete = to_raw_response_wrapper (
701+ connectors .delete ,
702+ )
499703 self .edit = to_raw_response_wrapper (
500704 connectors .edit ,
501705 )
@@ -516,12 +720,18 @@ class AsyncConnectorsResourceWithRawResponse:
516720 def __init__ (self , connectors : AsyncConnectorsResource ) -> None :
517721 self ._connectors = connectors
518722
723+ self .create = async_to_raw_response_wrapper (
724+ connectors .create ,
725+ )
519726 self .update = async_to_raw_response_wrapper (
520727 connectors .update ,
521728 )
522729 self .list = async_to_raw_response_wrapper (
523730 connectors .list ,
524731 )
732+ self .delete = async_to_raw_response_wrapper (
733+ connectors .delete ,
734+ )
525735 self .edit = async_to_raw_response_wrapper (
526736 connectors .edit ,
527737 )
@@ -542,12 +752,18 @@ class ConnectorsResourceWithStreamingResponse:
542752 def __init__ (self , connectors : ConnectorsResource ) -> None :
543753 self ._connectors = connectors
544754
755+ self .create = to_streamed_response_wrapper (
756+ connectors .create ,
757+ )
545758 self .update = to_streamed_response_wrapper (
546759 connectors .update ,
547760 )
548761 self .list = to_streamed_response_wrapper (
549762 connectors .list ,
550763 )
764+ self .delete = to_streamed_response_wrapper (
765+ connectors .delete ,
766+ )
551767 self .edit = to_streamed_response_wrapper (
552768 connectors .edit ,
553769 )
@@ -568,12 +784,18 @@ class AsyncConnectorsResourceWithStreamingResponse:
568784 def __init__ (self , connectors : AsyncConnectorsResource ) -> None :
569785 self ._connectors = connectors
570786
787+ self .create = async_to_streamed_response_wrapper (
788+ connectors .create ,
789+ )
571790 self .update = async_to_streamed_response_wrapper (
572791 connectors .update ,
573792 )
574793 self .list = async_to_streamed_response_wrapper (
575794 connectors .list ,
576795 )
796+ self .delete = async_to_streamed_response_wrapper (
797+ connectors .delete ,
798+ )
577799 self .edit = async_to_streamed_response_wrapper (
578800 connectors .edit ,
579801 )
0 commit comments