1pub mod notebook_service {
18 use crate::Result;
19
20 pub type ClientBuilder =
34 gax::client_builder::ClientBuilder<client::Factory, gaxi::options::Credentials>;
35
36 pub(crate) mod client {
37 use super::super::super::client::NotebookService;
38 pub struct Factory;
39 impl gax::client_builder::internal::ClientFactory for Factory {
40 type Client = NotebookService;
41 type Credentials = gaxi::options::Credentials;
42 async fn build(
43 self,
44 config: gaxi::options::ClientConfig,
45 ) -> gax::client_builder::Result<Self::Client> {
46 Self::Client::new(config).await
47 }
48 }
49 }
50
51 #[derive(Clone, Debug)]
53 pub(crate) struct RequestBuilder<R: std::default::Default> {
54 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
55 request: R,
56 options: gax::options::RequestOptions,
57 }
58
59 impl<R> RequestBuilder<R>
60 where
61 R: std::default::Default,
62 {
63 pub(crate) fn new(
64 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
65 ) -> Self {
66 Self {
67 stub,
68 request: R::default(),
69 options: gax::options::RequestOptions::default(),
70 }
71 }
72 }
73
74 #[derive(Clone, Debug)]
96 pub struct ListInstances(RequestBuilder<crate::model::ListInstancesRequest>);
97
98 impl ListInstances {
99 pub(crate) fn new(
100 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
101 ) -> Self {
102 Self(RequestBuilder::new(stub))
103 }
104
105 pub fn with_request<V: Into<crate::model::ListInstancesRequest>>(mut self, v: V) -> Self {
107 self.0.request = v.into();
108 self
109 }
110
111 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
113 self.0.options = v.into();
114 self
115 }
116
117 pub async fn send(self) -> Result<crate::model::ListInstancesResponse> {
119 (*self.0.stub)
120 .list_instances(self.0.request, self.0.options)
121 .await
122 .map(gax::response::Response::into_body)
123 }
124
125 pub fn by_page(
127 self,
128 ) -> impl gax::paginator::Paginator<crate::model::ListInstancesResponse, gax::error::Error>
129 {
130 use std::clone::Clone;
131 let token = self.0.request.page_token.clone();
132 let execute = move |token: String| {
133 let mut builder = self.clone();
134 builder.0.request = builder.0.request.set_page_token(token);
135 builder.send()
136 };
137 gax::paginator::internal::new_paginator(token, execute)
138 }
139
140 pub fn by_item(
142 self,
143 ) -> impl gax::paginator::ItemPaginator<crate::model::ListInstancesResponse, gax::error::Error>
144 {
145 use gax::paginator::Paginator;
146 self.by_page().items()
147 }
148
149 pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
153 self.0.request.parent = v.into();
154 self
155 }
156
157 pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
159 self.0.request.page_size = v.into();
160 self
161 }
162
163 pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
165 self.0.request.page_token = v.into();
166 self
167 }
168
169 pub fn set_order_by<T: Into<std::string::String>>(mut self, v: T) -> Self {
171 self.0.request.order_by = v.into();
172 self
173 }
174
175 pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
177 self.0.request.filter = v.into();
178 self
179 }
180 }
181
182 #[doc(hidden)]
183 impl gax::options::internal::RequestBuilder for ListInstances {
184 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
185 &mut self.0.options
186 }
187 }
188
189 #[derive(Clone, Debug)]
207 pub struct GetInstance(RequestBuilder<crate::model::GetInstanceRequest>);
208
209 impl GetInstance {
210 pub(crate) fn new(
211 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
212 ) -> Self {
213 Self(RequestBuilder::new(stub))
214 }
215
216 pub fn with_request<V: Into<crate::model::GetInstanceRequest>>(mut self, v: V) -> Self {
218 self.0.request = v.into();
219 self
220 }
221
222 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
224 self.0.options = v.into();
225 self
226 }
227
228 pub async fn send(self) -> Result<crate::model::Instance> {
230 (*self.0.stub)
231 .get_instance(self.0.request, self.0.options)
232 .await
233 .map(gax::response::Response::into_body)
234 }
235
236 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
240 self.0.request.name = v.into();
241 self
242 }
243 }
244
245 #[doc(hidden)]
246 impl gax::options::internal::RequestBuilder for GetInstance {
247 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
248 &mut self.0.options
249 }
250 }
251
252 #[derive(Clone, Debug)]
271 pub struct CreateInstance(RequestBuilder<crate::model::CreateInstanceRequest>);
272
273 impl CreateInstance {
274 pub(crate) fn new(
275 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
276 ) -> Self {
277 Self(RequestBuilder::new(stub))
278 }
279
280 pub fn with_request<V: Into<crate::model::CreateInstanceRequest>>(mut self, v: V) -> Self {
282 self.0.request = v.into();
283 self
284 }
285
286 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
288 self.0.options = v.into();
289 self
290 }
291
292 pub async fn send(self) -> Result<longrunning::model::Operation> {
299 (*self.0.stub)
300 .create_instance(self.0.request, self.0.options)
301 .await
302 .map(gax::response::Response::into_body)
303 }
304
305 pub fn poller(
307 self,
308 ) -> impl lro::Poller<crate::model::Instance, crate::model::OperationMetadata> {
309 type Operation =
310 lro::internal::Operation<crate::model::Instance, crate::model::OperationMetadata>;
311 let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
312 let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
313
314 let stub = self.0.stub.clone();
315 let mut options = self.0.options.clone();
316 options.set_retry_policy(gax::retry_policy::NeverRetry);
317 let query = move |name| {
318 let stub = stub.clone();
319 let options = options.clone();
320 async {
321 let op = GetOperation::new(stub)
322 .set_name(name)
323 .with_options(options)
324 .send()
325 .await?;
326 Ok(Operation::new(op))
327 }
328 };
329
330 let start = move || async {
331 let op = self.send().await?;
332 Ok(Operation::new(op))
333 };
334
335 lro::internal::new_poller(polling_error_policy, polling_backoff_policy, start, query)
336 }
337
338 pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
342 self.0.request.parent = v.into();
343 self
344 }
345
346 pub fn set_instance_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
350 self.0.request.instance_id = v.into();
351 self
352 }
353
354 pub fn set_instance<T>(mut self, v: T) -> Self
358 where
359 T: std::convert::Into<crate::model::Instance>,
360 {
361 self.0.request.instance = std::option::Option::Some(v.into());
362 self
363 }
364
365 pub fn set_or_clear_instance<T>(mut self, v: std::option::Option<T>) -> Self
369 where
370 T: std::convert::Into<crate::model::Instance>,
371 {
372 self.0.request.instance = v.map(|x| x.into());
373 self
374 }
375
376 pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
378 self.0.request.request_id = v.into();
379 self
380 }
381 }
382
383 #[doc(hidden)]
384 impl gax::options::internal::RequestBuilder for CreateInstance {
385 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
386 &mut self.0.options
387 }
388 }
389
390 #[derive(Clone, Debug)]
409 pub struct UpdateInstance(RequestBuilder<crate::model::UpdateInstanceRequest>);
410
411 impl UpdateInstance {
412 pub(crate) fn new(
413 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
414 ) -> Self {
415 Self(RequestBuilder::new(stub))
416 }
417
418 pub fn with_request<V: Into<crate::model::UpdateInstanceRequest>>(mut self, v: V) -> Self {
420 self.0.request = v.into();
421 self
422 }
423
424 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
426 self.0.options = v.into();
427 self
428 }
429
430 pub async fn send(self) -> Result<longrunning::model::Operation> {
437 (*self.0.stub)
438 .update_instance(self.0.request, self.0.options)
439 .await
440 .map(gax::response::Response::into_body)
441 }
442
443 pub fn poller(
445 self,
446 ) -> impl lro::Poller<crate::model::Instance, crate::model::OperationMetadata> {
447 type Operation =
448 lro::internal::Operation<crate::model::Instance, crate::model::OperationMetadata>;
449 let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
450 let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
451
452 let stub = self.0.stub.clone();
453 let mut options = self.0.options.clone();
454 options.set_retry_policy(gax::retry_policy::NeverRetry);
455 let query = move |name| {
456 let stub = stub.clone();
457 let options = options.clone();
458 async {
459 let op = GetOperation::new(stub)
460 .set_name(name)
461 .with_options(options)
462 .send()
463 .await?;
464 Ok(Operation::new(op))
465 }
466 };
467
468 let start = move || async {
469 let op = self.send().await?;
470 Ok(Operation::new(op))
471 };
472
473 lro::internal::new_poller(polling_error_policy, polling_backoff_policy, start, query)
474 }
475
476 pub fn set_instance<T>(mut self, v: T) -> Self
480 where
481 T: std::convert::Into<crate::model::Instance>,
482 {
483 self.0.request.instance = std::option::Option::Some(v.into());
484 self
485 }
486
487 pub fn set_or_clear_instance<T>(mut self, v: std::option::Option<T>) -> Self
491 where
492 T: std::convert::Into<crate::model::Instance>,
493 {
494 self.0.request.instance = v.map(|x| x.into());
495 self
496 }
497
498 pub fn set_update_mask<T>(mut self, v: T) -> Self
502 where
503 T: std::convert::Into<wkt::FieldMask>,
504 {
505 self.0.request.update_mask = std::option::Option::Some(v.into());
506 self
507 }
508
509 pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
513 where
514 T: std::convert::Into<wkt::FieldMask>,
515 {
516 self.0.request.update_mask = v.map(|x| x.into());
517 self
518 }
519
520 pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
522 self.0.request.request_id = v.into();
523 self
524 }
525 }
526
527 #[doc(hidden)]
528 impl gax::options::internal::RequestBuilder for UpdateInstance {
529 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
530 &mut self.0.options
531 }
532 }
533
534 #[derive(Clone, Debug)]
553 pub struct DeleteInstance(RequestBuilder<crate::model::DeleteInstanceRequest>);
554
555 impl DeleteInstance {
556 pub(crate) fn new(
557 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
558 ) -> Self {
559 Self(RequestBuilder::new(stub))
560 }
561
562 pub fn with_request<V: Into<crate::model::DeleteInstanceRequest>>(mut self, v: V) -> Self {
564 self.0.request = v.into();
565 self
566 }
567
568 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
570 self.0.options = v.into();
571 self
572 }
573
574 pub async fn send(self) -> Result<longrunning::model::Operation> {
581 (*self.0.stub)
582 .delete_instance(self.0.request, self.0.options)
583 .await
584 .map(gax::response::Response::into_body)
585 }
586
587 pub fn poller(self) -> impl lro::Poller<(), crate::model::OperationMetadata> {
589 type Operation = lro::internal::Operation<wkt::Empty, crate::model::OperationMetadata>;
590 let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
591 let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
592
593 let stub = self.0.stub.clone();
594 let mut options = self.0.options.clone();
595 options.set_retry_policy(gax::retry_policy::NeverRetry);
596 let query = move |name| {
597 let stub = stub.clone();
598 let options = options.clone();
599 async {
600 let op = GetOperation::new(stub)
601 .set_name(name)
602 .with_options(options)
603 .send()
604 .await?;
605 Ok(Operation::new(op))
606 }
607 };
608
609 let start = move || async {
610 let op = self.send().await?;
611 Ok(Operation::new(op))
612 };
613
614 lro::internal::new_unit_response_poller(
615 polling_error_policy,
616 polling_backoff_policy,
617 start,
618 query,
619 )
620 }
621
622 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
626 self.0.request.name = v.into();
627 self
628 }
629
630 pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
632 self.0.request.request_id = v.into();
633 self
634 }
635 }
636
637 #[doc(hidden)]
638 impl gax::options::internal::RequestBuilder for DeleteInstance {
639 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
640 &mut self.0.options
641 }
642 }
643
644 #[derive(Clone, Debug)]
663 pub struct StartInstance(RequestBuilder<crate::model::StartInstanceRequest>);
664
665 impl StartInstance {
666 pub(crate) fn new(
667 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
668 ) -> Self {
669 Self(RequestBuilder::new(stub))
670 }
671
672 pub fn with_request<V: Into<crate::model::StartInstanceRequest>>(mut self, v: V) -> Self {
674 self.0.request = v.into();
675 self
676 }
677
678 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
680 self.0.options = v.into();
681 self
682 }
683
684 pub async fn send(self) -> Result<longrunning::model::Operation> {
691 (*self.0.stub)
692 .start_instance(self.0.request, self.0.options)
693 .await
694 .map(gax::response::Response::into_body)
695 }
696
697 pub fn poller(
699 self,
700 ) -> impl lro::Poller<crate::model::Instance, crate::model::OperationMetadata> {
701 type Operation =
702 lro::internal::Operation<crate::model::Instance, crate::model::OperationMetadata>;
703 let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
704 let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
705
706 let stub = self.0.stub.clone();
707 let mut options = self.0.options.clone();
708 options.set_retry_policy(gax::retry_policy::NeverRetry);
709 let query = move |name| {
710 let stub = stub.clone();
711 let options = options.clone();
712 async {
713 let op = GetOperation::new(stub)
714 .set_name(name)
715 .with_options(options)
716 .send()
717 .await?;
718 Ok(Operation::new(op))
719 }
720 };
721
722 let start = move || async {
723 let op = self.send().await?;
724 Ok(Operation::new(op))
725 };
726
727 lro::internal::new_poller(polling_error_policy, polling_backoff_policy, start, query)
728 }
729
730 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
734 self.0.request.name = v.into();
735 self
736 }
737 }
738
739 #[doc(hidden)]
740 impl gax::options::internal::RequestBuilder for StartInstance {
741 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
742 &mut self.0.options
743 }
744 }
745
746 #[derive(Clone, Debug)]
765 pub struct StopInstance(RequestBuilder<crate::model::StopInstanceRequest>);
766
767 impl StopInstance {
768 pub(crate) fn new(
769 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
770 ) -> Self {
771 Self(RequestBuilder::new(stub))
772 }
773
774 pub fn with_request<V: Into<crate::model::StopInstanceRequest>>(mut self, v: V) -> Self {
776 self.0.request = v.into();
777 self
778 }
779
780 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
782 self.0.options = v.into();
783 self
784 }
785
786 pub async fn send(self) -> Result<longrunning::model::Operation> {
793 (*self.0.stub)
794 .stop_instance(self.0.request, self.0.options)
795 .await
796 .map(gax::response::Response::into_body)
797 }
798
799 pub fn poller(
801 self,
802 ) -> impl lro::Poller<crate::model::Instance, crate::model::OperationMetadata> {
803 type Operation =
804 lro::internal::Operation<crate::model::Instance, crate::model::OperationMetadata>;
805 let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
806 let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
807
808 let stub = self.0.stub.clone();
809 let mut options = self.0.options.clone();
810 options.set_retry_policy(gax::retry_policy::NeverRetry);
811 let query = move |name| {
812 let stub = stub.clone();
813 let options = options.clone();
814 async {
815 let op = GetOperation::new(stub)
816 .set_name(name)
817 .with_options(options)
818 .send()
819 .await?;
820 Ok(Operation::new(op))
821 }
822 };
823
824 let start = move || async {
825 let op = self.send().await?;
826 Ok(Operation::new(op))
827 };
828
829 lro::internal::new_poller(polling_error_policy, polling_backoff_policy, start, query)
830 }
831
832 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
836 self.0.request.name = v.into();
837 self
838 }
839 }
840
841 #[doc(hidden)]
842 impl gax::options::internal::RequestBuilder for StopInstance {
843 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
844 &mut self.0.options
845 }
846 }
847
848 #[derive(Clone, Debug)]
867 pub struct ResetInstance(RequestBuilder<crate::model::ResetInstanceRequest>);
868
869 impl ResetInstance {
870 pub(crate) fn new(
871 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
872 ) -> Self {
873 Self(RequestBuilder::new(stub))
874 }
875
876 pub fn with_request<V: Into<crate::model::ResetInstanceRequest>>(mut self, v: V) -> Self {
878 self.0.request = v.into();
879 self
880 }
881
882 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
884 self.0.options = v.into();
885 self
886 }
887
888 pub async fn send(self) -> Result<longrunning::model::Operation> {
895 (*self.0.stub)
896 .reset_instance(self.0.request, self.0.options)
897 .await
898 .map(gax::response::Response::into_body)
899 }
900
901 pub fn poller(
903 self,
904 ) -> impl lro::Poller<crate::model::Instance, crate::model::OperationMetadata> {
905 type Operation =
906 lro::internal::Operation<crate::model::Instance, crate::model::OperationMetadata>;
907 let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
908 let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
909
910 let stub = self.0.stub.clone();
911 let mut options = self.0.options.clone();
912 options.set_retry_policy(gax::retry_policy::NeverRetry);
913 let query = move |name| {
914 let stub = stub.clone();
915 let options = options.clone();
916 async {
917 let op = GetOperation::new(stub)
918 .set_name(name)
919 .with_options(options)
920 .send()
921 .await?;
922 Ok(Operation::new(op))
923 }
924 };
925
926 let start = move || async {
927 let op = self.send().await?;
928 Ok(Operation::new(op))
929 };
930
931 lro::internal::new_poller(polling_error_policy, polling_backoff_policy, start, query)
932 }
933
934 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
938 self.0.request.name = v.into();
939 self
940 }
941 }
942
943 #[doc(hidden)]
944 impl gax::options::internal::RequestBuilder for ResetInstance {
945 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
946 &mut self.0.options
947 }
948 }
949
950 #[derive(Clone, Debug)]
968 pub struct CheckInstanceUpgradability(
969 RequestBuilder<crate::model::CheckInstanceUpgradabilityRequest>,
970 );
971
972 impl CheckInstanceUpgradability {
973 pub(crate) fn new(
974 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
975 ) -> Self {
976 Self(RequestBuilder::new(stub))
977 }
978
979 pub fn with_request<V: Into<crate::model::CheckInstanceUpgradabilityRequest>>(
981 mut self,
982 v: V,
983 ) -> Self {
984 self.0.request = v.into();
985 self
986 }
987
988 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
990 self.0.options = v.into();
991 self
992 }
993
994 pub async fn send(self) -> Result<crate::model::CheckInstanceUpgradabilityResponse> {
996 (*self.0.stub)
997 .check_instance_upgradability(self.0.request, self.0.options)
998 .await
999 .map(gax::response::Response::into_body)
1000 }
1001
1002 pub fn set_notebook_instance<T: Into<std::string::String>>(mut self, v: T) -> Self {
1006 self.0.request.notebook_instance = v.into();
1007 self
1008 }
1009 }
1010
1011 #[doc(hidden)]
1012 impl gax::options::internal::RequestBuilder for CheckInstanceUpgradability {
1013 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1014 &mut self.0.options
1015 }
1016 }
1017
1018 #[derive(Clone, Debug)]
1037 pub struct UpgradeInstance(RequestBuilder<crate::model::UpgradeInstanceRequest>);
1038
1039 impl UpgradeInstance {
1040 pub(crate) fn new(
1041 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
1042 ) -> Self {
1043 Self(RequestBuilder::new(stub))
1044 }
1045
1046 pub fn with_request<V: Into<crate::model::UpgradeInstanceRequest>>(mut self, v: V) -> Self {
1048 self.0.request = v.into();
1049 self
1050 }
1051
1052 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1054 self.0.options = v.into();
1055 self
1056 }
1057
1058 pub async fn send(self) -> Result<longrunning::model::Operation> {
1065 (*self.0.stub)
1066 .upgrade_instance(self.0.request, self.0.options)
1067 .await
1068 .map(gax::response::Response::into_body)
1069 }
1070
1071 pub fn poller(
1073 self,
1074 ) -> impl lro::Poller<crate::model::Instance, crate::model::OperationMetadata> {
1075 type Operation =
1076 lro::internal::Operation<crate::model::Instance, crate::model::OperationMetadata>;
1077 let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
1078 let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
1079
1080 let stub = self.0.stub.clone();
1081 let mut options = self.0.options.clone();
1082 options.set_retry_policy(gax::retry_policy::NeverRetry);
1083 let query = move |name| {
1084 let stub = stub.clone();
1085 let options = options.clone();
1086 async {
1087 let op = GetOperation::new(stub)
1088 .set_name(name)
1089 .with_options(options)
1090 .send()
1091 .await?;
1092 Ok(Operation::new(op))
1093 }
1094 };
1095
1096 let start = move || async {
1097 let op = self.send().await?;
1098 Ok(Operation::new(op))
1099 };
1100
1101 lro::internal::new_poller(polling_error_policy, polling_backoff_policy, start, query)
1102 }
1103
1104 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1108 self.0.request.name = v.into();
1109 self
1110 }
1111 }
1112
1113 #[doc(hidden)]
1114 impl gax::options::internal::RequestBuilder for UpgradeInstance {
1115 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1116 &mut self.0.options
1117 }
1118 }
1119
1120 #[derive(Clone, Debug)]
1139 pub struct RollbackInstance(RequestBuilder<crate::model::RollbackInstanceRequest>);
1140
1141 impl RollbackInstance {
1142 pub(crate) fn new(
1143 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
1144 ) -> Self {
1145 Self(RequestBuilder::new(stub))
1146 }
1147
1148 pub fn with_request<V: Into<crate::model::RollbackInstanceRequest>>(
1150 mut self,
1151 v: V,
1152 ) -> Self {
1153 self.0.request = v.into();
1154 self
1155 }
1156
1157 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1159 self.0.options = v.into();
1160 self
1161 }
1162
1163 pub async fn send(self) -> Result<longrunning::model::Operation> {
1170 (*self.0.stub)
1171 .rollback_instance(self.0.request, self.0.options)
1172 .await
1173 .map(gax::response::Response::into_body)
1174 }
1175
1176 pub fn poller(
1178 self,
1179 ) -> impl lro::Poller<crate::model::Instance, crate::model::OperationMetadata> {
1180 type Operation =
1181 lro::internal::Operation<crate::model::Instance, crate::model::OperationMetadata>;
1182 let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
1183 let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
1184
1185 let stub = self.0.stub.clone();
1186 let mut options = self.0.options.clone();
1187 options.set_retry_policy(gax::retry_policy::NeverRetry);
1188 let query = move |name| {
1189 let stub = stub.clone();
1190 let options = options.clone();
1191 async {
1192 let op = GetOperation::new(stub)
1193 .set_name(name)
1194 .with_options(options)
1195 .send()
1196 .await?;
1197 Ok(Operation::new(op))
1198 }
1199 };
1200
1201 let start = move || async {
1202 let op = self.send().await?;
1203 Ok(Operation::new(op))
1204 };
1205
1206 lro::internal::new_poller(polling_error_policy, polling_backoff_policy, start, query)
1207 }
1208
1209 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1213 self.0.request.name = v.into();
1214 self
1215 }
1216
1217 pub fn set_target_snapshot<T: Into<std::string::String>>(mut self, v: T) -> Self {
1221 self.0.request.target_snapshot = v.into();
1222 self
1223 }
1224
1225 pub fn set_revision_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
1229 self.0.request.revision_id = v.into();
1230 self
1231 }
1232 }
1233
1234 #[doc(hidden)]
1235 impl gax::options::internal::RequestBuilder for RollbackInstance {
1236 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1237 &mut self.0.options
1238 }
1239 }
1240
1241 #[derive(Clone, Debug)]
1260 pub struct DiagnoseInstance(RequestBuilder<crate::model::DiagnoseInstanceRequest>);
1261
1262 impl DiagnoseInstance {
1263 pub(crate) fn new(
1264 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
1265 ) -> Self {
1266 Self(RequestBuilder::new(stub))
1267 }
1268
1269 pub fn with_request<V: Into<crate::model::DiagnoseInstanceRequest>>(
1271 mut self,
1272 v: V,
1273 ) -> Self {
1274 self.0.request = v.into();
1275 self
1276 }
1277
1278 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1280 self.0.options = v.into();
1281 self
1282 }
1283
1284 pub async fn send(self) -> Result<longrunning::model::Operation> {
1291 (*self.0.stub)
1292 .diagnose_instance(self.0.request, self.0.options)
1293 .await
1294 .map(gax::response::Response::into_body)
1295 }
1296
1297 pub fn poller(
1299 self,
1300 ) -> impl lro::Poller<crate::model::Instance, crate::model::OperationMetadata> {
1301 type Operation =
1302 lro::internal::Operation<crate::model::Instance, crate::model::OperationMetadata>;
1303 let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
1304 let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
1305
1306 let stub = self.0.stub.clone();
1307 let mut options = self.0.options.clone();
1308 options.set_retry_policy(gax::retry_policy::NeverRetry);
1309 let query = move |name| {
1310 let stub = stub.clone();
1311 let options = options.clone();
1312 async {
1313 let op = GetOperation::new(stub)
1314 .set_name(name)
1315 .with_options(options)
1316 .send()
1317 .await?;
1318 Ok(Operation::new(op))
1319 }
1320 };
1321
1322 let start = move || async {
1323 let op = self.send().await?;
1324 Ok(Operation::new(op))
1325 };
1326
1327 lro::internal::new_poller(polling_error_policy, polling_backoff_policy, start, query)
1328 }
1329
1330 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1334 self.0.request.name = v.into();
1335 self
1336 }
1337
1338 pub fn set_diagnostic_config<T>(mut self, v: T) -> Self
1342 where
1343 T: std::convert::Into<crate::model::DiagnosticConfig>,
1344 {
1345 self.0.request.diagnostic_config = std::option::Option::Some(v.into());
1346 self
1347 }
1348
1349 pub fn set_or_clear_diagnostic_config<T>(mut self, v: std::option::Option<T>) -> Self
1353 where
1354 T: std::convert::Into<crate::model::DiagnosticConfig>,
1355 {
1356 self.0.request.diagnostic_config = v.map(|x| x.into());
1357 self
1358 }
1359
1360 pub fn set_timeout_minutes<T: Into<i32>>(mut self, v: T) -> Self {
1362 self.0.request.timeout_minutes = v.into();
1363 self
1364 }
1365 }
1366
1367 #[doc(hidden)]
1368 impl gax::options::internal::RequestBuilder for DiagnoseInstance {
1369 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1370 &mut self.0.options
1371 }
1372 }
1373
1374 #[derive(Clone, Debug)]
1396 pub struct ListLocations(RequestBuilder<location::model::ListLocationsRequest>);
1397
1398 impl ListLocations {
1399 pub(crate) fn new(
1400 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
1401 ) -> Self {
1402 Self(RequestBuilder::new(stub))
1403 }
1404
1405 pub fn with_request<V: Into<location::model::ListLocationsRequest>>(
1407 mut self,
1408 v: V,
1409 ) -> Self {
1410 self.0.request = v.into();
1411 self
1412 }
1413
1414 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1416 self.0.options = v.into();
1417 self
1418 }
1419
1420 pub async fn send(self) -> Result<location::model::ListLocationsResponse> {
1422 (*self.0.stub)
1423 .list_locations(self.0.request, self.0.options)
1424 .await
1425 .map(gax::response::Response::into_body)
1426 }
1427
1428 pub fn by_page(
1430 self,
1431 ) -> impl gax::paginator::Paginator<location::model::ListLocationsResponse, gax::error::Error>
1432 {
1433 use std::clone::Clone;
1434 let token = self.0.request.page_token.clone();
1435 let execute = move |token: String| {
1436 let mut builder = self.clone();
1437 builder.0.request = builder.0.request.set_page_token(token);
1438 builder.send()
1439 };
1440 gax::paginator::internal::new_paginator(token, execute)
1441 }
1442
1443 pub fn by_item(
1445 self,
1446 ) -> impl gax::paginator::ItemPaginator<location::model::ListLocationsResponse, gax::error::Error>
1447 {
1448 use gax::paginator::Paginator;
1449 self.by_page().items()
1450 }
1451
1452 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1454 self.0.request.name = v.into();
1455 self
1456 }
1457
1458 pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
1460 self.0.request.filter = v.into();
1461 self
1462 }
1463
1464 pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
1466 self.0.request.page_size = v.into();
1467 self
1468 }
1469
1470 pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
1472 self.0.request.page_token = v.into();
1473 self
1474 }
1475 }
1476
1477 #[doc(hidden)]
1478 impl gax::options::internal::RequestBuilder for ListLocations {
1479 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1480 &mut self.0.options
1481 }
1482 }
1483
1484 #[derive(Clone, Debug)]
1502 pub struct GetLocation(RequestBuilder<location::model::GetLocationRequest>);
1503
1504 impl GetLocation {
1505 pub(crate) fn new(
1506 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
1507 ) -> Self {
1508 Self(RequestBuilder::new(stub))
1509 }
1510
1511 pub fn with_request<V: Into<location::model::GetLocationRequest>>(mut self, v: V) -> Self {
1513 self.0.request = v.into();
1514 self
1515 }
1516
1517 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1519 self.0.options = v.into();
1520 self
1521 }
1522
1523 pub async fn send(self) -> Result<location::model::Location> {
1525 (*self.0.stub)
1526 .get_location(self.0.request, self.0.options)
1527 .await
1528 .map(gax::response::Response::into_body)
1529 }
1530
1531 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1533 self.0.request.name = v.into();
1534 self
1535 }
1536 }
1537
1538 #[doc(hidden)]
1539 impl gax::options::internal::RequestBuilder for GetLocation {
1540 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1541 &mut self.0.options
1542 }
1543 }
1544
1545 #[derive(Clone, Debug)]
1563 pub struct SetIamPolicy(RequestBuilder<iam_v1::model::SetIamPolicyRequest>);
1564
1565 impl SetIamPolicy {
1566 pub(crate) fn new(
1567 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
1568 ) -> Self {
1569 Self(RequestBuilder::new(stub))
1570 }
1571
1572 pub fn with_request<V: Into<iam_v1::model::SetIamPolicyRequest>>(mut self, v: V) -> Self {
1574 self.0.request = v.into();
1575 self
1576 }
1577
1578 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1580 self.0.options = v.into();
1581 self
1582 }
1583
1584 pub async fn send(self) -> Result<iam_v1::model::Policy> {
1586 (*self.0.stub)
1587 .set_iam_policy(self.0.request, self.0.options)
1588 .await
1589 .map(gax::response::Response::into_body)
1590 }
1591
1592 pub fn set_resource<T: Into<std::string::String>>(mut self, v: T) -> Self {
1596 self.0.request.resource = v.into();
1597 self
1598 }
1599
1600 pub fn set_policy<T>(mut self, v: T) -> Self
1604 where
1605 T: std::convert::Into<iam_v1::model::Policy>,
1606 {
1607 self.0.request.policy = std::option::Option::Some(v.into());
1608 self
1609 }
1610
1611 pub fn set_or_clear_policy<T>(mut self, v: std::option::Option<T>) -> Self
1615 where
1616 T: std::convert::Into<iam_v1::model::Policy>,
1617 {
1618 self.0.request.policy = v.map(|x| x.into());
1619 self
1620 }
1621
1622 pub fn set_update_mask<T>(mut self, v: T) -> Self
1624 where
1625 T: std::convert::Into<wkt::FieldMask>,
1626 {
1627 self.0.request.update_mask = std::option::Option::Some(v.into());
1628 self
1629 }
1630
1631 pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
1633 where
1634 T: std::convert::Into<wkt::FieldMask>,
1635 {
1636 self.0.request.update_mask = v.map(|x| x.into());
1637 self
1638 }
1639 }
1640
1641 #[doc(hidden)]
1642 impl gax::options::internal::RequestBuilder for SetIamPolicy {
1643 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1644 &mut self.0.options
1645 }
1646 }
1647
1648 #[derive(Clone, Debug)]
1666 pub struct GetIamPolicy(RequestBuilder<iam_v1::model::GetIamPolicyRequest>);
1667
1668 impl GetIamPolicy {
1669 pub(crate) fn new(
1670 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
1671 ) -> Self {
1672 Self(RequestBuilder::new(stub))
1673 }
1674
1675 pub fn with_request<V: Into<iam_v1::model::GetIamPolicyRequest>>(mut self, v: V) -> Self {
1677 self.0.request = v.into();
1678 self
1679 }
1680
1681 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1683 self.0.options = v.into();
1684 self
1685 }
1686
1687 pub async fn send(self) -> Result<iam_v1::model::Policy> {
1689 (*self.0.stub)
1690 .get_iam_policy(self.0.request, self.0.options)
1691 .await
1692 .map(gax::response::Response::into_body)
1693 }
1694
1695 pub fn set_resource<T: Into<std::string::String>>(mut self, v: T) -> Self {
1699 self.0.request.resource = v.into();
1700 self
1701 }
1702
1703 pub fn set_options<T>(mut self, v: T) -> Self
1705 where
1706 T: std::convert::Into<iam_v1::model::GetPolicyOptions>,
1707 {
1708 self.0.request.options = std::option::Option::Some(v.into());
1709 self
1710 }
1711
1712 pub fn set_or_clear_options<T>(mut self, v: std::option::Option<T>) -> Self
1714 where
1715 T: std::convert::Into<iam_v1::model::GetPolicyOptions>,
1716 {
1717 self.0.request.options = v.map(|x| x.into());
1718 self
1719 }
1720 }
1721
1722 #[doc(hidden)]
1723 impl gax::options::internal::RequestBuilder for GetIamPolicy {
1724 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1725 &mut self.0.options
1726 }
1727 }
1728
1729 #[derive(Clone, Debug)]
1747 pub struct TestIamPermissions(RequestBuilder<iam_v1::model::TestIamPermissionsRequest>);
1748
1749 impl TestIamPermissions {
1750 pub(crate) fn new(
1751 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
1752 ) -> Self {
1753 Self(RequestBuilder::new(stub))
1754 }
1755
1756 pub fn with_request<V: Into<iam_v1::model::TestIamPermissionsRequest>>(
1758 mut self,
1759 v: V,
1760 ) -> Self {
1761 self.0.request = v.into();
1762 self
1763 }
1764
1765 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1767 self.0.options = v.into();
1768 self
1769 }
1770
1771 pub async fn send(self) -> Result<iam_v1::model::TestIamPermissionsResponse> {
1773 (*self.0.stub)
1774 .test_iam_permissions(self.0.request, self.0.options)
1775 .await
1776 .map(gax::response::Response::into_body)
1777 }
1778
1779 pub fn set_resource<T: Into<std::string::String>>(mut self, v: T) -> Self {
1783 self.0.request.resource = v.into();
1784 self
1785 }
1786
1787 pub fn set_permissions<T, V>(mut self, v: T) -> Self
1791 where
1792 T: std::iter::IntoIterator<Item = V>,
1793 V: std::convert::Into<std::string::String>,
1794 {
1795 use std::iter::Iterator;
1796 self.0.request.permissions = v.into_iter().map(|i| i.into()).collect();
1797 self
1798 }
1799 }
1800
1801 #[doc(hidden)]
1802 impl gax::options::internal::RequestBuilder for TestIamPermissions {
1803 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1804 &mut self.0.options
1805 }
1806 }
1807
1808 #[derive(Clone, Debug)]
1830 pub struct ListOperations(RequestBuilder<longrunning::model::ListOperationsRequest>);
1831
1832 impl ListOperations {
1833 pub(crate) fn new(
1834 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
1835 ) -> Self {
1836 Self(RequestBuilder::new(stub))
1837 }
1838
1839 pub fn with_request<V: Into<longrunning::model::ListOperationsRequest>>(
1841 mut self,
1842 v: V,
1843 ) -> Self {
1844 self.0.request = v.into();
1845 self
1846 }
1847
1848 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1850 self.0.options = v.into();
1851 self
1852 }
1853
1854 pub async fn send(self) -> Result<longrunning::model::ListOperationsResponse> {
1856 (*self.0.stub)
1857 .list_operations(self.0.request, self.0.options)
1858 .await
1859 .map(gax::response::Response::into_body)
1860 }
1861
1862 pub fn by_page(
1864 self,
1865 ) -> impl gax::paginator::Paginator<longrunning::model::ListOperationsResponse, gax::error::Error>
1866 {
1867 use std::clone::Clone;
1868 let token = self.0.request.page_token.clone();
1869 let execute = move |token: String| {
1870 let mut builder = self.clone();
1871 builder.0.request = builder.0.request.set_page_token(token);
1872 builder.send()
1873 };
1874 gax::paginator::internal::new_paginator(token, execute)
1875 }
1876
1877 pub fn by_item(
1879 self,
1880 ) -> impl gax::paginator::ItemPaginator<
1881 longrunning::model::ListOperationsResponse,
1882 gax::error::Error,
1883 > {
1884 use gax::paginator::Paginator;
1885 self.by_page().items()
1886 }
1887
1888 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1890 self.0.request.name = v.into();
1891 self
1892 }
1893
1894 pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
1896 self.0.request.filter = v.into();
1897 self
1898 }
1899
1900 pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
1902 self.0.request.page_size = v.into();
1903 self
1904 }
1905
1906 pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
1908 self.0.request.page_token = v.into();
1909 self
1910 }
1911
1912 pub fn set_return_partial_success<T: Into<bool>>(mut self, v: T) -> Self {
1914 self.0.request.return_partial_success = v.into();
1915 self
1916 }
1917 }
1918
1919 #[doc(hidden)]
1920 impl gax::options::internal::RequestBuilder for ListOperations {
1921 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1922 &mut self.0.options
1923 }
1924 }
1925
1926 #[derive(Clone, Debug)]
1944 pub struct GetOperation(RequestBuilder<longrunning::model::GetOperationRequest>);
1945
1946 impl GetOperation {
1947 pub(crate) fn new(
1948 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
1949 ) -> Self {
1950 Self(RequestBuilder::new(stub))
1951 }
1952
1953 pub fn with_request<V: Into<longrunning::model::GetOperationRequest>>(
1955 mut self,
1956 v: V,
1957 ) -> Self {
1958 self.0.request = v.into();
1959 self
1960 }
1961
1962 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1964 self.0.options = v.into();
1965 self
1966 }
1967
1968 pub async fn send(self) -> Result<longrunning::model::Operation> {
1970 (*self.0.stub)
1971 .get_operation(self.0.request, self.0.options)
1972 .await
1973 .map(gax::response::Response::into_body)
1974 }
1975
1976 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1978 self.0.request.name = v.into();
1979 self
1980 }
1981 }
1982
1983 #[doc(hidden)]
1984 impl gax::options::internal::RequestBuilder for GetOperation {
1985 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1986 &mut self.0.options
1987 }
1988 }
1989
1990 #[derive(Clone, Debug)]
2008 pub struct DeleteOperation(RequestBuilder<longrunning::model::DeleteOperationRequest>);
2009
2010 impl DeleteOperation {
2011 pub(crate) fn new(
2012 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
2013 ) -> Self {
2014 Self(RequestBuilder::new(stub))
2015 }
2016
2017 pub fn with_request<V: Into<longrunning::model::DeleteOperationRequest>>(
2019 mut self,
2020 v: V,
2021 ) -> Self {
2022 self.0.request = v.into();
2023 self
2024 }
2025
2026 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
2028 self.0.options = v.into();
2029 self
2030 }
2031
2032 pub async fn send(self) -> Result<()> {
2034 (*self.0.stub)
2035 .delete_operation(self.0.request, self.0.options)
2036 .await
2037 .map(gax::response::Response::into_body)
2038 }
2039
2040 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
2042 self.0.request.name = v.into();
2043 self
2044 }
2045 }
2046
2047 #[doc(hidden)]
2048 impl gax::options::internal::RequestBuilder for DeleteOperation {
2049 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
2050 &mut self.0.options
2051 }
2052 }
2053
2054 #[derive(Clone, Debug)]
2072 pub struct CancelOperation(RequestBuilder<longrunning::model::CancelOperationRequest>);
2073
2074 impl CancelOperation {
2075 pub(crate) fn new(
2076 stub: std::sync::Arc<dyn super::super::stub::dynamic::NotebookService>,
2077 ) -> Self {
2078 Self(RequestBuilder::new(stub))
2079 }
2080
2081 pub fn with_request<V: Into<longrunning::model::CancelOperationRequest>>(
2083 mut self,
2084 v: V,
2085 ) -> Self {
2086 self.0.request = v.into();
2087 self
2088 }
2089
2090 pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
2092 self.0.options = v.into();
2093 self
2094 }
2095
2096 pub async fn send(self) -> Result<()> {
2098 (*self.0.stub)
2099 .cancel_operation(self.0.request, self.0.options)
2100 .await
2101 .map(gax::response::Response::into_body)
2102 }
2103
2104 pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
2106 self.0.request.name = v.into();
2107 self
2108 }
2109 }
2110
2111 #[doc(hidden)]
2112 impl gax::options::internal::RequestBuilder for CancelOperation {
2113 fn request_options(&mut self) -> &mut gax::options::RequestOptions {
2114 &mut self.0.options
2115 }
2116 }
2117}