openapiv3/server_variable.rs
1use indexmap::IndexMap;
2use serde::{Deserialize, Serialize};
3
4/// An object representing a Server Variable
5/// for server URL template substitution.
6#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq)]
7pub struct ServerVariable {
8 /// An enumeration of string values to be
9 /// used if the substitution options are from a limited set.
10 #[serde(rename = "enum")]
11 #[serde(default)]
12 #[serde(skip_serializing_if = "Vec::is_empty")]
13 pub enumeration: Vec<String>,
14 /// REQUIRED. The default value to use for substitution,
15 /// and to send, if an alternate value is not supplied.
16 /// Unlike the Schema Object's default, this value MUST
17 /// be provided by the consumer.
18 pub default: String,
19 /// An optional description for the server
20 /// variable. CommonMark syntax MAY be used
21 /// for rich text representation.
22 pub description: Option<String>,
23 /// Inline extensions to this object.
24 #[serde(flatten, deserialize_with = "crate::util::deserialize_extensions")]
25 pub extensions: IndexMap<String, serde_json::Value>,
26}