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