/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Http { class URI; } //namespace Http namespace QuickSight { namespace Model { /** */ class GetDashboardEmbedUrlRequest : public QuickSightRequest { public: AWS_QUICKSIGHT_API GetDashboardEmbedUrlRequest(); // 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 "GetDashboardEmbedUrl"; } AWS_QUICKSIGHT_API Aws::String SerializePayload() const override; AWS_QUICKSIGHT_API void AddQueryStringParameters(Aws::Http::URI& uri) 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 GetDashboardEmbedUrlRequest& 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 GetDashboardEmbedUrlRequest& 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 GetDashboardEmbedUrlRequest& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;} /** *

The ID for the dashboard, also added to the Identity and Access Management * (IAM) policy.

*/ inline const Aws::String& GetDashboardId() const{ return m_dashboardId; } /** *

The ID for the dashboard, also added to the Identity and Access Management * (IAM) policy.

*/ inline bool DashboardIdHasBeenSet() const { return m_dashboardIdHasBeenSet; } /** *

The ID for the dashboard, also added to the Identity and Access Management * (IAM) policy.

*/ inline void SetDashboardId(const Aws::String& value) { m_dashboardIdHasBeenSet = true; m_dashboardId = value; } /** *

The ID for the dashboard, also added to the Identity and Access Management * (IAM) policy.

*/ inline void SetDashboardId(Aws::String&& value) { m_dashboardIdHasBeenSet = true; m_dashboardId = std::move(value); } /** *

The ID for the dashboard, also added to the Identity and Access Management * (IAM) policy.

*/ inline void SetDashboardId(const char* value) { m_dashboardIdHasBeenSet = true; m_dashboardId.assign(value); } /** *

The ID for the dashboard, also added to the Identity and Access Management * (IAM) policy.

*/ inline GetDashboardEmbedUrlRequest& WithDashboardId(const Aws::String& value) { SetDashboardId(value); return *this;} /** *

The ID for the dashboard, also added to the Identity and Access Management * (IAM) policy.

*/ inline GetDashboardEmbedUrlRequest& WithDashboardId(Aws::String&& value) { SetDashboardId(std::move(value)); return *this;} /** *

The ID for the dashboard, also added to the Identity and Access Management * (IAM) policy.

*/ inline GetDashboardEmbedUrlRequest& WithDashboardId(const char* value) { SetDashboardId(value); return *this;} /** *

The authentication method that the user uses to sign in.

*/ inline const EmbeddingIdentityType& GetIdentityType() const{ return m_identityType; } /** *

The authentication method that the user uses to sign in.

*/ inline bool IdentityTypeHasBeenSet() const { return m_identityTypeHasBeenSet; } /** *

The authentication method that the user uses to sign in.

*/ inline void SetIdentityType(const EmbeddingIdentityType& value) { m_identityTypeHasBeenSet = true; m_identityType = value; } /** *

The authentication method that the user uses to sign in.

*/ inline void SetIdentityType(EmbeddingIdentityType&& value) { m_identityTypeHasBeenSet = true; m_identityType = std::move(value); } /** *

The authentication method that the user uses to sign in.

*/ inline GetDashboardEmbedUrlRequest& WithIdentityType(const EmbeddingIdentityType& value) { SetIdentityType(value); return *this;} /** *

The authentication method that the user uses to sign in.

*/ inline GetDashboardEmbedUrlRequest& WithIdentityType(EmbeddingIdentityType&& value) { SetIdentityType(std::move(value)); return *this;} /** *

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

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

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

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

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

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

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

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

Remove the undo/redo button on the embedded dashboard. The default is FALSE, * which enables the undo/redo button.

*/ inline bool GetUndoRedoDisabled() const{ return m_undoRedoDisabled; } /** *

Remove the undo/redo button on the embedded dashboard. The default is FALSE, * which enables the undo/redo button.

*/ inline bool UndoRedoDisabledHasBeenSet() const { return m_undoRedoDisabledHasBeenSet; } /** *

Remove the undo/redo button on the embedded dashboard. The default is FALSE, * which enables the undo/redo button.

*/ inline void SetUndoRedoDisabled(bool value) { m_undoRedoDisabledHasBeenSet = true; m_undoRedoDisabled = value; } /** *

Remove the undo/redo button on the embedded dashboard. The default is FALSE, * which enables the undo/redo button.

*/ inline GetDashboardEmbedUrlRequest& WithUndoRedoDisabled(bool value) { SetUndoRedoDisabled(value); return *this;} /** *

Remove the reset button on the embedded dashboard. The default is FALSE, * which enables the reset button.

*/ inline bool GetResetDisabled() const{ return m_resetDisabled; } /** *

Remove the reset button on the embedded dashboard. The default is FALSE, * which enables the reset button.

*/ inline bool ResetDisabledHasBeenSet() const { return m_resetDisabledHasBeenSet; } /** *

Remove the reset button on the embedded dashboard. The default is FALSE, * which enables the reset button.

*/ inline void SetResetDisabled(bool value) { m_resetDisabledHasBeenSet = true; m_resetDisabled = value; } /** *

Remove the reset button on the embedded dashboard. The default is FALSE, * which enables the reset button.

*/ inline GetDashboardEmbedUrlRequest& WithResetDisabled(bool value) { SetResetDisabled(value); return *this;} /** *

Adds persistence of state for the user session in an embedded dashboard. * Persistence applies to the sheet and the parameter settings. These are control * settings that the dashboard subscriber (Amazon QuickSight reader) chooses while * viewing the dashboard. If this is set to TRUE, the settings are the * same when the subscriber reopens the same dashboard URL. The state is stored in * Amazon QuickSight, not in a browser cookie. If this is set to FALSE, the state * of the user session is not persisted. The default is FALSE.

*/ inline bool GetStatePersistenceEnabled() const{ return m_statePersistenceEnabled; } /** *

Adds persistence of state for the user session in an embedded dashboard. * Persistence applies to the sheet and the parameter settings. These are control * settings that the dashboard subscriber (Amazon QuickSight reader) chooses while * viewing the dashboard. If this is set to TRUE, the settings are the * same when the subscriber reopens the same dashboard URL. The state is stored in * Amazon QuickSight, not in a browser cookie. If this is set to FALSE, the state * of the user session is not persisted. The default is FALSE.

*/ inline bool StatePersistenceEnabledHasBeenSet() const { return m_statePersistenceEnabledHasBeenSet; } /** *

Adds persistence of state for the user session in an embedded dashboard. * Persistence applies to the sheet and the parameter settings. These are control * settings that the dashboard subscriber (Amazon QuickSight reader) chooses while * viewing the dashboard. If this is set to TRUE, the settings are the * same when the subscriber reopens the same dashboard URL. The state is stored in * Amazon QuickSight, not in a browser cookie. If this is set to FALSE, the state * of the user session is not persisted. The default is FALSE.

*/ inline void SetStatePersistenceEnabled(bool value) { m_statePersistenceEnabledHasBeenSet = true; m_statePersistenceEnabled = value; } /** *

Adds persistence of state for the user session in an embedded dashboard. * Persistence applies to the sheet and the parameter settings. These are control * settings that the dashboard subscriber (Amazon QuickSight reader) chooses while * viewing the dashboard. If this is set to TRUE, the settings are the * same when the subscriber reopens the same dashboard URL. The state is stored in * Amazon QuickSight, not in a browser cookie. If this is set to FALSE, the state * of the user session is not persisted. The default is FALSE.

*/ inline GetDashboardEmbedUrlRequest& WithStatePersistenceEnabled(bool value) { SetStatePersistenceEnabled(value); return *this;} /** *

The Amazon QuickSight user's Amazon Resource Name (ARN), for use with * QUICKSIGHT identity type. You can use this for any Amazon * QuickSight users in your account (readers, authors, or admins) authenticated as * one of the following:

  • Active Directory (AD) users or group * members

  • Invited nonfederated users

  • IAM users * and IAM role-based sessions authenticated through Federated Single Sign-On using * SAML, OpenID Connect, or IAM federation.

Omit this parameter * for users in the third group – IAM users and IAM role-based sessions.

*/ inline const Aws::String& GetUserArn() const{ return m_userArn; } /** *

The Amazon QuickSight user's Amazon Resource Name (ARN), for use with * QUICKSIGHT identity type. You can use this for any Amazon * QuickSight users in your account (readers, authors, or admins) authenticated as * one of the following:

  • Active Directory (AD) users or group * members

  • Invited nonfederated users

  • IAM users * and IAM role-based sessions authenticated through Federated Single Sign-On using * SAML, OpenID Connect, or IAM federation.

Omit this parameter * for users in the third group – IAM users and IAM role-based sessions.

*/ inline bool UserArnHasBeenSet() const { return m_userArnHasBeenSet; } /** *

The Amazon QuickSight user's Amazon Resource Name (ARN), for use with * QUICKSIGHT identity type. You can use this for any Amazon * QuickSight users in your account (readers, authors, or admins) authenticated as * one of the following:

  • Active Directory (AD) users or group * members

  • Invited nonfederated users

  • IAM users * and IAM role-based sessions authenticated through Federated Single Sign-On using * SAML, OpenID Connect, or IAM federation.

Omit this parameter * for users in the third group – IAM users and IAM role-based sessions.

*/ inline void SetUserArn(const Aws::String& value) { m_userArnHasBeenSet = true; m_userArn = value; } /** *

The Amazon QuickSight user's Amazon Resource Name (ARN), for use with * QUICKSIGHT identity type. You can use this for any Amazon * QuickSight users in your account (readers, authors, or admins) authenticated as * one of the following:

  • Active Directory (AD) users or group * members

  • Invited nonfederated users

  • IAM users * and IAM role-based sessions authenticated through Federated Single Sign-On using * SAML, OpenID Connect, or IAM federation.

Omit this parameter * for users in the third group – IAM users and IAM role-based sessions.

*/ inline void SetUserArn(Aws::String&& value) { m_userArnHasBeenSet = true; m_userArn = std::move(value); } /** *

The Amazon QuickSight user's Amazon Resource Name (ARN), for use with * QUICKSIGHT identity type. You can use this for any Amazon * QuickSight users in your account (readers, authors, or admins) authenticated as * one of the following:

  • Active Directory (AD) users or group * members

  • Invited nonfederated users

  • IAM users * and IAM role-based sessions authenticated through Federated Single Sign-On using * SAML, OpenID Connect, or IAM federation.

Omit this parameter * for users in the third group – IAM users and IAM role-based sessions.

*/ inline void SetUserArn(const char* value) { m_userArnHasBeenSet = true; m_userArn.assign(value); } /** *

The Amazon QuickSight user's Amazon Resource Name (ARN), for use with * QUICKSIGHT identity type. You can use this for any Amazon * QuickSight users in your account (readers, authors, or admins) authenticated as * one of the following:

  • Active Directory (AD) users or group * members

  • Invited nonfederated users

  • IAM users * and IAM role-based sessions authenticated through Federated Single Sign-On using * SAML, OpenID Connect, or IAM federation.

Omit this parameter * for users in the third group – IAM users and IAM role-based sessions.

*/ inline GetDashboardEmbedUrlRequest& WithUserArn(const Aws::String& value) { SetUserArn(value); return *this;} /** *

The Amazon QuickSight user's Amazon Resource Name (ARN), for use with * QUICKSIGHT identity type. You can use this for any Amazon * QuickSight users in your account (readers, authors, or admins) authenticated as * one of the following:

  • Active Directory (AD) users or group * members

  • Invited nonfederated users

  • IAM users * and IAM role-based sessions authenticated through Federated Single Sign-On using * SAML, OpenID Connect, or IAM federation.

Omit this parameter * for users in the third group – IAM users and IAM role-based sessions.

*/ inline GetDashboardEmbedUrlRequest& WithUserArn(Aws::String&& value) { SetUserArn(std::move(value)); return *this;} /** *

The Amazon QuickSight user's Amazon Resource Name (ARN), for use with * QUICKSIGHT identity type. You can use this for any Amazon * QuickSight users in your account (readers, authors, or admins) authenticated as * one of the following:

  • Active Directory (AD) users or group * members

  • Invited nonfederated users

  • IAM users * and IAM role-based sessions authenticated through Federated Single Sign-On using * SAML, OpenID Connect, or IAM federation.

Omit this parameter * for users in the third group – IAM users and IAM role-based sessions.

*/ inline GetDashboardEmbedUrlRequest& WithUserArn(const char* value) { SetUserArn(value); return *this;} /** *

The Amazon QuickSight namespace that contains the dashboard IDs in this * request. If you're not using a custom namespace, set Namespace = * default.

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

The Amazon QuickSight namespace that contains the dashboard IDs in this * request. If you're not using a custom namespace, set Namespace = * default.

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

The Amazon QuickSight namespace that contains the dashboard IDs in this * request. If you're not using a custom namespace, set Namespace = * default.

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

The Amazon QuickSight namespace that contains the dashboard IDs in this * request. If you're not using a custom namespace, set Namespace = * default.

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

The Amazon QuickSight namespace that contains the dashboard IDs in this * request. If you're not using a custom namespace, set Namespace = * default.

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

The Amazon QuickSight namespace that contains the dashboard IDs in this * request. If you're not using a custom namespace, set Namespace = * default.

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

The Amazon QuickSight namespace that contains the dashboard IDs in this * request. If you're not using a custom namespace, set Namespace = * default.

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

The Amazon QuickSight namespace that contains the dashboard IDs in this * request. If you're not using a custom namespace, set Namespace = * default.

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

A list of one or more dashboard IDs that you want anonymous users to have * tempporary access to. Currently, the IdentityType parameter must be * set to ANONYMOUS because other identity types authenticate as * Amazon QuickSight or IAM users. For example, if you set "--dashboard-id * dash_id1 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS", the * session can access all three dashboards.

*/ inline const Aws::Vector& GetAdditionalDashboardIds() const{ return m_additionalDashboardIds; } /** *

A list of one or more dashboard IDs that you want anonymous users to have * tempporary access to. Currently, the IdentityType parameter must be * set to ANONYMOUS because other identity types authenticate as * Amazon QuickSight or IAM users. For example, if you set "--dashboard-id * dash_id1 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS", the * session can access all three dashboards.

*/ inline bool AdditionalDashboardIdsHasBeenSet() const { return m_additionalDashboardIdsHasBeenSet; } /** *

A list of one or more dashboard IDs that you want anonymous users to have * tempporary access to. Currently, the IdentityType parameter must be * set to ANONYMOUS because other identity types authenticate as * Amazon QuickSight or IAM users. For example, if you set "--dashboard-id * dash_id1 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS", the * session can access all three dashboards.

*/ inline void SetAdditionalDashboardIds(const Aws::Vector& value) { m_additionalDashboardIdsHasBeenSet = true; m_additionalDashboardIds = value; } /** *

A list of one or more dashboard IDs that you want anonymous users to have * tempporary access to. Currently, the IdentityType parameter must be * set to ANONYMOUS because other identity types authenticate as * Amazon QuickSight or IAM users. For example, if you set "--dashboard-id * dash_id1 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS", the * session can access all three dashboards.

*/ inline void SetAdditionalDashboardIds(Aws::Vector&& value) { m_additionalDashboardIdsHasBeenSet = true; m_additionalDashboardIds = std::move(value); } /** *

A list of one or more dashboard IDs that you want anonymous users to have * tempporary access to. Currently, the IdentityType parameter must be * set to ANONYMOUS because other identity types authenticate as * Amazon QuickSight or IAM users. For example, if you set "--dashboard-id * dash_id1 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS", the * session can access all three dashboards.

*/ inline GetDashboardEmbedUrlRequest& WithAdditionalDashboardIds(const Aws::Vector& value) { SetAdditionalDashboardIds(value); return *this;} /** *

A list of one or more dashboard IDs that you want anonymous users to have * tempporary access to. Currently, the IdentityType parameter must be * set to ANONYMOUS because other identity types authenticate as * Amazon QuickSight or IAM users. For example, if you set "--dashboard-id * dash_id1 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS", the * session can access all three dashboards.

*/ inline GetDashboardEmbedUrlRequest& WithAdditionalDashboardIds(Aws::Vector&& value) { SetAdditionalDashboardIds(std::move(value)); return *this;} /** *

A list of one or more dashboard IDs that you want anonymous users to have * tempporary access to. Currently, the IdentityType parameter must be * set to ANONYMOUS because other identity types authenticate as * Amazon QuickSight or IAM users. For example, if you set "--dashboard-id * dash_id1 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS", the * session can access all three dashboards.

*/ inline GetDashboardEmbedUrlRequest& AddAdditionalDashboardIds(const Aws::String& value) { m_additionalDashboardIdsHasBeenSet = true; m_additionalDashboardIds.push_back(value); return *this; } /** *

A list of one or more dashboard IDs that you want anonymous users to have * tempporary access to. Currently, the IdentityType parameter must be * set to ANONYMOUS because other identity types authenticate as * Amazon QuickSight or IAM users. For example, if you set "--dashboard-id * dash_id1 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS", the * session can access all three dashboards.

*/ inline GetDashboardEmbedUrlRequest& AddAdditionalDashboardIds(Aws::String&& value) { m_additionalDashboardIdsHasBeenSet = true; m_additionalDashboardIds.push_back(std::move(value)); return *this; } /** *

A list of one or more dashboard IDs that you want anonymous users to have * tempporary access to. Currently, the IdentityType parameter must be * set to ANONYMOUS because other identity types authenticate as * Amazon QuickSight or IAM users. For example, if you set "--dashboard-id * dash_id1 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS", the * session can access all three dashboards.

*/ inline GetDashboardEmbedUrlRequest& AddAdditionalDashboardIds(const char* value) { m_additionalDashboardIdsHasBeenSet = true; m_additionalDashboardIds.push_back(value); return *this; } private: Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet = false; Aws::String m_dashboardId; bool m_dashboardIdHasBeenSet = false; EmbeddingIdentityType m_identityType; bool m_identityTypeHasBeenSet = false; long long m_sessionLifetimeInMinutes; bool m_sessionLifetimeInMinutesHasBeenSet = false; bool m_undoRedoDisabled; bool m_undoRedoDisabledHasBeenSet = false; bool m_resetDisabled; bool m_resetDisabledHasBeenSet = false; bool m_statePersistenceEnabled; bool m_statePersistenceEnabledHasBeenSet = false; Aws::String m_userArn; bool m_userArnHasBeenSet = false; Aws::String m_namespace; bool m_namespaceHasBeenSet = false; Aws::Vector m_additionalDashboardIds; bool m_additionalDashboardIdsHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws