use super::{
AccessTier, AccountKind, ArchiveStatus, BlobCopySourceTags, BlobDeleteType, BlobExpiryOptions,
BlobType, BlockListType, CopyStatus, DeleteSnapshotsOptionType, EncryptionAlgorithmType,
FileShareTokenIntent, FilterBlobsIncludeItem, GeoReplicationStatusType, ImmutabilityPolicyMode,
LeaseDuration, LeaseState, LeaseStatus, ListBlobsIncludeItem, ListContainersIncludeType,
PremiumPageBlobAccessTier, PublicAccessType, QueryRequestType, QueryType, RehydratePriority,
SequenceNumberActionType, SkuName, StorageErrorCode,
};
use serde::{Deserialize, Deserializer, Serialize, Serializer};
impl<'de> Deserialize<'de> for AccessTier {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for AccessTier {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for AccountKind {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for AccountKind {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for ArchiveStatus {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for ArchiveStatus {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for BlobCopySourceTags {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for BlobCopySourceTags {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for BlobDeleteType {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for BlobDeleteType {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for BlobExpiryOptions {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for BlobExpiryOptions {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for BlobType {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for BlobType {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for BlockListType {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for BlockListType {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for CopyStatus {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for CopyStatus {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for DeleteSnapshotsOptionType {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for DeleteSnapshotsOptionType {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for EncryptionAlgorithmType {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for EncryptionAlgorithmType {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for FileShareTokenIntent {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for FileShareTokenIntent {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for FilterBlobsIncludeItem {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for FilterBlobsIncludeItem {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for GeoReplicationStatusType {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for GeoReplicationStatusType {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for ImmutabilityPolicyMode {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for ImmutabilityPolicyMode {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for LeaseDuration {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for LeaseDuration {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for LeaseState {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for LeaseState {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for LeaseStatus {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for LeaseStatus {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for ListBlobsIncludeItem {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for ListBlobsIncludeItem {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for ListContainersIncludeType {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for ListContainersIncludeType {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for PremiumPageBlobAccessTier {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for PremiumPageBlobAccessTier {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for PublicAccessType {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for PublicAccessType {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for QueryRequestType {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for QueryRequestType {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for QueryType {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for QueryType {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for RehydratePriority {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for RehydratePriority {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for SequenceNumberActionType {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for SequenceNumberActionType {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for SkuName {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for SkuName {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}
impl<'de> Deserialize<'de> for StorageErrorCode {
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}
}
impl Serialize for StorageErrorCode {
fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
s.serialize_str(self.as_ref())
}
}