1
1
package ec2
2
2
3
3
import (
4
- "fmt "
4
+ "context "
5
5
"log"
6
6
7
7
"github.com/aws/aws-sdk-go/aws"
8
8
"github.com/aws/aws-sdk-go/service/ec2"
9
9
"github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2/tfawserr"
10
+ "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
10
11
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
11
12
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
12
13
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
@@ -18,10 +19,10 @@ import (
18
19
19
20
func ResourceNATGateway () * schema.Resource {
20
21
return & schema.Resource {
21
- Create : resourceNATGatewayCreate ,
22
- Read : resourceNATGatewayRead ,
23
- Update : resourceNATGatewayUpdate ,
24
- Delete : resourceNATGatewayDelete ,
22
+ CreateWithoutTimeout : resourceNATGatewayCreate ,
23
+ ReadWithoutTimeout : resourceNATGatewayRead ,
24
+ UpdateWithoutTimeout : resourceNATGatewayUpdate ,
25
+ DeleteWithoutTimeout : resourceNATGatewayDelete ,
25
26
26
27
Importer : & schema.ResourceImporter {
27
28
State : schema .ImportStatePassthrough ,
@@ -68,7 +69,7 @@ func ResourceNATGateway() *schema.Resource {
68
69
}
69
70
}
70
71
71
- func resourceNATGatewayCreate (d * schema.ResourceData , meta interface {}) error {
72
+ func resourceNATGatewayCreate (ctx context. Context , d * schema.ResourceData , meta interface {}) diag. Diagnostics {
72
73
conn := meta .(* conns.AWSClient ).EC2Conn
73
74
defaultTagsConfig := meta .(* conns.AWSClient ).DefaultTagsConfig
74
75
tags := defaultTagsConfig .MergeTags (tftags .New (d .Get ("tags" ).(map [string ]interface {})))
@@ -94,27 +95,27 @@ func resourceNATGatewayCreate(d *schema.ResourceData, meta interface{}) error {
94
95
input .SubnetId = aws .String (v .(string ))
95
96
}
96
97
97
- output , err := conn .CreateNatGateway ( input )
98
+ output , err := conn .CreateNatGatewayWithContext ( ctx , input )
98
99
99
100
if err != nil {
100
- return fmt .Errorf ("creating EC2 NAT Gateway: %w " , err )
101
+ return diag .Errorf ("creating EC2 NAT Gateway: %s " , err )
101
102
}
102
103
103
104
d .SetId (aws .StringValue (output .NatGateway .NatGatewayId ))
104
105
105
- if _ , err := WaitNATGatewayCreated (conn , d .Id ()); err != nil {
106
- return fmt .Errorf ("waiting for EC2 NAT Gateway (%s) create: %w " , d .Id (), err )
106
+ if _ , err := WaitNATGatewayCreated (ctx , conn , d .Id ()); err != nil {
107
+ return diag .Errorf ("waiting for EC2 NAT Gateway (%s) create: %s " , d .Id (), err )
107
108
}
108
109
109
- return resourceNATGatewayRead (d , meta )
110
+ return resourceNATGatewayRead (ctx , d , meta )
110
111
}
111
112
112
- func resourceNATGatewayRead (d * schema.ResourceData , meta interface {}) error {
113
+ func resourceNATGatewayRead (ctx context. Context , d * schema.ResourceData , meta interface {}) diag. Diagnostics {
113
114
conn := meta .(* conns.AWSClient ).EC2Conn
114
115
defaultTagsConfig := meta .(* conns.AWSClient ).DefaultTagsConfig
115
116
ignoreTagsConfig := meta .(* conns.AWSClient ).IgnoreTagsConfig
116
117
117
- ng , err := FindNATGatewayByID (conn , d .Id ())
118
+ ng , err := FindNATGatewayByID (ctx , conn , d .Id ())
118
119
119
120
if ! d .IsNewResource () && tfresource .NotFound (err ) {
120
121
log .Printf ("[WARN] EC2 NAT Gateway (%s) not found, removing from state" , d .Id ())
@@ -123,7 +124,7 @@ func resourceNATGatewayRead(d *schema.ResourceData, meta interface{}) error {
123
124
}
124
125
125
126
if err != nil {
126
- return fmt .Errorf ("reading EC2 NAT Gateway (%s): %w " , d .Id (), err )
127
+ return diag .Errorf ("reading EC2 NAT Gateway (%s): %s " , d .Id (), err )
127
128
}
128
129
129
130
address := ng .NatGatewayAddresses [0 ]
@@ -138,35 +139,35 @@ func resourceNATGatewayRead(d *schema.ResourceData, meta interface{}) error {
138
139
139
140
//lintignore:AWSR002
140
141
if err := d .Set ("tags" , tags .RemoveDefaultConfig (defaultTagsConfig ).Map ()); err != nil {
141
- return fmt .Errorf ("setting tags: %w " , err )
142
+ return diag .Errorf ("setting tags: %s " , err )
142
143
}
143
144
144
145
if err := d .Set ("tags_all" , tags .Map ()); err != nil {
145
- return fmt .Errorf ("setting tags_all: %w " , err )
146
+ return diag .Errorf ("setting tags_all: %s " , err )
146
147
}
147
148
148
149
return nil
149
150
}
150
151
151
- func resourceNATGatewayUpdate (d * schema.ResourceData , meta interface {}) error {
152
+ func resourceNATGatewayUpdate (ctx context. Context , d * schema.ResourceData , meta interface {}) diag. Diagnostics {
152
153
conn := meta .(* conns.AWSClient ).EC2Conn
153
154
154
155
if d .HasChange ("tags_all" ) {
155
156
o , n := d .GetChange ("tags_all" )
156
157
157
- if err := UpdateTags ( conn , d .Id (), o , n ); err != nil {
158
- return fmt .Errorf ("updating EC2 NAT Gateway (%s) tags: %w " , d .Id (), err )
158
+ if err := UpdateTagsWithContext ( ctx , conn , d .Id (), o , n ); err != nil {
159
+ return diag .Errorf ("updating EC2 NAT Gateway (%s) tags: %s " , d .Id (), err )
159
160
}
160
161
}
161
162
162
- return resourceNATGatewayRead (d , meta )
163
+ return resourceNATGatewayRead (ctx , d , meta )
163
164
}
164
165
165
- func resourceNATGatewayDelete (d * schema.ResourceData , meta interface {}) error {
166
+ func resourceNATGatewayDelete (ctx context. Context , d * schema.ResourceData , meta interface {}) diag. Diagnostics {
166
167
conn := meta .(* conns.AWSClient ).EC2Conn
167
168
168
169
log .Printf ("[INFO] Deleting EC2 NAT Gateway: %s" , d .Id ())
169
- _ , err := conn .DeleteNatGateway ( & ec2.DeleteNatGatewayInput {
170
+ _ , err := conn .DeleteNatGatewayWithContext ( ctx , & ec2.DeleteNatGatewayInput {
170
171
NatGatewayId : aws .String (d .Id ()),
171
172
})
172
173
@@ -175,11 +176,11 @@ func resourceNATGatewayDelete(d *schema.ResourceData, meta interface{}) error {
175
176
}
176
177
177
178
if err != nil {
178
- return fmt .Errorf ("deleting EC2 NAT Gateway (%s): %w " , d .Id (), err )
179
+ return diag .Errorf ("deleting EC2 NAT Gateway (%s): %s " , d .Id (), err )
179
180
}
180
181
181
- if _ , err := WaitNATGatewayDeleted (conn , d .Id ()); err != nil {
182
- return fmt .Errorf ("waiting for EC2 NAT Gateway (%s) delete: %w " , d .Id (), err )
182
+ if _ , err := WaitNATGatewayDeleted (ctx , conn , d .Id ()); err != nil {
183
+ return diag .Errorf ("waiting for EC2 NAT Gateway (%s) delete: %s " , d .Id (), err )
183
184
}
184
185
185
186
return nil
0 commit comments