|  | @@ -357,20 +357,8 @@ networks:
 | 
	
		
			
				|  |  |  	assert.Check(t, s.NetworkConfiguration.AwsvpcConfiguration.SecurityGroups[0] == "sg-123abc") //nolint:staticcheck
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func testVolume(t *testing.T, yaml string, fn ...func(m *MockAPIMockRecorder)) {
 | 
	
		
			
				|  |  | -	template := convertYaml(t, yaml, fn...)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	s := template.Resources["DbdataNFSMountTargetOnSubnet1"].(*efs.MountTarget)
 | 
	
		
			
				|  |  | -	assert.Check(t, s != nil)
 | 
	
		
			
				|  |  | -	assert.Equal(t, s.FileSystemId, "fs-123abc") //nolint:staticcheck
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	s = template.Resources["DbdataNFSMountTargetOnSubnet2"].(*efs.MountTarget)
 | 
	
		
			
				|  |  | -	assert.Check(t, s != nil)
 | 
	
		
			
				|  |  | -	assert.Equal(t, s.FileSystemId, "fs-123abc") //nolint:staticcheck
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  func TestUseExternalVolume(t *testing.T) {
 | 
	
		
			
				|  |  | -	testVolume(t, `
 | 
	
		
			
				|  |  | +	template := convertYaml(t, `
 | 
	
		
			
				|  |  |  services:
 | 
	
		
			
				|  |  |    test:
 | 
	
		
			
				|  |  |      image: nginx
 | 
	
	
		
			
				|  | @@ -381,30 +369,50 @@ volumes:
 | 
	
		
			
				|  |  |  `, useDefaultVPC, func(m *MockAPIMockRecorder) {
 | 
	
		
			
				|  |  |  		m.FileSystemExists(gomock.Any(), "fs-123abc").Return(true, nil)
 | 
	
		
			
				|  |  |  	})
 | 
	
		
			
				|  |  | +	s := template.Resources["DbdataNFSMountTargetOnSubnet1"].(*efs.MountTarget)
 | 
	
		
			
				|  |  | +	assert.Check(t, s != nil)
 | 
	
		
			
				|  |  | +	assert.Equal(t, s.FileSystemId, "fs-123abc") //nolint:staticcheck
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	s = template.Resources["DbdataNFSMountTargetOnSubnet2"].(*efs.MountTarget)
 | 
	
		
			
				|  |  | +	assert.Check(t, s != nil)
 | 
	
		
			
				|  |  | +	assert.Equal(t, s.FileSystemId, "fs-123abc") //nolint:staticcheck
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func TestCreateVolume(t *testing.T) {
 | 
	
		
			
				|  |  | -	testVolume(t, `
 | 
	
		
			
				|  |  | +	template := convertYaml(t, `
 | 
	
		
			
				|  |  |  services:
 | 
	
		
			
				|  |  |    test:
 | 
	
		
			
				|  |  |      image: nginx
 | 
	
		
			
				|  |  |  volumes:
 | 
	
		
			
				|  |  | -  db-data: {}
 | 
	
		
			
				|  |  | +  db-data: 
 | 
	
		
			
				|  |  | +    driver_opts:
 | 
	
		
			
				|  |  | +        backup_policy: ENABLED
 | 
	
		
			
				|  |  | +        lifecycle_policy: AFTER_30_DAYS
 | 
	
		
			
				|  |  | +        performance_mode: maxIO
 | 
	
		
			
				|  |  | +        throughput_mode: provisioned
 | 
	
		
			
				|  |  | +        provisioned_throughput: 1024
 | 
	
		
			
				|  |  |  `, useDefaultVPC, func(m *MockAPIMockRecorder) {
 | 
	
		
			
				|  |  |  		m.FindFileSystem(gomock.Any(), map[string]string{
 | 
	
		
			
				|  |  |  			compose.ProjectTag: t.Name(),
 | 
	
		
			
				|  |  |  			compose.VolumeTag:  "db-data",
 | 
	
		
			
				|  |  |  		}).Return("", nil)
 | 
	
		
			
				|  |  | -		m.CreateFileSystem(gomock.Any(), map[string]string{
 | 
	
		
			
				|  |  | -			compose.ProjectTag: t.Name(),
 | 
	
		
			
				|  |  | -			compose.VolumeTag:  "db-data",
 | 
	
		
			
				|  |  | -			"Name":             fmt.Sprintf("%s_%s", t.Name(), "db-data"),
 | 
	
		
			
				|  |  | -		}).Return("fs-123abc", nil)
 | 
	
		
			
				|  |  |  	})
 | 
	
		
			
				|  |  | +	n := volumeResourceName("db-data")
 | 
	
		
			
				|  |  | +	f := template.Resources[n].(*efs.FileSystem)
 | 
	
		
			
				|  |  | +	assert.Check(t, f != nil)
 | 
	
		
			
				|  |  | +	assert.Equal(t, f.BackupPolicy.Status, "ENABLED")                       //nolint:staticcheck
 | 
	
		
			
				|  |  | +	assert.Equal(t, f.LifecyclePolicies[0].TransitionToIA, "AFTER_30_DAYS") //nolint:staticcheck
 | 
	
		
			
				|  |  | +	assert.Equal(t, f.PerformanceMode, "maxIO")                             //nolint:staticcheck
 | 
	
		
			
				|  |  | +	assert.Equal(t, f.ThroughputMode, "provisioned")                        //nolint:staticcheck
 | 
	
		
			
				|  |  | +	assert.Equal(t, f.ProvisionedThroughputInMibps, float64(1024))          //nolint:staticcheck
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	s := template.Resources["DbdataNFSMountTargetOnSubnet1"].(*efs.MountTarget)
 | 
	
		
			
				|  |  | +	assert.Check(t, s != nil)
 | 
	
		
			
				|  |  | +	assert.Equal(t, s.FileSystemId, cloudformation.Ref(n)) //nolint:staticcheck
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func TestReusePreviousVolume(t *testing.T) {
 | 
	
		
			
				|  |  | -	testVolume(t, `
 | 
	
		
			
				|  |  | +	template := convertYaml(t, `
 | 
	
		
			
				|  |  |  services:
 | 
	
		
			
				|  |  |    test:
 | 
	
		
			
				|  |  |      image: nginx
 | 
	
	
		
			
				|  | @@ -416,6 +424,9 @@ volumes:
 | 
	
		
			
				|  |  |  			compose.VolumeTag:  "db-data",
 | 
	
		
			
				|  |  |  		}).Return("fs-123abc", nil)
 | 
	
		
			
				|  |  |  	})
 | 
	
		
			
				|  |  | +	s := template.Resources["DbdataNFSMountTargetOnSubnet1"].(*efs.MountTarget)
 | 
	
		
			
				|  |  | +	assert.Check(t, s != nil)
 | 
	
		
			
				|  |  | +	assert.Equal(t, s.FileSystemId, "fs-123abc") //nolint:staticcheck
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func TestServiceMapping(t *testing.T) {
 |