From df37e82f5b820b8a7961ab07c9bdbccd56456872 Mon Sep 17 00:00:00 2001 From: Xu Wang Date: Mon, 6 Oct 2014 20:46:25 -0700 Subject: [PATCH] Add optional param iam_instance_profile to resource_aws_launch_configuration to support role based AC --- .../aws/resource_aws_launch_configuration.go | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/builtin/providers/aws/resource_aws_launch_configuration.go b/builtin/providers/aws/resource_aws_launch_configuration.go index c68320bb6..4fbb85c04 100644 --- a/builtin/providers/aws/resource_aws_launch_configuration.go +++ b/builtin/providers/aws/resource_aws_launch_configuration.go @@ -24,6 +24,10 @@ func resource_aws_launch_configuration_create( var err error createLaunchConfigurationOpts := autoscaling.CreateLaunchConfiguration{} + + if rs.Attributes["iam_instance_profile"] != "" { + createLaunchConfigurationOpts.IamInstanceProfile = rs.Attributes["iam_instance_profile"] + } if rs.Attributes["image_id"] != "" { createLaunchConfigurationOpts.ImageId = rs.Attributes["image_id"] @@ -124,13 +128,14 @@ func resource_aws_launch_configuration_diff( b := &diff.ResourceBuilder{ Attrs: map[string]diff.AttrType{ - "image_id": diff.AttrTypeCreate, - "instance_id": diff.AttrTypeCreate, - "instance_type": diff.AttrTypeCreate, - "key_name": diff.AttrTypeCreate, - "name": diff.AttrTypeCreate, - "security_groups": diff.AttrTypeCreate, - "user_data": diff.AttrTypeCreate, + "iam_instance_profile": diff.AttrTypeCreate, + "image_id": diff.AttrTypeCreate, + "instance_id": diff.AttrTypeCreate, + "instance_type": diff.AttrTypeCreate, + "key_name": diff.AttrTypeCreate, + "name": diff.AttrTypeCreate, + "security_groups": diff.AttrTypeCreate, + "user_data": diff.AttrTypeCreate, }, ComputedAttrs: []string{ @@ -145,6 +150,7 @@ func resource_aws_launch_configuration_update_state( s *terraform.InstanceState, lc *autoscaling.LaunchConfiguration) (*terraform.InstanceState, error) { + s.Attributes["iam_instance_profile"] = lc.IamInstanceProfile s.Attributes["image_id"] = lc.ImageId s.Attributes["instance_type"] = lc.InstanceType s.Attributes["key_name"] = lc.KeyName @@ -199,6 +205,7 @@ func resource_aws_launch_configuration_validation() *config.Validator { "instance_type", }, Optional: []string{ + "iam_instance_profile", "key_name", "security_groups.*", "user_data",