orvanta-api 3.0.0

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
Documentation
/*
 * Orvanta API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 3.0.0
 * Contact: contact@orvanta.cloud
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SamlConfigRequest {
    /// URL to fetch the IdP's SAML metadata from (fetched server-side, SSRF-guarded). Provide this or idp_metadata_xml.
    #[serde(rename = "idp_metadata_url", skip_serializing_if = "Option::is_none")]
    pub idp_metadata_url: Option<String>,
    /// the IdP's SAML metadata XML, pasted directly. Provide this or idp_metadata_url.
    #[serde(rename = "idp_metadata_xml", skip_serializing_if = "Option::is_none")]
    pub idp_metadata_xml: Option<String>,
    #[serde(rename = "name_id_format", skip_serializing_if = "Option::is_none")]
    pub name_id_format: Option<String>,
    #[serde(rename = "enabled")]
    pub enabled: bool,
    /// accept unsolicited (IdP-initiated) SAML responses, e.g. from an Okta \"My Apps\" or Entra app-launcher tile. Defaults to false when omitted. Unsolicited responses carry no InResponseTo, so they cannot be bound to a login this SP started and remain exposed to login-CSRF / session fixation (#589) — enable only if your IdP offers no SP-initiated entry point.
    #[serde(rename = "allow_idp_initiated", skip_serializing_if = "Option::is_none")]
    pub allow_idp_initiated: Option<bool>,
}

impl SamlConfigRequest {
    pub fn new(enabled: bool) -> SamlConfigRequest {
        SamlConfigRequest {
            idp_metadata_url: None,
            idp_metadata_xml: None,
            name_id_format: None,
            enabled,
            allow_idp_initiated: None,
        }
    }
}