/* * 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.AmazonWebServiceRequest; /** * * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class GenerateEmbedUrlForRegisteredUserRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The ID for the Amazon Web Services account that contains the dashboard that you're embedding. *

*/ private String awsAccountId; /** *

* How many minutes the session is valid. The session lifetime must be in [15-600] minutes range. *

*/ private Long sessionLifetimeInMinutes; /** *

* The Amazon Resource Name for the registered user. *

*/ private String userArn; /** *

* The experience you are embedding. For registered users, you can embed Amazon QuickSight dashboards, Amazon * QuickSight visuals, the Amazon QuickSight Q search bar, or the entire Amazon QuickSight console. *

*/ private RegisteredUserEmbeddingExperienceConfiguration experienceConfiguration; /** *

* The domains that you want to add to the allow list for access to the generated URL that is then embedded. This * optional parameter overrides the static domains that are configured in the Manage QuickSight menu in the Amazon * QuickSight console. Instead, it allows only the domains that you include in this parameter. You can list up to * three domains or subdomains in each API call. *

*

* To include all subdomains under a specific domain to the allow list, use *. For example, * https://*.sapp.amazon.com includes all subdomains under https://sapp.amazon.com. *

*/ private java.util.List allowedDomains; /** *

* The ID for the Amazon Web Services account that contains the dashboard that you're embedding. *

* * @param awsAccountId * The ID for the Amazon Web Services account that contains the dashboard that you're embedding. */ public void setAwsAccountId(String awsAccountId) { this.awsAccountId = awsAccountId; } /** *

* The ID for the Amazon Web Services account that contains the dashboard that you're embedding. *

* * @return The ID for the Amazon Web Services account that contains the dashboard that you're embedding. */ public String getAwsAccountId() { return this.awsAccountId; } /** *

* The ID for the Amazon Web Services account that contains the dashboard that you're embedding. *

* * @param awsAccountId * The ID for the Amazon Web Services account that contains the dashboard that you're embedding. * @return Returns a reference to this object so that method calls can be chained together. */ public GenerateEmbedUrlForRegisteredUserRequest withAwsAccountId(String awsAccountId) { setAwsAccountId(awsAccountId); return this; } /** *

* How many minutes the session is valid. The session lifetime must be in [15-600] minutes range. *

* * @param sessionLifetimeInMinutes * How many minutes the session is valid. The session lifetime must be in [15-600] minutes range. */ public void setSessionLifetimeInMinutes(Long sessionLifetimeInMinutes) { this.sessionLifetimeInMinutes = sessionLifetimeInMinutes; } /** *

* How many minutes the session is valid. The session lifetime must be in [15-600] minutes range. *

* * @return How many minutes the session is valid. The session lifetime must be in [15-600] minutes range. */ public Long getSessionLifetimeInMinutes() { return this.sessionLifetimeInMinutes; } /** *

* How many minutes the session is valid. The session lifetime must be in [15-600] minutes range. *

* * @param sessionLifetimeInMinutes * How many minutes the session is valid. The session lifetime must be in [15-600] minutes range. * @return Returns a reference to this object so that method calls can be chained together. */ public GenerateEmbedUrlForRegisteredUserRequest withSessionLifetimeInMinutes(Long sessionLifetimeInMinutes) { setSessionLifetimeInMinutes(sessionLifetimeInMinutes); return this; } /** *

* The Amazon Resource Name for the registered user. *

* * @param userArn * The Amazon Resource Name for the registered user. */ public void setUserArn(String userArn) { this.userArn = userArn; } /** *

* The Amazon Resource Name for the registered user. *

* * @return The Amazon Resource Name for the registered user. */ public String getUserArn() { return this.userArn; } /** *

* The Amazon Resource Name for the registered user. *

* * @param userArn * The Amazon Resource Name for the registered user. * @return Returns a reference to this object so that method calls can be chained together. */ public GenerateEmbedUrlForRegisteredUserRequest withUserArn(String userArn) { setUserArn(userArn); return this; } /** *

* The experience you are embedding. For registered users, you can embed Amazon QuickSight dashboards, Amazon * QuickSight visuals, the Amazon QuickSight Q search bar, or the entire Amazon QuickSight console. *

* * @param experienceConfiguration * The experience you are embedding. For registered users, you can embed Amazon QuickSight dashboards, Amazon * QuickSight visuals, the Amazon QuickSight Q search bar, or the entire Amazon QuickSight console. */ public void setExperienceConfiguration(RegisteredUserEmbeddingExperienceConfiguration experienceConfiguration) { this.experienceConfiguration = experienceConfiguration; } /** *

* The experience you are embedding. For registered users, you can embed Amazon QuickSight dashboards, Amazon * QuickSight visuals, the Amazon QuickSight Q search bar, or the entire Amazon QuickSight console. *

* * @return The experience you are embedding. For registered users, you can embed Amazon QuickSight dashboards, * Amazon QuickSight visuals, the Amazon QuickSight Q search bar, or the entire Amazon QuickSight console. */ public RegisteredUserEmbeddingExperienceConfiguration getExperienceConfiguration() { return this.experienceConfiguration; } /** *

* The experience you are embedding. For registered users, you can embed Amazon QuickSight dashboards, Amazon * QuickSight visuals, the Amazon QuickSight Q search bar, or the entire Amazon QuickSight console. *

* * @param experienceConfiguration * The experience you are embedding. For registered users, you can embed Amazon QuickSight dashboards, Amazon * QuickSight visuals, the Amazon QuickSight Q search bar, or the entire Amazon QuickSight console. * @return Returns a reference to this object so that method calls can be chained together. */ public GenerateEmbedUrlForRegisteredUserRequest withExperienceConfiguration(RegisteredUserEmbeddingExperienceConfiguration experienceConfiguration) { setExperienceConfiguration(experienceConfiguration); return this; } /** *

* The domains that you want to add to the allow list for access to the generated URL that is then embedded. This * optional parameter overrides the static domains that are configured in the Manage QuickSight menu in the Amazon * QuickSight console. Instead, it allows only the domains that you include in this parameter. You can list up to * three domains or subdomains in each API call. *

*

* To include all subdomains under a specific domain to the allow list, use *. For example, * https://*.sapp.amazon.com includes all subdomains under https://sapp.amazon.com. *

* * @return The domains that you want to add to the allow list for access to the generated URL that is then embedded. * This optional parameter overrides the static domains that are configured in the Manage QuickSight menu in * the Amazon QuickSight console. Instead, it allows only the domains that you include in this parameter. * You can list up to three domains or subdomains in each API call.

*

* To include all subdomains under a specific domain to the allow list, use *. For example, * https://*.sapp.amazon.com includes all subdomains under https://sapp.amazon.com. */ public java.util.List getAllowedDomains() { return allowedDomains; } /** *

* The domains that you want to add to the allow list for access to the generated URL that is then embedded. This * optional parameter overrides the static domains that are configured in the Manage QuickSight menu in the Amazon * QuickSight console. Instead, it allows only the domains that you include in this parameter. You can list up to * three domains or subdomains in each API call. *

*

* To include all subdomains under a specific domain to the allow list, use *. For example, * https://*.sapp.amazon.com includes all subdomains under https://sapp.amazon.com. *

* * @param allowedDomains * The domains that you want to add to the allow list for access to the generated URL that is then embedded. * This optional parameter overrides the static domains that are configured in the Manage QuickSight menu in * the Amazon QuickSight console. Instead, it allows only the domains that you include in this parameter. You * can list up to three domains or subdomains in each API call.

*

* To include all subdomains under a specific domain to the allow list, use *. For example, * https://*.sapp.amazon.com includes all subdomains under https://sapp.amazon.com. */ public void setAllowedDomains(java.util.Collection allowedDomains) { if (allowedDomains == null) { this.allowedDomains = null; return; } this.allowedDomains = new java.util.ArrayList(allowedDomains); } /** *

* The domains that you want to add to the allow list for access to the generated URL that is then embedded. This * optional parameter overrides the static domains that are configured in the Manage QuickSight menu in the Amazon * QuickSight console. Instead, it allows only the domains that you include in this parameter. You can list up to * three domains or subdomains in each API call. *

*

* To include all subdomains under a specific domain to the allow list, use *. For example, * https://*.sapp.amazon.com includes all subdomains under https://sapp.amazon.com. *

*

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

* * @param allowedDomains * The domains that you want to add to the allow list for access to the generated URL that is then embedded. * This optional parameter overrides the static domains that are configured in the Manage QuickSight menu in * the Amazon QuickSight console. Instead, it allows only the domains that you include in this parameter. You * can list up to three domains or subdomains in each API call.

*

* To include all subdomains under a specific domain to the allow list, use *. For example, * https://*.sapp.amazon.com includes all subdomains under https://sapp.amazon.com. * @return Returns a reference to this object so that method calls can be chained together. */ public GenerateEmbedUrlForRegisteredUserRequest withAllowedDomains(String... allowedDomains) { if (this.allowedDomains == null) { setAllowedDomains(new java.util.ArrayList(allowedDomains.length)); } for (String ele : allowedDomains) { this.allowedDomains.add(ele); } return this; } /** *

* The domains that you want to add to the allow list for access to the generated URL that is then embedded. This * optional parameter overrides the static domains that are configured in the Manage QuickSight menu in the Amazon * QuickSight console. Instead, it allows only the domains that you include in this parameter. You can list up to * three domains or subdomains in each API call. *

*

* To include all subdomains under a specific domain to the allow list, use *. For example, * https://*.sapp.amazon.com includes all subdomains under https://sapp.amazon.com. *

* * @param allowedDomains * The domains that you want to add to the allow list for access to the generated URL that is then embedded. * This optional parameter overrides the static domains that are configured in the Manage QuickSight menu in * the Amazon QuickSight console. Instead, it allows only the domains that you include in this parameter. You * can list up to three domains or subdomains in each API call.

*

* To include all subdomains under a specific domain to the allow list, use *. For example, * https://*.sapp.amazon.com includes all subdomains under https://sapp.amazon.com. * @return Returns a reference to this object so that method calls can be chained together. */ public GenerateEmbedUrlForRegisteredUserRequest withAllowedDomains(java.util.Collection allowedDomains) { setAllowedDomains(allowedDomains); 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 (getAwsAccountId() != null) sb.append("AwsAccountId: ").append(getAwsAccountId()).append(","); if (getSessionLifetimeInMinutes() != null) sb.append("SessionLifetimeInMinutes: ").append(getSessionLifetimeInMinutes()).append(","); if (getUserArn() != null) sb.append("UserArn: ").append(getUserArn()).append(","); if (getExperienceConfiguration() != null) sb.append("ExperienceConfiguration: ").append(getExperienceConfiguration()).append(","); if (getAllowedDomains() != null) sb.append("AllowedDomains: ").append(getAllowedDomains()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof GenerateEmbedUrlForRegisteredUserRequest == false) return false; GenerateEmbedUrlForRegisteredUserRequest other = (GenerateEmbedUrlForRegisteredUserRequest) obj; if (other.getAwsAccountId() == null ^ this.getAwsAccountId() == null) return false; if (other.getAwsAccountId() != null && other.getAwsAccountId().equals(this.getAwsAccountId()) == false) return false; if (other.getSessionLifetimeInMinutes() == null ^ this.getSessionLifetimeInMinutes() == null) return false; if (other.getSessionLifetimeInMinutes() != null && other.getSessionLifetimeInMinutes().equals(this.getSessionLifetimeInMinutes()) == false) return false; if (other.getUserArn() == null ^ this.getUserArn() == null) return false; if (other.getUserArn() != null && other.getUserArn().equals(this.getUserArn()) == false) return false; if (other.getExperienceConfiguration() == null ^ this.getExperienceConfiguration() == null) return false; if (other.getExperienceConfiguration() != null && other.getExperienceConfiguration().equals(this.getExperienceConfiguration()) == false) return false; if (other.getAllowedDomains() == null ^ this.getAllowedDomains() == null) return false; if (other.getAllowedDomains() != null && other.getAllowedDomains().equals(this.getAllowedDomains()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAwsAccountId() == null) ? 0 : getAwsAccountId().hashCode()); hashCode = prime * hashCode + ((getSessionLifetimeInMinutes() == null) ? 0 : getSessionLifetimeInMinutes().hashCode()); hashCode = prime * hashCode + ((getUserArn() == null) ? 0 : getUserArn().hashCode()); hashCode = prime * hashCode + ((getExperienceConfiguration() == null) ? 0 : getExperienceConfiguration().hashCode()); hashCode = prime * hashCode + ((getAllowedDomains() == null) ? 0 : getAllowedDomains().hashCode()); return hashCode; } @Override public GenerateEmbedUrlForRegisteredUserRequest clone() { return (GenerateEmbedUrlForRegisteredUserRequest) super.clone(); } }