/* * Copyright 2018-2023 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.quicksight.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* A structure that contains the following account information elements: *

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

* The account name that you provided for the Amazon QuickSight subscription in your Amazon Web Services account. * You create this name when you sign up for Amazon QuickSight. It's unique over all of Amazon Web Services, and it * appears only when users sign in. *

*/ private String accountName; /** *

* The edition of your Amazon QuickSight account. *

*/ private String edition; /** *

* The email address that will be used for Amazon QuickSight to send notifications regarding your Amazon Web * Services account or Amazon QuickSight subscription. *

*/ private String notificationEmail; /** *

* The way that your Amazon QuickSight account is authenticated. *

*/ private String authenticationType; /** *

* The status of your account subscription. *

*/ private String accountSubscriptionStatus; /** *

* The account name that you provided for the Amazon QuickSight subscription in your Amazon Web Services account. * You create this name when you sign up for Amazon QuickSight. It's unique over all of Amazon Web Services, and it * appears only when users sign in. *

* * @param accountName * The account name that you provided for the Amazon QuickSight subscription in your Amazon Web Services * account. You create this name when you sign up for Amazon QuickSight. It's unique over all of Amazon Web * Services, and it appears only when users sign in. */ public void setAccountName(String accountName) { this.accountName = accountName; } /** *

* The account name that you provided for the Amazon QuickSight subscription in your Amazon Web Services account. * You create this name when you sign up for Amazon QuickSight. It's unique over all of Amazon Web Services, and it * appears only when users sign in. *

* * @return The account name that you provided for the Amazon QuickSight subscription in your Amazon Web Services * account. You create this name when you sign up for Amazon QuickSight. It's unique over all of Amazon Web * Services, and it appears only when users sign in. */ public String getAccountName() { return this.accountName; } /** *

* The account name that you provided for the Amazon QuickSight subscription in your Amazon Web Services account. * You create this name when you sign up for Amazon QuickSight. It's unique over all of Amazon Web Services, and it * appears only when users sign in. *

* * @param accountName * The account name that you provided for the Amazon QuickSight subscription in your Amazon Web Services * account. You create this name when you sign up for Amazon QuickSight. It's unique over all of Amazon Web * Services, and it appears only when users sign in. * @return Returns a reference to this object so that method calls can be chained together. */ public AccountInfo withAccountName(String accountName) { setAccountName(accountName); return this; } /** *

* The edition of your Amazon QuickSight account. *

* * @param edition * The edition of your Amazon QuickSight account. * @see Edition */ public void setEdition(String edition) { this.edition = edition; } /** *

* The edition of your Amazon QuickSight account. *

* * @return The edition of your Amazon QuickSight account. * @see Edition */ public String getEdition() { return this.edition; } /** *

* The edition of your Amazon QuickSight account. *

* * @param edition * The edition of your Amazon QuickSight account. * @return Returns a reference to this object so that method calls can be chained together. * @see Edition */ public AccountInfo withEdition(String edition) { setEdition(edition); return this; } /** *

* The edition of your Amazon QuickSight account. *

* * @param edition * The edition of your Amazon QuickSight account. * @return Returns a reference to this object so that method calls can be chained together. * @see Edition */ public AccountInfo withEdition(Edition edition) { this.edition = edition.toString(); return this; } /** *

* The email address that will be used for Amazon QuickSight to send notifications regarding your Amazon Web * Services account or Amazon QuickSight subscription. *

* * @param notificationEmail * The email address that will be used for Amazon QuickSight to send notifications regarding your Amazon Web * Services account or Amazon QuickSight subscription. */ public void setNotificationEmail(String notificationEmail) { this.notificationEmail = notificationEmail; } /** *

* The email address that will be used for Amazon QuickSight to send notifications regarding your Amazon Web * Services account or Amazon QuickSight subscription. *

* * @return The email address that will be used for Amazon QuickSight to send notifications regarding your Amazon Web * Services account or Amazon QuickSight subscription. */ public String getNotificationEmail() { return this.notificationEmail; } /** *

* The email address that will be used for Amazon QuickSight to send notifications regarding your Amazon Web * Services account or Amazon QuickSight subscription. *

* * @param notificationEmail * The email address that will be used for Amazon QuickSight to send notifications regarding your Amazon Web * Services account or Amazon QuickSight subscription. * @return Returns a reference to this object so that method calls can be chained together. */ public AccountInfo withNotificationEmail(String notificationEmail) { setNotificationEmail(notificationEmail); return this; } /** *

* The way that your Amazon QuickSight account is authenticated. *

* * @param authenticationType * The way that your Amazon QuickSight account is authenticated. */ public void setAuthenticationType(String authenticationType) { this.authenticationType = authenticationType; } /** *

* The way that your Amazon QuickSight account is authenticated. *

* * @return The way that your Amazon QuickSight account is authenticated. */ public String getAuthenticationType() { return this.authenticationType; } /** *

* The way that your Amazon QuickSight account is authenticated. *

* * @param authenticationType * The way that your Amazon QuickSight account is authenticated. * @return Returns a reference to this object so that method calls can be chained together. */ public AccountInfo withAuthenticationType(String authenticationType) { setAuthenticationType(authenticationType); return this; } /** *

* The status of your account subscription. *

* * @param accountSubscriptionStatus * The status of your account subscription. */ public void setAccountSubscriptionStatus(String accountSubscriptionStatus) { this.accountSubscriptionStatus = accountSubscriptionStatus; } /** *

* The status of your account subscription. *

* * @return The status of your account subscription. */ public String getAccountSubscriptionStatus() { return this.accountSubscriptionStatus; } /** *

* The status of your account subscription. *

* * @param accountSubscriptionStatus * The status of your account subscription. * @return Returns a reference to this object so that method calls can be chained together. */ public AccountInfo withAccountSubscriptionStatus(String accountSubscriptionStatus) { setAccountSubscriptionStatus(accountSubscriptionStatus); 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 (getAccountName() != null) sb.append("AccountName: ").append(getAccountName()).append(","); if (getEdition() != null) sb.append("Edition: ").append(getEdition()).append(","); if (getNotificationEmail() != null) sb.append("NotificationEmail: ").append(getNotificationEmail()).append(","); if (getAuthenticationType() != null) sb.append("AuthenticationType: ").append(getAuthenticationType()).append(","); if (getAccountSubscriptionStatus() != null) sb.append("AccountSubscriptionStatus: ").append(getAccountSubscriptionStatus()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof AccountInfo == false) return false; AccountInfo other = (AccountInfo) obj; if (other.getAccountName() == null ^ this.getAccountName() == null) return false; if (other.getAccountName() != null && other.getAccountName().equals(this.getAccountName()) == false) return false; if (other.getEdition() == null ^ this.getEdition() == null) return false; if (other.getEdition() != null && other.getEdition().equals(this.getEdition()) == false) return false; if (other.getNotificationEmail() == null ^ this.getNotificationEmail() == null) return false; if (other.getNotificationEmail() != null && other.getNotificationEmail().equals(this.getNotificationEmail()) == false) return false; if (other.getAuthenticationType() == null ^ this.getAuthenticationType() == null) return false; if (other.getAuthenticationType() != null && other.getAuthenticationType().equals(this.getAuthenticationType()) == false) return false; if (other.getAccountSubscriptionStatus() == null ^ this.getAccountSubscriptionStatus() == null) return false; if (other.getAccountSubscriptionStatus() != null && other.getAccountSubscriptionStatus().equals(this.getAccountSubscriptionStatus()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAccountName() == null) ? 0 : getAccountName().hashCode()); hashCode = prime * hashCode + ((getEdition() == null) ? 0 : getEdition().hashCode()); hashCode = prime * hashCode + ((getNotificationEmail() == null) ? 0 : getNotificationEmail().hashCode()); hashCode = prime * hashCode + ((getAuthenticationType() == null) ? 0 : getAuthenticationType().hashCode()); hashCode = prime * hashCode + ((getAccountSubscriptionStatus() == null) ? 0 : getAccountSubscriptionStatus().hashCode()); return hashCode; } @Override public AccountInfo clone() { try { return (AccountInfo) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.quicksight.model.transform.AccountInfoMarshaller.getInstance().marshall(this, protocolMarshaller); } }