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