@@ -2,10 +2,10 @@ import { Template, Match } from '@aws-cdk/assertions';
2
2
import * as ec2 from '@aws-cdk/aws-ec2' ;
3
3
import * as iam from '@aws-cdk/aws-iam' ;
4
4
import * as kms from '@aws-cdk/aws-kms' ;
5
+ import { testFutureBehavior , testLegacyBehavior } from '@aws-cdk/cdk-build-tools/lib/feature-flag' ;
5
6
import { App , RemovalPolicy , Size , Stack , Tags } from '@aws-cdk/core' ;
6
7
import * as cxapi from '@aws-cdk/cx-api' ;
7
- import { testFutureBehavior , testLegacyBehavior } from '@aws-cdk/cdk-build-tools/lib/feature-flag' ;
8
- import { FileSystem , LifecyclePolicy , PerformanceMode , ThroughputMode } from '../lib' ;
8
+ import { FileSystem , LifecyclePolicy , PerformanceMode , ThroughputMode , OutOfInfrequentAccessPolicy } from '../lib' ;
9
9
10
10
let stack = new Stack ( ) ;
11
11
let vpc = new ec2 . Vpc ( stack , 'VPC' ) ;
@@ -128,6 +128,33 @@ test('file system is created correctly with a life cycle property', () => {
128
128
} ) ;
129
129
} ) ;
130
130
131
+ test ( 'file system is created correctly with a life cycle property and out of infrequent access property' , ( ) => {
132
+ // WHEN
133
+ new FileSystem ( stack , 'EfsFileSystem' , {
134
+ vpc,
135
+ lifecyclePolicy : LifecyclePolicy . AFTER_7_DAYS ,
136
+ outOfInfrequentAccessPolicy : OutOfInfrequentAccessPolicy . AFTER_1_ACCESS ,
137
+ } ) ;
138
+ // THEN
139
+ Template . fromStack ( stack ) . hasResourceProperties ( 'AWS::EFS::FileSystem' , {
140
+ LifecyclePolicies : [ {
141
+ TransitionToIA : 'AFTER_7_DAYS' ,
142
+ TransitionToPrimaryStorageClass : 'AFTER_1_ACCESS' ,
143
+ } ] ,
144
+ } ) ;
145
+ } ) ;
146
+
147
+ test ( 'LifecyclePolicies should be disabled when lifecyclePolicy and outInfrequentAccessPolicy are not specified' , ( ) => {
148
+ // WHEN
149
+ new FileSystem ( stack , 'EfsFileSystem' , {
150
+ vpc,
151
+ } ) ;
152
+ // THEN
153
+ Template . fromStack ( stack ) . hasResourceProperties ( 'AWS::EFS::FileSystem' , {
154
+ LifecyclePolicies : Match . absent ( ) ,
155
+ } ) ;
156
+ } ) ;
157
+
131
158
test ( 'file system is created correctly with performance mode' , ( ) => {
132
159
// WHEN
133
160
new FileSystem ( stack , 'EfsFileSystem' , {
0 commit comments