1#![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 gax;
23extern crate gaxi;
24extern crate lazy_static;
25extern crate longrunning;
26extern crate lro;
27extern crate reqwest;
28extern crate serde;
29extern crate serde_json;
30extern crate serde_with;
31extern crate std;
32extern crate tracing;
33extern crate wkt;
34
35#[derive(Clone, Debug, Default, PartialEq)]
40#[non_exhaustive]
41pub struct Environment {
42 pub name: std::string::String,
48
49 pub id: std::string::String,
52
53 pub docker_image: std::string::String,
56
57 pub state: crate::model::environment::State,
59
60 pub web_host: std::string::String,
63
64 pub ssh_username: std::string::String,
67
68 pub ssh_host: std::string::String,
71
72 pub ssh_port: i32,
75
76 pub public_keys: std::vec::Vec<std::string::String>,
82
83 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
84}
85
86impl Environment {
87 pub fn new() -> Self {
88 std::default::Default::default()
89 }
90
91 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
93 self.name = v.into();
94 self
95 }
96
97 pub fn set_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
99 self.id = v.into();
100 self
101 }
102
103 pub fn set_docker_image<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
105 self.docker_image = v.into();
106 self
107 }
108
109 pub fn set_state<T: std::convert::Into<crate::model::environment::State>>(
111 mut self,
112 v: T,
113 ) -> Self {
114 self.state = v.into();
115 self
116 }
117
118 pub fn set_web_host<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
120 self.web_host = v.into();
121 self
122 }
123
124 pub fn set_ssh_username<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
126 self.ssh_username = v.into();
127 self
128 }
129
130 pub fn set_ssh_host<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
132 self.ssh_host = v.into();
133 self
134 }
135
136 pub fn set_ssh_port<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
138 self.ssh_port = v.into();
139 self
140 }
141
142 pub fn set_public_keys<T, V>(mut self, v: T) -> Self
144 where
145 T: std::iter::IntoIterator<Item = V>,
146 V: std::convert::Into<std::string::String>,
147 {
148 use std::iter::Iterator;
149 self.public_keys = v.into_iter().map(|i| i.into()).collect();
150 self
151 }
152}
153
154impl wkt::message::Message for Environment {
155 fn typename() -> &'static str {
156 "type.googleapis.com/google.cloud.shell.v1.Environment"
157 }
158}
159
160#[doc(hidden)]
161impl<'de> serde::de::Deserialize<'de> for Environment {
162 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
163 where
164 D: serde::Deserializer<'de>,
165 {
166 #[allow(non_camel_case_types)]
167 #[doc(hidden)]
168 #[derive(PartialEq, Eq, Hash)]
169 enum __FieldTag {
170 __name,
171 __id,
172 __docker_image,
173 __state,
174 __web_host,
175 __ssh_username,
176 __ssh_host,
177 __ssh_port,
178 __public_keys,
179 Unknown(std::string::String),
180 }
181 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
182 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
183 where
184 D: serde::Deserializer<'de>,
185 {
186 struct Visitor;
187 impl<'de> serde::de::Visitor<'de> for Visitor {
188 type Value = __FieldTag;
189 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
190 formatter.write_str("a field name for Environment")
191 }
192 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
193 where
194 E: serde::de::Error,
195 {
196 use std::result::Result::Ok;
197 use std::string::ToString;
198 match value {
199 "name" => Ok(__FieldTag::__name),
200 "id" => Ok(__FieldTag::__id),
201 "dockerImage" => Ok(__FieldTag::__docker_image),
202 "docker_image" => Ok(__FieldTag::__docker_image),
203 "state" => Ok(__FieldTag::__state),
204 "webHost" => Ok(__FieldTag::__web_host),
205 "web_host" => Ok(__FieldTag::__web_host),
206 "sshUsername" => Ok(__FieldTag::__ssh_username),
207 "ssh_username" => Ok(__FieldTag::__ssh_username),
208 "sshHost" => Ok(__FieldTag::__ssh_host),
209 "ssh_host" => Ok(__FieldTag::__ssh_host),
210 "sshPort" => Ok(__FieldTag::__ssh_port),
211 "ssh_port" => Ok(__FieldTag::__ssh_port),
212 "publicKeys" => Ok(__FieldTag::__public_keys),
213 "public_keys" => Ok(__FieldTag::__public_keys),
214 _ => Ok(__FieldTag::Unknown(value.to_string())),
215 }
216 }
217 }
218 deserializer.deserialize_identifier(Visitor)
219 }
220 }
221 struct Visitor;
222 impl<'de> serde::de::Visitor<'de> for Visitor {
223 type Value = Environment;
224 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
225 formatter.write_str("struct Environment")
226 }
227 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
228 where
229 A: serde::de::MapAccess<'de>,
230 {
231 #[allow(unused_imports)]
232 use serde::de::Error;
233 use std::option::Option::Some;
234 let mut fields = std::collections::HashSet::new();
235 let mut result = Self::Value::new();
236 while let Some(tag) = map.next_key::<__FieldTag>()? {
237 #[allow(clippy::match_single_binding)]
238 match tag {
239 __FieldTag::__name => {
240 if !fields.insert(__FieldTag::__name) {
241 return std::result::Result::Err(A::Error::duplicate_field(
242 "multiple values for name",
243 ));
244 }
245 result.name = map
246 .next_value::<std::option::Option<std::string::String>>()?
247 .unwrap_or_default();
248 }
249 __FieldTag::__id => {
250 if !fields.insert(__FieldTag::__id) {
251 return std::result::Result::Err(A::Error::duplicate_field(
252 "multiple values for id",
253 ));
254 }
255 result.id = map
256 .next_value::<std::option::Option<std::string::String>>()?
257 .unwrap_or_default();
258 }
259 __FieldTag::__docker_image => {
260 if !fields.insert(__FieldTag::__docker_image) {
261 return std::result::Result::Err(A::Error::duplicate_field(
262 "multiple values for docker_image",
263 ));
264 }
265 result.docker_image = map
266 .next_value::<std::option::Option<std::string::String>>()?
267 .unwrap_or_default();
268 }
269 __FieldTag::__state => {
270 if !fields.insert(__FieldTag::__state) {
271 return std::result::Result::Err(A::Error::duplicate_field(
272 "multiple values for state",
273 ));
274 }
275 result.state = map.next_value::<std::option::Option<crate::model::environment::State>>()?.unwrap_or_default();
276 }
277 __FieldTag::__web_host => {
278 if !fields.insert(__FieldTag::__web_host) {
279 return std::result::Result::Err(A::Error::duplicate_field(
280 "multiple values for web_host",
281 ));
282 }
283 result.web_host = map
284 .next_value::<std::option::Option<std::string::String>>()?
285 .unwrap_or_default();
286 }
287 __FieldTag::__ssh_username => {
288 if !fields.insert(__FieldTag::__ssh_username) {
289 return std::result::Result::Err(A::Error::duplicate_field(
290 "multiple values for ssh_username",
291 ));
292 }
293 result.ssh_username = map
294 .next_value::<std::option::Option<std::string::String>>()?
295 .unwrap_or_default();
296 }
297 __FieldTag::__ssh_host => {
298 if !fields.insert(__FieldTag::__ssh_host) {
299 return std::result::Result::Err(A::Error::duplicate_field(
300 "multiple values for ssh_host",
301 ));
302 }
303 result.ssh_host = map
304 .next_value::<std::option::Option<std::string::String>>()?
305 .unwrap_or_default();
306 }
307 __FieldTag::__ssh_port => {
308 if !fields.insert(__FieldTag::__ssh_port) {
309 return std::result::Result::Err(A::Error::duplicate_field(
310 "multiple values for ssh_port",
311 ));
312 }
313 struct __With(std::option::Option<i32>);
314 impl<'de> serde::de::Deserialize<'de> for __With {
315 fn deserialize<D>(
316 deserializer: D,
317 ) -> std::result::Result<Self, D::Error>
318 where
319 D: serde::de::Deserializer<'de>,
320 {
321 serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
322 }
323 }
324 result.ssh_port = map.next_value::<__With>()?.0.unwrap_or_default();
325 }
326 __FieldTag::__public_keys => {
327 if !fields.insert(__FieldTag::__public_keys) {
328 return std::result::Result::Err(A::Error::duplicate_field(
329 "multiple values for public_keys",
330 ));
331 }
332 result.public_keys = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
333 }
334 __FieldTag::Unknown(key) => {
335 let value = map.next_value::<serde_json::Value>()?;
336 result._unknown_fields.insert(key, value);
337 }
338 }
339 }
340 std::result::Result::Ok(result)
341 }
342 }
343 deserializer.deserialize_any(Visitor)
344 }
345}
346
347#[doc(hidden)]
348impl serde::ser::Serialize for Environment {
349 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
350 where
351 S: serde::ser::Serializer,
352 {
353 use serde::ser::SerializeMap;
354 #[allow(unused_imports)]
355 use std::option::Option::Some;
356 let mut state = serializer.serialize_map(std::option::Option::None)?;
357 if !self.name.is_empty() {
358 state.serialize_entry("name", &self.name)?;
359 }
360 if !self.id.is_empty() {
361 state.serialize_entry("id", &self.id)?;
362 }
363 if !self.docker_image.is_empty() {
364 state.serialize_entry("dockerImage", &self.docker_image)?;
365 }
366 if !wkt::internal::is_default(&self.state) {
367 state.serialize_entry("state", &self.state)?;
368 }
369 if !self.web_host.is_empty() {
370 state.serialize_entry("webHost", &self.web_host)?;
371 }
372 if !self.ssh_username.is_empty() {
373 state.serialize_entry("sshUsername", &self.ssh_username)?;
374 }
375 if !self.ssh_host.is_empty() {
376 state.serialize_entry("sshHost", &self.ssh_host)?;
377 }
378 if !wkt::internal::is_default(&self.ssh_port) {
379 struct __With<'a>(&'a i32);
380 impl<'a> serde::ser::Serialize for __With<'a> {
381 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
382 where
383 S: serde::ser::Serializer,
384 {
385 serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
386 }
387 }
388 state.serialize_entry("sshPort", &__With(&self.ssh_port))?;
389 }
390 if !self.public_keys.is_empty() {
391 state.serialize_entry("publicKeys", &self.public_keys)?;
392 }
393 if !self._unknown_fields.is_empty() {
394 for (key, value) in self._unknown_fields.iter() {
395 state.serialize_entry(key, &value)?;
396 }
397 }
398 state.end()
399 }
400}
401
402pub mod environment {
404 #[allow(unused_imports)]
405 use super::*;
406
407 #[derive(Clone, Debug, PartialEq)]
423 #[non_exhaustive]
424 pub enum State {
425 Unspecified,
427 Suspended,
430 Pending,
433 Running,
437 Deleting,
439 UnknownValue(state::UnknownValue),
444 }
445
446 #[doc(hidden)]
447 pub mod state {
448 #[allow(unused_imports)]
449 use super::*;
450 #[derive(Clone, Debug, PartialEq)]
451 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
452 }
453
454 impl State {
455 pub fn value(&self) -> std::option::Option<i32> {
460 match self {
461 Self::Unspecified => std::option::Option::Some(0),
462 Self::Suspended => std::option::Option::Some(1),
463 Self::Pending => std::option::Option::Some(2),
464 Self::Running => std::option::Option::Some(3),
465 Self::Deleting => std::option::Option::Some(4),
466 Self::UnknownValue(u) => u.0.value(),
467 }
468 }
469
470 pub fn name(&self) -> std::option::Option<&str> {
475 match self {
476 Self::Unspecified => std::option::Option::Some("STATE_UNSPECIFIED"),
477 Self::Suspended => std::option::Option::Some("SUSPENDED"),
478 Self::Pending => std::option::Option::Some("PENDING"),
479 Self::Running => std::option::Option::Some("RUNNING"),
480 Self::Deleting => std::option::Option::Some("DELETING"),
481 Self::UnknownValue(u) => u.0.name(),
482 }
483 }
484 }
485
486 impl std::default::Default for State {
487 fn default() -> Self {
488 use std::convert::From;
489 Self::from(0)
490 }
491 }
492
493 impl std::fmt::Display for State {
494 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
495 wkt::internal::display_enum(f, self.name(), self.value())
496 }
497 }
498
499 impl std::convert::From<i32> for State {
500 fn from(value: i32) -> Self {
501 match value {
502 0 => Self::Unspecified,
503 1 => Self::Suspended,
504 2 => Self::Pending,
505 3 => Self::Running,
506 4 => Self::Deleting,
507 _ => Self::UnknownValue(state::UnknownValue(
508 wkt::internal::UnknownEnumValue::Integer(value),
509 )),
510 }
511 }
512 }
513
514 impl std::convert::From<&str> for State {
515 fn from(value: &str) -> Self {
516 use std::string::ToString;
517 match value {
518 "STATE_UNSPECIFIED" => Self::Unspecified,
519 "SUSPENDED" => Self::Suspended,
520 "PENDING" => Self::Pending,
521 "RUNNING" => Self::Running,
522 "DELETING" => Self::Deleting,
523 _ => Self::UnknownValue(state::UnknownValue(
524 wkt::internal::UnknownEnumValue::String(value.to_string()),
525 )),
526 }
527 }
528 }
529
530 impl serde::ser::Serialize for State {
531 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
532 where
533 S: serde::Serializer,
534 {
535 match self {
536 Self::Unspecified => serializer.serialize_i32(0),
537 Self::Suspended => serializer.serialize_i32(1),
538 Self::Pending => serializer.serialize_i32(2),
539 Self::Running => serializer.serialize_i32(3),
540 Self::Deleting => serializer.serialize_i32(4),
541 Self::UnknownValue(u) => u.0.serialize(serializer),
542 }
543 }
544 }
545
546 impl<'de> serde::de::Deserialize<'de> for State {
547 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
548 where
549 D: serde::Deserializer<'de>,
550 {
551 deserializer.deserialize_any(wkt::internal::EnumVisitor::<State>::new(
552 ".google.cloud.shell.v1.Environment.State",
553 ))
554 }
555 }
556}
557
558#[derive(Clone, Debug, Default, PartialEq)]
563#[non_exhaustive]
564pub struct GetEnvironmentRequest {
565 pub name: std::string::String,
568
569 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
570}
571
572impl GetEnvironmentRequest {
573 pub fn new() -> Self {
574 std::default::Default::default()
575 }
576
577 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
579 self.name = v.into();
580 self
581 }
582}
583
584impl wkt::message::Message for GetEnvironmentRequest {
585 fn typename() -> &'static str {
586 "type.googleapis.com/google.cloud.shell.v1.GetEnvironmentRequest"
587 }
588}
589
590#[doc(hidden)]
591impl<'de> serde::de::Deserialize<'de> for GetEnvironmentRequest {
592 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
593 where
594 D: serde::Deserializer<'de>,
595 {
596 #[allow(non_camel_case_types)]
597 #[doc(hidden)]
598 #[derive(PartialEq, Eq, Hash)]
599 enum __FieldTag {
600 __name,
601 Unknown(std::string::String),
602 }
603 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
604 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
605 where
606 D: serde::Deserializer<'de>,
607 {
608 struct Visitor;
609 impl<'de> serde::de::Visitor<'de> for Visitor {
610 type Value = __FieldTag;
611 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
612 formatter.write_str("a field name for GetEnvironmentRequest")
613 }
614 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
615 where
616 E: serde::de::Error,
617 {
618 use std::result::Result::Ok;
619 use std::string::ToString;
620 match value {
621 "name" => Ok(__FieldTag::__name),
622 _ => Ok(__FieldTag::Unknown(value.to_string())),
623 }
624 }
625 }
626 deserializer.deserialize_identifier(Visitor)
627 }
628 }
629 struct Visitor;
630 impl<'de> serde::de::Visitor<'de> for Visitor {
631 type Value = GetEnvironmentRequest;
632 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
633 formatter.write_str("struct GetEnvironmentRequest")
634 }
635 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
636 where
637 A: serde::de::MapAccess<'de>,
638 {
639 #[allow(unused_imports)]
640 use serde::de::Error;
641 use std::option::Option::Some;
642 let mut fields = std::collections::HashSet::new();
643 let mut result = Self::Value::new();
644 while let Some(tag) = map.next_key::<__FieldTag>()? {
645 #[allow(clippy::match_single_binding)]
646 match tag {
647 __FieldTag::__name => {
648 if !fields.insert(__FieldTag::__name) {
649 return std::result::Result::Err(A::Error::duplicate_field(
650 "multiple values for name",
651 ));
652 }
653 result.name = map
654 .next_value::<std::option::Option<std::string::String>>()?
655 .unwrap_or_default();
656 }
657 __FieldTag::Unknown(key) => {
658 let value = map.next_value::<serde_json::Value>()?;
659 result._unknown_fields.insert(key, value);
660 }
661 }
662 }
663 std::result::Result::Ok(result)
664 }
665 }
666 deserializer.deserialize_any(Visitor)
667 }
668}
669
670#[doc(hidden)]
671impl serde::ser::Serialize for GetEnvironmentRequest {
672 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
673 where
674 S: serde::ser::Serializer,
675 {
676 use serde::ser::SerializeMap;
677 #[allow(unused_imports)]
678 use std::option::Option::Some;
679 let mut state = serializer.serialize_map(std::option::Option::None)?;
680 if !self.name.is_empty() {
681 state.serialize_entry("name", &self.name)?;
682 }
683 if !self._unknown_fields.is_empty() {
684 for (key, value) in self._unknown_fields.iter() {
685 state.serialize_entry(key, &value)?;
686 }
687 }
688 state.end()
689 }
690}
691
692#[derive(Clone, Debug, Default, PartialEq)]
695#[non_exhaustive]
696pub struct CreateEnvironmentMetadata {
697 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
698}
699
700impl CreateEnvironmentMetadata {
701 pub fn new() -> Self {
702 std::default::Default::default()
703 }
704}
705
706impl wkt::message::Message for CreateEnvironmentMetadata {
707 fn typename() -> &'static str {
708 "type.googleapis.com/google.cloud.shell.v1.CreateEnvironmentMetadata"
709 }
710}
711
712#[doc(hidden)]
713impl<'de> serde::de::Deserialize<'de> for CreateEnvironmentMetadata {
714 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
715 where
716 D: serde::Deserializer<'de>,
717 {
718 #[allow(non_camel_case_types)]
719 #[doc(hidden)]
720 #[derive(PartialEq, Eq, Hash)]
721 enum __FieldTag {
722 Unknown(std::string::String),
723 }
724 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
725 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
726 where
727 D: serde::Deserializer<'de>,
728 {
729 struct Visitor;
730 impl<'de> serde::de::Visitor<'de> for Visitor {
731 type Value = __FieldTag;
732 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
733 formatter.write_str("a field name for CreateEnvironmentMetadata")
734 }
735 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
736 where
737 E: serde::de::Error,
738 {
739 use std::result::Result::Ok;
740 use std::string::ToString;
741 Ok(__FieldTag::Unknown(value.to_string()))
742 }
743 }
744 deserializer.deserialize_identifier(Visitor)
745 }
746 }
747 struct Visitor;
748 impl<'de> serde::de::Visitor<'de> for Visitor {
749 type Value = CreateEnvironmentMetadata;
750 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
751 formatter.write_str("struct CreateEnvironmentMetadata")
752 }
753 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
754 where
755 A: serde::de::MapAccess<'de>,
756 {
757 #[allow(unused_imports)]
758 use serde::de::Error;
759 use std::option::Option::Some;
760 let mut result = Self::Value::new();
761 while let Some(tag) = map.next_key::<__FieldTag>()? {
762 #[allow(clippy::match_single_binding)]
763 match tag {
764 __FieldTag::Unknown(key) => {
765 let value = map.next_value::<serde_json::Value>()?;
766 result._unknown_fields.insert(key, value);
767 }
768 }
769 }
770 std::result::Result::Ok(result)
771 }
772 }
773 deserializer.deserialize_any(Visitor)
774 }
775}
776
777#[doc(hidden)]
778impl serde::ser::Serialize for CreateEnvironmentMetadata {
779 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
780 where
781 S: serde::ser::Serializer,
782 {
783 use serde::ser::SerializeMap;
784 #[allow(unused_imports)]
785 use std::option::Option::Some;
786 let mut state = serializer.serialize_map(std::option::Option::None)?;
787 if !self._unknown_fields.is_empty() {
788 for (key, value) in self._unknown_fields.iter() {
789 state.serialize_entry(key, &value)?;
790 }
791 }
792 state.end()
793 }
794}
795
796#[derive(Clone, Debug, Default, PartialEq)]
799#[non_exhaustive]
800pub struct DeleteEnvironmentMetadata {
801 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
802}
803
804impl DeleteEnvironmentMetadata {
805 pub fn new() -> Self {
806 std::default::Default::default()
807 }
808}
809
810impl wkt::message::Message for DeleteEnvironmentMetadata {
811 fn typename() -> &'static str {
812 "type.googleapis.com/google.cloud.shell.v1.DeleteEnvironmentMetadata"
813 }
814}
815
816#[doc(hidden)]
817impl<'de> serde::de::Deserialize<'de> for DeleteEnvironmentMetadata {
818 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
819 where
820 D: serde::Deserializer<'de>,
821 {
822 #[allow(non_camel_case_types)]
823 #[doc(hidden)]
824 #[derive(PartialEq, Eq, Hash)]
825 enum __FieldTag {
826 Unknown(std::string::String),
827 }
828 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
829 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
830 where
831 D: serde::Deserializer<'de>,
832 {
833 struct Visitor;
834 impl<'de> serde::de::Visitor<'de> for Visitor {
835 type Value = __FieldTag;
836 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
837 formatter.write_str("a field name for DeleteEnvironmentMetadata")
838 }
839 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
840 where
841 E: serde::de::Error,
842 {
843 use std::result::Result::Ok;
844 use std::string::ToString;
845 Ok(__FieldTag::Unknown(value.to_string()))
846 }
847 }
848 deserializer.deserialize_identifier(Visitor)
849 }
850 }
851 struct Visitor;
852 impl<'de> serde::de::Visitor<'de> for Visitor {
853 type Value = DeleteEnvironmentMetadata;
854 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
855 formatter.write_str("struct DeleteEnvironmentMetadata")
856 }
857 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
858 where
859 A: serde::de::MapAccess<'de>,
860 {
861 #[allow(unused_imports)]
862 use serde::de::Error;
863 use std::option::Option::Some;
864 let mut result = Self::Value::new();
865 while let Some(tag) = map.next_key::<__FieldTag>()? {
866 #[allow(clippy::match_single_binding)]
867 match tag {
868 __FieldTag::Unknown(key) => {
869 let value = map.next_value::<serde_json::Value>()?;
870 result._unknown_fields.insert(key, value);
871 }
872 }
873 }
874 std::result::Result::Ok(result)
875 }
876 }
877 deserializer.deserialize_any(Visitor)
878 }
879}
880
881#[doc(hidden)]
882impl serde::ser::Serialize for DeleteEnvironmentMetadata {
883 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
884 where
885 S: serde::ser::Serializer,
886 {
887 use serde::ser::SerializeMap;
888 #[allow(unused_imports)]
889 use std::option::Option::Some;
890 let mut state = serializer.serialize_map(std::option::Option::None)?;
891 if !self._unknown_fields.is_empty() {
892 for (key, value) in self._unknown_fields.iter() {
893 state.serialize_entry(key, &value)?;
894 }
895 }
896 state.end()
897 }
898}
899
900#[derive(Clone, Debug, Default, PartialEq)]
905#[non_exhaustive]
906pub struct StartEnvironmentRequest {
907 pub name: std::string::String,
911
912 pub access_token: std::string::String,
917
918 pub public_keys: std::vec::Vec<std::string::String>,
920
921 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
922}
923
924impl StartEnvironmentRequest {
925 pub fn new() -> Self {
926 std::default::Default::default()
927 }
928
929 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
931 self.name = v.into();
932 self
933 }
934
935 pub fn set_access_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
937 self.access_token = v.into();
938 self
939 }
940
941 pub fn set_public_keys<T, V>(mut self, v: T) -> Self
943 where
944 T: std::iter::IntoIterator<Item = V>,
945 V: std::convert::Into<std::string::String>,
946 {
947 use std::iter::Iterator;
948 self.public_keys = v.into_iter().map(|i| i.into()).collect();
949 self
950 }
951}
952
953impl wkt::message::Message for StartEnvironmentRequest {
954 fn typename() -> &'static str {
955 "type.googleapis.com/google.cloud.shell.v1.StartEnvironmentRequest"
956 }
957}
958
959#[doc(hidden)]
960impl<'de> serde::de::Deserialize<'de> for StartEnvironmentRequest {
961 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
962 where
963 D: serde::Deserializer<'de>,
964 {
965 #[allow(non_camel_case_types)]
966 #[doc(hidden)]
967 #[derive(PartialEq, Eq, Hash)]
968 enum __FieldTag {
969 __name,
970 __access_token,
971 __public_keys,
972 Unknown(std::string::String),
973 }
974 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
975 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
976 where
977 D: serde::Deserializer<'de>,
978 {
979 struct Visitor;
980 impl<'de> serde::de::Visitor<'de> for Visitor {
981 type Value = __FieldTag;
982 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
983 formatter.write_str("a field name for StartEnvironmentRequest")
984 }
985 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
986 where
987 E: serde::de::Error,
988 {
989 use std::result::Result::Ok;
990 use std::string::ToString;
991 match value {
992 "name" => Ok(__FieldTag::__name),
993 "accessToken" => Ok(__FieldTag::__access_token),
994 "access_token" => Ok(__FieldTag::__access_token),
995 "publicKeys" => Ok(__FieldTag::__public_keys),
996 "public_keys" => Ok(__FieldTag::__public_keys),
997 _ => Ok(__FieldTag::Unknown(value.to_string())),
998 }
999 }
1000 }
1001 deserializer.deserialize_identifier(Visitor)
1002 }
1003 }
1004 struct Visitor;
1005 impl<'de> serde::de::Visitor<'de> for Visitor {
1006 type Value = StartEnvironmentRequest;
1007 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1008 formatter.write_str("struct StartEnvironmentRequest")
1009 }
1010 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
1011 where
1012 A: serde::de::MapAccess<'de>,
1013 {
1014 #[allow(unused_imports)]
1015 use serde::de::Error;
1016 use std::option::Option::Some;
1017 let mut fields = std::collections::HashSet::new();
1018 let mut result = Self::Value::new();
1019 while let Some(tag) = map.next_key::<__FieldTag>()? {
1020 #[allow(clippy::match_single_binding)]
1021 match tag {
1022 __FieldTag::__name => {
1023 if !fields.insert(__FieldTag::__name) {
1024 return std::result::Result::Err(A::Error::duplicate_field(
1025 "multiple values for name",
1026 ));
1027 }
1028 result.name = map
1029 .next_value::<std::option::Option<std::string::String>>()?
1030 .unwrap_or_default();
1031 }
1032 __FieldTag::__access_token => {
1033 if !fields.insert(__FieldTag::__access_token) {
1034 return std::result::Result::Err(A::Error::duplicate_field(
1035 "multiple values for access_token",
1036 ));
1037 }
1038 result.access_token = map
1039 .next_value::<std::option::Option<std::string::String>>()?
1040 .unwrap_or_default();
1041 }
1042 __FieldTag::__public_keys => {
1043 if !fields.insert(__FieldTag::__public_keys) {
1044 return std::result::Result::Err(A::Error::duplicate_field(
1045 "multiple values for public_keys",
1046 ));
1047 }
1048 result.public_keys = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
1049 }
1050 __FieldTag::Unknown(key) => {
1051 let value = map.next_value::<serde_json::Value>()?;
1052 result._unknown_fields.insert(key, value);
1053 }
1054 }
1055 }
1056 std::result::Result::Ok(result)
1057 }
1058 }
1059 deserializer.deserialize_any(Visitor)
1060 }
1061}
1062
1063#[doc(hidden)]
1064impl serde::ser::Serialize for StartEnvironmentRequest {
1065 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1066 where
1067 S: serde::ser::Serializer,
1068 {
1069 use serde::ser::SerializeMap;
1070 #[allow(unused_imports)]
1071 use std::option::Option::Some;
1072 let mut state = serializer.serialize_map(std::option::Option::None)?;
1073 if !self.name.is_empty() {
1074 state.serialize_entry("name", &self.name)?;
1075 }
1076 if !self.access_token.is_empty() {
1077 state.serialize_entry("accessToken", &self.access_token)?;
1078 }
1079 if !self.public_keys.is_empty() {
1080 state.serialize_entry("publicKeys", &self.public_keys)?;
1081 }
1082 if !self._unknown_fields.is_empty() {
1083 for (key, value) in self._unknown_fields.iter() {
1084 state.serialize_entry(key, &value)?;
1085 }
1086 }
1087 state.end()
1088 }
1089}
1090
1091#[derive(Clone, Debug, Default, PartialEq)]
1096#[non_exhaustive]
1097pub struct AuthorizeEnvironmentRequest {
1098 pub name: std::string::String,
1102
1103 pub access_token: std::string::String,
1105
1106 pub id_token: std::string::String,
1108
1109 pub expire_time: std::option::Option<wkt::Timestamp>,
1112
1113 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1114}
1115
1116impl AuthorizeEnvironmentRequest {
1117 pub fn new() -> Self {
1118 std::default::Default::default()
1119 }
1120
1121 pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1123 self.name = v.into();
1124 self
1125 }
1126
1127 pub fn set_access_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1129 self.access_token = v.into();
1130 self
1131 }
1132
1133 pub fn set_id_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
1135 self.id_token = v.into();
1136 self
1137 }
1138
1139 pub fn set_expire_time<T>(mut self, v: T) -> Self
1141 where
1142 T: std::convert::Into<wkt::Timestamp>,
1143 {
1144 self.expire_time = std::option::Option::Some(v.into());
1145 self
1146 }
1147
1148 pub fn set_or_clear_expire_time<T>(mut self, v: std::option::Option<T>) -> Self
1150 where
1151 T: std::convert::Into<wkt::Timestamp>,
1152 {
1153 self.expire_time = v.map(|x| x.into());
1154 self
1155 }
1156}
1157
1158impl wkt::message::Message for AuthorizeEnvironmentRequest {
1159 fn typename() -> &'static str {
1160 "type.googleapis.com/google.cloud.shell.v1.AuthorizeEnvironmentRequest"
1161 }
1162}
1163
1164#[doc(hidden)]
1165impl<'de> serde::de::Deserialize<'de> for AuthorizeEnvironmentRequest {
1166 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1167 where
1168 D: serde::Deserializer<'de>,
1169 {
1170 #[allow(non_camel_case_types)]
1171 #[doc(hidden)]
1172 #[derive(PartialEq, Eq, Hash)]
1173 enum __FieldTag {
1174 __name,
1175 __access_token,
1176 __id_token,
1177 __expire_time,
1178 Unknown(std::string::String),
1179 }
1180 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
1181 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1182 where
1183 D: serde::Deserializer<'de>,
1184 {
1185 struct Visitor;
1186 impl<'de> serde::de::Visitor<'de> for Visitor {
1187 type Value = __FieldTag;
1188 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1189 formatter.write_str("a field name for AuthorizeEnvironmentRequest")
1190 }
1191 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1192 where
1193 E: serde::de::Error,
1194 {
1195 use std::result::Result::Ok;
1196 use std::string::ToString;
1197 match value {
1198 "name" => Ok(__FieldTag::__name),
1199 "accessToken" => Ok(__FieldTag::__access_token),
1200 "access_token" => Ok(__FieldTag::__access_token),
1201 "idToken" => Ok(__FieldTag::__id_token),
1202 "id_token" => Ok(__FieldTag::__id_token),
1203 "expireTime" => Ok(__FieldTag::__expire_time),
1204 "expire_time" => Ok(__FieldTag::__expire_time),
1205 _ => Ok(__FieldTag::Unknown(value.to_string())),
1206 }
1207 }
1208 }
1209 deserializer.deserialize_identifier(Visitor)
1210 }
1211 }
1212 struct Visitor;
1213 impl<'de> serde::de::Visitor<'de> for Visitor {
1214 type Value = AuthorizeEnvironmentRequest;
1215 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1216 formatter.write_str("struct AuthorizeEnvironmentRequest")
1217 }
1218 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
1219 where
1220 A: serde::de::MapAccess<'de>,
1221 {
1222 #[allow(unused_imports)]
1223 use serde::de::Error;
1224 use std::option::Option::Some;
1225 let mut fields = std::collections::HashSet::new();
1226 let mut result = Self::Value::new();
1227 while let Some(tag) = map.next_key::<__FieldTag>()? {
1228 #[allow(clippy::match_single_binding)]
1229 match tag {
1230 __FieldTag::__name => {
1231 if !fields.insert(__FieldTag::__name) {
1232 return std::result::Result::Err(A::Error::duplicate_field(
1233 "multiple values for name",
1234 ));
1235 }
1236 result.name = map
1237 .next_value::<std::option::Option<std::string::String>>()?
1238 .unwrap_or_default();
1239 }
1240 __FieldTag::__access_token => {
1241 if !fields.insert(__FieldTag::__access_token) {
1242 return std::result::Result::Err(A::Error::duplicate_field(
1243 "multiple values for access_token",
1244 ));
1245 }
1246 result.access_token = map
1247 .next_value::<std::option::Option<std::string::String>>()?
1248 .unwrap_or_default();
1249 }
1250 __FieldTag::__id_token => {
1251 if !fields.insert(__FieldTag::__id_token) {
1252 return std::result::Result::Err(A::Error::duplicate_field(
1253 "multiple values for id_token",
1254 ));
1255 }
1256 result.id_token = map
1257 .next_value::<std::option::Option<std::string::String>>()?
1258 .unwrap_or_default();
1259 }
1260 __FieldTag::__expire_time => {
1261 if !fields.insert(__FieldTag::__expire_time) {
1262 return std::result::Result::Err(A::Error::duplicate_field(
1263 "multiple values for expire_time",
1264 ));
1265 }
1266 result.expire_time =
1267 map.next_value::<std::option::Option<wkt::Timestamp>>()?;
1268 }
1269 __FieldTag::Unknown(key) => {
1270 let value = map.next_value::<serde_json::Value>()?;
1271 result._unknown_fields.insert(key, value);
1272 }
1273 }
1274 }
1275 std::result::Result::Ok(result)
1276 }
1277 }
1278 deserializer.deserialize_any(Visitor)
1279 }
1280}
1281
1282#[doc(hidden)]
1283impl serde::ser::Serialize for AuthorizeEnvironmentRequest {
1284 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1285 where
1286 S: serde::ser::Serializer,
1287 {
1288 use serde::ser::SerializeMap;
1289 #[allow(unused_imports)]
1290 use std::option::Option::Some;
1291 let mut state = serializer.serialize_map(std::option::Option::None)?;
1292 if !self.name.is_empty() {
1293 state.serialize_entry("name", &self.name)?;
1294 }
1295 if !self.access_token.is_empty() {
1296 state.serialize_entry("accessToken", &self.access_token)?;
1297 }
1298 if !self.id_token.is_empty() {
1299 state.serialize_entry("idToken", &self.id_token)?;
1300 }
1301 if self.expire_time.is_some() {
1302 state.serialize_entry("expireTime", &self.expire_time)?;
1303 }
1304 if !self._unknown_fields.is_empty() {
1305 for (key, value) in self._unknown_fields.iter() {
1306 state.serialize_entry(key, &value)?;
1307 }
1308 }
1309 state.end()
1310 }
1311}
1312
1313#[derive(Clone, Debug, Default, PartialEq)]
1318#[non_exhaustive]
1319pub struct AuthorizeEnvironmentResponse {
1320 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1321}
1322
1323impl AuthorizeEnvironmentResponse {
1324 pub fn new() -> Self {
1325 std::default::Default::default()
1326 }
1327}
1328
1329impl wkt::message::Message for AuthorizeEnvironmentResponse {
1330 fn typename() -> &'static str {
1331 "type.googleapis.com/google.cloud.shell.v1.AuthorizeEnvironmentResponse"
1332 }
1333}
1334
1335#[doc(hidden)]
1336impl<'de> serde::de::Deserialize<'de> for AuthorizeEnvironmentResponse {
1337 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1338 where
1339 D: serde::Deserializer<'de>,
1340 {
1341 #[allow(non_camel_case_types)]
1342 #[doc(hidden)]
1343 #[derive(PartialEq, Eq, Hash)]
1344 enum __FieldTag {
1345 Unknown(std::string::String),
1346 }
1347 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
1348 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1349 where
1350 D: serde::Deserializer<'de>,
1351 {
1352 struct Visitor;
1353 impl<'de> serde::de::Visitor<'de> for Visitor {
1354 type Value = __FieldTag;
1355 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1356 formatter.write_str("a field name for AuthorizeEnvironmentResponse")
1357 }
1358 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1359 where
1360 E: serde::de::Error,
1361 {
1362 use std::result::Result::Ok;
1363 use std::string::ToString;
1364 Ok(__FieldTag::Unknown(value.to_string()))
1365 }
1366 }
1367 deserializer.deserialize_identifier(Visitor)
1368 }
1369 }
1370 struct Visitor;
1371 impl<'de> serde::de::Visitor<'de> for Visitor {
1372 type Value = AuthorizeEnvironmentResponse;
1373 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1374 formatter.write_str("struct AuthorizeEnvironmentResponse")
1375 }
1376 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
1377 where
1378 A: serde::de::MapAccess<'de>,
1379 {
1380 #[allow(unused_imports)]
1381 use serde::de::Error;
1382 use std::option::Option::Some;
1383 let mut result = Self::Value::new();
1384 while let Some(tag) = map.next_key::<__FieldTag>()? {
1385 #[allow(clippy::match_single_binding)]
1386 match tag {
1387 __FieldTag::Unknown(key) => {
1388 let value = map.next_value::<serde_json::Value>()?;
1389 result._unknown_fields.insert(key, value);
1390 }
1391 }
1392 }
1393 std::result::Result::Ok(result)
1394 }
1395 }
1396 deserializer.deserialize_any(Visitor)
1397 }
1398}
1399
1400#[doc(hidden)]
1401impl serde::ser::Serialize for AuthorizeEnvironmentResponse {
1402 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1403 where
1404 S: serde::ser::Serializer,
1405 {
1406 use serde::ser::SerializeMap;
1407 #[allow(unused_imports)]
1408 use std::option::Option::Some;
1409 let mut state = serializer.serialize_map(std::option::Option::None)?;
1410 if !self._unknown_fields.is_empty() {
1411 for (key, value) in self._unknown_fields.iter() {
1412 state.serialize_entry(key, &value)?;
1413 }
1414 }
1415 state.end()
1416 }
1417}
1418
1419#[derive(Clone, Debug, Default, PartialEq)]
1424#[non_exhaustive]
1425pub struct AuthorizeEnvironmentMetadata {
1426 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1427}
1428
1429impl AuthorizeEnvironmentMetadata {
1430 pub fn new() -> Self {
1431 std::default::Default::default()
1432 }
1433}
1434
1435impl wkt::message::Message for AuthorizeEnvironmentMetadata {
1436 fn typename() -> &'static str {
1437 "type.googleapis.com/google.cloud.shell.v1.AuthorizeEnvironmentMetadata"
1438 }
1439}
1440
1441#[doc(hidden)]
1442impl<'de> serde::de::Deserialize<'de> for AuthorizeEnvironmentMetadata {
1443 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1444 where
1445 D: serde::Deserializer<'de>,
1446 {
1447 #[allow(non_camel_case_types)]
1448 #[doc(hidden)]
1449 #[derive(PartialEq, Eq, Hash)]
1450 enum __FieldTag {
1451 Unknown(std::string::String),
1452 }
1453 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
1454 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1455 where
1456 D: serde::Deserializer<'de>,
1457 {
1458 struct Visitor;
1459 impl<'de> serde::de::Visitor<'de> for Visitor {
1460 type Value = __FieldTag;
1461 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1462 formatter.write_str("a field name for AuthorizeEnvironmentMetadata")
1463 }
1464 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1465 where
1466 E: serde::de::Error,
1467 {
1468 use std::result::Result::Ok;
1469 use std::string::ToString;
1470 Ok(__FieldTag::Unknown(value.to_string()))
1471 }
1472 }
1473 deserializer.deserialize_identifier(Visitor)
1474 }
1475 }
1476 struct Visitor;
1477 impl<'de> serde::de::Visitor<'de> for Visitor {
1478 type Value = AuthorizeEnvironmentMetadata;
1479 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1480 formatter.write_str("struct AuthorizeEnvironmentMetadata")
1481 }
1482 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
1483 where
1484 A: serde::de::MapAccess<'de>,
1485 {
1486 #[allow(unused_imports)]
1487 use serde::de::Error;
1488 use std::option::Option::Some;
1489 let mut result = Self::Value::new();
1490 while let Some(tag) = map.next_key::<__FieldTag>()? {
1491 #[allow(clippy::match_single_binding)]
1492 match tag {
1493 __FieldTag::Unknown(key) => {
1494 let value = map.next_value::<serde_json::Value>()?;
1495 result._unknown_fields.insert(key, value);
1496 }
1497 }
1498 }
1499 std::result::Result::Ok(result)
1500 }
1501 }
1502 deserializer.deserialize_any(Visitor)
1503 }
1504}
1505
1506#[doc(hidden)]
1507impl serde::ser::Serialize for AuthorizeEnvironmentMetadata {
1508 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1509 where
1510 S: serde::ser::Serializer,
1511 {
1512 use serde::ser::SerializeMap;
1513 #[allow(unused_imports)]
1514 use std::option::Option::Some;
1515 let mut state = serializer.serialize_map(std::option::Option::None)?;
1516 if !self._unknown_fields.is_empty() {
1517 for (key, value) in self._unknown_fields.iter() {
1518 state.serialize_entry(key, &value)?;
1519 }
1520 }
1521 state.end()
1522 }
1523}
1524
1525#[derive(Clone, Debug, Default, PartialEq)]
1530#[non_exhaustive]
1531pub struct StartEnvironmentMetadata {
1532 pub state: crate::model::start_environment_metadata::State,
1534
1535 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1536}
1537
1538impl StartEnvironmentMetadata {
1539 pub fn new() -> Self {
1540 std::default::Default::default()
1541 }
1542
1543 pub fn set_state<T: std::convert::Into<crate::model::start_environment_metadata::State>>(
1545 mut self,
1546 v: T,
1547 ) -> Self {
1548 self.state = v.into();
1549 self
1550 }
1551}
1552
1553impl wkt::message::Message for StartEnvironmentMetadata {
1554 fn typename() -> &'static str {
1555 "type.googleapis.com/google.cloud.shell.v1.StartEnvironmentMetadata"
1556 }
1557}
1558
1559#[doc(hidden)]
1560impl<'de> serde::de::Deserialize<'de> for StartEnvironmentMetadata {
1561 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1562 where
1563 D: serde::Deserializer<'de>,
1564 {
1565 #[allow(non_camel_case_types)]
1566 #[doc(hidden)]
1567 #[derive(PartialEq, Eq, Hash)]
1568 enum __FieldTag {
1569 __state,
1570 Unknown(std::string::String),
1571 }
1572 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
1573 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1574 where
1575 D: serde::Deserializer<'de>,
1576 {
1577 struct Visitor;
1578 impl<'de> serde::de::Visitor<'de> for Visitor {
1579 type Value = __FieldTag;
1580 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1581 formatter.write_str("a field name for StartEnvironmentMetadata")
1582 }
1583 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1584 where
1585 E: serde::de::Error,
1586 {
1587 use std::result::Result::Ok;
1588 use std::string::ToString;
1589 match value {
1590 "state" => Ok(__FieldTag::__state),
1591 _ => Ok(__FieldTag::Unknown(value.to_string())),
1592 }
1593 }
1594 }
1595 deserializer.deserialize_identifier(Visitor)
1596 }
1597 }
1598 struct Visitor;
1599 impl<'de> serde::de::Visitor<'de> for Visitor {
1600 type Value = StartEnvironmentMetadata;
1601 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1602 formatter.write_str("struct StartEnvironmentMetadata")
1603 }
1604 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
1605 where
1606 A: serde::de::MapAccess<'de>,
1607 {
1608 #[allow(unused_imports)]
1609 use serde::de::Error;
1610 use std::option::Option::Some;
1611 let mut fields = std::collections::HashSet::new();
1612 let mut result = Self::Value::new();
1613 while let Some(tag) = map.next_key::<__FieldTag>()? {
1614 #[allow(clippy::match_single_binding)]
1615 match tag {
1616 __FieldTag::__state => {
1617 if !fields.insert(__FieldTag::__state) {
1618 return std::result::Result::Err(A::Error::duplicate_field(
1619 "multiple values for state",
1620 ));
1621 }
1622 result.state = map
1623 .next_value::<std::option::Option<
1624 crate::model::start_environment_metadata::State,
1625 >>()?
1626 .unwrap_or_default();
1627 }
1628 __FieldTag::Unknown(key) => {
1629 let value = map.next_value::<serde_json::Value>()?;
1630 result._unknown_fields.insert(key, value);
1631 }
1632 }
1633 }
1634 std::result::Result::Ok(result)
1635 }
1636 }
1637 deserializer.deserialize_any(Visitor)
1638 }
1639}
1640
1641#[doc(hidden)]
1642impl serde::ser::Serialize for StartEnvironmentMetadata {
1643 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1644 where
1645 S: serde::ser::Serializer,
1646 {
1647 use serde::ser::SerializeMap;
1648 #[allow(unused_imports)]
1649 use std::option::Option::Some;
1650 let mut state = serializer.serialize_map(std::option::Option::None)?;
1651 if !wkt::internal::is_default(&self.state) {
1652 state.serialize_entry("state", &self.state)?;
1653 }
1654 if !self._unknown_fields.is_empty() {
1655 for (key, value) in self._unknown_fields.iter() {
1656 state.serialize_entry(key, &value)?;
1657 }
1658 }
1659 state.end()
1660 }
1661}
1662
1663pub mod start_environment_metadata {
1665 #[allow(unused_imports)]
1666 use super::*;
1667
1668 #[derive(Clone, Debug, PartialEq)]
1688 #[non_exhaustive]
1689 pub enum State {
1690 Unspecified,
1692 Starting,
1695 UnarchivingDisk,
1699 AwaitingComputeResources,
1704 Finished,
1708 UnknownValue(state::UnknownValue),
1713 }
1714
1715 #[doc(hidden)]
1716 pub mod state {
1717 #[allow(unused_imports)]
1718 use super::*;
1719 #[derive(Clone, Debug, PartialEq)]
1720 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
1721 }
1722
1723 impl State {
1724 pub fn value(&self) -> std::option::Option<i32> {
1729 match self {
1730 Self::Unspecified => std::option::Option::Some(0),
1731 Self::Starting => std::option::Option::Some(1),
1732 Self::UnarchivingDisk => std::option::Option::Some(2),
1733 Self::AwaitingComputeResources => std::option::Option::Some(4),
1734 Self::Finished => std::option::Option::Some(3),
1735 Self::UnknownValue(u) => u.0.value(),
1736 }
1737 }
1738
1739 pub fn name(&self) -> std::option::Option<&str> {
1744 match self {
1745 Self::Unspecified => std::option::Option::Some("STATE_UNSPECIFIED"),
1746 Self::Starting => std::option::Option::Some("STARTING"),
1747 Self::UnarchivingDisk => std::option::Option::Some("UNARCHIVING_DISK"),
1748 Self::AwaitingComputeResources => {
1749 std::option::Option::Some("AWAITING_COMPUTE_RESOURCES")
1750 }
1751 Self::Finished => std::option::Option::Some("FINISHED"),
1752 Self::UnknownValue(u) => u.0.name(),
1753 }
1754 }
1755 }
1756
1757 impl std::default::Default for State {
1758 fn default() -> Self {
1759 use std::convert::From;
1760 Self::from(0)
1761 }
1762 }
1763
1764 impl std::fmt::Display for State {
1765 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
1766 wkt::internal::display_enum(f, self.name(), self.value())
1767 }
1768 }
1769
1770 impl std::convert::From<i32> for State {
1771 fn from(value: i32) -> Self {
1772 match value {
1773 0 => Self::Unspecified,
1774 1 => Self::Starting,
1775 2 => Self::UnarchivingDisk,
1776 3 => Self::Finished,
1777 4 => Self::AwaitingComputeResources,
1778 _ => Self::UnknownValue(state::UnknownValue(
1779 wkt::internal::UnknownEnumValue::Integer(value),
1780 )),
1781 }
1782 }
1783 }
1784
1785 impl std::convert::From<&str> for State {
1786 fn from(value: &str) -> Self {
1787 use std::string::ToString;
1788 match value {
1789 "STATE_UNSPECIFIED" => Self::Unspecified,
1790 "STARTING" => Self::Starting,
1791 "UNARCHIVING_DISK" => Self::UnarchivingDisk,
1792 "AWAITING_COMPUTE_RESOURCES" => Self::AwaitingComputeResources,
1793 "FINISHED" => Self::Finished,
1794 _ => Self::UnknownValue(state::UnknownValue(
1795 wkt::internal::UnknownEnumValue::String(value.to_string()),
1796 )),
1797 }
1798 }
1799 }
1800
1801 impl serde::ser::Serialize for State {
1802 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1803 where
1804 S: serde::Serializer,
1805 {
1806 match self {
1807 Self::Unspecified => serializer.serialize_i32(0),
1808 Self::Starting => serializer.serialize_i32(1),
1809 Self::UnarchivingDisk => serializer.serialize_i32(2),
1810 Self::AwaitingComputeResources => serializer.serialize_i32(4),
1811 Self::Finished => serializer.serialize_i32(3),
1812 Self::UnknownValue(u) => u.0.serialize(serializer),
1813 }
1814 }
1815 }
1816
1817 impl<'de> serde::de::Deserialize<'de> for State {
1818 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1819 where
1820 D: serde::Deserializer<'de>,
1821 {
1822 deserializer.deserialize_any(wkt::internal::EnumVisitor::<State>::new(
1823 ".google.cloud.shell.v1.StartEnvironmentMetadata.State",
1824 ))
1825 }
1826 }
1827}
1828
1829#[derive(Clone, Debug, Default, PartialEq)]
1835#[non_exhaustive]
1836pub struct StartEnvironmentResponse {
1837 pub environment: std::option::Option<crate::model::Environment>,
1839
1840 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1841}
1842
1843impl StartEnvironmentResponse {
1844 pub fn new() -> Self {
1845 std::default::Default::default()
1846 }
1847
1848 pub fn set_environment<T>(mut self, v: T) -> Self
1850 where
1851 T: std::convert::Into<crate::model::Environment>,
1852 {
1853 self.environment = std::option::Option::Some(v.into());
1854 self
1855 }
1856
1857 pub fn set_or_clear_environment<T>(mut self, v: std::option::Option<T>) -> Self
1859 where
1860 T: std::convert::Into<crate::model::Environment>,
1861 {
1862 self.environment = v.map(|x| x.into());
1863 self
1864 }
1865}
1866
1867impl wkt::message::Message for StartEnvironmentResponse {
1868 fn typename() -> &'static str {
1869 "type.googleapis.com/google.cloud.shell.v1.StartEnvironmentResponse"
1870 }
1871}
1872
1873#[doc(hidden)]
1874impl<'de> serde::de::Deserialize<'de> for StartEnvironmentResponse {
1875 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1876 where
1877 D: serde::Deserializer<'de>,
1878 {
1879 #[allow(non_camel_case_types)]
1880 #[doc(hidden)]
1881 #[derive(PartialEq, Eq, Hash)]
1882 enum __FieldTag {
1883 __environment,
1884 Unknown(std::string::String),
1885 }
1886 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
1887 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1888 where
1889 D: serde::Deserializer<'de>,
1890 {
1891 struct Visitor;
1892 impl<'de> serde::de::Visitor<'de> for Visitor {
1893 type Value = __FieldTag;
1894 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1895 formatter.write_str("a field name for StartEnvironmentResponse")
1896 }
1897 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
1898 where
1899 E: serde::de::Error,
1900 {
1901 use std::result::Result::Ok;
1902 use std::string::ToString;
1903 match value {
1904 "environment" => Ok(__FieldTag::__environment),
1905 _ => Ok(__FieldTag::Unknown(value.to_string())),
1906 }
1907 }
1908 }
1909 deserializer.deserialize_identifier(Visitor)
1910 }
1911 }
1912 struct Visitor;
1913 impl<'de> serde::de::Visitor<'de> for Visitor {
1914 type Value = StartEnvironmentResponse;
1915 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
1916 formatter.write_str("struct StartEnvironmentResponse")
1917 }
1918 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
1919 where
1920 A: serde::de::MapAccess<'de>,
1921 {
1922 #[allow(unused_imports)]
1923 use serde::de::Error;
1924 use std::option::Option::Some;
1925 let mut fields = std::collections::HashSet::new();
1926 let mut result = Self::Value::new();
1927 while let Some(tag) = map.next_key::<__FieldTag>()? {
1928 #[allow(clippy::match_single_binding)]
1929 match tag {
1930 __FieldTag::__environment => {
1931 if !fields.insert(__FieldTag::__environment) {
1932 return std::result::Result::Err(A::Error::duplicate_field(
1933 "multiple values for environment",
1934 ));
1935 }
1936 result.environment =
1937 map.next_value::<std::option::Option<crate::model::Environment>>()?;
1938 }
1939 __FieldTag::Unknown(key) => {
1940 let value = map.next_value::<serde_json::Value>()?;
1941 result._unknown_fields.insert(key, value);
1942 }
1943 }
1944 }
1945 std::result::Result::Ok(result)
1946 }
1947 }
1948 deserializer.deserialize_any(Visitor)
1949 }
1950}
1951
1952#[doc(hidden)]
1953impl serde::ser::Serialize for StartEnvironmentResponse {
1954 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1955 where
1956 S: serde::ser::Serializer,
1957 {
1958 use serde::ser::SerializeMap;
1959 #[allow(unused_imports)]
1960 use std::option::Option::Some;
1961 let mut state = serializer.serialize_map(std::option::Option::None)?;
1962 if self.environment.is_some() {
1963 state.serialize_entry("environment", &self.environment)?;
1964 }
1965 if !self._unknown_fields.is_empty() {
1966 for (key, value) in self._unknown_fields.iter() {
1967 state.serialize_entry(key, &value)?;
1968 }
1969 }
1970 state.end()
1971 }
1972}
1973
1974#[derive(Clone, Debug, Default, PartialEq)]
1979#[non_exhaustive]
1980pub struct AddPublicKeyRequest {
1981 pub environment: std::string::String,
1984
1985 pub key: std::string::String,
1992
1993 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
1994}
1995
1996impl AddPublicKeyRequest {
1997 pub fn new() -> Self {
1998 std::default::Default::default()
1999 }
2000
2001 pub fn set_environment<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2003 self.environment = v.into();
2004 self
2005 }
2006
2007 pub fn set_key<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2009 self.key = v.into();
2010 self
2011 }
2012}
2013
2014impl wkt::message::Message for AddPublicKeyRequest {
2015 fn typename() -> &'static str {
2016 "type.googleapis.com/google.cloud.shell.v1.AddPublicKeyRequest"
2017 }
2018}
2019
2020#[doc(hidden)]
2021impl<'de> serde::de::Deserialize<'de> for AddPublicKeyRequest {
2022 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2023 where
2024 D: serde::Deserializer<'de>,
2025 {
2026 #[allow(non_camel_case_types)]
2027 #[doc(hidden)]
2028 #[derive(PartialEq, Eq, Hash)]
2029 enum __FieldTag {
2030 __environment,
2031 __key,
2032 Unknown(std::string::String),
2033 }
2034 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2035 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2036 where
2037 D: serde::Deserializer<'de>,
2038 {
2039 struct Visitor;
2040 impl<'de> serde::de::Visitor<'de> for Visitor {
2041 type Value = __FieldTag;
2042 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2043 formatter.write_str("a field name for AddPublicKeyRequest")
2044 }
2045 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2046 where
2047 E: serde::de::Error,
2048 {
2049 use std::result::Result::Ok;
2050 use std::string::ToString;
2051 match value {
2052 "environment" => Ok(__FieldTag::__environment),
2053 "key" => Ok(__FieldTag::__key),
2054 _ => Ok(__FieldTag::Unknown(value.to_string())),
2055 }
2056 }
2057 }
2058 deserializer.deserialize_identifier(Visitor)
2059 }
2060 }
2061 struct Visitor;
2062 impl<'de> serde::de::Visitor<'de> for Visitor {
2063 type Value = AddPublicKeyRequest;
2064 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2065 formatter.write_str("struct AddPublicKeyRequest")
2066 }
2067 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2068 where
2069 A: serde::de::MapAccess<'de>,
2070 {
2071 #[allow(unused_imports)]
2072 use serde::de::Error;
2073 use std::option::Option::Some;
2074 let mut fields = std::collections::HashSet::new();
2075 let mut result = Self::Value::new();
2076 while let Some(tag) = map.next_key::<__FieldTag>()? {
2077 #[allow(clippy::match_single_binding)]
2078 match tag {
2079 __FieldTag::__environment => {
2080 if !fields.insert(__FieldTag::__environment) {
2081 return std::result::Result::Err(A::Error::duplicate_field(
2082 "multiple values for environment",
2083 ));
2084 }
2085 result.environment = map
2086 .next_value::<std::option::Option<std::string::String>>()?
2087 .unwrap_or_default();
2088 }
2089 __FieldTag::__key => {
2090 if !fields.insert(__FieldTag::__key) {
2091 return std::result::Result::Err(A::Error::duplicate_field(
2092 "multiple values for key",
2093 ));
2094 }
2095 result.key = map
2096 .next_value::<std::option::Option<std::string::String>>()?
2097 .unwrap_or_default();
2098 }
2099 __FieldTag::Unknown(key) => {
2100 let value = map.next_value::<serde_json::Value>()?;
2101 result._unknown_fields.insert(key, value);
2102 }
2103 }
2104 }
2105 std::result::Result::Ok(result)
2106 }
2107 }
2108 deserializer.deserialize_any(Visitor)
2109 }
2110}
2111
2112#[doc(hidden)]
2113impl serde::ser::Serialize for AddPublicKeyRequest {
2114 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2115 where
2116 S: serde::ser::Serializer,
2117 {
2118 use serde::ser::SerializeMap;
2119 #[allow(unused_imports)]
2120 use std::option::Option::Some;
2121 let mut state = serializer.serialize_map(std::option::Option::None)?;
2122 if !self.environment.is_empty() {
2123 state.serialize_entry("environment", &self.environment)?;
2124 }
2125 if !self.key.is_empty() {
2126 state.serialize_entry("key", &self.key)?;
2127 }
2128 if !self._unknown_fields.is_empty() {
2129 for (key, value) in self._unknown_fields.iter() {
2130 state.serialize_entry(key, &value)?;
2131 }
2132 }
2133 state.end()
2134 }
2135}
2136
2137#[derive(Clone, Debug, Default, PartialEq)]
2142#[non_exhaustive]
2143pub struct AddPublicKeyResponse {
2144 pub key: std::string::String,
2146
2147 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2148}
2149
2150impl AddPublicKeyResponse {
2151 pub fn new() -> Self {
2152 std::default::Default::default()
2153 }
2154
2155 pub fn set_key<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2157 self.key = v.into();
2158 self
2159 }
2160}
2161
2162impl wkt::message::Message for AddPublicKeyResponse {
2163 fn typename() -> &'static str {
2164 "type.googleapis.com/google.cloud.shell.v1.AddPublicKeyResponse"
2165 }
2166}
2167
2168#[doc(hidden)]
2169impl<'de> serde::de::Deserialize<'de> for AddPublicKeyResponse {
2170 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2171 where
2172 D: serde::Deserializer<'de>,
2173 {
2174 #[allow(non_camel_case_types)]
2175 #[doc(hidden)]
2176 #[derive(PartialEq, Eq, Hash)]
2177 enum __FieldTag {
2178 __key,
2179 Unknown(std::string::String),
2180 }
2181 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2182 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2183 where
2184 D: serde::Deserializer<'de>,
2185 {
2186 struct Visitor;
2187 impl<'de> serde::de::Visitor<'de> for Visitor {
2188 type Value = __FieldTag;
2189 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2190 formatter.write_str("a field name for AddPublicKeyResponse")
2191 }
2192 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2193 where
2194 E: serde::de::Error,
2195 {
2196 use std::result::Result::Ok;
2197 use std::string::ToString;
2198 match value {
2199 "key" => Ok(__FieldTag::__key),
2200 _ => Ok(__FieldTag::Unknown(value.to_string())),
2201 }
2202 }
2203 }
2204 deserializer.deserialize_identifier(Visitor)
2205 }
2206 }
2207 struct Visitor;
2208 impl<'de> serde::de::Visitor<'de> for Visitor {
2209 type Value = AddPublicKeyResponse;
2210 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2211 formatter.write_str("struct AddPublicKeyResponse")
2212 }
2213 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2214 where
2215 A: serde::de::MapAccess<'de>,
2216 {
2217 #[allow(unused_imports)]
2218 use serde::de::Error;
2219 use std::option::Option::Some;
2220 let mut fields = std::collections::HashSet::new();
2221 let mut result = Self::Value::new();
2222 while let Some(tag) = map.next_key::<__FieldTag>()? {
2223 #[allow(clippy::match_single_binding)]
2224 match tag {
2225 __FieldTag::__key => {
2226 if !fields.insert(__FieldTag::__key) {
2227 return std::result::Result::Err(A::Error::duplicate_field(
2228 "multiple values for key",
2229 ));
2230 }
2231 result.key = map
2232 .next_value::<std::option::Option<std::string::String>>()?
2233 .unwrap_or_default();
2234 }
2235 __FieldTag::Unknown(key) => {
2236 let value = map.next_value::<serde_json::Value>()?;
2237 result._unknown_fields.insert(key, value);
2238 }
2239 }
2240 }
2241 std::result::Result::Ok(result)
2242 }
2243 }
2244 deserializer.deserialize_any(Visitor)
2245 }
2246}
2247
2248#[doc(hidden)]
2249impl serde::ser::Serialize for AddPublicKeyResponse {
2250 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2251 where
2252 S: serde::ser::Serializer,
2253 {
2254 use serde::ser::SerializeMap;
2255 #[allow(unused_imports)]
2256 use std::option::Option::Some;
2257 let mut state = serializer.serialize_map(std::option::Option::None)?;
2258 if !self.key.is_empty() {
2259 state.serialize_entry("key", &self.key)?;
2260 }
2261 if !self._unknown_fields.is_empty() {
2262 for (key, value) in self._unknown_fields.iter() {
2263 state.serialize_entry(key, &value)?;
2264 }
2265 }
2266 state.end()
2267 }
2268}
2269
2270#[derive(Clone, Debug, Default, PartialEq)]
2275#[non_exhaustive]
2276pub struct AddPublicKeyMetadata {
2277 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2278}
2279
2280impl AddPublicKeyMetadata {
2281 pub fn new() -> Self {
2282 std::default::Default::default()
2283 }
2284}
2285
2286impl wkt::message::Message for AddPublicKeyMetadata {
2287 fn typename() -> &'static str {
2288 "type.googleapis.com/google.cloud.shell.v1.AddPublicKeyMetadata"
2289 }
2290}
2291
2292#[doc(hidden)]
2293impl<'de> serde::de::Deserialize<'de> for AddPublicKeyMetadata {
2294 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2295 where
2296 D: serde::Deserializer<'de>,
2297 {
2298 #[allow(non_camel_case_types)]
2299 #[doc(hidden)]
2300 #[derive(PartialEq, Eq, Hash)]
2301 enum __FieldTag {
2302 Unknown(std::string::String),
2303 }
2304 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2305 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2306 where
2307 D: serde::Deserializer<'de>,
2308 {
2309 struct Visitor;
2310 impl<'de> serde::de::Visitor<'de> for Visitor {
2311 type Value = __FieldTag;
2312 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2313 formatter.write_str("a field name for AddPublicKeyMetadata")
2314 }
2315 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2316 where
2317 E: serde::de::Error,
2318 {
2319 use std::result::Result::Ok;
2320 use std::string::ToString;
2321 Ok(__FieldTag::Unknown(value.to_string()))
2322 }
2323 }
2324 deserializer.deserialize_identifier(Visitor)
2325 }
2326 }
2327 struct Visitor;
2328 impl<'de> serde::de::Visitor<'de> for Visitor {
2329 type Value = AddPublicKeyMetadata;
2330 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2331 formatter.write_str("struct AddPublicKeyMetadata")
2332 }
2333 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2334 where
2335 A: serde::de::MapAccess<'de>,
2336 {
2337 #[allow(unused_imports)]
2338 use serde::de::Error;
2339 use std::option::Option::Some;
2340 let mut result = Self::Value::new();
2341 while let Some(tag) = map.next_key::<__FieldTag>()? {
2342 #[allow(clippy::match_single_binding)]
2343 match tag {
2344 __FieldTag::Unknown(key) => {
2345 let value = map.next_value::<serde_json::Value>()?;
2346 result._unknown_fields.insert(key, value);
2347 }
2348 }
2349 }
2350 std::result::Result::Ok(result)
2351 }
2352 }
2353 deserializer.deserialize_any(Visitor)
2354 }
2355}
2356
2357#[doc(hidden)]
2358impl serde::ser::Serialize for AddPublicKeyMetadata {
2359 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2360 where
2361 S: serde::ser::Serializer,
2362 {
2363 use serde::ser::SerializeMap;
2364 #[allow(unused_imports)]
2365 use std::option::Option::Some;
2366 let mut state = serializer.serialize_map(std::option::Option::None)?;
2367 if !self._unknown_fields.is_empty() {
2368 for (key, value) in self._unknown_fields.iter() {
2369 state.serialize_entry(key, &value)?;
2370 }
2371 }
2372 state.end()
2373 }
2374}
2375
2376#[derive(Clone, Debug, Default, PartialEq)]
2381#[non_exhaustive]
2382pub struct RemovePublicKeyRequest {
2383 pub environment: std::string::String,
2386
2387 pub key: std::string::String,
2389
2390 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2391}
2392
2393impl RemovePublicKeyRequest {
2394 pub fn new() -> Self {
2395 std::default::Default::default()
2396 }
2397
2398 pub fn set_environment<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2400 self.environment = v.into();
2401 self
2402 }
2403
2404 pub fn set_key<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
2406 self.key = v.into();
2407 self
2408 }
2409}
2410
2411impl wkt::message::Message for RemovePublicKeyRequest {
2412 fn typename() -> &'static str {
2413 "type.googleapis.com/google.cloud.shell.v1.RemovePublicKeyRequest"
2414 }
2415}
2416
2417#[doc(hidden)]
2418impl<'de> serde::de::Deserialize<'de> for RemovePublicKeyRequest {
2419 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2420 where
2421 D: serde::Deserializer<'de>,
2422 {
2423 #[allow(non_camel_case_types)]
2424 #[doc(hidden)]
2425 #[derive(PartialEq, Eq, Hash)]
2426 enum __FieldTag {
2427 __environment,
2428 __key,
2429 Unknown(std::string::String),
2430 }
2431 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2432 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2433 where
2434 D: serde::Deserializer<'de>,
2435 {
2436 struct Visitor;
2437 impl<'de> serde::de::Visitor<'de> for Visitor {
2438 type Value = __FieldTag;
2439 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2440 formatter.write_str("a field name for RemovePublicKeyRequest")
2441 }
2442 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2443 where
2444 E: serde::de::Error,
2445 {
2446 use std::result::Result::Ok;
2447 use std::string::ToString;
2448 match value {
2449 "environment" => Ok(__FieldTag::__environment),
2450 "key" => Ok(__FieldTag::__key),
2451 _ => Ok(__FieldTag::Unknown(value.to_string())),
2452 }
2453 }
2454 }
2455 deserializer.deserialize_identifier(Visitor)
2456 }
2457 }
2458 struct Visitor;
2459 impl<'de> serde::de::Visitor<'de> for Visitor {
2460 type Value = RemovePublicKeyRequest;
2461 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2462 formatter.write_str("struct RemovePublicKeyRequest")
2463 }
2464 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2465 where
2466 A: serde::de::MapAccess<'de>,
2467 {
2468 #[allow(unused_imports)]
2469 use serde::de::Error;
2470 use std::option::Option::Some;
2471 let mut fields = std::collections::HashSet::new();
2472 let mut result = Self::Value::new();
2473 while let Some(tag) = map.next_key::<__FieldTag>()? {
2474 #[allow(clippy::match_single_binding)]
2475 match tag {
2476 __FieldTag::__environment => {
2477 if !fields.insert(__FieldTag::__environment) {
2478 return std::result::Result::Err(A::Error::duplicate_field(
2479 "multiple values for environment",
2480 ));
2481 }
2482 result.environment = map
2483 .next_value::<std::option::Option<std::string::String>>()?
2484 .unwrap_or_default();
2485 }
2486 __FieldTag::__key => {
2487 if !fields.insert(__FieldTag::__key) {
2488 return std::result::Result::Err(A::Error::duplicate_field(
2489 "multiple values for key",
2490 ));
2491 }
2492 result.key = map
2493 .next_value::<std::option::Option<std::string::String>>()?
2494 .unwrap_or_default();
2495 }
2496 __FieldTag::Unknown(key) => {
2497 let value = map.next_value::<serde_json::Value>()?;
2498 result._unknown_fields.insert(key, value);
2499 }
2500 }
2501 }
2502 std::result::Result::Ok(result)
2503 }
2504 }
2505 deserializer.deserialize_any(Visitor)
2506 }
2507}
2508
2509#[doc(hidden)]
2510impl serde::ser::Serialize for RemovePublicKeyRequest {
2511 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2512 where
2513 S: serde::ser::Serializer,
2514 {
2515 use serde::ser::SerializeMap;
2516 #[allow(unused_imports)]
2517 use std::option::Option::Some;
2518 let mut state = serializer.serialize_map(std::option::Option::None)?;
2519 if !self.environment.is_empty() {
2520 state.serialize_entry("environment", &self.environment)?;
2521 }
2522 if !self.key.is_empty() {
2523 state.serialize_entry("key", &self.key)?;
2524 }
2525 if !self._unknown_fields.is_empty() {
2526 for (key, value) in self._unknown_fields.iter() {
2527 state.serialize_entry(key, &value)?;
2528 }
2529 }
2530 state.end()
2531 }
2532}
2533
2534#[derive(Clone, Debug, Default, PartialEq)]
2539#[non_exhaustive]
2540pub struct RemovePublicKeyResponse {
2541 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2542}
2543
2544impl RemovePublicKeyResponse {
2545 pub fn new() -> Self {
2546 std::default::Default::default()
2547 }
2548}
2549
2550impl wkt::message::Message for RemovePublicKeyResponse {
2551 fn typename() -> &'static str {
2552 "type.googleapis.com/google.cloud.shell.v1.RemovePublicKeyResponse"
2553 }
2554}
2555
2556#[doc(hidden)]
2557impl<'de> serde::de::Deserialize<'de> for RemovePublicKeyResponse {
2558 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2559 where
2560 D: serde::Deserializer<'de>,
2561 {
2562 #[allow(non_camel_case_types)]
2563 #[doc(hidden)]
2564 #[derive(PartialEq, Eq, Hash)]
2565 enum __FieldTag {
2566 Unknown(std::string::String),
2567 }
2568 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2569 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2570 where
2571 D: serde::Deserializer<'de>,
2572 {
2573 struct Visitor;
2574 impl<'de> serde::de::Visitor<'de> for Visitor {
2575 type Value = __FieldTag;
2576 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2577 formatter.write_str("a field name for RemovePublicKeyResponse")
2578 }
2579 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2580 where
2581 E: serde::de::Error,
2582 {
2583 use std::result::Result::Ok;
2584 use std::string::ToString;
2585 Ok(__FieldTag::Unknown(value.to_string()))
2586 }
2587 }
2588 deserializer.deserialize_identifier(Visitor)
2589 }
2590 }
2591 struct Visitor;
2592 impl<'de> serde::de::Visitor<'de> for Visitor {
2593 type Value = RemovePublicKeyResponse;
2594 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2595 formatter.write_str("struct RemovePublicKeyResponse")
2596 }
2597 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2598 where
2599 A: serde::de::MapAccess<'de>,
2600 {
2601 #[allow(unused_imports)]
2602 use serde::de::Error;
2603 use std::option::Option::Some;
2604 let mut result = Self::Value::new();
2605 while let Some(tag) = map.next_key::<__FieldTag>()? {
2606 #[allow(clippy::match_single_binding)]
2607 match tag {
2608 __FieldTag::Unknown(key) => {
2609 let value = map.next_value::<serde_json::Value>()?;
2610 result._unknown_fields.insert(key, value);
2611 }
2612 }
2613 }
2614 std::result::Result::Ok(result)
2615 }
2616 }
2617 deserializer.deserialize_any(Visitor)
2618 }
2619}
2620
2621#[doc(hidden)]
2622impl serde::ser::Serialize for RemovePublicKeyResponse {
2623 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2624 where
2625 S: serde::ser::Serializer,
2626 {
2627 use serde::ser::SerializeMap;
2628 #[allow(unused_imports)]
2629 use std::option::Option::Some;
2630 let mut state = serializer.serialize_map(std::option::Option::None)?;
2631 if !self._unknown_fields.is_empty() {
2632 for (key, value) in self._unknown_fields.iter() {
2633 state.serialize_entry(key, &value)?;
2634 }
2635 }
2636 state.end()
2637 }
2638}
2639
2640#[derive(Clone, Debug, Default, PartialEq)]
2645#[non_exhaustive]
2646pub struct RemovePublicKeyMetadata {
2647 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2648}
2649
2650impl RemovePublicKeyMetadata {
2651 pub fn new() -> Self {
2652 std::default::Default::default()
2653 }
2654}
2655
2656impl wkt::message::Message for RemovePublicKeyMetadata {
2657 fn typename() -> &'static str {
2658 "type.googleapis.com/google.cloud.shell.v1.RemovePublicKeyMetadata"
2659 }
2660}
2661
2662#[doc(hidden)]
2663impl<'de> serde::de::Deserialize<'de> for RemovePublicKeyMetadata {
2664 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2665 where
2666 D: serde::Deserializer<'de>,
2667 {
2668 #[allow(non_camel_case_types)]
2669 #[doc(hidden)]
2670 #[derive(PartialEq, Eq, Hash)]
2671 enum __FieldTag {
2672 Unknown(std::string::String),
2673 }
2674 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2675 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2676 where
2677 D: serde::Deserializer<'de>,
2678 {
2679 struct Visitor;
2680 impl<'de> serde::de::Visitor<'de> for Visitor {
2681 type Value = __FieldTag;
2682 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2683 formatter.write_str("a field name for RemovePublicKeyMetadata")
2684 }
2685 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2686 where
2687 E: serde::de::Error,
2688 {
2689 use std::result::Result::Ok;
2690 use std::string::ToString;
2691 Ok(__FieldTag::Unknown(value.to_string()))
2692 }
2693 }
2694 deserializer.deserialize_identifier(Visitor)
2695 }
2696 }
2697 struct Visitor;
2698 impl<'de> serde::de::Visitor<'de> for Visitor {
2699 type Value = RemovePublicKeyMetadata;
2700 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2701 formatter.write_str("struct RemovePublicKeyMetadata")
2702 }
2703 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2704 where
2705 A: serde::de::MapAccess<'de>,
2706 {
2707 #[allow(unused_imports)]
2708 use serde::de::Error;
2709 use std::option::Option::Some;
2710 let mut result = Self::Value::new();
2711 while let Some(tag) = map.next_key::<__FieldTag>()? {
2712 #[allow(clippy::match_single_binding)]
2713 match tag {
2714 __FieldTag::Unknown(key) => {
2715 let value = map.next_value::<serde_json::Value>()?;
2716 result._unknown_fields.insert(key, value);
2717 }
2718 }
2719 }
2720 std::result::Result::Ok(result)
2721 }
2722 }
2723 deserializer.deserialize_any(Visitor)
2724 }
2725}
2726
2727#[doc(hidden)]
2728impl serde::ser::Serialize for RemovePublicKeyMetadata {
2729 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2730 where
2731 S: serde::ser::Serializer,
2732 {
2733 use serde::ser::SerializeMap;
2734 #[allow(unused_imports)]
2735 use std::option::Option::Some;
2736 let mut state = serializer.serialize_map(std::option::Option::None)?;
2737 if !self._unknown_fields.is_empty() {
2738 for (key, value) in self._unknown_fields.iter() {
2739 state.serialize_entry(key, &value)?;
2740 }
2741 }
2742 state.end()
2743 }
2744}
2745
2746#[derive(Clone, Debug, Default, PartialEq)]
2749#[non_exhaustive]
2750pub struct CloudShellErrorDetails {
2751 pub code: crate::model::cloud_shell_error_details::CloudShellErrorCode,
2753
2754 _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
2755}
2756
2757impl CloudShellErrorDetails {
2758 pub fn new() -> Self {
2759 std::default::Default::default()
2760 }
2761
2762 pub fn set_code<
2764 T: std::convert::Into<crate::model::cloud_shell_error_details::CloudShellErrorCode>,
2765 >(
2766 mut self,
2767 v: T,
2768 ) -> Self {
2769 self.code = v.into();
2770 self
2771 }
2772}
2773
2774impl wkt::message::Message for CloudShellErrorDetails {
2775 fn typename() -> &'static str {
2776 "type.googleapis.com/google.cloud.shell.v1.CloudShellErrorDetails"
2777 }
2778}
2779
2780#[doc(hidden)]
2781impl<'de> serde::de::Deserialize<'de> for CloudShellErrorDetails {
2782 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2783 where
2784 D: serde::Deserializer<'de>,
2785 {
2786 #[allow(non_camel_case_types)]
2787 #[doc(hidden)]
2788 #[derive(PartialEq, Eq, Hash)]
2789 enum __FieldTag {
2790 __code,
2791 Unknown(std::string::String),
2792 }
2793 impl<'de> serde::de::Deserialize<'de> for __FieldTag {
2794 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2795 where
2796 D: serde::Deserializer<'de>,
2797 {
2798 struct Visitor;
2799 impl<'de> serde::de::Visitor<'de> for Visitor {
2800 type Value = __FieldTag;
2801 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2802 formatter.write_str("a field name for CloudShellErrorDetails")
2803 }
2804 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
2805 where
2806 E: serde::de::Error,
2807 {
2808 use std::result::Result::Ok;
2809 use std::string::ToString;
2810 match value {
2811 "code" => Ok(__FieldTag::__code),
2812 _ => Ok(__FieldTag::Unknown(value.to_string())),
2813 }
2814 }
2815 }
2816 deserializer.deserialize_identifier(Visitor)
2817 }
2818 }
2819 struct Visitor;
2820 impl<'de> serde::de::Visitor<'de> for Visitor {
2821 type Value = CloudShellErrorDetails;
2822 fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
2823 formatter.write_str("struct CloudShellErrorDetails")
2824 }
2825 fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
2826 where
2827 A: serde::de::MapAccess<'de>,
2828 {
2829 #[allow(unused_imports)]
2830 use serde::de::Error;
2831 use std::option::Option::Some;
2832 let mut fields = std::collections::HashSet::new();
2833 let mut result = Self::Value::new();
2834 while let Some(tag) = map.next_key::<__FieldTag>()? {
2835 #[allow(clippy::match_single_binding)]
2836 match tag {
2837 __FieldTag::__code => {
2838 if !fields.insert(__FieldTag::__code) {
2839 return std::result::Result::Err(A::Error::duplicate_field(
2840 "multiple values for code",
2841 ));
2842 }
2843 result.code = map
2844 .next_value::<std::option::Option<
2845 crate::model::cloud_shell_error_details::CloudShellErrorCode,
2846 >>()?
2847 .unwrap_or_default();
2848 }
2849 __FieldTag::Unknown(key) => {
2850 let value = map.next_value::<serde_json::Value>()?;
2851 result._unknown_fields.insert(key, value);
2852 }
2853 }
2854 }
2855 std::result::Result::Ok(result)
2856 }
2857 }
2858 deserializer.deserialize_any(Visitor)
2859 }
2860}
2861
2862#[doc(hidden)]
2863impl serde::ser::Serialize for CloudShellErrorDetails {
2864 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2865 where
2866 S: serde::ser::Serializer,
2867 {
2868 use serde::ser::SerializeMap;
2869 #[allow(unused_imports)]
2870 use std::option::Option::Some;
2871 let mut state = serializer.serialize_map(std::option::Option::None)?;
2872 if !wkt::internal::is_default(&self.code) {
2873 state.serialize_entry("code", &self.code)?;
2874 }
2875 if !self._unknown_fields.is_empty() {
2876 for (key, value) in self._unknown_fields.iter() {
2877 state.serialize_entry(key, &value)?;
2878 }
2879 }
2880 state.end()
2881 }
2882}
2883
2884pub mod cloud_shell_error_details {
2886 #[allow(unused_imports)]
2887 use super::*;
2888
2889 #[derive(Clone, Debug, PartialEq)]
2905 #[non_exhaustive]
2906 pub enum CloudShellErrorCode {
2907 Unspecified,
2909 ImageUnavailable,
2912 CloudShellDisabled,
2915 TosViolation,
2918 QuotaExceeded,
2921 EnvironmentUnavailable,
2924 UnknownValue(cloud_shell_error_code::UnknownValue),
2929 }
2930
2931 #[doc(hidden)]
2932 pub mod cloud_shell_error_code {
2933 #[allow(unused_imports)]
2934 use super::*;
2935 #[derive(Clone, Debug, PartialEq)]
2936 pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
2937 }
2938
2939 impl CloudShellErrorCode {
2940 pub fn value(&self) -> std::option::Option<i32> {
2945 match self {
2946 Self::Unspecified => std::option::Option::Some(0),
2947 Self::ImageUnavailable => std::option::Option::Some(1),
2948 Self::CloudShellDisabled => std::option::Option::Some(2),
2949 Self::TosViolation => std::option::Option::Some(4),
2950 Self::QuotaExceeded => std::option::Option::Some(5),
2951 Self::EnvironmentUnavailable => std::option::Option::Some(6),
2952 Self::UnknownValue(u) => u.0.value(),
2953 }
2954 }
2955
2956 pub fn name(&self) -> std::option::Option<&str> {
2961 match self {
2962 Self::Unspecified => {
2963 std::option::Option::Some("CLOUD_SHELL_ERROR_CODE_UNSPECIFIED")
2964 }
2965 Self::ImageUnavailable => std::option::Option::Some("IMAGE_UNAVAILABLE"),
2966 Self::CloudShellDisabled => std::option::Option::Some("CLOUD_SHELL_DISABLED"),
2967 Self::TosViolation => std::option::Option::Some("TOS_VIOLATION"),
2968 Self::QuotaExceeded => std::option::Option::Some("QUOTA_EXCEEDED"),
2969 Self::EnvironmentUnavailable => {
2970 std::option::Option::Some("ENVIRONMENT_UNAVAILABLE")
2971 }
2972 Self::UnknownValue(u) => u.0.name(),
2973 }
2974 }
2975 }
2976
2977 impl std::default::Default for CloudShellErrorCode {
2978 fn default() -> Self {
2979 use std::convert::From;
2980 Self::from(0)
2981 }
2982 }
2983
2984 impl std::fmt::Display for CloudShellErrorCode {
2985 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
2986 wkt::internal::display_enum(f, self.name(), self.value())
2987 }
2988 }
2989
2990 impl std::convert::From<i32> for CloudShellErrorCode {
2991 fn from(value: i32) -> Self {
2992 match value {
2993 0 => Self::Unspecified,
2994 1 => Self::ImageUnavailable,
2995 2 => Self::CloudShellDisabled,
2996 4 => Self::TosViolation,
2997 5 => Self::QuotaExceeded,
2998 6 => Self::EnvironmentUnavailable,
2999 _ => Self::UnknownValue(cloud_shell_error_code::UnknownValue(
3000 wkt::internal::UnknownEnumValue::Integer(value),
3001 )),
3002 }
3003 }
3004 }
3005
3006 impl std::convert::From<&str> for CloudShellErrorCode {
3007 fn from(value: &str) -> Self {
3008 use std::string::ToString;
3009 match value {
3010 "CLOUD_SHELL_ERROR_CODE_UNSPECIFIED" => Self::Unspecified,
3011 "IMAGE_UNAVAILABLE" => Self::ImageUnavailable,
3012 "CLOUD_SHELL_DISABLED" => Self::CloudShellDisabled,
3013 "TOS_VIOLATION" => Self::TosViolation,
3014 "QUOTA_EXCEEDED" => Self::QuotaExceeded,
3015 "ENVIRONMENT_UNAVAILABLE" => Self::EnvironmentUnavailable,
3016 _ => Self::UnknownValue(cloud_shell_error_code::UnknownValue(
3017 wkt::internal::UnknownEnumValue::String(value.to_string()),
3018 )),
3019 }
3020 }
3021 }
3022
3023 impl serde::ser::Serialize for CloudShellErrorCode {
3024 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3025 where
3026 S: serde::Serializer,
3027 {
3028 match self {
3029 Self::Unspecified => serializer.serialize_i32(0),
3030 Self::ImageUnavailable => serializer.serialize_i32(1),
3031 Self::CloudShellDisabled => serializer.serialize_i32(2),
3032 Self::TosViolation => serializer.serialize_i32(4),
3033 Self::QuotaExceeded => serializer.serialize_i32(5),
3034 Self::EnvironmentUnavailable => serializer.serialize_i32(6),
3035 Self::UnknownValue(u) => u.0.serialize(serializer),
3036 }
3037 }
3038 }
3039
3040 impl<'de> serde::de::Deserialize<'de> for CloudShellErrorCode {
3041 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3042 where
3043 D: serde::Deserializer<'de>,
3044 {
3045 deserializer.deserialize_any(wkt::internal::EnumVisitor::<CloudShellErrorCode>::new(
3046 ".google.cloud.shell.v1.CloudShellErrorDetails.CloudShellErrorCode",
3047 ))
3048 }
3049 }
3050}