openapi-azure-storage-blob 0.1.1

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
Documentation
/*
 * Azure Storage Blob service
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 2026-02-06
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// ContainerProperties : The properties of a container.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ContainerProperties {
    /// The date-time the container was last modified in RFC1123 format.
    #[serde(rename = "Last-Modified")]
    pub last_modified: String,
    /// The ETag of the container.
    #[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>,
    /// Whether it has an immutability policy.
    #[serde(
        rename = "HasImmutabilityPolicy",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_immutability_policy: Option<bool>,
    /// The has legal hold status of the container.
    #[serde(rename = "HasLegalHold", skip_serializing_if = "Option::is_none")]
    pub has_legal_hold: Option<bool>,
    /// The default encryption scope of the container.
    #[serde(
        rename = "DefaultEncryptionScope",
        skip_serializing_if = "Option::is_none"
    )]
    pub default_encryption_scope: Option<String>,
    /// Whether to prevent encryption scope override.
    #[serde(
        rename = "DenyEncryptionScopeOverride",
        skip_serializing_if = "Option::is_none"
    )]
    pub deny_encryption_scope_override: Option<bool>,
    /// The deleted time of the container.
    #[serde(rename = "DeletedTime", skip_serializing_if = "Option::is_none")]
    pub deleted_time: Option<String>,
    /// The remaining retention days of the container.
    #[serde(
        rename = "RemainingRetentionDays",
        skip_serializing_if = "Option::is_none"
    )]
    pub remaining_retention_days: Option<i32>,
    /// Whether immutable storage with versioning is enabled.
    #[serde(
        rename = "ImmutableStorageWithVersioningEnabled",
        skip_serializing_if = "Option::is_none"
    )]
    pub immutable_storage_with_versioning_enabled: Option<bool>,
}

impl ContainerProperties {
    /// The properties of a container.
    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,
        }
    }
}