Skip to content

Commit

Permalink
feat(client-quicksight): Amazon QuickSight: Adds support for setting …
Browse files Browse the repository at this point in the history
…up VPC Endpoint restrictions for accessing QuickSight Website.
  • Loading branch information
awstools committed Mar 28, 2024
1 parent 70254e2 commit 0e22651
Show file tree
Hide file tree
Showing 7 changed files with 139 additions and 11 deletions.
Expand Up @@ -44,6 +44,12 @@ export interface DescribeIpRestrictionCommandOutput extends DescribeIpRestrictio
* // IpRestrictionRuleMap: { // IpRestrictionRuleMap
* // "<keys>": "STRING_VALUE",
* // },
* // VpcIdRestrictionRuleMap: { // VpcIdRestrictionRuleMap
* // "<keys>": "STRING_VALUE",
* // },
* // VpcEndpointIdRestrictionRuleMap: { // VpcEndpointIdRestrictionRuleMap
* // "<keys>": "STRING_VALUE",
* // },
* // Enabled: true || false,
* // RequestId: "STRING_VALUE",
* // Status: Number("int"),
Expand Down
Expand Up @@ -27,10 +27,7 @@ export interface UpdateIpRestrictionCommandInput extends UpdateIpRestrictionRequ
export interface UpdateIpRestrictionCommandOutput extends UpdateIpRestrictionResponse, __MetadataBearer {}

/**
* <p>Updates the content and status of IP rules. 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>
* <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>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand All @@ -42,6 +39,12 @@ export interface UpdateIpRestrictionCommandOutput extends UpdateIpRestrictionRes
* IpRestrictionRuleMap: { // IpRestrictionRuleMap
* "<keys>": "STRING_VALUE",
* },
* VpcIdRestrictionRuleMap: { // VpcIdRestrictionRuleMap
* "<keys>": "STRING_VALUE",
* },
* VpcEndpointIdRestrictionRuleMap: { // VpcEndpointIdRestrictionRuleMap
* "<keys>": "STRING_VALUE",
* },
* Enabled: true || false,
* };
* const command = new UpdateIpRestrictionCommand(input);
Expand Down
2 changes: 1 addition & 1 deletion clients/client-quicksight/src/models/models_2.ts
Expand Up @@ -5523,7 +5523,7 @@ export interface StringDatasetParameter {
}

/**
* <p>A dataset parameter.</p>
* <p>A parameter that is created in a dataset. The parameter can be a string, integer, decimal, or datetime data type.</p>
* @public
*/
export interface DatasetParameter {
Expand Down
16 changes: 14 additions & 2 deletions clients/client-quicksight/src/models/models_3.ts
Expand Up @@ -5756,6 +5756,18 @@ export interface DescribeIpRestrictionResponse {
*/
IpRestrictionRuleMap?: Record<string, string>;

/**
* <p>A map of allowed VPC IDs and their rule descriptions.</p>
* @public
*/
VpcIdRestrictionRuleMap?: Record<string, string>;

/**
* <p>A map of allowed VPC endpoint IDs and their rule descriptions.</p>
* @public
*/
VpcEndpointIdRestrictionRuleMap?: Record<string, string>;

/**
* <p>A value that specifies whether IP rules are turned on.</p>
* @public
Expand Down Expand Up @@ -7637,8 +7649,8 @@ export interface GenerateEmbedUrlForAnonymousUserRequest {
* is authorized to access during the lifetime of the session.</p>
* <p>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>
* <p>Currently, you can pass up to 25
* dashboard ARNs in each API call.</p>
* <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>
* <p>Currently, you can pass up to 25 theme ARNs in each API call.</p>
* @public
*/
AuthorizedResourceArns: string[] | undefined;
Expand Down
12 changes: 12 additions & 0 deletions clients/client-quicksight/src/models/models_4.ts
Expand Up @@ -3519,6 +3519,18 @@ export interface UpdateIpRestrictionRequest {
*/
IpRestrictionRuleMap?: Record<string, string>;

/**
* <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>
* @public
*/
VpcIdRestrictionRuleMap?: Record<string, string>;

/**
* <p>A map of allowed VPC endpoint IDs and their corresponding rule descriptions.</p>
* @public
*/
VpcEndpointIdRestrictionRuleMap?: Record<string, string>;

/**
* <p>A value that specifies whether IP rules are turned on.</p>
* @public
Expand Down
12 changes: 12 additions & 0 deletions clients/client-quicksight/src/protocols/Aws_restJson1.ts
Expand Up @@ -4619,6 +4619,8 @@ export const se_UpdateIpRestrictionCommand = async (
take(input, {
Enabled: [],
IpRestrictionRuleMap: (_) => _json(_),
VpcEndpointIdRestrictionRuleMap: (_) => _json(_),
VpcIdRestrictionRuleMap: (_) => _json(_),
})
);
b.m("POST").h(headers).b(body);
Expand Down Expand Up @@ -6959,6 +6961,8 @@ export const de_DescribeIpRestrictionCommand = async (
Enabled: __expectBoolean,
IpRestrictionRuleMap: _json,
RequestId: __expectString,
VpcEndpointIdRestrictionRuleMap: _json,
VpcIdRestrictionRuleMap: _json,
});
Object.assign(contents, doc);
map(contents, {
Expand Down Expand Up @@ -14566,6 +14570,10 @@ const se_VisualList = (input: Visual[], context: __SerdeContext): any => {

// se_VpcConnectionProperties omitted.

// se_VpcEndpointIdRestrictionRuleMap omitted.

// se_VpcIdRestrictionRuleMap omitted.

/**
* serializeAws_restJson1WaterfallChartAggregatedFieldWells
*/
Expand Down Expand Up @@ -20113,6 +20121,10 @@ const de_VPCConnectionSummaryList = (output: any, context: __SerdeContext): VPCC
return retVal;
};

// de_VpcEndpointIdRestrictionRuleMap omitted.

// de_VpcIdRestrictionRuleMap omitted.

/**
* deserializeAws_restJson1WaterfallChartAggregatedFieldWells
*/
Expand Down
91 changes: 87 additions & 4 deletions codegen/sdk-codegen/aws-models/quicksight.json
Expand Up @@ -12461,7 +12461,7 @@
}
},
"traits": {
"smithy.api#documentation": "<p>A dataset parameter.</p>"
"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>"
}
},
"com.amazonaws.quicksight#DatasetParameterId": {
Expand Down Expand Up @@ -12511,6 +12511,9 @@
"smithy.api#enumValue": "SINGLE_VALUED"
}
}
},
"traits": {
"smithy.api#documentation": "<p>The value type of the parameter. The value type is used to validate the parameter before it is evaluated.</p>"
}
},
"com.amazonaws.quicksight#Datasets": {
Expand Down Expand Up @@ -18820,6 +18823,18 @@
"smithy.api#documentation": "<p>A map that describes the IP rules with CIDR range and description.</p>"
}
},
"VpcIdRestrictionRuleMap": {
"target": "com.amazonaws.quicksight#VpcIdRestrictionRuleMap",
"traits": {
"smithy.api#documentation": "<p>A map of allowed VPC IDs and their rule descriptions.</p>"
}
},
"VpcEndpointIdRestrictionRuleMap": {
"target": "com.amazonaws.quicksight#VpcEndpointIdRestrictionRuleMap",
"traits": {
"smithy.api#documentation": "<p>A map of allowed VPC endpoint IDs and their rule descriptions.</p>"
}
},
"Enabled": {
"target": "com.amazonaws.quicksight#NullableBoolean",
"traits": {
Expand Down Expand Up @@ -23800,7 +23815,7 @@
"AuthorizedResourceArns": {
"target": "com.amazonaws.quicksight#ArnList",
"traits": {
"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>",
"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>",
"smithy.api#required": {}
}
},
Expand Down Expand Up @@ -42719,7 +42734,7 @@
"traits": {
"smithy.api#length": {
"min": 1,
"max": 65536
"max": 168000
}
}
},
Expand Down Expand Up @@ -50107,7 +50122,7 @@
}
],
"traits": {
"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>",
"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>",
"smithy.api#http": {
"method": "POST",
"uri": "/accounts/{AwsAccountId}/ip-restriction",
Expand All @@ -50132,6 +50147,18 @@
"smithy.api#documentation": "<p>A map that describes the updated IP rules with CIDR ranges and descriptions.</p>"
}
},
"VpcIdRestrictionRuleMap": {
"target": "com.amazonaws.quicksight#VpcIdRestrictionRuleMap",
"traits": {
"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>"
}
},
"VpcEndpointIdRestrictionRuleMap": {
"target": "com.amazonaws.quicksight#VpcEndpointIdRestrictionRuleMap",
"traits": {
"smithy.api#documentation": "<p>A map of allowed VPC endpoint IDs and their corresponding rule descriptions.</p>"
}
},
"Enabled": {
"target": "com.amazonaws.quicksight#NullableBoolean",
"traits": {
Expand Down Expand Up @@ -52830,6 +52857,62 @@
"smithy.api#documentation": "<p>VPC connection properties.</p>"
}
},
"com.amazonaws.quicksight#VpcEndpointId": {
"type": "string",
"traits": {
"smithy.api#length": {
"min": 1,
"max": 255
},
"smithy.api#pattern": "^vpce-[0-9a-z]*$"
}
},
"com.amazonaws.quicksight#VpcEndpointIdRestrictionRuleDescription": {
"type": "string",
"traits": {
"smithy.api#length": {
"min": 0,
"max": 150
}
}
},
"com.amazonaws.quicksight#VpcEndpointIdRestrictionRuleMap": {
"type": "map",
"key": {
"target": "com.amazonaws.quicksight#VpcEndpointId"
},
"value": {
"target": "com.amazonaws.quicksight#VpcEndpointIdRestrictionRuleDescription"
}
},
"com.amazonaws.quicksight#VpcId": {
"type": "string",
"traits": {
"smithy.api#length": {
"min": 1,
"max": 255
},
"smithy.api#pattern": "^vpc-[0-9a-z]*$"
}
},
"com.amazonaws.quicksight#VpcIdRestrictionRuleDescription": {
"type": "string",
"traits": {
"smithy.api#length": {
"min": 0,
"max": 150
}
}
},
"com.amazonaws.quicksight#VpcIdRestrictionRuleMap": {
"type": "map",
"key": {
"target": "com.amazonaws.quicksight#VpcId"
},
"value": {
"target": "com.amazonaws.quicksight#VpcIdRestrictionRuleDescription"
}
},
"com.amazonaws.quicksight#Warehouse": {
"type": "string",
"traits": {
Expand Down

0 comments on commit 0e22651

Please sign in to comment.