google_cloud_parametermanager_v1/model.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#![allow(rustdoc::redundant_explicit_links)]
18#![allow(rustdoc::broken_intra_doc_links)]
19#![no_implicit_prelude]
20extern crate async_trait;
21extern crate bytes;
22extern crate gaxi;
23extern crate google_cloud_gax;
24extern crate google_cloud_iam_v1;
25extern crate google_cloud_location;
26extern crate serde;
27extern crate serde_json;
28extern crate serde_with;
29extern crate std;
30extern crate tracing;
31extern crate wkt;
32
33mod debug;
34mod deserialize;
35mod serialize;
36
37/// Message describing Parameter resource
38#[derive(Clone, Default, PartialEq)]
39#[non_exhaustive]
40pub struct Parameter {
41 /// Identifier. [Output only] The resource name of the Parameter in the format
42 /// `projects/*/locations/*/parameters/*`.
43 pub name: std::string::String,
44
45 /// Output only. [Output only] Create time stamp
46 pub create_time: std::option::Option<wkt::Timestamp>,
47
48 /// Output only. [Output only] Update time stamp
49 pub update_time: std::option::Option<wkt::Timestamp>,
50
51 /// Optional. Labels as key value pairs
52 pub labels: std::collections::HashMap<std::string::String, std::string::String>,
53
54 /// Optional. Specifies the format of a Parameter.
55 pub format: crate::model::ParameterFormat,
56
57 /// Output only. [Output-only] policy member strings of a Google Cloud
58 /// resource.
59 pub policy_member: std::option::Option<google_cloud_iam_v1::model::ResourcePolicyMember>,
60
61 /// Optional. Customer managed encryption key (CMEK) to use for encrypting the
62 /// Parameter Versions. If not set, the default Google-managed encryption key
63 /// will be used. Cloud KMS CryptoKeys must reside in the same location as the
64 /// Parameter. The expected format is
65 /// `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
66 pub kms_key: std::option::Option<std::string::String>,
67
68 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
69}
70
71impl Parameter {
72 pub fn new() -> Self {
73 std::default::Default::default()
74 }
75
76 /// Sets the value of [name][crate::model::Parameter::name].
77 ///
78 /// # Example
79 /// ```ignore,no_run
80 /// # use google_cloud_parametermanager_v1::model::Parameter;
81 /// let x = Parameter::new().set_name("example");
82 /// ```
83 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
84 self.name = v.into();
85 self
86 }
87
88 /// Sets the value of [create_time][crate::model::Parameter::create_time].
89 ///
90 /// # Example
91 /// ```ignore,no_run
92 /// # use google_cloud_parametermanager_v1::model::Parameter;
93 /// use wkt::Timestamp;
94 /// let x = Parameter::new().set_create_time(Timestamp::default()/* use setters */);
95 /// ```
96 pub fn set_create_time<T>(mut self, v: T) -> Self
97 where
98 T: std::convert::Into<wkt::Timestamp>,
99 {
100 self.create_time = std::option::Option::Some(v.into());
101 self
102 }
103
104 /// Sets or clears the value of [create_time][crate::model::Parameter::create_time].
105 ///
106 /// # Example
107 /// ```ignore,no_run
108 /// # use google_cloud_parametermanager_v1::model::Parameter;
109 /// use wkt::Timestamp;
110 /// let x = Parameter::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
111 /// let x = Parameter::new().set_or_clear_create_time(None::<Timestamp>);
112 /// ```
113 pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
114 where
115 T: std::convert::Into<wkt::Timestamp>,
116 {
117 self.create_time = v.map(|x| x.into());
118 self
119 }
120
121 /// Sets the value of [update_time][crate::model::Parameter::update_time].
122 ///
123 /// # Example
124 /// ```ignore,no_run
125 /// # use google_cloud_parametermanager_v1::model::Parameter;
126 /// use wkt::Timestamp;
127 /// let x = Parameter::new().set_update_time(Timestamp::default()/* use setters */);
128 /// ```
129 pub fn set_update_time<T>(mut self, v: T) -> Self
130 where
131 T: std::convert::Into<wkt::Timestamp>,
132 {
133 self.update_time = std::option::Option::Some(v.into());
134 self
135 }
136
137 /// Sets or clears the value of [update_time][crate::model::Parameter::update_time].
138 ///
139 /// # Example
140 /// ```ignore,no_run
141 /// # use google_cloud_parametermanager_v1::model::Parameter;
142 /// use wkt::Timestamp;
143 /// let x = Parameter::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
144 /// let x = Parameter::new().set_or_clear_update_time(None::<Timestamp>);
145 /// ```
146 pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
147 where
148 T: std::convert::Into<wkt::Timestamp>,
149 {
150 self.update_time = v.map(|x| x.into());
151 self
152 }
153
154 /// Sets the value of [labels][crate::model::Parameter::labels].
155 ///
156 /// # Example
157 /// ```ignore,no_run
158 /// # use google_cloud_parametermanager_v1::model::Parameter;
159 /// let x = Parameter::new().set_labels([
160 /// ("key0", "abc"),
161 /// ("key1", "xyz"),
162 /// ]);
163 /// ```
164 pub fn set_labels<T, K, V>(mut self, v: T) -> Self
165 where
166 T: std::iter::IntoIterator<Item = (K, V)>,
167 K: std::convert::Into<std::string::String>,
168 V: std::convert::Into<std::string::String>,
169 {
170 use std::iter::Iterator;
171 self.labels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
172 self
173 }
174
175 /// Sets the value of [format][crate::model::Parameter::format].
176 ///
177 /// # Example
178 /// ```ignore,no_run
179 /// # use google_cloud_parametermanager_v1::model::Parameter;
180 /// use google_cloud_parametermanager_v1::model::ParameterFormat;
181 /// let x0 = Parameter::new().set_format(ParameterFormat::Unformatted);
182 /// let x1 = Parameter::new().set_format(ParameterFormat::Yaml);
183 /// let x2 = Parameter::new().set_format(ParameterFormat::Json);
184 /// ```
185 pub fn set_format<T: std::convert::Into<crate::model::ParameterFormat>>(
186 mut self,
187 v: T,
188 ) -> Self {
189 self.format = v.into();
190 self
191 }
192
193 /// Sets the value of [policy_member][crate::model::Parameter::policy_member].
194 ///
195 /// # Example
196 /// ```ignore,no_run
197 /// # use google_cloud_parametermanager_v1::model::Parameter;
198 /// use google_cloud_iam_v1::model::ResourcePolicyMember;
199 /// let x = Parameter::new().set_policy_member(ResourcePolicyMember::default()/* use setters */);
200 /// ```
201 pub fn set_policy_member<T>(mut self, v: T) -> Self
202 where
203 T: std::convert::Into<google_cloud_iam_v1::model::ResourcePolicyMember>,
204 {
205 self.policy_member = std::option::Option::Some(v.into());
206 self
207 }
208
209 /// Sets or clears the value of [policy_member][crate::model::Parameter::policy_member].
210 ///
211 /// # Example
212 /// ```ignore,no_run
213 /// # use google_cloud_parametermanager_v1::model::Parameter;
214 /// use google_cloud_iam_v1::model::ResourcePolicyMember;
215 /// let x = Parameter::new().set_or_clear_policy_member(Some(ResourcePolicyMember::default()/* use setters */));
216 /// let x = Parameter::new().set_or_clear_policy_member(None::<ResourcePolicyMember>);
217 /// ```
218 pub fn set_or_clear_policy_member<T>(mut self, v: std::option::Option<T>) -> Self
219 where
220 T: std::convert::Into<google_cloud_iam_v1::model::ResourcePolicyMember>,
221 {
222 self.policy_member = v.map(|x| x.into());
223 self
224 }
225
226 /// Sets the value of [kms_key][crate::model::Parameter::kms_key].
227 ///
228 /// # Example
229 /// ```ignore,no_run
230 /// # use google_cloud_parametermanager_v1::model::Parameter;
231 /// let x = Parameter::new().set_kms_key("example");
232 /// ```
233 pub fn set_kms_key<T>(mut self, v: T) -> Self
234 where
235 T: std::convert::Into<std::string::String>,
236 {
237 self.kms_key = std::option::Option::Some(v.into());
238 self
239 }
240
241 /// Sets or clears the value of [kms_key][crate::model::Parameter::kms_key].
242 ///
243 /// # Example
244 /// ```ignore,no_run
245 /// # use google_cloud_parametermanager_v1::model::Parameter;
246 /// let x = Parameter::new().set_or_clear_kms_key(Some("example"));
247 /// let x = Parameter::new().set_or_clear_kms_key(None::<String>);
248 /// ```
249 pub fn set_or_clear_kms_key<T>(mut self, v: std::option::Option<T>) -> Self
250 where
251 T: std::convert::Into<std::string::String>,
252 {
253 self.kms_key = v.map(|x| x.into());
254 self
255 }
256}
257
258impl wkt::message::Message for Parameter {
259 fn typename() -> &'static str {
260 "type.googleapis.com/google.cloud.parametermanager.v1.Parameter"
261 }
262}
263
264/// Message for requesting list of Parameters
265#[derive(Clone, Default, PartialEq)]
266#[non_exhaustive]
267pub struct ListParametersRequest {
268 /// Required. Parent value for ListParametersRequest in the format
269 /// `projects/*/locations/*`.
270 pub parent: std::string::String,
271
272 /// Optional. Requested page size. Server may return fewer items than
273 /// requested. If unspecified, server will pick an appropriate default.
274 pub page_size: i32,
275
276 /// Optional. A token identifying a page of results the server should return.
277 pub page_token: std::string::String,
278
279 /// Optional. Filtering results
280 pub filter: std::string::String,
281
282 /// Optional. Hint for how to order the results
283 pub order_by: std::string::String,
284
285 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
286}
287
288impl ListParametersRequest {
289 pub fn new() -> Self {
290 std::default::Default::default()
291 }
292
293 /// Sets the value of [parent][crate::model::ListParametersRequest::parent].
294 ///
295 /// # Example
296 /// ```ignore,no_run
297 /// # use google_cloud_parametermanager_v1::model::ListParametersRequest;
298 /// let x = ListParametersRequest::new().set_parent("example");
299 /// ```
300 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
301 self.parent = v.into();
302 self
303 }
304
305 /// Sets the value of [page_size][crate::model::ListParametersRequest::page_size].
306 ///
307 /// # Example
308 /// ```ignore,no_run
309 /// # use google_cloud_parametermanager_v1::model::ListParametersRequest;
310 /// let x = ListParametersRequest::new().set_page_size(42);
311 /// ```
312 pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
313 self.page_size = v.into();
314 self
315 }
316
317 /// Sets the value of [page_token][crate::model::ListParametersRequest::page_token].
318 ///
319 /// # Example
320 /// ```ignore,no_run
321 /// # use google_cloud_parametermanager_v1::model::ListParametersRequest;
322 /// let x = ListParametersRequest::new().set_page_token("example");
323 /// ```
324 pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
325 self.page_token = v.into();
326 self
327 }
328
329 /// Sets the value of [filter][crate::model::ListParametersRequest::filter].
330 ///
331 /// # Example
332 /// ```ignore,no_run
333 /// # use google_cloud_parametermanager_v1::model::ListParametersRequest;
334 /// let x = ListParametersRequest::new().set_filter("example");
335 /// ```
336 pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
337 self.filter = v.into();
338 self
339 }
340
341 /// Sets the value of [order_by][crate::model::ListParametersRequest::order_by].
342 ///
343 /// # Example
344 /// ```ignore,no_run
345 /// # use google_cloud_parametermanager_v1::model::ListParametersRequest;
346 /// let x = ListParametersRequest::new().set_order_by("example");
347 /// ```
348 pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
349 self.order_by = v.into();
350 self
351 }
352}
353
354impl wkt::message::Message for ListParametersRequest {
355 fn typename() -> &'static str {
356 "type.googleapis.com/google.cloud.parametermanager.v1.ListParametersRequest"
357 }
358}
359
360/// Message for response to listing Parameters
361#[derive(Clone, Default, PartialEq)]
362#[non_exhaustive]
363pub struct ListParametersResponse {
364 /// The list of Parameters
365 pub parameters: std::vec::Vec<crate::model::Parameter>,
366
367 /// A token identifying a page of results the server should return.
368 pub next_page_token: std::string::String,
369
370 /// Unordered list. Locations that could not be reached.
371 pub unreachable: std::vec::Vec<std::string::String>,
372
373 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
374}
375
376impl ListParametersResponse {
377 pub fn new() -> Self {
378 std::default::Default::default()
379 }
380
381 /// Sets the value of [parameters][crate::model::ListParametersResponse::parameters].
382 ///
383 /// # Example
384 /// ```ignore,no_run
385 /// # use google_cloud_parametermanager_v1::model::ListParametersResponse;
386 /// use google_cloud_parametermanager_v1::model::Parameter;
387 /// let x = ListParametersResponse::new()
388 /// .set_parameters([
389 /// Parameter::default()/* use setters */,
390 /// Parameter::default()/* use (different) setters */,
391 /// ]);
392 /// ```
393 pub fn set_parameters<T, V>(mut self, v: T) -> Self
394 where
395 T: std::iter::IntoIterator<Item = V>,
396 V: std::convert::Into<crate::model::Parameter>,
397 {
398 use std::iter::Iterator;
399 self.parameters = v.into_iter().map(|i| i.into()).collect();
400 self
401 }
402
403 /// Sets the value of [next_page_token][crate::model::ListParametersResponse::next_page_token].
404 ///
405 /// # Example
406 /// ```ignore,no_run
407 /// # use google_cloud_parametermanager_v1::model::ListParametersResponse;
408 /// let x = ListParametersResponse::new().set_next_page_token("example");
409 /// ```
410 pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
411 self.next_page_token = v.into();
412 self
413 }
414
415 /// Sets the value of [unreachable][crate::model::ListParametersResponse::unreachable].
416 ///
417 /// # Example
418 /// ```ignore,no_run
419 /// # use google_cloud_parametermanager_v1::model::ListParametersResponse;
420 /// let x = ListParametersResponse::new().set_unreachable(["a", "b", "c"]);
421 /// ```
422 pub fn set_unreachable<T, V>(mut self, v: T) -> Self
423 where
424 T: std::iter::IntoIterator<Item = V>,
425 V: std::convert::Into<std::string::String>,
426 {
427 use std::iter::Iterator;
428 self.unreachable = v.into_iter().map(|i| i.into()).collect();
429 self
430 }
431}
432
433impl wkt::message::Message for ListParametersResponse {
434 fn typename() -> &'static str {
435 "type.googleapis.com/google.cloud.parametermanager.v1.ListParametersResponse"
436 }
437}
438
439#[doc(hidden)]
440impl google_cloud_gax::paginator::internal::PageableResponse for ListParametersResponse {
441 type PageItem = crate::model::Parameter;
442
443 fn items(self) -> std::vec::Vec<Self::PageItem> {
444 self.parameters
445 }
446
447 fn next_page_token(&self) -> std::string::String {
448 use std::clone::Clone;
449 self.next_page_token.clone()
450 }
451}
452
453/// Message for getting a Parameter
454#[derive(Clone, Default, PartialEq)]
455#[non_exhaustive]
456pub struct GetParameterRequest {
457 /// Required. Name of the resource in the format
458 /// `projects/*/locations/*/parameters/*`.
459 pub name: std::string::String,
460
461 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
462}
463
464impl GetParameterRequest {
465 pub fn new() -> Self {
466 std::default::Default::default()
467 }
468
469 /// Sets the value of [name][crate::model::GetParameterRequest::name].
470 ///
471 /// # Example
472 /// ```ignore,no_run
473 /// # use google_cloud_parametermanager_v1::model::GetParameterRequest;
474 /// let x = GetParameterRequest::new().set_name("example");
475 /// ```
476 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
477 self.name = v.into();
478 self
479 }
480}
481
482impl wkt::message::Message for GetParameterRequest {
483 fn typename() -> &'static str {
484 "type.googleapis.com/google.cloud.parametermanager.v1.GetParameterRequest"
485 }
486}
487
488/// Message for creating a Parameter
489#[derive(Clone, Default, PartialEq)]
490#[non_exhaustive]
491pub struct CreateParameterRequest {
492 /// Required. Value for parent in the format
493 /// `projects/*/locations/*`.
494 pub parent: std::string::String,
495
496 /// Required. Id of the Parameter resource
497 pub parameter_id: std::string::String,
498
499 /// Required. The Parameter resource being created
500 pub parameter: std::option::Option<crate::model::Parameter>,
501
502 /// Optional. An optional request ID to identify requests. Specify a unique
503 /// request ID so that if you must retry your request, the server will know to
504 /// ignore the request if it has already been completed. The server will
505 /// guarantee that for at least 60 minutes since the first request.
506 ///
507 /// For example, consider a situation where you make an initial request and the
508 /// request times out. If you make the request again with the same request
509 /// ID, the server can check if original operation with the same request ID
510 /// was received, and if so, will ignore the second request. This prevents
511 /// clients from accidentally creating duplicate commitments.
512 ///
513 /// The request ID must be a valid UUID with the exception that zero UUID is
514 /// not supported (00000000-0000-0000-0000-000000000000).
515 pub request_id: std::string::String,
516
517 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
518}
519
520impl CreateParameterRequest {
521 pub fn new() -> Self {
522 std::default::Default::default()
523 }
524
525 /// Sets the value of [parent][crate::model::CreateParameterRequest::parent].
526 ///
527 /// # Example
528 /// ```ignore,no_run
529 /// # use google_cloud_parametermanager_v1::model::CreateParameterRequest;
530 /// let x = CreateParameterRequest::new().set_parent("example");
531 /// ```
532 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
533 self.parent = v.into();
534 self
535 }
536
537 /// Sets the value of [parameter_id][crate::model::CreateParameterRequest::parameter_id].
538 ///
539 /// # Example
540 /// ```ignore,no_run
541 /// # use google_cloud_parametermanager_v1::model::CreateParameterRequest;
542 /// let x = CreateParameterRequest::new().set_parameter_id("example");
543 /// ```
544 pub fn set_parameter_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
545 self.parameter_id = v.into();
546 self
547 }
548
549 /// Sets the value of [parameter][crate::model::CreateParameterRequest::parameter].
550 ///
551 /// # Example
552 /// ```ignore,no_run
553 /// # use google_cloud_parametermanager_v1::model::CreateParameterRequest;
554 /// use google_cloud_parametermanager_v1::model::Parameter;
555 /// let x = CreateParameterRequest::new().set_parameter(Parameter::default()/* use setters */);
556 /// ```
557 pub fn set_parameter<T>(mut self, v: T) -> Self
558 where
559 T: std::convert::Into<crate::model::Parameter>,
560 {
561 self.parameter = std::option::Option::Some(v.into());
562 self
563 }
564
565 /// Sets or clears the value of [parameter][crate::model::CreateParameterRequest::parameter].
566 ///
567 /// # Example
568 /// ```ignore,no_run
569 /// # use google_cloud_parametermanager_v1::model::CreateParameterRequest;
570 /// use google_cloud_parametermanager_v1::model::Parameter;
571 /// let x = CreateParameterRequest::new().set_or_clear_parameter(Some(Parameter::default()/* use setters */));
572 /// let x = CreateParameterRequest::new().set_or_clear_parameter(None::<Parameter>);
573 /// ```
574 pub fn set_or_clear_parameter<T>(mut self, v: std::option::Option<T>) -> Self
575 where
576 T: std::convert::Into<crate::model::Parameter>,
577 {
578 self.parameter = v.map(|x| x.into());
579 self
580 }
581
582 /// Sets the value of [request_id][crate::model::CreateParameterRequest::request_id].
583 ///
584 /// # Example
585 /// ```ignore,no_run
586 /// # use google_cloud_parametermanager_v1::model::CreateParameterRequest;
587 /// let x = CreateParameterRequest::new().set_request_id("example");
588 /// ```
589 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
590 self.request_id = v.into();
591 self
592 }
593}
594
595impl wkt::message::Message for CreateParameterRequest {
596 fn typename() -> &'static str {
597 "type.googleapis.com/google.cloud.parametermanager.v1.CreateParameterRequest"
598 }
599}
600
601/// Message for updating a Parameter
602#[derive(Clone, Default, PartialEq)]
603#[non_exhaustive]
604pub struct UpdateParameterRequest {
605 /// Optional. Field mask is used to specify the fields to be overwritten in the
606 /// Parameter resource by the update.
607 /// The fields specified in the update_mask are relative to the resource, not
608 /// the full request. A mutable field will be overwritten if it is in the
609 /// mask. If the user does not provide a mask then all mutable fields present
610 /// in the request will be overwritten.
611 pub update_mask: std::option::Option<wkt::FieldMask>,
612
613 /// Required. The Parameter resource being updated
614 pub parameter: std::option::Option<crate::model::Parameter>,
615
616 /// Optional. An optional request ID to identify requests. Specify a unique
617 /// request ID so that if you must retry your request, the server will know to
618 /// ignore the request if it has already been completed. The server will
619 /// guarantee that for at least 60 minutes since the first request.
620 ///
621 /// For example, consider a situation where you make an initial request and the
622 /// request times out. If you make the request again with the same request
623 /// ID, the server can check if original operation with the same request ID
624 /// was received, and if so, will ignore the second request. This prevents
625 /// clients from accidentally creating duplicate commitments.
626 ///
627 /// The request ID must be a valid UUID with the exception that zero UUID is
628 /// not supported (00000000-0000-0000-0000-000000000000).
629 pub request_id: std::string::String,
630
631 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
632}
633
634impl UpdateParameterRequest {
635 pub fn new() -> Self {
636 std::default::Default::default()
637 }
638
639 /// Sets the value of [update_mask][crate::model::UpdateParameterRequest::update_mask].
640 ///
641 /// # Example
642 /// ```ignore,no_run
643 /// # use google_cloud_parametermanager_v1::model::UpdateParameterRequest;
644 /// use wkt::FieldMask;
645 /// let x = UpdateParameterRequest::new().set_update_mask(FieldMask::default()/* use setters */);
646 /// ```
647 pub fn set_update_mask<T>(mut self, v: T) -> Self
648 where
649 T: std::convert::Into<wkt::FieldMask>,
650 {
651 self.update_mask = std::option::Option::Some(v.into());
652 self
653 }
654
655 /// Sets or clears the value of [update_mask][crate::model::UpdateParameterRequest::update_mask].
656 ///
657 /// # Example
658 /// ```ignore,no_run
659 /// # use google_cloud_parametermanager_v1::model::UpdateParameterRequest;
660 /// use wkt::FieldMask;
661 /// let x = UpdateParameterRequest::new().set_or_clear_update_mask(Some(FieldMask::default()/* use setters */));
662 /// let x = UpdateParameterRequest::new().set_or_clear_update_mask(None::<FieldMask>);
663 /// ```
664 pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
665 where
666 T: std::convert::Into<wkt::FieldMask>,
667 {
668 self.update_mask = v.map(|x| x.into());
669 self
670 }
671
672 /// Sets the value of [parameter][crate::model::UpdateParameterRequest::parameter].
673 ///
674 /// # Example
675 /// ```ignore,no_run
676 /// # use google_cloud_parametermanager_v1::model::UpdateParameterRequest;
677 /// use google_cloud_parametermanager_v1::model::Parameter;
678 /// let x = UpdateParameterRequest::new().set_parameter(Parameter::default()/* use setters */);
679 /// ```
680 pub fn set_parameter<T>(mut self, v: T) -> Self
681 where
682 T: std::convert::Into<crate::model::Parameter>,
683 {
684 self.parameter = std::option::Option::Some(v.into());
685 self
686 }
687
688 /// Sets or clears the value of [parameter][crate::model::UpdateParameterRequest::parameter].
689 ///
690 /// # Example
691 /// ```ignore,no_run
692 /// # use google_cloud_parametermanager_v1::model::UpdateParameterRequest;
693 /// use google_cloud_parametermanager_v1::model::Parameter;
694 /// let x = UpdateParameterRequest::new().set_or_clear_parameter(Some(Parameter::default()/* use setters */));
695 /// let x = UpdateParameterRequest::new().set_or_clear_parameter(None::<Parameter>);
696 /// ```
697 pub fn set_or_clear_parameter<T>(mut self, v: std::option::Option<T>) -> Self
698 where
699 T: std::convert::Into<crate::model::Parameter>,
700 {
701 self.parameter = v.map(|x| x.into());
702 self
703 }
704
705 /// Sets the value of [request_id][crate::model::UpdateParameterRequest::request_id].
706 ///
707 /// # Example
708 /// ```ignore,no_run
709 /// # use google_cloud_parametermanager_v1::model::UpdateParameterRequest;
710 /// let x = UpdateParameterRequest::new().set_request_id("example");
711 /// ```
712 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
713 self.request_id = v.into();
714 self
715 }
716}
717
718impl wkt::message::Message for UpdateParameterRequest {
719 fn typename() -> &'static str {
720 "type.googleapis.com/google.cloud.parametermanager.v1.UpdateParameterRequest"
721 }
722}
723
724/// Message for deleting a Parameter
725#[derive(Clone, Default, PartialEq)]
726#[non_exhaustive]
727pub struct DeleteParameterRequest {
728 /// Required. Name of the resource in the format
729 /// `projects/*/locations/*/parameters/*`.
730 pub name: std::string::String,
731
732 /// Optional. An optional request ID to identify requests. Specify a unique
733 /// request ID so that if you must retry your request, the server will know to
734 /// ignore the request if it has already been completed. The server will
735 /// guarantee that for at least 60 minutes after the first request.
736 ///
737 /// For example, consider a situation where you make an initial request and the
738 /// request times out. If you make the request again with the same request
739 /// ID, the server can check if original operation with the same request ID
740 /// was received, and if so, will ignore the second request. This prevents
741 /// clients from accidentally creating duplicate commitments.
742 ///
743 /// The request ID must be a valid UUID with the exception that zero UUID is
744 /// not supported (00000000-0000-0000-0000-000000000000).
745 pub request_id: std::string::String,
746
747 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
748}
749
750impl DeleteParameterRequest {
751 pub fn new() -> Self {
752 std::default::Default::default()
753 }
754
755 /// Sets the value of [name][crate::model::DeleteParameterRequest::name].
756 ///
757 /// # Example
758 /// ```ignore,no_run
759 /// # use google_cloud_parametermanager_v1::model::DeleteParameterRequest;
760 /// let x = DeleteParameterRequest::new().set_name("example");
761 /// ```
762 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
763 self.name = v.into();
764 self
765 }
766
767 /// Sets the value of [request_id][crate::model::DeleteParameterRequest::request_id].
768 ///
769 /// # Example
770 /// ```ignore,no_run
771 /// # use google_cloud_parametermanager_v1::model::DeleteParameterRequest;
772 /// let x = DeleteParameterRequest::new().set_request_id("example");
773 /// ```
774 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
775 self.request_id = v.into();
776 self
777 }
778}
779
780impl wkt::message::Message for DeleteParameterRequest {
781 fn typename() -> &'static str {
782 "type.googleapis.com/google.cloud.parametermanager.v1.DeleteParameterRequest"
783 }
784}
785
786/// Message describing ParameterVersion resource
787#[derive(Clone, Default, PartialEq)]
788#[non_exhaustive]
789pub struct ParameterVersion {
790 /// Identifier. [Output only] The resource name of the ParameterVersion in the
791 /// format `projects/*/locations/*/parameters/*/versions/*`.
792 pub name: std::string::String,
793
794 /// Output only. [Output only] Create time stamp
795 pub create_time: std::option::Option<wkt::Timestamp>,
796
797 /// Output only. [Output only] Update time stamp
798 pub update_time: std::option::Option<wkt::Timestamp>,
799
800 /// Optional. Disabled boolean to determine if a ParameterVersion acts as a
801 /// metadata only resource (payload is never returned if disabled is true). If
802 /// true any calls will always default to BASIC view even if the user
803 /// explicitly passes FULL view as part of the request. A render call on a
804 /// disabled resource fails with an error. Default value is False.
805 pub disabled: bool,
806
807 /// Required. Immutable. Payload content of a ParameterVersion resource. This
808 /// is only returned when the request provides the View value of FULL (default
809 /// for GET request).
810 pub payload: std::option::Option<crate::model::ParameterVersionPayload>,
811
812 /// Optional. Output only. [Output only] The resource name of the KMS key
813 /// version used to encrypt the ParameterVersion payload. This field is
814 /// populated only if the Parameter resource has customer managed encryption
815 /// key (CMEK) configured.
816 pub kms_key_version: std::option::Option<std::string::String>,
817
818 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
819}
820
821impl ParameterVersion {
822 pub fn new() -> Self {
823 std::default::Default::default()
824 }
825
826 /// Sets the value of [name][crate::model::ParameterVersion::name].
827 ///
828 /// # Example
829 /// ```ignore,no_run
830 /// # use google_cloud_parametermanager_v1::model::ParameterVersion;
831 /// let x = ParameterVersion::new().set_name("example");
832 /// ```
833 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
834 self.name = v.into();
835 self
836 }
837
838 /// Sets the value of [create_time][crate::model::ParameterVersion::create_time].
839 ///
840 /// # Example
841 /// ```ignore,no_run
842 /// # use google_cloud_parametermanager_v1::model::ParameterVersion;
843 /// use wkt::Timestamp;
844 /// let x = ParameterVersion::new().set_create_time(Timestamp::default()/* use setters */);
845 /// ```
846 pub fn set_create_time<T>(mut self, v: T) -> Self
847 where
848 T: std::convert::Into<wkt::Timestamp>,
849 {
850 self.create_time = std::option::Option::Some(v.into());
851 self
852 }
853
854 /// Sets or clears the value of [create_time][crate::model::ParameterVersion::create_time].
855 ///
856 /// # Example
857 /// ```ignore,no_run
858 /// # use google_cloud_parametermanager_v1::model::ParameterVersion;
859 /// use wkt::Timestamp;
860 /// let x = ParameterVersion::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
861 /// let x = ParameterVersion::new().set_or_clear_create_time(None::<Timestamp>);
862 /// ```
863 pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
864 where
865 T: std::convert::Into<wkt::Timestamp>,
866 {
867 self.create_time = v.map(|x| x.into());
868 self
869 }
870
871 /// Sets the value of [update_time][crate::model::ParameterVersion::update_time].
872 ///
873 /// # Example
874 /// ```ignore,no_run
875 /// # use google_cloud_parametermanager_v1::model::ParameterVersion;
876 /// use wkt::Timestamp;
877 /// let x = ParameterVersion::new().set_update_time(Timestamp::default()/* use setters */);
878 /// ```
879 pub fn set_update_time<T>(mut self, v: T) -> Self
880 where
881 T: std::convert::Into<wkt::Timestamp>,
882 {
883 self.update_time = std::option::Option::Some(v.into());
884 self
885 }
886
887 /// Sets or clears the value of [update_time][crate::model::ParameterVersion::update_time].
888 ///
889 /// # Example
890 /// ```ignore,no_run
891 /// # use google_cloud_parametermanager_v1::model::ParameterVersion;
892 /// use wkt::Timestamp;
893 /// let x = ParameterVersion::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
894 /// let x = ParameterVersion::new().set_or_clear_update_time(None::<Timestamp>);
895 /// ```
896 pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
897 where
898 T: std::convert::Into<wkt::Timestamp>,
899 {
900 self.update_time = v.map(|x| x.into());
901 self
902 }
903
904 /// Sets the value of [disabled][crate::model::ParameterVersion::disabled].
905 ///
906 /// # Example
907 /// ```ignore,no_run
908 /// # use google_cloud_parametermanager_v1::model::ParameterVersion;
909 /// let x = ParameterVersion::new().set_disabled(true);
910 /// ```
911 pub fn set_disabled<T: std::convert::Into<bool>>(mut self, v: T) -> Self {
912 self.disabled = v.into();
913 self
914 }
915
916 /// Sets the value of [payload][crate::model::ParameterVersion::payload].
917 ///
918 /// # Example
919 /// ```ignore,no_run
920 /// # use google_cloud_parametermanager_v1::model::ParameterVersion;
921 /// use google_cloud_parametermanager_v1::model::ParameterVersionPayload;
922 /// let x = ParameterVersion::new().set_payload(ParameterVersionPayload::default()/* use setters */);
923 /// ```
924 pub fn set_payload<T>(mut self, v: T) -> Self
925 where
926 T: std::convert::Into<crate::model::ParameterVersionPayload>,
927 {
928 self.payload = std::option::Option::Some(v.into());
929 self
930 }
931
932 /// Sets or clears the value of [payload][crate::model::ParameterVersion::payload].
933 ///
934 /// # Example
935 /// ```ignore,no_run
936 /// # use google_cloud_parametermanager_v1::model::ParameterVersion;
937 /// use google_cloud_parametermanager_v1::model::ParameterVersionPayload;
938 /// let x = ParameterVersion::new().set_or_clear_payload(Some(ParameterVersionPayload::default()/* use setters */));
939 /// let x = ParameterVersion::new().set_or_clear_payload(None::<ParameterVersionPayload>);
940 /// ```
941 pub fn set_or_clear_payload<T>(mut self, v: std::option::Option<T>) -> Self
942 where
943 T: std::convert::Into<crate::model::ParameterVersionPayload>,
944 {
945 self.payload = v.map(|x| x.into());
946 self
947 }
948
949 /// Sets the value of [kms_key_version][crate::model::ParameterVersion::kms_key_version].
950 ///
951 /// # Example
952 /// ```ignore,no_run
953 /// # use google_cloud_parametermanager_v1::model::ParameterVersion;
954 /// let x = ParameterVersion::new().set_kms_key_version("example");
955 /// ```
956 pub fn set_kms_key_version<T>(mut self, v: T) -> Self
957 where
958 T: std::convert::Into<std::string::String>,
959 {
960 self.kms_key_version = std::option::Option::Some(v.into());
961 self
962 }
963
964 /// Sets or clears the value of [kms_key_version][crate::model::ParameterVersion::kms_key_version].
965 ///
966 /// # Example
967 /// ```ignore,no_run
968 /// # use google_cloud_parametermanager_v1::model::ParameterVersion;
969 /// let x = ParameterVersion::new().set_or_clear_kms_key_version(Some("example"));
970 /// let x = ParameterVersion::new().set_or_clear_kms_key_version(None::<String>);
971 /// ```
972 pub fn set_or_clear_kms_key_version<T>(mut self, v: std::option::Option<T>) -> Self
973 where
974 T: std::convert::Into<std::string::String>,
975 {
976 self.kms_key_version = v.map(|x| x.into());
977 self
978 }
979}
980
981impl wkt::message::Message for ParameterVersion {
982 fn typename() -> &'static str {
983 "type.googleapis.com/google.cloud.parametermanager.v1.ParameterVersion"
984 }
985}
986
987/// Message for storing a ParameterVersion resource's payload data
988#[derive(Clone, Default, PartialEq)]
989#[non_exhaustive]
990pub struct ParameterVersionPayload {
991 /// Required. bytes data for storing payload.
992 pub data: ::bytes::Bytes,
993
994 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
995}
996
997impl ParameterVersionPayload {
998 pub fn new() -> Self {
999 std::default::Default::default()
1000 }
1001
1002 /// Sets the value of [data][crate::model::ParameterVersionPayload::data].
1003 ///
1004 /// # Example
1005 /// ```ignore,no_run
1006 /// # use google_cloud_parametermanager_v1::model::ParameterVersionPayload;
1007 /// let x = ParameterVersionPayload::new().set_data(bytes::Bytes::from_static(b"example"));
1008 /// ```
1009 pub fn set_data<T: std::convert::Into<::bytes::Bytes>>(mut self, v: T) -> Self {
1010 self.data = v.into();
1011 self
1012 }
1013}
1014
1015impl wkt::message::Message for ParameterVersionPayload {
1016 fn typename() -> &'static str {
1017 "type.googleapis.com/google.cloud.parametermanager.v1.ParameterVersionPayload"
1018 }
1019}
1020
1021/// Message for requesting list of ParameterVersions
1022#[derive(Clone, Default, PartialEq)]
1023#[non_exhaustive]
1024pub struct ListParameterVersionsRequest {
1025 /// Required. Parent value for ListParameterVersionsRequest in the format
1026 /// `projects/*/locations/*/parameters/*`.
1027 pub parent: std::string::String,
1028
1029 /// Optional. Requested page size. Server may return fewer items than
1030 /// requested. If unspecified, server will pick an appropriate default.
1031 pub page_size: i32,
1032
1033 /// Optional. A token identifying a page of results the server should return.
1034 pub page_token: std::string::String,
1035
1036 /// Optional. Filtering results
1037 pub filter: std::string::String,
1038
1039 /// Optional. Hint for how to order the results
1040 pub order_by: std::string::String,
1041
1042 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1043}
1044
1045impl ListParameterVersionsRequest {
1046 pub fn new() -> Self {
1047 std::default::Default::default()
1048 }
1049
1050 /// Sets the value of [parent][crate::model::ListParameterVersionsRequest::parent].
1051 ///
1052 /// # Example
1053 /// ```ignore,no_run
1054 /// # use google_cloud_parametermanager_v1::model::ListParameterVersionsRequest;
1055 /// let x = ListParameterVersionsRequest::new().set_parent("example");
1056 /// ```
1057 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1058 self.parent = v.into();
1059 self
1060 }
1061
1062 /// Sets the value of [page_size][crate::model::ListParameterVersionsRequest::page_size].
1063 ///
1064 /// # Example
1065 /// ```ignore,no_run
1066 /// # use google_cloud_parametermanager_v1::model::ListParameterVersionsRequest;
1067 /// let x = ListParameterVersionsRequest::new().set_page_size(42);
1068 /// ```
1069 pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
1070 self.page_size = v.into();
1071 self
1072 }
1073
1074 /// Sets the value of [page_token][crate::model::ListParameterVersionsRequest::page_token].
1075 ///
1076 /// # Example
1077 /// ```ignore,no_run
1078 /// # use google_cloud_parametermanager_v1::model::ListParameterVersionsRequest;
1079 /// let x = ListParameterVersionsRequest::new().set_page_token("example");
1080 /// ```
1081 pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1082 self.page_token = v.into();
1083 self
1084 }
1085
1086 /// Sets the value of [filter][crate::model::ListParameterVersionsRequest::filter].
1087 ///
1088 /// # Example
1089 /// ```ignore,no_run
1090 /// # use google_cloud_parametermanager_v1::model::ListParameterVersionsRequest;
1091 /// let x = ListParameterVersionsRequest::new().set_filter("example");
1092 /// ```
1093 pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1094 self.filter = v.into();
1095 self
1096 }
1097
1098 /// Sets the value of [order_by][crate::model::ListParameterVersionsRequest::order_by].
1099 ///
1100 /// # Example
1101 /// ```ignore,no_run
1102 /// # use google_cloud_parametermanager_v1::model::ListParameterVersionsRequest;
1103 /// let x = ListParameterVersionsRequest::new().set_order_by("example");
1104 /// ```
1105 pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1106 self.order_by = v.into();
1107 self
1108 }
1109}
1110
1111impl wkt::message::Message for ListParameterVersionsRequest {
1112 fn typename() -> &'static str {
1113 "type.googleapis.com/google.cloud.parametermanager.v1.ListParameterVersionsRequest"
1114 }
1115}
1116
1117/// Message for response to listing ParameterVersions
1118#[derive(Clone, Default, PartialEq)]
1119#[non_exhaustive]
1120pub struct ListParameterVersionsResponse {
1121 /// The list of ParameterVersions
1122 pub parameter_versions: std::vec::Vec<crate::model::ParameterVersion>,
1123
1124 /// A token identifying a page of results the server should return.
1125 pub next_page_token: std::string::String,
1126
1127 /// Unordered list. Locations that could not be reached.
1128 pub unreachable: std::vec::Vec<std::string::String>,
1129
1130 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1131}
1132
1133impl ListParameterVersionsResponse {
1134 pub fn new() -> Self {
1135 std::default::Default::default()
1136 }
1137
1138 /// Sets the value of [parameter_versions][crate::model::ListParameterVersionsResponse::parameter_versions].
1139 ///
1140 /// # Example
1141 /// ```ignore,no_run
1142 /// # use google_cloud_parametermanager_v1::model::ListParameterVersionsResponse;
1143 /// use google_cloud_parametermanager_v1::model::ParameterVersion;
1144 /// let x = ListParameterVersionsResponse::new()
1145 /// .set_parameter_versions([
1146 /// ParameterVersion::default()/* use setters */,
1147 /// ParameterVersion::default()/* use (different) setters */,
1148 /// ]);
1149 /// ```
1150 pub fn set_parameter_versions<T, V>(mut self, v: T) -> Self
1151 where
1152 T: std::iter::IntoIterator<Item = V>,
1153 V: std::convert::Into<crate::model::ParameterVersion>,
1154 {
1155 use std::iter::Iterator;
1156 self.parameter_versions = v.into_iter().map(|i| i.into()).collect();
1157 self
1158 }
1159
1160 /// Sets the value of [next_page_token][crate::model::ListParameterVersionsResponse::next_page_token].
1161 ///
1162 /// # Example
1163 /// ```ignore,no_run
1164 /// # use google_cloud_parametermanager_v1::model::ListParameterVersionsResponse;
1165 /// let x = ListParameterVersionsResponse::new().set_next_page_token("example");
1166 /// ```
1167 pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1168 self.next_page_token = v.into();
1169 self
1170 }
1171
1172 /// Sets the value of [unreachable][crate::model::ListParameterVersionsResponse::unreachable].
1173 ///
1174 /// # Example
1175 /// ```ignore,no_run
1176 /// # use google_cloud_parametermanager_v1::model::ListParameterVersionsResponse;
1177 /// let x = ListParameterVersionsResponse::new().set_unreachable(["a", "b", "c"]);
1178 /// ```
1179 pub fn set_unreachable<T, V>(mut self, v: T) -> Self
1180 where
1181 T: std::iter::IntoIterator<Item = V>,
1182 V: std::convert::Into<std::string::String>,
1183 {
1184 use std::iter::Iterator;
1185 self.unreachable = v.into_iter().map(|i| i.into()).collect();
1186 self
1187 }
1188}
1189
1190impl wkt::message::Message for ListParameterVersionsResponse {
1191 fn typename() -> &'static str {
1192 "type.googleapis.com/google.cloud.parametermanager.v1.ListParameterVersionsResponse"
1193 }
1194}
1195
1196#[doc(hidden)]
1197impl google_cloud_gax::paginator::internal::PageableResponse for ListParameterVersionsResponse {
1198 type PageItem = crate::model::ParameterVersion;
1199
1200 fn items(self) -> std::vec::Vec<Self::PageItem> {
1201 self.parameter_versions
1202 }
1203
1204 fn next_page_token(&self) -> std::string::String {
1205 use std::clone::Clone;
1206 self.next_page_token.clone()
1207 }
1208}
1209
1210/// Message for getting a ParameterVersion
1211#[derive(Clone, Default, PartialEq)]
1212#[non_exhaustive]
1213pub struct GetParameterVersionRequest {
1214 /// Required. Name of the resource in the format
1215 /// `projects/*/locations/*/parameters/*/versions/*`.
1216 pub name: std::string::String,
1217
1218 /// Optional. View of the ParameterVersion.
1219 /// In the default FULL view, all metadata & payload associated with the
1220 /// ParameterVersion will be returned.
1221 pub view: crate::model::View,
1222
1223 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1224}
1225
1226impl GetParameterVersionRequest {
1227 pub fn new() -> Self {
1228 std::default::Default::default()
1229 }
1230
1231 /// Sets the value of [name][crate::model::GetParameterVersionRequest::name].
1232 ///
1233 /// # Example
1234 /// ```ignore,no_run
1235 /// # use google_cloud_parametermanager_v1::model::GetParameterVersionRequest;
1236 /// let x = GetParameterVersionRequest::new().set_name("example");
1237 /// ```
1238 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1239 self.name = v.into();
1240 self
1241 }
1242
1243 /// Sets the value of [view][crate::model::GetParameterVersionRequest::view].
1244 ///
1245 /// # Example
1246 /// ```ignore,no_run
1247 /// # use google_cloud_parametermanager_v1::model::GetParameterVersionRequest;
1248 /// use google_cloud_parametermanager_v1::model::View;
1249 /// let x0 = GetParameterVersionRequest::new().set_view(View::Basic);
1250 /// let x1 = GetParameterVersionRequest::new().set_view(View::Full);
1251 /// ```
1252 pub fn set_view<T: std::convert::Into<crate::model::View>>(mut self, v: T) -> Self {
1253 self.view = v.into();
1254 self
1255 }
1256}
1257
1258impl wkt::message::Message for GetParameterVersionRequest {
1259 fn typename() -> &'static str {
1260 "type.googleapis.com/google.cloud.parametermanager.v1.GetParameterVersionRequest"
1261 }
1262}
1263
1264/// Message for getting a ParameterVersionRender
1265#[derive(Clone, Default, PartialEq)]
1266#[non_exhaustive]
1267pub struct RenderParameterVersionRequest {
1268 /// Required. Name of the resource
1269 pub name: std::string::String,
1270
1271 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1272}
1273
1274impl RenderParameterVersionRequest {
1275 pub fn new() -> Self {
1276 std::default::Default::default()
1277 }
1278
1279 /// Sets the value of [name][crate::model::RenderParameterVersionRequest::name].
1280 ///
1281 /// # Example
1282 /// ```ignore,no_run
1283 /// # use google_cloud_parametermanager_v1::model::RenderParameterVersionRequest;
1284 /// let x = RenderParameterVersionRequest::new().set_name("example");
1285 /// ```
1286 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1287 self.name = v.into();
1288 self
1289 }
1290}
1291
1292impl wkt::message::Message for RenderParameterVersionRequest {
1293 fn typename() -> &'static str {
1294 "type.googleapis.com/google.cloud.parametermanager.v1.RenderParameterVersionRequest"
1295 }
1296}
1297
1298/// Message describing RenderParameterVersionResponse resource
1299#[derive(Clone, Default, PartialEq)]
1300#[non_exhaustive]
1301pub struct RenderParameterVersionResponse {
1302 /// Output only. Resource identifier of a ParameterVersion in the format
1303 /// `projects/*/locations/*/parameters/*/versions/*`.
1304 pub parameter_version: std::string::String,
1305
1306 /// Payload content of a ParameterVersion resource.
1307 pub payload: std::option::Option<crate::model::ParameterVersionPayload>,
1308
1309 /// Output only. Server generated rendered version of the user provided payload
1310 /// data (ParameterVersionPayload) which has substitutions of all (if any)
1311 /// references to a SecretManager SecretVersion resources. This substitution
1312 /// only works for a Parameter which is in JSON or YAML format.
1313 pub rendered_payload: ::bytes::Bytes,
1314
1315 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1316}
1317
1318impl RenderParameterVersionResponse {
1319 pub fn new() -> Self {
1320 std::default::Default::default()
1321 }
1322
1323 /// Sets the value of [parameter_version][crate::model::RenderParameterVersionResponse::parameter_version].
1324 ///
1325 /// # Example
1326 /// ```ignore,no_run
1327 /// # use google_cloud_parametermanager_v1::model::RenderParameterVersionResponse;
1328 /// let x = RenderParameterVersionResponse::new().set_parameter_version("example");
1329 /// ```
1330 pub fn set_parameter_version<T: std::convert::Into<std::string::String>>(
1331 mut self,
1332 v: T,
1333 ) -> Self {
1334 self.parameter_version = v.into();
1335 self
1336 }
1337
1338 /// Sets the value of [payload][crate::model::RenderParameterVersionResponse::payload].
1339 ///
1340 /// # Example
1341 /// ```ignore,no_run
1342 /// # use google_cloud_parametermanager_v1::model::RenderParameterVersionResponse;
1343 /// use google_cloud_parametermanager_v1::model::ParameterVersionPayload;
1344 /// let x = RenderParameterVersionResponse::new().set_payload(ParameterVersionPayload::default()/* use setters */);
1345 /// ```
1346 pub fn set_payload<T>(mut self, v: T) -> Self
1347 where
1348 T: std::convert::Into<crate::model::ParameterVersionPayload>,
1349 {
1350 self.payload = std::option::Option::Some(v.into());
1351 self
1352 }
1353
1354 /// Sets or clears the value of [payload][crate::model::RenderParameterVersionResponse::payload].
1355 ///
1356 /// # Example
1357 /// ```ignore,no_run
1358 /// # use google_cloud_parametermanager_v1::model::RenderParameterVersionResponse;
1359 /// use google_cloud_parametermanager_v1::model::ParameterVersionPayload;
1360 /// let x = RenderParameterVersionResponse::new().set_or_clear_payload(Some(ParameterVersionPayload::default()/* use setters */));
1361 /// let x = RenderParameterVersionResponse::new().set_or_clear_payload(None::<ParameterVersionPayload>);
1362 /// ```
1363 pub fn set_or_clear_payload<T>(mut self, v: std::option::Option<T>) -> Self
1364 where
1365 T: std::convert::Into<crate::model::ParameterVersionPayload>,
1366 {
1367 self.payload = v.map(|x| x.into());
1368 self
1369 }
1370
1371 /// Sets the value of [rendered_payload][crate::model::RenderParameterVersionResponse::rendered_payload].
1372 ///
1373 /// # Example
1374 /// ```ignore,no_run
1375 /// # use google_cloud_parametermanager_v1::model::RenderParameterVersionResponse;
1376 /// let x = RenderParameterVersionResponse::new().set_rendered_payload(bytes::Bytes::from_static(b"example"));
1377 /// ```
1378 pub fn set_rendered_payload<T: std::convert::Into<::bytes::Bytes>>(mut self, v: T) -> Self {
1379 self.rendered_payload = v.into();
1380 self
1381 }
1382}
1383
1384impl wkt::message::Message for RenderParameterVersionResponse {
1385 fn typename() -> &'static str {
1386 "type.googleapis.com/google.cloud.parametermanager.v1.RenderParameterVersionResponse"
1387 }
1388}
1389
1390/// Message for creating a ParameterVersion
1391#[derive(Clone, Default, PartialEq)]
1392#[non_exhaustive]
1393pub struct CreateParameterVersionRequest {
1394 /// Required. Value for parent in the format
1395 /// `projects/*/locations/*/parameters/*`.
1396 pub parent: std::string::String,
1397
1398 /// Required. Id of the ParameterVersion resource
1399 pub parameter_version_id: std::string::String,
1400
1401 /// Required. The ParameterVersion resource being created
1402 pub parameter_version: std::option::Option<crate::model::ParameterVersion>,
1403
1404 /// Optional. An optional request ID to identify requests. Specify a unique
1405 /// request ID so that if you must retry your request, the server will know to
1406 /// ignore the request if it has already been completed. The server will
1407 /// guarantee that for at least 60 minutes since the first request.
1408 ///
1409 /// For example, consider a situation where you make an initial request and the
1410 /// request times out. If you make the request again with the same request
1411 /// ID, the server can check if original operation with the same request ID
1412 /// was received, and if so, will ignore the second request. This prevents
1413 /// clients from accidentally creating duplicate commitments.
1414 ///
1415 /// The request ID must be a valid UUID with the exception that zero UUID is
1416 /// not supported (00000000-0000-0000-0000-000000000000).
1417 pub request_id: std::string::String,
1418
1419 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1420}
1421
1422impl CreateParameterVersionRequest {
1423 pub fn new() -> Self {
1424 std::default::Default::default()
1425 }
1426
1427 /// Sets the value of [parent][crate::model::CreateParameterVersionRequest::parent].
1428 ///
1429 /// # Example
1430 /// ```ignore,no_run
1431 /// # use google_cloud_parametermanager_v1::model::CreateParameterVersionRequest;
1432 /// let x = CreateParameterVersionRequest::new().set_parent("example");
1433 /// ```
1434 pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1435 self.parent = v.into();
1436 self
1437 }
1438
1439 /// Sets the value of [parameter_version_id][crate::model::CreateParameterVersionRequest::parameter_version_id].
1440 ///
1441 /// # Example
1442 /// ```ignore,no_run
1443 /// # use google_cloud_parametermanager_v1::model::CreateParameterVersionRequest;
1444 /// let x = CreateParameterVersionRequest::new().set_parameter_version_id("example");
1445 /// ```
1446 pub fn set_parameter_version_id<T: std::convert::Into<std::string::String>>(
1447 mut self,
1448 v: T,
1449 ) -> Self {
1450 self.parameter_version_id = v.into();
1451 self
1452 }
1453
1454 /// Sets the value of [parameter_version][crate::model::CreateParameterVersionRequest::parameter_version].
1455 ///
1456 /// # Example
1457 /// ```ignore,no_run
1458 /// # use google_cloud_parametermanager_v1::model::CreateParameterVersionRequest;
1459 /// use google_cloud_parametermanager_v1::model::ParameterVersion;
1460 /// let x = CreateParameterVersionRequest::new().set_parameter_version(ParameterVersion::default()/* use setters */);
1461 /// ```
1462 pub fn set_parameter_version<T>(mut self, v: T) -> Self
1463 where
1464 T: std::convert::Into<crate::model::ParameterVersion>,
1465 {
1466 self.parameter_version = std::option::Option::Some(v.into());
1467 self
1468 }
1469
1470 /// Sets or clears the value of [parameter_version][crate::model::CreateParameterVersionRequest::parameter_version].
1471 ///
1472 /// # Example
1473 /// ```ignore,no_run
1474 /// # use google_cloud_parametermanager_v1::model::CreateParameterVersionRequest;
1475 /// use google_cloud_parametermanager_v1::model::ParameterVersion;
1476 /// let x = CreateParameterVersionRequest::new().set_or_clear_parameter_version(Some(ParameterVersion::default()/* use setters */));
1477 /// let x = CreateParameterVersionRequest::new().set_or_clear_parameter_version(None::<ParameterVersion>);
1478 /// ```
1479 pub fn set_or_clear_parameter_version<T>(mut self, v: std::option::Option<T>) -> Self
1480 where
1481 T: std::convert::Into<crate::model::ParameterVersion>,
1482 {
1483 self.parameter_version = v.map(|x| x.into());
1484 self
1485 }
1486
1487 /// Sets the value of [request_id][crate::model::CreateParameterVersionRequest::request_id].
1488 ///
1489 /// # Example
1490 /// ```ignore,no_run
1491 /// # use google_cloud_parametermanager_v1::model::CreateParameterVersionRequest;
1492 /// let x = CreateParameterVersionRequest::new().set_request_id("example");
1493 /// ```
1494 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1495 self.request_id = v.into();
1496 self
1497 }
1498}
1499
1500impl wkt::message::Message for CreateParameterVersionRequest {
1501 fn typename() -> &'static str {
1502 "type.googleapis.com/google.cloud.parametermanager.v1.CreateParameterVersionRequest"
1503 }
1504}
1505
1506/// Message for updating a ParameterVersion
1507#[derive(Clone, Default, PartialEq)]
1508#[non_exhaustive]
1509pub struct UpdateParameterVersionRequest {
1510 /// Optional. Field mask is used to specify the fields to be overwritten in the
1511 /// ParameterVersion resource by the update.
1512 /// The fields specified in the update_mask are relative to the resource, not
1513 /// the full request. A mutable field will be overwritten if it is in the
1514 /// mask. If the user does not provide a mask then all mutable fields present
1515 /// in the request will be overwritten.
1516 pub update_mask: std::option::Option<wkt::FieldMask>,
1517
1518 /// Required. The ParameterVersion resource being updated
1519 pub parameter_version: std::option::Option<crate::model::ParameterVersion>,
1520
1521 /// Optional. An optional request ID to identify requests. Specify a unique
1522 /// request ID so that if you must retry your request, the server will know to
1523 /// ignore the request if it has already been completed. The server will
1524 /// guarantee that for at least 60 minutes since the first request.
1525 ///
1526 /// For example, consider a situation where you make an initial request and the
1527 /// request times out. If you make the request again with the same request
1528 /// ID, the server can check if original operation with the same request ID
1529 /// was received, and if so, will ignore the second request. This prevents
1530 /// clients from accidentally creating duplicate commitments.
1531 ///
1532 /// The request ID must be a valid UUID with the exception that zero UUID is
1533 /// not supported (00000000-0000-0000-0000-000000000000).
1534 pub request_id: std::string::String,
1535
1536 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1537}
1538
1539impl UpdateParameterVersionRequest {
1540 pub fn new() -> Self {
1541 std::default::Default::default()
1542 }
1543
1544 /// Sets the value of [update_mask][crate::model::UpdateParameterVersionRequest::update_mask].
1545 ///
1546 /// # Example
1547 /// ```ignore,no_run
1548 /// # use google_cloud_parametermanager_v1::model::UpdateParameterVersionRequest;
1549 /// use wkt::FieldMask;
1550 /// let x = UpdateParameterVersionRequest::new().set_update_mask(FieldMask::default()/* use setters */);
1551 /// ```
1552 pub fn set_update_mask<T>(mut self, v: T) -> Self
1553 where
1554 T: std::convert::Into<wkt::FieldMask>,
1555 {
1556 self.update_mask = std::option::Option::Some(v.into());
1557 self
1558 }
1559
1560 /// Sets or clears the value of [update_mask][crate::model::UpdateParameterVersionRequest::update_mask].
1561 ///
1562 /// # Example
1563 /// ```ignore,no_run
1564 /// # use google_cloud_parametermanager_v1::model::UpdateParameterVersionRequest;
1565 /// use wkt::FieldMask;
1566 /// let x = UpdateParameterVersionRequest::new().set_or_clear_update_mask(Some(FieldMask::default()/* use setters */));
1567 /// let x = UpdateParameterVersionRequest::new().set_or_clear_update_mask(None::<FieldMask>);
1568 /// ```
1569 pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
1570 where
1571 T: std::convert::Into<wkt::FieldMask>,
1572 {
1573 self.update_mask = v.map(|x| x.into());
1574 self
1575 }
1576
1577 /// Sets the value of [parameter_version][crate::model::UpdateParameterVersionRequest::parameter_version].
1578 ///
1579 /// # Example
1580 /// ```ignore,no_run
1581 /// # use google_cloud_parametermanager_v1::model::UpdateParameterVersionRequest;
1582 /// use google_cloud_parametermanager_v1::model::ParameterVersion;
1583 /// let x = UpdateParameterVersionRequest::new().set_parameter_version(ParameterVersion::default()/* use setters */);
1584 /// ```
1585 pub fn set_parameter_version<T>(mut self, v: T) -> Self
1586 where
1587 T: std::convert::Into<crate::model::ParameterVersion>,
1588 {
1589 self.parameter_version = std::option::Option::Some(v.into());
1590 self
1591 }
1592
1593 /// Sets or clears the value of [parameter_version][crate::model::UpdateParameterVersionRequest::parameter_version].
1594 ///
1595 /// # Example
1596 /// ```ignore,no_run
1597 /// # use google_cloud_parametermanager_v1::model::UpdateParameterVersionRequest;
1598 /// use google_cloud_parametermanager_v1::model::ParameterVersion;
1599 /// let x = UpdateParameterVersionRequest::new().set_or_clear_parameter_version(Some(ParameterVersion::default()/* use setters */));
1600 /// let x = UpdateParameterVersionRequest::new().set_or_clear_parameter_version(None::<ParameterVersion>);
1601 /// ```
1602 pub fn set_or_clear_parameter_version<T>(mut self, v: std::option::Option<T>) -> Self
1603 where
1604 T: std::convert::Into<crate::model::ParameterVersion>,
1605 {
1606 self.parameter_version = v.map(|x| x.into());
1607 self
1608 }
1609
1610 /// Sets the value of [request_id][crate::model::UpdateParameterVersionRequest::request_id].
1611 ///
1612 /// # Example
1613 /// ```ignore,no_run
1614 /// # use google_cloud_parametermanager_v1::model::UpdateParameterVersionRequest;
1615 /// let x = UpdateParameterVersionRequest::new().set_request_id("example");
1616 /// ```
1617 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1618 self.request_id = v.into();
1619 self
1620 }
1621}
1622
1623impl wkt::message::Message for UpdateParameterVersionRequest {
1624 fn typename() -> &'static str {
1625 "type.googleapis.com/google.cloud.parametermanager.v1.UpdateParameterVersionRequest"
1626 }
1627}
1628
1629/// Message for deleting a ParameterVersion
1630#[derive(Clone, Default, PartialEq)]
1631#[non_exhaustive]
1632pub struct DeleteParameterVersionRequest {
1633 /// Required. Name of the resource in the format
1634 /// `projects/*/locations/*/parameters/*/versions/*`.
1635 pub name: std::string::String,
1636
1637 /// Optional. An optional request ID to identify requests. Specify a unique
1638 /// request ID so that if you must retry your request, the server will know to
1639 /// ignore the request if it has already been completed. The server will
1640 /// guarantee that for at least 60 minutes after the first request.
1641 ///
1642 /// For example, consider a situation where you make an initial request and the
1643 /// request times out. If you make the request again with the same request
1644 /// ID, the server can check if original operation with the same request ID
1645 /// was received, and if so, will ignore the second request. This prevents
1646 /// clients from accidentally creating duplicate commitments.
1647 ///
1648 /// The request ID must be a valid UUID with the exception that zero UUID is
1649 /// not supported (00000000-0000-0000-0000-000000000000).
1650 pub request_id: std::string::String,
1651
1652 pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1653}
1654
1655impl DeleteParameterVersionRequest {
1656 pub fn new() -> Self {
1657 std::default::Default::default()
1658 }
1659
1660 /// Sets the value of [name][crate::model::DeleteParameterVersionRequest::name].
1661 ///
1662 /// # Example
1663 /// ```ignore,no_run
1664 /// # use google_cloud_parametermanager_v1::model::DeleteParameterVersionRequest;
1665 /// let x = DeleteParameterVersionRequest::new().set_name("example");
1666 /// ```
1667 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1668 self.name = v.into();
1669 self
1670 }
1671
1672 /// Sets the value of [request_id][crate::model::DeleteParameterVersionRequest::request_id].
1673 ///
1674 /// # Example
1675 /// ```ignore,no_run
1676 /// # use google_cloud_parametermanager_v1::model::DeleteParameterVersionRequest;
1677 /// let x = DeleteParameterVersionRequest::new().set_request_id("example");
1678 /// ```
1679 pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1680 self.request_id = v.into();
1681 self
1682 }
1683}
1684
1685impl wkt::message::Message for DeleteParameterVersionRequest {
1686 fn typename() -> &'static str {
1687 "type.googleapis.com/google.cloud.parametermanager.v1.DeleteParameterVersionRequest"
1688 }
1689}
1690
1691/// Option to specify the format of a Parameter resource (UNFORMATTED / YAML /
1692/// JSON). This option is user specified at the time of creation of the resource
1693/// and is immutable.
1694///
1695/// # Working with unknown values
1696///
1697/// This enum is defined as `#[non_exhaustive]` because Google Cloud may add
1698/// additional enum variants at any time. Adding new variants is not considered
1699/// a breaking change. Applications should write their code in anticipation of:
1700///
1701/// - New values appearing in future releases of the client library, **and**
1702/// - New values received dynamically, without application changes.
1703///
1704/// Please consult the [Working with enums] section in the user guide for some
1705/// guidelines.
1706///
1707/// [Working with enums]: https://googleapis.github.io/google-cloud-rust/working_with_enums.html
1708#[derive(Clone, Debug, PartialEq)]
1709#[non_exhaustive]
1710pub enum ParameterFormat {
1711 /// The default / unset value.
1712 /// The API will default to the UNFORMATTED format.
1713 Unspecified,
1714 /// Unformatted.
1715 Unformatted,
1716 /// YAML format.
1717 Yaml,
1718 /// JSON format.
1719 Json,
1720 /// If set, the enum was initialized with an unknown value.
1721 ///
1722 /// Applications can examine the value using [ParameterFormat::value] or
1723 /// [ParameterFormat::name].
1724 UnknownValue(parameter_format::UnknownValue),
1725}
1726
1727#[doc(hidden)]
1728pub mod parameter_format {
1729 #[allow(unused_imports)]
1730 use super::*;
1731 #[derive(Clone, Debug, PartialEq)]
1732 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
1733}
1734
1735impl ParameterFormat {
1736 /// Gets the enum value.
1737 ///
1738 /// Returns `None` if the enum contains an unknown value deserialized from
1739 /// the string representation of enums.
1740 pub fn value(&self) -> std::option::Option<i32> {
1741 match self {
1742 Self::Unspecified => std::option::Option::Some(0),
1743 Self::Unformatted => std::option::Option::Some(1),
1744 Self::Yaml => std::option::Option::Some(2),
1745 Self::Json => std::option::Option::Some(3),
1746 Self::UnknownValue(u) => u.0.value(),
1747 }
1748 }
1749
1750 /// Gets the enum value as a string.
1751 ///
1752 /// Returns `None` if the enum contains an unknown value deserialized from
1753 /// the integer representation of enums.
1754 pub fn name(&self) -> std::option::Option<&str> {
1755 match self {
1756 Self::Unspecified => std::option::Option::Some("PARAMETER_FORMAT_UNSPECIFIED"),
1757 Self::Unformatted => std::option::Option::Some("UNFORMATTED"),
1758 Self::Yaml => std::option::Option::Some("YAML"),
1759 Self::Json => std::option::Option::Some("JSON"),
1760 Self::UnknownValue(u) => u.0.name(),
1761 }
1762 }
1763}
1764
1765impl std::default::Default for ParameterFormat {
1766 fn default() -> Self {
1767 use std::convert::From;
1768 Self::from(0)
1769 }
1770}
1771
1772impl std::fmt::Display for ParameterFormat {
1773 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
1774 wkt::internal::display_enum(f, self.name(), self.value())
1775 }
1776}
1777
1778impl std::convert::From<i32> for ParameterFormat {
1779 fn from(value: i32) -> Self {
1780 match value {
1781 0 => Self::Unspecified,
1782 1 => Self::Unformatted,
1783 2 => Self::Yaml,
1784 3 => Self::Json,
1785 _ => Self::UnknownValue(parameter_format::UnknownValue(
1786 wkt::internal::UnknownEnumValue::Integer(value),
1787 )),
1788 }
1789 }
1790}
1791
1792impl std::convert::From<&str> for ParameterFormat {
1793 fn from(value: &str) -> Self {
1794 use std::string::ToString;
1795 match value {
1796 "PARAMETER_FORMAT_UNSPECIFIED" => Self::Unspecified,
1797 "UNFORMATTED" => Self::Unformatted,
1798 "YAML" => Self::Yaml,
1799 "JSON" => Self::Json,
1800 _ => Self::UnknownValue(parameter_format::UnknownValue(
1801 wkt::internal::UnknownEnumValue::String(value.to_string()),
1802 )),
1803 }
1804 }
1805}
1806
1807impl serde::ser::Serialize for ParameterFormat {
1808 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1809 where
1810 S: serde::Serializer,
1811 {
1812 match self {
1813 Self::Unspecified => serializer.serialize_i32(0),
1814 Self::Unformatted => serializer.serialize_i32(1),
1815 Self::Yaml => serializer.serialize_i32(2),
1816 Self::Json => serializer.serialize_i32(3),
1817 Self::UnknownValue(u) => u.0.serialize(serializer),
1818 }
1819 }
1820}
1821
1822impl<'de> serde::de::Deserialize<'de> for ParameterFormat {
1823 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1824 where
1825 D: serde::Deserializer<'de>,
1826 {
1827 deserializer.deserialize_any(wkt::internal::EnumVisitor::<ParameterFormat>::new(
1828 ".google.cloud.parametermanager.v1.ParameterFormat",
1829 ))
1830 }
1831}
1832
1833/// Option for requesting only metadata, or user provided payload
1834/// of a ParameterVersion resource.
1835///
1836/// # Working with unknown values
1837///
1838/// This enum is defined as `#[non_exhaustive]` because Google Cloud may add
1839/// additional enum variants at any time. Adding new variants is not considered
1840/// a breaking change. Applications should write their code in anticipation of:
1841///
1842/// - New values appearing in future releases of the client library, **and**
1843/// - New values received dynamically, without application changes.
1844///
1845/// Please consult the [Working with enums] section in the user guide for some
1846/// guidelines.
1847///
1848/// [Working with enums]: https://googleapis.github.io/google-cloud-rust/working_with_enums.html
1849#[derive(Clone, Debug, PartialEq)]
1850#[non_exhaustive]
1851pub enum View {
1852 /// The default / unset value.
1853 /// The API will default to the FULL view..
1854 Unspecified,
1855 /// Include only the metadata for the resource.
1856 Basic,
1857 /// Include metadata & other relevant payload data as well.
1858 /// This is the default view.
1859 Full,
1860 /// If set, the enum was initialized with an unknown value.
1861 ///
1862 /// Applications can examine the value using [View::value] or
1863 /// [View::name].
1864 UnknownValue(view::UnknownValue),
1865}
1866
1867#[doc(hidden)]
1868pub mod view {
1869 #[allow(unused_imports)]
1870 use super::*;
1871 #[derive(Clone, Debug, PartialEq)]
1872 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
1873}
1874
1875impl View {
1876 /// Gets the enum value.
1877 ///
1878 /// Returns `None` if the enum contains an unknown value deserialized from
1879 /// the string representation of enums.
1880 pub fn value(&self) -> std::option::Option<i32> {
1881 match self {
1882 Self::Unspecified => std::option::Option::Some(0),
1883 Self::Basic => std::option::Option::Some(1),
1884 Self::Full => std::option::Option::Some(2),
1885 Self::UnknownValue(u) => u.0.value(),
1886 }
1887 }
1888
1889 /// Gets the enum value as a string.
1890 ///
1891 /// Returns `None` if the enum contains an unknown value deserialized from
1892 /// the integer representation of enums.
1893 pub fn name(&self) -> std::option::Option<&str> {
1894 match self {
1895 Self::Unspecified => std::option::Option::Some("VIEW_UNSPECIFIED"),
1896 Self::Basic => std::option::Option::Some("BASIC"),
1897 Self::Full => std::option::Option::Some("FULL"),
1898 Self::UnknownValue(u) => u.0.name(),
1899 }
1900 }
1901}
1902
1903impl std::default::Default for View {
1904 fn default() -> Self {
1905 use std::convert::From;
1906 Self::from(0)
1907 }
1908}
1909
1910impl std::fmt::Display for View {
1911 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
1912 wkt::internal::display_enum(f, self.name(), self.value())
1913 }
1914}
1915
1916impl std::convert::From<i32> for View {
1917 fn from(value: i32) -> Self {
1918 match value {
1919 0 => Self::Unspecified,
1920 1 => Self::Basic,
1921 2 => Self::Full,
1922 _ => Self::UnknownValue(view::UnknownValue(
1923 wkt::internal::UnknownEnumValue::Integer(value),
1924 )),
1925 }
1926 }
1927}
1928
1929impl std::convert::From<&str> for View {
1930 fn from(value: &str) -> Self {
1931 use std::string::ToString;
1932 match value {
1933 "VIEW_UNSPECIFIED" => Self::Unspecified,
1934 "BASIC" => Self::Basic,
1935 "FULL" => Self::Full,
1936 _ => Self::UnknownValue(view::UnknownValue(wkt::internal::UnknownEnumValue::String(
1937 value.to_string(),
1938 ))),
1939 }
1940 }
1941}
1942
1943impl serde::ser::Serialize for View {
1944 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1945 where
1946 S: serde::Serializer,
1947 {
1948 match self {
1949 Self::Unspecified => serializer.serialize_i32(0),
1950 Self::Basic => serializer.serialize_i32(1),
1951 Self::Full => serializer.serialize_i32(2),
1952 Self::UnknownValue(u) => u.0.serialize(serializer),
1953 }
1954 }
1955}
1956
1957impl<'de> serde::de::Deserialize<'de> for View {
1958 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1959 where
1960 D: serde::Deserializer<'de>,
1961 {
1962 deserializer.deserialize_any(wkt::internal::EnumVisitor::<View>::new(
1963 ".google.cloud.parametermanager.v1.View",
1964 ))
1965 }
1966}