@@ -46,6 +46,7 @@ func TestAccEC2ClientVPNEndpoint_serial(t *testing.T) {
46
46
"simpleAttributesUpdate" : testAccClientVPNEndpoint_simpleAttributesUpdate ,
47
47
"selfServicePortal" : testAccClientVPNEndpoint_selfServicePortal ,
48
48
"vpcNoSecurityGroups" : testAccClientVPNEndpoint_vpcNoSecurityGroups ,
49
+ "vpcSecurityGroups" : testAccClientVPNEndpoint_vpcSecurityGroups ,
49
50
"basicDataSource" : testAccClientVPNEndpointDataSource_basic ,
50
51
},
51
52
"AuthorizationRule" : {
@@ -658,6 +659,48 @@ func testAccClientVPNEndpoint_vpcNoSecurityGroups(t *testing.T) {
658
659
})
659
660
}
660
661
662
+ func testAccClientVPNEndpoint_vpcSecurityGroups (t * testing.T ) {
663
+ var v ec2.ClientVpnEndpoint
664
+ rName := sdkacctest .RandomWithPrefix (acctest .ResourcePrefix )
665
+ resourceName := "aws_ec2_client_vpn_endpoint.test"
666
+ securityGroup1ResourceName := "aws_security_group.test1"
667
+ securityGroup2ResourceName := "aws_security_group.test2"
668
+ vpcResourceName := "aws_vpc.test"
669
+
670
+ resource .ParallelTest (t , resource.TestCase {
671
+ PreCheck : func () { testAccPreCheckClientVPNSyncronize (t ); acctest .PreCheck (t ) },
672
+ ErrorCheck : acctest .ErrorCheck (t , ec2 .EndpointsID ),
673
+ Providers : acctest .Providers ,
674
+ CheckDestroy : testAccCheckClientVPNEndpointDestroy ,
675
+ Steps : []resource.TestStep {
676
+ {
677
+ Config : testAccEc2ClientVpnEndpointConfigSecurityGroups (rName , 2 ),
678
+ Check : resource .ComposeTestCheckFunc (
679
+ testAccCheckClientVPNEndpointExists (resourceName , & v ),
680
+ resource .TestCheckResourceAttr (resourceName , "security_group_ids.#" , "2" ),
681
+ resource .TestCheckTypeSetElemAttrPair (resourceName , "security_group_ids.*" , securityGroup1ResourceName , "id" ),
682
+ resource .TestCheckTypeSetElemAttrPair (resourceName , "security_group_ids.*" , securityGroup2ResourceName , "id" ),
683
+ resource .TestCheckResourceAttrPair (resourceName , "vpc_id" , vpcResourceName , "id" ),
684
+ ),
685
+ },
686
+ {
687
+ ResourceName : resourceName ,
688
+ ImportState : true ,
689
+ ImportStateVerify : true ,
690
+ },
691
+ {
692
+ Config : testAccEc2ClientVpnEndpointConfigSecurityGroups (rName , 1 ),
693
+ Check : resource .ComposeTestCheckFunc (
694
+ testAccCheckClientVPNEndpointExists (resourceName , & v ),
695
+ resource .TestCheckResourceAttr (resourceName , "security_group_ids.#" , "1" ),
696
+ resource .TestCheckTypeSetElemAttrPair (resourceName , "security_group_ids.*" , securityGroup1ResourceName , "id" ),
697
+ resource .TestCheckResourceAttrPair (resourceName , "vpc_id" , vpcResourceName , "id" ),
698
+ ),
699
+ },
700
+ },
701
+ })
702
+ }
703
+
661
704
func testAccPreCheckClientVPNSyncronize (t * testing.T ) {
662
705
sync .TestAccPreCheckSyncronize (t , testAccEc2ClientVpnEndpointSemaphore , "Client VPN" )
663
706
}
0 commit comments