Skip to content

Commit 0e22651

Browse files
author
awstools
committed
feat(client-quicksight): Amazon QuickSight: Adds support for setting up VPC Endpoint restrictions for accessing QuickSight Website.
1 parent 70254e2 commit 0e22651

File tree

7 files changed

+139
-11
lines changed

7 files changed

+139
-11
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ export interface DescribeIpRestrictionCommandOutput extends DescribeIpRestrictio
4444
* // IpRestrictionRuleMap: { // IpRestrictionRuleMap
4545
* // "<keys>": "STRING_VALUE",
4646
* // },
47+
* // VpcIdRestrictionRuleMap: { // VpcIdRestrictionRuleMap
48+
* // "<keys>": "STRING_VALUE",
49+
* // },
50+
* // VpcEndpointIdRestrictionRuleMap: { // VpcEndpointIdRestrictionRuleMap
51+
* // "<keys>": "STRING_VALUE",
52+
* // },
4753
* // Enabled: true || false,
4854
* // RequestId: "STRING_VALUE",
4955
* // Status: Number("int"),

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,7 @@ export interface UpdateIpRestrictionCommandInput extends UpdateIpRestrictionRequ
2727
export interface UpdateIpRestrictionCommandOutput extends UpdateIpRestrictionResponse, __MetadataBearer {}
2828

2929
/**
30-
* <p>Updates the content and status of IP rules. To use this operation, you
31-
* must
32-
* provide the entire map of rules. You can use the <code>DescribeIpRestriction</code>
33-
* operation to get the current rule map.</p>
30+
* <p>Updates the content and status of IP rules. Traffic from a source is allowed when the source satisfies either the <code>IpRestrictionRule</code>, <code>VpcIdRestrictionRule</code>, or <code>VpcEndpointIdRestrictionRule</code>. To use this operation, you must provide the entire map of rules. You can use the <code>DescribeIpRestriction</code> operation to get the current rule map.</p>
3431
* @example
3532
* Use a bare-bones client and the command you need to make an API call.
3633
* ```javascript
@@ -42,6 +39,12 @@ export interface UpdateIpRestrictionCommandOutput extends UpdateIpRestrictionRes
4239
* IpRestrictionRuleMap: { // IpRestrictionRuleMap
4340
* "<keys>": "STRING_VALUE",
4441
* },
42+
* VpcIdRestrictionRuleMap: { // VpcIdRestrictionRuleMap
43+
* "<keys>": "STRING_VALUE",
44+
* },
45+
* VpcEndpointIdRestrictionRuleMap: { // VpcEndpointIdRestrictionRuleMap
46+
* "<keys>": "STRING_VALUE",
47+
* },
4548
* Enabled: true || false,
4649
* };
4750
* const command = new UpdateIpRestrictionCommand(input);

clients/client-quicksight/src/models/models_2.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5523,7 +5523,7 @@ export interface StringDatasetParameter {
55235523
}
55245524

55255525
/**
5526-
* <p>A dataset parameter.</p>
5526+
* <p>A parameter that is created in a dataset. The parameter can be a string, integer, decimal, or datetime data type.</p>
55275527
* @public
55285528
*/
55295529
export interface DatasetParameter {

clients/client-quicksight/src/models/models_3.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5756,6 +5756,18 @@ export interface DescribeIpRestrictionResponse {
57565756
*/
57575757
IpRestrictionRuleMap?: Record<string, string>;
57585758

5759+
/**
5760+
* <p>A map of allowed VPC IDs and their rule descriptions.</p>
5761+
* @public
5762+
*/
5763+
VpcIdRestrictionRuleMap?: Record<string, string>;
5764+
5765+
/**
5766+
* <p>A map of allowed VPC endpoint IDs and their rule descriptions.</p>
5767+
* @public
5768+
*/
5769+
VpcEndpointIdRestrictionRuleMap?: Record<string, string>;
5770+
57595771
/**
57605772
* <p>A value that specifies whether IP rules are turned on.</p>
57615773
* @public
@@ -7637,8 +7649,8 @@ export interface GenerateEmbedUrlForAnonymousUserRequest {
76377649
* is authorized to access during the lifetime of the session.</p>
76387650
* <p>If you choose <code>Dashboard</code> embedding experience, pass the list of dashboard ARNs in the
76397651
* account that you want the user to be able to view.</p>
7640-
* <p>Currently, you can pass up to 25
7641-
* dashboard ARNs in each API call.</p>
7652+
* <p>If you want to make changes to the theme of your embedded content, pass a list of theme ARNs that the anonymous users need access to.</p>
7653+
* <p>Currently, you can pass up to 25 theme ARNs in each API call.</p>
76427654
* @public
76437655
*/
76447656
AuthorizedResourceArns: string[] | undefined;

clients/client-quicksight/src/models/models_4.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3519,6 +3519,18 @@ export interface UpdateIpRestrictionRequest {
35193519
*/
35203520
IpRestrictionRuleMap?: Record<string, string>;
35213521

3522+
/**
3523+
* <p>A map of VPC IDs and their corresponding rules. When you configure this parameter, traffic from all VPC endpoints that are present in the specified VPC is allowed.</p>
3524+
* @public
3525+
*/
3526+
VpcIdRestrictionRuleMap?: Record<string, string>;
3527+
3528+
/**
3529+
* <p>A map of allowed VPC endpoint IDs and their corresponding rule descriptions.</p>
3530+
* @public
3531+
*/
3532+
VpcEndpointIdRestrictionRuleMap?: Record<string, string>;
3533+
35223534
/**
35233535
* <p>A value that specifies whether IP rules are turned on.</p>
35243536
* @public

clients/client-quicksight/src/protocols/Aws_restJson1.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4619,6 +4619,8 @@ export const se_UpdateIpRestrictionCommand = async (
46194619
take(input, {
46204620
Enabled: [],
46214621
IpRestrictionRuleMap: (_) => _json(_),
4622+
VpcEndpointIdRestrictionRuleMap: (_) => _json(_),
4623+
VpcIdRestrictionRuleMap: (_) => _json(_),
46224624
})
46234625
);
46244626
b.m("POST").h(headers).b(body);
@@ -6959,6 +6961,8 @@ export const de_DescribeIpRestrictionCommand = async (
69596961
Enabled: __expectBoolean,
69606962
IpRestrictionRuleMap: _json,
69616963
RequestId: __expectString,
6964+
VpcEndpointIdRestrictionRuleMap: _json,
6965+
VpcIdRestrictionRuleMap: _json,
69626966
});
69636967
Object.assign(contents, doc);
69646968
map(contents, {
@@ -14566,6 +14570,10 @@ const se_VisualList = (input: Visual[], context: __SerdeContext): any => {
1456614570

1456714571
// se_VpcConnectionProperties omitted.
1456814572

14573+
// se_VpcEndpointIdRestrictionRuleMap omitted.
14574+
14575+
// se_VpcIdRestrictionRuleMap omitted.
14576+
1456914577
/**
1457014578
* serializeAws_restJson1WaterfallChartAggregatedFieldWells
1457114579
*/
@@ -20113,6 +20121,10 @@ const de_VPCConnectionSummaryList = (output: any, context: __SerdeContext): VPCC
2011320121
return retVal;
2011420122
};
2011520123

20124+
// de_VpcEndpointIdRestrictionRuleMap omitted.
20125+
20126+
// de_VpcIdRestrictionRuleMap omitted.
20127+
2011620128
/**
2011720129
* deserializeAws_restJson1WaterfallChartAggregatedFieldWells
2011820130
*/

codegen/sdk-codegen/aws-models/quicksight.json

Lines changed: 87 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12461,7 +12461,7 @@
1246112461
}
1246212462
},
1246312463
"traits": {
12464-
"smithy.api#documentation": "<p>A dataset parameter.</p>"
12464+
"smithy.api#documentation": "<p>A parameter that is created in a dataset. The parameter can be a string, integer, decimal, or datetime data type.</p>"
1246512465
}
1246612466
},
1246712467
"com.amazonaws.quicksight#DatasetParameterId": {
@@ -12511,6 +12511,9 @@
1251112511
"smithy.api#enumValue": "SINGLE_VALUED"
1251212512
}
1251312513
}
12514+
},
12515+
"traits": {
12516+
"smithy.api#documentation": "<p>The value type of the parameter. The value type is used to validate the parameter before it is evaluated.</p>"
1251412517
}
1251512518
},
1251612519
"com.amazonaws.quicksight#Datasets": {
@@ -18820,6 +18823,18 @@
1882018823
"smithy.api#documentation": "<p>A map that describes the IP rules with CIDR range and description.</p>"
1882118824
}
1882218825
},
18826+
"VpcIdRestrictionRuleMap": {
18827+
"target": "com.amazonaws.quicksight#VpcIdRestrictionRuleMap",
18828+
"traits": {
18829+
"smithy.api#documentation": "<p>A map of allowed VPC IDs and their rule descriptions.</p>"
18830+
}
18831+
},
18832+
"VpcEndpointIdRestrictionRuleMap": {
18833+
"target": "com.amazonaws.quicksight#VpcEndpointIdRestrictionRuleMap",
18834+
"traits": {
18835+
"smithy.api#documentation": "<p>A map of allowed VPC endpoint IDs and their rule descriptions.</p>"
18836+
}
18837+
},
1882318838
"Enabled": {
1882418839
"target": "com.amazonaws.quicksight#NullableBoolean",
1882518840
"traits": {
@@ -23800,7 +23815,7 @@
2380023815
"AuthorizedResourceArns": {
2380123816
"target": "com.amazonaws.quicksight#ArnList",
2380223817
"traits": {
23803-
"smithy.api#documentation": "<p>The Amazon Resource Names (ARNs) for the Amazon QuickSight resources that the user\n is authorized to access during the lifetime of the session.</p>\n <p>If you choose <code>Dashboard</code> embedding experience, pass the list of dashboard ARNs in the\n account that you want the user to be able to view.</p>\n <p>Currently, you can pass up to 25\n dashboard ARNs in each API call.</p>",
23818+
"smithy.api#documentation": "<p>The Amazon Resource Names (ARNs) for the Amazon QuickSight resources that the user\n is authorized to access during the lifetime of the session.</p>\n <p>If you choose <code>Dashboard</code> embedding experience, pass the list of dashboard ARNs in the\n account that you want the user to be able to view.</p>\n <p>If you want to make changes to the theme of your embedded content, pass a list of theme ARNs that the anonymous users need access to.</p>\n <p>Currently, you can pass up to 25 theme ARNs in each API call.</p>",
2380423819
"smithy.api#required": {}
2380523820
}
2380623821
},
@@ -42719,7 +42734,7 @@
4271942734
"traits": {
4272042735
"smithy.api#length": {
4272142736
"min": 1,
42722-
"max": 65536
42737+
"max": 168000
4272342738
}
4272442739
}
4272542740
},
@@ -50107,7 +50122,7 @@
5010750122
}
5010850123
],
5010950124
"traits": {
50110-
"smithy.api#documentation": "<p>Updates the content and status of IP rules. To use this operation, you\n\t\t\tmust\n\t\t\tprovide the entire map of rules. You can use the <code>DescribeIpRestriction</code>\n\t\t\toperation to get the current rule map.</p>",
50125+
"smithy.api#documentation": "<p>Updates the content and status of IP rules. Traffic from a source is allowed when the source satisfies either the <code>IpRestrictionRule</code>, <code>VpcIdRestrictionRule</code>, or <code>VpcEndpointIdRestrictionRule</code>. To use this operation, you must provide the entire map of rules. You can use the <code>DescribeIpRestriction</code> operation to get the current rule map.</p>",
5011150126
"smithy.api#http": {
5011250127
"method": "POST",
5011350128
"uri": "/accounts/{AwsAccountId}/ip-restriction",
@@ -50132,6 +50147,18 @@
5013250147
"smithy.api#documentation": "<p>A map that describes the updated IP rules with CIDR ranges and descriptions.</p>"
5013350148
}
5013450149
},
50150+
"VpcIdRestrictionRuleMap": {
50151+
"target": "com.amazonaws.quicksight#VpcIdRestrictionRuleMap",
50152+
"traits": {
50153+
"smithy.api#documentation": "<p>A map of VPC IDs and their corresponding rules. When you configure this parameter, traffic from all VPC endpoints that are present in the specified VPC is allowed.</p>"
50154+
}
50155+
},
50156+
"VpcEndpointIdRestrictionRuleMap": {
50157+
"target": "com.amazonaws.quicksight#VpcEndpointIdRestrictionRuleMap",
50158+
"traits": {
50159+
"smithy.api#documentation": "<p>A map of allowed VPC endpoint IDs and their corresponding rule descriptions.</p>"
50160+
}
50161+
},
5013550162
"Enabled": {
5013650163
"target": "com.amazonaws.quicksight#NullableBoolean",
5013750164
"traits": {
@@ -52830,6 +52857,62 @@
5283052857
"smithy.api#documentation": "<p>VPC connection properties.</p>"
5283152858
}
5283252859
},
52860+
"com.amazonaws.quicksight#VpcEndpointId": {
52861+
"type": "string",
52862+
"traits": {
52863+
"smithy.api#length": {
52864+
"min": 1,
52865+
"max": 255
52866+
},
52867+
"smithy.api#pattern": "^vpce-[0-9a-z]*$"
52868+
}
52869+
},
52870+
"com.amazonaws.quicksight#VpcEndpointIdRestrictionRuleDescription": {
52871+
"type": "string",
52872+
"traits": {
52873+
"smithy.api#length": {
52874+
"min": 0,
52875+
"max": 150
52876+
}
52877+
}
52878+
},
52879+
"com.amazonaws.quicksight#VpcEndpointIdRestrictionRuleMap": {
52880+
"type": "map",
52881+
"key": {
52882+
"target": "com.amazonaws.quicksight#VpcEndpointId"
52883+
},
52884+
"value": {
52885+
"target": "com.amazonaws.quicksight#VpcEndpointIdRestrictionRuleDescription"
52886+
}
52887+
},
52888+
"com.amazonaws.quicksight#VpcId": {
52889+
"type": "string",
52890+
"traits": {
52891+
"smithy.api#length": {
52892+
"min": 1,
52893+
"max": 255
52894+
},
52895+
"smithy.api#pattern": "^vpc-[0-9a-z]*$"
52896+
}
52897+
},
52898+
"com.amazonaws.quicksight#VpcIdRestrictionRuleDescription": {
52899+
"type": "string",
52900+
"traits": {
52901+
"smithy.api#length": {
52902+
"min": 0,
52903+
"max": 150
52904+
}
52905+
}
52906+
},
52907+
"com.amazonaws.quicksight#VpcIdRestrictionRuleMap": {
52908+
"type": "map",
52909+
"key": {
52910+
"target": "com.amazonaws.quicksight#VpcId"
52911+
},
52912+
"value": {
52913+
"target": "com.amazonaws.quicksight#VpcIdRestrictionRuleDescription"
52914+
}
52915+
},
5283352916
"com.amazonaws.quicksight#Warehouse": {
5283452917
"type": "string",
5283552918
"traits": {

0 commit comments

Comments
 (0)