/* * 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. *

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

* 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: *

* *

* 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: *

* *

* 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: *

* *

* 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: *

* *

* 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: *

* *

* 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: *

* *

* 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: *

* *

* 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); } }