bitwarden_api_api/models/
sso_configuration_data_request.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct SsoConfigurationDataRequest {
17 #[serde(rename = "configType")]
18 pub config_type: models::SsoType,
19 #[serde(
20 rename = "memberDecryptionType",
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub member_decryption_type: Option<models::MemberDecryptionType>,
24 #[serde(
25 rename = "keyConnectorEnabled",
26 skip_serializing_if = "Option::is_none"
27 )]
28 pub key_connector_enabled: Option<bool>,
29 #[serde(rename = "keyConnectorUrl", skip_serializing_if = "Option::is_none")]
30 pub key_connector_url: Option<String>,
31 #[serde(rename = "authority", skip_serializing_if = "Option::is_none")]
32 pub authority: Option<String>,
33 #[serde(rename = "clientId", skip_serializing_if = "Option::is_none")]
34 pub client_id: Option<String>,
35 #[serde(rename = "clientSecret", skip_serializing_if = "Option::is_none")]
36 pub client_secret: Option<String>,
37 #[serde(rename = "metadataAddress", skip_serializing_if = "Option::is_none")]
38 pub metadata_address: Option<String>,
39 #[serde(rename = "redirectBehavior", skip_serializing_if = "Option::is_none")]
40 pub redirect_behavior: Option<models::OpenIdConnectRedirectBehavior>,
41 #[serde(
42 rename = "getClaimsFromUserInfoEndpoint",
43 skip_serializing_if = "Option::is_none"
44 )]
45 pub get_claims_from_user_info_endpoint: Option<bool>,
46 #[serde(rename = "additionalScopes", skip_serializing_if = "Option::is_none")]
47 pub additional_scopes: Option<String>,
48 #[serde(
49 rename = "additionalUserIdClaimTypes",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub additional_user_id_claim_types: Option<String>,
53 #[serde(
54 rename = "additionalEmailClaimTypes",
55 skip_serializing_if = "Option::is_none"
56 )]
57 pub additional_email_claim_types: Option<String>,
58 #[serde(
59 rename = "additionalNameClaimTypes",
60 skip_serializing_if = "Option::is_none"
61 )]
62 pub additional_name_claim_types: Option<String>,
63 #[serde(rename = "acrValues", skip_serializing_if = "Option::is_none")]
64 pub acr_values: Option<String>,
65 #[serde(
66 rename = "expectedReturnAcrValue",
67 skip_serializing_if = "Option::is_none"
68 )]
69 pub expected_return_acr_value: Option<String>,
70 #[serde(rename = "spUniqueEntityId", skip_serializing_if = "Option::is_none")]
71 pub sp_unique_entity_id: Option<bool>,
72 #[serde(rename = "spNameIdFormat", skip_serializing_if = "Option::is_none")]
73 pub sp_name_id_format: Option<models::Saml2NameIdFormat>,
74 #[serde(
75 rename = "spOutboundSigningAlgorithm",
76 skip_serializing_if = "Option::is_none"
77 )]
78 pub sp_outbound_signing_algorithm: Option<String>,
79 #[serde(rename = "spSigningBehavior", skip_serializing_if = "Option::is_none")]
80 pub sp_signing_behavior: Option<models::Saml2SigningBehavior>,
81 #[serde(
82 rename = "spWantAssertionsSigned",
83 skip_serializing_if = "Option::is_none"
84 )]
85 pub sp_want_assertions_signed: Option<bool>,
86 #[serde(
87 rename = "spValidateCertificates",
88 skip_serializing_if = "Option::is_none"
89 )]
90 pub sp_validate_certificates: Option<bool>,
91 #[serde(
92 rename = "spMinIncomingSigningAlgorithm",
93 skip_serializing_if = "Option::is_none"
94 )]
95 pub sp_min_incoming_signing_algorithm: Option<String>,
96 #[serde(rename = "idpEntityId", skip_serializing_if = "Option::is_none")]
97 pub idp_entity_id: Option<String>,
98 #[serde(rename = "idpBindingType", skip_serializing_if = "Option::is_none")]
99 pub idp_binding_type: Option<models::Saml2BindingType>,
100 #[serde(
101 rename = "idpSingleSignOnServiceUrl",
102 skip_serializing_if = "Option::is_none"
103 )]
104 pub idp_single_sign_on_service_url: Option<String>,
105 #[serde(
106 rename = "idpSingleLogoutServiceUrl",
107 skip_serializing_if = "Option::is_none"
108 )]
109 pub idp_single_logout_service_url: Option<String>,
110 #[serde(
111 rename = "idpArtifactResolutionServiceUrl",
112 skip_serializing_if = "Option::is_none"
113 )]
114 pub idp_artifact_resolution_service_url: Option<String>,
115 #[serde(rename = "idpX509PublicCert", skip_serializing_if = "Option::is_none")]
116 pub idp_x509_public_cert: Option<String>,
117 #[serde(
118 rename = "idpOutboundSigningAlgorithm",
119 skip_serializing_if = "Option::is_none"
120 )]
121 pub idp_outbound_signing_algorithm: Option<String>,
122 #[serde(
123 rename = "idpAllowUnsolicitedAuthnResponse",
124 skip_serializing_if = "Option::is_none"
125 )]
126 pub idp_allow_unsolicited_authn_response: Option<bool>,
127 #[serde(
128 rename = "idpDisableOutboundLogoutRequests",
129 skip_serializing_if = "Option::is_none"
130 )]
131 pub idp_disable_outbound_logout_requests: Option<bool>,
132 #[serde(
133 rename = "idpWantAuthnRequestsSigned",
134 skip_serializing_if = "Option::is_none"
135 )]
136 pub idp_want_authn_requests_signed: Option<bool>,
137}
138
139impl SsoConfigurationDataRequest {
140 pub fn new(config_type: models::SsoType) -> SsoConfigurationDataRequest {
141 SsoConfigurationDataRequest {
142 config_type,
143 member_decryption_type: None,
144 key_connector_enabled: None,
145 key_connector_url: None,
146 authority: None,
147 client_id: None,
148 client_secret: None,
149 metadata_address: None,
150 redirect_behavior: None,
151 get_claims_from_user_info_endpoint: None,
152 additional_scopes: None,
153 additional_user_id_claim_types: None,
154 additional_email_claim_types: None,
155 additional_name_claim_types: None,
156 acr_values: None,
157 expected_return_acr_value: None,
158 sp_unique_entity_id: None,
159 sp_name_id_format: None,
160 sp_outbound_signing_algorithm: None,
161 sp_signing_behavior: None,
162 sp_want_assertions_signed: None,
163 sp_validate_certificates: None,
164 sp_min_incoming_signing_algorithm: None,
165 idp_entity_id: None,
166 idp_binding_type: None,
167 idp_single_sign_on_service_url: None,
168 idp_single_logout_service_url: None,
169 idp_artifact_resolution_service_url: None,
170 idp_x509_public_cert: None,
171 idp_outbound_signing_algorithm: None,
172 idp_allow_unsolicited_authn_response: None,
173 idp_disable_outbound_logout_requests: None,
174 idp_want_authn_requests_signed: None,
175 }
176 }
177}