/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace QuickSight { namespace Model { /** */ class GenerateEmbedUrlForAnonymousUserRequest : public QuickSightRequest { public: AWS_QUICKSIGHT_API GenerateEmbedUrlForAnonymousUserRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GenerateEmbedUrlForAnonymousUser"; } AWS_QUICKSIGHT_API Aws::String SerializePayload() const override; /** *

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

*/ inline const Aws::String& GetAwsAccountId() const{ return m_awsAccountId; } /** *

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

*/ inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; } /** *

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

*/ inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; } /** *

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

*/ inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); } /** *

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

*/ inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); } /** *

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

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;} /** *

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

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;} /** *

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

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;} /** *

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

*/ inline long long GetSessionLifetimeInMinutes() const{ return m_sessionLifetimeInMinutes; } /** *

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

*/ inline bool SessionLifetimeInMinutesHasBeenSet() const { return m_sessionLifetimeInMinutesHasBeenSet; } /** *

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

*/ inline void SetSessionLifetimeInMinutes(long long value) { m_sessionLifetimeInMinutesHasBeenSet = true; m_sessionLifetimeInMinutes = value; } /** *

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

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithSessionLifetimeInMinutes(long long value) { SetSessionLifetimeInMinutes(value); return *this;} /** *

The Amazon QuickSight namespace that the anonymous user virtually belongs to. * If you are not using an Amazon QuickSight custom namespace, set this to * default.

*/ inline const Aws::String& GetNamespace() const{ return m_namespace; } /** *

The Amazon QuickSight namespace that the anonymous user virtually belongs to. * If you are not using an Amazon QuickSight custom namespace, set this to * default.

*/ inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } /** *

The Amazon QuickSight namespace that the anonymous user virtually belongs to. * If you are not using an Amazon QuickSight custom namespace, set this to * default.

*/ inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } /** *

The Amazon QuickSight namespace that the anonymous user virtually belongs to. * If you are not using an Amazon QuickSight custom namespace, set this to * default.

*/ inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } /** *

The Amazon QuickSight namespace that the anonymous user virtually belongs to. * If you are not using an Amazon QuickSight custom namespace, set this to * default.

*/ inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } /** *

The Amazon QuickSight namespace that the anonymous user virtually belongs to. * If you are not using an Amazon QuickSight custom namespace, set this to * default.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} /** *

The Amazon QuickSight namespace that the anonymous user virtually belongs to. * If you are not using an Amazon QuickSight custom namespace, set this to * default.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} /** *

The Amazon QuickSight namespace that the anonymous user virtually belongs to. * If you are not using an Amazon QuickSight custom namespace, set this to * default.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;} /** *

The session tags used for row-level security. Before you use this parameter, * make sure that you have configured the relevant datasets using the * DataSet$RowLevelPermissionTagConfiguration parameter so that * session tags can be used to provide row-level security.

These are not the * tags used for the Amazon Web Services resource tagging feature. For more * information, see Using * Row-Level Security (RLS) with Tagsin the Amazon QuickSight User * Guide.

*/ inline const Aws::Vector& GetSessionTags() const{ return m_sessionTags; } /** *

The session tags used for row-level security. Before you use this parameter, * make sure that you have configured the relevant datasets using the * DataSet$RowLevelPermissionTagConfiguration parameter so that * session tags can be used to provide row-level security.

These are not the * tags used for the Amazon Web Services resource tagging feature. For more * information, see Using * Row-Level Security (RLS) with Tagsin the Amazon QuickSight User * Guide.

*/ inline bool SessionTagsHasBeenSet() const { return m_sessionTagsHasBeenSet; } /** *

The session tags used for row-level security. Before you use this parameter, * make sure that you have configured the relevant datasets using the * DataSet$RowLevelPermissionTagConfiguration parameter so that * session tags can be used to provide row-level security.

These are not the * tags used for the Amazon Web Services resource tagging feature. For more * information, see Using * Row-Level Security (RLS) with Tagsin the Amazon QuickSight User * Guide.

*/ inline void SetSessionTags(const Aws::Vector& value) { m_sessionTagsHasBeenSet = true; m_sessionTags = value; } /** *

The session tags used for row-level security. Before you use this parameter, * make sure that you have configured the relevant datasets using the * DataSet$RowLevelPermissionTagConfiguration parameter so that * session tags can be used to provide row-level security.

These are not the * tags used for the Amazon Web Services resource tagging feature. For more * information, see Using * Row-Level Security (RLS) with Tagsin the Amazon QuickSight User * Guide.

*/ inline void SetSessionTags(Aws::Vector&& value) { m_sessionTagsHasBeenSet = true; m_sessionTags = std::move(value); } /** *

The session tags used for row-level security. Before you use this parameter, * make sure that you have configured the relevant datasets using the * DataSet$RowLevelPermissionTagConfiguration parameter so that * session tags can be used to provide row-level security.

These are not the * tags used for the Amazon Web Services resource tagging feature. For more * information, see Using * Row-Level Security (RLS) with Tagsin the Amazon QuickSight User * Guide.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithSessionTags(const Aws::Vector& value) { SetSessionTags(value); return *this;} /** *

The session tags used for row-level security. Before you use this parameter, * make sure that you have configured the relevant datasets using the * DataSet$RowLevelPermissionTagConfiguration parameter so that * session tags can be used to provide row-level security.

These are not the * tags used for the Amazon Web Services resource tagging feature. For more * information, see Using * Row-Level Security (RLS) with Tagsin the Amazon QuickSight User * Guide.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithSessionTags(Aws::Vector&& value) { SetSessionTags(std::move(value)); return *this;} /** *

The session tags used for row-level security. Before you use this parameter, * make sure that you have configured the relevant datasets using the * DataSet$RowLevelPermissionTagConfiguration parameter so that * session tags can be used to provide row-level security.

These are not the * tags used for the Amazon Web Services resource tagging feature. For more * information, see Using * Row-Level Security (RLS) with Tagsin the Amazon QuickSight User * Guide.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& AddSessionTags(const SessionTag& value) { m_sessionTagsHasBeenSet = true; m_sessionTags.push_back(value); return *this; } /** *

The session tags used for row-level security. Before you use this parameter, * make sure that you have configured the relevant datasets using the * DataSet$RowLevelPermissionTagConfiguration parameter so that * session tags can be used to provide row-level security.

These are not the * tags used for the Amazon Web Services resource tagging feature. For more * information, see Using * Row-Level Security (RLS) with Tagsin the Amazon QuickSight User * Guide.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& AddSessionTags(SessionTag&& value) { m_sessionTagsHasBeenSet = true; m_sessionTags.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Names (ARNs) for the Amazon QuickSight resources that the * user is authorized to access during the lifetime of the session. If you choose * Dashboard embedding experience, pass the list of dashboard ARNs in * the account that you want the user to be able to view. Currently, you can pass * up to 25 dashboard ARNs in each API call.

*/ inline const Aws::Vector& GetAuthorizedResourceArns() const{ return m_authorizedResourceArns; } /** *

The Amazon Resource Names (ARNs) for the Amazon QuickSight resources that the * user is authorized to access during the lifetime of the session. If you choose * Dashboard embedding experience, pass the list of dashboard ARNs in * the account that you want the user to be able to view. Currently, you can pass * up to 25 dashboard ARNs in each API call.

*/ inline bool AuthorizedResourceArnsHasBeenSet() const { return m_authorizedResourceArnsHasBeenSet; } /** *

The Amazon Resource Names (ARNs) for the Amazon QuickSight resources that the * user is authorized to access during the lifetime of the session. If you choose * Dashboard embedding experience, pass the list of dashboard ARNs in * the account that you want the user to be able to view. Currently, you can pass * up to 25 dashboard ARNs in each API call.

*/ inline void SetAuthorizedResourceArns(const Aws::Vector& value) { m_authorizedResourceArnsHasBeenSet = true; m_authorizedResourceArns = value; } /** *

The Amazon Resource Names (ARNs) for the Amazon QuickSight resources that the * user is authorized to access during the lifetime of the session. If you choose * Dashboard embedding experience, pass the list of dashboard ARNs in * the account that you want the user to be able to view. Currently, you can pass * up to 25 dashboard ARNs in each API call.

*/ inline void SetAuthorizedResourceArns(Aws::Vector&& value) { m_authorizedResourceArnsHasBeenSet = true; m_authorizedResourceArns = std::move(value); } /** *

The Amazon Resource Names (ARNs) for the Amazon QuickSight resources that the * user is authorized to access during the lifetime of the session. If you choose * Dashboard embedding experience, pass the list of dashboard ARNs in * the account that you want the user to be able to view. Currently, you can pass * up to 25 dashboard ARNs in each API call.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithAuthorizedResourceArns(const Aws::Vector& value) { SetAuthorizedResourceArns(value); return *this;} /** *

The Amazon Resource Names (ARNs) for the Amazon QuickSight resources that the * user is authorized to access during the lifetime of the session. If you choose * Dashboard embedding experience, pass the list of dashboard ARNs in * the account that you want the user to be able to view. Currently, you can pass * up to 25 dashboard ARNs in each API call.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithAuthorizedResourceArns(Aws::Vector&& value) { SetAuthorizedResourceArns(std::move(value)); return *this;} /** *

The Amazon Resource Names (ARNs) for the Amazon QuickSight resources that the * user is authorized to access during the lifetime of the session. If you choose * Dashboard embedding experience, pass the list of dashboard ARNs in * the account that you want the user to be able to view. Currently, you can pass * up to 25 dashboard ARNs in each API call.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& AddAuthorizedResourceArns(const Aws::String& value) { m_authorizedResourceArnsHasBeenSet = true; m_authorizedResourceArns.push_back(value); return *this; } /** *

The Amazon Resource Names (ARNs) for the Amazon QuickSight resources that the * user is authorized to access during the lifetime of the session. If you choose * Dashboard embedding experience, pass the list of dashboard ARNs in * the account that you want the user to be able to view. Currently, you can pass * up to 25 dashboard ARNs in each API call.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& AddAuthorizedResourceArns(Aws::String&& value) { m_authorizedResourceArnsHasBeenSet = true; m_authorizedResourceArns.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Names (ARNs) for the Amazon QuickSight resources that the * user is authorized to access during the lifetime of the session. If you choose * Dashboard embedding experience, pass the list of dashboard ARNs in * the account that you want the user to be able to view. Currently, you can pass * up to 25 dashboard ARNs in each API call.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& AddAuthorizedResourceArns(const char* value) { m_authorizedResourceArnsHasBeenSet = true; m_authorizedResourceArns.push_back(value); return *this; } /** *

The configuration of the experience that you are embedding.

*/ inline const AnonymousUserEmbeddingExperienceConfiguration& GetExperienceConfiguration() const{ return m_experienceConfiguration; } /** *

The configuration of the experience that you are embedding.

*/ inline bool ExperienceConfigurationHasBeenSet() const { return m_experienceConfigurationHasBeenSet; } /** *

The configuration of the experience that you are embedding.

*/ inline void SetExperienceConfiguration(const AnonymousUserEmbeddingExperienceConfiguration& value) { m_experienceConfigurationHasBeenSet = true; m_experienceConfiguration = value; } /** *

The configuration of the experience that you are embedding.

*/ inline void SetExperienceConfiguration(AnonymousUserEmbeddingExperienceConfiguration&& value) { m_experienceConfigurationHasBeenSet = true; m_experienceConfiguration = std::move(value); } /** *

The configuration of the experience that you are embedding.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithExperienceConfiguration(const AnonymousUserEmbeddingExperienceConfiguration& value) { SetExperienceConfiguration(value); return *this;} /** *

The configuration of the experience that you are embedding.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithExperienceConfiguration(AnonymousUserEmbeddingExperienceConfiguration&& value) { SetExperienceConfiguration(std::move(value)); 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.

*/ inline const Aws::Vector& GetAllowedDomains() const{ return m_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.

*/ inline bool AllowedDomainsHasBeenSet() const { return m_allowedDomainsHasBeenSet; } /** *

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.

*/ inline void SetAllowedDomains(const Aws::Vector& value) { m_allowedDomainsHasBeenSet = true; m_allowedDomains = value; } /** *

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.

*/ inline void SetAllowedDomains(Aws::Vector&& value) { m_allowedDomainsHasBeenSet = true; m_allowedDomains = std::move(value); } /** *

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.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithAllowedDomains(const Aws::Vector& value) { SetAllowedDomains(value); 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.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& WithAllowedDomains(Aws::Vector&& value) { SetAllowedDomains(std::move(value)); 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.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& AddAllowedDomains(const Aws::String& value) { m_allowedDomainsHasBeenSet = true; m_allowedDomains.push_back(value); 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.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& AddAllowedDomains(Aws::String&& value) { m_allowedDomainsHasBeenSet = true; m_allowedDomains.push_back(std::move(value)); 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.

*/ inline GenerateEmbedUrlForAnonymousUserRequest& AddAllowedDomains(const char* value) { m_allowedDomainsHasBeenSet = true; m_allowedDomains.push_back(value); return *this; } private: Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet = false; long long m_sessionLifetimeInMinutes; bool m_sessionLifetimeInMinutesHasBeenSet = false; Aws::String m_namespace; bool m_namespaceHasBeenSet = false; Aws::Vector m_sessionTags; bool m_sessionTagsHasBeenSet = false; Aws::Vector m_authorizedResourceArns; bool m_authorizedResourceArnsHasBeenSet = false; AnonymousUserEmbeddingExperienceConfiguration m_experienceConfiguration; bool m_experienceConfigurationHasBeenSet = false; Aws::Vector m_allowedDomains; bool m_allowedDomainsHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws