Struct aws_sdk_workspacesweb::model::identity_provider::Builder
source · pub struct Builder { /* private fields */ }
Expand description
A builder for IdentityProvider
.
Implementations§
source§impl Builder
impl Builder
sourcepub fn identity_provider_arn(self, input: impl Into<String>) -> Self
pub fn identity_provider_arn(self, input: impl Into<String>) -> Self
The ARN of the identity provider.
sourcepub fn set_identity_provider_arn(self, input: Option<String>) -> Self
pub fn set_identity_provider_arn(self, input: Option<String>) -> Self
The ARN of the identity provider.
Examples found in repository?
2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378
pub(crate) fn deser_structure_crate_model_identity_provider<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::IdentityProvider>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::identity_provider::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"identityProviderArn" => {
builder = builder.set_identity_provider_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"identityProviderName" => {
builder = builder.set_identity_provider_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"identityProviderType" => {
builder = builder.set_identity_provider_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::IdentityProviderType::from(u.as_ref())
})
})
.transpose()?,
);
}
"identityProviderDetails" => {
builder = builder.set_identity_provider_details(
crate::json_deser::deser_map_com_amazonaws_workspacesweb_identity_provider_details(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn identity_provider_name(self, input: impl Into<String>) -> Self
pub fn identity_provider_name(self, input: impl Into<String>) -> Self
The identity provider name.
sourcepub fn set_identity_provider_name(self, input: Option<String>) -> Self
pub fn set_identity_provider_name(self, input: Option<String>) -> Self
The identity provider name.
Examples found in repository?
2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378
pub(crate) fn deser_structure_crate_model_identity_provider<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::IdentityProvider>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::identity_provider::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"identityProviderArn" => {
builder = builder.set_identity_provider_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"identityProviderName" => {
builder = builder.set_identity_provider_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"identityProviderType" => {
builder = builder.set_identity_provider_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::IdentityProviderType::from(u.as_ref())
})
})
.transpose()?,
);
}
"identityProviderDetails" => {
builder = builder.set_identity_provider_details(
crate::json_deser::deser_map_com_amazonaws_workspacesweb_identity_provider_details(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn identity_provider_type(self, input: IdentityProviderType) -> Self
pub fn identity_provider_type(self, input: IdentityProviderType) -> Self
The identity provider type.
sourcepub fn set_identity_provider_type(
self,
input: Option<IdentityProviderType>
) -> Self
pub fn set_identity_provider_type(
self,
input: Option<IdentityProviderType>
) -> Self
The identity provider type.
Examples found in repository?
2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378
pub(crate) fn deser_structure_crate_model_identity_provider<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::IdentityProvider>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::identity_provider::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"identityProviderArn" => {
builder = builder.set_identity_provider_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"identityProviderName" => {
builder = builder.set_identity_provider_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"identityProviderType" => {
builder = builder.set_identity_provider_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::IdentityProviderType::from(u.as_ref())
})
})
.transpose()?,
);
}
"identityProviderDetails" => {
builder = builder.set_identity_provider_details(
crate::json_deser::deser_map_com_amazonaws_workspacesweb_identity_provider_details(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn identity_provider_details(
self,
k: impl Into<String>,
v: impl Into<String>
) -> Self
pub fn identity_provider_details(
self,
k: impl Into<String>,
v: impl Into<String>
) -> Self
Adds a key-value pair to identity_provider_details
.
To override the contents of this collection use set_identity_provider_details
.
The identity provider details. The following list describes the provider detail keys for each identity provider type.
-
For Google and Login with Amazon:
-
client_id
-
client_secret
-
authorize_scopes
-
-
For Facebook:
-
client_id
-
client_secret
-
authorize_scopes
-
api_version
-
-
For Sign in with Apple:
-
client_id
-
team_id
-
key_id
-
private_key
-
authorize_scopes
-
-
For OIDC providers:
-
client_id
-
client_secret
-
attributes_request_method
-
oidc_issuer
-
authorize_scopes
-
authorize_url
if not available from discovery URL specified by oidc_issuer key -
token_url
if not available from discovery URL specified by oidc_issuer key -
attributes_url
if not available from discovery URL specified by oidc_issuer key -
jwks_uri
if not available from discovery URL specified by oidc_issuer key
-
-
For SAML providers:
-
MetadataFile
ORMetadataURL
-
IDPSignout
optional
-
sourcepub fn set_identity_provider_details(
self,
input: Option<HashMap<String, String>>
) -> Self
pub fn set_identity_provider_details(
self,
input: Option<HashMap<String, String>>
) -> Self
The identity provider details. The following list describes the provider detail keys for each identity provider type.
-
For Google and Login with Amazon:
-
client_id
-
client_secret
-
authorize_scopes
-
-
For Facebook:
-
client_id
-
client_secret
-
authorize_scopes
-
api_version
-
-
For Sign in with Apple:
-
client_id
-
team_id
-
key_id
-
private_key
-
authorize_scopes
-
-
For OIDC providers:
-
client_id
-
client_secret
-
attributes_request_method
-
oidc_issuer
-
authorize_scopes
-
authorize_url
if not available from discovery URL specified by oidc_issuer key -
token_url
if not available from discovery URL specified by oidc_issuer key -
attributes_url
if not available from discovery URL specified by oidc_issuer key -
jwks_uri
if not available from discovery URL specified by oidc_issuer key
-
-
For SAML providers:
-
MetadataFile
ORMetadataURL
-
IDPSignout
optional
-
Examples found in repository?
2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378
pub(crate) fn deser_structure_crate_model_identity_provider<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::IdentityProvider>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::identity_provider::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"identityProviderArn" => {
builder = builder.set_identity_provider_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"identityProviderName" => {
builder = builder.set_identity_provider_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"identityProviderType" => {
builder = builder.set_identity_provider_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::IdentityProviderType::from(u.as_ref())
})
})
.transpose()?,
);
}
"identityProviderDetails" => {
builder = builder.set_identity_provider_details(
crate::json_deser::deser_map_com_amazonaws_workspacesweb_identity_provider_details(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn build(self) -> IdentityProvider
pub fn build(self) -> IdentityProvider
Consumes the builder and constructs a IdentityProvider
.
Examples found in repository?
2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378
pub(crate) fn deser_structure_crate_model_identity_provider<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::IdentityProvider>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::identity_provider::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"identityProviderArn" => {
builder = builder.set_identity_provider_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"identityProviderName" => {
builder = builder.set_identity_provider_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"identityProviderType" => {
builder = builder.set_identity_provider_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::IdentityProviderType::from(u.as_ref())
})
})
.transpose()?,
);
}
"identityProviderDetails" => {
builder = builder.set_identity_provider_details(
crate::json_deser::deser_map_com_amazonaws_workspacesweb_identity_provider_details(tokens)?
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}