redfish-codegen 0.3.1

An unopinionated translation of the Redfish specification into Rust.
Documentation
// Generated by redfish-codegen. Do not modify.

use crate::models;

/// Various settings to parse an OAuth 2.0 service.
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct OAuth2S {
    /// The allowable audience strings of the Redfish service.
    #[serde(rename = "Audience")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub audience: Option<Vec<String>>,
    /// The issuer string of the OAuth 2.0 service.  Clients should configure this property if Mode contains `Offline`.
    #[serde(rename = "Issuer")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub issuer: Option<String>,
    #[serde(rename = "Mode")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub mode: Option<models::account_service::v1_12_0::OAuth2M>,
    /// The Base64-encoded signing keys of the issuer of the OAuth 2.0 service.  Clients should configure this property if Mode contains `Offline`.
    #[serde(rename = "OAuthServiceSigningKeys")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub o_auth_service_signing_keys: Option<String>,
}

impl crate::Metadata<'static> for OAuth2S {
    const JSON_SCHEMA: &'static str = "AccountService.v1_12_0.json";
}