Skip to content

Commit 46052af

Browse files
author
awstools
committed
feat(client-quicksight): This release allows customers to programmatically create QuickSight accounts with Enterprise and Enterprise + Q editions. It also releases allowlisting domains for embedding QuickSight dashboards at runtime through the embedding APIs.
1 parent bd84018 commit 46052af

18 files changed

+1666
-357
lines changed

clients/client-quicksight/src/QuickSight.ts

Lines changed: 122 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ import {
1111
CreateAccountCustomizationCommandInput,
1212
CreateAccountCustomizationCommandOutput,
1313
} from "./commands/CreateAccountCustomizationCommand";
14+
import {
15+
CreateAccountSubscriptionCommand,
16+
CreateAccountSubscriptionCommandInput,
17+
CreateAccountSubscriptionCommandOutput,
18+
} from "./commands/CreateAccountSubscriptionCommand";
1419
import {
1520
CreateAnalysisCommand,
1621
CreateAnalysisCommandInput,
@@ -161,6 +166,11 @@ import {
161166
DescribeAccountSettingsCommandInput,
162167
DescribeAccountSettingsCommandOutput,
163168
} from "./commands/DescribeAccountSettingsCommand";
169+
import {
170+
DescribeAccountSubscriptionCommand,
171+
DescribeAccountSubscriptionCommandInput,
172+
DescribeAccountSubscriptionCommandOutput,
173+
} from "./commands/DescribeAccountSubscriptionCommand";
164174
import {
165175
DescribeAnalysisCommand,
166176
DescribeAnalysisCommandInput,
@@ -582,11 +592,10 @@ export class QuickSight extends QuickSightClient {
582592
}
583593

584594
/**
585-
* <p>Creates Amazon QuickSight customizations the current Amazon Web Services Region. Currently, you can
586-
* add a custom default theme by using the <code>CreateAccountCustomization</code> or
587-
* <code>UpdateAccountCustomization</code> API operation. To further customize
588-
* Amazon QuickSight by removing Amazon QuickSight sample assets and videos for all new users, see <a href="https://docs.aws.amazon.com/quicksight/latest/user/customizing-quicksight.html">Customizing Amazon QuickSight</a> in the <i>Amazon QuickSight User
589-
* Guide.</i>
595+
* <p>Creates Amazon QuickSight customizations for the current Amazon Web Services Region. Currently, you can add a custom default theme by using the
596+
* <code>CreateAccountCustomization</code> or <code>UpdateAccountCustomization</code>
597+
* API operation. To further customize Amazon QuickSight by removing Amazon QuickSight
598+
* sample assets and videos for all new users, see <a href="https://docs.aws.amazon.com/quicksight/latest/user/customizing-quicksight.html">Customizing Amazon QuickSight</a> in the <i>Amazon QuickSight User Guide.</i>
590599
* </p>
591600
* <p>You can create customizations for your Amazon Web Services account or, if you specify a namespace, for
592601
* a QuickSight namespace instead. Customizations that apply to a namespace always override
@@ -636,6 +645,65 @@ export class QuickSight extends QuickSightClient {
636645
}
637646
}
638647

648+
/**
649+
* <p>Creates an Amazon QuickSight account, or subscribes to Amazon QuickSight Q.</p>
650+
*
651+
* <p>The Amazon Web Services Region for the account is derived from what is configured in the
652+
* CLI or SDK. This operation isn't supported in the US East (Ohio) Region, South America (Sao Paulo) Region, or Asia
653+
* Pacific (Singapore) Region. </p>
654+
*
655+
* <p>Before you use this operation, make sure that you can connect to an existing Amazon Web Services account. If you don't have an Amazon Web Services account, see <a href="https://docs.aws.amazon.com/quicksight/latest/user/setting-up-aws-sign-up.html">Sign
656+
* up for Amazon Web Services</a> in the <i>Amazon QuickSight User
657+
* Guide</i>. The person who signs up for Amazon QuickSight needs to have the
658+
* correct Identity and Access Management (IAM) permissions. For more information,
659+
* see <a href="https://docs.aws.amazon.com/quicksight/latest/user/iam-policy-examples.html">IAM Policy Examples for Amazon QuickSight</a> in the
660+
* <i>Amazon QuickSight User Guide</i>.</p>
661+
*
662+
* <p>If your IAM policy includes both the <code>Subscribe</code> and
663+
* <code>CreateAccountSubscription</code> actions, make sure that both actions are set
664+
* to <code>Allow</code>. If either action is set to <code>Deny</code>, the
665+
* <code>Deny</code> action prevails and your API call fails.</p>
666+
*
667+
* <p>You can't pass an existing IAM role to access other Amazon Web Services services using this API operation. To pass your existing IAM role to
668+
* Amazon QuickSight, see <a href="https://docs.aws.amazon.com/quicksight/latest/user/security_iam_service-with-iam.html#security-create-iam-role">Passing IAM roles to Amazon QuickSight</a> in the
669+
* <i>Amazon QuickSight User Guide</i>.</p>
670+
*
671+
* <p>You can't set default resource access on the new account from the Amazon QuickSight
672+
* API. Instead, add default resource access from the Amazon QuickSight console. For more
673+
* information about setting default resource access to Amazon Web Services services, see
674+
* <a href="https://docs.aws.amazon.com/quicksight/latest/user/scoping-policies-defaults.html">Setting default resource
675+
* access to Amazon Web Services services</a> in the <i>Amazon QuickSight
676+
* User Guide</i>.</p>
677+
*/
678+
public createAccountSubscription(
679+
args: CreateAccountSubscriptionCommandInput,
680+
options?: __HttpHandlerOptions
681+
): Promise<CreateAccountSubscriptionCommandOutput>;
682+
public createAccountSubscription(
683+
args: CreateAccountSubscriptionCommandInput,
684+
cb: (err: any, data?: CreateAccountSubscriptionCommandOutput) => void
685+
): void;
686+
public createAccountSubscription(
687+
args: CreateAccountSubscriptionCommandInput,
688+
options: __HttpHandlerOptions,
689+
cb: (err: any, data?: CreateAccountSubscriptionCommandOutput) => void
690+
): void;
691+
public createAccountSubscription(
692+
args: CreateAccountSubscriptionCommandInput,
693+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateAccountSubscriptionCommandOutput) => void),
694+
cb?: (err: any, data?: CreateAccountSubscriptionCommandOutput) => void
695+
): Promise<CreateAccountSubscriptionCommandOutput> | void {
696+
const command = new CreateAccountSubscriptionCommand(args);
697+
if (typeof optionsOrCb === "function") {
698+
this.send(command, optionsOrCb);
699+
} else if (typeof cb === "function") {
700+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
701+
this.send(command, optionsOrCb || {}, cb);
702+
} else {
703+
return this.send(command, optionsOrCb);
704+
}
705+
}
706+
639707
/**
640708
* <p>Creates an analysis in Amazon QuickSight.</p>
641709
*/
@@ -1804,6 +1872,38 @@ export class QuickSight extends QuickSightClient {
18041872
}
18051873
}
18061874

1875+
/**
1876+
* <p>Use the DescribeAccountSubscription operation to receive a description of a Amazon QuickSight account's subscription. A successful API call returns an <code>AccountInfo</code> object that includes an account's name, subscription status, authentication type, edition, and notification email address.</p>
1877+
*/
1878+
public describeAccountSubscription(
1879+
args: DescribeAccountSubscriptionCommandInput,
1880+
options?: __HttpHandlerOptions
1881+
): Promise<DescribeAccountSubscriptionCommandOutput>;
1882+
public describeAccountSubscription(
1883+
args: DescribeAccountSubscriptionCommandInput,
1884+
cb: (err: any, data?: DescribeAccountSubscriptionCommandOutput) => void
1885+
): void;
1886+
public describeAccountSubscription(
1887+
args: DescribeAccountSubscriptionCommandInput,
1888+
options: __HttpHandlerOptions,
1889+
cb: (err: any, data?: DescribeAccountSubscriptionCommandOutput) => void
1890+
): void;
1891+
public describeAccountSubscription(
1892+
args: DescribeAccountSubscriptionCommandInput,
1893+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeAccountSubscriptionCommandOutput) => void),
1894+
cb?: (err: any, data?: DescribeAccountSubscriptionCommandOutput) => void
1895+
): Promise<DescribeAccountSubscriptionCommandOutput> | void {
1896+
const command = new DescribeAccountSubscriptionCommand(args);
1897+
if (typeof optionsOrCb === "function") {
1898+
this.send(command, optionsOrCb);
1899+
} else if (typeof cb === "function") {
1900+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
1901+
this.send(command, optionsOrCb || {}, cb);
1902+
} else {
1903+
return this.send(command, optionsOrCb);
1904+
}
1905+
}
1906+
18071907
/**
18081908
* <p>Provides a summary of the metadata for an analysis.</p>
18091909
*/
@@ -2580,11 +2680,9 @@ export class QuickSight extends QuickSightClient {
25802680
* <p>It contains a temporary bearer token. It is valid for 5 minutes after it is generated. Once redeemed within this period, it cannot be re-used again.</p>
25812681
* </li>
25822682
* <li>
2583-
* <p>The URL validity period should not be confused with the actual session lifetime
2584-
* that can be customized using the <code>
2683+
* <p>The URL validity period should not be confused with the actual session lifetime that can be customized using the <code>
25852684
* <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html#QS-GenerateEmbedUrlForAnonymousUser-request-SessionLifetimeInMinutes">SessionLifetimeInMinutes</a>
2586-
* </code> parameter.</p>
2587-
* <p>The resulting user session is valid for 15 minutes (minimum) to 10 hours (maximum). The default session duration is 10 hours. </p>
2685+
* </code> parameter. The resulting user session is valid for 15 minutes (minimum) to 10 hours (maximum). The default session duration is 10 hours.</p>
25882686
* </li>
25892687
* <li>
25902688
* <p>You are charged only when the URL is used or there is interaction with Amazon QuickSight.</p>
@@ -2624,7 +2722,8 @@ export class QuickSight extends QuickSightClient {
26242722
}
26252723

26262724
/**
2627-
* <p>Generates an embed URL that you can use to embed an Amazon QuickSight experience in your website. This action can be used for any type of user registered in an Amazon QuickSight account. Before you use this action, make sure that you have configured the relevant Amazon QuickSight resource and permissions.</p>
2725+
* <p>Generates an embed URL that you can use to embed an Amazon QuickSight experience in your website. This action can be used for any type of user registered in an Amazon QuickSight account.
2726+
* Before you use this action, make sure that you have configured the relevant Amazon QuickSight resource and permissions.</p>
26282727
* <p>The following rules apply to the generated URL:</p>
26292728
* <ul>
26302729
* <li>
@@ -2675,12 +2774,8 @@ export class QuickSight extends QuickSightClient {
26752774
}
26762775

26772776
/**
2678-
* <p>Generates a session URL and authorization code that you can use to embed an Amazon
2679-
* Amazon QuickSight read-only dashboard in your web server code. Before you use this command,
2680-
* make sure that you have configured the dashboards and permissions. </p>
2681-
* <p>Currently, you can use <code>GetDashboardEmbedURL</code> only from the server, not
2682-
* from the user's browser. The following rules apply to the combination of URL and
2683-
* authorization code:</p>
2777+
* <p>Generates a temporary session URL and authorization code that you can use to embed an Amazon QuickSight read-only dashboard in your website or application. Before you use this command, make sure that you have configured the dashboards and permissions. </p>
2778+
* <p>Currently, you can use <code>GetDashboardEmbedURL</code> only from the server, not from the user's browser. The following rules apply to the generated URL:</p>
26842779
* <ul>
26852780
* <li>
26862781
* <p>They must be used together.</p>
@@ -2692,7 +2787,7 @@ export class QuickSight extends QuickSightClient {
26922787
* <p>They are valid for 5 minutes after you run this command.</p>
26932788
* </li>
26942789
* <li>
2695-
* <p>The resulting user session is valid for 10 hours.</p>
2790+
* <p>The resulting user session is valid for 15 minutes (default) up to 10 hours (maximum). You can use the optional <code>SessionLifetimeInMinutes</code> parameter to customi session duration.</p>
26962791
* </li>
26972792
* </ul>
26982793
* <p>For more information, see <a href="https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-deprecated.html">Embedding Analytics Using GetDashboardEmbedUrl</a> in the <i>Amazon QuickSight User
@@ -3735,8 +3830,7 @@ export class QuickSight extends QuickSightClient {
37353830
}
37363831

37373832
/**
3738-
* <p>Updates Amazon QuickSight customizations the current Amazon Web Services Region. Currently, the only
3739-
* customization you can use is a theme.</p>
3833+
* <p>Updates Amazon QuickSight customizations for the current Amazon Web Services Region. Currently, the only customization that you can use is a theme.</p>
37403834
* <p>You can use customizations for your Amazon Web Services account or, if you specify a namespace, for a
37413835
* Amazon QuickSight namespace instead. Customizations that apply to a namespace override
37423836
* customizations that apply to an Amazon Web Services account. To find out which customizations apply, use
@@ -4254,9 +4348,15 @@ export class QuickSight extends QuickSightClient {
42544348
}
42554349

42564350
/**
4257-
* <p>Use the UpdatePublicSharingSettings operation to enable or disable the public sharing settings of an Amazon QuickSight dashboard.</p>
4258-
* <p>To use this operation, enable session capacity pricing on your Amazon QuickSight account.</p>
4259-
* <p>Before you can enable public sharing on your account, you need to allow public sharing permissions to an administrative user in the IAM console. For more information on using IAM with Amazon QuickSight, see <a href="https://docs.aws.amazon.com/quicksight/latest/user/security_iam_service-with-iam.html">Using Amazon QuickSight with IAM</a>.</p>
4351+
* <p>Use the <code>UpdatePublicSharingSettings</code> operation to turn on or turn off the
4352+
* public sharing settings of an Amazon QuickSight dashboard.</p>
4353+
* <p>To use this operation, turn on session capacity pricing for your Amazon QuickSight
4354+
* account.</p>
4355+
* <p>Before you can turn on public sharing on your account, make sure to give public sharing
4356+
* permissions to an administrative user in the Identity and Access Management (IAM)
4357+
* console. For more information on using IAM with Amazon QuickSight, see
4358+
* <a href="https://docs.aws.amazon.com/quicksight/latest/user/security_iam_service-with-iam.html">Using Amazon QuickSight with IAM</a> in the <i>Amazon QuickSight
4359+
* User Guide</i>.</p>
42604360
*/
42614361
public updatePublicSharingSettings(
42624362
args: UpdatePublicSharingSettingsCommandInput,

clients/client-quicksight/src/QuickSightClient.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ import {
5858
CreateAccountCustomizationCommandInput,
5959
CreateAccountCustomizationCommandOutput,
6060
} from "./commands/CreateAccountCustomizationCommand";
61+
import {
62+
CreateAccountSubscriptionCommandInput,
63+
CreateAccountSubscriptionCommandOutput,
64+
} from "./commands/CreateAccountSubscriptionCommand";
6165
import { CreateAnalysisCommandInput, CreateAnalysisCommandOutput } from "./commands/CreateAnalysisCommand";
6266
import { CreateDashboardCommandInput, CreateDashboardCommandOutput } from "./commands/CreateDashboardCommand";
6367
import { CreateDataSetCommandInput, CreateDataSetCommandOutput } from "./commands/CreateDataSetCommand";
@@ -128,6 +132,10 @@ import {
128132
DescribeAccountSettingsCommandInput,
129133
DescribeAccountSettingsCommandOutput,
130134
} from "./commands/DescribeAccountSettingsCommand";
135+
import {
136+
DescribeAccountSubscriptionCommandInput,
137+
DescribeAccountSubscriptionCommandOutput,
138+
} from "./commands/DescribeAccountSubscriptionCommand";
131139
import { DescribeAnalysisCommandInput, DescribeAnalysisCommandOutput } from "./commands/DescribeAnalysisCommand";
132140
import {
133141
DescribeAnalysisPermissionsCommandInput,
@@ -323,6 +331,7 @@ import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
323331
export type ServiceInputTypes =
324332
| CancelIngestionCommandInput
325333
| CreateAccountCustomizationCommandInput
334+
| CreateAccountSubscriptionCommandInput
326335
| CreateAnalysisCommandInput
327336
| CreateDashboardCommandInput
328337
| CreateDataSetCommandInput
@@ -357,6 +366,7 @@ export type ServiceInputTypes =
357366
| DeleteUserCommandInput
358367
| DescribeAccountCustomizationCommandInput
359368
| DescribeAccountSettingsCommandInput
369+
| DescribeAccountSubscriptionCommandInput
360370
| DescribeAnalysisCommandInput
361371
| DescribeAnalysisPermissionsCommandInput
362372
| DescribeDashboardCommandInput
@@ -443,6 +453,7 @@ export type ServiceInputTypes =
443453
export type ServiceOutputTypes =
444454
| CancelIngestionCommandOutput
445455
| CreateAccountCustomizationCommandOutput
456+
| CreateAccountSubscriptionCommandOutput
446457
| CreateAnalysisCommandOutput
447458
| CreateDashboardCommandOutput
448459
| CreateDataSetCommandOutput
@@ -477,6 +488,7 @@ export type ServiceOutputTypes =
477488
| DeleteUserCommandOutput
478489
| DescribeAccountCustomizationCommandOutput
479490
| DescribeAccountSettingsCommandOutput
491+
| DescribeAccountSubscriptionCommandOutput
480492
| DescribeAnalysisCommandOutput
481493
| DescribeAnalysisPermissionsCommandOutput
482494
| DescribeDashboardCommandOutput

clients/client-quicksight/src/commands/CreateAccountCustomizationCommand.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,10 @@ export interface CreateAccountCustomizationCommandInput extends CreateAccountCus
2323
export interface CreateAccountCustomizationCommandOutput extends CreateAccountCustomizationResponse, __MetadataBearer {}
2424

2525
/**
26-
* <p>Creates Amazon QuickSight customizations the current Amazon Web Services Region. Currently, you can
27-
* add a custom default theme by using the <code>CreateAccountCustomization</code> or
28-
* <code>UpdateAccountCustomization</code> API operation. To further customize
29-
* Amazon QuickSight by removing Amazon QuickSight sample assets and videos for all new users, see <a href="https://docs.aws.amazon.com/quicksight/latest/user/customizing-quicksight.html">Customizing Amazon QuickSight</a> in the <i>Amazon QuickSight User
30-
* Guide.</i>
26+
* <p>Creates Amazon QuickSight customizations for the current Amazon Web Services Region. Currently, you can add a custom default theme by using the
27+
* <code>CreateAccountCustomization</code> or <code>UpdateAccountCustomization</code>
28+
* API operation. To further customize Amazon QuickSight by removing Amazon QuickSight
29+
* sample assets and videos for all new users, see <a href="https://docs.aws.amazon.com/quicksight/latest/user/customizing-quicksight.html">Customizing Amazon QuickSight</a> in the <i>Amazon QuickSight User Guide.</i>
3130
* </p>
3231
* <p>You can create customizations for your Amazon Web Services account or, if you specify a namespace, for
3332
* a QuickSight namespace instead. Customizations that apply to a namespace always override

0 commit comments

Comments
 (0)