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

com.amazonaws.services.identitymanagement.model.VirtualMFADevice Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS IAM module holds the client classes that are used for communicating with AWS Identity and Access Management Service

The newest version!
/*
 * Copyright 2020-2025 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 com.amazonaws.services.identitymanagement.model;

import java.io.Serializable;
import javax.annotation.Generated;

/**
 * 

* Contains information about a virtual MFA device. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class VirtualMFADevice implements Serializable, Cloneable { /** *

* The serial number associated with VirtualMFADevice. *

*/ private String serialNumber; /** *

* The base32 seed defined as specified in RFC3548. The * Base32StringSeed is base32-encoded. *

*/ private java.nio.ByteBuffer base32StringSeed; /** *

* A QR code PNG image that encodes * otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where * $virtualMFADeviceName is one of the create call arguments. AccountName is the user name * if set (otherwise, the account ID otherwise), and Base32String is the seed in base32 format. The * Base32String value is base64-encoded. *

*/ private java.nio.ByteBuffer qRCodePNG; /** *

* The IAM user associated with this virtual MFA device. *

*/ private User user; /** *

* The date and time on which the virtual MFA device was enabled. *

*/ private java.util.Date enableDate; /** *

* A list of tags that are attached to the virtual MFA device. For more information about tagging, see Tagging IAM resources in the IAM User * Guide. *

*/ private com.amazonaws.internal.SdkInternalList tags; /** *

* The serial number associated with VirtualMFADevice. *

* * @param serialNumber * The serial number associated with VirtualMFADevice. */ public void setSerialNumber(String serialNumber) { this.serialNumber = serialNumber; } /** *

* The serial number associated with VirtualMFADevice. *

* * @return The serial number associated with VirtualMFADevice. */ public String getSerialNumber() { return this.serialNumber; } /** *

* The serial number associated with VirtualMFADevice. *

* * @param serialNumber * The serial number associated with VirtualMFADevice. * @return Returns a reference to this object so that method calls can be chained together. */ public VirtualMFADevice withSerialNumber(String serialNumber) { setSerialNumber(serialNumber); return this; } /** *

* The base32 seed defined as specified in RFC3548. The * Base32StringSeed is base32-encoded. *

*

* The AWS SDK for Java performs a Base64 encoding on this field before sending this request to the AWS service. * Users of the SDK should not perform Base64 encoding on this field. *

*

* Warning: ByteBuffers returned by the SDK are mutable. Changes to the content or position of the byte buffer will * be seen by all objects that have a reference to this object. It is recommended to call ByteBuffer.duplicate() or * ByteBuffer.asReadOnlyBuffer() before using or reading from the buffer. This behavior will be changed in a future * major version of the SDK. *

* * @param base32StringSeed * The base32 seed defined as specified in RFC3548. The * Base32StringSeed is base32-encoded. */ public void setBase32StringSeed(java.nio.ByteBuffer base32StringSeed) { this.base32StringSeed = base32StringSeed; } /** *

* The base32 seed defined as specified in RFC3548. The * Base32StringSeed is base32-encoded. *

*

* {@code ByteBuffer}s are stateful. Calling their {@code get} methods changes their {@code position}. We recommend * using {@link java.nio.ByteBuffer#asReadOnlyBuffer()} to create a read-only view of the buffer with an independent * {@code position}, and calling {@code get} methods on this rather than directly on the returned {@code ByteBuffer}. * Doing so will ensure that anyone else using the {@code ByteBuffer} will not be affected by changes to the * {@code position}. *

* * @return The base32 seed defined as specified in RFC3548. * The Base32StringSeed is base32-encoded. */ public java.nio.ByteBuffer getBase32StringSeed() { return this.base32StringSeed; } /** *

* The base32 seed defined as specified in RFC3548. The * Base32StringSeed is base32-encoded. *

*

* The AWS SDK for Java performs a Base64 encoding on this field before sending this request to the AWS service. * Users of the SDK should not perform Base64 encoding on this field. *

*

* Warning: ByteBuffers returned by the SDK are mutable. Changes to the content or position of the byte buffer will * be seen by all objects that have a reference to this object. It is recommended to call ByteBuffer.duplicate() or * ByteBuffer.asReadOnlyBuffer() before using or reading from the buffer. This behavior will be changed in a future * major version of the SDK. *

* * @param base32StringSeed * The base32 seed defined as specified in RFC3548. The * Base32StringSeed is base32-encoded. * @return Returns a reference to this object so that method calls can be chained together. */ public VirtualMFADevice withBase32StringSeed(java.nio.ByteBuffer base32StringSeed) { setBase32StringSeed(base32StringSeed); return this; } /** *

* A QR code PNG image that encodes * otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where * $virtualMFADeviceName is one of the create call arguments. AccountName is the user name * if set (otherwise, the account ID otherwise), and Base32String is the seed in base32 format. The * Base32String value is base64-encoded. *

*

* The AWS SDK for Java performs a Base64 encoding on this field before sending this request to the AWS service. * Users of the SDK should not perform Base64 encoding on this field. *

*

* Warning: ByteBuffers returned by the SDK are mutable. Changes to the content or position of the byte buffer will * be seen by all objects that have a reference to this object. It is recommended to call ByteBuffer.duplicate() or * ByteBuffer.asReadOnlyBuffer() before using or reading from the buffer. This behavior will be changed in a future * major version of the SDK. *

* * @param qRCodePNG * A QR code PNG image that encodes * otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where * $virtualMFADeviceName is one of the create call arguments. AccountName is the * user name if set (otherwise, the account ID otherwise), and Base32String is the seed in * base32 format. The Base32String value is base64-encoded. */ public void setQRCodePNG(java.nio.ByteBuffer qRCodePNG) { this.qRCodePNG = qRCodePNG; } /** *

* A QR code PNG image that encodes * otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where * $virtualMFADeviceName is one of the create call arguments. AccountName is the user name * if set (otherwise, the account ID otherwise), and Base32String is the seed in base32 format. The * Base32String value is base64-encoded. *

*

* {@code ByteBuffer}s are stateful. Calling their {@code get} methods changes their {@code position}. We recommend * using {@link java.nio.ByteBuffer#asReadOnlyBuffer()} to create a read-only view of the buffer with an independent * {@code position}, and calling {@code get} methods on this rather than directly on the returned {@code ByteBuffer}. * Doing so will ensure that anyone else using the {@code ByteBuffer} will not be affected by changes to the * {@code position}. *

* * @return A QR code PNG image that encodes * otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where * $virtualMFADeviceName is one of the create call arguments. AccountName is the * user name if set (otherwise, the account ID otherwise), and Base32String is the seed in * base32 format. The Base32String value is base64-encoded. */ public java.nio.ByteBuffer getQRCodePNG() { return this.qRCodePNG; } /** *

* A QR code PNG image that encodes * otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where * $virtualMFADeviceName is one of the create call arguments. AccountName is the user name * if set (otherwise, the account ID otherwise), and Base32String is the seed in base32 format. The * Base32String value is base64-encoded. *

*

* The AWS SDK for Java performs a Base64 encoding on this field before sending this request to the AWS service. * Users of the SDK should not perform Base64 encoding on this field. *

*

* Warning: ByteBuffers returned by the SDK are mutable. Changes to the content or position of the byte buffer will * be seen by all objects that have a reference to this object. It is recommended to call ByteBuffer.duplicate() or * ByteBuffer.asReadOnlyBuffer() before using or reading from the buffer. This behavior will be changed in a future * major version of the SDK. *

* * @param qRCodePNG * A QR code PNG image that encodes * otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where * $virtualMFADeviceName is one of the create call arguments. AccountName is the * user name if set (otherwise, the account ID otherwise), and Base32String is the seed in * base32 format. The Base32String value is base64-encoded. * @return Returns a reference to this object so that method calls can be chained together. */ public VirtualMFADevice withQRCodePNG(java.nio.ByteBuffer qRCodePNG) { setQRCodePNG(qRCodePNG); return this; } /** *

* The IAM user associated with this virtual MFA device. *

* * @param user * The IAM user associated with this virtual MFA device. */ public void setUser(User user) { this.user = user; } /** *

* The IAM user associated with this virtual MFA device. *

* * @return The IAM user associated with this virtual MFA device. */ public User getUser() { return this.user; } /** *

* The IAM user associated with this virtual MFA device. *

* * @param user * The IAM user associated with this virtual MFA device. * @return Returns a reference to this object so that method calls can be chained together. */ public VirtualMFADevice withUser(User user) { setUser(user); return this; } /** *

* The date and time on which the virtual MFA device was enabled. *

* * @param enableDate * The date and time on which the virtual MFA device was enabled. */ public void setEnableDate(java.util.Date enableDate) { this.enableDate = enableDate; } /** *

* The date and time on which the virtual MFA device was enabled. *

* * @return The date and time on which the virtual MFA device was enabled. */ public java.util.Date getEnableDate() { return this.enableDate; } /** *

* The date and time on which the virtual MFA device was enabled. *

* * @param enableDate * The date and time on which the virtual MFA device was enabled. * @return Returns a reference to this object so that method calls can be chained together. */ public VirtualMFADevice withEnableDate(java.util.Date enableDate) { setEnableDate(enableDate); return this; } /** *

* A list of tags that are attached to the virtual MFA device. For more information about tagging, see Tagging IAM resources in the IAM User * Guide. *

* * @return A list of tags that are attached to the virtual MFA device. For more information about tagging, see Tagging IAM resources in the * IAM User Guide. */ public java.util.List getTags() { if (tags == null) { tags = new com.amazonaws.internal.SdkInternalList(); } return tags; } /** *

* A list of tags that are attached to the virtual MFA device. For more information about tagging, see Tagging IAM resources in the IAM User * Guide. *

* * @param tags * A list of tags that are attached to the virtual MFA device. For more information about tagging, see Tagging IAM resources in the * IAM User Guide. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new com.amazonaws.internal.SdkInternalList(tags); } /** *

* A list of tags that are attached to the virtual MFA device. For more information about tagging, see Tagging IAM resources in the IAM User * Guide. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *

* * @param tags * A list of tags that are attached to the virtual MFA device. For more information about tagging, see Tagging IAM resources in the * IAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public VirtualMFADevice withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

* A list of tags that are attached to the virtual MFA device. For more information about tagging, see Tagging IAM resources in the IAM User * Guide. *

* * @param tags * A list of tags that are attached to the virtual MFA device. For more information about tagging, see Tagging IAM resources in the * IAM User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public VirtualMFADevice withTags(java.util.Collection tags) { setTags(tags); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getSerialNumber() != null) sb.append("SerialNumber: ").append(getSerialNumber()).append(","); if (getBase32StringSeed() != null) sb.append("Base32StringSeed: ").append("***Sensitive Data Redacted***").append(","); if (getQRCodePNG() != null) sb.append("QRCodePNG: ").append("***Sensitive Data Redacted***").append(","); if (getUser() != null) sb.append("User: ").append(getUser()).append(","); if (getEnableDate() != null) sb.append("EnableDate: ").append(getEnableDate()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof VirtualMFADevice == false) return false; VirtualMFADevice other = (VirtualMFADevice) obj; if (other.getSerialNumber() == null ^ this.getSerialNumber() == null) return false; if (other.getSerialNumber() != null && other.getSerialNumber().equals(this.getSerialNumber()) == false) return false; if (other.getBase32StringSeed() == null ^ this.getBase32StringSeed() == null) return false; if (other.getBase32StringSeed() != null && other.getBase32StringSeed().equals(this.getBase32StringSeed()) == false) return false; if (other.getQRCodePNG() == null ^ this.getQRCodePNG() == null) return false; if (other.getQRCodePNG() != null && other.getQRCodePNG().equals(this.getQRCodePNG()) == false) return false; if (other.getUser() == null ^ this.getUser() == null) return false; if (other.getUser() != null && other.getUser().equals(this.getUser()) == false) return false; if (other.getEnableDate() == null ^ this.getEnableDate() == null) return false; if (other.getEnableDate() != null && other.getEnableDate().equals(this.getEnableDate()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getSerialNumber() == null) ? 0 : getSerialNumber().hashCode()); hashCode = prime * hashCode + ((getBase32StringSeed() == null) ? 0 : getBase32StringSeed().hashCode()); hashCode = prime * hashCode + ((getQRCodePNG() == null) ? 0 : getQRCodePNG().hashCode()); hashCode = prime * hashCode + ((getUser() == null) ? 0 : getUser().hashCode()); hashCode = prime * hashCode + ((getEnableDate() == null) ? 0 : getEnableDate().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); return hashCode; } @Override public VirtualMFADevice clone() { try { return (VirtualMFADevice) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy