use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ContainerProperties {
#[serde(rename = "Last-Modified")]
pub last_modified: String,
#[serde(rename = "ETag")]
pub e_tag: String,
#[serde(rename = "LeaseStatus", skip_serializing_if = "Option::is_none")]
pub lease_status: Option<models::LeaseStatus>,
#[serde(rename = "LeaseState", skip_serializing_if = "Option::is_none")]
pub lease_state: Option<models::LeaseState>,
#[serde(rename = "LeaseDuration", skip_serializing_if = "Option::is_none")]
pub lease_duration: Option<models::LeaseDuration>,
#[serde(rename = "PublicAccess", skip_serializing_if = "Option::is_none")]
pub public_access: Option<models::PublicAccessType>,
#[serde(
rename = "HasImmutabilityPolicy",
skip_serializing_if = "Option::is_none"
)]
pub has_immutability_policy: Option<bool>,
#[serde(rename = "HasLegalHold", skip_serializing_if = "Option::is_none")]
pub has_legal_hold: Option<bool>,
#[serde(
rename = "DefaultEncryptionScope",
skip_serializing_if = "Option::is_none"
)]
pub default_encryption_scope: Option<String>,
#[serde(
rename = "DenyEncryptionScopeOverride",
skip_serializing_if = "Option::is_none"
)]
pub deny_encryption_scope_override: Option<bool>,
#[serde(rename = "DeletedTime", skip_serializing_if = "Option::is_none")]
pub deleted_time: Option<String>,
#[serde(
rename = "RemainingRetentionDays",
skip_serializing_if = "Option::is_none"
)]
pub remaining_retention_days: Option<i32>,
#[serde(
rename = "ImmutableStorageWithVersioningEnabled",
skip_serializing_if = "Option::is_none"
)]
pub immutable_storage_with_versioning_enabled: Option<bool>,
}
impl ContainerProperties {
pub fn new(last_modified: String, e_tag: String) -> ContainerProperties {
ContainerProperties {
last_modified,
e_tag,
lease_status: None,
lease_state: None,
lease_duration: None,
public_access: None,
has_immutability_policy: None,
has_legal_hold: None,
default_encryption_scope: None,
deny_encryption_scope_override: None,
deleted_time: None,
remaining_retention_days: None,
immutable_storage_with_versioning_enabled: None,
}
}
}