bitwarden-api-api 1.0.0

Api bindings for the Bitwarden API.
Documentation
/*
 * Bitwarden Internal API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: latest
 *
 * Generated by: https://openapi-generator.tech
 */

use serde::{Deserialize, Serialize};

use crate::models;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SsoConfigurationDataRequest {
    #[serde(rename = "configType")]
    pub config_type: models::SsoType,
    #[serde(
        rename = "memberDecryptionType",
        skip_serializing_if = "Option::is_none"
    )]
    pub member_decryption_type: Option<models::MemberDecryptionType>,
    #[serde(
        rename = "keyConnectorEnabled",
        skip_serializing_if = "Option::is_none"
    )]
    pub key_connector_enabled: Option<bool>,
    #[serde(rename = "keyConnectorUrl", skip_serializing_if = "Option::is_none")]
    pub key_connector_url: Option<String>,
    #[serde(rename = "authority", skip_serializing_if = "Option::is_none")]
    pub authority: Option<String>,
    #[serde(rename = "clientId", skip_serializing_if = "Option::is_none")]
    pub client_id: Option<String>,
    #[serde(rename = "clientSecret", skip_serializing_if = "Option::is_none")]
    pub client_secret: Option<String>,
    #[serde(rename = "metadataAddress", skip_serializing_if = "Option::is_none")]
    pub metadata_address: Option<String>,
    #[serde(rename = "redirectBehavior", skip_serializing_if = "Option::is_none")]
    pub redirect_behavior: Option<models::OpenIdConnectRedirectBehavior>,
    #[serde(
        rename = "getClaimsFromUserInfoEndpoint",
        skip_serializing_if = "Option::is_none"
    )]
    pub get_claims_from_user_info_endpoint: Option<bool>,
    #[serde(rename = "additionalScopes", skip_serializing_if = "Option::is_none")]
    pub additional_scopes: Option<String>,
    #[serde(
        rename = "additionalUserIdClaimTypes",
        skip_serializing_if = "Option::is_none"
    )]
    pub additional_user_id_claim_types: Option<String>,
    #[serde(
        rename = "additionalEmailClaimTypes",
        skip_serializing_if = "Option::is_none"
    )]
    pub additional_email_claim_types: Option<String>,
    #[serde(
        rename = "additionalNameClaimTypes",
        skip_serializing_if = "Option::is_none"
    )]
    pub additional_name_claim_types: Option<String>,
    #[serde(rename = "acrValues", skip_serializing_if = "Option::is_none")]
    pub acr_values: Option<String>,
    #[serde(
        rename = "expectedReturnAcrValue",
        skip_serializing_if = "Option::is_none"
    )]
    pub expected_return_acr_value: Option<String>,
    #[serde(rename = "spUniqueEntityId", skip_serializing_if = "Option::is_none")]
    pub sp_unique_entity_id: Option<bool>,
    #[serde(rename = "spNameIdFormat", skip_serializing_if = "Option::is_none")]
    pub sp_name_id_format: Option<models::Saml2NameIdFormat>,
    #[serde(
        rename = "spOutboundSigningAlgorithm",
        skip_serializing_if = "Option::is_none"
    )]
    pub sp_outbound_signing_algorithm: Option<String>,
    #[serde(rename = "spSigningBehavior", skip_serializing_if = "Option::is_none")]
    pub sp_signing_behavior: Option<models::Saml2SigningBehavior>,
    #[serde(
        rename = "spWantAssertionsSigned",
        skip_serializing_if = "Option::is_none"
    )]
    pub sp_want_assertions_signed: Option<bool>,
    #[serde(
        rename = "spValidateCertificates",
        skip_serializing_if = "Option::is_none"
    )]
    pub sp_validate_certificates: Option<bool>,
    #[serde(
        rename = "spMinIncomingSigningAlgorithm",
        skip_serializing_if = "Option::is_none"
    )]
    pub sp_min_incoming_signing_algorithm: Option<String>,
    #[serde(rename = "idpEntityId", skip_serializing_if = "Option::is_none")]
    pub idp_entity_id: Option<String>,
    #[serde(rename = "idpBindingType", skip_serializing_if = "Option::is_none")]
    pub idp_binding_type: Option<models::Saml2BindingType>,
    #[serde(
        rename = "idpSingleSignOnServiceUrl",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_single_sign_on_service_url: Option<String>,
    #[serde(
        rename = "idpSingleLogoutServiceUrl",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_single_logout_service_url: Option<String>,
    #[serde(
        rename = "idpArtifactResolutionServiceUrl",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_artifact_resolution_service_url: Option<String>,
    #[serde(rename = "idpX509PublicCert", skip_serializing_if = "Option::is_none")]
    pub idp_x509_public_cert: Option<String>,
    #[serde(
        rename = "idpOutboundSigningAlgorithm",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_outbound_signing_algorithm: Option<String>,
    #[serde(
        rename = "idpAllowUnsolicitedAuthnResponse",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_allow_unsolicited_authn_response: Option<bool>,
    #[serde(
        rename = "idpDisableOutboundLogoutRequests",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_disable_outbound_logout_requests: Option<bool>,
    #[serde(
        rename = "idpWantAuthnRequestsSigned",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_want_authn_requests_signed: Option<bool>,
}

impl SsoConfigurationDataRequest {
    pub fn new(config_type: models::SsoType) -> SsoConfigurationDataRequest {
        SsoConfigurationDataRequest {
            config_type,
            member_decryption_type: None,
            key_connector_enabled: None,
            key_connector_url: None,
            authority: None,
            client_id: None,
            client_secret: None,
            metadata_address: None,
            redirect_behavior: None,
            get_claims_from_user_info_endpoint: None,
            additional_scopes: None,
            additional_user_id_claim_types: None,
            additional_email_claim_types: None,
            additional_name_claim_types: None,
            acr_values: None,
            expected_return_acr_value: None,
            sp_unique_entity_id: None,
            sp_name_id_format: None,
            sp_outbound_signing_algorithm: None,
            sp_signing_behavior: None,
            sp_want_assertions_signed: None,
            sp_validate_certificates: None,
            sp_min_incoming_signing_algorithm: None,
            idp_entity_id: None,
            idp_binding_type: None,
            idp_single_sign_on_service_url: None,
            idp_single_logout_service_url: None,
            idp_artifact_resolution_service_url: None,
            idp_x509_public_cert: None,
            idp_outbound_signing_algorithm: None,
            idp_allow_unsolicited_authn_response: None,
            idp_disable_outbound_logout_requests: None,
            idp_want_authn_requests_signed: None,
        }
    }
}