import { SENSITIVE_STRING } from "@aws-sdk/smithy-client" ; import { MetadataBearer as $MetadataBearer , SmithyException as __SmithyException } from "@aws-sdk/types" ; import { _Parameters , AccountCustomization , ActiveIAMPolicyAssignment , AnalysisSearchFilter , AnalysisSourceEntity , AnalysisSummary , AnonymousUserEmbeddingExperienceConfiguration , AssignmentStatus , ColumnGroup , ColumnLevelPermissionRule , DashboardPublishOptions , DashboardSearchFilter , DashboardSourceEntity , DashboardSummary , DashboardVersionSummary , DataSetImportMode , DataSetSummary , DataSetUsageConfiguration , DataSource , DataSourceCredentials , DataSourceParameters , FieldFolder , FilterOperator , FolderType , Group , GroupMember , IdentityType , Ingestion , LinkSharingConfiguration , LogicalTable , NamespaceInfoV2 , PhysicalTable , ResourcePermission , ResourceStatus , RowLevelPermissionDataSet , RowLevelPermissionTagConfiguration , SslProperties , Tag , TemplateAlias , TemplateSourceEntity , ThemeAlias , ThemeConfiguration , ThemeType , VpcConnectionProperties , } from "./models_0" ; export enum UserRole { ADMIN = "ADMIN" , AUTHOR = "AUTHOR" , READER = "READER" , RESTRICTED_AUTHOR = "RESTRICTED_AUTHOR" , RESTRICTED_READER = "RESTRICTED_READER" } /**
 * <p>A registered user of Amazon QuickSight. </p>
 */ export interface User { /**
     * <p>The Amazon Resource Name (ARN) for the user.</p>
     */ Arn ? : string ; /**
     * <p>The user's user name. In the output, the value for <code>UserName</code> is
     *                 <code>N/A</code> when the value for <code>IdentityType</code> is <code>IAM</code>
     *             and the corresponding IAM user is deleted.</p>
     */ UserName ? : string ; /**
     * <p>The user's email address.</p>
     */ Email ? : string ; /**
     * <p>The Amazon QuickSight role for the user. The user role can be one of the
     *             following:.</p>
     *         <ul>
     *             <li>
     *                 <p>
     *                   <code>READER</code>: A user who has read-only access to dashboards.</p>
     *             </li>
     *             <li>
     *                 <p>
     *                   <code>AUTHOR</code>: A user who can create data sources, datasets, analyses,
     *                     and dashboards.</p>
     *             </li>
     *             <li>
     *                 <p>
     *                   <code>ADMIN</code>: A user who is an author, who can also manage Amazon
     *                     Amazon QuickSight settings.</p>
     *             </li>
     *             <li>
     *                 <p>
     *                   <code>RESTRICTED_READER</code>: This role isn't currently available for
     *                     use.</p>
     *             </li>
     *             <li>
     *                 <p>
     *                   <code>RESTRICTED_AUTHOR</code>: This role isn't currently available for
     *                     use.</p>
     *             </li>
     *          </ul>
     */ Role ? : UserRole | string ; /**
     * <p>The type of identity authentication used by the user.</p>
     */ IdentityType ? : IdentityType | string ; /**
     * <p>The active status of user. When you create an Amazon QuickSight user that’s not an IAM
     *             user or an Active Directory user, that user is inactive until they sign in and provide a
     *             password.</p>
     */ Active ? : boolean ; /**
     * <p>The principal ID of the user.</p>
     */ PrincipalId ? : string ; /**
     * <p>The custom permissions profile associated with this user.</p>
     */ CustomPermissionsName ? : string ; /**
     * <p>The type of supported external login provider that provides identity to let the user
     *             federate into Amazon QuickSight with an associated IAM role. The type can be one of the following.</p>
     *         <ul>
     *             <li>
     *                     <p>
     *                   <code>COGNITO</code>: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com.</p>
     *                 </li>
     *             <li>
     *                     <p>
     *                   <code>CUSTOM_OIDC</code>: Custom OpenID Connect (OIDC) provider.</p>
     *                 </li>
     *          </ul>
     */ ExternalLoginFederationProviderType ? : string ; /**
     * <p>The URL of the external login provider.</p>
     */ ExternalLoginFederationProviderUrl ? : string ; /**
     * <p>The identity ID for the user in the external login provider.</p>
     */ ExternalLoginId ? : string ; } export namespace User { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface DescribeUserResponse { /**
     * <p>The user name.</p>
     */ User ? : User ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace DescribeUserResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } /**
 * <p>The domain specified isn't on the allow list. All domains for embedded dashboards must be
 * 			added to the approved list by an Amazon QuickSight admin.</p>
 */ export interface DomainNotWhitelistedException extends __SmithyException , $MetadataBearer { name : "DomainNotWhitelistedException" ; $fault : "client" ; Message ? : string ; /**
     * <p>The Amazon Web Services request ID for this request.</p>
     */ RequestId ? : string ; } export enum EmbeddingIdentityType { ANONYMOUS = "ANONYMOUS" , IAM = "IAM" , QUICKSIGHT = "QUICKSIGHT" } export enum FolderFilterAttribute { PARENT_FOLDER_ARN = "PARENT_FOLDER_ARN" } /**
 * <p>An object that consists of a member Amazon Resource Name (ARN) and a member ID.</p>
 */ export interface MemberIdArnPair { /**
     * <p>The ID of the member.</p>
     */ MemberId ? : string ; /**
     * <p>The Amazon Resource Name (ARN) of the member.</p>
     */ MemberArn ? : string ; } export namespace MemberIdArnPair { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } /**
 * <p>A filter to use to search a Amazon QuickSight folder.</p>
 */ export interface FolderSearchFilter { /**
     * <p>The comparison operator that you want to use in the filter. For example, <code>"Operator": "StringEquals"</code>.</p>
     */ Operator ? : FilterOperator | string ; /**
     * <p>The name of a value that you want to use in the filter. For example, <code>"Name": "PARENT_FOLDER_ARN"</code>.</p>
     */ Name ? : FolderFilterAttribute | string ; /**
     * <p>The value of the named item (in this example, <code>PARENT_FOLDER_ARN</code>), that you want to use as a filter. For example, <code>"Value": "arn:aws:quicksight:us-east-1:1:folder/folderId"</code>.</p>
     */ Value ? : string ; } export namespace FolderSearchFilter { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } /**
 * <p>A summary of information about an existing Amazon QuickSight folder. </p>
 */ export interface FolderSummary { /**
     * <p>The Amazon Resource Name (ARN) of the folder.</p>
     */ Arn ? : string ; /**
     * <p>The ID of the folder.</p>
     */ FolderId ? : string ; /**
     * <p>The display name of the folder.</p>
     */ Name ? : string ; /**
     * <p>The type of folder.</p>
     */ FolderType ? : FolderType | string ; /**
     * <p>The time that the folder was created.</p>
     */ CreatedTime ? : Date ; /**
     * <p>The time that the folder was last updated.</p>
     */ LastUpdatedTime ? : Date ; } export namespace FolderSummary { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } /**
 * <p>The key-value pair used for the row-level security tags feature.</p>
 */ export interface SessionTag { /**
     * <p>The key for the tag.</p>
     */ Key : string | undefined ; /**
     * <p>The value that you want to assign the tag.</p>
     */ Value : string | undefined ; } export namespace SessionTag { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , ... ( obj . Value && { Value : SENSITIVE_STRING } ) , } ) ; } export interface GenerateEmbedUrlForAnonymousUserRequest { /**
     * <p>The ID for the Amazon Web Services account that contains the dashboard that you're embedding.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>How many minutes the session is valid. The session lifetime must be in [15-600] minutes range.</p>
     */ SessionLifetimeInMinutes ? : number ; /**
     * <p>The Amazon QuickSight namespace that the anonymous user virtually belongs to. If you are not using an Amazon QuickSight custom namespace, set this to <code>default</code>.</p>
     */ Namespace : string | undefined ; /**
     * <p>The session tags used for row-level security. Before you use this parameter, make sure that
     *   you have configured the relevant datasets using the <code>DataSet$RowLevelPermissionTagConfiguration</code> parameter so that session tags can be used to provide row-level security.</p>
     *         <p>These are not the tags used for the Amazon Web Services resource tagging feature. For more information, see <a href="https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-rls-tags.html">Using Row-Level Security (RLS) with Tags</a>.</p>
     */ SessionTags ? : SessionTag [ ] ; /**
     * <p>The Amazon Resource Names for the Amazon QuickSight resources that the user is authorized to access during the lifetime of the session. If you choose <code>Dashboard</code> embedding experience, pass the list of dashboard ARNs in the account that you want the user to be able to view.</p>
     */ AuthorizedResourceArns : string [ ] | undefined ; /**
     * <p>The configuration of the experience you are embedding.</p>
     */ ExperienceConfiguration : AnonymousUserEmbeddingExperienceConfiguration | undefined ; } export namespace GenerateEmbedUrlForAnonymousUserRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , ... ( obj . SessionTags && { SessionTags : obj . SessionTags . map ( ( item ) => SessionTag . filterSensitiveLog ( item ) ) } ) , } ) ; } export interface GenerateEmbedUrlForAnonymousUserResponse { /**
     * <p>The embed URL for the dashboard.</p>
     */ EmbedUrl : string | undefined ; /**
     * <p>The HTTP status of the request.</p>
     */ Status : number | undefined ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId : string | undefined ; } export namespace GenerateEmbedUrlForAnonymousUserResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , ... ( obj . EmbedUrl && { EmbedUrl : SENSITIVE_STRING } ) , } ) ; } /**
 * <p>The number of minutes specified for the lifetime of a session isn't valid. The session
 * 			lifetime must be 15-600 minutes.</p>
 */ export interface SessionLifetimeInMinutesInvalidException extends __SmithyException , $MetadataBearer { name : "SessionLifetimeInMinutesInvalidException" ; $fault : "client" ; Message ? : string ; /**
     * <p>The Amazon Web Services request ID for this request.</p>
     */ RequestId ? : string ; } /**
 * <p>This error indicates that you are calling an embedding operation in Amazon QuickSight
 * 			without the required pricing plan on your Amazon Web Services account. Before you can use embedding
 * 			for anonymous users, a QuickSight administrator needs to add capacity pricing to Amazon QuickSight. You
 * 		    can do this on the <b>Manage Amazon QuickSight</b> page. </p>
 *         <p>After capacity pricing is added, you can use the
 *             <code>
 *                <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GetDashboardEmbedUrl.html">GetDashboardEmbedUrl</a>
 *             </code> API operation with the
 *             <code>--identity-type ANONYMOUS</code> option.</p>
 */ export interface UnsupportedPricingPlanException extends __SmithyException , $MetadataBearer { name : "UnsupportedPricingPlanException" ; $fault : "client" ; Message ? : string ; /**
     * <p>The Amazon Web Services request ID for this request.</p>
     */ RequestId ? : string ; } /**
 * <p>Information about the dashboard you want to embed.</p>
 */ export interface RegisteredUserDashboardEmbeddingConfiguration { /**
     * <p>The dashboard ID for the dashboard that you want the user to see first. This ID is included in the output URL. When the URL in response is accessed, Amazon QuickSight renders this dashboard if the user has permissions to view it.</p>
     *          <p>If the user does not have permission to view this dashboard, they see a permissions error message.</p>
     */ InitialDashboardId : string | undefined ; } export namespace RegisteredUserDashboardEmbeddingConfiguration { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } /**
 * <p>Information about the Q search bar embedding experience.</p>
 */ export interface RegisteredUserQSearchBarEmbeddingConfiguration { /**
     * <p>The ID of the Q topic that you want to make the starting topic in the Q search bar.
     *       You can find a topic ID by navigating to the Topics pane in the Amazon QuickSight application and opening
     *       a topic. The ID is in the URL for the topic that you open.</p>
     *          <p>If you don't specify an initial topic, a list of all shared topics is shown in the Q bar
     *       for your readers. When you select an initial topic, you can specify whether or not readers
     *       are allowed to select other topics from the available ones in the list.</p>
     */ InitialTopicId ? : string ; } export namespace RegisteredUserQSearchBarEmbeddingConfiguration { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } /**
 * <p>Information about the Amazon QuickSight console that you want to embed.</p>
 */ export interface RegisteredUserQuickSightConsoleEmbeddingConfiguration { /**
     * <p>The initial URL path for the Amazon QuickSight console. <code>InitialPath</code> is required.</p>
     *          <p>The entry point URL is constrained to the following paths:</p>
     *          <ul>
     *             <li>
     *                <p>
     *                   <code>/start</code>
     *                </p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>/start/analyses</code>
     *                </p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>/start/dashboards</code>
     *                </p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>/start/favorites</code>
     *                </p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>/dashboards/DashboardId</code>. <i>DashboardId</i> is the actual ID key from the Amazon QuickSight console URL of the dashboard.</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>/analyses/AnalysisId</code>. <i>AnalysisId</i> is the actual ID key from the Amazon QuickSight console URL of the analysis.</p>
     *             </li>
     *          </ul>
     */ InitialPath ? : string ; } export namespace RegisteredUserQuickSightConsoleEmbeddingConfiguration { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } /**
 * <p>The type of experience you want to embed. For registered users, you can embed Amazon QuickSight dashboards or the Amazon QuickSight console.</p>
 *          <note>
 *             <p>Exactly one of the experience configurations is required. You can choose
 *                     <code>Dashboard</code> or <code>QuickSightConsole</code>. You cannot choose more
 *                 than one experience configuration.</p>
 *          </note>
 */ export interface RegisteredUserEmbeddingExperienceConfiguration { /**
     * <p>The configuration details for providing a dashboard embedding experience.</p>
     */ Dashboard ? : RegisteredUserDashboardEmbeddingConfiguration ; /**
     * <p>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 <a href="https://docs.aws.amazon.com/quicksight/latest/user/customizing-permissions-to-the-quicksight-console.html">Customizing Access to the Amazon QuickSight Console</a> in the <i>Amazon QuickSight User
     *             Guide</i>.</p>
     *         <p>Use <code>
     *                <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html">GenerateEmbedUrlForRegisteredUser</a>
     *             </code>
     *             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
     *             <code>
     *                <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html">UpdateUser</a>
     *             </code> API operation. Use the <code>
     *                <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html">RegisterUser</a>
     *             </code> API operation to add a new user with a custom permission profile attached. For more
     *             information, see the following sections in the <i>Amazon QuickSight User
     *             Guide</i>:</p>
     *         <ul>
     *             <li>
     *                 <p>
     *                   <a href="https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-full-console-for-authenticated-users.html">Embedding the Full Functionality of the Amazon QuickSight Console for Authenticated Users</a>
     *                </p>
     *             </li>
     *             <li>
     *                 <p>
     *                   <a href="https://docs.aws.amazon.com/quicksight/latest/user/customizing-permissions-to-the-quicksight-console.html">Customizing Access to the Amazon QuickSight Console</a>
     *                </p>
     *             </li>
     *          </ul>
     *         <p>For more information about the high-level steps for embedding and for an interactive demo of the ways you can customize embedding, visit the <a href="https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-portal.html">Amazon QuickSight Developer Portal</a>.</p>
     */ QuickSightConsole ? : RegisteredUserQuickSightConsoleEmbeddingConfiguration ; /**
     * <p>The configuration details for embedding the Q search bar.</p>
     *          <p>For more information about embedding the Q search bar, see
     *       <a href="https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html">Embedding Overview</a>.</p>
     */ QSearchBar ? : RegisteredUserQSearchBarEmbeddingConfiguration ; } export namespace RegisteredUserEmbeddingExperienceConfiguration { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface GenerateEmbedUrlForRegisteredUserRequest { /**
     * <p>The ID for the Amazon Web Services account that contains the dashboard that you're embedding.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>How many minutes the session is valid. The session lifetime must be in [15-600] minutes range.</p>
     */ SessionLifetimeInMinutes ? : number ; /**
     * <p>The Amazon Resource Name for the registered user.</p>
     */ UserArn : string | undefined ; /**
     * <p>The experience you are embedding. For registered users, you can embed Amazon QuickSight dashboards or the entire Amazon QuickSight console.</p>
     */ ExperienceConfiguration : RegisteredUserEmbeddingExperienceConfiguration | undefined ; } export namespace GenerateEmbedUrlForRegisteredUserRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface GenerateEmbedUrlForRegisteredUserResponse { /**
     * <p>The embed URL for the Amazon QuickSight dashboard or console.</p>
     */ EmbedUrl : string | undefined ; /**
     * <p>The HTTP status of the request.</p>
     */ Status : number | undefined ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId : string | undefined ; } export namespace GenerateEmbedUrlForRegisteredUserResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , ... ( obj . EmbedUrl && { EmbedUrl : SENSITIVE_STRING } ) , } ) ; } /**
 * <p>The user with the provided name isn't found. This error can happen in any operation
 * 			that requires finding a user based on a provided user name, such as
 * 				<code>DeleteUser</code>, <code>DescribeUser</code>, and so on.</p>
 */ export interface QuickSightUserNotFoundException extends __SmithyException , $MetadataBearer { name : "QuickSightUserNotFoundException" ; $fault : "client" ; Message ? : string ; /**
     * <p>The Amazon Web Services request ID for this request.</p>
     */ RequestId ? : string ; } export interface GetDashboardEmbedUrlRequest { /**
     * <p>The ID for the Amazon Web Services account that contains the dashboard that you're embedding.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the dashboard, also added to the Identity and Access Management (IAM)
     *             policy.</p>
     */ DashboardId : string | undefined ; /**
     * <p>The authentication method that the user uses to sign in.</p>
     */ IdentityType : EmbeddingIdentityType | string | undefined ; /**
     * <p>How many minutes the session is valid. The session lifetime must be 15-600 minutes.</p>
     */ SessionLifetimeInMinutes ? : number ; /**
     * <p>Remove the undo/redo button on the embedded dashboard. The default is FALSE, which enables
     * 			the undo/redo button.</p>
     */ UndoRedoDisabled ? : boolean ; /**
     * <p>Remove the reset button on the embedded dashboard. The default is FALSE, which enables the
     * 			reset button.</p>
     */ ResetDisabled ? : boolean ; /**
     * <p>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 <code>TRUE</code>, 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
     *                 <code>FALSE</code>.</p>
     */ StatePersistenceEnabled ? : boolean ; /**
     * <p>The Amazon QuickSight user's Amazon Resource Name (ARN), for use with <code>QUICKSIGHT</code> identity type.
     * 			You can use this for any Amazon QuickSight users in your account (readers, authors, or
     * 			admins) authenticated as one of the following:</p>
     * 		       <ul>
     *             <li>
     * 				           <p>Active Directory (AD) users or group members</p>
     * 			         </li>
     *             <li>
     * 				           <p>Invited nonfederated users</p>
     * 			         </li>
     *             <li>
     * 				           <p>IAM users and IAM role-based sessions authenticated through Federated Single Sign-On using
     * 					SAML, OpenID Connect, or IAM federation.</p>
     * 			         </li>
     *          </ul>
     *          <p>Omit this parameter for users in the third group – IAM users and IAM
     *             role-based sessions.</p>
     */ UserArn ? : string ; /**
     * <p>The Amazon QuickSight namespace that contains the dashboard IDs in this request.
     *     	   If you're not using a custom namespace, set <code>Namespace = default</code>.</p>
     */ Namespace ? : string ; /**
     * <p>A list of one or more dashboard IDs that you want to add to a session that includes
     *             anonymous users. The <code>IdentityType</code> parameter must be set to
     *                 <code>ANONYMOUS</code> for this to work, because other identity types authenticate
     *             as Amazon QuickSight or IAM users. For example, if you set "<code>--dashboard-id dash_id1
     *                 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS</code>", the session
     *             can access all three dashboards. </p>
     */ AdditionalDashboardIds ? : string [ ] ; } export namespace GetDashboardEmbedUrlRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } /**
 * <p>Output returned from the <code>GetDashboardEmbedUrl</code> operation.</p>
 */ export interface GetDashboardEmbedUrlResponse { /**
     * <p>A single-use URL that you can put into your server-side webpage to embed your
     * 			dashboard. This URL is valid for 5 minutes. The API operation provides the URL with an
     * 			<code>auth_code</code> value that enables one (and only one) sign-on to a user session
     * 			that is valid for 10 hours. </p>
     */ EmbedUrl ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace GetDashboardEmbedUrlResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , ... ( obj . EmbedUrl && { EmbedUrl : SENSITIVE_STRING } ) , } ) ; } /**
 * <p>The identity type specified isn't supported. Supported identity types include
 * 				<code>IAM</code> and <code>QUICKSIGHT</code>.</p>
 */ export interface IdentityTypeNotSupportedException extends __SmithyException , $MetadataBearer { name : "IdentityTypeNotSupportedException" ; $fault : "client" ; Message ? : string ; /**
     * <p>The Amazon Web Services request ID for this request.</p>
     */ RequestId ? : string ; } export interface GetSessionEmbedUrlRequest { /**
     * <p>The ID for the Amazon Web Services account associated with your Amazon QuickSight subscription.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The URL you use to access the embedded session. The entry point URL is constrained to
     *           the following paths:</p>
     *          <ul>
     *             <li>
     *                 <p>
     *                   <code>/start</code>
     *                </p>
     *             </li>
     *             <li>
     *                 <p>
     *                   <code>/start/analyses</code>
     *                </p>
     *             </li>
     *             <li>
     *                 <p>
     *                   <code>/start/dashboards</code>
     *                </p>
     *             </li>
     *             <li>
     *                 <p>
     *                   <code>/start/favorites</code>
     *                </p>
     *             </li>
     *             <li>
     *                 <p>
     *                   <code>/dashboards/<i>DashboardId</i>
     *                   </code> - where <code>DashboardId</code> is the actual ID key from the Amazon QuickSight console URL of the dashboard</p>
     *             </li>
     *             <li>
     *                 <p>
     *                   <code>/analyses/<i>AnalysisId</i>
     *                   </code> - where <code>AnalysisId</code> is the actual ID key from the Amazon QuickSight console URL of the analysis</p>
     *             </li>
     *          </ul>
     */ EntryPoint ? : string ; /**
     * <p>How many minutes the session is valid. The session lifetime must be 15-600 minutes.</p>
     */ SessionLifetimeInMinutes ? : number ; /**
     * <p>The Amazon QuickSight user's Amazon Resource Name (ARN), for use with <code>QUICKSIGHT</code> identity type.
     * 			You can use this for any type of Amazon QuickSight users in your account (readers, authors, or
     * 			admins). They need to be authenticated as one of the following:</p>
     * 		       <ol>
     *             <li>
     * 				           <p>Active Directory (AD) users or group members</p>
     * 			         </li>
     *             <li>
     * 				           <p>Invited nonfederated users</p>
     * 			         </li>
     *             <li>
     * 				           <p>Identity and Access Management (IAM) users and IAM role-based sessions authenticated
     *                     through Federated Single Sign-On using SAML, OpenID Connect, or IAM
     *                     federation</p>
     * 			         </li>
     *          </ol>
     *          <p>Omit this parameter for users in the third group, IAM users and IAM role-based
     *             sessions.</p>
     */ UserArn ? : string ; } export namespace GetSessionEmbedUrlRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface GetSessionEmbedUrlResponse { /**
     * <p>A single-use URL that you can put into your server-side web page to embed your
     * 			Amazon QuickSight session. This URL is valid for 5 minutes. The API operation provides the URL with an
     * 			<code>auth_code</code> value that enables one (and only one) sign-on to a user session
     * 			that is valid for 10 hours. </p>
     */ EmbedUrl ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace GetSessionEmbedUrlResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , ... ( obj . EmbedUrl && { EmbedUrl : SENSITIVE_STRING } ) , } ) ; } /**
 * <p>IAM policy assignment summary.</p>
 */ export interface IAMPolicyAssignmentSummary { /**
     * <p>Assignment name.</p>
     */ AssignmentName ? : string ; /**
     * <p>Assignment status.</p>
     */ AssignmentStatus ? : AssignmentStatus | string ; } export namespace IAMPolicyAssignmentSummary { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListAnalysesRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the analyses.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to return.</p>
     */ MaxResults ? : number ; } export namespace ListAnalysesRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListAnalysesResponse { /**
     * <p>Metadata describing each of the analyses that are listed.</p>
     */ AnalysisSummaryList ? : AnalysisSummary [ ] ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace ListAnalysesResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListDashboardsRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the dashboards that you're
     *             listing.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListDashboardsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListDashboardsResponse { /**
     * <p>A structure that contains all of the dashboards in your Amazon Web Services account. This structure
     *             provides basic information about the dashboards.</p>
     */ DashboardSummaryList ? : DashboardSummary [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace ListDashboardsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListDashboardVersionsRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the dashboard that you're listing versions
     *             for.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the dashboard.</p>
     */ DashboardId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListDashboardVersionsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListDashboardVersionsResponse { /**
     * <p>A structure that contains information about each version of the dashboard.</p>
     */ DashboardVersionSummaryList ? : DashboardVersionSummary [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace ListDashboardVersionsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListDataSetsRequest { /**
     * <p>The Amazon Web Services account ID.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListDataSetsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListDataSetsResponse { /**
     * <p>The list of dataset summaries.</p>
     */ DataSetSummaries ? : DataSetSummary [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace ListDataSetsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListDataSourcesRequest { /**
     * <p>The Amazon Web Services account ID.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListDataSourcesRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListDataSourcesResponse { /**
     * <p>A list of data sources.</p>
     */ DataSources ? : DataSource [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace ListDataSourcesResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , ... ( obj . DataSources && { DataSources : obj . DataSources . map ( ( item ) => DataSource . filterSensitiveLog ( item ) ) } ) , } ) ; } export interface ListFolderMembersRequest { /**
     * <p>The ID for the Amazon Web Services account that contains the folder.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID of the folder.</p>
     */ FolderId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListFolderMembersRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListFolderMembersResponse { /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>A structure that contains all of the folder members (dashboards, analyses, and datasets) in the folder.</p>
     */ FolderMemberList ? : MemberIdArnPair [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace ListFolderMembersResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListFoldersRequest { /**
     * <p>The ID for the Amazon Web Services account that contains the folder.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListFoldersRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListFoldersResponse { /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>A structure that contains all of the folders in the Amazon Web Services account. This structure provides basic information about the folders.</p>
     */ FolderSummaryList ? : FolderSummary [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace ListFoldersResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListGroupMembershipsRequest { /**
     * <p>The name of the group that you want to see a membership list of.</p>
     */ GroupName : string | undefined ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to return from this request.</p>
     */ MaxResults ? : number ; /**
     * <p>The ID for the Amazon Web Services account that the group is in. Currently, you use the ID for the
     * 			Amazon Web Services account that contains your Amazon QuickSight account.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The namespace. Currently, you should set this to <code>default</code>.</p>
     */ Namespace : string | undefined ; } export namespace ListGroupMembershipsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListGroupMembershipsResponse { /**
     * <p>The list of the members of the group.</p>
     */ GroupMemberList ? : GroupMember [ ] ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace ListGroupMembershipsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListGroupsRequest { /**
     * <p>The ID for the Amazon Web Services account that the group is in. Currently, you use the ID for the
     * 			Amazon Web Services account that contains your Amazon QuickSight account.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to return.</p>
     */ MaxResults ? : number ; /**
     * <p>The namespace. Currently, you should set this to <code>default</code>.</p>
     */ Namespace : string | undefined ; } export namespace ListGroupsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListGroupsResponse { /**
     * <p>The list of the groups.</p>
     */ GroupList ? : Group [ ] ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace ListGroupsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListIAMPolicyAssignmentsRequest { /**
     * <p>The ID of the Amazon Web Services account that contains these IAM policy assignments.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The status of the assignments.</p>
     */ AssignmentStatus ? : AssignmentStatus | string ; /**
     * <p>The namespace for the assignments.</p>
     */ Namespace : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListIAMPolicyAssignmentsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListIAMPolicyAssignmentsResponse { /**
     * <p>Information describing the IAM policy assignments.</p>
     */ IAMPolicyAssignments ? : IAMPolicyAssignmentSummary [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace ListIAMPolicyAssignmentsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListIAMPolicyAssignmentsForUserRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the assignments.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The name of the user.</p>
     */ UserName : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; /**
     * <p>The namespace of the assignment.</p>
     */ Namespace : string | undefined ; } export namespace ListIAMPolicyAssignmentsForUserRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListIAMPolicyAssignmentsForUserResponse { /**
     * <p>The active assignments for this user.</p>
     */ ActiveAssignments ? : ActiveIAMPolicyAssignment [ ] ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace ListIAMPolicyAssignmentsForUserResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListIngestionsRequest { /**
     * <p>The ID of the dataset used in the ingestion.</p>
     */ DataSetId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services account ID.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListIngestionsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListIngestionsResponse { /**
     * <p>A list of the ingestions.</p>
     */ Ingestions ? : Ingestion [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace ListIngestionsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListNamespacesRequest { /**
     * <p>The ID for the Amazon Web Services account that contains the Amazon QuickSight namespaces that you want to list.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to return.</p>
     */ MaxResults ? : number ; } export namespace ListNamespacesRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListNamespacesResponse { /**
     * <p>The information about the namespaces in this Amazon Web Services account. The response includes
     *         the namespace ARN, name, Amazon Web Services Region, notification email address, creation status, and
     *         identity store.</p>
     */ Namespaces ? : NamespaceInfoV2 [ ] ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace ListNamespacesResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListTagsForResourceRequest { /**
     * <p>The Amazon Resource Name (ARN) of the resource that you want a list of tags for.</p>
     */ ResourceArn : string | undefined ; } export namespace ListTagsForResourceRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListTagsForResourceResponse { /**
     * <p>Contains a map of the key-value pairs for the resource tag or tags assigned to the
     * 			resource.</p>
     */ Tags ? : Tag [ ] ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace ListTagsForResourceResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListTemplateAliasesRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the template aliases that you're listing.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the template.</p>
     */ TemplateId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListTemplateAliasesRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListTemplateAliasesResponse { /**
     * <p>A structure containing the list of the template's aliases.</p>
     */ TemplateAliasList ? : TemplateAlias [ ] ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; } export namespace ListTemplateAliasesResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListTemplatesRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the templates that you're listing.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListTemplatesRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } /**
 * <p>The template summary.</p>
 */ export interface TemplateSummary { /**
     * <p>A summary of a template.</p>
     */ Arn ? : string ; /**
     * <p>The ID of the template. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>
     */ TemplateId ? : string ; /**
     * <p>A display name for the template.</p>
     */ Name ? : string ; /**
     * <p>A structure containing a list of version numbers for the template summary.</p>
     */ LatestVersionNumber ? : number ; /**
     * <p>The last time that this template was created.</p>
     */ CreatedTime ? : Date ; /**
     * <p>The last time that this template was updated.</p>
     */ LastUpdatedTime ? : Date ; } export namespace TemplateSummary { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListTemplatesResponse { /**
     * <p>A structure containing information about the templates in the list.</p>
     */ TemplateSummaryList ? : TemplateSummary [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace ListTemplatesResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListTemplateVersionsRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the templates that you're listing.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the template.</p>
     */ TemplateId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListTemplateVersionsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } /**
 * <p>The template version.</p>
 */ export interface TemplateVersionSummary { /**
     * <p>The Amazon Resource Name (ARN) of the template version.</p>
     */ Arn ? : string ; /**
     * <p>The version number of the template version.</p>
     */ VersionNumber ? : number ; /**
     * <p>The time that this template version was created.</p>
     */ CreatedTime ? : Date ; /**
     * <p>The status of the template version.</p>
     */ Status ? : ResourceStatus | string ; /**
     * <p>The description of the template version.</p>
     */ Description ? : string ; } export namespace TemplateVersionSummary { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListTemplateVersionsResponse { /**
     * <p>A structure containing a list of all the versions of the specified template.</p>
     */ TemplateVersionSummaryList ? : TemplateVersionSummary [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace ListTemplateVersionsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListThemeAliasesRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the theme aliases that you're listing.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the theme.</p>
     */ ThemeId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListThemeAliasesRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListThemeAliasesResponse { /**
     * <p>A structure containing the list of the theme's aliases.</p>
     */ ThemeAliasList ? : ThemeAlias [ ] ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; } export namespace ListThemeAliasesResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListThemesRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the themes that you're listing.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; /**
     * <p>The type of themes that you want to list. Valid options include the following:</p>
     *     	    <ul>
     *             <li>
     *                <p>
     *                   <code>ALL (default)</code>- Display all existing themes.</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>CUSTOM</code> - Display only the themes created by people using Amazon QuickSight.</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>QUICKSIGHT</code> - Display only the starting themes defined by Amazon QuickSight.</p>
     *             </li>
     *          </ul>
     */ Type ? : ThemeType | string ; } export namespace ListThemesRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } /**
 * <p>The theme summary.</p>
 */ export interface ThemeSummary { /**
     * <p>The Amazon Resource Name (ARN) of the resource.</p>
     */ Arn ? : string ; /**
     * <p>the display name for the theme.</p>
     */ Name ? : string ; /**
     * <p>The ID of the theme. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>
     */ ThemeId ? : string ; /**
     * <p>The latest version number for the theme. </p>
     */ LatestVersionNumber ? : number ; /**
     * <p>The date and time that this theme was created.</p>
     */ CreatedTime ? : Date ; /**
     * <p>The last date and time that this theme was updated.</p>
     */ LastUpdatedTime ? : Date ; } export namespace ThemeSummary { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListThemesResponse { /**
     * <p>Information about the themes in the list.</p>
     */ ThemeSummaryList ? : ThemeSummary [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace ListThemesResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListThemeVersionsRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the themes that you're listing.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the theme.</p>
     */ ThemeId : string | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace ListThemeVersionsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } /**
 * <p>The theme version.</p>
 */ export interface ThemeVersionSummary { /**
     * <p>The version number of the theme version.</p>
     */ VersionNumber ? : number ; /**
     * <p>The Amazon Resource Name (ARN) of the theme version.</p>
     */ Arn ? : string ; /**
     * <p>The description of the theme version.</p>
     */ Description ? : string ; /**
     * <p>The date and time that this theme version was created.</p>
     */ CreatedTime ? : Date ; /**
     * <p>The status of the theme version.</p>
     */ Status ? : ResourceStatus | string ; } export namespace ThemeVersionSummary { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListThemeVersionsResponse { /**
     * <p>A structure containing a list of all the versions of the specified theme.</p>
     */ ThemeVersionSummaryList ? : ThemeVersionSummary [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace ListThemeVersionsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListUserGroupsRequest { /**
     * <p>The Amazon QuickSight user name that you want to list group memberships for.</p>
     */ UserName : string | undefined ; /**
     * <p>The Amazon Web Services account ID that the user is in. Currently, you use the ID for the Amazon Web Services account
     * 			that contains your Amazon QuickSight account.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The namespace. Currently, you should set this to <code>default</code>.</p>
     */ Namespace : string | undefined ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to return from this request.</p>
     */ MaxResults ? : number ; } export namespace ListUserGroupsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListUserGroupsResponse { /**
     * <p>The list of groups the user is a member of.</p>
     */ GroupList ? : Group [ ] ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace ListUserGroupsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListUsersRequest { /**
     * <p>The ID for the Amazon Web Services account that the user is in. Currently, you use the ID for the
     * 			Amazon Web Services account that contains your Amazon QuickSight account.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to return from this request.</p>
     */ MaxResults ? : number ; /**
     * <p>The namespace. Currently, you should set this to <code>default</code>.</p>
     */ Namespace : string | undefined ; } export namespace ListUsersRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface ListUsersResponse { /**
     * <p>The list of users.</p>
     */ UserList ? : User [ ] ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace ListUsersResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface RegisterUserRequest { /**
     * <p>Amazon QuickSight supports several ways of managing the identity of users. This
     * 			parameter accepts two values:</p>
     * 		       <ul>
     *             <li>
     * 				           <p>
     *                   <code>IAM</code>: A user whose identity maps to an existing IAM user or role.
     * 				</p>
     * 			         </li>
     *             <li>
     * 				           <p>
     *                   <code>QUICKSIGHT</code>: A user whose identity is owned and managed internally by
     * 					Amazon QuickSight. </p>
     * 			         </li>
     *          </ul>
     */ IdentityType : IdentityType | string | undefined ; /**
     * <p>The email address of the user that you want to register.</p>
     */ Email : string | undefined ; /**
     * <p>The Amazon QuickSight role for the user. The user role can be one of the
     * 			following:</p>
     * 		       <ul>
     *             <li>
     * 				           <p>
     *                   <code>READER</code>: A user who has read-only access to dashboards.</p>
     * 			         </li>
     *             <li>
     * 				           <p>
     *                   <code>AUTHOR</code>: A user who can create data sources, datasets, analyses, and
     * 					dashboards.</p>
     * 			         </li>
     *             <li>
     * 				           <p>
     *                   <code>ADMIN</code>: A user who is an author, who can also manage Amazon QuickSight
     * 					settings.</p>
     * 			         </li>
     *             <li>
     * 				           <p>
     *                   <code>RESTRICTED_READER</code>: This role isn't currently available for
     * 					use.</p>
     * 			         </li>
     *             <li>
     * 				           <p>
     *                   <code>RESTRICTED_AUTHOR</code>: This role isn't currently available for
     * 					use.</p>
     * 			         </li>
     *          </ul>
     */ UserRole : UserRole | string | undefined ; /**
     * <p>The ARN of the IAM user or role that you are registering with Amazon QuickSight. </p>
     */ IamArn ? : string ; /**
     * <p>You need to use this parameter only when you register one or more users using an assumed
     * 			IAM role. You don't need to provide the session name for other scenarios, for example when
     * 			you are registering an IAM user or an Amazon QuickSight user. You can register multiple
     * 			users using the same IAM role if each user has a different session name. For more
     * 			information on assuming IAM roles, see <a href="https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html">
     *                <code>assume-role</code>
     *             </a> in the <i>CLI Reference.</i>
     *          </p>
     */ SessionName ? : string ; /**
     * <p>The ID for the Amazon Web Services account that the user is in. Currently, you use the ID for the
     * 			Amazon Web Services account that contains your Amazon QuickSight account.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The namespace. Currently, you should set this to <code>default</code>.</p>
     */ Namespace : string | undefined ; /**
     * <p>The Amazon QuickSight user name that you want to create for the user you are
     * 			registering.</p>
     */ UserName ? : string ; /**
     * <p>(Enterprise edition only) The name of the custom permissions profile that you want to
     *             assign to this user. Customized permissions allows you to control a user's access by
     *             restricting access the following operations:</p>
     *         <ul>
     *             <li>
     *                 <p>Create and update data sources</p>
     *             </li>
     *             <li>
     *                 <p>Create and update datasets</p>
     *             </li>
     *             <li>
     *                 <p>Create and update email reports</p>
     *             </li>
     *             <li>
     *                 <p>Subscribe to email reports</p>
     *             </li>
     *          </ul>
     *         <p>To add custom permissions to an existing user, use <code>
     *                <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html">UpdateUser</a>
     *             </code> instead.</p>
     *         <p>A set of custom permissions includes any combination of these restrictions. Currently,
     *             you need to create the profile names for custom permission sets by using the Amazon QuickSight
     *             console. Then, you use the <code>RegisterUser</code> API operation to assign the named set of
     *             permissions to a QuickSight user. </p>
     *         <p>Amazon QuickSight custom permissions are applied through IAM policies. Therefore, they
     *             override the permissions typically granted by assigning Amazon QuickSight users to one of the
     *             default security cohorts in Amazon QuickSight (admin, author, reader).</p>
     *         <p>This feature is available only to Amazon QuickSight Enterprise edition subscriptions.</p>
     */ CustomPermissionsName ? : string ; /**
     * <p>The type of supported external login provider that provides identity to let a user federate into Amazon QuickSight with an associated Identity and Access Management(IAM) role. The type of supported external login provider can be one of the following.</p>
     *          <ul>
     *             <li>
     *                <p>
     *                   <code>COGNITO</code>: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com. When choosing the <code>COGNITO</code> provider type, don’t use the "CustomFederationProviderUrl" parameter which is only needed when the external provider is custom.</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>CUSTOM_OIDC</code>: Custom OpenID Connect (OIDC) provider. When choosing <code>CUSTOM_OIDC</code> type, use the <code>CustomFederationProviderUrl</code> parameter to provide the custom OIDC provider URL.</p>
     *             </li>
     *          </ul>
     */ ExternalLoginFederationProviderType ? : string ; /**
     * <p>The URL of the custom OpenID Connect (OIDC) provider that provides identity to let a user federate
     *          into Amazon QuickSight with an associated Identity and Access Management(IAM) role. This parameter should
     *          only be used when <code>ExternalLoginFederationProviderType</code> parameter is set to <code>CUSTOM_OIDC</code>.</p>
     */ CustomFederationProviderUrl ? : string ; /**
     * <p>The identity ID for a user in the external login provider.</p>
     */ ExternalLoginId ? : string ; } export namespace RegisterUserRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface RegisterUserResponse { /**
     * <p>The user's user name.</p>
     */ User ? : User ; /**
     * <p>The URL the user visits to complete registration and provide a password. This is
     * 			returned only for users with an identity type of <code>QUICKSIGHT</code>.</p>
     */ UserInvitationUrl ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace RegisterUserResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface RestoreAnalysisRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the analysis.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID of the analysis that you're restoring.</p>
     */ AnalysisId : string | undefined ; } export namespace RestoreAnalysisRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface RestoreAnalysisResponse { /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Resource Name (ARN) of the analysis that you're restoring.</p>
     */ Arn ? : string ; /**
     * <p>The ID of the analysis that you're restoring.
     *         </p>
     */ AnalysisId ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace RestoreAnalysisResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface SearchAnalysesRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the analyses that you're searching
     *             for.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The structure for the search filters that you want to apply to your search. </p>
     */ Filters : AnalysisSearchFilter [ ] | undefined ; /**
     * <p>A pagination token that can be used in a subsequent request.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to return.</p>
     */ MaxResults ? : number ; } export namespace SearchAnalysesRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface SearchAnalysesResponse { /**
     * <p>Metadata describing the analyses that you searched for.</p>
     */ AnalysisSummaryList ? : AnalysisSummary [ ] ; /**
     * <p>A pagination token that can be used in a subsequent request.
     *             </p>
     */ NextToken ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace SearchAnalysesResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface SearchDashboardsRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the user whose dashboards you're searching
     *             for. </p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The filters to apply to the search. Currently, you can search only by user name, for
     *             example, <code>"Filters": [ { "Name": "QUICKSIGHT_USER", "Operator": "StringEquals",
     *             "Value": "arn:aws:quicksight:us-east-1:1:user/default/UserName1" } ]</code>
     *          </p>
     */ Filters : DashboardSearchFilter [ ] | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace SearchDashboardsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface SearchDashboardsResponse { /**
     * <p>The list of dashboards owned by the user specified in <code>Filters</code> in your
     *             request.</p>
     */ DashboardSummaryList ? : DashboardSummary [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace SearchDashboardsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface SearchFoldersRequest { /**
     * <p>The ID for the Amazon Web Services account that contains the folder.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The filters to apply to the search. Currently, you can search only by the parent folder ARN. For example, <code>"Filters": [ { "Name": "PARENT_FOLDER_ARN", "Operator": "StringEquals", "Value": "arn:aws:quicksight:us-east-1:1:folder/folderId" } ]</code>.</p>
     */ Filters : FolderSearchFilter [ ] | undefined ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The maximum number of results to be returned per request.</p>
     */ MaxResults ? : number ; } export namespace SearchFoldersRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface SearchFoldersResponse { /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>A structure that contains all of the folders in the Amazon Web Services account. This structure provides basic information about the folders.</p>
     */ FolderSummaryList ? : FolderSummary [ ] ; /**
     * <p>The token for the next set of results, or null if there are no more results.</p>
     */ NextToken ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace SearchFoldersResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface TagResourceRequest { /**
     * <p>The Amazon Resource Name (ARN) of the resource that you want to tag.</p>
     */ ResourceArn : string | undefined ; /**
     * <p>Contains a map of the key-value pairs for the resource tag or tags assigned to the resource.</p>
     */ Tags : Tag [ ] | undefined ; } export namespace TagResourceRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface TagResourceResponse { /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace TagResourceResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UntagResourceRequest { /**
     * <p>The Amazon Resource Name (ARN) of the resource that you want to untag.</p>
     */ ResourceArn : string | undefined ; /**
     * <p>The keys of the key-value pairs for the resource tag or tags assigned to the resource.</p>
     */ TagKeys : string [ ] | undefined ; } export namespace UntagResourceRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UntagResourceResponse { /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UntagResourceResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateAccountCustomizationRequest { /**
     * <p>The ID for the Amazon Web Services account that you want to update Amazon QuickSight customizations
     *             for.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The namespace that you want to update Amazon QuickSight customizations for.</p>
     */ Namespace ? : string ; /**
     * <p>The Amazon QuickSight customizations you're updating in the current Amazon Web Services Region. </p>
     */ AccountCustomization : AccountCustomization | undefined ; } export namespace UpdateAccountCustomizationRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateAccountCustomizationResponse { /**
     * <p>The Amazon Resource Name (ARN) for the updated customization for this Amazon Web Services account.</p>
     */ Arn ? : string ; /**
     * <p>The ID for the Amazon Web Services account that you want to update Amazon QuickSight customizations
     *             for.</p>
     */ AwsAccountId ? : string ; /**
     * <p>The namespace associated with the customization that you're updating.</p>
     */ Namespace ? : string ; /**
     * <p>The Amazon QuickSight customizations you're updating in the current Amazon Web Services Region. </p>
     */ AccountCustomization ? : AccountCustomization ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UpdateAccountCustomizationResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateAccountSettingsRequest { /**
     * <p>The ID for the Amazon Web Services account that contains the Amazon QuickSight settings that you want to
     *             list.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The default namespace for this Amazon Web Services account. Currently, the default is
     *                 <code>default</code>. Identity and Access Management (IAM) users that register
     *             for the first time with Amazon QuickSight provide an email that becomes associated with the
     *             default namespace.</p>
     */ DefaultNamespace : string | undefined ; /**
     * <p>The email address that you want Amazon QuickSight to send notifications to regarding your
     *             Amazon Web Services account or Amazon QuickSight subscription.</p>
     */ NotificationEmail ? : string ; } export namespace UpdateAccountSettingsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateAccountSettingsResponse { /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UpdateAccountSettingsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateAnalysisRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the analysis that you're updating.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the analysis that you're updating. This ID displays in the URL of the
     *             analysis.</p>
     */ AnalysisId : string | undefined ; /**
     * <p>A descriptive name for the analysis that you're updating. This name displays for the
     *             analysis in the Amazon QuickSight console.</p>
     */ Name : string | undefined ; /**
     * <p>The parameter names and override values that you want to use. An analysis can have
     *             any parameter type, and some parameters might accept multiple values. </p>
     */ Parameters ? : _Parameters ; /**
     * <p>A source entity to use for the analysis that you're updating. This metadata structure
     *             contains details that describe a source template and one or more datasets.</p>
     */ SourceEntity : AnalysisSourceEntity | undefined ; /**
     * <p>The Amazon Resource Name (ARN) for the theme to apply to the analysis that you're
     *             creating. To see the theme in the Amazon QuickSight console, make sure that you have access to
     *             it.</p>
     */ ThemeArn ? : string ; } export namespace UpdateAnalysisRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateAnalysisResponse { /**
     * <p>The ARN of the analysis that you're updating.</p>
     */ Arn ? : string ; /**
     * <p>The ID of the analysis.</p>
     */ AnalysisId ? : string ; /**
     * <p>The update status of the last update that was made to the analysis.</p>
     */ UpdateStatus ? : ResourceStatus | string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace UpdateAnalysisResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateAnalysisPermissionsRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the analysis whose permissions you're
     *             updating. You must be using the Amazon Web Services account that the analysis is in.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID of the analysis whose permissions you're updating. The ID is part of the
     *             analysis URL.</p>
     */ AnalysisId : string | undefined ; /**
     * <p>A structure that describes the permissions to add and the principal to add them
     *             to.</p>
     */ GrantPermissions ? : ResourcePermission [ ] ; /**
     * <p>A structure that describes the permissions to remove and the principal to remove them
     *             from.</p>
     */ RevokePermissions ? : ResourcePermission [ ] ; } export namespace UpdateAnalysisPermissionsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateAnalysisPermissionsResponse { /**
     * <p>The Amazon Resource Name (ARN) of the analysis that you updated.</p>
     */ AnalysisArn ? : string ; /**
     * <p>The ID of the analysis that you updated permissions for.</p>
     */ AnalysisId ? : string ; /**
     * <p>A structure that describes the principals and the resource-level permissions on an
     *             analysis.</p>
     */ Permissions ? : ResourcePermission [ ] ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UpdateAnalysisPermissionsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateDashboardRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the dashboard that you're
     *             updating.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the dashboard.</p>
     */ DashboardId : string | undefined ; /**
     * <p>The display name of the dashboard.</p>
     */ Name : string | undefined ; /**
     * <p>The entity that you are using as a source when you update the dashboard. In
     *             <code>SourceEntity</code>, you specify the type of object you're using as source. You
     *             can only update a dashboard from a template, so you use a <code>SourceTemplate</code>
     *             entity. If you need to update a dashboard from an analysis, first convert the analysis
     *             to a template by using the <code>
     *                <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplate.html">CreateTemplate</a>
     *             </code> API operation. For
     *             <code>SourceTemplate</code>, specify the Amazon Resource Name (ARN) of the source
     *             template. The <code>SourceTemplate</code> ARN can contain any Amazon Web Services account and any
     *             Amazon QuickSight-supported Amazon Web Services Region. </p>
     *         <p>Use the <code>DataSetReferences</code> entity within <code>SourceTemplate</code> to
     *             list the replacement datasets for the placeholders listed in the original. The schema in
     *             each dataset must match its placeholder. </p>
     */ SourceEntity : DashboardSourceEntity | undefined ; /**
     * <p>A structure that contains the parameters of the dashboard. These are parameter
     *             overrides for a dashboard. A dashboard can have any type of parameters, and some
     *             parameters might accept multiple values.</p>
     */ Parameters ? : _Parameters ; /**
     * <p>A description for the first version of the dashboard being created.</p>
     */ VersionDescription ? : string ; /**
     * <p>Options for publishing the dashboard when you create it:</p>
     *         <ul>
     *             <li>
     *                 <p>
     *                   <code>AvailabilityStatus</code> for <code>AdHocFilteringOption</code> - This
     *                     status can be either <code>ENABLED</code> or <code>DISABLED</code>. When this is
     *                     set to <code>DISABLED</code>, Amazon QuickSight disables the left filter pane on the
     *                     published dashboard, which can be used for ad hoc (one-time) filtering. This
     *                     option is <code>ENABLED</code> by default. </p>
     *             </li>
     *             <li>
     *                 <p>
     *                   <code>AvailabilityStatus</code> for <code>ExportToCSVOption</code> - This
     *                     status can be either <code>ENABLED</code> or <code>DISABLED</code>. The visual
     *                     option to export data to .CSV format isn't enabled when this is set to
     *                     <code>DISABLED</code>. This option is <code>ENABLED</code> by default. </p>
     *             </li>
     *             <li>
     *                 <p>
     *                   <code>VisibilityState</code> for <code>SheetControlsOption</code> - This
     *                     visibility state can be either <code>COLLAPSED</code> or <code>EXPANDED</code>.
     *                     This option is <code>COLLAPSED</code> by default. </p>
     *             </li>
     *          </ul>
     */ DashboardPublishOptions ? : DashboardPublishOptions ; /**
     * <p>The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. If
     *             you add a value for this field, it overrides the value that was originally associated
     *             with the entity. The theme ARN must exist in the same Amazon Web Services account where you create the
     *             dashboard.</p>
     */ ThemeArn ? : string ; } export namespace UpdateDashboardRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateDashboardResponse { /**
     * <p>The Amazon Resource Name (ARN) of the resource.</p>
     */ Arn ? : string ; /**
     * <p>The ARN of the dashboard, including the version number.</p>
     */ VersionArn ? : string ; /**
     * <p>The ID for the dashboard.</p>
     */ DashboardId ? : string ; /**
     * <p>The creation status of the request.</p>
     */ CreationStatus ? : ResourceStatus | string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace UpdateDashboardResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateDashboardPermissionsRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the dashboard whose permissions you're
     *             updating.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the dashboard.</p>
     */ DashboardId : string | undefined ; /**
     * <p>The permissions that you want to grant on this resource.</p>
     */ GrantPermissions ? : ResourcePermission [ ] ; /**
     * <p>The permissions that you want to revoke from this resource.</p>
     */ RevokePermissions ? : ResourcePermission [ ] ; /**
     * <p>Grants link permissions to all users in a defined namespace.</p>
     */ GrantLinkPermissions ? : ResourcePermission [ ] ; /**
     * <p>Revokes link permissions from all users in a defined namespace.</p>
     */ RevokeLinkPermissions ? : ResourcePermission [ ] ; } export namespace UpdateDashboardPermissionsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateDashboardPermissionsResponse { /**
     * <p>The Amazon Resource Name (ARN) of the dashboard.</p>
     */ DashboardArn ? : string ; /**
     * <p>The ID for the dashboard.</p>
     */ DashboardId ? : string ; /**
     * <p>Information about the permissions on the dashboard.</p>
     */ Permissions ? : ResourcePermission [ ] ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>Updates the permissions of a shared link to an Amazon QuickSight dashboard.</p>
     */ LinkSharingConfiguration ? : LinkSharingConfiguration ; } export namespace UpdateDashboardPermissionsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateDashboardPublishedVersionRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the dashboard that you're
     *             updating.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the dashboard.</p>
     */ DashboardId : string | undefined ; /**
     * <p>The version number of the dashboard.</p>
     */ VersionNumber : number | undefined ; } export namespace UpdateDashboardPublishedVersionRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateDashboardPublishedVersionResponse { /**
     * <p>The ID for the dashboard.</p>
     */ DashboardId ? : string ; /**
     * <p>The Amazon Resource Name (ARN) of the dashboard.</p>
     */ DashboardArn ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace UpdateDashboardPublishedVersionResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateDataSetRequest { /**
     * <p>The Amazon Web Services account ID.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the dataset that you want to update. This ID is unique per Amazon Web Services Region for each
     * 			Amazon Web Services account.</p>
     */ DataSetId : string | undefined ; /**
     * <p>The display name for the dataset.</p>
     */ Name : string | undefined ; /**
     * <p>Declares the physical tables that are available in the underlying data sources.</p>
     */ PhysicalTableMap : { [ key ] : PhysicalTable ; } | undefined ; /**
     * <p>Configures the combination and transformation of the data from the physical tables.</p>
     */ LogicalTableMap ? : { [ key ] : LogicalTable ; } ; /**
     * <p>Indicates whether you want to import the data into SPICE.</p>
     */ ImportMode : DataSetImportMode | string | undefined ; /**
     * <p>Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported.</p>
     */ ColumnGroups ? : ColumnGroup [ ] ; /**
     * <p>The folder that contains fields and nested subfolders for your dataset.</p>
     */ FieldFolders ? : { [ key ] : FieldFolder ; } ; /**
     * <p>The row-level security configuration for the data you want to create.</p>
     */ RowLevelPermissionDataSet ? : RowLevelPermissionDataSet ; /**
     * <p>The configuration of tags on a dataset to set row-level security. Row-level security tags are currently supported for anonymous embedding only.</p>
     */ RowLevelPermissionTagConfiguration ? : RowLevelPermissionTagConfiguration ; /**
     * <p>A set of one or more definitions of a <code>
     *                <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html">ColumnLevelPermissionRule</a>
     *             </code>.</p>
     */ ColumnLevelPermissionRules ? : ColumnLevelPermissionRule [ ] ; /**
     * <p>The usage configuration to apply to child datasets that reference this dataset as a source.</p>
     */ DataSetUsageConfiguration ? : DataSetUsageConfiguration ; } export namespace UpdateDataSetRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , ... ( obj . PhysicalTableMap && { PhysicalTableMap : Object . entries ( obj . PhysicalTableMap ) . reduce ( ( acc , [ key , value ] ) => ( { ... acc , [ key ] : PhysicalTable . filterSensitiveLog ( value ) , } ) , { } ) , } ) , ... ( obj . LogicalTableMap && { LogicalTableMap : Object . entries ( obj . LogicalTableMap ) . reduce ( ( acc , [ key , value ] ) => ( { ... acc , [ key ] : LogicalTable . filterSensitiveLog ( value ) , } ) , { } ) , } ) , ... ( obj . RowLevelPermissionTagConfiguration && { RowLevelPermissionTagConfiguration : RowLevelPermissionTagConfiguration . filterSensitiveLog ( obj . RowLevelPermissionTagConfiguration ) , } ) , } ) ; } export interface UpdateDataSetResponse { /**
     * <p>The Amazon Resource Name (ARN) of the dataset.</p>
     */ Arn ? : string ; /**
     * <p>The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>
     */ DataSetId ? : string ; /**
     * <p>The ARN for the ingestion, which is triggered as a result of dataset creation if the import
     * 			mode is SPICE.</p>
     */ IngestionArn ? : string ; /**
     * <p>The ID of the ingestion, which is triggered as a result of dataset creation if the import
     * 			mode is SPICE.</p>
     */ IngestionId ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UpdateDataSetResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateDataSetPermissionsRequest { /**
     * <p>The Amazon Web Services account ID.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the dataset whose permissions you want to update. This ID is unique per
     * 			Amazon Web Services Region for each Amazon Web Services account.</p>
     */ DataSetId : string | undefined ; /**
     * <p>The resource permissions that you want to grant to the dataset.</p>
     */ GrantPermissions ? : ResourcePermission [ ] ; /**
     * <p>The resource permissions that you want to revoke from the dataset.</p>
     */ RevokePermissions ? : ResourcePermission [ ] ; } export namespace UpdateDataSetPermissionsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateDataSetPermissionsResponse { /**
     * <p>The Amazon Resource Name (ARN) of the dataset.</p>
     */ DataSetArn ? : string ; /**
     * <p>The ID for the dataset whose permissions you want to update. This ID is unique per
     * 			Amazon Web Services Region for each Amazon Web Services account.</p>
     */ DataSetId ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UpdateDataSetPermissionsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateDataSourceRequest { /**
     * <p>The Amazon Web Services account ID.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID of the data source. This ID is unique per Amazon Web Services Region for each Amazon Web Services account. </p>
     */ DataSourceId : string | undefined ; /**
     * <p>A display name for the data source.</p>
     */ Name : string | undefined ; /**
     * <p>The parameters that Amazon QuickSight uses to connect to your underlying source.</p>
     */ DataSourceParameters ? : DataSourceParameters ; /**
     * <p>The credentials that Amazon QuickSight that uses to connect to your underlying source. Currently,
     * 			only credentials based on user name and password are supported.</p>
     */ Credentials ? : DataSourceCredentials ; /**
     * <p>Use this parameter only when you want Amazon QuickSight to use a VPC connection when connecting to
     * 			your underlying source.</p>
     */ VpcConnectionProperties ? : VpcConnectionProperties ; /**
     * <p>Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your underlying
     * 			source.</p>
     */ SslProperties ? : SslProperties ; } export namespace UpdateDataSourceRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , ... ( obj . DataSourceParameters && { DataSourceParameters : DataSourceParameters . filterSensitiveLog ( obj . DataSourceParameters ) , } ) , ... ( obj . Credentials && { Credentials : SENSITIVE_STRING } ) , } ) ; } export interface UpdateDataSourceResponse { /**
     * <p>The Amazon Resource Name (ARN) of the data source.</p>
     */ Arn ? : string ; /**
     * <p>The ID of the data source. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>
     */ DataSourceId ? : string ; /**
     * <p>The update status of the data source's last update.</p>
     */ UpdateStatus ? : ResourceStatus | string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UpdateDataSourceResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateDataSourcePermissionsRequest { /**
     * <p>The Amazon Web Services account ID.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID of the data source. This ID is unique per Amazon Web Services Region for each Amazon Web Services account. </p>
     */ DataSourceId : string | undefined ; /**
     * <p>A list of resource permissions that you want to grant on the data source.</p>
     */ GrantPermissions ? : ResourcePermission [ ] ; /**
     * <p>A list of resource permissions that you want to revoke on the data source.</p>
     */ RevokePermissions ? : ResourcePermission [ ] ; } export namespace UpdateDataSourcePermissionsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateDataSourcePermissionsResponse { /**
     * <p>The Amazon Resource Name (ARN) of the data source.</p>
     */ DataSourceArn ? : string ; /**
     * <p>The ID of the data source. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>
     */ DataSourceId ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UpdateDataSourcePermissionsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateFolderRequest { /**
     * <p>The ID for the Amazon Web Services account that contains the folder to update.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID of the folder.</p>
     */ FolderId : string | undefined ; /**
     * <p>The name of the folder.</p>
     */ Name : string | undefined ; } export namespace UpdateFolderRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateFolderResponse { /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Resource Name (ARN) of the folder.</p>
     */ Arn ? : string ; /**
     * <p>The ID of the folder.</p>
     */ FolderId ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace UpdateFolderResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateFolderPermissionsRequest { /**
     * <p>The ID for the Amazon Web Services account that contains the folder to update.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID of the folder.</p>
     */ FolderId : string | undefined ; /**
     * <p>The permissions that you want to grant on a resource.</p>
     */ GrantPermissions ? : ResourcePermission [ ] ; /**
     * <p>The permissions that you want to revoke from a resource.</p>
     */ RevokePermissions ? : ResourcePermission [ ] ; } export namespace UpdateFolderPermissionsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateFolderPermissionsResponse { /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Resource Name (ARN) of the folder.</p>
     */ Arn ? : string ; /**
     * <p>The ID of the folder.</p>
     */ FolderId ? : string ; /**
     * <p>Information about the permissions for the folder.</p>
     */ Permissions ? : ResourcePermission [ ] ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace UpdateFolderPermissionsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateGroupRequest { /**
     * <p>The name of the group that you want to update.</p>
     */ GroupName : string | undefined ; /**
     * <p>The description for the group that you want to update.</p>
     */ Description ? : string ; /**
     * <p>The ID for the Amazon Web Services account that the group is in. Currently, you use the ID for the
     * 			Amazon Web Services account that contains your Amazon QuickSight account.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The namespace. Currently, you should set this to <code>default</code>.</p>
     */ Namespace : string | undefined ; } export namespace UpdateGroupRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateGroupResponse { /**
     * <p>The name of the group.</p>
     */ Group ? : Group ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UpdateGroupResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateIAMPolicyAssignmentRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the IAM policy assignment. </p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The name of the assignment, also called a rule. This name must be unique within an Amazon Web Services account.</p>
     */ AssignmentName : string | undefined ; /**
     * <p>The namespace of the assignment.</p>
     */ Namespace : string | undefined ; /**
     * <p>The status of the assignment. Possible values are as follows:</p>
     * 		       <ul>
     *             <li>
     *                <p>
     *                   <code>ENABLED</code> - Anything specified in this assignment is used when creating the data
     * 				source.</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>DISABLED</code> - This assignment isn't used when creating the data source.</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>DRAFT</code> - This assignment is an unfinished draft and isn't used when creating the
     * 				data source.</p>
     *             </li>
     *          </ul>
     */ AssignmentStatus ? : AssignmentStatus | string ; /**
     * <p>The ARN for the IAM policy to apply to the Amazon QuickSight users and groups
     * 			specified in this assignment.</p>
     */ PolicyArn ? : string ; /**
     * <p>The Amazon QuickSight users, groups, or both that you want to assign the policy to.</p>
     */ Identities ? : { [ key ] : string [ ] ; } ; } export namespace UpdateIAMPolicyAssignmentRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateIAMPolicyAssignmentResponse { /**
     * <p>The name of the assignment or rule.</p>
     */ AssignmentName ? : string ; /**
     * <p>The ID of the assignment.</p>
     */ AssignmentId ? : string ; /**
     * <p>The ARN for the IAM policy applied to the Amazon QuickSight users and groups specified in this
     * 			assignment.</p>
     */ PolicyArn ? : string ; /**
     * <p>The Amazon QuickSight users, groups, or both that the IAM policy is assigned to.</p>
     */ Identities ? : { [ key ] : string [ ] ; } ; /**
     * <p>The status of the assignment. Possible values are as follows:</p>
     * 		       <ul>
     *             <li>
     *                <p>
     *                   <code>ENABLED</code> - Anything specified in this assignment is used when creating the data
     * 				source.</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>DISABLED</code> - This assignment isn't used when creating the data source.</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>DRAFT</code> - This assignment is an unfinished draft and isn't used when creating the
     * 				data source.</p>
     *             </li>
     *          </ul>
     */ AssignmentStatus ? : AssignmentStatus | string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UpdateIAMPolicyAssignmentResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateIpRestrictionRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the IP rules.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>A map that describes the updated IP rules with CIDR ranges and descriptions.</p>
     */ IpRestrictionRuleMap ? : { [ key ] : string ; } ; /**
     * <p>A value that specifies whether IP rules are turned on.</p>
     */ Enabled ? : boolean ; } export namespace UpdateIpRestrictionRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateIpRestrictionResponse { /**
     * <p>The ID of the Amazon Web Services account that contains the IP rules.</p>
     */ AwsAccountId ? : string ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request. </p>
     */ Status ? : number ; } export namespace UpdateIpRestrictionResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateTemplateRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the template that you're updating.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the template.</p>
     */ TemplateId : string | undefined ; /**
     * <p>The entity that you are using as a source when you update the template. In
     * 			<code>SourceEntity</code>, you specify the type of object you're using as source:
     * 			<code>SourceTemplate</code> for a template or <code>SourceAnalysis</code> for an
     * 			analysis. Both of these require an Amazon Resource Name (ARN). For
     * 			<code>SourceTemplate</code>, specify the ARN of the source template. For
     * 			<code>SourceAnalysis</code>, specify the ARN of the source analysis. The <code>SourceTemplate</code>
     * 			ARN can contain any Amazon Web Services account and any Amazon QuickSight-supported Amazon Web Services Region;. </p>
     * 		       <p>Use the <code>DataSetReferences</code> entity within <code>SourceTemplate</code> or
     * 			<code>SourceAnalysis</code> to list the replacement datasets for the placeholders listed
     * 			in the original. The schema in each dataset must match its placeholder. </p>
     */ SourceEntity : TemplateSourceEntity | undefined ; /**
     * <p>A description of the current template version that is being updated. Every time you call
     * 				<code>UpdateTemplate</code>, you create a new version of the template. Each version
     * 			of the template maintains a description of the version in the
     * 				<code>VersionDescription</code> field.</p>
     */ VersionDescription ? : string ; /**
     * <p>The name for the template.</p>
     */ Name ? : string ; } export namespace UpdateTemplateRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateTemplateResponse { /**
     * <p>The ID for the template.</p>
     */ TemplateId ? : string ; /**
     * <p>The Amazon Resource Name (ARN) for the template.</p>
     */ Arn ? : string ; /**
     * <p>The ARN for the template, including the version information of the first version.</p>
     */ VersionArn ? : string ; /**
     * <p>The creation status of the template.</p>
     */ CreationStatus ? : ResourceStatus | string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace UpdateTemplateResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateTemplateAliasRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the template alias that you're updating.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the template.</p>
     */ TemplateId : string | undefined ; /**
     * <p>The alias of the template that you want to update. If you name a specific alias, you update
     * 			the version that the alias points to. You can specify the latest version of the template
     * 			by providing the keyword <code>$LATEST</code> in the <code>AliasName</code> parameter.
     * 			The keyword <code>$PUBLISHED</code> doesn't apply to templates.</p>
     */ AliasName : string | undefined ; /**
     * <p>The version number of the template.</p>
     */ TemplateVersionNumber : number | undefined ; } export namespace UpdateTemplateAliasRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateTemplateAliasResponse { /**
     * <p>The template alias.</p>
     */ TemplateAlias ? : TemplateAlias ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace UpdateTemplateAliasResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateTemplatePermissionsRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the template.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the template.</p>
     */ TemplateId : string | undefined ; /**
     * <p>A list of resource permissions to be granted on the template. </p>
     */ GrantPermissions ? : ResourcePermission [ ] ; /**
     * <p>A list of resource permissions to be revoked from the template. </p>
     */ RevokePermissions ? : ResourcePermission [ ] ; } export namespace UpdateTemplatePermissionsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateTemplatePermissionsResponse { /**
     * <p>The ID for the template.</p>
     */ TemplateId ? : string ; /**
     * <p>The Amazon Resource Name (ARN) of the template.</p>
     */ TemplateArn ? : string ; /**
     * <p>A list of resource permissions to be set on the template.</p>
     */ Permissions ? : ResourcePermission [ ] ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UpdateTemplatePermissionsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateThemeRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the theme that you're updating.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the theme.</p>
     */ ThemeId : string | undefined ; /**
     * <p>The name for the theme.</p>
     */ Name ? : string ; /**
     * <p>The theme ID, defined by Amazon QuickSight, that a custom theme inherits from.
     * 		All themes initially inherit from a default Amazon QuickSight theme.</p>
     */ BaseThemeId : string | undefined ; /**
     * <p>A description of the theme version that you're updating Every time that you call
     * 				<code>UpdateTheme</code>, you create a new version of the theme. Each version of the
     * 			theme maintains a description of the version in <code>VersionDescription</code>.</p>
     */ VersionDescription ? : string ; /**
     * <p>The theme configuration, which contains the theme display properties.</p>
     */ Configuration ? : ThemeConfiguration ; } export namespace UpdateThemeRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateThemeResponse { /**
     * <p>The ID for the theme.</p>
     */ ThemeId ? : string ; /**
     * <p>The Amazon Resource Name (ARN) for the theme.</p>
     */ Arn ? : string ; /**
     * <p>The Amazon Resource Name (ARN) for the new version of the theme.</p>
     */ VersionArn ? : string ; /**
     * <p>The creation status of the theme.</p>
     */ CreationStatus ? : ResourceStatus | string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace UpdateThemeResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateThemeAliasRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the theme alias that you're updating.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the theme.</p>
     */ ThemeId : string | undefined ; /**
     * <p>The name of the theme alias that you want to update.</p>
     */ AliasName : string | undefined ; /**
     * <p>The version number of the theme that the alias should reference.</p>
     */ ThemeVersionNumber : number | undefined ; } export namespace UpdateThemeAliasRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateThemeAliasResponse { /**
     * <p>Information about the theme alias.</p>
     */ ThemeAlias ? : ThemeAlias ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; } export namespace UpdateThemeAliasResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateThemePermissionsRequest { /**
     * <p>The ID of the Amazon Web Services account that contains the theme.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The ID for the theme.</p>
     */ ThemeId : string | undefined ; /**
     * <p>A list of resource permissions to be granted for the theme.</p>
     */ GrantPermissions ? : ResourcePermission [ ] ; /**
     * <p>A list of resource permissions to be revoked from the theme.</p>
     */ RevokePermissions ? : ResourcePermission [ ] ; } export namespace UpdateThemePermissionsRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateThemePermissionsResponse { /**
     * <p>The ID for the theme.</p>
     */ ThemeId ? : string ; /**
     * <p>The Amazon Resource Name (ARN) of the theme.</p>
     */ ThemeArn ? : string ; /**
     * <p>The resulting list of resource permissions for the theme.</p>
     */ Permissions ? : ResourcePermission [ ] ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UpdateThemePermissionsResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateUserRequest { /**
     * <p>The Amazon QuickSight user name that you want to update.</p>
     */ UserName : string | undefined ; /**
     * <p>The ID for the Amazon Web Services account that the user is in. Currently, you use the ID for the
     * 			Amazon Web Services account that contains your Amazon QuickSight account.</p>
     */ AwsAccountId : string | undefined ; /**
     * <p>The namespace. Currently, you should set this to <code>default</code>.</p>
     */ Namespace : string | undefined ; /**
     * <p>The email address of the user that you want to update.</p>
     */ Email : string | undefined ; /**
     * <p>The Amazon QuickSight role of the user. The role can be one of the
     * 			following default security cohorts:</p>
     * 		       <ul>
     *             <li>
     * 				           <p>
     *                   <code>READER</code>: A user who has read-only access to dashboards.</p>
     * 			         </li>
     *             <li>
     * 				           <p>
     *                   <code>AUTHOR</code>: A user who can create data sources, datasets, analyses, and
     * 					dashboards.</p>
     * 			         </li>
     *             <li>
     * 				           <p>
     *                   <code>ADMIN</code>: A user who is an author, who can also manage Amazon QuickSight
     * 					settings.</p>
     * 			         </li>
     *          </ul>
     * 	        <p>The name of the Amazon QuickSight role is invisible to the user except for the console
     * 	        screens dealing with permissions.</p>
     */ Role : UserRole | string | undefined ; /**
     * <p>(Enterprise edition only) The name of the custom permissions profile that you want to
     *             assign to this user. Customized permissions allows you to control a user's access by
     *             restricting access the following operations:</p>
     *         <ul>
     *             <li>
     *                 <p>Create and update data sources</p>
     *             </li>
     *             <li>
     *                 <p>Create and update datasets</p>
     *             </li>
     *             <li>
     *                 <p>Create and update email reports</p>
     *             </li>
     *             <li>
     *                 <p>Subscribe to email reports</p>
     *             </li>
     *          </ul>
     *         <p>A set of custom permissions includes any combination of these restrictions. Currently,
     *             you need to create the profile names for custom permission sets by using the Amazon QuickSight
     *             console. Then, you use the <code>RegisterUser</code> API operation to assign the named set of
     *             permissions to a QuickSight user. </p>
     *         <p>Amazon QuickSight custom permissions are applied through IAM policies. Therefore, they
     *             override the permissions typically granted by assigning Amazon QuickSight users to one of the
     *             default security cohorts in Amazon QuickSight (admin, author, reader).</p>
     *         <p>This feature is available only to Amazon QuickSight Enterprise edition subscriptions.</p>
     */ CustomPermissionsName ? : string ; /**
     * <p>A flag that you use to indicate that you want to remove all custom permissions
     *             from this user. Using this parameter resets the user to the state
     *             it was in before a custom permissions profile was applied. This parameter defaults to
     *             NULL and it doesn't accept any other value.</p>
     */ UnapplyCustomPermissions ? : boolean ; /**
     * <p>The type of supported external login provider that provides identity to let a user federate into Amazon QuickSight with an associated Identity and Access Management(IAM) role. The type of supported external login provider can be one of the following.</p>
     *          <ul>
     *             <li>
     *                <p>
     *                   <code>COGNITO</code>: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com. When choosing the <code>COGNITO</code> provider type, don’t use the "CustomFederationProviderUrl" parameter which is only needed when the external provider is custom.</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>CUSTOM_OIDC</code>: Custom OpenID Connect (OIDC) provider. When choosing <code>CUSTOM_OIDC</code> type, use the <code>CustomFederationProviderUrl</code> parameter to provide the custom OIDC provider URL.</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <code>NONE</code>: This clears all the previously saved external login information for a user. Use the
     *           <code>
     *                      <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html">DescribeUser</a>
     *                   </code>
     *           API operation to check the external login information.</p>
     *             </li>
     *          </ul>
     */ ExternalLoginFederationProviderType ? : string ; /**
     * <p>The URL of the custom OpenID Connect (OIDC) provider that provides identity to let a user federate
     *          into Amazon QuickSight with an associated Identity and Access Management(IAM) role. This parameter should
     *          only be used when <code>ExternalLoginFederationProviderType</code> parameter is set to <code>CUSTOM_OIDC</code>.</p>
     */ CustomFederationProviderUrl ? : string ; /**
     * <p>The identity ID for a user in the external login provider.</p>
     */ ExternalLoginId ? : string ; } export namespace UpdateUserRequest { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; } export interface UpdateUserResponse { /**
     * <p>The Amazon QuickSight user.</p>
     */ User ? : User ; /**
     * <p>The Amazon Web Services request ID for this operation.</p>
     */ RequestId ? : string ; /**
     * <p>The HTTP status of the request.</p>
     */ Status ? : number ; } export namespace UpdateUserResponse { internal export const filterSensitiveLog = ( obj ) : any => ( { ... obj , } ) ; }