8
8
"github.com/aws/aws-sdk-go/aws/arn"
9
9
"github.com/aws/aws-sdk-go/service/ec2"
10
10
"github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2/tfawserr"
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"
13
14
"github.com/hashicorp/terraform-provider-aws/internal/conns"
@@ -84,6 +85,7 @@ func resourceHostCreate(d *schema.ResourceData, meta interface{}) error {
84
85
input := & ec2.AllocateHostsInput {
85
86
AutoPlacement : aws .String (d .Get ("auto_placement" ).(string )),
86
87
AvailabilityZone : aws .String (d .Get ("availability_zone" ).(string )),
88
+ ClientToken : aws .String (resource .UniqueId ()),
87
89
HostRecovery : aws .String (d .Get ("host_recovery" ).(string )),
88
90
Quantity : aws .Int64 (1 ),
89
91
}
@@ -104,17 +106,16 @@ func resourceHostCreate(d *schema.ResourceData, meta interface{}) error {
104
106
input .TagSpecifications = tagSpecificationsFromKeyValueTags (tags , ec2 .ResourceTypeDedicatedHost )
105
107
}
106
108
107
- log .Printf ("[DEBUG] Creating EC2 Host: %s" , input )
108
109
output , err := conn .AllocateHosts (input )
109
110
110
111
if err != nil {
111
- return fmt .Errorf ("error allocating EC2 Host: %w" , err )
112
+ return fmt .Errorf ("allocating EC2 Host: %w" , err )
112
113
}
113
114
114
115
d .SetId (aws .StringValue (output .HostIds [0 ]))
115
116
116
117
if _ , err := WaitHostCreated (conn , d .Id ()); err != nil {
117
- return fmt .Errorf ("error waiting for EC2 Host (%s) create: %w" , d .Id (), err )
118
+ return fmt .Errorf ("waiting for EC2 Host (%s) create: %w" , d .Id (), err )
118
119
}
119
120
120
121
return resourceHostRead (d , meta )
@@ -134,7 +135,7 @@ func resourceHostRead(d *schema.ResourceData, meta interface{}) error {
134
135
}
135
136
136
137
if err != nil {
137
- return fmt .Errorf ("error reading EC2 Host (%s): %w" , d .Id (), err )
138
+ return fmt .Errorf ("reading EC2 Host (%s): %w" , d .Id (), err )
138
139
}
139
140
140
141
arn := arn.ARN {
@@ -157,11 +158,11 @@ func resourceHostRead(d *schema.ResourceData, meta interface{}) error {
157
158
158
159
//lintignore:AWSR002
159
160
if err := d .Set ("tags" , tags .RemoveDefaultConfig (defaultTagsConfig ).Map ()); err != nil {
160
- return fmt .Errorf ("error setting tags: %w" , err )
161
+ return fmt .Errorf ("setting tags: %w" , err )
161
162
}
162
163
163
164
if err := d .Set ("tags_all" , tags .Map ()); err != nil {
164
- return fmt .Errorf ("error setting tags_all: %w" , err )
165
+ return fmt .Errorf ("setting tags_all: %w" , err )
165
166
}
166
167
167
168
return nil
@@ -198,18 +199,18 @@ func resourceHostUpdate(d *schema.ResourceData, meta interface{}) error {
198
199
}
199
200
200
201
if err != nil {
201
- return fmt .Errorf ("error modifying EC2 Host (%s): %w" , d .Id (), err )
202
+ return fmt .Errorf ("modifying EC2 Host (%s): %w" , d .Id (), err )
202
203
}
203
204
204
205
if _ , err := WaitHostUpdated (conn , d .Id ()); err != nil {
205
- return fmt .Errorf ("error waiting for EC2 Host (%s) update: %w" , d .Id (), err )
206
+ return fmt .Errorf ("waiting for EC2 Host (%s) update: %w" , d .Id (), err )
206
207
}
207
208
}
208
209
209
210
if d .HasChange ("tags_all" ) {
210
211
o , n := d .GetChange ("tags_all" )
211
212
if err := UpdateTags (conn , d .Id (), o , n ); err != nil {
212
- return fmt .Errorf ("error updating EC2 Host (%s) tags: %w" , d .Id (), err )
213
+ return fmt .Errorf ("updating EC2 Host (%s) tags: %w" , d .Id (), err )
213
214
}
214
215
}
215
216
@@ -233,11 +234,11 @@ func resourceHostDelete(d *schema.ResourceData, meta interface{}) error {
233
234
}
234
235
235
236
if err != nil {
236
- return fmt .Errorf ("error releasing EC2 Host (%s): %w" , d .Id (), err )
237
+ return fmt .Errorf ("releasing EC2 Host (%s): %w" , d .Id (), err )
237
238
}
238
239
239
240
if _ , err := WaitHostDeleted (conn , d .Id ()); err != nil {
240
- return fmt .Errorf ("error waiting for EC2 Host (%s) delete: %w" , d .Id (), err )
241
+ return fmt .Errorf ("waiting for EC2 Host (%s) delete: %w" , d .Id (), err )
241
242
}
242
243
243
244
return nil
0 commit comments