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}