Skip to main content

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
17/// Request and client builders for [ParameterManager][crate::client::ParameterManager].
18pub mod parameter_manager {
19    use crate::Result;
20
21    /// A builder for [ParameterManager][crate::client::ParameterManager].
22    ///
23    /// ```
24    /// # async fn sample() -> google_cloud_gax::client_builder::Result<()> {
25    /// # use google_cloud_parametermanager_v1::*;
26    /// # use builder::parameter_manager::ClientBuilder;
27    /// # use client::ParameterManager;
28    /// let builder : ClientBuilder = ParameterManager::builder();
29    /// let client = builder
30    ///     .with_endpoint("https://parametermanager.googleapis.com")
31    ///     .build().await?;
32    /// # Ok(()) }
33    /// ```
34    pub type ClientBuilder = crate::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 crate::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            ) -> crate::ClientBuilderResult<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: crate::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: crate::RequestOptions::default(),
70            }
71        }
72    }
73
74    /// The request builder for [ParameterManager::list_parameters][crate::client::ParameterManager::list_parameters] calls.
75    ///
76    /// # Example
77    /// ```
78    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::ListParameters;
79    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
80    /// use google_cloud_gax::paginator::ItemPaginator;
81    ///
82    /// let builder = prepare_request_builder();
83    /// let mut items = builder.by_item();
84    /// while let Some(result) = items.next().await {
85    ///   let item = result?;
86    /// }
87    /// # Ok(()) }
88    ///
89    /// fn prepare_request_builder() -> ListParameters {
90    ///   # panic!();
91    ///   // ... details omitted ...
92    /// }
93    /// ```
94    #[derive(Clone, Debug)]
95    pub struct ListParameters(RequestBuilder<crate::model::ListParametersRequest>);
96
97    impl ListParameters {
98        pub(crate) fn new(
99            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
100        ) -> Self {
101            Self(RequestBuilder::new(stub))
102        }
103
104        /// Sets the full request, replacing any prior values.
105        pub fn with_request<V: Into<crate::model::ListParametersRequest>>(mut self, v: V) -> Self {
106            self.0.request = v.into();
107            self
108        }
109
110        /// Sets all the options, replacing any prior values.
111        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
112            self.0.options = v.into();
113            self
114        }
115
116        /// Sends the request.
117        pub async fn send(self) -> Result<crate::model::ListParametersResponse> {
118            (*self.0.stub)
119                .list_parameters(self.0.request, self.0.options)
120                .await
121                .map(crate::Response::into_body)
122        }
123
124        /// Streams each page in the collection.
125        pub fn by_page(
126            self,
127        ) -> impl google_cloud_gax::paginator::Paginator<
128            crate::model::ListParametersResponse,
129            crate::Error,
130        > {
131            use std::clone::Clone;
132            let token = self.0.request.page_token.clone();
133            let execute = move |token: String| {
134                let mut builder = self.clone();
135                builder.0.request = builder.0.request.set_page_token(token);
136                builder.send()
137            };
138            google_cloud_gax::paginator::internal::new_paginator(token, execute)
139        }
140
141        /// Streams each item in the collection.
142        pub fn by_item(
143            self,
144        ) -> impl google_cloud_gax::paginator::ItemPaginator<
145            crate::model::ListParametersResponse,
146            crate::Error,
147        > {
148            use google_cloud_gax::paginator::Paginator;
149            self.by_page().items()
150        }
151
152        /// Sets the value of [parent][crate::model::ListParametersRequest::parent].
153        ///
154        /// This is a **required** field for requests.
155        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
156            self.0.request.parent = v.into();
157            self
158        }
159
160        /// Sets the value of [page_size][crate::model::ListParametersRequest::page_size].
161        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
162            self.0.request.page_size = v.into();
163            self
164        }
165
166        /// Sets the value of [page_token][crate::model::ListParametersRequest::page_token].
167        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
168            self.0.request.page_token = v.into();
169            self
170        }
171
172        /// Sets the value of [filter][crate::model::ListParametersRequest::filter].
173        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
174            self.0.request.filter = v.into();
175            self
176        }
177
178        /// Sets the value of [order_by][crate::model::ListParametersRequest::order_by].
179        pub fn set_order_by<T: Into<std::string::String>>(mut self, v: T) -> Self {
180            self.0.request.order_by = v.into();
181            self
182        }
183    }
184
185    #[doc(hidden)]
186    impl crate::RequestBuilder for ListParameters {
187        fn request_options(&mut self) -> &mut crate::RequestOptions {
188            &mut self.0.options
189        }
190    }
191
192    /// The request builder for [ParameterManager::get_parameter][crate::client::ParameterManager::get_parameter] calls.
193    ///
194    /// # Example
195    /// ```
196    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::GetParameter;
197    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
198    ///
199    /// let builder = prepare_request_builder();
200    /// let response = builder.send().await?;
201    /// # Ok(()) }
202    ///
203    /// fn prepare_request_builder() -> GetParameter {
204    ///   # panic!();
205    ///   // ... details omitted ...
206    /// }
207    /// ```
208    #[derive(Clone, Debug)]
209    pub struct GetParameter(RequestBuilder<crate::model::GetParameterRequest>);
210
211    impl GetParameter {
212        pub(crate) fn new(
213            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
214        ) -> Self {
215            Self(RequestBuilder::new(stub))
216        }
217
218        /// Sets the full request, replacing any prior values.
219        pub fn with_request<V: Into<crate::model::GetParameterRequest>>(mut self, v: V) -> Self {
220            self.0.request = v.into();
221            self
222        }
223
224        /// Sets all the options, replacing any prior values.
225        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
226            self.0.options = v.into();
227            self
228        }
229
230        /// Sends the request.
231        pub async fn send(self) -> Result<crate::model::Parameter> {
232            (*self.0.stub)
233                .get_parameter(self.0.request, self.0.options)
234                .await
235                .map(crate::Response::into_body)
236        }
237
238        /// Sets the value of [name][crate::model::GetParameterRequest::name].
239        ///
240        /// This is a **required** field for requests.
241        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
242            self.0.request.name = v.into();
243            self
244        }
245    }
246
247    #[doc(hidden)]
248    impl crate::RequestBuilder for GetParameter {
249        fn request_options(&mut self) -> &mut crate::RequestOptions {
250            &mut self.0.options
251        }
252    }
253
254    /// The request builder for [ParameterManager::create_parameter][crate::client::ParameterManager::create_parameter] calls.
255    ///
256    /// # Example
257    /// ```
258    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::CreateParameter;
259    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
260    ///
261    /// let builder = prepare_request_builder();
262    /// let response = builder.send().await?;
263    /// # Ok(()) }
264    ///
265    /// fn prepare_request_builder() -> CreateParameter {
266    ///   # panic!();
267    ///   // ... details omitted ...
268    /// }
269    /// ```
270    #[derive(Clone, Debug)]
271    pub struct CreateParameter(RequestBuilder<crate::model::CreateParameterRequest>);
272
273    impl CreateParameter {
274        pub(crate) fn new(
275            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
276        ) -> Self {
277            Self(RequestBuilder::new(stub))
278        }
279
280        /// Sets the full request, replacing any prior values.
281        pub fn with_request<V: Into<crate::model::CreateParameterRequest>>(mut self, v: V) -> Self {
282            self.0.request = v.into();
283            self
284        }
285
286        /// Sets all the options, replacing any prior values.
287        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
288            self.0.options = v.into();
289            self
290        }
291
292        /// Sends the request.
293        pub async fn send(self) -> Result<crate::model::Parameter> {
294            (*self.0.stub)
295                .create_parameter(self.0.request, self.0.options)
296                .await
297                .map(crate::Response::into_body)
298        }
299
300        /// Sets the value of [parent][crate::model::CreateParameterRequest::parent].
301        ///
302        /// This is a **required** field for requests.
303        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
304            self.0.request.parent = v.into();
305            self
306        }
307
308        /// Sets the value of [parameter_id][crate::model::CreateParameterRequest::parameter_id].
309        ///
310        /// This is a **required** field for requests.
311        pub fn set_parameter_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
312            self.0.request.parameter_id = v.into();
313            self
314        }
315
316        /// Sets the value of [parameter][crate::model::CreateParameterRequest::parameter].
317        ///
318        /// This is a **required** field for requests.
319        pub fn set_parameter<T>(mut self, v: T) -> Self
320        where
321            T: std::convert::Into<crate::model::Parameter>,
322        {
323            self.0.request.parameter = std::option::Option::Some(v.into());
324            self
325        }
326
327        /// Sets or clears the value of [parameter][crate::model::CreateParameterRequest::parameter].
328        ///
329        /// This is a **required** field for requests.
330        pub fn set_or_clear_parameter<T>(mut self, v: std::option::Option<T>) -> Self
331        where
332            T: std::convert::Into<crate::model::Parameter>,
333        {
334            self.0.request.parameter = v.map(|x| x.into());
335            self
336        }
337
338        /// Sets the value of [request_id][crate::model::CreateParameterRequest::request_id].
339        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
340            self.0.request.request_id = v.into();
341            self
342        }
343    }
344
345    #[doc(hidden)]
346    impl crate::RequestBuilder for CreateParameter {
347        fn request_options(&mut self) -> &mut crate::RequestOptions {
348            &mut self.0.options
349        }
350    }
351
352    /// The request builder for [ParameterManager::update_parameter][crate::client::ParameterManager::update_parameter] calls.
353    ///
354    /// # Example
355    /// ```
356    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::UpdateParameter;
357    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
358    ///
359    /// let builder = prepare_request_builder();
360    /// let response = builder.send().await?;
361    /// # 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<crate::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(crate::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 crate::RequestBuilder for UpdateParameter {
447        fn request_options(&mut self) -> &mut crate::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    /// ```
456    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::DeleteParameter;
457    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
458    ///
459    /// let builder = prepare_request_builder();
460    /// let response = builder.send().await?;
461    /// # Ok(()) }
462    ///
463    /// fn prepare_request_builder() -> DeleteParameter {
464    ///   # panic!();
465    ///   // ... details omitted ...
466    /// }
467    /// ```
468    #[derive(Clone, Debug)]
469    pub struct DeleteParameter(RequestBuilder<crate::model::DeleteParameterRequest>);
470
471    impl DeleteParameter {
472        pub(crate) fn new(
473            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
474        ) -> Self {
475            Self(RequestBuilder::new(stub))
476        }
477
478        /// Sets the full request, replacing any prior values.
479        pub fn with_request<V: Into<crate::model::DeleteParameterRequest>>(mut self, v: V) -> Self {
480            self.0.request = v.into();
481            self
482        }
483
484        /// Sets all the options, replacing any prior values.
485        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
486            self.0.options = v.into();
487            self
488        }
489
490        /// Sends the request.
491        pub async fn send(self) -> Result<()> {
492            (*self.0.stub)
493                .delete_parameter(self.0.request, self.0.options)
494                .await
495                .map(crate::Response::into_body)
496        }
497
498        /// Sets the value of [name][crate::model::DeleteParameterRequest::name].
499        ///
500        /// This is a **required** field for requests.
501        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
502            self.0.request.name = v.into();
503            self
504        }
505
506        /// Sets the value of [request_id][crate::model::DeleteParameterRequest::request_id].
507        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
508            self.0.request.request_id = v.into();
509            self
510        }
511    }
512
513    #[doc(hidden)]
514    impl crate::RequestBuilder for DeleteParameter {
515        fn request_options(&mut self) -> &mut crate::RequestOptions {
516            &mut self.0.options
517        }
518    }
519
520    /// The request builder for [ParameterManager::list_parameter_versions][crate::client::ParameterManager::list_parameter_versions] calls.
521    ///
522    /// # Example
523    /// ```
524    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::ListParameterVersions;
525    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
526    /// use google_cloud_gax::paginator::ItemPaginator;
527    ///
528    /// let builder = prepare_request_builder();
529    /// let mut items = builder.by_item();
530    /// while let Some(result) = items.next().await {
531    ///   let item = result?;
532    /// }
533    /// # Ok(()) }
534    ///
535    /// fn prepare_request_builder() -> ListParameterVersions {
536    ///   # panic!();
537    ///   // ... details omitted ...
538    /// }
539    /// ```
540    #[derive(Clone, Debug)]
541    pub struct ListParameterVersions(RequestBuilder<crate::model::ListParameterVersionsRequest>);
542
543    impl ListParameterVersions {
544        pub(crate) fn new(
545            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
546        ) -> Self {
547            Self(RequestBuilder::new(stub))
548        }
549
550        /// Sets the full request, replacing any prior values.
551        pub fn with_request<V: Into<crate::model::ListParameterVersionsRequest>>(
552            mut self,
553            v: V,
554        ) -> Self {
555            self.0.request = v.into();
556            self
557        }
558
559        /// Sets all the options, replacing any prior values.
560        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
561            self.0.options = v.into();
562            self
563        }
564
565        /// Sends the request.
566        pub async fn send(self) -> Result<crate::model::ListParameterVersionsResponse> {
567            (*self.0.stub)
568                .list_parameter_versions(self.0.request, self.0.options)
569                .await
570                .map(crate::Response::into_body)
571        }
572
573        /// Streams each page in the collection.
574        pub fn by_page(
575            self,
576        ) -> impl google_cloud_gax::paginator::Paginator<
577            crate::model::ListParameterVersionsResponse,
578            crate::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            google_cloud_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 google_cloud_gax::paginator::ItemPaginator<
594            crate::model::ListParameterVersionsResponse,
595            crate::Error,
596        > {
597            use google_cloud_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 crate::RequestBuilder for ListParameterVersions {
636        fn request_options(&mut self) -> &mut crate::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    /// ```
645    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::GetParameterVersion;
646    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
647    ///
648    /// let builder = prepare_request_builder();
649    /// let response = builder.send().await?;
650    /// # Ok(()) }
651    ///
652    /// fn prepare_request_builder() -> GetParameterVersion {
653    ///   # panic!();
654    ///   // ... details omitted ...
655    /// }
656    /// ```
657    #[derive(Clone, Debug)]
658    pub struct GetParameterVersion(RequestBuilder<crate::model::GetParameterVersionRequest>);
659
660    impl GetParameterVersion {
661        pub(crate) fn new(
662            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
663        ) -> Self {
664            Self(RequestBuilder::new(stub))
665        }
666
667        /// Sets the full request, replacing any prior values.
668        pub fn with_request<V: Into<crate::model::GetParameterVersionRequest>>(
669            mut self,
670            v: V,
671        ) -> Self {
672            self.0.request = v.into();
673            self
674        }
675
676        /// Sets all the options, replacing any prior values.
677        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
678            self.0.options = v.into();
679            self
680        }
681
682        /// Sends the request.
683        pub async fn send(self) -> Result<crate::model::ParameterVersion> {
684            (*self.0.stub)
685                .get_parameter_version(self.0.request, self.0.options)
686                .await
687                .map(crate::Response::into_body)
688        }
689
690        /// Sets the value of [name][crate::model::GetParameterVersionRequest::name].
691        ///
692        /// This is a **required** field for requests.
693        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
694            self.0.request.name = v.into();
695            self
696        }
697
698        /// Sets the value of [view][crate::model::GetParameterVersionRequest::view].
699        pub fn set_view<T: Into<crate::model::View>>(mut self, v: T) -> Self {
700            self.0.request.view = v.into();
701            self
702        }
703    }
704
705    #[doc(hidden)]
706    impl crate::RequestBuilder for GetParameterVersion {
707        fn request_options(&mut self) -> &mut crate::RequestOptions {
708            &mut self.0.options
709        }
710    }
711
712    /// The request builder for [ParameterManager::render_parameter_version][crate::client::ParameterManager::render_parameter_version] calls.
713    ///
714    /// # Example
715    /// ```
716    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::RenderParameterVersion;
717    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
718    ///
719    /// let builder = prepare_request_builder();
720    /// let response = builder.send().await?;
721    /// # Ok(()) }
722    ///
723    /// fn prepare_request_builder() -> RenderParameterVersion {
724    ///   # panic!();
725    ///   // ... details omitted ...
726    /// }
727    /// ```
728    #[derive(Clone, Debug)]
729    pub struct RenderParameterVersion(RequestBuilder<crate::model::RenderParameterVersionRequest>);
730
731    impl RenderParameterVersion {
732        pub(crate) fn new(
733            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
734        ) -> Self {
735            Self(RequestBuilder::new(stub))
736        }
737
738        /// Sets the full request, replacing any prior values.
739        pub fn with_request<V: Into<crate::model::RenderParameterVersionRequest>>(
740            mut self,
741            v: V,
742        ) -> Self {
743            self.0.request = v.into();
744            self
745        }
746
747        /// Sets all the options, replacing any prior values.
748        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
749            self.0.options = v.into();
750            self
751        }
752
753        /// Sends the request.
754        pub async fn send(self) -> Result<crate::model::RenderParameterVersionResponse> {
755            (*self.0.stub)
756                .render_parameter_version(self.0.request, self.0.options)
757                .await
758                .map(crate::Response::into_body)
759        }
760
761        /// Sets the value of [name][crate::model::RenderParameterVersionRequest::name].
762        ///
763        /// This is a **required** field for requests.
764        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
765            self.0.request.name = v.into();
766            self
767        }
768    }
769
770    #[doc(hidden)]
771    impl crate::RequestBuilder for RenderParameterVersion {
772        fn request_options(&mut self) -> &mut crate::RequestOptions {
773            &mut self.0.options
774        }
775    }
776
777    /// The request builder for [ParameterManager::create_parameter_version][crate::client::ParameterManager::create_parameter_version] calls.
778    ///
779    /// # Example
780    /// ```
781    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::CreateParameterVersion;
782    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
783    ///
784    /// let builder = prepare_request_builder();
785    /// let response = builder.send().await?;
786    /// # Ok(()) }
787    ///
788    /// fn prepare_request_builder() -> CreateParameterVersion {
789    ///   # panic!();
790    ///   // ... details omitted ...
791    /// }
792    /// ```
793    #[derive(Clone, Debug)]
794    pub struct CreateParameterVersion(RequestBuilder<crate::model::CreateParameterVersionRequest>);
795
796    impl CreateParameterVersion {
797        pub(crate) fn new(
798            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
799        ) -> Self {
800            Self(RequestBuilder::new(stub))
801        }
802
803        /// Sets the full request, replacing any prior values.
804        pub fn with_request<V: Into<crate::model::CreateParameterVersionRequest>>(
805            mut self,
806            v: V,
807        ) -> Self {
808            self.0.request = v.into();
809            self
810        }
811
812        /// Sets all the options, replacing any prior values.
813        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
814            self.0.options = v.into();
815            self
816        }
817
818        /// Sends the request.
819        pub async fn send(self) -> Result<crate::model::ParameterVersion> {
820            (*self.0.stub)
821                .create_parameter_version(self.0.request, self.0.options)
822                .await
823                .map(crate::Response::into_body)
824        }
825
826        /// Sets the value of [parent][crate::model::CreateParameterVersionRequest::parent].
827        ///
828        /// This is a **required** field for requests.
829        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
830            self.0.request.parent = v.into();
831            self
832        }
833
834        /// Sets the value of [parameter_version_id][crate::model::CreateParameterVersionRequest::parameter_version_id].
835        ///
836        /// This is a **required** field for requests.
837        pub fn set_parameter_version_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
838            self.0.request.parameter_version_id = v.into();
839            self
840        }
841
842        /// Sets the value of [parameter_version][crate::model::CreateParameterVersionRequest::parameter_version].
843        ///
844        /// This is a **required** field for requests.
845        pub fn set_parameter_version<T>(mut self, v: T) -> Self
846        where
847            T: std::convert::Into<crate::model::ParameterVersion>,
848        {
849            self.0.request.parameter_version = std::option::Option::Some(v.into());
850            self
851        }
852
853        /// Sets or clears the value of [parameter_version][crate::model::CreateParameterVersionRequest::parameter_version].
854        ///
855        /// This is a **required** field for requests.
856        pub fn set_or_clear_parameter_version<T>(mut self, v: std::option::Option<T>) -> Self
857        where
858            T: std::convert::Into<crate::model::ParameterVersion>,
859        {
860            self.0.request.parameter_version = v.map(|x| x.into());
861            self
862        }
863
864        /// Sets the value of [request_id][crate::model::CreateParameterVersionRequest::request_id].
865        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
866            self.0.request.request_id = v.into();
867            self
868        }
869    }
870
871    #[doc(hidden)]
872    impl crate::RequestBuilder for CreateParameterVersion {
873        fn request_options(&mut self) -> &mut crate::RequestOptions {
874            &mut self.0.options
875        }
876    }
877
878    /// The request builder for [ParameterManager::update_parameter_version][crate::client::ParameterManager::update_parameter_version] calls.
879    ///
880    /// # Example
881    /// ```
882    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::UpdateParameterVersion;
883    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
884    ///
885    /// let builder = prepare_request_builder();
886    /// let response = builder.send().await?;
887    /// # Ok(()) }
888    ///
889    /// fn prepare_request_builder() -> UpdateParameterVersion {
890    ///   # panic!();
891    ///   // ... details omitted ...
892    /// }
893    /// ```
894    #[derive(Clone, Debug)]
895    pub struct UpdateParameterVersion(RequestBuilder<crate::model::UpdateParameterVersionRequest>);
896
897    impl UpdateParameterVersion {
898        pub(crate) fn new(
899            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
900        ) -> Self {
901            Self(RequestBuilder::new(stub))
902        }
903
904        /// Sets the full request, replacing any prior values.
905        pub fn with_request<V: Into<crate::model::UpdateParameterVersionRequest>>(
906            mut self,
907            v: V,
908        ) -> Self {
909            self.0.request = v.into();
910            self
911        }
912
913        /// Sets all the options, replacing any prior values.
914        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
915            self.0.options = v.into();
916            self
917        }
918
919        /// Sends the request.
920        pub async fn send(self) -> Result<crate::model::ParameterVersion> {
921            (*self.0.stub)
922                .update_parameter_version(self.0.request, self.0.options)
923                .await
924                .map(crate::Response::into_body)
925        }
926
927        /// Sets the value of [update_mask][crate::model::UpdateParameterVersionRequest::update_mask].
928        pub fn set_update_mask<T>(mut self, v: T) -> Self
929        where
930            T: std::convert::Into<wkt::FieldMask>,
931        {
932            self.0.request.update_mask = std::option::Option::Some(v.into());
933            self
934        }
935
936        /// Sets or clears the value of [update_mask][crate::model::UpdateParameterVersionRequest::update_mask].
937        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
938        where
939            T: std::convert::Into<wkt::FieldMask>,
940        {
941            self.0.request.update_mask = v.map(|x| x.into());
942            self
943        }
944
945        /// Sets the value of [parameter_version][crate::model::UpdateParameterVersionRequest::parameter_version].
946        ///
947        /// This is a **required** field for requests.
948        pub fn set_parameter_version<T>(mut self, v: T) -> Self
949        where
950            T: std::convert::Into<crate::model::ParameterVersion>,
951        {
952            self.0.request.parameter_version = std::option::Option::Some(v.into());
953            self
954        }
955
956        /// Sets or clears the value of [parameter_version][crate::model::UpdateParameterVersionRequest::parameter_version].
957        ///
958        /// This is a **required** field for requests.
959        pub fn set_or_clear_parameter_version<T>(mut self, v: std::option::Option<T>) -> Self
960        where
961            T: std::convert::Into<crate::model::ParameterVersion>,
962        {
963            self.0.request.parameter_version = v.map(|x| x.into());
964            self
965        }
966
967        /// Sets the value of [request_id][crate::model::UpdateParameterVersionRequest::request_id].
968        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
969            self.0.request.request_id = v.into();
970            self
971        }
972    }
973
974    #[doc(hidden)]
975    impl crate::RequestBuilder for UpdateParameterVersion {
976        fn request_options(&mut self) -> &mut crate::RequestOptions {
977            &mut self.0.options
978        }
979    }
980
981    /// The request builder for [ParameterManager::delete_parameter_version][crate::client::ParameterManager::delete_parameter_version] calls.
982    ///
983    /// # Example
984    /// ```
985    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::DeleteParameterVersion;
986    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
987    ///
988    /// let builder = prepare_request_builder();
989    /// let response = builder.send().await?;
990    /// # Ok(()) }
991    ///
992    /// fn prepare_request_builder() -> DeleteParameterVersion {
993    ///   # panic!();
994    ///   // ... details omitted ...
995    /// }
996    /// ```
997    #[derive(Clone, Debug)]
998    pub struct DeleteParameterVersion(RequestBuilder<crate::model::DeleteParameterVersionRequest>);
999
1000    impl DeleteParameterVersion {
1001        pub(crate) fn new(
1002            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
1003        ) -> Self {
1004            Self(RequestBuilder::new(stub))
1005        }
1006
1007        /// Sets the full request, replacing any prior values.
1008        pub fn with_request<V: Into<crate::model::DeleteParameterVersionRequest>>(
1009            mut self,
1010            v: V,
1011        ) -> Self {
1012            self.0.request = v.into();
1013            self
1014        }
1015
1016        /// Sets all the options, replacing any prior values.
1017        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1018            self.0.options = v.into();
1019            self
1020        }
1021
1022        /// Sends the request.
1023        pub async fn send(self) -> Result<()> {
1024            (*self.0.stub)
1025                .delete_parameter_version(self.0.request, self.0.options)
1026                .await
1027                .map(crate::Response::into_body)
1028        }
1029
1030        /// Sets the value of [name][crate::model::DeleteParameterVersionRequest::name].
1031        ///
1032        /// This is a **required** field for requests.
1033        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1034            self.0.request.name = v.into();
1035            self
1036        }
1037
1038        /// Sets the value of [request_id][crate::model::DeleteParameterVersionRequest::request_id].
1039        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
1040            self.0.request.request_id = v.into();
1041            self
1042        }
1043    }
1044
1045    #[doc(hidden)]
1046    impl crate::RequestBuilder for DeleteParameterVersion {
1047        fn request_options(&mut self) -> &mut crate::RequestOptions {
1048            &mut self.0.options
1049        }
1050    }
1051
1052    /// The request builder for [ParameterManager::list_locations][crate::client::ParameterManager::list_locations] calls.
1053    ///
1054    /// # Example
1055    /// ```
1056    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::ListLocations;
1057    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
1058    /// use google_cloud_gax::paginator::ItemPaginator;
1059    ///
1060    /// let builder = prepare_request_builder();
1061    /// let mut items = builder.by_item();
1062    /// while let Some(result) = items.next().await {
1063    ///   let item = result?;
1064    /// }
1065    /// # Ok(()) }
1066    ///
1067    /// fn prepare_request_builder() -> ListLocations {
1068    ///   # panic!();
1069    ///   // ... details omitted ...
1070    /// }
1071    /// ```
1072    #[derive(Clone, Debug)]
1073    pub struct ListLocations(RequestBuilder<google_cloud_location::model::ListLocationsRequest>);
1074
1075    impl ListLocations {
1076        pub(crate) fn new(
1077            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
1078        ) -> Self {
1079            Self(RequestBuilder::new(stub))
1080        }
1081
1082        /// Sets the full request, replacing any prior values.
1083        pub fn with_request<V: Into<google_cloud_location::model::ListLocationsRequest>>(
1084            mut self,
1085            v: V,
1086        ) -> Self {
1087            self.0.request = v.into();
1088            self
1089        }
1090
1091        /// Sets all the options, replacing any prior values.
1092        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
1093            self.0.options = v.into();
1094            self
1095        }
1096
1097        /// Sends the request.
1098        pub async fn send(self) -> Result<google_cloud_location::model::ListLocationsResponse> {
1099            (*self.0.stub)
1100                .list_locations(self.0.request, self.0.options)
1101                .await
1102                .map(crate::Response::into_body)
1103        }
1104
1105        /// Streams each page in the collection.
1106        pub fn by_page(
1107            self,
1108        ) -> impl google_cloud_gax::paginator::Paginator<
1109            google_cloud_location::model::ListLocationsResponse,
1110            crate::Error,
1111        > {
1112            use std::clone::Clone;
1113            let token = self.0.request.page_token.clone();
1114            let execute = move |token: String| {
1115                let mut builder = self.clone();
1116                builder.0.request = builder.0.request.set_page_token(token);
1117                builder.send()
1118            };
1119            google_cloud_gax::paginator::internal::new_paginator(token, execute)
1120        }
1121
1122        /// Streams each item in the collection.
1123        pub fn by_item(
1124            self,
1125        ) -> impl google_cloud_gax::paginator::ItemPaginator<
1126            google_cloud_location::model::ListLocationsResponse,
1127            crate::Error,
1128        > {
1129            use google_cloud_gax::paginator::Paginator;
1130            self.by_page().items()
1131        }
1132
1133        /// Sets the value of [name][google_cloud_location::model::ListLocationsRequest::name].
1134        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
1135            self.0.request.name = v.into();
1136            self
1137        }
1138
1139        /// Sets the value of [filter][google_cloud_location::model::ListLocationsRequest::filter].
1140        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
1141            self.0.request.filter = v.into();
1142            self
1143        }
1144
1145        /// Sets the value of [page_size][google_cloud_location::model::ListLocationsRequest::page_size].
1146        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
1147            self.0.request.page_size = v.into();
1148            self
1149        }
1150
1151        /// Sets the value of [page_token][google_cloud_location::model::ListLocationsRequest::page_token].
1152        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
1153            self.0.request.page_token = v.into();
1154            self
1155        }
1156    }
1157
1158    #[doc(hidden)]
1159    impl crate::RequestBuilder for ListLocations {
1160        fn request_options(&mut self) -> &mut crate::RequestOptions {
1161            &mut self.0.options
1162        }
1163    }
1164
1165    /// The request builder for [ParameterManager::get_location][crate::client::ParameterManager::get_location] calls.
1166    ///
1167    /// # Example
1168    /// ```
1169    /// # use google_cloud_parametermanager_v1::builder::parameter_manager::GetLocation;
1170    /// # async fn sample() -> google_cloud_parametermanager_v1::Result<()> {
1171    ///
1172    /// let builder = prepare_request_builder();
1173    /// let response = builder.send().await?;
1174    /// # Ok(()) }
1175    ///
1176    /// fn prepare_request_builder() -> GetLocation {
1177    ///   # panic!();
1178    ///   // ... details omitted ...
1179    /// }
1180    /// ```
1181    #[derive(Clone, Debug)]
1182    pub struct GetLocation(RequestBuilder<google_cloud_location::model::GetLocationRequest>);
1183
1184    impl GetLocation {
1185        pub(crate) fn new(
1186            stub: std::sync::Arc<dyn super::super::stub::dynamic::ParameterManager>,
1187        ) -> Self {
1188            Self(RequestBuilder::new(stub))
1189        }
1190
1191        /// Sets the full request, replacing any prior values.
1192        pub fn with_request<V: Into<google_cloud_location::model::GetLocationRequest>>(
1193            mut self,
1194            v: V,
1195        ) -> 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<crate::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<google_cloud_location::model::Location> {
1208            (*self.0.stub)
1209                .get_location(self.0.request, self.0.options)
1210                .await
1211                .map(crate::Response::into_body)
1212        }
1213
1214        /// Sets the value of [name][google_cloud_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 crate::RequestBuilder for GetLocation {
1223        fn request_options(&mut self) -> &mut crate::RequestOptions {
1224            &mut self.0.options
1225        }
1226    }
1227}