redfish_codegen/models/volume/v1_9_0/
volume.rs1use crate::models;
4
5#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct Volume {
10 #[serde(rename = "@odata.context")]
11 #[serde(skip_deserializing)]
12 #[serde(default, skip_serializing_if = "Option::is_none")]
13 pub odata_context: Option<models::odata_v4::Context>,
14 #[serde(rename = "@odata.etag")]
15 #[serde(skip_deserializing)]
16 #[serde(default, skip_serializing_if = "Option::is_none")]
17 pub odata_etag: Option<models::odata_v4::Etag>,
18 #[serde(rename = "@odata.id")]
19 #[serde(skip_deserializing)]
20 pub odata_id: models::odata_v4::Id,
21 #[serde(rename = "@odata.type")]
22 #[serde(skip_deserializing)]
23 #[derivative(Default(value = "models::odata_v4::Type(\"#Volume.v1_9_0.Volume\".to_string())"))]
24 pub odata_type: models::odata_v4::Type,
25 #[serde(rename = "AccessCapabilities")]
27 #[serde(default, skip_serializing_if = "Option::is_none")]
28 pub access_capabilities: Option<Vec<models::data_storage_lo_s_capabilities::StorageAccessCapability>>,
29 #[serde(rename = "Actions")]
30 #[serde(default, skip_serializing_if = "Option::is_none")]
31 pub actions: Option<models::volume::v1_9_0::Actions>,
32 #[serde(rename = "AllocatedPools")]
33 #[serde(default, skip_serializing_if = "Option::is_none")]
34 pub allocated_pools: Option<models::odata_v4::IdRef>,
35 #[serde(rename = "BlockSizeBytes")]
37 #[serde(default, skip_serializing_if = "Option::is_none")]
38 pub block_size_bytes: Option<i64>,
39 #[serde(rename = "Capacity")]
40 #[serde(default, skip_serializing_if = "Option::is_none")]
41 pub capacity: Option<models::capacity::v1_0_0::Capacity>,
42 #[serde(rename = "CapacityBytes")]
44 #[serde(default, skip_serializing_if = "Option::is_none")]
45 pub capacity_bytes: Option<i64>,
46 #[serde(rename = "CapacitySources")]
48 #[serde(default, skip_serializing_if = "Option::is_none")]
49 pub capacity_sources: Option<Vec<models::capacity::CapacitySource>>,
50 #[serde(rename = "CapacitySources@odata.count")]
51 #[serde(default, skip_serializing_if = "Option::is_none")]
52 pub capacity_sources_odata_count: Option<models::odata_v4::Count>,
53 #[serde(rename = "Compressed")]
55 #[serde(default, skip_serializing_if = "Option::is_none")]
56 pub compressed: Option<bool>,
57 #[serde(rename = "Connections")]
59 #[serde(default, skip_serializing_if = "Option::is_none")]
60 pub connections: Option<Vec<models::odata_v4::IdRef>>,
61 #[serde(rename = "Connections@odata.count")]
62 #[serde(default, skip_serializing_if = "Option::is_none")]
63 pub connections_odata_count: Option<models::odata_v4::Count>,
64 #[serde(rename = "Deduplicated")]
66 #[serde(default, skip_serializing_if = "Option::is_none")]
67 pub deduplicated: Option<bool>,
68 #[serde(rename = "Description")]
69 #[serde(default, skip_serializing_if = "Option::is_none")]
70 pub description: Option<models::resource::Description>,
71 #[serde(rename = "DisplayName")]
73 #[serde(default, skip_serializing_if = "Option::is_none")]
74 pub display_name: Option<String>,
75 #[serde(rename = "Encrypted")]
77 #[serde(default, skip_serializing_if = "Option::is_none")]
78 pub encrypted: Option<bool>,
79 #[serde(rename = "EncryptionTypes")]
81 #[serde(default, skip_serializing_if = "Option::is_none")]
82 pub encryption_types: Option<Vec<models::volume::EncryptionTypes>>,
83 #[serde(rename = "IOPerfModeEnabled")]
85 #[serde(default, skip_serializing_if = "Option::is_none")]
86 pub io_perf_mode_enabled: Option<bool>,
87 #[serde(rename = "IOStatistics")]
88 #[serde(default, skip_serializing_if = "Option::is_none")]
89 pub io_statistics: Option<models::io_statistics::v1_0_1::IOStatistics>,
90 #[serde(rename = "Id")]
91 #[serde(skip_deserializing)]
92 pub id: models::resource::Id,
93 #[serde(rename = "Identifiers")]
95 #[serde(default, skip_serializing_if = "Option::is_none")]
96 pub identifiers: Option<Vec<models::resource::Identifier>>,
97 #[serde(rename = "InitializeMethod")]
98 #[serde(default, skip_serializing_if = "Option::is_none")]
99 pub initialize_method: Option<models::volume::InitializeMethod>,
100 #[serde(rename = "IsBootCapable")]
102 #[serde(default, skip_serializing_if = "Option::is_none")]
103 pub is_boot_capable: Option<bool>,
104 #[serde(rename = "Links")]
105 #[serde(default, skip_serializing_if = "Option::is_none")]
106 pub links: Option<models::volume::v1_9_0::Links>,
107 #[serde(rename = "LogicalUnitNumber")]
109 #[serde(default, skip_serializing_if = "Option::is_none")]
110 pub logical_unit_number: Option<i64>,
111 #[serde(rename = "LowSpaceWarningThresholdPercents")]
113 #[serde(default, skip_serializing_if = "Option::is_none")]
114 pub low_space_warning_threshold_percents: Option<Vec<i64>>,
115 #[serde(rename = "Manufacturer")]
117 #[serde(default, skip_serializing_if = "Option::is_none")]
118 pub manufacturer: Option<String>,
119 #[serde(rename = "MaxBlockSizeBytes")]
121 #[serde(default, skip_serializing_if = "Option::is_none")]
122 pub max_block_size_bytes: Option<i64>,
123 #[serde(rename = "MediaSpanCount")]
125 #[serde(default, skip_serializing_if = "Option::is_none")]
126 pub media_span_count: Option<i64>,
127 #[serde(rename = "Metrics")]
128 #[serde(default, skip_serializing_if = "Option::is_none")]
129 pub metrics: Option<models::odata_v4::IdRef>,
130 #[serde(rename = "Model")]
132 #[serde(default, skip_serializing_if = "Option::is_none")]
133 pub model: Option<String>,
134 #[serde(rename = "NVMeNamespaceProperties")]
135 #[serde(default, skip_serializing_if = "Option::is_none")]
136 pub nvme_namespace_properties: Option<models::volume::v1_9_0::NVMeNamespaceProperties>,
137 #[serde(rename = "Name")]
138 #[serde(skip_deserializing)]
139 pub name: models::resource::Name,
140 #[serde(rename = "Oem")]
141 #[serde(default, skip_serializing_if = "Option::is_none")]
142 pub oem: Option<models::resource::Oem>,
143 #[serde(rename = "Operations")]
145 #[serde(default, skip_serializing_if = "Option::is_none")]
146 pub operations: Option<Vec<models::volume::v1_9_0::Operation>>,
147 #[serde(rename = "OptimumIOSizeBytes")]
149 #[serde(default, skip_serializing_if = "Option::is_none")]
150 pub optimum_io_size_bytes: Option<i64>,
151 #[serde(rename = "ProvisioningPolicy")]
152 #[serde(default, skip_serializing_if = "Option::is_none")]
153 pub provisioning_policy: Option<models::data_storage_lo_s_capabilities::ProvisioningPolicy>,
154 #[serde(rename = "RAIDType")]
155 #[serde(default, skip_serializing_if = "Option::is_none")]
156 pub raid_type: Option<models::volume::RAIDType>,
157 #[serde(rename = "ReadCachePolicy")]
158 #[serde(default, skip_serializing_if = "Option::is_none")]
159 pub read_cache_policy: Option<models::volume::ReadCachePolicyType>,
160 #[serde(rename = "RecoverableCapacitySourceCount")]
162 #[serde(default, skip_serializing_if = "Option::is_none")]
163 pub recoverable_capacity_source_count: Option<i64>,
164 #[serde(rename = "RemainingCapacityPercent")]
166 #[serde(default, skip_serializing_if = "Option::is_none")]
167 pub remaining_capacity_percent: Option<i64>,
168 #[serde(rename = "RemoteReplicaTargets")]
170 #[serde(default, skip_serializing_if = "Option::is_none")]
171 pub remote_replica_targets: Option<Vec<String>>,
172 #[serde(rename = "ReplicaInfo")]
173 #[serde(default, skip_serializing_if = "Option::is_none")]
174 pub replica_info: Option<models::storage_replica_info::v1_4_0::ReplicaInfo>,
175 #[serde(rename = "ReplicaTargets")]
177 #[serde(default, skip_serializing_if = "Option::is_none")]
178 pub replica_targets: Option<Vec<models::odata_v4::IdRef>>,
179 #[serde(rename = "ReplicaTargets@odata.count")]
180 #[serde(default, skip_serializing_if = "Option::is_none")]
181 pub replica_targets_odata_count: Option<models::odata_v4::Count>,
182 #[serde(rename = "ReplicationEnabled")]
184 #[serde(default, skip_serializing_if = "Option::is_none")]
185 pub replication_enabled: Option<bool>,
186 #[serde(rename = "Status")]
187 #[serde(default, skip_serializing_if = "Option::is_none")]
188 pub status: Option<models::resource::Status>,
189 #[serde(rename = "StorageGroups")]
190 #[serde(default, skip_serializing_if = "Option::is_none")]
191 pub storage_groups: Option<models::odata_v4::IdRef>,
192 #[serde(rename = "StripSizeBytes")]
194 #[serde(default, skip_serializing_if = "Option::is_none")]
195 pub strip_size_bytes: Option<i64>,
196 #[serde(rename = "VolumeType")]
197 #[serde(default, skip_serializing_if = "Option::is_none")]
198 pub volume_type: Option<models::volume::VolumeType>,
199 #[serde(rename = "VolumeUsage")]
200 #[serde(default, skip_serializing_if = "Option::is_none")]
201 pub volume_usage: Option<models::volume::VolumeUsageType>,
202 #[serde(rename = "WriteCachePolicy")]
203 #[serde(default, skip_serializing_if = "Option::is_none")]
204 pub write_cache_policy: Option<models::volume::WriteCachePolicyType>,
205 #[serde(rename = "WriteCacheState")]
206 #[serde(default, skip_serializing_if = "Option::is_none")]
207 pub write_cache_state: Option<models::volume::WriteCacheStateType>,
208 #[serde(rename = "WriteHoleProtectionPolicy")]
209 #[serde(default, skip_serializing_if = "Option::is_none")]
210 pub write_hole_protection_policy: Option<models::volume::WriteHoleProtectionPolicyType>,
211}
212
213impl crate::Metadata<'static> for Volume {
214 const JSON_SCHEMA: &'static str = "Volume.v1_9_0.json";
215}