Skip to content

Commit

Permalink
provider/aws: Add support for ECS svc - LB target group
Browse files Browse the repository at this point in the history
  • Loading branch information
radeksimko committed Aug 17, 2016
1 parent dd2740d commit c2a2f82
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 5 deletions.
8 changes: 7 additions & 1 deletion builtin/providers/aws/resource_aws_ecs_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,13 @@ func resourceAwsEcsService() *schema.Resource {
Schema: map[string]*schema.Schema{
"elb_name": &schema.Schema{
Type: schema.TypeString,
Required: true,
Optional: true,
ForceNew: true,
},

"target_group_arn": &schema.Schema{
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},

Expand Down
22 changes: 18 additions & 4 deletions builtin/providers/aws/structure.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,15 @@ func expandEcsLoadBalancers(configured []interface{}) []*ecs.LoadBalancer {
data := lRaw.(map[string]interface{})

l := &ecs.LoadBalancer{
ContainerName: aws.String(data["container_name"].(string)),
ContainerPort: aws.Int64(int64(data["container_port"].(int))),
LoadBalancerName: aws.String(data["elb_name"].(string)),
ContainerName: aws.String(data["container_name"].(string)),
ContainerPort: aws.Int64(int64(data["container_port"].(int))),
}

if v, ok := data["elb_name"]; ok {
l.LoadBalancerName = aws.String(v.(string))
}
if v, ok := data["target_group_arn"]; ok {
l.TargetGroupArn = aws.String(v.(string))
}

loadBalancers = append(loadBalancers, l)
Expand Down Expand Up @@ -553,10 +559,18 @@ func flattenEcsLoadBalancers(list []*ecs.LoadBalancer) []map[string]interface{}
result := make([]map[string]interface{}, 0, len(list))
for _, loadBalancer := range list {
l := map[string]interface{}{
"elb_name": *loadBalancer.LoadBalancerName,
"container_name": *loadBalancer.ContainerName,
"container_port": *loadBalancer.ContainerPort,
}

if loadBalancer.LoadBalancerName != nil {
l["elb_name"] = *loadBalancer.LoadBalancerName
}

if loadBalancer.TargetGroupArn != nil {
l["target_group_arn"] = *loadBalancer.TargetGroupArn
}

result = append(result, l)
}
return result
Expand Down

0 comments on commit c2a2f82

Please sign in to comment.