@@ -18,9 +18,10 @@ import (
18
18
19
19
func TestAccVPCEndpointServiceAllowedPrincipal_basic (t * testing.T ) {
20
20
ctx := acctest .Context (t )
21
- resourceName := "aws_vpc_endpoint_service_allowed_principal.test"
22
21
rName := sdkacctest .RandomWithPrefix ("tfacctest" )
23
22
23
+ resourceName := "aws_vpc_endpoint_service_allowed_principal.test"
24
+
24
25
resource .ParallelTest (t , resource.TestCase {
25
26
PreCheck : func () { acctest .PreCheck (ctx , t ) },
26
27
ErrorCheck : acctest .ErrorCheck (t , ec2 .EndpointsID ),
@@ -68,9 +69,10 @@ func TestAccVPCEndpointServiceAllowedPrincipal_tags(t *testing.T) {
68
69
69
70
func TestAccVPCEndpointServiceAllowedPrincipal_migrateID (t * testing.T ) {
70
71
ctx := acctest .Context (t )
71
- resourceName := "aws_vpc_endpoint_service_allowed_principal.test"
72
72
rName := sdkacctest .RandomWithPrefix ("tfacctest" )
73
73
74
+ resourceName := "aws_vpc_endpoint_service_allowed_principal.test"
75
+
74
76
resource .ParallelTest (t , resource.TestCase {
75
77
PreCheck : func () { acctest .PreCheck (ctx , t ) },
76
78
ErrorCheck : acctest .ErrorCheck (t , ec2 .EndpointsID ),
@@ -97,6 +99,46 @@ func TestAccVPCEndpointServiceAllowedPrincipal_migrateID(t *testing.T) {
97
99
})
98
100
}
99
101
102
+ // Verify that the resource returns an ID usable for creating an `aws_ec2_tag`
103
+ func TestAccVPCEndpointServiceAllowedPrincipal_migrateAndTag (t * testing.T ) {
104
+ ctx := acctest .Context (t )
105
+ rName := sdkacctest .RandomWithPrefix ("tfacctest" )
106
+
107
+ resourceName := "aws_vpc_endpoint_service_allowed_principal.test"
108
+ tagResourceName := "aws_ec2_tag.test"
109
+
110
+ resource .ParallelTest (t , resource.TestCase {
111
+ PreCheck : func () { acctest .PreCheck (ctx , t ) },
112
+ ErrorCheck : acctest .ErrorCheck (t , ec2 .EndpointsID ),
113
+ CheckDestroy : testAccCheckVPCEndpointServiceAllowedPrincipalDestroy (ctx ),
114
+ Steps : []resource.TestStep {
115
+ {
116
+ ExternalProviders : map [string ]resource.ExternalProvider {
117
+ "aws" : {
118
+ Source : "hashicorp/aws" ,
119
+ VersionConstraint : "4.63.0" ,
120
+ },
121
+ },
122
+ Config : testAccVPCEndpointServiceAllowedPrincipalConfig_basic (rName ),
123
+ Check : resource .ComposeAggregateTestCheckFunc (
124
+ testAccCheckVPCEndpointServiceAllowedPrincipalExists (ctx , resourceName ),
125
+ ),
126
+ },
127
+ {
128
+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories ,
129
+ Config : testAccVPCEndpointServiceAllowedPrincipalConfig_tag (rName ),
130
+ Check : resource .ComposeAggregateTestCheckFunc (
131
+ testAccCheckVPCEndpointServiceAllowedPrincipalExists (ctx , resourceName ),
132
+ resource .TestMatchResourceAttr (resourceName , "id" , regexp .MustCompile (`^vpce-svc-perm-\w{17}$` )),
133
+ resource .TestCheckResourceAttrPair (tagResourceName , "resource_id" , resourceName , "id" ),
134
+ resource .TestCheckResourceAttr (tagResourceName , "key" , "Name" ),
135
+ resource .TestCheckResourceAttr (tagResourceName , "value" , rName ),
136
+ ),
137
+ },
138
+ },
139
+ })
140
+ }
141
+
100
142
func testAccCheckVPCEndpointServiceAllowedPrincipalDestroy (ctx context.Context ) resource.TestCheckFunc {
101
143
return func (s * terraform.State ) error {
102
144
conn := acctest .Provider .Meta ().(* conns.AWSClient ).EC2Conn ()
@@ -106,7 +148,7 @@ func testAccCheckVPCEndpointServiceAllowedPrincipalDestroy(ctx context.Context)
106
148
continue
107
149
}
108
150
109
- err := tfec2 .FindVPCEndpointServicePermissionExists (ctx , conn , rs .Primary .Attributes ["vpc_endpoint_service_id" ], rs .Primary .Attributes ["principal_arn" ])
151
+ _ , err := tfec2 .FindVPCEndpointServicePermission (ctx , conn , rs .Primary .Attributes ["vpc_endpoint_service_id" ], rs .Primary .Attributes ["principal_arn" ])
110
152
111
153
if tfresource .NotFound (err ) {
112
154
continue
@@ -136,7 +178,9 @@ func testAccCheckVPCEndpointServiceAllowedPrincipalExists(ctx context.Context, n
136
178
137
179
conn := acctest .Provider .Meta ().(* conns.AWSClient ).EC2Conn ()
138
180
139
- return tfec2 .FindVPCEndpointServicePermissionExists (ctx , conn , rs .Primary .Attributes ["vpc_endpoint_service_id" ], rs .Primary .Attributes ["principal_arn" ])
181
+ _ , err := tfec2 .FindVPCEndpointServicePermission (ctx , conn , rs .Primary .Attributes ["vpc_endpoint_service_id" ], rs .Primary .Attributes ["principal_arn" ])
182
+
183
+ return err
140
184
}
141
185
}
142
186
@@ -163,24 +207,9 @@ resource "aws_vpc_endpoint_service_allowed_principal" "test" {
163
207
}
164
208
165
209
func testAccVPCEndpointServiceAllowedPrincipalConfig_tag (rName string ) string {
166
- return acctest .ConfigCompose (testAccVPCEndpointServiceConfig_networkLoadBalancerBase (rName , 1 ), fmt .Sprintf (`
167
- data "aws_caller_identity" "current" {}
168
-
169
- data "aws_iam_session_context" "current" {
170
- arn = data.aws_caller_identity.current.arn
171
- }
172
-
173
- resource "aws_vpc_endpoint_service" "test" {
174
- acceptance_required = false
175
- network_load_balancer_arns = aws_lb.test[*].arn
176
- }
177
-
178
- resource "aws_vpc_endpoint_service_allowed_principal" "test" {
179
- vpc_endpoint_service_id = aws_vpc_endpoint_service.test.id
180
-
181
- principal_arn = data.aws_iam_session_context.current.issuer_arn
182
- }
183
-
210
+ return acctest .ConfigCompose (
211
+ testAccVPCEndpointServiceAllowedPrincipalConfig_basic (rName ),
212
+ fmt .Sprintf (`
184
213
resource "aws_ec2_tag" "test" {
185
214
resource_id = aws_vpc_endpoint_service_allowed_principal.test.id
186
215
0 commit comments