openstack_types/compute/v2/server/metadata/response/
create.rs1use serde::{Deserialize, Serialize};
20use std::collections::BTreeMap;
21use structable::{StructTable, StructTableOptions};
22
23#[derive(Deserialize, Serialize)]
25pub struct MetadataResponse(BTreeMap<String, String>);
26
27impl StructTable for MetadataResponse {
28 fn instance_headers<O: StructTableOptions>(&self, _options: &O) -> Option<Vec<String>> {
29 Some(self.0.keys().map(Into::into).collect())
30 }
31
32 fn data<O: StructTableOptions>(&self, _options: &O) -> Vec<Option<String>> {
33 Vec::from_iter(self.0.values().map(|v| Some(v.clone())))
34 }
35}
36
37impl StructTable for &MetadataResponse {
38 fn instance_headers<O: StructTableOptions>(&self, _options: &O) -> Option<Vec<String>> {
39 Some(self.0.keys().map(Into::into).collect())
40 }
41
42 fn data<O: StructTableOptions>(&self, _options: &O) -> Vec<Option<String>> {
43 Vec::from_iter(self.0.values().map(|v| Some(v.clone())))
44 }
45}