@@ -31,6 +31,7 @@ func ResourceMachineCreate(ctx context.Context, d *schema.ResourceData, m interf
31
31
securityGroup := d .Get ("aws_security_group" ).(string )
32
32
spot := d .Get ("spot" ).(bool )
33
33
spotPrice := d .Get ("spot_price" ).(float64 )
34
+ instanceProfile := d .Get ("instance_permission_set" ).(string )
34
35
35
36
metadata := map [string ]string {
36
37
"Name" : d .Get ("name" ).(string ),
@@ -229,10 +230,13 @@ func ResourceMachineCreate(ctx context.Context, d *schema.ResourceData, m interf
229
230
if spot {
230
231
requestSpotInstancesInput := & ec2.RequestSpotInstancesInput {
231
232
LaunchSpecification : & types.RequestSpotLaunchSpecification {
232
- UserData : aws .String (userData ),
233
- ImageId : aws .String (instanceAmi ),
234
- KeyName : aws .String (pairName ),
235
- InstanceType : types .InstanceType (instanceType ),
233
+ UserData : aws .String (userData ),
234
+ ImageId : aws .String (instanceAmi ),
235
+ KeyName : aws .String (pairName ),
236
+ InstanceType : types .InstanceType (instanceType ),
237
+ IamInstanceProfile : & types.IamInstanceProfileSpecification {
238
+ Arn : aws .String (instanceProfile ),
239
+ },
236
240
SecurityGroupIds : []string {sgID },
237
241
SubnetId : aws .String (subnetID ),
238
242
BlockDeviceMappings : blockDeviceMappings ,
@@ -285,10 +289,13 @@ func ResourceMachineCreate(ctx context.Context, d *schema.ResourceData, m interf
285
289
}
286
290
} else {
287
291
runResult , err := svc .RunInstances (ctx , & ec2.RunInstancesInput {
288
- UserData : aws .String (userData ),
289
- ImageId : aws .String (instanceAmi ),
290
- KeyName : aws .String (pairName ),
291
- InstanceType : types .InstanceType (instanceType ),
292
+ UserData : aws .String (userData ),
293
+ ImageId : aws .String (instanceAmi ),
294
+ KeyName : aws .String (pairName ),
295
+ InstanceType : types .InstanceType (instanceType ),
296
+ IamInstanceProfile : & types.IamInstanceProfileSpecification {
297
+ Arn : aws .String (instanceProfile ),
298
+ },
292
299
MinCount : aws .Int32 (1 ),
293
300
MaxCount : aws .Int32 (1 ),
294
301
SecurityGroupIds : []string {sgID },
0 commit comments