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(default, rename = "enum", skip_serializing_if = "Vec::is_empty")]
11 pub enumeration: Vec<String>,
12 /// REQUIRED. The default value to use for substitution,
13 /// and to send, if an alternate value is not supplied.
14 /// Unlike the Schema Object's default, this value MUST
15 /// be provided by the consumer.
16 pub default: String,
17 /// An optional description for the server
18 /// variable. CommonMark syntax MAY be used
19 /// for rich text representation.
20 pub description: Option<String>,
21 /// Inline extensions to this object.
22 #[serde(flatten, deserialize_with = "crate::util::deserialize_extensions")]
23 pub extensions: IndexMap<String, serde_json::Value>,
24}