From 553e0a5d9afa8ac0e4bb029cc69dbf6f83389656 Mon Sep 17 00:00:00 2001 From: Jack Pearkes Date: Mon, 7 Jul 2014 14:03:29 -0400 Subject: [PATCH] providers/aws: elb destroy --- builtin/providers/aws/resource_aws_elb.go | 29 +++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/builtin/providers/aws/resource_aws_elb.go b/builtin/providers/aws/resource_aws_elb.go index a306feefb..81a5069aa 100644 --- a/builtin/providers/aws/resource_aws_elb.go +++ b/builtin/providers/aws/resource_aws_elb.go @@ -98,16 +98,37 @@ func resource_aws_elb_update( // p := meta.(*ResourceProvider) // elbconn := p.elbconn - // Merge the diff into the state so that we have all the attributes - // properly. - // rs := s.MergeDiff(d) + rs := s.MergeDiff(d) + log.Printf("ResourceDiff: %s", d) + log.Printf("ResourceState: %s", s) + log.Printf("Merged: %s", rs) - return nil, nil + // If we have any instances, we need to register them + v := flatmap.Expand(rs.Attributes, "instances").([]interface{}) + instances := expandStringList(v) + + log.Println(instances) + + return nil, fmt.Errorf("Did not update") } func resource_aws_elb_destroy( s *terraform.ResourceState, meta interface{}) error { + p := meta.(*ResourceProvider) + elbconn := p.elbconn + + log.Printf("[INFO] Deleting ELB: %s", s.ID) + + // Destroy the load balancer + deleteElbOpts := elb.DeleteLoadBalancer{ + LoadBalancerName: s.ID, + } + _, err := elbconn.DeleteLoadBalancer(&deleteElbOpts) + + if err != nil { + return fmt.Errorf("Error deleting ELB: %s", err) + } return nil }