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}