All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.cognitoidentityprovider.model.SetUserPoolMfaConfigResponse Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Cognito Identity Provider Service module holds the client classes that are used for communicating with Amazon Cognito Identity Provider Service.

There is a newer version: 2.30.1
Show newest version
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.cognitoidentityprovider.model;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 */
@Generated("software.amazon.awssdk:codegen")
public final class SetUserPoolMfaConfigResponse extends CognitoIdentityProviderResponse implements
        ToCopyableBuilder {
    private static final SdkField SMS_MFA_CONFIGURATION_FIELD = SdkField
            . builder(MarshallingType.SDK_POJO).memberName("SmsMfaConfiguration")
            .getter(getter(SetUserPoolMfaConfigResponse::smsMfaConfiguration)).setter(setter(Builder::smsMfaConfiguration))
            .constructor(SmsMfaConfigType::builder)
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SmsMfaConfiguration").build())
            .build();

    private static final SdkField SOFTWARE_TOKEN_MFA_CONFIGURATION_FIELD = SdkField
            . builder(MarshallingType.SDK_POJO)
            .memberName("SoftwareTokenMfaConfiguration")
            .getter(getter(SetUserPoolMfaConfigResponse::softwareTokenMfaConfiguration))
            .setter(setter(Builder::softwareTokenMfaConfiguration))
            .constructor(SoftwareTokenMfaConfigType::builder)
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SoftwareTokenMfaConfiguration")
                    .build()).build();

    private static final SdkField MFA_CONFIGURATION_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("MfaConfiguration").getter(getter(SetUserPoolMfaConfigResponse::mfaConfigurationAsString))
            .setter(setter(Builder::mfaConfiguration))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MfaConfiguration").build()).build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(SMS_MFA_CONFIGURATION_FIELD,
            SOFTWARE_TOKEN_MFA_CONFIGURATION_FIELD, MFA_CONFIGURATION_FIELD));

    private final SmsMfaConfigType smsMfaConfiguration;

    private final SoftwareTokenMfaConfigType softwareTokenMfaConfiguration;

    private final String mfaConfiguration;

    private SetUserPoolMfaConfigResponse(BuilderImpl builder) {
        super(builder);
        this.smsMfaConfiguration = builder.smsMfaConfiguration;
        this.softwareTokenMfaConfiguration = builder.softwareTokenMfaConfiguration;
        this.mfaConfiguration = builder.mfaConfiguration;
    }

    /**
     * 

* The SMS text message MFA configuration. *

* * @return The SMS text message MFA configuration. */ public final SmsMfaConfigType smsMfaConfiguration() { return smsMfaConfiguration; } /** *

* The software token MFA configuration. *

* * @return The software token MFA configuration. */ public final SoftwareTokenMfaConfigType softwareTokenMfaConfiguration() { return softwareTokenMfaConfiguration; } /** *

* The MFA configuration. Valid values include: *

*
    *
  • *

    * OFF MFA won't be used for any users. *

    *
  • *
  • *

    * ON MFA is required for all users to sign in. *

    *
  • *
  • *

    * OPTIONAL MFA will be required only for individual users who have an MFA factor enabled. *

    *
  • *
*

* If the service returns an enum value that is not available in the current SDK version, {@link #mfaConfiguration} * will return {@link UserPoolMfaType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available * from {@link #mfaConfigurationAsString}. *

* * @return The MFA configuration. Valid values include:

*
    *
  • *

    * OFF MFA won't be used for any users. *

    *
  • *
  • *

    * ON MFA is required for all users to sign in. *

    *
  • *
  • *

    * OPTIONAL MFA will be required only for individual users who have an MFA factor enabled. *

    *
  • * @see UserPoolMfaType */ public final UserPoolMfaType mfaConfiguration() { return UserPoolMfaType.fromValue(mfaConfiguration); } /** *

    * The MFA configuration. Valid values include: *

    *
      *
    • *

      * OFF MFA won't be used for any users. *

      *
    • *
    • *

      * ON MFA is required for all users to sign in. *

      *
    • *
    • *

      * OPTIONAL MFA will be required only for individual users who have an MFA factor enabled. *

      *
    • *
    *

    * If the service returns an enum value that is not available in the current SDK version, {@link #mfaConfiguration} * will return {@link UserPoolMfaType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available * from {@link #mfaConfigurationAsString}. *

    * * @return The MFA configuration. Valid values include:

    *
      *
    • *

      * OFF MFA won't be used for any users. *

      *
    • *
    • *

      * ON MFA is required for all users to sign in. *

      *
    • *
    • *

      * OPTIONAL MFA will be required only for individual users who have an MFA factor enabled. *

      *
    • * @see UserPoolMfaType */ public final String mfaConfigurationAsString() { return mfaConfiguration; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + super.hashCode(); hashCode = 31 * hashCode + Objects.hashCode(smsMfaConfiguration()); hashCode = 31 * hashCode + Objects.hashCode(softwareTokenMfaConfiguration()); hashCode = 31 * hashCode + Objects.hashCode(mfaConfigurationAsString()); return hashCode; } @Override public final boolean equals(Object obj) { return super.equals(obj) && equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof SetUserPoolMfaConfigResponse)) { return false; } SetUserPoolMfaConfigResponse other = (SetUserPoolMfaConfigResponse) obj; return Objects.equals(smsMfaConfiguration(), other.smsMfaConfiguration()) && Objects.equals(softwareTokenMfaConfiguration(), other.softwareTokenMfaConfiguration()) && Objects.equals(mfaConfigurationAsString(), other.mfaConfigurationAsString()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString.builder("SetUserPoolMfaConfigResponse").add("SmsMfaConfiguration", smsMfaConfiguration()) .add("SoftwareTokenMfaConfiguration", softwareTokenMfaConfiguration()) .add("MfaConfiguration", mfaConfigurationAsString()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "SmsMfaConfiguration": return Optional.ofNullable(clazz.cast(smsMfaConfiguration())); case "SoftwareTokenMfaConfiguration": return Optional.ofNullable(clazz.cast(softwareTokenMfaConfiguration())); case "MfaConfiguration": return Optional.ofNullable(clazz.cast(mfaConfigurationAsString())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((SetUserPoolMfaConfigResponse) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends CognitoIdentityProviderResponse.Builder, SdkPojo, CopyableBuilder { /** *

      * The SMS text message MFA configuration. *

      * * @param smsMfaConfiguration * The SMS text message MFA configuration. * @return Returns a reference to this object so that method calls can be chained together. */ Builder smsMfaConfiguration(SmsMfaConfigType smsMfaConfiguration); /** *

      * The SMS text message MFA configuration. *

      * This is a convenience method that creates an instance of the {@link SmsMfaConfigType.Builder} avoiding the * need to create one manually via {@link SmsMfaConfigType#builder()}. * *

      * When the {@link Consumer} completes, {@link SmsMfaConfigType.Builder#build()} is called immediately and its * result is passed to {@link #smsMfaConfiguration(SmsMfaConfigType)}. * * @param smsMfaConfiguration * a consumer that will call methods on {@link SmsMfaConfigType.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #smsMfaConfiguration(SmsMfaConfigType) */ default Builder smsMfaConfiguration(Consumer smsMfaConfiguration) { return smsMfaConfiguration(SmsMfaConfigType.builder().applyMutation(smsMfaConfiguration).build()); } /** *

      * The software token MFA configuration. *

      * * @param softwareTokenMfaConfiguration * The software token MFA configuration. * @return Returns a reference to this object so that method calls can be chained together. */ Builder softwareTokenMfaConfiguration(SoftwareTokenMfaConfigType softwareTokenMfaConfiguration); /** *

      * The software token MFA configuration. *

      * This is a convenience method that creates an instance of the {@link SoftwareTokenMfaConfigType.Builder} * avoiding the need to create one manually via {@link SoftwareTokenMfaConfigType#builder()}. * *

      * When the {@link Consumer} completes, {@link SoftwareTokenMfaConfigType.Builder#build()} is called immediately * and its result is passed to {@link #softwareTokenMfaConfiguration(SoftwareTokenMfaConfigType)}. * * @param softwareTokenMfaConfiguration * a consumer that will call methods on {@link SoftwareTokenMfaConfigType.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #softwareTokenMfaConfiguration(SoftwareTokenMfaConfigType) */ default Builder softwareTokenMfaConfiguration(Consumer softwareTokenMfaConfiguration) { return softwareTokenMfaConfiguration(SoftwareTokenMfaConfigType.builder() .applyMutation(softwareTokenMfaConfiguration).build()); } /** *

      * The MFA configuration. Valid values include: *

      *
        *
      • *

        * OFF MFA won't be used for any users. *

        *
      • *
      • *

        * ON MFA is required for all users to sign in. *

        *
      • *
      • *

        * OPTIONAL MFA will be required only for individual users who have an MFA factor enabled. *

        *
      • *
      * * @param mfaConfiguration * The MFA configuration. Valid values include:

      *
        *
      • *

        * OFF MFA won't be used for any users. *

        *
      • *
      • *

        * ON MFA is required for all users to sign in. *

        *
      • *
      • *

        * OPTIONAL MFA will be required only for individual users who have an MFA factor enabled. *

        *
      • * @see UserPoolMfaType * @return Returns a reference to this object so that method calls can be chained together. * @see UserPoolMfaType */ Builder mfaConfiguration(String mfaConfiguration); /** *

        * The MFA configuration. Valid values include: *

        *
          *
        • *

          * OFF MFA won't be used for any users. *

          *
        • *
        • *

          * ON MFA is required for all users to sign in. *

          *
        • *
        • *

          * OPTIONAL MFA will be required only for individual users who have an MFA factor enabled. *

          *
        • *
        * * @param mfaConfiguration * The MFA configuration. Valid values include:

        *
          *
        • *

          * OFF MFA won't be used for any users. *

          *
        • *
        • *

          * ON MFA is required for all users to sign in. *

          *
        • *
        • *

          * OPTIONAL MFA will be required only for individual users who have an MFA factor enabled. *

          *
        • * @see UserPoolMfaType * @return Returns a reference to this object so that method calls can be chained together. * @see UserPoolMfaType */ Builder mfaConfiguration(UserPoolMfaType mfaConfiguration); } static final class BuilderImpl extends CognitoIdentityProviderResponse.BuilderImpl implements Builder { private SmsMfaConfigType smsMfaConfiguration; private SoftwareTokenMfaConfigType softwareTokenMfaConfiguration; private String mfaConfiguration; private BuilderImpl() { } private BuilderImpl(SetUserPoolMfaConfigResponse model) { super(model); smsMfaConfiguration(model.smsMfaConfiguration); softwareTokenMfaConfiguration(model.softwareTokenMfaConfiguration); mfaConfiguration(model.mfaConfiguration); } public final SmsMfaConfigType.Builder getSmsMfaConfiguration() { return smsMfaConfiguration != null ? smsMfaConfiguration.toBuilder() : null; } public final void setSmsMfaConfiguration(SmsMfaConfigType.BuilderImpl smsMfaConfiguration) { this.smsMfaConfiguration = smsMfaConfiguration != null ? smsMfaConfiguration.build() : null; } @Override public final Builder smsMfaConfiguration(SmsMfaConfigType smsMfaConfiguration) { this.smsMfaConfiguration = smsMfaConfiguration; return this; } public final SoftwareTokenMfaConfigType.Builder getSoftwareTokenMfaConfiguration() { return softwareTokenMfaConfiguration != null ? softwareTokenMfaConfiguration.toBuilder() : null; } public final void setSoftwareTokenMfaConfiguration(SoftwareTokenMfaConfigType.BuilderImpl softwareTokenMfaConfiguration) { this.softwareTokenMfaConfiguration = softwareTokenMfaConfiguration != null ? softwareTokenMfaConfiguration.build() : null; } @Override public final Builder softwareTokenMfaConfiguration(SoftwareTokenMfaConfigType softwareTokenMfaConfiguration) { this.softwareTokenMfaConfiguration = softwareTokenMfaConfiguration; return this; } public final String getMfaConfiguration() { return mfaConfiguration; } public final void setMfaConfiguration(String mfaConfiguration) { this.mfaConfiguration = mfaConfiguration; } @Override public final Builder mfaConfiguration(String mfaConfiguration) { this.mfaConfiguration = mfaConfiguration; return this; } @Override public final Builder mfaConfiguration(UserPoolMfaType mfaConfiguration) { this.mfaConfiguration(mfaConfiguration == null ? null : mfaConfiguration.toString()); return this; } @Override public SetUserPoolMfaConfigResponse build() { return new SetUserPoolMfaConfigResponse(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy