/* * 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; /** *
* The type of experience you want to embed. For registered users, you can embed Amazon QuickSight dashboards or the * Amazon QuickSight console. *
*
* Exactly one of the experience configurations is required. You can choose Dashboard or
* QuickSightConsole. You cannot choose more than one experience configuration.
*
* The configuration details for providing a dashboard embedding experience. *
*/ private RegisteredUserDashboardEmbeddingConfiguration dashboard; /** ** The configuration details for providing each Amazon QuickSight console embedding experience. This can be used * along with custom permissions to restrict access to certain features. For more information, see Customizing Access to the Amazon QuickSight Console in the Amazon QuickSight User Guide. *
*
* Use
* GenerateEmbedUrlForRegisteredUser
* where you want to provide an authoring portal that allows users to create data sources, datasets, analyses, and
* dashboards. The users who accesses an embedded Amazon QuickSight console needs to belong to the author or admin
* security cohort. If you want to restrict permissions to some of these features, add a custom permissions profile
* to the user with the
* UpdateUser
* API operation. Use the
* RegisterUser
* API operation to add a new user with a custom permission profile attached. For more information, see the
* following sections in the Amazon QuickSight User Guide:
*
* Embedding the Full Functionality of the Amazon QuickSight Console for Authenticated Users *
** For more information about the high-level steps for embedding and for an interactive demo of the ways you can * customize embedding, visit the Amazon QuickSight Developer * Portal. *
*/ private RegisteredUserQuickSightConsoleEmbeddingConfiguration quickSightConsole; /** ** The configuration details for embedding the Q search bar. *
** For more information about embedding the Q search bar, see Embedding Overview in the * Amazon QuickSight User Guide. *
*/ private RegisteredUserQSearchBarEmbeddingConfiguration qSearchBar; /** ** The type of embedding experience. In this case, Amazon QuickSight visuals. *
*/ private RegisteredUserDashboardVisualEmbeddingConfiguration dashboardVisual; /** ** The configuration details for providing a dashboard embedding experience. *
* * @param dashboard * The configuration details for providing a dashboard embedding experience. */ public void setDashboard(RegisteredUserDashboardEmbeddingConfiguration dashboard) { this.dashboard = dashboard; } /** ** The configuration details for providing a dashboard embedding experience. *
* * @return The configuration details for providing a dashboard embedding experience. */ public RegisteredUserDashboardEmbeddingConfiguration getDashboard() { return this.dashboard; } /** ** The configuration details for providing a dashboard embedding experience. *
* * @param dashboard * The configuration details for providing a dashboard embedding experience. * @return Returns a reference to this object so that method calls can be chained together. */ public RegisteredUserEmbeddingExperienceConfiguration withDashboard(RegisteredUserDashboardEmbeddingConfiguration dashboard) { setDashboard(dashboard); return this; } /** ** The configuration details for providing each Amazon QuickSight console embedding experience. This can be used * along with custom permissions to restrict access to certain features. For more information, see Customizing Access to the Amazon QuickSight Console in the Amazon QuickSight User Guide. *
*
* Use
* GenerateEmbedUrlForRegisteredUser
* where you want to provide an authoring portal that allows users to create data sources, datasets, analyses, and
* dashboards. The users who accesses an embedded Amazon QuickSight console needs to belong to the author or admin
* security cohort. If you want to restrict permissions to some of these features, add a custom permissions profile
* to the user with the
* UpdateUser
* API operation. Use the
* RegisterUser
* API operation to add a new user with a custom permission profile attached. For more information, see the
* following sections in the Amazon QuickSight User Guide:
*
* Embedding the Full Functionality of the Amazon QuickSight Console for Authenticated Users *
** For more information about the high-level steps for embedding and for an interactive demo of the ways you can * customize embedding, visit the Amazon QuickSight Developer * Portal. *
* * @param quickSightConsole * The configuration details for providing each Amazon QuickSight console embedding experience. This can be * used along with custom permissions to restrict access to certain features. For more information, see Customizing Access to the Amazon QuickSight Console in the Amazon QuickSight User Guide. *
* Use
* GenerateEmbedUrlForRegisteredUser
* where you want to provide an authoring portal that allows users to create data sources, datasets,
* analyses, and dashboards. The users who accesses an embedded Amazon QuickSight console needs to belong to
* the author or admin security cohort. If you want to restrict permissions to some of these features, add a
* custom permissions profile to the user with the
* UpdateUser
* API operation. Use the
* RegisterUser
* API operation to add a new user with a custom permission profile attached. For more information, see the
* following sections in the Amazon QuickSight User Guide:
*
* Embedding the Full Functionality of the Amazon QuickSight Console for Authenticated Users *
** For more information about the high-level steps for embedding and for an interactive demo of the ways you * can customize embedding, visit the Amazon QuickSight * Developer Portal. */ public void setQuickSightConsole(RegisteredUserQuickSightConsoleEmbeddingConfiguration quickSightConsole) { this.quickSightConsole = quickSightConsole; } /** *
* The configuration details for providing each Amazon QuickSight console embedding experience. This can be used * along with custom permissions to restrict access to certain features. For more information, see Customizing Access to the Amazon QuickSight Console in the Amazon QuickSight User Guide. *
*
* Use
* GenerateEmbedUrlForRegisteredUser
* where you want to provide an authoring portal that allows users to create data sources, datasets, analyses, and
* dashboards. The users who accesses an embedded Amazon QuickSight console needs to belong to the author or admin
* security cohort. If you want to restrict permissions to some of these features, add a custom permissions profile
* to the user with the
* UpdateUser
* API operation. Use the
* RegisterUser
* API operation to add a new user with a custom permission profile attached. For more information, see the
* following sections in the Amazon QuickSight User Guide:
*
* Embedding the Full Functionality of the Amazon QuickSight Console for Authenticated Users *
** For more information about the high-level steps for embedding and for an interactive demo of the ways you can * customize embedding, visit the Amazon QuickSight Developer * Portal. *
* * @return The configuration details for providing each Amazon QuickSight console embedding experience. This can be * used along with custom permissions to restrict access to certain features. For more information, see Customizing Access to the Amazon QuickSight Console in the Amazon QuickSight User Guide. *
* Use
* GenerateEmbedUrlForRegisteredUser
* where you want to provide an authoring portal that allows users to create data sources, datasets,
* analyses, and dashboards. The users who accesses an embedded Amazon QuickSight console needs to belong to
* the author or admin security cohort. If you want to restrict permissions to some of these features, add a
* custom permissions profile to the user with the
* UpdateUser
* API operation. Use the
* RegisterUser
* API operation to add a new user with a custom permission profile attached. For more information, see the
* following sections in the Amazon QuickSight User Guide:
*
* Embedding the Full Functionality of the Amazon QuickSight Console for Authenticated Users *
** For more information about the high-level steps for embedding and for an interactive demo of the ways you * can customize embedding, visit the Amazon QuickSight * Developer Portal. */ public RegisteredUserQuickSightConsoleEmbeddingConfiguration getQuickSightConsole() { return this.quickSightConsole; } /** *
* The configuration details for providing each Amazon QuickSight console embedding experience. This can be used * along with custom permissions to restrict access to certain features. For more information, see Customizing Access to the Amazon QuickSight Console in the Amazon QuickSight User Guide. *
*
* Use
* GenerateEmbedUrlForRegisteredUser
* where you want to provide an authoring portal that allows users to create data sources, datasets, analyses, and
* dashboards. The users who accesses an embedded Amazon QuickSight console needs to belong to the author or admin
* security cohort. If you want to restrict permissions to some of these features, add a custom permissions profile
* to the user with the
* UpdateUser
* API operation. Use the
* RegisterUser
* API operation to add a new user with a custom permission profile attached. For more information, see the
* following sections in the Amazon QuickSight User Guide:
*
* Embedding the Full Functionality of the Amazon QuickSight Console for Authenticated Users *
** For more information about the high-level steps for embedding and for an interactive demo of the ways you can * customize embedding, visit the Amazon QuickSight Developer * Portal. *
* * @param quickSightConsole * The configuration details for providing each Amazon QuickSight console embedding experience. This can be * used along with custom permissions to restrict access to certain features. For more information, see Customizing Access to the Amazon QuickSight Console in the Amazon QuickSight User Guide. *
* Use
* GenerateEmbedUrlForRegisteredUser
* where you want to provide an authoring portal that allows users to create data sources, datasets,
* analyses, and dashboards. The users who accesses an embedded Amazon QuickSight console needs to belong to
* the author or admin security cohort. If you want to restrict permissions to some of these features, add a
* custom permissions profile to the user with the
* UpdateUser
* API operation. Use the
* RegisterUser
* API operation to add a new user with a custom permission profile attached. For more information, see the
* following sections in the Amazon QuickSight User Guide:
*
* Embedding the Full Functionality of the Amazon QuickSight Console for Authenticated Users *
** For more information about the high-level steps for embedding and for an interactive demo of the ways you * can customize embedding, visit the Amazon QuickSight * Developer Portal. * @return Returns a reference to this object so that method calls can be chained together. */ public RegisteredUserEmbeddingExperienceConfiguration withQuickSightConsole(RegisteredUserQuickSightConsoleEmbeddingConfiguration quickSightConsole) { setQuickSightConsole(quickSightConsole); return this; } /** *
* The configuration details for embedding the Q search bar. *
** For more information about embedding the Q search bar, see Embedding Overview in the * Amazon QuickSight User Guide. *
* * @param qSearchBar * The configuration details for embedding the Q search bar. ** For more information about embedding the Q search bar, see Embedding Overview * in the Amazon QuickSight User Guide. */ public void setQSearchBar(RegisteredUserQSearchBarEmbeddingConfiguration qSearchBar) { this.qSearchBar = qSearchBar; } /** *
* The configuration details for embedding the Q search bar. *
** For more information about embedding the Q search bar, see Embedding Overview in the * Amazon QuickSight User Guide. *
* * @return The configuration details for embedding the Q search bar. ** For more information about embedding the Q search bar, see Embedding Overview * in the Amazon QuickSight User Guide. */ public RegisteredUserQSearchBarEmbeddingConfiguration getQSearchBar() { return this.qSearchBar; } /** *
* The configuration details for embedding the Q search bar. *
** For more information about embedding the Q search bar, see Embedding Overview in the * Amazon QuickSight User Guide. *
* * @param qSearchBar * The configuration details for embedding the Q search bar. ** For more information about embedding the Q search bar, see Embedding Overview * in the Amazon QuickSight User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public RegisteredUserEmbeddingExperienceConfiguration withQSearchBar(RegisteredUserQSearchBarEmbeddingConfiguration qSearchBar) { setQSearchBar(qSearchBar); return this; } /** *
* The type of embedding experience. In this case, Amazon QuickSight visuals. *
* * @param dashboardVisual * The type of embedding experience. In this case, Amazon QuickSight visuals. */ public void setDashboardVisual(RegisteredUserDashboardVisualEmbeddingConfiguration dashboardVisual) { this.dashboardVisual = dashboardVisual; } /** ** The type of embedding experience. In this case, Amazon QuickSight visuals. *
* * @return The type of embedding experience. In this case, Amazon QuickSight visuals. */ public RegisteredUserDashboardVisualEmbeddingConfiguration getDashboardVisual() { return this.dashboardVisual; } /** ** The type of embedding experience. In this case, Amazon QuickSight visuals. *
* * @param dashboardVisual * The type of embedding experience. In this case, Amazon QuickSight visuals. * @return Returns a reference to this object so that method calls can be chained together. */ public RegisteredUserEmbeddingExperienceConfiguration withDashboardVisual(RegisteredUserDashboardVisualEmbeddingConfiguration dashboardVisual) { setDashboardVisual(dashboardVisual); 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 (getDashboard() != null) sb.append("Dashboard: ").append(getDashboard()).append(","); if (getQuickSightConsole() != null) sb.append("QuickSightConsole: ").append(getQuickSightConsole()).append(","); if (getQSearchBar() != null) sb.append("QSearchBar: ").append(getQSearchBar()).append(","); if (getDashboardVisual() != null) sb.append("DashboardVisual: ").append(getDashboardVisual()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof RegisteredUserEmbeddingExperienceConfiguration == false) return false; RegisteredUserEmbeddingExperienceConfiguration other = (RegisteredUserEmbeddingExperienceConfiguration) obj; if (other.getDashboard() == null ^ this.getDashboard() == null) return false; if (other.getDashboard() != null && other.getDashboard().equals(this.getDashboard()) == false) return false; if (other.getQuickSightConsole() == null ^ this.getQuickSightConsole() == null) return false; if (other.getQuickSightConsole() != null && other.getQuickSightConsole().equals(this.getQuickSightConsole()) == false) return false; if (other.getQSearchBar() == null ^ this.getQSearchBar() == null) return false; if (other.getQSearchBar() != null && other.getQSearchBar().equals(this.getQSearchBar()) == false) return false; if (other.getDashboardVisual() == null ^ this.getDashboardVisual() == null) return false; if (other.getDashboardVisual() != null && other.getDashboardVisual().equals(this.getDashboardVisual()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getDashboard() == null) ? 0 : getDashboard().hashCode()); hashCode = prime * hashCode + ((getQuickSightConsole() == null) ? 0 : getQuickSightConsole().hashCode()); hashCode = prime * hashCode + ((getQSearchBar() == null) ? 0 : getQSearchBar().hashCode()); hashCode = prime * hashCode + ((getDashboardVisual() == null) ? 0 : getDashboardVisual().hashCode()); return hashCode; } @Override public RegisteredUserEmbeddingExperienceConfiguration clone() { try { return (RegisteredUserEmbeddingExperienceConfiguration) 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.RegisteredUserEmbeddingExperienceConfigurationMarshaller.getInstance().marshall(this, protocolMarshaller); } }