bitwarden-api-api 3.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", alias = "ConfigType")]
    pub config_type: models::SsoType,
    #[serde(
        rename = "memberDecryptionType",
        alias = "MemberDecryptionType",
        skip_serializing_if = "Option::is_none"
    )]
    pub member_decryption_type: Option<models::MemberDecryptionType>,
    #[serde(
        rename = "keyConnectorEnabled",
        alias = "KeyConnectorEnabled",
        skip_serializing_if = "Option::is_none"
    )]
    pub key_connector_enabled: Option<bool>,
    #[serde(
        rename = "keyConnectorUrl",
        alias = "KeyConnectorUrl",
        skip_serializing_if = "Option::is_none"
    )]
    pub key_connector_url: Option<String>,
    #[serde(
        rename = "authority",
        alias = "Authority",
        skip_serializing_if = "Option::is_none"
    )]
    pub authority: Option<String>,
    #[serde(
        rename = "clientId",
        alias = "ClientId",
        skip_serializing_if = "Option::is_none"
    )]
    pub client_id: Option<String>,
    #[serde(
        rename = "clientSecret",
        alias = "ClientSecret",
        skip_serializing_if = "Option::is_none"
    )]
    pub client_secret: Option<String>,
    #[serde(
        rename = "metadataAddress",
        alias = "MetadataAddress",
        skip_serializing_if = "Option::is_none"
    )]
    pub metadata_address: Option<String>,
    #[serde(
        rename = "redirectBehavior",
        alias = "RedirectBehavior",
        skip_serializing_if = "Option::is_none"
    )]
    pub redirect_behavior: Option<models::OpenIdConnectRedirectBehavior>,
    #[serde(
        rename = "getClaimsFromUserInfoEndpoint",
        alias = "GetClaimsFromUserInfoEndpoint",
        skip_serializing_if = "Option::is_none"
    )]
    pub get_claims_from_user_info_endpoint: Option<bool>,
    #[serde(
        rename = "additionalScopes",
        alias = "AdditionalScopes",
        skip_serializing_if = "Option::is_none"
    )]
    pub additional_scopes: Option<String>,
    #[serde(
        rename = "additionalUserIdClaimTypes",
        alias = "AdditionalUserIdClaimTypes",
        skip_serializing_if = "Option::is_none"
    )]
    pub additional_user_id_claim_types: Option<String>,
    #[serde(
        rename = "additionalEmailClaimTypes",
        alias = "AdditionalEmailClaimTypes",
        skip_serializing_if = "Option::is_none"
    )]
    pub additional_email_claim_types: Option<String>,
    #[serde(
        rename = "additionalNameClaimTypes",
        alias = "AdditionalNameClaimTypes",
        skip_serializing_if = "Option::is_none"
    )]
    pub additional_name_claim_types: Option<String>,
    #[serde(
        rename = "acrValues",
        alias = "AcrValues",
        skip_serializing_if = "Option::is_none"
    )]
    pub acr_values: Option<String>,
    #[serde(
        rename = "expectedReturnAcrValue",
        alias = "ExpectedReturnAcrValue",
        skip_serializing_if = "Option::is_none"
    )]
    pub expected_return_acr_value: Option<String>,
    #[serde(
        rename = "spUniqueEntityId",
        alias = "SpUniqueEntityId",
        skip_serializing_if = "Option::is_none"
    )]
    pub sp_unique_entity_id: Option<bool>,
    #[serde(
        rename = "spNameIdFormat",
        alias = "SpNameIdFormat",
        skip_serializing_if = "Option::is_none"
    )]
    pub sp_name_id_format: Option<models::Saml2NameIdFormat>,
    #[serde(
        rename = "spOutboundSigningAlgorithm",
        alias = "SpOutboundSigningAlgorithm",
        skip_serializing_if = "Option::is_none"
    )]
    pub sp_outbound_signing_algorithm: Option<String>,
    #[serde(
        rename = "spSigningBehavior",
        alias = "SpSigningBehavior",
        skip_serializing_if = "Option::is_none"
    )]
    pub sp_signing_behavior: Option<models::Saml2SigningBehavior>,
    #[serde(
        rename = "spWantAssertionsSigned",
        alias = "SpWantAssertionsSigned",
        skip_serializing_if = "Option::is_none"
    )]
    pub sp_want_assertions_signed: Option<bool>,
    #[serde(
        rename = "spValidateCertificates",
        alias = "SpValidateCertificates",
        skip_serializing_if = "Option::is_none"
    )]
    pub sp_validate_certificates: Option<bool>,
    #[serde(
        rename = "spMinIncomingSigningAlgorithm",
        alias = "SpMinIncomingSigningAlgorithm",
        skip_serializing_if = "Option::is_none"
    )]
    pub sp_min_incoming_signing_algorithm: Option<String>,
    #[serde(
        rename = "idpEntityId",
        alias = "IdpEntityId",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_entity_id: Option<String>,
    #[serde(
        rename = "idpBindingType",
        alias = "IdpBindingType",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_binding_type: Option<models::Saml2BindingType>,
    #[serde(
        rename = "idpSingleSignOnServiceUrl",
        alias = "IdpSingleSignOnServiceUrl",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_single_sign_on_service_url: Option<String>,
    #[serde(
        rename = "idpSingleLogoutServiceUrl",
        alias = "IdpSingleLogoutServiceUrl",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_single_logout_service_url: Option<String>,
    #[serde(
        rename = "idpArtifactResolutionServiceUrl",
        alias = "IdpArtifactResolutionServiceUrl",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_artifact_resolution_service_url: Option<String>,
    #[serde(
        rename = "idpX509PublicCert",
        alias = "IdpX509PublicCert",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_x509_public_cert: Option<String>,
    #[serde(
        rename = "idpOutboundSigningAlgorithm",
        alias = "IdpOutboundSigningAlgorithm",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_outbound_signing_algorithm: Option<String>,
    #[serde(
        rename = "idpAllowUnsolicitedAuthnResponse",
        alias = "IdpAllowUnsolicitedAuthnResponse",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_allow_unsolicited_authn_response: Option<bool>,
    #[serde(
        rename = "idpDisableOutboundLogoutRequests",
        alias = "IdpDisableOutboundLogoutRequests",
        skip_serializing_if = "Option::is_none"
    )]
    pub idp_disable_outbound_logout_requests: Option<bool>,
    #[serde(
        rename = "idpWantAuthnRequestsSigned",
        alias = "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,
        }
    }
}