3
3
4
4
import { Context , TrackedConstruct , TrackedConstructProps } from "../../../utils" ;
5
5
import { DsfProvider } from '../../../utils/lib/dsf-provider' ;
6
- import { QuickSightSubscriptionProps } from './quicksight-subscription-props' ;
6
+ import { QuickSightSubscriptionProps , QuickSightAuthenticationMethod } from './quicksight-subscription-props' ;
7
7
import { Construct } from 'constructs' ;
8
8
import { CustomResource , Duration , RemovalPolicy } from 'aws-cdk-lib' ;
9
- import { IRole , ManagedPolicy , PolicyDocument , Role , ServicePrincipal , PolicyStatement , Effect } from 'aws-cdk-lib/aws-iam' ;
9
+ import { IRole , PolicyDocument , Role , ServicePrincipal , PolicyStatement , Effect } from 'aws-cdk-lib/aws-iam' ;
10
10
import { ILogGroup } from 'aws-cdk-lib/aws-logs' ;
11
11
import { IFunction } from 'aws-cdk-lib/aws-lambda' ;
12
12
@@ -115,7 +115,7 @@ export class QuickSightSubscription extends TrackedConstruct{
115
115
this . adminGroup = props . adminGroup ;
116
116
this . authorGroup = props . authorGroup ;
117
117
this . readerGroup = props . readerGroup ;
118
- this . identityRegion = props . identityRegion ;
118
+ this . identityRegion = props . identityRegion ;
119
119
120
120
this . policyActions = [
121
121
"quicksight:Subscribe" ,
@@ -138,7 +138,7 @@ export class QuickSightSubscription extends TrackedConstruct{
138
138
"sso:DescribeRegisteredRegions"
139
139
]
140
140
141
- if ( props . authenticationMethod != ' IAM_IDENTITY_CENTER' ) {
141
+ if ( props . authenticationMethod != QuickSightAuthenticationMethod . IAM_IDENTITY_CENTER ) {
142
142
this . policyActions = this . policyActions . concat (
143
143
[
144
144
"ds:AuthorizeApplication" ,
@@ -154,10 +154,7 @@ export class QuickSightSubscription extends TrackedConstruct{
154
154
}
155
155
156
156
this . executionRole = new Role ( this , 'Role' , {
157
- assumedBy : new ServicePrincipal ( 'lambda.amazonaws.com' ) ,
158
- managedPolicies : [
159
- ManagedPolicy . fromAwsManagedPolicyName ( 'service-role/AWSLambdaVPCAccessExecutionRole' ) ,
160
- ] ,
157
+ assumedBy : new ServicePrincipal ( 'lambda.amazonaws.com' ) ,
161
158
inlinePolicies : {
162
159
QuickSightSubscription : new PolicyDocument ( {
163
160
statements : [
@@ -171,7 +168,7 @@ export class QuickSightSubscription extends TrackedConstruct{
171
168
}
172
169
} ) ;
173
170
174
- const timeout = props . executionTimeout || Duration . minutes ( 5 ) ;
171
+ const timeout = props . executionTimeout ?? Duration . minutes ( 5 ) ;
175
172
176
173
const provider = new DsfProvider ( this , 'CrProvider' , {
177
174
providerName : 'QuickSightSubscriptionProvider' ,
@@ -201,7 +198,7 @@ export class QuickSightSubscription extends TrackedConstruct{
201
198
IDENTITY_REGION : props . identityRegion
202
199
} ,
203
200
} ,
204
- queryInterval : Duration . seconds ( 1 ) ,
201
+ queryInterval : Duration . seconds ( 10 ) ,
205
202
removalPolicy : this . removalPolicy ,
206
203
} ) ;
207
204
0 commit comments