Skip to content

Commit 8e3b0b2

Browse files
committed
r/aws_ec2_transit_gateway_connect: Terraform Plugin SDK V2 'WithoutTimeout' signatures (#15090).
1 parent 5e6da9f commit 8e3b0b2

File tree

1 file changed

+34
-31
lines changed

1 file changed

+34
-31
lines changed

internal/service/ec2/transit_gateway_connect.go

+34-31
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package ec2
22

33
import (
4+
"context"
45
"fmt"
56
"log"
67
"time"
78

89
"github.com/aws/aws-sdk-go/aws"
910
"github.com/aws/aws-sdk-go/service/ec2"
1011
"github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2/tfawserr"
12+
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1113
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
1214
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1315
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
@@ -19,10 +21,11 @@ import (
1921

2022
func ResourceTransitGatewayConnect() *schema.Resource {
2123
return &schema.Resource{
22-
Create: resourceTransitGatewayConnectCreate,
23-
Read: resourceTransitGatewayConnectRead,
24-
Update: resourceTransitGatewayConnectUpdate,
25-
Delete: resourceTransitGatewayConnectDelete,
24+
CreateWithoutTimeout: resourceTransitGatewayConnectCreate,
25+
ReadWithoutTimeout: resourceTransitGatewayConnectRead,
26+
UpdateWithoutTimeout: resourceTransitGatewayConnectUpdate,
27+
DeleteWithoutTimeout: resourceTransitGatewayConnectDelete,
28+
2629
Importer: &schema.ResourceImporter{
2730
State: schema.ImportStatePassthrough,
2831
},
@@ -71,7 +74,7 @@ func ResourceTransitGatewayConnect() *schema.Resource {
7174
}
7275
}
7376

74-
func resourceTransitGatewayConnectCreate(d *schema.ResourceData, meta interface{}) error {
77+
func resourceTransitGatewayConnectCreate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
7578
conn := meta.(*conns.AWSClient).EC2Conn
7679
defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig
7780
tags := defaultTagsConfig.MergeTags(tftags.New(d.Get("tags").(map[string]interface{})))
@@ -89,44 +92,44 @@ func resourceTransitGatewayConnectCreate(d *schema.ResourceData, meta interface{
8992
log.Printf("[DEBUG] Creating EC2 Transit Gateway Connect Attachment: %s", input)
9093
output, err := conn.CreateTransitGatewayConnect(input)
9194
if err != nil {
92-
return fmt.Errorf("error creating EC2 Transit Gateway Connect Attachment: %s", err)
95+
return diag.Errorf("error creating EC2 Transit Gateway Connect Attachment: %s", err)
9396
}
9497

9598
d.SetId(aws.StringValue(output.TransitGatewayConnect.TransitGatewayAttachmentId))
9699

97100
if _, err := WaitTransitGatewayConnectCreated(conn, d.Id(), d.Timeout(schema.TimeoutCreate)); err != nil {
98-
return fmt.Errorf("error waiting for EC2 Transit Gateway Connect (%s) create: %w", d.Id(), err)
101+
return diag.Errorf("error waiting for EC2 Transit Gateway Connect (%s) create: %s", d.Id(), err)
99102
}
100103

101104
transportAttachment, err := DescribeTransitGatewayAttachment(conn, transportAttachmentID)
102105
if err != nil {
103-
return fmt.Errorf("error describing EC2 Transit Gateway Attachment (%s): %s", transportAttachmentID, err)
106+
return diag.Errorf("error describing EC2 Transit Gateway Attachment (%s): %s", transportAttachmentID, err)
104107
}
105108

106109
transitGateway, err := DescribeTransitGateway(conn, *transportAttachment.TransitGatewayId)
107110
if err != nil {
108-
return fmt.Errorf("error describing EC2 Transit Gateway (%s): %s", *transportAttachment.TransitGatewayId, err)
111+
return diag.Errorf("error describing EC2 Transit Gateway (%s): %s", *transportAttachment.TransitGatewayId, err)
109112
}
110113

111114
if transitGateway.Options == nil {
112-
return fmt.Errorf("error describing EC2 Transit Gateway (%s): missing options", *transportAttachment.TransitGatewayId)
115+
return diag.Errorf("error describing EC2 Transit Gateway (%s): missing options", *transportAttachment.TransitGatewayId)
113116
}
114117

115118
// We cannot modify Transit Gateway Route Tables for Resource Access Manager shared Transit Gateways
116119
if aws.StringValue(transitGateway.OwnerId) == aws.StringValue(transportAttachment.ResourceOwnerId) {
117120
if err := transitGatewayRouteTableAssociationUpdate(conn, aws.StringValue(transitGateway.Options.AssociationDefaultRouteTableId), d.Id(), d.Get("transit_gateway_default_route_table_association").(bool)); err != nil {
118-
return fmt.Errorf("error updating EC2 Transit Gateway Attachment (%s) Route Table (%s) association: %s", d.Id(), aws.StringValue(transitGateway.Options.AssociationDefaultRouteTableId), err)
121+
return diag.Errorf("error updating EC2 Transit Gateway Attachment (%s) Route Table (%s) association: %s", d.Id(), aws.StringValue(transitGateway.Options.AssociationDefaultRouteTableId), err)
119122
}
120123

121124
if err := transitGatewayRouteTablePropagationUpdate(conn, aws.StringValue(transitGateway.Options.PropagationDefaultRouteTableId), d.Id(), d.Get("transit_gateway_default_route_table_propagation").(bool)); err != nil {
122-
return fmt.Errorf("error updating EC2 Transit Gateway Attachment (%s) Route Table (%s) propagation: %s", d.Id(), aws.StringValue(transitGateway.Options.PropagationDefaultRouteTableId), err)
125+
return diag.Errorf("error updating EC2 Transit Gateway Attachment (%s) Route Table (%s) propagation: %s", d.Id(), aws.StringValue(transitGateway.Options.PropagationDefaultRouteTableId), err)
123126
}
124127
}
125128

126-
return resourceTransitGatewayConnectRead(d, meta)
129+
return resourceTransitGatewayConnectRead(ctx, d, meta)
127130
}
128131

129-
func resourceTransitGatewayConnectRead(d *schema.ResourceData, meta interface{}) error {
132+
func resourceTransitGatewayConnectRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
130133
conn := meta.(*conns.AWSClient).EC2Conn
131134
defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig
132135
ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig
@@ -140,7 +143,7 @@ func resourceTransitGatewayConnectRead(d *schema.ResourceData, meta interface{})
140143
}
141144

142145
if err != nil {
143-
return fmt.Errorf("error reading EC2 Transit Gateway Connect Attachment: %s", err)
146+
return diag.Errorf("error reading EC2 Transit Gateway Connect Attachment: %s", err)
144147
}
145148

146149
if transitGatewayConnect == nil {
@@ -158,12 +161,12 @@ func resourceTransitGatewayConnectRead(d *schema.ResourceData, meta interface{})
158161
transitGatewayID := *transitGatewayConnect.TransitGatewayId
159162
transitGateway, err := DescribeTransitGateway(conn, transitGatewayID)
160163
if err != nil {
161-
return fmt.Errorf("error describing EC2 Transit Gateway (%s): %s", transitGatewayID, err)
164+
return diag.Errorf("error describing EC2 Transit Gateway (%s): %s", transitGatewayID, err)
162165
}
163166

164167
transitGatewayAttachment, err := DescribeTransitGatewayAttachment(conn, d.Id())
165168
if err != nil {
166-
return fmt.Errorf("error reading EC2 Transit Gateway Attachment: %s", err)
169+
return diag.Errorf("error reading EC2 Transit Gateway Attachment: %s", err)
167170
}
168171

169172
if transitGatewayAttachment == nil {
@@ -180,13 +183,13 @@ func resourceTransitGatewayConnectRead(d *schema.ResourceData, meta interface{})
180183
transitGatewayAssociationDefaultRouteTableID := aws.StringValue(transitGateway.Options.AssociationDefaultRouteTableId)
181184
transitGatewayDefaultRouteTableAssociation, err = DescribeTransitGatewayRouteTableAssociation(conn, transitGatewayAssociationDefaultRouteTableID, d.Id())
182185
if err != nil {
183-
return fmt.Errorf("error determining EC2 Transit Gateway Attachment (%s) association to Route Table (%s): %s", d.Id(), transitGatewayAssociationDefaultRouteTableID, err)
186+
return diag.Errorf("error determining EC2 Transit Gateway Attachment (%s) association to Route Table (%s): %s", d.Id(), transitGatewayAssociationDefaultRouteTableID, err)
184187
}
185188

186189
transitGatewayPropagationDefaultRouteTableID := aws.StringValue(transitGateway.Options.PropagationDefaultRouteTableId)
187190
transitGatewayDefaultRouteTablePropagation, err = FindTransitGatewayRouteTablePropagation(conn, transitGatewayPropagationDefaultRouteTableID, d.Id())
188191
if err != nil {
189-
return fmt.Errorf("error determining EC2 Transit Gateway Attachment (%s) propagation to Route Table (%s): %s", d.Id(), transitGatewayPropagationDefaultRouteTableID, err)
192+
return diag.Errorf("error determining EC2 Transit Gateway Attachment (%s) propagation to Route Table (%s): %s", d.Id(), transitGatewayPropagationDefaultRouteTableID, err)
190193
}
191194
}
192195

@@ -200,40 +203,40 @@ func resourceTransitGatewayConnectRead(d *schema.ResourceData, meta interface{})
200203

201204
//lintignore:AWSR002
202205
if err := d.Set("tags", tags.RemoveDefaultConfig(defaultTagsConfig).Map()); err != nil {
203-
return fmt.Errorf("error setting tags: %w", err)
206+
return diag.Errorf("error setting tags: %s", err)
204207
}
205208

206209
if err := d.Set("tags_all", tags.Map()); err != nil {
207-
return fmt.Errorf("error setting tags_all: %w", err)
210+
return diag.Errorf("error setting tags_all: %s", err)
208211
}
209212

210213
return nil
211214
}
212215

213-
func resourceTransitGatewayConnectUpdate(d *schema.ResourceData, meta interface{}) error {
216+
func resourceTransitGatewayConnectUpdate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
214217
conn := meta.(*conns.AWSClient).EC2Conn
215218

216219
if d.HasChanges("transit_gateway_default_route_table_association", "transit_gateway_default_route_table_propagation") {
217220
transitGatewayID := d.Get("transit_gateway_id").(string)
218221

219222
transitGateway, err := DescribeTransitGateway(conn, transitGatewayID)
220223
if err != nil {
221-
return fmt.Errorf("error describing EC2 Transit Gateway (%s): %s", transitGatewayID, err)
224+
return diag.Errorf("error describing EC2 Transit Gateway (%s): %s", transitGatewayID, err)
222225
}
223226

224227
if transitGateway.Options == nil {
225-
return fmt.Errorf("error describing EC2 Transit Gateway (%s): missing options", transitGatewayID)
228+
return diag.Errorf("error describing EC2 Transit Gateway (%s): missing options", transitGatewayID)
226229
}
227230

228231
if d.HasChange("transit_gateway_default_route_table_association") {
229232
if err := transitGatewayRouteTableAssociationUpdate(conn, aws.StringValue(transitGateway.Options.AssociationDefaultRouteTableId), d.Id(), d.Get("transit_gateway_default_route_table_association").(bool)); err != nil {
230-
return fmt.Errorf("error updating EC2 Transit Gateway Attachment (%s) Route Table (%s) association: %s", d.Id(), aws.StringValue(transitGateway.Options.AssociationDefaultRouteTableId), err)
233+
return diag.Errorf("error updating EC2 Transit Gateway Attachment (%s) Route Table (%s) association: %s", d.Id(), aws.StringValue(transitGateway.Options.AssociationDefaultRouteTableId), err)
231234
}
232235
}
233236

234237
if d.HasChange("transit_gateway_default_route_table_propagation") {
235238
if err := transitGatewayRouteTablePropagationUpdate(conn, aws.StringValue(transitGateway.Options.PropagationDefaultRouteTableId), d.Id(), d.Get("transit_gateway_default_route_table_propagation").(bool)); err != nil {
236-
return fmt.Errorf("error updating EC2 Transit Gateway Attachment (%s) Route Table (%s) propagation: %s", d.Id(), aws.StringValue(transitGateway.Options.PropagationDefaultRouteTableId), err)
239+
return diag.Errorf("error updating EC2 Transit Gateway Attachment (%s) Route Table (%s) propagation: %s", d.Id(), aws.StringValue(transitGateway.Options.PropagationDefaultRouteTableId), err)
237240
}
238241
}
239242
}
@@ -242,14 +245,14 @@ func resourceTransitGatewayConnectUpdate(d *schema.ResourceData, meta interface{
242245
o, n := d.GetChange("tags_all")
243246

244247
if err := UpdateTags(conn, d.Id(), o, n); err != nil {
245-
return fmt.Errorf("error updating EC2 Transit Gateway Connect Attachment (%s) tags: %s", d.Id(), err)
248+
return diag.Errorf("error updating EC2 Transit Gateway Connect Attachment (%s) tags: %s", d.Id(), err)
246249
}
247250
}
248251

249-
return nil
252+
return resourceTransitGatewayConnectRead(ctx, d, meta)
250253
}
251254

252-
func resourceTransitGatewayConnectDelete(d *schema.ResourceData, meta interface{}) error {
255+
func resourceTransitGatewayConnectDelete(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
253256
conn := meta.(*conns.AWSClient).EC2Conn
254257

255258
log.Printf("[DEBUG] Deleting EC2 Transit Gateway Connect: %s", d.Id())
@@ -262,11 +265,11 @@ func resourceTransitGatewayConnectDelete(d *schema.ResourceData, meta interface{
262265
}
263266

264267
if err != nil {
265-
return fmt.Errorf("error deleting EC2 Transit Gateway Connect (%s): %w", d.Id(), err)
268+
return diag.Errorf("error deleting EC2 Transit Gateway Connect (%s): %s", d.Id(), err)
266269
}
267270

268271
if _, err := WaitTransitGatewayConnectDeleted(conn, d.Id(), d.Timeout(schema.TimeoutDelete)); err != nil {
269-
return fmt.Errorf("error waiting for EC2 Transit Gateway Connect (%s) delete: %w", d.Id(), err)
272+
return diag.Errorf("error waiting for EC2 Transit Gateway Connect (%s) delete: %s", d.Id(), err)
270273
}
271274

272275
return nil

0 commit comments

Comments
 (0)