#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Snapshot {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub urn: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub source_volume: ::prost::alloc::string::String,
#[prost(int32, tag = "4")]
pub source_size_gib: i32,
#[prost(enumeration = "snapshot::State", tag = "5")]
pub state: i32,
#[prost(string, tag = "6")]
pub state_reason: ::prost::alloc::string::String,
#[prost(enumeration = "snapshot::ProtectionState", tag = "7")]
pub protection_state: i32,
#[prost(string, tag = "8")]
pub protection_reason: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub creator: ::prost::alloc::string::String,
#[prost(btree_map = "string, string", tag = "11")]
pub tags: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
pub mod snapshot {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum State {
Unspecified = 0,
Pending = 1,
Completed = 2,
Deleting = 3,
Deleted = 4,
Error = 5,
}
impl State {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::Pending => "PENDING",
Self::Completed => "COMPLETED",
Self::Deleting => "DELETING",
Self::Deleted => "DELETED",
Self::Error => "ERROR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_UNSPECIFIED" => Some(Self::Unspecified),
"PENDING" => Some(Self::Pending),
"COMPLETED" => Some(Self::Completed),
"DELETING" => Some(Self::Deleting),
"DELETED" => Some(Self::Deleted),
"ERROR" => Some(Self::Error),
_ => None,
}
}
}
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum ProtectionState {
Unspecified = 0,
Unprotected = 1,
Protecting = 2,
Protected = 3,
Unprotecting = 4,
ProtectionFailed = 5,
}
impl ProtectionState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "PROTECTION_STATE_UNSPECIFIED",
Self::Unprotected => "UNPROTECTED",
Self::Protecting => "PROTECTING",
Self::Protected => "PROTECTED",
Self::Unprotecting => "UNPROTECTING",
Self::ProtectionFailed => "PROTECTION_FAILED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PROTECTION_STATE_UNSPECIFIED" => Some(Self::Unspecified),
"UNPROTECTED" => Some(Self::Unprotected),
"PROTECTING" => Some(Self::Protecting),
"PROTECTED" => Some(Self::Protected),
"UNPROTECTING" => Some(Self::Unprotecting),
"PROTECTION_FAILED" => Some(Self::ProtectionFailed),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSnapshotRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListSnapshotsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSnapshotsResponse {
#[prost(message, repeated, tag = "1")]
pub snapshots: ::prost::alloc::vec::Vec<Snapshot>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSnapshotRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub snapshot: ::core::option::Option<Snapshot>,
#[prost(string, tag = "3")]
pub request_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateSnapshotRequest {
#[prost(message, optional, tag = "1")]
pub snapshot: ::core::option::Option<Snapshot>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::origincloud_core::protobuf::FieldMask>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteSnapshotRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub request_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ProtectSnapshotRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub request_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnprotectSnapshotRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub request_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StorageClass {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub display_name: ::prost::alloc::string::String,
#[prost(enumeration = "storage_class::Media", tag = "3")]
pub media: i32,
#[prost(bool, tag = "4")]
pub default_class: bool,
#[prost(bool, tag = "5")]
pub available: bool,
#[prost(int32, tag = "6")]
pub baseline_iops: i32,
#[prost(int32, tag = "7")]
pub baseline_throughput_mibps: i32,
}
pub mod storage_class {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Media {
Unspecified = 0,
Ssd = 1,
Hdd = 2,
}
impl Media {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "MEDIA_UNSPECIFIED",
Self::Ssd => "SSD",
Self::Hdd => "HDD",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MEDIA_UNSPECIFIED" => Some(Self::Unspecified),
"SSD" => Some(Self::Ssd),
"HDD" => Some(Self::Hdd),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetStorageClassRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListStorageClassesRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListStorageClassesResponse {
#[prost(message, repeated, tag = "1")]
pub storage_classes: ::prost::alloc::vec::Vec<StorageClass>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Volume {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub urn: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub size_gib: i32,
#[prost(string, tag = "4")]
pub storage_class: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub source_snapshot: ::prost::alloc::string::String,
#[prost(enumeration = "volume::State", tag = "6")]
pub state: i32,
#[prost(string, tag = "7")]
pub state_reason: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub attachment: ::prost::alloc::string::String,
#[prost(enumeration = "volume::ResizeState", tag = "9")]
pub resize_state: i32,
#[prost(string, tag = "10")]
pub resize_reason: ::prost::alloc::string::String,
#[prost(int32, tag = "11")]
pub pending_size_gib: i32,
#[prost(string, tag = "12")]
pub retention_note: ::prost::alloc::string::String,
#[prost(int32, tag = "13")]
pub iops: i32,
#[prost(int32, tag = "14")]
pub throughput_mibps: i32,
#[prost(string, tag = "15")]
pub creator: ::prost::alloc::string::String,
#[prost(btree_map = "string, string", tag = "16")]
pub tags: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
pub mod volume {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum State {
Unspecified = 0,
Creating = 1,
Available = 2,
InUse = 3,
Deleting = 4,
Deleted = 5,
Error = 6,
}
impl State {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::Creating => "CREATING",
Self::Available => "AVAILABLE",
Self::InUse => "IN_USE",
Self::Deleting => "DELETING",
Self::Deleted => "DELETED",
Self::Error => "ERROR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_UNSPECIFIED" => Some(Self::Unspecified),
"CREATING" => Some(Self::Creating),
"AVAILABLE" => Some(Self::Available),
"IN_USE" => Some(Self::InUse),
"DELETING" => Some(Self::Deleting),
"DELETED" => Some(Self::Deleted),
"ERROR" => Some(Self::Error),
_ => None,
}
}
}
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum ResizeState {
Unspecified = 0,
ResizeCompleted = 1,
Resizing = 2,
ResizeFailed = 3,
}
impl ResizeState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "RESIZE_STATE_UNSPECIFIED",
Self::ResizeCompleted => "RESIZE_COMPLETED",
Self::Resizing => "RESIZING",
Self::ResizeFailed => "RESIZE_FAILED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"RESIZE_STATE_UNSPECIFIED" => Some(Self::Unspecified),
"RESIZE_COMPLETED" => Some(Self::ResizeCompleted),
"RESIZING" => Some(Self::Resizing),
"RESIZE_FAILED" => Some(Self::ResizeFailed),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetVolumeRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListVolumesRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListVolumesResponse {
#[prost(message, repeated, tag = "1")]
pub volumes: ::prost::alloc::vec::Vec<Volume>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateVolumeRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub volume: ::core::option::Option<Volume>,
#[prost(string, tag = "3")]
pub request_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ImportVolumeRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub volume: ::core::option::Option<Volume>,
#[prost(string, tag = "3")]
pub source_url: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub request_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateVolumeRequest {
#[prost(message, optional, tag = "1")]
pub volume: ::core::option::Option<Volume>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::origincloud_core::protobuf::FieldMask>,
#[prost(string, tag = "3")]
pub request_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteVolumeRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub request_id: ::prost::alloc::string::String,
}
impl serde::Serialize for CreateSnapshotRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.parent.is_empty() {
len += 1;
}
if self.snapshot.is_some() {
len += 1;
}
if !self.request_id.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.CreateSnapshotRequest", len)?;
if !self.parent.is_empty() {
struct_ser.serialize_field("parent", &self.parent)?;
}
if let Some(v) = self.snapshot.as_ref() {
struct_ser.serialize_field("snapshot", v)?;
}
if !self.request_id.is_empty() {
struct_ser.serialize_field("requestId", &self.request_id)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for CreateSnapshotRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["parent", "snapshot", "request_id", "requestId"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Parent,
Snapshot,
RequestId,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"parent" => Ok(GeneratedField::Parent),
"snapshot" => Ok(GeneratedField::Snapshot),
"requestId" | "request_id" => Ok(GeneratedField::RequestId),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = CreateSnapshotRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.pvs.v1beta1.CreateSnapshotRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<CreateSnapshotRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut parent__ = None;
let mut snapshot__ = None;
let mut request_id__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Parent => {
if parent__.is_some() {
return Err(serde::de::Error::duplicate_field("parent"));
}
parent__ = Some(map_.next_value()?);
}
GeneratedField::Snapshot => {
if snapshot__.is_some() {
return Err(serde::de::Error::duplicate_field("snapshot"));
}
snapshot__ = map_.next_value()?;
}
GeneratedField::RequestId => {
if request_id__.is_some() {
return Err(serde::de::Error::duplicate_field("requestId"));
}
request_id__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(CreateSnapshotRequest {
parent: parent__.unwrap_or_default(),
snapshot: snapshot__,
request_id: request_id__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.CreateSnapshotRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for CreateVolumeRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.parent.is_empty() {
len += 1;
}
if self.volume.is_some() {
len += 1;
}
if !self.request_id.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.CreateVolumeRequest", len)?;
if !self.parent.is_empty() {
struct_ser.serialize_field("parent", &self.parent)?;
}
if let Some(v) = self.volume.as_ref() {
struct_ser.serialize_field("volume", v)?;
}
if !self.request_id.is_empty() {
struct_ser.serialize_field("requestId", &self.request_id)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for CreateVolumeRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["parent", "volume", "request_id", "requestId"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Parent,
Volume,
RequestId,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"parent" => Ok(GeneratedField::Parent),
"volume" => Ok(GeneratedField::Volume),
"requestId" | "request_id" => Ok(GeneratedField::RequestId),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = CreateVolumeRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.pvs.v1beta1.CreateVolumeRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<CreateVolumeRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut parent__ = None;
let mut volume__ = None;
let mut request_id__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Parent => {
if parent__.is_some() {
return Err(serde::de::Error::duplicate_field("parent"));
}
parent__ = Some(map_.next_value()?);
}
GeneratedField::Volume => {
if volume__.is_some() {
return Err(serde::de::Error::duplicate_field("volume"));
}
volume__ = map_.next_value()?;
}
GeneratedField::RequestId => {
if request_id__.is_some() {
return Err(serde::de::Error::duplicate_field("requestId"));
}
request_id__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(CreateVolumeRequest {
parent: parent__.unwrap_or_default(),
volume: volume__,
request_id: request_id__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.CreateVolumeRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for DeleteSnapshotRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.request_id.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.DeleteSnapshotRequest", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.request_id.is_empty() {
struct_ser.serialize_field("requestId", &self.request_id)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for DeleteSnapshotRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name", "request_id", "requestId"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
RequestId,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"requestId" | "request_id" => Ok(GeneratedField::RequestId),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = DeleteSnapshotRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.pvs.v1beta1.DeleteSnapshotRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<DeleteSnapshotRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut request_id__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::RequestId => {
if request_id__.is_some() {
return Err(serde::de::Error::duplicate_field("requestId"));
}
request_id__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(DeleteSnapshotRequest {
name: name__.unwrap_or_default(),
request_id: request_id__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.DeleteSnapshotRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for DeleteVolumeRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.request_id.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.DeleteVolumeRequest", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.request_id.is_empty() {
struct_ser.serialize_field("requestId", &self.request_id)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for DeleteVolumeRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name", "request_id", "requestId"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
RequestId,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"requestId" | "request_id" => Ok(GeneratedField::RequestId),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = DeleteVolumeRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.pvs.v1beta1.DeleteVolumeRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<DeleteVolumeRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut request_id__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::RequestId => {
if request_id__.is_some() {
return Err(serde::de::Error::duplicate_field("requestId"));
}
request_id__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(DeleteVolumeRequest {
name: name__.unwrap_or_default(),
request_id: request_id__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.DeleteVolumeRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for GetSnapshotRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.GetSnapshotRequest", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for GetSnapshotRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = GetSnapshotRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.pvs.v1beta1.GetSnapshotRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<GetSnapshotRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(GetSnapshotRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.GetSnapshotRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for GetStorageClassRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.GetStorageClassRequest", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for GetStorageClassRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = GetStorageClassRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.pvs.v1beta1.GetStorageClassRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<GetStorageClassRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(GetStorageClassRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.GetStorageClassRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for GetVolumeRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.GetVolumeRequest", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for GetVolumeRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = GetVolumeRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.pvs.v1beta1.GetVolumeRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<GetVolumeRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(GetVolumeRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.GetVolumeRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ImportVolumeRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.parent.is_empty() {
len += 1;
}
if self.volume.is_some() {
len += 1;
}
if !self.source_url.is_empty() {
len += 1;
}
if !self.request_id.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.ImportVolumeRequest", len)?;
if !self.parent.is_empty() {
struct_ser.serialize_field("parent", &self.parent)?;
}
if let Some(v) = self.volume.as_ref() {
struct_ser.serialize_field("volume", v)?;
}
if !self.source_url.is_empty() {
struct_ser.serialize_field("sourceUrl", &self.source_url)?;
}
if !self.request_id.is_empty() {
struct_ser.serialize_field("requestId", &self.request_id)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ImportVolumeRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"parent",
"volume",
"source_url",
"sourceUrl",
"request_id",
"requestId",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Parent,
Volume,
SourceUrl,
RequestId,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"parent" => Ok(GeneratedField::Parent),
"volume" => Ok(GeneratedField::Volume),
"sourceUrl" | "source_url" => Ok(GeneratedField::SourceUrl),
"requestId" | "request_id" => Ok(GeneratedField::RequestId),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ImportVolumeRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.pvs.v1beta1.ImportVolumeRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ImportVolumeRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut parent__ = None;
let mut volume__ = None;
let mut source_url__ = None;
let mut request_id__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Parent => {
if parent__.is_some() {
return Err(serde::de::Error::duplicate_field("parent"));
}
parent__ = Some(map_.next_value()?);
}
GeneratedField::Volume => {
if volume__.is_some() {
return Err(serde::de::Error::duplicate_field("volume"));
}
volume__ = map_.next_value()?;
}
GeneratedField::SourceUrl => {
if source_url__.is_some() {
return Err(serde::de::Error::duplicate_field("sourceUrl"));
}
source_url__ = Some(map_.next_value()?);
}
GeneratedField::RequestId => {
if request_id__.is_some() {
return Err(serde::de::Error::duplicate_field("requestId"));
}
request_id__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ImportVolumeRequest {
parent: parent__.unwrap_or_default(),
volume: volume__,
source_url: source_url__.unwrap_or_default(),
request_id: request_id__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.ImportVolumeRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListSnapshotsRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.parent.is_empty() {
len += 1;
}
if self.page_size != 0 {
len += 1;
}
if !self.page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.ListSnapshotsRequest", len)?;
if !self.parent.is_empty() {
struct_ser.serialize_field("parent", &self.parent)?;
}
if self.page_size != 0 {
struct_ser.serialize_field("pageSize", &self.page_size)?;
}
if !self.page_token.is_empty() {
struct_ser.serialize_field("pageToken", &self.page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListSnapshotsRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"parent",
"page_size",
"pageSize",
"page_token",
"pageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Parent,
PageSize,
PageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"parent" => Ok(GeneratedField::Parent),
"pageSize" | "page_size" => Ok(GeneratedField::PageSize),
"pageToken" | "page_token" => Ok(GeneratedField::PageToken),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListSnapshotsRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.pvs.v1beta1.ListSnapshotsRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListSnapshotsRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut parent__ = None;
let mut page_size__ = None;
let mut page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Parent => {
if parent__.is_some() {
return Err(serde::de::Error::duplicate_field("parent"));
}
parent__ = Some(map_.next_value()?);
}
GeneratedField::PageSize => {
if page_size__.is_some() {
return Err(serde::de::Error::duplicate_field("pageSize"));
}
page_size__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::PageToken => {
if page_token__.is_some() {
return Err(serde::de::Error::duplicate_field("pageToken"));
}
page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListSnapshotsRequest {
parent: parent__.unwrap_or_default(),
page_size: page_size__.unwrap_or_default(),
page_token: page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.ListSnapshotsRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListSnapshotsResponse {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.snapshots.is_empty() {
len += 1;
}
if !self.next_page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.ListSnapshotsResponse", len)?;
if !self.snapshots.is_empty() {
struct_ser.serialize_field("snapshots", &self.snapshots)?;
}
if !self.next_page_token.is_empty() {
struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListSnapshotsResponse {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["snapshots", "next_page_token", "nextPageToken"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Snapshots,
NextPageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"snapshots" => Ok(GeneratedField::Snapshots),
"nextPageToken" | "next_page_token" => {
Ok(GeneratedField::NextPageToken)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListSnapshotsResponse;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.pvs.v1beta1.ListSnapshotsResponse")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListSnapshotsResponse, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut snapshots__ = None;
let mut next_page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Snapshots => {
if snapshots__.is_some() {
return Err(serde::de::Error::duplicate_field("snapshots"));
}
snapshots__ = Some(map_.next_value()?);
}
GeneratedField::NextPageToken => {
if next_page_token__.is_some() {
return Err(
serde::de::Error::duplicate_field("nextPageToken"),
);
}
next_page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListSnapshotsResponse {
snapshots: snapshots__.unwrap_or_default(),
next_page_token: next_page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.ListSnapshotsResponse",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListStorageClassesRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let len = 0;
let struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.ListStorageClassesRequest", len)?;
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListStorageClassesRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
Ok(GeneratedField::__SkipField__)
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListStorageClassesRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.pvs.v1beta1.ListStorageClassesRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListStorageClassesRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
while map_.next_key::<GeneratedField>()?.is_some() {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
Ok(ListStorageClassesRequest {})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.ListStorageClassesRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListStorageClassesResponse {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.storage_classes.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.pvs.v1beta1.ListStorageClassesResponse",
len,
)?;
if !self.storage_classes.is_empty() {
struct_ser.serialize_field("storageClasses", &self.storage_classes)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListStorageClassesResponse {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["storage_classes", "storageClasses"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
StorageClasses,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"storageClasses" | "storage_classes" => {
Ok(GeneratedField::StorageClasses)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListStorageClassesResponse;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.pvs.v1beta1.ListStorageClassesResponse",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListStorageClassesResponse, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut storage_classes__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::StorageClasses => {
if storage_classes__.is_some() {
return Err(
serde::de::Error::duplicate_field("storageClasses"),
);
}
storage_classes__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListStorageClassesResponse {
storage_classes: storage_classes__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.ListStorageClassesResponse",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListVolumesRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.parent.is_empty() {
len += 1;
}
if self.page_size != 0 {
len += 1;
}
if !self.page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.ListVolumesRequest", len)?;
if !self.parent.is_empty() {
struct_ser.serialize_field("parent", &self.parent)?;
}
if self.page_size != 0 {
struct_ser.serialize_field("pageSize", &self.page_size)?;
}
if !self.page_token.is_empty() {
struct_ser.serialize_field("pageToken", &self.page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListVolumesRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"parent",
"page_size",
"pageSize",
"page_token",
"pageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Parent,
PageSize,
PageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"parent" => Ok(GeneratedField::Parent),
"pageSize" | "page_size" => Ok(GeneratedField::PageSize),
"pageToken" | "page_token" => Ok(GeneratedField::PageToken),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListVolumesRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.pvs.v1beta1.ListVolumesRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListVolumesRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut parent__ = None;
let mut page_size__ = None;
let mut page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Parent => {
if parent__.is_some() {
return Err(serde::de::Error::duplicate_field("parent"));
}
parent__ = Some(map_.next_value()?);
}
GeneratedField::PageSize => {
if page_size__.is_some() {
return Err(serde::de::Error::duplicate_field("pageSize"));
}
page_size__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::PageToken => {
if page_token__.is_some() {
return Err(serde::de::Error::duplicate_field("pageToken"));
}
page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListVolumesRequest {
parent: parent__.unwrap_or_default(),
page_size: page_size__.unwrap_or_default(),
page_token: page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.ListVolumesRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListVolumesResponse {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.volumes.is_empty() {
len += 1;
}
if !self.next_page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.ListVolumesResponse", len)?;
if !self.volumes.is_empty() {
struct_ser.serialize_field("volumes", &self.volumes)?;
}
if !self.next_page_token.is_empty() {
struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListVolumesResponse {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["volumes", "next_page_token", "nextPageToken"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Volumes,
NextPageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"volumes" => Ok(GeneratedField::Volumes),
"nextPageToken" | "next_page_token" => {
Ok(GeneratedField::NextPageToken)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListVolumesResponse;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.pvs.v1beta1.ListVolumesResponse")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListVolumesResponse, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut volumes__ = None;
let mut next_page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Volumes => {
if volumes__.is_some() {
return Err(serde::de::Error::duplicate_field("volumes"));
}
volumes__ = Some(map_.next_value()?);
}
GeneratedField::NextPageToken => {
if next_page_token__.is_some() {
return Err(
serde::de::Error::duplicate_field("nextPageToken"),
);
}
next_page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListVolumesResponse {
volumes: volumes__.unwrap_or_default(),
next_page_token: next_page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.ListVolumesResponse",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ProtectSnapshotRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.request_id.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.ProtectSnapshotRequest", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.request_id.is_empty() {
struct_ser.serialize_field("requestId", &self.request_id)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ProtectSnapshotRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name", "request_id", "requestId"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
RequestId,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"requestId" | "request_id" => Ok(GeneratedField::RequestId),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ProtectSnapshotRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.pvs.v1beta1.ProtectSnapshotRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ProtectSnapshotRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut request_id__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::RequestId => {
if request_id__.is_some() {
return Err(serde::de::Error::duplicate_field("requestId"));
}
request_id__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ProtectSnapshotRequest {
name: name__.unwrap_or_default(),
request_id: request_id__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.ProtectSnapshotRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for Snapshot {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.urn.is_empty() {
len += 1;
}
if !self.source_volume.is_empty() {
len += 1;
}
if self.source_size_gib != 0 {
len += 1;
}
if self.state != 0 {
len += 1;
}
if !self.state_reason.is_empty() {
len += 1;
}
if self.protection_state != 0 {
len += 1;
}
if !self.protection_reason.is_empty() {
len += 1;
}
if !self.creator.is_empty() {
len += 1;
}
if !self.tags.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.Snapshot", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.urn.is_empty() {
struct_ser.serialize_field("urn", &self.urn)?;
}
if !self.source_volume.is_empty() {
struct_ser.serialize_field("sourceVolume", &self.source_volume)?;
}
if self.source_size_gib != 0 {
struct_ser.serialize_field("sourceSizeGib", &self.source_size_gib)?;
}
if self.state != 0 {
let v = snapshot::State::try_from(self.state)
.map_err(|_| serde::ser::Error::custom(
format!("Invalid variant {}", self.state),
))?;
struct_ser.serialize_field("state", &v)?;
}
if !self.state_reason.is_empty() {
struct_ser.serialize_field("stateReason", &self.state_reason)?;
}
if self.protection_state != 0 {
let v = snapshot::ProtectionState::try_from(self.protection_state)
.map_err(|_| serde::ser::Error::custom(
format!("Invalid variant {}", self.protection_state),
))?;
struct_ser.serialize_field("protectionState", &v)?;
}
if !self.protection_reason.is_empty() {
struct_ser.serialize_field("protectionReason", &self.protection_reason)?;
}
if !self.creator.is_empty() {
struct_ser.serialize_field("creator", &self.creator)?;
}
if !self.tags.is_empty() {
struct_ser.serialize_field("tags", &self.tags)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for Snapshot {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"name",
"urn",
"source_volume",
"sourceVolume",
"source_size_gib",
"sourceSizeGib",
"state",
"state_reason",
"stateReason",
"protection_state",
"protectionState",
"protection_reason",
"protectionReason",
"creator",
"tags",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
Urn,
SourceVolume,
SourceSizeGib,
State,
StateReason,
ProtectionState,
ProtectionReason,
Creator,
Tags,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"urn" => Ok(GeneratedField::Urn),
"sourceVolume" | "source_volume" => {
Ok(GeneratedField::SourceVolume)
}
"sourceSizeGib" | "source_size_gib" => {
Ok(GeneratedField::SourceSizeGib)
}
"state" => Ok(GeneratedField::State),
"stateReason" | "state_reason" => {
Ok(GeneratedField::StateReason)
}
"protectionState" | "protection_state" => {
Ok(GeneratedField::ProtectionState)
}
"protectionReason" | "protection_reason" => {
Ok(GeneratedField::ProtectionReason)
}
"creator" => Ok(GeneratedField::Creator),
"tags" => Ok(GeneratedField::Tags),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = Snapshot;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.pvs.v1beta1.Snapshot")
}
fn visit_map<V>(self, mut map_: V) -> std::result::Result<Snapshot, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut urn__ = None;
let mut source_volume__ = None;
let mut source_size_gib__ = None;
let mut state__ = None;
let mut state_reason__ = None;
let mut protection_state__ = None;
let mut protection_reason__ = None;
let mut creator__ = None;
let mut tags__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::Urn => {
if urn__.is_some() {
return Err(serde::de::Error::duplicate_field("urn"));
}
urn__ = Some(map_.next_value()?);
}
GeneratedField::SourceVolume => {
if source_volume__.is_some() {
return Err(
serde::de::Error::duplicate_field("sourceVolume"),
);
}
source_volume__ = Some(map_.next_value()?);
}
GeneratedField::SourceSizeGib => {
if source_size_gib__.is_some() {
return Err(
serde::de::Error::duplicate_field("sourceSizeGib"),
);
}
source_size_gib__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::State => {
if state__.is_some() {
return Err(serde::de::Error::duplicate_field("state"));
}
state__ = Some(map_.next_value::<snapshot::State>()? as i32);
}
GeneratedField::StateReason => {
if state_reason__.is_some() {
return Err(
serde::de::Error::duplicate_field("stateReason"),
);
}
state_reason__ = Some(map_.next_value()?);
}
GeneratedField::ProtectionState => {
if protection_state__.is_some() {
return Err(
serde::de::Error::duplicate_field("protectionState"),
);
}
protection_state__ = Some(
map_.next_value::<snapshot::ProtectionState>()? as i32,
);
}
GeneratedField::ProtectionReason => {
if protection_reason__.is_some() {
return Err(
serde::de::Error::duplicate_field("protectionReason"),
);
}
protection_reason__ = Some(map_.next_value()?);
}
GeneratedField::Creator => {
if creator__.is_some() {
return Err(serde::de::Error::duplicate_field("creator"));
}
creator__ = Some(map_.next_value()?);
}
GeneratedField::Tags => {
if tags__.is_some() {
return Err(serde::de::Error::duplicate_field("tags"));
}
tags__ = Some(
map_.next_value::<std::collections::BTreeMap<_, _>>()?,
);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(Snapshot {
name: name__.unwrap_or_default(),
urn: urn__.unwrap_or_default(),
source_volume: source_volume__.unwrap_or_default(),
source_size_gib: source_size_gib__.unwrap_or_default(),
state: state__.unwrap_or_default(),
state_reason: state_reason__.unwrap_or_default(),
protection_state: protection_state__.unwrap_or_default(),
protection_reason: protection_reason__.unwrap_or_default(),
creator: creator__.unwrap_or_default(),
tags: tags__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.Snapshot",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for snapshot::ProtectionState {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
let variant = match self {
Self::Unspecified => "PROTECTION_STATE_UNSPECIFIED",
Self::Unprotected => "UNPROTECTED",
Self::Protecting => "PROTECTING",
Self::Protected => "PROTECTED",
Self::Unprotecting => "UNPROTECTING",
Self::ProtectionFailed => "PROTECTION_FAILED",
};
serializer.serialize_str(variant)
}
}
impl<'de> serde::Deserialize<'de> for snapshot::ProtectionState {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"PROTECTION_STATE_UNSPECIFIED",
"UNPROTECTED",
"PROTECTING",
"PROTECTED",
"UNPROTECTING",
"PROTECTION_FAILED",
];
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = snapshot::ProtectionState;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x
.try_into()
.ok()
.or_else(|| Some(snapshot::ProtectionState::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(v),
&self,
)
})
}
fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x
.try_into()
.ok()
.or_else(|| Some(snapshot::ProtectionState::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Unsigned(v),
&self,
)
})
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
match value {
"PROTECTION_STATE_UNSPECIFIED" => {
Ok(snapshot::ProtectionState::Unspecified)
}
"UNPROTECTED" => Ok(snapshot::ProtectionState::Unprotected),
"PROTECTING" => Ok(snapshot::ProtectionState::Protecting),
"PROTECTED" => Ok(snapshot::ProtectionState::Protected),
"UNPROTECTING" => Ok(snapshot::ProtectionState::Unprotecting),
"PROTECTION_FAILED" => {
Ok(snapshot::ProtectionState::ProtectionFailed)
}
_ => Ok(snapshot::ProtectionState::default()),
}
}
}
deserializer.deserialize_any(GeneratedVisitor)
}
}
impl serde::Serialize for snapshot::State {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
let variant = match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::Pending => "PENDING",
Self::Completed => "COMPLETED",
Self::Deleting => "DELETING",
Self::Deleted => "DELETED",
Self::Error => "ERROR",
};
serializer.serialize_str(variant)
}
}
impl<'de> serde::Deserialize<'de> for snapshot::State {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"STATE_UNSPECIFIED",
"PENDING",
"COMPLETED",
"DELETING",
"DELETED",
"ERROR",
];
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = snapshot::State;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x.try_into().ok().or_else(|| Some(snapshot::State::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(v),
&self,
)
})
}
fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x.try_into().ok().or_else(|| Some(snapshot::State::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Unsigned(v),
&self,
)
})
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
match value {
"STATE_UNSPECIFIED" => Ok(snapshot::State::Unspecified),
"PENDING" => Ok(snapshot::State::Pending),
"COMPLETED" => Ok(snapshot::State::Completed),
"DELETING" => Ok(snapshot::State::Deleting),
"DELETED" => Ok(snapshot::State::Deleted),
"ERROR" => Ok(snapshot::State::Error),
_ => Ok(snapshot::State::default()),
}
}
}
deserializer.deserialize_any(GeneratedVisitor)
}
}
impl serde::Serialize for StorageClass {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.display_name.is_empty() {
len += 1;
}
if self.media != 0 {
len += 1;
}
if self.default_class {
len += 1;
}
if self.available {
len += 1;
}
if self.baseline_iops != 0 {
len += 1;
}
if self.baseline_throughput_mibps != 0 {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.StorageClass", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.display_name.is_empty() {
struct_ser.serialize_field("displayName", &self.display_name)?;
}
if self.media != 0 {
let v = storage_class::Media::try_from(self.media)
.map_err(|_| serde::ser::Error::custom(
format!("Invalid variant {}", self.media),
))?;
struct_ser.serialize_field("media", &v)?;
}
if self.default_class {
struct_ser.serialize_field("defaultClass", &self.default_class)?;
}
if self.available {
struct_ser.serialize_field("available", &self.available)?;
}
if self.baseline_iops != 0 {
struct_ser.serialize_field("baselineIops", &self.baseline_iops)?;
}
if self.baseline_throughput_mibps != 0 {
struct_ser
.serialize_field(
"baselineThroughputMibps",
&self.baseline_throughput_mibps,
)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for StorageClass {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"name",
"display_name",
"displayName",
"media",
"default_class",
"defaultClass",
"available",
"baseline_iops",
"baselineIops",
"baseline_throughput_mibps",
"baselineThroughputMibps",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
DisplayName,
Media,
DefaultClass,
Available,
BaselineIops,
BaselineThroughputMibps,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"displayName" | "display_name" => {
Ok(GeneratedField::DisplayName)
}
"media" => Ok(GeneratedField::Media),
"defaultClass" | "default_class" => {
Ok(GeneratedField::DefaultClass)
}
"available" => Ok(GeneratedField::Available),
"baselineIops" | "baseline_iops" => {
Ok(GeneratedField::BaselineIops)
}
"baselineThroughputMibps" | "baseline_throughput_mibps" => {
Ok(GeneratedField::BaselineThroughputMibps)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = StorageClass;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.pvs.v1beta1.StorageClass")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<StorageClass, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut display_name__ = None;
let mut media__ = None;
let mut default_class__ = None;
let mut available__ = None;
let mut baseline_iops__ = None;
let mut baseline_throughput_mibps__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::DisplayName => {
if display_name__.is_some() {
return Err(
serde::de::Error::duplicate_field("displayName"),
);
}
display_name__ = Some(map_.next_value()?);
}
GeneratedField::Media => {
if media__.is_some() {
return Err(serde::de::Error::duplicate_field("media"));
}
media__ = Some(
map_.next_value::<storage_class::Media>()? as i32,
);
}
GeneratedField::DefaultClass => {
if default_class__.is_some() {
return Err(
serde::de::Error::duplicate_field("defaultClass"),
);
}
default_class__ = Some(map_.next_value()?);
}
GeneratedField::Available => {
if available__.is_some() {
return Err(serde::de::Error::duplicate_field("available"));
}
available__ = Some(map_.next_value()?);
}
GeneratedField::BaselineIops => {
if baseline_iops__.is_some() {
return Err(
serde::de::Error::duplicate_field("baselineIops"),
);
}
baseline_iops__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::BaselineThroughputMibps => {
if baseline_throughput_mibps__.is_some() {
return Err(
serde::de::Error::duplicate_field("baselineThroughputMibps"),
);
}
baseline_throughput_mibps__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(StorageClass {
name: name__.unwrap_or_default(),
display_name: display_name__.unwrap_or_default(),
media: media__.unwrap_or_default(),
default_class: default_class__.unwrap_or_default(),
available: available__.unwrap_or_default(),
baseline_iops: baseline_iops__.unwrap_or_default(),
baseline_throughput_mibps: baseline_throughput_mibps__
.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.StorageClass",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for storage_class::Media {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
let variant = match self {
Self::Unspecified => "MEDIA_UNSPECIFIED",
Self::Ssd => "SSD",
Self::Hdd => "HDD",
};
serializer.serialize_str(variant)
}
}
impl<'de> serde::Deserialize<'de> for storage_class::Media {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["MEDIA_UNSPECIFIED", "SSD", "HDD"];
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = storage_class::Media;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x
.try_into()
.ok()
.or_else(|| Some(storage_class::Media::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(v),
&self,
)
})
}
fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x
.try_into()
.ok()
.or_else(|| Some(storage_class::Media::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Unsigned(v),
&self,
)
})
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
match value {
"MEDIA_UNSPECIFIED" => Ok(storage_class::Media::Unspecified),
"SSD" => Ok(storage_class::Media::Ssd),
"HDD" => Ok(storage_class::Media::Hdd),
_ => Ok(storage_class::Media::default()),
}
}
}
deserializer.deserialize_any(GeneratedVisitor)
}
}
impl serde::Serialize for UnprotectSnapshotRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.request_id.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.UnprotectSnapshotRequest", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.request_id.is_empty() {
struct_ser.serialize_field("requestId", &self.request_id)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for UnprotectSnapshotRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name", "request_id", "requestId"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
RequestId,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"requestId" | "request_id" => Ok(GeneratedField::RequestId),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = UnprotectSnapshotRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.pvs.v1beta1.UnprotectSnapshotRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<UnprotectSnapshotRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut request_id__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::RequestId => {
if request_id__.is_some() {
return Err(serde::de::Error::duplicate_field("requestId"));
}
request_id__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(UnprotectSnapshotRequest {
name: name__.unwrap_or_default(),
request_id: request_id__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.UnprotectSnapshotRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for UpdateSnapshotRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if self.snapshot.is_some() {
len += 1;
}
if self.update_mask.is_some() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.UpdateSnapshotRequest", len)?;
if let Some(v) = self.snapshot.as_ref() {
struct_ser.serialize_field("snapshot", v)?;
}
if let Some(v) = self.update_mask.as_ref() {
struct_ser.serialize_field("updateMask", v)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for UpdateSnapshotRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["snapshot", "update_mask", "updateMask"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Snapshot,
UpdateMask,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"snapshot" => Ok(GeneratedField::Snapshot),
"updateMask" | "update_mask" => {
Ok(GeneratedField::UpdateMask)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = UpdateSnapshotRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.pvs.v1beta1.UpdateSnapshotRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<UpdateSnapshotRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut snapshot__ = None;
let mut update_mask__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Snapshot => {
if snapshot__.is_some() {
return Err(serde::de::Error::duplicate_field("snapshot"));
}
snapshot__ = map_.next_value()?;
}
GeneratedField::UpdateMask => {
if update_mask__.is_some() {
return Err(serde::de::Error::duplicate_field("updateMask"));
}
update_mask__ = map_.next_value()?;
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(UpdateSnapshotRequest {
snapshot: snapshot__,
update_mask: update_mask__,
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.UpdateSnapshotRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for UpdateVolumeRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if self.volume.is_some() {
len += 1;
}
if self.update_mask.is_some() {
len += 1;
}
if !self.request_id.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.UpdateVolumeRequest", len)?;
if let Some(v) = self.volume.as_ref() {
struct_ser.serialize_field("volume", v)?;
}
if let Some(v) = self.update_mask.as_ref() {
struct_ser.serialize_field("updateMask", v)?;
}
if !self.request_id.is_empty() {
struct_ser.serialize_field("requestId", &self.request_id)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for UpdateVolumeRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"volume",
"update_mask",
"updateMask",
"request_id",
"requestId",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Volume,
UpdateMask,
RequestId,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"volume" => Ok(GeneratedField::Volume),
"updateMask" | "update_mask" => {
Ok(GeneratedField::UpdateMask)
}
"requestId" | "request_id" => Ok(GeneratedField::RequestId),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = UpdateVolumeRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.pvs.v1beta1.UpdateVolumeRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<UpdateVolumeRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut volume__ = None;
let mut update_mask__ = None;
let mut request_id__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Volume => {
if volume__.is_some() {
return Err(serde::de::Error::duplicate_field("volume"));
}
volume__ = map_.next_value()?;
}
GeneratedField::UpdateMask => {
if update_mask__.is_some() {
return Err(serde::de::Error::duplicate_field("updateMask"));
}
update_mask__ = map_.next_value()?;
}
GeneratedField::RequestId => {
if request_id__.is_some() {
return Err(serde::de::Error::duplicate_field("requestId"));
}
request_id__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(UpdateVolumeRequest {
volume: volume__,
update_mask: update_mask__,
request_id: request_id__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.UpdateVolumeRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for Volume {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.urn.is_empty() {
len += 1;
}
if self.size_gib != 0 {
len += 1;
}
if !self.storage_class.is_empty() {
len += 1;
}
if !self.source_snapshot.is_empty() {
len += 1;
}
if self.state != 0 {
len += 1;
}
if !self.state_reason.is_empty() {
len += 1;
}
if !self.attachment.is_empty() {
len += 1;
}
if self.resize_state != 0 {
len += 1;
}
if !self.resize_reason.is_empty() {
len += 1;
}
if self.pending_size_gib != 0 {
len += 1;
}
if !self.retention_note.is_empty() {
len += 1;
}
if self.iops != 0 {
len += 1;
}
if self.throughput_mibps != 0 {
len += 1;
}
if !self.creator.is_empty() {
len += 1;
}
if !self.tags.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.pvs.v1beta1.Volume", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.urn.is_empty() {
struct_ser.serialize_field("urn", &self.urn)?;
}
if self.size_gib != 0 {
struct_ser.serialize_field("sizeGib", &self.size_gib)?;
}
if !self.storage_class.is_empty() {
struct_ser.serialize_field("storageClass", &self.storage_class)?;
}
if !self.source_snapshot.is_empty() {
struct_ser.serialize_field("sourceSnapshot", &self.source_snapshot)?;
}
if self.state != 0 {
let v = volume::State::try_from(self.state)
.map_err(|_| serde::ser::Error::custom(
format!("Invalid variant {}", self.state),
))?;
struct_ser.serialize_field("state", &v)?;
}
if !self.state_reason.is_empty() {
struct_ser.serialize_field("stateReason", &self.state_reason)?;
}
if !self.attachment.is_empty() {
struct_ser.serialize_field("attachment", &self.attachment)?;
}
if self.resize_state != 0 {
let v = volume::ResizeState::try_from(self.resize_state)
.map_err(|_| serde::ser::Error::custom(
format!("Invalid variant {}", self.resize_state),
))?;
struct_ser.serialize_field("resizeState", &v)?;
}
if !self.resize_reason.is_empty() {
struct_ser.serialize_field("resizeReason", &self.resize_reason)?;
}
if self.pending_size_gib != 0 {
struct_ser.serialize_field("pendingSizeGib", &self.pending_size_gib)?;
}
if !self.retention_note.is_empty() {
struct_ser.serialize_field("retentionNote", &self.retention_note)?;
}
if self.iops != 0 {
struct_ser.serialize_field("iops", &self.iops)?;
}
if self.throughput_mibps != 0 {
struct_ser.serialize_field("throughputMibps", &self.throughput_mibps)?;
}
if !self.creator.is_empty() {
struct_ser.serialize_field("creator", &self.creator)?;
}
if !self.tags.is_empty() {
struct_ser.serialize_field("tags", &self.tags)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for Volume {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"name",
"urn",
"size_gib",
"sizeGib",
"storage_class",
"storageClass",
"source_snapshot",
"sourceSnapshot",
"state",
"state_reason",
"stateReason",
"attachment",
"resize_state",
"resizeState",
"resize_reason",
"resizeReason",
"pending_size_gib",
"pendingSizeGib",
"retention_note",
"retentionNote",
"iops",
"throughput_mibps",
"throughputMibps",
"creator",
"tags",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
Urn,
SizeGib,
StorageClass,
SourceSnapshot,
State,
StateReason,
Attachment,
ResizeState,
ResizeReason,
PendingSizeGib,
RetentionNote,
Iops,
ThroughputMibps,
Creator,
Tags,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"urn" => Ok(GeneratedField::Urn),
"sizeGib" | "size_gib" => Ok(GeneratedField::SizeGib),
"storageClass" | "storage_class" => {
Ok(GeneratedField::StorageClass)
}
"sourceSnapshot" | "source_snapshot" => {
Ok(GeneratedField::SourceSnapshot)
}
"state" => Ok(GeneratedField::State),
"stateReason" | "state_reason" => {
Ok(GeneratedField::StateReason)
}
"attachment" => Ok(GeneratedField::Attachment),
"resizeState" | "resize_state" => {
Ok(GeneratedField::ResizeState)
}
"resizeReason" | "resize_reason" => {
Ok(GeneratedField::ResizeReason)
}
"pendingSizeGib" | "pending_size_gib" => {
Ok(GeneratedField::PendingSizeGib)
}
"retentionNote" | "retention_note" => {
Ok(GeneratedField::RetentionNote)
}
"iops" => Ok(GeneratedField::Iops),
"throughputMibps" | "throughput_mibps" => {
Ok(GeneratedField::ThroughputMibps)
}
"creator" => Ok(GeneratedField::Creator),
"tags" => Ok(GeneratedField::Tags),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = Volume;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.pvs.v1beta1.Volume")
}
fn visit_map<V>(self, mut map_: V) -> std::result::Result<Volume, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut urn__ = None;
let mut size_gib__ = None;
let mut storage_class__ = None;
let mut source_snapshot__ = None;
let mut state__ = None;
let mut state_reason__ = None;
let mut attachment__ = None;
let mut resize_state__ = None;
let mut resize_reason__ = None;
let mut pending_size_gib__ = None;
let mut retention_note__ = None;
let mut iops__ = None;
let mut throughput_mibps__ = None;
let mut creator__ = None;
let mut tags__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::Urn => {
if urn__.is_some() {
return Err(serde::de::Error::duplicate_field("urn"));
}
urn__ = Some(map_.next_value()?);
}
GeneratedField::SizeGib => {
if size_gib__.is_some() {
return Err(serde::de::Error::duplicate_field("sizeGib"));
}
size_gib__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::StorageClass => {
if storage_class__.is_some() {
return Err(
serde::de::Error::duplicate_field("storageClass"),
);
}
storage_class__ = Some(map_.next_value()?);
}
GeneratedField::SourceSnapshot => {
if source_snapshot__.is_some() {
return Err(
serde::de::Error::duplicate_field("sourceSnapshot"),
);
}
source_snapshot__ = Some(map_.next_value()?);
}
GeneratedField::State => {
if state__.is_some() {
return Err(serde::de::Error::duplicate_field("state"));
}
state__ = Some(map_.next_value::<volume::State>()? as i32);
}
GeneratedField::StateReason => {
if state_reason__.is_some() {
return Err(
serde::de::Error::duplicate_field("stateReason"),
);
}
state_reason__ = Some(map_.next_value()?);
}
GeneratedField::Attachment => {
if attachment__.is_some() {
return Err(serde::de::Error::duplicate_field("attachment"));
}
attachment__ = Some(map_.next_value()?);
}
GeneratedField::ResizeState => {
if resize_state__.is_some() {
return Err(
serde::de::Error::duplicate_field("resizeState"),
);
}
resize_state__ = Some(
map_.next_value::<volume::ResizeState>()? as i32,
);
}
GeneratedField::ResizeReason => {
if resize_reason__.is_some() {
return Err(
serde::de::Error::duplicate_field("resizeReason"),
);
}
resize_reason__ = Some(map_.next_value()?);
}
GeneratedField::PendingSizeGib => {
if pending_size_gib__.is_some() {
return Err(
serde::de::Error::duplicate_field("pendingSizeGib"),
);
}
pending_size_gib__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::RetentionNote => {
if retention_note__.is_some() {
return Err(
serde::de::Error::duplicate_field("retentionNote"),
);
}
retention_note__ = Some(map_.next_value()?);
}
GeneratedField::Iops => {
if iops__.is_some() {
return Err(serde::de::Error::duplicate_field("iops"));
}
iops__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::ThroughputMibps => {
if throughput_mibps__.is_some() {
return Err(
serde::de::Error::duplicate_field("throughputMibps"),
);
}
throughput_mibps__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::Creator => {
if creator__.is_some() {
return Err(serde::de::Error::duplicate_field("creator"));
}
creator__ = Some(map_.next_value()?);
}
GeneratedField::Tags => {
if tags__.is_some() {
return Err(serde::de::Error::duplicate_field("tags"));
}
tags__ = Some(
map_.next_value::<std::collections::BTreeMap<_, _>>()?,
);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(Volume {
name: name__.unwrap_or_default(),
urn: urn__.unwrap_or_default(),
size_gib: size_gib__.unwrap_or_default(),
storage_class: storage_class__.unwrap_or_default(),
source_snapshot: source_snapshot__.unwrap_or_default(),
state: state__.unwrap_or_default(),
state_reason: state_reason__.unwrap_or_default(),
attachment: attachment__.unwrap_or_default(),
resize_state: resize_state__.unwrap_or_default(),
resize_reason: resize_reason__.unwrap_or_default(),
pending_size_gib: pending_size_gib__.unwrap_or_default(),
retention_note: retention_note__.unwrap_or_default(),
iops: iops__.unwrap_or_default(),
throughput_mibps: throughput_mibps__.unwrap_or_default(),
creator: creator__.unwrap_or_default(),
tags: tags__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.pvs.v1beta1.Volume",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for volume::ResizeState {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
let variant = match self {
Self::Unspecified => "RESIZE_STATE_UNSPECIFIED",
Self::ResizeCompleted => "RESIZE_COMPLETED",
Self::Resizing => "RESIZING",
Self::ResizeFailed => "RESIZE_FAILED",
};
serializer.serialize_str(variant)
}
}
impl<'de> serde::Deserialize<'de> for volume::ResizeState {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"RESIZE_STATE_UNSPECIFIED",
"RESIZE_COMPLETED",
"RESIZING",
"RESIZE_FAILED",
];
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = volume::ResizeState;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x
.try_into()
.ok()
.or_else(|| Some(volume::ResizeState::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(v),
&self,
)
})
}
fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x
.try_into()
.ok()
.or_else(|| Some(volume::ResizeState::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Unsigned(v),
&self,
)
})
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
match value {
"RESIZE_STATE_UNSPECIFIED" => Ok(volume::ResizeState::Unspecified),
"RESIZE_COMPLETED" => Ok(volume::ResizeState::ResizeCompleted),
"RESIZING" => Ok(volume::ResizeState::Resizing),
"RESIZE_FAILED" => Ok(volume::ResizeState::ResizeFailed),
_ => Ok(volume::ResizeState::default()),
}
}
}
deserializer.deserialize_any(GeneratedVisitor)
}
}
impl serde::Serialize for volume::State {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
let variant = match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::Creating => "CREATING",
Self::Available => "AVAILABLE",
Self::InUse => "IN_USE",
Self::Deleting => "DELETING",
Self::Deleted => "DELETED",
Self::Error => "ERROR",
};
serializer.serialize_str(variant)
}
}
impl<'de> serde::Deserialize<'de> for volume::State {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"STATE_UNSPECIFIED",
"CREATING",
"AVAILABLE",
"IN_USE",
"DELETING",
"DELETED",
"ERROR",
];
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = volume::State;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x.try_into().ok().or_else(|| Some(volume::State::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(v),
&self,
)
})
}
fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x.try_into().ok().or_else(|| Some(volume::State::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Unsigned(v),
&self,
)
})
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
match value {
"STATE_UNSPECIFIED" => Ok(volume::State::Unspecified),
"CREATING" => Ok(volume::State::Creating),
"AVAILABLE" => Ok(volume::State::Available),
"IN_USE" => Ok(volume::State::InUse),
"DELETING" => Ok(volume::State::Deleting),
"DELETED" => Ok(volume::State::Deleted),
"ERROR" => Ok(volume::State::Error),
_ => Ok(volume::State::default()),
}
}
}
deserializer.deserialize_any(GeneratedVisitor)
}
}
#[derive(Clone, Debug)]
pub struct SnapshotClient {
service: ::origincloud_core::Service,
}
impl SnapshotClient {
pub fn new(client: &::origincloud_core::Client) -> Self {
Self {
service: client.service("pvs", true),
}
}
pub fn service(&self) -> &::origincloud_core::Service {
&self.service
}
pub async fn get_snapshot(
&self,
request: GetSnapshotRequest,
) -> ::core::result::Result<Snapshot, ::origincloud_core::Error> {
let p0 = ::origincloud_core::path_value(
"name",
&request.name,
"projects/*/zones/*/snapshots/*",
)?;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub async fn list_snapshots(
&self,
request: ListSnapshotsRequest,
) -> ::core::result::Result<ListSnapshotsResponse, ::origincloud_core::Error> {
let p0 = ::origincloud_core::path_value(
"parent",
&request.parent,
"projects/*/zones/*",
)?;
let query = ::origincloud_core::query(&request, &["parent"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}/snapshots"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub fn all_snapshots(
&self,
request: ListSnapshotsRequest,
) -> ::origincloud_core::Pages<Snapshot> {
let client = self.clone();
::origincloud_core::Pages::new(
request,
move |request: ListSnapshotsRequest| {
let client = client.clone();
async move {
let page = client.list_snapshots(request).await?;
Ok((page.snapshots, page.next_page_token))
}
},
|request: &mut ListSnapshotsRequest, token: ::std::string::String| {
request.page_token = token;
},
)
}
pub async fn create_snapshot(
&self,
mut request: CreateSnapshotRequest,
) -> ::core::result::Result<
::origincloud_core::Operation<Snapshot>,
::origincloud_core::Error,
> {
if request.request_id.is_empty() {
request.request_id = ::origincloud_core::new_request_id();
}
let p0 = ::origincloud_core::path_value(
"parent",
&request.parent,
"projects/*/zones/*",
)?;
let body = ::origincloud_core::json_body(
request.snapshot.as_ref().unwrap_or(&::core::default::Default::default()),
)?;
let query = ::origincloud_core::query(&request, &["parent", "snapshot"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::POST,
format!("/v1beta1/{p0}/snapshots"),
)
.with_body(body)
.with_query(query)
.idempotent();
let operation = self.service.call(call).await?;
Ok(
::origincloud_core::Operation::new(
self.service.clone(),
operation,
"origincloud.pvs.v1beta1.Snapshot",
),
)
}
pub async fn update_snapshot(
&self,
request: UpdateSnapshotRequest,
) -> ::core::result::Result<Snapshot, ::origincloud_core::Error> {
let p0 = ::origincloud_core::path_value(
"snapshot.name",
request.snapshot.as_ref().map_or("", |m| m.name.as_str()),
"projects/*/zones/*/snapshots/*",
)?;
let body = ::origincloud_core::json_body(
request.snapshot.as_ref().unwrap_or(&::core::default::Default::default()),
)?;
let query = ::origincloud_core::query(&request, &["snapshot.name", "snapshot"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::PATCH,
format!("/v1beta1/{p0}"),
)
.with_body(body)
.with_query(query);
self.service.call(call).await
}
pub async fn delete_snapshot(
&self,
mut request: DeleteSnapshotRequest,
) -> ::core::result::Result<
::origincloud_core::Operation<::origincloud_core::protobuf::Empty>,
::origincloud_core::Error,
> {
if request.request_id.is_empty() {
request.request_id = ::origincloud_core::new_request_id();
}
let p0 = ::origincloud_core::path_value(
"name",
&request.name,
"projects/*/zones/*/snapshots/*",
)?;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::DELETE,
format!("/v1beta1/{p0}"),
)
.with_query(query)
.idempotent();
let operation = self.service.call(call).await?;
Ok(
::origincloud_core::Operation::new(
self.service.clone(),
operation,
"google.protobuf.Empty",
),
)
}
pub async fn protect_snapshot(
&self,
mut request: ProtectSnapshotRequest,
) -> ::core::result::Result<
::origincloud_core::Operation<Snapshot>,
::origincloud_core::Error,
> {
if request.request_id.is_empty() {
request.request_id = ::origincloud_core::new_request_id();
}
let p0 = ::origincloud_core::path_value(
"name",
&request.name,
"projects/*/zones/*/snapshots/*",
)?;
let body = ::origincloud_core::json_body(&request)?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::POST,
format!("/v1beta1/{p0}:protect"),
)
.with_body(body)
.idempotent();
let operation = self.service.call(call).await?;
Ok(
::origincloud_core::Operation::new(
self.service.clone(),
operation,
"origincloud.pvs.v1beta1.Snapshot",
),
)
}
pub async fn unprotect_snapshot(
&self,
mut request: UnprotectSnapshotRequest,
) -> ::core::result::Result<
::origincloud_core::Operation<Snapshot>,
::origincloud_core::Error,
> {
if request.request_id.is_empty() {
request.request_id = ::origincloud_core::new_request_id();
}
let p0 = ::origincloud_core::path_value(
"name",
&request.name,
"projects/*/zones/*/snapshots/*",
)?;
let body = ::origincloud_core::json_body(&request)?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::POST,
format!("/v1beta1/{p0}:unprotect"),
)
.with_body(body)
.idempotent();
let operation = self.service.call(call).await?;
Ok(
::origincloud_core::Operation::new(
self.service.clone(),
operation,
"origincloud.pvs.v1beta1.Snapshot",
),
)
}
}
#[derive(Clone, Debug)]
pub struct StorageClassClient {
service: ::origincloud_core::Service,
}
impl StorageClassClient {
pub fn new(client: &::origincloud_core::Client) -> Self {
Self {
service: client.service("pvs", true),
}
}
pub fn service(&self) -> &::origincloud_core::Service {
&self.service
}
pub async fn get_storage_class(
&self,
request: GetStorageClassRequest,
) -> ::core::result::Result<StorageClass, ::origincloud_core::Error> {
let p0 = ::origincloud_core::path_value(
"name",
&request.name,
"storageClasses/*",
)?;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub async fn list_storage_classes(
&self,
request: ListStorageClassesRequest,
) -> ::core::result::Result<ListStorageClassesResponse, ::origincloud_core::Error> {
let query = ::origincloud_core::query(&request, &[])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
::std::string::String::from("/v1beta1/storageClasses"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
}
#[derive(Clone, Debug)]
pub struct VolumeClient {
service: ::origincloud_core::Service,
}
impl VolumeClient {
pub fn new(client: &::origincloud_core::Client) -> Self {
Self {
service: client.service("pvs", true),
}
}
pub fn service(&self) -> &::origincloud_core::Service {
&self.service
}
pub async fn get_volume(
&self,
request: GetVolumeRequest,
) -> ::core::result::Result<Volume, ::origincloud_core::Error> {
let p0 = ::origincloud_core::path_value(
"name",
&request.name,
"projects/*/zones/*/volumes/*",
)?;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub async fn list_volumes(
&self,
request: ListVolumesRequest,
) -> ::core::result::Result<ListVolumesResponse, ::origincloud_core::Error> {
let p0 = ::origincloud_core::path_value(
"parent",
&request.parent,
"projects/*/zones/*",
)?;
let query = ::origincloud_core::query(&request, &["parent"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}/volumes"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub fn all_volumes(
&self,
request: ListVolumesRequest,
) -> ::origincloud_core::Pages<Volume> {
let client = self.clone();
::origincloud_core::Pages::new(
request,
move |request: ListVolumesRequest| {
let client = client.clone();
async move {
let page = client.list_volumes(request).await?;
Ok((page.volumes, page.next_page_token))
}
},
|request: &mut ListVolumesRequest, token: ::std::string::String| {
request.page_token = token;
},
)
}
pub async fn create_volume(
&self,
mut request: CreateVolumeRequest,
) -> ::core::result::Result<
::origincloud_core::Operation<Volume>,
::origincloud_core::Error,
> {
if request.request_id.is_empty() {
request.request_id = ::origincloud_core::new_request_id();
}
let p0 = ::origincloud_core::path_value(
"parent",
&request.parent,
"projects/*/zones/*",
)?;
let body = ::origincloud_core::json_body(
request.volume.as_ref().unwrap_or(&::core::default::Default::default()),
)?;
let query = ::origincloud_core::query(&request, &["parent", "volume"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::POST,
format!("/v1beta1/{p0}/volumes"),
)
.with_body(body)
.with_query(query)
.idempotent();
let operation = self.service.call(call).await?;
Ok(
::origincloud_core::Operation::new(
self.service.clone(),
operation,
"origincloud.pvs.v1beta1.Volume",
),
)
}
pub async fn import_volume(
&self,
mut request: ImportVolumeRequest,
) -> ::core::result::Result<
::origincloud_core::Operation<Volume>,
::origincloud_core::Error,
> {
if request.request_id.is_empty() {
request.request_id = ::origincloud_core::new_request_id();
}
let p0 = ::origincloud_core::path_value(
"parent",
&request.parent,
"projects/*/zones/*",
)?;
let body = ::origincloud_core::json_body(&request)?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::POST,
format!("/v1beta1/{p0}/volumes:import"),
)
.with_body(body)
.idempotent();
let operation = self.service.call(call).await?;
Ok(
::origincloud_core::Operation::new(
self.service.clone(),
operation,
"origincloud.pvs.v1beta1.Volume",
),
)
}
pub async fn update_volume(
&self,
mut request: UpdateVolumeRequest,
) -> ::core::result::Result<
::origincloud_core::Operation<Volume>,
::origincloud_core::Error,
> {
if request.request_id.is_empty() {
request.request_id = ::origincloud_core::new_request_id();
}
let p0 = ::origincloud_core::path_value(
"volume.name",
request.volume.as_ref().map_or("", |m| m.name.as_str()),
"projects/*/zones/*/volumes/*",
)?;
let body = ::origincloud_core::json_body(
request.volume.as_ref().unwrap_or(&::core::default::Default::default()),
)?;
let query = ::origincloud_core::query(&request, &["volume.name", "volume"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::PATCH,
format!("/v1beta1/{p0}"),
)
.with_body(body)
.with_query(query)
.idempotent();
let operation = self.service.call(call).await?;
Ok(
::origincloud_core::Operation::new(
self.service.clone(),
operation,
"origincloud.pvs.v1beta1.Volume",
),
)
}
pub async fn delete_volume(
&self,
mut request: DeleteVolumeRequest,
) -> ::core::result::Result<
::origincloud_core::Operation<::origincloud_core::protobuf::Empty>,
::origincloud_core::Error,
> {
if request.request_id.is_empty() {
request.request_id = ::origincloud_core::new_request_id();
}
let p0 = ::origincloud_core::path_value(
"name",
&request.name,
"projects/*/zones/*/volumes/*",
)?;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::DELETE,
format!("/v1beta1/{p0}"),
)
.with_query(query)
.idempotent();
let operation = self.service.call(call).await?;
Ok(
::origincloud_core::Operation::new(
self.service.clone(),
operation,
"google.protobuf.Empty",
),
)
}
}