google_cloud_parametermanager_v1/
builder.rs

1// Copyright 2025 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// Code generated by sidekick. DO NOT EDIT.
16
17pub mod parameter_manager {
18    use crate::Result;
19
20    /// A builder for [ParameterManager][crate::client::ParameterManager].
21    ///
22    /// ```
23    /// # tokio_test::block_on(async {
24    /// # use google_cloud_parametermanager_v1::*;
25    /// # use builder::parameter_manager::ClientBuilder;
26    /// # use client::ParameterManager;
27    /// let builder : ClientBuilder = ParameterManager::builder();
28    /// let client = builder
29    ///     .with_endpoint("https://parametermanager.googleapis.com")
30    ///     .build().await?;
31    /// # gax::client_builder::Result::<()>::Ok(()) });
32    /// ```
33    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::ParameterManager;
38        pub struct Factory;
39        impl gax::client_builder::internal::ClientFactory for Factory {
40            type Client = ParameterManager;
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    /// Common implementation for [crate::client::ParameterManager] request builders.
52    #[derive(Clone, Debug)]
53    pub(crate) struct RequestBuilder<R: std::default::Default> {
54        stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
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::ParameterManager>,
65        ) -> Self {
66            Self {
67                stub,
68                request: R::default(),
69                options: gax::options::RequestOptions::default(),
70            }
71        }
72    }
73
74    /// The request builder for [ParameterManager::list_parameters][crate::client::ParameterManager::list_parameters] calls.
75    ///
76    /// # Example
77    /// ```no_run
78    /// # use google_cloud_parametermanager_v1::builder;
79    /// use builder::parameter_manager::ListParameters;
80    /// # tokio_test::block_on(async {
81    /// use gax::paginator::ItemPaginator;
82    ///
83    /// let builder = prepare_request_builder();
84    /// let mut items = builder.by_item();
85    /// while let Some(result) = items.next().await {
86    ///   let item = result?;
87    /// }
88    /// # gax::Result::<()>::Ok(()) });
89    ///
90    /// fn prepare_request_builder() -> ListParameters {
91    ///   # panic!();
92    ///   // ... details omitted ...
93    /// }
94    /// ```
95    #[derive(Clone, Debug)]
96    pub struct ListParameters(RequestBuilder<crate::model::ListParametersRequest>);
97
98    impl ListParameters {
99        pub(crate) fn new(
100            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
101        ) -> Self {
102            Self(RequestBuilder::new(stub))
103        }
104
105        /// Sets the full request, replacing any prior values.
106        pub fn with_request<V: Into<crate::model::ListParametersRequest>>(mut self, v: V) -> Self {
107            self.0.request = v.into();
108            self
109        }
110
111        /// Sets all the options, replacing any prior values.
112        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        /// Sends the request.
118        pub async fn send(self) -> Result<crate::model::ListParametersResponse> {
119            (*self.0.stub)
120                .list_parameters(self.0.request, self.0.options)
121                .await
122                .map(gax::response::Response::into_body)
123        }
124
125        /// Streams each page in the collection.
126        pub fn by_page(
127            self,
128        ) -> impl gax::paginator::Paginator<crate::model::ListParametersResponse, 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        /// Streams each item in the collection.
141        pub fn by_item(
142            self,
143        ) -> impl gax::paginator::ItemPaginator<crate::model::ListParametersResponse, gax::error::Error>
144        {
145            use gax::paginator::Paginator;
146            self.by_page().items()
147        }
148
149        /// Sets the value of [parent][crate::model::ListParametersRequest::parent].
150        ///
151        /// This is a **required** field for requests.
152        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        /// Sets the value of [page_size][crate::model::ListParametersRequest::page_size].
158        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        /// Sets the value of [page_token][crate::model::ListParametersRequest::page_token].
164        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        /// Sets the value of [filter][crate::model::ListParametersRequest::filter].
170        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
171            self.0.request.filter = v.into();
172            self
173        }
174
175        /// Sets the value of [order_by][crate::model::ListParametersRequest::order_by].
176        pub fn set_order_by<T: Into<std::string::String>>(mut self, v: T) -> Self {
177            self.0.request.order_by = v.into();
178            self
179        }
180    }
181
182    #[doc(hidden)]
183    impl gax::options::internal::RequestBuilder for ListParameters {
184        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
185            &mut self.0.options
186        }
187    }
188
189    /// The request builder for [ParameterManager::get_parameter][crate::client::ParameterManager::get_parameter] calls.
190    ///
191    /// # Example
192    /// ```no_run
193    /// # use google_cloud_parametermanager_v1::builder;
194    /// use builder::parameter_manager::GetParameter;
195    /// # tokio_test::block_on(async {
196    ///
197    /// let builder = prepare_request_builder();
198    /// let response = builder.send().await?;
199    /// # gax::Result::<()>::Ok(()) });
200    ///
201    /// fn prepare_request_builder() -> GetParameter {
202    ///   # panic!();
203    ///   // ... details omitted ...
204    /// }
205    /// ```
206    #[derive(Clone, Debug)]
207    pub struct GetParameter(RequestBuilder<crate::model::GetParameterRequest>);
208
209    impl GetParameter {
210        pub(crate) fn new(
211            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
212        ) -> Self {
213            Self(RequestBuilder::new(stub))
214        }
215
216        /// Sets the full request, replacing any prior values.
217        pub fn with_request<V: Into<crate::model::GetParameterRequest>>(mut self, v: V) -> Self {
218            self.0.request = v.into();
219            self
220        }
221
222        /// Sets all the options, replacing any prior values.
223        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        /// Sends the request.
229        pub async fn send(self) -> Result<crate::model::Parameter> {
230            (*self.0.stub)
231                .get_parameter(self.0.request, self.0.options)
232                .await
233                .map(gax::response::Response::into_body)
234        }
235
236        /// Sets the value of [name][crate::model::GetParameterRequest::name].
237        ///
238        /// This is a **required** field for requests.
239        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 GetParameter {
247        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
248            &mut self.0.options
249        }
250    }
251
252    /// The request builder for [ParameterManager::create_parameter][crate::client::ParameterManager::create_parameter] calls.
253    ///
254    /// # Example
255    /// ```no_run
256    /// # use google_cloud_parametermanager_v1::builder;
257    /// use builder::parameter_manager::CreateParameter;
258    /// # tokio_test::block_on(async {
259    ///
260    /// let builder = prepare_request_builder();
261    /// let response = builder.send().await?;
262    /// # gax::Result::<()>::Ok(()) });
263    ///
264    /// fn prepare_request_builder() -> CreateParameter {
265    ///   # panic!();
266    ///   // ... details omitted ...
267    /// }
268    /// ```
269    #[derive(Clone, Debug)]
270    pub struct CreateParameter(RequestBuilder<crate::model::CreateParameterRequest>);
271
272    impl CreateParameter {
273        pub(crate) fn new(
274            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
275        ) -> Self {
276            Self(RequestBuilder::new(stub))
277        }
278
279        /// Sets the full request, replacing any prior values.
280        pub fn with_request<V: Into<crate::model::CreateParameterRequest>>(mut self, v: V) -> Self {
281            self.0.request = v.into();
282            self
283        }
284
285        /// Sets all the options, replacing any prior values.
286        pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
287            self.0.options = v.into();
288            self
289        }
290
291        /// Sends the request.
292        pub async fn send(self) -> Result<crate::model::Parameter> {
293            (*self.0.stub)
294                .create_parameter(self.0.request, self.0.options)
295                .await
296                .map(gax::response::Response::into_body)
297        }
298
299        /// Sets the value of [parent][crate::model::CreateParameterRequest::parent].
300        ///
301        /// This is a **required** field for requests.
302        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
303            self.0.request.parent = v.into();
304            self
305        }
306
307        /// Sets the value of [parameter_id][crate::model::CreateParameterRequest::parameter_id].
308        ///
309        /// This is a **required** field for requests.
310        pub fn set_parameter_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
311            self.0.request.parameter_id = v.into();
312            self
313        }
314
315        /// Sets the value of [parameter][crate::model::CreateParameterRequest::parameter].
316        ///
317        /// This is a **required** field for requests.
318        pub fn set_parameter<T>(mut self, v: T) -> Self
319        where
320            T: std::convert::Into<crate::model::Parameter>,
321        {
322            self.0.request.parameter = std::option::Option::Some(v.into());
323            self
324        }
325
326        /// Sets or clears the value of [parameter][crate::model::CreateParameterRequest::parameter].
327        ///
328        /// This is a **required** field for requests.
329        pub fn set_or_clear_parameter<T>(mut self, v: std::option::Option<T>) -> Self
330        where
331            T: std::convert::Into<crate::model::Parameter>,
332        {
333            self.0.request.parameter = v.map(|x| x.into());
334            self
335        }
336
337        /// Sets the value of [request_id][crate::model::CreateParameterRequest::request_id].
338        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
339            self.0.request.request_id = v.into();
340            self
341        }
342    }
343
344    #[doc(hidden)]
345    impl gax::options::internal::RequestBuilder for CreateParameter {
346        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
347            &mut self.0.options
348        }
349    }
350
351    /// The request builder for [ParameterManager::update_parameter][crate::client::ParameterManager::update_parameter] calls.
352    ///
353    /// # Example
354    /// ```no_run
355    /// # use google_cloud_parametermanager_v1::builder;
356    /// use builder::parameter_manager::UpdateParameter;
357    /// # tokio_test::block_on(async {
358    ///
359    /// let builder = prepare_request_builder();
360    /// let response = builder.send().await?;
361    /// # gax::Result::<()>::Ok(()) });
362    ///
363    /// fn prepare_request_builder() -> UpdateParameter {
364    ///   # panic!();
365    ///   // ... details omitted ...
366    /// }
367    /// ```
368    #[derive(Clone, Debug)]
369    pub struct UpdateParameter(RequestBuilder<crate::model::UpdateParameterRequest>);
370
371    impl UpdateParameter {
372        pub(crate) fn new(
373            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
374        ) -> Self {
375            Self(RequestBuilder::new(stub))
376        }
377
378        /// Sets the full request, replacing any prior values.
379        pub fn with_request<V: Into<crate::model::UpdateParameterRequest>>(mut self, v: V) -> Self {
380            self.0.request = v.into();
381            self
382        }
383
384        /// Sets all the options, replacing any prior values.
385        pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
386            self.0.options = v.into();
387            self
388        }
389
390        /// Sends the request.
391        pub async fn send(self) -> Result<crate::model::Parameter> {
392            (*self.0.stub)
393                .update_parameter(self.0.request, self.0.options)
394                .await
395                .map(gax::response::Response::into_body)
396        }
397
398        /// Sets the value of [update_mask][crate::model::UpdateParameterRequest::update_mask].
399        pub fn set_update_mask<T>(mut self, v: T) -> Self
400        where
401            T: std::convert::Into<wkt::FieldMask>,
402        {
403            self.0.request.update_mask = std::option::Option::Some(v.into());
404            self
405        }
406
407        /// Sets or clears the value of [update_mask][crate::model::UpdateParameterRequest::update_mask].
408        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
409        where
410            T: std::convert::Into<wkt::FieldMask>,
411        {
412            self.0.request.update_mask = v.map(|x| x.into());
413            self
414        }
415
416        /// Sets the value of [parameter][crate::model::UpdateParameterRequest::parameter].
417        ///
418        /// This is a **required** field for requests.
419        pub fn set_parameter<T>(mut self, v: T) -> Self
420        where
421            T: std::convert::Into<crate::model::Parameter>,
422        {
423            self.0.request.parameter = std::option::Option::Some(v.into());
424            self
425        }
426
427        /// Sets or clears the value of [parameter][crate::model::UpdateParameterRequest::parameter].
428        ///
429        /// This is a **required** field for requests.
430        pub fn set_or_clear_parameter<T>(mut self, v: std::option::Option<T>) -> Self
431        where
432            T: std::convert::Into<crate::model::Parameter>,
433        {
434            self.0.request.parameter = v.map(|x| x.into());
435            self
436        }
437
438        /// Sets the value of [request_id][crate::model::UpdateParameterRequest::request_id].
439        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
440            self.0.request.request_id = v.into();
441            self
442        }
443    }
444
445    #[doc(hidden)]
446    impl gax::options::internal::RequestBuilder for UpdateParameter {
447        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
448            &mut self.0.options
449        }
450    }
451
452    /// The request builder for [ParameterManager::delete_parameter][crate::client::ParameterManager::delete_parameter] calls.
453    ///
454    /// # Example
455    /// ```no_run
456    /// # use google_cloud_parametermanager_v1::builder;
457    /// use builder::parameter_manager::DeleteParameter;
458    /// # tokio_test::block_on(async {
459    ///
460    /// let builder = prepare_request_builder();
461    /// let response = builder.send().await?;
462    /// # gax::Result::<()>::Ok(()) });
463    ///
464    /// fn prepare_request_builder() -> DeleteParameter {
465    ///   # panic!();
466    ///   // ... details omitted ...
467    /// }
468    /// ```
469    #[derive(Clone, Debug)]
470    pub struct DeleteParameter(RequestBuilder<crate::model::DeleteParameterRequest>);
471
472    impl DeleteParameter {
473        pub(crate) fn new(
474            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
475        ) -> Self {
476            Self(RequestBuilder::new(stub))
477        }
478
479        /// Sets the full request, replacing any prior values.
480        pub fn with_request<V: Into<crate::model::DeleteParameterRequest>>(mut self, v: V) -> Self {
481            self.0.request = v.into();
482            self
483        }
484
485        /// Sets all the options, replacing any prior values.
486        pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
487            self.0.options = v.into();
488            self
489        }
490
491        /// Sends the request.
492        pub async fn send(self) -> Result<()> {
493            (*self.0.stub)
494                .delete_parameter(self.0.request, self.0.options)
495                .await
496                .map(gax::response::Response::into_body)
497        }
498
499        /// Sets the value of [name][crate::model::DeleteParameterRequest::name].
500        ///
501        /// This is a **required** field for requests.
502        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
503            self.0.request.name = v.into();
504            self
505        }
506
507        /// Sets the value of [request_id][crate::model::DeleteParameterRequest::request_id].
508        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
509            self.0.request.request_id = v.into();
510            self
511        }
512    }
513
514    #[doc(hidden)]
515    impl gax::options::internal::RequestBuilder for DeleteParameter {
516        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
517            &mut self.0.options
518        }
519    }
520
521    /// The request builder for [ParameterManager::list_parameter_versions][crate::client::ParameterManager::list_parameter_versions] calls.
522    ///
523    /// # Example
524    /// ```no_run
525    /// # use google_cloud_parametermanager_v1::builder;
526    /// use builder::parameter_manager::ListParameterVersions;
527    /// # tokio_test::block_on(async {
528    /// use gax::paginator::ItemPaginator;
529    ///
530    /// let builder = prepare_request_builder();
531    /// let mut items = builder.by_item();
532    /// while let Some(result) = items.next().await {
533    ///   let item = result?;
534    /// }
535    /// # gax::Result::<()>::Ok(()) });
536    ///
537    /// fn prepare_request_builder() -> ListParameterVersions {
538    ///   # panic!();
539    ///   // ... details omitted ...
540    /// }
541    /// ```
542    #[derive(Clone, Debug)]
543    pub struct ListParameterVersions(RequestBuilder<crate::model::ListParameterVersionsRequest>);
544
545    impl ListParameterVersions {
546        pub(crate) fn new(
547            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
548        ) -> Self {
549            Self(RequestBuilder::new(stub))
550        }
551
552        /// Sets the full request, replacing any prior values.
553        pub fn with_request<V: Into<crate::model::ListParameterVersionsRequest>>(
554            mut self,
555            v: V,
556        ) -> Self {
557            self.0.request = v.into();
558            self
559        }
560
561        /// Sets all the options, replacing any prior values.
562        pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
563            self.0.options = v.into();
564            self
565        }
566
567        /// Sends the request.
568        pub async fn send(self) -> Result<crate::model::ListParameterVersionsResponse> {
569            (*self.0.stub)
570                .list_parameter_versions(self.0.request, self.0.options)
571                .await
572                .map(gax::response::Response::into_body)
573        }
574
575        /// Streams each page in the collection.
576        pub fn by_page(
577            self,
578        ) -> impl gax::paginator::Paginator<crate::model::ListParameterVersionsResponse, gax::error::Error>
579        {
580            use std::clone::Clone;
581            let token = self.0.request.page_token.clone();
582            let execute = move |token: String| {
583                let mut builder = self.clone();
584                builder.0.request = builder.0.request.set_page_token(token);
585                builder.send()
586            };
587            gax::paginator::internal::new_paginator(token, execute)
588        }
589
590        /// Streams each item in the collection.
591        pub fn by_item(
592            self,
593        ) -> impl gax::paginator::ItemPaginator<
594            crate::model::ListParameterVersionsResponse,
595            gax::error::Error,
596        > {
597            use gax::paginator::Paginator;
598            self.by_page().items()
599        }
600
601        /// Sets the value of [parent][crate::model::ListParameterVersionsRequest::parent].
602        ///
603        /// This is a **required** field for requests.
604        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
605            self.0.request.parent = v.into();
606            self
607        }
608
609        /// Sets the value of [page_size][crate::model::ListParameterVersionsRequest::page_size].
610        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
611            self.0.request.page_size = v.into();
612            self
613        }
614
615        /// Sets the value of [page_token][crate::model::ListParameterVersionsRequest::page_token].
616        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
617            self.0.request.page_token = v.into();
618            self
619        }
620
621        /// Sets the value of [filter][crate::model::ListParameterVersionsRequest::filter].
622        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
623            self.0.request.filter = v.into();
624            self
625        }
626
627        /// Sets the value of [order_by][crate::model::ListParameterVersionsRequest::order_by].
628        pub fn set_order_by<T: Into<std::string::String>>(mut self, v: T) -> Self {
629            self.0.request.order_by = v.into();
630            self
631        }
632    }
633
634    #[doc(hidden)]
635    impl gax::options::internal::RequestBuilder for ListParameterVersions {
636        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
637            &mut self.0.options
638        }
639    }
640
641    /// The request builder for [ParameterManager::get_parameter_version][crate::client::ParameterManager::get_parameter_version] calls.
642    ///
643    /// # Example
644    /// ```no_run
645    /// # use google_cloud_parametermanager_v1::builder;
646    /// use builder::parameter_manager::GetParameterVersion;
647    /// # tokio_test::block_on(async {
648    ///
649    /// let builder = prepare_request_builder();
650    /// let response = builder.send().await?;
651    /// # gax::Result::<()>::Ok(()) });
652    ///
653    /// fn prepare_request_builder() -> GetParameterVersion {
654    ///   # panic!();
655    ///   // ... details omitted ...
656    /// }
657    /// ```
658    #[derive(Clone, Debug)]
659    pub struct GetParameterVersion(RequestBuilder<crate::model::GetParameterVersionRequest>);
660
661    impl GetParameterVersion {
662        pub(crate) fn new(
663            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
664        ) -> Self {
665            Self(RequestBuilder::new(stub))
666        }
667
668        /// Sets the full request, replacing any prior values.
669        pub fn with_request<V: Into<crate::model::GetParameterVersionRequest>>(
670            mut self,
671            v: V,
672        ) -> Self {
673            self.0.request = v.into();
674            self
675        }
676
677        /// Sets all the options, replacing any prior values.
678        pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
679            self.0.options = v.into();
680            self
681        }
682
683        /// Sends the request.
684        pub async fn send(self) -> Result<crate::model::ParameterVersion> {
685            (*self.0.stub)
686                .get_parameter_version(self.0.request, self.0.options)
687                .await
688                .map(gax::response::Response::into_body)
689        }
690
691        /// Sets the value of [name][crate::model::GetParameterVersionRequest::name].
692        ///
693        /// This is a **required** field for requests.
694        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
695            self.0.request.name = v.into();
696            self
697        }
698
699        /// Sets the value of [view][crate::model::GetParameterVersionRequest::view].
700        pub fn set_view<T: Into<crate::model::View>>(mut self, v: T) -> Self {
701            self.0.request.view = v.into();
702            self
703        }
704    }
705
706    #[doc(hidden)]
707    impl gax::options::internal::RequestBuilder for GetParameterVersion {
708        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
709            &mut self.0.options
710        }
711    }
712
713    /// The request builder for [ParameterManager::render_parameter_version][crate::client::ParameterManager::render_parameter_version] calls.
714    ///
715    /// # Example
716    /// ```no_run
717    /// # use google_cloud_parametermanager_v1::builder;
718    /// use builder::parameter_manager::RenderParameterVersion;
719    /// # tokio_test::block_on(async {
720    ///
721    /// let builder = prepare_request_builder();
722    /// let response = builder.send().await?;
723    /// # gax::Result::<()>::Ok(()) });
724    ///
725    /// fn prepare_request_builder() -> RenderParameterVersion {
726    ///   # panic!();
727    ///   // ... details omitted ...
728    /// }
729    /// ```
730    #[derive(Clone, Debug)]
731    pub struct RenderParameterVersion(RequestBuilder<crate::model::RenderParameterVersionRequest>);
732
733    impl RenderParameterVersion {
734        pub(crate) fn new(
735            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
736        ) -> Self {
737            Self(RequestBuilder::new(stub))
738        }
739
740        /// Sets the full request, replacing any prior values.
741        pub fn with_request<V: Into<crate::model::RenderParameterVersionRequest>>(
742            mut self,
743            v: V,
744        ) -> Self {
745            self.0.request = v.into();
746            self
747        }
748
749        /// Sets all the options, replacing any prior values.
750        pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
751            self.0.options = v.into();
752            self
753        }
754
755        /// Sends the request.
756        pub async fn send(self) -> Result<crate::model::RenderParameterVersionResponse> {
757            (*self.0.stub)
758                .render_parameter_version(self.0.request, self.0.options)
759                .await
760                .map(gax::response::Response::into_body)
761        }
762
763        /// Sets the value of [name][crate::model::RenderParameterVersionRequest::name].
764        ///
765        /// This is a **required** field for requests.
766        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
767            self.0.request.name = v.into();
768            self
769        }
770    }
771
772    #[doc(hidden)]
773    impl gax::options::internal::RequestBuilder for RenderParameterVersion {
774        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
775            &mut self.0.options
776        }
777    }
778
779    /// The request builder for [ParameterManager::create_parameter_version][crate::client::ParameterManager::create_parameter_version] calls.
780    ///
781    /// # Example
782    /// ```no_run
783    /// # use google_cloud_parametermanager_v1::builder;
784    /// use builder::parameter_manager::CreateParameterVersion;
785    /// # tokio_test::block_on(async {
786    ///
787    /// let builder = prepare_request_builder();
788    /// let response = builder.send().await?;
789    /// # gax::Result::<()>::Ok(()) });
790    ///
791    /// fn prepare_request_builder() -> CreateParameterVersion {
792    ///   # panic!();
793    ///   // ... details omitted ...
794    /// }
795    /// ```
796    #[derive(Clone, Debug)]
797    pub struct CreateParameterVersion(RequestBuilder<crate::model::CreateParameterVersionRequest>);
798
799    impl CreateParameterVersion {
800        pub(crate) fn new(
801            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
802        ) -> Self {
803            Self(RequestBuilder::new(stub))
804        }
805
806        /// Sets the full request, replacing any prior values.
807        pub fn with_request<V: Into<crate::model::CreateParameterVersionRequest>>(
808            mut self,
809            v: V,
810        ) -> Self {
811            self.0.request = v.into();
812            self
813        }
814
815        /// Sets all the options, replacing any prior values.
816        pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
817            self.0.options = v.into();
818            self
819        }
820
821        /// Sends the request.
822        pub async fn send(self) -> Result<crate::model::ParameterVersion> {
823            (*self.0.stub)
824                .create_parameter_version(self.0.request, self.0.options)
825                .await
826                .map(gax::response::Response::into_body)
827        }
828
829        /// Sets the value of [parent][crate::model::CreateParameterVersionRequest::parent].
830        ///
831        /// This is a **required** field for requests.
832        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
833            self.0.request.parent = v.into();
834            self
835        }
836
837        /// Sets the value of [parameter_version_id][crate::model::CreateParameterVersionRequest::parameter_version_id].
838        ///
839        /// This is a **required** field for requests.
840        pub fn set_parameter_version_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
841            self.0.request.parameter_version_id = v.into();
842            self
843        }
844
845        /// Sets the value of [parameter_version][crate::model::CreateParameterVersionRequest::parameter_version].
846        ///
847        /// This is a **required** field for requests.
848        pub fn set_parameter_version<T>(mut self, v: T) -> Self
849        where
850            T: std::convert::Into<crate::model::ParameterVersion>,
851        {
852            self.0.request.parameter_version = std::option::Option::Some(v.into());
853            self
854        }
855
856        /// Sets or clears the value of [parameter_version][crate::model::CreateParameterVersionRequest::parameter_version].
857        ///
858        /// This is a **required** field for requests.
859        pub fn set_or_clear_parameter_version<T>(mut self, v: std::option::Option<T>) -> Self
860        where
861            T: std::convert::Into<crate::model::ParameterVersion>,
862        {
863            self.0.request.parameter_version = v.map(|x| x.into());
864            self
865        }
866
867        /// Sets the value of [request_id][crate::model::CreateParameterVersionRequest::request_id].
868        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
869            self.0.request.request_id = v.into();
870            self
871        }
872    }
873
874    #[doc(hidden)]
875    impl gax::options::internal::RequestBuilder for CreateParameterVersion {
876        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
877            &mut self.0.options
878        }
879    }
880
881    /// The request builder for [ParameterManager::update_parameter_version][crate::client::ParameterManager::update_parameter_version] calls.
882    ///
883    /// # Example
884    /// ```no_run
885    /// # use google_cloud_parametermanager_v1::builder;
886    /// use builder::parameter_manager::UpdateParameterVersion;
887    /// # tokio_test::block_on(async {
888    ///
889    /// let builder = prepare_request_builder();
890    /// let response = builder.send().await?;
891    /// # gax::Result::<()>::Ok(()) });
892    ///
893    /// fn prepare_request_builder() -> UpdateParameterVersion {
894    ///   # panic!();
895    ///   // ... details omitted ...
896    /// }
897    /// ```
898    #[derive(Clone, Debug)]
899    pub struct UpdateParameterVersion(RequestBuilder<crate::model::UpdateParameterVersionRequest>);
900
901    impl UpdateParameterVersion {
902        pub(crate) fn new(
903            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
904        ) -> Self {
905            Self(RequestBuilder::new(stub))
906        }
907
908        /// Sets the full request, replacing any prior values.
909        pub fn with_request<V: Into<crate::model::UpdateParameterVersionRequest>>(
910            mut self,
911            v: V,
912        ) -> Self {
913            self.0.request = v.into();
914            self
915        }
916
917        /// Sets all the options, replacing any prior values.
918        pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
919            self.0.options = v.into();
920            self
921        }
922
923        /// Sends the request.
924        pub async fn send(self) -> Result<crate::model::ParameterVersion> {
925            (*self.0.stub)
926                .update_parameter_version(self.0.request, self.0.options)
927                .await
928                .map(gax::response::Response::into_body)
929        }
930
931        /// Sets the value of [update_mask][crate::model::UpdateParameterVersionRequest::update_mask].
932        pub fn set_update_mask<T>(mut self, v: T) -> Self
933        where
934            T: std::convert::Into<wkt::FieldMask>,
935        {
936            self.0.request.update_mask = std::option::Option::Some(v.into());
937            self
938        }
939
940        /// Sets or clears the value of [update_mask][crate::model::UpdateParameterVersionRequest::update_mask].
941        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
942        where
943            T: std::convert::Into<wkt::FieldMask>,
944        {
945            self.0.request.update_mask = v.map(|x| x.into());
946            self
947        }
948
949        /// Sets the value of [parameter_version][crate::model::UpdateParameterVersionRequest::parameter_version].
950        ///
951        /// This is a **required** field for requests.
952        pub fn set_parameter_version<T>(mut self, v: T) -> Self
953        where
954            T: std::convert::Into<crate::model::ParameterVersion>,
955        {
956            self.0.request.parameter_version = std::option::Option::Some(v.into());
957            self
958        }
959
960        /// Sets or clears the value of [parameter_version][crate::model::UpdateParameterVersionRequest::parameter_version].
961        ///
962        /// This is a **required** field for requests.
963        pub fn set_or_clear_parameter_version<T>(mut self, v: std::option::Option<T>) -> Self
964        where
965            T: std::convert::Into<crate::model::ParameterVersion>,
966        {
967            self.0.request.parameter_version = v.map(|x| x.into());
968            self
969        }
970
971        /// Sets the value of [request_id][crate::model::UpdateParameterVersionRequest::request_id].
972        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
973            self.0.request.request_id = v.into();
974            self
975        }
976    }
977
978    #[doc(hidden)]
979    impl gax::options::internal::RequestBuilder for UpdateParameterVersion {
980        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
981            &mut self.0.options
982        }
983    }
984
985    /// The request builder for [ParameterManager::delete_parameter_version][crate::client::ParameterManager::delete_parameter_version] calls.
986    ///
987    /// # Example
988    /// ```no_run
989    /// # use google_cloud_parametermanager_v1::builder;
990    /// use builder::parameter_manager::DeleteParameterVersion;
991    /// # tokio_test::block_on(async {
992    ///
993    /// let builder = prepare_request_builder();
994    /// let response = builder.send().await?;
995    /// # gax::Result::<()>::Ok(()) });
996    ///
997    /// fn prepare_request_builder() -> DeleteParameterVersion {
998    ///   # panic!();
999    ///   // ... details omitted ...
1000    /// }
1001    /// ```
1002    #[derive(Clone, Debug)]
1003    pub struct DeleteParameterVersion(RequestBuilder<crate::model::DeleteParameterVersionRequest>);
1004
1005    impl DeleteParameterVersion {
1006        pub(crate) fn new(
1007            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
1008        ) -> Self {
1009            Self(RequestBuilder::new(stub))
1010        }
1011
1012        /// Sets the full request, replacing any prior values.
1013        pub fn with_request<V: Into<crate::model::DeleteParameterVersionRequest>>(
1014            mut self,
1015            v: V,
1016        ) -> Self {
1017            self.0.request = v.into();
1018            self
1019        }
1020
1021        /// Sets all the options, replacing any prior values.
1022        pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1023            self.0.options = v.into();
1024            self
1025        }
1026
1027        /// Sends the request.
1028        pub async fn send(self) -> Result<()> {
1029            (*self.0.stub)
1030                .delete_parameter_version(self.0.request, self.0.options)
1031                .await
1032                .map(gax::response::Response::into_body)
1033        }
1034
1035        /// Sets the value of [name][crate::model::DeleteParameterVersionRequest::name].
1036        ///
1037        /// This is a **required** field for requests.
1038        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1039            self.0.request.name = v.into();
1040            self
1041        }
1042
1043        /// Sets the value of [request_id][crate::model::DeleteParameterVersionRequest::request_id].
1044        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
1045            self.0.request.request_id = v.into();
1046            self
1047        }
1048    }
1049
1050    #[doc(hidden)]
1051    impl gax::options::internal::RequestBuilder for DeleteParameterVersion {
1052        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1053            &mut self.0.options
1054        }
1055    }
1056
1057    /// The request builder for [ParameterManager::list_locations][crate::client::ParameterManager::list_locations] calls.
1058    ///
1059    /// # Example
1060    /// ```no_run
1061    /// # use google_cloud_parametermanager_v1::builder;
1062    /// use builder::parameter_manager::ListLocations;
1063    /// # tokio_test::block_on(async {
1064    /// use gax::paginator::ItemPaginator;
1065    ///
1066    /// let builder = prepare_request_builder();
1067    /// let mut items = builder.by_item();
1068    /// while let Some(result) = items.next().await {
1069    ///   let item = result?;
1070    /// }
1071    /// # gax::Result::<()>::Ok(()) });
1072    ///
1073    /// fn prepare_request_builder() -> ListLocations {
1074    ///   # panic!();
1075    ///   // ... details omitted ...
1076    /// }
1077    /// ```
1078    #[derive(Clone, Debug)]
1079    pub struct ListLocations(RequestBuilder<location::model::ListLocationsRequest>);
1080
1081    impl ListLocations {
1082        pub(crate) fn new(
1083            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
1084        ) -> Self {
1085            Self(RequestBuilder::new(stub))
1086        }
1087
1088        /// Sets the full request, replacing any prior values.
1089        pub fn with_request<V: Into<location::model::ListLocationsRequest>>(
1090            mut self,
1091            v: V,
1092        ) -> Self {
1093            self.0.request = v.into();
1094            self
1095        }
1096
1097        /// Sets all the options, replacing any prior values.
1098        pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1099            self.0.options = v.into();
1100            self
1101        }
1102
1103        /// Sends the request.
1104        pub async fn send(self) -> Result<location::model::ListLocationsResponse> {
1105            (*self.0.stub)
1106                .list_locations(self.0.request, self.0.options)
1107                .await
1108                .map(gax::response::Response::into_body)
1109        }
1110
1111        /// Streams each page in the collection.
1112        pub fn by_page(
1113            self,
1114        ) -> impl gax::paginator::Paginator<location::model::ListLocationsResponse, gax::error::Error>
1115        {
1116            use std::clone::Clone;
1117            let token = self.0.request.page_token.clone();
1118            let execute = move |token: String| {
1119                let mut builder = self.clone();
1120                builder.0.request = builder.0.request.set_page_token(token);
1121                builder.send()
1122            };
1123            gax::paginator::internal::new_paginator(token, execute)
1124        }
1125
1126        /// Streams each item in the collection.
1127        pub fn by_item(
1128            self,
1129        ) -> impl gax::paginator::ItemPaginator<location::model::ListLocationsResponse, gax::error::Error>
1130        {
1131            use gax::paginator::Paginator;
1132            self.by_page().items()
1133        }
1134
1135        /// Sets the value of [name][location::model::ListLocationsRequest::name].
1136        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1137            self.0.request.name = v.into();
1138            self
1139        }
1140
1141        /// Sets the value of [filter][location::model::ListLocationsRequest::filter].
1142        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
1143            self.0.request.filter = v.into();
1144            self
1145        }
1146
1147        /// Sets the value of [page_size][location::model::ListLocationsRequest::page_size].
1148        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
1149            self.0.request.page_size = v.into();
1150            self
1151        }
1152
1153        /// Sets the value of [page_token][location::model::ListLocationsRequest::page_token].
1154        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
1155            self.0.request.page_token = v.into();
1156            self
1157        }
1158    }
1159
1160    #[doc(hidden)]
1161    impl gax::options::internal::RequestBuilder for ListLocations {
1162        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1163            &mut self.0.options
1164        }
1165    }
1166
1167    /// The request builder for [ParameterManager::get_location][crate::client::ParameterManager::get_location] calls.
1168    ///
1169    /// # Example
1170    /// ```no_run
1171    /// # use google_cloud_parametermanager_v1::builder;
1172    /// use builder::parameter_manager::GetLocation;
1173    /// # tokio_test::block_on(async {
1174    ///
1175    /// let builder = prepare_request_builder();
1176    /// let response = builder.send().await?;
1177    /// # gax::Result::<()>::Ok(()) });
1178    ///
1179    /// fn prepare_request_builder() -> GetLocation {
1180    ///   # panic!();
1181    ///   // ... details omitted ...
1182    /// }
1183    /// ```
1184    #[derive(Clone, Debug)]
1185    pub struct GetLocation(RequestBuilder<location::model::GetLocationRequest>);
1186
1187    impl GetLocation {
1188        pub(crate) fn new(
1189            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
1190        ) -> Self {
1191            Self(RequestBuilder::new(stub))
1192        }
1193
1194        /// Sets the full request, replacing any prior values.
1195        pub fn with_request<V: Into<location::model::GetLocationRequest>>(mut self, v: V) -> Self {
1196            self.0.request = v.into();
1197            self
1198        }
1199
1200        /// Sets all the options, replacing any prior values.
1201        pub fn with_options<V: Into<gax::options::RequestOptions>>(mut self, v: V) -> Self {
1202            self.0.options = v.into();
1203            self
1204        }
1205
1206        /// Sends the request.
1207        pub async fn send(self) -> Result<location::model::Location> {
1208            (*self.0.stub)
1209                .get_location(self.0.request, self.0.options)
1210                .await
1211                .map(gax::response::Response::into_body)
1212        }
1213
1214        /// Sets the value of [name][location::model::GetLocationRequest::name].
1215        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1216            self.0.request.name = v.into();
1217            self
1218        }
1219    }
1220
1221    #[doc(hidden)]
1222    impl gax::options::internal::RequestBuilder for GetLocation {
1223        fn request_options(&mut self) -> &mut gax::options::RequestOptions {
1224            &mut self.0.options
1225        }
1226    }
1227}