1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateIdentityProvider`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`user_pool_id(impl Into<String>)`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::user_pool_id) / [`set_user_pool_id(Option<String>)`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::set_user_pool_id):<br>required: **true**<br><p>The user pool ID.</p><br>
    ///   - [`provider_name(impl Into<String>)`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::provider_name) / [`set_provider_name(Option<String>)`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::set_provider_name):<br>required: **true**<br><p>The IdP name.</p><br>
    ///   - [`provider_type(IdentityProviderTypeType)`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::provider_type) / [`set_provider_type(Option<IdentityProviderTypeType>)`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::set_provider_type):<br>required: **true**<br><p>The IdP type.</p><br>
    ///   - [`provider_details(impl Into<String>, impl Into<String>)`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::provider_details) / [`set_provider_details(Option<HashMap::<String, String>>)`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::set_provider_details):<br>required: **true**<br><p>The IdP details. The following list describes the provider detail keys for each IdP type.</p> <ul>  <li>   <p>For Google and Login with Amazon:</p>   <ul>    <li>     <p>client_id</p></li>    <li>     <p>client_secret</p></li>    <li>     <p>authorize_scopes</p></li>   </ul></li>  <li>   <p>For Facebook:</p>   <ul>    <li>     <p>client_id</p></li>    <li>     <p>client_secret</p></li>    <li>     <p>authorize_scopes</p></li>    <li>     <p>api_version</p></li>   </ul></li>  <li>   <p>For Sign in with Apple:</p>   <ul>    <li>     <p>client_id</p></li>    <li>     <p>team_id</p></li>    <li>     <p>key_id</p></li>    <li>     <p>private_key</p></li>    <li>     <p>authorize_scopes</p></li>   </ul></li>  <li>   <p>For OpenID Connect (OIDC) providers:</p>   <ul>    <li>     <p>client_id</p></li>    <li>     <p>client_secret</p></li>    <li>     <p>attributes_request_method</p></li>    <li>     <p>oidc_issuer</p></li>    <li>     <p>authorize_scopes</p></li>    <li>     <p>The following keys are only present if Amazon Cognito didn't discover them at the <code>oidc_issuer</code> URL.</p>     <ul>      <li>       <p>authorize_url</p></li>      <li>       <p>token_url</p></li>      <li>       <p>attributes_url</p></li>      <li>       <p>jwks_uri</p></li>     </ul></li>    <li>     <p>Amazon Cognito sets the value of the following keys automatically. They are read-only.</p>     <ul>      <li>       <p>attributes_url_add_attributes</p></li>     </ul></li>   </ul></li>  <li>   <p>For SAML providers:</p>   <ul>    <li>     <p>MetadataFile or MetadataURL</p></li>    <li>     <p>IDPSignout <i>optional</i></p></li>   </ul></li> </ul><br>
    ///   - [`attribute_mapping(impl Into<String>, impl Into<String>)`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::attribute_mapping) / [`set_attribute_mapping(Option<HashMap::<String, String>>)`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::set_attribute_mapping):<br>required: **false**<br><p>A mapping of IdP attributes to standard and custom user pool attributes.</p><br>
    ///   - [`idp_identifiers(impl Into<String>)`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::idp_identifiers) / [`set_idp_identifiers(Option<Vec::<String>>)`](crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::set_idp_identifiers):<br>required: **false**<br><p>A list of IdP identifiers.</p><br>
    /// - On success, responds with [`CreateIdentityProviderOutput`](crate::operation::create_identity_provider::CreateIdentityProviderOutput) with field(s):
    ///   - [`identity_provider(Option<IdentityProviderType>)`](crate::operation::create_identity_provider::CreateIdentityProviderOutput::identity_provider): <p>The newly created IdP object.</p>
    /// - On failure, responds with [`SdkError<CreateIdentityProviderError>`](crate::operation::create_identity_provider::CreateIdentityProviderError)
    pub fn create_identity_provider(&self) -> crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder {
        crate::operation::create_identity_provider::builders::CreateIdentityProviderFluentBuilder::new(self.handle.clone())
    }
}